shithub: pokecrystal

Download patch

ref: 1c1fe276ca59726bb0008c60006c6b48cd093573
parent: 25c126c69beebfdf26d0de286e25c65f6f3db16e
parent: 2faa4a0f70edd91bde908139b3fd5b6b5aebf017
author: yenatch <[email protected]>
date: Tue Nov 3 02:56:05 EST 2015

Merge pull request #324 from PikalaxALT/master

Movement and map objects

--- a/audio/cries.asm
+++ b/audio/cries.asm
@@ -370,7 +370,7 @@
 	unknownmusic0xde $52
 	sound $4, $f1, $0796
 	sound $4, $f1, $072d
-	sound $7, $0, $0000
+	sound $7, $0, 0
 	sound $10, $f1, $07a7
 	endchannel
 ; f3035
@@ -381,7 +381,7 @@
 Cry_2C_branch_f3038: ; f3038
 	callchannel Cry_2C_branch_f3022
 	loopchannel 2, Cry_2C_branch_f3038
-	sound $e, $0, $0000
+	sound $e, $0, 0
 	sound $8, $f2, $07c2
 	endchannel
 ; f3048
@@ -398,7 +398,7 @@
 Cry_27_Ch6: ; f305b
 	unknownmusic0xde $2a
 	sound $3, $2c, $07c7
-	sound $1, $0, $0000
+	sound $1, $0, 0
 	sound $5, $59, $07be
 	sound $6, $b4, $07bd
 	endchannel
@@ -621,7 +621,7 @@
 Cry_36_branch_f3202: ; f3202
 	sound $3, $f8, $0791
 	sound $3, $d8, $078d
-	sound $2, $0, $0000
+	sound $2, $0, 0
 	sound $1, $78, $06c1
 	sound $1, $f8, $0741
 	sound $4, $e1, $0751
@@ -646,7 +646,7 @@
 	sound $8, $ab, $0734
 	sound $4, $d6, $0716
 	sound $8, $d1, $0712
-	sound $8, $0, $0000
+	sound $8, $0, 0
 	endchannel
 ; f3249
 
@@ -658,7 +658,7 @@
 	sound $8, $cb, $0754
 	sound $4, $f6, $0736
 	sound $8, $f1, $0732
-	sound $8, $0, $0000
+	sound $8, $0, 0
 	endchannel
 ; f3264
 
@@ -1213,7 +1213,7 @@
 
 Cry_09_Ch6: ; f363c
 	unknownmusic0xde $5
-	sound $2, $8, $0000
+	sound $2, $8, 0
 	sound $f, $a7, $06a1
 	sound $6, $86, $06a2
 	sound $a, $74, $06a1
@@ -1312,7 +1312,7 @@
 
 Cry_11_Ch6: ; f3722
 	unknownmusic0xde $a
-	sound $4, $8, $0000
+	sound $4, $8, 0
 	sound $6, $a7, $0741
 	sound $8, $86, $0743
 	sound $4, $76, $0741
@@ -1587,7 +1587,7 @@
 
 Cry_0B_Ch6: ; f3976
 	unknownmusic0xde $44
-	sound $c, $8, $0000
+	sound $c, $8, 0
 	sound $4, $f1, $0701
 	sound $4, $e1, $0782
 	sound $4, $d1, $0741
@@ -1670,7 +1670,7 @@
 
 Cry_0D_Ch6: ; f3a39
 	unknownmusic0xde $40
-	sound $4, $8, $0000
+	sound $4, $8, 0
 	sound $5, $f2, $0651
 	sound $9, $d1, $0661
 	sound $5, $e2, $0614
@@ -1738,7 +1738,7 @@
 
 Cry_0A_Ch6: ; f3ad9
 	unknownmusic0xde $5
-	sound $3, $8, $0000
+	sound $3, $8, 0
 	sound $8, $a7, $06a1
 	sound $6, $86, $06a3
 	sound $3, $74, $06a1
--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -2773,7 +2773,7 @@
 ; e8d80
 
 FrequencyTable: ; e8d80
-	dw $0000 ; filler
+	dw 0 ; filler
 	dw $f82c
 	dw $f89d
 	dw $f907
--- a/audio/music/battletowertheme.asm
+++ b/audio/music/battletowertheme.asm
@@ -242,7 +242,7 @@
 	note __, 1
 	note F_, 4
 	note __, 4
-	tone $0000
+	tone 0
 	intensity $b7
 	note G_, 2
 	octave 4
--- a/audio/music/lookkimonogirl.asm
+++ b/audio/music/lookkimonogirl.asm
@@ -14,7 +14,7 @@
 	notetype $6, $87
 	tone $0001
 	callchannel Music_LookKimonoGirl_branch_f7aa8
-	tone $0000
+	tone 0
 Music_LookKimonoGirl_branch_f79d7: ; f79d7
 	notetype $c, $b2
 	callchannel Music_LookKimonoGirl_branch_f7a13
--- a/audio/music/titlescreen.asm
+++ b/audio/music/titlescreen.asm
@@ -490,7 +490,7 @@
 	octave 4
 	note A_, 4
 	stereopanning $ff
-	tone $0000
+	tone 0
 	notetype $c, $b0
 	octave 3
 	note B_, 6
@@ -775,7 +775,7 @@
 	note __, 1
 	stereopanning $ff
 	notetype $c, $16
-	tone $0000
+	tone 0
 	octave 4
 	note A_, 2
 	octave 5
--- a/audio/sfx.asm
+++ b/audio/sfx.asm
@@ -151,7 +151,7 @@
 
 Sfx_Save_Ch6: ; f09d5
 	dutycycle $2
-	sound $2, $8, $0000
+	sound $2, $8, 0
 	sound $2, $a1, $0701
 	sound $1, $91, $0601
 	sound $1, $91, $0681
@@ -2291,7 +2291,7 @@
 Sfx_Sketch_branch_f12fd: ; f12fd
 	sound $2, $f1, $06e0
 	sound $d, $af, $05b0
-	sound $4, $0, $0000
+	sound $4, $0, 0
 	sound $9, $f4, $0718
 	loopchannel 3, Sfx_Sketch_branch_f12fd
 	soundinput $8
@@ -2490,15 +2490,15 @@
 	soundinput $34
 Sfx_Nightmare_branch_f1424: ; f1424
 	sound $3, $ba, $0631
-	sound $2, $0, $0000
+	sound $2, $0, 0
 	sound $3, $f8, $0621
-	sound $2, $0, $0000
+	sound $2, $0, 0
 	sound $3, $f8, $0611
-	sound $2, $0, $0000
+	sound $2, $0, 0
 	sound $3, $e8, $0601
-	sound $2, $0, $0000
+	sound $2, $0, 0
 	sound $3, $e8, $05f1
-	sound $2, $0, $0000
+	sound $2, $0, 0
 	loopchannel 2, Sfx_Nightmare_branch_f1424
 	soundinput $8
 	endchannel
@@ -2540,11 +2540,11 @@
 	dutycycle $0
 	soundinput $97
 	sound $2, $f4, $0772
-	sound $4, $0, $0000
+	sound $4, $0, 0
 	sound $2, $c4, $0772
-	sound $4, $0, $0000
+	sound $4, $0, 0
 	sound $2, $b4, $0772
-	sound $4, $0, $0000
+	sound $4, $0, 0
 	sound $2, $a1, $0772
 	soundinput $8
 	endchannel
@@ -2591,7 +2591,7 @@
 	dutycycle $2
 	soundinput $c5
 	sound $3, $f8, $0581
-	sound $1, $0, $0000
+	sound $1, $0, 0
 	soundinput $cb
 	sound $10, $f2, $05d1
 	soundinput $8
@@ -2613,9 +2613,9 @@
 	sound $3, $f4, $07b5
 	sound $3, $f5, $07c8
 	sound $8, $f4, $07da
-	sound $2, $0, $0000
+	sound $2, $0, 0
 	sound $8, $c1, $07da
-	sound $2, $0, $0000
+	sound $2, $0, 0
 	sound $8, $91, $07da
 	endchannel
 ; f1515
@@ -2811,7 +2811,7 @@
 	sound $8, $f1, $0759
 	soundinput $57
 	sound $8, $f1, $0759
-	sound $10, $0, $0000
+	sound $10, $0, 0
 	loopchannel 2, Sfx_Return_branch_f163c
 	soundinput $8
 	endchannel
@@ -2849,7 +2849,7 @@
 	sound $d, $f7, $0290
 	soundinput $9e
 	sound $4, $c9, $05e1
-	sound $2, $0, $0000
+	sound $2, $0, 0
 	loopchannel 6, Sfx_MilkDrink_branch_f1684
 	soundinput $8
 	endchannel
@@ -2864,7 +2864,7 @@
 	soundinput $d6
 Sfx_Present_branch_f16a6: ; f16a6
 	sound $2, $f1, $0740
-	sound $1, $0, $0000
+	sound $1, $0, 0
 	loopchannel 3, Sfx_Present_branch_f16a6
 	sound $10, $f1, $0780
 	soundinput $8
@@ -2882,9 +2882,9 @@
 	sound $2, $f1, $07e0
 	sound $5, $f2, $07e7
 	loopchannel 3, Sfx_MorningSun_branch_f16be
-	sound $1, $0, $0000
+	sound $1, $0, 0
 	sound $8, $c2, $07e7
-	sound $1, $0, $0000
+	sound $1, $0, 0
 	sound $8, $82, $07e7
 	endchannel
 ; f16df
@@ -2913,10 +2913,10 @@
 Sfx_Encore_Ch5: ; f1703
 	dutycycle $2
 	soundinput $ce
-	sound $10, $0, $0000
+	sound $10, $0, 0
 Sfx_Encore_branch_f170b: ; f170b
 	sound $2, $f8, $0774
-	sound $24, $0, $0000
+	sound $24, $0, 0
 	loopchannel 2, Sfx_Encore_branch_f170b
 	soundinput $8
 	endchannel
@@ -2966,9 +2966,9 @@
 	soundinput $f7
 	sound $20, $f2, $0680
 	sound $1, $f1, $0760
-	sound $20, $0, $0000
+	sound $20, $0, 0
 	sound $1, $f1, $0760
-	sound $1a, $0, $0000
+	sound $1a, $0, 0
 	sound $1, $f1, $0760
 	soundinput $8
 	endchannel
@@ -3836,27 +3836,27 @@
 Sfx_BallBounce_Ch5: ; f1b69
 	dutycycle $2
 	sound $8, $e1, $0740
-	sound $17, $0, $0000
+	sound $17, $0, 0
 	sound $8, $b1, $0740
-	sound $17, $0, $0000
+	sound $17, $0, 0
 	sound $8, $81, $0740
-	sound $17, $0, $0000
+	sound $17, $0, 0
 	sound $8, $51, $0740
-	sound $17, $0, $0000
+	sound $17, $0, 0
 	endchannel
 ; f1b8c
 
 Sfx_BallBounce_Ch6: ; f1b8c
 	dutycycle $2
-	sound $2, $8, $0000
+	sound $2, $8, 0
 	sound $8, $b1, $0741
-	sound $17, $0, $0000
+	sound $17, $0, 0
 	sound $8, $81, $0741
-	sound $17, $0, $0000
+	sound $17, $0, 0
 	sound $8, $51, $0741
-	sound $17, $0, $0000
+	sound $17, $0, 0
 	sound $8, $21, $0741
-	sound $17, $0, $0000
+	sound $17, $0, 0
 	endchannel
 ; f1bb3
 
@@ -3916,7 +3916,7 @@
 ; f1c13
 
 Sfx_GiveTrademon_Ch5: ; f1c13
-	sound $20, $0, $0000
+	sound $20, $0, 0
 	dutycycle $1
 	soundinput $a7
 	sound $1b, $f4, $0750
@@ -3936,7 +3936,7 @@
 ; f1c41
 
 Sfx_GetTrademon_Ch5: ; f1c41
-	sound $20, $0, $0000
+	sound $20, $0, 0
 	dutycycle $2
 	soundinput $bf
 	sound $1b, $14, $07bc
@@ -3959,7 +3959,7 @@
 
 Sfx_TrainArrived_Ch6: ; f1c75
 	tone $0008
-	sound $8, $0, $0000
+	sound $8, $0, 0
 Sfx_TrainArrived_Ch5: ; f1c7c
 	dutycycle $2
 	sound $4, $5f, $0691
@@ -4060,7 +4060,7 @@
 
 Sfx_SwitchPokemon_Ch6: ; f1d16
 	dutycycle $2
-	sound $2, $8, $0000
+	sound $2, $8, 0
 	sound $8, $b1, $0741
 	endchannel
 ; f1d21
@@ -4093,7 +4093,7 @@
 
 Sfx_Tally_Ch6: ; f1d4a
 	dutycycle $2
-	sound $1, $8, $0000
+	sound $1, $8, 0
 	sound $4, $a1, $0761
 	endchannel
 ; f1d55
@@ -4107,7 +4107,7 @@
 
 Sfx_Transaction_Ch6: ; f1d60
 	dutycycle $2
-	sound $1, $8, $0000
+	sound $1, $8, 0
 	sound $4, $91, $06c1
 	sound $18, $a2, $07a1
 	endchannel
@@ -4183,7 +4183,7 @@
 Sfx_BootPc_Ch5: ; f1de3
 	dutycycle $2
 	sound $f, $f2, $07c0
-	sound $f, $0, $0000
+	sound $f, $0, 0
 	sound $3, $a1, $0780
 	sound $3, $a1, $0700
 	sound $3, $a1, $0740
@@ -4200,7 +4200,7 @@
 	sound $4, $f0, $0600
 	sound $4, $f0, $0400
 	sound $4, $f0, $0200
-	sound $1, $0, $0000
+	sound $1, $0, 0
 	endchannel
 ; f1e21
 
@@ -4207,9 +4207,9 @@
 Sfx_ChoosePcOption_Ch5: ; f1e21
 	dutycycle $2
 	sound $6, $f0, $0700
-	sound $4, $0, $0000
+	sound $4, $0, 0
 	sound $6, $f0, $0700
-	sound $1, $0, $0000
+	sound $1, $0, 0
 	endchannel
 ; f1e34
 
@@ -4227,11 +4227,11 @@
 
 Sfx_PushButton_Ch5: ; f1e4f
 	dutycycle $2
-	sound $4, $0, $0000
+	sound $4, $0, 0
 	sound $2, $f1, $0680
-	sound $1, $0, $0000
+	sound $1, $0, 0
 	sound $4, $f1, $0780
-	sound $4, $0, $0000
+	sound $4, $0, 0
 	endchannel
 ; f1e66
 
@@ -4242,7 +4242,7 @@
 	soundinput $22
 	sound $2, $f1, $0500
 	soundinput $8
-	sound $1, $0, $0000
+	sound $1, $0, 0
 	endchannel
 ; f1e7b
 
@@ -4319,9 +4319,9 @@
 	soundinput $5a
 	sound $4, $f0, $0500
 	soundinput $8
-	sound $4, $0, $0000
+	sound $4, $0, 0
 	sound $f, $f0, $0500
-	sound $1, $0, $0000
+	sound $1, $0, 0
 	endchannel
 ; f1f1c
 
@@ -4328,9 +4328,9 @@
 Sfx_Wrong_Ch6: ; f1f1c
 	dutycycle $3
 	sound $4, $f0, $0401
-	sound $4, $0, $0000
+	sound $4, $0, 0
 	sound $f, $f0, $0401
-	sound $1, $0, $0000
+	sound $1, $0, 0
 	endchannel
 ; f1f2f
 
@@ -4357,7 +4357,7 @@
 Sfx_Boat_Ch5: ; f1f53
 	dutycycle $2
 	sound $f, $f0, $0500
-	sound $4, $0, $0000
+	sound $4, $0, 0
 	sound $f, $f0, $0500
 	sound $f, $f0, $0500
 	sound $f, $f0, $0500
@@ -4369,7 +4369,7 @@
 Sfx_Boat_Ch6: ; f1f72
 	dutycycle $3
 	sound $f, $f0, $0482
-	sound $4, $0, $0000
+	sound $4, $0, 0
 	sound $f, $f0, $0482
 	sound $f, $f0, $0482
 	sound $f, $f0, $0482
@@ -4423,7 +4423,7 @@
 	sound $0, $d2, $0780
 	sound $0, $d2, $07c0
 	sound $a, $e1, $07e0
-	sound $1, $0, $0000
+	sound $1, $0, 0
 	endchannel
 ; f1ff4
 
@@ -4493,7 +4493,7 @@
 	sound $4, $f7, $07a0
 	sound $4, $f7, $07a0
 	soundinput $8
-	sound $4, $0, $0000
+	sound $4, $0, 0
 	endchannel
 ; f206f
 
@@ -5483,13 +5483,13 @@
 	dutycycle $2
 	sound $4, $b8, $077b
 	sound $2, $21, $077b
-	sound $10, $0, $0000
+	sound $10, $0, 0
 Sfx_HangUp_branch_f26ff: ; f26ff
 Sfx_NoSignal_Ch5: ; f26ff
 Sfx_NoSignal_branch_f26ff: ; f26ff
 	dutycycle $2
 	sound $14, $e8, $070b
-	sound $1c, $0, $0000
+	sound $1c, $0, 0
 	loopchannel 3, Sfx_HangUp_branch_f26ff
 	endchannel
 ; f270e
@@ -5526,8 +5526,8 @@
 
 Sfx_Elevator_Ch6: ; f274b
 Sfx_Elevator_Ch7: ; f274b
-	sound $60, $0, $0000
-	sound $53, $0, $0000
+	sound $60, $0, 0
+	sound $53, $0, 0
 	endchannel
 ; f2754
 
--- a/audio/sfx_crystal.asm
+++ b/audio/sfx_crystal.asm
@@ -84,7 +84,7 @@
 	dutycycle $3
 	soundinput $4d
 	sound $1, $88, $0770
-	sound $3, $0, $0000
+	sound $3, $0, 0
 	soundinput $17
 	sound $2, $88, $0776
 	endchannel
--- a/audio/trainer_encounters.asm
+++ b/audio/trainer_encounters.asm
@@ -7,7 +7,7 @@
 	ld [MusicFade], a
 	; play nothing for one frame
 	push de
-	ld de, $0000 ; id: Music_Nothing
+	ld de, 0 ; id: Music_Nothing
 	call PlayMusic
 	call DelayFrame
 	; play new song
--- a/battle/anim_objects.asm
+++ b/battle/anim_objects.asm
@@ -24,7 +24,7 @@
 
 
 Functioncc9bd: ; cc9bd
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	ld [hl], $0
 	ret
--- a/battle/bg_effects.asm
+++ b/battle/bg_effects.asm
@@ -338,7 +338,7 @@
 	jr .asm_c81d7
 .asm_c81d1
 	hlcoord 2, 6
-	ld bc, $606
+	lb bc, 6, 6
 .asm_c81d7
 	call ClearBox
 	pop bc
@@ -437,7 +437,7 @@
 	jr .asm_c8271
 .asm_c826b
 	hlcoord 2, 6
-	ld bc, $106
+	lb bc, 1, 6
 .asm_c8271
 	call ClearBox
 	ld a, $1
@@ -503,7 +503,7 @@
 	jr .asm_c82de
 .asm_c82d8
 	hlcoord 2, 6
-	ld bc, $206
+	lb bc, 2, 6
 .asm_c82de
 	call ClearBox
 	ld a, $1
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -3247,7 +3247,7 @@
 
 
 Function3d490: ; 3d490
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	ld c, a
 .asm_3d493
 	push bc
@@ -3271,7 +3271,7 @@
 ; 3d4ae
 
 Function3d4ae: ; 3d4ae
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	ld c, a
 	cp $8
 	jr nz, .back
@@ -3663,7 +3663,7 @@
 	push af
 	ld a, [CurBattleMon]
 	ld [CurPartyMon], a
-	callba Functione538
+	callba CheckCurPartyMonFainted
 	pop bc
 	ld a, b
 	ld [CurPartyMon], a
@@ -9364,7 +9364,7 @@
 	call TextBox
 	callba MobileTextBorder
 	hlcoord 1, 5
-	ld bc, $0307
+	lb bc, 3, 7
 	call ClearBox
 	call Functione51
 	call Function3ed9f
@@ -9486,7 +9486,7 @@
 Function3fc5b: ; 3fc5b
 	ld hl, Sprites
 	xor a
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	ld b, $6
 	ld e, $a8
 .asm_3fc65
@@ -9497,10 +9497,10 @@
 	inc hl
 	ld [hl], e
 	inc hl
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	ld [hli], a
 	inc a
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	ld a, $1
 	ld [hli], a
 	ld a, d
@@ -9508,9 +9508,9 @@
 	ld d, a
 	dec c
 	jr nz, .asm_3fc69
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	add $3
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	ld a, e
 	add $8
 	ld e, a
--- a/battle/effect_command_pointers.asm
+++ b/battle/effect_command_pointers.asm
@@ -1,5 +1,5 @@
 
-	dw $0000 ; padding
+	dw 0 ; padding
 
 BattleCommandPointers: ; 3fd28
 	dw BattleCommand01 ; 34084
--- a/battle/effect_commands.asm
+++ b/battle/effect_commands.asm
@@ -7257,7 +7257,7 @@
 	ld c, $14
 	call DelayFrames
 	hlcoord 1, 0
-	ld bc, $040a
+	lb bc, 4, 10
 	call ClearBox
 	ld c, $14
 	call DelayFrames
@@ -7351,7 +7351,7 @@
 	ld c, $14
 	call DelayFrames
 	hlcoord 9, 7
-	ld bc, $050b
+	lb bc, 5, 11
 	call ClearBox
 	ld c, $14
 	call DelayFrames
--- a/constants.asm
+++ b/constants.asm
@@ -1,4 +1,3 @@
-
 INCLUDE "macros.asm"
 
 INCLUDE "gbhw.asm"
--- a/constants/gfx_constants.asm
+++ b/constants/gfx_constants.asm
@@ -38,3 +38,5 @@
 	const ANIM_GFX_ANGELS
 	const ANIM_GFX_WAVE
 	const ANIM_GFX_AEROBLAST
+
+TILESIZE EQU $10
--- a/constants/item_constants.asm
+++ b/constants/item_constants.asm
@@ -369,3 +369,46 @@
 ITEMMENU_CURRENT            EQU 4
 ITEMMENU_PARTY              EQU 5
 ITEMMENU_CLOSE              EQU 6
+
+	const_def
+	const MARTTYPE_STANDARD
+	const MARTTYPE_BITTER
+	const MARTTYPE_BARGAIN
+	const MARTTYPE_PHARMACY
+	const MARTTYPE_ROOFTOP
+
+	const_def
+	const MART_CHERRYGROVE
+	const MART_CHERRYGROVE_DEX
+	const MART_VIOLET
+	const MART_AZALEA
+	const MART_CIANWOOD
+	const MART_GOLDENROD_2F_1
+	const MART_GOLDENROD_2F_2
+	const MART_GOLDENROD_3F
+	const MART_GOLDENROD_4F
+	const MART_GOLDENROD_5F_1
+	const MART_GOLDENROD_5F_2
+	const MART_GOLDENROD_5F_3
+	const MART_GOLDENROD_5F_4
+	const MART_OLIVINE
+	const MART_ECRUTEAK
+	const MART_MAHOGANY_1
+	const MART_MAHOGANY_2
+	const MART_BLACKTHORN
+	const MART_VIRIDIAN
+	const MART_PEWTER
+	const MART_CERULEAN
+	const MART_LAVENDER
+	const MART_VERMILION
+	const MART_CELADON_2F_1
+	const MART_CELADON_2F_2
+	const MART_CELADON_3F
+	const MART_CELADON_4F
+	const MART_CELADON_5F_1
+	const MART_CELADON_5F_2
+	const MART_FUCHSIA
+	const MART_SAFFRON
+	const MART_MT_MOON
+	const MART_INDIGO_PLATEAU
+	const MART_UNDERGROUND
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -516,9 +516,9 @@
 	const OBJECT_SPRITE
 	const OBJECT_MAP_OBJECT_INDEX
 	const OBJECT_SPRITE_TILE
-	const OBJECT_03
-	const OBJECT_04
-	const OBJECT_FLAGS
+	const OBJECT_MOVEMENTTYPE
+	const OBJECT_FLAGS1
+	const OBJECT_FLAGS2
 	const OBJECT_PALETTE
 	const OBJECT_DIRECTION_WALKING
 	const OBJECT_FACING
@@ -572,10 +572,10 @@
 OBJECT_STRUCT_3_DATA_WIDTH EQU 6
 OBJECT_STRUCT_3_DATA_HEIGHT EQU 37
 
-OW_DOWN  EQU $0
-OW_UP    EQU $4
-OW_LEFT  EQU $8
-OW_RIGHT EQU $c
+OW_DOWN  EQU DOWN  << 2
+OW_UP    EQU UP    << 2
+OW_LEFT  EQU LEFT  << 2
+OW_RIGHT EQU RIGHT << 2
 
 	const_def
 	const EMOTE_SHOCK ; 0
@@ -586,10 +586,8 @@
 	const EMOTE_BOLT ; 5
 	const EMOTE_SLEEP ; 6
 	const EMOTE_FISH ; 7
-	const EMOTE_ROD_DOWN ; 8
-	const EMOTE_ROD_UP ; 9
-	const EMOTE_ROD_LEFT ; a
-	const EMOTE_ROD_RIGHT ; b
+	const EMOTE_ROD ; 8 - add directional constant
+EMOTE_MEM EQU -1
 
 	const_def
 	const SIGNPOST_READ
--- a/constants/misc_constants.asm
+++ b/constants/misc_constants.asm
@@ -1,5 +1,3 @@
-NONE EQU 0
-
 PARTY_LENGTH EQU 6
 
 MAX_ITEMS     EQU 20
--- a/constants/sprite_constants.asm
+++ b/constants/sprite_constants.asm
@@ -181,8 +181,49 @@
 	const PAL_OW_TREE
 	const PAL_OW_ROCK
 
-; sprite movements
+; sprite movement data table indices
 	const_def
+	const SPRITEMOVEDATA_00
+	const SPRITEMOVEDATA_01
+	const SPRITEMOVEDATA_02
+	const SPRITEMOVEDATA_03
+	const SPRITEMOVEDATA_WALK_UP_DOWN
+	const SPRITEMOVEDATA_WALK_LEFT_RIGHT
+	const SPRITEMOVEDATA_STANDING_DOWN
+	const SPRITEMOVEDATA_STANDING_UP
+	const SPRITEMOVEDATA_STANDING_LEFT
+	const SPRITEMOVEDATA_STANDING_RIGHT
+	const SPRITEMOVEDATA_0A
+	const SPRITEMOVEDATA_0B
+	const SPRITEMOVEDATA_0C
+	const SPRITEMOVEDATA_0D
+	const SPRITEMOVEDATA_0E
+	const SPRITEMOVEDATA_0F
+	const SPRITEMOVEDATA_10
+	const SPRITEMOVEDATA_11
+	const SPRITEMOVEDATA_12
+	const SPRITEMOVEDATA_13
+	const SPRITEMOVEDATA_14
+	const SPRITEMOVEDATA_15
+	const SPRITEMOVEDATA_16
+	const SPRITEMOVEDATA_17
+	const SPRITEMOVEDATA_18
+	const SPRITEMOVEDATA_19
+	const SPRITEMOVEDATA_1A
+	const SPRITEMOVEDATA_1B
+	const SPRITEMOVEDATA_1C
+	const SPRITEMOVEDATA_1D
+	const SPRITEMOVEDATA_1E
+	const SPRITEMOVEDATA_1F
+	const SPRITEMOVEDATA_20
+	const SPRITEMOVEDATA_21
+	const SPRITEMOVEDATA_22
+	const SPRITEMOVEDATA_23
+	const SPRITEMOVEDATA_24
+	const SPRITEMOVEDATA_25
+
+; sprite movement functions
+	const_def
 	const SPRITEMOVEFN_00
 	const SPRITEMOVEFN_01
 	const SPRITEMOVEFN_02
@@ -211,9 +252,3 @@
 	const SPRITEMOVEFN_19
 	const SPRITEMOVEFN_1A
 	const SPRITEMOVEFN_1B
-	const SPRITEMOVEFN_1C
-	const SPRITEMOVEFN_1D
-	const SPRITEMOVEFN_1E
-	const SPRITEMOVEFN_1F
-	const SPRITEMOVEFN_20
-	const SPRITEMOVEFN_21
--- a/data/battle_tower.asm
+++ b/data/battle_tower.asm
@@ -773,7 +773,7 @@
 
 	db UNOWN
 	db BERRY
-	db HIDDEN_POWER, NONE, NONE, NONE
+	db HIDDEN_POWER, 0, 0, 0
 	dw 0 ; OT ID
 	dt 1000 ; Exp
 	; Stat exp
--- a/data/odd_eggs.asm
+++ b/data/odd_eggs.asm
@@ -43,43 +43,49 @@
 	ld a, OddEgg2 - OddEgg1
 	call AddNTimes
 
-	ld de, wEnemyMoveStruct
-	ld bc, $0046
+	ld de, OddEggSpecies
+	ld bc, party_struct_length + 2 * PKMN_NAME_LENGTH
 	call CopyBytes
 
 	ld a, EGG_TICKET
 	ld [CurItem], a
-	ld a, $1
-	ld [wd10c], a
-	ld a, $ff
-	ld [wd107], a
+	ld a, 1
+	ld [wItemQuantityChangeBuffer], a
+	ld a, -1
+	ld [ItemCountBuffer], a
 	ld hl, NumItems
 	call TossItem
 
+	; load species in wcd2a
 	ld a, EGG
 	ld [wcd2a], a
 
+	; load pointer to wcd29 in wcd20
 	ld a, wcd29 % $100
-	ld [CreditsPos], a
+	ld [wcd20], a
 	ld a, wcd29 / $100
 	ld [wcd21], a
-	ld a, wEnemyMoveStruct % $100
+	; load pointer to OddEggSpecies in wcd22
+	ld a, OddEggSpecies % $100
 	ld [wcd22], a
-	ld a, wEnemyMoveStruct / $100
+	ld a, OddEggSpecies / $100
 	ld [wcd23], a
 
+	; load Odd Egg Name in wcd2b
 	ld hl, .Odd
 	ld de, wcd2b
 	ld bc, PKMN_NAME_LENGTH
 	call CopyBytes
 
+	; load pointer to wcd2b in wcd24
 	ld a, wcd2b % $100
 	ld [wcd24], a
 	ld a, wcd2b / $100
 	ld [wcd25], a
-	ld a, BattleMonHappiness % $100
+	; load pointer to wOddEggName in wcd26
+	ld a, wOddEggName % $100
 	ld [wcd26], a
-	ld a, BattleMonHappiness / $100
+	ld a, wOddEggName / $100
 	ld [wcd27], a
 	callba Function11b98f
 	ret
@@ -119,7 +125,7 @@
 OddEgg1:
 	db PICHU
 	db NO_ITEM
-	db THUNDERSHOCK, CHARM, DIZZY_PUNCH, NONE
+	db THUNDERSHOCK, CHARM, DIZZY_PUNCH, 0
 	dw 02048 ; OT ID
 	dt 125 ; Exp
 	; Stat exp
@@ -146,7 +152,7 @@
 OddEgg2:
 	db PICHU
 	db NO_ITEM
-	db THUNDERSHOCK, CHARM, DIZZY_PUNCH, NONE
+	db THUNDERSHOCK, CHARM, DIZZY_PUNCH, 0
 	dw 00256 ; OT ID
 	dt 125 ; Exp
 	; Stat exp
@@ -172,7 +178,7 @@
 
 	db CLEFFA
 	db NO_ITEM
-	db POUND, CHARM, DIZZY_PUNCH, NONE
+	db POUND, CHARM, DIZZY_PUNCH, 0
 	dw 04096 ; OT ID
 	dt 125 ; Exp
 	; Stat exp
@@ -198,7 +204,7 @@
 
 	db CLEFFA
 	db NO_ITEM
-	db POUND, CHARM, DIZZY_PUNCH, NONE
+	db POUND, CHARM, DIZZY_PUNCH, 0
 	dw 00768 ; OT ID
 	dt 125 ; Exp
 	; Stat exp
@@ -224,7 +230,7 @@
 
 	db IGGLYBUFF
 	db NO_ITEM
-	db SING, CHARM, DIZZY_PUNCH, NONE
+	db SING, CHARM, DIZZY_PUNCH, 0
 	dw 04096 ; OT ID
 	dt 125 ; Exp
 	; Stat exp
@@ -250,7 +256,7 @@
 
 	db IGGLYBUFF
 	db NO_ITEM
-	db SING, CHARM, DIZZY_PUNCH, NONE
+	db SING, CHARM, DIZZY_PUNCH, 0
 	dw 00768 ; OT ID
 	dt 125 ; Exp
 	; Stat exp
@@ -276,7 +282,7 @@
 
 	db SMOOCHUM
 	db NO_ITEM
-	db POUND, LICK, DIZZY_PUNCH, NONE
+	db POUND, LICK, DIZZY_PUNCH, 0
 	dw 03584 ; OT ID
 	dt 125 ; Exp
 	; Stat exp
@@ -302,7 +308,7 @@
 
 	db SMOOCHUM
 	db NO_ITEM
-	db POUND, LICK, DIZZY_PUNCH, NONE
+	db POUND, LICK, DIZZY_PUNCH, 0
 	dw 00512 ; OT ID
 	dt 125 ; Exp
 	; Stat exp
@@ -328,7 +334,7 @@
 
 	db MAGBY
 	db NO_ITEM
-	db EMBER, DIZZY_PUNCH, NONE, NONE
+	db EMBER, DIZZY_PUNCH, 0, 0
 	dw 02560 ; OT ID
 	dt 125 ; Exp
 	; Stat exp
@@ -354,7 +360,7 @@
 
 	db MAGBY
 	db NO_ITEM
-	db EMBER, DIZZY_PUNCH, NONE, NONE
+	db EMBER, DIZZY_PUNCH, 0, 0
 	dw 00512 ; OT ID
 	dt 125 ; Exp
 	; Stat exp
@@ -380,7 +386,7 @@
 
 	db ELEKID
 	db NO_ITEM
-	db QUICK_ATTACK, LEER, DIZZY_PUNCH, NONE
+	db QUICK_ATTACK, LEER, DIZZY_PUNCH, 0
 	dw 03072 ; OT ID
 	dt 125 ; Exp
 	; Stat exp
@@ -406,7 +412,7 @@
 
 	db ELEKID
 	db NO_ITEM
-	db QUICK_ATTACK, LEER, DIZZY_PUNCH, NONE
+	db QUICK_ATTACK, LEER, DIZZY_PUNCH, 0
 	dw 00512 ; OT ID
 	dt 125 ; Exp
 	; Stat exp
@@ -432,7 +438,7 @@
 
 	db TYROGUE
 	db NO_ITEM
-	db TACKLE, DIZZY_PUNCH, NONE, NONE
+	db TACKLE, DIZZY_PUNCH, 0, 0
 	dw 02560 ; OT ID
 	dt 125 ; Exp
 	; Stat exp
@@ -458,7 +464,7 @@
 
 	db TYROGUE
 	db NO_ITEM
-	db TACKLE, DIZZY_PUNCH, NONE, NONE
+	db TACKLE, DIZZY_PUNCH, 0, 0
 	dw 00256 ; OT ID
 	dt 125 ; Exp
 	; Stat exp
--- a/engine/color.asm
+++ b/engine/color.asm
@@ -1,6 +1,12 @@
 
 INCLUDE "predef/sgb.asm"
 
+SHINY_ATK_BIT EQU 5
+SHINY_DEF_VAL EQU 10
+SHINY_SPD_VAL EQU 10
+SHINY_SPC_VAL EQU 10
+LO_NYBBLE     EQU $0f
+HI_NYBBLE     EQU $f0
 
 CheckShininess: ; 8a68
 ; Check if a mon is shiny by DVs at bc.
@@ -11,25 +17,25 @@
 
 ; Attack
 	ld a, [hl]
-	and %0010 << 4
+	and 1 << SHINY_ATK_BIT
 	jr z, .NotShiny
 
 ; Defense
 	ld a, [hli]
-	and %1111
-	cp  %1010
+	and LO_NYBBLE
+	cp  SHINY_DEF_VAL
 	jr nz, .NotShiny
 
 ; Speed
 	ld a, [hl]
-	and %1111 << 4
-	cp  %1010 << 4
+	and HI_NYBBLE
+	cp  SHINY_SPD_VAL << 4
 	jr nz, .NotShiny
 
 ; Special
 	ld a, [hl]
-	and %1111
-	cp  %1010
+	and LO_NYBBLE
+	cp  SHINY_SPC_VAL
 	jr nz, .NotShiny
 
 .Shiny
@@ -53,7 +59,7 @@
 
 ; Defense
 	ld a, [hli]
-	and $f
+	and LO_NYBBLE
 	cp 10
 	jr c, .Bad
 
@@ -64,7 +70,7 @@
 
 ; Special
 	ld a, [hl]
-	and $f
+	and LO_NYBBLE
 	cp 10
 	jr c, .Bad
 
--- a/engine/events.asm
+++ b/engine/events.asm
@@ -396,7 +396,7 @@
 	ret
 
 .return6
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	call CheckPitTile
 	jr nz, .pittile
 	ld a, 6
@@ -606,7 +606,7 @@
 
 .IsObject
 	call PlayTalkObject
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	call GetObjectStruct
 	ld hl, OBJECT_MAP_OBJECT_INDEX
 	add hl, bc
@@ -947,11 +947,11 @@
 ; 96b72
 
 .Script ; 96b72
-	ptjump wd0e8
+	ptjump wQueuedScriptBank
 ; 96b75
 
 .Asm ; 96b75
-	ptcallasm wd0e8
+	ptcallasm wQueuedScriptBank
 	end
 ; 96b79
 
--- a/engine/events_2.asm
+++ b/engine/events_2.asm
@@ -109,7 +109,7 @@
 	call CanUseSweetScent
 	jr nc, .nope
 	ld hl, StatusFlags2
-	bit 2, [hl]
+	bit 2, [hl] ; bug contest
 	jr nz, .bug_contest
 	callba TryWildEncounter
 	jr nz, .nope
@@ -153,15 +153,15 @@
 	bit 5, [hl]
 	jr nz, .no
 	ld a, [wPermission]
-	cp $4
+	cp CAVE
 	jr z, .ice_check
-	cp $7
+	cp DUNGEON
 	jr z, .ice_check
-	callba Function149dd
+	callba CheckGrassCollision
 	jr nc, .no
 
 .ice_check
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	call CheckIceTile
 	jr z, .no
 	scf
@@ -235,11 +235,11 @@
 ; 97d64
 
 TryWildEncounter_BugContest: ; 97d64
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	call CheckSuperTallGrassTile
-	ld b, $66
+	ld b, 40 percent
 	jr z, .ok
-	ld b, $33
+	ld b, 20 percent
 
 .ok
 	callba ApplyMusicEffectOnEncounterRate
@@ -351,11 +351,11 @@
 Function97e08:: ; 97e08
 	ld hl, wd6de
 	xor a
-.asm_97e0c
-	ld [hConnectionStripLength], a
+.loop
+	ld [hMapObjectIndexBuffer], a
 	ld a, [hl]
 	and a
-	jr z, .asm_97e19
+	jr z, .skip
 	push hl
 	ld b, h
 	ld c, l
@@ -362,13 +362,13 @@
 	call Function97e79
 	pop hl
 
-.asm_97e19
+.skip
 	ld de, $0006
 	add hl, de
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	inc a
 	cp $4
-	jr nz, .asm_97e0c
+	jr nz, .loop
 	ret
 ; 97e25
 
@@ -441,7 +441,7 @@
 ; 97e72
 
 Function97e72: ; 97e72
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	ld [hl], 0
 	ret
@@ -448,7 +448,7 @@
 ; 97e79
 
 Function97e79: ; 97e79
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	ld a, [hl]
 	cp 5
@@ -473,11 +473,11 @@
 ; 97e94
 
 Table97e94: ; 97e94
-	dbw BANK(Function97eb7), Function97eb7
-	dbw BANK(Function97eb8), Function97eb8
-	dbw BANK(Function97f42), Function97f42
-	dbw BANK(Function97ef9), Function97ef9
-	dbw BANK(Function97ebc), Function97ebc
+	dba Function97eb7
+	dba Function97eb8
+	dba Function97f42
+	dba Function97ef9
+	dba Function97ebc
 ; 97ea3
 
 Function97ea3: ; 97ea3
@@ -620,7 +620,7 @@
 .asm_97f47
 	push af
 
-	ld hl, $0000
+	ld hl, 0
 	add hl, de
 	ld a, [hl]
 	and a
--- a/engine/map_objects.asm
+++ b/engine/map_objects.asm
@@ -2,44 +2,45 @@
 INCLUDE "engine/facings.asm"
 
 ObjectStruct3_Data:: ; 4273
-	db $00, $00, $01, $02, $00, $00 ; 00
-	db $06, $00, $01, $0c, $00, $00 ; 01
-	db $03, $00, $01, $00, $00, $00 ; 02
-	db $04, $00, $01, $00, $00, $00 ; 03
-	db $01, $00, $01, $00, $00, $00 ; 04
-	db $02, $00, $01, $00, $00, $00 ; 05
-	db $06, $00, $01, $00, $00, $00 ; 06
-	db $06, $01, $01, $00, $00, $00 ; 07
-	db $06, $02, $01, $00, $00, $00 ; 08
-	db $06, $03, $01, $00, $00, $00 ; 09
-	db $05, $00, $01, $00, $00, $00 ; 0a
-	db $07, $00, $01, $02, $00, $00 ; 0b
-	db $08, $00, $01, $00, $00, $00 ; 0c
-	db $09, $00, $01, $00, $00, $00 ; 0d
-	db $0a, $00, $01, $00, $00, $00 ; 0e
-	db $0b, $00, $01, $00, $00, $00 ; 0f
-	db $0c, $00, $01, $00, $00, $00 ; 10
-	db $0d, $00, $01, $00, $00, $00 ; 11
-	db $0e, $00, $01, $00, $00, $00 ; 12
-	db $0f, $00, $01, $02, $00, $00 ; 13
-	db $10, $00, $01, $02, $00, $00 ; 14
-	db $15, $00, $09, $2e, $01, $c0 ; 15
-	db $16, $00, $0a, $2e, $00, $00 ; 16
-	db $06, $00, $01, $0c, $00, $00 ; 17
-	db $06, $00, $01, $2e, $10, $00 ; 18
-	db $11, $00, $01, $2e, $00, $40 ; 19
-	db $12, $00, $01, $02, $00, $00 ; 1a
-	db $13, $00, $00, $8e, $01, $00 ; 1b
-	db $14, $00, $08, $8e, $02, $00 ; 1c
-	db $17, $00, $00, $82, $00, $00 ; 1d
-	db $19, $02, $01, $00, $00, $00 ; 1e
-	db $18, $03, $01, $00, $00, $00 ; 1f
-	db $11, $00, $0c, $2e, $01, $c0 ; 20
-	db $11, $00, $0d, $2e, $01, $c0 ; 21
-	db $1a, $00, $0e, $8e, $01, $00 ; 22
-	db $1b, $00, $0f, $8e, $02, $00 ; 23
-	db $03, $00, $01, $00, $00, $20 ; 24
-	db $00, $00, $01, $00, $00, $00 ; 25
+	; function,         facing, ?, ?, ?, ?
+	db SPRITEMOVEFN_00, DOWN,  $01, $02, $00, $00 ; 00
+	db SPRITEMOVEFN_06, DOWN,  $01, $0c, $00, $00 ; 01
+	db SPRITEMOVEFN_03, DOWN,  $01, $00, $00, $00 ; 02
+	db SPRITEMOVEFN_04, DOWN,  $01, $00, $00, $00 ; 03
+	db SPRITEMOVEFN_01, DOWN,  $01, $00, $00, $00 ; 04
+	db SPRITEMOVEFN_02, DOWN,  $01, $00, $00, $00 ; 05
+	db SPRITEMOVEFN_06, DOWN,  $01, $00, $00, $00 ; 06
+	db SPRITEMOVEFN_06, UP,    $01, $00, $00, $00 ; 07
+	db SPRITEMOVEFN_06, LEFT,  $01, $00, $00, $00 ; 08
+	db SPRITEMOVEFN_06, RIGHT, $01, $00, $00, $00 ; 09
+	db SPRITEMOVEFN_05, DOWN,  $01, $00, $00, $00 ; 0a
+	db SPRITEMOVEFN_07, DOWN,  $01, $02, $00, $00 ; 0b
+	db SPRITEMOVEFN_08, DOWN,  $01, $00, $00, $00 ; 0c
+	db SPRITEMOVEFN_09, DOWN,  $01, $00, $00, $00 ; 0d
+	db SPRITEMOVEFN_0A, DOWN,  $01, $00, $00, $00 ; 0e
+	db SPRITEMOVEFN_0B, DOWN,  $01, $00, $00, $00 ; 0f
+	db SPRITEMOVEFN_0C, DOWN,  $01, $00, $00, $00 ; 10
+	db SPRITEMOVEFN_0D, DOWN,  $01, $00, $00, $00 ; 11
+	db SPRITEMOVEFN_0E, DOWN,  $01, $00, $00, $00 ; 12
+	db SPRITEMOVEFN_0F, DOWN,  $01, $02, $00, $00 ; 13
+	db SPRITEMOVEFN_10, DOWN,  $01, $02, $00, $00 ; 14
+	db SPRITEMOVEFN_15, DOWN,  $09, $2e, $01, $c0 ; 15
+	db SPRITEMOVEFN_16, DOWN,  $0a, $2e, $00, $00 ; 16
+	db SPRITEMOVEFN_06, DOWN,  $01, $0c, $00, $00 ; 17
+	db SPRITEMOVEFN_06, DOWN,  $01, $2e, $10, $00 ; 18
+	db SPRITEMOVEFN_11, DOWN,  $01, $2e, $00, $40 ; 19
+	db SPRITEMOVEFN_12, DOWN,  $01, $02, $00, $00 ; 1a
+	db SPRITEMOVEFN_13, DOWN,  $00, $8e, $01, $00 ; 1b
+	db SPRITEMOVEFN_14, DOWN,  $08, $8e, $02, $00 ; 1c
+	db SPRITEMOVEFN_17, DOWN,  $00, $82, $00, $00 ; 1d
+	db SPRITEMOVEFN_19, LEFT,  $01, $00, $00, $00 ; 1e
+	db SPRITEMOVEFN_18, RIGHT, $01, $00, $00, $00 ; 1f
+	db SPRITEMOVEFN_11, DOWN,  $0c, $2e, $01, $c0 ; 20
+	db SPRITEMOVEFN_11, DOWN,  $0d, $2e, $01, $c0 ; 21
+	db SPRITEMOVEFN_1A, DOWN,  $0e, $8e, $01, $00 ; 22
+	db SPRITEMOVEFN_1B, DOWN,  $0f, $8e, $02, $00 ; 23
+	db SPRITEMOVEFN_03, DOWN,  $01, $00, $00, $20 ; 24
+	db SPRITEMOVEFN_00, DOWN,  $01, $00, $00, $00 ; 25
 ; 4357
 
 
@@ -78,7 +79,7 @@
 ; 4386
 
 Function4386: ; 4386
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	res 6, [hl]
 	ld a, [XCoord]
@@ -104,7 +105,7 @@
 	jr .yes
 
 .ok
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	set 6, [hl]
 	ld a, [XCoord]
@@ -133,7 +134,7 @@
 	ret
 
 .ok2
-	ld hl, OBJECT_04
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	bit 1, [hl]
 	jr nz, .yes2
@@ -142,7 +143,7 @@
 	ret
 
 .yes2
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	set 6, [hl]
 	and a
@@ -155,10 +156,10 @@
 	ld a, [hl]
 	and a
 	jr z, .zero
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	bit 5, [hl]
-	jr nz, .not_bit5
+	jr nz, .bit5
 	cp 1
 	jr z, .one
 	jr .ok
@@ -165,10 +166,10 @@
 
 .zero
 	call Function47bc
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	bit 5, [hl]
-	jr nz, .not_bit5
+	jr nz, .bit5
 
 .one
 	call Function47dd
@@ -185,17 +186,17 @@
 	rst JumpTable
 	ret
 
-.not_bit5
+.bit5
 	ret
 ; 4427
 
 Function4427: ; 4427
-	ld hl, OBJECT_04
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	bit 0, [hl]
 	jr nz, Function44a3
 
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	bit 6, [hl]
 	jr nz, Function44a3
@@ -208,7 +209,7 @@
 ; 4440
 
 Function4440: ; 4440
-	ld hl, OBJECT_04
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	bit 0, [hl]
 	jr nz, Function44a3
@@ -300,7 +301,7 @@
 ; 44c1
 
 Function44c1: ; 44c1
-	ld hl, OBJECT_04
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	bit 3, [hl]
 	jp nz, Function44aa
@@ -324,7 +325,7 @@
 ; 44e4
 
 Function44e4: ; 44e4
-	ld hl, OBJECT_04
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	bit 3, [hl]
 	jp nz, Function44aa
@@ -348,7 +349,7 @@
 ; 4508
 
 Function4508: ; 4508
-	ld hl, OBJECT_04
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	bit 3, [hl]
 	jp nz, Function44aa
@@ -603,7 +604,7 @@
 ; 463f
 
 Function463f: ; 463f
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	bit 3, [hl]
 	jr z, .ok
@@ -632,13 +633,13 @@
 	jr c, .reset
 
 .set
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	set 3, [hl]
 	ret
 
 .reset
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	res 3, [hl]
 	ret
@@ -670,7 +671,7 @@
 	ld hl, OBJECT_DIRECTION_WALKING
 	add hl, bc
 	ld [hl], a
-	ld hl, OBJECT_04
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	bit 2, [hl]
 	jr nz, .ok
@@ -827,7 +828,7 @@
 	ret
 ; 4769
 
-Function4769: ; 4769
+RestoreDefaultMovement: ; 4769
 	ld hl, OBJECT_MAP_OBJECT_INDEX
 	add hl, bc
 	ld a, [hl]
@@ -1028,7 +1029,7 @@
 	jp Function4b26
 ; 4869
 
-Function4869: ; 4869
+Function4869: ; standing?
 	call Function462a
 	call Function467b
 	ld hl, OBJECT_11
@@ -1082,7 +1083,7 @@
 ; 48a6
 
 Function48a6: ; 48a6
-	ld hl, Function500e
+	ld hl, Function500e ; scripted
 	jp Function5041
 ; 48ac
 
@@ -1098,7 +1099,7 @@
 	ld a, [hl]
 	call CheckPitTile
 	jr z, .on_pit
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	bit 2, [hl]
 	res 2, [hl]
@@ -1192,7 +1193,7 @@
 	and %00001100
 	or d
 	pop bc
-	jp Function5412
+	jp NormalStep
 
 .standing
 	pop bc
@@ -1499,7 +1500,7 @@
 	add hl, bc
 	ld [hl], 2
 	ld hl, wd4cf
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	cp [hl]
 	jr z, .ok
 	ld hl, OBJECT_09
@@ -1604,7 +1605,7 @@
 	ret nz
 	call Function4600
 	call Function46a6
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	res 3, [hl]
 	call IncrementObjectStructField28
@@ -1648,7 +1649,7 @@
 	dec [hl]
 	ret nz
 	call Function4600
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	res 3, [hl]
 	ld hl, wd150
@@ -1723,7 +1724,7 @@
 	ld hl, OBJECT_STEP_DURATION
 	add hl, bc
 	ld [hl], $10
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	res 3, [hl]
 	call IncrementObjectStructField28
@@ -2046,7 +2047,7 @@
 ; 4e13
 
 Function4e13: ; 4e13
-	call Function4769
+	call RestoreDefaultMovement
 	call Function1a47
 	ld hl, OBJECT_FACING
 	add hl, bc
@@ -2198,7 +2199,7 @@
 	ld b, a
 	callba CopyDECoordsToMapObject
 	pop bc
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	res 2, [hl]
 	call Function4600
@@ -2395,7 +2396,7 @@
 	db -11, -10,  -9,  -8,  -6,  -4,   0,   0
 ; 5000
 
-Function5000: ; 5000
+Function5000: ; unscripted?
 	ld a, [wc2de]
 	ld hl, wc2df
 	ld [hl], a
@@ -2405,8 +2406,8 @@
 	ret
 ; 500e
 
-Function500e: ; 500e
-	ld hl, wc2e3
+Function500e: ; scripted
+	ld hl, wMovementDataPointer
 	call Function1aae
 	ret
 ; 5015
@@ -2417,7 +2418,7 @@
 	ld e, [hl]
 	inc [hl]
 	ld d, 0
-	ld hl, wc2e2
+	ld hl, wMovementPerson
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
@@ -2447,7 +2448,7 @@
 ; 503d
 
 Function503d: ; 503d
-	ld a, [wc2e2]
+	ld a, [wMovementPerson]
 	ret
 ; 5041
 
@@ -2466,14 +2467,14 @@
 
 CopyMovementPointer: ; 5055
 	ld a, l
-	ld [wc2eb], a
+	ld [wMovementPointer], a
 	ld a, h
-	ld [wc2ec], a
+	ld [wMovementPointer + 1], a
 	ret
 ; 505e
 
 GetMovementByte: ; 505e
-	ld hl, wc2eb
+	ld hl, wMovementPointer
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
@@ -2488,7 +2489,7 @@
 
 DoMovementFunction: ; 506b
 	push af
-	call Function54b8
+	call ApplyMovementToFollower
 	pop af
 	ld hl, MovementPointers
 	rst JumpTable
@@ -2501,14 +2502,14 @@
 ; 54b8
 
 
-Function54b8: ; 54b8
+ApplyMovementToFollower: ; 54b8
 	ld e, a
-	ld a, [wd4ce]
+	ld a, [wObjectFollow_Follower]
 	cp -1
 	ret z
-	ld a, [wd4cd]
+	ld a, [wObjectFollow_Leader]
 	ld d, a
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	cp d
 	ret nz
 	ld a, e
@@ -2564,7 +2565,7 @@
 ; 550a
 
 Function550a: ; 550a
-	ld a, [wd4cd]
+	ld a, [wObjectFollow_Leader]
 	cp -1
 	jr z, .nope
 	push bc
@@ -2580,7 +2581,7 @@
 
 .nope
 	ld a, $ff
-	ld [wd4ce], a
+	ld [wObjectFollow_Follower], a
 	ld a, $47
 	scf
 	ret
@@ -2651,7 +2652,7 @@
 
 Function5579: ; 5579
 	push bc
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	ld c, a
 	call Function5582
 	pop bc
@@ -2663,7 +2664,7 @@
 	ld a, NUM_OBJECT_STRUCTS
 .loop
 	push af
-	ld hl, OBJECT_04
+	ld hl, OBJECT_FLAGS1
 	add hl, de
 	bit 7, [hl]
 	jr z, .next
@@ -2690,7 +2691,7 @@
 ; 55ac
 
 Function55ac: ; 55ac
-	call Function1a13
+	call FindFirstEmptyObjectStruct
 	ret nc
 	ld d, h
 	ld e, l
@@ -2712,7 +2713,7 @@
 	ld [hli], a
 	ld a, [de]
 	ld [hli], a
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	ld [hli], a
 	push hl
 	ld hl, OBJECT_MAP_X
@@ -2737,7 +2738,7 @@
 	ld bc, ObjectStructs
 	xor a
 .loop
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	call GetObjectSprite
 	jr z, .ok
 	call Function565c
@@ -2747,7 +2748,7 @@
 	add hl, bc
 	ld b, h
 	ld c, l
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	inc a
 	cp NUM_OBJECT_STRUCTS
 	jr nz, .loop
@@ -2801,13 +2802,13 @@
 	xor a
 	ld bc, ObjectStructs
 .loop
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	call Function5680
 	ld hl, OBJECT_STRUCT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	inc a
 	cp NUM_OBJECT_STRUCTS
 	jr nz, .loop
@@ -2927,7 +2928,7 @@
 	sub $20
 
 .ok3
-	ld [$ffbd], a
+	ld [hUsedSpriteIndex], a
 	ld a, [wd14d]
 	ld e, a
 	ld hl, OBJECT_SPRITE_Y_OFFSET
@@ -2959,7 +2960,7 @@
 	sub $20
 
 .ok6
-	ld [$ffbe], a
+	ld [hUsedSpriteTile], a
 	ld hl, OBJECT_PALETTE
 	add hl, bc
 	bit 7, [hl]
@@ -2977,7 +2978,7 @@
 .loop
 	ld a, [$ffbf]
 	ld d, a
-	ld a, [$ffbe]
+	ld a, [hUsedSpriteTile]
 	add e
 	dec a
 	cp $12
@@ -2984,7 +2985,7 @@
 	jr nc, .ok9
 	ld b, a
 .next
-	ld a, [$ffbd]
+	ld a, [hUsedSpriteIndex]
 	add d
 	dec a
 	cp $14
@@ -3032,7 +3033,7 @@
 	ld bc, ObjectStructs
 	xor a
 .loop
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	call GetObjectSprite
 	jr z, .next
 	call Function437b
@@ -3042,7 +3043,7 @@
 	add hl, bc
 	ld b, h
 	ld c, l
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	inc a
 	cp NUM_OBJECT_STRUCTS
 	jr nz, .loop
@@ -3055,7 +3056,7 @@
 	ld [wc2df], a
 	xor a
 	ld [wd04e], a
-	ld [wd4e2], a
+	ld [PlayerObject12], a
 	call Function57bc
 	callba CheckWarpCollision
 	call c, SpawnInFacingDown
@@ -3100,9 +3101,9 @@
 
 Function57e2: ; 57e2
 	ld a, d
-	and $80
+	and %10000000
 	ret z
-	ld bc, $0000 ; debug?
+	ld bc, 0 ; debug?
 	ld hl, OBJECT_FACING
 	add hl, bc
 	ld a, [hl]
@@ -3122,74 +3123,74 @@
 	ret
 ; 5803
 
-Function5803:: ; 5803
+StartFollow:: ; 5803
 	push bc
 	ld a, b
-	call Function5815
+	call SetLeaderIfVisible
 	pop bc
 	ret c
 	ld a, c
-	call Function582c
+	call SetFollowerIfVisible
 	callba Function848a
 	ret
 ; 5815
 
-Function5815: ; 5815
-	call Function18de
+SetLeaderIfVisible: ; 5815
+	call CheckObjectVisibility
 	ret c
-	ld a, [hConnectedMapWidth]
-	ld [wd4cd], a
+	ld a, [hObjectStructIndexBuffer]
+	ld [wObjectFollow_Leader], a
 	ret
 ; 581f
 
-Function581f:: ; 581f
-	call Function5826
-	call Function5847
+StopFollow:: ; 581f
+	call ResetLeader
+	call ResetFollower
 	ret
 ; 5826
 
-Function5826: ; 5826
+ResetLeader: ; 5826
 	ld a, -1
-	ld [wd4cd], a
+	ld [wObjectFollow_Leader], a
 	ret
 ; 582c
 
-Function582c: ; 582c
+SetFollowerIfVisible: ; 582c
 	push af
-	call Function5847
+	call ResetFollower
 	pop af
-	call Function18de
+	call CheckObjectVisibility
 	ret c
-	ld hl, OBJECT_03
+	ld hl, OBJECT_MOVEMENTTYPE
 	add hl, bc
-	ld [hl], $13
+	ld [hl], SPRITEMOVEDATA_13
 	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], 0
-	ld a, [hConnectedMapWidth]
-	ld [wd4ce], a
+	ld a, [hObjectStructIndexBuffer]
+	ld [wObjectFollow_Follower], a
 	ret
 ; 5847
 
-Function5847: ; 5847
-	ld a, [wd4ce]
+ResetFollower: ; 5847
+	ld a, [wObjectFollow_Follower]
 	cp -1
 	ret z
 	call GetObjectStruct
 	callba Function58e3
 	ld a, -1
-	ld [wd4ce], a
+	ld [wObjectFollow_Follower], a
 	ret
 ; 585c
 
 SetFlagsForMovement_1:: ; 585c
 	ld a, c
-	call Function18de
+	call CheckObjectVisibility
 	ret c
 	push bc
 	call Function587a
 	pop bc
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	res 5, [hl]
 	xor a
@@ -3197,9 +3198,9 @@
 ; 586e
 
 Function586e: ; 586e
-	call Function18de
+	call CheckObjectVisibility
 	ret c
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	set 5, [hl]
 	xor a
@@ -3213,7 +3214,7 @@
 	push af
 	call GetObjectSprite
 	jr z, .next
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	set 5, [hl]
 
@@ -3230,7 +3231,7 @@
 ; 5897
 
 _SetFlagsForMovement_2:: ; 5897
-	ld a, [wd4cd]
+	ld a, [wObjectFollow_Leader]
 	cp -1
 	ret z
 	push bc
@@ -3241,11 +3242,11 @@
 	pop bc
 	cp c
 	ret nz
-	ld a, [wd4ce]
+	ld a, [wObjectFollow_Follower]
 	cp -1
 	ret z
 	call GetObjectStruct
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	res 5, [hl]
 	ret
@@ -3259,7 +3260,7 @@
 	push af
 	call GetObjectSprite
 	jr z, .next
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	res 5, [hl]
 
@@ -3277,9 +3278,9 @@
 ; 58d8
 
 Function58d8: ; 58d8
-	call Function18de
+	call CheckObjectVisibility
 	ret c
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	res 5, [hl]
 	ret
@@ -3297,7 +3298,7 @@
 	add hl, bc
 	ld a, [hl]
 	pop bc
-	ld hl, OBJECT_03
+	ld hl, OBJECT_MOVEMENTTYPE
 	add hl, bc
 	ld [hl], a
 	ld hl, OBJECT_09
@@ -3312,10 +3313,10 @@
 	rrca
 	ld e, a
 	ld d, 0
-	ld hl, .data_591c
+	ld hl, .standing_movefns
 	add hl, de
 	ld a, [hl]
-	ld hl, OBJECT_03
+	ld hl, OBJECT_MOVEMENTTYPE
 	add hl, bc
 	ld [hl], a
 	ld hl, OBJECT_09
@@ -3323,8 +3324,11 @@
 	ld [hl], 0
 	ret
 
-.data_591c
-	db 6, 7, 8, 9
+.standing_movefns
+	db SPRITEMOVEDATA_STANDING_DOWN
+	db SPRITEMOVEDATA_STANDING_UP
+	db SPRITEMOVEDATA_STANDING_LEFT
+	db SPRITEMOVEDATA_STANDING_RIGHT
 ; 5920
 
 RefreshMapAppearDisappear:: ; 5920
@@ -3332,7 +3336,7 @@
 	bit 0, a
 	ret z
 	xor a
-	ld [$ffbd], a
+	ld [hUsedSpriteIndex], a
 	ld a, [hOAMUpdate]
 	push af
 	ld a, 1
@@ -3352,12 +3356,12 @@
 	ld b, $70
 
 .ok
-	ld a, [$ffbd]
+	ld a, [hUsedSpriteIndex]
 	cp b
 	ret nc
 	ld l, a
 	ld h, $c4
-	ld de, OBJECT_04
+	ld de, OBJECT_FLAGS1
 	ld a, b
 	ld c, $a0
 .loop
@@ -3427,13 +3431,13 @@
 
 Function59a4: ; 59a4
 	xor a
-	ld hl, wc2eb
+	ld hl, wMovementPointer
 	ld bc, 13
 	call ByteFill
 
 	ld d, 0
 	ld bc, ObjectStructs
-	ld hl, wc2eb
+	ld hl, wMovementPointer
 .loop
 	push hl
 	call GetObjectSprite
@@ -3447,7 +3451,7 @@
 
 ; Define the sprite priority.
 	ld e, $10
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	bit 0, [hl]
 	jr nz, .add
@@ -3484,7 +3488,7 @@
 ; 59f3
 
 Function59f3: ; 59f3
-	ld hl, wc2eb
+	ld hl, wMovementPointer
 .next
 	ld a, [hli]
 	ld d, a
@@ -3517,7 +3521,7 @@
 	or %00001000
 .skip1
 
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	ld e, [hl]
 	bit 7, e
@@ -3592,11 +3596,11 @@
 	ld h, [hl]
 	ld l, a
 
-	ld a, [$ffbd]
+	ld a, [hUsedSpriteIndex]
 	ld c, a
 	ld b, Sprites / $100
 	ld a, [hli]
-	ld [$ffbe], a
+	ld [hUsedSpriteTile], a
 	add c
 	cp SpritesEnd % $100
 	jr nc, .full
@@ -3641,13 +3645,13 @@
 	ld [bc], a
 	inc c
 
-	ld a, [$ffbe]
+	ld a, [hUsedSpriteTile]
 	dec a
-	ld [$ffbe], a
+	ld [hUsedSpriteTile], a
 	jr nz, .addsprite
 
 	ld a, c
-	ld [$ffbd], a
+	ld [hUsedSpriteIndex], a
 
 .done
 	xor a
@@ -3673,16 +3677,16 @@
 
 .Addresses ; 5ace
 	dw PlayerStruct
-	dw ObjectStruct1
-	dw ObjectStruct2
-	dw ObjectStruct3
-	dw ObjectStruct4
-	dw ObjectStruct5
-	dw ObjectStruct6
-	dw ObjectStruct7
-	dw ObjectStruct8
-	dw ObjectStruct9
-	dw ObjectStruct10
-	dw ObjectStruct11
-	dw ObjectStruct12
+	dw Object1Struct
+	dw Object2Struct
+	dw Object3Struct
+	dw Object4Struct
+	dw Object5Struct
+	dw Object6Struct
+	dw Object7Struct
+	dw Object8Struct
+	dw Object9Struct
+	dw Object10Struct
+	dw Object11Struct
+	dw Object12Struct
 ; 5ae8
--- a/engine/map_setup.asm
+++ b/engine/map_setup.asm
@@ -313,7 +313,7 @@
 LoadObjectsRunCallback_02: ; 154d7
 	ld a, $2
 	call RunMapCallback
-	callba Function2454f
+	callba LoadObjectMasks
 	callba Function8177
 	ret
 ; 154ea (5:54ea)
--- a/engine/movement.asm
+++ b/engine/movement.asm
@@ -1,99 +1,99 @@
 MovementPointers: ; 5075
-	dw Movement_turn_head_down
-	dw Movement_turn_head_up
-	dw Movement_turn_head_left
-	dw Movement_turn_head_right
-	dw Movement_half_step_down
-	dw Movement_half_step_up
-	dw Movement_half_step_left
-	dw Movement_half_step_right
-	dw Movement_slow_step_down
-	dw Movement_slow_step_up
-	dw Movement_slow_step_left
-	dw Movement_slow_step_right
-	dw Movement_step_down
-	dw Movement_step_up
-	dw Movement_step_left
-	dw Movement_step_right
-	dw Movement_big_step_down
-	dw Movement_big_step_up
-	dw Movement_big_step_left
-	dw Movement_big_step_right
-	dw Movement_slow_slide_step_down
-	dw Movement_slow_slide_step_up
-	dw Movement_slow_slide_step_left
-	dw Movement_slow_slide_step_right
-	dw Movement_slide_step_down
-	dw Movement_slide_step_up
-	dw Movement_slide_step_left
-	dw Movement_slide_step_right
-	dw Movement_fast_slide_step_down
-	dw Movement_fast_slide_step_up
-	dw Movement_fast_slide_step_left
-	dw Movement_fast_slide_step_right
-	dw Movement_turn_away_down
-	dw Movement_turn_away_up
-	dw Movement_turn_away_left
-	dw Movement_turn_away_right
-	dw Movement_turn_in_down
-	dw Movement_turn_in_up
-	dw Movement_turn_in_left
-	dw Movement_turn_in_right
-	dw Movement_turn_waterfall_down
-	dw Movement_turn_waterfall_up
-	dw Movement_turn_waterfall_left
-	dw Movement_turn_waterfall_right
-	dw Movement_slow_jump_step_down
-	dw Movement_slow_jump_step_up
-	dw Movement_slow_jump_step_left
-	dw Movement_slow_jump_step_right
-	dw Movement_jump_step_down
-	dw Movement_jump_step_up
-	dw Movement_jump_step_left
-	dw Movement_jump_step_right
-	dw Movement_fast_jump_step_down
-	dw Movement_fast_jump_step_up
-	dw Movement_fast_jump_step_left
-	dw Movement_fast_jump_step_right
-	dw Function5293
-	dw Function529c
-	dw Movement_remove_fixed_facing
-	dw Movement_fix_facing
-	dw Function52b7
-	dw Movement_hide_person
-	dw Movement_show_person
-	dw Function5226
-	dw Function522a
-	dw Function522e
-	dw Function5232
-	dw Function5236
-	dw Function523a
-	dw Movement_accelerate_last
-	dw Movement_step_sleep
-	dw Movement_step_end
-	dw Function51db
-	dw Movement_remove_person
-	dw Function51b8
-	dw Function5210
-	dw Movement_teleport_from
-	dw Movement_teleport_to
-	dw Movement_skyfall
-	dw Movement_step_wait5
-	dw Function525f
-	dw Function5189
-	dw Function51ab
-	dw Movement_hide_emote
-	dw Movement_show_emote
-	dw Movement_step_shake
-	dw Function5279
-	dw Function5196
-	dw Function516a
-	dw Function513e
+	dw Movement_turn_head_down        ; 00
+	dw Movement_turn_head_up          ; 01
+	dw Movement_turn_head_left        ; 02
+	dw Movement_turn_head_right       ; 03
+	dw Movement_half_step_down        ; 04
+	dw Movement_half_step_up          ; 05
+	dw Movement_half_step_left        ; 06
+	dw Movement_half_step_right       ; 07
+	dw Movement_slow_step_down        ; 08
+	dw Movement_slow_step_up          ; 09
+	dw Movement_slow_step_left        ; 0a
+	dw Movement_slow_step_right       ; 0b
+	dw Movement_step_down             ; 0c
+	dw Movement_step_up               ; 0d
+	dw Movement_step_left             ; 0e
+	dw Movement_step_right            ; 0f
+	dw Movement_big_step_down         ; 10
+	dw Movement_big_step_up           ; 11
+	dw Movement_big_step_left         ; 12
+	dw Movement_big_step_right        ; 13
+	dw Movement_slow_slide_step_down  ; 14
+	dw Movement_slow_slide_step_up    ; 15
+	dw Movement_slow_slide_step_left  ; 16
+	dw Movement_slow_slide_step_right ; 17
+	dw Movement_slide_step_down       ; 18
+	dw Movement_slide_step_up         ; 19
+	dw Movement_slide_step_left       ; 1a
+	dw Movement_slide_step_right      ; 1b
+	dw Movement_fast_slide_step_down  ; 1c
+	dw Movement_fast_slide_step_up    ; 1d
+	dw Movement_fast_slide_step_left  ; 1e
+	dw Movement_fast_slide_step_right ; 1f
+	dw Movement_turn_away_down        ; 20
+	dw Movement_turn_away_up          ; 21
+	dw Movement_turn_away_left        ; 22
+	dw Movement_turn_away_right       ; 23
+	dw Movement_turn_in_down          ; 24
+	dw Movement_turn_in_up            ; 25
+	dw Movement_turn_in_left          ; 26
+	dw Movement_turn_in_right         ; 27
+	dw Movement_turn_waterfall_down   ; 28
+	dw Movement_turn_waterfall_up     ; 29
+	dw Movement_turn_waterfall_left   ; 2a
+	dw Movement_turn_waterfall_right  ; 2b
+	dw Movement_slow_jump_step_down   ; 2c
+	dw Movement_slow_jump_step_up     ; 2d
+	dw Movement_slow_jump_step_left   ; 2e
+	dw Movement_slow_jump_step_right  ; 2f
+	dw Movement_jump_step_down        ; 30
+	dw Movement_jump_step_up          ; 31
+	dw Movement_jump_step_left        ; 32
+	dw Movement_jump_step_right       ; 33
+	dw Movement_fast_jump_step_down   ; 34
+	dw Movement_fast_jump_step_up     ; 35
+	dw Movement_fast_jump_step_left   ; 36
+	dw Movement_fast_jump_step_right  ; 37
+	dw Movement_38                    ; 38
+	dw Movement_39                    ; 39
+	dw Movement_remove_fixed_facing   ; 3a
+	dw Movement_fix_facing            ; 3b
+	dw Movement_3c                    ; 3c
+	dw Movement_hide_person           ; 3d
+	dw Movement_show_person           ; 3e
+	dw Movement_3f                    ; 3f
+	dw Movement_40                    ; 40
+	dw Movement_41                    ; 41
+	dw Movement_42                    ; 42
+	dw Movement_43                    ; 43
+	dw Movement_44                    ; 44
+	dw Movement_accelerate_last       ; 45
+	dw Movement_step_sleep            ; 46
+	dw Movement_step_end              ; 47
+	dw Movement_48                    ; 48
+	dw Movement_remove_person         ; 49
+	dw Movement_4a                    ; 4a
+	dw Movement_4b                    ; 4b
+	dw Movement_teleport_from         ; 4c
+	dw Movement_teleport_to           ; 4d
+	dw Movement_skyfall               ; 4e
+	dw Movement_step_wait5            ; 4f
+	dw Movement_50                    ; 50
+	dw Movement_51                    ; 51
+	dw Movement_52                    ; 52
+	dw Movement_hide_emote            ; 53
+	dw Movement_show_emote            ; 54
+	dw Movement_step_shake            ; 55
+	dw Movement_56                    ; 56
+	dw Movement_57                    ; 57
+	dw Movement_58                    ; 58
+	dw Movement_59                    ; 59
 ; 5129
 
 
 Movement_teleport_from: ; 5129
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $c
 	ret
@@ -100,7 +100,7 @@
 ; 5130
 
 Movement_teleport_to: ; 5130
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $d
 	ret
@@ -107,14 +107,14 @@
 ; 5137
 
 Movement_skyfall: ; 5137
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $e
 	ret
 ; 513e
 
-Function513e: ; 513e
-	ld hl, $0009
+Movement_59: ; 513e
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $19
 	ret
@@ -124,81 +124,81 @@
 	call GetSpriteDirection
 	rlca
 	rlca
-	ld hl, $000c
+	ld hl, OBJECT_12
 	add hl, bc
 	ld [hl], a
-	ld hl, $000b
+	ld hl, OBJECT_11
 	add hl, bc
 	ld [hl], $4
 	call GetMovementByte
-	ld hl, $000a
+	ld hl, OBJECT_STEP_DURATION
 	add hl, bc
 	ld [hl], a
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $3
-	ld hl, $0007
+	ld hl, OBJECT_DIRECTION_WALKING
 	add hl, bc
 	ld [hl], $ff
 	ret
 ; 516a
 
-Function516a: ; 516a
+Movement_58: ; 516a
 	call GetSpriteDirection
 	rlca
 	rlca
-	ld hl, $000c
+	ld hl, OBJECT_12
 	add hl, bc
 	ld [hl], a
 	call GetMovementByte
-	ld hl, $000a
+	ld hl, OBJECT_STEP_DURATION
 	add hl, bc
 	ld [hl], a
-	ld hl, $0007
+	ld hl, OBJECT_DIRECTION_WALKING
 	add hl, bc
 	ld [hl], $ff
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $12
 	ret
 ; 5189
 
-Function5189: ; 5189
-	ld hl, $000b
+Movement_51: ; 5189
+	ld hl, OBJECT_11
 	add hl, bc
 	ld [hl], $6
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $10
 	ret
 ; 5196
 
-Function5196: ; 5196
+Movement_57: ; 5196
 	call GetMovementByte
-	ld hl, $000a
+	ld hl, OBJECT_STEP_DURATION
 	add hl, bc
 	ld [hl], a
-	ld hl, $000b
+	ld hl, OBJECT_11
 	add hl, bc
 	ld [hl], $1
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $11
 	ret
 ; 51ab
 
-Function51ab: ; 51ab
-	ld hl, $000b
+Movement_52: ; 51ab
+	ld hl, OBJECT_11
 	add hl, bc
 	ld [hl], $6
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $1
 	ret
 ; 51b8
 
-Function51b8: ; 51b8
-	ld hl, $001b
+Movement_4a: ; 51b8
+	ld hl, OBJECT_27
 	add hl, bc
 	ld [hl], $0
 	jp Function5065
@@ -205,34 +205,34 @@
 ; 51c1
 
 Movement_step_end: ; 51c1
-	call Function4769
-	ld hl, $0003
+	call RestoreDefaultMovement
+	ld hl, OBJECT_MOVEMENTTYPE
 	add hl, bc
 	ld [hl], a
-	ld hl, $001b
+	ld hl, OBJECT_27
 	add hl, bc
 	ld [hl], $0
 	ld hl, VramState
 	res 7, [hl]
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $1
 	ret
 ; 51db
 
-Function51db: ; 51db
-	call Function4769
-	ld hl, $0003
+Movement_48: ; 51db
+	call RestoreDefaultMovement
+	ld hl, OBJECT_MOVEMENTTYPE
 	add hl, bc
 	ld [hl], a
-	ld hl, $001b
+	ld hl, OBJECT_27
 	add hl, bc
 	ld [hl], $0
 	call GetMovementByte
-	ld hl, $000a
+	ld hl, OBJECT_STEP_DURATION
 	add hl, bc
 	ld [hl], a
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $3
 	ld hl, VramState
@@ -242,8 +242,8 @@
 
 Movement_remove_person: ; 51fd
 	call Function4357
-	ld hl, wd4cd
-	ld a, [hConnectionStripLength]
+	ld hl, wObjectFollow_Leader
+	ld a, [hMapObjectIndexBuffer]
 	cp [hl]
 	jr nz, .asm_520a
 	ld [hl], $ff
@@ -254,11 +254,11 @@
 	ret
 ; 5210
 
-Function5210: ; 5210
-	ld hl, $000b
+Movement_4b: ; 5210
+	ld hl, OBJECT_11
 	add hl, bc
 	ld [hl], $1
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $4
 	ld hl, VramState
@@ -270,27 +270,27 @@
 	ld a, $1
 	jr Function5247
 
-Function5226: ; 5226
+Movement_3f: ; 5226
 	ld a, $2
 	jr Function5247
 
-Function522a: ; 522a
+Movement_40: ; 522a
 	ld a, $3
 	jr Function5247
 
-Function522e: ; 522e
+Movement_41: ; 522e
 	ld a, $4
 	jr Function5247
 
-Function5232: ; 5232
+Movement_42: ; 5232
 	ld a, $5
 	jr Function5247
 
-Function5236: ; 5236
+Movement_43: ; 5236
 	ld a, $6
 	jr Function5247
 
-Function523a: ; 523a
+Movement_44: ; 523a
 	ld a, $7
 	jr Function5247
 
@@ -306,64 +306,64 @@
 	jr Function5247
 
 Function5247: ; 5247
-	ld hl, $000a
+	ld hl, OBJECT_STEP_DURATION
 	add hl, bc
 	ld [hl], a
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $3
-	ld hl, $000b
+	ld hl, OBJECT_11
 	add hl, bc
 	ld [hl], $1
-	ld hl, $0007
+	ld hl, OBJECT_DIRECTION_WALKING
 	add hl, bc
 	ld [hl], $ff
 	ret
 ; 525f
 
-Function525f: ; 525f
+Movement_50: ; 525f
 	ld a, $1
-	ld hl, $000a
+	ld hl, OBJECT_STEP_DURATION
 	add hl, bc
 	ld [hl], a
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $b
-	ld hl, $000b
+	ld hl, OBJECT_11
 	add hl, bc
 	ld [hl], $3
-	ld hl, $0007
+	ld hl, OBJECT_DIRECTION_WALKING
 	add hl, bc
 	ld [hl], $ff
 	ret
 ; 5279
 
-Function5279: ; 5279
+Movement_56: ; 5279
 	ld a, $18
-	ld hl, $000a
+	ld hl, OBJECT_STEP_DURATION
 	add hl, bc
 	ld [hl], a
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $3
-	ld hl, $000b
+	ld hl, OBJECT_11
 	add hl, bc
 	ld [hl], $b
-	ld hl, $0007
+	ld hl, OBJECT_DIRECTION_WALKING
 	add hl, bc
 	ld [hl], $ff
 	ret
 ; 5293
 
-Function5293: ; 5293
-	ld hl, $0004
+Movement_38: ; 5293
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	res 3, [hl]
 	jp Function5065
 ; 529c
 
-Function529c: ; 529c
-	ld hl, $0004
+Movement_39: ; 529c
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	set 3, [hl]
 	jp Function5065
@@ -370,7 +370,7 @@
 ; 52a5
 
 Movement_remove_fixed_facing: ; 52a5
-	ld hl, $0004
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	res 2, [hl]
 	jp Function5065
@@ -377,14 +377,14 @@
 ; 52ae
 
 Movement_fix_facing: ; 52ae
-	ld hl, $0004
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	set 2, [hl]
 	jp Function5065
 ; 52b7
 
-Function52b7: ; 52b7
-	ld hl, $0004
+Movement_3c: ; 52b7
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	res 0, [hl]
 	jp Function5065
@@ -391,7 +391,7 @@
 ; 52c0
 
 Movement_hide_person: ; 52c0
-	ld hl, $0004
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	set 0, [hl]
 	jp Function5065
@@ -417,29 +417,29 @@
 ; 52de
 
 Movement_turn_head_down: ; 52de
-	ld a, $0
-	jr Function52ee
+	ld a, OW_DOWN
+	jr TurnHead
 
 Movement_turn_head_up: ; 52e2
-	ld a, $4
-	jr Function52ee
+	ld a, OW_UP
+	jr TurnHead
 
 Movement_turn_head_left: ; 52e6
-	ld a, $8
-	jr Function52ee
+	ld a, OW_LEFT
+	jr TurnHead
 
 Movement_turn_head_right: ; 52ea
-	ld a, $c
-	jr Function52ee
+	ld a, OW_RIGHT
+	jr TurnHead
 
-Function52ee: ; 52ee
-	ld hl, $0008
+TurnHead: ; 52ee
+	ld hl, OBJECT_FACING
 	add hl, bc
 	ld [hl], a
-	ld hl, $000b
+	ld hl, OBJECT_11
 	add hl, bc
 	ld [hl], $1
-	ld hl, $0007
+	ld hl, OBJECT_DIRECTION_WALKING
 	add hl, bc
 	ld [hl], $ff
 	ret
@@ -446,282 +446,282 @@
 ; 5300
 
 Movement_slow_step_down: ; 5300
-	ld a, $0
-	jp Function5412
+	ld a, STEP_SLOW << 2 | DOWN
+	jp NormalStep
 ; 5305
 
 Movement_slow_step_up: ; 5305
-	ld a, $1
-	jp Function5412
+	ld a, STEP_SLOW << 2 | UP
+	jp NormalStep
 ; 530a
 
 Movement_slow_step_left: ; 530a
-	ld a, $2
-	jp Function5412
+	ld a, STEP_SLOW << 2 | LEFT
+	jp NormalStep
 ; 530f
 
 Movement_slow_step_right: ; 530f
-	ld a, $3
-	jp Function5412
+	ld a, STEP_SLOW << 2 | RIGHT
+	jp NormalStep
 ; 5314
 
 Movement_step_down: ; 5314
-	ld a, $4
-	jp Function5412
+	ld a, STEP_WALK << 2 | DOWN
+	jp NormalStep
 ; 5319
 
 Movement_step_up: ; 5319
-	ld a, $5
-	jp Function5412
+	ld a, STEP_WALK << 2 | UP
+	jp NormalStep
 ; 531e
 
 Movement_step_left: ; 531e
-	ld a, $6
-	jp Function5412
+	ld a, STEP_WALK << 2 | LEFT
+	jp NormalStep
 ; 5323
 
 Movement_step_right: ; 5323
-	ld a, $7
-	jp Function5412
+	ld a, STEP_WALK << 2 | RIGHT
+	jp NormalStep
 ; 5328
 
 Movement_big_step_down: ; 5328
-	ld a, $8
-	jp Function5412
+	ld a, STEP_BIKE << 2 | DOWN
+	jp NormalStep
 ; 532d
 
 Movement_big_step_up: ; 532d
-	ld a, $9
-	jp Function5412
+	ld a, STEP_BIKE << 2 | UP
+	jp NormalStep
 ; 5332
 
 Movement_big_step_left: ; 5332
-	ld a, $a
-	jp Function5412
+	ld a, STEP_BIKE << 2 | LEFT
+	jp NormalStep
 ; 5337
 
 Movement_big_step_right: ; 5337
-	ld a, $b
-	jp Function5412
+	ld a, STEP_BIKE << 2 | RIGHT
+	jp NormalStep
 ; 533c
 
 
 Movement_turn_away_down: ; 533c
-	ld a, $0
-	jp Function5446
+	ld a, STEP_SLOW << 2 | DOWN
+	jp TurningStep
 ; 5341
 
 Movement_turn_away_up: ; 5341
-	ld a, $1
-	jp Function5446
+	ld a, STEP_SLOW << 2 | UP
+	jp TurningStep
 ; 5346
 
 Movement_turn_away_left: ; 5346
-	ld a, $2
-	jp Function5446
+	ld a, STEP_SLOW << 2 | LEFT
+	jp TurningStep
 ; 534b
 
 Movement_turn_away_right: ; 534b
-	ld a, $3
-	jp Function5446
+	ld a, STEP_SLOW << 2 | RIGHT
+	jp TurningStep
 ; 5350
 
 Movement_turn_in_down: ; 5350
-	ld a, $4
-	jp Function5446
+	ld a, STEP_WALK << 2 | DOWN
+	jp TurningStep
 ; 5355
 
 Movement_turn_in_up: ; 5355
-	ld a, $5
-	jp Function5446
+	ld a, STEP_WALK << 2 | UP
+	jp TurningStep
 ; 535a
 
 Movement_turn_in_left: ; 535a
-	ld a, $6
-	jp Function5446
+	ld a, STEP_WALK << 2 | LEFT
+	jp TurningStep
 ; 535f
 
 Movement_turn_in_right: ; 535f
-	ld a, $7
-	jp Function5446
+	ld a, STEP_WALK << 2 | RIGHT
+	jp TurningStep
 ; 5364
 
 Movement_turn_waterfall_down: ; 5364
-	ld a, $8
-	jp Function5446
+	ld a, STEP_BIKE << 2 | DOWN
+	jp TurningStep
 ; 5369
 
 Movement_turn_waterfall_up: ; 5369
-	ld a, $9
-	jp Function5446
+	ld a, STEP_BIKE << 2 | UP
+	jp TurningStep
 ; 536e
 
 Movement_turn_waterfall_left: ; 536e
-	ld a, $a
-	jp Function5446
+	ld a, STEP_BIKE << 2 | LEFT
+	jp TurningStep
 ; 5373
 
 Movement_turn_waterfall_right: ; 5373
-	ld a, $b
-	jp Function5446
+	ld a, STEP_BIKE << 2 | RIGHT
+	jp TurningStep
 ; 5378
 
 
 Movement_slow_slide_step_down: ; 5378
-	ld a, $0
-	jp Function5468
+	ld a, STEP_SLOW << 2 | DOWN
+	jp SlideStep
 ; 537d
 
 Movement_slow_slide_step_up: ; 537d
-	ld a, $1
-	jp Function5468
+	ld a, STEP_SLOW << 2 | UP
+	jp SlideStep
 ; 5382
 
 Movement_slow_slide_step_left: ; 5382
-	ld a, $2
-	jp Function5468
+	ld a, STEP_SLOW << 2 | LEFT
+	jp SlideStep
 ; 5387
 
 Movement_slow_slide_step_right: ; 5387
-	ld a, $3
-	jp Function5468
+	ld a, STEP_SLOW << 2 | RIGHT
+	jp SlideStep
 ; 538c
 
 Movement_slide_step_down: ; 538c
-	ld a, $4
-	jp Function5468
+	ld a, STEP_WALK << 2 | DOWN
+	jp SlideStep
 ; 5391
 
 Movement_slide_step_up: ; 5391
-	ld a, $5
-	jp Function5468
+	ld a, STEP_WALK << 2 | UP
+	jp SlideStep
 ; 5396
 
 Movement_slide_step_left: ; 5396
-	ld a, $6
-	jp Function5468
+	ld a, STEP_WALK << 2 | LEFT
+	jp SlideStep
 ; 539b
 
 Movement_slide_step_right: ; 539b
-	ld a, $7
-	jp Function5468
+	ld a, STEP_WALK << 2 | RIGHT
+	jp SlideStep
 ; 53a0
 
 Movement_fast_slide_step_down: ; 53a0
-	ld a, $8
-	jp Function5468
+	ld a, STEP_BIKE << 2 | DOWN
+	jp SlideStep
 ; 53a5
 
 Movement_fast_slide_step_up: ; 53a5
-	ld a, $9
-	jp Function5468
+	ld a, STEP_BIKE << 2 | UP
+	jp SlideStep
 ; 53aa
 
 Movement_fast_slide_step_left: ; 53aa
-	ld a, $a
-	jp Function5468
+	ld a, STEP_BIKE << 2 | LEFT
+	jp SlideStep
 ; 53af
 
 Movement_fast_slide_step_right: ; 53af
-	ld a, $b
-	jp Function5468
+	ld a, STEP_BIKE << 2 | RIGHT
+	jp SlideStep
 ; 53b4
 
 
 Movement_slow_jump_step_down: ; 53b4
-	ld a, $0
-	jp Function548a
+	ld a, STEP_SLOW << 2 | DOWN
+	jp JumpStep
 ; 53b9
 
 Movement_slow_jump_step_up: ; 53b9
-	ld a, $1
-	jp Function548a
+	ld a, STEP_SLOW << 2 | UP
+	jp JumpStep
 ; 53be
 
 Movement_slow_jump_step_left: ; 53be
-	ld a, $2
-	jp Function548a
+	ld a, STEP_SLOW << 2 | LEFT
+	jp JumpStep
 ; 53c3
 
 Movement_slow_jump_step_right: ; 53c3
-	ld a, $3
-	jp Function548a
+	ld a, STEP_SLOW << 2 | RIGHT
+	jp JumpStep
 ; 53c8
 
 Movement_jump_step_down: ; 53c8
-	ld a, $4
-	jp Function548a
+	ld a, STEP_WALK << 2 | DOWN
+	jp JumpStep
 ; 53cd
 
 Movement_jump_step_up: ; 53cd
-	ld a, $5
-	jp Function548a
+	ld a, STEP_WALK << 2 | UP
+	jp JumpStep
 ; 53d2
 
 Movement_jump_step_left: ; 53d2
-	ld a, $6
-	jp Function548a
+	ld a, STEP_WALK << 2 | LEFT
+	jp JumpStep
 ; 53d7
 
 Movement_jump_step_right: ; 53d7
-	ld a, $7
-	jp Function548a
+	ld a, STEP_WALK << 2 | RIGHT
+	jp JumpStep
 ; 53dc
 
 Movement_fast_jump_step_down: ; 53dc
-	ld a, $8
-	jp Function548a
+	ld a, STEP_BIKE << 2 | DOWN
+	jp JumpStep
 ; 53e1
 
 Movement_fast_jump_step_up: ; 53e1
-	ld a, $9
-	jp Function548a
+	ld a, STEP_BIKE << 2 | UP
+	jp JumpStep
 ; 53e6
 
 Movement_fast_jump_step_left: ; 53e6
-	ld a, $a
-	jp Function548a
+	ld a, STEP_BIKE << 2 | LEFT
+	jp JumpStep
 ; 53eb
 
 Movement_fast_jump_step_right: ; 53eb
-	ld a, $b
-	jp Function548a
+	ld a, STEP_BIKE << 2 | RIGHT
+	jp JumpStep
 ; 53f0
 
 
 Movement_half_step_down: ; 53f0
-	ld a, $0
-	jr Function5400
+	ld a, OW_DOWN
+	jr HalfStep
 
 Movement_half_step_up: ; 53f4
-	ld a, $4
-	jr Function5400
+	ld a, OW_UP
+	jr HalfStep
 
 Movement_half_step_left: ; 53f8
-	ld a, $8
-	jr Function5400
+	ld a, OW_LEFT
+	jr HalfStep
 
 Movement_half_step_right: ; 53fc
-	ld a, $c
-	jr Function5400
+	ld a, OW_RIGHT
+	jr HalfStep
 
-Function5400: ; 5400
-	ld hl, $001d
+HalfStep: ; 5400
+	ld hl, OBJECT_29
 	add hl, bc
 	ld [hl], a
-	ld hl, $000b
+	ld hl, OBJECT_11
 	add hl, bc
 	ld [hl], $2
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $a
 	ret
 ; 5412
 
-Function5412: ; 5412
+NormalStep: ; 5412
 	call Function4690
 	call Function463f
-	ld hl, $000b
+	ld hl, OBJECT_11
 	add hl, bc
 	ld [hl], $2
 	ld hl, OBJECT_STANDING_TILE
@@ -738,39 +738,39 @@
 
 .asm_5430
 	ld hl, wd4cf
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	cp [hl]
 	jr z, .asm_543f
 
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $2
 	ret
 
 .asm_543f
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $6
 	ret
 ; 5446
 
-Function5446: ; 5446
+TurningStep: ; 5446
 	call Function4690
 	call Function463f
-	ld hl, $000b
+	ld hl, OBJECT_11
 	add hl, bc
 	ld [hl], $4
 	ld hl, wd4cf
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	cp [hl]
 	jr z, .asm_5461
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $2
 	ret
 
 .asm_5461
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $6
 	ret
@@ -777,23 +777,23 @@
 ; 5468
 
 
-Function5468: ; 5468
+SlideStep: ; 5468
 	call Function4690
 	call Function463f
-	ld hl, $000b
+	ld hl, OBJECT_11
 	add hl, bc
 	ld [hl], $1
 	ld hl, wd4cf
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	cp [hl]
 	jr z, .asm_5483
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $2
 	ret
 
 .asm_5483
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $6
 	ret
@@ -800,29 +800,29 @@
 ; 548a
 
 
-Function548a: ; 548a
+JumpStep: ; 548a
 	call Function4690
-	ld hl, $001f
+	ld hl, OBJECT_31
 	add hl, bc
 	ld [hl], $0
-	ld hl, $0005
+	ld hl, OBJECT_FLAGS2
 	add hl, bc
 	res 3, [hl]
-	ld hl, $000b
+	ld hl, OBJECT_11
 	add hl, bc
 	ld [hl], $2
 	call Function5529
 	ld hl, wd4cf
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	cp [hl]
 	jr z, .asm_54b1
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $8
 	ret
 
 .asm_54b1
-	ld hl, $0009
+	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], $9
 	ret
--- a/engine/pack.asm
+++ b/engine/pack.asm
@@ -64,7 +64,7 @@
 	ld hl, MenuDataHeader_0x10a4f
 	call CopyMenuDataHeader
 	ld a, [wItemsPocketCursor]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ld a, [wd0df]
 	ld [wd0e4], a
 	call Function350c
@@ -92,7 +92,7 @@
 	ld hl, MenuDataHeader_0x10a7f
 	call CopyMenuDataHeader
 	ld a, [wKeyItemsPocketCursor]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ld a, [wd0e0]
 	ld [wd0e4], a
 	call Function350c
@@ -222,7 +222,7 @@
 	ld hl, MenuDataHeader_0x10aaf
 	call CopyMenuDataHeader
 	ld a, [wBallsPocketCursor]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ld a, [wd0e1]
 	ld [wd0e4], a
 	call Function350c
@@ -722,7 +722,7 @@
 	ld hl, MenuDataHeader_0x10a4f
 	call CopyMenuDataHeader
 	ld a, [wItemsPocketCursor]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ld a, [wd0df]
 	ld [wd0e4], a
 	call Function350c
@@ -750,7 +750,7 @@
 	ld hl, MenuDataHeader_0x10a7f
 	call CopyMenuDataHeader
 	ld a, [wKeyItemsPocketCursor]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ld a, [wd0e0]
 	ld [wd0e4], a
 	call Function350c
@@ -801,7 +801,7 @@
 	ld hl, MenuDataHeader_0x10aaf
 	call CopyMenuDataHeader
 	ld a, [wBallsPocketCursor]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ld a, [wd0e1]
 	ld [wd0e4], a
 	call Function350c
@@ -1007,7 +1007,7 @@
 	ld hl, MenuDataHeader_0x10a67
 	call CopyMenuDataHeader
 	ld a, [wItemsPocketCursor]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ld a, [wd0df]
 	ld [wd0e4], a
 	call Function350c
@@ -1023,7 +1023,7 @@
 	ld hl, MenuDataHeader_0x10a97
 	call CopyMenuDataHeader
 	ld a, [wKeyItemsPocketCursor]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ld a, [wd0e0]
 	ld [wd0e4], a
 	call Function350c
@@ -1048,7 +1048,7 @@
 	ld hl, MenuDataHeader_0x10ac7
 	call CopyMenuDataHeader
 	ld a, [wBallsPocketCursor]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ld a, [wd0e1]
 	ld [wd0e4], a
 	call Function350c
@@ -1411,7 +1411,7 @@
 	ld a, BANK(PackMenuGFX)
 	call FarCopyBytes
 	hlcoord 0, 1
-	ld bc, $00dc
+	ld bc, 220
 	ld a, $24
 	call ByteFill
 	hlcoord 5, 1
--- a/engine/radio2.asm
+++ b/engine/radio2.asm
@@ -385,7 +385,7 @@
 	xor a
 	ld [hBGMapMode], a ; $ff00+$d4
 	hlcoord 1, 8
-	ld bc, $312
+	lb bc, 3, 18
 	call ClearBox
 	hlcoord 0, 12
 	ld bc, $412
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -529,7 +529,7 @@
 	ld a, [ScriptBank]
 	ld hl, InterpretMenu
 	rst FarCall
-	ld a, [wPocketCursorBuffer]
+	ld a, [wMenuCursorBuffer]
 	jr nc, .ok
 	xor a
 .ok
@@ -608,7 +608,7 @@
 	call GetScriptByte
 	call GetVarAction
 	ld a, [de]
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	ld hl, NumItems
 	call ReceiveItem
 	ld a, 1
@@ -1191,7 +1191,7 @@
 ApplyPersonFacing: ; 0x9728b
 	ld a, d
 	push de
-	call Function18de
+	call CheckObjectVisibility
 	jr c, .not_visible ; 0x97290 $27
 	ld hl, OBJECT_SPRITE
 	add hl, bc
@@ -1200,7 +1200,7 @@
 	call Function1836
 	pop bc
 	jr c, .not_visible ; 0x9729c $1b
-	ld hl, OBJECT_04
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	bit 2, [hl]
 	jr nz, .not_visible ; 0x972a4 $13
@@ -1209,11 +1209,12 @@
 	call SetSpriteDirection
 	ld hl, VramState
 	bit 6, [hl]
-	jr nz, .asm_972b5 ; 0x972b0 $3
-	call Function972bc
-.asm_972b5
+	jr nz, .text_state ; 0x972b0 $3
+	call .DisableTextTiles
+.text_state
 	call UpdateSprites
 	ret
+
 .not_visible
 	pop de
 	scf
@@ -1220,17 +1221,17 @@
 	ret
 ; 0x972bc
 
-Function972bc: ; 0x972bc
+.DisableTextTiles: ; 0x972bc
 	call Function217a
 	hlcoord 0, 0
 	ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
-.asm_972c5
+.loop
 	res 7, [hl]
 	inc hl
 	dec bc
 	ld a, b
 	or c
-	jr nz, .asm_972c5 ; 0x972cb $f8
+	jr nz, .loop ; 0x972cb $f8
 	ret
 ; 0x972ce
 
@@ -1258,7 +1259,7 @@
 	call GetScriptByte
 	call GetScriptPerson
 	call _CopyObjectStruct
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	ld b, 0 ; clear
 	call ApplyEventActionAppearDisappear
 	ret
@@ -1276,7 +1277,7 @@
 	ld a, [hLastTalked]
 .ok
 	call DeleteObjectStruct
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	ld b, 1 ; set
 	call ApplyEventActionAppearDisappear
 	callba RefreshMapAppearDisappear
@@ -1316,7 +1317,7 @@
 	call GetScriptByte
 	call GetScriptPerson
 	ld c, a
-	callba Function5803
+	callba StartFollow
 	ret
 ; 0x9733a
 
@@ -1323,7 +1324,7 @@
 Script_stopfollow: ; 0x9733a
 ; script command 0x71
 
-	callba Function581f
+	callba StopFollow
 	ret
 ; 0x97341
 
@@ -1390,7 +1391,7 @@
 	ld a, [ScriptVar]
 .not_var_emote
 	ld c, a
-	callba Function1442f
+	callba LoadEmote
 	ret
 ; 0x97396
 
@@ -1417,7 +1418,7 @@
 ; 0x973b6
 
 ShowEmoteScript: ; 973b6
-	loademote -1
+	loademote EMOTE_MEM
 	applymovement2 .Show
 	pause 0
 	applymovement2 .Hide
@@ -1446,7 +1447,7 @@
 	call CopyBytes
 	call GetScriptByte
 	ld [wd003], a
-	and $3f
+	and (1 << 6) - 1
 	ld [wd005], a
 	ld b, BANK(.script)
 	ld de, .script
@@ -2344,7 +2345,7 @@
 .ok
 	ld [CurItem], a
 	call GetScriptByte
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	ld hl, NumItems
 	call ReceiveItem
 	jr nc, .full ; 0x977e3 $6
@@ -2368,7 +2369,7 @@
 	call GetScriptByte
 	ld [CurItem], a
 	call GetScriptByte
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	ld a, $ff
 	ld [wd107], a
 	ld hl, NumItems
@@ -2428,10 +2429,10 @@
 
 	call GetMoneyAccount
 	call LoadMoneyAmountToMem
-	callba CheckMoney
+	callba CompareMoney
 ; 0x9784f
 
-CheckMoneyAction: ; 0x9784f
+CompareMoneyAction: ; 0x9784f
 	jr c, .two
 	jr z, .one
 	ld a, 0
@@ -2497,12 +2498,12 @@
 
 	call LoadCoinAmountToMem
 	callba CheckCoins
-	jr CheckMoneyAction
+	jr CompareMoneyAction
 ; 978a0
 
 LoadCoinAmountToMem: ; 978a0
 	call GetScriptByte
-	ld [$ffc4], a
+	ld [hMoneyTemp + 1], a
 	call GetScriptByte
 	ld [hMoneyTemp], a
 	ld bc, hMoneyTemp
--- a/engine/specials.asm
+++ b/engine/specials.asm
@@ -115,7 +115,7 @@
 	add_special RandomPhoneWildMon
 	add_special RandomPhoneMon
 	add_special RunCallback_04
-	add_special Functionfb841
+	add_special PlaySlowCry
 	add_special SpecialSnorlaxAwake
 	add_special Special_YoungerHaircutBrother
 	add_special Special_OlderHaircutBrother
@@ -333,7 +333,7 @@
 	ld a, [sMysteryGiftItem]
 	ld [CurItem], a
 	ld a, $1
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	ld hl, NumItems
 	call ReceiveItem
 	jr nc, .asm_c33d
@@ -413,9 +413,9 @@
 ; c39a
 
 Special_StartGameCornerGame: ; c39a
-	call Function31cf
+	call FarQueueScript
 	call FadeToMenu
-	ld hl, wd0e8
+	ld hl, wQueuedScriptBank
 	ld a, [hli]
 	push af
 	ld a, [hli]
--- a/event/battle_tower.asm
+++ b/event/battle_tower.asm
@@ -117,7 +117,7 @@
 ; 0x8b25b
 
 Function8b25b: ; 8b25b
-	ld bc, $0000
+	ld bc, 0
 .asm_8b25e
 	call Function8b26c
 	call c, Function8b28e
--- a/event/buena.asm
+++ b/event/buena.asm
@@ -1,7 +1,7 @@
 SpecialBuenasPassword: ; 8af6b
 	xor a
 	ld [wcf76], a
-	ld hl, MenuDataHeader_0x8afa9
+	ld hl, .MenuDataHeader
 	call CopyMenuDataHeader
 	ld a, [wBuenasPassword]
 	ld c, a
@@ -11,7 +11,7 @@
 	add $2
 	ld [wMenuBorderRightCoord], a
 	call BackUpTiles
-	call Function1e5d
+	call Function1e5d ; menu
 	callba Function4ae5e
 	ld b, $0
 	ld a, [MenuSelection]
@@ -19,38 +19,38 @@
 	ld a, [wBuenasPassword]
 	and $3
 	cp c
-	jr nz, .asm_8afa4
+	jr nz, .wrong
 	ld b, $1
 
-.asm_8afa4
+.wrong
 	ld a, b
 	ld [ScriptVar], a
 	ret
 ; 8afa9
 
-MenuDataHeader_0x8afa9: ; 0x8afa9
+.MenuDataHeader: ; 0x8afa9
 	db $40 ; flags
 	db 00, 00 ; start coords
 	db 07, 10 ; end coords
-	dw MenuData2_0x8afb2
+	dw .MenuData2
 	db 1 ; default option
 ; 0x8afb1
 
 	db 0
 
-MenuData2_0x8afb2: ; 0x8afb2
+.MenuData2: ; 0x8afb2
 	db $81 ; flags
 	db 0 ; items
-	dw Unknown_8afb8
-	dw Function8afbd
+	dw .PasswordIndices
+	dw .PlacePasswordChoices
 ; 0x8afb4
 
-Unknown_8afb8: ; 8afb8
+.PasswordIndices: ; 8afb8
 	db 3
 	db 0, 1, 2
 	db -1
 
-Function8afbd: ; 8afbd
+.PlacePasswordChoices: ; 8afbd
 	push de
 	ld a, [wBuenasPassword]
 	and $f0
@@ -71,29 +71,29 @@
 	ld [MenuSelection], a
 	call Function8b0d6
 	call Function8b090
-	ld hl, UnknownText_0x8b072
+	ld hl, .Text_AskWhichPrize
 	call PrintText
-	jr .asm_8aff1
+	jr .okay
 
-.asm_8afeb
-	ld hl, UnknownText_0x8b072
-	call Function105a
+.loop
+	ld hl, .Text_AskWhichPrize
+	call BuenaPrintText
 
-.asm_8aff1
+.okay
 	call DelayFrame
 	call UpdateSprites
 	call Function8b097
 	call Function8b0e2
-	jr z, .asm_8b05f
+	jr z, .done
 	ld [wcf75], a
 	call Buena_getprize
 	ld a, [hl]
 	ld [wd265], a
 	call GetItemName
-	ld hl, UnknownText_0x8b077
-	call Function105a
+	ld hl, .Text_IsThatRight
+	call BuenaPrintText
 	call YesNoBox
-	jr c, .asm_8afeb
+	jr c, .loop
 
 	ld a, [wcf75]
 	call Buena_getprize
@@ -108,11 +108,11 @@
 	push hl
 	ld [CurItem], a
 	ld a, $1
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	ld hl, NumItems
 	call ReceiveItem
 	pop hl
-	jr nc, .asm_8b04c
+	jr nc, .BagFull
 	ld a, [hl]
 	ld c, a
 	ld a, [wBlueCardBalance]
@@ -119,29 +119,29 @@
 	sub c
 	ld [wBlueCardBalance], a
 	call Function8b097
-	jr .asm_8b051
+	jr .Purchase
 
 .InsufficientBalance
-	ld hl, UnknownText_0x8b081
-	jr .asm_8b05a
+	ld hl, .Text_NotEnoughPoints
+	jr .print
 
-.asm_8b04c
-	ld hl, UnknownText_0x8b086
-	jr .asm_8b05a
+.BagFull
+	ld hl, .Text_NoRoom
+	jr .print
 
-.asm_8b051
+.Purchase
 	ld de, SFX_TRANSACTION
 	call PlaySFX
-	ld hl, UnknownText_0x8b07c
+	ld hl, .Text_HereYouGo
 
-.asm_8b05a
-	call Function105a
-	jr .asm_8afeb
+.print
+	call BuenaPrintText
+	jr .loop
 
-.asm_8b05f
+.done
 	call WriteBackup
 	call WriteBackup
-	ld hl, UnknownText_0x8b08b
+	ld hl, .Text_PleaseComeBackAgain
 	call PrintText
 	call JoyWaitAorB
 	call PlayClickSFX
@@ -148,37 +148,36 @@
 	ret
 ; 8b072
 
-UnknownText_0x8b072: ; 0x8b072
+.Text_AskWhichPrize: ; 0x8b072
 	; Which prize would you like?
 	text_jump UnknownText_0x1c589f
 	db "@"
 ; 0x8b077
 
-UnknownText_0x8b077: ; 0x8b077
+.Text_IsThatRight: ; 0x8b077
 	; ? Is that right?
 	text_jump UnknownText_0x1c58bc
 	db "@"
 ; 0x8b07c
 
-UnknownText_0x8b07c: ; 0x8b07c
-	; Here you go!
+.Text_HereYouGo	; Here you go!
 	text_jump UnknownText_0x1c58d1
 	db "@"
 ; 0x8b081
 
-UnknownText_0x8b081: ; 0x8b081
+.Text_NotEnoughPoints: ; 0x8b081
 	; You don't have enough points.
 	text_jump UnknownText_0x1c58e0
 	db "@"
 ; 0x8b086
 
-UnknownText_0x8b086: ; 0x8b086
+.Text_NoRoom: ; 0x8b086
 	; You have no room for it.
 	text_jump UnknownText_0x1c58ff
 	db "@"
 ; 0x8b08b
 
-UnknownText_0x8b08b: ; 0x8b08b
+.Text_PleaseComeBackAgain: ; 0x8b08b
 	; Oh. Please come back again!
 	text_jump UnknownText_0x1c591a
 	db "@"
@@ -247,7 +246,7 @@
 	ld hl, .MenuDataHeader
 	call CopyMenuDataHeader
 	ld a, [MenuSelection]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	xor a
 	ld [wcf76], a
 	ld [hBGMapMode], a
--- a/event/kurt.asm
+++ b/event/kurt.asm
@@ -47,7 +47,7 @@
 	call Kurt_SelectQuantity
 	pop bc
 	jr nc, .loop
-	ld a, [wd10c]
+	ld a, [wItemQuantityChangeBuffer]
 	ld [wKurtApricornQuantity], a
 	call Kurt_GiveUpSelectedQuantityOfSelectedApricorn
 
@@ -62,7 +62,7 @@
 	ld hl, .MenuDataHeader
 	call CopyMenuDataHeader
 	ld a, [MenuSelection]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	xor a
 	ld [hBGMapMode], a
 	call Function352f
@@ -115,7 +115,7 @@
 	ld [CurItem], a
 	call Kurt_GetQuantityOfApricorn
 	ret z
-	ld a, [wd10c]
+	ld a, [wItemQuantityChangeBuffer]
 	ld [wcf75], a
 	callba PlaceMenuItemQuantity
 	ret
@@ -126,10 +126,10 @@
 	ld [MenuSelection], a
 	call Kurt_GetQuantityOfApricorn
 	jr z, .done
-	ld a, [wd10c]
-	ld [wd10d], a
+	ld a, [wItemQuantityChangeBuffer]
+	ld [wItemQuantityBuffer], a
 	ld a, $1
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	ld hl, .MenuDataHeader
 	call LoadMenuDataHeader
 .loop
@@ -149,8 +149,8 @@
 	ld a, b
 	cp -1
 	jr z, .done
-	ld a, [wd10c]
-	ld [wd10c], a ; What is the point of this operation?
+	ld a, [wItemQuantityChangeBuffer]
+	ld [wItemQuantityChangeBuffer], a ; What is the point of this operation?
 	scf
 
 .done
@@ -181,7 +181,7 @@
 	add hl, de
 	ld [hl], "×"
 	inc hl
-	ld de, wd10c
+	ld de, wItemQuantityChangeBuffer
 	lb bc, PRINTNUM_LEADINGZEROS | 1, 2
 	jp PrintNum
 ; 88139
@@ -213,7 +213,7 @@
 
 .done2
 	ld a, b
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	and a
 	pop bc
 	ret
@@ -325,7 +325,7 @@
 	ld [ItemCountBuffer], a
 	call Kurt_GetRidOfItem
 	pop hl
-	ld a, [wd10c]
+	ld a, [wItemQuantityChangeBuffer]
 	and a
 	jr z, .done
 	push hl
@@ -348,7 +348,7 @@
 	jr .loop4
 
 .done
-	ld a, [wd10c]
+	ld a, [wItemQuantityChangeBuffer]
 	and a
 	pop bc
 	pop de
@@ -389,7 +389,7 @@
 	jr z, .done
 	cp c
 	jr nz, .done
-	ld a, [wd10c]
+	ld a, [wItemQuantityChangeBuffer]
 	ld c, a
 	ld a, [hl]
 	sub c
@@ -402,7 +402,7 @@
 	push bc
 	ld hl, NumItems
 	ld a, b
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	call TossItem
 	pop bc
 	ld a, c
@@ -409,7 +409,7 @@
 	sub b
 
 .done
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	pop bc
 	ret
 ; 88248
--- a/event/mom.asm
+++ b/event/mom.asm
@@ -162,7 +162,7 @@
 	jr z, .CancelDeposit
 	ld de, Money
 	ld bc, StringBuffer2
-	callba CheckMoney
+	callba CompareMoney
 	jr c, .DontHaveThatMuchToDeposit
 	ld hl, StringBuffer2
 	ld de, StringBuffer2 + 3
@@ -234,7 +234,7 @@
 	call CopyBytes
 	ld de, wd851
 	ld bc, StringBuffer2
-	callba CheckMoney
+	callba CompareMoney
 	jr c, .InsufficientFundsInBank
 	ld bc, Money
 	ld de, StringBuffer2
@@ -401,7 +401,7 @@
 
 Function164ea: ; 164ea
 	hlcoord 1, 14
-	ld bc, $0312
+	lb bc, 3, 18
 	call ClearBox
 	ret
 ; 164f4
--- a/gfx/pics/animation.asm
+++ b/gfx/pics/animation.asm
@@ -445,7 +445,7 @@
 Functiond02ae: ; d02ae
 	ld c, a
 	ld b, $0
-	ld hl, $0000
+	ld hl, 0
 	ld a, [w2_d173]
 	call AddNTimes
 	ld a, h
--- a/home.asm
+++ b/home.asm
@@ -475,17 +475,17 @@
 ; 31cd
 
 
-ExitMenuCallScript:: ; 31cd
-; Push pointer hl in the current bank to wd0e8.
+QueueScript:: ; 31cd
+; Push pointer hl in the current bank to wQueuedScriptBank.
 	ld a, [hROMBank]
 
-Function31cf:: ; 31cf
-; Push pointer a:hl to wd0e8.
-	ld [wd0e8], a
+FarQueueScript:: ; 31cf
+; Push pointer a:hl to wQueuedScriptBank.
+	ld [wQueuedScriptBank], a
 	ld a, l
-	ld [wd0e9], a
+	ld [wQueuedScriptAddr], a
 	ld a, h
-	ld [wd0e9 + 1], a
+	ld [wQueuedScriptAddr + 1], a
 	ret
 ; 31db
 
@@ -1515,11 +1515,11 @@
 	add hl, bc
 	ld e, [hl]
 
-	ld a, [MapX]
+	ld a, [PlayerMapX]
 	cp d
 	jr z, .CheckY
 
-	ld a, [MapY]
+	ld a, [PlayerMapY]
 	cp e
 	jr z, .CheckX
 
@@ -1527,7 +1527,7 @@
 	ret
 
 .CheckY
-	ld a, [MapY]
+	ld a, [PlayerMapY]
 	sub e
 	jr z, .NotFacing
 	jr nc, .Above
@@ -1545,7 +1545,7 @@
 	jr .CheckFacing
 
 .CheckX
-	ld a, [MapX]
+	ld a, [PlayerMapX]
 	sub d
 	jr z, .NotFacing
 	jr nc, .Left
--- a/home/joypad.asm
+++ b/home/joypad.asm
@@ -356,14 +356,14 @@
 ; a80
 
 Functiona80:: ; a80
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	push af
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	push af
 	xor a
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	ld a, 6
-	ld [hConnectedMapWidth], a
+	ld [hObjectStructIndexBuffer], a
 
 .loop
 	push hl
@@ -377,9 +377,9 @@
 	jr z, .loop
 
 	pop af
-	ld [hConnectedMapWidth], a
+	ld [hObjectStructIndexBuffer], a
 	pop af
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	ret
 ; aa5
 
@@ -459,37 +459,37 @@
 	cp b
 	pop bc
 	jr nz, .asm_b27
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	dec a
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	ret nz
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	dec a
-	ld [hConnectedMapWidth], a
+	ld [hObjectStructIndexBuffer], a
 	ret nz
 	ld a, "─"
 	ld [hl], a
 	ld a, -1
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	ld a, 6
-	ld [hConnectedMapWidth], a
+	ld [hObjectStructIndexBuffer], a
 	ret
 
 .asm_b27
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	and a
 	ret z
 	dec a
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	ret nz
 	dec a
-	ld [hConnectionStripLength], a
-	ld a, [hConnectedMapWidth]
+	ld [hMapObjectIndexBuffer], a
+	ld a, [hObjectStructIndexBuffer]
 	dec a
-	ld [hConnectedMapWidth], a
+	ld [hObjectStructIndexBuffer], a
 	ret nz
 	ld a, $6
-	ld [hConnectedMapWidth], a
+	ld [hObjectStructIndexBuffer], a
 	ld a, $ee
 	ld [hl], a
 	ret
--- a/home/map.asm
+++ b/home/map.asm
@@ -111,7 +111,7 @@
 	call Function2198
 	ld a, $60
 	hlcoord 0, 0
-	ld bc, TileMapEnd - TileMap
+	ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
 	call ByteFill
 
 	ld a, BANK(Function4d15b)
@@ -131,12 +131,12 @@
 	ld hl, wEnemyMoveStruct
 	ld b, $5
 
-.asm_21a5
+.loop
 	push de
 	push hl
 	ld c, $6
 
-.asm_21a9
+.loop2
 	push de
 	push hl
 	ld a, [de]
@@ -187,7 +187,7 @@
 	pop de
 	inc de
 	dec c
-	jp nz, .asm_21a9
+	jp nz, .loop2
 	pop hl
 	ld de, $0060
 	add hl, de
@@ -201,7 +201,7 @@
 
 .asm_2225
 	dec b
-	jp nz, .asm_21a5
+	jp nz, .loop
 	ret
 ; 222a
 
@@ -252,10 +252,10 @@
 ; 2266
 
 Function2266:: ; 2266
-	ld a, [MapY]
+	ld a, [PlayerMapY]
 	sub $4
 	ld e, a
-	ld a, [MapX]
+	ld a, [PlayerMapX]
 	sub $4
 	ld d, a
 	ld a, [wCurrMapWarpCount]
@@ -652,11 +652,11 @@
 ; 2471
 
 Function2471:: ; 2471
-	ld hl, ObjectStruct1
+	ld hl, Object1Struct
 	ld bc, OBJECT_STRUCT_LENGTH * (NUM_OBJECT_STRUCTS - 1)
 	xor a
 	call ByteFill
-	ld hl, ObjectStruct1
+	ld hl, Object1Struct
 	ld de, OBJECT_STRUCT_LENGTH
 	ld c, NUM_OBJECT_STRUCTS - 1
 	xor a
@@ -1170,33 +1170,33 @@
 ; 2707
 
 
-Function2707:: ; 2707
-	ld a, [hConnectionStripLength]
+CheckObjectMask:: ; 2707
+	ld a, [hMapObjectIndexBuffer]
 	ld e, a
 	ld d, $0
-	ld hl, wd81e
+	ld hl, wObjectMasks
 	add hl, de
 	ld a, [hl]
 	ret
 ; 2712
 
-Function2712:: ; 2712
-	ld a, [hConnectionStripLength]
+MaskObject:: ; 2712
+	ld a, [hMapObjectIndexBuffer]
 	ld e, a
 	ld d, $0
-	ld hl, wd81e
+	ld hl, wObjectMasks
 	add hl, de
-	ld [hl], $ff
+	ld [hl], -1 ; ,masked
 	ret
 ; 271e
 
-Function271e:: ; 271e
-	ld a, [hConnectionStripLength]
+UnmaskObject:: ; 271e
+	ld a, [hMapObjectIndexBuffer]
 	ld e, a
 	ld d, $0
-	ld hl, wd81e
+	ld hl, wObjectMasks
 	add hl, de
-	ld [hl], $0
+	ld [hl], 0 ; unmasked
 	ret
 ; 272a
 
@@ -1463,7 +1463,7 @@
 	ld de, XCoord + 1
 	ld a, [MapWidth]
 	add $6
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	ld a, [wd151]
 	and a
 	jr z, .asm_28cb
@@ -1477,7 +1477,7 @@
 
 .asm_28c0
 	ld de, wdcbf
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	ld c, a
 	ld b, $0
 	add hl, bc
@@ -1512,7 +1512,7 @@
 	ld l, a
 	ld a, [MapWidth]
 	add $6
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	ld de, XCoord + 1
 	ld b, $6
 	ld c, $5
@@ -1537,7 +1537,7 @@
 
 .asm_2908
 	pop hl
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	ld c, a
 	ld b, $0
 	add hl, bc
@@ -1552,15 +1552,15 @@
 	ld [TilePermissions], a
 	call Function296c
 	call Function294d
-	ld a, [MapX]
+	ld a, [PlayerMapX]
 	ld d, a
-	ld a, [MapY]
+	ld a, [PlayerMapY]
 	ld e, a
 	call Function2a3c
-	ld [StandingTile], a
+	ld [PlayerStandingTile], a
 	call Function29ff
 	ret nz
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	and 7
 	ld hl, .data_2945
 	add l
@@ -1580,9 +1580,9 @@
 ; 294d
 
 Function294d:: ; 294d
-	ld a, [MapX]
+	ld a, [PlayerMapX]
 	ld d, a
-	ld a, [MapY]
+	ld a, [PlayerMapY]
 	ld e, a
 	push de
 	inc e
@@ -1598,9 +1598,9 @@
 ; 296c
 
 Function296c:: ; 296c
-	ld a, [MapX]
+	ld a, [PlayerMapX]
 	ld d, a
-	ld a, [MapY]
+	ld a, [PlayerMapY]
 	ld e, a
 	push de
 	dec d
@@ -1725,10 +1725,10 @@
 	ld h, [hl]
 	ld l, a
 
-	ld a, [MapX]
+	ld a, [PlayerMapX]
 	add d
 	ld d, a
-	ld a, [MapY]
+	ld a, [PlayerMapY]
 	add e
 	ld e, a
 	ld a, [hl]
@@ -1906,10 +1906,10 @@
 	call CheckTriggers
 	ld b, a
 ; Load your current coordinates into de.  This will be used to check if your position is in the xy-trigger table for the current map.
-	ld a, [MapX]
+	ld a, [PlayerMapX]
 	sub 4
 	ld d, a
-	ld a, [MapY]
+	ld a, [PlayerMapY]
 	sub 4
 	ld e, a
 
@@ -2145,7 +2145,7 @@
 GetAnyMapBank:: ; 2c31
 	push hl
 	push de
-	ld de, $0000
+	ld de, 0
 	call GetAnyMapHeaderMember
 	ld a, c
 	pop de
--- a/home/map_objects.asm
+++ b/home/map_objects.asm
@@ -21,7 +21,7 @@
 	ld hl, UsedSprites + 2
 	ld c, SPRITE_GFX_LIST_CAPACITY - 1
 	ld b, a
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	cp 0
 	jr z, .nope
 	ld a, b
@@ -78,7 +78,7 @@
 
 
 Function184a:: ; 184a
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	call GetTileCollision
 	ld b, a
 	ret
@@ -85,7 +85,7 @@
 ; 1852
 
 CheckOnWater:: ; 1852
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	call GetTileCollision
 	sub 1
 	ret z
@@ -209,7 +209,7 @@
 ; 18c3
 
 CheckStandingOnEntrance:: ; 18c3
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	cp $71 ; door
 	ret z
 	cp $79
@@ -232,9 +232,9 @@
 ; 18de
 
 
-Function18de:: ; 18de
+CheckObjectVisibility:: ; 18de
 ; Sets carry if the object is not visible on the screen.
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	call GetMapObject
 	ld hl, MAPOBJECT_OBJECT_STRUCT_ID
 	add hl, bc
@@ -241,7 +241,7 @@
 	ld a, [hl]
 	cp -1
 	jr z, .not_visible
-	ld [hConnectedMapWidth], a
+	ld [hObjectStructIndexBuffer], a
 	call GetObjectStruct
 	and a
 	ret
@@ -251,7 +251,7 @@
 	ret
 ; 18f5
 
-Function18f5:: ; 18f5
+CheckObjectTime:: ; 18f5
 	ld hl, MAPOBJECT_HOUR
 	add hl, bc
 	ld a, [hl]
@@ -326,7 +326,7 @@
 ; 194d
 
 Function194d:: ; 194d
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	call GetMapObject
 	call CopyObjectStruct
 	ret
@@ -335,9 +335,9 @@
 
 
 _CopyObjectStruct:: ; 1956
-	ld [hConnectionStripLength], a
-	call Function271e
-	ld a, [hConnectionStripLength]
+	ld [hMapObjectIndexBuffer], a
+	call UnmaskObject
+	ld a, [hMapObjectIndexBuffer]
 	call GetMapObject
 	callba CopyObjectStruct
 	ret
@@ -344,13 +344,13 @@
 ; 1967
 
 Function1967:: ; 1967
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	call GetMapObject
 	ld hl, MAPOBJECT_OBJECT_STRUCT_ID
 	add hl, bc
 	ld a, [hl]
 	cp -1
-	ret z
+	ret z ; already hidden
 	ld [hl], -1
 	push af
 	call Function1985
@@ -361,24 +361,24 @@
 ; 1985
 
 Function1985:: ; 1985
-	ld hl, wd4cd
+	ld hl, wObjectFollow_Leader
 	cp [hl]
 	jr z, .ok
-	ld hl, wd4ce
+	ld hl, wObjectFollow_Follower
 	cp [hl]
 	ret nz
 
 .ok
-	callba Function581f
+	callba StopFollow
 	ld a, -1
-	ld [wd4cd], a
-	ld [wd4ce], a
+	ld [wObjectFollow_Leader], a
+	ld [wObjectFollow_Follower], a
 	ret
 ; 199f
 
 DeleteObjectStruct:: ; 199f
 	call Function1967
-	call Function2712
+	call MaskObject
 	ret
 ; 19a6
 
@@ -413,11 +413,11 @@
 	cp $d
 	ret nc
 	ld b, a
-	ld a, [wd4cd]
+	ld a, [wObjectFollow_Leader]
 	cp b
 	jr nz, .ok
 	ld a, -1
-	ld [wd4cd], a
+	ld [wObjectFollow_Leader], a
 
 .ok
 	ld a, b
@@ -429,19 +429,19 @@
 
 
 Function19e9:: ; 19e9
-	ld [wc2e2], a
+	ld [wMovementPerson], a
 	ld a, [hROMBank]
-	ld [wc2e3], a
+	ld [wMovementDataPointer], a
 	ld a, l
-	ld [wc2e3 + 1], a
+	ld [wMovementDataPointer + 1], a
 	ld a, h
-	ld [wc2e3 + 2], a
-	ld a, [wc2e2]
-	call Function18de
+	ld [wMovementDataPointer + 2], a
+	ld a, [wMovementPerson]
+	call CheckObjectVisibility
 	ret c
-	ld hl, OBJECT_03
+	ld hl, OBJECT_MOVEMENTTYPE
 	add hl, bc
-	ld [hl], $14
+	ld [hl], SPRITEMOVEDATA_14
 	ld hl, OBJECT_09
 	add hl, bc
 	ld [hl], 0
@@ -453,7 +453,10 @@
 
 
 
-Function1a13:: ; 1a13
+FindFirstEmptyObjectStruct:: ; 1a13
+; Returns the index of the first empty object struct in A and its address in HL, then sets carry.
+; If all object structs are occupied, A = 0 and Z is set.
+; Preserves BC and DE.
 	push bc
 	push de
 	ld hl, ObjectStructs
@@ -462,7 +465,7 @@
 .loop
 	ld a, [hl]
 	and a
-	jr z, .empty
+	jr z, .break
 	add hl, de
 	dec c
 	jr nz, .loop
@@ -469,8 +472,8 @@
 	xor a
 	jr .done
 
-.empty
-	ld a, $d
+.break
+	ld a, NUM_OBJECT_STRUCTS
 	sub c
 	scf
 
@@ -483,7 +486,7 @@
 
 
 Function1a2f:: ; 1a2f
-	ld hl, OBJECT_03
+	ld hl, OBJECT_MOVEMENTTYPE
 	add hl, bc
 	ld a, [hl]
 	cp OBJECT_STRUCT_3_DATA_HEIGHT
@@ -541,13 +544,13 @@
 ; 1a71
 
 Function1a71:: ; 1a71
-	ld hl, OBJECT_03
+	ld hl, OBJECT_MOVEMENTTYPE
 	add hl, de
 	ld [hl], a
 	push de
 	ld e, a
 	ld d, 0
-	ld hl, ObjectStruct3_Data + 1
+	ld hl, ObjectStruct3_Data + 1 ; facing?
 rept OBJECT_STRUCT_3_DATA_WIDTH
 	add hl, de
 endr
@@ -569,12 +572,12 @@
 	ld [hl], a
 	ld a, [bc]
 	inc bc
-	ld hl, OBJECT_04
+	ld hl, OBJECT_FLAGS1
 	add hl, de
 	ld [hl], a
 	ld a, [bc]
 	inc bc
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, de
 	ld [hl], a
 	ld a, [bc]
--- a/home/menu.asm
+++ b/home/menu.asm
@@ -16,7 +16,7 @@
 ; 0x1d4b
 
 Function1d4b:: ; 1d4b
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ret
 ; 1d4f
 
@@ -62,7 +62,7 @@
 	db $40 ; tile backup
 	db 0, 0 ; start coords
 	db 17, 19 ; end coords
-	dw $0000
+	dw 0
 	db 1 ; default option
 ; 1d7d
 
@@ -410,7 +410,7 @@
 	ld a, [hl]
 	ld [MenuSelection], a
 	ld a, [wcfa9]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	and a
 	ret
 
@@ -571,7 +571,7 @@
 	ld a, [hROMBank]
 	ld [wcf94], a
 	callba Function2400e
-	ld a, [wPocketCursorBuffer]
+	ld a, [wMenuCursorBuffer]
 	ret
 ; 2039
 
@@ -579,7 +579,7 @@
 	ld a, [hROMBank]
 	ld [wcf94], a
 	callba Function24022
-	ld a, [wPocketCursorBuffer]
+	ld a, [wMenuCursorBuffer]
 	ret
 ; 2048
 
@@ -587,7 +587,7 @@
 	ld a, [hROMBank]
 	ld [wcf94], a
 	callba Function2403c
-	ld a, [wPocketCursorBuffer]
+	ld a, [wMenuCursorBuffer]
 	ret
 ; 2057
 
--- a/home/text.asm
+++ b/home/text.asm
@@ -175,7 +175,7 @@
 
 PrintText:: ; 1057
 	call SetUpTextBox
-Function105a:: ; 105a
+BuenaPrintText:: ; 105a
 	push hl
 	hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY
 	lb bc, TEXTBOX_INNERH - 1, TEXTBOX_INNERW
@@ -1057,13 +1057,13 @@
 ; 152d
 
 TextSFX:: ; 152d
-	dbw $0b, SFX_DEX_FANFARE_50_79
-	dbw $12, SFX_FANFARE
-	dbw $0e, SFX_DEX_FANFARE_20_49
-	dbw $0f, SFX_ITEM
-	dbw $10, SFX_CAUGHT_MON
-	dbw $11, SFX_DEX_FANFARE_80_109
-	dbw $13, SFX_SLOT_MACHINE_START
+	dbw TX_SOUND_0B, SFX_DEX_FANFARE_50_79
+	dbw TX_SOUND_12, SFX_FANFARE
+	dbw TX_SOUND_0E, SFX_DEX_FANFARE_20_49
+	dbw TX_SOUND_0F, SFX_ITEM
+	dbw TX_SOUND_10, SFX_CAUGHT_MON
+	dbw TX_SOUND_11, SFX_DEX_FANFARE_80_109
+	dbw TX_SOUND_13, SFX_SLOT_MACHINE_START
 	db -1
 ; 1543
 
@@ -1122,11 +1122,11 @@
 	push hl
 	ld e, a
 	ld d, 0
-	ld hl, Unknown_24000
+	ld hl, StringBufferPointers
 rept 2
 	add hl, de
 endr
-	ld a, BANK(Unknown_24000)
+	ld a, BANK(StringBufferPointers)
 	call GetFarHalfword
 	ld d, h
 	ld e, l
--- a/home/tilemap.asm
+++ b/home/tilemap.asm
@@ -175,7 +175,7 @@
 
 Function1ce1:: ; 1ce1
 	call GetMemTileCoord
-	ld bc, $0015
+	lb bc, 0, 21
 	add hl, bc
 	call GetMenuBoxDims
 	dec b
--- a/hram.asm
+++ b/hram.asm
@@ -32,6 +32,9 @@
 hJoyLast           EQU $ffa9
 hInMenu            EQU $ffaa
 
+hMapObjectIndexBuffer EQU $ffaf
+hObjectStructIndexBuffer EQU $ffb0
+
 hConnectionStripLength EQU $ffaf
 hConnectedMapWidth EQU $ffb0
 
@@ -58,6 +61,8 @@
 hPrintNum6         EQU $ffb8
 hPrintNum7         EQU $ffb9
 
+hUsedSpriteIndex   EQU $ffbd
+hUsedSpriteTile    EQU $ffbe
 hMoneyTemp         EQU $ffc3
 
 hLCDStatCustom     EQU $ffc6
--- a/items/item_attributes.asm
+++ b/items/item_attributes.asm
@@ -8,222 +8,222 @@
 Item1Attributes:
 
 ; MASTER BALL
-	item_attribute     0, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute     0, 0,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 Item2Attributes:
 
 ; ULTRA BALL
-	item_attribute  1200, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute  1200, 0,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; BRIGHTPOWDER
 	item_attribute    10, HELD_BRIGHTPOWDER,   20,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; GREAT BALL
-	item_attribute   600, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute   600, 0,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; # BALL
-	item_attribute   200, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute   200, 0,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; BICYCLE
-	item_attribute     0, NONE,                 0,               CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0,               CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE,   ITEMMENU_NOUSE
 
 ; MOON STONE
-	item_attribute     0, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; ANTIDOTE
-	item_attribute   100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute   100, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; BURN HEAL
-	item_attribute   250, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute   250, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; ICE HEAL
-	item_attribute   250, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute   250, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; AWAKENING
-	item_attribute   250, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute   250, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; PARLYZ HEAL
-	item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute   200, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; FULL RESTORE
-	item_attribute  3000, NONE,                -1,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute  3000, 0,                -1,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; MAX POTION
-	item_attribute  2500, NONE,                -1,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute  2500, 0,                -1,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; HYPER POTION
-	item_attribute  1200, NONE,               200,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute  1200, 0,               200,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; SUPER POTION
-	item_attribute   700, NONE,                50,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute   700, 0,                50,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; POTION
-	item_attribute   300, NONE,                20,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute   300, 0,                20,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; ESCAPE ROPE
-	item_attribute   550, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CLOSE,   ITEMMENU_NOUSE
+	item_attribute   550, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CLOSE,   ITEMMENU_NOUSE
 
 ; REPEL
-	item_attribute   350, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CURRENT, ITEMMENU_NOUSE
+	item_attribute   350, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CURRENT, ITEMMENU_NOUSE
 
 ; MAX ELIXER
-	item_attribute  4500, NONE,                -1,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute  4500, 0,                -1,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; FIRE STONE
-	item_attribute  2100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2100, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; THUNDERSTONE
-	item_attribute  2100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2100, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; WATER STONE
-	item_attribute  2100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2100, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; HP UP
-	item_attribute  9800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  9800, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; PROTEIN
-	item_attribute  9800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  9800, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; IRON
-	item_attribute  9800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  9800, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; CARBOS
-	item_attribute  9800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  9800, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; LUCKY PUNCH
-	item_attribute    10, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute    10, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; CALCIUM
-	item_attribute  9800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  9800, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; RARE CANDY
-	item_attribute  4800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  4800, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; X ACCURACY
-	item_attribute   950, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute   950, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; LEAF STONE
-	item_attribute  2100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2100, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; METAL POWDER
 	item_attribute    10, HELD_METAL_POWDER,   10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; NUGGET
-	item_attribute 10000, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute 10000, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; # DOLL
-	item_attribute  1000, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute  1000, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; FULL HEAL
-	item_attribute   600, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute   600, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; REVIVE
-	item_attribute  1500, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute  1500, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; MAX REVIVE
-	item_attribute  4000, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute  4000, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; GUARD SPEC.
-	item_attribute   700, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute   700, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; SUPER REPEL
-	item_attribute   500, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CURRENT, ITEMMENU_NOUSE
+	item_attribute   500, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CURRENT, ITEMMENU_NOUSE
 
 ; MAX REPEL
-	item_attribute   700, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CURRENT, ITEMMENU_NOUSE
+	item_attribute   700, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CURRENT, ITEMMENU_NOUSE
 
 ; DIRE HIT
-	item_attribute   650, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute   650, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; FRESH WATER
-	item_attribute   200, NONE,                50,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute   200, 0,                50,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; SODA POP
-	item_attribute   300, NONE,                60,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute   300, 0,                60,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; LEMONADE
-	item_attribute   350, NONE,                80,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute   350, 0,                80,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; X ATTACK
-	item_attribute   500, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute   500, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; X DEFEND
-	item_attribute   550, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute   550, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; X SPEED
-	item_attribute   350, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute   350, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; X SPECIAL
-	item_attribute   350, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute   350, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; COIN CASE
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
 
 ; ITEMFINDER
-	item_attribute     0, NONE,                 0,               CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0,               CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; EXP.SHARE
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; OLD ROD
-	item_attribute     0, NONE,                 0,               CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0,               CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE,   ITEMMENU_NOUSE
 
 ; GOOD ROD
-	item_attribute     0, NONE,                 0,               CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0,               CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE,   ITEMMENU_NOUSE
 
 ; SILVER LEAF
-	item_attribute  1000, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute  1000, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; SUPER ROD
-	item_attribute     0, NONE,                 0,               CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0,               CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE,   ITEMMENU_NOUSE
 
 ; PP UP
-	item_attribute  9800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  9800, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; ETHER
-	item_attribute  1200, NONE,                10,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute  1200, 0,                10,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; MAX ETHER
-	item_attribute  2000, NONE,                -1,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute  2000, 0,                -1,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; ELIXER
-	item_attribute  3000, NONE,                10,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute  3000, 0,                10,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; RED SCALE
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; SECRETPOTION
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; S.S.TICKET
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; MYSTERY EGG
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; CLEAR BELL
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; SILVER WING
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; MOOMOO MILK
-	item_attribute   500, NONE,               100,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute   500, 0,               100,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; QUICK CLAW
 	item_attribute   100, HELD_QUICK_CLAW,     60,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
@@ -232,7 +232,7 @@
 	item_attribute    10, HELD_HEAL_POISON,     0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; GOLD LEAF
-	item_attribute  1000, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute  1000, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; SOFT SAND
 	item_attribute   100, HELD_GROUND_BOOST,   10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
@@ -262,31 +262,31 @@
 	item_attribute    10, HELD_HEAL_SLEEP,      0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; RED APRICORN
-	item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute   200, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TINYMUSHROOM
-	item_attribute   500, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute   500, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; BIG MUSHROOM
-	item_attribute  5000, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute  5000, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; SILVERPOWDER
 	item_attribute   100, HELD_BUG_BOOST,      10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; BLU APRICORN
-	item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute   200, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; AMULET COIN
 	item_attribute   100, HELD_AMULET_COIN,    10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; YLW APRICORN
-	item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute   200, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; GRN APRICORN
-	item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute   200, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; CLEANSE TAG
 	item_attribute   200, HELD_CLEANSE_TAG,     0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
@@ -298,31 +298,31 @@
 	item_attribute   100, HELD_PSYCHIC_BOOST,  10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; WHT APRICORN
-	item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute   200, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; BLACKBELT
 	item_attribute   100, HELD_FIGHTING_BOOST, 10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; BLK APRICORN
-	item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute   200, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; PNK APRICORN
-	item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute   200, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; BLACKGLASSES
 	item_attribute   100, HELD_DARK_BOOST,     10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; SLOWPOKETAIL
-	item_attribute  9800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute  9800, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; PINK BOW
 	item_attribute   100, HELD_NORMAL_BOOST,   10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; STICK
-	item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute   200, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; SMOKE BALL
 	item_attribute   200, HELD_ESCAPE,          0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
@@ -337,88 +337,88 @@
 	item_attribute    10, HELD_HEAL_STATUS,     0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; PEARL
-	item_attribute  1400, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute  1400, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; BIG PEARL
-	item_attribute  7500, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute  7500, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; EVERSTONE
-	item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute   200, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; SPELL TAG
 	item_attribute   100, HELD_GHOST_BOOST,    10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; RAGECANDYBAR
-	item_attribute   300, NONE,                20,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute   300, 0,                20,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; GS BALL
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; BLUE CARD
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
 
 ; MIRACLE SEED
 	item_attribute   100, HELD_GRASS_BOOST,    10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; THICK CLUB
-	item_attribute   500, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute   500, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; FOCUS BAND
 	item_attribute   200, HELD_FOCUS_BAND,     30,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; ENERGYPOWDER
-	item_attribute   500, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute   500, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; ENERGY ROOT
-	item_attribute   800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute   800, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; HEAL POWDER
-	item_attribute   450, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute   450, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; REVIVAL HERB
-	item_attribute  2800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
+	item_attribute  2800, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; HARD STONE
 	item_attribute   100, HELD_ROCK_BOOST,     10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; LUCKY EGG
-	item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute   200, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; CARD KEY
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE,   ITEMMENU_NOUSE
 
 ; MACHINE PART
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; EGG TICKET
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; LOST ITEM
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; STARDUST
-	item_attribute  2000, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute  2000, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; STAR PIECE
-	item_attribute  9800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute  9800, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; BASEMENT KEY
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE,   ITEMMENU_NOUSE
 
 ; PASS
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; CHARCOAL
 	item_attribute  9800, HELD_FIRE_BOOST,     10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
@@ -430,31 +430,31 @@
 	item_attribute   200, HELD_CRITICAL_UP,     0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; METAL COAT
 	item_attribute   100, HELD_STEEL_BOOST,    10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; DRAGON FANG
-	item_attribute   100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute   100, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; LEFTOVERS
 	item_attribute   200, HELD_LEFTOVERS,      10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; MYSTERYBERRY
 	item_attribute    10, HELD_RESTORE_PP,     -1,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
@@ -463,67 +463,67 @@
 	item_attribute  2100, HELD_DRAGON_BOOST,   10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; BERSERK GENE
-	item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute   200, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; SACRED ASH
-	item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CLOSE,   ITEMMENU_NOUSE
+	item_attribute   200, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CLOSE,   ITEMMENU_NOUSE
 
 ; HEAVY BALL
-	item_attribute   150, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute   150, 0,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; FLOWER MAIL
-	item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute    50, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; LEVEL BALL
-	item_attribute   150, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute   150, 0,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; LURE BALL
-	item_attribute   150, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute   150, 0,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; FAST BALL
-	item_attribute   150, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute   150, 0,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; LIGHT BALL
-	item_attribute   100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute   100, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; FRIEND BALL
-	item_attribute   150, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute   150, 0,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; MOON BALL
-	item_attribute   150, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute   150, 0,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; LOVE BALL
-	item_attribute   150, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute   150, 0,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; NORMAL BOX
-	item_attribute    10, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CURRENT, ITEMMENU_NOUSE
+	item_attribute    10, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CURRENT, ITEMMENU_NOUSE
 
 ; GORGEOUS BOX
-	item_attribute    10, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CURRENT, ITEMMENU_NOUSE
+	item_attribute    10, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CURRENT, ITEMMENU_NOUSE
 
 ; SUN STONE
-	item_attribute  2100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2100, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; POLKADOT BOW
 	item_attribute   100, HELD_NORMAL_BOOST,   10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; UP-GRADE
-	item_attribute  2100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute  2100, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; BERRY
 	item_attribute    10, HELD_BERRY,          10,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
@@ -532,247 +532,247 @@
 	item_attribute    10, HELD_BERRY,          30,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMMENU_PARTY
 
 ; SQUIRTBOTTLE
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; PARK BALL
-	item_attribute     0, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
+	item_attribute     0, 0,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMMENU_CLOSE
 
 ; RAINBOW WING
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; BRICK PIECE
-	item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute    50, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; SURF MAIL
-	item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute    50, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; LITEBLUEMAIL
-	item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute    50, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; PORTRAITMAIL
-	item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute    50, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; LOVELY MAIL
-	item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute    50, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; EON MAIL
-	item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute    50, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; MORPH MAIL
-	item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute    50, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; BLUESKY MAIL
-	item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute    50, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; MUSIC MAIL
-	item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute    50, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; MIRAGE MAIL
-	item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute    50, 0,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TM01
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM02
-	item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM03
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM04
-	item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TM05
-	item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  1000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM06
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM07
-	item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM08
-	item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  1000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM09
-	item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  1000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM10
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM11
-	item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM12
-	item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  1000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM13
-	item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  1000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM14
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM15
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM16
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM17
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM18
-	item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM19
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM20
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM21
-	item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  1000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM22
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM23
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM24
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM25
-	item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM26
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM27
-	item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  1000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM28
-	item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TM29
-	item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM30
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM31
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM32
-	item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM33
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM34
-	item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  1000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM35
-	item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  1000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM36
-	item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  1000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM37
-	item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM38
-	item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM39
-	item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM40
-	item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  1000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM41
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM42
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM43
-	item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  1000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM44
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM45
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM46
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM47
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM48
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM49
-	item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  3000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TM50
-	item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute  2000, 0,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; HM01
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; HM02
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; HM03
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; HM04
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; HM05
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; HM06
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; HM07
-	item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
+	item_attribute     0, 0,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; TERU-SAMA
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
 
 ; ?
-	item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
+	item_attribute $9999, 0,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMMENU_NOUSE
--- a/items/item_effects.asm
+++ b/items/item_effects.asm
@@ -720,7 +720,7 @@
 .toss
 	ld hl, NumItems
 	inc a
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	jp TossItem
 
 .used_park_ball
@@ -2947,7 +2947,7 @@
 Functionf795: ; f795
 	ld hl, NumItems
 	ld a, 1
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	jp TossItem
 ; f7a0
 
--- a/lib/mobile/main.asm
+++ b/lib/mobile/main.asm
@@ -2,7 +2,6 @@
 
 INCLUDE "gbhw.asm"
 
-
 SECTION "Main", ROMX
 
 Function110000: ; 110000 (44:4000)
@@ -258,7 +257,7 @@
 	cp $0
 	jr z, .asm_11015d
 .asm_110158
-	ld hl, $0000
+	ld hl, 0
 .asm_11015b
 	ld a, e
 	ret
@@ -684,7 +683,7 @@
 	inc de
 endr
 	pop hl
-	ld bc, $0000
+	ld bc, 0
 	call Function110007
 	ld a, c
 	ld [$cb7a], a
@@ -691,7 +690,7 @@
 	ld [$c86b], a
 	push de
 	inc de
-	ld bc, $0000
+	ld bc, 0
 	ld a, $20
 	call Function11000f
 	ld l, e
@@ -1021,7 +1020,7 @@
 	push de
 	inc de
 	ld a, b
-	ld bc, $0000
+	ld bc, 0
 	call Function11000f
 	ld a, c
 	pop hl
@@ -4810,7 +4809,7 @@
 
 Function111f63: ; 111f63
 	push de
-	ld hl, $0000
+	ld hl, 0
 	ld c, b
 	xor a
 	cp b
@@ -5233,7 +5232,7 @@
 	cp $41
 	jr nz, .asm_1122f5
 	ld b, $be
-	ld de, $0000
+	ld de, 0
 .asm_1122b3
 	ld a, [hli]
 	add e
@@ -6506,8 +6505,8 @@
 	push af
 	ld a, [$c874]
 	push af
-	ld bc, $0000
-	ld de, $0000
+	ld bc, 0
+	ld de, 0
 .asm_112abe
 	ld a, [hli]
 	cp $d
@@ -6584,7 +6583,7 @@
 .asm_112b36
 	push hl
 	ld hl, $c872
-	ld de, $0000
+	ld de, 0
 	ld a, b
 	or a
 	jr z, .asm_112b49
@@ -8226,7 +8225,7 @@
 	cp $41
 	jr nz, .asm_113586
 	ld b, $be
-	ld de, $0000
+	ld de, 0
 .asm_113551
 	ld a, [hli]
 	add e
--- a/macros.asm
+++ b/macros.asm
@@ -79,11 +79,17 @@
 	ENDM
 
 dba: MACRO ; dbw bank, address
+	rept _NARG
 	dbw BANK(\1), \1
+	shift
+	endr
 	ENDM
 
 dab: MACRO ; dwb address, bank
+	rept _NARG
 	dwb \1, BANK(\1)
+	shift
+	endr
 	ENDM
 
 lb: MACRO ; r, hi, lo
--- a/macros/enum.asm
+++ b/macros/enum.asm
@@ -18,6 +18,10 @@
 __enum__ = __enum__ + __enumdir__
 endm
 
+enum_set: macro
+__enum__ = \1
+endm
+
 
 ; Enumerate constants
 
--- a/macros/map.asm
+++ b/macros/map.asm
@@ -74,9 +74,7 @@
 ; label, map, border block, connections
 \1_SecondMapHeader::
 	db \3
-\2\@HEIGHT EQUS "\2_HEIGHT"
-\2\@WIDTH  EQUS "\2_WIDTH"
-	db \2\@HEIGHT, \2\@WIDTH
+	db \2_HEIGHT, \2_WIDTH
 	db BANK(\1_BlockData)
 	dw \1_BlockData
 	db BANK(\1_MapScriptHeader)
@@ -162,11 +160,6 @@
 \1_HEIGHT EQU \2
 \1_WIDTH EQU \3
 ENDM
-; map id, height, width
-; \1\@  EQUS "GROUP_\1"
-; \1\@_2 EQUS "MAP_\1"
-; \1\@ EQU const_value
-	; enum \1\@_2
 
 newgroup: MACRO
 const_value = const_value + 1
--- a/macros/text.asm
+++ b/macros/text.asm
@@ -12,72 +12,127 @@
 dex    EQUS "db $e8, $50" ; End a Pokedex entry.
 
 
-TX_RAM EQU $01
-TX_FAR EQU $16
+; TX_RAM EQU $01
+; TX_FAR EQU $16
+	enum_start 1
+	enum TX_RAM
+text_from_ram: MACRO
+	db TX_RAM
+	dw \1
+	ENDM
+	
+	enum TX_BCD
+text_bcd: macro
+	db TX_BCD
+	dw \1
+	db \2
+	ENDM
 
-text_jump: MACRO
-	db TX_FAR
+	enum TX_MOVE
+text_move: macro
+	db TX_MOVE
 	dw \1
-	db BANK(\1)
 	ENDM
 
-text_from_ram: MACRO
-	db TX_RAM
+	enum TX_BOX
+text_box: macro
+	db TX_BOX
 	dw \1
+	db \2, \3
 	ENDM
 
-text_dunno1: macro
-	db 5
+	enum TX_LOW
+text_low: macro
+	db TX_LOW
 	endm
 
+	enum WAIT_BUTTON
 text_waitbutton: macro
-	db 6
+	db WAIT_BUTTON
 	endm
 
-text_dunno2: macro
-	db 7
+	enum TX_SCROLL
+text_scroll: macro
+	db TX_SCROLL
 	endm
 
+	enum START_ASM
 start_asm: macro
-	db 8
+	db START_ASM
 	endm
 
+	enum TX_NUM
 deciram: macro
-	db 9
-	dw \1
-	db \2
+	db TX_NUM
+	dw \1 ; address
+	dn \2, \3 ; bytes, digits
 	endm
 
+	enum TX_EXIT
 interpret_data: macro
-	db 10
+	db TX_EXIT
 	endm
 
+	enum TX_SOUND_0B
 sound0: macro
-	db 11
+	db TX_SOUND_0B
 	endm
 
+	enum TX_DOTS
 limited_interpret_data: macro
-	db 12
+	db TX_DOTS
 	db \1
 	endm
 
+	enum TX_LINK_WAIT_BUTTON
+link_wait_button: macro
+	db TX_LINK_WAIT_BUTTON
+	endm
+
+	enum TX_SOUND_0E
+sound1: macro
+	db TX_SOUND_0E
+	endm
+
+	enum TX_SOUND_0F
 sound0x0F: macro
-	db $f
+	db TX_SOUND_0F
 	endm
 
+	enum TX_SOUND_10
 sound0x02: macro
-	db $10
+	db TX_SOUND_10
 	endm
 
+	enum TX_SOUND_11
 sound0x0A: macro
-	db $11
+	db TX_SOUND_11
 	endm
 
+	enum TX_SOUND_12
+sound0x12: macro
+	db TX_SOUND_12
+	endm
+
+	enum TX_SOUND_13
 sound0x2C: macro
 	db $13
 	endm
 
+	enum TX_STRINGBUFFER
+text_buffer: macro
+	db TX_STRINGBUFFER
+	db \1
+	endm
+
+	enum TX_DAY
 current_day: macro
-	db $15
+	db TX_DAY
 	endm
 
+	enum TX_FAR
+text_jump: MACRO
+	db TX_FAR
+	dw \1
+	db BANK(\1)
+	ENDM
--- a/main.asm
+++ b/main.asm
@@ -71,7 +71,7 @@
 	jp Function6219
 ; 5b04
 
-Function5b04: ; 5b04
+; unreferenced
 	ret
 ; 5b05
 
@@ -883,7 +883,7 @@
 	db "KRIS@@@@@@@"
 ; 60e9
 
-Function60e9: ; 60e9
+Function60e9: ; Unreferenced
 	call LoadMenuDataHeader
 	call InterpretMenu2
 	ld a, [wcfa9]
@@ -1180,7 +1180,7 @@
 	dw TitleScreenEnd
 ; 62b7
 
-Function62b7: ; 62b7
+Function62b7: ; Unreferenced
 	ld hl, wJumptableIndex
 	inc [hl]
 	ret
@@ -1384,7 +1384,7 @@
 	jp Init
 ; 639b
 
-Function639b: ; 639b
+Function639b: ; unreferenced
 	; If bit 0 or 1 of [wcf65] is set, we don't need to be here.
 	ld a, [wcf65]
 	and $3
@@ -1402,8 +1402,9 @@
 	; If bit 2 of [wcf65] is set, get the second dw; else, get the first dw
 	ld a, [wcf65]
 	and %00000100
+rept 2
 	srl a
-	srl a
+endr
 	ld e, a
 	ld d, 0
 rept 2
@@ -1420,12 +1421,12 @@
 ; 63ca
 
 Data63ca: ; 63ca
-	dw $505c, $0000
+	dw $505c, 0
 	dw $685c, $585c
 	dw $685c, $785c
 	dw $885c, $785c
-	dw $0000, $785c
-	dw $0000, $585c
+	dw 0, $785c
+	dw 0, $585c
 ; 63e2
 
 Copyright: ; 63e2
@@ -2117,7 +2118,7 @@
 	add hl, bc
 	bit 5, [hl]
 	jr z, .asm_6ed9
-	ld hl, OBJECT_04
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	bit 4, [hl]
 	push hl
@@ -2129,7 +2130,7 @@
 	jr .asm_6ee9
 
 .asm_6ed9
-	ld hl, OBJECT_04
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	bit 4, [hl]
 	jr nz, .asm_6ee9
@@ -2344,7 +2345,7 @@
 	call CheckCounterTile
 	jr nz, .asm_6ff1
 
-	ld a, [MapX]
+	ld a, [PlayerMapX]
 	sub d
 	cpl
 	inc a
@@ -2351,7 +2352,7 @@
 	add d
 	ld d, a
 
-	ld a, [MapY]
+	ld a, [PlayerMapY]
 	sub e
 	cpl
 	inc a
@@ -2361,7 +2362,7 @@
 .asm_6ff1
 	ld bc, ObjectStructs ; redundant
 	ld a, 0
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	call Function7041
 	ret nc
 	ld hl, OBJECT_DIRECTION_WALKING
@@ -2388,8 +2389,8 @@
 	jr Function7041
 ; 7015
 
-Function7015: ; 7015
-	ld a, [hConnectionStripLength]
+Function7015: ; unreferenced
+	ld a, [hMapObjectIndexBuffer]
 	call GetObjectStruct
 	call Function7021
 	call Function7041
@@ -2429,13 +2430,13 @@
 	ld bc, ObjectStructs
 	xor a
 .loop
-	ld [hConnectedMapWidth], a
+	ld [hObjectStructIndexBuffer], a
 	call GetObjectSprite
-	jr z, .nope
-	ld hl, OBJECT_04
+	jr z, .next
+	ld hl, OBJECT_FLAGS1
 	add hl, bc
 	bit 7, [hl]
-	jr nz, .nope
+	jr nz, .next
 	ld hl, OBJECT_PALETTE
 	add hl, bc
 	bit 7, [hl]
@@ -2457,9 +2458,9 @@
 	jr nz, .ok
 
 .ok2
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	ld l, a
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	cp l
 	jr nz, .setcarry
 
@@ -2468,24 +2469,24 @@
 	add hl, bc
 	ld a, [hl]
 	cp d
-	jr nz, .nope
+	jr nz, .next
 	ld hl, OBJECT_NEXT_MAP_Y
 	add hl, bc
 	ld a, [hl]
 	cp e
-	jr nz, .nope
-	ld a, [hConnectionStripLength]
+	jr nz, .next
+	ld a, [hMapObjectIndexBuffer]
 	ld l, a
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	cp l
 	jr nz, .setcarry
 
-.nope
+.next
 	ld hl, OBJECT_STRUCT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	inc a
 	cp NUM_OBJECT_STRUCTS
 	jr nz, .loop
@@ -2588,21 +2589,21 @@
 	ret
 ; 7113
 
-Function7113: ; 7113
-	ld a, [MapX]
+Function7113: ; unreferenced
+	ld a, [PlayerMapX]
 	ld d, a
-	ld a, [MapY]
+	ld a, [PlayerMapY]
 	ld e, a
 	ld bc, ObjectStructs
 	xor a
 .loop
-	ld [hConnectedMapWidth], a
+	ld [hObjectStructIndexBuffer], a
 	call GetObjectSprite
 	jr z, .asm_7160
-	ld hl, OBJECT_03
+	ld hl, OBJECT_MOVEMENTTYPE
 	add hl, bc
 	ld a, [hl]
-	cp $15
+	cp SPRITEMOVEDATA_15
 	jr nz, .asm_7136
 	call Function7171
 	jr c, .asm_716f
@@ -2619,7 +2620,7 @@
 	ld a, [hl]
 	cp d
 	jr nz, .asm_714e
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	cp $0
 	jr z, .asm_7160
 	jr .asm_716f
@@ -2642,7 +2643,7 @@
 	add hl, bc
 	ld b, h
 	ld c, l
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	inc a
 	cp NUM_OBJECT_STRUCTS
 	jr nz, .loop
@@ -3003,7 +3004,7 @@
 
 SpecialReturnShuckle: ; 737e
 	callba SelectMonFromParty
-	jr c, .asm_73e6
+	jr c, .refused
 
 	ld a, [CurPartySpecies]
 	cp SHUCKLE
@@ -3015,11 +3016,12 @@
 	call AddNTimes
 
 ; OT ID
+; 00518
 	ld a, [hli]
-	cp $2
+	cp 00518 / $100
 	jr nz, .DontReturn
 	ld a, [hl]
-	cp $6
+	cp 00518 % $100
 	jr nz, .DontReturn
 
 ; OT
@@ -3032,14 +3034,14 @@
 	cp [hl]
 	jr nz, .DontReturn
 	cp "@"
-	jr z, .asm_73bb
+	jr z, .done
 	inc de
 	inc hl
 	jr .CheckOT
 
-.asm_73bb
-	callba Functione538
-	jr c, .asm_73f1
+.done
+	callba CheckCurPartyMonFainted
+	jr c, .fainted
 	ld a, [CurPartyMon]
 	ld hl, PartyMon1Happiness
 	ld bc, PartyMon2 - PartyMon1
@@ -3047,17 +3049,17 @@
 	ld a, [hl]
 	cp 150
 	ld a, $3
-	jr nc, .asm_73e2
+	jr nc, .HappyToStayWithYou
 	xor a
 	ld [wd10b], a
 	callab Functione039
 	ld a, $2
 
-.asm_73e2
+.HappyToStayWithYou
 	ld [ScriptVar], a
 	ret
 
-.asm_73e6
+.refused
 	ld a, $1
 	ld [ScriptVar], a
 	ret
@@ -3067,7 +3069,7 @@
 	ld [ScriptVar], a
 	ret
 
-.asm_73f1
+.fainted
 	ld a, $4
 	ld [ScriptVar], a
 	ret
@@ -3196,8 +3198,8 @@
 
 GetSpawnCoord: ; 8029
 	ld a, -1
-	ld [wd4cd], a
-	ld [wd4ce], a
+	ld [wObjectFollow_Leader], a
+	ld [wObjectFollow_Follower], a
 	ld a, $0
 	ld hl, PlayerObjectTemplate
 	call Function19a6
@@ -3219,10 +3221,10 @@
 .ok
 	ld [hl], e
 	ld a, $0
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	ld bc, MapObjects
 	ld a, $0
-	ld [hConnectedMapWidth], a
+	ld [hObjectStructIndexBuffer], a
 	ld de, ObjectStructs
 	call Function8116
 	ld a, $0
@@ -3234,7 +3236,7 @@
 ; A dummy map object used to initialize the player object.
 ; Shorter than the actual amount copied by two bytes.
 ; Said bytes seem to be unused.
-	person_event SPRITE_CHRIS, -4, -4, $0b, 15, 15, -1, -1, 0, 0, 0, $0000, -1
+	person_event SPRITE_CHRIS, -4, -4, SPRITEMOVEDATA_0B, 15, 15, -1, -1, 0, 0, 0, 0, -1
 ; 807e
 
 CopyDECoordsToMapObject:: ; 807e
@@ -3267,7 +3269,7 @@
 
 Function80a1:: ; 80a1
 	ld a, b
-	call Function18de
+	call CheckObjectVisibility
 	ret c
 	ld hl, OBJECT_MAP_X
 	add hl, bc
@@ -3275,7 +3277,7 @@
 	ld hl, OBJECT_MAP_Y
 	add hl, bc
 	ld e, [hl]
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	ld b, a
 	call CopyDECoordsToMapObject
 	and a
@@ -3286,26 +3288,26 @@
 	ld a, [XCoord]
 	add 4
 	ld d, a
-	ld hl, MapX
+	ld hl, PlayerMapX
 	sub [hl]
 	ld [hl], d
 	ld hl, MapObjects + MAPOBJECT_X_COORD
 	ld [hl], d
-	ld hl, MapX2
+	ld hl, PlayerNextMapX
 	ld [hl], d
 	ld d, a
 	ld a, [YCoord]
 	add 4
 	ld e, a
-	ld hl, MapY
+	ld hl, PlayerMapY
 	sub [hl]
 	ld [hl], e
 	ld hl, MapObjects + MAPOBJECT_Y_COORD
 	ld [hl], e
-	ld hl, MapY2
+	ld hl, PlayerNextMapY
 	ld [hl], e
 	ld e, a
-	ld a, [wd4cd]
+	ld a, [wObjectFollow_Leader]
 	cp $0
 	ret nz
 	ret
@@ -3313,19 +3315,19 @@
 
 
 CopyObjectStruct:: ; 80e7
-	call Function2707
+	call CheckObjectMask
 	and a
-	ret nz
+	ret nz ; masked
 	ld hl, ObjectStructs + OBJECT_STRUCT_LENGTH * 1
 	ld a, 1
 	ld de, OBJECT_STRUCT_LENGTH
 .loop
-	ld [hConnectedMapWidth], a
+	ld [hObjectStructIndexBuffer], a
 	ld a, [hl]
 	and a
 	jr z, .done
 	add hl, de
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	inc a
 	cp NUM_OBJECT_STRUCTS
 	jr nz, .loop
@@ -3339,7 +3341,7 @@
 	ld hl, VramState
 	bit 7, [hl]
 	ret z
-	ld hl, OBJECT_FLAGS
+	ld hl, OBJECT_FLAGS2
 	add hl, de
 	set 5, [hl]
 	ret
@@ -3352,11 +3354,11 @@
 ; 811d
 
 Function811d: ; 811d
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	ld hl, MAPOBJECT_OBJECT_STRUCT_ID
 	add hl, bc
 	ld [hl], a
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	ld [wc2f0], a
 	ld hl, MAPOBJECT_SPRITE
 	add hl, bc
@@ -3404,7 +3406,7 @@
 	ld bc, MapObjects + OBJECT_LENGTH
 	ld a, 1
 .loop
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	ld hl, MAPOBJECT_SPRITE
 	add hl, bc
 	ld a, [hl]
@@ -3445,7 +3447,7 @@
 	add hl, bc
 	ld b, h
 	ld c, l
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	inc a
 	cp NUM_OBJECTS
 	jr nz, .loop
@@ -3489,7 +3491,7 @@
 	ld bc, MapObjects + OBJECT_LENGTH
 	ld a, 1
 .loop
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	ld hl, MAPOBJECT_SPRITE
 	add hl, bc
 	ld a, [hl]
@@ -3524,7 +3526,7 @@
 	add hl, bc
 	ld b, h
 	ld c, l
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	inc a
 	cp NUM_OBJECTS
 	jr nz, .loop
@@ -3547,7 +3549,7 @@
 	ld bc, MapObjects + OBJECT_LENGTH
 	ld a, 1
 .loop
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	ld hl, MAPOBJECT_SPRITE
 	add hl, bc
 	ld a, [hl]
@@ -3582,7 +3584,7 @@
 	add hl, bc
 	ld b, h
 	ld c, l
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	inc a
 	cp NUM_OBJECTS
 	jr nz, .loop
@@ -3771,13 +3773,13 @@
 Function839e:: ; 839e
 	push bc
 	ld a, c
-	call Function18de
+	call CheckObjectVisibility
 	ld d, b
 	ld e, c
 	pop bc
 	ret c
 	ld a, b
-	call Function18de
+	call CheckObjectVisibility
 	ret c
 	ld hl, OBJECT_MAP_X
 	add hl, bc
@@ -3839,13 +3841,13 @@
 	ld hl, OBJECT_SPRITE_Y
 	add hl, de
 	ld [hl], a
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	ld hl, OBJECT_32
 	add hl, de
 	ld [hl], a
-	ld hl, OBJECT_03
+	ld hl, OBJECT_MOVEMENTTYPE
 	add hl, de
-	ld [hl], $1a
+	ld [hl], SPRITEMOVEDATA_1A
 	ld hl, OBJECT_09
 	add hl, de
 	ld [hl], $0
@@ -3975,7 +3977,7 @@
 ; 849d
 
 Function849d: ; 849d
-	ld a, [wd4cd]
+	ld a, [wObjectFollow_Leader]
 	call GetObjectStruct
 	ld hl, OBJECT_MAP_X
 	add hl, bc
@@ -3983,7 +3985,7 @@
 	ld hl, OBJECT_MAP_Y
 	add hl, bc
 	ld e, [hl]
-	ld a, [wd4ce]
+	ld a, [wObjectFollow_Follower]
 	call GetObjectStruct
 	ld hl, OBJECT_MAP_X
 	add hl, bc
@@ -4697,7 +4699,7 @@
 
 .DoCut: ; c7b2 (3:47b2)
 	ld hl, Script_CutFromMenu
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $81
 	ret
 
@@ -4905,7 +4907,7 @@
 
 UseFlash: ; c8e0
 	ld hl, Script_UseFlash
-	jp ExitMenuCallScript
+	jp QueueScript
 ; c8e6
 
 Script_UseFlash: ; 0xc8e6
@@ -4920,9 +4922,6 @@
 UnknownText_0xc8f3: ; 0xc8f3
 	text_jump UnknownText_0x1c0609
 	start_asm
-; 0xc8f8
-
-Functionc8f8: ; c8f8
 	call WaitSFX
 	ld de, SFX_FLASH
 	call PlaySFX
@@ -4991,7 +4990,7 @@
 	ld [Buffer2], a ; wd1eb (aliases: MovementType)
 	call GetPartyNick
 	ld hl, SurfFromMenuScript
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $81
 	ret
 
@@ -5229,7 +5228,7 @@
 
 .DoFly: ; ca94
 	ld hl, .FlyScript
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $81
 	ret
 ; ca9d
@@ -5280,7 +5279,7 @@
 	call CheckMapCanWaterfall
 	jr c, .failed
 	ld hl, Script_WaterfallFromMenu
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $81
 	ret
 
@@ -5326,7 +5325,7 @@
 CheckContinueWaterfall: ; cb38
 	xor a
 	ld [ScriptVar], a
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	call CheckWaterfallTile
 	ret z
 	callba MobileFn_1060c1
@@ -5453,7 +5452,7 @@
 	cp $2
 	jr nz, .escaperope
 	ld hl, UsedDigScript
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $81
 	ret
 
@@ -5460,7 +5459,7 @@
 .escaperope
 	callba SpecialKabutoChamber
 	ld hl, UsedEscapeRopeScript
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $81
 	ret
 ; cc06
@@ -5579,7 +5578,7 @@
 .DoTeleport: ; cc9c
 	call GetPartyNick
 	ld hl, Script_UsedTeleport
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $81
 	ret
 ; cca8
@@ -5646,7 +5645,7 @@
 	jr StartToUseStrength
 ; ccf8
 
-AlreadyUsingStrength: ; ccf8
+AlreadyUsingStrength: ; unreferenced
 	ld hl, UnknownText_0xcd01
 	call MenuTextBoxBackup
 	ld a, $80
@@ -5665,7 +5664,7 @@
 
 StartToUseStrength: ; cd09
 	ld hl, Script_StrengthFromMenu
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $81
 	ret
 ; cd12
@@ -5696,7 +5695,7 @@
 	callasm Functioncd12
 	writetext UnknownText_0xcd41
 	copybytetovar wd1ef
-	cry $0000
+	cry 0
 	pause 3
 	writetext UnknownText_0xcd46
 	loadmovesprites
@@ -5821,7 +5820,7 @@
 
 .DoWhirlpool: ; cdca
 	ld hl, Script_WhirlpoolFromMenu
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $81
 	ret
 ; cdd3
@@ -5959,7 +5958,7 @@
 	jr nz, .no_tree
 
 	ld hl, HeadbuttFromMenuScript
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $81
 	ret
 
@@ -6054,7 +6053,7 @@
 	jr nz, .no_rock
 
 	ld hl, RockSmashFromMenuScript
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $81
 	ret
 
@@ -6068,7 +6067,7 @@
 	callba CheckFacingObject
 	jr nc, .fail
 
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	call GetObjectStruct
 	ld hl, OBJECT_MAP_OBJECT_INDEX
 	add hl, bc
@@ -6236,7 +6235,7 @@
 	ld a, $1
 	ld [wd1ef], a
 	ld hl, Script_GotABite
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $81
 	ret
 ; d002
@@ -6245,7 +6244,7 @@
 	ld a, $2
 	ld [wd1ef], a
 	ld hl, Script_NotEvenANibble
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $81
 	ret
 ; d010
@@ -6254,7 +6253,7 @@
 	ld a, $0
 	ld [wd1ef], a
 	ld hl, Script_NotEvenANibble2
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $81
 	ret
 ; d01e
@@ -6270,7 +6269,7 @@
 	writetext UnknownText_0xd0a9
 
 Script_NotEvenANibble_FallThrough: ; 0xd02d
-	loademote $8
+	loademote EMOTE_ROD + DOWN
 	callasm PutTheRodAway
 	loadmovesprites
 	end
@@ -6339,11 +6338,11 @@
 
 Script_FishCastRod: ; 0xd07c
 	reloadmappart
-	loadvar $ffd4, $0
+	loadvar hBGMapMode, $0
 	special UpdateTimePals
-	loademote $9
+	loademote EMOTE_ROD + UP
 	callasm Functionb84b3
-	loademote $0
+	loademote EMOTE_SHOCK
 	applymovement PLAYER, MovementData_0xd093
 	pause 40
 	end
@@ -6376,7 +6375,7 @@
 	db "@"
 ; 0xd0ae
 
-UnknownText_0xd0ae: ; 0xd0ae
+UnknownText_0xd0ae: ; unused
 	; Looks like there's nothing here.
 	text_jump UnknownText_0x1c0979
 	db "@"
@@ -6403,7 +6402,7 @@
 	ld hl, Script_GetOnBike
 	ld de, Script_GetOnBike_Register
 	call .CheckIfRegistered
-	call ExitMenuCallScript
+	call QueueScript
 	xor a
 	ld [MusicFade], a
 	ld de, MUSIC_NONE
@@ -6436,7 +6435,7 @@
 	ret
 
 .done
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $1
 	ret
 ; d119
@@ -6791,7 +6790,7 @@
 	sub [hl]
 	add b
 	ld b, a
-	ld a, [wd10c]
+	ld a, [wItemQuantityChangeBuffer]
 	cp b
 	jr z, .ok
 	jr c, .ok
@@ -6813,8 +6812,8 @@
 	ld l, e
 	ld a, [CurItem]
 	ld c, a
-	ld a, [wd10c]
-	ld [wd10d], a
+	ld a, [wItemQuantityChangeBuffer]
+	ld [wItemQuantityBuffer], a
 .loop2
 	inc hl
 	ld a, [hli]
@@ -6822,7 +6821,7 @@
 	jr z, .terminator2
 	cp c
 	jr nz, .loop2
-	ld a, [wd10d]
+	ld a, [wItemQuantityBuffer]
 	add [hl]
 	cp 100
 	jr nc, .newstack
@@ -6832,7 +6831,7 @@
 .newstack
 	ld [hl], 99
 	sub 99
-	ld [wd10d], a
+	ld [wItemQuantityBuffer], a
 	jr .loop2
 
 .terminator2
@@ -6839,7 +6838,7 @@
 	dec hl
 	ld a, [CurItem]
 	ld [hli], a
-	ld a, [wd10d]
+	ld a, [wItemQuantityBuffer]
 	ld [hli], a
 	ld [hl], -1
 	ld h, d
@@ -6856,9 +6855,9 @@
 	ld e, l
 	ld a, [hli]
 	ld c, a
-	ld a, [wd107]
+	ld a, [ItemCountBuffer]
 	cp c
-	jr nc, .ok
+	jr nc, .ok ; memory
 	ld c, a
 	ld b, $0
 rept 2
@@ -6885,13 +6884,13 @@
 	jr .loop
 
 .skip
-	ld a, [wd10c]
+	ld a, [wItemQuantityChangeBuffer]
 	ld b, a
 	ld a, [hl]
 	sub b
 	jr c, .nope
 	ld [hl], a
-	ld [wd10d], a
+	ld [wItemQuantityBuffer], a
 	and a
 	jr nz, .yup
 	dec hl
@@ -7036,7 +7035,7 @@
 	ld b, 0
 	ld hl, TMsHMs
 	add hl, bc
-	ld a, [wd10c]
+	ld a, [wItemQuantityChangeBuffer]
 	add [hl]
 	cp 100
 	jr nc, .toomany
@@ -7054,13 +7053,13 @@
 	ld b, 0
 	ld hl, TMsHMs
 	add hl, bc
-	ld a, [wd10c]
+	ld a, [wItemQuantityChangeBuffer]
 	ld b, a
 	ld a, [hl]
 	sub b
 	jr c, .nope
 	ld [hl], a
-	ld [wd10d], a
+	ld [wItemQuantityBuffer], a
 	jr nz, .yup
 	ld a, [wd0e2]
 	and a
@@ -7873,7 +7872,7 @@
 	ld a, [Buffer1]
 	ld c, a
 	ld b, $0
-	ld hl, $0000
+	ld hl, 0
 	ld a, [wd1f1]
 	cp $30
 	jr nc, .asm_d885
@@ -9772,7 +9771,7 @@
 	call LoadMenuDataHeader
 	ld a, $1
 .asm_e44b
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	call SetPalettes
 	xor a
 	ld [wcf76], a
@@ -9779,7 +9778,7 @@
 	ld [hBGMapMode], a ; $ff00+$d4
 	call Function1e5d
 	jr c, .asm_e46b
-	ld a, [wPocketCursorBuffer]
+	ld a, [wMenuCursorBuffer]
 	push af
 	ld a, [MenuSelection]
 	ld hl, Jumptable_e4ba
@@ -9875,7 +9874,7 @@
 	ret
 ; e512 (3:6512)
 
-Functione512: ; e512
+Functione512: ; unused
 	ld a, [PartyCount]
 	and a
 	jr z, .asm_e51e
@@ -9910,32 +9909,32 @@
 ; 0xe538
 
 
-Functione538: ; e538
+CheckCurPartyMonFainted: ; e538
 	ld hl, PartyMon1HP
 	ld de, PartyMon2 - PartyMon1
 	ld b, $0
-.asm_e540
+.loop
 	ld a, [CurPartyMon]
 	cp b
-	jr z, .asm_e54b
+	jr z, .skip
 	ld a, [hli]
 	or [hl]
-	jr nz, .asm_e557
+	jr nz, .notfainted
 	dec hl
 
-.asm_e54b
+.skip
 	inc b
 	ld a, [PartyCount]
 	cp b
-	jr z, .asm_e555
+	jr z, .done
 	add hl, de
-	jr .asm_e540
+	jr .loop
 
-.asm_e555
+.done
 	scf
 	ret
 
-.asm_e557
+.notfainted
 	and a
 	ret
 ; e559
@@ -9951,7 +9950,7 @@
 	ret
 ; e56d (3:656d)
 
-Functione56d: ; e56d
+Functione56d: ; unused
 	ld a, [PartyCount]
 	cp PARTY_LENGTH
 	jr nc, .asm_e576
@@ -10011,7 +10010,7 @@
 	ret
 ; e5d9
 
-Functione5d9: ; e5d9
+Functione5d9: ; unreferenced
 	ld a, [wCurBox]
 	cp b
 	jr z, .asm_e5f1
@@ -10046,7 +10045,7 @@
 	push hl
 	push bc
 	ld a, c
-	ld bc, $0000
+	ld bc, 0
 	add hl, bc
 	ld bc, $0020
 	call AddNTimes
@@ -10727,10 +10726,10 @@
 	ld a, $60
 	call ByteFill
 	hlcoord 1, 1
-	ld bc, $0612
+	lb bc, 6, 18
 	call Function1189c
 	jr nz, .asm_118c4
-	ld bc, $0412
+	lb bc, 4, 18
 
 .asm_118c4
 	call ClearBox
@@ -10746,16 +10745,16 @@
 .asm_118d5
 	push de
 	hlcoord 1, 8
-	ld bc, $0712
+	lb bc, 7, 18
 	call Function1189c
 	jr nz, .asm_118e7
 	hlcoord 1, 6
-	ld bc, $0912
+	lb bc, 9, 18
 
 .asm_118e7
 	call ClearBox
 	hlcoord 1, 16
-	ld bc, $0112
+	lb bc, 1, 18
 	call ClearBox
 	pop de
 	hlcoord 2, 8
@@ -10813,7 +10812,7 @@
 	hlcoord 1, 3
 
 .asm_1194e
-	ld bc, $0112
+	lb bc, 1, 18
 	call ClearBox
 	ld hl, wc6d0
 	ld e, [hl]
@@ -11183,7 +11182,7 @@
 	jr Function11b23
 ; 11b56
 
-Dakutens: ; 11b56
+Dakutens: ; Dummied out
 	db "かが", "きぎ", "くぐ", "けげ", "こご"
 	db "さざ", "しじ", "すず", "せぜ", "そぞ"
 	db "ただ", "ちぢ", "つづ", "てで", "とど"
@@ -11194,7 +11193,7 @@
 	db "ハバ", "ヒビ", "フブ", "へべ", "ホボ"
 	db $ff
 
-Handakutens: ; 11ba7
+Handakutens: ; Dummied out
 	db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ"
 	db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ"
 	db $ff
@@ -11372,7 +11371,7 @@
 	db "a b c d e f g h i"
 	db "j k l m n o p q r"
 	db "s t u v w x y z  "
-	db "× ( ) : ; [ ] ", $e1, " ", $e2
+	db "× ( ) : ; [ ] <PK> <MN>"
 	db "UPPER  DEL   END "
 BoxNameInputLower:
 	db "a b c d e f g h i"
@@ -11381,7 +11380,7 @@
 	db "é 'd 'l 'm 'r 's 't 'v 0"
 	db "1 2 3 4 5 6 7 8 9"
 	db "UPPER  DEL   END "
-NameInputUpper:
+NameInputUpper: ; Unreferenced?
 	db "A B C D E F G H I"
 	db "J K L M N O P Q R"
 	db "S T U V W X Y Z  "
@@ -11391,12 +11390,12 @@
 	db "A B C D E F G H I"
 	db "J K L M N O P Q R"
 	db "S T U V W X Y Z  "
-	db "× ( ) : ; [ ] ", $e1, " ", $e2
+	db "× ( ) : ; [ ] <PK> <MN>"
 	db "- ? ! ♂ ♀ / . , &"
 	db "lower  DEL   END "
 ; 11e5d
 
-GFX_11e5d: ; 11e5d
+GFX_11e5d: ; ????
 INCBIN "gfx/unknown/011e5d.2bpp"
 ; 11e6d
 
@@ -11484,7 +11483,7 @@
 	ret
 ; 11f7a (4:5f7a)
 
-String_11f7a: ; 11f7a
+String_11f7a: ; dummied out
 	db "メールを かいてね@"
 ; 11f84
 
@@ -11546,7 +11545,7 @@
 	xor a
 	ld [hBGMapMode], a ; $ff00+$d4
 	hlcoord 1, 1
-	ld bc, $412
+	lb bc, 4, 18
 	call ClearBox
 	ld hl, wc6d0
 	ld e, [hl]
@@ -11848,7 +11847,7 @@
 	jp Function11b17
 ; 121b2 (4:61b2)
 
-Function121b2: ; 121b2
+Function121b2: ; unreferenced
 	ld a, [wc6d2]
 	and a
 	ret z
@@ -11957,7 +11956,7 @@
 	ld a, [EngineBuffer1]
 	ld [CurItem], a
 	ld a, [CurFruit]
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	ld hl, NumItems
 	call ReceiveItem
 	ret nc
@@ -12396,7 +12395,7 @@
 	ld hl, UnknownScript_0x125ad
 
 .asm_12590
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $1
 	ld [wd0ec], a
 	ret
@@ -12465,7 +12464,7 @@
 	call LoadMenuDataHeader
 	call .SetUpMenuItems
 	ld a, [wd0d2]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	call .DrawMenuAccount_
 	call MenuFunc_1e7f
 	call .DrawBugContestStatusBox
@@ -12481,13 +12480,13 @@
 	call UpdateTimePals
 	call .SetUpMenuItems
 	ld a, [wd0d2]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 
 .Select
 	call .GetInput
 	jr c, .Exit
 	call .DrawMenuAccount
-	ld a, [wPocketCursorBuffer]
+	ld a, [wMenuCursorBuffer]
 	ld [wd0d2], a
 	call PlayClickSFX
 	call Function1bee
@@ -12509,9 +12508,9 @@
 .MenuReturns
 	dw .Reopen
 	dw .Exit
-	dw .ReturnTwo
-	dw .ReturnThree
-	dw .ReturnFour
+	dw .ExitMenuCallFuncLoadMoveSprites
+	dw .ExitMenuRunScriptLoadMoveSprites
+	dw .ExitMenuRunScript
 	dw .ReturnEnd
 	dw .ReturnRedraw
 
@@ -12556,7 +12555,7 @@
 	ret
 ; 12691
 
-.ReturnFour ; 12691
+.ExitMenuRunScript ; 12691
 	call ExitMenu
 	ld a, HMENURETURN_SCRIPT
 	ld [hMenuReturn], a
@@ -12563,7 +12562,7 @@
 	ret
 ; 12699
 
-.ReturnThree ; 12699
+.ExitMenuRunScriptLoadMoveSprites ; 12699
 	call ExitMenu
 	ld a, HMENURETURN_SCRIPT
 	ld [hMenuReturn], a
@@ -12570,13 +12569,13 @@
 	jr .ReturnEnd2
 ; 126a2
 
-.ReturnTwo ; 126a2
+.ExitMenuCallFuncLoadMoveSprites ; 126a2
 	call ExitMenu
-	ld hl, wd0e9
+	ld hl, wQueuedScriptAddr
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-	ld a, [wd0e8]
+	ld a, [wQueuedScriptBank]
 	rst FarCall
 	jr .ReturnEnd2
 ; 126b1
@@ -12825,7 +12824,7 @@
 	call .IsMenuAccountOn
 	ret z
 	hlcoord 0, 13
-	ld bc, $050a
+	lb bc, 5, 10
 	call ClearBox
 	hlcoord 0, 13
 	ld b, 3
@@ -12871,13 +12870,14 @@
 
 	ld hl, .EndTheContestText
 	call Function12cf5
-	jr c, .asm_12903
+	jr c, .DontEndContest
 	ld a, BANK(BugCatchingContestReturnToGateScript)
 	ld hl, BugCatchingContestReturnToGateScript
-	call Function31cf
+	call FarQueueScript
 	ld a, 4
 	ret
-.asm_12903
+
+.DontEndContest
 	ld a, 0
 	ret
 
@@ -13139,7 +13139,7 @@
 
 PokemonActionSubmenu: ; 12a88
 	hlcoord 1, 15
-	ld bc, $0212 ; box size
+	lb bc, 2, 18
 	call ClearBox
 	callba Function24d19
 	call GetCurNick
@@ -13494,7 +13494,7 @@
 
 Function12cdf: ; 12cdf
 	ld a, $1
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	ld hl, NumItems
 	jp ReceiveItem
 ; 12cea
@@ -13502,7 +13502,7 @@
 
 Function12cea: ; 12cea (4:6cea)
 	ld a, $1
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	ld hl, NumItems
 	jp TossItem
 
@@ -14149,10 +14149,10 @@
 	call PlaySFX
 	call WaitSFX
 	hlcoord 1, 2
-	ld bc, $0812
+	lb bc, 8, 18
 	call ClearBox
 	hlcoord 10, 10
-	ld bc, $0109
+	lb bc, 1, 9
 	call ClearBox
 	jp .asm_12fe8
 ; 1313a
@@ -14223,7 +14223,7 @@
 	ld c, $12
 	call TextBox
 	hlcoord 2, 0
-	ld bc, $0203
+	lb bc, 2, 3
 	call ClearBox
 	xor a
 	ld [MonType], a
@@ -14241,7 +14241,7 @@
 	ld b, $e
 	call GetSGBLayout
 	hlcoord 16, 0
-	ld bc, $0103
+	lb bc, 1, 3
 	jp ClearBox
 ; 131ef
 
@@ -15080,8 +15080,6 @@
 BugContest_FirstPlaceText: ; 0x136eb
 	text_jump ContestJudging_FirstPlaceText
 	start_asm
-; 0x136f0
-
 BugContest_FirstPlace: ; 136f0
 	ld de, SFX_1ST_PLACE
 	call PlaySFX
@@ -15100,8 +15098,6 @@
 	; Placing second was @ , who caught a @ !@ @
 	text_jump ContestJudging_SecondPlaceText
 	start_asm
-; 0x13707
-
 BugContest_SecondPlace: ; 13707
 	ld de, SFX_2ND_PLACE
 	call PlaySFX
@@ -15696,7 +15692,7 @@
 	ret
 ; 13a47
 
-Function13a47: ; 13a47
+Function13a47: ; unreferenced
 	ld hl, PartyCount
 	ld a, [hl]
 	and a
@@ -15964,7 +15960,7 @@
 SECTION "bank5", ROMX, BANK[$5]
 
 
-StopRTC: ; 14000
+StopRTC: ; Unreferenced???
 	ld a, SRAM_ENABLE
 	ld [MBC3SRamEnable], a
 	call LatchClock
@@ -16026,7 +16022,7 @@
 	db -1, MORN
 ; 1404e
 
-Unknown_1404e: ; 1404e
+Unknown_1404e: ; Unreferenced
 	db 20, 2
 	db 40, 0
 	db 60, 1
@@ -16177,7 +16173,7 @@
 	ret
 ; 1412a
 
-Function1412a: ; 1412a
+GetEmote2bpp: ; 1412a
 	ld a, $1
 	ld [rVBK], a
 	call Get2bpp
@@ -16189,9 +16185,9 @@
 Function14135:: ; 14135
 	call GetPlayerSprite
 	ld a, [UsedSprites]
-	ld [$ffbd], a
+	ld [hUsedSpriteIndex], a
 	ld a, [UsedSprites + 1]
-	ld [$ffbe], a
+	ld [hUsedSpriteTile], a
 	call Function143c8
 	ret
 ; 14146
@@ -16360,7 +16356,7 @@
 	bit 6, a
 	ret nz
 	ld c, $8
-	callba Function1442f
+	callba LoadEmote
 	call GetMapPermission
 	call CheckOutdoorMap
 	ld c, $b
@@ -16368,7 +16364,7 @@
 	ld c, $a
 
 .asm_1422f
-	callba Function1442f
+	callba LoadEmote
 	ret
 ; 14236
 
@@ -16758,23 +16754,23 @@
 Function1439b: ; 1439b
 	ld hl, UsedSprites
 	ld c, SPRITE_GFX_LIST_CAPACITY
-.asm_143a0
+.loop
 	ld a, [wd13e]
 	res 5, a
 	ld [wd13e], a
 	ld a, [hli]
 	and a
-	jr z, .asm_143c7
-	ld [$ffbd], a
+	jr z, .done
+	ld [hUsedSpriteIndex], a
 	ld a, [hli]
-	ld [$ffbe], a
+	ld [hUsedSpriteTile], a
 	bit 7, a
-	jr z, .asm_143bd
+	jr z, .dont_set
 	ld a, [wd13e]
 	set 5, a
 	ld [wd13e], a
 
-.asm_143bd
+.dont_set
 	push bc
 	push hl
 	call Function143c8
@@ -16781,17 +16777,17 @@
 	pop hl
 	pop bc
 	dec c
-	jr nz, .asm_143a0
+	jr nz, .loop
 
-.asm_143c7
+.done
 	ret
 ; 143c8
 
 Function143c8: ; 143c8
-	ld a, [$ffbd]
+	ld a, [hUsedSpriteIndex]
 	call SafeGetSprite
-	ld a, [$ffbe]
-	call Function14406
+	ld a, [hUsedSpriteTile]
+	call GetTileAddr
 	push hl
 	push de
 	push bc
@@ -16817,7 +16813,7 @@
 	jr nz, .asm_14405
 	bit 6, a
 	jr nz, .asm_14405
-	ld a, [$ffbd]
+	ld a, [hUsedSpriteIndex]
 	call Function142a7
 	jr c, .asm_14405
 	ld a, h
@@ -16829,18 +16825,19 @@
 	ret
 ; 14406
 
-Function14406: ; 14406
+GetTileAddr: ; 14406
+; Return the address of tile (a) in (hl).
 	and $7f
 	ld l, a
-	ld h, $0
+	ld h, 0
 rept 4
 	add hl, hl
 endr
 	ld a, l
-	add $0
+	add VTiles0 % $100
 	ld l, a
 	ld a, h
-	adc $80
+	adc VTiles0 / $100
 	ld h, a
 	ret
 ; 14418
@@ -16862,27 +16859,33 @@
 	ret
 ; 1442f
 
-Function1442f:: ; 1442f
+LoadEmote:: ; 1442f
+; Get the address of the pointer to emote c.
 	ld a, c
 	ld bc, 6
 	ld hl, EmotesPointers
 	call AddNTimes
+; Load the emote address into de
 	ld e, [hl]
 	inc hl
 	ld d, [hl]
+; load the length of the emote (in tiles) into c
 	inc hl
 	ld c, [hl]
 	swap c
+; load the emote pointer bank into b
 	inc hl
 	ld b, [hl]
+; load the VRAM destination into hl
 	inc hl
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
+; if the emote has a length of 0, do not proceed (error handling)
 	ld a, c
 	and a
 	ret z
-	call Function1412a
+	call GetEmote2bpp
 	ret
 ; 1444d
 
@@ -16892,51 +16895,51 @@
 ; dw dest address
 
 	dw ShockEmote
-	db $40, BANK(ShockEmote)
+	db 4 * $10, BANK(ShockEmote)
 	dw VTiles1 tile $78
 
 	dw QuestionEmote
-	db $40, BANK(QuestionEmote)
+	db 4 * $10, BANK(QuestionEmote)
 	dw VTiles1 tile $78
 
 	dw HappyEmote
-	db $40, BANK(HappyEmote)
+	db 4 * $10, BANK(HappyEmote)
 	dw VTiles1 tile $78
 
 	dw SadEmote
-	db $40, BANK(SadEmote)
+	db 4 * $10, BANK(SadEmote)
 	dw VTiles1 tile $78
 
 	dw HeartEmote
-	db $40, BANK(HeartEmote)
+	db 4 * $10, BANK(HeartEmote)
 	dw VTiles1 tile $78
 
 	dw BoltEmote
-	db $40, BANK(BoltEmote)
+	db 4 * $10, BANK(BoltEmote)
 	dw VTiles1 tile $78
 
 	dw SleepEmote
-	db $40, BANK(SleepEmote)
+	db 4 * $10, BANK(SleepEmote)
 	dw VTiles1 tile $78
 
 	dw FishEmote
-	db $40, BANK(FishEmote)
+	db 4 * $10, BANK(FishEmote)
 	dw VTiles1 tile $78
 
 	dw FishingRodGFX + $00
-	db $10, BANK(FishingRodGFX)
+	db 1 * $10, BANK(FishingRodGFX)
 	dw VTiles1 tile $7c
 
 	dw FishingRodGFX + $10
-	db $20, BANK(FishingRodGFX)
+	db 2 * $10, BANK(FishingRodGFX)
 	dw VTiles1 tile $7c
 
 	dw FishingRodGFX + $30
-	db $20, BANK(FishingRodGFX)
+	db 2 * $10, BANK(FishingRodGFX)
 	dw VTiles1 tile $7e
 
 	dw FishingRodGFX + $50
-	db $10, BANK(FishingRodGFX)
+	db 1 * $10, BANK(FishingRodGFX)
 	dw VTiles1 tile $7e
 
 ; 14495
@@ -17684,7 +17687,7 @@
 
 
 Function1499a:: ; 1499a
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	cp $60
 	jr z, .asm_149ad
 	cp $68
@@ -17701,7 +17704,7 @@
 ; 149af
 
 Function149af:: ; 149af
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	cp $70
 	jr z, .asm_149c4
 	cp $76
@@ -17721,7 +17724,7 @@
 CheckWarpCollision: ; 149c6
 	ld de, 1
 	ld hl, .blocks
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	call IsInArray
 	ret
 ; 149d3
@@ -17739,8 +17742,8 @@
 	db -1
 ; 149dd
 
-Function149dd:: ; 149dd
-	ld a, [StandingTile]
+CheckGrassCollision:: ; 149dd
+	ld a, [PlayerStandingTile]
 	ld hl, .blocks
 	ld de, 1
 	call IsInArray
@@ -17780,7 +17783,7 @@
 ; 14a07
 
 Function14a07:: ; 14a07
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	ld de, $001f
 	cp $71 ; door
 	ret z
@@ -18136,7 +18139,7 @@
 
 	; items without quantity are always ×1
 	ld a, 1
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	jr .withdraw
 
 .askquantity
@@ -18148,7 +18151,7 @@
 	jr c, .done
 
 .withdraw
-	ld a, [wd10c]
+	ld a, [wItemQuantityChangeBuffer]
 	ld [Buffer1], a ; quantity
 	ld a, [wd107]
 	ld [Buffer2], a
@@ -18156,7 +18159,7 @@
 	call ReceiveItem
 	jr nc, .PackFull
 	ld a, [Buffer1]
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	ld a, [Buffer2]
 	ld [wd107], a
 	ld hl, PCItems
@@ -18309,7 +18312,7 @@
 	and a
 	jr z, .asm_1591d
 	ld a, $1
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	jr .asm_15933
 
 .asm_1591d
@@ -18323,7 +18326,7 @@
 	jr c, .asm_1596c
 
 .asm_15933
-	ld a, [wd10c]
+	ld a, [wItemQuantityChangeBuffer]
 	ld [Buffer1], a
 	ld a, [wd107]
 	ld [Buffer2], a
@@ -18331,7 +18334,7 @@
 	call ReceiveItem
 	jr nc, .asm_15965
 	ld a, [Buffer1]
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	ld a, [Buffer2]
 	ld [wd107], a
 	ld hl, NumItems
@@ -18387,7 +18390,7 @@
 	ld c, $12
 	call TextBox
 	ld a, [wd0d7]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ld a, [wd0dd]
 	ld [wd0e4], a
 	call Function350c
@@ -18528,7 +18531,7 @@
 	ld [EngineBuffer1], a
 	xor a
 	ld [MovementAnimation], a
-	call Function15b47
+	call StandardMart
 	ret
 ; 15a6e
 
@@ -18653,26 +18656,26 @@
 	ret
 ; 15b47
 
-Function15b47: ; 15b47
-.asm_15b47
+StandardMart: ; 15b47
+.loop
 	ld a, [MovementAnimation]
-	ld hl, .table_15b56
+	ld hl, .MartFunctions
 	rst JumpTable
 	ld [MovementAnimation], a
 	cp $ff
-	jr nz, .asm_15b47
+	jr nz, .loop
 	ret
 
-.table_15b56
-	dw Function15b62
-	dw Function15b6e
-	dw Function15b8d
-	dw Function15b9a
-	dw Function15ba3
-	dw Function15baf
+.MartFunctions
+	dw .HowMayIHelpYou
+	dw .TopMenu
+	dw .Buy
+	dw .Sell
+	dw .Quit
+	dw .AnythingElse
 ; 15b62
 
-Function15b62: ; 15b62
+.HowMayIHelpYou: ; 15b62
 	call LoadMenuDataHeader_0x1d75
 	ld hl, UnknownText_0x15f83
 	call PrintText
@@ -18680,28 +18683,28 @@
 	ret
 ; 15b6e
 
-Function15b6e: ; 15b6e
+.TopMenu: ; 15b6e
 	ld hl, MenuDataHeader_0x15f88
 	call CopyMenuDataHeader
 	call InterpretMenu2
-	jr c, .asm_15b84
+	jr c, .quit
 	ld a, [wcfa9]
 	cp $1
-	jr z, .asm_15b87
+	jr z, .buy
 	cp $2
-	jr z, .asm_15b8a
-.asm_15b84
+	jr z, .sell
+.quit
 	ld a, $4
 	ret
-.asm_15b87
+.buy
 	ld a, $2
 	ret
-.asm_15b8a
+.sell
 	ld a, $3
 	ret
 ; 15b8d
 
-Function15b8d: ; 15b8d
+.Buy: ; 15b8d
 	call ExitMenu
 	call ReadMart
 	call Function15c62
@@ -18710,7 +18713,7 @@
 	ret
 ; 15b9a
 
-Function15b9a: ; 15b9a
+.Sell: ; 15b9a
 	call ExitMenu
 	call Function15eb3
 	ld a, $5
@@ -18717,7 +18720,7 @@
 	ret
 ; 15ba3
 
-Function15ba3: ; 15ba3
+.Quit: ; 15ba3
 	call ExitMenu
 	ld hl, UnknownText_0x15fb4
 	call Function15fcd
@@ -18725,7 +18728,7 @@
 	ret
 ; 15baf
 
-Function15baf: ; 15baf
+.AnythingElse: ; 15baf
 	call LoadMenuDataHeader_0x1d75
 	ld hl, UnknownText_0x15fb9
 	call PrintText
@@ -18740,7 +18743,7 @@
 	ld l, a
 	ld de, CurMart
 .CopyMart
-	ld a, [wd03f]
+	ld a, [MartPointerBank]
 	call GetFarByte
 	ld [de], a
 	inc hl
@@ -18752,14 +18755,14 @@
 .ReadMartItem
 	ld a, [de]
 	inc de
-	cp $ff
-	jr z, .asm_15be4
+	cp -1
+	jr z, .done
 	push de
 	call GetMartItemPrice
 	pop de
 	jr .ReadMartItem
 
-.asm_15be4
+.done
 	ret
 ; 15be5
 
@@ -18963,7 +18966,7 @@
 	ld hl, MenuDataHeader_0x15e18
 	call CopyMenuDataHeader
 	ld a, [WalkingX]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ld a, [WalkingY]
 	ld [wd0e4], a
 	call Function350c
@@ -18986,7 +18989,7 @@
 	ld de, Money
 	ld bc, hMoneyTemp
 	ld a, $3
-	call CheckMoney
+	call CompareMoney
 	jr c, .asm_15d79
 	ld hl, NumItems
 	call ReceiveItem
@@ -19031,7 +19034,7 @@
 
 Function15d83: ; 15d83
 	ld a, $63
-	ld [wd10d], a
+	ld [wItemQuantityBuffer], a
 	ld a, $0
 	call Function15c7d
 	callba Function24fc9
@@ -19049,7 +19052,7 @@
 
 Function15da5: ; 15da5
 	ld a, $1
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	ld a, [wd107]
 	ld e, a
 	ld d, $0
@@ -19093,7 +19096,7 @@
 	call Function15c7d
 	call Function15df9
 	ld a, $63
-	ld [wd10d], a
+	ld [wItemQuantityBuffer], a
 	callba Function24fcf
 	call ExitMenu
 	ret
@@ -19313,7 +19316,7 @@
 	ret
 ; 15ed3
 
-Function15ed3: ; 15ed3
+Function15ed3: ; unreferenced
 	ld hl, UnknownText_0x15edb
 	call MenuTextBoxBackup
 	and a
@@ -19368,7 +19371,7 @@
 	call ExitMenu
 	jr c, .asm_15f6e
 	hlcoord 1, 14
-	ld bc, $0312
+	lb bc, 3, 18
 	call ClearBox
 	ld hl, UnknownText_0x15f78
 	call PrintTextBoxText
@@ -19382,7 +19385,7 @@
 	call TossItem
 	predef PartyMonItemName
 	hlcoord 1, 14
-	ld bc, $0312
+	lb bc, 3, 18
 	call ClearBox
 	ld hl, UnknownText_0x15fbe
 	call PrintTextBoxText
@@ -19489,10 +19492,10 @@
 
 GiveMoney:: ; 15fd7
 	ld a, $3
-	call Function16053
+	call AddMoney
 	ld bc, MaxMoney
 	ld a, $3
-	call CheckMoney
+	call CompareMoney
 	jr z, .asm_15ff5
 	jr c, .asm_15ff5
 	ld hl, MaxMoney
@@ -19519,7 +19522,7 @@
 
 TakeMoney:: ; 15ffa
 	ld a, 3
-	call CheckMoney2
+	call SubtractMoney
 	jr nc, .asm_16009
 	xor a
 	ld [de], a
@@ -19535,9 +19538,9 @@
 	ret
 ; 1600b
 
-CheckMoney:: ; 1600b
+CompareMoney:: ; 1600b
 	ld a, $3
-CheckFunds: ; 1600d
+CompareFunds: ; 1600d
 	push hl
 	push de
 	push bc
@@ -19545,37 +19548,37 @@
 	ld l, c
 	ld c, $0
 	ld b, a
-.asm_16015
+.loop1
 	dec a
-	jr z, .asm_1601c
+	jr z, .done
 	inc de
 	inc hl
-	jr .asm_16015
+	jr .loop1
 
-.asm_1601c
+.done
 	and a
-.asm_1601d
+.loop2
 	ld a, [de]
 	sbc [hl]
-	jr z, .asm_16022
+	jr z, .okay
 	inc c
 
-.asm_16022
+.okay
 	dec de
 	dec hl
 	dec b
-	jr nz, .asm_1601d
-	jr c, .asm_1602d
+	jr nz, .loop2
+	jr c, .set_carry
 	ld a, c
 	and a
-	jr .asm_16031
+	jr .skip_carry
 
-.asm_1602d
+.set_carry
 	ld a, $1
 	and a
 	scf
 
-.asm_16031
+.skip_carry
 	pop bc
 	pop de
 	pop hl
@@ -19582,9 +19585,9 @@
 	ret
 ; 16035
 
-CheckMoney2: ; 16035
+SubtractMoney: ; 16035
 	ld a, 3
-CheckFunds2: ; 16037
+SubtractFunds: ; 16037
 	push hl
 	push de
 	push bc
@@ -19615,9 +19618,9 @@
 	ret
 ; 16053
 
-Function16053: ; 16053
+AddMoney: ; 16053
 	ld a, $3
-Function16055: ; 16055
+AddFunds: ; 16055
 	push hl
 	push de
 	push bc
@@ -19624,16 +19627,16 @@
 	ld h, b
 	ld l, c
 	ld b, a
-.asm_1605b
+.loop1
 	dec a
-	jr z, .asm_16062
+	jr z, .done
 	inc de
 	inc hl
-	jr .asm_1605b
+	jr .loop1
 
-.asm_16062
+.done
 	and a
-.asm_16063
+.loop2
 	ld a, [de]
 	adc [hl]
 	ld [de], a
@@ -19640,7 +19643,7 @@
 	dec de
 	dec hl
 	dec b
-	jr nz, .asm_16063
+	jr nz, .loop2
 	pop bc
 	pop de
 	pop hl
@@ -19650,11 +19653,11 @@
 GiveCoins:: ; 1606f
 	ld a, 2
 	ld de, Coins
-	call Function16055
+	call AddFunds
 	ld a, 2
 	ld bc, .maxcoins
-	call CheckFunds
-	jr c, .asm_1608b
+	call CompareFunds
+	jr c, .not_maxed
 	ld hl, .maxcoins
 	ld a, [hli]
 	ld [de], a
@@ -19664,7 +19667,7 @@
 	scf
 	ret
 
-.asm_1608b
+.not_maxed
 	and a
 	ret
 ; 1608d
@@ -19677,7 +19680,7 @@
 TakeCoins:: ; 1608f
 	ld a, 2
 	ld de, Coins
-	call CheckFunds2
+	call SubtractFunds
 	jr nc, .asm_1609f
 	xor a
 	ld [de], a
@@ -19694,7 +19697,7 @@
 CheckCoins:: ; 160a1
 	ld a, $2
 	ld de, Coins
-	jp CheckFunds
+	jp CompareFunds
 ; 160a9
 
 
@@ -19812,7 +19815,7 @@
 	ld a, [CurPartySpecies]
 	cp EGG
 	jr z, .asm_167e1
-	callba Functione538
+	callba CheckCurPartyMonFainted
 	jr c, .asm_167e9
 	ld hl, PartyMon1Item
 	ld bc, PartyMon2 - PartyMon1
@@ -19892,7 +19895,7 @@
 .asm_1682d
 	ld de, Money
 	ld bc, StringBuffer2 + 2
-	callba CheckMoney
+	callba CompareMoney
 	jr c, .asm_16848
 	ld a, [PartyCount]
 	cp $6
@@ -19937,7 +19940,7 @@
 	ld de, StringBuffer1
 	ld bc, $000b
 	call CopyBytes
-	ld hl, $0000
+	ld hl, 0
 	ld bc, $0064
 	ld a, [StringBuffer2 + 1]
 	call AddNTimes
@@ -22014,7 +22017,7 @@
 
 SECTION "bank9", ROMX, BANK[$9]
 
-Unknown_24000:: ; 24000
+StringBufferPointers:: ; 24000
 	dw StringBuffer3
 	dw StringBuffer4
 	dw StringBuffer5
@@ -22076,7 +22079,7 @@
 	ld c, a
 	ld a, [wcfa3]
 	call SimpleMultiply
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	and a
 	ret
 ; 24085
@@ -22121,7 +22124,7 @@
 	ld c, a
 	ld a, [wcfaa]
 	add c
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	and a
 	ret
 
@@ -22207,7 +22210,7 @@
 	call Function24193
 	ld a, [wcfa4]
 	ld e, a
-	ld a, [wPocketCursorBuffer]
+	ld a, [wMenuCursorBuffer]
 	ld b, a
 	xor a
 	ld d, $0
@@ -22841,7 +22844,7 @@
 
 .asm_244a9
 	ld [hli], a
-	ld a, [wPocketCursorBuffer]
+	ld a, [wMenuCursorBuffer]
 	and a
 	jr z, .asm_244b7
 	ld c, a
@@ -22933,22 +22936,22 @@
 	db 1 ; default option
 ; 0x2454f
 
-Function2454f: ; 2454f
-	ld hl, wd81e
+LoadObjectMasks: ; 2454f
+	ld hl, wObjectMasks
 	xor a
 	ld bc, NUM_OBJECTS
 	call ByteFill
 	nop
 	ld bc, MapObjects
-	ld de, wd81e
+	ld de, wObjectMasks
 	xor a
 .loop
 	push af
 	push bc
 	push de
-	call Function245a7
+	call GetObjectTimeMask
 	jr c, .next
-	call Function2457d
+	call CheckObjectFlag
 .next
 	pop de
 	ld [de], a
@@ -22964,12 +22967,12 @@
 	jr nz, .loop
 	ret
 
-Function2457d: ; 2457d (9:457d)
+CheckObjectFlag: ; 2457d (9:457d)
 	ld hl, MAPOBJECT_SPRITE
 	add hl, bc
 	ld a, [hl]
 	and a
-	jr z, .minus_one
+	jr z, .masked
 	ld hl, MAPOBJECT_EVENT_FLAG
 	add hl, bc
 	ld a, [hli]
@@ -22980,24 +22983,25 @@
 	jr nz, .check
 	ld a, e
 	cp -1
-	jr z, .zero
-	jr .minus_one
+	jr z, .unmasked
+	jr .masked
 .check
 	ld b, CHECK_FLAG
 	call EventFlagAction
 	ld a, c
 	and a
-	jr nz, .minus_one
-.zero
+	jr nz, .masked
+.unmasked
 	xor a
 	ret
-.minus_one
+
+.masked
 	ld a, -1
 	scf
 	ret
 
-Function245a7: ; 245a7 (9:45a7)
-	call Function18f5
+GetObjectTimeMask: ; 245a7 (9:45a7)
+	call CheckObjectTime
 	ld a, -1
 	ret c
 	xor a
@@ -23105,7 +23109,7 @@
 	ld a, [MenuSelection]
 	ld [CurItem], a
 	ld a, [wcf75]
-	ld [wd10d], a
+	ld [wItemQuantityBuffer], a
 	call Function246fc
 	dec a
 	ld [wcf77], a
@@ -23239,18 +23243,16 @@
 	ld a, [wcf95]
 	call GetFarByte
 	ld [wd144], a
-; Store [wcf92] + [wd0e4] in c
+; if ([wd144] + 1) < [wcf92] + [wd0e4]: [wd0e4] = max(([wd144] + 1) - [wcf92], 0)
 	ld a, [wcf92]
 	ld c, a
 	ld a, [wd0e4]
 	add c
 	ld c, a
-; If [wd144] > c, skip this next part.
 	ld a, [wd144]
 	inc a
 	cp c
 	jr nc, .skip
-; If [wd144] > [wcf92], store ([wd144] - [wcf92]) in [wd0e4].  Else, store 0 in [wd0e4].
 	ld a, [wcf92]
 	ld c, a
 	ld a, [wd144]
@@ -23265,7 +23267,7 @@
 .skip
 	ld a, [wd0e4]
 	ld c, a
-	ld a, [wPocketCursorBuffer]
+	ld a, [wMenuCursorBuffer]
 	add c
 	ld b, a
 	ld a, [wd144]
@@ -23278,7 +23280,7 @@
 	xor a
 	ld [wd0e4], a
 	ld a, $1
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 
 .asm_24763
 	ret
@@ -23336,7 +23338,7 @@
 	ld [wcfa8], a
 	ld a, [wcfa3]
 	ld b, a
-	ld a, [wPocketCursorBuffer]
+	ld a, [wMenuCursorBuffer]
 	and a
 	jr z, .asm_247c8
 	cp b
@@ -24167,7 +24169,7 @@
 	db $40 ; tile backup
 	db 00, 06 ; start coords
 	db 17, 19 ; end coords
-	dw $0000
+	dw 0
 	db 1 ; default option
 ; 24d47
 
@@ -24454,9 +24456,9 @@
 	ld hl, BattleMenuDataHeader
 	call LoadMenuDataHeader
 	ld a, [wd0d2]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	call Function2039
-	ld a, [wPocketCursorBuffer]
+	ld a, [wMenuCursorBuffer]
 	ld [wd0d2], a
 	call ExitMenu
 	ret
@@ -24477,9 +24479,9 @@
 
 Function24f19: ; 24f19
 	ld a, [wd0d2]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	call InterpretMenu
-	ld a, [wPocketCursorBuffer]
+	ld a, [wMenuCursorBuffer]
 	ld [wd0d2], a
 	call ExitMenu
 	ret
@@ -24499,7 +24501,7 @@
 	dn 2, 2 ; rows, columns
 	db 6 ; spacing
 	dba Strings24f3d
-	dbw $09, $0000
+	dbw $09, 0
 ; 0x24f3d
 
 Strings24f3d: ; 0x24f3d
@@ -24609,7 +24611,7 @@
 
 Function24ff9: ; 24ff9
 	ld a, $1
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 .asm_24ffe
 	call Function25072
 	call Function2500e
@@ -24652,10 +24654,10 @@
 	ret
 
 .asm_25033
-	ld hl, wd10c
+	ld hl, wItemQuantityChangeBuffer
 	dec [hl]
 	jr nz, .asm_2503d
-	ld a, [wd10d]
+	ld a, [wItemQuantityBuffer]
 	ld [hl], a
 
 .asm_2503d
@@ -24663,9 +24665,9 @@
 	ret
 
 .asm_2503f
-	ld hl, wd10c
+	ld hl, wItemQuantityChangeBuffer
 	inc [hl]
-	ld a, [wd10d]
+	ld a, [wItemQuantityBuffer]
 	cp [hl]
 	jr nc, .asm_2504b
 	ld [hl], $1
@@ -24675,7 +24677,7 @@
 	ret
 
 .asm_2504d
-	ld a, [wd10c]
+	ld a, [wItemQuantityChangeBuffer]
 	sub $a
 	jr c, .asm_25058
 	jr z, .asm_25058
@@ -24685,15 +24687,15 @@
 	ld a, $1
 
 .asm_2505a
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	and a
 	ret
 
 .asm_2505f
-	ld a, [wd10c]
+	ld a, [wItemQuantityChangeBuffer]
 	add $a
 	ld b, a
-	ld a, [wd10d]
+	ld a, [wItemQuantityBuffer]
 	cp b
 	jr nc, .asm_2506c
 	ld b, a
@@ -24700,7 +24702,7 @@
 
 .asm_2506c
 	ld a, b
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	and a
 	ret
 ; 25072
@@ -24712,7 +24714,7 @@
 	add hl, de
 	ld [hl], $f1
 	inc hl
-	ld de, wd10c
+	ld de, wItemQuantityChangeBuffer
 	lb bc, PRINTNUM_LEADINGZEROS | 1, 2
 	call PrintNum
 	ld a, [wcf86]
@@ -24749,7 +24751,7 @@
 	ld [hMultiplicand + 1], a
 	ld a, [Buffer2]
 	ld [hMultiplicand + 2], a
-	ld a, [wd10c]
+	ld a, [wItemQuantityChangeBuffer]
 	ld [hMultiplier], a
 	push hl
 	call Multiply
@@ -25100,7 +25102,7 @@
 	bit 0, a
 	ret nz
 	hlcoord 1, 9
-	ld bc, $211
+	lb bc, 2, 17
 	call ClearBox
 	ret
 ; 2534c (9:534c)
@@ -25719,7 +25721,7 @@
 	ld [wd1ef], a
 .asm_2676f
 	ld a, [wd1ef]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	call Function26806
 	call Function1e5d
 	ld a, [wcfa9]
@@ -27840,7 +27842,7 @@
 	jr nz, .asm_28457
 	ld hl, wc818
 	ld de, wc608 + 10
-	ld bc, $0000
+	ld bc, 0
 .asm_28464
 	inc c
 	ld a, c
@@ -32522,7 +32524,7 @@
 ; 2b9a6
 
 Function2b9a6: ; 2b9a6
-	ld de, $0000
+	ld de, 0
 	ld c, $3
 .asm_2b9ab
 	ld a, [hli]
@@ -33415,7 +33417,7 @@
 	ld b, $0
 	add hl, bc
 	ld a, [hl]
-	ld [wd10d], a
+	ld [wItemQuantityBuffer], a
 	call Function2c798
 	scf
 	ret
@@ -33751,7 +33753,7 @@
 	jp z, Function2caca
 
 	hlcoord 5, 2
-	ld bc, $a0f
+	lb bc, 10, 15
 	ld a, " "
 	call ClearBox
 	call Function2cab5
@@ -36370,7 +36372,7 @@
 	jr nz, .asm_44691
 
 .asm_446ab
-	callba Functione538
+	callba CheckCurPartyMonFainted
 	ld a, $4
 	jr c, .asm_446c1
 	xor a
@@ -36592,7 +36594,7 @@
 	call Function352f
 	call UpdateSprites
 	ld a, [wd0f1]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ld a, [OBPals + 8 * 6]
 	ld [wd0e4], a
 	call Function350c
@@ -36651,7 +36653,7 @@
 	dec a
 	call .Function448bb
 	ld a, $1
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	ld hl, NumItems
 	call ReceiveItem
 	jr c, .asm_4489e
@@ -36967,7 +36969,7 @@
 	ld d, a
 	call Function48725
 	jr c, .asm_481a2
-	ld bc, $104
+	lb bc, 1, 4
 	hlcoord 2, 12
 	call ClearBox
 	jr .asm_481ad
@@ -36983,19 +36985,19 @@
 	jr nz, .asm_481c1
 	bit 0, d
 	jr nz, .asm_481c1
-	ld bc, $108
+	lb bc, 1, 8
 	hlcoord 11, 4
 	call ClearBox
 .asm_481c1
 	bit 1, d
 	jr nz, .asm_481ce
-	ld bc, $108
+	lb bc, 1, 8
 	hlcoord 11, 6
 	call ClearBox
 .asm_481ce
 	bit 2, d
 	jr nz, .asm_481db
-	ld bc, $208
+	lb bc, 2, 8
 	hlcoord 11, 7
 	call ClearBox
 .asm_481db
@@ -37004,7 +37006,7 @@
 	ld a, [wd479]
 	bit 0, a
 	jr nz, .asm_481f8
-	ld bc, $108
+	lb bc, 1, 8
 	hlcoord 11, 10
 	call ClearBox
 	jr .asm_48201
@@ -37085,7 +37087,7 @@
 ; 48283
 
 Function48283: ; 48283 (12:4283)
-	ld bc, $212
+	lb bc, 2, 18
 	hlcoord 1, 15
 	call ClearBox
 	ret
@@ -37111,7 +37113,7 @@
 	call WaitBGMap
 	ld a, [PlayerGender]
 	inc a
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	call Function1bc9
 	call PlayClickSFX
 	call ExitMenu
@@ -37155,7 +37157,7 @@
 	ld b, $c
 	ld c, $8
 	call Function48cdc
-	ld a, [wPocketCursorBuffer]
+	ld a, [wMenuCursorBuffer]
 	ld b, a
 	ld a, [wd0e4]
 	ld c, a
@@ -37166,7 +37168,7 @@
 	jr c, .asm_4833f
 	sub $29
 	inc a
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ld a, $29
 .asm_4833f
 	ld [wd0e4], a
@@ -37179,7 +37181,7 @@
 	ld d, a
 	pop bc
 	ld a, b
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ld a, c
 	ld [wd0e4], a
 	ld a, d
@@ -37228,7 +37230,7 @@
 .asm_483af
 	ld hl, wcfa9
 	ld a, [hl]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	scf
 .asm_483b7
 	pop bc
@@ -37974,7 +37976,7 @@
 	hlcoord 11, 10
 	call Function489ea
 	hlcoord 11, 9
-	ld bc, $108
+	lb bc, 1, 8
 	call ClearBox
 	pop af
 	ld [hInMenu], a
@@ -40546,7 +40548,7 @@
 	pop bc
 	ld hl, wcfa9
 	ld [hl], b
-	ld bc, $601
+	lb bc, 6, 1
 	hlcoord 2, 3
 	call ClearBox
 	jp Function4a195
@@ -41813,15 +41815,15 @@
 
 	ld c, a
 	xor a
-	ld [hConnectedMapWidth], a
+	ld [hObjectStructIndexBuffer], a
 .loop
 	push bc
 	push hl
 	ld e, 0
 	callba Function8e83f
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	inc a
-	ld [hConnectedMapWidth], a
+	ld [hObjectStructIndexBuffer], a
 	pop hl
 	pop bc
 	dec c
@@ -42026,7 +42028,7 @@
 
 .asm_4ac29
 	hlcoord 0, 1
-	ld bc, $0d01
+	lb bc, 13, 1
 	call ClearBox
 	call Function4aab6
 	ld a, [PartyCount]
@@ -42056,7 +42058,7 @@
 ; 4ac58
 
 Function4ac58: ; 4ac58
-	ld bc, $0212
+	lb bc, 2, 18
 	hlcoord 1, 15
 	call ClearBox
 	callba Function8ea4a
@@ -42121,7 +42123,7 @@
 	ld a, $b
 	ld [wMenuBorderLeftCoord], a
 	ld a, $1
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	call Function1c10
 	ld hl, wcfa5
 	set 6, [hl]
@@ -43104,7 +43106,7 @@
 .CalculatePassword: ; 4d50f
 	ld a, BANK(sPlayerData)
 	call GetSRAMBank
-	ld de, $0000
+	ld de, 0
 	ld hl, sPlayerData + (PlayerID - wPlayerData)
 	ld c, $2
 	call .ComponentFromNumber
@@ -43930,6 +43932,10 @@
 ; 4dc56
 
 FindThatSpecies: ; 4dc56
+; Find species b in your party.
+; If you have no Pokemon, returns c = -1 and z.
+; If that species is in your party, returns its location in c, and nz.
+; Otherwise, returns z.
 	ld c, -1
 	ld hl, PartySpecies
 .loop
@@ -44457,7 +44463,7 @@
 	ld c, a
 	call Function4e4cd
 	hlcoord 0, 8
-	ld bc, $a14
+	lb bc, 10, 20
 	call ClearBox
 	ret
 
@@ -46598,7 +46604,7 @@
 	ret z
 	ld c, a
 	xor a
-	ld [hConnectedMapWidth], a
+	ld [hObjectStructIndexBuffer], a
 .asm_503ea
 	push bc
 	push hl
@@ -46606,9 +46612,9 @@
 	ld a, BANK(Function8e83f)
 	ld e, $0
 	rst FarCall
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	inc a
-	ld [hConnectedMapWidth], a
+	ld [hObjectStructIndexBuffer], a
 	pop hl
 	pop bc
 	dec c
@@ -47042,7 +47048,7 @@
 
 DoMovementFunctionc: ; 506bc
 	ld hl, UnknownScript_0x506c8
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $1
 	ld [wd0ec], a
 	ret
@@ -47119,7 +47125,7 @@
 
 _Squirtbottle: ; 50730
 	ld hl, UnknownScript_0x5073c
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $1
 	ld [wd0ec], a
 	ret
@@ -47194,7 +47200,7 @@
 	jr nz, .nope
 ; Let's use the Card Key.
 	ld hl, .CardKeyScript
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $1
 	ld [wd0ec], a
 	ret
@@ -47230,7 +47236,7 @@
 	jr nz, .nope
 ; Let's use the Basement Key
 	ld hl, .BasementKeyScript
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, 1
 	ld [wd0ec], a
 	ret
@@ -47254,7 +47260,7 @@
 	ret nc
 
 	ld hl, SacredAshScript
-	call ExitMenuCallScript
+	call QueueScript
 	ld a, $1
 	ld [wd0ec], a
 	ret
@@ -49267,7 +49273,7 @@
 ; Tiles such as waterfalls and warps move the player
 ; in a given direction, overriding input.
 
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	ld c, a
 	call CheckWhirlpoolTile
 	jr c, .asm_800c4
@@ -49428,7 +49434,7 @@
 	cp 2
 	jr z, .asm_801be
 
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	call CheckIceTile
 	jr nc, .ice
 
@@ -49515,7 +49521,7 @@
 
 
 TryJumpLedge: ; 801f3
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	ld e, a
 	and $f0
 	cp $a0 ; ledge
@@ -49567,7 +49573,7 @@
 	ld d, 0
 	ld hl, .EdgeWarps
 	add hl, de
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	cp [hl]
 	jr nz, .asm_80259
 
@@ -49751,7 +49757,7 @@
 ;	tile collision pointer
 .table1
 	db STANDING, FACE_CURRENT, 0, 0
-	dw StandingTile
+	dw PlayerStandingTile
 .table2
 	db RIGHT, FACE_RIGHT,  1,  0
 	dw TileRight
@@ -49767,13 +49773,13 @@
 IsNPCInFront: ; 80341
 
 	ld a, 0
-	ld [hConnectionStripLength], a
-	ld a, [MapX]
+	ld [hMapObjectIndexBuffer], a
+	ld a, [PlayerMapX]
 	ld d, a
 	ld a, [WalkingX]
 	add d
 	ld d, a
-	ld a, [MapY]
+	ld a, [PlayerMapY]
 	ld e, a
 	ld a, [WalkingY]
 	add e
@@ -49957,7 +49963,7 @@
 	jr z, .asm_80420
 	cp $f0
 	jr z, .asm_80420
-	ld a, [StandingTile]
+	ld a, [PlayerStandingTile]
 	call CheckIceTile
 	jr nc, .asm_8041e
 	ld a, [PlayerState]
@@ -52913,7 +52919,7 @@
 	xor a
 	ld [hBGMapMode], a
 	hlcoord 2, 4
-	ld bc, $0d10
+	lb bc, 13, 16
 	call ClearBox
 	pop af
 	ld e, a
@@ -53031,7 +53037,7 @@
 	call ByteFill
 	call Function84a0e
 	hlcoord 1, 15
-	ld bc, $212
+	lb bc, 2, 18
 	call ClearBox
 	call Function849e9
 	call Function849fc
@@ -55308,7 +55314,7 @@
 endr
 	ld e, l
 	ld d, h
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	ld a, [wc3b4]
 	ld [hli], a
@@ -55353,7 +55359,7 @@
 ; 8d036
 
 Function8d036: ; 8d036
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	ld [hl], $0
 	ret
@@ -55861,7 +55867,7 @@
 
 .four_zero: ; 8d30a
 	call Function8d6d8
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	ld a, [hl]
 	ld hl, $000d
@@ -58173,7 +58179,7 @@
 
 Function8e86c: ; 8e86c (23:686c)
 	push bc
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	ld hl, PartyMon1Item
 	ld bc, PartyMon2 - PartyMon1
 	call AddNTimes
@@ -58245,7 +58251,7 @@
 
 Function8e8df: ; 8e8df (23:68df)
 	push bc
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	ld hl, PartyMon1Item
 	ld bc, $30
 	call AddNTimes
@@ -58273,7 +58279,7 @@
 Function8e908: ; 8e908 (23:6908)
 	ld a, [wc3b7]
 	push af
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	ld hl, PartySpecies
 	ld e, a
 	ld d, $0
@@ -58282,7 +58288,7 @@
 	call ReadMonMenuIcon
 	ld [CurIcon], a
 	call Function8e9db
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 rept 4
 	add a
 endr
@@ -58299,7 +58305,7 @@
 
 Function8e936: ; 8e936 (23:6936)
 	push bc
-	ld a, [hConnectedMapWidth]
+	ld a, [hObjectStructIndexBuffer]
 	ld b, a
 	call Function8e94c
 	ld a, b
@@ -59143,7 +59149,7 @@
 	set 7, a
 	ld [wDST], a
 	hlcoord 1, 14
-	ld bc, $0312
+	lb bc, 3, 18
 	call ClearBox
 	ld hl, UnknownText_0x90a6c
 	call PlaceWholeStringInBoxAtOnce
@@ -59174,7 +59180,7 @@
 	res 7, a
 	ld [wDST], a
 	hlcoord 1, 14
-	ld bc, $0312
+	lb bc, 3, 18
 	call ClearBox
 	ld hl, UnknownText_0x90aa0
 	call PlaceWholeStringInBoxAtOnce
@@ -60007,7 +60013,7 @@
 
 Function9106a: ; 9106a
 	push af
-	ld de, $0000
+	ld de, 0
 	ld b, $a
 	ld a, [PlayerGender]
 	bit 0, a
@@ -60036,7 +60042,7 @@
 
 Function91098: ; 91098
 	push af
-	ld de, $0000
+	ld de, 0
 	ld a, $d
 	call Function3b2a
 	ld hl, $0003
@@ -61864,7 +61870,7 @@
 	callba GetSpeciesIcon
 
 ; Animation/palette
-	ld de, $0000
+	ld de, 0
 	ld a, $0
 	call Function3b2a
 
@@ -61899,7 +61905,7 @@
 	call Request2bpp
 
 ; Animation/palette
-	ld de, $0000
+	ld de, 0
 	ld b, $0a ; Male
 	ld a, [PlayerGender]
 	bit 0, a
@@ -62948,7 +62954,7 @@
 	ld hl, $0005
 	add hl, bc
 	ld [hl], $0
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	ld [hl], $1
 	ld hl, $000f
@@ -62965,7 +62971,7 @@
 	ret
 
 .asm_92c56
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	ld a, $0
 	ld [hl], a
@@ -63073,7 +63079,7 @@
 .asm_92ce1
 	ld a, SFX_STOP_SLOT
 	call Function9331e
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	inc [hl]
 	ld hl, $000a
@@ -63097,7 +63103,7 @@
 .asm_92d02
 	ld a, SFX_THROW_BALL
 	call Function9331e
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	inc [hl]
 	ld hl, $0005
@@ -63122,7 +63128,7 @@
 	ld a, SFX_STOP_SLOT
 	call Function9331e
 	call Function93316
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	inc [hl]
 	ld hl, $0005
@@ -63156,7 +63162,7 @@
 	ret
 
 .asm_92d62
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	inc [hl]
 	ld hl, $0005
@@ -63168,7 +63174,7 @@
 Function92d6e: ; 92d6e
 	xor a
 	ld [wcf64], a
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	dec [hl]
 	ld hl, $0005
@@ -63183,7 +63189,7 @@
 	ld a, SFX_STOP_SLOT
 	call Function9331e
 	call Function93316
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	inc [hl]
 	ld hl, $0005
@@ -63203,7 +63209,7 @@
 	ld a, [wcf64]
 	and a
 	ret z
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	inc [hl]
 	ld a, $2
@@ -63213,7 +63219,7 @@
 	ld a, [wcf64]
 	cp $4
 	ret c
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	inc [hl]
 	ld hl, $0005
@@ -63246,7 +63252,7 @@
 	ld hl, $0005
 	add hl, bc
 	ld [hl], $0
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 rept 2
 	dec [hl]
@@ -63262,7 +63268,7 @@
 	ld a, SFX_STOP_SLOT
 	call Function9331e
 	call Function93316
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	inc [hl]
 	call Function92fc0
@@ -63282,7 +63288,7 @@
 
 .asm_92e1f
 	dec [hl]
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	inc [hl]
 	ld hl, $000b
@@ -63302,7 +63308,7 @@
 	ret
 
 .asm_92e3b
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	dec [hl]
 	ld hl, $0005
@@ -63320,7 +63326,7 @@
 	ld hl, $0005
 	add hl, bc
 	ld [hl], $1
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	inc [hl]
 	ld hl, $000a
@@ -66454,7 +66460,7 @@
 	xor a
 	call GetSRAMBank
 	ld hl, sScratch
-	ld bc, $0000
+	ld bc, 0
 .asm_e000b
 	push bc
 	push hl
@@ -66944,7 +66950,7 @@
 ; e0398
 
 Functione0398: ; e0398
-	ld hl, $0000
+	ld hl, 0
 	ld bc, $0006
 	ld a, [wcf64]
 	call AddNTimes
@@ -71435,7 +71441,7 @@
 	ld hl, wcb2a
 	add [hl]
 	ld [CurPartyMon], a
-	callba Functione538
+	callba CheckCurPartyMonFainted
 	jr c, .AllOthersFainted
 	ld a, [wcb32]
 	and a
@@ -71608,10 +71614,10 @@
 	ld a, [CurPartySpecies]
 	call PlayCry
 	hlcoord 0, 0
-	ld bc, $f08
+	lb bc, 15, 8
 	call ClearBox
 	hlcoord 8, 14
-	ld bc, $103
+	lb bc, 1, 3
 	call ClearBox
 	hlcoord 0, 15
 	ld bc, $112
@@ -71663,10 +71669,10 @@
 	ld a, [CurPartySpecies]
 	call PlayCry
 	hlcoord 0, 0
-	ld bc, $f08
+	lb bc, 15, 8
 	call ClearBox
 	hlcoord 8, 14
-	ld bc, $103
+	lb bc, 1, 3
 	call ClearBox
 	hlcoord 0, 15
 	ld bc, $112
@@ -71700,10 +71706,10 @@
 
 Functione3180: ; e3180 (38:7180)
 	hlcoord 0, 0
-	ld bc, $f08
+	lb bc, 15, 8
 	call ClearBox
 	hlcoord 8, 14
-	ld bc, $103
+	lb bc, 1, 3
 	call ClearBox
 	hlcoord 0, 15
 	ld bc, $112
@@ -76040,7 +76046,7 @@
 INCLUDE "event/name_rater.asm"
 
 
-Functionfb841: ; fb841
+PlaySlowCry: ; fb841
 	ld a, [ScriptVar]
 	call LoadCryHeader
 	jr c, .done
@@ -77231,12 +77237,12 @@
 	ld a, [hli]
 	ld [hMoneyTemp], a
 	ld a, [hli]
-	ld [$ffc4], a
+	ld [hMoneyTemp + 1], a
 	ld a, [hli]
-	ld [$ffc5], a
+	ld [hMoneyTemp + 2], a
 	ld de, wd851
 	ld bc, hMoneyTemp
-	callba CheckMoney
+	callba CompareMoney
 	jr nc, .have_enough_money
 
 .nope
@@ -77256,7 +77262,7 @@
 .loop
 	ld de, wdc19
 	ld bc, wd851
-	callba CheckMoney
+	callba CompareMoney
 	jr z, .exact
 	jr nc, .less_than
 	call Functionfd099
@@ -77279,7 +77285,7 @@
 Functionfd099: ; fd099
 	ld de, wdc19
 	ld bc, hMoneyTemp
-	callba Function16053
+	callba AddMoney
 	ret
 ; fd0a6
 
@@ -77318,7 +77324,7 @@
 	ld a, [hl]
 	ld [CurItem], a
 	ld a, $1
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	ld hl, PCItems
 	call ReceiveItem
 	ret
@@ -77860,11 +77866,11 @@
 	ld c, $0
 
 Function104265: ; 104265 (41:4265)
-; back up the value of c to hConnectionStripLength
-	ld a, [hConnectionStripLength]
+; back up the value of c to hMapObjectIndexBuffer
+	ld a, [hMapObjectIndexBuffer]
 	push af
 	ld a, c
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 
 ; for each row on the screen
 	ld c, SCREEN_HEIGHT
@@ -77880,7 +77886,7 @@
 	jr nz, .loop2
 
 ; load the original value of c into hl 12 times
-	ld a, [hConnectionStripLength]
+	ld a, [hMapObjectIndexBuffer]
 	ld b, 12
 .loop3
 	ld [hli], a
@@ -77890,9 +77896,9 @@
 	dec c
 	jr nz, .loop1
 
-; restore the original value of hConnectionStripLength
+; restore the original value of hMapObjectIndexBuffer
 	pop af
-	ld [hConnectionStripLength], a
+	ld [hMapObjectIndexBuffer], a
 	ret
 
 
@@ -78405,7 +78411,7 @@
 	and a
 	ret
 .down
-	ld a, [MapY]
+	ld a, [PlayerMapY]
 	sub 4
 	ld b, a
 	ld a, [MapHeight]
@@ -78415,7 +78421,7 @@
 	and a
 	ret
 .up
-	ld a, [MapY]
+	ld a, [PlayerMapY]
 	sub 4
 	cp -1
 	jr z, .ok
@@ -78422,7 +78428,7 @@
 	and a
 	ret
 .left
-	ld a, [MapX]
+	ld a, [PlayerMapX]
 	sub $4
 	cp -1
 	jr z, .ok
@@ -78429,7 +78435,7 @@
 	and a
 	ret
 .right
-	ld a, [MapX]
+	ld a, [PlayerMapX]
 	sub 4
 	ld b, a
 	ld a, [MapWidth]
@@ -80050,7 +80056,7 @@
 	ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
 	call ByteFill
 	hlcoord 3, 7
-	ld bc, $90f
+	lb bc, 9, 15
 	call ClearBox
 	hlcoord 0, 0
 	ld a, $0
@@ -80998,7 +81004,7 @@
 	ld hl, $a001
 	ld bc, $0080
 	xor a
-	ld de, $0000
+	ld de, 0
 .asm_106179
 	ld a, e
 	add [hl]
@@ -81763,7 +81769,7 @@
 	ld [hli], a
 	ld [hl], a
 	ld hl, wcb6e
-	ld bc, $0512
+	lb bc, 5, 18
 	call ClearBox
 	ld a, [wd265]
 	dec a
@@ -82214,10 +82220,10 @@
 Function1de171: ; 1de171 (77:6171)
 	ld a, $32
 	hlcoord 0, 17
-	ld bc, $c
+	lb bc, 0, 12
 	call ByteFill
 	hlcoord 0, 1
-	ld bc, $f0b
+	lb bc, 15, 11
 	call ClearBox
 	ld a, $34
 	hlcoord 0, 0
--- a/maps/AzaleaGym.asm
+++ b/maps/AzaleaGym.asm
@@ -5,21 +5,21 @@
 .MapCallbacks:
 	db 0
 
-BugsyScript_0x18ec1e:
+BugsyScript:
 	faceplayer
 	loadfont
 	checkevent EVENT_BEAT_BUGSY
 	iftrue .FightDone
-	writetext UnknownText_0x18ed0b
+	writetext BugsyText_INeverLose
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x18edae, $0000
+	winlosstext BugsyText_ResearchIncomplete, 0
 	loadtrainer BUGSY, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_BUGSY
 	loadfont
-	writetext UnknownText_0x18ee14
+	writetext Text_ReceivedHiveBadge
 	playsound SFX_GET_BADGE
 	waitbutton
 	setflag ENGINE_HIVEBADGE
@@ -32,18 +32,18 @@
 	setevent EVENT_BEAT_BUG_CATCHER_BENNY
 	setevent EVENT_BEAT_BUG_CATCHER_AL
 	setevent EVENT_BEAT_BUG_CATCHER_JOSH
-	writetext UnknownText_0x18ee2b
+	writetext BugsyText_HiveBadgeSpeech
 	keeptextopen
 	verbosegiveitem TM_FURY_CUTTER, 1
 	iffalse .NoRoomForFuryCutter
 	setevent EVENT_GOT_TM49_FURY_CUTTER
-	writetext UnknownText_0x18eefa
+	writetext BugsyText_FuryCutterSpeech
 	closetext
 	loadmovesprites
 	end
 
 .GotFuryCutter:
-	writetext UnknownText_0x18ef98
+	writetext BugsyText_BugMonsAreDeep
 	closetext
 .NoRoomForFuryCutter:
 	loadmovesprites
@@ -61,56 +61,56 @@
 	jumpstd radiotowerrockets
 
 TrainerTwinsAmyandmay1:
-	trainer EVENT_BEAT_TWINS_AMY_AND_MAY, TWINS, AMYANDMAY1, TwinsAmyandmay1SeenText, TwinsAmyandmay1BeatenText, $0000, .AfterScript
+	trainer EVENT_BEAT_TWINS_AMY_AND_MAY, TWINS, AMYANDMAY1, TwinsAmyandmay1SeenText, TwinsAmyandmay1BeatenText, 0, .AfterScript
 
 .AfterScript:
 	talkaftercancel
 	loadfont
-	writetext UnknownText_0x18f1fc
+	writetext TwinsAmyandmay1AfterBattleText
 	closetext
 	loadmovesprites
 	end
 
 TrainerTwinsAmyandmay2:
-	trainer EVENT_BEAT_TWINS_AMY_AND_MAY, TWINS, AMYANDMAY2, TwinsAmyandmay2SeenText, TwinsAmyandmay2BeatenText, $0000, .AfterScript
+	trainer EVENT_BEAT_TWINS_AMY_AND_MAY, TWINS, AMYANDMAY2, TwinsAmyandmay2SeenText, TwinsAmyandmay2BeatenText, 0, .AfterScript
 
 .AfterScript:
 	talkaftercancel
 	loadfont
-	writetext UnknownText_0x18f269
+	writetext TwinsAmyandmay2AfterBattleText
 	closetext
 	loadmovesprites
 	end
 
-TrainerBug_catcherBug_catcher_benny:
-	trainer EVENT_BEAT_BUG_CATCHER_BENNY, BUG_CATCHER, BUG_CATCHER_BENNY, Bug_catcherBug_catcher_bennySeenText, Bug_catcherBug_catcher_bennyBeatenText, $0000, .AfterScript
+TrainerBug_catcherbenny:
+	trainer EVENT_BEAT_BUG_CATCHER_BENNY, BUG_CATCHER, BUG_CATCHER_BENNY, Bug_catcherbennySeenText, Bug_catcherbennyBeatenText, 0, .AfterScript
 
 .AfterScript:
 	talkaftercancel
 	loadfont
-	writetext UnknownText_0x18f053
+	writetext Bug_catcherbennyAfterBattleText
 	closetext
 	loadmovesprites
 	end
 
 TrainerBug_catcherAl:
-	trainer EVENT_BEAT_BUG_CATCHER_AL, BUG_CATCHER, AL, Bug_catcherAlSeenText, Bug_catcherAlBeatenText, $0000, .AfterScript
+	trainer EVENT_BEAT_BUG_CATCHER_AL, BUG_CATCHER, AL, Bug_catcherAlSeenText, Bug_catcherAlBeatenText, 0, .AfterScript
 
 .AfterScript:
 	talkaftercancel
 	loadfont
-	writetext UnknownText_0x18f0d3
+	writetext Bug_catcherAlAfterBattleText
 	closetext
 	loadmovesprites
 	end
 
 TrainerBug_catcherJosh:
-	trainer EVENT_BEAT_BUG_CATCHER_JOSH, BUG_CATCHER, JOSH, Bug_catcherJoshSeenText, Bug_catcherJoshBeatenText, $0000, .AfterScript
+	trainer EVENT_BEAT_BUG_CATCHER_JOSH, BUG_CATCHER, JOSH, Bug_catcherJoshSeenText, Bug_catcherJoshBeatenText, 0, .AfterScript
 
 .AfterScript:
 	talkaftercancel
 	loadfont
-	writetext UnknownText_0x18f17e
+	writetext Bug_catcherJoshAfterBattleText
 	closetext
 	loadmovesprites
 	end
@@ -140,7 +140,7 @@
 	trainertotext BUGSY, 1, $1
 	jumpstd gymstatue2
 
-UnknownText_0x18ed0b:
+BugsyText_INeverLose:
 	text "I'm BUGSY!"
 	line "I never lose when"
 
@@ -158,7 +158,7 @@
 	cont "from my studies."
 	done
 
-UnknownText_0x18edae:
+BugsyText_ResearchIncomplete:
 	text "Whoa, amazing!"
 	line "You're an expert"
 	cont "on #MON!"
@@ -170,12 +170,12 @@
 	line "this BADGE."
 	done
 
-UnknownText_0x18ee14:
+Text_ReceivedHiveBadge:
 	text "<PLAYER> received"
 	line "HIVEBADGE."
 	done
 
-UnknownText_0x18ee2b:
+BugsyText_HiveBadgeSpeech:
 	text "Do you know the"
 	line "benefits of HIVE-"
 	cont "BADGE?"
@@ -196,7 +196,7 @@
 	line "you to have this."
 	done
 
-UnknownText_0x18eefa:
+BugsyText_FuryCutterSpeech:
 	text "TM49 contains"
 	line "FURY CUTTER."
 
@@ -212,7 +212,7 @@
 	line "I discovered it!"
 	done
 
-UnknownText_0x18ef98:
+BugsyText_BugMonsAreDeep:
 	text "Bug #MON are"
 	line "deep. There are"
 
@@ -223,7 +223,7 @@
 	line "ites thoroughly."
 	done
 
-Bug_catcherBug_catcher_bennySeenText:
+Bug_catcherbennySeenText:
 	text "Bug #MON evolve"
 	line "young. So they get"
 
@@ -231,12 +231,12 @@
 	line "faster."
 	done
 
-Bug_catcherBug_catcher_bennyBeatenText:
+Bug_catcherbennyBeatenText:
 	text "Just evolving"
 	line "isn't enough!"
 	done
 
-UnknownText_0x18f053:
+Bug_catcherbennyAfterBattleText:
 	text "#MON become"
 	line "stronger if they"
 	cont "evolve. Really!"
@@ -255,7 +255,7 @@
 	line "tough you are…"
 	done
 
-UnknownText_0x18f0d3:
+Bug_catcherAlAfterBattleText:
 	text "They're so cool,"
 	line "but most girls"
 
@@ -279,7 +279,7 @@
 	text "Urrgggh!"
 	done
 
-UnknownText_0x18f17e:
+Bug_catcherJoshAfterBattleText:
 	text "I guess I should"
 	line "teach them better"
 	cont "moves…"
@@ -296,7 +296,7 @@
 	line "double goodness!"
 	done
 
-UnknownText_0x18f1fc:
+TwinsAmyandmay1AfterBattleText:
 	text "AMY: You're"
 	line "really strong!"
 	done
@@ -312,7 +312,7 @@
 	line "double goodness!"
 	done
 
-UnknownText_0x18f269:
+TwinsAmyandmay2AfterBattleText:
 	text "MAY: Our bug #-"
 	line "MON lost! Oh, what"
 	cont "a shame."
@@ -371,10 +371,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_BUGSY, 7, 5, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugsyScript_0x18ec1e, -1
-	person_event SPRITE_BUG_CATCHER, 3, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBug_catcherBug_catcher_benny, -1
-	person_event SPRITE_BUG_CATCHER, 8, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherAl, -1
-	person_event SPRITE_BUG_CATCHER, 2, 0, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherJosh, -1
-	person_event SPRITE_TWIN, 10, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAmyandmay1, -1
-	person_event SPRITE_TWIN, 10, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAmyandmay2, -1
-	person_event SPRITE_GYM_GUY, 13, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, AzaleaGymGuyScript, -1
+	person_event SPRITE_BUGSY, 7, 5, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugsyScript, -1
+	person_event SPRITE_BUG_CATCHER, 3, 5, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBug_catcherbenny, -1
+	person_event SPRITE_BUG_CATCHER, 8, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherAl, -1
+	person_event SPRITE_BUG_CATCHER, 2, 0, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherJosh, -1
+	person_event SPRITE_TWIN, 10, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAmyandmay1, -1
+	person_event SPRITE_TWIN, 10, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAmyandmay2, -1
+	person_event SPRITE_GYM_GUY, 13, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, AzaleaGymGuyScript, -1
--- a/maps/AzaleaMart.asm
+++ b/maps/AzaleaMart.asm
@@ -7,7 +7,7 @@
 
 ClerkScript_0x18e040:
 	loadfont
-	pokemart $0, $0003
+	pokemart MARTTYPE_STANDARD, MART_AZALEA
 	loadmovesprites
 	end
 
@@ -57,6 +57,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18e040, -1
-	person_event SPRITE_COOLTRAINER_M, 5, 2, $7, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x18e047, -1
-	person_event SPRITE_BUG_CATCHER, 2, 7, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x18e04a, -1
+	person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18e040, -1
+	person_event SPRITE_COOLTRAINER_M, 5, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x18e047, -1
+	person_event SPRITE_BUG_CATCHER, 2, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x18e04a, -1
--- a/maps/AzaleaPokeCenter1F.asm
+++ b/maps/AzaleaPokeCenter1F.asm
@@ -3,7 +3,7 @@
 	db 1
 
 	; triggers
-	dw UnknownScript_0x18db27, $0000
+	dw UnknownScript_0x18db27, 0
 
 .MapCallbacks:
 	db 0
@@ -90,7 +90,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18db28, -1
-	person_event SPRITE_GENTLEMAN, 6, 9, $4, 1, 0, -1, -1, 0, 0, 0, GentlemanScript_0x18db2b, -1
-	person_event SPRITE_FISHING_GURU, 1, 6, $6, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x18db2e, -1
-	person_event SPRITE_POKEFAN_F, 4, 1, $2, 2, 1, -1, -1, 0, 0, 0, PokefanFScript_0x18db31, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18db28, -1
+	person_event SPRITE_GENTLEMAN, 6, 9, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, 0, 0, GentlemanScript_0x18db2b, -1
+	person_event SPRITE_FISHING_GURU, 1, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x18db2e, -1
+	person_event SPRITE_POKEFAN_F, 4, 1, SPRITEMOVEDATA_02, 2, 1, -1, -1, 0, 0, 0, PokefanFScript_0x18db31, -1
--- a/maps/AzaleaTown.asm
+++ b/maps/AzaleaTown.asm
@@ -3,9 +3,9 @@
 	db 3
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
-	dw .Trigger3, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
+	dw .Trigger3, 0
 
 .MapCallbacks:
 	db 1
@@ -481,15 +481,15 @@
 
 .PersonEvents:
 	db 12
-	person_event SPRITE_AZALEA_ROCKET, 9, 31, $6, 0, 0, -1, -1, 0, 0, 0, AzaleaRocketScript_0x1980ab, EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET
-	person_event SPRITE_GRAMPS, 9, 21, $2, 2, 1, -1, -1, 0, 0, 0, GrampsScript_0x1980b1, -1
-	person_event SPRITE_TEACHER, 13, 15, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x1980c5, -1
-	person_event SPRITE_YOUNGSTER, 9, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1980c8, -1
-	person_event SPRITE_SLOWPOKE, 17, 8, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
-	person_event SPRITE_SLOWPOKE, 9, 18, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
-	person_event SPRITE_SLOWPOKE, 9, 29, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
-	person_event SPRITE_SLOWPOKE, 15, 15, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
-	person_event SPRITE_FRUIT_TREE, 2, 8, $1, 0, 0, -1, -1, 0, 0, 0, WhiteApricornTree, -1
-	person_event SPRITE_AZALEA_ROCKET, 10, 11, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_AZALEA_TOWN
-	person_event SPRITE_AZALEA_ROCKET, 16, 10, $6, 0, 0, -1, -1, 0, 0, 0, AzaleaRocketScript_0x1980ae, EVENT_SLOWPOKE_WELL_ROCKETS
-	person_event SPRITE_KURT_OUTSIDE, 5, 6, $8, 0, 0, -1, -1, 0, 0, 0, KurtOutsideScript_0x19810c, EVENT_AZALEA_TOWN_KURT
+	person_event SPRITE_AZALEA_ROCKET, 9, 31, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, AzaleaRocketScript_0x1980ab, EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET
+	person_event SPRITE_GRAMPS, 9, 21, SPRITEMOVEDATA_02, 2, 1, -1, -1, 0, 0, 0, GrampsScript_0x1980b1, -1
+	person_event SPRITE_TEACHER, 13, 15, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x1980c5, -1
+	person_event SPRITE_YOUNGSTER, 9, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1980c8, -1
+	person_event SPRITE_SLOWPOKE, 17, 8, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
+	person_event SPRITE_SLOWPOKE, 9, 18, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
+	person_event SPRITE_SLOWPOKE, 9, 29, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
+	person_event SPRITE_SLOWPOKE, 15, 15, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
+	person_event SPRITE_FRUIT_TREE, 2, 8, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, WhiteApricornTree, -1
+	person_event SPRITE_AZALEA_ROCKET, 10, 11, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_AZALEA_TOWN
+	person_event SPRITE_AZALEA_ROCKET, 16, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, AzaleaRocketScript_0x1980ae, EVENT_SLOWPOKE_WELL_ROCKETS
+	person_event SPRITE_KURT_OUTSIDE, 5, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, KurtOutsideScript_0x19810c, EVENT_AZALEA_TOWN_KURT
--- a/maps/BattleTower1F.asm
+++ b/maps/BattleTower1F.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x9e39d, $0000
-	dw UnknownScript_0x9e3d3, $0000
+	dw UnknownScript_0x9e39d, 0
+	dw UnknownScript_0x9e3d3, 0
 
 .MapCallbacks:
 	db 0
@@ -734,7 +734,7 @@
 	text "One or more of"
 	line "your #MON's"
 	cont "levels exceeds @"
-	deciram ScriptVar, $13
+	deciram ScriptVar, 1, 3
 	text "."
 	done
 
@@ -746,7 +746,7 @@
 
 	para "This BATTLE ROOM"
 	line "is for L@"
-	deciram ScriptVar, $13
+	deciram ScriptVar, 1, 3
 	text "."
 	done
 
@@ -810,8 +810,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_RECEPTIONIST, 6, 7, $6, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x9e3e2, -1
-	person_event SPRITE_YOUNGSTER, 9, 14, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, YoungsterScript_0x9e55d, -1
-	person_event SPRITE_COOLTRAINER_F, 9, 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x9e568, -1
-	person_event SPRITE_BUG_CATCHER, 3, 1, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BugCatcherScript_0x9e56b, -1
-	person_event SPRITE_GRANNY, 3, 14, $4, 1, 0, -1, -1, 0, 0, 0, GrannyScript_0x9e56e, -1
+	person_event SPRITE_RECEPTIONIST, 6, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x9e3e2, -1
+	person_event SPRITE_YOUNGSTER, 9, 14, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, YoungsterScript_0x9e55d, -1
+	person_event SPRITE_COOLTRAINER_F, 9, 4, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x9e568, -1
+	person_event SPRITE_BUG_CATCHER, 3, 1, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BugCatcherScript_0x9e56b, -1
+	person_event SPRITE_GRANNY, 3, 14, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, 0, 0, GrannyScript_0x9e56e, -1
--- a/maps/BattleTowerBattleRoom.asm
+++ b/maps/BattleTowerBattleRoom.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw Script_EnterBattleRoom, $0000
-	dw UnknownScript_0x9f420, $0000
+	dw Script_EnterBattleRoom, 0
+	dw UnknownScript_0x9f420, 0
 
 .MapCallbacks:
 	db 0
@@ -155,5 +155,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_YOUNGSTER, 0, 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_BATTLE_TOWER_BATTLE_ROOM_YOUNGSTER
-	person_event SPRITE_RECEPTIONIST, 6, 1, $9, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, -1
+	person_event SPRITE_YOUNGSTER, 0, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_BATTLE_TOWER_BATTLE_ROOM_YOUNGSTER
+	person_event SPRITE_RECEPTIONIST, 6, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, -1
--- a/maps/BattleTowerElevator.asm
+++ b/maps/BattleTowerElevator.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x9f562, $0000
-	dw UnknownScript_0x9f567, $0000
+	dw UnknownScript_0x9f562, 0
+	dw UnknownScript_0x9f567, 0
 
 .MapCallbacks:
 	db 0
@@ -60,4 +60,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_RECEPTIONIST, 2, 1, $9, 0, 0, -1, -1, 0, 0, 0, MovementData_0x9f58f, -1
+	person_event SPRITE_RECEPTIONIST, 2, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, MovementData_0x9f58f, -1
--- a/maps/BattleTowerHallway.asm
+++ b/maps/BattleTowerHallway.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x9f5bb, $0000
-	dw UnknownScript_0x9f5c0, $0000
+	dw UnknownScript_0x9f5bb, 0
+	dw UnknownScript_0x9f5c0, 0
 
 .MapCallbacks:
 	db 0
@@ -98,4 +98,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_RECEPTIONIST, 2, 11, $6, 0, 0, -1, -1, 0, 0, 0, BattleTowerHallway_MapEventHeader, -1
+	person_event SPRITE_RECEPTIONIST, 2, 11, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, BattleTowerHallway_MapEventHeader, -1
--- a/maps/BattleTowerOutside.asm
+++ b/maps/BattleTowerOutside.asm
@@ -142,7 +142,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_STANDING_YOUNGSTER, 12, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, StandingYoungsterScript_0x9f85f, -1
-	person_event SPRITE_BUENA, 11, 13, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BuenaScript_0x9f862, -1
-	person_event SPRITE_SAILOR, 18, 12, $5, 0, 1, -1, -1, 0, 0, 0, SailorScript_0x9f865, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
-	person_event SPRITE_LASS, 24, 12, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, -1
+	person_event SPRITE_STANDING_YOUNGSTER, 12, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, StandingYoungsterScript_0x9f85f, -1
+	person_event SPRITE_BUENA, 11, 13, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BuenaScript_0x9f862, -1
+	person_event SPRITE_SAILOR, 18, 12, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, SailorScript_0x9f865, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
+	person_event SPRITE_LASS, 24, 12, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, -1
--- a/maps/BillsHouse.asm
+++ b/maps/BillsHouse.asm
@@ -367,4 +367,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_GRAMPS, 3, 2, $7, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x189538, -1
+	person_event SPRITE_GRAMPS, 3, 2, SPRITEMOVEDATA_STANDING_UP, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x189538, -1
--- a/maps/BlackthornCity.asm
+++ b/maps/BlackthornCity.asm
@@ -333,12 +333,12 @@
 
 .PersonEvents:
 	db 9
-	person_event SPRITE_SUPER_NERD, 12, 18, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a46e8, EVENT_BLACKTHORN_CITY_SUPER_NERD_BLOCKS_GYM
-	person_event SPRITE_SUPER_NERD, 12, 19, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a46e8, EVENT_BLACKTHORN_CITY_SUPER_NERD_DOES_NOT_BLOCK_GYM
-	person_event SPRITE_GRAMPS, 2, 20, $6, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a4708, EVENT_BLACKTHORN_CITY_GRAMPS_BLOCKS_DRAGONS_DEN
-	person_event SPRITE_GRAMPS, 2, 21, $8, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a470b, EVENT_BLACKTHORN_CITY_GRAMPS_NOT_BLOCKING_DRAGONS_DEN
-	person_event SPRITE_BLACK_BELT, 31, 24, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x1a470e, -1
-	person_event SPRITE_COOLTRAINER_F, 25, 9, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x1a4722, -1
-	person_event SPRITE_YOUNGSTER, 15, 13, $5, 0, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1a4725, -1
-	person_event SPRITE_YOUNGSTER, 20, 22, $6, 0, 0, -1, -1, 0, 0, 0, SantosScript, EVENT_BLACKTHORN_CITY_SANTOS_OF_SATURDAY
-	person_event SPRITE_COOLTRAINER_F, 19, 35, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x1a4728, -1
+	person_event SPRITE_SUPER_NERD, 12, 18, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a46e8, EVENT_BLACKTHORN_CITY_SUPER_NERD_BLOCKS_GYM
+	person_event SPRITE_SUPER_NERD, 12, 19, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a46e8, EVENT_BLACKTHORN_CITY_SUPER_NERD_DOES_NOT_BLOCK_GYM
+	person_event SPRITE_GRAMPS, 2, 20, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a4708, EVENT_BLACKTHORN_CITY_GRAMPS_BLOCKS_DRAGONS_DEN
+	person_event SPRITE_GRAMPS, 2, 21, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a470b, EVENT_BLACKTHORN_CITY_GRAMPS_NOT_BLOCKING_DRAGONS_DEN
+	person_event SPRITE_BLACK_BELT, 31, 24, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x1a470e, -1
+	person_event SPRITE_COOLTRAINER_F, 25, 9, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x1a4722, -1
+	person_event SPRITE_YOUNGSTER, 15, 13, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1a4725, -1
+	person_event SPRITE_YOUNGSTER, 20, 22, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, SantosScript, EVENT_BLACKTHORN_CITY_SANTOS_OF_SATURDAY
+	person_event SPRITE_COOLTRAINER_F, 19, 35, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x1a4728, -1
--- a/maps/BlackthornDodrioTradeHouse.asm
+++ b/maps/BlackthornDodrioTradeHouse.asm
@@ -35,4 +35,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_LASS, 3, 2, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, Emy, -1
+	person_event SPRITE_LASS, 3, 2, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, Emy, -1
--- a/maps/BlackthornDragonSpeechHouse.asm
+++ b/maps/BlackthornDragonSpeechHouse.asm
@@ -58,5 +58,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_GRANNY, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x195949, -1
-	person_event SPRITE_EKANS, 5, 5, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, EkansScript_0x19594c, -1
+	person_event SPRITE_GRANNY, 3, 2, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x195949, -1
+	person_event SPRITE_EKANS, 5, 5, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, EkansScript_0x19594c, -1
--- a/maps/BlackthornGym1F.asm
+++ b/maps/BlackthornGym1F.asm
@@ -33,7 +33,7 @@
 	writetext UnknownText_0x194efa
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x194fd6, $0000
+	winlosstext UnknownText_0x194fd6, 0
 	loadtrainer CLAIR, 1
 	startbattle
 	returnafterbattle
@@ -87,7 +87,7 @@
 	end
 
 TrainerCooltrainermPaul:
-	trainer EVENT_BEAT_COOLTRAINERM_PAUL, COOLTRAINERM, PAUL, CooltrainermPaulSeenText, CooltrainermPaulBeatenText, $0000, CooltrainermPaulScript
+	trainer EVENT_BEAT_COOLTRAINERM_PAUL, COOLTRAINERM, PAUL, CooltrainermPaulSeenText, CooltrainermPaulBeatenText, 0, CooltrainermPaulScript
 
 CooltrainermPaulScript:
 	talkaftercancel
@@ -98,7 +98,7 @@
 	end
 
 TrainerCooltrainermMike:
-	trainer EVENT_BEAT_COOLTRAINERM_MIKE, COOLTRAINERM, MIKE, CooltrainermMikeSeenText, CooltrainermMikeBeatenText, $0000, CooltrainermMikeScript
+	trainer EVENT_BEAT_COOLTRAINERM_MIKE, COOLTRAINERM, MIKE, CooltrainermMikeSeenText, CooltrainermMikeBeatenText, 0, CooltrainermMikeScript
 
 CooltrainermMikeScript:
 	talkaftercancel
@@ -109,7 +109,7 @@
 	end
 
 TrainerCooltrainerfLola:
-	trainer EVENT_BEAT_COOLTRAINERF_LOLA, COOLTRAINERF, LOLA, CooltrainerfLolaSeenText, CooltrainerfLolaBeatenText, $0000, CooltrainerfLolaScript
+	trainer EVENT_BEAT_COOLTRAINERF_LOLA, COOLTRAINERF, LOLA, CooltrainerfLolaSeenText, CooltrainerfLolaBeatenText, 0, CooltrainerfLolaScript
 
 CooltrainerfLolaScript:
 	talkaftercancel
@@ -404,8 +404,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_CLAIR, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClairScript_0x194e24, -1
-	person_event SPRITE_COOLTRAINER_M, 6, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermMike, -1
-	person_event SPRITE_COOLTRAINER_M, 14, 1, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermPaul, -1
-	person_event SPRITE_COOLTRAINER_F, 2, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfLola, -1
-	person_event SPRITE_GYM_GUY, 15, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BlackthornGymGuyScript, -1
+	person_event SPRITE_CLAIR, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClairScript_0x194e24, -1
+	person_event SPRITE_COOLTRAINER_M, 6, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermMike, -1
+	person_event SPRITE_COOLTRAINER_M, 14, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermPaul, -1
+	person_event SPRITE_COOLTRAINER_F, 2, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfLola, -1
+	person_event SPRITE_GYM_GUY, 15, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BlackthornGymGuyScript, -1
--- a/maps/BlackthornGym2F.asm
+++ b/maps/BlackthornGym2F.asm
@@ -59,7 +59,7 @@
 	jumpstd strengthboulder
 
 TrainerCooltrainermCody:
-	trainer EVENT_BEAT_COOLTRAINERM_CODY, COOLTRAINERM, CODY, CooltrainermCodySeenText, CooltrainermCodyBeatenText, $0000, CooltrainermCodyScript
+	trainer EVENT_BEAT_COOLTRAINERM_CODY, COOLTRAINERM, CODY, CooltrainermCodySeenText, CooltrainermCodyBeatenText, 0, CooltrainermCodyScript
 
 CooltrainermCodyScript:
 	talkaftercancel
@@ -70,7 +70,7 @@
 	end
 
 TrainerCooltrainerfFran:
-	trainer EVENT_BEAT_COOLTRAINERF_FRAN, COOLTRAINERF, FRAN, CooltrainerfFranSeenText, CooltrainerfFranBeatenText, $0000, CooltrainerfFranScript
+	trainer EVENT_BEAT_COOLTRAINERF_FRAN, COOLTRAINERF, FRAN, CooltrainerfFranSeenText, CooltrainerfFranBeatenText, 0, CooltrainerfFranScript
 
 CooltrainerfFranScript:
 	talkaftercancel
@@ -145,11 +145,11 @@
 
 .PersonEvents:
 	db 8
-	person_event SPRITE_COOLTRAINER_M, 1, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainermCody, -1
-	person_event SPRITE_COOLTRAINER_F, 11, 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfFran, -1
-	person_event SPRITE_BOULDER, 2, 8, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_1
-	person_event SPRITE_BOULDER, 3, 2, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_2
-	person_event SPRITE_BOULDER, 16, 6, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_3
-	person_event SPRITE_BOULDER, 3, 3, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
-	person_event SPRITE_BOULDER, 1, 6, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
-	person_event SPRITE_BOULDER, 14, 8, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
+	person_event SPRITE_COOLTRAINER_M, 1, 4, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainermCody, -1
+	person_event SPRITE_COOLTRAINER_F, 11, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfFran, -1
+	person_event SPRITE_BOULDER, 2, 8, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_1
+	person_event SPRITE_BOULDER, 3, 2, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_2
+	person_event SPRITE_BOULDER, 16, 6, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_3
+	person_event SPRITE_BOULDER, 3, 3, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
+	person_event SPRITE_BOULDER, 1, 6, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
+	person_event SPRITE_BOULDER, 14, 8, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
--- a/maps/BlackthornMart.asm
+++ b/maps/BlackthornMart.asm
@@ -7,7 +7,7 @@
 
 ClerkScript_0x195a5d:
 	loadfont
-	pokemart $0, $0011
+	pokemart MARTTYPE_STANDARD, MART_BLACKTHORN
 	loadmovesprites
 	end
 
@@ -58,6 +58,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x195a5d, -1
-	person_event SPRITE_COOLTRAINER_M, 6, 7, $5, 0, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x195a64, -1
-	person_event SPRITE_BLACK_BELT, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BlackBeltScript_0x195a67, -1
+	person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x195a5d, -1
+	person_event SPRITE_COOLTRAINER_M, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x195a64, -1
+	person_event SPRITE_BLACK_BELT, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BlackBeltScript_0x195a67, -1
--- a/maps/BlackthornPokeCenter1F.asm
+++ b/maps/BlackthornPokeCenter1F.asm
@@ -61,7 +61,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x195b79, -1
-	person_event SPRITE_GENTLEMAN, 3, 5, $6, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x195b7c, -1
-	person_event SPRITE_TWIN, 4, 1, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x195b7f, -1
-	person_event SPRITE_COOLTRAINER_M, 6, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x195b82, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x195b79, -1
+	person_event SPRITE_GENTLEMAN, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x195b7c, -1
+	person_event SPRITE_TWIN, 4, 1, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x195b7f, -1
+	person_event SPRITE_COOLTRAINER_M, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x195b82, -1
--- a/maps/BluesHouse.asm
+++ b/maps/BluesHouse.asm
@@ -158,4 +158,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_DAISY, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, DaisyScript_0x19b0d0, -1
+	person_event SPRITE_DAISY, 3, 2, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, DaisyScript_0x19b0d0, -1
--- a/maps/BrunosRoom.asm
+++ b/maps/BrunosRoom.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x180993, $0000
-	dw UnknownScript_0x180997, $0000
+	dw UnknownScript_0x180993, 0
+	dw UnknownScript_0x180997, 0
 
 .MapCallbacks:
 	db 1
@@ -52,7 +52,7 @@
 	writetext UnknownText_0x1809fe
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x180b23, $0000
+	winlosstext UnknownText_0x180b23, 0
 	loadtrainer BRUNO, 1
 	startbattle
 	returnafterbattle
@@ -145,4 +145,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_BRUNO, 7, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BrunoScript_0x1809c5, -1
+	person_event SPRITE_BRUNO, 7, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BrunoScript_0x1809c5, -1
--- a/maps/BurnedTower1F.asm
+++ b/maps/BurnedTower1F.asm
@@ -3,9 +3,9 @@
 	db 3
 
 	; triggers
-	dw UnknownScript_0x185bf2, $0000
-	dw UnknownScript_0x185bf6, $0000
-	dw UnknownScript_0x185bf7, $0000
+	dw UnknownScript_0x185bf2, 0
+	dw UnknownScript_0x185bf6, 0
+	dw UnknownScript_0x185bf7, 0
 
 .MapCallbacks:
 	db 1
@@ -309,8 +309,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_ROCK, 4, 15, $18, 0, 0, -1, -1, 0, 0, 0, BurnedTower1FRock, -1
-	person_event SPRITE_SUPER_NERD, 12, 12, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x185cbc, EVENT_BURNED_TOWER_1F_EUSINE
-	person_event SPRITE_SILVER, 9, 8, $8, 0, 0, -1, -1, 0, 2, 3, ObjectEvent, EVENT_RIVAL_BURNED_TOWER
-	person_event SPRITE_MORTY, 14, 14, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MortyScript_0x185cbf, EVENT_BURNED_TOWER_MORTY
-	person_event SPRITE_POKE_BALL, 2, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185ccb, EVENT_BURNED_TOWER_1F_HP_UP
+	person_event SPRITE_ROCK, 4, 15, SPRITEMOVEDATA_18, 0, 0, -1, -1, 0, 0, 0, BurnedTower1FRock, -1
+	person_event SPRITE_SUPER_NERD, 12, 12, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x185cbc, EVENT_BURNED_TOWER_1F_EUSINE
+	person_event SPRITE_SILVER, 9, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 2, 3, ObjectEvent, EVENT_RIVAL_BURNED_TOWER
+	person_event SPRITE_MORTY, 14, 14, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MortyScript_0x185cbf, EVENT_BURNED_TOWER_MORTY
+	person_event SPRITE_POKE_BALL, 2, 14, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185ccb, EVENT_BURNED_TOWER_1F_HP_UP
--- a/maps/BurnedTowerB1F.asm
+++ b/maps/BurnedTowerB1F.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x18615e, $0000
-	dw UnknownScript_0x18615f, $0000
+	dw UnknownScript_0x18615e, 0
+	dw UnknownScript_0x18615f, 0
 
 .MapCallbacks:
 	db 1
@@ -251,12 +251,12 @@
 
 .PersonEvents:
 	db 9
-	person_event SPRITE_BOULDER, 8, 17, $19, 0, 0, -1, -1, 0, 0, 0, BurnedTowerB1FBoulder, -1
-	person_event SPRITE_RAIKOU, 3, 7, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
-	person_event SPRITE_ENTEI, 3, 12, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
-	person_event SPRITE_SUICUNE, 4, 10, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
-	person_event SPRITE_RAIKOU, 3, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
-	person_event SPRITE_ENTEI, 3, 12, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
-	person_event SPRITE_SUICUNE, 4, 10, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
-	person_event SPRITE_POKE_BALL, 4, 16, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x186231, EVENT_BURNED_TOWER_B1F_TM_ENDURE
-	person_event SPRITE_SUPER_NERD, 12, 10, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x186212, EVENT_EUSINE_IN_BURNED_TOWER
+	person_event SPRITE_BOULDER, 8, 17, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, BurnedTowerB1FBoulder, -1
+	person_event SPRITE_RAIKOU, 3, 7, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
+	person_event SPRITE_ENTEI, 3, 12, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
+	person_event SPRITE_SUICUNE, 4, 10, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
+	person_event SPRITE_RAIKOU, 3, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
+	person_event SPRITE_ENTEI, 3, 12, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
+	person_event SPRITE_SUICUNE, 4, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
+	person_event SPRITE_POKE_BALL, 4, 16, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x186231, EVENT_BURNED_TOWER_B1F_TM_ENDURE
+	person_event SPRITE_SUPER_NERD, 12, 10, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x186212, EVENT_EUSINE_IN_BURNED_TOWER
--- a/maps/CeladonCafe.asm
+++ b/maps/CeladonCafe.asm
@@ -219,8 +219,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_SUPER_NERD, 3, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, SuperNerdScript_0x73049, -1
-	person_event SPRITE_FISHER, 6, 4, $8, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x73051, -1
-	person_event SPRITE_FISHER, 7, 1, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x73062, -1
-	person_event SPRITE_FISHER, 2, 1, $9, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x73073, -1
-	person_event SPRITE_TEACHER, 3, 4, $8, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x73084, -1
+	person_event SPRITE_SUPER_NERD, 3, 9, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, SuperNerdScript_0x73049, -1
+	person_event SPRITE_FISHER, 6, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x73051, -1
+	person_event SPRITE_FISHER, 7, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x73062, -1
+	person_event SPRITE_FISHER, 2, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x73073, -1
+	person_event SPRITE_TEACHER, 3, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x73084, -1
--- a/maps/CeladonCity.asm
+++ b/maps/CeladonCity.asm
@@ -257,12 +257,12 @@
 
 .PersonEvents:
 	db 9
-	person_event SPRITE_FISHER, 11, 26, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a9f43, -1
-	person_event SPRITE_POLIWAG, 11, 27, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeladonCityPoliwrath, -1
-	person_event SPRITE_TEACHER, 24, 20, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x1a9f50, -1
-	person_event SPRITE_GRAMPS, 16, 14, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x1a9f53, -1
-	person_event SPRITE_GRAMPS, 31, 8, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GrampsScript_0x1a9f56, -1
-	person_event SPRITE_YOUNGSTER, 13, 18, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x1a9f59, -1
-	person_event SPRITE_YOUNGSTER, 33, 24, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a9f5c, -1
-	person_event SPRITE_TEACHER, 14, 6, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a9f5f, -1
-	person_event SPRITE_LASS, 22, 7, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LassScript_0x1a9f62, -1
+	person_event SPRITE_FISHER, 11, 26, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a9f43, -1
+	person_event SPRITE_POLIWAG, 11, 27, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeladonCityPoliwrath, -1
+	person_event SPRITE_TEACHER, 24, 20, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x1a9f50, -1
+	person_event SPRITE_GRAMPS, 16, 14, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x1a9f53, -1
+	person_event SPRITE_GRAMPS, 31, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GrampsScript_0x1a9f56, -1
+	person_event SPRITE_YOUNGSTER, 13, 18, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x1a9f59, -1
+	person_event SPRITE_YOUNGSTER, 33, 24, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a9f5c, -1
+	person_event SPRITE_TEACHER, 14, 6, SPRITEMOVEDATA_02, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a9f5f, -1
+	person_event SPRITE_LASS, 22, 7, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LassScript_0x1a9f62, -1
--- a/maps/CeladonDeptStore1F.asm
+++ b/maps/CeladonDeptStore1F.asm
@@ -89,6 +89,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_RECEPTIONIST, 1, 10, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x709e0, -1
-	person_event SPRITE_GENTLEMAN, 4, 11, $2, 1, 1, -1, -1, 0, 0, 0, GentlemanScript_0x709e3, -1
-	person_event SPRITE_TEACHER, 3, 5, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x709e6, -1
+	person_event SPRITE_RECEPTIONIST, 1, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x709e0, -1
+	person_event SPRITE_GENTLEMAN, 4, 11, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, GentlemanScript_0x709e3, -1
+	person_event SPRITE_TEACHER, 3, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x709e6, -1
--- a/maps/CeladonDeptStore2F.asm
+++ b/maps/CeladonDeptStore2F.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x70bad:
 	faceplayer
 	loadfont
-	pokemart $0, $0017
+	pokemart MARTTYPE_STANDARD, MART_CELADON_2F_1
 	loadmovesprites
 	end
 
@@ -15,7 +15,7 @@
 ClerkScript_0x70bb5:
 	faceplayer
 	loadfont
-	pokemart $0, $0018
+	pokemart MARTTYPE_STANDARD, MART_CELADON_2F_2
 	loadmovesprites
 	end
 
@@ -82,7 +82,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_CLERK, 5, 13, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70bad, -1
-	person_event SPRITE_CLERK, 5, 14, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70bb5, -1
-	person_event SPRITE_POKEFAN_M, 2, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x70bbd, -1
-	person_event SPRITE_YOUNGSTER, 2, 6, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x70bc0, -1
+	person_event SPRITE_CLERK, 5, 13, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70bad, -1
+	person_event SPRITE_CLERK, 5, 14, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70bb5, -1
+	person_event SPRITE_POKEFAN_M, 2, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x70bbd, -1
+	person_event SPRITE_YOUNGSTER, 2, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x70bc0, -1
--- a/maps/CeladonDeptStore3F.asm
+++ b/maps/CeladonDeptStore3F.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x70d29:
 	faceplayer
 	loadfont
-	pokemart $0, $0019
+	pokemart MARTTYPE_STANDARD, MART_CELADON_3F
 	loadmovesprites
 	end
 
@@ -107,8 +107,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_CLERK, 1, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70d29, -1
-	person_event SPRITE_YOUNGSTER, 4, 6, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x70d31, -1
-	person_event SPRITE_GAMEBOY_KID, 1, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GameboyKidScript_0x70d34, -1
-	person_event SPRITE_GAMEBOY_KID, 1, 10, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GameboyKidScript_0x70d3f, -1
-	person_event SPRITE_SUPER_NERD, 4, 13, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x70d4a, -1
+	person_event SPRITE_CLERK, 1, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70d29, -1
+	person_event SPRITE_YOUNGSTER, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x70d31, -1
+	person_event SPRITE_GAMEBOY_KID, 1, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GameboyKidScript_0x70d34, -1
+	person_event SPRITE_GAMEBOY_KID, 1, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GameboyKidScript_0x70d3f, -1
+	person_event SPRITE_SUPER_NERD, 4, 13, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x70d4a, -1
--- a/maps/CeladonDeptStore4F.asm
+++ b/maps/CeladonDeptStore4F.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x70f0d:
 	faceplayer
 	loadfont
-	pokemart $0, $001a
+	pokemart MARTTYPE_STANDARD, MART_CELADON_4F
 	loadmovesprites
 	end
 
@@ -65,6 +65,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_CLERK, 5, 13, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70f0d, -1
-	person_event SPRITE_SUPER_NERD, 6, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x70f15, -1
-	person_event SPRITE_YOUNGSTER, 2, 8, $7, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x70f18, -1
+	person_event SPRITE_CLERK, 5, 13, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70f0d, -1
+	person_event SPRITE_SUPER_NERD, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x70f15, -1
+	person_event SPRITE_YOUNGSTER, 2, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x70f18, -1
--- a/maps/CeladonDeptStore5F.asm
+++ b/maps/CeladonDeptStore5F.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x71004:
 	faceplayer
 	loadfont
-	pokemart $0, $001b
+	pokemart MARTTYPE_STANDARD, MART_CELADON_5F_1
 	loadmovesprites
 	end
 
@@ -15,7 +15,7 @@
 ClerkScript_0x7100c:
 	faceplayer
 	loadfont
-	pokemart $0, $001c
+	pokemart MARTTYPE_STANDARD, MART_CELADON_5F_2
 	loadmovesprites
 	end
 
@@ -84,8 +84,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_CLERK, 5, 7, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x71004, -1
-	person_event SPRITE_CLERK, 5, 8, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x7100c, -1
-	person_event SPRITE_GENTLEMAN, 5, 13, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x71014, -1
-	person_event SPRITE_SAILOR, 4, 3, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x71017, -1
-	person_event SPRITE_TEACHER, 7, 1, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x7101a, -1
+	person_event SPRITE_CLERK, 5, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x71004, -1
+	person_event SPRITE_CLERK, 5, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x7100c, -1
+	person_event SPRITE_GENTLEMAN, 5, 13, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x71014, -1
+	person_event SPRITE_SAILOR, 4, 3, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x71017, -1
+	person_event SPRITE_TEACHER, 7, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x7101a, -1
--- a/maps/CeladonDeptStore6F.asm
+++ b/maps/CeladonDeptStore6F.asm
@@ -168,5 +168,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_SUPER_NERD, 2, 9, $7, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7117a, -1
-	person_event SPRITE_YOUNGSTER, 5, 12, $2, 1, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x7117d, -1
+	person_event SPRITE_SUPER_NERD, 2, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7117a, -1
+	person_event SPRITE_YOUNGSTER, 5, 12, SPRITEMOVEDATA_02, 1, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x7117d, -1
--- a/maps/CeladonGameCorner.asm
+++ b/maps/CeladonGameCorner.asm
@@ -325,12 +325,12 @@
 
 .PersonEvents:
 	db 9
-	person_event SPRITE_CLERK, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ClerkScript_0x7211d, -1
-	person_event SPRITE_RECEPTIONIST, 2, 3, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x72120, -1
-	person_event SPRITE_POKEFAN_M, 10, 14, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x72123, -1
-	person_event SPRITE_TEACHER, 7, 17, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7212e, -1
-	person_event SPRITE_FISHING_GURU, 7, 11, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x72139, -1
-	person_event SPRITE_FISHER, 10, 8, $8, 0, 0, -1, 2, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x72144, -1
-	person_event SPRITE_FISHER, 10, 8, $8, 0, 0, -1, 4, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x72144, -1
-	person_event SPRITE_GYM_GUY, 3, 11, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CeladonGymGuyScript, -1
-	person_event SPRITE_GRAMPS, 8, 2, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x72190, -1
+	person_event SPRITE_CLERK, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ClerkScript_0x7211d, -1
+	person_event SPRITE_RECEPTIONIST, 2, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x72120, -1
+	person_event SPRITE_POKEFAN_M, 10, 14, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x72123, -1
+	person_event SPRITE_TEACHER, 7, 17, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7212e, -1
+	person_event SPRITE_FISHING_GURU, 7, 11, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x72139, -1
+	person_event SPRITE_FISHER, 10, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, 2, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x72144, -1
+	person_event SPRITE_FISHER, 10, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, 4, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x72144, -1
+	person_event SPRITE_GYM_GUY, 3, 11, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CeladonGymGuyScript, -1
+	person_event SPRITE_GRAMPS, 8, 2, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x72190, -1
--- a/maps/CeladonGameCornerPrizeRoom.asm
+++ b/maps/CeladonGameCornerPrizeRoom.asm
@@ -284,5 +284,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_GENTLEMAN, 2, 0, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x726e9, -1
-	person_event SPRITE_PHARMACIST, 4, 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PharmacistScript_0x726ec, -1
+	person_event SPRITE_GENTLEMAN, 2, 0, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x726e9, -1
+	person_event SPRITE_PHARMACIST, 4, 4, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PharmacistScript_0x726ec, -1
--- a/maps/CeladonGym.asm
+++ b/maps/CeladonGym.asm
@@ -13,7 +13,7 @@
 	writetext UnknownText_0x72b28
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x72c3e, $0000
+	winlosstext UnknownText_0x72c3e, 0
 	loadtrainer ERIKA, 1
 	startbattle
 	returnafterbattle
@@ -42,7 +42,7 @@
 	end
 
 TrainerLassMichelle:
-	trainer EVENT_BEAT_LASS_MICHELLE, LASS, MICHELLE, LassMichelleSeenText, LassMichelleBeatenText, $0000, LassMichelleScript
+	trainer EVENT_BEAT_LASS_MICHELLE, LASS, MICHELLE, LassMichelleSeenText, LassMichelleBeatenText, 0, LassMichelleScript
 
 LassMichelleScript:
 	talkaftercancel
@@ -53,7 +53,7 @@
 	end
 
 TrainerPicnickerTanya:
-	trainer EVENT_BEAT_PICNICKER_TANYA, PICNICKER, TANYA, PicnickerTanyaSeenText, PicnickerTanyaBeatenText, $0000, PicnickerTanyaScript
+	trainer EVENT_BEAT_PICNICKER_TANYA, PICNICKER, TANYA, PicnickerTanyaSeenText, PicnickerTanyaBeatenText, 0, PicnickerTanyaScript
 
 PicnickerTanyaScript:
 	talkaftercancel
@@ -64,7 +64,7 @@
 	end
 
 TrainerBeautyJulia:
-	trainer EVENT_BEAT_BEAUTY_JULIA, BEAUTY, JULIA, BeautyJuliaSeenText, BeautyJuliaBeatenText, $0000, BeautyJuliaScript
+	trainer EVENT_BEAT_BEAUTY_JULIA, BEAUTY, JULIA, BeautyJuliaSeenText, BeautyJuliaBeatenText, 0, BeautyJuliaScript
 
 BeautyJuliaScript:
 	talkaftercancel
@@ -75,7 +75,7 @@
 	end
 
 TrainerTwinsJoandzoe1:
-	trainer EVENT_BEAT_TWINS_JO_AND_ZOE, TWINS, JOANDZOE1, TwinsJoandzoe1SeenText, TwinsJoandzoe1BeatenText, $0000, TwinsJoandzoe1Script
+	trainer EVENT_BEAT_TWINS_JO_AND_ZOE, TWINS, JOANDZOE1, TwinsJoandzoe1SeenText, TwinsJoandzoe1BeatenText, 0, TwinsJoandzoe1Script
 
 TwinsJoandzoe1Script:
 	talkaftercancel
@@ -86,7 +86,7 @@
 	end
 
 TrainerTwinsJoandzoe2:
-	trainer EVENT_BEAT_TWINS_JO_AND_ZOE, TWINS, JOANDZOE2, TwinsJoandzoe2SeenText, TwinsJoandzoe2BeatenText, $0000, TwinsJoandzoe2Script
+	trainer EVENT_BEAT_TWINS_JO_AND_ZOE, TWINS, JOANDZOE2, TwinsJoandzoe2SeenText, TwinsJoandzoe2BeatenText, 0, TwinsJoandzoe2Script
 
 TwinsJoandzoe2Script:
 	talkaftercancel
@@ -278,9 +278,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_ERIKA, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ErikaScript_0x72a6a, -1
-	person_event SPRITE_LASS, 8, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerLassMichelle, -1
-	person_event SPRITE_LASS, 8, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerTanya, -1
-	person_event SPRITE_BUENA, 5, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBeautyJulia, -1
-	person_event SPRITE_TWIN, 10, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsJoandzoe1, -1
-	person_event SPRITE_TWIN, 10, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsJoandzoe2, -1
+	person_event SPRITE_ERIKA, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ErikaScript_0x72a6a, -1
+	person_event SPRITE_LASS, 8, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerLassMichelle, -1
+	person_event SPRITE_LASS, 8, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerTanya, -1
+	person_event SPRITE_BUENA, 5, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBeautyJulia, -1
+	person_event SPRITE_TWIN, 10, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsJoandzoe1, -1
+	person_event SPRITE_TWIN, 10, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsJoandzoe2, -1
--- a/maps/CeladonMansion1F.asm
+++ b/maps/CeladonMansion1F.asm
@@ -91,7 +91,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_GRANNY, 5, 1, $3, 0, 0, -1, -1, 0, 0, 0, CeladonMansionManager, -1
-	person_event SPRITE_GROWLITHE, 6, 2, $16, 0, 0, -1, -1, 0, 0, 0, CeladonMansion1FMeowth, -1
-	person_event SPRITE_CLEFAIRY, 4, 3, $16, 0, 0, -1, -1, 0, 0, 0, CeladonMansion1FClefairy, -1
-	person_event SPRITE_GROWLITHE, 4, 4, $16, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeladonMansion1FNidoranF, -1
+	person_event SPRITE_GRANNY, 5, 1, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, CeladonMansionManager, -1
+	person_event SPRITE_GROWLITHE, 6, 2, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, CeladonMansion1FMeowth, -1
+	person_event SPRITE_CLEFAIRY, 4, 3, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, CeladonMansion1FClefairy, -1
+	person_event SPRITE_GROWLITHE, 4, 4, SPRITEMOVEDATA_16, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeladonMansion1FNidoranF, -1
--- a/maps/CeladonMansion3F.asm
+++ b/maps/CeladonMansion3F.asm
@@ -206,7 +206,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_COOLTRAINER_M, 6, 3, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x71670, -1
-	person_event SPRITE_GYM_GUY, 4, 3, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x71696, -1
-	person_event SPRITE_SUPER_NERD, 7, 0, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x716bc, -1
-	person_event SPRITE_FISHER, 4, 0, $7, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x716bf, -1
+	person_event SPRITE_COOLTRAINER_M, 6, 3, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x71670, -1
+	person_event SPRITE_GYM_GUY, 4, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x71696, -1
+	person_event SPRITE_SUPER_NERD, 7, 0, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x716bc, -1
+	person_event SPRITE_FISHER, 4, 0, SPRITEMOVEDATA_STANDING_UP, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x716bf, -1
--- a/maps/CeladonMansionRoof.asm
+++ b/maps/CeladonMansionRoof.asm
@@ -49,4 +49,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_FISHER, 5, 7, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x71a39, -1
+	person_event SPRITE_FISHER, 5, 7, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x71a39, -1
--- a/maps/CeladonMansionRoofHouse.asm
+++ b/maps/CeladonMansionRoofHouse.asm
@@ -130,4 +130,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_PHARMACIST, 2, 3, $6, 2, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PharmacistScript_0x71afd, -1
+	person_event SPRITE_PHARMACIST, 2, 3, SPRITEMOVEDATA_STANDING_DOWN, 2, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PharmacistScript_0x71afd, -1
--- a/maps/CeladonPokeCenter1F.asm
+++ b/maps/CeladonPokeCenter1F.asm
@@ -156,8 +156,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x71e22, -1
-	person_event SPRITE_GENTLEMAN, 5, 1, $5, 0, 1, -1, -1, 0, 0, 0, GentlemanScript_0x71e25, -1
-	person_event SPRITE_PHARMACIST, 3, 0, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PharmacistScript_0x71e2b, -1
-	person_event SPRITE_COOLTRAINER_F, 6, 8, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x71e28, -1
-	person_event SPRITE_SUPER_NERD, 3, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x71e2e, EVENT_SET_WHEN_FOUGHT_HO_OH
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x71e22, -1
+	person_event SPRITE_GENTLEMAN, 5, 1, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, GentlemanScript_0x71e25, -1
+	person_event SPRITE_PHARMACIST, 3, 0, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PharmacistScript_0x71e2b, -1
+	person_event SPRITE_COOLTRAINER_F, 6, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x71e28, -1
+	person_event SPRITE_SUPER_NERD, 3, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x71e2e, EVENT_SET_WHEN_FOUGHT_HO_OH
--- a/maps/CeruleanCity.asm
+++ b/maps/CeruleanCity.asm
@@ -299,9 +299,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_COOLTRAINER_M, 23, 15, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerMScript_0x184009, -1
-	person_event SPRITE_SUPER_NERD, 15, 23, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x18401d, -1
-	person_event SPRITE_SLOWPOKE, 24, 20, $1, 0, 0, -1, -1, 0, 0, 0, CeruleanCitySlowbro, -1
-	person_event SPRITE_COOLTRAINER_F, 24, 21, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x18402a, -1
-	person_event SPRITE_FISHER, 26, 30, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x18404a, -1
-	person_event SPRITE_YOUNGSTER, 12, 6, $3, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x184064, -1
+	person_event SPRITE_COOLTRAINER_M, 23, 15, SPRITEMOVEDATA_02, 2, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerMScript_0x184009, -1
+	person_event SPRITE_SUPER_NERD, 15, 23, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x18401d, -1
+	person_event SPRITE_SLOWPOKE, 24, 20, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, CeruleanCitySlowbro, -1
+	person_event SPRITE_COOLTRAINER_F, 24, 21, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x18402a, -1
+	person_event SPRITE_FISHER, 26, 30, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x18404a, -1
+	person_event SPRITE_YOUNGSTER, 12, 6, SPRITEMOVEDATA_03, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x184064, -1
--- a/maps/CeruleanGym.asm
+++ b/maps/CeruleanGym.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x1883d9, $0000
-	dw UnknownScript_0x1883da, $0000
+	dw UnknownScript_0x1883d9, 0
+	dw UnknownScript_0x1883da, 0
 
 .MapCallbacks:
 	db 0
@@ -60,7 +60,7 @@
 	writetext UnknownText_0x188674
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x18870c, $0000
+	winlosstext UnknownText_0x18870c, 0
 	loadtrainer MISTY, 1
 	startbattle
 	returnafterbattle
@@ -80,7 +80,7 @@
 	end
 
 TrainerSwimmerfDiana:
-	trainer EVENT_BEAT_SWIMMERF_DIANA, SWIMMERF, DIANA, SwimmerfDianaSeenText, SwimmerfDianaBeatenText, $0000, SwimmerfDianaScript
+	trainer EVENT_BEAT_SWIMMERF_DIANA, SWIMMERF, DIANA, SwimmerfDianaSeenText, SwimmerfDianaBeatenText, 0, SwimmerfDianaScript
 
 SwimmerfDianaScript:
 	talkaftercancel
@@ -91,7 +91,7 @@
 	end
 
 TrainerSwimmerfBriana:
-	trainer EVENT_BEAT_SWIMMERF_BRIANA, SWIMMERF, BRIANA, SwimmerfBrianaSeenText, SwimmerfBrianaBeatenText, $0000, SwimmerfBrianaScript
+	trainer EVENT_BEAT_SWIMMERF_BRIANA, SWIMMERF, BRIANA, SwimmerfBrianaSeenText, SwimmerfBrianaBeatenText, 0, SwimmerfBrianaScript
 
 SwimmerfBrianaScript:
 	talkaftercancel
@@ -102,7 +102,7 @@
 	end
 
 TrainerSwimmermParker:
-	trainer EVENT_BEAT_SWIMMERM_PARKER, SWIMMERM, PARKER, SwimmermParkerSeenText, SwimmermParkerBeatenText, $0000, SwimmermParkerScript
+	trainer EVENT_BEAT_SWIMMERM_PARKER, SWIMMERM, PARKER, SwimmermParkerSeenText, SwimmermParkerBeatenText, 0, SwimmermParkerScript
 
 SwimmermParkerScript:
 	talkaftercancel
@@ -377,9 +377,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_ROCKET, 10, 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_CERULEAN_GYM_ROCKET
-	person_event SPRITE_MISTY, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, MistyScript_0x188432, EVENT_TRAINERS_IN_CERULEAN_GYM
-	person_event SPRITE_SWIMMER_GIRL, 6, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfDiana, EVENT_TRAINERS_IN_CERULEAN_GYM
-	person_event SPRITE_SWIMMER_GIRL, 9, 1, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerSwimmerfBriana, EVENT_TRAINERS_IN_CERULEAN_GYM
-	person_event SPRITE_SWIMMER_GUY, 9, 8, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermParker, EVENT_TRAINERS_IN_CERULEAN_GYM
-	person_event SPRITE_GYM_GUY, 13, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeruleanGymGuyScript, EVENT_TRAINERS_IN_CERULEAN_GYM
+	person_event SPRITE_ROCKET, 10, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_CERULEAN_GYM_ROCKET
+	person_event SPRITE_MISTY, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, MistyScript_0x188432, EVENT_TRAINERS_IN_CERULEAN_GYM
+	person_event SPRITE_SWIMMER_GIRL, 6, 4, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfDiana, EVENT_TRAINERS_IN_CERULEAN_GYM
+	person_event SPRITE_SWIMMER_GIRL, 9, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerSwimmerfBriana, EVENT_TRAINERS_IN_CERULEAN_GYM
+	person_event SPRITE_SWIMMER_GUY, 9, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermParker, EVENT_TRAINERS_IN_CERULEAN_GYM
+	person_event SPRITE_GYM_GUY, 13, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeruleanGymGuyScript, EVENT_TRAINERS_IN_CERULEAN_GYM
--- a/maps/CeruleanGymBadgeSpeechHouse.asm
+++ b/maps/CeruleanGymBadgeSpeechHouse.asm
@@ -30,4 +30,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_POKEFAN_M, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x188002, -1
+	person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x188002, -1
--- a/maps/CeruleanMart.asm
+++ b/maps/CeruleanMart.asm
@@ -7,7 +7,7 @@
 
 ClerkScript_0x188ac0:
 	loadfont
-	pokemart $0, $0014
+	pokemart MARTTYPE_STANDARD, MART_CERULEAN
 	loadmovesprites
 	end
 
@@ -57,6 +57,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x188ac0, -1
-	person_event SPRITE_COOLTRAINER_M, 6, 1, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerMScript_0x188ac7, -1
-	person_event SPRITE_COOLTRAINER_F, 2, 7, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x188aca, -1
+	person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x188ac0, -1
+	person_event SPRITE_COOLTRAINER_M, 6, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerMScript_0x188ac7, -1
+	person_event SPRITE_COOLTRAINER_F, 2, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x188aca, -1
--- a/maps/CeruleanPokeCenter1F.asm
+++ b/maps/CeruleanPokeCenter1F.asm
@@ -75,6 +75,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18820f, -1
-	person_event SPRITE_SUPER_NERD, 4, 8, $5, 0, 1, -1, -1, 0, 0, 0, SuperNerdScript_0x188212, -1
-	person_event SPRITE_GYM_GUY, 5, 1, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GymGuyScript_0x18821e, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18820f, -1
+	person_event SPRITE_SUPER_NERD, 4, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, SuperNerdScript_0x188212, -1
+	person_event SPRITE_GYM_GUY, 5, 1, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GymGuyScript_0x18821e, -1
--- a/maps/CeruleanPoliceStation.asm
+++ b/maps/CeruleanPoliceStation.asm
@@ -55,6 +55,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_FISHING_GURU, 1, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x18804a, -1
-	person_event SPRITE_POKEFAN_F, 4, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x18804d, -1
-	person_event SPRITE_DIGLETT, 5, 3, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, DiglettScript_0x188050, -1
+	person_event SPRITE_FISHING_GURU, 1, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x18804a, -1
+	person_event SPRITE_POKEFAN_F, 4, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x18804d, -1
+	person_event SPRITE_DIGLETT, 5, 3, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, DiglettScript_0x188050, -1
--- a/maps/CeruleanTradeSpeechHouse.asm
+++ b/maps/CeruleanTradeSpeechHouse.asm
@@ -64,7 +64,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_GRANNY, 4, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrannyScript_0x188133, -1
-	person_event SPRITE_GRAMPS, 2, 1, $2, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x188136, -1
-	person_event SPRITE_RHYDON, 2, 5, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, RhydonScript_0x188139, -1
-	person_event SPRITE_ZUBAT, 6, 5, $16, 0, 0, -1, -1, 0, 0, 0, ZubatScript_0x188143, -1
+	person_event SPRITE_GRANNY, 4, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrannyScript_0x188133, -1
+	person_event SPRITE_GRAMPS, 2, 1, SPRITEMOVEDATA_02, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x188136, -1
+	person_event SPRITE_RHYDON, 2, 5, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, RhydonScript_0x188139, -1
+	person_event SPRITE_ZUBAT, 6, 5, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, ZubatScript_0x188143, -1
--- a/maps/CharcoalKiln.asm
+++ b/maps/CharcoalKiln.asm
@@ -163,6 +163,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_BLACK_BELT, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, CharcoalKilnBoss, EVENT_CHARCOAL_KILN_BOSS
-	person_event SPRITE_YOUNGSTER, 3, 5, $2, 1, 1, -1, -1, 0, 0, 0, CharcoalKilnApprentice, EVENT_CHARCOAL_KILN_APPRENTICE
-	person_event SPRITE_MOLTRES, 6, 5, $16, 2, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CharcoalKilnFarfetchd, EVENT_CHARCOAL_KILN_FARFETCH_D
+	person_event SPRITE_BLACK_BELT, 3, 2, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, CharcoalKilnBoss, EVENT_CHARCOAL_KILN_BOSS
+	person_event SPRITE_YOUNGSTER, 3, 5, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, CharcoalKilnApprentice, EVENT_CHARCOAL_KILN_APPRENTICE
+	person_event SPRITE_MOLTRES, 6, 5, SPRITEMOVEDATA_16, 2, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CharcoalKilnFarfetchd, EVENT_CHARCOAL_KILN_FARFETCH_D
--- a/maps/CherrygroveCity.asm
+++ b/maps/CherrygroveCity.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
 
 .MapCallbacks:
 	db 1
@@ -570,8 +570,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_GRAMPS, 6, 32, $6, 0, 0, -1, -1, 0, 0, 0, CherrygroveCityGuideGent, EVENT_GUIDE_GENT_IN_HIS_HOUSE
-	person_event SPRITE_SILVER, 6, 39, $3, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_CHERRYGROVE_CITY
-	person_event SPRITE_TEACHER, 12, 27, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x19c146, -1
-	person_event SPRITE_YOUNGSTER, 7, 23, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x19c15a, -1
-	person_event SPRITE_FISHER, 12, 7, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, MysticWaterGuy, -1
+	person_event SPRITE_GRAMPS, 6, 32, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, CherrygroveCityGuideGent, EVENT_GUIDE_GENT_IN_HIS_HOUSE
+	person_event SPRITE_SILVER, 6, 39, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_CHERRYGROVE_CITY
+	person_event SPRITE_TEACHER, 12, 27, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x19c146, -1
+	person_event SPRITE_YOUNGSTER, 7, 23, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x19c15a, -1
+	person_event SPRITE_FISHER, 12, 7, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, MysticWaterGuy, -1
--- a/maps/CherrygroveEvolutionSpeechHouse.asm
+++ b/maps/CherrygroveEvolutionSpeechHouse.asm
@@ -56,5 +56,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_LASS, 5, 3, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x196cb9, -1
-	person_event SPRITE_YOUNGSTER, 5, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x196cb2, -1
+	person_event SPRITE_LASS, 5, 3, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x196cb9, -1
+	person_event SPRITE_YOUNGSTER, 5, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x196cb2, -1
--- a/maps/CherrygroveGymSpeechHouse.asm
+++ b/maps/CherrygroveGymSpeechHouse.asm
@@ -59,5 +59,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_POKEFAN_M, 3, 2, $6, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x196ae1, -1
-	person_event SPRITE_BUG_CATCHER, 5, 5, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x196ae4, -1
+	person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x196ae1, -1
+	person_event SPRITE_BUG_CATCHER, 5, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x196ae4, -1
--- a/maps/CherrygroveMart.asm
+++ b/maps/CherrygroveMart.asm
@@ -9,12 +9,12 @@
 	loadfont
 	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
 	iftrue UnknownScript_0x196817
-	pokemart $0, $0000
+	pokemart MARTTYPE_STANDARD, MART_CHERRYGROVE
 	loadmovesprites
 	end
 
 UnknownScript_0x196817:
-	pokemart $0, $0001
+	pokemart MARTTYPE_STANDARD, MART_CHERRYGROVE_DEX
 	loadmovesprites
 	end
 
@@ -83,6 +83,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x19680a, -1
-	person_event SPRITE_COOLTRAINER_M, 6, 7, $5, 0, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x19681d, -1
-	person_event SPRITE_YOUNGSTER, 5, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x196831, -1
+	person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x19680a, -1
+	person_event SPRITE_COOLTRAINER_M, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x19681d, -1
+	person_event SPRITE_YOUNGSTER, 5, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x196831, -1
--- a/maps/CherrygrovePokeCenter1F.asm
+++ b/maps/CherrygrovePokeCenter1F.asm
@@ -80,7 +80,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x19696d, -1
-	person_event SPRITE_FISHER, 3, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x196970, -1
-	person_event SPRITE_GENTLEMAN, 6, 8, $7, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x196973, -1
-	person_event SPRITE_TEACHER, 6, 1, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x196976, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x19696d, -1
+	person_event SPRITE_FISHER, 3, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x196970, -1
+	person_event SPRITE_GENTLEMAN, 6, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x196973, -1
+	person_event SPRITE_TEACHER, 6, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x196976, -1
--- a/maps/CianwoodCity.asm
+++ b/maps/CianwoodCity.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
 
 .MapCallbacks:
 	db 1
@@ -52,7 +52,7 @@
 	writetext UnknownText_0x1a0433
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x1a05a1, $0000
+	winlosstext UnknownText_0x1a05a1, 0
 	setlasttalked $c
 	loadtrainer MYSTICALMAN, EUSINE
 	startbattle
@@ -401,15 +401,15 @@
 
 .PersonEvents:
 	db 12
-	person_event SPRITE_STANDING_YOUNGSTER, 37, 21, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, StandingYoungsterScript_0x1a00b3, -1
-	person_event SPRITE_POKEFAN_M, 33, 17, $5, 0, 1, -1, -1, 0, 0, 0, PokefanMScript_0x1a00b6, -1
-	person_event SPRITE_LASS, 42, 14, $4, 2, 0, -1, -1, 0, 0, 0, LassScript_0x1a00b9, -1
-	person_event SPRITE_ROCK, 16, 8, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-	person_event SPRITE_ROCK, 17, 9, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-	person_event SPRITE_ROCK, 25, 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-	person_event SPRITE_ROCK, 29, 5, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-	person_event SPRITE_ROCK, 27, 10, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-	person_event SPRITE_ROCK, 19, 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-	person_event SPRITE_POKEFAN_F, 46, 10, $5, 0, 1, -1, -1, 0, 0, 0, PokefanFScript_0x1a0084, -1
-	person_event SPRITE_SUPER_NERD, 21, 11, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_CIANWOOD_CITY_EUSINE
-	person_event SPRITE_SUICUNE, 14, 10, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_SAW_SUICUNE_AT_CIANWOOD_CITY
+	person_event SPRITE_STANDING_YOUNGSTER, 37, 21, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, StandingYoungsterScript_0x1a00b3, -1
+	person_event SPRITE_POKEFAN_M, 33, 17, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, PokefanMScript_0x1a00b6, -1
+	person_event SPRITE_LASS, 42, 14, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, 0, 0, 0, LassScript_0x1a00b9, -1
+	person_event SPRITE_ROCK, 16, 8, SPRITEMOVEDATA_18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
+	person_event SPRITE_ROCK, 17, 9, SPRITEMOVEDATA_18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
+	person_event SPRITE_ROCK, 25, 4, SPRITEMOVEDATA_18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
+	person_event SPRITE_ROCK, 29, 5, SPRITEMOVEDATA_18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
+	person_event SPRITE_ROCK, 27, 10, SPRITEMOVEDATA_18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
+	person_event SPRITE_ROCK, 19, 4, SPRITEMOVEDATA_18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
+	person_event SPRITE_POKEFAN_F, 46, 10, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, PokefanFScript_0x1a0084, -1
+	person_event SPRITE_SUPER_NERD, 21, 11, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_CIANWOOD_CITY_EUSINE
+	person_event SPRITE_SUICUNE, 14, 10, SPRITEMOVEDATA_01, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_SAW_SUICUNE_AT_CIANWOOD_CITY
--- a/maps/CianwoodCityPhotoStudio.asm
+++ b/maps/CianwoodCityPhotoStudio.asm
@@ -62,4 +62,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_FISHING_GURU, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FishingGuruScript_0x9e0e0, -1
+	person_event SPRITE_FISHING_GURU, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FishingGuruScript_0x9e0e0, -1
--- a/maps/CianwoodGym.asm
+++ b/maps/CianwoodGym.asm
@@ -28,7 +28,7 @@
 	writetext UnknownText_0x9d78a
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x9d7f6, $0000
+	winlosstext UnknownText_0x9d7f6, 0
 	loadtrainer CHUCK, 1
 	startbattle
 	returnafterbattle
@@ -76,7 +76,7 @@
 	jumpstd radiotowerrockets
 
 TrainerBlackbeltYoshi:
-	trainer EVENT_BEAT_BLACKBELT_YOSHI, BLACKBELT_T, YOSHI, BlackbeltYoshiSeenText, BlackbeltYoshiBeatenText, $0000, BlackbeltYoshiScript
+	trainer EVENT_BEAT_BLACKBELT_YOSHI, BLACKBELT_T, YOSHI, BlackbeltYoshiSeenText, BlackbeltYoshiBeatenText, 0, BlackbeltYoshiScript
 
 BlackbeltYoshiScript:
 	talkaftercancel
@@ -87,7 +87,7 @@
 	end
 
 TrainerBlackbeltLao:
-	trainer EVENT_BEAT_BLACKBELT_LAO, BLACKBELT_T, LAO, BlackbeltLaoSeenText, BlackbeltLaoBeatenText, $0000, BlackbeltLaoScript
+	trainer EVENT_BEAT_BLACKBELT_LAO, BLACKBELT_T, LAO, BlackbeltLaoSeenText, BlackbeltLaoBeatenText, 0, BlackbeltLaoScript
 
 BlackbeltLaoScript:
 	talkaftercancel
@@ -98,7 +98,7 @@
 	end
 
 TrainerBlackbeltNob:
-	trainer EVENT_BEAT_BLACKBELT_NOB, BLACKBELT_T, NOB, BlackbeltNobSeenText, BlackbeltNobBeatenText, $0000, BlackbeltNobScript
+	trainer EVENT_BEAT_BLACKBELT_NOB, BLACKBELT_T, NOB, BlackbeltNobSeenText, BlackbeltNobBeatenText, 0, BlackbeltNobScript
 
 BlackbeltNobScript:
 	talkaftercancel
@@ -109,7 +109,7 @@
 	end
 
 TrainerBlackbeltLung:
-	trainer EVENT_BEAT_BLACKBELT_LUNG, BLACKBELT_T, LUNG, BlackbeltLungSeenText, BlackbeltLungBeatenText, $0000, BlackbeltLungScript
+	trainer EVENT_BEAT_BLACKBELT_LUNG, BLACKBELT_T, LUNG, BlackbeltLungSeenText, BlackbeltLungBeatenText, 0, BlackbeltLungScript
 
 BlackbeltLungScript:
 	talkaftercancel
@@ -313,12 +313,12 @@
 
 .PersonEvents:
 	db 9
-	person_event SPRITE_CHUCK, 1, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, ChuckScript_0x9d60f, -1
-	person_event SPRITE_BLACK_BELT, 12, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBlackbeltYoshi, -1
-	person_event SPRITE_BLACK_BELT, 12, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBlackbeltLao, -1
-	person_event SPRITE_BLACK_BELT, 9, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBlackbeltNob, -1
-	person_event SPRITE_BLACK_BELT, 5, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerBlackbeltLung, -1
-	person_event SPRITE_BOULDER, 1, 5, $19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
-	person_event SPRITE_BOULDER, 7, 3, $19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
-	person_event SPRITE_BOULDER, 7, 4, $19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
-	person_event SPRITE_BOULDER, 7, 5, $19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
+	person_event SPRITE_CHUCK, 1, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, ChuckScript_0x9d60f, -1
+	person_event SPRITE_BLACK_BELT, 12, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBlackbeltYoshi, -1
+	person_event SPRITE_BLACK_BELT, 12, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBlackbeltLao, -1
+	person_event SPRITE_BLACK_BELT, 9, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBlackbeltNob, -1
+	person_event SPRITE_BLACK_BELT, 5, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerBlackbeltLung, -1
+	person_event SPRITE_BOULDER, 1, 5, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
+	person_event SPRITE_BOULDER, 7, 3, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
+	person_event SPRITE_BOULDER, 7, 4, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
+	person_event SPRITE_BOULDER, 7, 5, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
--- a/maps/CianwoodLugiaSpeechHouse.asm
+++ b/maps/CianwoodLugiaSpeechHouse.asm
@@ -75,6 +75,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_TEACHER, 4, 2, $6, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x9e1b0, -1
-	person_event SPRITE_LASS, 5, 6, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x9e1b3, -1
-	person_event SPRITE_TWIN, 2, 0, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TwinScript_0x9e1b6, -1
+	person_event SPRITE_TEACHER, 4, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x9e1b0, -1
+	person_event SPRITE_LASS, 5, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x9e1b3, -1
+	person_event SPRITE_TWIN, 2, 0, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TwinScript_0x9e1b6, -1
--- a/maps/CianwoodPharmacy.asm
+++ b/maps/CianwoodPharmacy.asm
@@ -3,7 +3,7 @@
 	db 1
 
 	; triggers
-	dw CianwoodPharmacyTrigger, $0000
+	dw CianwoodPharmacyTrigger, 0
 
 .MapCallbacks:
 	db 0
@@ -32,7 +32,7 @@
 	end
 
 .Mart
-	pokemart $3, $0004
+	pokemart MARTTYPE_PHARMACY, MART_CIANWOOD
 	loadmovesprites
 	end
 
@@ -90,4 +90,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_PHARMACIST, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CianwoodPharmacist, -1
+	person_event SPRITE_PHARMACIST, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CianwoodPharmacist, -1
--- a/maps/CianwoodPokeCenter1F.asm
+++ b/maps/CianwoodPokeCenter1F.asm
@@ -143,7 +143,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x9dbcf, -1
-	person_event SPRITE_LASS, 5, 1, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x9dbd2, -1
-	person_event SPRITE_GYM_GUY, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CianwoodGymGuyScript, -1
-	person_event SPRITE_SUPER_NERD, 6, 8, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x9dbea, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x9dbcf, -1
+	person_event SPRITE_LASS, 5, 1, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x9dbd2, -1
+	person_event SPRITE_GYM_GUY, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CianwoodGymGuyScript, -1
+	person_event SPRITE_SUPER_NERD, 6, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x9dbea, -1
--- a/maps/CinnabarIsland.asm
+++ b/maps/CinnabarIsland.asm
@@ -146,4 +146,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_BLUE, 6, 9, $3, 0, 0, -1, -1, 0, 0, 0, CinnabarIslandBlue, EVENT_BLUE_IN_CINNABAR
+	person_event SPRITE_BLUE, 6, 9, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, CinnabarIslandBlue, EVENT_BLUE_IN_CINNABAR
--- a/maps/CinnabarPokeCenter1F.asm
+++ b/maps/CinnabarPokeCenter1F.asm
@@ -47,6 +47,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x1ab32c, -1
-	person_event SPRITE_COOLTRAINER_F, 6, 7, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x1ab32f, -1
-	person_event SPRITE_FISHER, 4, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1ab332, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x1ab32c, -1
+	person_event SPRITE_COOLTRAINER_F, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x1ab32f, -1
+	person_event SPRITE_FISHER, 4, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1ab332, -1
--- a/maps/Colosseum.asm
+++ b/maps/Colosseum.asm
@@ -3,9 +3,9 @@
 	db 3
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
-	dw .Trigger3, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
+	dw .Trigger3, 0
 
 .MapCallbacks:
 	db 2
@@ -83,5 +83,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_CHRIS, 4, 3, $9, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_GAVE_KURT_APRICORNS
-	person_event SPRITE_CHRIS, 4, 6, $8, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_RECEIVED_BALLS_FROM_KURT
+	person_event SPRITE_CHRIS, 4, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_GAVE_KURT_APRICORNS
+	person_event SPRITE_CHRIS, 4, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_RECEIVED_BALLS_FROM_KURT
--- a/maps/CopycatsHouse1F.asm
+++ b/maps/CopycatsHouse1F.asm
@@ -85,6 +85,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_POKEFAN_M, 3, 2, $6, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x18ad13, -1
-	person_event SPRITE_POKEFAN_F, 4, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PokefanFScript_0x18ad16, -1
-	person_event SPRITE_CLEFAIRY, 6, 6, $16, 0, 0, -1, -1, 0, 0, 0, ClefairyScript_0x18ad2a, -1
+	person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x18ad13, -1
+	person_event SPRITE_POKEFAN_F, 4, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PokefanFScript_0x18ad16, -1
+	person_event SPRITE_CLEFAIRY, 6, 6, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, ClefairyScript_0x18ad2a, -1
--- a/maps/CopycatsHouse2F.asm
+++ b/maps/CopycatsHouse2F.asm
@@ -373,9 +373,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_COPYCAT, 3, 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Copycat, EVENT_COPYCAT_1
-	person_event SPRITE_MOLTRES, 4, 6, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CopycatsDodrio, -1
-	person_event SPRITE_FAIRY, 1, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CopycatsHouse2FDoll, EVENT_COPYCATS_HOUSE_2F_DOLL
-	person_event SPRITE_MONSTER, 1, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CopycatsHouse2FDoll, -1
-	person_event SPRITE_BIRD, 1, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CopycatsHouse2FDoll, -1
-	person_event SPRITE_COPYCAT, 3, 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, Copycat, EVENT_COPYCAT_2
+	person_event SPRITE_COPYCAT, 3, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Copycat, EVENT_COPYCAT_1
+	person_event SPRITE_MOLTRES, 4, 6, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CopycatsDodrio, -1
+	person_event SPRITE_FAIRY, 1, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CopycatsHouse2FDoll, EVENT_COPYCATS_HOUSE_2F_DOLL
+	person_event SPRITE_MONSTER, 1, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CopycatsHouse2FDoll, -1
+	person_event SPRITE_BIRD, 1, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CopycatsHouse2FDoll, -1
+	person_event SPRITE_COPYCAT, 3, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, Copycat, EVENT_COPYCAT_2
--- a/maps/DanceTheatre.asm
+++ b/maps/DanceTheatre.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerKimono_girlNaoko2:
-	trainer EVENT_BEAT_KIMONO_GIRL_NAOKO, KIMONO_GIRL, NAOKO2, Kimono_girlNaoko2SeenText, Kimono_girlNaoko2BeatenText, $0000, Kimono_girlNaoko2Script
+	trainer EVENT_BEAT_KIMONO_GIRL_NAOKO, KIMONO_GIRL, NAOKO2, Kimono_girlNaoko2SeenText, Kimono_girlNaoko2BeatenText, 0, Kimono_girlNaoko2Script
 
 Kimono_girlNaoko2Script:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerKimono_girlSayo:
-	trainer EVENT_BEAT_KIMONO_GIRL_SAYO, KIMONO_GIRL, SAYO, Kimono_girlSayoSeenText, Kimono_girlSayoBeatenText, $0000, Kimono_girlSayoScript
+	trainer EVENT_BEAT_KIMONO_GIRL_SAYO, KIMONO_GIRL, SAYO, Kimono_girlSayoSeenText, Kimono_girlSayoBeatenText, 0, Kimono_girlSayoScript
 
 Kimono_girlSayoScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerKimono_girlZuki:
-	trainer EVENT_BEAT_KIMONO_GIRL_ZUKI, KIMONO_GIRL, ZUKI, Kimono_girlZukiSeenText, Kimono_girlZukiBeatenText, $0000, Kimono_girlZukiScript
+	trainer EVENT_BEAT_KIMONO_GIRL_ZUKI, KIMONO_GIRL, ZUKI, Kimono_girlZukiSeenText, Kimono_girlZukiBeatenText, 0, Kimono_girlZukiScript
 
 Kimono_girlZukiScript:
 	talkaftercancel
@@ -39,7 +39,7 @@
 	end
 
 TrainerKimono_girlKuni:
-	trainer EVENT_BEAT_KIMONO_GIRL_KUNI, KIMONO_GIRL, KUNI, Kimono_girlKuniSeenText, Kimono_girlKuniBeatenText, $0000, Kimono_girlKuniScript
+	trainer EVENT_BEAT_KIMONO_GIRL_KUNI, KIMONO_GIRL, KUNI, Kimono_girlKuniSeenText, Kimono_girlKuniBeatenText, 0, Kimono_girlKuniScript
 
 Kimono_girlKuniScript:
 	talkaftercancel
@@ -50,7 +50,7 @@
 	end
 
 TrainerKimono_girlMiki:
-	trainer EVENT_BEAT_KIMONO_GIRL_MIKI, KIMONO_GIRL, MIKI, Kimono_girlMikiSeenText, Kimono_girlMikiBeatenText, $0000, Kimono_girlMikiScript
+	trainer EVENT_BEAT_KIMONO_GIRL_MIKI, KIMONO_GIRL, MIKI, Kimono_girlMikiSeenText, Kimono_girlMikiBeatenText, 0, Kimono_girlMikiScript
 
 Kimono_girlMikiScript:
 	talkaftercancel
@@ -345,12 +345,12 @@
 
 .PersonEvents:
 	db 9
-	person_event SPRITE_KIMONO_GIRL, 2, 0, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerKimono_girlNaoko2, -1
-	person_event SPRITE_KIMONO_GIRL, 1, 2, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerKimono_girlSayo, -1
-	person_event SPRITE_KIMONO_GIRL, 2, 6, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerKimono_girlZuki, -1
-	person_event SPRITE_KIMONO_GIRL, 1, 9, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerKimono_girlKuni, -1
-	person_event SPRITE_KIMONO_GIRL, 2, 11, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerKimono_girlMiki, -1
-	person_event SPRITE_GENTLEMAN, 10, 7, $7, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x994c6, -1
-	person_event SPRITE_RHYDON, 8, 6, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, RhydonScript_0x9951b, -1
-	person_event SPRITE_COOLTRAINER_M, 10, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x99525, -1
-	person_event SPRITE_GRANNY, 6, 3, $7, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x99528, -1
+	person_event SPRITE_KIMONO_GIRL, 2, 0, SPRITEMOVEDATA_1E, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerKimono_girlNaoko2, -1
+	person_event SPRITE_KIMONO_GIRL, 1, 2, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerKimono_girlSayo, -1
+	person_event SPRITE_KIMONO_GIRL, 2, 6, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerKimono_girlZuki, -1
+	person_event SPRITE_KIMONO_GIRL, 1, 9, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerKimono_girlKuni, -1
+	person_event SPRITE_KIMONO_GIRL, 2, 11, SPRITEMOVEDATA_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerKimono_girlMiki, -1
+	person_event SPRITE_GENTLEMAN, 10, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x994c6, -1
+	person_event SPRITE_RHYDON, 8, 6, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, RhydonScript_0x9951b, -1
+	person_event SPRITE_COOLTRAINER_M, 10, 10, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x99525, -1
+	person_event SPRITE_GRANNY, 6, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x99528, -1
--- a/maps/DarkCaveBlackthornEntrance.asm
+++ b/maps/DarkCaveBlackthornEntrance.asm
@@ -73,6 +73,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_PHARMACIST, 3, 7, $3, 0, 0, -1, -1, 0, 0, 0, PharmacistScript_0x18c720, -1
-	person_event SPRITE_POKE_BALL, 24, 21, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c73b, EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_REVIVE
-	person_event SPRITE_POKE_BALL, 22, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c73d, EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_TM_SNORE
+	person_event SPRITE_PHARMACIST, 3, 7, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, PharmacistScript_0x18c720, -1
+	person_event SPRITE_POKE_BALL, 24, 21, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c73b, EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_REVIVE
+	person_event SPRITE_POKE_BALL, 22, 7, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c73d, EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_TM_SNORE
--- a/maps/DarkCaveVioletEntrance.asm
+++ b/maps/DarkCaveVioletEntrance.asm
@@ -43,11 +43,11 @@
 
 .PersonEvents:
 	db 8
-	person_event SPRITE_POKE_BALL, 8, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c68e, EVENT_DARK_CAVE_VIOLET_ENTRANCE_POTION
-	person_event SPRITE_ROCK, 14, 16, $18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
-	person_event SPRITE_ROCK, 6, 27, $18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
-	person_event SPRITE_ROCK, 14, 7, $18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
-	person_event SPRITE_ROCK, 31, 36, $18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
-	person_event SPRITE_POKE_BALL, 22, 36, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c690, EVENT_DARK_CAVE_VIOLET_ENTRANCE_FULL_HEAL
-	person_event SPRITE_POKE_BALL, 9, 35, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c692, EVENT_DARK_CAVE_VIOLET_ENTRANCE_HYPER_POTION
-	person_event SPRITE_POKE_BALL, 28, 30, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c694, EVENT_DARK_CAVE_VIOLET_ENTRANCE_DIRE_HIT
+	person_event SPRITE_POKE_BALL, 8, 6, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c68e, EVENT_DARK_CAVE_VIOLET_ENTRANCE_POTION
+	person_event SPRITE_ROCK, 14, 16, SPRITEMOVEDATA_18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
+	person_event SPRITE_ROCK, 6, 27, SPRITEMOVEDATA_18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
+	person_event SPRITE_ROCK, 14, 7, SPRITEMOVEDATA_18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
+	person_event SPRITE_ROCK, 31, 36, SPRITEMOVEDATA_18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
+	person_event SPRITE_POKE_BALL, 22, 36, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c690, EVENT_DARK_CAVE_VIOLET_ENTRANCE_FULL_HEAL
+	person_event SPRITE_POKE_BALL, 9, 35, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c692, EVENT_DARK_CAVE_VIOLET_ENTRANCE_HYPER_POTION
+	person_event SPRITE_POKE_BALL, 28, 30, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c694, EVENT_DARK_CAVE_VIOLET_ENTRANCE_DIRE_HIT
--- a/maps/DayCare.asm
+++ b/maps/DayCare.asm
@@ -175,5 +175,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_GRAMPS, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x62f8f, EVENT_DAYCARE_MAN_IN_DAYCARE
-	person_event SPRITE_GRANNY, 3, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GrannyScript_0x62fc3, -1
+	person_event SPRITE_GRAMPS, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x62f8f, EVENT_DAYCARE_MAN_IN_DAYCARE
+	person_event SPRITE_GRANNY, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GrannyScript_0x62fc3, -1
--- a/maps/DiglettsCave.asm
+++ b/maps/DiglettsCave.asm
@@ -42,4 +42,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_POKEFAN_M, 31, 3, $6, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x74002, -1
+	person_event SPRITE_POKEFAN_M, 31, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x74002, -1
--- a/maps/DragonShrine.asm
+++ b/maps/DragonShrine.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
 
 .MapCallbacks:
 	db 0
@@ -681,7 +681,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_ELDER, 1, 5, $6, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d1a5, EVENT_GAVE_KURT_APRICORNS
-	person_event SPRITE_ELDER, 4, 2, $9, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d205, EVENT_GAVE_KURT_APRICORNS
-	person_event SPRITE_ELDER, 4, 7, $8, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d20d, EVENT_GAVE_KURT_APRICORNS
-	person_event SPRITE_CLAIR, 8, 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_DRAGON_SHRINE_CLAIR
+	person_event SPRITE_ELDER, 1, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d1a5, EVENT_GAVE_KURT_APRICORNS
+	person_event SPRITE_ELDER, 4, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d205, EVENT_GAVE_KURT_APRICORNS
+	person_event SPRITE_ELDER, 4, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d20d, EVENT_GAVE_KURT_APRICORNS
+	person_event SPRITE_CLAIR, 8, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_DRAGON_SHRINE_CLAIR
--- a/maps/DragonsDenB1F.asm
+++ b/maps/DragonsDenB1F.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x18c89d, $0000
-	dw UnknownScript_0x18c89e, $0000
+	dw UnknownScript_0x18c89d, 0
+	dw UnknownScript_0x18c89e, 0
 
 .MapCallbacks:
 	db 1
@@ -78,7 +78,7 @@
 	end
 
 TrainerCooltrainermDarin:
-	trainer EVENT_BEAT_COOLTRAINERM_DARIN, COOLTRAINERM, DARIN, CooltrainermDarinSeenText, CooltrainermDarinBeatenText, $0000, CooltrainermDarinScript
+	trainer EVENT_BEAT_COOLTRAINERM_DARIN, COOLTRAINERM, DARIN, CooltrainermDarinSeenText, CooltrainermDarinBeatenText, 0, CooltrainermDarinScript
 
 CooltrainermDarinScript:
 	talkaftercancel
@@ -89,7 +89,7 @@
 	end
 
 TrainerCooltrainerfCara:
-	trainer EVENT_BEAT_COOLTRAINERF_CARA, COOLTRAINERF, CARA, CooltrainerfCaraSeenText, CooltrainerfCaraBeatenText, $0000, CooltrainerfCaraScript
+	trainer EVENT_BEAT_COOLTRAINERF_CARA, COOLTRAINERF, CARA, CooltrainerfCaraSeenText, CooltrainerfCaraBeatenText, 0, CooltrainerfCaraScript
 
 CooltrainerfCaraScript:
 	talkaftercancel
@@ -100,7 +100,7 @@
 	end
 
 TrainerTwinsLeaandpia1:
-	trainer EVENT_BEAT_TWINS_LEA_AND_PIA, TWINS, LEAANDPIA1, TwinsLeaandpia1SeenText, TwinsLeaandpia1BeatenText, $0000, TwinsLeaandpia1Script
+	trainer EVENT_BEAT_TWINS_LEA_AND_PIA, TWINS, LEAANDPIA1, TwinsLeaandpia1SeenText, TwinsLeaandpia1BeatenText, 0, TwinsLeaandpia1Script
 
 TwinsLeaandpia1Script:
 	talkaftercancel
@@ -111,7 +111,7 @@
 	end
 
 TrainerTwinsLeaandpia2:
-	trainer EVENT_BEAT_TWINS_LEA_AND_PIA, TWINS, LEAANDPIA1, TwinsLeaandpia2SeenText, TwinsLeaandpia2BeatenText, $0000, TwinsLeaandpia2Script
+	trainer EVENT_BEAT_TWINS_LEA_AND_PIA, TWINS, LEAANDPIA1, TwinsLeaandpia2SeenText, TwinsLeaandpia2BeatenText, 0, TwinsLeaandpia2Script
 
 TwinsLeaandpia2Script:
 	talkaftercancel
@@ -419,12 +419,12 @@
 
 .PersonEvents:
 	db 9
-	person_event SPRITE_POKE_BALL, 16, 35, $1, 0, 0, -1, -1, 0, 0, 0, PokeBallScript_0x18c95a, EVENT_DRAGONS_DEN_B1F_DRAGON_FANG
-	person_event SPRITE_CLAIR, 30, 14, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_DRAGONS_DEN_CLAIR
-	person_event SPRITE_SILVER, 23, 20, $2, 2, 2, -1, -1, 0, 0, 0, SilverScript_0x18c97e, EVENT_RIVAL_DRAGONS_DEN
-	person_event SPRITE_COOLTRAINER_M, 8, 20, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainermDarin, -1
-	person_event SPRITE_COOLTRAINER_F, 8, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfCara, -1
-	person_event SPRITE_TWIN, 17, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsLeaandpia1, -1
-	person_event SPRITE_TWIN, 18, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsLeaandpia2, -1
-	person_event SPRITE_POKE_BALL, 4, 30, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c9a1, EVENT_DRAGONS_DEN_B1F_CALCIUM
-	person_event SPRITE_POKE_BALL, 20, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c9a3, EVENT_DRAGONS_DEN_B1F_MAX_ELIXER
+	person_event SPRITE_POKE_BALL, 16, 35, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, PokeBallScript_0x18c95a, EVENT_DRAGONS_DEN_B1F_DRAGON_FANG
+	person_event SPRITE_CLAIR, 30, 14, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_DRAGONS_DEN_CLAIR
+	person_event SPRITE_SILVER, 23, 20, SPRITEMOVEDATA_02, 2, 2, -1, -1, 0, 0, 0, SilverScript_0x18c97e, EVENT_RIVAL_DRAGONS_DEN
+	person_event SPRITE_COOLTRAINER_M, 8, 20, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainermDarin, -1
+	person_event SPRITE_COOLTRAINER_F, 8, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfCara, -1
+	person_event SPRITE_TWIN, 17, 4, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsLeaandpia1, -1
+	person_event SPRITE_TWIN, 18, 4, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsLeaandpia2, -1
+	person_event SPRITE_POKE_BALL, 4, 30, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c9a1, EVENT_DRAGONS_DEN_B1F_CALCIUM
+	person_event SPRITE_POKE_BALL, 20, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c9a3, EVENT_DRAGONS_DEN_B1F_MAX_ELIXER
--- a/maps/EarlsPokemonAcademy.asm
+++ b/maps/EarlsPokemonAcademy.asm
@@ -106,7 +106,7 @@
 	dn 3, 2 ; rows, columns
 	db 5 ; spacing
 	dbw BANK(.Text), .Text
-	dbw $1a, $0000
+	dbw $1a, 0
 
 .Text
 	db "PSN@"
@@ -425,9 +425,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_FISHER, 2, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, AcademyEarl, EVENT_EARLS_ACADEMY_EARL
-	person_event SPRITE_YOUNGSTER, 5, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x68a83, -1
-	person_event SPRITE_GAMEBOY_KID, 11, 3, $6, 0, 0, -1, -1, 0, 0, 0, GameboyKidScript_0x68a86, -1
-	person_event SPRITE_GAMEBOY_KID, 11, 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GameboyKidScript_0x68a91, -1
-	person_event SPRITE_YOUNGSTER, 7, 4, $7, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x68a9c, -1
-	person_event SPRITE_POKEDEX, 4, 2, $1, 0, 0, -1, -1, 0, 0, 0, AcademyNotebook, -1
+	person_event SPRITE_FISHER, 2, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, AcademyEarl, EVENT_EARLS_ACADEMY_EARL
+	person_event SPRITE_YOUNGSTER, 5, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x68a83, -1
+	person_event SPRITE_GAMEBOY_KID, 11, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, GameboyKidScript_0x68a86, -1
+	person_event SPRITE_GAMEBOY_KID, 11, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GameboyKidScript_0x68a91, -1
+	person_event SPRITE_YOUNGSTER, 7, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x68a9c, -1
+	person_event SPRITE_POKEDEX, 4, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, AcademyNotebook, -1
--- a/maps/EcruteakCity.asm
+++ b/maps/EcruteakCity.asm
@@ -290,10 +290,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_GRAMPS, 15, 18, $2, 1, 1, -1, -1, 0, 0, 0, GrampsScript_0x1a4009, -1
-	person_event SPRITE_GRAMPS, 21, 20, $3, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a400c, -1
-	person_event SPRITE_LASS, 29, 21, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x1a4012, -1
-	person_event SPRITE_LASS, 9, 3, $7, 0, 0, -1, -1, 0, 0, 0, LassScript_0x1a4015, -1
-	person_event SPRITE_FISHER, 22, 9, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a4029, -1
-	person_event SPRITE_YOUNGSTER, 14, 10, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x1a403d, -1
-	person_event SPRITE_GRAMPS, 7, 3, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x1a400f, EVENT_ECRUTEAK_CITY_GRAMPS
+	person_event SPRITE_GRAMPS, 15, 18, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, GrampsScript_0x1a4009, -1
+	person_event SPRITE_GRAMPS, 21, 20, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a400c, -1
+	person_event SPRITE_LASS, 29, 21, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x1a4012, -1
+	person_event SPRITE_LASS, 9, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, LassScript_0x1a4015, -1
+	person_event SPRITE_FISHER, 22, 9, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a4029, -1
+	person_event SPRITE_YOUNGSTER, 14, 10, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x1a403d, -1
+	person_event SPRITE_GRAMPS, 7, 3, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x1a400f, EVENT_ECRUTEAK_CITY_GRAMPS
--- a/maps/EcruteakGym.asm
+++ b/maps/EcruteakGym.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x99d53, $0000
-	dw UnknownScript_0x99d57, $0000
+	dw UnknownScript_0x99d53, 0
+	dw UnknownScript_0x99d57, 0
 
 .MapCallbacks:
 	db 0
@@ -24,7 +24,7 @@
 	writetext UnknownText_0x99e65
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x9a00a, $0000
+	winlosstext UnknownText_0x9a00a, 0
 	loadtrainer MORTY, 1
 	startbattle
 	returnafterbattle
@@ -91,7 +91,7 @@
 	end
 
 TrainerSageJeffrey:
-	trainer EVENT_BEAT_SAGE_JEFFREY, SAGE, JEFFREY, SageJeffreySeenText, SageJeffreyBeatenText, $0000, SageJeffreyScript
+	trainer EVENT_BEAT_SAGE_JEFFREY, SAGE, JEFFREY, SageJeffreySeenText, SageJeffreyBeatenText, 0, SageJeffreyScript
 
 SageJeffreyScript:
 	talkaftercancel
@@ -102,7 +102,7 @@
 	end
 
 TrainerSagePing:
-	trainer EVENT_BEAT_SAGE_PING, SAGE, PING, SagePingSeenText, SagePingBeatenText, $0000, SagePingScript
+	trainer EVENT_BEAT_SAGE_PING, SAGE, PING, SagePingSeenText, SagePingBeatenText, 0, SagePingScript
 
 SagePingScript:
 	talkaftercancel
@@ -113,7 +113,7 @@
 	end
 
 TrainerMediumMartha:
-	trainer EVENT_BEAT_MEDIUM_MARTHA, MEDIUM, MARTHA, MediumMarthaSeenText, MediumMarthaBeatenText, $0000, MediumMarthaScript
+	trainer EVENT_BEAT_MEDIUM_MARTHA, MEDIUM, MARTHA, MediumMarthaSeenText, MediumMarthaBeatenText, 0, MediumMarthaScript
 
 MediumMarthaScript:
 	talkaftercancel
@@ -124,7 +124,7 @@
 	end
 
 TrainerMediumGrace:
-	trainer EVENT_BEAT_MEDIUM_GRACE, MEDIUM, GRACE, MediumGraceSeenText, MediumGraceBeatenText, $0000, MediumGraceScript
+	trainer EVENT_BEAT_MEDIUM_GRACE, MEDIUM, GRACE, MediumGraceSeenText, MediumGraceBeatenText, 0, MediumGraceScript
 
 MediumGraceScript:
 	talkaftercancel
@@ -429,10 +429,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_MORTY, 1, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MortyScript_0x99d58, -1
-	person_event SPRITE_SAGE, 7, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSageJeffrey, -1
-	person_event SPRITE_SAGE, 13, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSagePing, -1
-	person_event SPRITE_GRANNY, 5, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerMediumMartha, -1
-	person_event SPRITE_GRANNY, 9, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerMediumGrace, -1
-	person_event SPRITE_GYM_GUY, 15, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, EcruteakGymGuyScript, -1
-	person_event SPRITE_GRAMPS, 14, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, EVENT_ECRUTEAK_GYM_GRAMPS
+	person_event SPRITE_MORTY, 1, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MortyScript_0x99d58, -1
+	person_event SPRITE_SAGE, 7, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSageJeffrey, -1
+	person_event SPRITE_SAGE, 13, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSagePing, -1
+	person_event SPRITE_GRANNY, 5, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerMediumMartha, -1
+	person_event SPRITE_GRANNY, 9, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerMediumGrace, -1
+	person_event SPRITE_GYM_GUY, 15, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, EcruteakGymGuyScript, -1
+	person_event SPRITE_GRAMPS, 14, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, EVENT_ECRUTEAK_GYM_GRAMPS
--- a/maps/EcruteakHouse.asm
+++ b/maps/EcruteakHouse.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
 
 .MapCallbacks:
 	db 1
@@ -298,7 +298,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_SAGE, 6, 4, $6, 0, 0, -1, -1, 0, 0, 0, SageScript_0x98062, EVENT_RANG_CLEAR_BELL_1
-	person_event SPRITE_SAGE, 6, 5, $6, 0, 0, -1, -1, 0, 0, 0, SageScript_0x98062, EVENT_RANG_CLEAR_BELL_2
-	person_event SPRITE_SAGE, 9, 6, $2, 1, 1, -1, -1, 0, 0, 0, SageScript_0x980b0, EVENT_ECRUTEAK_HOUSE_WANDERING_SAGE
-	person_event SPRITE_GRAMPS, 11, 3, $2, 1, 1, -1, -1, 0, 0, 0, GrampsScript_0x980c4, EVENT_ECRUTEAK_HOUSE_WANDERING_SAGE
+	person_event SPRITE_SAGE, 6, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, SageScript_0x98062, EVENT_RANG_CLEAR_BELL_1
+	person_event SPRITE_SAGE, 6, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, SageScript_0x98062, EVENT_RANG_CLEAR_BELL_2
+	person_event SPRITE_SAGE, 9, 6, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, SageScript_0x980b0, EVENT_ECRUTEAK_HOUSE_WANDERING_SAGE
+	person_event SPRITE_GRAMPS, 11, 3, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, GrampsScript_0x980c4, EVENT_ECRUTEAK_HOUSE_WANDERING_SAGE
--- a/maps/EcruteakItemfinderHouse.asm
+++ b/maps/EcruteakItemfinderHouse.asm
@@ -176,5 +176,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_COOLTRAINER_M, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x9a5fb, -1
-	person_event SPRITE_POKEDEX, 3, 3, $1, 0, 0, -1, -1, 0, 0, 0, PokedexScript_0x9a620, -1
+	person_event SPRITE_COOLTRAINER_M, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x9a5fb, -1
+	person_event SPRITE_POKEDEX, 3, 3, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, PokedexScript_0x9a620, -1
--- a/maps/EcruteakLugiaSpeechHouse.asm
+++ b/maps/EcruteakLugiaSpeechHouse.asm
@@ -58,5 +58,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_GRAMPS, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x99334, -1
-	person_event SPRITE_YOUNGSTER, 4, 5, $8, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x99337, -1
+	person_event SPRITE_GRAMPS, 3, 2, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x99334, -1
+	person_event SPRITE_YOUNGSTER, 4, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x99337, -1
--- a/maps/EcruteakMart.asm
+++ b/maps/EcruteakMart.asm
@@ -7,7 +7,7 @@
 
 ClerkScript_0x99c3b:
 	loadfont
-	pokemart $0, $000e
+	pokemart MARTTYPE_STANDARD, MART_ECRUTEAK
 	loadmovesprites
 	end
 
@@ -57,6 +57,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x99c3b, -1
-	person_event SPRITE_SUPER_NERD, 2, 5, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x99c42, -1
-	person_event SPRITE_GRANNY, 6, 6, $7, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x99c45, -1
+	person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x99c3b, -1
+	person_event SPRITE_SUPER_NERD, 2, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x99c42, -1
+	person_event SPRITE_GRANNY, 6, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x99c45, -1
--- a/maps/EcruteakPokeCenter1F.asm
+++ b/maps/EcruteakPokeCenter1F.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x98e5f, $0000
-	dw UnknownScript_0x98e63, $0000
+	dw UnknownScript_0x98e5f, 0
+	dw UnknownScript_0x98e63, 0
 
 .MapCallbacks:
 	db 0
@@ -219,8 +219,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x98eb0, -1
-	person_event SPRITE_POKEFAN_M, 6, 7, $a, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x98eb3, -1
-	person_event SPRITE_COOLTRAINER_F, 4, 1, $3, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x98ebf, -1
-	person_event SPRITE_GYM_GUY, 1, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GymGuyScript_0x98ec2, -1
-	person_event SPRITE_BILL, 7, 0, $9, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_ECRUTEAK_POKE_CENTER_BILL
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x98eb0, -1
+	person_event SPRITE_POKEFAN_M, 6, 7, SPRITEMOVEDATA_0A, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x98eb3, -1
+	person_event SPRITE_COOLTRAINER_F, 4, 1, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x98ebf, -1
+	person_event SPRITE_GYM_GUY, 1, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GymGuyScript_0x98ec2, -1
+	person_event SPRITE_BILL, 7, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_ECRUTEAK_POKE_CENTER_BILL
--- a/maps/ElmsHouse.asm
+++ b/maps/ElmsHouse.asm
@@ -99,5 +99,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_TEACHER, 5, 1, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ElmsWife, -1
-	person_event SPRITE_BUG_CATCHER, 4, 5, $7, 0, 0, -1, -1, 0, 0, 0, ElmsSon, -1
+	person_event SPRITE_TEACHER, 5, 1, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ElmsWife, -1
+	person_event SPRITE_BUG_CATCHER, 4, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, ElmsSon, -1
--- a/maps/ElmsLab.asm
+++ b/maps/ElmsLab.asm
@@ -3,12 +3,12 @@
 	db 6
 
 	; triggers
-	dw UnknownScript_0x78b7a, $0000
-	dw UnknownScript_0x78b7e, $0000
-	dw UnknownScript_0x78b7f, $0000
-	dw UnknownScript_0x78b80, $0000
-	dw UnknownScript_0x78b81, $0000
-	dw UnknownScript_0x78b82, $0000
+	dw UnknownScript_0x78b7a, 0
+	dw UnknownScript_0x78b7e, 0
+	dw UnknownScript_0x78b7f, 0
+	dw UnknownScript_0x78b80, 0
+	dw UnknownScript_0x78b81, 0
+	dw UnknownScript_0x78b82, 0
 
 .MapCallbacks:
 	db 1
@@ -1408,9 +1408,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_ELM, 2, 5, $6, 0, 0, -1, -1, 0, 0, 0, ProfElmScript, -1
-	person_event SPRITE_SCIENTIST, 9, 2, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ElmsAideScript, EVENT_ELMS_AIDE_IN_LAB
-	person_event SPRITE_POKE_BALL, 3, 6, $1, 0, 0, -1, -1, 0, 0, 0, CyndaquilPokeBallScript, EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB
-	person_event SPRITE_POKE_BALL, 3, 7, $1, 0, 0, -1, -1, 0, 0, 0, TotodilePokeBallScript, EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB
-	person_event SPRITE_POKE_BALL, 3, 8, $1, 0, 0, -1, -1, 0, 0, 0, ChikoritaPokeBallScript, EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB
-	person_event SPRITE_OFFICER, 3, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CopScript, EVENT_COP_IN_ELMS_LAB
+	person_event SPRITE_ELM, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ProfElmScript, -1
+	person_event SPRITE_SCIENTIST, 9, 2, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ElmsAideScript, EVENT_ELMS_AIDE_IN_LAB
+	person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, CyndaquilPokeBallScript, EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB
+	person_event SPRITE_POKE_BALL, 3, 7, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, TotodilePokeBallScript, EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB
+	person_event SPRITE_POKE_BALL, 3, 8, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, ChikoritaPokeBallScript, EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB
+	person_event SPRITE_OFFICER, 3, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CopScript, EVENT_COP_IN_ELMS_LAB
--- a/maps/FastShip1F.asm
+++ b/maps/FastShip1F.asm
@@ -3,9 +3,9 @@
 	db 3
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
-	dw .Trigger3, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
+	dw .Trigger3, 0
 
 .MapCallbacks:
 	db 0
@@ -310,7 +310,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_SAILOR, 2, 25, $6, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x75160, -1
-	person_event SPRITE_SAILOR, 7, 14, $9, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x751d0, -1
-	person_event SPRITE_SAILOR, 17, 22, $5, 0, 2, -1, -1, 0, 0, 0, SailorScript_0x751e4, -1
-	person_event SPRITE_GENTLEMAN, 6, 19, $9, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_FAST_SHIP_1F_GENTLEMAN
+	person_event SPRITE_SAILOR, 2, 25, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x75160, -1
+	person_event SPRITE_SAILOR, 7, 14, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x751d0, -1
+	person_event SPRITE_SAILOR, 17, 22, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, 0, 0, SailorScript_0x751e4, -1
+	person_event SPRITE_GENTLEMAN, 6, 19, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_FAST_SHIP_1F_GENTLEMAN
--- a/maps/FastShipB1F.asm
+++ b/maps/FastShipB1F.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x7673a, $0000
-	dw UnknownScript_0x7673b, $0000
+	dw UnknownScript_0x7673a, 0
+	dw UnknownScript_0x7673b, 0
 
 .MapCallbacks:
 	db 0
@@ -82,7 +82,7 @@
 	end
 
 TrainerSailorJeff:
-	trainer EVENT_BEAT_SAILOR_JEFF, SAILOR, JEFF, SailorJeffSeenText, SailorJeffBeatenText, $0000, SailorJeffScript
+	trainer EVENT_BEAT_SAILOR_JEFF, SAILOR, JEFF, SailorJeffSeenText, SailorJeffBeatenText, 0, SailorJeffScript
 
 SailorJeffScript:
 	talkaftercancel
@@ -93,7 +93,7 @@
 	end
 
 TrainerPicnickerDebra:
-	trainer EVENT_BEAT_PICNICKER_DEBRA, PICNICKER, DEBRA, PicnickerDebraSeenText, PicnickerDebraBeatenText, $0000, PicnickerDebraScript
+	trainer EVENT_BEAT_PICNICKER_DEBRA, PICNICKER, DEBRA, PicnickerDebraSeenText, PicnickerDebraBeatenText, 0, PicnickerDebraScript
 
 PicnickerDebraScript:
 	talkaftercancel
@@ -104,7 +104,7 @@
 	end
 
 TrainerJugglerFritz:
-	trainer EVENT_BEAT_JUGGLER_FRITZ, JUGGLER, FRITZ, JugglerFritzSeenText, JugglerFritzBeatenText, $0000, JugglerFritzScript
+	trainer EVENT_BEAT_JUGGLER_FRITZ, JUGGLER, FRITZ, JugglerFritzSeenText, JugglerFritzBeatenText, 0, JugglerFritzScript
 
 JugglerFritzScript:
 	talkaftercancel
@@ -115,7 +115,7 @@
 	end
 
 TrainerSailorGarrett:
-	trainer EVENT_BEAT_SAILOR_GARRETT, SAILOR, GARRETT, SailorGarrettSeenText, SailorGarrettBeatenText, $0000, SailorGarrettScript
+	trainer EVENT_BEAT_SAILOR_GARRETT, SAILOR, GARRETT, SailorGarrettSeenText, SailorGarrettBeatenText, 0, SailorGarrettScript
 
 SailorGarrettScript:
 	talkaftercancel
@@ -126,7 +126,7 @@
 	end
 
 TrainerFisherJonah:
-	trainer EVENT_BEAT_FISHER_JONAH, FISHER, JONAH, FisherJonahSeenText, FisherJonahBeatenText, $0000, FisherJonahScript
+	trainer EVENT_BEAT_FISHER_JONAH, FISHER, JONAH, FisherJonahSeenText, FisherJonahBeatenText, 0, FisherJonahScript
 
 FisherJonahScript:
 	talkaftercancel
@@ -137,7 +137,7 @@
 	end
 
 TrainerBlackbeltWai:
-	trainer EVENT_BEAT_BLACKBELT_WAI, BLACKBELT_T, WAI, BlackbeltWaiSeenText, BlackbeltWaiBeatenText, $0000, BlackbeltWaiScript
+	trainer EVENT_BEAT_BLACKBELT_WAI, BLACKBELT_T, WAI, BlackbeltWaiSeenText, BlackbeltWaiBeatenText, 0, BlackbeltWaiScript
 
 BlackbeltWaiScript:
 	talkaftercancel
@@ -148,7 +148,7 @@
 	end
 
 TrainerSailorKenneth:
-	trainer EVENT_BEAT_SAILOR_KENNETH, SAILOR, KENNETH, SailorKennethSeenText, SailorKennethBeatenText, $0000, SailorKennethScript
+	trainer EVENT_BEAT_SAILOR_KENNETH, SAILOR, KENNETH, SailorKennethSeenText, SailorKennethBeatenText, 0, SailorKennethScript
 
 SailorKennethScript:
 	talkaftercancel
@@ -159,7 +159,7 @@
 	end
 
 TrainerTeacherShirley:
-	trainer EVENT_BEAT_TEACHER_SHIRLEY, TEACHER, SHIRLEY, TeacherShirleySeenText, TeacherShirleyBeatenText, $0000, TeacherShirleyScript
+	trainer EVENT_BEAT_TEACHER_SHIRLEY, TEACHER, SHIRLEY, TeacherShirleySeenText, TeacherShirleyBeatenText, 0, TeacherShirleyScript
 
 TeacherShirleyScript:
 	talkaftercancel
@@ -170,7 +170,7 @@
 	end
 
 TrainerSchoolboyNate:
-	trainer EVENT_BEAT_SCHOOLBOY_NATE, SCHOOLBOY, NATE, SchoolboyNateSeenText, SchoolboyNateBeatenText, $0000, SchoolboyNateScript
+	trainer EVENT_BEAT_SCHOOLBOY_NATE, SCHOOLBOY, NATE, SchoolboyNateSeenText, SchoolboyNateBeatenText, 0, SchoolboyNateScript
 
 SchoolboyNateScript:
 	talkaftercancel
@@ -181,7 +181,7 @@
 	end
 
 TrainerSchoolboyRicky:
-	trainer EVENT_BEAT_SCHOOLBOY_RICKY, SCHOOLBOY, RICKY, SchoolboyRickySeenText, SchoolboyRickyBeatenText, $0000, SchoolboyRickyScript
+	trainer EVENT_BEAT_SCHOOLBOY_RICKY, SCHOOLBOY, RICKY, SchoolboyRickySeenText, SchoolboyRickyBeatenText, 0, SchoolboyRickyScript
 
 SchoolboyRickyScript:
 	talkaftercancel
@@ -456,15 +456,15 @@
 
 .PersonEvents:
 	db 12
-	person_event SPRITE_SAILOR, 6, 30, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x76767, EVENT_FAST_SHIP_B1F_SAILOR_LEFT
-	person_event SPRITE_SAILOR, 6, 31, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x76767, EVENT_FAST_SHIP_B1F_SAILOR_RIGHT
-	person_event SPRITE_SAILOR, 11, 9, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorJeff, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-	person_event SPRITE_LASS, 4, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerDebra, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-	person_event SPRITE_SUPER_NERD, 9, 26, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerJugglerFritz, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-	person_event SPRITE_SAILOR, 4, 17, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSailorGarrett, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-	person_event SPRITE_FISHER, 8, 25, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherJonah, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-	person_event SPRITE_BLACK_BELT, 11, 15, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBlackbeltWai, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-	person_event SPRITE_SAILOR, 4, 23, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSailorKenneth, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-	person_event SPRITE_TEACHER, 11, 9, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerTeacherShirley, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-	person_event SPRITE_YOUNGSTER, 9, 14, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyNate, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-	person_event SPRITE_YOUNGSTER, 11, 14, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyRicky, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+	person_event SPRITE_SAILOR, 6, 30, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x76767, EVENT_FAST_SHIP_B1F_SAILOR_LEFT
+	person_event SPRITE_SAILOR, 6, 31, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x76767, EVENT_FAST_SHIP_B1F_SAILOR_RIGHT
+	person_event SPRITE_SAILOR, 11, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorJeff, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
+	person_event SPRITE_LASS, 4, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerDebra, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
+	person_event SPRITE_SUPER_NERD, 9, 26, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerJugglerFritz, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
+	person_event SPRITE_SAILOR, 4, 17, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSailorGarrett, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+	person_event SPRITE_FISHER, 8, 25, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherJonah, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+	person_event SPRITE_BLACK_BELT, 11, 15, SPRITEMOVEDATA_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBlackbeltWai, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+	person_event SPRITE_SAILOR, 4, 23, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSailorKenneth, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+	person_event SPRITE_TEACHER, 11, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerTeacherShirley, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+	person_event SPRITE_YOUNGSTER, 9, 14, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyNate, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+	person_event SPRITE_YOUNGSTER, 11, 14, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyRicky, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
--- a/maps/FastShipCabins_NNW_NNE_NE.asm
+++ b/maps/FastShipCabins_NNW_NNE_NE.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerCooltrainermSean:
-	trainer EVENT_BEAT_COOLTRAINERM_SEAN, COOLTRAINERM, SEAN, CooltrainermSeanSeenText, CooltrainermSeanBeatenText, $0000, CooltrainermSeanScript
+	trainer EVENT_BEAT_COOLTRAINERM_SEAN, COOLTRAINERM, SEAN, CooltrainermSeanSeenText, CooltrainermSeanBeatenText, 0, CooltrainermSeanScript
 
 CooltrainermSeanScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerCooltrainerfCarol:
-	trainer EVENT_BEAT_COOLTRAINERF_CAROL, COOLTRAINERF, CAROL, CooltrainerfCarolSeenText, CooltrainerfCarolBeatenText, $0000, CooltrainerfCarolScript
+	trainer EVENT_BEAT_COOLTRAINERF_CAROL, COOLTRAINERF, CAROL, CooltrainerfCarolSeenText, CooltrainerfCarolBeatenText, 0, CooltrainerfCarolScript
 
 CooltrainerfCarolScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerPokemaniacEthan:
-	trainer EVENT_BEAT_POKEMANIAC_ETHAN, POKEMANIAC, ETHAN, PokemaniacEthanSeenText, PokemaniacEthanBeatenText, $0000, PokemaniacEthanScript
+	trainer EVENT_BEAT_POKEMANIAC_ETHAN, POKEMANIAC, ETHAN, PokemaniacEthanSeenText, PokemaniacEthanBeatenText, 0, PokemaniacEthanScript
 
 PokemaniacEthanScript:
 	talkaftercancel
@@ -39,7 +39,7 @@
 	end
 
 TrainerHikerNoland:
-	trainer EVENT_BEAT_HIKER_NOLAND, HIKER, NOLAND, HikerNolandSeenText, HikerNolandBeatenText, $0000, HikerNolandScript
+	trainer EVENT_BEAT_HIKER_NOLAND, HIKER, NOLAND, HikerNolandSeenText, HikerNolandBeatenText, 0, HikerNolandScript
 
 HikerNolandScript:
 	talkaftercancel
@@ -50,7 +50,7 @@
 	end
 
 TrainerGentlemanEdward:
-	trainer EVENT_BEAT_GENTLEMAN_EDWARD, GENTLEMAN, EDWARD, GentlemanEdwardSeenText, GentlemanEdwardBeatenText, $0000, GentlemanEdwardScript
+	trainer EVENT_BEAT_GENTLEMAN_EDWARD, GENTLEMAN, EDWARD, GentlemanEdwardSeenText, GentlemanEdwardBeatenText, 0, GentlemanEdwardScript
 
 GentlemanEdwardScript:
 	talkaftercancel
@@ -61,7 +61,7 @@
 	end
 
 TrainerBurglarCorey:
-	trainer EVENT_BEAT_BURGLAR_COREY, BURGLAR, COREY, BurglarCoreySeenText, BurglarCoreyBeatenText, $0000, BurglarCoreyScript
+	trainer EVENT_BEAT_BURGLAR_COREY, BURGLAR, COREY, BurglarCoreySeenText, BurglarCoreyBeatenText, 0, BurglarCoreyScript
 
 BurglarCoreyScript:
 	talkaftercancel
@@ -78,7 +78,7 @@
 	writetext UnknownText_0x75812
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x75897, $0000
+	winlosstext UnknownText_0x75897, 0
 	loadtrainer SAILOR, STANLY
 	startbattle
 	reloadmap
@@ -278,10 +278,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_COOLTRAINER_M, 3, 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainermSean, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-	person_event SPRITE_COOLTRAINER_F, 5, 1, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfCarol, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-	person_event SPRITE_SUPER_NERD, 5, 1, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacEthan, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-	person_event SPRITE_POKEFAN_M, 17, 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerNoland, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-	person_event SPRITE_SAILOR, 26, 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x755f1, EVENT_FAST_SHIP_CABINS_NNW_NNE_NE_SAILOR
-	person_event SPRITE_GENTLEMAN, 30, 7, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerGentlemanEdward, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-	person_event SPRITE_PHARMACIST, 30, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerBurglarCorey, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+	person_event SPRITE_COOLTRAINER_M, 3, 4, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainermSean, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+	person_event SPRITE_COOLTRAINER_F, 5, 1, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfCarol, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+	person_event SPRITE_SUPER_NERD, 5, 1, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacEthan, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+	person_event SPRITE_POKEFAN_M, 17, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerNoland, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
+	person_event SPRITE_SAILOR, 26, 4, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x755f1, EVENT_FAST_SHIP_CABINS_NNW_NNE_NE_SAILOR
+	person_event SPRITE_GENTLEMAN, 30, 7, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerGentlemanEdward, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+	person_event SPRITE_PHARMACIST, 30, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerBurglarCorey, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
--- a/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
+++ b/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
@@ -128,7 +128,7 @@
 	end
 
 TrainerPokefanmColin:
-	trainer EVENT_BEAT_POKEFANM_COLIN, POKEFANM, COLIN, PokefanmColinSeenText, PokefanmColinBeatenText, $0000, PokefanmColinScript
+	trainer EVENT_BEAT_POKEFANM_COLIN, POKEFANM, COLIN, PokefanmColinSeenText, PokefanmColinBeatenText, 0, PokefanmColinScript
 
 PokefanmColinScript:
 	talkaftercancel
@@ -139,7 +139,7 @@
 	end
 
 TrainerTwinsMegandpeg1:
-	trainer EVENT_BEAT_TWINS_MEG_AND_PEG, TWINS, MEGANDPEG1, TwinsMegandpeg1SeenText, TwinsMegandpeg1BeatenText, $0000, TwinsMegandpeg1Script
+	trainer EVENT_BEAT_TWINS_MEG_AND_PEG, TWINS, MEGANDPEG1, TwinsMegandpeg1SeenText, TwinsMegandpeg1BeatenText, 0, TwinsMegandpeg1Script
 
 TwinsMegandpeg1Script:
 	talkaftercancel
@@ -150,7 +150,7 @@
 	end
 
 TrainerTwinsMegandpeg2:
-	trainer EVENT_BEAT_TWINS_MEG_AND_PEG, TWINS, MEGANDPEG2, TwinsMegandpeg2SeenText, TwinsMegandpeg2BeatenText, $0000, TwinsMegandpeg2Script
+	trainer EVENT_BEAT_TWINS_MEG_AND_PEG, TWINS, MEGANDPEG2, TwinsMegandpeg2SeenText, TwinsMegandpeg2BeatenText, 0, TwinsMegandpeg2Script
 
 TwinsMegandpeg2Script:
 	talkaftercancel
@@ -161,7 +161,7 @@
 	end
 
 TrainerPsychicRodney:
-	trainer EVENT_BEAT_PSYCHIC_RODNEY, PSYCHIC_T, RODNEY, PsychicRodneySeenText, PsychicRodneyBeatenText, $0000, PsychicRodneyScript
+	trainer EVENT_BEAT_PSYCHIC_RODNEY, PSYCHIC_T, RODNEY, PsychicRodneySeenText, PsychicRodneyBeatenText, 0, PsychicRodneyScript
 
 PsychicRodneyScript:
 	talkaftercancel
@@ -172,7 +172,7 @@
 	end
 
 TrainerPokefanmJeremy:
-	trainer EVENT_BEAT_POKEFANM_JEREMY, POKEFANM, JEREMY, PokefanmJeremySeenText, PokefanmJeremyBeatenText, $0000, PokefanmJeremyScript
+	trainer EVENT_BEAT_POKEFANM_JEREMY, POKEFANM, JEREMY, PokefanmJeremySeenText, PokefanmJeremyBeatenText, 0, PokefanmJeremyScript
 
 PokefanmJeremyScript:
 	talkaftercancel
@@ -183,7 +183,7 @@
 	end
 
 TrainerPokefanfGeorgia:
-	trainer EVENT_BEAT_POKEFANF_GEORGIA, POKEFANF, GEORGIA, PokefanfGeorgiaSeenText, PokefanfGeorgiaBeatenText, $0000, PokefanfGeorgiaScript
+	trainer EVENT_BEAT_POKEFANF_GEORGIA, POKEFANF, GEORGIA, PokefanfGeorgiaSeenText, PokefanfGeorgiaBeatenText, 0, PokefanfGeorgiaScript
 
 PokefanfGeorgiaScript:
 	talkaftercancel
@@ -194,7 +194,7 @@
 	end
 
 TrainerSupernerdShawn:
-	trainer EVENT_BEAT_SUPER_NERD_SHAWN, SUPER_NERD, SHAWN, SupernerdShawnSeenText, SupernerdShawnBeatenText, $0000, SupernerdShawnScript
+	trainer EVENT_BEAT_SUPER_NERD_SHAWN, SUPER_NERD, SHAWN, SupernerdShawnSeenText, SupernerdShawnBeatenText, 0, SupernerdShawnScript
 
 SupernerdShawnScript:
 	talkaftercancel
@@ -471,14 +471,14 @@
 
 .PersonEvents:
 	db 11
-	person_event SPRITE_CAPTAIN, 25, 3, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CaptainScript_0x75ea7, -1
-	person_event SPRITE_GENTLEMAN, 17, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GentlemanScript_0x75f1f, EVENT_FAST_SHIP_CABINS_SE_SSE_GENTLEMAN
-	person_event SPRITE_TWIN, 17, 3, $a, 0, 0, -1, -1, 0, 0, 0, TwinScript_0x75f6d, EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_1
-	person_event SPRITE_TWIN, 25, 2, $a, 0, 0, -1, -1, 0, 0, 0, TwinScript_0x75ebb, EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_2
-	person_event SPRITE_POKEFAN_M, 6, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerPokefanmColin, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-	person_event SPRITE_TWIN, 4, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsMegandpeg1, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-	person_event SPRITE_TWIN, 4, 3, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsMegandpeg2, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-	person_event SPRITE_SUPER_NERD, 5, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerPsychicRodney, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-	person_event SPRITE_POKEFAN_M, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmJeremy, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-	person_event SPRITE_POKEFAN_F, 5, 5, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerPokefanfGeorgia, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-	person_event SPRITE_SUPER_NERD, 15, 1, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerSupernerdShawn, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+	person_event SPRITE_CAPTAIN, 25, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CaptainScript_0x75ea7, -1
+	person_event SPRITE_GENTLEMAN, 17, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GentlemanScript_0x75f1f, EVENT_FAST_SHIP_CABINS_SE_SSE_GENTLEMAN
+	person_event SPRITE_TWIN, 17, 3, SPRITEMOVEDATA_0A, 0, 0, -1, -1, 0, 0, 0, TwinScript_0x75f6d, EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_1
+	person_event SPRITE_TWIN, 25, 2, SPRITEMOVEDATA_0A, 0, 0, -1, -1, 0, 0, 0, TwinScript_0x75ebb, EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_2
+	person_event SPRITE_POKEFAN_M, 6, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerPokefanmColin, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
+	person_event SPRITE_TWIN, 4, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsMegandpeg1, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
+	person_event SPRITE_TWIN, 4, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsMegandpeg2, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
+	person_event SPRITE_SUPER_NERD, 5, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerPsychicRodney, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+	person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmJeremy, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+	person_event SPRITE_POKEFAN_F, 5, 5, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerPokefanfGeorgia, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+	person_event SPRITE_SUPER_NERD, 15, 1, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerSupernerdShawn, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
--- a/maps/FastShipCabins_SW_SSW_NW.asm
+++ b/maps/FastShipCabins_SW_SSW_NW.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerFirebreatherLyle:
-	trainer EVENT_BEAT_FIREBREATHER_LYLE, FIREBREATHER, LYLE, FirebreatherLyleSeenText, FirebreatherLyleBeatenText, $0000, FirebreatherLyleScript
+	trainer EVENT_BEAT_FIREBREATHER_LYLE, FIREBREATHER, LYLE, FirebreatherLyleSeenText, FirebreatherLyleBeatenText, 0, FirebreatherLyleScript
 
 FirebreatherLyleScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerBug_catcherKen:
-	trainer EVENT_BEAT_BUG_CATCHER_KEN, BUG_CATCHER, KEN, Bug_catcherKenSeenText, Bug_catcherKenBeatenText, $0000, Bug_catcherKenScript
+	trainer EVENT_BEAT_BUG_CATCHER_KEN, BUG_CATCHER, KEN, Bug_catcherKenSeenText, Bug_catcherKenBeatenText, 0, Bug_catcherKenScript
 
 Bug_catcherKenScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerBeautyCassie:
-	trainer EVENT_BEAT_BEAUTY_CASSIE, BEAUTY, CASSIE, BeautyCassieSeenText, BeautyCassieBeatenText, $0000, BeautyCassieScript
+	trainer EVENT_BEAT_BEAUTY_CASSIE, BEAUTY, CASSIE, BeautyCassieSeenText, BeautyCassieBeatenText, 0, BeautyCassieScript
 
 BeautyCassieScript:
 	talkaftercancel
@@ -39,7 +39,7 @@
 	end
 
 TrainerGuitaristClyde:
-	trainer EVENT_BEAT_GUITARIST_CLYDE, GUITARIST, CLYDE, GuitaristClydeSeenText, GuitaristClydeBeatenText, $0000, GuitaristClydeScript
+	trainer EVENT_BEAT_GUITARIST_CLYDE, GUITARIST, CLYDE, GuitaristClydeSeenText, GuitaristClydeBeatenText, 0, GuitaristClydeScript
 
 GuitaristClydeScript:
 	talkaftercancel
@@ -239,7 +239,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_FISHER, 15, 1, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerFirebreatherLyle, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-	person_event SPRITE_BUG_CATCHER, 15, 6, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBug_catcherKen, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-	person_event SPRITE_BUENA, 26, 1, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBeautyCassie, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-	person_event SPRITE_ROCKER, 28, 3, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerGuitaristClyde, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+	person_event SPRITE_FISHER, 15, 1, SPRITEMOVEDATA_1E, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerFirebreatherLyle, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
+	person_event SPRITE_BUG_CATCHER, 15, 6, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBug_catcherKen, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+	person_event SPRITE_BUENA, 26, 1, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBeautyCassie, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+	person_event SPRITE_ROCKER, 28, 3, SPRITEMOVEDATA_1E, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerGuitaristClyde, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
--- a/maps/FightingDojo.asm
+++ b/maps/FightingDojo.asm
@@ -57,5 +57,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_BLACK_BELT, 4, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x189b61, -1
-	person_event SPRITE_POKE_BALL, 1, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x189b6a, EVENT_PICKED_UP_FOCUS_BAND
+	person_event SPRITE_BLACK_BELT, 4, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x189b61, -1
+	person_event SPRITE_POKE_BALL, 1, 3, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x189b6a, EVENT_PICKED_UP_FOCUS_BAND
--- a/maps/FuchsiaBillSpeechHouse.asm
+++ b/maps/FuchsiaBillSpeechHouse.asm
@@ -40,5 +40,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_POKEFAN_F, 3, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x1963bd, -1
-	person_event SPRITE_YOUNGSTER, 4, 6, $4, 1, 0, -1, -1, 0, 0, 0, YoungsterScript_0x1963c0, -1
+	person_event SPRITE_POKEFAN_F, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x1963bd, -1
+	person_event SPRITE_YOUNGSTER, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, 0, 0, YoungsterScript_0x1963c0, -1
--- a/maps/FuchsiaCity.asm
+++ b/maps/FuchsiaCity.asm
@@ -154,7 +154,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_YOUNGSTER, 18, 23, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x194b22, -1
-	person_event SPRITE_POKEFAN_M, 8, 13, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x194b25, -1
-	person_event SPRITE_TEACHER, 14, 16, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x194b28, -1
-	person_event SPRITE_FRUIT_TREE, 1, 8, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x194b43, -1
+	person_event SPRITE_YOUNGSTER, 18, 23, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x194b22, -1
+	person_event SPRITE_POKEFAN_M, 8, 13, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x194b25, -1
+	person_event SPRITE_TEACHER, 14, 16, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x194b28, -1
+	person_event SPRITE_FRUIT_TREE, 1, 8, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x194b43, -1
--- a/maps/FuchsiaGym.asm
+++ b/maps/FuchsiaGym.asm
@@ -14,7 +14,7 @@
 	writetext UnknownText_0x195f35
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x195fa1, $0000
+	winlosstext UnknownText_0x195fa1, 0
 	loadtrainer JANINE, 1
 	startbattle
 	returnafterbattle
@@ -66,7 +66,7 @@
 	writetext UnknownText_0x1960e6
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x196126, $0000
+	winlosstext UnknownText_0x196126, 0
 	loadtrainer LASS, ALICE
 	startbattle
 	iftrue UnknownScript_0x195e4a
@@ -100,7 +100,7 @@
 	writetext UnknownText_0x196166
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x19617b, $0000
+	winlosstext UnknownText_0x19617b, 0
 	loadtrainer LASS, LINDA
 	startbattle
 	iftrue UnknownScript_0x195e84
@@ -134,7 +134,7 @@
 	writetext UnknownText_0x1961bb
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x1961f1, $0000
+	winlosstext UnknownText_0x1961f1, 0
 	loadtrainer PICNICKER, CINDY
 	startbattle
 	iftrue UnknownScript_0x195ebe
@@ -168,7 +168,7 @@
 	writetext UnknownText_0x196228
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x19624a, $0000
+	winlosstext UnknownText_0x19624a, 0
 	loadtrainer CAMPER, BARRY
 	startbattle
 	iftrue UnknownScript_0x195ef8
@@ -391,9 +391,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_JANINE, 10, 1, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, JanineScript_0x195db9, -1
-	person_event SPRITE_FUCHSIA_GYM_1, 7, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym1Script_0x195e1b, -1
-	person_event SPRITE_FUCHSIA_GYM_2, 11, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym2Script_0x195e55, -1
-	person_event SPRITE_FUCHSIA_GYM_3, 4, 9, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym3Script_0x195e8f, -1
-	person_event SPRITE_FUCHSIA_GYM_4, 2, 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym4Script_0x195ec9, -1
-	person_event SPRITE_GYM_GUY, 15, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuchsiaGymGuyScript, -1
+	person_event SPRITE_JANINE, 10, 1, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, JanineScript_0x195db9, -1
+	person_event SPRITE_FUCHSIA_GYM_1, 7, 5, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym1Script_0x195e1b, -1
+	person_event SPRITE_FUCHSIA_GYM_2, 11, 5, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym2Script_0x195e55, -1
+	person_event SPRITE_FUCHSIA_GYM_3, 4, 9, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym3Script_0x195e8f, -1
+	person_event SPRITE_FUCHSIA_GYM_4, 2, 4, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym4Script_0x195ec9, -1
+	person_event SPRITE_GYM_GUY, 15, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuchsiaGymGuyScript, -1
--- a/maps/FuchsiaMart.asm
+++ b/maps/FuchsiaMart.asm
@@ -7,7 +7,7 @@
 
 ClerkScript_0x195ce8:
 	loadfont
-	pokemart $0, $001d
+	pokemart MARTTYPE_STANDARD, MART_FUCHSIA
 	loadmovesprites
 	end
 
@@ -49,6 +49,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x195ce8, -1
-	person_event SPRITE_FISHER, 2, 3, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x195cef, -1
-	person_event SPRITE_COOLTRAINER_F, 6, 7, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x195cf2, -1
+	person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x195ce8, -1
+	person_event SPRITE_FISHER, 2, 3, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x195cef, -1
+	person_event SPRITE_COOLTRAINER_F, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x195cf2, -1
--- a/maps/FuchsiaPokeCenter1F.asm
+++ b/maps/FuchsiaPokeCenter1F.asm
@@ -3,7 +3,7 @@
 	db 1
 
 	; triggers
-	dw UnknownScript_0x196458, $0000
+	dw UnknownScript_0x196458, 0
 
 .MapCallbacks:
 	db 0
@@ -102,7 +102,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, NurseScript_0x196459, -1
-	person_event SPRITE_COOLTRAINER_M, 4, 8, $5, 0, 1, -1, -1, 0, 0, 0, CooltrainerMScript_0x19645c, -1
-	person_event SPRITE_COOLTRAINER_F, 4, 1, $5, 0, 1, -1, -1, 0, 0, 0, CooltrainerFScript_0x19645f, -1
-	person_event SPRITE_JANINE_IMPERSONATOR, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, JanineImpersonatorScript_0x196462, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, NurseScript_0x196459, -1
+	person_event SPRITE_COOLTRAINER_M, 4, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, CooltrainerMScript_0x19645c, -1
+	person_event SPRITE_COOLTRAINER_F, 4, 1, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, CooltrainerFScript_0x19645f, -1
+	person_event SPRITE_JANINE_IMPERSONATOR, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, JanineImpersonatorScript_0x196462, -1
--- a/maps/GoldenrodBikeShop.asm
+++ b/maps/GoldenrodBikeShop.asm
@@ -125,4 +125,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_CLERK, 2, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ClerkScript_0x54750, -1
+	person_event SPRITE_CLERK, 2, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ClerkScript_0x54750, -1
--- a/maps/GoldenrodBillsHouse.asm
+++ b/maps/GoldenrodBillsHouse.asm
@@ -21,7 +21,7 @@
 	writetext UnknownText_0x54dae
 	playsound SFX_CAUGHT_MON
 	waitbutton
-	givepoke EEVEE, 20, 0, 0
+	givepoke EEVEE, 20
 	setevent EVENT_GOT_EEVEE
 	writetext UnknownText_0x54dc1
 	closetext
@@ -257,6 +257,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_BILL, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, BillsHouseBill, EVENT_MET_BILL
-	person_event SPRITE_POKEFAN_F, 3, 5, $6, 0, 0, -1, -1, 0, 0, 0, BillsMom, -1
-	person_event SPRITE_TWIN, 4, 5, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BillsSister, -1
+	person_event SPRITE_BILL, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, BillsHouseBill, EVENT_MET_BILL
+	person_event SPRITE_POKEFAN_F, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, BillsMom, -1
+	person_event SPRITE_TWIN, 4, 5, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BillsSister, -1
--- a/maps/GoldenrodCity.asm
+++ b/maps/GoldenrodCity.asm
@@ -581,18 +581,18 @@
 
 .PersonEvents:
 	db 15
-	person_event SPRITE_POKEFAN_M, 18, 7, $7, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x1989e3, EVENT_GOLDENROD_CITY_CIVILIANS
-	person_event SPRITE_YOUNGSTER, 17, 30, $2, 1, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1989e6, EVENT_GOLDENROD_CITY_CIVILIANS
-	person_event SPRITE_COOLTRAINER_F, 16, 12, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x1989e9, EVENT_GOLDENROD_CITY_CIVILIANS
-	person_event SPRITE_COOLTRAINER_F, 26, 20, $2, 2, 1, -1, -1, 0, 0, 0, CooltrainerFScript_0x1989fd, EVENT_GOLDENROD_CITY_CIVILIANS
-	person_event SPRITE_YOUNGSTER, 17, 19, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x198a11, EVENT_GOLDENROD_CITY_CIVILIANS
-	person_event SPRITE_LASS, 10, 17, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x198a14, EVENT_GOLDENROD_CITY_CIVILIANS
-	person_event SPRITE_GRAMPS, 27, 11, $5, 0, 1, -1, -1, 0, 0, 0, GrampsScript_0x198a17, EVENT_GOLDENROD_CITY_CIVILIANS
-	person_event SPRITE_ROCKET, 16, 4, $7, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a1a, EVENT_GOLDENROD_CITY_ROCKET_SCOUT
-	person_event SPRITE_ROCKET, 20, 28, $7, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a29, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET, 15, 8, $6, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a2c, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET, 23, 16, $9, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a2f, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET, 20, 29, $7, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a32, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET, 7, 29, $6, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a35, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET, 10, 31, $8, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a38, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_POKEFAN_M, 22, 12, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, MoveTutor, EVENT_GOLDENROD_CITY_MOVE_TUTOR
+	person_event SPRITE_POKEFAN_M, 18, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x1989e3, EVENT_GOLDENROD_CITY_CIVILIANS
+	person_event SPRITE_YOUNGSTER, 17, 30, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1989e6, EVENT_GOLDENROD_CITY_CIVILIANS
+	person_event SPRITE_COOLTRAINER_F, 16, 12, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x1989e9, EVENT_GOLDENROD_CITY_CIVILIANS
+	person_event SPRITE_COOLTRAINER_F, 26, 20, SPRITEMOVEDATA_02, 2, 1, -1, -1, 0, 0, 0, CooltrainerFScript_0x1989fd, EVENT_GOLDENROD_CITY_CIVILIANS
+	person_event SPRITE_YOUNGSTER, 17, 19, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x198a11, EVENT_GOLDENROD_CITY_CIVILIANS
+	person_event SPRITE_LASS, 10, 17, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x198a14, EVENT_GOLDENROD_CITY_CIVILIANS
+	person_event SPRITE_GRAMPS, 27, 11, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, GrampsScript_0x198a17, EVENT_GOLDENROD_CITY_CIVILIANS
+	person_event SPRITE_ROCKET, 16, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a1a, EVENT_GOLDENROD_CITY_ROCKET_SCOUT
+	person_event SPRITE_ROCKET, 20, 28, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a29, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET, 15, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a2c, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET, 23, 16, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a2f, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET, 20, 29, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a32, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET, 7, 29, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a35, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET, 10, 31, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a38, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_POKEFAN_M, 22, 12, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, MoveTutor, EVENT_GOLDENROD_CITY_MOVE_TUTOR
--- a/maps/GoldenrodDeptStore1F.asm
+++ b/maps/GoldenrodDeptStore1F.asm
@@ -93,7 +93,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_RECEPTIONIST, 1, 10, $6, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x55981, -1
-	person_event SPRITE_POKEFAN_F, 4, 5, $6, 0, 0, -1, -1, 0, 0, 0, PokefanFScript_0x55987, -1
-	person_event SPRITE_BUG_CATCHER, 5, 5, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugCatcherScript_0x5598a, -1
-	person_event SPRITE_GENTLEMAN, 5, 11, $2, 1, 1, -1, -1, 0, 0, 0, GentlemanScript_0x55984, -1
+	person_event SPRITE_RECEPTIONIST, 1, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x55981, -1
+	person_event SPRITE_POKEFAN_F, 4, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, PokefanFScript_0x55987, -1
+	person_event SPRITE_BUG_CATCHER, 5, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugCatcherScript_0x5598a, -1
+	person_event SPRITE_GENTLEMAN, 5, 11, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, GentlemanScript_0x55984, -1
--- a/maps/GoldenrodDeptStore2F.asm
+++ b/maps/GoldenrodDeptStore2F.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x55b5d:
 	faceplayer
 	loadfont
-	pokemart $0, $0005
+	pokemart MARTTYPE_STANDARD, MART_GOLDENROD_2F_1
 	loadmovesprites
 	end
 
@@ -15,7 +15,7 @@
 ClerkScript_0x55b65:
 	faceplayer
 	loadfont
-	pokemart $0, $0006
+	pokemart MARTTYPE_STANDARD, MART_GOLDENROD_2F_2
 	loadmovesprites
 	end
 
@@ -113,8 +113,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_CLERK, 5, 13, $7, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55b5d, -1
-	person_event SPRITE_CLERK, 6, 13, $8, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55b65, -1
-	person_event SPRITE_YOUNGSTER, 6, 9, $4, 1, 0, -1, -1, 0, 0, 0, YoungsterScript_0x55b6d, -1
-	person_event SPRITE_COOLTRAINER_F, 2, 6, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x55b70, -1
-	person_event SPRITE_GENTLEMAN, 6, 2, $3, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x55b73, -1
+	person_event SPRITE_CLERK, 5, 13, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55b5d, -1
+	person_event SPRITE_CLERK, 6, 13, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55b65, -1
+	person_event SPRITE_YOUNGSTER, 6, 9, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, 0, 0, YoungsterScript_0x55b6d, -1
+	person_event SPRITE_COOLTRAINER_F, 2, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x55b70, -1
+	person_event SPRITE_GENTLEMAN, 6, 2, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x55b73, -1
--- a/maps/GoldenrodDeptStore3F.asm
+++ b/maps/GoldenrodDeptStore3F.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x55db8:
 	faceplayer
 	loadfont
-	pokemart $0, $0007
+	pokemart MARTTYPE_STANDARD, MART_GOLDENROD_3F
 	loadmovesprites
 	end
 
@@ -71,6 +71,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_CLERK, 1, 6, $6, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55db8, -1
-	person_event SPRITE_SUPER_NERD, 5, 12, $a, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x55dc0, -1
-	person_event SPRITE_ROCKER, 5, 2, $4, 1, 0, -1, -1, 0, 0, 0, RockerScript_0x55dc3, -1
+	person_event SPRITE_CLERK, 1, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55db8, -1
+	person_event SPRITE_SUPER_NERD, 5, 12, SPRITEMOVEDATA_0A, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x55dc0, -1
+	person_event SPRITE_ROCKER, 5, 2, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, 0, 0, RockerScript_0x55dc3, -1
--- a/maps/GoldenrodDeptStore4F.asm
+++ b/maps/GoldenrodDeptStore4F.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x55ee9:
 	faceplayer
 	loadfont
-	pokemart $0, $0008
+	pokemart MARTTYPE_STANDARD, MART_GOLDENROD_4F
 	loadmovesprites
 	end
 
@@ -91,7 +91,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_CLERK, 5, 13, $7, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55ee9, -1
-	person_event SPRITE_COOLTRAINER_M, 7, 11, $9, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x55ef1, -1
-	person_event SPRITE_BUG_CATCHER, 2, 7, $5, 0, 1, -1, -1, 0, 0, 0, BugCatcherScript_0x55ef4, -1
-	person_event SPRITE_GAMEBOY_KID, 1, 5, $6, 0, 0, -1, -1, 0, 0, 0, GameboyKidScript_0x55ef7, -1
+	person_event SPRITE_CLERK, 5, 13, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55ee9, -1
+	person_event SPRITE_COOLTRAINER_M, 7, 11, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x55ef1, -1
+	person_event SPRITE_BUG_CATCHER, 2, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, BugCatcherScript_0x55ef4, -1
+	person_event SPRITE_GAMEBOY_KID, 1, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, GameboyKidScript_0x55ef7, -1
--- a/maps/GoldenrodDeptStore5F.asm
+++ b/maps/GoldenrodDeptStore5F.asm
@@ -34,22 +34,22 @@
 	jump .onlyheadbutt
 
 .neither:
-	pokemart $0, $0009
+	pokemart MARTTYPE_STANDARD, MART_GOLDENROD_5F_1
 	loadmovesprites
 	end
 
 .onlyheadbutt:
-	pokemart $0, $000a
+	pokemart MARTTYPE_STANDARD, MART_GOLDENROD_5F_2
 	loadmovesprites
 	end
 
 .onlyrocksmash:
-	pokemart $0, $000b
+	pokemart MARTTYPE_STANDARD, MART_GOLDENROD_5F_3
 	loadmovesprites
 	end
 
 .both:
-	pokemart $0, $000c
+	pokemart MARTTYPE_STANDARD, MART_GOLDENROD_5F_4
 	loadmovesprites
 	end
 
@@ -232,9 +232,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_CLERK, 5, 8, $7, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x5609c, -1
-	person_event SPRITE_LASS, 6, 3, $2, 1, 1, -1, -1, 0, 0, 0, LassScript_0x56130, -1
-	person_event SPRITE_COOLTRAINER_M, 3, 6, $3, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x56133, -1
-	person_event SPRITE_POKEFAN_M, 5, 13, $2, 2, 2, -1, -1, 0, 0, 0, PokefanMScript_0x5613a, -1
-	person_event SPRITE_TWIN, 1, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x56118, -1
-	person_event SPRITE_RECEPTIONIST, 5, 7, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x560ce, EVENT_GOLDENROD_DEPT_STORE_5F_HAPPINESS_EVENT_LADY
+	person_event SPRITE_CLERK, 5, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x5609c, -1
+	person_event SPRITE_LASS, 6, 3, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, LassScript_0x56130, -1
+	person_event SPRITE_COOLTRAINER_M, 3, 6, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x56133, -1
+	person_event SPRITE_POKEFAN_M, 5, 13, SPRITEMOVEDATA_02, 2, 2, -1, -1, 0, 0, 0, PokefanMScript_0x5613a, -1
+	person_event SPRITE_TWIN, 1, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x56118, -1
+	person_event SPRITE_RECEPTIONIST, 5, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x560ce, EVENT_GOLDENROD_DEPT_STORE_5F_HAPPINESS_EVENT_LADY
--- a/maps/GoldenrodDeptStore6F.asm
+++ b/maps/GoldenrodDeptStore6F.asm
@@ -169,5 +169,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_LASS, 2, 10, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x564bf, -1
-	person_event SPRITE_SUPER_NERD, 2, 8, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x564c2, -1
+	person_event SPRITE_LASS, 2, 10, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x564bf, -1
+	person_event SPRITE_SUPER_NERD, 2, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x564c2, -1
--- a/maps/GoldenrodDeptStoreB1F.asm
+++ b/maps/GoldenrodDeptStoreB1F.asm
@@ -121,11 +121,11 @@
 
 .PersonEvents:
 	db 8
-	person_event SPRITE_POKE_BALL, 15, 10, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c3, EVENT_GOLDENROD_DEPT_STORE_B1F_ETHER
-	person_event SPRITE_POKE_BALL, 2, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c5, EVENT_GOLDENROD_DEPT_STORE_B1F_AMULET_COIN
-	person_event SPRITE_POKE_BALL, 3, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c7, EVENT_GOLDENROD_DEPT_STORE_B1F_BURN_HEAL
-	person_event SPRITE_POKE_BALL, 15, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c9, EVENT_GOLDENROD_DEPT_STORE_B1F_ULTRA_BALL
-	person_event SPRITE_BLACK_BELT, 10, 9, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BlackBeltScript_0x7d7b0, -1
-	person_event SPRITE_BLACK_BELT, 8, 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BlackBeltScript_0x7d7b3, -1
-	person_event SPRITE_BLACK_BELT, 13, 6, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x7d7b6, -1
-	person_event SPRITE_MACHOP, 7, 7, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, MachopScript_0x7d7b9, -1
+	person_event SPRITE_POKE_BALL, 15, 10, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c3, EVENT_GOLDENROD_DEPT_STORE_B1F_ETHER
+	person_event SPRITE_POKE_BALL, 2, 14, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c5, EVENT_GOLDENROD_DEPT_STORE_B1F_AMULET_COIN
+	person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c7, EVENT_GOLDENROD_DEPT_STORE_B1F_BURN_HEAL
+	person_event SPRITE_POKE_BALL, 15, 15, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c9, EVENT_GOLDENROD_DEPT_STORE_B1F_ULTRA_BALL
+	person_event SPRITE_BLACK_BELT, 10, 9, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BlackBeltScript_0x7d7b0, -1
+	person_event SPRITE_BLACK_BELT, 8, 4, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BlackBeltScript_0x7d7b3, -1
+	person_event SPRITE_BLACK_BELT, 13, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x7d7b6, -1
+	person_event SPRITE_MACHOP, 7, 7, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, MachopScript_0x7d7b9, -1
--- a/maps/GoldenrodDeptStoreRoof.asm
+++ b/maps/GoldenrodDeptStoreRoof.asm
@@ -35,7 +35,7 @@
 
 ClerkScript_0x5673f:
 	loadfont
-	pokemart $4, $0000
+	pokemart MARTTYPE_ROOFTOP, 0
 	loadmovesprites
 	end
 
@@ -225,11 +225,11 @@
 
 .PersonEvents:
 	db 8
-	person_event SPRITE_CLERK, 4, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x5673f, EVENT_GOLDENROD_SALE_OFF
-	person_event SPRITE_POKEFAN_F, 3, 10, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x56746, -1
-	person_event SPRITE_FISHER, 1, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x56749, -1
-	person_event SPRITE_TWIN, 4, 3, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x56754, EVENT_GOLDENROD_SALE_ON
-	person_event SPRITE_SUPER_NERD, 6, 14, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x56757, EVENT_GOLDENROD_SALE_ON
-	person_event SPRITE_POKEFAN_M, 0, 7, $5, 0, 1, -1, -1, 0, 0, 0, PokefanMScript_0x5676a, EVENT_GOLDENROD_SALE_OFF
-	person_event SPRITE_TEACHER, 3, 5, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x5676d, EVENT_GOLDENROD_SALE_OFF
-	person_event SPRITE_BUG_CATCHER, 6, 1, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x56770, EVENT_GOLDENROD_SALE_OFF
+	person_event SPRITE_CLERK, 4, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x5673f, EVENT_GOLDENROD_SALE_OFF
+	person_event SPRITE_POKEFAN_F, 3, 10, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x56746, -1
+	person_event SPRITE_FISHER, 1, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x56749, -1
+	person_event SPRITE_TWIN, 4, 3, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x56754, EVENT_GOLDENROD_SALE_ON
+	person_event SPRITE_SUPER_NERD, 6, 14, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x56757, EVENT_GOLDENROD_SALE_ON
+	person_event SPRITE_POKEFAN_M, 0, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, PokefanMScript_0x5676a, EVENT_GOLDENROD_SALE_OFF
+	person_event SPRITE_TEACHER, 3, 5, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x5676d, EVENT_GOLDENROD_SALE_OFF
+	person_event SPRITE_BUG_CATCHER, 6, 1, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x56770, EVENT_GOLDENROD_SALE_OFF
--- a/maps/GoldenrodFlowerShop.asm
+++ b/maps/GoldenrodFlowerShop.asm
@@ -172,5 +172,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_TEACHER, 4, 2, $9, 0, 0, -1, -1, 0, 0, 0, FlowerShopTeacherScript, -1
-	person_event SPRITE_LASS, 6, 5, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FlowerShopFloriaScript, EVENT_FLORIA_AT_FLOWER_SHOP
+	person_event SPRITE_TEACHER, 4, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, FlowerShopTeacherScript, -1
+	person_event SPRITE_LASS, 6, 5, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FlowerShopFloriaScript, EVENT_FLORIA_AT_FLOWER_SHOP
--- a/maps/GoldenrodGameCorner.asm
+++ b/maps/GoldenrodGameCorner.asm
@@ -479,15 +479,15 @@
 
 .PersonEvents:
 	db 12
-	person_event SPRITE_CLERK, 2, 3, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ClerkScript_0x56c25, -1
-	person_event SPRITE_RECEPTIONIST, 2, 16, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x56c28, -1
-	person_event SPRITE_RECEPTIONIST, 2, 18, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x56d01, -1
-	person_event SPRITE_PHARMACIST, 7, 8, $8, 0, 0, -1, 2, (1 << 3) | PAL_OW_BLUE, 0, 0, PharmacistScript_0x56df1, -1
-	person_event SPRITE_PHARMACIST, 7, 8, $8, 0, 0, -1, 4, (1 << 3) | PAL_OW_BLUE, 0, 0, PharmacistScript_0x56df1, -1
-	person_event SPRITE_POKEFAN_M, 10, 11, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x56dfc, -1
-	person_event SPRITE_COOLTRAINER_M, 8, 14, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerMScript_0x56e07, -1
-	person_event SPRITE_POKEFAN_F, 6, 17, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x56e12, -1
-	person_event SPRITE_COOLTRAINER_F, 3, 10, $2, 1, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x56e1d, -1
-	person_event SPRITE_GENTLEMAN, 10, 5, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GentlemanScript_0x56e20, -1
-	person_event SPRITE_POKEFAN_M, 9, 2, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x56e2b, -1
-	person_event SPRITE_POKEFAN_M, 10, 17, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x56c1a, EVENT_GOLDENROD_GAME_CORNER_MOVE_TUTOR
+	person_event SPRITE_CLERK, 2, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ClerkScript_0x56c25, -1
+	person_event SPRITE_RECEPTIONIST, 2, 16, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x56c28, -1
+	person_event SPRITE_RECEPTIONIST, 2, 18, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x56d01, -1
+	person_event SPRITE_PHARMACIST, 7, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, 2, (1 << 3) | PAL_OW_BLUE, 0, 0, PharmacistScript_0x56df1, -1
+	person_event SPRITE_PHARMACIST, 7, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, 4, (1 << 3) | PAL_OW_BLUE, 0, 0, PharmacistScript_0x56df1, -1
+	person_event SPRITE_POKEFAN_M, 10, 11, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x56dfc, -1
+	person_event SPRITE_COOLTRAINER_M, 8, 14, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerMScript_0x56e07, -1
+	person_event SPRITE_POKEFAN_F, 6, 17, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x56e12, -1
+	person_event SPRITE_COOLTRAINER_F, 3, 10, SPRITEMOVEDATA_02, 1, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x56e1d, -1
+	person_event SPRITE_GENTLEMAN, 10, 5, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GentlemanScript_0x56e20, -1
+	person_event SPRITE_POKEFAN_M, 9, 2, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x56e2b, -1
+	person_event SPRITE_POKEFAN_M, 10, 17, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x56c1a, EVENT_GOLDENROD_GAME_CORNER_MOVE_TUTOR
--- a/maps/GoldenrodGym.asm
+++ b/maps/GoldenrodGym.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x5400a, $0000
-	dw UnknownScript_0x5400b, $0000
+	dw UnknownScript_0x5400a, 0
+	dw UnknownScript_0x5400b, 0
 
 .MapCallbacks:
 	db 0
@@ -23,7 +23,7 @@
 	writetext UnknownText_0x54122
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x541a5, $0000
+	winlosstext UnknownText_0x541a5, 0
 	loadtrainer WHITNEY, 1
 	startbattle
 	returnafterbattle
@@ -87,7 +87,7 @@
 	jumpstd radiotowerrockets
 
 TrainerLassCarrie:
-	trainer EVENT_BEAT_LASS_CARRIE, LASS, CARRIE, LassCarrieSeenText, LassCarrieBeatenText, $0000, LassCarrieScript
+	trainer EVENT_BEAT_LASS_CARRIE, LASS, CARRIE, LassCarrieSeenText, LassCarrieBeatenText, 0, LassCarrieScript
 
 LassCarrieScript:
 	talkaftercancel
@@ -111,7 +111,7 @@
 	end
 
 TrainerLassBridget:
-	trainer EVENT_BEAT_LASS_BRIDGET, LASS, BRIDGET, LassBridgetSeenText, LassBridgetBeatenText, $0000, LassBridgetScript
+	trainer EVENT_BEAT_LASS_BRIDGET, LASS, BRIDGET, LassBridgetSeenText, LassBridgetBeatenText, 0, LassBridgetScript
 
 LassBridgetScript:
 	talkaftercancel
@@ -122,7 +122,7 @@
 	end
 
 TrainerBeautyVictoria:
-	trainer EVENT_BEAT_BEAUTY_VICTORIA, BEAUTY, VICTORIA, BeautyVictoriaSeenText, BeautyVictoriaBeatenText, $0000, BeautyVictoriaScript
+	trainer EVENT_BEAT_BEAUTY_VICTORIA, BEAUTY, VICTORIA, BeautyVictoriaSeenText, BeautyVictoriaBeatenText, 0, BeautyVictoriaScript
 
 BeautyVictoriaScript:
 	talkaftercancel
@@ -133,7 +133,7 @@
 	end
 
 TrainerBeautySamantha:
-	trainer EVENT_BEAT_BEAUTY_SAMANTHA, BEAUTY, SAMANTHA, BeautySamanthaSeenText, BeautySamanthaBeatenText, $0000, BeautySamanthaScript
+	trainer EVENT_BEAT_BEAUTY_SAMANTHA, BEAUTY, SAMANTHA, BeautySamanthaSeenText, BeautySamanthaBeatenText, 0, BeautySamanthaScript
 
 BeautySamanthaScript:
 	talkaftercancel
@@ -393,9 +393,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_WHITNEY, 3, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, WhitneyScript_0x5400c, -1
-	person_event SPRITE_LASS, 13, 9, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerLassCarrie, -1
-	person_event SPRITE_LASS, 6, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerLassBridget, -1
-	person_event SPRITE_BUENA, 2, 0, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBeautyVictoria, -1
-	person_event SPRITE_BUENA, 5, 19, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBeautySamantha, -1
-	person_event SPRITE_GYM_GUY, 15, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GoldenrodGymGuyScript, -1
+	person_event SPRITE_WHITNEY, 3, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, WhitneyScript_0x5400c, -1
+	person_event SPRITE_LASS, 13, 9, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerLassCarrie, -1
+	person_event SPRITE_LASS, 6, 9, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerLassBridget, -1
+	person_event SPRITE_BUENA, 2, 0, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBeautyVictoria, -1
+	person_event SPRITE_BUENA, 5, 19, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBeautySamantha, -1
+	person_event SPRITE_GYM_GUY, 15, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GoldenrodGymGuyScript, -1
--- a/maps/GoldenrodHappinessRater.asm
+++ b/maps/GoldenrodHappinessRater.asm
@@ -151,6 +151,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_TEACHER, 4, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x54953, -1
-	person_event SPRITE_POKEFAN_M, 3, 5, $8, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x54997, -1
-	person_event SPRITE_TWIN, 6, 5, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x5499a, -1
+	person_event SPRITE_TEACHER, 4, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x54953, -1
+	person_event SPRITE_POKEFAN_M, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x54997, -1
+	person_event SPRITE_TWIN, 6, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x5499a, -1
--- a/maps/GoldenrodMagnetTrainStation.asm
+++ b/maps/GoldenrodMagnetTrainStation.asm
@@ -3,7 +3,7 @@
 	db 1
 
 	; triggers
-	dw .Trigger1, $0000
+	dw .Trigger1, 0
 
 .MapCallbacks:
 	db 0
@@ -182,5 +182,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_OFFICER, 9, 9, $6, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x550ec, -1
-	person_event SPRITE_GENTLEMAN, 14, 11, $2, 2, 2, -1, -1, 0, 0, 0, GentlemanScript_0x55143, EVENT_GOLDENROD_TRAIN_STATION_GENTLEMAN
+	person_event SPRITE_OFFICER, 9, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x550ec, -1
+	person_event SPRITE_GENTLEMAN, 14, 11, SPRITEMOVEDATA_02, 2, 2, -1, -1, 0, 0, 0, GentlemanScript_0x55143, EVENT_GOLDENROD_TRAIN_STATION_GENTLEMAN
--- a/maps/GoldenrodNameRatersHouse.asm
+++ b/maps/GoldenrodNameRatersHouse.asm
@@ -41,4 +41,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_GENTLEMAN, 4, 2, $6, 0, 2, -1, -1, 0, 0, 0, GentlemanScript_0x5577c, -1
+	person_event SPRITE_GENTLEMAN, 4, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 2, -1, -1, 0, 0, 0, GentlemanScript_0x5577c, -1
--- a/maps/GoldenrodPPSpeechHouse.asm
+++ b/maps/GoldenrodPPSpeechHouse.asm
@@ -67,5 +67,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_FISHER, 4, 2, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x5564a, -1
-	person_event SPRITE_LASS, 3, 5, $8, 1, 0, -1, -1, 0, 0, 0, LassScript_0x5564d, -1
+	person_event SPRITE_FISHER, 4, 2, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x5564a, -1
+	person_event SPRITE_LASS, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 1, 0, -1, -1, 0, 0, 0, LassScript_0x5564d, -1
--- a/maps/GoldenrodPokeCenter1F.asm
+++ b/maps/GoldenrodPokeCenter1F.asm
@@ -818,8 +818,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x60f91, -1
-	person_event SPRITE_LINK_RECEPTIONIST, 8, 16, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, -1
-	person_event SPRITE_GAMEBOY_KID, 1, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GameboyKidScript_0x6101e, -1
-	person_event SPRITE_LASS, 4, 1, $5, 0, 1, -1, -1, 0, 0, 0, LassScript_0x61021, -1
-	person_event SPRITE_POKEFAN_F, 5, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanFScript_0x61024, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x60f91, -1
+	person_event SPRITE_LINK_RECEPTIONIST, 8, 16, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, -1
+	person_event SPRITE_GAMEBOY_KID, 1, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GameboyKidScript_0x6101e, -1
+	person_event SPRITE_LASS, 4, 1, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, LassScript_0x61021, -1
+	person_event SPRITE_POKEFAN_F, 5, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanFScript_0x61024, -1
--- a/maps/GoldenrodPokeComCenter2FMobile.asm
+++ b/maps/GoldenrodPokeComCenter2FMobile.asm
@@ -283,6 +283,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_SCIENTIST, 28, 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ScientistScript_0x625d1, -1
-	person_event SPRITE_SCIENTIST, 27, 7, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x625d4, -1
-	person_event SPRITE_SCIENTIST, 29, 7, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ScientistScript_0x625d7, -1
+	person_event SPRITE_SCIENTIST, 28, 4, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ScientistScript_0x625d1, -1
+	person_event SPRITE_SCIENTIST, 27, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x625d4, -1
+	person_event SPRITE_SCIENTIST, 29, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ScientistScript_0x625d7, -1
--- a/maps/GuideGentsHouse.asm
+++ b/maps/GuideGentsHouse.asm
@@ -43,4 +43,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_GRAMPS, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, GuideGentsHouseGuideGent, EVENT_GUIDE_GENT_VISIBLE_IN_CHERRYGROVE
+	person_event SPRITE_GRAMPS, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, GuideGentsHouseGuideGent, EVENT_GUIDE_GENT_VISIBLE_IN_CHERRYGROVE
--- a/maps/HallOfFame.asm
+++ b/maps/HallOfFame.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
 
 .MapCallbacks:
 	db 0
@@ -126,4 +126,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_LANCE, 12, 4, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, -1
+	person_event SPRITE_LANCE, 12, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, -1
--- a/maps/IcePath1F.asm
+++ b/maps/IcePath1F.asm
@@ -33,6 +33,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_POKE_BALL, 7, 31, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e472, EVENT_GOT_HM07_WATERFALL
-	person_event SPRITE_POKE_BALL, 23, 32, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e474, EVENT_ICE_PATH_1F_PP_UP
-	person_event SPRITE_POKE_BALL, 9, 35, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e476, EVENT_ICE_PATH_1F_PROTEIN
+	person_event SPRITE_POKE_BALL, 7, 31, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e472, EVENT_GOT_HM07_WATERFALL
+	person_event SPRITE_POKE_BALL, 23, 32, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e474, EVENT_ICE_PATH_1F_PP_UP
+	person_event SPRITE_POKE_BALL, 9, 35, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e476, EVENT_ICE_PATH_1F_PROTEIN
--- a/maps/IcePathB1F.asm
+++ b/maps/IcePathB1F.asm
@@ -107,8 +107,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_BOULDER, 7, 11, $19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_1
-	person_event SPRITE_BOULDER, 8, 7, $19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_2
-	person_event SPRITE_BOULDER, 9, 8, $19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_3
-	person_event SPRITE_BOULDER, 7, 17, $19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_4
-	person_event SPRITE_POKE_BALL, 35, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e50d, EVENT_ICE_PATH_B1F_IRON
+	person_event SPRITE_BOULDER, 7, 11, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_1
+	person_event SPRITE_BOULDER, 8, 7, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_2
+	person_event SPRITE_BOULDER, 9, 8, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_3
+	person_event SPRITE_BOULDER, 7, 17, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_4
+	person_event SPRITE_POKE_BALL, 35, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e50d, EVENT_ICE_PATH_B1F_IRON
--- a/maps/IcePathB2FBlackthornSide.asm
+++ b/maps/IcePathB2FBlackthornSide.asm
@@ -30,4 +30,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_POKE_BALL, 16, 8, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e646, EVENT_ICE_PATH_B2F_BLACKTHORN_SIDE_TM_REST
+	person_event SPRITE_POKE_BALL, 16, 8, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e646, EVENT_ICE_PATH_B2F_BLACKTHORN_SIDE_TM_REST
--- a/maps/IcePathB2FMahoganySide.asm
+++ b/maps/IcePathB2FMahoganySide.asm
@@ -45,9 +45,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_BOULDER, 3, 11, $1, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_1A
-	person_event SPRITE_BOULDER, 7, 4, $1, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_2A
-	person_event SPRITE_BOULDER, 12, 3, $1, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_3A
-	person_event SPRITE_BOULDER, 13, 12, $1, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_4A
-	person_event SPRITE_POKE_BALL, 9, 8, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e5a6, EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_FULL_HEAL
-	person_event SPRITE_POKE_BALL, 2, 0, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e5a8, EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_MAX_POTION
+	person_event SPRITE_BOULDER, 3, 11, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_1A
+	person_event SPRITE_BOULDER, 7, 4, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_2A
+	person_event SPRITE_BOULDER, 12, 3, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_3A
+	person_event SPRITE_BOULDER, 13, 12, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_4A
+	person_event SPRITE_POKE_BALL, 9, 8, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e5a6, EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_FULL_HEAL
+	person_event SPRITE_POKE_BALL, 2, 0, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e5a8, EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_MAX_POTION
--- a/maps/IcePathB3F.asm
+++ b/maps/IcePathB3F.asm
@@ -28,5 +28,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_POKE_BALL, 7, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e66f, EVENT_ICE_PATH_B3F_NEVERMELTICE
-	person_event SPRITE_ROCK, 6, 6, $18, 0, 0, -1, -1, 0, 0, 0, IcePathB3FRock, -1
+	person_event SPRITE_POKE_BALL, 7, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e66f, EVENT_ICE_PATH_B3F_NEVERMELTICE
+	person_event SPRITE_ROCK, 6, 6, SPRITEMOVEDATA_18, 0, 0, -1, -1, 0, 0, 0, IcePathB3FRock, -1
--- a/maps/IlexForest.asm
+++ b/maps/IlexForest.asm
@@ -376,7 +376,7 @@
 	end
 
 TrainerBug_catcherWayne:
-	trainer EVENT_BEAT_BUG_CATCHER_WAYNE, BUG_CATCHER, WAYNE, Bug_catcherWayneSeenText, Bug_catcherWayneBeatenText, $0000, Bug_catcherWayneScript
+	trainer EVENT_BEAT_BUG_CATCHER_WAYNE, BUG_CATCHER, WAYNE, Bug_catcherWayneSeenText, Bug_catcherWayneBeatenText, 0, Bug_catcherWayneScript
 
 Bug_catcherWayneScript:
 	talkaftercancel
@@ -950,14 +950,14 @@
 
 .PersonEvents:
 	db 11
-	person_event SPRITE_BIRD, 31, 14, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BirdScript_0x6eb8f, EVENT_ILEX_FOREST_FARFETCHD
-	person_event SPRITE_YOUNGSTER, 28, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6eb7b, EVENT_ILEX_FOREST_APPRENTICE
-	person_event SPRITE_BLACK_BELT, 28, 5, $9, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x6edae, EVENT_ILEX_FOREST_CHARCOAL_MASTER
-	person_event SPRITE_ROCKER, 14, 15, $9, 0, 0, -1, -1, 0, 0, 0, RockerScript_0x6edde, -1
-	person_event SPRITE_POKE_BALL, 32, 20, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee10, EVENT_ILEX_FOREST_REVIVE
-	person_event SPRITE_KURT, 29, 8, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_ILEX_FOREST_KURT
-	person_event SPRITE_LASS, 24, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x6ee0d, EVENT_ILEX_FOREST_LASS
-	person_event SPRITE_YOUNGSTER, 1, 12, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerBug_catcherWayne, -1
-	person_event SPRITE_POKE_BALL, 17, 9, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee12, EVENT_ILEX_FOREST_X_ATTACK
-	person_event SPRITE_POKE_BALL, 7, 17, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee14, EVENT_ILEX_FOREST_ANTIDOTE
-	person_event SPRITE_POKE_BALL, 1, 27, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee16, EVENT_ILEX_FOREST_ETHER
+	person_event SPRITE_BIRD, 31, 14, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BirdScript_0x6eb8f, EVENT_ILEX_FOREST_FARFETCHD
+	person_event SPRITE_YOUNGSTER, 28, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6eb7b, EVENT_ILEX_FOREST_APPRENTICE
+	person_event SPRITE_BLACK_BELT, 28, 5, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x6edae, EVENT_ILEX_FOREST_CHARCOAL_MASTER
+	person_event SPRITE_ROCKER, 14, 15, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, RockerScript_0x6edde, -1
+	person_event SPRITE_POKE_BALL, 32, 20, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee10, EVENT_ILEX_FOREST_REVIVE
+	person_event SPRITE_KURT, 29, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_ILEX_FOREST_KURT
+	person_event SPRITE_LASS, 24, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x6ee0d, EVENT_ILEX_FOREST_LASS
+	person_event SPRITE_YOUNGSTER, 1, 12, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerBug_catcherWayne, -1
+	person_event SPRITE_POKE_BALL, 17, 9, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee12, EVENT_ILEX_FOREST_X_ATTACK
+	person_event SPRITE_POKE_BALL, 7, 17, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee14, EVENT_ILEX_FOREST_ANTIDOTE
+	person_event SPRITE_POKE_BALL, 1, 27, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee16, EVENT_ILEX_FOREST_ETHER
--- a/maps/IlexForestAzaleaGate.asm
+++ b/maps/IlexForestAzaleaGate.asm
@@ -45,5 +45,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x62c7a, -1
-	person_event SPRITE_GRANNY, 3, 1, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrannyScript_0x62c7d, -1
+	person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x62c7a, -1
+	person_event SPRITE_GRANNY, 3, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrannyScript_0x62c7d, -1
--- a/maps/IndigoPlateauPokeCenter1F.asm
+++ b/maps/IndigoPlateauPokeCenter1F.asm
@@ -3,7 +3,7 @@
 	db 1
 
 	; triggers
-	dw UnknownScript_0x180009, $0000
+	dw UnknownScript_0x180009, 0
 
 .MapCallbacks:
 	db 1
@@ -137,7 +137,7 @@
 
 ClerkScript_0x18012f:
 	loadfont
-	pokemart $0, $0020
+	pokemart MARTTYPE_STANDARD, MART_INDIGO_PLATEAU
 	loadmovesprites
 	end
 
@@ -319,9 +319,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_NURSE, 7, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18012c, -1
-	person_event SPRITE_CLERK, 7, 11, $6, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18012f, -1
-	person_event SPRITE_COOLTRAINER_M, 11, 11, $2, 2, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x180136, -1
-	person_event SPRITE_SILVER, 9, 16, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL
-	person_event SPRITE_GRAMPS, 9, 1, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeleportGuyScript, EVENT_TELEPORT_GUY
-	person_event SPRITE_JYNX, 9, 0, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, AbraScript, EVENT_TELEPORT_GUY
+	person_event SPRITE_NURSE, 7, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18012c, -1
+	person_event SPRITE_CLERK, 7, 11, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18012f, -1
+	person_event SPRITE_COOLTRAINER_M, 11, 11, SPRITEMOVEDATA_02, 2, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x180136, -1
+	person_event SPRITE_SILVER, 9, 16, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL
+	person_event SPRITE_GRAMPS, 9, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeleportGuyScript, EVENT_TELEPORT_GUY
+	person_event SPRITE_JYNX, 9, 0, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, AbraScript, EVENT_TELEPORT_GUY
--- a/maps/KarensRoom.asm
+++ b/maps/KarensRoom.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x180bbc, $0000
-	dw UnknownScript_0x180bc0, $0000
+	dw UnknownScript_0x180bbc, 0
+	dw UnknownScript_0x180bc0, 0
 
 .MapCallbacks:
 	db 1
@@ -52,7 +52,7 @@
 	writetext UnknownText_0x180c27
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x180cf8, $0000
+	winlosstext UnknownText_0x180cf8, 0
 	loadtrainer KAREN, 1
 	startbattle
 	returnafterbattle
@@ -153,4 +153,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_KAREN, 7, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, KarenScript_0x180bee, -1
+	person_event SPRITE_KAREN, 7, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, KarenScript_0x180bee, -1
--- a/maps/KogasRoom.asm
+++ b/maps/KogasRoom.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x180728, $0000
-	dw UnknownScript_0x18072c, $0000
+	dw UnknownScript_0x180728, 0
+	dw UnknownScript_0x18072c, 0
 
 .MapCallbacks:
 	db 1
@@ -52,7 +52,7 @@
 	writetext UnknownText_0x180793
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x1808a9, $0000
+	winlosstext UnknownText_0x1808a9, 0
 	loadtrainer KOGA, 1
 	startbattle
 	returnafterbattle
@@ -150,4 +150,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_KOGA, 7, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, KogaScript_0x18075a, -1
+	person_event SPRITE_KOGA, 7, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, KogaScript_0x18075a, -1
--- a/maps/KrissHouse1F.asm
+++ b/maps/KrissHouse1F.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x7a4d6, $0000
-	dw UnknownScript_0x7a4d7, $0000
+	dw UnknownScript_0x7a4d6, 0
+	dw UnknownScript_0x7a4d7, 0
 
 .MapCallbacks:
 	db 0
@@ -404,8 +404,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_MOM, 4, 7, $8, 0, 0, -1, -1, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_1
-	person_event SPRITE_MOM, 2, 2, $7, 0, 0, -1, 1, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_2
-	person_event SPRITE_MOM, 4, 7, $8, 0, 0, -1, 2, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_2
-	person_event SPRITE_MOM, 2, 0, $7, 0, 0, -1, 4, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_2
-	person_event SPRITE_POKEFAN_F, 4, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, NeighborScript, EVENT_KRISS_HOUSE_1F_NEIGHBOR
+	person_event SPRITE_MOM, 4, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_1
+	person_event SPRITE_MOM, 2, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, 1, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_2
+	person_event SPRITE_MOM, 4, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, 2, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_2
+	person_event SPRITE_MOM, 2, 0, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, 4, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_2
+	person_event SPRITE_POKEFAN_F, 4, 4, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, NeighborScript, EVENT_KRISS_HOUSE_1F_NEIGHBOR
--- a/maps/KrissHouse2F.asm
+++ b/maps/KrissHouse2F.asm
@@ -70,8 +70,10 @@
 	loadmovesprites
 	setevent EVENT_LISTENED_TO_INITIAL_RADIO
 	end
+
 .NormalRadio
 	jumpstd radio1
+
 .AbbreviatedRadio
 	loadfont
 	writetext KrisRadioText4
@@ -132,7 +134,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_CONSOLE, 2, 4, $1, 0, 0, -1, -1, 0, 0, 0, GameConsole, EVENT_KRISS_HOUSE_2F_CONSOLE
-	person_event SPRITE_DOLL_1, 4, 4, $1, 0, 0, -1, -1, 0, 0, 0, Doll1, EVENT_KRISS_HOUSE_2F_DOLL_1
-	person_event SPRITE_DOLL_2, 4, 5, $1, 0, 0, -1, -1, 0, 0, 0, Doll2, EVENT_KRISS_HOUSE_2F_DOLL_2
-	person_event SPRITE_BIG_DOLL, 1, 0, $21, 0, 0, -1, -1, 0, 0, 0, BigDoll, EVENT_KRISS_HOUSE_2F_BIG_DOLL
+	person_event SPRITE_CONSOLE, 2, 4, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, GameConsole, EVENT_KRISS_HOUSE_2F_CONSOLE
+	person_event SPRITE_DOLL_1, 4, 4, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, Doll1, EVENT_KRISS_HOUSE_2F_DOLL_1
+	person_event SPRITE_DOLL_2, 4, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, Doll2, EVENT_KRISS_HOUSE_2F_DOLL_2
+	person_event SPRITE_BIG_DOLL, 1, 0, SPRITEMOVEDATA_21, 0, 0, -1, -1, 0, 0, 0, BigDoll, EVENT_KRISS_HOUSE_2F_BIG_DOLL
--- a/maps/KrissNeighborsHouse.asm
+++ b/maps/KrissNeighborsHouse.asm
@@ -114,5 +114,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_COOLTRAINER_F, 3, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, KrissNeighborsDaughter, -1
-	person_event SPRITE_POKEFAN_F, 3, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, KrissNeighbor, EVENT_KRISS_NEIGHBORS_HOUSE_NEIGHBOR
+	person_event SPRITE_COOLTRAINER_F, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, KrissNeighborsDaughter, -1
+	person_event SPRITE_POKEFAN_F, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, KrissNeighbor, EVENT_KRISS_NEIGHBORS_HOUSE_NEIGHBOR
--- a/maps/KurtsHouse.asm
+++ b/maps/KurtsHouse.asm
@@ -696,8 +696,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_KURT, 2, 3, $6, 0, 0, -1, -1, 0, 0, 0, KurtScript_0x18e178, EVENT_KURTS_HOUSE_KURT_1
-	person_event SPRITE_TWIN, 3, 5, $3, 0, 0, -1, -1, 0, 0, 0, KurtsGranddaughter1, EVENT_KURTS_HOUSE_GRANDDAUGHTER_1
-	person_event SPRITE_SLOWPOKE, 3, 6, $1, 0, 0, -1, -1, 0, 0, 0, KurtsHouseSlowpoke, EVENT_KURTS_HOUSE_SLOWPOKE
-	person_event SPRITE_KURT, 3, 14, $7, 0, 0, -1, -1, 0, 0, 0, KurtScript_0x18e3bd, EVENT_KURTS_HOUSE_KURT_2
-	person_event SPRITE_TWIN, 4, 11, $9, 0, 0, -1, -1, 0, 0, 0, KurtsGranddaughter2, EVENT_KURTS_HOUSE_GRANDDAUGHTER_2
+	person_event SPRITE_KURT, 2, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, KurtScript_0x18e178, EVENT_KURTS_HOUSE_KURT_1
+	person_event SPRITE_TWIN, 3, 5, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, KurtsGranddaughter1, EVENT_KURTS_HOUSE_GRANDDAUGHTER_1
+	person_event SPRITE_SLOWPOKE, 3, 6, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, KurtsHouseSlowpoke, EVENT_KURTS_HOUSE_SLOWPOKE
+	person_event SPRITE_KURT, 3, 14, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, KurtScript_0x18e3bd, EVENT_KURTS_HOUSE_KURT_2
+	person_event SPRITE_TWIN, 4, 11, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, KurtsGranddaughter2, EVENT_KURTS_HOUSE_GRANDDAUGHTER_2
--- a/maps/LakeofRage.asm
+++ b/maps/LakeofRage.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
 
 .MapCallbacks:
 	db 2
@@ -137,7 +137,7 @@
 	end
 
 TrainerFisherAndre:
-	trainer EVENT_BEAT_FISHER_ANDRE, FISHER, ANDRE, FisherAndreSeenText, FisherAndreBeatenText, $0000, FisherAndreScript
+	trainer EVENT_BEAT_FISHER_ANDRE, FISHER, ANDRE, FisherAndreSeenText, FisherAndreBeatenText, 0, FisherAndreScript
 
 FisherAndreScript:
 	talkaftercancel
@@ -148,7 +148,7 @@
 	end
 
 TrainerFisherRaymond:
-	trainer EVENT_BEAT_FISHER_RAYMOND, FISHER, RAYMOND, FisherRaymondSeenText, FisherRaymondBeatenText, $0000, FisherRaymondScript
+	trainer EVENT_BEAT_FISHER_RAYMOND, FISHER, RAYMOND, FisherRaymondSeenText, FisherRaymondBeatenText, 0, FisherRaymondScript
 
 FisherRaymondScript:
 	talkaftercancel
@@ -159,7 +159,7 @@
 	end
 
 TrainerCooltrainermAaron:
-	trainer EVENT_BEAT_COOLTRAINERM_AARON, COOLTRAINERM, AARON, CooltrainermAaronSeenText, CooltrainermAaronBeatenText, $0000, CooltrainermAaronScript
+	trainer EVENT_BEAT_COOLTRAINERM_AARON, COOLTRAINERM, AARON, CooltrainermAaronSeenText, CooltrainermAaronBeatenText, 0, CooltrainermAaronScript
 
 CooltrainermAaronScript:
 	talkaftercancel
@@ -170,7 +170,7 @@
 	end
 
 TrainerCooltrainerfLois:
-	trainer EVENT_BEAT_COOLTRAINERF_LOIS, COOLTRAINERF, LOIS, CooltrainerfLoisSeenText, CooltrainerfLoisBeatenText, $0000, CooltrainerfLoisScript
+	trainer EVENT_BEAT_COOLTRAINERF_LOIS, COOLTRAINERF, LOIS, CooltrainerfLoisSeenText, CooltrainerfLoisBeatenText, 0, CooltrainerfLoisScript
 
 CooltrainerfLoisScript:
 	talkaftercancel
@@ -509,15 +509,15 @@
 
 .PersonEvents:
 	db 12
-	person_event SPRITE_LANCE, 28, 21, $7, 0, 0, -1, -1, 0, 0, 0, LanceScript_0x70022, EVENT_LAKE_OF_RAGE_LANCE
-	person_event SPRITE_GRAMPS, 26, 20, $7, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x7008e, -1
-	person_event SPRITE_SUPER_NERD, 13, 36, $8, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x700a2, -1
-	person_event SPRITE_COOLTRAINER_F, 29, 25, $5, 0, 1, -1, -1, 0, 0, 0, CooltrainerFScript_0x700a5, -1
-	person_event SPRITE_FISHER, 23, 30, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerFisherAndre, EVENT_LAKE_OF_RAGE_CIVILIANS
-	person_event SPRITE_FISHER, 26, 24, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerFisherRaymond, EVENT_LAKE_OF_RAGE_CIVILIANS
-	person_event SPRITE_COOLTRAINER_M, 15, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainermAaron, EVENT_LAKE_OF_RAGE_CIVILIANS
-	person_event SPRITE_COOLTRAINER_F, 7, 36, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerCooltrainerfLois, EVENT_LAKE_OF_RAGE_CIVILIANS
-	person_event SPRITE_GYARADOS, 22, 18, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GyaradosScript_0x70063, EVENT_LAKE_OF_RAGE_RED_GYARADOS
-	person_event SPRITE_SUPER_NERD, 4, 4, $6, 0, 0, -1, -1, 0, 0, 0, WesleyScript, EVENT_LAKE_OF_RAGE_WESLEY_OF_WEDNESDAY
-	person_event SPRITE_POKE_BALL, 10, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x70148, EVENT_LAKE_OF_RAGE_ELIXER
-	person_event SPRITE_POKE_BALL, 2, 35, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7014a, EVENT_LAKE_OF_RAGE_TM_DETECT
+	person_event SPRITE_LANCE, 28, 21, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, LanceScript_0x70022, EVENT_LAKE_OF_RAGE_LANCE
+	person_event SPRITE_GRAMPS, 26, 20, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x7008e, -1
+	person_event SPRITE_SUPER_NERD, 13, 36, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x700a2, -1
+	person_event SPRITE_COOLTRAINER_F, 29, 25, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, CooltrainerFScript_0x700a5, -1
+	person_event SPRITE_FISHER, 23, 30, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerFisherAndre, EVENT_LAKE_OF_RAGE_CIVILIANS
+	person_event SPRITE_FISHER, 26, 24, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerFisherRaymond, EVENT_LAKE_OF_RAGE_CIVILIANS
+	person_event SPRITE_COOLTRAINER_M, 15, 4, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainermAaron, EVENT_LAKE_OF_RAGE_CIVILIANS
+	person_event SPRITE_COOLTRAINER_F, 7, 36, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerCooltrainerfLois, EVENT_LAKE_OF_RAGE_CIVILIANS
+	person_event SPRITE_GYARADOS, 22, 18, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GyaradosScript_0x70063, EVENT_LAKE_OF_RAGE_RED_GYARADOS
+	person_event SPRITE_SUPER_NERD, 4, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, WesleyScript, EVENT_LAKE_OF_RAGE_WESLEY_OF_WEDNESDAY
+	person_event SPRITE_POKE_BALL, 10, 7, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x70148, EVENT_LAKE_OF_RAGE_ELIXER
+	person_event SPRITE_POKE_BALL, 2, 35, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7014a, EVENT_LAKE_OF_RAGE_TM_DETECT
--- a/maps/LakeofRageHiddenPowerHouse.asm
+++ b/maps/LakeofRageHiddenPowerHouse.asm
@@ -83,4 +83,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_FISHER, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, HiddenPowerGuy, -1
+	person_event SPRITE_FISHER, 3, 2, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, HiddenPowerGuy, -1
--- a/maps/LakeofRageMagikarpHouse.asm
+++ b/maps/LakeofRageMagikarpHouse.asm
@@ -221,4 +221,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_FISHING_GURU, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x19a6ae, -1
+	person_event SPRITE_FISHING_GURU, 3, 2, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x19a6ae, -1
--- a/maps/LancesRoom.asm
+++ b/maps/LancesRoom.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x180e39, $0000
-	dw UnknownScript_0x180e3d, $0000
+	dw UnknownScript_0x180e39, 0
+	dw UnknownScript_0x180e3d, 0
 
 .MapCallbacks:
 	db 1
@@ -57,7 +57,7 @@
 	writetext UnknownText_0x180f67
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x1810a4, $0000
+	winlosstext UnknownText_0x1810a4, 0
 	setlasttalked $2
 	loadtrainer CHAMPION, LANCE
 	startbattle
@@ -358,6 +358,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_LANCE, 3, 5, $6, 0, 0, -1, -1, 0, 0, 0, LanceScript_0x180e7b, -1
-	person_event SPRITE_TEACHER, 7, 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, EVENT_LANCES_ROOM_OAK_AND_MARY
-	person_event SPRITE_OAK, 7, 4, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_LANCES_ROOM_OAK_AND_MARY
+	person_event SPRITE_LANCE, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, LanceScript_0x180e7b, -1
+	person_event SPRITE_TEACHER, 7, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, EVENT_LANCES_ROOM_OAK_AND_MARY
+	person_event SPRITE_OAK, 7, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_LANCES_ROOM_OAK_AND_MARY
--- a/maps/LavRadioTower1F.asm
+++ b/maps/LavRadioTower1F.asm
@@ -233,8 +233,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_RECEPTIONIST, 6, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x7ee63, -1
-	person_event SPRITE_OFFICER, 1, 15, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x7ee66, -1
-	person_event SPRITE_SUPER_NERD, 3, 1, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x7ee69, -1
-	person_event SPRITE_GENTLEMAN, 1, 9, $7, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x7ee6c, -1
-	person_event SPRITE_SUPER_NERD, 6, 14, $9, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7eea2, -1
+	person_event SPRITE_RECEPTIONIST, 6, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x7ee63, -1
+	person_event SPRITE_OFFICER, 1, 15, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x7ee66, -1
+	person_event SPRITE_SUPER_NERD, 3, 1, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x7ee69, -1
+	person_event SPRITE_GENTLEMAN, 1, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x7ee6c, -1
+	person_event SPRITE_SUPER_NERD, 6, 14, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7eea2, -1
--- a/maps/LavenderMart.asm
+++ b/maps/LavenderMart.asm
@@ -7,7 +7,7 @@
 
 ClerkScript_0x7eb1c:
 	loadfont
-	pokemart $0, $0015
+	pokemart MARTTYPE_STANDARD, MART_LAVENDER
 	loadmovesprites
 	end
 
@@ -59,6 +59,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x7eb1c, -1
-	person_event SPRITE_POKEFAN_M, 6, 6, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x7eb23, -1
-	person_event SPRITE_ROCKER, 2, 9, $3, 0, 0, -1, -1, 0, 0, 0, RockerScript_0x7eb26, -1
+	person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x7eb1c, -1
+	person_event SPRITE_POKEFAN_M, 6, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x7eb23, -1
+	person_event SPRITE_ROCKER, 2, 9, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, RockerScript_0x7eb26, -1
--- a/maps/LavenderNameRater.asm
+++ b/maps/LavenderNameRater.asm
@@ -3,7 +3,7 @@
 	db 1
 
 	; triggers
-	dw UnknownScript_0x7eaf1, $0000
+	dw UnknownScript_0x7eaf1, 0
 
 .MapCallbacks:
 	db 0
@@ -40,4 +40,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_GENTLEMAN, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LavenderNameRater, -1
+	person_event SPRITE_GENTLEMAN, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LavenderNameRater, -1
--- a/maps/LavenderPokeCenter1F.asm
+++ b/maps/LavenderPokeCenter1F.asm
@@ -92,7 +92,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x7e6a0, -1
-	person_event SPRITE_GENTLEMAN, 6, 7, $5, 0, 1, -1, -1, 0, 0, 0, GentlemanScript_0x7e6a3, -1
-	person_event SPRITE_TEACHER, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x7e6a6, -1
-	person_event SPRITE_YOUNGSTER, 5, 1, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x7e6a9, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x7e6a0, -1
+	person_event SPRITE_GENTLEMAN, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, GentlemanScript_0x7e6a3, -1
+	person_event SPRITE_TEACHER, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x7e6a6, -1
+	person_event SPRITE_YOUNGSTER, 5, 1, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x7e6a9, -1
--- a/maps/LavenderTown.asm
+++ b/maps/LavenderTown.asm
@@ -129,7 +129,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_POKEFAN_M, 7, 12, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x1ad6e4, -1
-	person_event SPRITE_TEACHER, 15, 2, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x1ad6e7, -1
-	person_event SPRITE_GRAMPS, 12, 14, $7, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1ad6ea, -1
-	person_event SPRITE_YOUNGSTER, 11, 6, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 1, YoungsterScript_0x1ad6ed, -1
+	person_event SPRITE_POKEFAN_M, 7, 12, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x1ad6e4, -1
+	person_event SPRITE_TEACHER, 15, 2, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x1ad6e7, -1
+	person_event SPRITE_GRAMPS, 12, 14, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1ad6ea, -1
+	person_event SPRITE_YOUNGSTER, 11, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 1, YoungsterScript_0x1ad6ed, -1
--- a/maps/LavenderTownSpeechHouse.asm
+++ b/maps/LavenderTownSpeechHouse.asm
@@ -44,4 +44,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_POKEFAN_F, 3, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x7ea47, -1
+	person_event SPRITE_POKEFAN_F, 3, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x7ea47, -1
--- a/maps/MahoganyGym.asm
+++ b/maps/MahoganyGym.asm
@@ -13,7 +13,7 @@
 	writetext UnknownText_0x199b8d
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x199cb3, $0000
+	winlosstext UnknownText_0x199cb3, 0
 	loadtrainer PRYCE, 1
 	startbattle
 	returnafterbattle
@@ -62,7 +62,7 @@
 	jumpstd radiotowerrockets
 
 TrainerSkierRoxanne:
-	trainer EVENT_BEAT_SKIER_ROXANNE, SKIER, ROXANNE, SkierRoxanneSeenText, SkierRoxanneBeatenText, $0000, SkierRoxanneScript
+	trainer EVENT_BEAT_SKIER_ROXANNE, SKIER, ROXANNE, SkierRoxanneSeenText, SkierRoxanneBeatenText, 0, SkierRoxanneScript
 
 SkierRoxanneScript:
 	talkaftercancel
@@ -73,7 +73,7 @@
 	end
 
 TrainerSkierClarissa:
-	trainer EVENT_BEAT_SKIER_CLARISSA, SKIER, CLARISSA, SkierClarissaSeenText, SkierClarissaBeatenText, $0000, SkierClarissaScript
+	trainer EVENT_BEAT_SKIER_CLARISSA, SKIER, CLARISSA, SkierClarissaSeenText, SkierClarissaBeatenText, 0, SkierClarissaScript
 
 SkierClarissaScript:
 	talkaftercancel
@@ -84,7 +84,7 @@
 	end
 
 TrainerBoarderRonald:
-	trainer EVENT_BEAT_BOARDER_RONALD, BOARDER, RONALD, BoarderRonaldSeenText, BoarderRonaldBeatenText, $0000, BoarderRonaldScript
+	trainer EVENT_BEAT_BOARDER_RONALD, BOARDER, RONALD, BoarderRonaldSeenText, BoarderRonaldBeatenText, 0, BoarderRonaldScript
 
 BoarderRonaldScript:
 	talkaftercancel
@@ -95,7 +95,7 @@
 	end
 
 TrainerBoarderBrad:
-	trainer EVENT_BEAT_BOARDER_BRAD, BOARDER, BRAD, BoarderBradSeenText, BoarderBradBeatenText, $0000, BoarderBradScript
+	trainer EVENT_BEAT_BOARDER_BRAD, BOARDER, BRAD, BoarderBradSeenText, BoarderBradBeatenText, 0, BoarderBradScript
 
 BoarderBradScript:
 	talkaftercancel
@@ -106,7 +106,7 @@
 	end
 
 TrainerBoarderDouglas:
-	trainer EVENT_BEAT_BOARDER_DOUGLAS, BOARDER, DOUGLAS, BoarderDouglasSeenText, BoarderDouglasBeatenText, $0000, BoarderDouglasScript
+	trainer EVENT_BEAT_BOARDER_DOUGLAS, BOARDER, DOUGLAS, BoarderDouglasSeenText, BoarderDouglasBeatenText, 0, BoarderDouglasScript
 
 BoarderDouglasScript:
 	talkaftercancel
@@ -382,10 +382,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_PRYCE, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PryceScript_0x199a9e, -1
-	person_event SPRITE_BUENA, 6, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerSkierRoxanne, -1
-	person_event SPRITE_ROCKER, 17, 0, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBoarderRonald, -1
-	person_event SPRITE_BUENA, 17, 9, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerSkierClarissa, -1
-	person_event SPRITE_ROCKER, 9, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBoarderBrad, -1
-	person_event SPRITE_ROCKER, 4, 2, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBoarderDouglas, -1
-	person_event SPRITE_GYM_GUY, 15, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, MahoganyGymGuyScript, -1
+	person_event SPRITE_PRYCE, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PryceScript_0x199a9e, -1
+	person_event SPRITE_BUENA, 6, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerSkierRoxanne, -1
+	person_event SPRITE_ROCKER, 17, 0, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBoarderRonald, -1
+	person_event SPRITE_BUENA, 17, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerSkierClarissa, -1
+	person_event SPRITE_ROCKER, 9, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBoarderBrad, -1
+	person_event SPRITE_ROCKER, 4, 2, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBoarderDouglas, -1
+	person_event SPRITE_GYM_GUY, 15, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, MahoganyGymGuyScript, -1
--- a/maps/MahoganyMart1F.asm
+++ b/maps/MahoganyMart1F.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x6c356, $0000
-	dw UnknownScript_0x6c357, $0000
+	dw UnknownScript_0x6c356, 0
+	dw UnknownScript_0x6c357, 0
 
 .MapCallbacks:
 	db 1
@@ -34,7 +34,7 @@
 	loadfont
 	checkevent EVENT_DECIDED_TO_HELP_LANCE
 	iftrue UnknownScript_0x6c375
-	pokemart $0, $000f
+	pokemart MARTTYPE_STANDARD, MART_MAHOGANY_1
 	loadmovesprites
 	end
 
@@ -106,7 +106,7 @@
 GrannyScript_0x6c3ee:
 	faceplayer
 	loadfont
-	pokemart $0, $0010
+	pokemart MARTTYPE_STANDARD, MART_MAHOGANY_2
 	loadmovesprites
 	end
 
@@ -236,8 +236,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_PHARMACIST, 3, 4, $6, 0, 0, -1, -1, 0, 0, 0, PharmacistScript_0x6c367, EVENT_TEAM_ROCKET_BASE_POPULATION
-	person_event SPRITE_BLACK_BELT, 6, 1, $3, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x6c37b, EVENT_TEAM_ROCKET_BASE_POPULATION
-	person_event SPRITE_LANCE, 6, 4, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
-	person_event SPRITE_DRAGON, 6, 3, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
-	person_event SPRITE_GRANNY, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x6c3ee, EVENT_MAHOGANY_MART_OWNERS
+	person_event SPRITE_PHARMACIST, 3, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, PharmacistScript_0x6c367, EVENT_TEAM_ROCKET_BASE_POPULATION
+	person_event SPRITE_BLACK_BELT, 6, 1, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x6c37b, EVENT_TEAM_ROCKET_BASE_POPULATION
+	person_event SPRITE_LANCE, 6, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
+	person_event SPRITE_DRAGON, 6, 3, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
+	person_event SPRITE_GRANNY, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x6c3ee, EVENT_MAHOGANY_MART_OWNERS
--- a/maps/MahoganyPokeCenter1F.asm
+++ b/maps/MahoganyPokeCenter1F.asm
@@ -65,7 +65,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x19a356, -1
-	person_event SPRITE_POKEFAN_M, 2, 7, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x19a359, -1
-	person_event SPRITE_YOUNGSTER, 3, 1, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x19a35c, -1
-	person_event SPRITE_COOLTRAINER_F, 3, 2, $8, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x19a35f, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x19a356, -1
+	person_event SPRITE_POKEFAN_M, 2, 7, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x19a359, -1
+	person_event SPRITE_YOUNGSTER, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x19a35c, -1
+	person_event SPRITE_COOLTRAINER_F, 3, 2, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x19a35f, -1
--- a/maps/MahoganyRedGyaradosSpeechHouse.asm
+++ b/maps/MahoganyRedGyaradosSpeechHouse.asm
@@ -73,5 +73,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_BLACK_BELT, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x19997f, -1
-	person_event SPRITE_TEACHER, 5, 6, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x199982, -1
+	person_event SPRITE_BLACK_BELT, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x19997f, -1
+	person_event SPRITE_TEACHER, 5, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x199982, -1
--- a/maps/MahoganyTown.asm
+++ b/maps/MahoganyTown.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
 
 .MapCallbacks:
 	db 1
@@ -268,7 +268,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_POKEFAN_M, 8, 19, $6, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x19002e, EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_EAST
-	person_event SPRITE_GRAMPS, 9, 6, $5, 0, 1, -1, -1, 0, 0, 0, GrampsScript_0x19007e, -1
-	person_event SPRITE_FISHER, 14, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x190092, EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_GYM
-	person_event SPRITE_LASS, 8, 12, $6, 0, 0, -1, -1, 0, 0, 0, LassScript_0x190095, EVENT_MAHOGANY_MART_OWNERS
+	person_event SPRITE_POKEFAN_M, 8, 19, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x19002e, EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_EAST
+	person_event SPRITE_GRAMPS, 9, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, GrampsScript_0x19007e, -1
+	person_event SPRITE_FISHER, 14, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x190092, EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_GYM
+	person_event SPRITE_LASS, 8, 12, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, LassScript_0x190095, EVENT_MAHOGANY_MART_OWNERS
--- a/maps/ManiasHouse.asm
+++ b/maps/ManiasHouse.asm
@@ -5,22 +5,22 @@
 .MapCallbacks:
 	db 0
 
-RockerScript_0x9d278:
+ManiaScript:
 	faceplayer
 	loadfont
 	checkevent EVENT_MANIA_TOOK_SHUCKIE_OR_LET_YOU_KEEP_HIM
-	iftrue UnknownScript_0x9d2fa
+	iftrue .default_postevent
 	checkevent EVENT_GOT_SHUCKIE
-	iftrue UnknownScript_0x9d2a4
-	writetext UnknownText_0x9d303
+	iftrue .alreadyhaveshuckie
+	writetext ManiaText_AskLookAfterShuckle
 	yesorno
-	iffalse UnknownScript_0x9d2b6
+	iffalse .refusetotakeshuckie
 	special SpecialGiveShuckle
-	iffalse UnknownScript_0x9d2b0
-	writetext UnknownText_0x9d3ed
+	iffalse .partyfull
+	writetext ManiaText_TakeCareOfShuckle
 	keeptextopen
 	waitbutton
-	writetext UnknownText_0x9d41b
+	writetext ManiaText_GotShuckle
 	playsound SFX_KEY_ITEM
 	waitbutton
 	loadmovesprites
@@ -27,68 +27,68 @@
 	setevent EVENT_GOT_SHUCKIE
 	end
 
-UnknownScript_0x9d2a4:
+.alreadyhaveshuckie:
 	checkflag ENGINE_SHUCKLE_GIVEN
-	iffalse UnknownScript_0x9d2bc
-	writetext UnknownText_0x9d3ed
+	iffalse .returnshuckie
+	writetext ManiaText_TakeCareOfShuckle
 	closetext
 	loadmovesprites
 	end
 
-UnknownScript_0x9d2b0:
-	writetext UnknownText_0x9d42f
+.partyfull:
+	writetext ManiaText_PartyFull
 	closetext
 	loadmovesprites
 	end
 
-UnknownScript_0x9d2b6:
-	writetext UnknownText_0x9d449
+.refusetotakeshuckie:
+	writetext ManiaText_IfHeComesBack
 	closetext
 	loadmovesprites
 	end
 
-UnknownScript_0x9d2bc:
-	writetext UnknownText_0x9d470
+.returnshuckie:
+	writetext ManiaText_CanIHaveMyMonBack
 	yesorno
-	iffalse UnknownScript_0x9d2ee
+	iffalse .refused
 	special SpecialReturnShuckle
-	if_equal $0, UnknownScript_0x9d2df
-	if_equal $1, UnknownScript_0x9d2ee
-	if_equal $3, UnknownScript_0x9d2e5
-	if_equal $4, UnknownScript_0x9d2fa
-	writetext UnknownText_0x9d4b1
+	if_equal $0, .wrong
+	if_equal $1, .refused
+	if_equal $3, .superhappy
+	if_equal $4, .default_postevent
+	writetext ManiaText_ThankYou
 	closetext
 	loadmovesprites
 	setevent EVENT_MANIA_TOOK_SHUCKIE_OR_LET_YOU_KEEP_HIM
 	end
 
-UnknownScript_0x9d2df:
-	writetext UnknownText_0x9d4bd
+.wrong:
+	writetext ManiaText_ShuckleNotThere
 	closetext
 	loadmovesprites
 	end
 
-UnknownScript_0x9d2e5:
-	writetext UnknownText_0x9d4e3
+.superhappy:
+	writetext ManiaText_ShuckleLikesYou
 	closetext
 	loadmovesprites
 	setevent EVENT_MANIA_TOOK_SHUCKIE_OR_LET_YOU_KEEP_HIM
 	end
 
-UnknownScript_0x9d2ee:
-	writetext UnknownText_0x9d53f
+.refused:
+	writetext ManiaText_SameAsBeingRobbed
 	closetext
 	loadmovesprites
 	end
 
-UnknownScript_0x9d2f4:
-	writetext UnknownText_0x9d5b0
+.nothingleft:
+	writetext ManiaText_ShuckleIsYourLastMon
 	closetext
 	loadmovesprites
 	end
 
-UnknownScript_0x9d2fa:
-	writetext UnknownText_0x9d56c
+.default_postevent:
+	writetext ManiaText_HappinessSpeech
 	closetext
 	loadmovesprites
 	end
@@ -96,7 +96,7 @@
 UnknownScript_0x9d300:
 	jumpstd picturebookshelf
 
-UnknownText_0x9d303:
+ManiaText_AskLookAfterShuckle:
 	text "I, I'm in shock!"
 
 	para "A guy about your"
@@ -120,7 +120,7 @@
 	line "for a while?"
 	done
 
-UnknownText_0x9d3ed:
+ManiaText_TakeCareOfShuckle:
 	text "Oh, thank you!"
 
 	para "Take good care of"
@@ -127,23 +127,23 @@
 	line "it, please!"
 	done
 
-UnknownText_0x9d41b:
+ManiaText_GotShuckle:
 	text "<PLAYER> received a"
 	line "#MON."
 	done
 
-UnknownText_0x9d42f:
+ManiaText_PartyFull:
 	text "Your #MON party"
 	line "is full."
 	done
 
-UnknownText_0x9d449:
+ManiaText_IfHeComesBack:
 	text "Oh, no… What'll"
 	line "I do if he comes"
 	cont "back?"
 	done
 
-UnknownText_0x9d470:
+ManiaText_CanIHaveMyMonBack:
 	text "Hi! How's my #-"
 	line "MON?"
 
@@ -152,17 +152,17 @@
 	cont "it back?"
 	done
 
-UnknownText_0x9d4b1:
+ManiaText_ThankYou:
 	text "Thank you!"
 	done
 
-UnknownText_0x9d4bd:
+ManiaText_ShuckleNotThere:
 	text "Hey, you don't"
 	line "have my #MON"
 	cont "with you."
 	done
 
-UnknownText_0x9d4e3:
+ManiaText_ShuckleLikesYou:
 	text "My #MON has"
 	line "come to like you."
 
@@ -173,13 +173,13 @@
 	line "be good to it!"
 	done
 
-UnknownText_0x9d53f:
+ManiaText_SameAsBeingRobbed:
 	text "Oh, no, no… That's"
 	line "the same as being"
 	cont "robbed."
 	done
 
-UnknownText_0x9d56c:
+ManiaText_HappinessSpeech:
 	text "For #MON, hap-"
 	line "piness is being"
 
@@ -187,7 +187,7 @@
 	line "treats them well."
 	done
 
-UnknownText_0x9d5b0:
+ManiaText_ShuckleIsYourLastMon:
 	text "If I take my #-"
 	line "MON back, what are"
 
@@ -212,4 +212,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_ROCKER, 4, 2, $3, 0, 0, -1, -1, 0, 0, 0, RockerScript_0x9d278, -1
+	person_event SPRITE_ROCKER, 4, 2, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, ManiaScript, -1
--- a/maps/MobileBattleRoom.asm
+++ b/maps/MobileBattleRoom.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
 
 .MapCallbacks:
 	db 0
--- a/maps/MobileTradeRoomMobile.asm
+++ b/maps/MobileTradeRoomMobile.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
 
 .MapCallbacks:
 	db 0
--- a/maps/MountMoon.asm
+++ b/maps/MountMoon.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x74089, $0000
-	dw UnknownScript_0x7408d, $0000
+	dw UnknownScript_0x74089, 0
+	dw UnknownScript_0x7408d, 0
 
 .MapCallbacks:
 	db 0
@@ -182,4 +182,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_SILVER, 3, 7, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MT_MOON_RIVAL
+	person_event SPRITE_SILVER, 3, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MT_MOON_RIVAL
--- a/maps/MountMoonGiftShop.asm
+++ b/maps/MountMoonGiftShop.asm
@@ -8,7 +8,7 @@
 GrampsScript_0x771a8:
 	faceplayer
 	loadfont
-	pokemart $0, $001f
+	pokemart MARTTYPE_STANDARD, MART_MT_MOON
 	loadmovesprites
 	end
 
@@ -38,7 +38,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_GRAMPS, 3, 4, $6, 0, 0, -1, 1, 0, 0, 0, GrampsScript_0x771a8, -1
-	person_event SPRITE_GRAMPS, 2, 1, $9, 0, 0, -1, 2, 0, 0, 0, GrampsScript_0x771a8, -1
-	person_event SPRITE_LASS, 6, 1, $5, 0, 1, -1, 1, 0, 0, 0, LassScript_0x771b0, -1
-	person_event SPRITE_LASS, 4, 5, $4, 1, 0, -1, 2, 0, 0, 0, LassScript_0x771b0, -1
+	person_event SPRITE_GRAMPS, 3, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, 1, 0, 0, 0, GrampsScript_0x771a8, -1
+	person_event SPRITE_GRAMPS, 2, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, 2, 0, 0, 0, GrampsScript_0x771a8, -1
+	person_event SPRITE_LASS, 6, 1, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, 1, 0, 0, 0, LassScript_0x771b0, -1
+	person_event SPRITE_LASS, 4, 5, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, 2, 0, 0, 0, LassScript_0x771b0, -1
--- a/maps/MountMoonSquare.asm
+++ b/maps/MountMoonSquare.asm
@@ -3,7 +3,7 @@
 	db 1
 
 	; triggers
-	dw UnknownScript_0x77092, $0000
+	dw UnknownScript_0x77092, 0
 
 .MapCallbacks:
 	db 2
@@ -155,6 +155,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_FAIRY, 6, 6, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MT_MOON_SQUARE_CLEFAIRY
-	person_event SPRITE_FAIRY, 6, 7, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MT_MOON_SQUARE_CLEFAIRY
-	person_event SPRITE_ROCK, 7, 7, $18, 0, 0, -1, -1, 0, 0, 0, MtMoonSquareRock, EVENT_MT_MOON_SQUARE_ROCK
+	person_event SPRITE_FAIRY, 6, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MT_MOON_SQUARE_CLEFAIRY
+	person_event SPRITE_FAIRY, 6, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MT_MOON_SQUARE_CLEFAIRY
+	person_event SPRITE_ROCK, 7, 7, SPRITEMOVEDATA_18, 0, 0, -1, -1, 0, 0, 0, MtMoonSquareRock, EVENT_MT_MOON_SQUARE_ROCK
--- a/maps/MountMortar1FInside.asm
+++ b/maps/MountMortar1FInside.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerPokemaniacMiller:
-	trainer EVENT_BEAT_POKEMANIAC_MILLER, POKEMANIAC, MILLER, PokemaniacMillerSeenText, PokemaniacMillerBeatenText, $0000, PokemaniacMillerScript
+	trainer EVENT_BEAT_POKEMANIAC_MILLER, POKEMANIAC, MILLER, PokemaniacMillerSeenText, PokemaniacMillerBeatenText, 0, PokemaniacMillerScript
 
 PokemaniacMillerScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerSupernerdMarkus:
-	trainer EVENT_BEAT_SUPER_NERD_MARKUS, SUPER_NERD, MARKUS, SupernerdMarkusSeenText, SupernerdMarkusBeatenText, $0000, SupernerdMarkusScript
+	trainer EVENT_BEAT_SUPER_NERD_MARKUS, SUPER_NERD, MARKUS, SupernerdMarkusSeenText, SupernerdMarkusBeatenText, 0, SupernerdMarkusScript
 
 SupernerdMarkusScript:
 	talkaftercancel
@@ -127,13 +127,13 @@
 
 .PersonEvents:
 	db 10
-	person_event SPRITE_BOULDER, 43, 21, $19, 0, 0, -1, -1, 0, 0, 0, MountMortar1FBoulder, -1
-	person_event SPRITE_POKE_BALL, 38, 35, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de7c, EVENT_MOUNT_MORTAR_1F_INSIDE_ESCAPE_ROPE
-	person_event SPRITE_POKE_BALL, 10, 16, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de7e, EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_REVIVE
-	person_event SPRITE_POKE_BALL, 27, 10, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de80, EVENT_MOUNT_MORTAR_1F_INSIDE_HYPER_POTION
-	person_event SPRITE_POKE_BALL, 20, 22, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de82, EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_POTION
-	person_event SPRITE_POKE_BALL, 19, 35, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de84, EVENT_MOUNT_MORTAR_1F_INSIDE_NUGGET
-	person_event SPRITE_SUPER_NERD, 43, 33, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacMiller, -1
-	person_event SPRITE_SUPER_NERD, 28, 24, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerSupernerdMarkus, -1
-	person_event SPRITE_POKE_BALL, 16, 8, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de86, EVENT_MOUNT_MORTAR_1F_INSIDE_IRON
-	person_event SPRITE_POKE_BALL, 17, 17, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de88, EVENT_MOUNT_MORTAR_1F_INSIDE_ULTRA_BALL
+	person_event SPRITE_BOULDER, 43, 21, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, MountMortar1FBoulder, -1
+	person_event SPRITE_POKE_BALL, 38, 35, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de7c, EVENT_MOUNT_MORTAR_1F_INSIDE_ESCAPE_ROPE
+	person_event SPRITE_POKE_BALL, 10, 16, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de7e, EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_REVIVE
+	person_event SPRITE_POKE_BALL, 27, 10, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de80, EVENT_MOUNT_MORTAR_1F_INSIDE_HYPER_POTION
+	person_event SPRITE_POKE_BALL, 20, 22, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de82, EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_POTION
+	person_event SPRITE_POKE_BALL, 19, 35, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de84, EVENT_MOUNT_MORTAR_1F_INSIDE_NUGGET
+	person_event SPRITE_SUPER_NERD, 43, 33, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacMiller, -1
+	person_event SPRITE_SUPER_NERD, 28, 24, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerSupernerdMarkus, -1
+	person_event SPRITE_POKE_BALL, 16, 8, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de86, EVENT_MOUNT_MORTAR_1F_INSIDE_IRON
+	person_event SPRITE_POKE_BALL, 17, 17, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de88, EVENT_MOUNT_MORTAR_1F_INSIDE_ULTRA_BALL
--- a/maps/MountMortar1FOutside.asm
+++ b/maps/MountMortar1FOutside.asm
@@ -40,5 +40,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_POKE_BALL, 15, 13, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ddf6, EVENT_MOUNT_MORTAR_1F_OUTSIDE_ETHER
-	person_event SPRITE_POKE_BALL, 18, 31, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ddf8, EVENT_MOUNT_MORTAR_1F_OUTSIDE_REVIVE
+	person_event SPRITE_POKE_BALL, 15, 13, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ddf6, EVENT_MOUNT_MORTAR_1F_OUTSIDE_ETHER
+	person_event SPRITE_POKE_BALL, 18, 31, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ddf8, EVENT_MOUNT_MORTAR_1F_OUTSIDE_REVIVE
--- a/maps/MountMortar2FInside.asm
+++ b/maps/MountMortar2FInside.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerSupernerdHugh:
-	trainer EVENT_BEAT_SUPER_NERD_HUGH, SUPER_NERD, HUGH, SupernerdHughSeenText, SupernerdHughBeatenText, $0000, SupernerdHughScript
+	trainer EVENT_BEAT_SUPER_NERD_HUGH, SUPER_NERD, HUGH, SupernerdHughSeenText, SupernerdHughBeatenText, 0, SupernerdHughScript
 
 SupernerdHughScript:
 	talkaftercancel
@@ -76,10 +76,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_POKE_BALL, 22, 28, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0de, EVENT_MOUNT_MORTAR_2F_INSIDE_MAX_POTION
-	person_event SPRITE_POKE_BALL, 33, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e0, EVENT_MOUNT_MORTAR_2F_INSIDE_RARE_CANDY
-	person_event SPRITE_POKE_BALL, 17, 19, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e2, EVENT_MOUNT_MORTAR_2F_INSIDE_TM_DEFENSE_CURL
-	person_event SPRITE_POKE_BALL, 5, 16, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e4, EVENT_MOUNT_MORTAR_2F_INSIDE_DRAGON_SCALE
-	person_event SPRITE_POKE_BALL, 11, 9, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e6, EVENT_MOUNT_MORTAR_2F_INSIDE_ELIXER
-	person_event SPRITE_POKE_BALL, 5, 28, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e8, EVENT_MOUNT_MORTAR_2F_INSIDE_ESCAPE_ROPE
-	person_event SPRITE_SUPER_NERD, 26, 13, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerSupernerdHugh, -1
+	person_event SPRITE_POKE_BALL, 22, 28, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0de, EVENT_MOUNT_MORTAR_2F_INSIDE_MAX_POTION
+	person_event SPRITE_POKE_BALL, 33, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e0, EVENT_MOUNT_MORTAR_2F_INSIDE_RARE_CANDY
+	person_event SPRITE_POKE_BALL, 17, 19, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e2, EVENT_MOUNT_MORTAR_2F_INSIDE_TM_DEFENSE_CURL
+	person_event SPRITE_POKE_BALL, 5, 16, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e4, EVENT_MOUNT_MORTAR_2F_INSIDE_DRAGON_SCALE
+	person_event SPRITE_POKE_BALL, 11, 9, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e6, EVENT_MOUNT_MORTAR_2F_INSIDE_ELIXER
+	person_event SPRITE_POKE_BALL, 5, 28, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e8, EVENT_MOUNT_MORTAR_2F_INSIDE_ESCAPE_ROPE
+	person_event SPRITE_SUPER_NERD, 26, 13, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerSupernerdHugh, -1
--- a/maps/MountMortarB1F.asm
+++ b/maps/MountMortarB1F.asm
@@ -15,7 +15,7 @@
 	writetext UnknownText_0x7e24d
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x7e2a9, $0000
+	winlosstext UnknownText_0x7e2a9, 0
 	loadtrainer BLACKBELT_T, KIYO
 	startbattle
 	returnafterbattle
@@ -144,10 +144,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_POKE_BALL, 12, 29, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e240, EVENT_MOUNT_MORTAR_B1F_HYPER_POTION
-	person_event SPRITE_POKE_BALL, 16, 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e242, EVENT_MOUNT_MORTAR_B1F_CARBOS
-	person_event SPRITE_BOULDER, 10, 9, $19, 0, 0, -1, -1, 0, 0, 0, MountMortarB1FBoulder, -1
-	person_event SPRITE_BLACK_BELT, 4, 16, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BlackBeltScript_0x7e1f6, -1
-	person_event SPRITE_POKE_BALL, 24, 34, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e244, EVENT_MOUNT_MORTAR_B1F_FULL_RESTORE
-	person_event SPRITE_POKE_BALL, 3, 32, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e246, EVENT_MOUNT_MORTAR_B1F_MAX_ETHER
-	person_event SPRITE_POKE_BALL, 26, 21, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e248, EVENT_MOUNT_MORTAR_B1F_PP_UP
+	person_event SPRITE_POKE_BALL, 12, 29, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e240, EVENT_MOUNT_MORTAR_B1F_HYPER_POTION
+	person_event SPRITE_POKE_BALL, 16, 4, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e242, EVENT_MOUNT_MORTAR_B1F_CARBOS
+	person_event SPRITE_BOULDER, 10, 9, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, MountMortarB1FBoulder, -1
+	person_event SPRITE_BLACK_BELT, 4, 16, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BlackBeltScript_0x7e1f6, -1
+	person_event SPRITE_POKE_BALL, 24, 34, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e244, EVENT_MOUNT_MORTAR_B1F_FULL_RESTORE
+	person_event SPRITE_POKE_BALL, 3, 32, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e246, EVENT_MOUNT_MORTAR_B1F_MAX_ETHER
+	person_event SPRITE_POKE_BALL, 26, 21, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e248, EVENT_MOUNT_MORTAR_B1F_PP_UP
--- a/maps/MoveDeletersHouse.asm
+++ b/maps/MoveDeletersHouse.asm
@@ -35,4 +35,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_SUPER_NERD, 3, 2, $6, 0, 0, -1, -1, 0, 0, 0, MoveDeleter, -1
+	person_event SPRITE_SUPER_NERD, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, MoveDeleter, -1
--- a/maps/MrFujisHouse.asm
+++ b/maps/MrFujisHouse.asm
@@ -91,8 +91,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_SUPER_NERD, 1, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x7e8ca, -1
-	person_event SPRITE_LASS, 4, 3, $2, 1, 1, -1, -1, 0, 0, 0, LassScript_0x7e8cd, -1
-	person_event SPRITE_RHYDON, 4, 7, $16, 0, 0, -1, -1, 0, 0, 0, MrFujisPsyduck, -1
-	person_event SPRITE_GROWLITHE, 5, 5, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, MrFujisNidorino, -1
-	person_event SPRITE_MOLTRES, 3, 1, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MrFujisPidgey, -1
+	person_event SPRITE_SUPER_NERD, 1, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x7e8ca, -1
+	person_event SPRITE_LASS, 4, 3, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, LassScript_0x7e8cd, -1
+	person_event SPRITE_RHYDON, 4, 7, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, MrFujisPsyduck, -1
+	person_event SPRITE_GROWLITHE, 5, 5, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, MrFujisNidorino, -1
+	person_event SPRITE_MOLTRES, 3, 1, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MrFujisPidgey, -1
--- a/maps/MrPokemonsHouse.asm
+++ b/maps/MrPokemonsHouse.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x196e51, $0000
-	dw UnknownScript_0x196e55, $0000
+	dw UnknownScript_0x196e51, 0
+	dw UnknownScript_0x196e55, 0
 
 .MapCallbacks:
 	db 0
@@ -392,5 +392,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_GENTLEMAN, 5, 3, $9, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x196e97, -1
-	person_event SPRITE_OAK, 5, 6, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MR_POKEMONS_HOUSE_OAK
+	person_event SPRITE_GENTLEMAN, 5, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x196e97, -1
+	person_event SPRITE_OAK, 5, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MR_POKEMONS_HOUSE_OAK
--- a/maps/MrPsychicsHouse.asm
+++ b/maps/MrPsychicsHouse.asm
@@ -63,4 +63,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_FISHING_GURU, 3, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, MrPsychic, -1
+	person_event SPRITE_FISHING_GURU, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, MrPsychic, -1
--- a/maps/NationalPark.asm
+++ b/maps/NationalPark.asm
@@ -56,7 +56,7 @@
 	end
 
 TrainerSchoolboyJack1:
-	trainer EVENT_BEAT_SCHOOLBOY_JACK, SCHOOLBOY, JACK1, SchoolboyJack1SeenText, SchoolboyJack1BeatenText, $0000, SchoolboyJack1Script
+	trainer EVENT_BEAT_SCHOOLBOY_JACK, SCHOOLBOY, JACK1, SchoolboyJack1SeenText, SchoolboyJack1BeatenText, 0, SchoolboyJack1Script
 
 SchoolboyJack1Script:
 	writecode VAR_CALLERID, PHONE_SCHOOLBOY_JACK
@@ -86,7 +86,7 @@
 
 UnknownScript_0x5c088:
 	scall UnknownScript_0x5c114
-	winlosstext SchoolboyJack1BeatenText, $0000
+	winlosstext SchoolboyJack1BeatenText, 0
 	copybytetovar wJackFightCount
 	if_equal 4, .Fight4
 	if_equal 3, .Fight3
@@ -173,7 +173,7 @@
 	end
 
 TrainerPokefanmWilliam:
-	trainer EVENT_BEAT_POKEFANM_WILLIAM, POKEFANM, WILLIAM, PokefanmWilliamSeenText, PokefanmWilliamBeatenText, $0000, PokefanmWilliamScript
+	trainer EVENT_BEAT_POKEFANM_WILLIAM, POKEFANM, WILLIAM, PokefanmWilliamSeenText, PokefanmWilliamBeatenText, 0, PokefanmWilliamScript
 
 PokefanmWilliamScript:
 	talkaftercancel
@@ -184,7 +184,7 @@
 	end
 
 TrainerPokefanfBeverly1:
-	trainer EVENT_BEAT_POKEFANF_BEVERLY, POKEFANF, BEVERLY1, PokefanfBeverly1SeenText, PokefanfBeverly1BeatenText, $0000, PokefanfBeverly1Script
+	trainer EVENT_BEAT_POKEFANF_BEVERLY, POKEFANF, BEVERLY1, PokefanfBeverly1SeenText, PokefanfBeverly1BeatenText, 0, PokefanfBeverly1Script
 
 PokefanfBeverly1Script:
 	writecode VAR_CALLERID, PHONE_POKEFAN_BEVERLY
@@ -263,7 +263,7 @@
 	end
 
 TrainerLassKrise:
-	trainer EVENT_BEAT_LASS_KRISE, LASS, KRISE, LassKriseSeenText, LassKriseBeatenText, $0000, LassKriseScript
+	trainer EVENT_BEAT_LASS_KRISE, LASS, KRISE, LassKriseSeenText, LassKriseBeatenText, 0, LassKriseScript
 
 LassKriseScript:
 	talkaftercancel
@@ -521,17 +521,17 @@
 
 .PersonEvents:
 	db 14
-	person_event SPRITE_LASS, 24, 15, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x5c002, -1
-	person_event SPRITE_POKEFAN_F, 4, 14, $6, 0, 0, -1, -1, 0, 0, 0, PokefanFScript_0x5c005, -1
-	person_event SPRITE_TEACHER, 40, 27, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x5c008, -1
-	person_event SPRITE_YOUNGSTER, 41, 11, $8, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x5c023, -1
-	person_event SPRITE_YOUNGSTER, 41, 10, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c026, -1
-	person_event SPRITE_TEACHER, 41, 17, $2, 2, 1, -1, -1, 0, 0, 0, TeacherScript_0x5c029, -1
-	person_event SPRITE_GROWLITHE, 40, 26, $16, 0, 0, -1, -1, 0, 0, 0, GrowlitheScript_0x5c02c, -1
-	person_event SPRITE_YOUNGSTER, 23, 27, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyJack1, -1
-	person_event SPRITE_POKEFAN_F, 29, 18, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerPokefanfBeverly1, -1
-	person_event SPRITE_POKEFAN_M, 9, 16, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerPokefanmWilliam, -1
-	person_event SPRITE_LASS, 14, 8, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerLassKrise, -1
-	person_event SPRITE_POKE_BALL, 12, 35, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c1cc, EVENT_NATIONAL_PARK_PARLYZ_HEAL
-	person_event SPRITE_GAMEBOY_KID, 6, 26, $6, 0, 0, -1, -1, 0, 0, 0, GameboyKidScript_0x5c037, -1
-	person_event SPRITE_POKE_BALL, 43, 1, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c1ce, EVENT_NATIONAL_PARK_TM_DIG
+	person_event SPRITE_LASS, 24, 15, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x5c002, -1
+	person_event SPRITE_POKEFAN_F, 4, 14, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, PokefanFScript_0x5c005, -1
+	person_event SPRITE_TEACHER, 40, 27, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x5c008, -1
+	person_event SPRITE_YOUNGSTER, 41, 11, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x5c023, -1
+	person_event SPRITE_YOUNGSTER, 41, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c026, -1
+	person_event SPRITE_TEACHER, 41, 17, SPRITEMOVEDATA_02, 2, 1, -1, -1, 0, 0, 0, TeacherScript_0x5c029, -1
+	person_event SPRITE_GROWLITHE, 40, 26, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, GrowlitheScript_0x5c02c, -1
+	person_event SPRITE_YOUNGSTER, 23, 27, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyJack1, -1
+	person_event SPRITE_POKEFAN_F, 29, 18, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerPokefanfBeverly1, -1
+	person_event SPRITE_POKEFAN_M, 9, 16, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerPokefanmWilliam, -1
+	person_event SPRITE_LASS, 14, 8, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerLassKrise, -1
+	person_event SPRITE_POKE_BALL, 12, 35, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c1cc, EVENT_NATIONAL_PARK_PARLYZ_HEAL
+	person_event SPRITE_GAMEBOY_KID, 6, 26, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, GameboyKidScript_0x5c037, -1
+	person_event SPRITE_POKE_BALL, 43, 1, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c1ce, EVENT_NATIONAL_PARK_TM_DIG
--- a/maps/NationalParkBugContest.asm
+++ b/maps/NationalParkBugContest.asm
@@ -230,15 +230,15 @@
 
 .PersonEvents:
 	db 12
-	person_event SPRITE_YOUNGSTER, 29, 19, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c8ec, EVENT_BUG_CATCHING_CONTESTANT_1A
-	person_event SPRITE_YOUNGSTER, 22, 28, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x5c8f4, EVENT_BUG_CATCHING_CONTESTANT_2A
-	person_event SPRITE_ROCKER, 18, 9, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, RockerScript_0x5c8fc, EVENT_BUG_CATCHING_CONTESTANT_3A
-	person_event SPRITE_POKEFAN_M, 13, 7, $4, 0, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x5c904, EVENT_BUG_CATCHING_CONTESTANT_4A
-	person_event SPRITE_YOUNGSTER, 9, 23, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c90c, EVENT_BUG_CATCHING_CONTESTANT_5A
-	person_event SPRITE_YOUNGSTER, 13, 27, $2, 3, 3, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x5c914, EVENT_BUG_CATCHING_CONTESTANT_6A
-	person_event SPRITE_LASS, 23, 7, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x5c91c, EVENT_BUG_CATCHING_CONTESTANT_7A
-	person_event SPRITE_YOUNGSTER, 27, 11, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c924, EVENT_BUG_CATCHING_CONTESTANT_8A
-	person_event SPRITE_YOUNGSTER, 8, 16, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x5c92c, EVENT_BUG_CATCHING_CONTESTANT_9A
-	person_event SPRITE_YOUNGSTER, 34, 17, $2, 3, 3, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x5c934, EVENT_BUG_CATCHING_CONTESTANT_10A
-	person_event SPRITE_POKE_BALL, 12, 35, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c945, EVENT_NATIONAL_PARK_PARLYZ_HEAL
-	person_event SPRITE_POKE_BALL, 43, 1, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c947, EVENT_NATIONAL_PARK_TM_DIG
+	person_event SPRITE_YOUNGSTER, 29, 19, SPRITEMOVEDATA_02, 2, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c8ec, EVENT_BUG_CATCHING_CONTESTANT_1A
+	person_event SPRITE_YOUNGSTER, 22, 28, SPRITEMOVEDATA_02, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x5c8f4, EVENT_BUG_CATCHING_CONTESTANT_2A
+	person_event SPRITE_ROCKER, 18, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, RockerScript_0x5c8fc, EVENT_BUG_CATCHING_CONTESTANT_3A
+	person_event SPRITE_POKEFAN_M, 13, 7, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x5c904, EVENT_BUG_CATCHING_CONTESTANT_4A
+	person_event SPRITE_YOUNGSTER, 9, 23, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c90c, EVENT_BUG_CATCHING_CONTESTANT_5A
+	person_event SPRITE_YOUNGSTER, 13, 27, SPRITEMOVEDATA_02, 3, 3, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x5c914, EVENT_BUG_CATCHING_CONTESTANT_6A
+	person_event SPRITE_LASS, 23, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x5c91c, EVENT_BUG_CATCHING_CONTESTANT_7A
+	person_event SPRITE_YOUNGSTER, 27, 11, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c924, EVENT_BUG_CATCHING_CONTESTANT_8A
+	person_event SPRITE_YOUNGSTER, 8, 16, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x5c92c, EVENT_BUG_CATCHING_CONTESTANT_9A
+	person_event SPRITE_YOUNGSTER, 34, 17, SPRITEMOVEDATA_02, 3, 3, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x5c934, EVENT_BUG_CATCHING_CONTESTANT_10A
+	person_event SPRITE_POKE_BALL, 12, 35, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c945, EVENT_NATIONAL_PARK_PARLYZ_HEAL
+	person_event SPRITE_POKE_BALL, 43, 1, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c947, EVENT_NATIONAL_PARK_TM_DIG
--- a/maps/NewBarkTown.asm
+++ b/maps/NewBarkTown.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
 
 .MapCallbacks:
 	db 1
@@ -305,6 +305,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_TEACHER, 8, 6, $3, 0, 1, -1, -1, 0, 0, 0, TeacherScript_0x1a806f, -1
-	person_event SPRITE_FISHER, 9, 12, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a809b, -1
-	person_event SPRITE_SILVER, 2, 3, $9, 0, 0, -1, -1, 0, 0, 0, SilverScript_0x1a809e, EVENT_RIVAL_NEW_BARK_TOWN
+	person_event SPRITE_TEACHER, 8, 6, SPRITEMOVEDATA_03, 0, 1, -1, -1, 0, 0, 0, TeacherScript_0x1a806f, -1
+	person_event SPRITE_FISHER, 9, 12, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a809b, -1
+	person_event SPRITE_SILVER, 2, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, SilverScript_0x1a809e, EVENT_RIVAL_NEW_BARK_TOWN
--- a/maps/OaksLab.asm
+++ b/maps/OaksLab.asm
@@ -283,7 +283,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_OAK, 2, 4, $6, 0, 0, -1, -1, 0, 0, 0, Oak, -1
-	person_event SPRITE_SCIENTIST, 8, 1, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x19b40f, -1
-	person_event SPRITE_SCIENTIST, 9, 8, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x19b412, -1
-	person_event SPRITE_SCIENTIST, 4, 1, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x19b415, -1
+	person_event SPRITE_OAK, 2, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, Oak, -1
+	person_event SPRITE_SCIENTIST, 8, 1, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x19b40f, -1
+	person_event SPRITE_SCIENTIST, 9, 8, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x19b412, -1
+	person_event SPRITE_SCIENTIST, 4, 1, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x19b415, -1
--- a/maps/OlivineCafe.asm
+++ b/maps/OlivineCafe.asm
@@ -90,6 +90,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_SAILOR, 3, 4, $8, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x9c8c1, -1
-	person_event SPRITE_FISHING_GURU, 3, 7, $4, 1, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x9c8d9, -1
-	person_event SPRITE_SAILOR, 6, 6, $7, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x9c8dc, -1
+	person_event SPRITE_SAILOR, 3, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x9c8c1, -1
+	person_event SPRITE_FISHING_GURU, 3, 7, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x9c8d9, -1
+	person_event SPRITE_SAILOR, 6, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x9c8dc, -1
--- a/maps/OlivineCity.asm
+++ b/maps/OlivineCity.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
 
 .MapCallbacks:
 	db 1
@@ -320,7 +320,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_SAILOR, 27, 26, $4, 1, 0, -1, -1, 0, 0, 0, SailorScript_0x1a88a3, -1
-	person_event SPRITE_STANDING_YOUNGSTER, 13, 20, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, StandingYoungsterScript_0x1a88a6, -1
-	person_event SPRITE_SAILOR, 21, 17, $2, 1, 1, -1, -1, 0, 0, 0, SailorScript_0x1a88ba, -1
-	person_event SPRITE_OLIVINE_RIVAL, 11, 10, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_OLIVINE_CITY
+	person_event SPRITE_SAILOR, 27, 26, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, 0, 0, SailorScript_0x1a88a3, -1
+	person_event SPRITE_STANDING_YOUNGSTER, 13, 20, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, StandingYoungsterScript_0x1a88a6, -1
+	person_event SPRITE_SAILOR, 21, 17, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, SailorScript_0x1a88ba, -1
+	person_event SPRITE_OLIVINE_RIVAL, 11, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_OLIVINE_CITY
--- a/maps/OlivineGoodRodHouse.asm
+++ b/maps/OlivineGoodRodHouse.asm
@@ -96,4 +96,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_FISHING_GURU, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GoodRodGuru, -1
+	person_event SPRITE_FISHING_GURU, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GoodRodGuru, -1
--- a/maps/OlivineGym.asm
+++ b/maps/OlivineGym.asm
@@ -13,7 +13,7 @@
 	writetext UnknownText_0x9c1b9
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x9c2bb, $0000
+	winlosstext UnknownText_0x9c2bb, 0
 	loadtrainer JASMINE, 1
 	startbattle
 	returnafterbattle
@@ -212,5 +212,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_JASMINE, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, JasmineScript_0x9c12f, EVENT_OLIVINE_GYM_JASMINE
-	person_event SPRITE_GYM_GUY, 13, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OlivineGymGuyScript, -1
+	person_event SPRITE_JASMINE, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, JasmineScript_0x9c12f, EVENT_OLIVINE_GYM_JASMINE
+	person_event SPRITE_GYM_GUY, 13, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OlivineGymGuyScript, -1
--- a/maps/OlivineHouseBeta.asm
+++ b/maps/OlivineHouseBeta.asm
@@ -54,5 +54,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_TEACHER, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x9c58f, -1
-	person_event SPRITE_RHYDON, 4, 6, $4, 2, 0, -1, -1, 0, 0, 0, RhydonScript_0x9c592, -1
+	person_event SPRITE_TEACHER, 3, 2, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x9c58f, -1
+	person_event SPRITE_RHYDON, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, 0, 0, 0, RhydonScript_0x9c592, -1
--- a/maps/OlivineLighthouse1F.asm
+++ b/maps/OlivineLighthouse1F.asm
@@ -52,5 +52,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_SAILOR, 2, 8, $6, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x5ae67, -1
-	person_event SPRITE_POKEFAN_F, 9, 16, $4, 2, 0, -1, -1, 0, 0, 0, PokefanFScript_0x5ae6a, -1
+	person_event SPRITE_SAILOR, 2, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x5ae67, -1
+	person_event SPRITE_POKEFAN_F, 9, 16, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, 0, 0, 0, PokefanFScript_0x5ae6a, -1
--- a/maps/OlivineLighthouse2F.asm
+++ b/maps/OlivineLighthouse2F.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerGentlemanAlfred:
-	trainer EVENT_BEAT_GENTLEMAN_ALFRED, GENTLEMAN, ALFRED, GentlemanAlfredSeenText, GentlemanAlfredBeatenText, $0000, GentlemanAlfredScript
+	trainer EVENT_BEAT_GENTLEMAN_ALFRED, GENTLEMAN, ALFRED, GentlemanAlfredSeenText, GentlemanAlfredBeatenText, 0, GentlemanAlfredScript
 
 GentlemanAlfredScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerSailorHuey1:
-	trainer EVENT_BEAT_SAILOR_HUEY, SAILOR, HUEY1, SailorHuey1SeenText, SailorHuey1BeatenText, $0000, SailorHuey1Script
+	trainer EVENT_BEAT_SAILOR_HUEY, SAILOR, HUEY1, SailorHuey1SeenText, SailorHuey1BeatenText, 0, SailorHuey1Script
 
 SailorHuey1Script:
 	writecode VAR_CALLERID, PHONE_SAILOR_HUEY
@@ -45,7 +45,7 @@
 
 UnknownScript_0x5afc7:
 	scall UnknownScript_0x5b06b
-	winlosstext SailorHuey1BeatenText, $0000
+	winlosstext SailorHuey1BeatenText, 0
 	copybytetovar wHueyFightCount
 	if_equal 3, .Fight3
 	if_equal 2, .Fight2
@@ -221,5 +221,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_SAILOR, 3, 9, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorHuey1, -1
-	person_event SPRITE_GENTLEMAN, 8, 17, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerGentlemanAlfred, -1
+	person_event SPRITE_SAILOR, 3, 9, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorHuey1, -1
+	person_event SPRITE_GENTLEMAN, 8, 17, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerGentlemanAlfred, -1
--- a/maps/OlivineLighthouse3F.asm
+++ b/maps/OlivineLighthouse3F.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerBird_keeperTheo:
-	trainer EVENT_BEAT_BIRD_KEEPER_THEO, BIRD_KEEPER, THEO, Bird_keeperTheoSeenText, Bird_keeperTheoBeatenText, $0000, Bird_keeperTheoScript
+	trainer EVENT_BEAT_BIRD_KEEPER_THEO, BIRD_KEEPER, THEO, Bird_keeperTheoSeenText, Bird_keeperTheoBeatenText, 0, Bird_keeperTheoScript
 
 Bird_keeperTheoScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerGentlemanPreston:
-	trainer EVENT_BEAT_GENTLEMAN_PRESTON, GENTLEMAN, PRESTON, GentlemanPrestonSeenText, GentlemanPrestonBeatenText, $0000, GentlemanPrestonScript
+	trainer EVENT_BEAT_GENTLEMAN_PRESTON, GENTLEMAN, PRESTON, GentlemanPrestonSeenText, GentlemanPrestonBeatenText, 0, GentlemanPrestonScript
 
 GentlemanPrestonScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerSailorTerrell:
-	trainer EVENT_BEAT_SAILOR_TERRELL, SAILOR, TERRELL, SailorTerrellSeenText, SailorTerrellBeatenText, $0000, SailorTerrellScript
+	trainer EVENT_BEAT_SAILOR_TERRELL, SAILOR, TERRELL, SailorTerrellSeenText, SailorTerrellBeatenText, 0, SailorTerrellScript
 
 SailorTerrellScript:
 	talkaftercancel
@@ -130,7 +130,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_SAILOR, 2, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSailorTerrell, -1
-	person_event SPRITE_GENTLEMAN, 5, 13, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerGentlemanPreston, -1
-	person_event SPRITE_YOUNGSTER, 9, 3, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperTheo, -1
-	person_event SPRITE_POKE_BALL, 2, 8, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5b279, EVENT_OLIVINE_LIGHTHOUSE_3F_ETHER
+	person_event SPRITE_SAILOR, 2, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSailorTerrell, -1
+	person_event SPRITE_GENTLEMAN, 5, 13, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerGentlemanPreston, -1
+	person_event SPRITE_YOUNGSTER, 9, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperTheo, -1
+	person_event SPRITE_POKE_BALL, 2, 8, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5b279, EVENT_OLIVINE_LIGHTHOUSE_3F_ETHER
--- a/maps/OlivineLighthouse4F.asm
+++ b/maps/OlivineLighthouse4F.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerLassConnie:
-	trainer EVENT_BEAT_LASS_CONNIE, LASS, CONNIE1, LassConnie1SeenText, LassConnie1BeatenText, $0000, LassConnie1Script
+	trainer EVENT_BEAT_LASS_CONNIE, LASS, CONNIE1, LassConnie1SeenText, LassConnie1BeatenText, 0, LassConnie1Script
 
 LassConnie1Script:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerSailorKent:
-	trainer EVENT_BEAT_SAILOR_KENT, SAILOR, KENT, SailorKentSeenText, SailorKentBeatenText, $0000, SailorKentScript
+	trainer EVENT_BEAT_SAILOR_KENT, SAILOR, KENT, SailorKentSeenText, SailorKentBeatenText, 0, SailorKentScript
 
 SailorKentScript:
 	talkaftercancel
@@ -102,5 +102,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_SAILOR, 14, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorKent, -1
-	person_event SPRITE_LASS, 2, 11, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerLassConnie, -1
+	person_event SPRITE_SAILOR, 14, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorKent, -1
+	person_event SPRITE_LASS, 2, 11, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerLassConnie, -1
--- a/maps/OlivineLighthouse5F.asm
+++ b/maps/OlivineLighthouse5F.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerBird_keeperDenis:
-	trainer EVENT_BEAT_BIRD_KEEPER_DENIS, BIRD_KEEPER, DENIS, Bird_keeperDenisSeenText, Bird_keeperDenisBeatenText, $0000, Bird_keeperDenisScript
+	trainer EVENT_BEAT_BIRD_KEEPER_DENIS, BIRD_KEEPER, DENIS, Bird_keeperDenisSeenText, Bird_keeperDenisBeatenText, 0, Bird_keeperDenisScript
 
 Bird_keeperDenisScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerSailorErnest:
-	trainer EVENT_BEAT_SAILOR_ERNEST, SAILOR, ERNEST, SailorErnestSeenText, SailorErnestBeatenText, $0000, SailorErnestScript
+	trainer EVENT_BEAT_SAILOR_ERNEST, SAILOR, ERNEST, SailorErnestSeenText, SailorErnestBeatenText, 0, SailorErnestScript
 
 SailorErnestScript:
 	talkaftercancel
@@ -107,8 +107,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_SAILOR, 11, 8, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorErnest, -1
-	person_event SPRITE_YOUNGSTER, 3, 8, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerBird_keeperDenis, -1
-	person_event SPRITE_POKE_BALL, 12, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x609aa, EVENT_OLIVINE_LIGHTHOUSE_5F_RARE_CANDY
-	person_event SPRITE_POKE_BALL, 15, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x609ac, EVENT_OLIVINE_LIGHTHOUSE_5F_SUPER_REPEL
-	person_event SPRITE_POKE_BALL, 13, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x609ae, EVENT_OLIVINE_LIGHTHOUSE_5F_TM_SWAGGER
+	person_event SPRITE_SAILOR, 11, 8, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorErnest, -1
+	person_event SPRITE_YOUNGSTER, 3, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerBird_keeperDenis, -1
+	person_event SPRITE_POKE_BALL, 12, 15, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x609aa, EVENT_OLIVINE_LIGHTHOUSE_5F_RARE_CANDY
+	person_event SPRITE_POKE_BALL, 15, 6, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x609ac, EVENT_OLIVINE_LIGHTHOUSE_5F_SUPER_REPEL
+	person_event SPRITE_POKE_BALL, 13, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x609ae, EVENT_OLIVINE_LIGHTHOUSE_5F_TM_SWAGGER
--- a/maps/OlivineLighthouse6F.asm
+++ b/maps/OlivineLighthouse6F.asm
@@ -104,7 +104,7 @@
 	iftrue UnknownScript_0x60c51
 	writetext UnknownText_0x60f03
 	writebyte AMPHAROS
-	special Functionfb841
+	special PlaySlowCry
 	keeptextopen
 	writetext UnknownText_0x60f19
 	closetext
@@ -270,6 +270,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_JASMINE, 8, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, JasmineScript_0x60b91, EVENT_OLIVINE_LIGHTHOUSE_JASMINE
-	person_event SPRITE_MONSTER, 8, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MonsterScript_0x60c3a, -1
-	person_event SPRITE_POKE_BALL, 4, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x60c66, EVENT_OLIVINE_LIGHTHOUSE_6F_SUPER_POTION
+	person_event SPRITE_JASMINE, 8, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, JasmineScript_0x60b91, EVENT_OLIVINE_LIGHTHOUSE_JASMINE
+	person_event SPRITE_MONSTER, 8, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MonsterScript_0x60c3a, -1
+	person_event SPRITE_POKE_BALL, 4, 3, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x60c66, EVENT_OLIVINE_LIGHTHOUSE_6F_SUPER_POTION
--- a/maps/OlivineMart.asm
+++ b/maps/OlivineMart.asm
@@ -7,7 +7,7 @@
 
 ClerkScript_0x9cac7:
 	loadfont
-	pokemart $0, $000d
+	pokemart MARTTYPE_STANDARD, MART_OLIVINE
 	loadmovesprites
 	end
 
@@ -57,6 +57,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x9cac7, -1
-	person_event SPRITE_COOLTRAINER_F, 2, 6, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x9cace, -1
-	person_event SPRITE_LASS, 6, 1, $8, 0, 0, -1, -1, 0, 0, 0, LassScript_0x9cad1, -1
+	person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x9cac7, -1
+	person_event SPRITE_COOLTRAINER_F, 2, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x9cace, -1
+	person_event SPRITE_LASS, 6, 1, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, LassScript_0x9cad1, -1
--- a/maps/OlivinePokeCenter1F.asm
+++ b/maps/OlivinePokeCenter1F.asm
@@ -59,7 +59,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x9c002, -1
-	person_event SPRITE_FISHING_GURU, 4, 8, $5, 0, 1, -1, -1, 0, 0, 0, FishingGuruScript_0x9c005, -1
-	person_event SPRITE_FISHER, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x9c008, -1
-	person_event SPRITE_TEACHER, 1, 7, $6, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x9c00b, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x9c002, -1
+	person_event SPRITE_FISHING_GURU, 4, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, FishingGuruScript_0x9c005, -1
+	person_event SPRITE_FISHER, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x9c008, -1
+	person_event SPRITE_TEACHER, 1, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x9c00b, -1
--- a/maps/OlivinePort.asm
+++ b/maps/OlivinePort.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x748ac, $0000
-	dw UnknownScript_0x748ad, $0000
+	dw UnknownScript_0x748ac, 0
+	dw UnknownScript_0x748ad, 0
 
 .MapCallbacks:
 	db 0
@@ -397,10 +397,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_SAILOR, 23, 7, $7, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x748c0, EVENT_OLIVINE_PORT_SAILOR_AT_GANGWAY
-	person_event SPRITE_SAILOR, 15, 7, $7, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x749fe, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME
-	person_event SPRITE_SAILOR, 15, 6, $9, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x7499c, EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME
-	person_event SPRITE_FISHING_GURU, 14, 4, $7, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x74a01, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME
-	person_event SPRITE_FISHING_GURU, 14, 13, $7, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x74a0c, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME
-	person_event SPRITE_YOUNGSTER, 15, 4, $6, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x74a17, EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME
-	person_event SPRITE_COOLTRAINER_F, 15, 11, $6, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x74a22, EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME
+	person_event SPRITE_SAILOR, 23, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x748c0, EVENT_OLIVINE_PORT_SAILOR_AT_GANGWAY
+	person_event SPRITE_SAILOR, 15, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x749fe, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME
+	person_event SPRITE_SAILOR, 15, 6, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x7499c, EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME
+	person_event SPRITE_FISHING_GURU, 14, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x74a01, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME
+	person_event SPRITE_FISHING_GURU, 14, 13, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x74a0c, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME
+	person_event SPRITE_YOUNGSTER, 15, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x74a17, EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME
+	person_event SPRITE_COOLTRAINER_F, 15, 11, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x74a22, EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME
--- a/maps/OlivinePortPassage.asm
+++ b/maps/OlivinePortPassage.asm
@@ -36,4 +36,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_POKEFAN_M, 1, 17, $8, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x76fac, EVENT_OLIVINE_PORT_PASSAGE_POKEFAN_M
+	person_event SPRITE_POKEFAN_M, 1, 17, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x76fac, EVENT_OLIVINE_PORT_PASSAGE_POKEFAN_M
--- a/maps/OlivinePunishmentSpeechHouse.asm
+++ b/maps/OlivinePunishmentSpeechHouse.asm
@@ -54,5 +54,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_POKEFAN_M, 2, 1, $3, 0, 0, -1, -1, 0, 0, 0, OlivinePunishmentSpeechHouseDad, -1
-	person_event SPRITE_LASS, 5, 5, $5, 0, 2, -1, -1, 0, 0, 0, OlivinePunishmentSpeechHouseDaughter, -1
+	person_event SPRITE_POKEFAN_M, 2, 1, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, OlivinePunishmentSpeechHouseDad, -1
+	person_event SPRITE_LASS, 5, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, 0, 0, OlivinePunishmentSpeechHouseDaughter, -1
--- a/maps/OlivineVoltorbHouse.asm
+++ b/maps/OlivineVoltorbHouse.asm
@@ -35,4 +35,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_FISHING_GURU, 3, 2, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Tim, -1
+	person_event SPRITE_FISHING_GURU, 3, 2, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Tim, -1
--- a/maps/PalletTown.asm
+++ b/maps/PalletTown.asm
@@ -89,5 +89,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_TEACHER, 8, 3, $2, 2, 2, -1, -1, 0, 0, 0, TeacherScript_0x1ac6d5, -1
-	person_event SPRITE_FISHER, 14, 12, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1ac6d8, -1
+	person_event SPRITE_TEACHER, 8, 3, SPRITEMOVEDATA_02, 2, 2, -1, -1, 0, 0, 0, TeacherScript_0x1ac6d5, -1
+	person_event SPRITE_FISHER, 14, 12, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1ac6d8, -1
--- a/maps/PewterCity.asm
+++ b/maps/PewterCity.asm
@@ -174,8 +174,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_COOLTRAINER_F, 11, 19, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x18c009, -1
-	person_event SPRITE_BUG_CATCHER, 29, 14, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x18c00c, -1
-	person_event SPRITE_GRAMPS, 17, 29, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x18c00f, -1
-	person_event SPRITE_FRUIT_TREE, 3, 32, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x18c03e, -1
-	person_event SPRITE_FRUIT_TREE, 3, 30, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x18c040, -1
+	person_event SPRITE_COOLTRAINER_F, 11, 19, SPRITEMOVEDATA_02, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x18c009, -1
+	person_event SPRITE_BUG_CATCHER, 29, 14, SPRITEMOVEDATA_02, 2, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x18c00c, -1
+	person_event SPRITE_GRAMPS, 17, 29, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x18c00f, -1
+	person_event SPRITE_FRUIT_TREE, 3, 32, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x18c03e, -1
+	person_event SPRITE_FRUIT_TREE, 3, 30, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x18c040, -1
--- a/maps/PewterGym.asm
+++ b/maps/PewterGym.asm
@@ -13,7 +13,7 @@
 	writetext UnknownText_0x1a28d0
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x1a29bb, $0000
+	winlosstext UnknownText_0x1a29bb, 0
 	loadtrainer BROCK, 1
 	startbattle
 	returnafterbattle
@@ -36,7 +36,7 @@
 	end
 
 TrainerCamperJerry:
-	trainer EVENT_BEAT_CAMPER_JERRY, CAMPER, JERRY, CamperJerrySeenText, CamperJerryBeatenText, $0000, CamperJerryScript
+	trainer EVENT_BEAT_CAMPER_JERRY, CAMPER, JERRY, CamperJerrySeenText, CamperJerryBeatenText, 0, CamperJerryScript
 
 CamperJerryScript:
 	talkaftercancel
@@ -222,6 +222,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_BROCK, 1, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BrockScript_0x1a2864, -1
-	person_event SPRITE_YOUNGSTER, 5, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperJerry, -1
-	person_event SPRITE_GYM_GUY, 11, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 1, PewterGymGuyScript, -1
+	person_event SPRITE_BROCK, 1, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BrockScript_0x1a2864, -1
+	person_event SPRITE_YOUNGSTER, 5, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperJerry, -1
+	person_event SPRITE_GYM_GUY, 11, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 1, PewterGymGuyScript, -1
--- a/maps/PewterMart.asm
+++ b/maps/PewterMart.asm
@@ -7,7 +7,7 @@
 
 ClerkScript_0x1a2dcb:
 	loadfont
-	pokemart $0, $0013
+	pokemart MARTTYPE_STANDARD, MART_PEWTER
 	loadmovesprites
 	end
 
@@ -57,6 +57,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x1a2dcb, -1
-	person_event SPRITE_YOUNGSTER, 2, 9, $5, 0, 2, -1, -1, 0, 0, 0, YoungsterScript_0x1a2dd2, -1
-	person_event SPRITE_SUPER_NERD, 6, 6, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a2dd5, -1
+	person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x1a2dcb, -1
+	person_event SPRITE_YOUNGSTER, 2, 9, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, 0, 0, YoungsterScript_0x1a2dd2, -1
+	person_event SPRITE_SUPER_NERD, 6, 6, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a2dd5, -1
--- a/maps/PewterNidoranSpeechHouse.asm
+++ b/maps/PewterNidoranSpeechHouse.asm
@@ -41,5 +41,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_SUPER_NERD, 5, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x1a2807, -1
-	person_event SPRITE_GROWLITHE, 5, 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrowlitheScript_0x1a280a, -1
+	person_event SPRITE_SUPER_NERD, 5, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x1a2807, -1
+	person_event SPRITE_GROWLITHE, 5, 4, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrowlitheScript_0x1a280a, -1
--- a/maps/PewterPokeCenter1F.asm
+++ b/maps/PewterPokeCenter1F.asm
@@ -78,8 +78,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x1a2ee7, -1
-	person_event SPRITE_TEACHER, 6, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a2eea, -1
-	person_event SPRITE_JIGGLYPUFF, 3, 1, $16, 0, 0, -1, -1, 0, 0, 0, JigglypuffScript_0x1a2eed, -1
-	person_event SPRITE_BUG_CATCHER, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BugCatcherScript_0x1a2ef7, -1
-	person_event SPRITE_POKEFAN_M, 2, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x1a2efa, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x1a2ee7, -1
+	person_event SPRITE_TEACHER, 6, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a2eea, -1
+	person_event SPRITE_JIGGLYPUFF, 3, 1, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, JigglypuffScript_0x1a2eed, -1
+	person_event SPRITE_BUG_CATCHER, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BugCatcherScript_0x1a2ef7, -1
+	person_event SPRITE_POKEFAN_M, 2, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x1a2efa, -1
--- a/maps/PewterSnoozeSpeechHouse.asm
+++ b/maps/PewterSnoozeSpeechHouse.asm
@@ -36,4 +36,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_GRAMPS, 3, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x1a3059, -1
+	person_event SPRITE_GRAMPS, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x1a3059, -1
--- a/maps/PokeCenter2F.asm
+++ b/maps/PokeCenter2F.asm
@@ -3,12 +3,12 @@
 	db 6
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
-	dw .Trigger3, $0000
-	dw .Trigger4, $0000
-	dw .Trigger5, $0000
-	dw .Trigger6, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
+	dw .Trigger3, 0
+	dw .Trigger4, 0
+	dw .Trigger5, 0
+	dw .Trigger6, 0
 
 .MapCallbacks:
 	db 0
@@ -1040,7 +1040,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_LINK_RECEPTIONIST, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LinkReceptionistScript_Trade, -1
-	person_event SPRITE_LINK_RECEPTIONIST, 2, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LinkReceptionistScript_Battle, -1
-	person_event SPRITE_LINK_RECEPTIONIST, 3, 13, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LinkReceptionistScript_TimeCapsule, -1
-	person_event SPRITE_OFFICER, 1, 1, $6, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x192c9a, EVENT_MYSTERY_GIFT_DELIVERY_GUY
+	person_event SPRITE_LINK_RECEPTIONIST, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LinkReceptionistScript_Trade, -1
+	person_event SPRITE_LINK_RECEPTIONIST, 2, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LinkReceptionistScript_Battle, -1
+	person_event SPRITE_LINK_RECEPTIONIST, 3, 13, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LinkReceptionistScript_TimeCapsule, -1
+	person_event SPRITE_OFFICER, 1, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x192c9a, EVENT_MYSTERY_GIFT_DELIVERY_GUY
--- a/maps/PokeSeersHouse.asm
+++ b/maps/PokeSeersHouse.asm
@@ -30,4 +30,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_GRANNY, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SeerScript, -1
+	person_event SPRITE_GRANNY, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SeerScript, -1
--- a/maps/PokemonFanClub.asm
+++ b/maps/PokemonFanClub.asm
@@ -307,9 +307,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_GENTLEMAN, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x1917e9, -1
-	person_event SPRITE_RECEPTIONIST, 1, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x191821, -1
-	person_event SPRITE_FISHER, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x191824, -1
-	person_event SPRITE_TEACHER, 2, 7, $8, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x19186b, -1
-	person_event SPRITE_FAIRY, 4, 2, $6, 0, 0, -1, -1, 0, 0, 0, FairyScript_0x19186e, EVENT_VERMILION_FAN_CLUB_DOLL
-	person_event SPRITE_ODDISH, 3, 7, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OddishScript_0x191871, -1
+	person_event SPRITE_GENTLEMAN, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x1917e9, -1
+	person_event SPRITE_RECEPTIONIST, 1, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x191821, -1
+	person_event SPRITE_FISHER, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x191824, -1
+	person_event SPRITE_TEACHER, 2, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x19186b, -1
+	person_event SPRITE_FAIRY, 4, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, FairyScript_0x19186e, EVENT_VERMILION_FAN_CLUB_DOLL
+	person_event SPRITE_ODDISH, 3, 7, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OddishScript_0x191871, -1
--- a/maps/PowerPlant.asm
+++ b/maps/PowerPlant.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x188dc3, $0000
-	dw UnknownScript_0x188dc4, $0000
+	dw UnknownScript_0x188dc3, 0
+	dw UnknownScript_0x188dc4, 0
 
 .MapCallbacks:
 	db 0
@@ -401,10 +401,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_OFFICER, 14, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x188df5, -1
-	person_event SPRITE_GYM_GUY, 9, 2, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188e15, -1
-	person_event SPRITE_GYM_GUY, 11, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188e29, -1
-	person_event SPRITE_OFFICER, 3, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x188e3d, -1
-	person_event SPRITE_GYM_GUY, 2, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188e51, -1
-	person_event SPRITE_FISHER, 10, 14, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PowerPlantManager, -1
-	person_event SPRITE_GYM_GUY, 5, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188ecb, -1
+	person_event SPRITE_OFFICER, 14, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x188df5, -1
+	person_event SPRITE_GYM_GUY, 9, 2, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188e15, -1
+	person_event SPRITE_GYM_GUY, 11, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188e29, -1
+	person_event SPRITE_OFFICER, 3, 9, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x188e3d, -1
+	person_event SPRITE_GYM_GUY, 2, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188e51, -1
+	person_event SPRITE_FISHER, 10, 14, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PowerPlantManager, -1
+	person_event SPRITE_GYM_GUY, 5, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188ecb, -1
--- a/maps/RadioTower1F.asm
+++ b/maps/RadioTower1F.asm
@@ -178,7 +178,7 @@
 	jumptextfaceplayer UnknownText_0x5d4ac
 
 TrainerGruntM3:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_3, GRUNTM, 3, GruntM3SeenText, GruntM3BeatenText, $0000, GruntM3Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_3, GRUNTM, 3, GruntM3SeenText, GruntM3BeatenText, 0, GruntM3Script
 
 GruntM3Script:
 	talkaftercancel
@@ -484,9 +484,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_RECEPTIONIST, 6, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x5cd29, -1
-	person_event SPRITE_LASS, 4, 16, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LassScript_0x5ce51, EVENT_GOLDENROD_CITY_CIVILIANS
-	person_event SPRITE_YOUNGSTER, 4, 15, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x5ce54, EVENT_GOLDENROD_CITY_CIVILIANS
-	person_event SPRITE_ROCKET, 1, 14, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM3, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_GENTLEMAN, 6, 8, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GentlemanScript_0x5cd3d, EVENT_GOLDENROD_CITY_CIVILIANS
-	person_event SPRITE_COOLTRAINER_F, 6, 12, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x5cdd5, EVENT_GOLDENROD_CITY_CIVILIANS
+	person_event SPRITE_RECEPTIONIST, 6, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x5cd29, -1
+	person_event SPRITE_LASS, 4, 16, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LassScript_0x5ce51, EVENT_GOLDENROD_CITY_CIVILIANS
+	person_event SPRITE_YOUNGSTER, 4, 15, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x5ce54, EVENT_GOLDENROD_CITY_CIVILIANS
+	person_event SPRITE_ROCKET, 1, 14, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM3, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_GENTLEMAN, 6, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GentlemanScript_0x5cd3d, EVENT_GOLDENROD_CITY_CIVILIANS
+	person_event SPRITE_COOLTRAINER_F, 6, 12, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x5cdd5, EVENT_GOLDENROD_CITY_CIVILIANS
--- a/maps/RadioTower2F.asm
+++ b/maps/RadioTower2F.asm
@@ -42,7 +42,7 @@
 	jumptextfaceplayer UnknownText_0x5da44
 
 TrainerGruntM4:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_4, GRUNTM, 4, GruntM4SeenText, GruntM4BeatenText, $0000, GruntM4Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_4, GRUNTM, 4, GruntM4SeenText, GruntM4BeatenText, 0, GruntM4Script
 
 GruntM4Script:
 	talkaftercancel
@@ -53,7 +53,7 @@
 	end
 
 TrainerGruntM5:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_5, GRUNTM, 5, GruntM5SeenText, GruntM5BeatenText, $0000, GruntM5Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_5, GRUNTM, 5, GruntM5SeenText, GruntM5BeatenText, 0, GruntM5Script
 
 GruntM5Script:
 	talkaftercancel
@@ -64,7 +64,7 @@
 	end
 
 TrainerGruntM6:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_6, GRUNTM, 6, GruntM6SeenText, GruntM6BeatenText, $0000, GruntM6Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_6, GRUNTM, 6, GruntM6SeenText, GruntM6BeatenText, 0, GruntM6Script
 
 GruntM6Script:
 	talkaftercancel
@@ -75,7 +75,7 @@
 	end
 
 TrainerGruntF2:
-	trainer EVENT_BEAT_ROCKET_GRUNTF_2, GRUNTF, 2, GruntF2SeenText, GruntF2BeatenText, $0000, GruntF2Script
+	trainer EVENT_BEAT_ROCKET_GRUNTF_2, GRUNTF, 2, GruntF2SeenText, GruntF2BeatenText, 0, GruntF2Script
 
 GruntF2Script:
 	talkaftercancel
@@ -720,14 +720,14 @@
 
 .PersonEvents:
 	db 11
-	person_event SPRITE_SUPER_NERD, 6, 6, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x5d6fe, EVENT_GOLDENROD_CITY_CIVILIANS
-	person_event SPRITE_TEACHER, 2, 17, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x5d701, -1
-	person_event SPRITE_ROCKET, 4, 1, $7, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM4, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET, 4, 8, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM5, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET, 1, 4, $6, 0, 0, -1, -1, 0, 2, 2, TrainerGruntM6, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET_GIRL, 5, 10, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerGruntF2, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_BLACK_BELT, 1, 0, $6, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x5d71f, EVENT_RADIO_TOWER_BLACKBELT_BLOCKS_STAIRS
-	person_event SPRITE_BLACK_BELT, 1, 1, $6, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x5d722, EVENT_RADIO_TOWER_CIVILIANS_AFTER
-	person_event SPRITE_JIGGLYPUFF, 1, 12, $16, 0, 0, -1, -1, 0, 0, 0, JigglypuffScript_0x5d715, -1
-	person_event SPRITE_BUENA, 5, 14, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Buena, -1
-	person_event SPRITE_RECEPTIONIST, 7, 12, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x5d8ff, EVENT_GOLDENROD_CITY_CIVILIANS
+	person_event SPRITE_SUPER_NERD, 6, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x5d6fe, EVENT_GOLDENROD_CITY_CIVILIANS
+	person_event SPRITE_TEACHER, 2, 17, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x5d701, -1
+	person_event SPRITE_ROCKET, 4, 1, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM4, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET, 4, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM5, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET, 1, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 2, 2, TrainerGruntM6, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET_GIRL, 5, 10, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerGruntF2, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_BLACK_BELT, 1, 0, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x5d71f, EVENT_RADIO_TOWER_BLACKBELT_BLOCKS_STAIRS
+	person_event SPRITE_BLACK_BELT, 1, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x5d722, EVENT_RADIO_TOWER_CIVILIANS_AFTER
+	person_event SPRITE_JIGGLYPUFF, 1, 12, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, JigglypuffScript_0x5d715, -1
+	person_event SPRITE_BUENA, 5, 14, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Buena, -1
+	person_event SPRITE_RECEPTIONIST, 7, 12, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x5d8ff, EVENT_GOLDENROD_CITY_CIVILIANS
--- a/maps/RadioTower3F.asm
+++ b/maps/RadioTower3F.asm
@@ -77,7 +77,7 @@
 	end
 
 TrainerGruntM7:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_7, GRUNTM, 7, GruntM7SeenText, GruntM7BeatenText, $0000, GruntM7Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_7, GRUNTM, 7, GruntM7SeenText, GruntM7BeatenText, 0, GruntM7Script
 
 GruntM7Script:
 	talkaftercancel
@@ -88,7 +88,7 @@
 	end
 
 TrainerGruntM8:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_8, GRUNTM, 8, GruntM8SeenText, GruntM8BeatenText, $0000, GruntM8Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_8, GRUNTM, 8, GruntM8SeenText, GruntM8BeatenText, 0, GruntM8Script
 
 GruntM8Script:
 	talkaftercancel
@@ -99,7 +99,7 @@
 	end
 
 TrainerGruntM9:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_9, GRUNTM, 9, GruntM9SeenText, GruntM9BeatenText, $0000, GruntM9Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_9, GRUNTM, 9, GruntM9SeenText, GruntM9BeatenText, 0, GruntM9Script
 
 GruntM9Script:
 	talkaftercancel
@@ -110,7 +110,7 @@
 	end
 
 TrainerScientistMarc:
-	trainer EVENT_BEAT_SCIENTIST_MARC, SCIENTIST, MARC, ScientistMarcSeenText, ScientistMarcBeatenText, $0000, ScientistMarcScript
+	trainer EVENT_BEAT_SCIENTIST_MARC, SCIENTIST, MARC, ScientistMarcSeenText, ScientistMarcBeatenText, 0, ScientistMarcScript
 
 ScientistMarcScript:
 	talkaftercancel
@@ -343,10 +343,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_SUPER_NERD, 4, 7, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x5e553, EVENT_RADIO_TOWER_CIVILIANS_AFTER
-	person_event SPRITE_GYM_GUY, 4, 3, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GymGuyScript_0x5e556, -1
-	person_event SPRITE_COOLTRAINER_F, 3, 11, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x5e56a, -1
-	person_event SPRITE_ROCKET, 1, 5, $9, 0, 0, -1, -1, 0, 2, 2, TrainerGruntM7, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET, 2, 6, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM8, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET, 6, 16, $7, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM9, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_SCIENTIST, 6, 9, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerScientistMarc, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_SUPER_NERD, 4, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x5e553, EVENT_RADIO_TOWER_CIVILIANS_AFTER
+	person_event SPRITE_GYM_GUY, 4, 3, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GymGuyScript_0x5e556, -1
+	person_event SPRITE_COOLTRAINER_F, 3, 11, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x5e56a, -1
+	person_event SPRITE_ROCKET, 1, 5, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 2, 2, TrainerGruntM7, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET, 2, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM8, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET, 6, 16, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM9, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_SCIENTIST, 6, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerScientistMarc, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
--- a/maps/RadioTower4F.asm
+++ b/maps/RadioTower4F.asm
@@ -47,7 +47,7 @@
 	end
 
 TrainerGruntM10:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_10, GRUNTM, 10, GruntM10SeenText, GruntM10BeatenText, $0000, GruntM10Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_10, GRUNTM, 10, GruntM10SeenText, GruntM10BeatenText, 0, GruntM10Script
 
 GruntM10Script:
 	talkaftercancel
@@ -58,7 +58,7 @@
 	end
 
 TrainerExecutivem2:
-	trainer EVENT_BEAT_ROCKET_EXECUTIVEM_2, EXECUTIVEM, 2, Executivem2SeenText, Executivem2BeatenText, $0000, Executivem2Script
+	trainer EVENT_BEAT_ROCKET_EXECUTIVEM_2, EXECUTIVEM, 2, Executivem2SeenText, Executivem2BeatenText, 0, Executivem2Script
 
 Executivem2Script:
 	talkaftercancel
@@ -69,7 +69,7 @@
 	end
 
 TrainerGruntF4:
-	trainer EVENT_BEAT_ROCKET_GRUNTF_4, GRUNTF, 4, GruntF4SeenText, GruntF4BeatenText, $0000, GruntF4Script
+	trainer EVENT_BEAT_ROCKET_GRUNTF_4, GRUNTF, 4, GruntF4SeenText, GruntF4BeatenText, 0, GruntF4Script
 
 GruntF4Script:
 	talkaftercancel
@@ -80,7 +80,7 @@
 	end
 
 TrainerScientistRich:
-	trainer EVENT_BEAT_SCIENTIST_RICH, SCIENTIST, RICH, ScientistRichSeenText, ScientistRichBeatenText, $0000, ScientistRichScript
+	trainer EVENT_BEAT_SCIENTIST_RICH, SCIENTIST, RICH, ScientistRichSeenText, ScientistRichBeatenText, 0, ScientistRichScript
 
 ScientistRichScript:
 	talkaftercancel
@@ -257,10 +257,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_FISHER, 4, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x5eb82, EVENT_RADIO_TOWER_CIVILIANS_AFTER
-	person_event SPRITE_TEACHER, 6, 14, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x5eb85, -1
-	person_event SPRITE_GROWLITHE, 7, 12, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GrowlitheScript_0x5ebb2, -1
-	person_event SPRITE_ROCKET, 6, 5, $1f, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM10, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET, 1, 14, $8, 0, 2, -1, -1, 0, 2, 2, TrainerExecutivem2, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET_GIRL, 4, 12, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerGruntF4, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_SCIENTIST, 2, 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerScientistRich, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_FISHER, 4, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x5eb82, EVENT_RADIO_TOWER_CIVILIANS_AFTER
+	person_event SPRITE_TEACHER, 6, 14, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x5eb85, -1
+	person_event SPRITE_GROWLITHE, 7, 12, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GrowlitheScript_0x5ebb2, -1
+	person_event SPRITE_ROCKET, 6, 5, SPRITEMOVEDATA_1F, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM10, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET, 1, 14, SPRITEMOVEDATA_STANDING_LEFT, 0, 2, -1, -1, 0, 2, 2, TrainerExecutivem2, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET_GIRL, 4, 12, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerGruntF4, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_SCIENTIST, 2, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerScientistRich, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
--- a/maps/RadioTower5F.asm
+++ b/maps/RadioTower5F.asm
@@ -3,9 +3,9 @@
 	db 3
 
 	; triggers
-	dw UnknownScript_0x6000e, $0000
-	dw UnknownScript_0x6000f, $0000
-	dw UnknownScript_0x60010, $0000
+	dw UnknownScript_0x6000e, 0
+	dw UnknownScript_0x6000f, 0
+	dw UnknownScript_0x60010, 0
 
 .MapCallbacks:
 	db 0
@@ -32,7 +32,7 @@
 	writetext UnknownText_0x60147
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x60223, $0000
+	winlosstext UnknownText_0x60223, 0
 	setlasttalked $2
 	loadtrainer EXECUTIVEM, 3
 	startbattle
@@ -63,7 +63,7 @@
 	end
 
 TrainerExecutivef1:
-	trainer EVENT_BEAT_ROCKET_EXECUTIVEF_1, EXECUTIVEF, 1, Executivef1SeenText, Executivef1BeatenText, $0000, Executivef1Script
+	trainer EVENT_BEAT_ROCKET_EXECUTIVEF_1, EXECUTIVEF, 1, Executivef1SeenText, Executivef1BeatenText, 0, Executivef1Script
 
 Executivef1Script:
 	talkaftercancel
@@ -81,7 +81,7 @@
 	writetext UnknownText_0x603d1
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x604f3, $0000
+	winlosstext UnknownText_0x604f3, 0
 	setlasttalked $3
 	loadtrainer EXECUTIVEM, 1
 	startbattle
@@ -439,8 +439,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_GENTLEMAN, 6, 3, $3, 0, 0, -1, -1, 0, 0, 0, Director, -1
-	person_event SPRITE_ROCKET, 5, 13, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET_GIRL, 2, 17, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerExecutivef1, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKER, 5, 13, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Ben, EVENT_RADIO_TOWER_CIVILIANS_AFTER
-	person_event SPRITE_POKE_BALL, 5, 8, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x600fe, EVENT_RADIO_TOWER_5F_ULTRA_BALL
+	person_event SPRITE_GENTLEMAN, 6, 3, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, Director, -1
+	person_event SPRITE_ROCKET, 5, 13, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET_GIRL, 2, 17, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerExecutivef1, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKER, 5, 13, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Ben, EVENT_RADIO_TOWER_CIVILIANS_AFTER
+	person_event SPRITE_POKE_BALL, 5, 8, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x600fe, EVENT_RADIO_TOWER_5F_ULTRA_BALL
--- a/maps/RedsHouse1F.asm
+++ b/maps/RedsHouse1F.asm
@@ -3,7 +3,7 @@
 	db 1
 
 	; triggers
-	dw .Trigger, $0000
+	dw .Trigger, 0
 
 .MapCallbacks:
 	db 0
@@ -94,4 +94,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_REDS_MOM, 3, 5, $8, 0, 0, -1, -1, 0, 0, 0, RedsMom, -1
+	person_event SPRITE_REDS_MOM, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, RedsMom, -1
--- a/maps/RockTunnel1F.asm
+++ b/maps/RockTunnel1F.asm
@@ -42,5 +42,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_POKE_BALL, 18, 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x743b5, EVENT_ROCK_TUNNEL_1F_ELIXER
-	person_event SPRITE_POKE_BALL, 15, 10, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x743b7, EVENT_ROCK_TUNNEL_1F_TM_STEEL_WING
+	person_event SPRITE_POKE_BALL, 18, 4, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x743b5, EVENT_ROCK_TUNNEL_1F_ELIXER
+	person_event SPRITE_POKE_BALL, 15, 10, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x743b7, EVENT_ROCK_TUNNEL_1F_TM_STEEL_WING
--- a/maps/RockTunnelB1F.asm
+++ b/maps/RockTunnelB1F.asm
@@ -38,6 +38,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_POKE_BALL, 25, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x74409, EVENT_ROCK_TUNNEL_B1F_IRON
-	person_event SPRITE_POKE_BALL, 17, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7440b, EVENT_ROCK_TUNNEL_B1F_PP_UP
-	person_event SPRITE_POKE_BALL, 2, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7440d, EVENT_ROCK_TUNNEL_B1F_REVIVE
+	person_event SPRITE_POKE_BALL, 25, 7, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x74409, EVENT_ROCK_TUNNEL_B1F_IRON
+	person_event SPRITE_POKE_BALL, 17, 6, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7440b, EVENT_ROCK_TUNNEL_B1F_PP_UP
+	person_event SPRITE_POKE_BALL, 2, 15, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7440d, EVENT_ROCK_TUNNEL_B1F_REVIVE
--- a/maps/Route1.asm
+++ b/maps/Route1.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerSchoolboyDanny:
-	trainer EVENT_BEAT_SCHOOLBOY_DANNY, SCHOOLBOY, DANNY, SchoolboyDannySeenText, SchoolboyDannyBeatenText, $0000, SchoolboyDannyScript
+	trainer EVENT_BEAT_SCHOOLBOY_DANNY, SCHOOLBOY, DANNY, SchoolboyDannySeenText, SchoolboyDannyBeatenText, 0, SchoolboyDannyScript
 
 SchoolboyDannyScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerCooltrainerfQuinn:
-	trainer EVENT_BEAT_COOLTRAINERF_QUINN, COOLTRAINERF, QUINN, CooltrainerfQuinnSeenText, CooltrainerfQuinnBeatenText, $0000, CooltrainerfQuinnScript
+	trainer EVENT_BEAT_COOLTRAINERF_QUINN, COOLTRAINERF, QUINN, CooltrainerfQuinnSeenText, CooltrainerfQuinnBeatenText, 0, CooltrainerfQuinnScript
 
 CooltrainerfQuinnScript:
 	talkaftercancel
@@ -91,6 +91,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_YOUNGSTER, 12, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSchoolboyDanny, -1
-	person_event SPRITE_COOLTRAINER_F, 25, 9, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainerfQuinn, -1
-	person_event SPRITE_FRUIT_TREE, 7, 3, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1ac581, -1
+	person_event SPRITE_YOUNGSTER, 12, 4, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSchoolboyDanny, -1
+	person_event SPRITE_COOLTRAINER_F, 25, 9, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainerfQuinn, -1
+	person_event SPRITE_FRUIT_TREE, 7, 3, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1ac581, -1
--- a/maps/Route10PokeCenter1F.asm
+++ b/maps/Route10PokeCenter1F.asm
@@ -92,7 +92,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x188bd4, -1
-	person_event SPRITE_GENTLEMAN, 6, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x188bd7, -1
-	person_event SPRITE_GYM_GUY, 2, 7, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GymGuyScript_0x188bda, -1
-	person_event SPRITE_COOLTRAINER_F, 3, 1, $6, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x188bee, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x188bd4, -1
+	person_event SPRITE_GENTLEMAN, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x188bd7, -1
+	person_event SPRITE_GYM_GUY, 2, 7, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GymGuyScript_0x188bda, -1
+	person_event SPRITE_COOLTRAINER_F, 3, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x188bee, -1
--- a/maps/Route10South.asm
+++ b/maps/Route10South.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerHikerJim:
-	trainer EVENT_BEAT_HIKER_JIM, HIKER, JIM, HikerJimSeenText, HikerJimBeatenText, $0000, HikerJimScript
+	trainer EVENT_BEAT_HIKER_JIM, HIKER, JIM, HikerJimSeenText, HikerJimBeatenText, 0, HikerJimScript
 
 HikerJimScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerPokefanmRobert:
-	trainer EVENT_BEAT_POKEFANM_ROBERT, POKEFANM, ROBERT, PokefanmRobertSeenText, PokefanmRobertBeatenText, $0000, PokefanmRobertScript
+	trainer EVENT_BEAT_POKEFANM_ROBERT, POKEFANM, ROBERT, PokefanmRobertSeenText, PokefanmRobertBeatenText, 0, PokefanmRobertScript
 
 PokefanmRobertScript:
 	talkaftercancel
@@ -88,5 +88,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_POKEFAN_M, 3, 17, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerJim, -1
-	person_event SPRITE_POKEFAN_M, 10, 8, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmRobert, -1
+	person_event SPRITE_POKEFAN_M, 3, 17, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerJim, -1
+	person_event SPRITE_POKEFAN_M, 10, 8, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmRobert, -1
--- a/maps/Route11.asm
+++ b/maps/Route11.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerYoungsterOwen:
-	trainer EVENT_BEAT_YOUNGSTER_OWEN, YOUNGSTER, OWEN, YoungsterOwenSeenText, YoungsterOwenBeatenText, $0000, YoungsterOwenScript
+	trainer EVENT_BEAT_YOUNGSTER_OWEN, YOUNGSTER, OWEN, YoungsterOwenSeenText, YoungsterOwenBeatenText, 0, YoungsterOwenScript
 
 YoungsterOwenScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerYoungsterJason:
-	trainer EVENT_BEAT_YOUNGSTER_JASON, YOUNGSTER, JASON, YoungsterJasonSeenText, YoungsterJasonBeatenText, $0000, YoungsterJasonScript
+	trainer EVENT_BEAT_YOUNGSTER_JASON, YOUNGSTER, JASON, YoungsterJasonSeenText, YoungsterJasonBeatenText, 0, YoungsterJasonScript
 
 YoungsterJasonScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerPsychicHerman:
-	trainer EVENT_BEAT_PSYCHIC_HERMAN, PSYCHIC_T, HERMAN, PsychicHermanSeenText, PsychicHermanBeatenText, $0000, PsychicHermanScript
+	trainer EVENT_BEAT_PSYCHIC_HERMAN, PSYCHIC_T, HERMAN, PsychicHermanSeenText, PsychicHermanBeatenText, 0, PsychicHermanScript
 
 PsychicHermanScript:
 	talkaftercancel
@@ -39,7 +39,7 @@
 	end
 
 TrainerPsychicFidel:
-	trainer EVENT_BEAT_PSYCHIC_FIDEL, PSYCHIC_T, FIDEL, PsychicFidelSeenText, PsychicFidelBeatenText, $0000, PsychicFidelScript
+	trainer EVENT_BEAT_PSYCHIC_FIDEL, PSYCHIC_T, FIDEL, PsychicFidelSeenText, PsychicFidelBeatenText, 0, PsychicFidelScript
 
 PsychicFidelScript:
 	talkaftercancel
@@ -156,8 +156,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_YOUNGSTER, 14, 22, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterOwen, -1
-	person_event SPRITE_YOUNGSTER, 4, 20, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterJason, -1
-	person_event SPRITE_YOUNGSTER, 7, 28, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerPsychicHerman, -1
-	person_event SPRITE_YOUNGSTER, 6, 8, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicFidel, -1
-	person_event SPRITE_FRUIT_TREE, 2, 32, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x68055, -1
+	person_event SPRITE_YOUNGSTER, 14, 22, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterOwen, -1
+	person_event SPRITE_YOUNGSTER, 4, 20, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterJason, -1
+	person_event SPRITE_YOUNGSTER, 7, 28, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerPsychicHerman, -1
+	person_event SPRITE_YOUNGSTER, 6, 8, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicFidel, -1
+	person_event SPRITE_FRUIT_TREE, 2, 32, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x68055, -1
--- a/maps/Route12.asm
+++ b/maps/Route12.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerFisherKyle:
-	trainer EVENT_BEAT_FISHER_KYLE, FISHER, KYLE, FisherKyleSeenText, FisherKyleBeatenText, $0000, FisherKyleScript
+	trainer EVENT_BEAT_FISHER_KYLE, FISHER, KYLE, FisherKyleSeenText, FisherKyleBeatenText, 0, FisherKyleScript
 
 FisherKyleScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerFisherMartin:
-	trainer EVENT_BEAT_FISHER_MARTIN, FISHER, MARTIN, FisherMartinSeenText, FisherMartinBeatenText, $0000, FisherMartinScript
+	trainer EVENT_BEAT_FISHER_MARTIN, FISHER, MARTIN, FisherMartinSeenText, FisherMartinBeatenText, 0, FisherMartinScript
 
 FisherMartinScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerFisherStephen:
-	trainer EVENT_BEAT_FISHER_STEPHEN, FISHER, STEPHEN, FisherStephenSeenText, FisherStephenBeatenText, $0000, FisherStephenScript
+	trainer EVENT_BEAT_FISHER_STEPHEN, FISHER, STEPHEN, FisherStephenSeenText, FisherStephenBeatenText, 0, FisherStephenScript
 
 FisherStephenScript:
 	talkaftercancel
@@ -39,7 +39,7 @@
 	end
 
 TrainerFisherBarney:
-	trainer EVENT_BEAT_FISHER_BARNEY, FISHER, BARNEY, FisherBarneySeenText, FisherBarneyBeatenText, $0000, FisherBarneyScript
+	trainer EVENT_BEAT_FISHER_BARNEY, FISHER, BARNEY, FisherBarneySeenText, FisherBarneyBeatenText, 0, FisherBarneyScript
 
 FisherBarneyScript:
 	talkaftercancel
@@ -178,9 +178,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_FISHER, 13, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherMartin, -1
-	person_event SPRITE_FISHER, 23, 14, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherStephen, -1
-	person_event SPRITE_FISHER, 38, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerFisherBarney, -1
-	person_event SPRITE_FISHER, 7, 6, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherKyle, -1
-	person_event SPRITE_POKE_BALL, 43, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a700b, EVENT_ROUTE_12_CALCIUM
-	person_event SPRITE_POKE_BALL, 51, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a700d, EVENT_ROUTE_12_NUGGET
+	person_event SPRITE_FISHER, 13, 5, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherMartin, -1
+	person_event SPRITE_FISHER, 23, 14, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherStephen, -1
+	person_event SPRITE_FISHER, 38, 10, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerFisherBarney, -1
+	person_event SPRITE_FISHER, 7, 6, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherKyle, -1
+	person_event SPRITE_POKE_BALL, 43, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a700b, EVENT_ROUTE_12_CALCIUM
+	person_event SPRITE_POKE_BALL, 51, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a700d, EVENT_ROUTE_12_NUGGET
--- a/maps/Route12SuperRodHouse.asm
+++ b/maps/Route12SuperRodHouse.asm
@@ -93,4 +93,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_FISHING_GURU, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FishingGuruScript_0x7f484, -1
+	person_event SPRITE_FISHING_GURU, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FishingGuruScript_0x7f484, -1
--- a/maps/Route13.asm
+++ b/maps/Route13.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerPokefanmAlex:
-	trainer EVENT_BEAT_POKEFANM_ALEX, POKEFANM, ALEX, PokefanmAlexSeenText, PokefanmAlexBeatenText, $0000, PokefanmAlexScript
+	trainer EVENT_BEAT_POKEFANM_ALEX, POKEFANM, ALEX, PokefanmAlexSeenText, PokefanmAlexBeatenText, 0, PokefanmAlexScript
 
 PokefanmAlexScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerPokefanmJoshua:
-	trainer EVENT_BEAT_POKEFANM_JOSHUA, POKEFANM, JOSHUA, PokefanmJoshuaSeenText, PokefanmJoshuaBeatenText, $0000, PokefanmJoshuaScript
+	trainer EVENT_BEAT_POKEFANM_JOSHUA, POKEFANM, JOSHUA, PokefanmJoshuaSeenText, PokefanmJoshuaBeatenText, 0, PokefanmJoshuaScript
 
 PokefanmJoshuaScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerBird_keeperPerry:
-	trainer EVENT_BEAT_BIRD_KEEPER_PERRY, BIRD_KEEPER, PERRY, Bird_keeperPerrySeenText, Bird_keeperPerryBeatenText, $0000, Bird_keeperPerryScript
+	trainer EVENT_BEAT_BIRD_KEEPER_PERRY, BIRD_KEEPER, PERRY, Bird_keeperPerrySeenText, Bird_keeperPerryBeatenText, 0, Bird_keeperPerryScript
 
 Bird_keeperPerryScript:
 	talkaftercancel
@@ -39,7 +39,7 @@
 	end
 
 TrainerBird_keeperBret:
-	trainer EVENT_BEAT_BIRD_KEEPER_BRET, BIRD_KEEPER, BRET, Bird_keeperBretSeenText, Bird_keeperBretBeatenText, $0000, Bird_keeperBretScript
+	trainer EVENT_BEAT_BIRD_KEEPER_BRET, BIRD_KEEPER, BRET, Bird_keeperBretSeenText, Bird_keeperBretBeatenText, 0, Bird_keeperBretScript
 
 Bird_keeperBretScript:
 	talkaftercancel
@@ -50,7 +50,7 @@
 	end
 
 TrainerHikerKenny:
-	trainer EVENT_BEAT_HIKER_KENNY, HIKER, KENNY, HikerKennySeenText, HikerKennyBeatenText, $0000, HikerKennyScript
+	trainer EVENT_BEAT_HIKER_KENNY, HIKER, KENNY, HikerKennySeenText, HikerKennyBeatenText, 0, HikerKennyScript
 
 HikerKennyScript:
 	talkaftercancel
@@ -204,8 +204,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_YOUNGSTER, 6, 42, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBird_keeperPerry, -1
-	person_event SPRITE_YOUNGSTER, 6, 43, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBird_keeperBret, -1
-	person_event SPRITE_POKEFAN_M, 8, 32, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmJoshua, -1
-	person_event SPRITE_POKEFAN_M, 10, 14, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerHikerKenny, -1
-	person_event SPRITE_POKEFAN_M, 6, 25, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerPokefanmAlex, -1
+	person_event SPRITE_YOUNGSTER, 6, 42, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBird_keeperPerry, -1
+	person_event SPRITE_YOUNGSTER, 6, 43, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBird_keeperBret, -1
+	person_event SPRITE_POKEFAN_M, 8, 32, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmJoshua, -1
+	person_event SPRITE_POKEFAN_M, 10, 14, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerHikerKenny, -1
+	person_event SPRITE_POKEFAN_M, 6, 25, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerPokefanmAlex, -1
--- a/maps/Route14.asm
+++ b/maps/Route14.asm
@@ -14,7 +14,7 @@
 	end
 
 TrainerPokefanmCarter:
-	trainer EVENT_BEAT_POKEFANM_CARTER, POKEFANM, CARTER, PokefanmCarterSeenText, PokefanmCarterBeatenText, $0000, PokefanmCarterScript
+	trainer EVENT_BEAT_POKEFANM_CARTER, POKEFANM, CARTER, PokefanmCarterSeenText, PokefanmCarterBeatenText, 0, PokefanmCarterScript
 
 PokefanmCarterScript:
 	talkaftercancel
@@ -25,7 +25,7 @@
 	end
 
 TrainerBird_keeperRoy:
-	trainer EVENT_BEAT_BIRD_KEEPER_ROY, BIRD_KEEPER, ROY, Bird_keeperRoySeenText, Bird_keeperRoyBeatenText, $0000, Bird_keeperRoyScript
+	trainer EVENT_BEAT_BIRD_KEEPER_ROY, BIRD_KEEPER, ROY, Bird_keeperRoySeenText, Bird_keeperRoyBeatenText, 0, Bird_keeperRoyScript
 
 Bird_keeperRoyScript:
 	talkaftercancel
@@ -36,7 +36,7 @@
 	end
 
 TrainerPokefanmTrevor:
-	trainer EVENT_BEAT_POKEFANM_TREVOR, POKEFANM, TREVOR, PokefanmTrevorSeenText, PokefanmTrevorBeatenText, $0000, PokefanmTrevorScript
+	trainer EVENT_BEAT_POKEFANM_TREVOR, POKEFANM, TREVOR, PokefanmTrevorSeenText, PokefanmTrevorBeatenText, 0, PokefanmTrevorScript
 
 PokefanmTrevorScript:
 	talkaftercancel
@@ -124,7 +124,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_POKEFAN_M, 15, 11, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmCarter, -1
-	person_event SPRITE_YOUNGSTER, 27, 11, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperRoy, -1
-	person_event SPRITE_POKEFAN_M, 11, 6, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmTrevor, -1
-	person_event SPRITE_TEACHER, 5, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 4, TeacherScript_0x1ad47f, -1
+	person_event SPRITE_POKEFAN_M, 15, 11, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmCarter, -1
+	person_event SPRITE_YOUNGSTER, 27, 11, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperRoy, -1
+	person_event SPRITE_POKEFAN_M, 11, 6, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmTrevor, -1
+	person_event SPRITE_TEACHER, 5, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 4, TeacherScript_0x1ad47f, -1
--- a/maps/Route15.asm
+++ b/maps/Route15.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerTeacherColette:
-	trainer EVENT_BEAT_TEACHER_COLETTE, TEACHER, COLETTE, TeacherColetteSeenText, TeacherColetteBeatenText, $0000, TeacherColetteScript
+	trainer EVENT_BEAT_TEACHER_COLETTE, TEACHER, COLETTE, TeacherColetteSeenText, TeacherColetteBeatenText, 0, TeacherColetteScript
 
 TeacherColetteScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerTeacherHillary:
-	trainer EVENT_BEAT_TEACHER_HILLARY, TEACHER, HILLARY, TeacherHillarySeenText, TeacherHillaryBeatenText, $0000, TeacherHillaryScript
+	trainer EVENT_BEAT_TEACHER_HILLARY, TEACHER, HILLARY, TeacherHillarySeenText, TeacherHillaryBeatenText, 0, TeacherHillaryScript
 
 TeacherHillaryScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerSchoolboyKipp:
-	trainer EVENT_BEAT_SCHOOLBOY_KIP, SCHOOLBOY, KIPP, SchoolboyKippSeenText, SchoolboyKippBeatenText, $0000, SchoolboyKippScript
+	trainer EVENT_BEAT_SCHOOLBOY_KIP, SCHOOLBOY, KIPP, SchoolboyKippSeenText, SchoolboyKippBeatenText, 0, SchoolboyKippScript
 
 SchoolboyKippScript:
 	talkaftercancel
@@ -39,7 +39,7 @@
 	end
 
 TrainerSchoolboyTommy:
-	trainer EVENT_BEAT_SCHOOLBOY_TOMMY, SCHOOLBOY, TOMMY, SchoolboyTommySeenText, SchoolboyTommyBeatenText, $0000, SchoolboyTommyScript
+	trainer EVENT_BEAT_SCHOOLBOY_TOMMY, SCHOOLBOY, TOMMY, SchoolboyTommySeenText, SchoolboyTommyBeatenText, 0, SchoolboyTommyScript
 
 SchoolboyTommyScript:
 	talkaftercancel
@@ -50,7 +50,7 @@
 	end
 
 TrainerSchoolboyJohnny:
-	trainer EVENT_BEAT_SCHOOLBOY_JOHNNY, SCHOOLBOY, JOHNNY, SchoolboyJohnnySeenText, SchoolboyJohnnyBeatenText, $0000, SchoolboyJohnnyScript
+	trainer EVENT_BEAT_SCHOOLBOY_JOHNNY, SCHOOLBOY, JOHNNY, SchoolboyJohnnySeenText, SchoolboyJohnnyBeatenText, 0, SchoolboyJohnnyScript
 
 SchoolboyJohnnyScript:
 	talkaftercancel
@@ -61,7 +61,7 @@
 	end
 
 TrainerSchoolboyBilly:
-	trainer EVENT_BEAT_SCHOOLBOY_BILLY, SCHOOLBOY, BILLY, SchoolboyBillySeenText, SchoolboyBillyBeatenText, $0000, SchoolboyBillyScript
+	trainer EVENT_BEAT_SCHOOLBOY_BILLY, SCHOOLBOY, BILLY, SchoolboyBillySeenText, SchoolboyBillyBeatenText, 0, SchoolboyBillyScript
 
 SchoolboyBillyScript:
 	talkaftercancel
@@ -210,10 +210,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_YOUNGSTER, 10, 10, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSchoolboyKipp, -1
-	person_event SPRITE_YOUNGSTER, 13, 15, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyTommy, -1
-	person_event SPRITE_YOUNGSTER, 10, 33, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyJohnny, -1
-	person_event SPRITE_YOUNGSTER, 10, 27, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyBilly, -1
-	person_event SPRITE_TEACHER, 12, 30, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerTeacherColette, -1
-	person_event SPRITE_TEACHER, 10, 20, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerTeacherHillary, -1
-	person_event SPRITE_POKE_BALL, 5, 12, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1aa5e4, EVENT_ROUTE_15_PP_UP
+	person_event SPRITE_YOUNGSTER, 10, 10, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSchoolboyKipp, -1
+	person_event SPRITE_YOUNGSTER, 13, 15, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyTommy, -1
+	person_event SPRITE_YOUNGSTER, 10, 33, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyJohnny, -1
+	person_event SPRITE_YOUNGSTER, 10, 27, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyBilly, -1
+	person_event SPRITE_TEACHER, 12, 30, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerTeacherColette, -1
+	person_event SPRITE_TEACHER, 10, 20, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerTeacherHillary, -1
+	person_event SPRITE_POKE_BALL, 5, 12, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1aa5e4, EVENT_ROUTE_15_PP_UP
--- a/maps/Route15FuchsiaGate.asm
+++ b/maps/Route15FuchsiaGate.asm
@@ -35,4 +35,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x19679e, -1
+	person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x19679e, -1
--- a/maps/Route16FuchsiaSpeechHouse.asm
+++ b/maps/Route16FuchsiaSpeechHouse.asm
@@ -38,4 +38,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_SUPER_NERD, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x73373, -1
+	person_event SPRITE_SUPER_NERD, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x73373, -1
--- a/maps/Route16Gate.asm
+++ b/maps/Route16Gate.asm
@@ -3,7 +3,7 @@
 	db 1
 
 	; triggers
-	dw UnknownScript_0x733e9, $0000
+	dw UnknownScript_0x733e9, 0
 
 .MapCallbacks:
 	db 0
@@ -80,4 +80,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x733ea, -1
+	person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x733ea, -1
--- a/maps/Route17.asm
+++ b/maps/Route17.asm
@@ -15,7 +15,7 @@
 	return
 
 TrainerBikerCharles:
-	trainer EVENT_BEAT_BIKER_CHARLES, BIKER, CHARLES, BikerCharlesSeenText, BikerCharlesBeatenText, $0000, BikerCharlesScript
+	trainer EVENT_BEAT_BIKER_CHARLES, BIKER, CHARLES, BikerCharlesSeenText, BikerCharlesBeatenText, 0, BikerCharlesScript
 
 BikerCharlesScript:
 	talkaftercancel
@@ -26,7 +26,7 @@
 	end
 
 TrainerBikerRiley:
-	trainer EVENT_BEAT_BIKER_RILEY, BIKER, RILEY, BikerRileySeenText, BikerRileyBeatenText, $0000, BikerRileyScript
+	trainer EVENT_BEAT_BIKER_RILEY, BIKER, RILEY, BikerRileySeenText, BikerRileyBeatenText, 0, BikerRileyScript
 
 BikerRileyScript:
 	talkaftercancel
@@ -37,7 +37,7 @@
 	end
 
 TrainerBikerJoel:
-	trainer EVENT_BEAT_BIKER_JOEL, BIKER, JOEL, BikerJoelSeenText, BikerJoelBeatenText, $0000, BikerJoelScript
+	trainer EVENT_BEAT_BIKER_JOEL, BIKER, JOEL, BikerJoelSeenText, BikerJoelBeatenText, 0, BikerJoelScript
 
 BikerJoelScript:
 	talkaftercancel
@@ -48,7 +48,7 @@
 	end
 
 TrainerBikerGlenn:
-	trainer EVENT_BEAT_BIKER_GLENN, BIKER, GLENN, BikerGlennSeenText, BikerGlennBeatenText, $0000, BikerGlennScript
+	trainer EVENT_BEAT_BIKER_GLENN, BIKER, GLENN, BikerGlennSeenText, BikerGlennBeatenText, 0, BikerGlennScript
 
 BikerGlennScript:
 	talkaftercancel
@@ -150,7 +150,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_BIKER, 17, 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerBikerRiley, -1
-	person_event SPRITE_BIKER, 68, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerBikerJoel, -1
-	person_event SPRITE_BIKER, 53, 3, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBikerGlenn, -1
-	person_event SPRITE_BIKER, 80, 6, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerBikerCharles, -1
+	person_event SPRITE_BIKER, 17, 4, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerBikerRiley, -1
+	person_event SPRITE_BIKER, 68, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerBikerJoel, -1
+	person_event SPRITE_BIKER, 53, 3, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBikerGlenn, -1
+	person_event SPRITE_BIKER, 80, 6, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerBikerCharles, -1
--- a/maps/Route1718Gate.asm
+++ b/maps/Route1718Gate.asm
@@ -3,7 +3,7 @@
 	db 1
 
 	; triggers
-	dw UnknownScript_0x7360d, $0000
+	dw UnknownScript_0x7360d, 0
 
 .MapCallbacks:
 	db 0
@@ -71,4 +71,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x7360e, -1
+	person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x7360e, -1
--- a/maps/Route18.asm
+++ b/maps/Route18.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerBird_keeperBoris:
-	trainer EVENT_BEAT_BIRD_KEEPER_BORIS, BIRD_KEEPER, BORIS, Bird_keeperBorisSeenText, Bird_keeperBorisBeatenText, $0000, Bird_keeperBorisScript
+	trainer EVENT_BEAT_BIRD_KEEPER_BORIS, BIRD_KEEPER, BORIS, Bird_keeperBorisSeenText, Bird_keeperBorisBeatenText, 0, Bird_keeperBorisScript
 
 Bird_keeperBorisScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerBird_keeperBob:
-	trainer EVENT_BEAT_BIRD_KEEPER_BOB, BIRD_KEEPER, BOB, Bird_keeperBobSeenText, Bird_keeperBobBeatenText, $0000, Bird_keeperBobScript
+	trainer EVENT_BEAT_BIRD_KEEPER_BOB, BIRD_KEEPER, BOB, Bird_keeperBobSeenText, Bird_keeperBobBeatenText, 0, Bird_keeperBobScript
 
 Bird_keeperBobScript:
 	talkaftercancel
@@ -91,5 +91,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_YOUNGSTER, 12, 9, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperBoris, -1
-	person_event SPRITE_YOUNGSTER, 6, 13, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperBob, -1
+	person_event SPRITE_YOUNGSTER, 12, 9, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperBoris, -1
+	person_event SPRITE_YOUNGSTER, 6, 13, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperBob, -1
--- a/maps/Route19.asm
+++ b/maps/Route19.asm
@@ -22,7 +22,7 @@
 	return
 
 TrainerSwimmerfDawn:
-	trainer EVENT_BEAT_SWIMMERF_DAWN, SWIMMERF, DAWN, SwimmerfDawnSeenText, SwimmerfDawnBeatenText, $0000, SwimmerfDawnScript
+	trainer EVENT_BEAT_SWIMMERF_DAWN, SWIMMERF, DAWN, SwimmerfDawnSeenText, SwimmerfDawnBeatenText, 0, SwimmerfDawnScript
 
 SwimmerfDawnScript:
 	talkaftercancel
@@ -33,7 +33,7 @@
 	end
 
 TrainerSwimmermHarold:
-	trainer EVENT_BEAT_SWIMMERM_HAROLD, SWIMMERM, HAROLD, SwimmermHaroldSeenText, SwimmermHaroldBeatenText, $0000, SwimmermHaroldScript
+	trainer EVENT_BEAT_SWIMMERM_HAROLD, SWIMMERM, HAROLD, SwimmermHaroldSeenText, SwimmermHaroldBeatenText, 0, SwimmermHaroldScript
 
 SwimmermHaroldScript:
 	talkaftercancel
@@ -44,7 +44,7 @@
 	end
 
 TrainerSwimmermJerome:
-	trainer EVENT_BEAT_SWIMMERM_JEROME, SWIMMERM, JEROME, SwimmermJeromeSeenText, SwimmermJeromeBeatenText, $0000, SwimmermJeromeScript
+	trainer EVENT_BEAT_SWIMMERM_JEROME, SWIMMERM, JEROME, SwimmermJeromeSeenText, SwimmermJeromeBeatenText, 0, SwimmermJeromeScript
 
 SwimmermJeromeScript:
 	talkaftercancel
@@ -55,7 +55,7 @@
 	end
 
 TrainerSwimmermTucker:
-	trainer EVENT_BEAT_SWIMMERM_TUCKER, SWIMMERM, TUCKER, SwimmermTuckerSeenText, SwimmermTuckerBeatenText, $0000, SwimmermTuckerScript
+	trainer EVENT_BEAT_SWIMMERM_TUCKER, SWIMMERM, TUCKER, SwimmermTuckerSeenText, SwimmermTuckerBeatenText, 0, SwimmermTuckerScript
 
 SwimmermTuckerScript:
 	talkaftercancel
@@ -247,9 +247,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_SWIMMER_GIRL, 23, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerSwimmerfDawn, -1
-	person_event SPRITE_SWIMMER_GUY, 28, 13, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermHarold, -1
-	person_event SPRITE_SWIMMER_GUY, 17, 11, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermJerome, -1
-	person_event SPRITE_SWIMMER_GUY, 23, 8, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerSwimmermTucker, -1
-	person_event SPRITE_FISHER, 5, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 1, FisherScript_0x19ea4d, -1
-	person_event SPRITE_FISHER, 5, 11, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 1, FisherScript_0x19ea61, -1
+	person_event SPRITE_SWIMMER_GIRL, 23, 9, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerSwimmerfDawn, -1
+	person_event SPRITE_SWIMMER_GUY, 28, 13, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermHarold, -1
+	person_event SPRITE_SWIMMER_GUY, 17, 11, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermJerome, -1
+	person_event SPRITE_SWIMMER_GUY, 23, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerSwimmermTucker, -1
+	person_event SPRITE_FISHER, 5, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 1, FisherScript_0x19ea4d, -1
+	person_event SPRITE_FISHER, 5, 11, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 1, FisherScript_0x19ea61, -1
--- a/maps/Route19FuchsiaGate.asm
+++ b/maps/Route19FuchsiaGate.asm
@@ -61,4 +61,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x1ab3f6, -1
+	person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x1ab3f6, -1
--- a/maps/Route2.asm
+++ b/maps/Route2.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerBug_catcherRob:
-	trainer EVENT_BEAT_BUG_CATCHER_ROB, BUG_CATCHER, ROB, Bug_catcherRobSeenText, Bug_catcherRobBeatenText, $0000, Bug_catcherRobScript
+	trainer EVENT_BEAT_BUG_CATCHER_ROB, BUG_CATCHER, ROB, Bug_catcherRobSeenText, Bug_catcherRobBeatenText, 0, Bug_catcherRobScript
 
 Bug_catcherRobScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerBug_catcherEd:
-	trainer EVENT_BEAT_BUG_CATCHER_ED, BUG_CATCHER, ED, Bug_catcherEdSeenText, Bug_catcherEdBeatenText, $0000, Bug_catcherEdScript
+	trainer EVENT_BEAT_BUG_CATCHER_ED, BUG_CATCHER, ED, Bug_catcherEdSeenText, Bug_catcherEdBeatenText, 0, Bug_catcherEdScript
 
 Bug_catcherEdScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerBug_catcherDoug:
-	trainer EVENT_BEAT_BUG_CATCHER_DOUG, BUG_CATCHER, DOUG, Bug_catcherDougSeenText, Bug_catcherDougBeatenText, $0000, Bug_catcherDougScript
+	trainer EVENT_BEAT_BUG_CATCHER_DOUG, BUG_CATCHER, DOUG, Bug_catcherDougSeenText, Bug_catcherDougBeatenText, 0, Bug_catcherDougScript
 
 Bug_catcherDougScript:
 	talkaftercancel
@@ -162,11 +162,11 @@
 
 .PersonEvents:
 	db 8
-	person_event SPRITE_BUG_CATCHER, 45, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 5, TrainerBug_catcherRob, -1
-	person_event SPRITE_BUG_CATCHER, 4, 6, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherEd, -1
-	person_event SPRITE_BUG_CATCHER, 40, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherDoug, -1
-	person_event SPRITE_POKE_BALL, 29, 0, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac2fe, EVENT_ROUTE_2_DIRE_HIT
-	person_event SPRITE_POKE_BALL, 23, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac300, EVENT_ROUTE_2_MAX_POTION
-	person_event SPRITE_POKE_BALL, 2, 19, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac302, EVENT_ROUTE_2_CARBOS
-	person_event SPRITE_POKE_BALL, 50, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac304, EVENT_ROUTE_2_ELIXER
-	person_event SPRITE_FRUIT_TREE, 14, 10, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1ac306, -1
+	person_event SPRITE_BUG_CATCHER, 45, 10, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 5, TrainerBug_catcherRob, -1
+	person_event SPRITE_BUG_CATCHER, 4, 6, SPRITEMOVEDATA_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherEd, -1
+	person_event SPRITE_BUG_CATCHER, 40, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherDoug, -1
+	person_event SPRITE_POKE_BALL, 29, 0, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac2fe, EVENT_ROUTE_2_DIRE_HIT
+	person_event SPRITE_POKE_BALL, 23, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac300, EVENT_ROUTE_2_MAX_POTION
+	person_event SPRITE_POKE_BALL, 2, 19, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac302, EVENT_ROUTE_2_CARBOS
+	person_event SPRITE_POKE_BALL, 50, 14, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac304, EVENT_ROUTE_2_ELIXER
+	person_event SPRITE_FRUIT_TREE, 14, 10, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1ac306, -1
--- a/maps/Route20.asm
+++ b/maps/Route20.asm
@@ -14,7 +14,7 @@
 	return
 
 TrainerSwimmerfNicole:
-	trainer EVENT_BEAT_SWIMMERF_NICOLE, SWIMMERF, NICOLE, SwimmerfNicoleSeenText, SwimmerfNicoleBeatenText, $0000, SwimmerfNicoleScript
+	trainer EVENT_BEAT_SWIMMERF_NICOLE, SWIMMERF, NICOLE, SwimmerfNicoleSeenText, SwimmerfNicoleBeatenText, 0, SwimmerfNicoleScript
 
 SwimmerfNicoleScript:
 	talkaftercancel
@@ -25,7 +25,7 @@
 	end
 
 TrainerSwimmerfLori:
-	trainer EVENT_BEAT_SWIMMERF_LORI, SWIMMERF, LORI, SwimmerfLoriSeenText, SwimmerfLoriBeatenText, $0000, SwimmerfLoriScript
+	trainer EVENT_BEAT_SWIMMERF_LORI, SWIMMERF, LORI, SwimmerfLoriSeenText, SwimmerfLoriBeatenText, 0, SwimmerfLoriScript
 
 SwimmerfLoriScript:
 	talkaftercancel
@@ -36,7 +36,7 @@
 	end
 
 TrainerSwimmermCameron:
-	trainer EVENT_BEAT_SWIMMERM_CAMERON, SWIMMERM, CAMERON, SwimmermCameronSeenText, SwimmermCameronBeatenText, $0000, SwimmermCameronScript
+	trainer EVENT_BEAT_SWIMMERM_CAMERON, SWIMMERM, CAMERON, SwimmermCameronSeenText, SwimmermCameronBeatenText, 0, SwimmermCameronScript
 
 SwimmermCameronScript:
 	talkaftercancel
@@ -127,6 +127,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_SWIMMER_GIRL, 8, 52, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfNicole, -1
-	person_event SPRITE_SWIMMER_GIRL, 13, 45, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfLori, -1
-	person_event SPRITE_SWIMMER_GUY, 13, 12, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermCameron, -1
+	person_event SPRITE_SWIMMER_GIRL, 8, 52, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfNicole, -1
+	person_event SPRITE_SWIMMER_GIRL, 13, 45, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfLori, -1
+	person_event SPRITE_SWIMMER_GUY, 13, 12, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermCameron, -1
--- a/maps/Route21.asm
+++ b/maps/Route21.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerSwimmermSeth:
-	trainer EVENT_BEAT_SWIMMERM_SETH, SWIMMERM, SETH, SwimmermSethSeenText, SwimmermSethBeatenText, $0000, SwimmermSethScript
+	trainer EVENT_BEAT_SWIMMERM_SETH, SWIMMERM, SETH, SwimmermSethSeenText, SwimmermSethBeatenText, 0, SwimmermSethScript
 
 SwimmermSethScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerSwimmerfNikki:
-	trainer EVENT_BEAT_SWIMMERF_NIKKI, SWIMMERF, NIKKI, SwimmerfNikkiSeenText, SwimmerfNikkiBeatenText, $0000, SwimmerfNikkiScript
+	trainer EVENT_BEAT_SWIMMERF_NIKKI, SWIMMERF, NIKKI, SwimmerfNikkiSeenText, SwimmerfNikkiBeatenText, 0, SwimmerfNikkiScript
 
 SwimmerfNikkiScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerFisherArnold:
-	trainer EVENT_BEAT_FISHER_ARNOLD, FISHER, ARNOLD, FisherArnoldSeenText, FisherArnoldBeatenText, $0000, FisherArnoldScript
+	trainer EVENT_BEAT_FISHER_ARNOLD, FISHER, ARNOLD, FisherArnoldSeenText, FisherArnoldBeatenText, 0, FisherArnoldScript
 
 FisherArnoldScript:
 	talkaftercancel
@@ -99,6 +99,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_SWIMMER_GIRL, 16, 11, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfNikki, -1
-	person_event SPRITE_SWIMMER_GUY, 30, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerSwimmermSeth, -1
-	person_event SPRITE_FISHER, 22, 14, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherArnold, -1
+	person_event SPRITE_SWIMMER_GIRL, 16, 11, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfNikki, -1
+	person_event SPRITE_SWIMMER_GUY, 30, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerSwimmermSeth, -1
+	person_event SPRITE_FISHER, 22, 14, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherArnold, -1
--- a/maps/Route24.asm
+++ b/maps/Route24.asm
@@ -130,4 +130,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_ROCKET, 7, 8, $3, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x1adbfa, EVENT_ROUTE_24_ROCKET
+	person_event SPRITE_ROCKET, 7, 8, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x1adbfa, EVENT_ROUTE_24_ROCKET
--- a/maps/Route25.asm
+++ b/maps/Route25.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x19ee9e, $0000
-	dw UnknownScript_0x19ee9f, $0000
+	dw UnknownScript_0x19ee9e, 0
+	dw UnknownScript_0x19ee9f, 0
 
 .MapCallbacks:
 	db 0
@@ -16,7 +16,7 @@
 	end
 
 UnknownScript_0x19eea0:
-	showemote $4, $2, 15
+	showemote EMOTE_HEART, $2, 15
 	pause 30
 	showemote EMOTE_SHOCK, $3, 10
 	spriteface $2, DOWN
@@ -42,7 +42,7 @@
 	end
 
 UnknownScript_0x19eee0:
-	showemote $4, $2, 15
+	showemote EMOTE_HEART, $2, 15
 	pause 30
 	showemote EMOTE_SHOCK, $3, 10
 	spriteface $2, DOWN
@@ -68,7 +68,7 @@
 	end
 
 TrainerSchoolboyDudley:
-	trainer EVENT_BEAT_SCHOOLBOY_DUDLEY, SCHOOLBOY, DUDLEY, SchoolboyDudleySeenText, SchoolboyDudleyBeatenText, $0000, SchoolboyDudleyScript
+	trainer EVENT_BEAT_SCHOOLBOY_DUDLEY, SCHOOLBOY, DUDLEY, SchoolboyDudleySeenText, SchoolboyDudleyBeatenText, 0, SchoolboyDudleyScript
 
 SchoolboyDudleyScript:
 	talkaftercancel
@@ -79,7 +79,7 @@
 	end
 
 TrainerLassEllen:
-	trainer EVENT_BEAT_LASS_ELLEN, LASS, ELLEN, LassEllenSeenText, LassEllenBeatenText, $0000, LassEllenScript
+	trainer EVENT_BEAT_LASS_ELLEN, LASS, ELLEN, LassEllenSeenText, LassEllenBeatenText, 0, LassEllenScript
 
 LassEllenScript:
 	talkaftercancel
@@ -90,7 +90,7 @@
 	end
 
 TrainerSchoolboyJoe:
-	trainer EVENT_BEAT_SCHOOLBOY_JOE, SCHOOLBOY, JOE, SchoolboyJoeSeenText, SchoolboyJoeBeatenText, $0000, SchoolboyJoeScript
+	trainer EVENT_BEAT_SCHOOLBOY_JOE, SCHOOLBOY, JOE, SchoolboyJoeSeenText, SchoolboyJoeBeatenText, 0, SchoolboyJoeScript
 
 SchoolboyJoeScript:
 	talkaftercancel
@@ -101,7 +101,7 @@
 	end
 
 TrainerLassLaura:
-	trainer EVENT_BEAT_LASS_LAURA, LASS, LAURA, LassLauraSeenText, LassLauraBeatenText, $0000, LassLauraScript
+	trainer EVENT_BEAT_LASS_LAURA, LASS, LAURA, LassLauraSeenText, LassLauraBeatenText, 0, LassLauraScript
 
 LassLauraScript:
 	talkaftercancel
@@ -112,7 +112,7 @@
 	end
 
 TrainerCamperLloyd:
-	trainer EVENT_BEAT_CAMPER_LLOYD, CAMPER, LLOYD, CamperLloydSeenText, CamperLloydBeatenText, $0000, CamperLloydScript
+	trainer EVENT_BEAT_CAMPER_LLOYD, CAMPER, LLOYD, CamperLloydSeenText, CamperLloydBeatenText, 0, CamperLloydScript
 
 CamperLloydScript:
 	talkaftercancel
@@ -123,7 +123,7 @@
 	end
 
 TrainerLassShannon:
-	trainer EVENT_BEAT_LASS_SHANNON, LASS, SHANNON, LassShannonSeenText, LassShannonBeatenText, $0000, LassShannonScript
+	trainer EVENT_BEAT_LASS_SHANNON, LASS, SHANNON, LassShannonSeenText, LassShannonBeatenText, 0, LassShannonScript
 
 LassShannonScript:
 	talkaftercancel
@@ -134,7 +134,7 @@
 	end
 
 TrainerSupernerdPat:
-	trainer EVENT_BEAT_SUPER_NERD_PAT, SUPER_NERD, PAT, SupernerdPatSeenText, SupernerdPatBeatenText, $0000, SupernerdPatScript
+	trainer EVENT_BEAT_SUPER_NERD_PAT, SUPER_NERD, PAT, SupernerdPatSeenText, SupernerdPatBeatenText, 0, SupernerdPatScript
 
 SupernerdPatScript:
 	talkaftercancel
@@ -160,7 +160,7 @@
 	writetext UnknownText_0x19f49d
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x19f4fd, $0000
+	winlosstext UnknownText_0x19f4fd, 0
 	loadtrainer COOLTRAINERM, KEVIN
 	startbattle
 	returnafterbattle
@@ -439,14 +439,14 @@
 
 .PersonEvents:
 	db 11
-	person_event SPRITE_MISTY, 9, 46, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_ROUTE_25_MISTY_BOYFRIEND
-	person_event SPRITE_COOLTRAINER_M, 10, 46, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, EVENT_ROUTE_25_MISTY_BOYFRIEND
-	person_event SPRITE_YOUNGSTER, 8, 12, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyDudley, -1
-	person_event SPRITE_LASS, 11, 16, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerLassEllen, -1
-	person_event SPRITE_YOUNGSTER, 8, 21, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyJoe, -1
-	person_event SPRITE_LASS, 6, 22, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerLassLaura, -1
-	person_event SPRITE_YOUNGSTER, 4, 25, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerCamperLloyd, -1
-	person_event SPRITE_LASS, 11, 28, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerLassShannon, -1
-	person_event SPRITE_SUPER_NERD, 7, 31, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerSupernerdPat, -1
-	person_event SPRITE_COOLTRAINER_M, 8, 37, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x19efac, -1
-	person_event SPRITE_POKE_BALL, 4, 32, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19efe3, EVENT_ROUTE_25_PROTEIN
+	person_event SPRITE_MISTY, 9, 46, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_ROUTE_25_MISTY_BOYFRIEND
+	person_event SPRITE_COOLTRAINER_M, 10, 46, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, EVENT_ROUTE_25_MISTY_BOYFRIEND
+	person_event SPRITE_YOUNGSTER, 8, 12, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyDudley, -1
+	person_event SPRITE_LASS, 11, 16, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerLassEllen, -1
+	person_event SPRITE_YOUNGSTER, 8, 21, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyJoe, -1
+	person_event SPRITE_LASS, 6, 22, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerLassLaura, -1
+	person_event SPRITE_YOUNGSTER, 4, 25, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerCamperLloyd, -1
+	person_event SPRITE_LASS, 11, 28, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerLassShannon, -1
+	person_event SPRITE_SUPER_NERD, 7, 31, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerSupernerdPat, -1
+	person_event SPRITE_COOLTRAINER_M, 8, 37, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x19efac, -1
+	person_event SPRITE_POKE_BALL, 4, 32, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19efe3, EVENT_ROUTE_25_PROTEIN
--- a/maps/Route26.asm
+++ b/maps/Route26.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerCooltrainermJake:
-	trainer EVENT_BEAT_COOLTRAINERM_JAKE, COOLTRAINERM, JAKE, CooltrainermJakeSeenText, CooltrainermJakeBeatenText, $0000, CooltrainermJakeScript
+	trainer EVENT_BEAT_COOLTRAINERM_JAKE, COOLTRAINERM, JAKE, CooltrainermJakeSeenText, CooltrainermJakeBeatenText, 0, CooltrainermJakeScript
 
 CooltrainermJakeScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerCooltrainermGaven3:
-	trainer EVENT_BEAT_COOLTRAINERM_GAVEN, COOLTRAINERM, GAVEN3, CooltrainermGaven3SeenText, CooltrainermGaven3BeatenText, $0000, CooltrainermGaven3Script
+	trainer EVENT_BEAT_COOLTRAINERM_GAVEN, COOLTRAINERM, GAVEN3, CooltrainermGaven3SeenText, CooltrainermGaven3BeatenText, 0, CooltrainermGaven3Script
 
 CooltrainermGaven3Script:
 	writecode VAR_CALLERID, PHONE_COOLTRAINERM_GAVEN
@@ -47,7 +47,7 @@
 
 UnknownScript_0x1a4d79:
 	scall UnknownScript_0x1a4dd7
-	winlosstext CooltrainermGaven3BeatenText, $0000
+	winlosstext CooltrainermGaven3BeatenText, 0
 	copybytetovar wGavenFightCount
 	if_equal 2, .Fight2
 	if_equal 1, .Fight1
@@ -110,7 +110,7 @@
 	end
 
 TrainerCooltrainerfJoyce:
-	trainer EVENT_BEAT_COOLTRAINERF_JOYCE, COOLTRAINERF, JOYCE, CooltrainerfJoyceSeenText, CooltrainerfJoyceBeatenText, $0000, CooltrainerfJoyceScript
+	trainer EVENT_BEAT_COOLTRAINERF_JOYCE, COOLTRAINERF, JOYCE, CooltrainerfJoyceSeenText, CooltrainerfJoyceBeatenText, 0, CooltrainerfJoyceScript
 
 CooltrainerfJoyceScript:
 	talkaftercancel
@@ -121,7 +121,7 @@
 	end
 
 TrainerCooltrainerfBeth1:
-	trainer EVENT_BEAT_COOLTRAINERF_BETH, COOLTRAINERF, BETH1, CooltrainerfBeth1SeenText, CooltrainerfBeth1BeatenText, $0000, CooltrainerfBeth1Script
+	trainer EVENT_BEAT_COOLTRAINERF_BETH, COOLTRAINERF, BETH1, CooltrainerfBeth1SeenText, CooltrainerfBeth1BeatenText, 0, CooltrainerfBeth1Script
 
 CooltrainerfBeth1Script:
 	writecode VAR_CALLERID, PHONE_COOLTRAINERF_BETH
@@ -151,7 +151,7 @@
 
 UnknownScript_0x1a4e35:
 	scall UnknownScript_0x1a4e93
-	winlosstext CooltrainerfBeth1BeatenText, $0000
+	winlosstext CooltrainerfBeth1BeatenText, 0
 	copybytetovar wBethFightCount
 	if_equal 2, .Fight2
 	if_equal 1, .Fight1
@@ -214,7 +214,7 @@
 	end
 
 TrainerPsychicRichard:
-	trainer EVENT_BEAT_PSYCHIC_RICHARD, PSYCHIC_T, RICHARD, PsychicRichardSeenText, PsychicRichardBeatenText, $0000, PsychicRichardScript
+	trainer EVENT_BEAT_PSYCHIC_RICHARD, PSYCHIC_T, RICHARD, PsychicRichardSeenText, PsychicRichardBeatenText, 0, PsychicRichardScript
 
 PsychicRichardScript:
 	talkaftercancel
@@ -225,7 +225,7 @@
 	end
 
 TrainerFisherScott:
-	trainer EVENT_BEAT_FISHER_SCOTT, FISHER, SCOTT, FisherScottSeenText, FisherScottBeatenText, $0000, FisherScottScript
+	trainer EVENT_BEAT_FISHER_SCOTT, FISHER, SCOTT, FisherScottSeenText, FisherScottBeatenText, 0, FisherScottScript
 
 FisherScottScript:
 	talkaftercancel
@@ -421,11 +421,11 @@
 
 .PersonEvents:
 	db 8
-	person_event SPRITE_COOLTRAINER_M, 24, 14, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainermJake, -1
-	person_event SPRITE_COOLTRAINER_M, 38, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermGaven3, -1
-	person_event SPRITE_COOLTRAINER_F, 56, 10, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfJoyce, -1
-	person_event SPRITE_COOLTRAINER_F, 8, 5, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainerfBeth1, -1
-	person_event SPRITE_YOUNGSTER, 79, 13, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPsychicRichard, -1
-	person_event SPRITE_FISHER, 92, 10, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherScott, -1
-	person_event SPRITE_FRUIT_TREE, 54, 14, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a4ec2, -1
-	person_event SPRITE_POKE_BALL, 15, 9, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a4ec4, EVENT_ROUTE_26_MAX_ELIXER
+	person_event SPRITE_COOLTRAINER_M, 24, 14, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainermJake, -1
+	person_event SPRITE_COOLTRAINER_M, 38, 9, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermGaven3, -1
+	person_event SPRITE_COOLTRAINER_F, 56, 10, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfJoyce, -1
+	person_event SPRITE_COOLTRAINER_F, 8, 5, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainerfBeth1, -1
+	person_event SPRITE_YOUNGSTER, 79, 13, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPsychicRichard, -1
+	person_event SPRITE_FISHER, 92, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherScott, -1
+	person_event SPRITE_FRUIT_TREE, 54, 14, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a4ec2, -1
+	person_event SPRITE_POKE_BALL, 15, 9, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a4ec4, EVENT_ROUTE_26_MAX_ELIXER
--- a/maps/Route26DayofWeekSiblingsHouse.asm
+++ b/maps/Route26DayofWeekSiblingsHouse.asm
@@ -84,4 +84,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_POKEDEX, 3, 3, $1, 0, 0, -1, -1, 0, 0, 0, PokedexScript_0x7b1e4, -1
+	person_event SPRITE_POKEDEX, 3, 3, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, PokedexScript_0x7b1e4, -1
--- a/maps/Route26HealSpeechHouse.asm
+++ b/maps/Route26HealSpeechHouse.asm
@@ -64,4 +64,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_TEACHER, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7b125, -1
+	person_event SPRITE_TEACHER, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7b125, -1
--- a/maps/Route27.asm
+++ b/maps/Route27.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x1a0871, $0000
-	dw UnknownScript_0x1a0872, $0000
+	dw UnknownScript_0x1a0871, 0
+	dw UnknownScript_0x1a0872, 0
 
 .MapCallbacks:
 	db 0
@@ -40,7 +40,7 @@
 	jumptextfaceplayer UnknownText_0x1a0a71
 
 TrainerPsychicGilbert:
-	trainer EVENT_BEAT_PSYCHIC_GILBERT, PSYCHIC_T, GILBERT, PsychicGilbertSeenText, PsychicGilbertBeatenText, $0000, PsychicGilbertScript
+	trainer EVENT_BEAT_PSYCHIC_GILBERT, PSYCHIC_T, GILBERT, PsychicGilbertSeenText, PsychicGilbertBeatenText, 0, PsychicGilbertScript
 
 PsychicGilbertScript:
 	talkaftercancel
@@ -51,7 +51,7 @@
 	end
 
 TrainerBird_keeperJose2:
-	trainer EVENT_BEAT_BIRD_KEEPER_JOSE2, BIRD_KEEPER, JOSE2, Bird_keeperJose2SeenText, Bird_keeperJose2BeatenText, $0000, Bird_keeperJose2Script
+	trainer EVENT_BEAT_BIRD_KEEPER_JOSE2, BIRD_KEEPER, JOSE2, Bird_keeperJose2SeenText, Bird_keeperJose2BeatenText, 0, Bird_keeperJose2Script
 
 Bird_keeperJose2Script:
 	writecode VAR_CALLERID, PHONE_BIRDKEEPER_JOSE
@@ -83,7 +83,7 @@
 
 UnknownScript_0x1a08ff:
 	scall UnknownScript_0x1a096f
-	winlosstext Bird_keeperJose2BeatenText, $0000
+	winlosstext Bird_keeperJose2BeatenText, 0
 	copybytetovar wJoseFightCount
 	if_equal 2, .Fight2
 	if_equal 1, .Fight1
@@ -164,7 +164,7 @@
 	end
 
 TrainerCooltrainermBlake:
-	trainer EVENT_BEAT_COOLTRAINERM_BLAKE, COOLTRAINERM, BLAKE, CooltrainermBlakeSeenText, CooltrainermBlakeBeatenText, $0000, CooltrainermBlakeScript
+	trainer EVENT_BEAT_COOLTRAINERM_BLAKE, COOLTRAINERM, BLAKE, CooltrainermBlakeSeenText, CooltrainermBlakeBeatenText, 0, CooltrainermBlakeScript
 
 CooltrainermBlakeScript:
 	talkaftercancel
@@ -175,7 +175,7 @@
 	end
 
 TrainerCooltrainermBrian:
-	trainer EVENT_BEAT_COOLTRAINERM_BRIAN, COOLTRAINERM, BRIAN, CooltrainermBrianSeenText, CooltrainermBrianBeatenText, $0000, CooltrainermBrianScript
+	trainer EVENT_BEAT_COOLTRAINERM_BRIAN, COOLTRAINERM, BRIAN, CooltrainermBrianSeenText, CooltrainermBrianBeatenText, 0, CooltrainermBrianScript
 
 CooltrainermBrianScript:
 	talkaftercancel
@@ -186,7 +186,7 @@
 	end
 
 TrainerCooltrainerfReena:
-	trainer EVENT_BEAT_COOLTRAINERF_REENA, COOLTRAINERF, REENA1, CooltrainerfReena1SeenText, CooltrainerfReena1BeatenText, $0000, CooltrainerfReena1Script
+	trainer EVENT_BEAT_COOLTRAINERF_REENA, COOLTRAINERF, REENA1, CooltrainerfReena1SeenText, CooltrainerfReena1BeatenText, 0, CooltrainerfReena1Script
 
 CooltrainerfReena1Script:
 	writecode VAR_CALLERID, PHONE_COOLTRAINERF_REENA
@@ -216,7 +216,7 @@
 
 UnknownScript_0x1a09e9:
 	scall UnknownScript_0x1a0a47
-	winlosstext CooltrainerfReena1BeatenText, $0000
+	winlosstext CooltrainerfReena1BeatenText, 0
 	copybytetovar wReenaFightCount
 	if_equal 2, .Fight2
 	if_equal 1, .Fight1
@@ -279,7 +279,7 @@
 	end
 
 TrainerCooltrainerfMegan:
-	trainer EVENT_BEAT_COOLTRAINERF_MEGAN, COOLTRAINERF, MEGAN, CooltrainerfMeganSeenText, CooltrainerfMeganBeatenText, $0000, CooltrainerfMeganScript
+	trainer EVENT_BEAT_COOLTRAINERF_MEGAN, COOLTRAINERF, MEGAN, CooltrainerfMeganSeenText, CooltrainerfMeganBeatenText, 0, CooltrainerfMeganScript
 
 CooltrainerfMeganScript:
 	talkaftercancel
@@ -479,12 +479,12 @@
 
 .PersonEvents:
 	db 9
-	person_event SPRITE_COOLTRAINER_M, 7, 48, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermBlake, -1
-	person_event SPRITE_COOLTRAINER_M, 6, 58, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainermBrian, -1
-	person_event SPRITE_COOLTRAINER_F, 10, 72, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainerfReena, -1
-	person_event SPRITE_COOLTRAINER_F, 6, 37, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainerfMegan, -1
-	person_event SPRITE_YOUNGSTER, 7, 65, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicGilbert, -1
-	person_event SPRITE_YOUNGSTER, 13, 58, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperJose2, -1
-	person_event SPRITE_POKE_BALL, 12, 60, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a0a62, EVENT_ROUTE_27_TM_SOLARBEAM
-	person_event SPRITE_POKE_BALL, 12, 53, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a0a64, EVENT_ROUTE_27_RARE_CANDY
-	person_event SPRITE_FISHER, 10, 21, $3, 0, 0, -1, -1, 0, 0, 3, FisherScript_0x1a089c, -1
+	person_event SPRITE_COOLTRAINER_M, 7, 48, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermBlake, -1
+	person_event SPRITE_COOLTRAINER_M, 6, 58, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainermBrian, -1
+	person_event SPRITE_COOLTRAINER_F, 10, 72, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainerfReena, -1
+	person_event SPRITE_COOLTRAINER_F, 6, 37, SPRITEMOVEDATA_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainerfMegan, -1
+	person_event SPRITE_YOUNGSTER, 7, 65, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicGilbert, -1
+	person_event SPRITE_YOUNGSTER, 13, 58, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperJose2, -1
+	person_event SPRITE_POKE_BALL, 12, 60, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a0a62, EVENT_ROUTE_27_TM_SOLARBEAM
+	person_event SPRITE_POKE_BALL, 12, 53, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a0a64, EVENT_ROUTE_27_RARE_CANDY
+	person_event SPRITE_FISHER, 10, 21, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 3, FisherScript_0x1a089c, -1
--- a/maps/Route27SandstormHouse.asm
+++ b/maps/Route27SandstormHouse.asm
@@ -109,4 +109,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_GRANNY, 4, 2, $6, 0, 0, -1, -1, 0, 0, 0, SandstormHouseWoman, -1
+	person_event SPRITE_GRANNY, 4, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, SandstormHouseWoman, -1
--- a/maps/Route28FamousSpeechHouse.asm
+++ b/maps/Route28FamousSpeechHouse.asm
@@ -3,7 +3,7 @@
 	db 1
 
 	; triggers
-	dw .Trigger, $0000
+	dw .Trigger, 0
 
 .MapCallbacks:
 	db 0
@@ -87,5 +87,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_COOLTRAINER_F, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, Celebrity, -1
-	person_event SPRITE_MOLTRES, 5, 6, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CelebritysFearow, -1
+	person_event SPRITE_COOLTRAINER_F, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, Celebrity, -1
+	person_event SPRITE_MOLTRES, 5, 6, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CelebritysFearow, -1
--- a/maps/Route29.asm
+++ b/maps/Route29.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x1a0f59, $0000
-	dw UnknownScript_0x1a0f5a, $0000
+	dw UnknownScript_0x1a0f59, 0
+	dw UnknownScript_0x1a0f5a, 0
 
 .MapCallbacks:
 	db 1
@@ -430,11 +430,11 @@
 
 .PersonEvents:
 	db 8
-	person_event SPRITE_COOLTRAINER_M, 12, 50, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x1a0ff1, -1
-	person_event SPRITE_YOUNGSTER, 16, 27, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a1028, -1
-	person_event SPRITE_TEACHER, 11, 15, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a102b, -1
-	person_event SPRITE_FRUIT_TREE, 2, 12, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a1089, -1
-	person_event SPRITE_FISHER, 3, 25, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x1a102e, -1
-	person_event SPRITE_COOLTRAINER_M, 4, 13, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x1a1031, -1
-	person_event SPRITE_TEACHER, 12, 29, $3, 0, 0, -1, -1, 0, 0, 0, TuscanyScript, EVENT_ROUTE_29_TUSCANY_OF_TUESDAY
-	person_event SPRITE_POKE_BALL, 2, 48, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a108b, EVENT_ROUTE_29_POTION
+	person_event SPRITE_COOLTRAINER_M, 12, 50, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x1a0ff1, -1
+	person_event SPRITE_YOUNGSTER, 16, 27, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a1028, -1
+	person_event SPRITE_TEACHER, 11, 15, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a102b, -1
+	person_event SPRITE_FRUIT_TREE, 2, 12, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a1089, -1
+	person_event SPRITE_FISHER, 3, 25, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x1a102e, -1
+	person_event SPRITE_COOLTRAINER_M, 4, 13, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x1a1031, -1
+	person_event SPRITE_TEACHER, 12, 29, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, TuscanyScript, EVENT_ROUTE_29_TUSCANY_OF_TUESDAY
+	person_event SPRITE_POKE_BALL, 2, 48, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a108b, EVENT_ROUTE_29_POTION
--- a/maps/Route2946Gate.asm
+++ b/maps/Route2946Gate.asm
@@ -51,5 +51,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x7b5bb, -1
-	person_event SPRITE_YOUNGSTER, 4, 6, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x7b5be, -1
+	person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x7b5bb, -1
+	person_event SPRITE_YOUNGSTER, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x7b5be, -1
--- a/maps/Route2Gate.asm
+++ b/maps/Route2Gate.asm
@@ -41,4 +41,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_SCIENTIST, 4, 6, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x9b952, -1
+	person_event SPRITE_SCIENTIST, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x9b952, -1
--- a/maps/Route2NuggetSpeechHouse.asm
+++ b/maps/Route2NuggetSpeechHouse.asm
@@ -66,4 +66,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_FISHER, 4, 2, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x9b847, -1
+	person_event SPRITE_FISHER, 4, 2, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x9b847, -1
--- a/maps/Route3.asm
+++ b/maps/Route3.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerFirebreatherOtis:
-	trainer EVENT_BEAT_FIREBREATHER_OTIS, FIREBREATHER, OTIS, FirebreatherOtisSeenText, FirebreatherOtisBeatenText, $0000, FirebreatherOtisScript
+	trainer EVENT_BEAT_FIREBREATHER_OTIS, FIREBREATHER, OTIS, FirebreatherOtisSeenText, FirebreatherOtisBeatenText, 0, FirebreatherOtisScript
 
 FirebreatherOtisScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerYoungsterWarren:
-	trainer EVENT_BEAT_YOUNGSTER_WARREN, YOUNGSTER, WARREN, YoungsterWarrenSeenText, YoungsterWarrenBeatenText, $0000, YoungsterWarrenScript
+	trainer EVENT_BEAT_YOUNGSTER_WARREN, YOUNGSTER, WARREN, YoungsterWarrenSeenText, YoungsterWarrenBeatenText, 0, YoungsterWarrenScript
 
 YoungsterWarrenScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerYoungsterJimmy:
-	trainer EVENT_BEAT_YOUNGSTER_JIMMY, YOUNGSTER, JIMMY, YoungsterJimmySeenText, YoungsterJimmyBeatenText, $0000, YoungsterJimmyScript
+	trainer EVENT_BEAT_YOUNGSTER_JIMMY, YOUNGSTER, JIMMY, YoungsterJimmySeenText, YoungsterJimmyBeatenText, 0, YoungsterJimmyScript
 
 YoungsterJimmyScript:
 	talkaftercancel
@@ -39,7 +39,7 @@
 	end
 
 TrainerFirebreatherBurt:
-	trainer EVENT_BEAT_FIREBREATHER_BURT, FIREBREATHER, BURT, FirebreatherBurtSeenText, FirebreatherBurtBeatenText, $0000, FirebreatherBurtScript
+	trainer EVENT_BEAT_FIREBREATHER_BURT, FIREBREATHER, BURT, FirebreatherBurtSeenText, FirebreatherBurtBeatenText, 0, FirebreatherBurtScript
 
 FirebreatherBurtScript:
 	talkaftercancel
@@ -143,7 +143,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_FISHER, 12, 26, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerFirebreatherOtis, -1
-	person_event SPRITE_YOUNGSTER, 7, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterWarren, -1
-	person_event SPRITE_YOUNGSTER, 3, 16, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerYoungsterJimmy, -1
-	person_event SPRITE_FISHER, 5, 49, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerFirebreatherBurt, -1
+	person_event SPRITE_FISHER, 12, 26, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerFirebreatherOtis, -1
+	person_event SPRITE_YOUNGSTER, 7, 10, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterWarren, -1
+	person_event SPRITE_YOUNGSTER, 3, 16, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerYoungsterJimmy, -1
+	person_event SPRITE_FISHER, 5, 49, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerFirebreatherBurt, -1
--- a/maps/Route30.asm
+++ b/maps/Route30.asm
@@ -26,7 +26,7 @@
 	end
 
 TrainerYoungsterJoey:
-	trainer EVENT_BEAT_YOUNGSTER_JOEY, YOUNGSTER, JOEY1, YoungsterJoey1SeenText, YoungsterJoey1BeatenText, $0000, YoungsterJoey1Script
+	trainer EVENT_BEAT_YOUNGSTER_JOEY, YOUNGSTER, JOEY1, YoungsterJoey1SeenText, YoungsterJoey1BeatenText, 0, YoungsterJoey1Script
 
 YoungsterJoey1Script:
 	writecode VAR_CALLERID, PHONE_YOUNGSTER_JOEY
@@ -56,7 +56,7 @@
 
 UnknownScript_0x1a16e0:
 	scall UnknownScript_0x1a179b
-	winlosstext YoungsterJoey1BeatenText, $0000
+	winlosstext YoungsterJoey1BeatenText, 0
 	copybytetovar wJoeyFightCount
 	if_equal 4, .Fight4
 	if_equal 3, .Fight3
@@ -173,7 +173,7 @@
 	end
 
 TrainerYoungsterMikey:
-	trainer EVENT_BEAT_YOUNGSTER_MIKEY, YOUNGSTER, MIKEY, YoungsterMikeySeenText, YoungsterMikeyBeatenText, $0000, YoungsterMikeyScript
+	trainer EVENT_BEAT_YOUNGSTER_MIKEY, YOUNGSTER, MIKEY, YoungsterMikeySeenText, YoungsterMikeyBeatenText, 0, YoungsterMikeyScript
 
 YoungsterMikeyScript:
 	talkaftercancel
@@ -184,7 +184,7 @@
 	end
 
 TrainerBug_catcherDon:
-	trainer EVENT_BEAT_BUG_CATCHER_DON, BUG_CATCHER, DON, Bug_catcherDonSeenText, Bug_catcherDonBeatenText, $0000, Bug_catcherDonScript
+	trainer EVENT_BEAT_BUG_CATCHER_DON, BUG_CATCHER, DON, Bug_catcherDonSeenText, Bug_catcherDonBeatenText, 0, Bug_catcherDonScript
 
 Bug_catcherDonScript:
 	talkaftercancel
@@ -416,14 +416,14 @@
 
 .PersonEvents:
 	db 11
-	person_event SPRITE_YOUNGSTER, 26, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x1a1673, EVENT_ROUTE_30_BATTLE
-	person_event SPRITE_YOUNGSTER, 28, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterJoey, EVENT_ROUTE_30_YOUNGSTER_JOEY
-	person_event SPRITE_YOUNGSTER, 23, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerYoungsterMikey, -1
-	person_event SPRITE_BUG_CATCHER, 7, 1, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherDon, -1
-	person_event SPRITE_YOUNGSTER, 30, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x1a17d2, -1
-	person_event SPRITE_MONSTER, 24, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_ROUTE_30_BATTLE
-	person_event SPRITE_MONSTER, 25, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_ROUTE_30_BATTLE
-	person_event SPRITE_FRUIT_TREE, 39, 5, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a17f7, -1
-	person_event SPRITE_FRUIT_TREE, 5, 11, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a17f9, -1
-	person_event SPRITE_COOLTRAINER_F, 13, 2, $6, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x1a17e6, -1
-	person_event SPRITE_POKE_BALL, 35, 8, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a17f5, EVENT_ROUTE_30_ANTIDOTE
+	person_event SPRITE_YOUNGSTER, 26, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x1a1673, EVENT_ROUTE_30_BATTLE
+	person_event SPRITE_YOUNGSTER, 28, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterJoey, EVENT_ROUTE_30_YOUNGSTER_JOEY
+	person_event SPRITE_YOUNGSTER, 23, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerYoungsterMikey, -1
+	person_event SPRITE_BUG_CATCHER, 7, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherDon, -1
+	person_event SPRITE_YOUNGSTER, 30, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x1a17d2, -1
+	person_event SPRITE_MONSTER, 24, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_ROUTE_30_BATTLE
+	person_event SPRITE_MONSTER, 25, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_ROUTE_30_BATTLE
+	person_event SPRITE_FRUIT_TREE, 39, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a17f7, -1
+	person_event SPRITE_FRUIT_TREE, 5, 11, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a17f9, -1
+	person_event SPRITE_COOLTRAINER_F, 13, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x1a17e6, -1
+	person_event SPRITE_POKE_BALL, 35, 8, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a17f5, EVENT_ROUTE_30_ANTIDOTE
--- a/maps/Route30BerrySpeechHouse.asm
+++ b/maps/Route30BerrySpeechHouse.asm
@@ -62,4 +62,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_POKEFAN_M, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x196d64, -1
+	person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x196d64, -1
--- a/maps/Route31.asm
+++ b/maps/Route31.asm
@@ -19,7 +19,7 @@
 	return
 
 TrainerBug_catcherWade1:
-	trainer EVENT_BEAT_BUG_CATCHER_WADE, BUG_CATCHER, WADE1, Bug_catcherWade1SeenText, Bug_catcherWade1BeatenText, $0000, Bug_catcherWade1Script
+	trainer EVENT_BEAT_BUG_CATCHER_WADE, BUG_CATCHER, WADE1, Bug_catcherWade1SeenText, Bug_catcherWade1BeatenText, 0, Bug_catcherWade1Script
 
 Bug_catcherWade1Script:
 	writecode VAR_CALLERID, PHONE_BUG_CATCHER_WADE
@@ -51,7 +51,7 @@
 
 UnknownScript_0x1a5493:
 	scall UnknownScript_0x1a5564
-	winlosstext Bug_catcherWade1BeatenText, $0000
+	winlosstext Bug_catcherWade1BeatenText, 0
 	copybytetovar wWadeFightCount
 	if_equal 4, .Fight4
 	if_equal 3, .Fight3
@@ -430,10 +430,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_FISHER, 7, 17, $6, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1a5570, -1
-	person_event SPRITE_YOUNGSTER, 5, 9, $2, 1, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1a55ed, -1
-	person_event SPRITE_BUG_CATCHER, 13, 21, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 5, TrainerBug_catcherWade1, -1
-	person_event SPRITE_COOLTRAINER_M, 8, 33, $2, 1, 1, -1, -1, 0, 0, 0, CooltrainerMScript_0x1a55f6, -1
-	person_event SPRITE_FRUIT_TREE, 7, 16, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a55f9, -1
-	person_event SPRITE_POKE_BALL, 5, 29, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a55fb, EVENT_ROUTE_31_POTION
-	person_event SPRITE_POKE_BALL, 15, 19, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a55fd, EVENT_ROUTE_31_POKE_BALL
+	person_event SPRITE_FISHER, 7, 17, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1a5570, -1
+	person_event SPRITE_YOUNGSTER, 5, 9, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1a55ed, -1
+	person_event SPRITE_BUG_CATCHER, 13, 21, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 5, TrainerBug_catcherWade1, -1
+	person_event SPRITE_COOLTRAINER_M, 8, 33, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, CooltrainerMScript_0x1a55f6, -1
+	person_event SPRITE_FRUIT_TREE, 7, 16, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a55f9, -1
+	person_event SPRITE_POKE_BALL, 5, 29, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a55fb, EVENT_ROUTE_31_POTION
+	person_event SPRITE_POKE_BALL, 15, 19, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a55fd, EVENT_ROUTE_31_POKE_BALL
--- a/maps/Route31VioletGate.asm
+++ b/maps/Route31VioletGate.asm
@@ -42,5 +42,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x197634, -1
-	person_event SPRITE_COOLTRAINER_F, 2, 1, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerFScript_0x197637, -1
+	person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x197634, -1
+	person_event SPRITE_COOLTRAINER_F, 2, 1, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerFScript_0x197637, -1
--- a/maps/Route32.asm
+++ b/maps/Route32.asm
@@ -3,9 +3,9 @@
 	db 3
 
 	; triggers
-	dw UnknownScript_0x190460, $0000
-	dw UnknownScript_0x190461, $0000
-	dw UnknownScript_0x190462, $0000
+	dw UnknownScript_0x190460, 0
+	dw UnknownScript_0x190461, 0
+	dw UnknownScript_0x190462, 0
 
 .MapCallbacks:
 	db 1
@@ -133,7 +133,7 @@
 	end
 
 TrainerCamperRoland:
-	trainer EVENT_BEAT_CAMPER_ROLAND, CAMPER, ROLAND, CamperRolandSeenText, CamperRolandBeatenText, $0000, CamperRolandScript
+	trainer EVENT_BEAT_CAMPER_ROLAND, CAMPER, ROLAND, CamperRolandSeenText, CamperRolandBeatenText, 0, CamperRolandScript
 
 CamperRolandScript:
 	talkaftercancel
@@ -144,7 +144,7 @@
 	end
 
 TrainerFisherJustin:
-	trainer EVENT_BEAT_FISHER_JUSTIN, FISHER, JUSTIN, FisherJustinSeenText, FisherJustinBeatenText, $0000, FisherJustinScript
+	trainer EVENT_BEAT_FISHER_JUSTIN, FISHER, JUSTIN, FisherJustinSeenText, FisherJustinBeatenText, 0, FisherJustinScript
 
 FisherJustinScript:
 	talkaftercancel
@@ -155,7 +155,7 @@
 	end
 
 TrainerFisherRalph1:
-	trainer EVENT_BEAT_FISHER_RALPH, FISHER, RALPH1, FisherRalph1SeenText, FisherRalph1BeatenText, $0000, FisherRalph1Script
+	trainer EVENT_BEAT_FISHER_RALPH, FISHER, RALPH1, FisherRalph1SeenText, FisherRalph1BeatenText, 0, FisherRalph1Script
 
 FisherRalph1Script:
 	writecode VAR_CALLERID, PHONE_FISHER_RALPH
@@ -187,7 +187,7 @@
 
 UnknownScript_0x19057d:
 	scall UnknownScript_0x19060f
-	winlosstext FisherRalph1BeatenText, $0000
+	winlosstext FisherRalph1BeatenText, 0
 	copybytetovar wRalphFightCount
 	if_equal 4, .Fight4
 	if_equal 3, .Fight3
@@ -280,7 +280,7 @@
 	end
 
 TrainerFisherHenry:
-	trainer EVENT_BEAT_FISHER_HENRY, FISHER, HENRY, FisherHenrySeenText, FisherHenryBeatenText, $0000, FisherHenryScript
+	trainer EVENT_BEAT_FISHER_HENRY, FISHER, HENRY, FisherHenrySeenText, FisherHenryBeatenText, 0, FisherHenryScript
 
 FisherHenryScript:
 	talkaftercancel
@@ -291,7 +291,7 @@
 	end
 
 TrainerPicnickerLiz1:
-	trainer EVENT_BEAT_PICNICKER_LIZ, PICNICKER, LIZ1, PicnickerLiz1SeenText, PicnickerLiz1BeatenText, $0000, PicnickerLiz1Script
+	trainer EVENT_BEAT_PICNICKER_LIZ, PICNICKER, LIZ1, PicnickerLiz1SeenText, PicnickerLiz1BeatenText, 0, PicnickerLiz1Script
 
 PicnickerLiz1Script:
 	writecode VAR_CALLERID, PHONE_PICNICKER_LIZ
@@ -321,7 +321,7 @@
 
 UnknownScript_0x19066d:
 	scall UnknownScript_0x1906f9
-	winlosstext PicnickerLiz1BeatenText, $0000
+	winlosstext PicnickerLiz1BeatenText, 0
 	copybytetovar wLizFightCount
 	if_equal 4, .Fight4
 	if_equal 3, .Fight3
@@ -408,7 +408,7 @@
 	end
 
 TrainerYoungsterAlbert:
-	trainer EVENT_BEAT_YOUNGSTER_ALBERT, YOUNGSTER, ALBERT, YoungsterAlbertSeenText, YoungsterAlbertBeatenText, $0000, YoungsterAlbertScript
+	trainer EVENT_BEAT_YOUNGSTER_ALBERT, YOUNGSTER, ALBERT, YoungsterAlbertSeenText, YoungsterAlbertBeatenText, 0, YoungsterAlbertScript
 
 YoungsterAlbertScript:
 	talkaftercancel
@@ -419,7 +419,7 @@
 	end
 
 TrainerYoungsterGordon:
-	trainer EVENT_BEAT_YOUNGSTER_GORDON, YOUNGSTER, GORDON, YoungsterGordonSeenText, YoungsterGordonBeatenText, $0000, YoungsterGordonScript
+	trainer EVENT_BEAT_YOUNGSTER_GORDON, YOUNGSTER, GORDON, YoungsterGordonSeenText, YoungsterGordonBeatenText, 0, YoungsterGordonScript
 
 YoungsterGordonScript:
 	talkaftercancel
@@ -430,7 +430,7 @@
 	end
 
 TrainerBird_keeperPeter:
-	trainer EVENT_BEAT_BIRD_KEEPER_PETER, BIRD_KEEPER, PETER, Bird_keeperPeterSeenText, Bird_keeperPeterBeatenText, $0000, Bird_keeperPeterScript
+	trainer EVENT_BEAT_BIRD_KEEPER_PETER, BIRD_KEEPER, PETER, Bird_keeperPeterSeenText, Bird_keeperPeterBeatenText, 0, Bird_keeperPeterScript
 
 Bird_keeperPeterScript:
 	talkaftercancel
@@ -946,17 +946,17 @@
 
 .PersonEvents:
 	db 14
-	person_event SPRITE_FISHER, 49, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherJustin, -1
-	person_event SPRITE_FISHER, 56, 12, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherRalph1, -1
-	person_event SPRITE_FISHER, 48, 6, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherHenry, -1
-	person_event SPRITE_YOUNGSTER, 22, 12, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterAlbert, -1
-	person_event SPRITE_YOUNGSTER, 63, 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterGordon, -1
-	person_event SPRITE_YOUNGSTER, 45, 3, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperRoland, -1
-	person_event SPRITE_LASS, 30, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerLiz1, -1
-	person_event SPRITE_COOLTRAINER_M, 8, 19, $8, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x19046f, -1
-	person_event SPRITE_YOUNGSTER, 82, 11, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperPeter, -1
-	person_event SPRITE_FISHER, 70, 7, $6, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1904f2, EVENT_SLOWPOKE_WELL_ROCKETS
-	person_event SPRITE_POKE_BALL, 53, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x190773, EVENT_ROUTE_32_GREAT_BALL
-	person_event SPRITE_FISHER, 13, 15, $9, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1904ce, -1
-	person_event SPRITE_LASS, 67, 12, $8, 0, 0, -1, -1, 0, 0, 0, FriedaScript, EVENT_ROUTE_32_FRIEDA_OF_FRIDAY
-	person_event SPRITE_POKE_BALL, 30, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x190775, EVENT_ROUTE_32_REPEL
+	person_event SPRITE_FISHER, 49, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherJustin, -1
+	person_event SPRITE_FISHER, 56, 12, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherRalph1, -1
+	person_event SPRITE_FISHER, 48, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherHenry, -1
+	person_event SPRITE_YOUNGSTER, 22, 12, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterAlbert, -1
+	person_event SPRITE_YOUNGSTER, 63, 4, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterGordon, -1
+	person_event SPRITE_YOUNGSTER, 45, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperRoland, -1
+	person_event SPRITE_LASS, 30, 10, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerLiz1, -1
+	person_event SPRITE_COOLTRAINER_M, 8, 19, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x19046f, -1
+	person_event SPRITE_YOUNGSTER, 82, 11, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperPeter, -1
+	person_event SPRITE_FISHER, 70, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1904f2, EVENT_SLOWPOKE_WELL_ROCKETS
+	person_event SPRITE_POKE_BALL, 53, 6, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x190773, EVENT_ROUTE_32_GREAT_BALL
+	person_event SPRITE_FISHER, 13, 15, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1904ce, -1
+	person_event SPRITE_LASS, 67, 12, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, FriedaScript, EVENT_ROUTE_32_FRIEDA_OF_FRIDAY
+	person_event SPRITE_POKE_BALL, 30, 3, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x190775, EVENT_ROUTE_32_REPEL
--- a/maps/Route32PokeCenter1F.asm
+++ b/maps/Route32PokeCenter1F.asm
@@ -107,6 +107,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x69b52, -1
-	person_event SPRITE_FISHING_GURU, 4, 1, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x69b55, -1
-	person_event SPRITE_COOLTRAINER_F, 2, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x69b80, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x69b52, -1
+	person_event SPRITE_FISHING_GURU, 4, 1, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x69b55, -1
+	person_event SPRITE_COOLTRAINER_F, 2, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x69b80, -1
--- a/maps/Route32RuinsofAlphGate.asm
+++ b/maps/Route32RuinsofAlphGate.asm
@@ -60,6 +60,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x69a2d, -1
-	person_event SPRITE_POKEFAN_M, 2, 8, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x69a30, -1
-	person_event SPRITE_YOUNGSTER, 6, 1, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x69a33, -1
+	person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x69a2d, -1
+	person_event SPRITE_POKEFAN_M, 2, 8, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x69a30, -1
+	person_event SPRITE_YOUNGSTER, 6, 1, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x69a33, -1
--- a/maps/Route33.asm
+++ b/maps/Route33.asm
@@ -9,7 +9,7 @@
 	jumptextfaceplayer UnknownText_0x1ac1e7
 
 TrainerHikerAnthony:
-	trainer EVENT_BEAT_HIKER_ANTHONY, HIKER, ANTHONY2, HikerAnthony2SeenText, HikerAnthony2BeatenText, $0000, HikerAnthony2Script
+	trainer EVENT_BEAT_HIKER_ANTHONY, HIKER, ANTHONY2, HikerAnthony2SeenText, HikerAnthony2BeatenText, 0, HikerAnthony2Script
 
 HikerAnthony2Script:
 	writecode VAR_CALLERID, PHONE_HIKER_ANTHONY
@@ -41,7 +41,7 @@
 
 UnknownScript_0x1ac051:
 	scall UnknownScript_0x1ac0e3
-	winlosstext HikerAnthony2BeatenText, $0000
+	winlosstext HikerAnthony2BeatenText, 0
 	copybytetovar wAnthonyFightCount
 	if_equal 4, .Fight4
 	if_equal 3, .Fight3
@@ -206,6 +206,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_POKEFAN_M, 13, 6, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerAnthony, -1
-	person_event SPRITE_LASS, 16, 13, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x1ac002, -1
-	person_event SPRITE_FRUIT_TREE, 16, 14, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1ac0ea, -1
+	person_event SPRITE_POKEFAN_M, 13, 6, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerAnthony, -1
+	person_event SPRITE_LASS, 16, 13, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x1ac002, -1
+	person_event SPRITE_FRUIT_TREE, 16, 14, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1ac0ea, -1
--- a/maps/Route34.asm
+++ b/maps/Route34.asm
@@ -76,7 +76,7 @@
 	end
 
 TrainerCamperTodd1:
-	trainer EVENT_BEAT_CAMPER_TODD, CAMPER, TODD1, CamperTodd1SeenText, CamperTodd1BeatenText, $0000, CamperTodd1Script
+	trainer EVENT_BEAT_CAMPER_TODD, CAMPER, TODD1, CamperTodd1SeenText, CamperTodd1BeatenText, 0, CamperTodd1Script
 
 CamperTodd1Script:
 	writecode VAR_CALLERID, PHONE_CAMPER_TODD
@@ -108,7 +108,7 @@
 
 UnknownScript_0x780bd:
 	scall UnknownScript_0x7814f
-	winlosstext CamperTodd1BeatenText, $0000
+	winlosstext CamperTodd1BeatenText, 0
 	copybytetovar wToddFightCount
 	if_equal 4, .Fight4
 	if_equal 3, .Fight3
@@ -201,7 +201,7 @@
 	end
 
 TrainerPicnickerGina1:
-	trainer EVENT_BEAT_PICNICKER_GINA, PICNICKER, GINA1, PicnickerGina1SeenText, PicnickerGina1BeatenText, $0000, PicnickerGina1Script
+	trainer EVENT_BEAT_PICNICKER_GINA, PICNICKER, GINA1, PicnickerGina1SeenText, PicnickerGina1BeatenText, 0, PicnickerGina1Script
 
 PicnickerGina1Script:
 	writecode VAR_CALLERID, PHONE_PICNICKER_GINA
@@ -233,7 +233,7 @@
 
 UnknownScript_0x7819f:
 	scall UnknownScript_0x78240
-	winlosstext PicnickerGina1BeatenText, $0000
+	winlosstext PicnickerGina1BeatenText, 0
 	copybytetovar wGinaFightCount
 	if_equal 4, .Fight4
 	if_equal 3, .Fight3
@@ -349,7 +349,7 @@
 	writetext UnknownText_0x785e4
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x78609, $0000
+	winlosstext UnknownText_0x78609, 0
 	loadtrainer OFFICER, KEITH
 	startbattle
 	returnafterbattle
@@ -370,7 +370,7 @@
 	end
 
 TrainerYoungsterSamuel:
-	trainer EVENT_BEAT_YOUNGSTER_SAMUEL, YOUNGSTER, SAMUEL, YoungsterSamuelSeenText, YoungsterSamuelBeatenText, $0000, YoungsterSamuelScript
+	trainer EVENT_BEAT_YOUNGSTER_SAMUEL, YOUNGSTER, SAMUEL, YoungsterSamuelSeenText, YoungsterSamuelBeatenText, 0, YoungsterSamuelScript
 
 YoungsterSamuelScript:
 	talkaftercancel
@@ -381,7 +381,7 @@
 	end
 
 TrainerYoungsterIan:
-	trainer EVENT_BEAT_YOUNGSTER_IAN, YOUNGSTER, IAN, YoungsterIanSeenText, YoungsterIanBeatenText, $0000, YoungsterIanScript
+	trainer EVENT_BEAT_YOUNGSTER_IAN, YOUNGSTER, IAN, YoungsterIanSeenText, YoungsterIanBeatenText, 0, YoungsterIanScript
 
 YoungsterIanScript:
 	talkaftercancel
@@ -392,7 +392,7 @@
 	end
 
 TrainerPokefanmBrandon:
-	trainer EVENT_BEAT_POKEFANM_BRANDON, POKEFANM, BRANDON, PokefanmBrandonSeenText, PokefanmBrandonBeatenText, $0000, PokefanmBrandonScript
+	trainer EVENT_BEAT_POKEFANM_BRANDON, POKEFANM, BRANDON, PokefanmBrandonSeenText, PokefanmBrandonBeatenText, 0, PokefanmBrandonScript
 
 PokefanmBrandonScript:
 	talkaftercancel
@@ -403,7 +403,7 @@
 	end
 
 TrainerCooltrainerfIrene:
-	trainer EVENT_BEAT_COOLTRAINERF_IRENE, COOLTRAINERF, IRENE, CooltrainerfIreneSeenText, CooltrainerfIreneBeatenText, $0000, CooltrainerfIreneScript
+	trainer EVENT_BEAT_COOLTRAINERF_IRENE, COOLTRAINERF, IRENE, CooltrainerfIreneSeenText, CooltrainerfIreneBeatenText, 0, CooltrainerfIreneScript
 
 CooltrainerfIreneScript:
 	talkaftercancel
@@ -422,7 +422,7 @@
 	end
 
 TrainerCooltrainerfJenn:
-	trainer EVENT_BEAT_COOLTRAINERF_JENN, COOLTRAINERF, JENN, CooltrainerfJennSeenText, CooltrainerfJennBeatenText, $0000, CooltrainerfJennScript
+	trainer EVENT_BEAT_COOLTRAINERF_JENN, COOLTRAINERF, JENN, CooltrainerfJennSeenText, CooltrainerfJennBeatenText, 0, CooltrainerfJennScript
 
 CooltrainerfJennScript:
 	talkaftercancel
@@ -441,7 +441,7 @@
 	end
 
 TrainerCooltrainerfKate:
-	trainer EVENT_BEAT_COOLTRAINERF_KATE, COOLTRAINERF, KATE, CooltrainerfKateSeenText, CooltrainerfKateBeatenText, $0000, CooltrainerfKateScript
+	trainer EVENT_BEAT_COOLTRAINERF_KATE, COOLTRAINERF, KATE, CooltrainerfKateSeenText, CooltrainerfKateBeatenText, 0, CooltrainerfKateScript
 
 CooltrainerfKateScript:
 	talkaftercancel
@@ -775,16 +775,16 @@
 
 .PersonEvents:
 	db 13
-	person_event SPRITE_YOUNGSTER, 7, 13, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerCamperTodd1, -1
-	person_event SPRITE_YOUNGSTER, 32, 15, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterSamuel, -1
-	person_event SPRITE_YOUNGSTER, 20, 11, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterIan, -1
-	person_event SPRITE_LASS, 26, 10, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPicnickerGina1, -1
-	person_event SPRITE_OFFICER, 11, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x7824c, -1
-	person_event SPRITE_POKEFAN_M, 28, 18, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmBrandon, -1
-	person_event SPRITE_GRAMPS, 16, 15, $6, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x7803d, EVENT_DAYCARE_MAN_ON_ROUTE_34
-	person_event SPRITE_DAYCARE_MON_1, 18, 14, $16, 2, 2, -1, -1, 0, 0, 0, DaycareMon1Script_0x78065, EVENT_DAYCARE_MON_1
-	person_event SPRITE_DAYCARE_MON_2, 19, 17, $16, 2, 2, -1, -1, 0, 0, 0, DaycareMon2Script_0x7806b, EVENT_DAYCARE_MON_2
-	person_event SPRITE_COOLTRAINER_F, 48, 11, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerCooltrainerfIrene, -1
-	person_event SPRITE_COOLTRAINER_F, 48, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfJenn, -1
-	person_event SPRITE_COOLTRAINER_F, 51, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainerfKate, -1
-	person_event SPRITE_POKE_BALL, 30, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7832b, EVENT_ROUTE_34_NUGGET
+	person_event SPRITE_YOUNGSTER, 7, 13, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerCamperTodd1, -1
+	person_event SPRITE_YOUNGSTER, 32, 15, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterSamuel, -1
+	person_event SPRITE_YOUNGSTER, 20, 11, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterIan, -1
+	person_event SPRITE_LASS, 26, 10, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPicnickerGina1, -1
+	person_event SPRITE_OFFICER, 11, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x7824c, -1
+	person_event SPRITE_POKEFAN_M, 28, 18, SPRITEMOVEDATA_1E, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmBrandon, -1
+	person_event SPRITE_GRAMPS, 16, 15, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x7803d, EVENT_DAYCARE_MAN_ON_ROUTE_34
+	person_event SPRITE_DAYCARE_MON_1, 18, 14, SPRITEMOVEDATA_16, 2, 2, -1, -1, 0, 0, 0, DaycareMon1Script_0x78065, EVENT_DAYCARE_MON_1
+	person_event SPRITE_DAYCARE_MON_2, 19, 17, SPRITEMOVEDATA_16, 2, 2, -1, -1, 0, 0, 0, DaycareMon2Script_0x7806b, EVENT_DAYCARE_MON_2
+	person_event SPRITE_COOLTRAINER_F, 48, 11, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerCooltrainerfIrene, -1
+	person_event SPRITE_COOLTRAINER_F, 48, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfJenn, -1
+	person_event SPRITE_COOLTRAINER_F, 51, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainerfKate, -1
+	person_event SPRITE_POKE_BALL, 30, 7, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7832b, EVENT_ROUTE_34_NUGGET
--- a/maps/Route34IlexForestGate.asm
+++ b/maps/Route34IlexForestGate.asm
@@ -152,7 +152,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_TEACHER, 3, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x62d63, EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_BEHIND_COUNTER
-	person_event SPRITE_BUTTERFREE, 4, 9, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ButterfreeScript_0x62d8a, -1
-	person_event SPRITE_LASS, 4, 3, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x62d94, EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS
-	person_event SPRITE_TEACHER, 7, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x62d63, EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_IN_WALKWAY
+	person_event SPRITE_TEACHER, 3, 9, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x62d63, EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_BEHIND_COUNTER
+	person_event SPRITE_BUTTERFREE, 4, 9, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ButterfreeScript_0x62d8a, -1
+	person_event SPRITE_LASS, 4, 3, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x62d94, EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS
+	person_event SPRITE_TEACHER, 7, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x62d63, EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_IN_WALKWAY
--- a/maps/Route35.asm
+++ b/maps/Route35.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerBird_keeperBryan:
-	trainer EVENT_BEAT_BIRD_KEEPER_BRYAN, BIRD_KEEPER, BRYAN, Bird_keeperBryanSeenText, Bird_keeperBryanBeatenText, $0000, Bird_keeperBryanScript
+	trainer EVENT_BEAT_BIRD_KEEPER_BRYAN, BIRD_KEEPER, BRYAN, Bird_keeperBryanSeenText, Bird_keeperBryanBeatenText, 0, Bird_keeperBryanScript
 
 Bird_keeperBryanScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerJugglerIrwin:
-	trainer EVENT_BEAT_JUGGLER_IRWIN, JUGGLER, IRWIN1, JugglerIrwin1SeenText, JugglerIrwin1BeatenText, $0000, JugglerIrwin1Script
+	trainer EVENT_BEAT_JUGGLER_IRWIN, JUGGLER, IRWIN1, JugglerIrwin1SeenText, JugglerIrwin1BeatenText, 0, JugglerIrwin1Script
 
 JugglerIrwin1Script:
 	writecode VAR_CALLERID, PHONE_JUGGLER_IRWIN
@@ -72,7 +72,7 @@
 	end
 
 TrainerCamperIvan:
-	trainer EVENT_BEAT_CAMPER_IVAN, CAMPER, IVAN, CamperIvanSeenText, CamperIvanBeatenText, $0000, CamperIvanScript
+	trainer EVENT_BEAT_CAMPER_IVAN, CAMPER, IVAN, CamperIvanSeenText, CamperIvanBeatenText, 0, CamperIvanScript
 
 CamperIvanScript:
 	talkaftercancel
@@ -83,7 +83,7 @@
 	end
 
 TrainerCamperElliot:
-	trainer EVENT_BEAT_CAMPER_ELLIOT, CAMPER, ELLIOT, CamperElliotSeenText, CamperElliotBeatenText, $0000, CamperElliotScript
+	trainer EVENT_BEAT_CAMPER_ELLIOT, CAMPER, ELLIOT, CamperElliotSeenText, CamperElliotBeatenText, 0, CamperElliotScript
 
 CamperElliotScript:
 	talkaftercancel
@@ -94,7 +94,7 @@
 	end
 
 TrainerPicnickerBrooke:
-	trainer EVENT_BEAT_PICNICKER_BROOKE, PICNICKER, BROOKE, PicnickerBrookeSeenText, PicnickerBrookeBeatenText, $0000, PicnickerBrookeScript
+	trainer EVENT_BEAT_PICNICKER_BROOKE, PICNICKER, BROOKE, PicnickerBrookeSeenText, PicnickerBrookeBeatenText, 0, PicnickerBrookeScript
 
 PicnickerBrookeScript:
 	talkaftercancel
@@ -105,7 +105,7 @@
 	end
 
 TrainerPicnickerKim:
-	trainer EVENT_BEAT_PICNICKER_KIM, PICNICKER, KIM, PicnickerKimSeenText, PicnickerKimBeatenText, $0000, PicnickerKimScript
+	trainer EVENT_BEAT_PICNICKER_KIM, PICNICKER, KIM, PicnickerKimSeenText, PicnickerKimBeatenText, 0, PicnickerKimScript
 
 PicnickerKimScript:
 	talkaftercancel
@@ -116,7 +116,7 @@
 	end
 
 TrainerBug_catcherArnie1:
-	trainer EVENT_BEAT_BUG_CATCHER_ARNIE, BUG_CATCHER, ARNIE1, Bug_catcherArnie1SeenText, Bug_catcherArnie1BeatenText, $0000, Bug_catcherArnie1Script
+	trainer EVENT_BEAT_BUG_CATCHER_ARNIE, BUG_CATCHER, ARNIE1, Bug_catcherArnie1SeenText, Bug_catcherArnie1BeatenText, 0, Bug_catcherArnie1Script
 
 Bug_catcherArnie1Script:
 	writecode VAR_CALLERID, PHONE_BUG_CATCHER_ARNIE
@@ -148,7 +148,7 @@
 
 UnknownScript_0x19c9bb:
 	scall UnknownScript_0x19c91b
-	winlosstext Bug_catcherArnie1BeatenText, $0000
+	winlosstext Bug_catcherArnie1BeatenText, 0
 	copybytetovar wArnieFightCount
 	if_equal 4, .Fight4
 	if_equal 3, .Fight3
@@ -213,7 +213,7 @@
 	end
 
 TrainerFirebreatherWalt:
-	trainer EVENT_BEAT_FIREBREATHER_WALT, FIREBREATHER, WALT, FirebreatherWaltSeenText, FirebreatherWaltBeatenText, $0000, FirebreatherWaltScript
+	trainer EVENT_BEAT_FIREBREATHER_WALT, FIREBREATHER, WALT, FirebreatherWaltSeenText, FirebreatherWaltBeatenText, 0, FirebreatherWaltScript
 
 FirebreatherWaltScript:
 	talkaftercancel
@@ -234,7 +234,7 @@
 	writetext UnknownText_0x19ceea
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x19cf06, $0000
+	winlosstext UnknownText_0x19cf06, 0
 	loadtrainer OFFICER, DIRK
 	startbattle
 	returnafterbattle
@@ -469,14 +469,14 @@
 
 .PersonEvents:
 	db 11
-	person_event SPRITE_YOUNGSTER, 19, 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerCamperIvan, -1
-	person_event SPRITE_YOUNGSTER, 20, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperElliot, -1
-	person_event SPRITE_LASS, 20, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPicnickerBrooke, -1
-	person_event SPRITE_LASS, 26, 10, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerKim, -1
-	person_event SPRITE_YOUNGSTER, 28, 14, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerBird_keeperBryan, -1
-	person_event SPRITE_FISHER, 10, 2, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerFirebreatherWalt, -1
-	person_event SPRITE_BUG_CATCHER, 7, 16, $6, 0, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherArnie1, -1
-	person_event SPRITE_SUPER_NERD, 10, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerJugglerIrwin, -1
-	person_event SPRITE_OFFICER, 6, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x19ca49, -1
-	person_event SPRITE_FRUIT_TREE, 25, 2, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19ca7e, -1
-	person_event SPRITE_POKE_BALL, 16, 13, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19ca7c, EVENT_ROUTE_35_TM_ROLLOUT
+	person_event SPRITE_YOUNGSTER, 19, 4, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerCamperIvan, -1
+	person_event SPRITE_YOUNGSTER, 20, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperElliot, -1
+	person_event SPRITE_LASS, 20, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPicnickerBrooke, -1
+	person_event SPRITE_LASS, 26, 10, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerKim, -1
+	person_event SPRITE_YOUNGSTER, 28, 14, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerBird_keeperBryan, -1
+	person_event SPRITE_FISHER, 10, 2, SPRITEMOVEDATA_1E, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerFirebreatherWalt, -1
+	person_event SPRITE_BUG_CATCHER, 7, 16, SPRITEMOVEDATA_STANDING_DOWN, 0, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherArnie1, -1
+	person_event SPRITE_SUPER_NERD, 10, 5, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerJugglerIrwin, -1
+	person_event SPRITE_OFFICER, 6, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x19ca49, -1
+	person_event SPRITE_FRUIT_TREE, 25, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19ca7e, -1
+	person_event SPRITE_POKE_BALL, 16, 13, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19ca7c, EVENT_ROUTE_35_TM_ROLLOUT
--- a/maps/Route35Goldenrodgate.asm
+++ b/maps/Route35Goldenrodgate.asm
@@ -9,60 +9,60 @@
 	faceplayer
 	loadfont
 	checkevent EVENT_GOT_HP_UP_FROM_RANDY
-	iftrue UnknownScript_0x69d92
+	iftrue .gothpup
 	checkevent EVENT_GAVE_KENYA
-	iftrue UnknownScript_0x69d85
+	iftrue .questcomplete
 	checkevent EVENT_GOT_KENYA
-	iftrue UnknownScript_0x69d73
+	iftrue .alreadyhavekenya
 	writetext UnknownText_0x69ddd
 	yesorno
-	iffalse UnknownScript_0x69d7f
+	iffalse .refused
 	writetext UnknownText_0x69e48
 	keeptextopen
 	waitbutton
 	checkcode VAR_PARTYCOUNT
-	if_equal $6, UnknownScript_0x69d79
+	if_equal PARTY_LENGTH, .partyfull
 	writetext UnknownText_0x69eb8
 	playsound SFX_KEY_ITEM
 	waitbutton
-	givepoke SPEAROW, 10, 0, 1, GiftSpearowName, GiftSpearowOTName
+	givepoke SPEAROW, 10, NO_ITEM, 1, GiftSpearowName, GiftSpearowOTName
 	givepokeitem GiftSpearowMail
 	setevent EVENT_GOT_KENYA
-UnknownScript_0x69d73:
+.alreadyhavekenya:
 	writetext UnknownText_0x69ed6
 	closetext
 	loadmovesprites
 	end
 
-UnknownScript_0x69d79:
+.partyfull:
 	writetext UnknownText_0x69f56
 	closetext
 	loadmovesprites
 	end
 
-UnknownScript_0x69d7f:
+.refused:
 	writetext UnknownText_0x69f74
 	closetext
 	loadmovesprites
 	end
 
-UnknownScript_0x69d85:
+.questcomplete:
 	writetext UnknownText_0x69f8b
 	keeptextopen
 	verbosegiveitem HP_UP, 1
-	iffalse UnknownScript_0x69d96
+	iffalse .bagfull
 	setevent EVENT_GOT_HP_UP_FROM_RANDY
-UnknownScript_0x69d92:
+.gothpup:
 	writetext UnknownText_0x69fd9
 	closetext
-UnknownScript_0x69d96:
+.bagfull:
 	loadmovesprites
 	end
 
 GiftSpearowMail:
-	db FLOWER_MAIL
-	db "DARK CAVE leads", $4E
-	db "to another road@"
+	db   FLOWER_MAIL
+	db   "DARK CAVE leads"
+	next "to another road@"
 GiftSpearowName:
 	db "KENYA@"
 GiftSpearowOTName:
@@ -74,13 +74,13 @@
 	faceplayer
 	loadfont
 	checkevent EVENT_FOUGHT_SUDOWOODO
-	iftrue UnknownScript_0x69dd4
+	iftrue .aftersudowoodo
 	writetext UnknownText_0x6a00a
 	closetext
 	loadmovesprites
 	end
 
-UnknownScript_0x69dd4:
+.aftersudowoodo:
 	writetext UnknownText_0x6a09a
 	closetext
 	loadmovesprites
@@ -209,6 +209,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x69d37, -1
-	person_event SPRITE_POKEFAN_F, 4, 6, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x69dc6, -1
-	person_event SPRITE_FISHER, 2, 3, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x69dda, -1
+	person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x69d37, -1
+	person_event SPRITE_POKEFAN_F, 4, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x69dc6, -1
+	person_event SPRITE_FISHER, 2, 3, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x69dda, -1
--- a/maps/Route35NationalParkgate.asm
+++ b/maps/Route35NationalParkgate.asm
@@ -3,9 +3,9 @@
 	db 3
 
 	; triggers
-	dw Route35NationalParkgate_Trigger1, $0000
-	dw Route35NationalParkgate_Trigger2, $0000
-	dw Route35NationalParkgate_Trigger3, $0000
+	dw Route35NationalParkgate_Trigger1, 0
+	dw Route35NationalParkgate_Trigger2, 0
+	dw Route35NationalParkgate_Trigger3, 0
 
 .MapCallbacks:
 	db 2
@@ -458,6 +458,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_OFFICER, 1, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x6a204, EVENT_ROUTE_35_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY
-	person_event SPRITE_YOUNGSTER, 5, 6, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6a2d8, EVENT_ROUTE_35_NATIONAL_PARK_GATE_YOUNGSTER
-	person_event SPRITE_OFFICER, 3, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x6a2ca, EVENT_ROUTE_35_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY
+	person_event SPRITE_OFFICER, 1, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x6a204, EVENT_ROUTE_35_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY
+	person_event SPRITE_YOUNGSTER, 5, 6, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6a2d8, EVENT_ROUTE_35_NATIONAL_PARK_GATE_YOUNGSTER
+	person_event SPRITE_OFFICER, 3, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x6a2ca, EVENT_ROUTE_35_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY
--- a/maps/Route36.asm
+++ b/maps/Route36.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x19400d, $0000
-	dw UnknownScript_0x19400e, $0000
+	dw UnknownScript_0x19400d, 0
+	dw UnknownScript_0x19400e, 0
 
 .MapCallbacks:
 	db 1
@@ -162,7 +162,7 @@
 	end
 
 TrainerSchoolboyAlan1:
-	trainer EVENT_BEAT_SCHOOLBOY_ALAN, SCHOOLBOY, ALAN1, SchoolboyAlan1SeenText, SchoolboyAlan1BeatenText, $0000, SchoolboyAlan1Script
+	trainer EVENT_BEAT_SCHOOLBOY_ALAN, SCHOOLBOY, ALAN1, SchoolboyAlan1SeenText, SchoolboyAlan1BeatenText, 0, SchoolboyAlan1Script
 
 SchoolboyAlan1Script:
 	writecode VAR_CALLERID, PHONE_SCHOOLBOY_ALAN
@@ -194,7 +194,7 @@
 
 UnknownScript_0x194140:
 	scall UnknownScript_0x1941e1
-	winlosstext SchoolboyAlan1BeatenText, $0000
+	winlosstext SchoolboyAlan1BeatenText, 0
 	copybytetovar wAlanFightCount
 	if_equal 4, .Fight4
 	if_equal 3, .Fight3
@@ -300,7 +300,7 @@
 	end
 
 TrainerPsychicMark:
-	trainer EVENT_BEAT_PSYCHIC_MARK, PSYCHIC_T, MARK, PsychicMarkSeenText, PsychicMarkBeatenText, $0000, PsychicMarkScript
+	trainer EVENT_BEAT_PSYCHIC_MARK, PSYCHIC_T, MARK, PsychicMarkSeenText, PsychicMarkBeatenText, 0, PsychicMarkScript
 
 PsychicMarkScript:
 	talkaftercancel
@@ -679,12 +679,12 @@
 
 .PersonEvents:
 	db 9
-	person_event SPRITE_YOUNGSTER, 13, 20, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicMark, -1
-	person_event SPRITE_YOUNGSTER, 14, 31, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerSchoolboyAlan1, -1
-	person_event SPRITE_WEIRD_TREE, 9, 35, $17, 0, 0, -1, -1, 0, 0, 0, WeirdTreeScript_0x19403c, EVENT_ROUTE_36_SUDOWOODO
-	person_event SPRITE_LASS, 8, 51, $5, 0, 2, -1, -1, 0, 0, 0, LassScript_0x1940e0, -1
-	person_event SPRITE_FISHER, 9, 44, $8, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1940b9, -1
-	person_event SPRITE_FRUIT_TREE, 4, 21, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x194247, -1
-	person_event SPRITE_YOUNGSTER, 6, 46, $2, 1, 1, -1, -1, 0, 0, 0, ArthurScript, EVENT_ROUTE_36_ARTHUR_OF_THURSDAY
-	person_event SPRITE_LASS, 12, 33, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x19408c, EVENT_FLORIA_AT_SUDOWOODO
-	person_event SPRITE_SUICUNE, 6, 21, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_SAW_SUICUNE_ON_ROUTE_36
+	person_event SPRITE_YOUNGSTER, 13, 20, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicMark, -1
+	person_event SPRITE_YOUNGSTER, 14, 31, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerSchoolboyAlan1, -1
+	person_event SPRITE_WEIRD_TREE, 9, 35, SPRITEMOVEDATA_17, 0, 0, -1, -1, 0, 0, 0, WeirdTreeScript_0x19403c, EVENT_ROUTE_36_SUDOWOODO
+	person_event SPRITE_LASS, 8, 51, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, 0, 0, LassScript_0x1940e0, -1
+	person_event SPRITE_FISHER, 9, 44, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1940b9, -1
+	person_event SPRITE_FRUIT_TREE, 4, 21, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x194247, -1
+	person_event SPRITE_YOUNGSTER, 6, 46, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, ArthurScript, EVENT_ROUTE_36_ARTHUR_OF_THURSDAY
+	person_event SPRITE_LASS, 12, 33, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x19408c, EVENT_FLORIA_AT_SUDOWOODO
+	person_event SPRITE_SUICUNE, 6, 21, SPRITEMOVEDATA_01, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_SAW_SUICUNE_ON_ROUTE_36
--- a/maps/Route36NationalParkgate.asm
+++ b/maps/Route36NationalParkgate.asm
@@ -3,9 +3,9 @@
 	db 3
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
-	dw .Trigger3, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
+	dw .Trigger3, 0
 
 .MapCallbacks:
 	db 2
@@ -862,15 +862,15 @@
 
 .PersonEvents:
 	db 12
-	person_event SPRITE_OFFICER, 3, 0, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, Route36OfficerScriptContest, EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY
-	person_event SPRITE_YOUNGSTER, 5, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6ad06, EVENT_BUG_CATCHING_CONTESTANT_1B
-	person_event SPRITE_YOUNGSTER, 5, 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6ad1a, EVENT_BUG_CATCHING_CONTESTANT_2B
-	person_event SPRITE_ROCKER, 6, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, RockerScript_0x6ad2e, EVENT_BUG_CATCHING_CONTESTANT_3B
-	person_event SPRITE_POKEFAN_M, 5, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x6ad42, EVENT_BUG_CATCHING_CONTESTANT_4B
-	person_event SPRITE_YOUNGSTER, 7, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6ad56, EVENT_BUG_CATCHING_CONTESTANT_5B
-	person_event SPRITE_YOUNGSTER, 6, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6ad6a, EVENT_BUG_CATCHING_CONTESTANT_6B
-	person_event SPRITE_LASS, 6, 3, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x6ad7e, EVENT_BUG_CATCHING_CONTESTANT_7B
-	person_event SPRITE_YOUNGSTER, 7, 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6ad92, EVENT_BUG_CATCHING_CONTESTANT_8B
-	person_event SPRITE_YOUNGSTER, 7, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6ada6, EVENT_BUG_CATCHING_CONTESTANT_9B
-	person_event SPRITE_YOUNGSTER, 6, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x6adba, EVENT_BUG_CATCHING_CONTESTANT_10B
-	person_event SPRITE_OFFICER, 2, 3, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x6acf4, EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY
+	person_event SPRITE_OFFICER, 3, 0, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, Route36OfficerScriptContest, EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY
+	person_event SPRITE_YOUNGSTER, 5, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6ad06, EVENT_BUG_CATCHING_CONTESTANT_1B
+	person_event SPRITE_YOUNGSTER, 5, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6ad1a, EVENT_BUG_CATCHING_CONTESTANT_2B
+	person_event SPRITE_ROCKER, 6, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, RockerScript_0x6ad2e, EVENT_BUG_CATCHING_CONTESTANT_3B
+	person_event SPRITE_POKEFAN_M, 5, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x6ad42, EVENT_BUG_CATCHING_CONTESTANT_4B
+	person_event SPRITE_YOUNGSTER, 7, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6ad56, EVENT_BUG_CATCHING_CONTESTANT_5B
+	person_event SPRITE_YOUNGSTER, 6, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6ad6a, EVENT_BUG_CATCHING_CONTESTANT_6B
+	person_event SPRITE_LASS, 6, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x6ad7e, EVENT_BUG_CATCHING_CONTESTANT_7B
+	person_event SPRITE_YOUNGSTER, 7, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6ad92, EVENT_BUG_CATCHING_CONTESTANT_8B
+	person_event SPRITE_YOUNGSTER, 7, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6ada6, EVENT_BUG_CATCHING_CONTESTANT_9B
+	person_event SPRITE_YOUNGSTER, 6, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x6adba, EVENT_BUG_CATCHING_CONTESTANT_10B
+	person_event SPRITE_OFFICER, 2, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x6acf4, EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY
--- a/maps/Route36RuinsofAlphgate.asm
+++ b/maps/Route36RuinsofAlphgate.asm
@@ -49,5 +49,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x6aa1a, -1
-	person_event SPRITE_GRAMPS, 5, 7, $2, 2, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x6aa1d, -1
+	person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x6aa1a, -1
+	person_event SPRITE_GRAMPS, 5, 7, SPRITEMOVEDATA_02, 2, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x6aa1d, -1
--- a/maps/Route37.asm
+++ b/maps/Route37.asm
@@ -20,7 +20,7 @@
 	return
 
 TrainerTwinsAnnandanne1:
-	trainer EVENT_BEAT_TWINS_ANN_AND_ANNE, TWINS, ANNANDANNE1, TwinsAnnandanne1SeenText, TwinsAnnandanne1BeatenText, $0000, TwinsAnnandanne1Script
+	trainer EVENT_BEAT_TWINS_ANN_AND_ANNE, TWINS, ANNANDANNE1, TwinsAnnandanne1SeenText, TwinsAnnandanne1BeatenText, 0, TwinsAnnandanne1Script
 
 TwinsAnnandanne1Script:
 	talkaftercancel
@@ -31,7 +31,7 @@
 	end
 
 TrainerTwinsAnnandanne2:
-	trainer EVENT_BEAT_TWINS_ANN_AND_ANNE, TWINS, ANNANDANNE2, TwinsAnnandanne2SeenText, TwinsAnnandanne2BeatenText, $0000, TwinsAnnandanne2Script
+	trainer EVENT_BEAT_TWINS_ANN_AND_ANNE, TWINS, ANNANDANNE2, TwinsAnnandanne2SeenText, TwinsAnnandanne2BeatenText, 0, TwinsAnnandanne2Script
 
 TwinsAnnandanne2Script:
 	talkaftercancel
@@ -42,7 +42,7 @@
 	end
 
 TrainerPsychicGreg:
-	trainer EVENT_BEAT_PSYCHIC_GREG, PSYCHIC_T, GREG, PsychicGregSeenText, PsychicGregBeatenText, $0000, PsychicGregScript
+	trainer EVENT_BEAT_PSYCHIC_GREG, PSYCHIC_T, GREG, PsychicGregSeenText, PsychicGregBeatenText, 0, PsychicGregScript
 
 PsychicGregScript:
 	talkaftercancel
@@ -249,10 +249,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_WEIRD_TREE, 12, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAnnandanne1, -1
-	person_event SPRITE_WEIRD_TREE, 12, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAnnandanne2, -1
-	person_event SPRITE_YOUNGSTER, 6, 6, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerPsychicGreg, -1
-	person_event SPRITE_FRUIT_TREE, 5, 13, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8e09, -1
-	person_event SPRITE_BUG_CATCHER, 8, 16, $2, 1, 1, -1, -1, 0, 0, 0, SunnyScript, EVENT_ROUTE_37_SUNNY_OF_SUNDAY
-	person_event SPRITE_FRUIT_TREE, 5, 16, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8e0b, -1
-	person_event SPRITE_FRUIT_TREE, 7, 15, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8e0d, -1
+	person_event SPRITE_WEIRD_TREE, 12, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAnnandanne1, -1
+	person_event SPRITE_WEIRD_TREE, 12, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAnnandanne2, -1
+	person_event SPRITE_YOUNGSTER, 6, 6, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerPsychicGreg, -1
+	person_event SPRITE_FRUIT_TREE, 5, 13, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8e09, -1
+	person_event SPRITE_BUG_CATCHER, 8, 16, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, SunnyScript, EVENT_ROUTE_37_SUNNY_OF_SUNDAY
+	person_event SPRITE_FRUIT_TREE, 5, 16, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8e0b, -1
+	person_event SPRITE_FRUIT_TREE, 7, 15, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8e0d, -1
--- a/maps/Route38.asm
+++ b/maps/Route38.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerBird_keeperToby:
-	trainer EVENT_BEAT_BIRD_KEEPER_TOBY, BIRD_KEEPER, TOBY, Bird_keeperTobySeenText, Bird_keeperTobyBeatenText, $0000, Bird_keeperTobyScript
+	trainer EVENT_BEAT_BIRD_KEEPER_TOBY, BIRD_KEEPER, TOBY, Bird_keeperTobySeenText, Bird_keeperTobyBeatenText, 0, Bird_keeperTobyScript
 
 Bird_keeperTobyScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerSailorHarry:
-	trainer EVENT_BEAT_SAILOR_HARRY, SAILOR, HARRY, SailorHarrySeenText, SailorHarryBeatenText, $0000, SailorHarryScript
+	trainer EVENT_BEAT_SAILOR_HARRY, SAILOR, HARRY, SailorHarrySeenText, SailorHarryBeatenText, 0, SailorHarryScript
 
 SailorHarryScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerLassDana1:
-	trainer EVENT_BEAT_LASS_DANA, LASS, DANA1, LassDana1SeenText, LassDana1BeatenText, $0000, LassDana1Script
+	trainer EVENT_BEAT_LASS_DANA, LASS, DANA1, LassDana1SeenText, LassDana1BeatenText, 0, LassDana1Script
 
 LassDana1Script:
 	writecode VAR_CALLERID, PHONE_LASS_DANA
@@ -60,7 +60,7 @@
 
 UnknownScript_0x1a1d82:
 	scall UnknownScript_0x1a1e23
-	winlosstext LassDana1BeatenText, $0000
+	winlosstext LassDana1BeatenText, 0
 	copybytetovar wDanaFightCount
 	if_equal 4, .Fight4
 	if_equal 3, .Fight3
@@ -166,7 +166,7 @@
 	end
 
 TrainerSchoolboyChad1:
-	trainer EVENT_BEAT_SCHOOLBOY_CHAD, SCHOOLBOY, CHAD1, SchoolboyChad1SeenText, SchoolboyChad1BeatenText, $0000, SchoolboyChad1Script
+	trainer EVENT_BEAT_SCHOOLBOY_CHAD, SCHOOLBOY, CHAD1, SchoolboyChad1SeenText, SchoolboyChad1BeatenText, 0, SchoolboyChad1Script
 
 SchoolboyChad1Script:
 	writecode VAR_CALLERID, PHONE_SCHOOLBOY_CHAD
@@ -196,7 +196,7 @@
 
 UnknownScript_0x1a1e75:
 	scall UnknownScript_0x1a1f01
-	winlosstext SchoolboyChad1BeatenText, $0000
+	winlosstext SchoolboyChad1BeatenText, 0
 	copybytetovar wChadFightCount
 	if_equal 4, .Fight4
 	if_equal 3, .Fight3
@@ -283,7 +283,7 @@
 	end
 
 TrainerBeautyValerie:
-	trainer EVENT_BEAT_BEAUTY_VALERIE, BEAUTY, VALERIE, BeautyValerieSeenText, BeautyValerieBeatenText, $0000, BeautyValerieScript
+	trainer EVENT_BEAT_BEAUTY_VALERIE, BEAUTY, VALERIE, BeautyValerieSeenText, BeautyValerieBeatenText, 0, BeautyValerieScript
 
 BeautyValerieScript:
 	talkaftercancel
@@ -294,7 +294,7 @@
 	end
 
 TrainerBeautyOlivia:
-	trainer EVENT_BEAT_BEAUTY_OLIVIA, BEAUTY, OLIVIA, BeautyOliviaSeenText, BeautyOliviaBeatenText, $0000, BeautyOliviaScript
+	trainer EVENT_BEAT_BEAUTY_OLIVIA, BEAUTY, OLIVIA, BeautyOliviaSeenText, BeautyOliviaBeatenText, 0, BeautyOliviaScript
 
 BeautyOliviaScript:
 	talkaftercancel
@@ -482,10 +482,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_STANDING_YOUNGSTER, 1, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyChad1, -1
-	person_event SPRITE_LASS, 3, 15, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerLassDana1, -1
-	person_event SPRITE_STANDING_YOUNGSTER, 15, 12, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBird_keeperToby, -1
-	person_event SPRITE_BUENA, 9, 19, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBeautyValerie, -1
-	person_event SPRITE_SAILOR, 5, 24, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerSailorHarry, -1
-	person_event SPRITE_FRUIT_TREE, 10, 12, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a1f33, -1
-	person_event SPRITE_BUENA, 8, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBeautyOlivia, -1
+	person_event SPRITE_STANDING_YOUNGSTER, 1, 4, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyChad1, -1
+	person_event SPRITE_LASS, 3, 15, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerLassDana1, -1
+	person_event SPRITE_STANDING_YOUNGSTER, 15, 12, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBird_keeperToby, -1
+	person_event SPRITE_BUENA, 9, 19, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBeautyValerie, -1
+	person_event SPRITE_SAILOR, 5, 24, SPRITEMOVEDATA_1E, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerSailorHarry, -1
+	person_event SPRITE_FRUIT_TREE, 10, 12, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a1f33, -1
+	person_event SPRITE_BUENA, 8, 5, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBeautyOlivia, -1
--- a/maps/Route38EcruteakGate.asm
+++ b/maps/Route38EcruteakGate.asm
@@ -40,4 +40,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x9cbd7, -1
+	person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x9cbd7, -1
--- a/maps/Route39.asm
+++ b/maps/Route39.asm
@@ -14,7 +14,7 @@
 	end
 
 TrainerPokefanmDerek1:
-	trainer EVENT_BEAT_POKEFANM_DEREK, POKEFANM, DEREK1, PokefanmDerek1SeenText, PokefanmDerek1BeatenText, $0000, PokefanmDerek1Script
+	trainer EVENT_BEAT_POKEFANM_DEREK, POKEFANM, DEREK1, PokefanmDerek1SeenText, PokefanmDerek1BeatenText, 0, PokefanmDerek1Script
 
 PokefanmDerek1Script:
 	writecode VAR_CALLERID, PHONE_POKEFANM_DEREK
@@ -93,7 +93,7 @@
 	end
 
 TrainerPokefanfRuth:
-	trainer EVENT_BEAT_POKEFANF_RUTH, POKEFANF, RUTH, PokefanfRuthSeenText, PokefanfRuthBeatenText, $0000, PokefanfRuthScript
+	trainer EVENT_BEAT_POKEFANF_RUTH, POKEFANF, RUTH, PokefanfRuthSeenText, PokefanfRuthBeatenText, 0, PokefanfRuthScript
 
 PokefanfRuthScript:
 	talkaftercancel
@@ -104,7 +104,7 @@
 	end
 
 TrainerSailorEugene:
-	trainer EVENT_BEAT_SAILOR_EUGENE, SAILOR, EUGENE, SailorEugeneSeenText, SailorEugeneBeatenText, $0000, SailorEugeneScript
+	trainer EVENT_BEAT_SAILOR_EUGENE, SAILOR, EUGENE, SailorEugeneSeenText, SailorEugeneBeatenText, 0, SailorEugeneScript
 
 SailorEugeneScript:
 	talkaftercancel
@@ -115,7 +115,7 @@
 	end
 
 TrainerPsychicNorman:
-	trainer EVENT_BEAT_PSYCHIC_NORMAN, PSYCHIC_T, NORMAN, PsychicNormanSeenText, PsychicNormanBeatenText, $0000, PsychicNormanScript
+	trainer EVENT_BEAT_PSYCHIC_NORMAN, PSYCHIC_T, NORMAN, PsychicNormanSeenText, PsychicNormanBeatenText, 0, PsychicNormanScript
 
 PsychicNormanScript:
 	talkaftercancel
@@ -135,7 +135,7 @@
 	writetext UnknownText_0x1a5ee8
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x1a5f17, $0000
+	winlosstext UnknownText_0x1a5f17, 0
 	loadtrainer POKEFANF, JAIME
 	startbattle
 	returnafterbattle
@@ -353,13 +353,13 @@
 
 .PersonEvents:
 	db 10
-	person_event SPRITE_SAILOR, 29, 13, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerSailorEugene, -1
-	person_event SPRITE_POKEFAN_M, 22, 10, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerPokefanmDerek1, -1
-	person_event SPRITE_POKEFAN_F, 19, 11, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerPokefanfRuth, -1
-	person_event SPRITE_TAUROS, 12, 3, $16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
-	person_event SPRITE_TAUROS, 11, 6, $16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
-	person_event SPRITE_TAUROS, 15, 4, $16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
-	person_event SPRITE_TAUROS, 13, 8, $16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
-	person_event SPRITE_STANDING_YOUNGSTER, 7, 13, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerPsychicNorman, -1
-	person_event SPRITE_FRUIT_TREE, 3, 9, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a5bf4, -1
-	person_event SPRITE_POKEFAN_F, 22, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x1a5bbe, -1
+	person_event SPRITE_SAILOR, 29, 13, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerSailorEugene, -1
+	person_event SPRITE_POKEFAN_M, 22, 10, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerPokefanmDerek1, -1
+	person_event SPRITE_POKEFAN_F, 19, 11, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerPokefanfRuth, -1
+	person_event SPRITE_TAUROS, 12, 3, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
+	person_event SPRITE_TAUROS, 11, 6, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
+	person_event SPRITE_TAUROS, 15, 4, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
+	person_event SPRITE_TAUROS, 13, 8, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
+	person_event SPRITE_STANDING_YOUNGSTER, 7, 13, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerPsychicNorman, -1
+	person_event SPRITE_FRUIT_TREE, 3, 9, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a5bf4, -1
+	person_event SPRITE_POKEFAN_F, 22, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x1a5bbe, -1
--- a/maps/Route39Barn.asm
+++ b/maps/Route39Barn.asm
@@ -9,15 +9,15 @@
 	faceplayer
 	loadfont
 	checkevent EVENT_HEALED_MOOMOO
-	iftrue UnknownScript_0x9cc87
-	writetext UnknownText_0x9cd2e
+	iftrue .FeedingMooMoo
+	writetext Text_MoomooIsSick
 	closetext
 	loadmovesprites
 	spriteface $2, RIGHT
 	end
 
-UnknownScript_0x9cc87:
-	writetext UnknownText_0x9cd5a
+.FeedingMooMoo:
+	writetext Text_WereFeedingMoomoo
 	closetext
 	loadmovesprites
 	spriteface $2, RIGHT
@@ -27,15 +27,15 @@
 	faceplayer
 	loadfont
 	checkevent EVENT_HEALED_MOOMOO
-	iftrue UnknownScript_0x9cca1
-	writetext UnknownText_0x9cd2e
+	iftrue .FeedingMooMoo
+	writetext Text_MoomooIsSick
 	closetext
 	loadmovesprites
 	spriteface $3, LEFT
 	end
 
-UnknownScript_0x9cca1:
-	writetext UnknownText_0x9cd5a
+.FeedingMooMoo:
+	writetext Text_WereFeedingMoomoo
 	closetext
 	loadmovesprites
 	spriteface $3, LEFT
@@ -44,78 +44,78 @@
 TaurosScript_0x9ccaa:
 	loadfont
 	checkevent EVENT_HEALED_MOOMOO
-	iftrue UnknownScript_0x9cd25
-	writetext UnknownText_0x9cd70
+	iftrue .HappyCow
+	writetext Text_WeakMoo
 	writebyte MILTANK
-	special Functionfb841
+	special PlaySlowCry
 	keeptextopen
-	writetext UnknownText_0x9cd80
+	writetext Text_ItsCryIsWeak
 	checkevent EVENT_TALKED_TO_FARMER_ABOUT_MOOMOO
-	iftrue UnknownScript_0x9ccc6
+	iftrue .GiveBerry
 	closetext
 	loadmovesprites
 	end
 
-UnknownScript_0x9ccc6:
+.GiveBerry:
 	keeptextopen
-	writetext UnknownText_0x9cda2
+	writetext Text_AskGiveBerry
 	yesorno
-	iffalse UnknownScript_0x9cd1f
+	iffalse .Refused
 	checkitem BERRY
-	iffalse UnknownScript_0x9cd19
+	iffalse .NoBerriesInBag
 	takeitem BERRY, 1
 	copybytetovar MooMooBerries
-	addvar $1
+	addvar 1
 	copyvartobyte MooMooBerries
-	if_equal $3, UnknownScript_0x9ccf0
-	if_equal $5, UnknownScript_0x9ccfa
-	if_equal $7, UnknownScript_0x9cd04
-	writetext UnknownText_0x9cdbc
+	if_equal 3, .ThreeBerries
+	if_equal 5, .FiveBerries
+	if_equal 7, .SevenBerries
+	writetext Text_GaveBerry
 	closetext
 	loadmovesprites
 	end
 
-UnknownScript_0x9ccf0:
-	writetext UnknownText_0x9cdbc
+.ThreeBerries:
+	writetext Text_GaveBerry
 	keeptextopen
-	writetext UnknownText_0x9cdd8
+	writetext Text_LittleHealthier
 	closetext
 	loadmovesprites
 	end
 
-UnknownScript_0x9ccfa:
-	writetext UnknownText_0x9cdbc
+.FiveBerries:
+	writetext Text_GaveBerry
 	keeptextopen
-	writetext UnknownText_0x9cdfc
+	writetext Text_QuiteHealthy
 	closetext
 	loadmovesprites
 	end
 
-UnknownScript_0x9cd04:
+.SevenBerries:
 	playmusic MUSIC_HEAL
-	writetext UnknownText_0x9cdbc
+	writetext Text_GaveBerry
 	pause 60
 	keeptextopen
 	special RestartMapMusic
-	writetext UnknownText_0x9ce1b
+	writetext Text_TotallyHealthy
 	closetext
 	loadmovesprites
 	setevent EVENT_HEALED_MOOMOO
 	end
 
-UnknownScript_0x9cd19:
-	writetext UnknownText_0x9ce3c
+.NoBerriesInBag:
+	writetext Text_NoBerries
 	closetext
 	loadmovesprites
 	end
 
-UnknownScript_0x9cd1f:
-	writetext UnknownText_0x9ce4f
+.Refused:
+	writetext Text_RefusedToGiveBerry
 	closetext
 	loadmovesprites
 	end
 
-UnknownScript_0x9cd25:
+.HappyCow:
 	writetext UnknownText_0x9cd92
 	cry MILTANK
 	closetext
@@ -122,7 +122,7 @@
 	loadmovesprites
 	end
 
-UnknownText_0x9cd2e:
+Text_MoomooIsSick:
 	text "MOOMOO is sick…"
 
 	para "She needs lots of"
@@ -129,16 +129,16 @@
 	line "BERRIES."
 	done
 
-UnknownText_0x9cd5a:
+Text_WereFeedingMoomoo:
 	text "We're feeding"
 	line "MOOMOO!"
 	done
 
-UnknownText_0x9cd70:
+Text_WeakMoo:
 	text "MILTANK: …Moo…"
 	done
 
-UnknownText_0x9cd80:
+Text_ItsCryIsWeak:
 	text "Its cry is weak…"
 	done
 
@@ -146,37 +146,37 @@
 	text "MILTANK: Mooo!"
 	done
 
-UnknownText_0x9cda2:
+Text_AskGiveBerry:
 	text "Give a BERRY to"
 	line "MILTANK?"
 	done
 
-UnknownText_0x9cdbc:
+Text_GaveBerry:
 	text "<PLAYER> gave a"
 	line "BERRY to MILTANK."
 	done
 
-UnknownText_0x9cdd8:
+Text_LittleHealthier:
 	text "MILTANK became a"
 	line "little healthier!"
 	done
 
-UnknownText_0x9cdfc:
+Text_QuiteHealthy:
 	text "MILTANK became"
 	line "quite healthy!"
 	done
 
-UnknownText_0x9ce1b:
+Text_TotallyHealthy:
 	text "MILTANK became"
 	line "totally healthy!"
 	done
 
-UnknownText_0x9ce3c:
+Text_NoBerries:
 	text "<PLAYER> has no"
 	line "BERRIES…"
 	done
 
-UnknownText_0x9ce4f:
+Text_RefusedToGiveBerry:
 	text "<PLAYER> wouldn't"
 	line "give a BERRY."
 
@@ -200,6 +200,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_TWIN, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, TwinScript_0x9cc76, -1
-	person_event SPRITE_TWIN, 3, 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x9cc90, -1
-	person_event SPRITE_TAUROS, 3, 3, $16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x9ccaa, -1
+	person_event SPRITE_TWIN, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, TwinScript_0x9cc76, -1
+	person_event SPRITE_TWIN, 3, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x9cc90, -1
+	person_event SPRITE_TAUROS, 3, 3, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x9ccaa, -1
--- a/maps/Route39Farmhouse.asm
+++ b/maps/Route39Farmhouse.asm
@@ -207,5 +207,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_POKEFAN_M, 2, 3, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanMScript_0x9ceb4, -1
-	person_event SPRITE_POKEFAN_F, 4, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanFScript_0x9cf0e, -1
+	person_event SPRITE_POKEFAN_M, 2, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanMScript_0x9ceb4, -1
+	person_event SPRITE_POKEFAN_F, 4, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanFScript_0x9cf0e, -1
--- a/maps/Route4.asm
+++ b/maps/Route4.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerBird_keeperHank:
-	trainer EVENT_BEAT_BIRD_KEEPER_HANK, BIRD_KEEPER, HANK, Bird_keeperHankSeenText, Bird_keeperHankBeatenText, $0000, Bird_keeperHankScript
+	trainer EVENT_BEAT_BIRD_KEEPER_HANK, BIRD_KEEPER, HANK, Bird_keeperHankSeenText, Bird_keeperHankBeatenText, 0, Bird_keeperHankScript
 
 Bird_keeperHankScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerPicnickerHope:
-	trainer EVENT_BEAT_PICNICKER_HOPE, PICNICKER, HOPE, PicnickerHopeSeenText, PicnickerHopeBeatenText, $0000, PicnickerHopeScript
+	trainer EVENT_BEAT_PICNICKER_HOPE, PICNICKER, HOPE, PicnickerHopeSeenText, PicnickerHopeBeatenText, 0, PicnickerHopeScript
 
 PicnickerHopeScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerPicnickerSharon:
-	trainer EVENT_BEAT_PICNICKER_SHARON, PICNICKER, SHARON, PicnickerSharonSeenText, PicnickerSharonBeatenText, $0000, PicnickerSharonScript
+	trainer EVENT_BEAT_PICNICKER_SHARON, PICNICKER, SHARON, PicnickerSharonSeenText, PicnickerSharonBeatenText, 0, PicnickerSharonScript
 
 PicnickerSharonScript:
 	talkaftercancel
@@ -133,7 +133,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_YOUNGSTER, 9, 17, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperHank, -1
-	person_event SPRITE_LASS, 8, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerPicnickerHope, -1
-	person_event SPRITE_LASS, 6, 21, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerPicnickerSharon, -1
-	person_event SPRITE_POKE_BALL, 3, 26, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ae20f, EVENT_ROUTE_4_HP_UP
+	person_event SPRITE_YOUNGSTER, 9, 17, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperHank, -1
+	person_event SPRITE_LASS, 8, 9, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerPicnickerHope, -1
+	person_event SPRITE_LASS, 6, 21, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerPicnickerSharon, -1
+	person_event SPRITE_POKE_BALL, 3, 26, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ae20f, EVENT_ROUTE_4_HP_UP
--- a/maps/Route40.asm
+++ b/maps/Route40.asm
@@ -21,7 +21,7 @@
 	return
 
 TrainerSwimmerfElaine:
-	trainer EVENT_BEAT_SWIMMERF_ELAINE, SWIMMERF, ELAINE, SwimmerfElaineSeenText, SwimmerfElaineBeatenText, $0000, SwimmerfElaineScript
+	trainer EVENT_BEAT_SWIMMERF_ELAINE, SWIMMERF, ELAINE, SwimmerfElaineSeenText, SwimmerfElaineBeatenText, 0, SwimmerfElaineScript
 
 SwimmerfElaineScript:
 	talkaftercancel
@@ -32,7 +32,7 @@
 	end
 
 TrainerSwimmerfPaula:
-	trainer EVENT_BEAT_SWIMMERF_PAULA, SWIMMERF, PAULA, SwimmerfPaulaSeenText, SwimmerfPaulaBeatenText, $0000, SwimmerfPaulaScript
+	trainer EVENT_BEAT_SWIMMERF_PAULA, SWIMMERF, PAULA, SwimmerfPaulaSeenText, SwimmerfPaulaBeatenText, 0, SwimmerfPaulaScript
 
 SwimmerfPaulaScript:
 	talkaftercancel
@@ -43,7 +43,7 @@
 	end
 
 TrainerSwimmermSimon:
-	trainer EVENT_BEAT_SWIMMERM_SIMON, SWIMMERM, SIMON, SwimmermSimonSeenText, SwimmermSimonBeatenText, $0000, SwimmermSimonScript
+	trainer EVENT_BEAT_SWIMMERM_SIMON, SWIMMERM, SIMON, SwimmermSimonSeenText, SwimmermSimonBeatenText, 0, SwimmermSimonScript
 
 SwimmermSimonScript:
 	talkaftercancel
@@ -54,7 +54,7 @@
 	end
 
 TrainerSwimmermRandall:
-	trainer EVENT_BEAT_SWIMMERM_RANDALL, SWIMMERM, RANDALL, SwimmermRandallSeenText, SwimmermRandallBeatenText, $0000, SwimmermRandallScript
+	trainer EVENT_BEAT_SWIMMERM_RANDALL, SWIMMERM, RANDALL, SwimmermRandallSeenText, SwimmermRandallBeatenText, 0, SwimmermRandallScript
 
 SwimmermRandallScript:
 	talkaftercancel
@@ -344,15 +344,15 @@
 
 .PersonEvents:
 	db 12
-	person_event SPRITE_OLIVINE_RIVAL, 15, 14, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerSwimmermSimon, -1
-	person_event SPRITE_OLIVINE_RIVAL, 30, 18, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerSwimmermRandall, -1
-	person_event SPRITE_SWIMMER_GIRL, 19, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerSwimmerfElaine, -1
-	person_event SPRITE_SWIMMER_GIRL, 25, 10, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfPaula, -1
-	person_event SPRITE_ROCK, 11, 7, $18, 0, 0, -1, -1, 0, 0, 0, Route40Rock, -1
-	person_event SPRITE_ROCK, 9, 6, $18, 0, 0, -1, -1, 0, 0, 0, Route40Rock, -1
-	person_event SPRITE_ROCK, 8, 7, $18, 0, 0, -1, -1, 0, 0, 0, Route40Rock, -1
-	person_event SPRITE_LASS, 13, 11, $6, 0, 0, -1, -1, 0, 0, 0, LassScript_0x1a61c4, -1
-	person_event SPRITE_BUENA, 10, 8, $3, 0, 0, -1, -1, 0, 0, 0, MonicaScript, EVENT_ROUTE_40_MONICA_OF_MONDAY
-	person_event SPRITE_POKEFAN_M, 6, 7, $9, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x1a61c7, -1
-	person_event SPRITE_LASS, 4, 13, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x1a61d3, -1
-	person_event SPRITE_STANDING_YOUNGSTER, 9, 16, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, StandingYoungsterScript_0x1a61d6, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
+	person_event SPRITE_OLIVINE_RIVAL, 15, 14, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerSwimmermSimon, -1
+	person_event SPRITE_OLIVINE_RIVAL, 30, 18, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerSwimmermRandall, -1
+	person_event SPRITE_SWIMMER_GIRL, 19, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerSwimmerfElaine, -1
+	person_event SPRITE_SWIMMER_GIRL, 25, 10, SPRITEMOVEDATA_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfPaula, -1
+	person_event SPRITE_ROCK, 11, 7, SPRITEMOVEDATA_18, 0, 0, -1, -1, 0, 0, 0, Route40Rock, -1
+	person_event SPRITE_ROCK, 9, 6, SPRITEMOVEDATA_18, 0, 0, -1, -1, 0, 0, 0, Route40Rock, -1
+	person_event SPRITE_ROCK, 8, 7, SPRITEMOVEDATA_18, 0, 0, -1, -1, 0, 0, 0, Route40Rock, -1
+	person_event SPRITE_LASS, 13, 11, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, LassScript_0x1a61c4, -1
+	person_event SPRITE_BUENA, 10, 8, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, MonicaScript, EVENT_ROUTE_40_MONICA_OF_MONDAY
+	person_event SPRITE_POKEFAN_M, 6, 7, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x1a61c7, -1
+	person_event SPRITE_LASS, 4, 13, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x1a61d3, -1
+	person_event SPRITE_STANDING_YOUNGSTER, 9, 16, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, StandingYoungsterScript_0x1a61d6, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
--- a/maps/Route40BattleTowerGate.asm
+++ b/maps/Route40BattleTowerGate.asm
@@ -88,5 +88,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_ROCKER, 3, 3, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, RockerScript_0x9f669, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
-	person_event SPRITE_TWIN, 5, 7, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TwinScript_0x9f66c, -1
+	person_event SPRITE_ROCKER, 3, 3, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, RockerScript_0x9f669, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
+	person_event SPRITE_TWIN, 5, 7, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TwinScript_0x9f66c, -1
--- a/maps/Route41.asm
+++ b/maps/Route41.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerSwimmerfKaylee:
-	trainer EVENT_BEAT_SWIMMERF_KAYLEE, SWIMMERF, KAYLEE, SwimmerfKayleeSeenText, SwimmerfKayleeBeatenText, $0000, SwimmerfKayleeScript
+	trainer EVENT_BEAT_SWIMMERF_KAYLEE, SWIMMERF, KAYLEE, SwimmerfKayleeSeenText, SwimmerfKayleeBeatenText, 0, SwimmerfKayleeScript
 
 SwimmerfKayleeScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerSwimmerfSusie:
-	trainer EVENT_BEAT_SWIMMERF_SUSIE, SWIMMERF, SUSIE, SwimmerfSusieSeenText, SwimmerfSusieBeatenText, $0000, SwimmerfSusieScript
+	trainer EVENT_BEAT_SWIMMERF_SUSIE, SWIMMERF, SUSIE, SwimmerfSusieSeenText, SwimmerfSusieBeatenText, 0, SwimmerfSusieScript
 
 SwimmerfSusieScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerSwimmerfDenise:
-	trainer EVENT_BEAT_SWIMMERF_DENISE, SWIMMERF, DENISE, SwimmerfDeniseSeenText, SwimmerfDeniseBeatenText, $0000, SwimmerfDeniseScript
+	trainer EVENT_BEAT_SWIMMERF_DENISE, SWIMMERF, DENISE, SwimmerfDeniseSeenText, SwimmerfDeniseBeatenText, 0, SwimmerfDeniseScript
 
 SwimmerfDeniseScript:
 	talkaftercancel
@@ -39,7 +39,7 @@
 	end
 
 TrainerSwimmerfKara:
-	trainer EVENT_BEAT_SWIMMERF_KARA, SWIMMERF, KARA, SwimmerfKaraSeenText, SwimmerfKaraBeatenText, $0000, SwimmerfKaraScript
+	trainer EVENT_BEAT_SWIMMERF_KARA, SWIMMERF, KARA, SwimmerfKaraSeenText, SwimmerfKaraBeatenText, 0, SwimmerfKaraScript
 
 SwimmerfKaraScript:
 	talkaftercancel
@@ -50,7 +50,7 @@
 	end
 
 TrainerSwimmerfWendy:
-	trainer EVENT_BEAT_SWIMMERF_WENDY, SWIMMERF, WENDY, SwimmerfWendySeenText, SwimmerfWendyBeatenText, $0000, SwimmerfWendyScript
+	trainer EVENT_BEAT_SWIMMERF_WENDY, SWIMMERF, WENDY, SwimmerfWendySeenText, SwimmerfWendyBeatenText, 0, SwimmerfWendyScript
 
 SwimmerfWendyScript:
 	talkaftercancel
@@ -61,7 +61,7 @@
 	end
 
 TrainerSwimmermCharlie:
-	trainer EVENT_BEAT_SWIMMERM_CHARLIE, SWIMMERM, CHARLIE, SwimmermCharlieSeenText, SwimmermCharlieBeatenText, $0000, SwimmermCharlieScript
+	trainer EVENT_BEAT_SWIMMERM_CHARLIE, SWIMMERM, CHARLIE, SwimmermCharlieSeenText, SwimmermCharlieBeatenText, 0, SwimmermCharlieScript
 
 SwimmermCharlieScript:
 	talkaftercancel
@@ -72,7 +72,7 @@
 	end
 
 TrainerSwimmermGeorge:
-	trainer EVENT_BEAT_SWIMMERM_GEORGE, SWIMMERM, GEORGE, SwimmermGeorgeSeenText, SwimmermGeorgeBeatenText, $0000, SwimmermGeorgeScript
+	trainer EVENT_BEAT_SWIMMERM_GEORGE, SWIMMERM, GEORGE, SwimmermGeorgeSeenText, SwimmermGeorgeBeatenText, 0, SwimmermGeorgeScript
 
 SwimmermGeorgeScript:
 	talkaftercancel
@@ -83,7 +83,7 @@
 	end
 
 TrainerSwimmermBerke:
-	trainer EVENT_BEAT_SWIMMERM_BERKE, SWIMMERM, BERKE, SwimmermBerkeSeenText, SwimmermBerkeBeatenText, $0000, SwimmermBerkeScript
+	trainer EVENT_BEAT_SWIMMERM_BERKE, SWIMMERM, BERKE, SwimmermBerkeSeenText, SwimmermBerkeBeatenText, 0, SwimmermBerkeScript
 
 SwimmermBerkeScript:
 	talkaftercancel
@@ -94,7 +94,7 @@
 	end
 
 TrainerSwimmermKirk:
-	trainer EVENT_BEAT_SWIMMERM_KIRK, SWIMMERM, KIRK, SwimmermKirkSeenText, SwimmermKirkBeatenText, $0000, SwimmermKirkScript
+	trainer EVENT_BEAT_SWIMMERM_KIRK, SWIMMERM, KIRK, SwimmermKirkSeenText, SwimmermKirkBeatenText, 0, SwimmermKirkScript
 
 SwimmermKirkScript:
 	talkaftercancel
@@ -105,7 +105,7 @@
 	end
 
 TrainerSwimmermMathew:
-	trainer EVENT_BEAT_SWIMMERM_MATHEW, SWIMMERM, MATHEW, SwimmermMathewSeenText, SwimmermMathewBeatenText, $0000, SwimmermMathewScript
+	trainer EVENT_BEAT_SWIMMERM_MATHEW, SWIMMERM, MATHEW, SwimmermMathewSeenText, SwimmermMathewBeatenText, 0, SwimmermMathewScript
 
 SwimmermMathewScript:
 	talkaftercancel
@@ -349,13 +349,13 @@
 
 .PersonEvents:
 	db 10
-	person_event SPRITE_OLIVINE_RIVAL, 6, 32, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermCharlie, -1
-	person_event SPRITE_OLIVINE_RIVAL, 8, 46, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermGeorge, -1
-	person_event SPRITE_OLIVINE_RIVAL, 26, 20, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermBerke, -1
-	person_event SPRITE_OLIVINE_RIVAL, 30, 32, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermKirk, -1
-	person_event SPRITE_OLIVINE_RIVAL, 46, 19, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermMathew, -1
-	person_event SPRITE_SWIMMER_GIRL, 4, 17, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfKaylee, -1
-	person_event SPRITE_SWIMMER_GIRL, 19, 23, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfSusie, -1
-	person_event SPRITE_SWIMMER_GIRL, 34, 27, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfDenise, -1
-	person_event SPRITE_SWIMMER_GIRL, 28, 44, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerSwimmerfKara, -1
-	person_event SPRITE_SWIMMER_GIRL, 50, 9, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerSwimmerfWendy, -1
+	person_event SPRITE_OLIVINE_RIVAL, 6, 32, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermCharlie, -1
+	person_event SPRITE_OLIVINE_RIVAL, 8, 46, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermGeorge, -1
+	person_event SPRITE_OLIVINE_RIVAL, 26, 20, SPRITEMOVEDATA_1E, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermBerke, -1
+	person_event SPRITE_OLIVINE_RIVAL, 30, 32, SPRITEMOVEDATA_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermKirk, -1
+	person_event SPRITE_OLIVINE_RIVAL, 46, 19, SPRITEMOVEDATA_1E, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermMathew, -1
+	person_event SPRITE_SWIMMER_GIRL, 4, 17, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfKaylee, -1
+	person_event SPRITE_SWIMMER_GIRL, 19, 23, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfSusie, -1
+	person_event SPRITE_SWIMMER_GIRL, 34, 27, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfDenise, -1
+	person_event SPRITE_SWIMMER_GIRL, 28, 44, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerSwimmerfKara, -1
+	person_event SPRITE_SWIMMER_GIRL, 50, 9, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerSwimmerfWendy, -1
--- a/maps/Route42.asm
+++ b/maps/Route42.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x1a9216, $0000
-	dw UnknownScript_0x1a9217, $0000
+	dw UnknownScript_0x1a9216, 0
+	dw UnknownScript_0x1a9217, 0
 
 .MapCallbacks:
 	db 0
@@ -28,7 +28,7 @@
 	end
 
 TrainerFisherTully1:
-	trainer EVENT_BEAT_FISHER_TULLY, FISHER, TULLY1, FisherTully1SeenText, FisherTully1BeatenText, $0000, FisherTully1Script
+	trainer EVENT_BEAT_FISHER_TULLY, FISHER, TULLY1, FisherTully1SeenText, FisherTully1BeatenText, 0, FisherTully1Script
 
 FisherTully1Script:
 	writecode VAR_CALLERID, PHONE_FISHER_TULLY
@@ -60,7 +60,7 @@
 
 UnknownScript_0x1a927f:
 	scall UnknownScript_0x1a9309
-	winlosstext FisherTully1BeatenText, $0000
+	winlosstext FisherTully1BeatenText, 0
 	copybytetovar wTullyFightCount
 	if_equal 3, .Fight3
 	if_equal 2, .Fight2
@@ -154,7 +154,7 @@
 	end
 
 TrainerPokemaniacShane:
-	trainer EVENT_BEAT_POKEMANIAC_SHANE, POKEMANIAC, SHANE, PokemaniacShaneSeenText, PokemaniacShaneBeatenText, $0000, PokemaniacShaneScript
+	trainer EVENT_BEAT_POKEMANIAC_SHANE, POKEMANIAC, SHANE, PokemaniacShaneSeenText, PokemaniacShaneBeatenText, 0, PokemaniacShaneScript
 
 PokemaniacShaneScript:
 	talkaftercancel
@@ -165,7 +165,7 @@
 	end
 
 TrainerHikerBenjamin:
-	trainer EVENT_BEAT_HIKER_BENJAMIN, HIKER, BENJAMIN, HikerBenjaminSeenText, HikerBenjaminBeatenText, $0000, HikerBenjaminScript
+	trainer EVENT_BEAT_HIKER_BENJAMIN, HIKER, BENJAMIN, HikerBenjaminSeenText, HikerBenjaminBeatenText, 0, HikerBenjaminScript
 
 HikerBenjaminScript:
 	talkaftercancel
@@ -336,12 +336,12 @@
 
 .PersonEvents:
 	db 9
-	person_event SPRITE_FISHER, 10, 40, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherTully1, -1
-	person_event SPRITE_POKEFAN_M, 9, 51, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerBenjamin, -1
-	person_event SPRITE_SUPER_NERD, 8, 47, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacShane, -1
-	person_event SPRITE_FRUIT_TREE, 16, 27, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a934d, -1
-	person_event SPRITE_FRUIT_TREE, 16, 28, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a934f, -1
-	person_event SPRITE_FRUIT_TREE, 16, 29, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a9351, -1
-	person_event SPRITE_POKE_BALL, 4, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a9349, EVENT_ROUTE_42_ULTRA_BALL
-	person_event SPRITE_POKE_BALL, 8, 33, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a934b, EVENT_ROUTE_42_SUPER_POTION
-	person_event SPRITE_SUICUNE, 16, 26, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_SAW_SUICUNE_ON_ROUTE_42
+	person_event SPRITE_FISHER, 10, 40, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherTully1, -1
+	person_event SPRITE_POKEFAN_M, 9, 51, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerBenjamin, -1
+	person_event SPRITE_SUPER_NERD, 8, 47, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacShane, -1
+	person_event SPRITE_FRUIT_TREE, 16, 27, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a934d, -1
+	person_event SPRITE_FRUIT_TREE, 16, 28, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a934f, -1
+	person_event SPRITE_FRUIT_TREE, 16, 29, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a9351, -1
+	person_event SPRITE_POKE_BALL, 4, 6, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a9349, EVENT_ROUTE_42_ULTRA_BALL
+	person_event SPRITE_POKE_BALL, 8, 33, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a934b, EVENT_ROUTE_42_SUPER_POTION
+	person_event SPRITE_SUICUNE, 16, 26, SPRITEMOVEDATA_01, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_SAW_SUICUNE_ON_ROUTE_42
--- a/maps/Route42EcruteakGate.asm
+++ b/maps/Route42EcruteakGate.asm
@@ -35,4 +35,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x19a4b5, -1
+	person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x19a4b5, -1
--- a/maps/Route43.asm
+++ b/maps/Route43.asm
@@ -20,7 +20,7 @@
 	return
 
 TrainerCamperSpencer:
-	trainer EVENT_BEAT_CAMPER_SPENCER, CAMPER, SPENCER, CamperSpencerSeenText, CamperSpencerBeatenText, $0000, CamperSpencerScript
+	trainer EVENT_BEAT_CAMPER_SPENCER, CAMPER, SPENCER, CamperSpencerSeenText, CamperSpencerBeatenText, 0, CamperSpencerScript
 
 CamperSpencerScript:
 	talkaftercancel
@@ -31,7 +31,7 @@
 	end
 
 TrainerPokemaniacBen:
-	trainer EVENT_BEAT_POKEMANIAC_BEN, POKEMANIAC, BEN, PokemaniacBenSeenText, PokemaniacBenBeatenText, $0000, PokemaniacBenScript
+	trainer EVENT_BEAT_POKEMANIAC_BEN, POKEMANIAC, BEN, PokemaniacBenSeenText, PokemaniacBenBeatenText, 0, PokemaniacBenScript
 
 PokemaniacBenScript:
 	talkaftercancel
@@ -42,7 +42,7 @@
 	end
 
 TrainerPokemaniacBrent1:
-	trainer EVENT_BEAT_POKEMANIAC_BRENT, POKEMANIAC, BRENT1, PokemaniacBrent1SeenText, PokemaniacBrent1BeatenText, $0000, PokemaniacBrent1Script
+	trainer EVENT_BEAT_POKEMANIAC_BRENT, POKEMANIAC, BRENT1, PokemaniacBrent1SeenText, PokemaniacBrent1BeatenText, 0, PokemaniacBrent1Script
 
 PokemaniacBrent1Script:
 	writecode VAR_CALLERID, PHONE_POKEMANIAC_BRENT
@@ -72,7 +72,7 @@
 
 UnknownScript_0x19d0cf:
 	scall UnknownScript_0x19d144
-	winlosstext PokemaniacBrent1BeatenText, $0000
+	winlosstext PokemaniacBrent1BeatenText, 0
 	copybytetovar wBrentFightCount
 	if_equal 3, .Fight3
 	if_equal 2, .Fight2
@@ -147,7 +147,7 @@
 	end
 
 TrainerPokemaniacRon:
-	trainer EVENT_BEAT_POKEMANIAC_RON, POKEMANIAC, RON, PokemaniacRonSeenText, PokemaniacRonBeatenText, $0000, PokemaniacRonScript
+	trainer EVENT_BEAT_POKEMANIAC_RON, POKEMANIAC, RON, PokemaniacRonSeenText, PokemaniacRonBeatenText, 0, PokemaniacRonScript
 
 PokemaniacRonScript:
 	talkaftercancel
@@ -158,7 +158,7 @@
 	end
 
 TrainerFisherMarvin:
-	trainer EVENT_BEAT_FISHER_MARVIN, FISHER, MARVIN, FisherMarvinSeenText, FisherMarvinBeatenText, $0000, FisherMarvinScript
+	trainer EVENT_BEAT_FISHER_MARVIN, FISHER, MARVIN, FisherMarvinSeenText, FisherMarvinBeatenText, 0, FisherMarvinScript
 
 FisherMarvinScript:
 	talkaftercancel
@@ -169,7 +169,7 @@
 	end
 
 TrainerPicnickerTiffany3:
-	trainer EVENT_BEAT_PICNICKER_TIFFANY, PICNICKER, TIFFANY3, PicnickerTiffany3SeenText, PicnickerTiffany3BeatenText, $0000, PicnickerTiffany3Script
+	trainer EVENT_BEAT_PICNICKER_TIFFANY, PICNICKER, TIFFANY3, PicnickerTiffany3SeenText, PicnickerTiffany3BeatenText, 0, PicnickerTiffany3Script
 
 PicnickerTiffany3Script:
 	writecode VAR_CALLERID, PHONE_PICNICKER_TIFFANY
@@ -203,7 +203,7 @@
 
 UnknownScript_0x19d1c1:
 	scall UnknownScript_0x19d251
-	winlosstext PicnickerTiffany3BeatenText, $0000
+	winlosstext PicnickerTiffany3BeatenText, 0
 	copybytetovar wTiffanyFightCount
 	if_equal 3, .Fight3
 	if_equal 2, .Fight2
@@ -516,11 +516,11 @@
 
 .PersonEvents:
 	db 8
-	person_event SPRITE_SUPER_NERD, 5, 13, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPokemaniacBen, -1
-	person_event SPRITE_SUPER_NERD, 20, 13, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacBrent1, -1
-	person_event SPRITE_SUPER_NERD, 7, 14, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPokemaniacRon, -1
-	person_event SPRITE_FISHER, 16, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerFisherMarvin, -1
-	person_event SPRITE_LASS, 25, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerTiffany3, -1
-	person_event SPRITE_YOUNGSTER, 40, 13, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperSpencer, -1
-	person_event SPRITE_FRUIT_TREE, 26, 1, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19d266, -1
-	person_event SPRITE_POKE_BALL, 32, 12, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19d268, EVENT_ROUTE_43_MAX_ETHER
+	person_event SPRITE_SUPER_NERD, 5, 13, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPokemaniacBen, -1
+	person_event SPRITE_SUPER_NERD, 20, 13, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacBrent1, -1
+	person_event SPRITE_SUPER_NERD, 7, 14, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPokemaniacRon, -1
+	person_event SPRITE_FISHER, 16, 4, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerFisherMarvin, -1
+	person_event SPRITE_LASS, 25, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerTiffany3, -1
+	person_event SPRITE_YOUNGSTER, 40, 13, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperSpencer, -1
+	person_event SPRITE_FRUIT_TREE, 26, 1, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19d266, -1
+	person_event SPRITE_POKE_BALL, 32, 12, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19d268, EVENT_ROUTE_43_MAX_ETHER
--- a/maps/Route43Gate.asm
+++ b/maps/Route43Gate.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x19abc5, $0000
-	dw UnknownScript_0x19abc9, $0000
+	dw UnknownScript_0x19abc5, 0
+	dw UnknownScript_0x19abc9, 0
 
 .MapCallbacks:
 	db 1
@@ -264,6 +264,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x19ac85, EVENT_LAKE_OF_RAGE_CIVILIANS
-	person_event SPRITE_ROCKET, 4, 2, $6, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x19ac82, EVENT_ROUTE_43_GATE_ROCKETS
-	person_event SPRITE_ROCKET, 4, 7, $7, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x19ac82, EVENT_ROUTE_43_GATE_ROCKETS
+	person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x19ac85, EVENT_LAKE_OF_RAGE_CIVILIANS
+	person_event SPRITE_ROCKET, 4, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x19ac82, EVENT_ROUTE_43_GATE_ROCKETS
+	person_event SPRITE_ROCKET, 4, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x19ac82, EVENT_ROUTE_43_GATE_ROCKETS
--- a/maps/Route43MahoganyGate.asm
+++ b/maps/Route43MahoganyGate.asm
@@ -54,4 +54,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x19ab0b, -1
+	person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x19ab0b, -1
--- a/maps/Route44.asm
+++ b/maps/Route44.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerBird_keeperVance1:
-	trainer EVENT_BEAT_BIRD_KEEPER_VANCE, BIRD_KEEPER, VANCE1, Bird_keeperVance1SeenText, Bird_keeperVance1BeatenText, $0000, Bird_keeperVance1Script
+	trainer EVENT_BEAT_BIRD_KEEPER_VANCE, BIRD_KEEPER, VANCE1, Bird_keeperVance1SeenText, Bird_keeperVance1BeatenText, 0, Bird_keeperVance1Script
 
 Bird_keeperVance1Script:
 	writecode VAR_CALLERID, PHONE_BIRDKEEPER_VANCE
@@ -36,7 +36,7 @@
 
 UnknownScript_0x19d86a:
 	scall UnknownScript_0x19d8f7
-	winlosstext Bird_keeperVance1BeatenText, $0000
+	winlosstext Bird_keeperVance1BeatenText, 0
 	copybytetovar wVanceFightCount
 	if_equal 2, .Fight2
 	if_equal 1, .Fight1
@@ -137,7 +137,7 @@
 	end
 
 TrainerPsychicPhil:
-	trainer EVENT_BEAT_PSYCHIC_PHIL, PSYCHIC_T, PHIL, PsychicPhilSeenText, PsychicPhilBeatenText, $0000, PsychicPhilScript
+	trainer EVENT_BEAT_PSYCHIC_PHIL, PSYCHIC_T, PHIL, PsychicPhilSeenText, PsychicPhilBeatenText, 0, PsychicPhilScript
 
 PsychicPhilScript:
 	talkaftercancel
@@ -148,7 +148,7 @@
 	end
 
 TrainerFisherWilton1:
-	trainer EVENT_BEAT_FISHER_WILTON, FISHER, WILTON1, FisherWilton1SeenText, FisherWilton1BeatenText, $0000, FisherWilton1Script
+	trainer EVENT_BEAT_FISHER_WILTON, FISHER, WILTON1, FisherWilton1SeenText, FisherWilton1BeatenText, 0, FisherWilton1Script
 
 FisherWilton1Script:
 	writecode VAR_CALLERID, PHONE_FISHER_WILTON
@@ -180,7 +180,7 @@
 
 UnknownScript_0x19d96e:
 	scall UnknownScript_0x19d8f7
-	winlosstext FisherWilton1BeatenText, $0000
+	winlosstext FisherWilton1BeatenText, 0
 	copybytetovar wWiltonFightCount
 	if_equal 2, .Fight2
 	if_equal 1, .Fight1
@@ -243,7 +243,7 @@
 	jump UnknownScript_0x19d8ff
 
 TrainerFisherEdgar:
-	trainer EVENT_BEAT_FISHER_EDGAR, FISHER, EDGAR, FisherEdgarSeenText, FisherEdgarBeatenText, $0000, FisherEdgarScript
+	trainer EVENT_BEAT_FISHER_EDGAR, FISHER, EDGAR, FisherEdgarSeenText, FisherEdgarBeatenText, 0, FisherEdgarScript
 
 FisherEdgarScript:
 	talkaftercancel
@@ -254,7 +254,7 @@
 	end
 
 TrainerCooltrainerfCybil:
-	trainer EVENT_BEAT_COOLTRAINERF_CYBIL, COOLTRAINERF, CYBIL, CooltrainerfCybilSeenText, CooltrainerfCybilBeatenText, $0000, CooltrainerfCybilScript
+	trainer EVENT_BEAT_COOLTRAINERF_CYBIL, COOLTRAINERF, CYBIL, CooltrainerfCybilSeenText, CooltrainerfCybilBeatenText, 0, CooltrainerfCybilScript
 
 CooltrainerfCybilScript:
 	talkaftercancel
@@ -265,7 +265,7 @@
 	end
 
 TrainerPokemaniacZach:
-	trainer EVENT_BEAT_POKEMANIAC_ZACH, POKEMANIAC, ZACH, PokemaniacZachSeenText, PokemaniacZachBeatenText, $0000, PokemaniacZachScript
+	trainer EVENT_BEAT_POKEMANIAC_ZACH, POKEMANIAC, ZACH, PokemaniacZachSeenText, PokemaniacZachBeatenText, 0, PokemaniacZachScript
 
 PokemaniacZachScript:
 	talkaftercancel
@@ -276,7 +276,7 @@
 	end
 
 TrainerCooltrainermAllen:
-	trainer EVENT_BEAT_COOLTRAINERM_ALLEN, COOLTRAINERM, ALLEN, CooltrainermAllenSeenText, CooltrainermAllenBeatenText, $0000, CooltrainermAllenScript
+	trainer EVENT_BEAT_COOLTRAINERM_ALLEN, COOLTRAINERM, ALLEN, CooltrainermAllenSeenText, CooltrainermAllenBeatenText, 0, CooltrainermAllenScript
 
 CooltrainermAllenScript:
 	talkaftercancel
@@ -513,14 +513,14 @@
 
 .PersonEvents:
 	db 11
-	person_event SPRITE_FISHER, 3, 35, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherWilton1, -1
-	person_event SPRITE_FISHER, 13, 19, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherEdgar, -1
-	person_event SPRITE_YOUNGSTER, 9, 10, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicPhil, -1
-	person_event SPRITE_SUPER_NERD, 2, 43, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPokemaniacZach, -1
-	person_event SPRITE_YOUNGSTER, 5, 51, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerBird_keeperVance1, -1
-	person_event SPRITE_COOLTRAINER_M, 15, 41, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerCooltrainermAllen, -1
-	person_event SPRITE_COOLTRAINER_F, 14, 31, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerCooltrainerfCybil, -1
-	person_event SPRITE_FRUIT_TREE, 5, 9, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19da40, -1
-	person_event SPRITE_POKE_BALL, 8, 30, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19da42, EVENT_ROUTE_44_MAX_REVIVE
-	person_event SPRITE_POKE_BALL, 4, 45, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19da44, EVENT_ROUTE_44_ULTRA_BALL
-	person_event SPRITE_POKE_BALL, 9, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19da46, EVENT_ROUTE_44_MAX_REPEL
+	person_event SPRITE_FISHER, 3, 35, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherWilton1, -1
+	person_event SPRITE_FISHER, 13, 19, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherEdgar, -1
+	person_event SPRITE_YOUNGSTER, 9, 10, SPRITEMOVEDATA_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicPhil, -1
+	person_event SPRITE_SUPER_NERD, 2, 43, SPRITEMOVEDATA_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPokemaniacZach, -1
+	person_event SPRITE_YOUNGSTER, 5, 51, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerBird_keeperVance1, -1
+	person_event SPRITE_COOLTRAINER_M, 15, 41, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerCooltrainermAllen, -1
+	person_event SPRITE_COOLTRAINER_F, 14, 31, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerCooltrainerfCybil, -1
+	person_event SPRITE_FRUIT_TREE, 5, 9, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19da40, -1
+	person_event SPRITE_POKE_BALL, 8, 30, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19da42, EVENT_ROUTE_44_MAX_REVIVE
+	person_event SPRITE_POKE_BALL, 4, 45, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19da44, EVENT_ROUTE_44_ULTRA_BALL
+	person_event SPRITE_POKE_BALL, 9, 14, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19da46, EVENT_ROUTE_44_MAX_REPEL
--- a/maps/Route45.asm
+++ b/maps/Route45.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerBlackbeltKenji:
-	trainer EVENT_BEAT_BLACKBELT_KENJI, BLACKBELT_T, KENJI3, BlackbeltKenji3SeenText, BlackbeltKenji3BeatenText, $0000, BlackbeltKenji3Script
+	trainer EVENT_BEAT_BLACKBELT_KENJI, BLACKBELT_T, KENJI3, BlackbeltKenji3SeenText, BlackbeltKenji3BeatenText, 0, BlackbeltKenji3Script
 
 BlackbeltKenji3Script:
 	writecode VAR_CALLERID, PHONE_BLACKBELT_KENJI
@@ -110,7 +110,7 @@
 	end
 
 TrainerHikerErik:
-	trainer EVENT_BEAT_HIKER_ERIK, HIKER, ERIK, HikerErikSeenText, HikerErikBeatenText, $0000, HikerErikScript
+	trainer EVENT_BEAT_HIKER_ERIK, HIKER, ERIK, HikerErikSeenText, HikerErikBeatenText, 0, HikerErikScript
 
 HikerErikScript:
 	talkaftercancel
@@ -121,7 +121,7 @@
 	end
 
 TrainerHikerMichael:
-	trainer EVENT_BEAT_HIKER_MICHAEL, HIKER, MICHAEL, HikerMichaelSeenText, HikerMichaelBeatenText, $0000, HikerMichaelScript
+	trainer EVENT_BEAT_HIKER_MICHAEL, HIKER, MICHAEL, HikerMichaelSeenText, HikerMichaelBeatenText, 0, HikerMichaelScript
 
 HikerMichaelScript:
 	talkaftercancel
@@ -132,7 +132,7 @@
 	end
 
 TrainerHikerParry:
-	trainer EVENT_BEAT_HIKER_PARRY, HIKER, PARRY3, HikerParry3SeenText, HikerParry3BeatenText, $0000, HikerParry3Script
+	trainer EVENT_BEAT_HIKER_PARRY, HIKER, PARRY3, HikerParry3SeenText, HikerParry3BeatenText, 0, HikerParry3Script
 
 HikerParry3Script:
 	writecode VAR_CALLERID, PHONE_HIKER_PARRY
@@ -162,7 +162,7 @@
 
 UnknownScript_0x19e1b8:
 	scall UnknownScript_0x19e133
-	winlosstext HikerParry3BeatenText, $0000
+	winlosstext HikerParry3BeatenText, 0
 	copybytetovar wParryFightCount
 	if_equal 2, .Fight2
 	if_equal 1, .Fight1
@@ -218,7 +218,7 @@
 	jump UnknownScript_0x19e127
 
 TrainerHikerTimothy:
-	trainer EVENT_BEAT_HIKER_TIMOTHY, HIKER, TIMOTHY, HikerTimothySeenText, HikerTimothyBeatenText, $0000, HikerTimothyScript
+	trainer EVENT_BEAT_HIKER_TIMOTHY, HIKER, TIMOTHY, HikerTimothySeenText, HikerTimothyBeatenText, 0, HikerTimothyScript
 
 HikerTimothyScript:
 	talkaftercancel
@@ -229,7 +229,7 @@
 	end
 
 TrainerCooltrainermRyan:
-	trainer EVENT_BEAT_COOLTRAINERM_RYAN, COOLTRAINERM, RYAN, CooltrainermRyanSeenText, CooltrainermRyanBeatenText, $0000, CooltrainermRyanScript
+	trainer EVENT_BEAT_COOLTRAINERM_RYAN, COOLTRAINERM, RYAN, CooltrainermRyanSeenText, CooltrainermRyanBeatenText, 0, CooltrainermRyanScript
 
 CooltrainermRyanScript:
 	talkaftercancel
@@ -240,7 +240,7 @@
 	end
 
 TrainerCooltrainerfKelly:
-	trainer EVENT_BEAT_COOLTRAINERF_KELLY, COOLTRAINERF, KELLY, CooltrainerfKellySeenText, CooltrainerfKellyBeatenText, $0000, CooltrainerfKellyScript
+	trainer EVENT_BEAT_COOLTRAINERF_KELLY, COOLTRAINERF, KELLY, CooltrainerfKellySeenText, CooltrainerfKellyBeatenText, 0, CooltrainerfKellyScript
 
 CooltrainerfKellyScript:
 	talkaftercancel
@@ -258,7 +258,7 @@
 	writetext UnknownText_0x19e87f
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x19e899, $0000
+	winlosstext UnknownText_0x19e899, 0
 	loadtrainer CAMPER, QUENTIN
 	startbattle
 	returnafterbattle
@@ -535,16 +535,16 @@
 
 .PersonEvents:
 	db 13
-	person_event SPRITE_POKEFAN_M, 16, 10, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerHikerErik, -1
-	person_event SPRITE_POKEFAN_M, 65, 15, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerMichael, -1
-	person_event SPRITE_POKEFAN_M, 28, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerParry, -1
-	person_event SPRITE_POKEFAN_M, 65, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerHikerTimothy, -1
-	person_event SPRITE_BLACK_BELT, 50, 11, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBlackbeltKenji, -1
-	person_event SPRITE_COOLTRAINER_M, 18, 17, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainermRyan, -1
-	person_event SPRITE_COOLTRAINER_F, 36, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfKelly, -1
-	person_event SPRITE_FRUIT_TREE, 82, 16, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19e294, -1
-	person_event SPRITE_POKE_BALL, 51, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e296, EVENT_ROUTE_45_NUGGET
-	person_event SPRITE_POKE_BALL, 66, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e298, EVENT_ROUTE_45_REVIVE
-	person_event SPRITE_POKE_BALL, 20, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e29a, EVENT_ROUTE_45_ELIXER
-	person_event SPRITE_POKE_BALL, 33, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e29c, EVENT_ROUTE_45_MAX_POTION
-	person_event SPRITE_YOUNGSTER, 70, 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x19e269, -1
+	person_event SPRITE_POKEFAN_M, 16, 10, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerHikerErik, -1
+	person_event SPRITE_POKEFAN_M, 65, 15, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerMichael, -1
+	person_event SPRITE_POKEFAN_M, 28, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerParry, -1
+	person_event SPRITE_POKEFAN_M, 65, 9, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerHikerTimothy, -1
+	person_event SPRITE_BLACK_BELT, 50, 11, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBlackbeltKenji, -1
+	person_event SPRITE_COOLTRAINER_M, 18, 17, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainermRyan, -1
+	person_event SPRITE_COOLTRAINER_F, 36, 5, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfKelly, -1
+	person_event SPRITE_FRUIT_TREE, 82, 16, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19e294, -1
+	person_event SPRITE_POKE_BALL, 51, 6, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e296, EVENT_ROUTE_45_NUGGET
+	person_event SPRITE_POKE_BALL, 66, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e298, EVENT_ROUTE_45_REVIVE
+	person_event SPRITE_POKE_BALL, 20, 6, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e29a, EVENT_ROUTE_45_ELIXER
+	person_event SPRITE_POKE_BALL, 33, 7, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e29c, EVENT_ROUTE_45_MAX_POTION
+	person_event SPRITE_YOUNGSTER, 70, 4, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x19e269, -1
--- a/maps/Route46.asm
+++ b/maps/Route46.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerCamperTed:
-	trainer EVENT_BEAT_CAMPER_TED, CAMPER, TED, CamperTedSeenText, CamperTedBeatenText, $0000, CamperTedScript
+	trainer EVENT_BEAT_CAMPER_TED, CAMPER, TED, CamperTedSeenText, CamperTedBeatenText, 0, CamperTedScript
 
 CamperTedScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerPicnickerErin1:
-	trainer EVENT_BEAT_PICNICKER_ERIN, PICNICKER, ERIN1, PicnickerErin1SeenText, PicnickerErin1BeatenText, $0000, PicnickerErin1Script
+	trainer EVENT_BEAT_PICNICKER_ERIN, PICNICKER, ERIN1, PicnickerErin1SeenText, PicnickerErin1BeatenText, 0, PicnickerErin1Script
 
 PicnickerErin1Script:
 	writecode VAR_CALLERID, PHONE_PICNICKER_ERIN
@@ -47,7 +47,7 @@
 
 UnknownScript_0x1a96da:
 	scall UnknownScript_0x1a9767
-	winlosstext PicnickerErin1BeatenText, $0000
+	winlosstext PicnickerErin1BeatenText, 0
 	copybytetovar wErinFightCount
 	if_equal 2, .Fight2
 	if_equal 1, .Fight1
@@ -140,7 +140,7 @@
 	end
 
 TrainerHikerBailey:
-	trainer EVENT_BEAT_HIKER_BAILEY, HIKER, BAILEY, HikerBaileySeenText, HikerBaileyBeatenText, $0000, HikerBaileyScript
+	trainer EVENT_BEAT_HIKER_BAILEY, HIKER, BAILEY, HikerBaileySeenText, HikerBaileyBeatenText, 0, HikerBaileyScript
 
 HikerBaileyScript:
 	talkaftercancel
@@ -261,9 +261,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_POKEFAN_M, 19, 12, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerBailey, -1
-	person_event SPRITE_YOUNGSTER, 14, 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerCamperTed, -1
-	person_event SPRITE_LASS, 13, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerErin1, -1
-	person_event SPRITE_FRUIT_TREE, 5, 7, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a978f, -1
-	person_event SPRITE_FRUIT_TREE, 6, 8, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a9791, -1
-	person_event SPRITE_POKE_BALL, 15, 1, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a978d, EVENT_ROUTE_46_X_SPEED
+	person_event SPRITE_POKEFAN_M, 19, 12, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerBailey, -1
+	person_event SPRITE_YOUNGSTER, 14, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerCamperTed, -1
+	person_event SPRITE_LASS, 13, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerErin1, -1
+	person_event SPRITE_FRUIT_TREE, 5, 7, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a978f, -1
+	person_event SPRITE_FRUIT_TREE, 6, 8, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a9791, -1
+	person_event SPRITE_POKE_BALL, 15, 1, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a978d, EVENT_ROUTE_46_X_SPEED
--- a/maps/Route5.asm
+++ b/maps/Route5.asm
@@ -57,4 +57,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_POKEFAN_M, 16, 17, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x1adb19, EVENT_ROUTE_5_6_POKEFAN_M_BLOCKS_UNDERGROUND_PATH
+	person_event SPRITE_POKEFAN_M, 16, 17, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x1adb19, EVENT_ROUTE_5_6_POKEFAN_M_BLOCKS_UNDERGROUND_PATH
--- a/maps/Route5CleanseTagSpeechHouse.asm
+++ b/maps/Route5CleanseTagSpeechHouse.asm
@@ -75,5 +75,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_GRANNY, 5, 2, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrannyScript_0x18b634, -1
-	person_event SPRITE_TEACHER, 3, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x18b64f, -1
+	person_event SPRITE_GRANNY, 5, 2, SPRITEMOVEDATA_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrannyScript_0x18b634, -1
+	person_event SPRITE_TEACHER, 3, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x18b64f, -1
--- a/maps/Route5SaffronCityGate.asm
+++ b/maps/Route5SaffronCityGate.asm
@@ -36,4 +36,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x18b5b9, -1
+	person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x18b5b9, -1
--- a/maps/Route5UndergroundEntrance.asm
+++ b/maps/Route5UndergroundEntrance.asm
@@ -34,4 +34,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_TEACHER, 2, 2, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x18b555, -1
+	person_event SPRITE_TEACHER, 2, 2, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x18b555, -1
--- a/maps/Route6.asm
+++ b/maps/Route6.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerPokefanmRex:
-	trainer EVENT_BEAT_POKEFANM_REX, POKEFANM, REX, PokefanmRexSeenText, PokefanmRexBeatenText, $0000, PokefanmRexScript
+	trainer EVENT_BEAT_POKEFANM_REX, POKEFANM, REX, PokefanmRexSeenText, PokefanmRexBeatenText, 0, PokefanmRexScript
 
 PokefanmRexScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerPokefanmAllan:
-	trainer EVENT_BEAT_POKEFANM_ALLAN, POKEFANM, ALLAN, PokefanmAllanSeenText, PokefanmAllanBeatenText, $0000, PokefanmAllanScript
+	trainer EVENT_BEAT_POKEFANM_ALLAN, POKEFANM, ALLAN, PokefanmAllanSeenText, PokefanmAllanBeatenText, 0, PokefanmAllanScript
 
 PokefanmAllanScript:
 	talkaftercancel
@@ -104,6 +104,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_POKEFAN_M, 4, 17, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 2, PokefanMScript_0x1ad951, EVENT_ROUTE_5_6_POKEFAN_M_BLOCKS_UNDERGROUND_PATH
-	person_event SPRITE_POKEFAN_M, 12, 9, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerPokefanmRex, -1
-	person_event SPRITE_POKEFAN_M, 12, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerPokefanmAllan, -1
+	person_event SPRITE_POKEFAN_M, 4, 17, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 2, PokefanMScript_0x1ad951, EVENT_ROUTE_5_6_POKEFAN_M_BLOCKS_UNDERGROUND_PATH
+	person_event SPRITE_POKEFAN_M, 12, 9, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerPokefanmRex, -1
+	person_event SPRITE_POKEFAN_M, 12, 10, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerPokefanmAllan, -1
--- a/maps/Route6SaffronGate.asm
+++ b/maps/Route6SaffronGate.asm
@@ -3,7 +3,7 @@
 	db 1
 
 	; triggers
-	dw UnknownScript_0x1926e9, $0000
+	dw UnknownScript_0x1926e9, 0
 
 .MapCallbacks:
 	db 0
@@ -75,4 +75,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x1926ea, -1
+	person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x1926ea, -1
--- a/maps/Route7SaffronGate.asm
+++ b/maps/Route7SaffronGate.asm
@@ -61,4 +61,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x73518, -1
+	person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x73518, -1
--- a/maps/Route8.asm
+++ b/maps/Route8.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerBikerDwayne:
-	trainer EVENT_BEAT_BIKER_DWAYNE, BIKER, DWAYNE, BikerDwayneSeenText, BikerDwayneBeatenText, $0000, BikerDwayneScript
+	trainer EVENT_BEAT_BIKER_DWAYNE, BIKER, DWAYNE, BikerDwayneSeenText, BikerDwayneBeatenText, 0, BikerDwayneScript
 
 BikerDwayneScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerBikerHarris:
-	trainer EVENT_BEAT_BIKER_HARRIS, BIKER, HARRIS, BikerHarrisSeenText, BikerHarrisBeatenText, $0000, BikerHarrisScript
+	trainer EVENT_BEAT_BIKER_HARRIS, BIKER, HARRIS, BikerHarrisSeenText, BikerHarrisBeatenText, 0, BikerHarrisScript
 
 BikerHarrisScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerBikerZeke:
-	trainer EVENT_BEAT_BIKER_ZEKE, BIKER, ZEKE, BikerZekeSeenText, BikerZekeBeatenText, $0000, BikerZekeScript
+	trainer EVENT_BEAT_BIKER_ZEKE, BIKER, ZEKE, BikerZekeSeenText, BikerZekeBeatenText, 0, BikerZekeScript
 
 BikerZekeScript:
 	talkaftercancel
@@ -39,7 +39,7 @@
 	end
 
 TrainerSupernerdSam:
-	trainer EVENT_BEAT_SUPER_NERD_SAM, SUPER_NERD, SAM, SupernerdSamSeenText, SupernerdSamBeatenText, $0000, SupernerdSamScript
+	trainer EVENT_BEAT_SUPER_NERD_SAM, SUPER_NERD, SAM, SupernerdSamSeenText, SupernerdSamBeatenText, 0, SupernerdSamScript
 
 SupernerdSamScript:
 	talkaftercancel
@@ -50,7 +50,7 @@
 	end
 
 TrainerSupernerdTom:
-	trainer EVENT_BEAT_SUPER_NERD_TOM, SUPER_NERD, TOM, SupernerdTomSeenText, SupernerdTomBeatenText, $0000, SupernerdTomScript
+	trainer EVENT_BEAT_SUPER_NERD_TOM, SUPER_NERD, TOM, SupernerdTomSeenText, SupernerdTomBeatenText, 0, SupernerdTomScript
 
 SupernerdTomScript:
 	talkaftercancel
@@ -183,9 +183,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_BIKER, 8, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerBikerDwayne, -1
-	person_event SPRITE_BIKER, 9, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerBikerHarris, -1
-	person_event SPRITE_BIKER, 10, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerBikerZeke, -1
-	person_event SPRITE_SUPER_NERD, 2, 23, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerSupernerdSam, -1
-	person_event SPRITE_SUPER_NERD, 12, 31, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerSupernerdTom, -1
-	person_event SPRITE_FRUIT_TREE, 5, 33, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x6c06c, -1
+	person_event SPRITE_BIKER, 8, 10, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerBikerDwayne, -1
+	person_event SPRITE_BIKER, 9, 10, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerBikerHarris, -1
+	person_event SPRITE_BIKER, 10, 10, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerBikerZeke, -1
+	person_event SPRITE_SUPER_NERD, 2, 23, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerSupernerdSam, -1
+	person_event SPRITE_SUPER_NERD, 12, 31, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerSupernerdTom, -1
+	person_event SPRITE_FRUIT_TREE, 5, 33, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x6c06c, -1
--- a/maps/Route8SaffronGate.asm
+++ b/maps/Route8SaffronGate.asm
@@ -35,4 +35,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x7f416, -1
+	person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x7f416, -1
--- a/maps/Route9.asm
+++ b/maps/Route9.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerCamperDean:
-	trainer EVENT_BEAT_CAMPER_DEAN, CAMPER, DEAN, CamperDeanSeenText, CamperDeanBeatenText, $0000, CamperDeanScript
+	trainer EVENT_BEAT_CAMPER_DEAN, CAMPER, DEAN, CamperDeanSeenText, CamperDeanBeatenText, 0, CamperDeanScript
 
 CamperDeanScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerPicnickerHeidi:
-	trainer EVENT_BEAT_PICNICKER_HEIDI, PICNICKER, HEIDI, PicnickerHeidiSeenText, PicnickerHeidiBeatenText, $0000, PicnickerHeidiScript
+	trainer EVENT_BEAT_PICNICKER_HEIDI, PICNICKER, HEIDI, PicnickerHeidiSeenText, PicnickerHeidiBeatenText, 0, PicnickerHeidiScript
 
 PicnickerHeidiScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerCamperSid:
-	trainer EVENT_BEAT_CAMPER_SID, CAMPER, SID, CamperSidSeenText, CamperSidBeatenText, $0000, CamperSidScript
+	trainer EVENT_BEAT_CAMPER_SID, CAMPER, SID, CamperSidSeenText, CamperSidBeatenText, 0, CamperSidScript
 
 CamperSidScript:
 	talkaftercancel
@@ -39,7 +39,7 @@
 	end
 
 TrainerPicnickerEdna:
-	trainer EVENT_BEAT_PICNICKER_EDNA, PICNICKER, EDNA, PicnickerEdnaSeenText, PicnickerEdnaBeatenText, $0000, PicnickerEdnaScript
+	trainer EVENT_BEAT_PICNICKER_EDNA, PICNICKER, EDNA, PicnickerEdnaSeenText, PicnickerEdnaBeatenText, 0, PicnickerEdnaScript
 
 PicnickerEdnaScript:
 	talkaftercancel
@@ -50,7 +50,7 @@
 	end
 
 TrainerHikerTim:
-	trainer EVENT_BEAT_HIKER_TIM, HIKER, TIM, HikerTimSeenText, HikerTimBeatenText, $0000, HikerTimScript
+	trainer EVENT_BEAT_HIKER_TIM, HIKER, TIM, HikerTimSeenText, HikerTimBeatenText, 0, HikerTimScript
 
 HikerTimScript:
 	talkaftercancel
@@ -61,7 +61,7 @@
 	end
 
 TrainerHikerSidney:
-	trainer EVENT_BEAT_HIKER_SIDNEY, HIKER, SIDNEY, HikerSidneySeenText, HikerSidneyBeatenText, $0000, HikerSidneyScript
+	trainer EVENT_BEAT_HIKER_SIDNEY, HIKER, SIDNEY, HikerSidneySeenText, HikerSidneyBeatenText, 0, HikerSidneyScript
 
 HikerSidneyScript:
 	talkaftercancel
@@ -216,9 +216,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_YOUNGSTER, 11, 23, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperDean, -1
-	person_event SPRITE_LASS, 8, 39, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPicnickerHeidi, -1
-	person_event SPRITE_YOUNGSTER, 4, 11, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerCamperSid, -1
-	person_event SPRITE_LASS, 15, 12, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerEdna, -1
-	person_event SPRITE_POKEFAN_M, 3, 28, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerTim, -1
-	person_event SPRITE_POKEFAN_M, 15, 36, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerHikerSidney, -1
+	person_event SPRITE_YOUNGSTER, 11, 23, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperDean, -1
+	person_event SPRITE_LASS, 8, 39, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPicnickerHeidi, -1
+	person_event SPRITE_YOUNGSTER, 4, 11, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerCamperSid, -1
+	person_event SPRITE_LASS, 15, 12, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerEdna, -1
+	person_event SPRITE_POKEFAN_M, 3, 28, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerTim, -1
+	person_event SPRITE_POKEFAN_M, 15, 36, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerHikerSidney, -1
--- a/maps/RuinsofAlphAerodactylChamber.asm
+++ b/maps/RuinsofAlphAerodactylChamber.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x58dad, $0000
-	dw UnknownScript_0x58db8, $0000
+	dw UnknownScript_0x58dad, 0
+	dw UnknownScript_0x58db8, 0
 
 .MapCallbacks:
 	db 1
--- a/maps/RuinsofAlphAerodactylItemRoom.asm
+++ b/maps/RuinsofAlphAerodactylItemRoom.asm
@@ -47,7 +47,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_POKE_BALL, 6, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59ab6, EVENT_PICKED_UP_GOLD_BERRY_FROM_AERODACTYL_ITEM_ROOM
-	person_event SPRITE_POKE_BALL, 6, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59ab8, EVENT_PICKED_UP_MOON_STONE_FROM_AERODACTYL_ITEM_ROOM
-	person_event SPRITE_POKE_BALL, 4, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59aba, EVENT_PICKED_UP_HEAL_POWDER_FROM_AERODACTYL_ITEM_ROOM
-	person_event SPRITE_POKE_BALL, 4, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59abc, EVENT_PICKED_UP_ENERGY_ROOT_FROM_AERODACTYL_ITEM_ROOM
+	person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59ab6, EVENT_PICKED_UP_GOLD_BERRY_FROM_AERODACTYL_ITEM_ROOM
+	person_event SPRITE_POKE_BALL, 6, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59ab8, EVENT_PICKED_UP_MOON_STONE_FROM_AERODACTYL_ITEM_ROOM
+	person_event SPRITE_POKE_BALL, 4, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59aba, EVENT_PICKED_UP_HEAL_POWDER_FROM_AERODACTYL_ITEM_ROOM
+	person_event SPRITE_POKE_BALL, 4, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59abc, EVENT_PICKED_UP_ENERGY_ROOT_FROM_AERODACTYL_ITEM_ROOM
--- a/maps/RuinsofAlphHoOhChamber.asm
+++ b/maps/RuinsofAlphHoOhChamber.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x5856d, $0000
-	dw UnknownScript_0x5857b, $0000
+	dw UnknownScript_0x5856d, 0
+	dw UnknownScript_0x5857b, 0
 
 .MapCallbacks:
 	db 1
--- a/maps/RuinsofAlphHoOhItemRoom.asm
+++ b/maps/RuinsofAlphHoOhItemRoom.asm
@@ -47,7 +47,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_POKE_BALL, 6, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59918, EVENT_PICKED_UP_GOLD_BERRY_FROM_HO_OH_ITEM_ROOM
-	person_event SPRITE_POKE_BALL, 6, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5991a, EVENT_PICKED_UP_MYSTERYBERRY_FROM_HO_OH_ITEM_ROOM
-	person_event SPRITE_POKE_BALL, 4, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5991c, EVENT_PICKED_UP_REVIVAL_HERB_FROM_HO_OH_ITEM_ROOM
-	person_event SPRITE_POKE_BALL, 4, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5991e, EVENT_PICKED_UP_CHARCOAL_FROM_HO_OH_ITEM_ROOM
+	person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59918, EVENT_PICKED_UP_GOLD_BERRY_FROM_HO_OH_ITEM_ROOM
+	person_event SPRITE_POKE_BALL, 6, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5991a, EVENT_PICKED_UP_MYSTERYBERRY_FROM_HO_OH_ITEM_ROOM
+	person_event SPRITE_POKE_BALL, 4, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5991c, EVENT_PICKED_UP_REVIVAL_HERB_FROM_HO_OH_ITEM_ROOM
+	person_event SPRITE_POKE_BALL, 4, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5991e, EVENT_PICKED_UP_CHARCOAL_FROM_HO_OH_ITEM_ROOM
--- a/maps/RuinsofAlphInnerChamber.asm
+++ b/maps/RuinsofAlphInnerChamber.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x58f69, $0000
-	dw UnknownScript_0x58f6a, $0000
+	dw UnknownScript_0x58f69, 0
+	dw UnknownScript_0x58f6a, 0
 
 .MapCallbacks:
 	db 0
@@ -125,6 +125,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_FISHER, 7, 3, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x58f7d, EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS
-	person_event SPRITE_TEACHER, 13, 14, $2, 1, 1, -1, -1, 0, 0, 0, TeacherScript_0x58f80, EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS
-	person_event SPRITE_GRAMPS, 19, 11, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x58f83, EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS
+	person_event SPRITE_FISHER, 7, 3, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x58f7d, EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS
+	person_event SPRITE_TEACHER, 13, 14, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, TeacherScript_0x58f80, EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS
+	person_event SPRITE_GRAMPS, 19, 11, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x58f83, EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS
--- a/maps/RuinsofAlphKabutoChamber.asm
+++ b/maps/RuinsofAlphKabutoChamber.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x5872b, $0000
-	dw UnknownScript_0x58736, $0000
+	dw UnknownScript_0x5872b, 0
+	dw UnknownScript_0x58736, 0
 
 .MapCallbacks:
 	db 1
@@ -284,5 +284,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_RECEPTIONIST, 5, 5, $6, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x58769, EVENT_RUINS_OF_ALPH_KABUTO_CHAMBER_RECEPTIONIST
-	person_event SPRITE_SCIENTIST, 1, 3, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x587a8, -1
+	person_event SPRITE_RECEPTIONIST, 5, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x58769, EVENT_RUINS_OF_ALPH_KABUTO_CHAMBER_RECEPTIONIST
+	person_event SPRITE_SCIENTIST, 1, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x587a8, -1
--- a/maps/RuinsofAlphKabutoItemRoom.asm
+++ b/maps/RuinsofAlphKabutoItemRoom.asm
@@ -47,7 +47,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_POKE_BALL, 6, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a2, EVENT_PICKED_UP_BERRY_FROM_KABUTO_ITEM_ROOM
-	person_event SPRITE_POKE_BALL, 6, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a4, EVENT_PICKED_UP_PSNCUREBERRY_FROM_KABUTO_ITEM_ROOM
-	person_event SPRITE_POKE_BALL, 4, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a6, EVENT_PICKED_UP_HEAL_POWDER_FROM_KABUTO_ITEM_ROOM
-	person_event SPRITE_POKE_BALL, 4, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a8, EVENT_PICKED_UP_ENERGYPOWDER_FROM_KABUTO_ITEM_ROOM
+	person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a2, EVENT_PICKED_UP_BERRY_FROM_KABUTO_ITEM_ROOM
+	person_event SPRITE_POKE_BALL, 6, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a4, EVENT_PICKED_UP_PSNCUREBERRY_FROM_KABUTO_ITEM_ROOM
+	person_event SPRITE_POKE_BALL, 4, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a6, EVENT_PICKED_UP_HEAL_POWDER_FROM_KABUTO_ITEM_ROOM
+	person_event SPRITE_POKE_BALL, 4, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a8, EVENT_PICKED_UP_ENERGYPOWDER_FROM_KABUTO_ITEM_ROOM
--- a/maps/RuinsofAlphOmanyteChamber.asm
+++ b/maps/RuinsofAlphOmanyteChamber.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x58be9, $0000
-	dw UnknownScript_0x58bf7, $0000
+	dw UnknownScript_0x58be9, 0
+	dw UnknownScript_0x58bf7, 0
 
 .MapCallbacks:
 	db 1
--- a/maps/RuinsofAlphOmanyteItemRoom.asm
+++ b/maps/RuinsofAlphOmanyteItemRoom.asm
@@ -47,7 +47,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_POKE_BALL, 6, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a2c, EVENT_PICKED_UP_MYSTERYBERRY_FROM_OMANYTE_ITEM_ROOM
-	person_event SPRITE_POKE_BALL, 6, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a2e, EVENT_PICKED_UP_MYSTIC_WATER_FROM_OMANYTE_ITEM_ROOM
-	person_event SPRITE_POKE_BALL, 4, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a30, EVENT_PICKED_UP_STARDUST_FROM_OMANYTE_ITEM_ROOM
-	person_event SPRITE_POKE_BALL, 4, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a32, EVENT_PICKED_UP_STAR_PIECE_FROM_OMANYTE_ITEM_ROOM
+	person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a2c, EVENT_PICKED_UP_MYSTERYBERRY_FROM_OMANYTE_ITEM_ROOM
+	person_event SPRITE_POKE_BALL, 6, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a2e, EVENT_PICKED_UP_MYSTIC_WATER_FROM_OMANYTE_ITEM_ROOM
+	person_event SPRITE_POKE_BALL, 4, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a30, EVENT_PICKED_UP_STARDUST_FROM_OMANYTE_ITEM_ROOM
+	person_event SPRITE_POKE_BALL, 4, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a32, EVENT_PICKED_UP_STAR_PIECE_FROM_OMANYTE_ITEM_ROOM
--- a/maps/RuinsofAlphOutside.asm
+++ b/maps/RuinsofAlphOutside.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x5800d, $0000
-	dw UnknownScript_0x5800e, $0000
+	dw UnknownScript_0x5800d, 0
+	dw UnknownScript_0x5800e, 0
 
 .MapCallbacks:
 	db 1
@@ -100,7 +100,7 @@
 	end
 
 TrainerPsychicNathan:
-	trainer EVENT_BEAT_PSYCHIC_NATHAN, PSYCHIC_T, NATHAN, PsychicNathanSeenText, PsychicNathanBeatenText, $0000, PsychicNathanScript
+	trainer EVENT_BEAT_PSYCHIC_NATHAN, PSYCHIC_T, NATHAN, PsychicNathanSeenText, PsychicNathanBeatenText, 0, PsychicNathanScript
 
 PsychicNathanScript:
 	talkaftercancel
@@ -112,7 +112,7 @@
 
 
 TrainerSuperNerdStan:
-	trainer EVENT_BEAT_SUPER_NERD_STAN, SUPER_NERD, STAN, UnknownText_0x581e5, UnknownText_0x58217, $0000, UnknownScript_0x580a9
+	trainer EVENT_BEAT_SUPER_NERD_STAN, SUPER_NERD, STAN, UnknownText_0x581e5, UnknownText_0x58217, 0, UnknownScript_0x580a9
 
 UnknownScript_0x580a9:
 	talkaftercancel
@@ -311,8 +311,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_YOUNGSTER, 20, 4, $6, 0, 0, -1, -1, 0, 2, 1, TrainerPsychicNathan, -1
-	person_event SPRITE_SCIENTIST, 15, 11, $7, 0, 0, -1, -1, 0, 0, 0, ScientistScript_0x58043, EVENT_RUINS_OF_ALPH_OUTSIDE_SCIENTIST
-	person_event SPRITE_FISHER, 17, 13, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x58061, EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_FISHER
-	person_event SPRITE_YOUNGSTER, 11, 14, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, YoungsterScript_0x58076, EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_YOUNGSTERS
-	person_event SPRITE_YOUNGSTER, 8, 12, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5807e, EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_YOUNGSTERS
+	person_event SPRITE_YOUNGSTER, 20, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 2, 1, TrainerPsychicNathan, -1
+	person_event SPRITE_SCIENTIST, 15, 11, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, ScientistScript_0x58043, EVENT_RUINS_OF_ALPH_OUTSIDE_SCIENTIST
+	person_event SPRITE_FISHER, 17, 13, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x58061, EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_FISHER
+	person_event SPRITE_YOUNGSTER, 11, 14, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, YoungsterScript_0x58076, EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_YOUNGSTERS
+	person_event SPRITE_YOUNGSTER, 8, 12, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5807e, EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_YOUNGSTERS
--- a/maps/RuinsofAlphResearchCenter.asm
+++ b/maps/RuinsofAlphResearchCenter.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x59180, $0000
-	dw UnknownScript_0x59181, $0000
+	dw UnknownScript_0x59180, 0
+	dw UnknownScript_0x59181, 0
 
 .MapCallbacks:
 	db 1
@@ -412,6 +412,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_SCIENTIST, 5, 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x591e5, -1
-	person_event SPRITE_SCIENTIST, 2, 5, $2, 1, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x59214, -1
-	person_event SPRITE_SCIENTIST, 5, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x591d1, EVENT_RUINS_OF_ALPH_RESEARCH_CENTER_SCIENTIST
+	person_event SPRITE_SCIENTIST, 5, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x591e5, -1
+	person_event SPRITE_SCIENTIST, 2, 5, SPRITEMOVEDATA_02, 1, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x59214, -1
+	person_event SPRITE_SCIENTIST, 5, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x591d1, EVENT_RUINS_OF_ALPH_RESEARCH_CENTER_SCIENTIST
--- a/maps/SafariZoneWardensHome.asm
+++ b/maps/SafariZoneWardensHome.asm
@@ -94,4 +94,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_LASS, 4, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, WardensGranddaughter, -1
+	person_event SPRITE_LASS, 4, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, WardensGranddaughter, -1
--- a/maps/SaffronCity.asm
+++ b/maps/SaffronCity.asm
@@ -295,11 +295,11 @@
 
 .PersonEvents:
 	db 8
-	person_event SPRITE_LASS, 14, 7, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LassScript_0x19932a, -1
-	person_event SPRITE_POKEFAN_M, 30, 19, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x19933e, -1
-	person_event SPRITE_COOLTRAINER_M, 7, 32, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerMScript_0x199352, -1
-	person_event SPRITE_COOLTRAINER_F, 24, 20, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x199355, -1
-	person_event SPRITE_FISHER, 12, 27, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x199358, -1
-	person_event SPRITE_YOUNGSTER, 19, 15, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x19936c, -1
-	person_event SPRITE_YOUNGSTER, 22, 35, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x19936f, -1
-	person_event SPRITE_LASS, 8, 19, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x199372, -1
+	person_event SPRITE_LASS, 14, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LassScript_0x19932a, -1
+	person_event SPRITE_POKEFAN_M, 30, 19, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x19933e, -1
+	person_event SPRITE_COOLTRAINER_M, 7, 32, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerMScript_0x199352, -1
+	person_event SPRITE_COOLTRAINER_F, 24, 20, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x199355, -1
+	person_event SPRITE_FISHER, 12, 27, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x199358, -1
+	person_event SPRITE_YOUNGSTER, 19, 15, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x19936c, -1
+	person_event SPRITE_YOUNGSTER, 22, 35, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x19936f, -1
+	person_event SPRITE_LASS, 8, 19, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x199372, -1
--- a/maps/SaffronGym.asm
+++ b/maps/SaffronGym.asm
@@ -13,7 +13,7 @@
 	writetext UnknownText_0x189cdf
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x189df4, $0000
+	winlosstext UnknownText_0x189df4, 0
 	loadtrainer SABRINA, 1
 	startbattle
 	returnafterbattle
@@ -39,7 +39,7 @@
 	end
 
 TrainerMediumRebecca:
-	trainer EVENT_BEAT_MEDIUM_REBECCA, MEDIUM, REBECCA, MediumRebeccaSeenText, MediumRebeccaBeatenText, $0000, MediumRebeccaScript
+	trainer EVENT_BEAT_MEDIUM_REBECCA, MEDIUM, REBECCA, MediumRebeccaSeenText, MediumRebeccaBeatenText, 0, MediumRebeccaScript
 
 MediumRebeccaScript:
 	talkaftercancel
@@ -50,7 +50,7 @@
 	end
 
 TrainerPsychicFranklin:
-	trainer EVENT_BEAT_PSYCHIC_FRANKLIN, PSYCHIC_T, FRANKLIN, PsychicFranklinSeenText, PsychicFranklinBeatenText, $0000, PsychicFranklinScript
+	trainer EVENT_BEAT_PSYCHIC_FRANKLIN, PSYCHIC_T, FRANKLIN, PsychicFranklinSeenText, PsychicFranklinBeatenText, 0, PsychicFranklinScript
 
 PsychicFranklinScript:
 	talkaftercancel
@@ -61,7 +61,7 @@
 	end
 
 TrainerMediumDoris:
-	trainer EVENT_BEAT_MEDIUM_DORIS, MEDIUM, DORIS, MediumDorisSeenText, MediumDorisBeatenText, $0000, MediumDorisScript
+	trainer EVENT_BEAT_MEDIUM_DORIS, MEDIUM, DORIS, MediumDorisSeenText, MediumDorisBeatenText, 0, MediumDorisScript
 
 MediumDorisScript:
 	talkaftercancel
@@ -72,7 +72,7 @@
 	end
 
 TrainerPsychicJared:
-	trainer EVENT_BEAT_PSYCHIC_JARED, PSYCHIC_T, JARED, PsychicJaredSeenText, PsychicJaredBeatenText, $0000, PsychicJaredScript
+	trainer EVENT_BEAT_PSYCHIC_JARED, PSYCHIC_T, JARED, PsychicJaredSeenText, PsychicJaredBeatenText, 0, PsychicJaredScript
 
 PsychicJaredScript:
 	talkaftercancel
@@ -330,9 +330,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_SABRINA, 8, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SabrinaScript_0x189c2e, -1
-	person_event SPRITE_GRANNY, 16, 17, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerMediumRebecca, -1
-	person_event SPRITE_YOUNGSTER, 16, 3, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicFranklin, -1
-	person_event SPRITE_GRANNY, 4, 3, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerMediumDoris, -1
-	person_event SPRITE_YOUNGSTER, 4, 17, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPsychicJared, -1
-	person_event SPRITE_GYM_GUY, 14, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SaffronGymGuyScript, -1
+	person_event SPRITE_SABRINA, 8, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SabrinaScript_0x189c2e, -1
+	person_event SPRITE_GRANNY, 16, 17, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerMediumRebecca, -1
+	person_event SPRITE_YOUNGSTER, 16, 3, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicFranklin, -1
+	person_event SPRITE_GRANNY, 4, 3, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerMediumDoris, -1
+	person_event SPRITE_YOUNGSTER, 4, 17, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPsychicJared, -1
+	person_event SPRITE_GYM_GUY, 14, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SaffronGymGuyScript, -1
--- a/maps/SaffronMart.asm
+++ b/maps/SaffronMart.asm
@@ -7,7 +7,7 @@
 
 ClerkScript_0x18a3bf:
 	loadfont
-	pokemart $0, $001e
+	pokemart MARTTYPE_STANDARD, MART_SAFFRON
 	loadmovesprites
 	end
 
@@ -49,6 +49,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18a3bf, -1
-	person_event SPRITE_COOLTRAINER_M, 2, 7, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CooltrainerMScript_0x18a3c6, -1
-	person_event SPRITE_COOLTRAINER_F, 6, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x18a3c9, -1
+	person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18a3bf, -1
+	person_event SPRITE_COOLTRAINER_M, 2, 7, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CooltrainerMScript_0x18a3c6, -1
+	person_event SPRITE_COOLTRAINER_F, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x18a3c9, -1
--- a/maps/SaffronPokeCenter1F.asm
+++ b/maps/SaffronPokeCenter1F.asm
@@ -123,7 +123,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18a47d, -1
-	person_event SPRITE_TEACHER, 2, 7, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x18a480, -1
-	person_event SPRITE_FISHER, 6, 8, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x18a48c, -1
-	person_event SPRITE_YOUNGSTER, 4, 1, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x18a4a0, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18a47d, -1
+	person_event SPRITE_TEACHER, 2, 7, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x18a480, -1
+	person_event SPRITE_FISHER, 6, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x18a48c, -1
+	person_event SPRITE_YOUNGSTER, 4, 1, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x18a4a0, -1
--- a/maps/SaffronTrainStation.asm
+++ b/maps/SaffronTrainStation.asm
@@ -3,7 +3,7 @@
 	db 1
 
 	; triggers
-	dw .Trigger1, $0000
+	dw .Trigger1, 0
 
 .MapCallbacks:
 	db 0
@@ -231,7 +231,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_OFFICER, 9, 9, $6, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x18a81e, -1
-	person_event SPRITE_GYM_GUY, 14, 10, $2, 1, 1, -1, -1, 0, 0, 0, GymGuyScript_0x18a875, -1
-	person_event SPRITE_TEACHER, 11, 6, $9, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x18a889, EVENT_SAFFRON_TRAIN_STATION_POPULATION
-	person_event SPRITE_LASS, 10, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x18a88c, EVENT_SAFFRON_TRAIN_STATION_POPULATION
+	person_event SPRITE_OFFICER, 9, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x18a81e, -1
+	person_event SPRITE_GYM_GUY, 14, 10, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, GymGuyScript_0x18a875, -1
+	person_event SPRITE_TEACHER, 11, 6, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x18a889, EVENT_SAFFRON_TRAIN_STATION_POPULATION
+	person_event SPRITE_LASS, 10, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x18a88c, EVENT_SAFFRON_TRAIN_STATION_POPULATION
--- a/maps/SeafoamGym.asm
+++ b/maps/SeafoamGym.asm
@@ -3,7 +3,7 @@
 	db 1
 
 	; triggers
-	dw UnknownScript_0x1ab4fa, $0000
+	dw UnknownScript_0x1ab4fa, 0
 
 .MapCallbacks:
 	db 0
@@ -19,7 +19,7 @@
 	writetext UnknownText_0x1ab548
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x1ab646, $0000
+	winlosstext UnknownText_0x1ab646, 0
 	loadtrainer BLAINE, 1
 	startbattle
 	iftrue .ReturnAfterBattle
@@ -171,5 +171,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_BLAINE, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BlaineScript_0x1ab4fb, -1
-	person_event SPRITE_GYM_GUY, 5, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SeafoamGymGuyScript, EVENT_SEAFOAM_GYM_GYM_GUY
+	person_event SPRITE_BLAINE, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BlaineScript_0x1ab4fb, -1
+	person_event SPRITE_GYM_GUY, 5, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SeafoamGymGuyScript, EVENT_SEAFOAM_GYM_GYM_GUY
--- a/maps/SilphCo1F.asm
+++ b/maps/SilphCo1F.asm
@@ -68,5 +68,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_RECEPTIONIST, 2, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ReceptionistScript_0x18abe5, -1
-	person_event SPRITE_OFFICER, 1, 13, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x18abe8, -1
+	person_event SPRITE_RECEPTIONIST, 2, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ReceptionistScript_0x18abe5, -1
+	person_event SPRITE_OFFICER, 1, 13, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x18abe8, -1
--- a/maps/SilverCaveItemRooms.asm
+++ b/maps/SilverCaveItemRooms.asm
@@ -28,5 +28,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_POKE_BALL, 3, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c65e, EVENT_SILVER_CAVE_ITEM_ROOMS_MAX_REVIVE
-	person_event SPRITE_POKE_BALL, 11, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c660, EVENT_SILVER_CAVE_ITEM_ROOMS_FULL_RESTORE
+	person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c65e, EVENT_SILVER_CAVE_ITEM_ROOMS_MAX_REVIVE
+	person_event SPRITE_POKE_BALL, 11, 15, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c660, EVENT_SILVER_CAVE_ITEM_ROOMS_FULL_RESTORE
--- a/maps/SilverCavePokeCenter1F.asm
+++ b/maps/SilverCavePokeCenter1F.asm
@@ -43,5 +43,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x1ae59a, -1
-	person_event SPRITE_GRANNY, 5, 1, $8, 1, 2, -1, -1, 0, 0, 0, GrannyScript_0x1ae59d, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x1ae59a, -1
+	person_event SPRITE_GRANNY, 5, 1, SPRITEMOVEDATA_STANDING_LEFT, 1, 2, -1, -1, 0, 0, 0, GrannyScript_0x1ae59d, -1
--- a/maps/SilverCaveRoom1.asm
+++ b/maps/SilverCaveRoom1.asm
@@ -44,7 +44,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_POKE_BALL, 9, 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c554, EVENT_SILVER_CAVE_ROOM_1_MAX_ELIXER
-	person_event SPRITE_POKE_BALL, 29, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c556, EVENT_SILVER_CAVE_ROOM_1_PROTEIN
-	person_event SPRITE_POKE_BALL, 30, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c558, EVENT_SILVER_CAVE_ROOM_1_ESCAPE_ROPE
-	person_event SPRITE_POKE_BALL, 18, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c55a, EVENT_SILVER_CAVE_ROOM_1_ULTRA_BALL
+	person_event SPRITE_POKE_BALL, 9, 4, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c554, EVENT_SILVER_CAVE_ROOM_1_MAX_ELIXER
+	person_event SPRITE_POKE_BALL, 29, 15, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c556, EVENT_SILVER_CAVE_ROOM_1_PROTEIN
+	person_event SPRITE_POKE_BALL, 30, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c558, EVENT_SILVER_CAVE_ROOM_1_ESCAPE_ROPE
+	person_event SPRITE_POKE_BALL, 18, 7, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c55a, EVENT_SILVER_CAVE_ROOM_1_ULTRA_BALL
--- a/maps/SilverCaveRoom2.asm
+++ b/maps/SilverCaveRoom2.asm
@@ -38,6 +38,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_POKE_BALL, 10, 24, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c5b2, EVENT_SILVER_CAVE_ROOM_2_CALCIUM
-	person_event SPRITE_POKE_BALL, 24, 22, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c5b4, EVENT_SILVER_CAVE_ROOM_2_ULTRA_BALL
-	person_event SPRITE_POKE_BALL, 20, 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c5b6, EVENT_SILVER_CAVE_ROOM_2_PP_UP
+	person_event SPRITE_POKE_BALL, 10, 24, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c5b2, EVENT_SILVER_CAVE_ROOM_2_CALCIUM
+	person_event SPRITE_POKE_BALL, 24, 22, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c5b4, EVENT_SILVER_CAVE_ROOM_2_ULTRA_BALL
+	person_event SPRITE_POKE_BALL, 20, 4, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c5b6, EVENT_SILVER_CAVE_ROOM_2_PP_UP
--- a/maps/SilverCaveRoom3.asm
+++ b/maps/SilverCaveRoom3.asm
@@ -63,4 +63,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_RED, 10, 9, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, RedScript_0x18c603, EVENT_RED_IN_MT_SILVER
+	person_event SPRITE_RED, 10, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, RedScript_0x18c603, EVENT_RED_IN_MT_SILVER
--- a/maps/SlowpokeWellB1F.asm
+++ b/maps/SlowpokeWellB1F.asm
@@ -9,7 +9,7 @@
 	jumptextfaceplayer UnknownText_0x5a6b5
 
 TrainerGruntM29:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_29, GRUNTM, 29, GruntM29SeenText, GruntM29BeatenText, $0000, GruntM29Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_29, GRUNTM, 29, GruntM29SeenText, GruntM29BeatenText, 0, GruntM29Script
 
 GruntM29Script:
 	talkaftercancel
@@ -20,7 +20,7 @@
 	end
 
 TrainerGruntM1:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_1, GRUNTM, 1, GruntM1SeenText, GruntM1BeatenText, $0000, GruntM1Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_1, GRUNTM, 1, GruntM1SeenText, GruntM1BeatenText, 0, GruntM1Script
 
 GruntM1Script:
 	loadfont
@@ -63,7 +63,7 @@
 	end
 
 TrainerGruntM2:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_2, GRUNTM, 2, GruntM2SeenText, GruntM2BeatenText, $0000, GruntM2Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_2, GRUNTM, 2, GruntM2SeenText, GruntM2BeatenText, 0, GruntM2Script
 
 GruntM2Script:
 	talkaftercancel
@@ -74,7 +74,7 @@
 	end
 
 TrainerGruntF1:
-	trainer EVENT_BEAT_ROCKET_GRUNTF_1, GRUNTF, 1, GruntF1SeenText, GruntF1BeatenText, $0000, GruntF1Script
+	trainer EVENT_BEAT_ROCKET_GRUNTF_1, GRUNTF, 1, GruntF1SeenText, GruntF1BeatenText, 0, GruntF1Script
 
 GruntF1Script:
 	talkaftercancel
@@ -326,12 +326,12 @@
 
 .PersonEvents:
 	db 9
-	person_event SPRITE_ROCKET, 7, 15, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM29, EVENT_SLOWPOKE_WELL_ROCKETS
-	person_event SPRITE_ROCKET, 2, 5, $6, 0, 0, -1, -1, 0, 2, 1, TrainerGruntM1, EVENT_SLOWPOKE_WELL_ROCKETS
-	person_event SPRITE_ROCKET, 6, 5, $9, 0, 0, -1, -1, 0, 2, 2, TrainerGruntM2, EVENT_SLOWPOKE_WELL_ROCKETS
-	person_event SPRITE_ROCKET_GIRL, 4, 10, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerGruntF1, EVENT_SLOWPOKE_WELL_ROCKETS
-	person_event SPRITE_SLOWPOKE, 4, 7, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SlowpokeScript_0x5a681, EVENT_SLOWPOKE_WELL_SLOWPOKES
-	person_event SPRITE_SLOWPOKE, 2, 6, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SlowpokeScript_0x5a695, EVENT_SLOWPOKE_WELL_SLOWPOKES
-	person_event SPRITE_KURT, 14, 16, $7, 0, 0, -1, -1, 0, 0, 0, KurtScript_0x5a5d5, EVENT_SLOWPOKE_WELL_KURT
-	person_event SPRITE_BOULDER, 2, 3, $19, 0, 0, -1, -1, 0, 0, 0, SlowpokeWellB1FBoulder, -1
-	person_event SPRITE_POKE_BALL, 3, 10, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a6a3, EVENT_SLOWPOKE_WELL_B1F_SUPER_POTION
+	person_event SPRITE_ROCKET, 7, 15, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM29, EVENT_SLOWPOKE_WELL_ROCKETS
+	person_event SPRITE_ROCKET, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 2, 1, TrainerGruntM1, EVENT_SLOWPOKE_WELL_ROCKETS
+	person_event SPRITE_ROCKET, 6, 5, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 2, 2, TrainerGruntM2, EVENT_SLOWPOKE_WELL_ROCKETS
+	person_event SPRITE_ROCKET_GIRL, 4, 10, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerGruntF1, EVENT_SLOWPOKE_WELL_ROCKETS
+	person_event SPRITE_SLOWPOKE, 4, 7, SPRITEMOVEDATA_01, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SlowpokeScript_0x5a681, EVENT_SLOWPOKE_WELL_SLOWPOKES
+	person_event SPRITE_SLOWPOKE, 2, 6, SPRITEMOVEDATA_01, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SlowpokeScript_0x5a695, EVENT_SLOWPOKE_WELL_SLOWPOKES
+	person_event SPRITE_KURT, 14, 16, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, KurtScript_0x5a5d5, EVENT_SLOWPOKE_WELL_KURT
+	person_event SPRITE_BOULDER, 2, 3, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, SlowpokeWellB1FBoulder, -1
+	person_event SPRITE_POKE_BALL, 3, 10, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a6a3, EVENT_SLOWPOKE_WELL_B1F_SUPER_POTION
--- a/maps/SlowpokeWellB2F.asm
+++ b/maps/SlowpokeWellB2F.asm
@@ -73,5 +73,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_GYM_GUY, 4, 5, $2, 2, 1, -1, -1, 0, 0, 1, GymGuyScript_0x5ad0b, -1
-	person_event SPRITE_POKE_BALL, 5, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5ad28, EVENT_SLOWPOKE_WELL_B2F_TM_RAIN_DANCE
+	person_event SPRITE_GYM_GUY, 4, 5, SPRITEMOVEDATA_02, 2, 1, -1, -1, 0, 0, 1, GymGuyScript_0x5ad0b, -1
+	person_event SPRITE_POKE_BALL, 5, 15, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5ad28, EVENT_SLOWPOKE_WELL_B2F_TM_RAIN_DANCE
--- a/maps/SoulHouse.asm
+++ b/maps/SoulHouse.asm
@@ -83,7 +83,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_GRAMPS, 2, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x7ec47, -1
-	person_event SPRITE_TEACHER, 3, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7ec4a, -1
-	person_event SPRITE_LASS, 5, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x7ec4d, -1
-	person_event SPRITE_GRANNY, 3, 1, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrannyScript_0x7ec50, -1
+	person_event SPRITE_GRAMPS, 2, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x7ec47, -1
+	person_event SPRITE_TEACHER, 3, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7ec4a, -1
+	person_event SPRITE_LASS, 5, 2, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x7ec4d, -1
+	person_event SPRITE_GRANNY, 3, 1, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrannyScript_0x7ec50, -1
--- a/maps/SproutTower1F.asm
+++ b/maps/SproutTower1F.asm
@@ -18,7 +18,7 @@
 	jumptextfaceplayer UnknownText_0x18469d
 
 TrainerSageChow:
-	trainer EVENT_BEAT_SAGE_CHOW, SAGE, CHOW, SageChowSeenText, SageChowBeatenText, $0000, SageChowScript
+	trainer EVENT_BEAT_SAGE_CHOW, SAGE, CHOW, SageChowSeenText, SageChowBeatenText, 0, SageChowScript
 
 SageChowScript:
 	talkaftercancel
@@ -116,9 +116,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_SAGE, 4, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SageScript_0x1844fe, -1
-	person_event SPRITE_SAGE, 7, 6, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SageScript_0x184501, -1
-	person_event SPRITE_GRANNY, 12, 11, $8, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x184504, -1
-	person_event SPRITE_TEACHER, 9, 9, $7, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x184507, -1
-	person_event SPRITE_SAGE, 5, 3, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSageChow, -1
-	person_event SPRITE_POKE_BALL, 7, 16, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18451e, EVENT_SPROUT_TOWER1F_PARLYZ_HEAL
+	person_event SPRITE_SAGE, 4, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SageScript_0x1844fe, -1
+	person_event SPRITE_SAGE, 7, 6, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SageScript_0x184501, -1
+	person_event SPRITE_GRANNY, 12, 11, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x184504, -1
+	person_event SPRITE_TEACHER, 9, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x184507, -1
+	person_event SPRITE_SAGE, 5, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSageChow, -1
+	person_event SPRITE_POKE_BALL, 7, 16, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18451e, EVENT_SPROUT_TOWER1F_PARLYZ_HEAL
--- a/maps/SproutTower2F.asm
+++ b/maps/SproutTower2F.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerSageNico:
-	trainer EVENT_BEAT_SAGE_NICO, SAGE, NICO, SageNicoSeenText, SageNicoBeatenText, $0000, SageNicoScript
+	trainer EVENT_BEAT_SAGE_NICO, SAGE, NICO, SageNicoSeenText, SageNicoBeatenText, 0, SageNicoScript
 
 SageNicoScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerSageEdmond:
-	trainer EVENT_BEAT_SAGE_EDMOND, SAGE, EDMOND, SageEdmondSeenText, SageEdmondBeatenText, $0000, SageEdmondScript
+	trainer EVENT_BEAT_SAGE_EDMOND, SAGE, EDMOND, SageEdmondSeenText, SageEdmondBeatenText, 0, SageEdmondScript
 
 SageEdmondScript:
 	talkaftercancel
@@ -99,6 +99,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_SAGE, 3, 12, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSageNico, -1
-	person_event SPRITE_SAGE, 14, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerSageEdmond, -1
-	person_event SPRITE_POKE_BALL, 1, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1847a7, EVENT_SPROUT_TOWER2F_X_ACCURACY
+	person_event SPRITE_SAGE, 3, 12, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSageNico, -1
+	person_event SPRITE_SAGE, 14, 9, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerSageEdmond, -1
+	person_event SPRITE_POKE_BALL, 1, 3, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1847a7, EVENT_SPROUT_TOWER2F_X_ACCURACY
--- a/maps/SproutTower3F.asm
+++ b/maps/SproutTower3F.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x184945, $0000
-	dw UnknownScript_0x184946, $0000
+	dw UnknownScript_0x184945, 0
+	dw UnknownScript_0x184946, 0
 
 .MapCallbacks:
 	db 0
@@ -64,7 +64,7 @@
 	writetext SageLiSeenText
 	closetext
 	loadmovesprites
-	winlosstext SageLiBeatenText, $0000
+	winlosstext SageLiBeatenText, 0
 	loadtrainer SAGE, LI
 	startbattle
 	returnafterbattle
@@ -86,7 +86,7 @@
 	end
 
 TrainerSageJin:
-	trainer EVENT_BEAT_SAGE_JIN, SAGE, JIN, SageJinSeenText, SageJinBeatenText, $0000, SageJinScript
+	trainer EVENT_BEAT_SAGE_JIN, SAGE, JIN, SageJinSeenText, SageJinBeatenText, 0, SageJinScript
 
 SageJinScript:
 	talkaftercancel
@@ -97,7 +97,7 @@
 	end
 
 TrainerSageTroy:
-	trainer EVENT_BEAT_SAGE_TROY, SAGE, TROY, SageTroySeenText, SageTroyBeatenText, $0000, SageTroyScript
+	trainer EVENT_BEAT_SAGE_TROY, SAGE, TROY, SageTroySeenText, SageTroyBeatenText, 0, SageTroyScript
 
 SageTroyScript:
 	talkaftercancel
@@ -108,7 +108,7 @@
 	end
 
 TrainerSageNeal:
-	trainer EVENT_BEAT_SAGE_NEAL, SAGE, NEAL, SageNealSeenText, SageNealBeatenText, $0000, SageNealScript
+	trainer EVENT_BEAT_SAGE_NEAL, SAGE, NEAL, SageNealSeenText, SageNealBeatenText, 0, SageNealScript
 
 SageNealScript:
 	talkaftercancel
@@ -345,10 +345,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_SAGE, 13, 8, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSageJin, -1
-	person_event SPRITE_SAGE, 8, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerSageTroy, -1
-	person_event SPRITE_SAGE, 2, 10, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SageLiScript, -1
-	person_event SPRITE_SAGE, 11, 11, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSageNeal, -1
-	person_event SPRITE_POKE_BALL, 14, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x184a19, EVENT_SPROUT_TOWER_3F_POTION
-	person_event SPRITE_POKE_BALL, 1, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x184a1b, EVENT_SPROUT_TOWER_3F_ESCAPE_ROPE
-	person_event SPRITE_SILVER, 4, 10, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_SPROUT_TOWER
+	person_event SPRITE_SAGE, 13, 8, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSageJin, -1
+	person_event SPRITE_SAGE, 8, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerSageTroy, -1
+	person_event SPRITE_SAGE, 2, 10, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SageLiScript, -1
+	person_event SPRITE_SAGE, 11, 11, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSageNeal, -1
+	person_event SPRITE_POKE_BALL, 14, 6, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x184a19, EVENT_SPROUT_TOWER_3F_POTION
+	person_event SPRITE_POKE_BALL, 1, 14, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x184a1b, EVENT_SPROUT_TOWER_3F_ESCAPE_ROPE
+	person_event SPRITE_SILVER, 4, 10, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_SPROUT_TOWER
--- a/maps/TeamRocketBaseB1F.asm
+++ b/maps/TeamRocketBaseB1F.asm
@@ -3,7 +3,7 @@
 	db 1
 
 	; triggers
-	dw UnknownScript_0x6c65a, $0000
+	dw UnknownScript_0x6c65a, 0
 
 .MapCallbacks:
 	db 1
@@ -233,7 +233,7 @@
 	writetext CameraGrunt1SeenText
 	closetext
 	loadmovesprites
-	winlosstext CameraGrunt1BeatenText, $0000
+	winlosstext CameraGrunt1BeatenText, 0
 	setlasttalked $2
 	loadtrainer GRUNTM, 20
 	startbattle
@@ -246,7 +246,7 @@
 	writetext CameraGrunt2SeenText
 	closetext
 	loadmovesprites
-	winlosstext CameraGrunt2BeatenText, $0000
+	winlosstext CameraGrunt2BeatenText, 0
 	setlasttalked $2
 	loadtrainer GRUNTM, 21
 	startbattle
@@ -478,7 +478,7 @@
 	end
 
 TrainerScientistJed:
-	trainer EVENT_BEAT_SCIENTIST_JED, SCIENTIST, JED, ScientistJedSeenText, ScientistJedBeatenText, $0000, ScientistJedScript
+	trainer EVENT_BEAT_SCIENTIST_JED, SCIENTIST, JED, ScientistJedSeenText, ScientistJedBeatenText, 0, ScientistJedScript
 
 ScientistJedScript:
 	talkaftercancel
@@ -489,7 +489,7 @@
 	end
 
 TrainerGruntM16:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_16, GRUNTM, 16, GruntM16SeenText, GruntM16BeatenText, $0000, GruntM16Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_16, GRUNTM, 16, GruntM16SeenText, GruntM16BeatenText, 0, GruntM16Script
 
 GruntM16Script:
 	talkaftercancel
@@ -786,9 +786,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_ROCKET, 0, 0, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_SECURITY_GRUNTS
-	person_event SPRITE_ROCKET, 4, 2, $9, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM16, EVENT_TEAM_ROCKET_BASE_POPULATION
-	person_event SPRITE_SCIENTIST, 12, 18, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerScientistJed, EVENT_TEAM_ROCKET_BASE_POPULATION
-	person_event SPRITE_POKE_BALL, 6, 27, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6cac4, EVENT_TEAM_ROCKET_BASE_B1F_HYPER_POTION
-	person_event SPRITE_POKE_BALL, 15, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6cac6, EVENT_TEAM_ROCKET_BASE_B1F_NUGGET
-	person_event SPRITE_POKE_BALL, 12, 21, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6cac8, EVENT_TEAM_ROCKET_BASE_B1F_GUARD_SPEC
+	person_event SPRITE_ROCKET, 0, 0, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_SECURITY_GRUNTS
+	person_event SPRITE_ROCKET, 4, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM16, EVENT_TEAM_ROCKET_BASE_POPULATION
+	person_event SPRITE_SCIENTIST, 12, 18, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerScientistJed, EVENT_TEAM_ROCKET_BASE_POPULATION
+	person_event SPRITE_POKE_BALL, 6, 27, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6cac4, EVENT_TEAM_ROCKET_BASE_B1F_HYPER_POTION
+	person_event SPRITE_POKE_BALL, 15, 14, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6cac6, EVENT_TEAM_ROCKET_BASE_B1F_NUGGET
+	person_event SPRITE_POKE_BALL, 12, 21, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6cac8, EVENT_TEAM_ROCKET_BASE_B1F_GUARD_SPEC
--- a/maps/TeamRocketBaseB2F.asm
+++ b/maps/TeamRocketBaseB2F.asm
@@ -3,10 +3,10 @@
 	db 4
 
 	; triggers
-	dw UnknownScript_0x6cf85, $0000
-	dw UnknownScript_0x6cf86, $0000
-	dw UnknownScript_0x6cf87, $0000
-	dw UnknownScript_0x6cf88, $0000
+	dw UnknownScript_0x6cf85, 0
+	dw UnknownScript_0x6cf86, 0
+	dw UnknownScript_0x6cf87, 0
+	dw UnknownScript_0x6cf88, 0
 
 .MapCallbacks:
 	db 1
@@ -84,7 +84,7 @@
 	loadmovesprites
 	applymovement $2, MovementData_0x6d24a
 	applymovement $3, MovementData_0x6d248
-	winlosstext UnknownText_0x6d45c, $0000
+	winlosstext UnknownText_0x6d45c, 0
 	setlasttalked $3
 	loadtrainer EXECUTIVEF, 2
 	startbattle
@@ -178,7 +178,7 @@
 	end
 
 TrainerGruntM17:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_17, GRUNTM, 17, GruntM17SeenText, GruntM17BeatenText, $0000, GruntM17Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_17, GRUNTM, 17, GruntM17SeenText, GruntM17BeatenText, 0, GruntM17Script
 
 GruntM17Script:
 	talkaftercancel
@@ -189,7 +189,7 @@
 	end
 
 TrainerGruntM18:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_18, GRUNTM, 18, GruntM18SeenText, GruntM18BeatenText, $0000, GruntM18Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_18, GRUNTM, 18, GruntM18SeenText, GruntM18BeatenText, 0, GruntM18Script
 
 GruntM18Script:
 	talkaftercancel
@@ -200,7 +200,7 @@
 	end
 
 TrainerGruntM19:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_19, GRUNTM, 19, GruntM19SeenText, GruntM19BeatenText, $0000, GruntM19Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_19, GRUNTM, 19, GruntM19SeenText, GruntM19BeatenText, 0, GruntM19Script
 
 GruntM19Script:
 	talkaftercancel
@@ -952,17 +952,17 @@
 
 .PersonEvents:
 	db 14
-	person_event SPRITE_ROCKET, 16, 20, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_GRUNT_WITH_EXECUTIVE
-	person_event SPRITE_ROCKET_GIRL, 16, 20, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_EXECUTIVE
-	person_event SPRITE_LANCE, 13, 5, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_LANCE
-	person_event SPRITE_DRAGON, 13, 9, $9, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_DRAGONITE
-	person_event SPRITE_VOLTORB, 5, 7, $16, 0, 0, -1, -1, 0, 0, 0, VoltorbScript_0x6d101, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
-	person_event SPRITE_VOLTORB, 7, 7, $16, 0, 0, -1, -1, 0, 0, 0, VoltorbScript_0x6d12c, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
-	person_event SPRITE_VOLTORB, 9, 7, $16, 0, 0, -1, -1, 0, 0, 0, VoltorbScript_0x6d157, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
-	person_event SPRITE_VOLTORB, 5, 22, $16, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
-	person_event SPRITE_VOLTORB, 7, 22, $16, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
-	person_event SPRITE_VOLTORB, 9, 22, $16, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
-	person_event SPRITE_ROCKET, 13, 25, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM17, EVENT_TEAM_ROCKET_BASE_POPULATION
-	person_event SPRITE_ROCKET, 1, 4, $a, 0, 0, -1, -1, 0, 2, 1, TrainerGruntM18, EVENT_TEAM_ROCKET_BASE_POPULATION
-	person_event SPRITE_ROCKET, 14, 21, $8, 0, 0, -1, -1, 0, 2, 4, TrainerGruntM19, EVENT_TEAM_ROCKET_BASE_POPULATION
-	person_event SPRITE_POKE_BALL, 10, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6d20d, EVENT_TEAM_ROCKET_BASE_B2F_TM_THIEF
+	person_event SPRITE_ROCKET, 16, 20, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_GRUNT_WITH_EXECUTIVE
+	person_event SPRITE_ROCKET_GIRL, 16, 20, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_EXECUTIVE
+	person_event SPRITE_LANCE, 13, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_LANCE
+	person_event SPRITE_DRAGON, 13, 9, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_DRAGONITE
+	person_event SPRITE_VOLTORB, 5, 7, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, VoltorbScript_0x6d101, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
+	person_event SPRITE_VOLTORB, 7, 7, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, VoltorbScript_0x6d12c, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
+	person_event SPRITE_VOLTORB, 9, 7, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, VoltorbScript_0x6d157, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
+	person_event SPRITE_VOLTORB, 5, 22, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
+	person_event SPRITE_VOLTORB, 7, 22, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
+	person_event SPRITE_VOLTORB, 9, 22, SPRITEMOVEDATA_16, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
+	person_event SPRITE_ROCKET, 13, 25, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM17, EVENT_TEAM_ROCKET_BASE_POPULATION
+	person_event SPRITE_ROCKET, 1, 4, SPRITEMOVEDATA_0A, 0, 0, -1, -1, 0, 2, 1, TrainerGruntM18, EVENT_TEAM_ROCKET_BASE_POPULATION
+	person_event SPRITE_ROCKET, 14, 21, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 2, 4, TrainerGruntM19, EVENT_TEAM_ROCKET_BASE_POPULATION
+	person_event SPRITE_POKE_BALL, 10, 3, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6d20d, EVENT_TEAM_ROCKET_BASE_B2F_TM_THIEF
--- a/maps/TeamRocketBaseB3F.asm
+++ b/maps/TeamRocketBaseB3F.asm
@@ -3,10 +3,10 @@
 	db 4
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
-	dw .Trigger3, $0000
-	dw .Trigger4, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
+	dw .Trigger3, 0
+	dw .Trigger4, 0
 
 .MapCallbacks:
 	db 1
@@ -91,7 +91,7 @@
 	closetext
 	loadmovesprites
 	applymovement $3, MovementData_0x6e142
-	winlosstext UnknownText_0x6e511, $0000
+	winlosstext UnknownText_0x6e511, 0
 	setlasttalked $3
 	loadtrainer EXECUTIVEM, 4
 	startbattle
@@ -117,7 +117,7 @@
 	end
 
 TrainerGruntF5:
-	trainer EVENT_BEAT_ROCKET_GRUNTF_5, GRUNTF, 5, GruntF5SeenText, GruntF5BeatenText, $0000, GruntF5Script
+	trainer EVENT_BEAT_ROCKET_GRUNTF_5, GRUNTF, 5, GruntF5SeenText, GruntF5BeatenText, 0, GruntF5Script
 
 GruntF5Script:
 	talkaftercancel
@@ -129,7 +129,7 @@
 	end
 
 TrainerGruntM28:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_28, GRUNTM, 28, GruntM28SeenText, GruntM28BeatenText, $0000, GruntM28Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_28, GRUNTM, 28, GruntM28SeenText, GruntM28BeatenText, 0, GruntM28Script
 
 GruntM28Script:
 	talkaftercancel
@@ -141,7 +141,7 @@
 	end
 
 TrainerScientistRoss:
-	trainer EVENT_BEAT_SCIENTIST_ROSS, SCIENTIST, ROSS, ScientistRossSeenText, ScientistRossBeatenText, $0000, ScientistRossScript
+	trainer EVENT_BEAT_SCIENTIST_ROSS, SCIENTIST, ROSS, ScientistRossSeenText, ScientistRossBeatenText, 0, ScientistRossScript
 
 ScientistRossScript:
 	talkaftercancel
@@ -152,7 +152,7 @@
 	end
 
 TrainerScientistMitch:
-	trainer EVENT_BEAT_SCIENTIST_MITCH, SCIENTIST, MITCH, ScientistMitchSeenText, ScientistMitchBeatenText, $0000, ScientistMitchScript
+	trainer EVENT_BEAT_SCIENTIST_MITCH, SCIENTIST, MITCH, ScientistMitchSeenText, ScientistMitchBeatenText, 0, ScientistMitchScript
 
 ScientistMitchScript:
 	talkaftercancel
@@ -587,17 +587,17 @@
 
 .PersonEvents:
 	db 14
-	person_event SPRITE_LANCE, 14, 25, $6, 0, 0, -1, -1, 0, 0, 0, LanceScript_0x6dffc, EVENT_TEAM_ROCKET_BASE_B3F_LANCE_PASSWORDS
-	person_event SPRITE_ROCKET, 3, 8, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B3F_EXECUTIVE
-	person_event SPRITE_MOLTRES, 2, 7, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, MoltresScript_0x6e091, EVENT_TEAM_ROCKET_BASE_POPULATION
-	person_event SPRITE_ROCKET_GIRL, 7, 21, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerGruntF5, EVENT_TEAM_ROCKET_BASE_POPULATION
-	person_event SPRITE_ROCKET, 14, 5, $a, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM28, EVENT_TEAM_ROCKET_BASE_POPULATION
-	person_event SPRITE_SCIENTIST, 11, 23, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerScientistRoss, EVENT_TEAM_ROCKET_BASE_POPULATION
-	person_event SPRITE_SCIENTIST, 15, 11, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerScientistMitch, EVENT_TEAM_ROCKET_BASE_POPULATION
-	person_event SPRITE_ROCKET, 14, 24, $6, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x6e048, EVENT_TEAM_ROCKET_BASE_POPULATION
-	person_event SPRITE_SILVER, 5, 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_TEAM_ROCKET_BASE
-	person_event SPRITE_POKE_BALL, 12, 1, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e120, EVENT_TEAM_ROCKET_BASE_B3F_PROTEIN
-	person_event SPRITE_POKE_BALL, 12, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e122, EVENT_TEAM_ROCKET_BASE_B3F_X_SPECIAL
-	person_event SPRITE_POKE_BALL, 9, 28, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e124, EVENT_TEAM_ROCKET_BASE_B3F_FULL_HEAL
-	person_event SPRITE_POKE_BALL, 2, 17, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e126, EVENT_TEAM_ROCKET_BASE_B3F_ICE_HEAL
-	person_event SPRITE_POKE_BALL, 10, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e128, EVENT_TEAM_ROCKET_BASE_B3F_ULTRA_BALL
+	person_event SPRITE_LANCE, 14, 25, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, LanceScript_0x6dffc, EVENT_TEAM_ROCKET_BASE_B3F_LANCE_PASSWORDS
+	person_event SPRITE_ROCKET, 3, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B3F_EXECUTIVE
+	person_event SPRITE_MOLTRES, 2, 7, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, MoltresScript_0x6e091, EVENT_TEAM_ROCKET_BASE_POPULATION
+	person_event SPRITE_ROCKET_GIRL, 7, 21, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerGruntF5, EVENT_TEAM_ROCKET_BASE_POPULATION
+	person_event SPRITE_ROCKET, 14, 5, SPRITEMOVEDATA_0A, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM28, EVENT_TEAM_ROCKET_BASE_POPULATION
+	person_event SPRITE_SCIENTIST, 11, 23, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerScientistRoss, EVENT_TEAM_ROCKET_BASE_POPULATION
+	person_event SPRITE_SCIENTIST, 15, 11, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerScientistMitch, EVENT_TEAM_ROCKET_BASE_POPULATION
+	person_event SPRITE_ROCKET, 14, 24, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x6e048, EVENT_TEAM_ROCKET_BASE_POPULATION
+	person_event SPRITE_SILVER, 5, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_TEAM_ROCKET_BASE
+	person_event SPRITE_POKE_BALL, 12, 1, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e120, EVENT_TEAM_ROCKET_BASE_B3F_PROTEIN
+	person_event SPRITE_POKE_BALL, 12, 3, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e122, EVENT_TEAM_ROCKET_BASE_B3F_X_SPECIAL
+	person_event SPRITE_POKE_BALL, 9, 28, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e124, EVENT_TEAM_ROCKET_BASE_B3F_FULL_HEAL
+	person_event SPRITE_POKE_BALL, 2, 17, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e126, EVENT_TEAM_ROCKET_BASE_B3F_ICE_HEAL
+	person_event SPRITE_POKE_BALL, 10, 14, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e128, EVENT_TEAM_ROCKET_BASE_B3F_ULTRA_BALL
--- a/maps/TimeCapsule.asm
+++ b/maps/TimeCapsule.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
 
 .MapCallbacks:
 	db 1
@@ -73,5 +73,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_CHRIS, 4, 3, $9, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x19351a, EVENT_GAVE_KURT_APRICORNS
-	person_event SPRITE_CHRIS, 4, 6, $8, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x19351a, EVENT_RECEIVED_BALLS_FROM_KURT
+	person_event SPRITE_CHRIS, 4, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x19351a, EVENT_GAVE_KURT_APRICORNS
+	person_event SPRITE_CHRIS, 4, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x19351a, EVENT_RECEIVED_BALLS_FROM_KURT
--- a/maps/TinTower1F.asm
+++ b/maps/TinTower1F.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x18502a, $0000
-	dw UnknownScript_0x18502e, $0000
+	dw UnknownScript_0x18502a, 0
+	dw UnknownScript_0x18502e, 0
 
 .MapCallbacks:
 	db 2
@@ -534,13 +534,13 @@
 
 .PersonEvents:
 	db 10
-	person_event SPRITE_SUICUNE, 9, 9, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_TIN_TOWER_1F_SUICUNE
-	person_event SPRITE_RAIKOU, 9, 7, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, ObjectEvent, EVENT_TIN_TOWER_1F_RAIKOU
-	person_event SPRITE_ENTEI, 9, 12, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_TIN_TOWER_1F_ENTEI
-	person_event SPRITE_SUPER_NERD, 3, 8, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x1851c8, EVENT_TIN_TOWER_1F_EUSINE
-	person_event SPRITE_SAGE, 9, 5, $3, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185173, EVENT_TIN_TOWER_1F_WISE_TRIO_1
-	person_event SPRITE_SAGE, 11, 11, $3, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185176, EVENT_TIN_TOWER_1F_WISE_TRIO_1
-	person_event SPRITE_SAGE, 6, 14, $3, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185179, EVENT_TIN_TOWER_1F_WISE_TRIO_1
-	person_event SPRITE_SAGE, 2, 4, $4, 1, 0, -1, -1, 0, 0, 0, SageScript_0x18517c, EVENT_TIN_TOWER_1F_WISE_TRIO_2
-	person_event SPRITE_SAGE, 1, 9, $6, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185188, EVENT_TIN_TOWER_1F_WISE_TRIO_2
-	person_event SPRITE_SAGE, 2, 14, $5, 0, 1, -1, -1, 0, 0, 0, SageScript_0x1851bc, EVENT_TIN_TOWER_1F_WISE_TRIO_2
+	person_event SPRITE_SUICUNE, 9, 9, SPRITEMOVEDATA_01, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_TIN_TOWER_1F_SUICUNE
+	person_event SPRITE_RAIKOU, 9, 7, SPRITEMOVEDATA_01, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, ObjectEvent, EVENT_TIN_TOWER_1F_RAIKOU
+	person_event SPRITE_ENTEI, 9, 12, SPRITEMOVEDATA_01, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_TIN_TOWER_1F_ENTEI
+	person_event SPRITE_SUPER_NERD, 3, 8, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x1851c8, EVENT_TIN_TOWER_1F_EUSINE
+	person_event SPRITE_SAGE, 9, 5, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185173, EVENT_TIN_TOWER_1F_WISE_TRIO_1
+	person_event SPRITE_SAGE, 11, 11, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185176, EVENT_TIN_TOWER_1F_WISE_TRIO_1
+	person_event SPRITE_SAGE, 6, 14, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185179, EVENT_TIN_TOWER_1F_WISE_TRIO_1
+	person_event SPRITE_SAGE, 2, 4, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, 0, 0, 0, SageScript_0x18517c, EVENT_TIN_TOWER_1F_WISE_TRIO_2
+	person_event SPRITE_SAGE, 1, 9, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185188, EVENT_TIN_TOWER_1F_WISE_TRIO_2
+	person_event SPRITE_SAGE, 2, 14, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, SageScript_0x1851bc, EVENT_TIN_TOWER_1F_WISE_TRIO_2
--- a/maps/TinTower3F.asm
+++ b/maps/TinTower3F.asm
@@ -25,4 +25,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_POKE_BALL, 14, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a37, EVENT_TIN_TOWER_3F_FULL_HEAL
+	person_event SPRITE_POKE_BALL, 14, 3, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a37, EVENT_TIN_TOWER_3F_FULL_HEAL
--- a/maps/TinTower4F.asm
+++ b/maps/TinTower4F.asm
@@ -38,6 +38,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_POKE_BALL, 10, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a58, EVENT_TIN_TOWER_4F_ULTRA_BALL
-	person_event SPRITE_POKE_BALL, 14, 17, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a5a, EVENT_TIN_TOWER_4F_PP_UP
-	person_event SPRITE_POKE_BALL, 12, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a5c, EVENT_TIN_TOWER_4F_ESCAPE_ROPE
+	person_event SPRITE_POKE_BALL, 10, 14, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a58, EVENT_TIN_TOWER_4F_ULTRA_BALL
+	person_event SPRITE_POKE_BALL, 14, 17, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a5a, EVENT_TIN_TOWER_4F_PP_UP
+	person_event SPRITE_POKE_BALL, 12, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a5c, EVENT_TIN_TOWER_4F_ESCAPE_ROPE
--- a/maps/TinTower5F.asm
+++ b/maps/TinTower5F.asm
@@ -37,4 +37,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_POKE_BALL, 9, 9, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185aa9, EVENT_TIN_TOWER_5F_RARE_CANDY
+	person_event SPRITE_POKE_BALL, 9, 9, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185aa9, EVENT_TIN_TOWER_5F_RARE_CANDY
--- a/maps/TinTower6F.asm
+++ b/maps/TinTower6F.asm
@@ -25,4 +25,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_POKE_BALL, 8, 8, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185ae4, EVENT_TIN_TOWER_6F_MAX_POTION
+	person_event SPRITE_POKE_BALL, 8, 8, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185ae4, EVENT_TIN_TOWER_6F_MAX_POTION
--- a/maps/TinTower7F.asm
+++ b/maps/TinTower7F.asm
@@ -28,4 +28,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_POKE_BALL, 1, 16, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b05, EVENT_TIN_TOWER_7F_MAX_REVIVE
+	person_event SPRITE_POKE_BALL, 1, 16, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b05, EVENT_TIN_TOWER_7F_MAX_REVIVE
--- a/maps/TinTower8F.asm
+++ b/maps/TinTower8F.asm
@@ -35,6 +35,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_POKE_BALL, 13, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b35, EVENT_TIN_TOWER_8F_NUGGET
-	person_event SPRITE_POKE_BALL, 6, 11, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b37, EVENT_TIN_TOWER_8F_MAX_ELIXER
-	person_event SPRITE_POKE_BALL, 1, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b39, EVENT_TIN_TOWER_8F_FULL_RESTORE
+	person_event SPRITE_POKE_BALL, 13, 7, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b35, EVENT_TIN_TOWER_8F_NUGGET
+	person_event SPRITE_POKE_BALL, 6, 11, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b37, EVENT_TIN_TOWER_8F_MAX_ELIXER
+	person_event SPRITE_POKE_BALL, 1, 3, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b39, EVENT_TIN_TOWER_8F_FULL_RESTORE
--- a/maps/TinTower9F.asm
+++ b/maps/TinTower9F.asm
@@ -38,4 +38,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_POKE_BALL, 1, 9, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b88, EVENT_TIN_TOWER_9F_HP_UP
+	person_event SPRITE_POKE_BALL, 1, 9, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b88, EVENT_TIN_TOWER_9F_HP_UP
--- a/maps/TinTowerRoof.asm
+++ b/maps/TinTowerRoof.asm
@@ -60,4 +60,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_HO_OH, 5, 9, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, HoOhScript_0x77244, EVENT_TIN_TOWER_ROOF_HO_OH
+	person_event SPRITE_HO_OH, 5, 9, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, HoOhScript_0x77244, EVENT_TIN_TOWER_ROOF_HO_OH
--- a/maps/TohjoFalls.asm
+++ b/maps/TohjoFalls.asm
@@ -25,4 +25,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_POKE_BALL, 6, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18db02, EVENT_TOHJO_FALLS_MOON_STONE
+	person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18db02, EVENT_TOHJO_FALLS_MOON_STONE
--- a/maps/TradeCenter.asm
+++ b/maps/TradeCenter.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
 
 .MapCallbacks:
 	db 1
@@ -73,5 +73,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_CHRIS, 4, 3, $9, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_GAVE_KURT_APRICORNS
-	person_event SPRITE_CHRIS, 4, 6, $8, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_RECEIVED_BALLS_FROM_KURT
+	person_event SPRITE_CHRIS, 4, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_GAVE_KURT_APRICORNS
+	person_event SPRITE_CHRIS, 4, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_RECEIVED_BALLS_FROM_KURT
--- a/maps/TrainerHouse1F.asm
+++ b/maps/TrainerHouse1F.asm
@@ -151,8 +151,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_RECEPTIONIST, 11, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x9af67, -1
-	person_event SPRITE_COOLTRAINER_M, 11, 7, $7, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x9af6a, -1
-	person_event SPRITE_COOLTRAINER_F, 2, 6, $6, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x9af6d, -1
-	person_event SPRITE_YOUNGSTER, 8, 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x9af70, -1
-	person_event SPRITE_GENTLEMAN, 4, 2, $9, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x9af73, -1
+	person_event SPRITE_RECEPTIONIST, 11, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x9af67, -1
+	person_event SPRITE_COOLTRAINER_M, 11, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x9af6a, -1
+	person_event SPRITE_COOLTRAINER_F, 2, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x9af6d, -1
+	person_event SPRITE_YOUNGSTER, 8, 4, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x9af70, -1
+	person_event SPRITE_GENTLEMAN, 4, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x9af73, -1
--- a/maps/TrainerHouseB1F.asm
+++ b/maps/TrainerHouseB1F.asm
@@ -3,7 +3,7 @@
 	db 1
 
 	; triggers
-	dw UnknownScript_0x9b38a, $0000
+	dw UnknownScript_0x9b38a, 0
 
 .MapCallbacks:
 	db 0
@@ -42,7 +42,7 @@
 	loadmovesprites
 	special SpecialTrainerHouse
 	iffalse UnknownScript_0x9b3dc
-	winlosstext UnknownText_0x9b578, $0000
+	winlosstext UnknownText_0x9b578, 0
 	setlasttalked $3
 	loadtrainer CAL, CAL2
 	startbattle
@@ -49,7 +49,7 @@
 	returnafterbattle
 	iffalse UnknownScript_0x9b3e8
 UnknownScript_0x9b3dc:
-	winlosstext UnknownText_0x9b578, $0000
+	winlosstext UnknownText_0x9b578, 0
 	setlasttalked $3
 	loadtrainer CAL, CAL3
 	startbattle
@@ -184,5 +184,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_RECEPTIONIST, 1, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, -1
-	person_event SPRITE_CHRIS, 11, 6, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, -1
+	person_event SPRITE_RECEPTIONIST, 1, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, -1
+	person_event SPRITE_CHRIS, 11, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, -1
--- a/maps/UndergroundPathSwitchRoomEntrances.asm
+++ b/maps/UndergroundPathSwitchRoomEntrances.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x7c9f5, $0000
-	dw UnknownScript_0x7c9f6, $0000
+	dw UnknownScript_0x7c9f5, 0
+	dw UnknownScript_0x7c9f6, 0
 
 .MapCallbacks:
 	db 1
@@ -166,7 +166,7 @@
 	end
 
 TrainerGruntM11:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_11, GRUNTM, 11, GruntM11SeenText, GruntM11BeatenText, $0000, GruntM11Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_11, GRUNTM, 11, GruntM11SeenText, GruntM11BeatenText, 0, GruntM11Script
 
 GruntM11Script:
 	talkaftercancel
@@ -177,7 +177,7 @@
 	end
 
 TrainerGruntM25:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_25, GRUNTM, 25, GruntM25SeenText, GruntM25BeatenText, $0000, GruntM25Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_25, GRUNTM, 25, GruntM25SeenText, GruntM25BeatenText, 0, GruntM25Script
 
 GruntM25Script:
 	talkaftercancel
@@ -188,7 +188,7 @@
 	end
 
 TrainerBurglarDuncan:
-	trainer EVENT_BEAT_BURGLAR_DUNCAN, BURGLAR, DUNCAN, BurglarDuncanSeenText, BurglarDuncanBeatenText, $0000, BurglarDuncanScript
+	trainer EVENT_BEAT_BURGLAR_DUNCAN, BURGLAR, DUNCAN, BurglarDuncanSeenText, BurglarDuncanBeatenText, 0, BurglarDuncanScript
 
 BurglarDuncanScript:
 	talkaftercancel
@@ -199,7 +199,7 @@
 	end
 
 TrainerBurglarEddie:
-	trainer EVENT_BEAT_BURGLAR_EDDIE, BURGLAR, EDDIE, BurglarEddieSeenText, BurglarEddieBeatenText, $0000, BurglarEddieScript
+	trainer EVENT_BEAT_BURGLAR_EDDIE, BURGLAR, EDDIE, BurglarEddieSeenText, BurglarEddieBeatenText, 0, BurglarEddieScript
 
 BurglarEddieScript:
 	talkaftercancel
@@ -210,7 +210,7 @@
 	end
 
 TrainerGruntM13:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_13, GRUNTM, 13, GruntM13SeenText, GruntM13BeatenText, $0000, GruntM13Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_13, GRUNTM, 13, GruntM13SeenText, GruntM13BeatenText, 0, GruntM13Script
 
 GruntM13Script:
 	talkaftercancel
@@ -221,7 +221,7 @@
 	end
 
 TrainerGruntF3:
-	trainer EVENT_BEAT_ROCKET_GRUNTF_3, GRUNTF, 3, GruntF3SeenText, GruntF3BeatenText, $0000, GruntF3Script
+	trainer EVENT_BEAT_ROCKET_GRUNTF_3, GRUNTF, 3, GruntF3SeenText, GruntF3BeatenText, 0, GruntF3Script
 
 GruntF3Script:
 	talkaftercancel
@@ -923,14 +923,14 @@
 
 .PersonEvents:
 	db 11
-	person_event SPRITE_PHARMACIST, 12, 9, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerBurglarDuncan, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_PHARMACIST, 8, 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerBurglarEddie, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET, 2, 17, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM13, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET, 2, 11, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM11, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET, 2, 3, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM25, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET_GIRL, 12, 19, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerGruntF3, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_TEACHER, 27, 3, $6, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x7ca7d, -1
-	person_event SPRITE_SUPER_NERD, 27, 19, $6, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7ca7a, -1
-	person_event SPRITE_POKE_BALL, 12, 1, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ce7d, EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_SMOKE_BALL
-	person_event SPRITE_POKE_BALL, 9, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ce7f, EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_FULL_HEAL
-	person_event SPRITE_SILVER, 3, 23, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_UNDERGROUND_PATH
+	person_event SPRITE_PHARMACIST, 12, 9, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerBurglarDuncan, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_PHARMACIST, 8, 4, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerBurglarEddie, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET, 2, 17, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM13, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET, 2, 11, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM11, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET, 2, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM25, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET_GIRL, 12, 19, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerGruntF3, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_TEACHER, 27, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x7ca7d, -1
+	person_event SPRITE_SUPER_NERD, 27, 19, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7ca7a, -1
+	person_event SPRITE_POKE_BALL, 12, 1, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ce7d, EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_SMOKE_BALL
+	person_event SPRITE_POKE_BALL, 9, 14, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ce7f, EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_FULL_HEAL
+	person_event SPRITE_SILVER, 3, 23, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_UNDERGROUND_PATH
--- a/maps/UndergroundWarehouse.asm
+++ b/maps/UndergroundWarehouse.asm
@@ -30,7 +30,7 @@
 	return
 
 TrainerGruntM24:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_24, GRUNTM, 24, GruntM24SeenText, GruntM24BeatenText, $0000, GruntM24Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_24, GRUNTM, 24, GruntM24SeenText, GruntM24BeatenText, 0, GruntM24Script
 
 GruntM24Script:
 	talkaftercancel
@@ -41,7 +41,7 @@
 	end
 
 TrainerGruntM14:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_14, GRUNTM, 14, GruntM14SeenText, GruntM14BeatenText, $0000, GruntM14Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_14, GRUNTM, 14, GruntM14SeenText, GruntM14BeatenText, 0, GruntM14Script
 
 GruntM14Script:
 	talkaftercancel
@@ -52,7 +52,7 @@
 	end
 
 TrainerGruntM15:
-	trainer EVENT_BEAT_ROCKET_GRUNTM_15, GRUNTM, 15, GruntM15SeenText, GruntM15BeatenText, $0000, GruntM15Script
+	trainer EVENT_BEAT_ROCKET_GRUNTM_15, GRUNTM, 15, GruntM15SeenText, GruntM15BeatenText, 0, GruntM15Script
 
 GruntM15Script:
 	talkaftercancel
@@ -222,10 +222,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_ROCKET, 8, 9, $7, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM24, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET, 15, 8, $7, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM14, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_ROCKET, 3, 14, $9, 0, 0, -1, -1, 0, 2, 4, TrainerGruntM15, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_GENTLEMAN, 8, 12, $3, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x7d9bf, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-	person_event SPRITE_POKE_BALL, 15, 18, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d9e4, EVENT_UNDERGROUND_WAREHOUSE_MAX_ETHER
-	person_event SPRITE_POKE_BALL, 9, 13, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d9e6, EVENT_UNDERGROUND_WAREHOUSE_TM_SLEEP_TALK
-	person_event SPRITE_POKE_BALL, 1, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d9e8, EVENT_UNDERGROUND_WAREHOUSE_ULTRA_BALL
+	person_event SPRITE_ROCKET, 8, 9, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM24, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET, 15, 8, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM14, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_ROCKET, 3, 14, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 2, 4, TrainerGruntM15, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_GENTLEMAN, 8, 12, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x7d9bf, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+	person_event SPRITE_POKE_BALL, 15, 18, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d9e4, EVENT_UNDERGROUND_WAREHOUSE_MAX_ETHER
+	person_event SPRITE_POKE_BALL, 9, 13, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d9e6, EVENT_UNDERGROUND_WAREHOUSE_TM_SLEEP_TALK
+	person_event SPRITE_POKE_BALL, 1, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d9e8, EVENT_UNDERGROUND_WAREHOUSE_ULTRA_BALL
--- a/maps/UnionCave1F.asm
+++ b/maps/UnionCave1F.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerPokemaniacLarry:
-	trainer EVENT_BEAT_POKEMANIAC_LARRY, POKEMANIAC, LARRY, PokemaniacLarrySeenText, PokemaniacLarryBeatenText, $0000, PokemaniacLarryScript
+	trainer EVENT_BEAT_POKEMANIAC_LARRY, POKEMANIAC, LARRY, PokemaniacLarrySeenText, PokemaniacLarryBeatenText, 0, PokemaniacLarryScript
 
 PokemaniacLarryScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerHikerRussell:
-	trainer EVENT_BEAT_HIKER_RUSSELL, HIKER, RUSSELL, HikerRussellSeenText, HikerRussellBeatenText, $0000, HikerRussellScript
+	trainer EVENT_BEAT_HIKER_RUSSELL, HIKER, RUSSELL, HikerRussellSeenText, HikerRussellBeatenText, 0, HikerRussellScript
 
 HikerRussellScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerHikerDaniel:
-	trainer EVENT_BEAT_HIKER_DANIEL, HIKER, DANIEL, HikerDanielSeenText, HikerDanielBeatenText, $0000, HikerDanielScript
+	trainer EVENT_BEAT_HIKER_DANIEL, HIKER, DANIEL, HikerDanielSeenText, HikerDanielBeatenText, 0, HikerDanielScript
 
 HikerDanielScript:
 	talkaftercancel
@@ -39,7 +39,7 @@
 	end
 
 TrainerFirebreatherBill:
-	trainer EVENT_BEAT_FIREBREATHER_BILL, FIREBREATHER, BILL, FirebreatherBillSeenText, FirebreatherBillBeatenText, $0000, FirebreatherBillScript
+	trainer EVENT_BEAT_FIREBREATHER_BILL, FIREBREATHER, BILL, FirebreatherBillSeenText, FirebreatherBillBeatenText, 0, FirebreatherBillScript
 
 FirebreatherBillScript:
 	talkaftercancel
@@ -50,7 +50,7 @@
 	end
 
 TrainerFirebreatherRay:
-	trainer EVENT_BEAT_FIREBREATHER_RAY, FIREBREATHER, RAY, FirebreatherRaySeenText, FirebreatherRayBeatenText, $0000, FirebreatherRayScript
+	trainer EVENT_BEAT_FIREBREATHER_RAY, FIREBREATHER, RAY, FirebreatherRaySeenText, FirebreatherRayBeatenText, 0, FirebreatherRayScript
 
 FirebreatherRayScript:
 	talkaftercancel
@@ -207,12 +207,12 @@
 
 .PersonEvents:
 	db 9
-	person_event SPRITE_POKEFAN_M, 6, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerDaniel, -1
-	person_event SPRITE_SUPER_NERD, 21, 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacLarry, -1
-	person_event SPRITE_POKEFAN_M, 8, 11, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerHikerRussell, -1
-	person_event SPRITE_FISHER, 27, 15, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerFirebreatherRay, -1
-	person_event SPRITE_FISHER, 19, 14, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerFirebreatherBill, -1
-	person_event SPRITE_POKE_BALL, 21, 17, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c00, EVENT_UNION_CAVE_1F_GREAT_BALL
-	person_event SPRITE_POKE_BALL, 2, 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c02, EVENT_UNION_CAVE_1F_X_ATTACK
-	person_event SPRITE_POKE_BALL, 17, 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c04, EVENT_UNION_CAVE_1F_POTION
-	person_event SPRITE_POKE_BALL, 33, 12, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c06, EVENT_UNION_CAVE_1F_AWAKENING
+	person_event SPRITE_POKEFAN_M, 6, 3, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerDaniel, -1
+	person_event SPRITE_SUPER_NERD, 21, 4, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacLarry, -1
+	person_event SPRITE_POKEFAN_M, 8, 11, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerHikerRussell, -1
+	person_event SPRITE_FISHER, 27, 15, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerFirebreatherRay, -1
+	person_event SPRITE_FISHER, 19, 14, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerFirebreatherBill, -1
+	person_event SPRITE_POKE_BALL, 21, 17, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c00, EVENT_UNION_CAVE_1F_GREAT_BALL
+	person_event SPRITE_POKE_BALL, 2, 4, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c02, EVENT_UNION_CAVE_1F_X_ATTACK
+	person_event SPRITE_POKE_BALL, 17, 4, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c04, EVENT_UNION_CAVE_1F_POTION
+	person_event SPRITE_POKE_BALL, 33, 12, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c06, EVENT_UNION_CAVE_1F_AWAKENING
--- a/maps/UnionCaveB1F.asm
+++ b/maps/UnionCaveB1F.asm
@@ -6,7 +6,7 @@
 	db 0
 
 TrainerPokemaniacAndrew:
-	trainer EVENT_BEAT_POKEMANIAC_ANDREW, POKEMANIAC, ANDREW, PokemaniacAndrewSeenText, PokemaniacAndrewBeatenText, $0000, PokemaniacAndrewScript
+	trainer EVENT_BEAT_POKEMANIAC_ANDREW, POKEMANIAC, ANDREW, PokemaniacAndrewSeenText, PokemaniacAndrewBeatenText, 0, PokemaniacAndrewScript
 
 PokemaniacAndrewScript:
 	talkaftercancel
@@ -17,7 +17,7 @@
 	end
 
 TrainerPokemaniacCalvin:
-	trainer EVENT_BEAT_POKEMANIAC_CALVIN, POKEMANIAC, CALVIN, PokemaniacCalvinSeenText, PokemaniacCalvinBeatenText, $0000, PokemaniacCalvinScript
+	trainer EVENT_BEAT_POKEMANIAC_CALVIN, POKEMANIAC, CALVIN, PokemaniacCalvinSeenText, PokemaniacCalvinBeatenText, 0, PokemaniacCalvinScript
 
 PokemaniacCalvinScript:
 	talkaftercancel
@@ -28,7 +28,7 @@
 	end
 
 TrainerHikerPhillip:
-	trainer EVENT_BEAT_HIKER_PHILLIP, HIKER, PHILLIP, HikerPhillipSeenText, HikerPhillipBeatenText, $0000, HikerPhillipScript
+	trainer EVENT_BEAT_HIKER_PHILLIP, HIKER, PHILLIP, HikerPhillipSeenText, HikerPhillipBeatenText, 0, HikerPhillipScript
 
 HikerPhillipScript:
 	talkaftercancel
@@ -39,7 +39,7 @@
 	end
 
 TrainerHikerLeonard:
-	trainer EVENT_BEAT_HIKER_LEONARD, HIKER, LEONARD, HikerLeonardSeenText, HikerLeonardBeatenText, $0000, HikerLeonardScript
+	trainer EVENT_BEAT_HIKER_LEONARD, HIKER, LEONARD, HikerLeonardSeenText, HikerLeonardBeatenText, 0, HikerLeonardScript
 
 HikerLeonardScript:
 	talkaftercancel
@@ -163,10 +163,10 @@
 
 .PersonEvents:
 	db 7
-	person_event SPRITE_POKEFAN_M, 4, 9, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerPhillip, -1
-	person_event SPRITE_POKEFAN_M, 7, 16, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerLeonard, -1
-	person_event SPRITE_SUPER_NERD, 32, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacAndrew, -1
-	person_event SPRITE_SUPER_NERD, 30, 17, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacCalvin, -1
-	person_event SPRITE_POKE_BALL, 16, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a016, EVENT_UNION_CAVE_B1F_TM_SWIFT
-	person_event SPRITE_BOULDER, 10, 7, $19, 0, 0, -1, -1, 0, 0, 0, UnionCaveB1FBoulder, -1
-	person_event SPRITE_POKE_BALL, 23, 17, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a018, EVENT_UNION_CAVE_B1F_X_DEFEND
+	person_event SPRITE_POKEFAN_M, 4, 9, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerPhillip, -1
+	person_event SPRITE_POKEFAN_M, 7, 16, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerLeonard, -1
+	person_event SPRITE_SUPER_NERD, 32, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacAndrew, -1
+	person_event SPRITE_SUPER_NERD, 30, 17, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacCalvin, -1
+	person_event SPRITE_POKE_BALL, 16, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a016, EVENT_UNION_CAVE_B1F_TM_SWIFT
+	person_event SPRITE_BOULDER, 10, 7, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, UnionCaveB1FBoulder, -1
+	person_event SPRITE_POKE_BALL, 23, 17, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a018, EVENT_UNION_CAVE_B1F_X_DEFEND
--- a/maps/UnionCaveB2F.asm
+++ b/maps/UnionCaveB2F.asm
@@ -33,7 +33,7 @@
 	end
 
 TrainerCooltrainermNick:
-	trainer EVENT_BEAT_COOLTRAINERM_NICK, COOLTRAINERM, NICK, CooltrainermNickSeenText, CooltrainermNickBeatenText, $0000, CooltrainermNickScript
+	trainer EVENT_BEAT_COOLTRAINERM_NICK, COOLTRAINERM, NICK, CooltrainermNickSeenText, CooltrainermNickBeatenText, 0, CooltrainermNickScript
 
 CooltrainermNickScript:
 	talkaftercancel
@@ -44,7 +44,7 @@
 	end
 
 TrainerCooltrainerfGwen:
-	trainer EVENT_BEAT_COOLTRAINERF_GWEN, COOLTRAINERF, GWEN, CooltrainerfGwenSeenText, CooltrainerfGwenBeatenText, $0000, CooltrainerfGwenScript
+	trainer EVENT_BEAT_COOLTRAINERF_GWEN, COOLTRAINERF, GWEN, CooltrainerfGwenSeenText, CooltrainerfGwenBeatenText, 0, CooltrainerfGwenScript
 
 CooltrainerfGwenScript:
 	talkaftercancel
@@ -55,7 +55,7 @@
 	end
 
 TrainerCooltrainerfEmma:
-	trainer EVENT_BEAT_COOLTRAINERF_EMMA, COOLTRAINERF, EMMA, CooltrainerfEmmaSeenText, CooltrainerfEmmaBeatenText, $0000, CooltrainerfEmmaScript
+	trainer EVENT_BEAT_COOLTRAINERF_EMMA, COOLTRAINERF, EMMA, CooltrainerfEmmaSeenText, CooltrainerfEmmaBeatenText, 0, CooltrainerfEmmaScript
 
 CooltrainerfEmmaScript:
 	talkaftercancel
@@ -152,9 +152,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_ROCKER, 19, 15, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermNick, -1
-	person_event SPRITE_COOLTRAINER_F, 13, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfGwen, -1
-	person_event SPRITE_COOLTRAINER_F, 30, 3, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfEmma, -1
-	person_event SPRITE_POKE_BALL, 2, 16, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a36a, EVENT_UNION_CAVE_B2F_ELIXER
-	person_event SPRITE_POKE_BALL, 19, 12, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a36c, EVENT_UNION_CAVE_B2F_HYPER_POTION
-	person_event SPRITE_SURF, 31, 11, $24, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SurfScript_0x5a31f, EVENT_UNION_CAVE_B2F_LAPRAS
+	person_event SPRITE_ROCKER, 19, 15, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermNick, -1
+	person_event SPRITE_COOLTRAINER_F, 13, 5, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfGwen, -1
+	person_event SPRITE_COOLTRAINER_F, 30, 3, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfEmma, -1
+	person_event SPRITE_POKE_BALL, 2, 16, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a36a, EVENT_UNION_CAVE_B2F_ELIXER
+	person_event SPRITE_POKE_BALL, 19, 12, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a36c, EVENT_UNION_CAVE_B2F_HYPER_POTION
+	person_event SPRITE_SURF, 31, 11, SPRITEMOVEDATA_24, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SurfScript_0x5a31f, EVENT_UNION_CAVE_B2F_LAPRAS
--- a/maps/VermilionCity.asm
+++ b/maps/VermilionCity.asm
@@ -294,9 +294,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_TEACHER, 9, 18, $2, 1, 1, -1, -1, 0, 0, 0, TeacherScript_0x1aa983, -1
-	person_event SPRITE_GRAMPS, 6, 23, $9, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1aa986, -1
-	person_event SPRITE_MACHOP, 7, 26, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, VermilionMachop, -1
-	person_event SPRITE_SUPER_NERD, 16, 14, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x1aa99b, -1
-	person_event SPRITE_BIG_SNORLAX, 8, 34, $15, 0, 0, -1, -1, 0, 0, 0, VermilionSnorlax, EVENT_VERMILION_CITY_SNORLAX
-	person_event SPRITE_POKEFAN_M, 12, 31, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, VermilionGymBadgeGuy, -1
+	person_event SPRITE_TEACHER, 9, 18, SPRITEMOVEDATA_02, 1, 1, -1, -1, 0, 0, 0, TeacherScript_0x1aa983, -1
+	person_event SPRITE_GRAMPS, 6, 23, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1aa986, -1
+	person_event SPRITE_MACHOP, 7, 26, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, VermilionMachop, -1
+	person_event SPRITE_SUPER_NERD, 16, 14, SPRITEMOVEDATA_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x1aa99b, -1
+	person_event SPRITE_BIG_SNORLAX, 8, 34, SPRITEMOVEDATA_15, 0, 0, -1, -1, 0, 0, 0, VermilionSnorlax, EVENT_VERMILION_CITY_SNORLAX
+	person_event SPRITE_POKEFAN_M, 12, 31, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, VermilionGymBadgeGuy, -1
--- a/maps/VermilionGym.asm
+++ b/maps/VermilionGym.asm
@@ -13,7 +13,7 @@
 	writetext UnknownText_0x192142
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x192238, $0000
+	winlosstext UnknownText_0x192238, 0
 	loadtrainer LT_SURGE, 1
 	startbattle
 	returnafterbattle
@@ -38,7 +38,7 @@
 	end
 
 TrainerGentlemanGregory:
-	trainer EVENT_BEAT_GENTLEMAN_GREGORY, GENTLEMAN, GREGORY, GentlemanGregorySeenText, GentlemanGregoryBeatenText, $0000, GentlemanGregoryScript
+	trainer EVENT_BEAT_GENTLEMAN_GREGORY, GENTLEMAN, GREGORY, GentlemanGregorySeenText, GentlemanGregoryBeatenText, 0, GentlemanGregoryScript
 
 GentlemanGregoryScript:
 	talkaftercancel
@@ -49,7 +49,7 @@
 	end
 
 TrainerGuitaristVincent:
-	trainer EVENT_BEAT_GUITARIST_VINCENT, GUITARIST, VINCENT, GuitaristVincentSeenText, GuitaristVincentBeatenText, $0000, GuitaristVincentScript
+	trainer EVENT_BEAT_GUITARIST_VINCENT, GUITARIST, VINCENT, GuitaristVincentSeenText, GuitaristVincentBeatenText, 0, GuitaristVincentScript
 
 GuitaristVincentScript:
 	talkaftercancel
@@ -60,7 +60,7 @@
 	end
 
 TrainerJugglerHorton:
-	trainer EVENT_BEAT_JUGGLER_HORTON, JUGGLER, HORTON, JugglerHortonSeenText, JugglerHortonBeatenText, $0000, JugglerHortonScript
+	trainer EVENT_BEAT_JUGGLER_HORTON, JUGGLER, HORTON, JugglerHortonSeenText, JugglerHortonBeatenText, 0, JugglerHortonScript
 
 JugglerHortonScript:
 	talkaftercancel
@@ -287,8 +287,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_SURGE, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, SurgeScript_0x1920a5, -1
-	person_event SPRITE_GENTLEMAN, 8, 8, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerGentlemanGregory, -1
-	person_event SPRITE_ROCKER, 7, 4, $6, 0, 3, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerGuitaristVincent, -1
-	person_event SPRITE_SUPER_NERD, 10, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerJugglerHorton, -1
-	person_event SPRITE_GYM_GUY, 15, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 1, VermilionGymGuyScript, -1
+	person_event SPRITE_SURGE, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, SurgeScript_0x1920a5, -1
+	person_event SPRITE_GENTLEMAN, 8, 8, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerGentlemanGregory, -1
+	person_event SPRITE_ROCKER, 7, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 3, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerGuitaristVincent, -1
+	person_event SPRITE_SUPER_NERD, 10, 0, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerJugglerHorton, -1
+	person_event SPRITE_GYM_GUY, 15, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 1, VermilionGymGuyScript, -1
--- a/maps/VermilionHouseDiglettsCaveSpeechHouse.asm
+++ b/maps/VermilionHouseDiglettsCaveSpeechHouse.asm
@@ -34,4 +34,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_GENTLEMAN, 3, 1, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x192031, -1
+	person_event SPRITE_GENTLEMAN, 3, 1, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x192031, -1
--- a/maps/VermilionHouseFishingSpeechHouse.asm
+++ b/maps/VermilionHouseFishingSpeechHouse.asm
@@ -65,4 +65,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_FISHING_GURU, 4, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingDude, -1
+	person_event SPRITE_FISHING_GURU, 4, 2, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingDude, -1
--- a/maps/VermilionMagnetTrainSpeechHouse.asm
+++ b/maps/VermilionMagnetTrainSpeechHouse.asm
@@ -48,5 +48,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_POKEFAN_F, 3, 2, $8, 0, 0, -1, -1, 0, 0, 0, PokefanFScript_0x191eb7, -1
-	person_event SPRITE_YOUNGSTER, 3, 0, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x191eba, -1
+	person_event SPRITE_POKEFAN_F, 3, 2, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, PokefanFScript_0x191eb7, -1
+	person_event SPRITE_YOUNGSTER, 3, 0, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x191eba, -1
--- a/maps/VermilionMart.asm
+++ b/maps/VermilionMart.asm
@@ -7,7 +7,7 @@
 
 ClerkScript_0x191f7e:
 	loadfont
-	pokemart $0, $0016
+	pokemart MARTTYPE_STANDARD, MART_VERMILION
 	loadmovesprites
 	end
 
@@ -48,6 +48,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x191f7e, -1
-	person_event SPRITE_SUPER_NERD, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x191f85, -1
-	person_event SPRITE_BUENA, 6, 8, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BuenaScript_0x191f88, -1
+	person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x191f7e, -1
+	person_event SPRITE_SUPER_NERD, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x191f85, -1
+	person_event SPRITE_BUENA, 6, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BuenaScript_0x191f88, -1
--- a/maps/VermilionPokeCenter1F.asm
+++ b/maps/VermilionPokeCenter1F.asm
@@ -88,7 +88,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x191603, -1
-	person_event SPRITE_FISHING_GURU, 2, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FishingGuruScript_0x191606, -1
-	person_event SPRITE_SAILOR, 5, 6, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x19161a, -1
-	person_event SPRITE_BUG_CATCHER, 5, 1, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugCatcherScript_0x19161d, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x191603, -1
+	person_event SPRITE_FISHING_GURU, 2, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FishingGuruScript_0x191606, -1
+	person_event SPRITE_SAILOR, 5, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x19161a, -1
+	person_event SPRITE_BUG_CATCHER, 5, 1, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugCatcherScript_0x19161d, -1
--- a/maps/VermilionPort.asm
+++ b/maps/VermilionPort.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw .Trigger1, $0000
-	dw .Trigger2, $0000
+	dw .Trigger1, 0
+	dw .Trigger2, 0
 
 .MapCallbacks:
 	db 1
@@ -317,6 +317,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_SAILOR, 17, 7, $7, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x74dc4, EVENT_VERMILION_PORT_SAILOR_AT_GANGWAY
-	person_event SPRITE_SAILOR, 11, 6, $9, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x74e97, -1
-	person_event SPRITE_SUPER_NERD, 11, 11, $5, 0, 2, -1, -1, 0, 0, 0, SuperNerdScript_0x74ee6, -1
+	person_event SPRITE_SAILOR, 17, 7, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x74dc4, EVENT_VERMILION_PORT_SAILOR_AT_GANGWAY
+	person_event SPRITE_SAILOR, 11, 6, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x74e97, -1
+	person_event SPRITE_SUPER_NERD, 11, 11, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, 0, 0, SuperNerdScript_0x74ee6, -1
--- a/maps/VermilionPortPassage.asm
+++ b/maps/VermilionPortPassage.asm
@@ -35,4 +35,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_TEACHER, 1, 17, $8, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x7701a, -1
+	person_event SPRITE_TEACHER, 1, 17, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x7701a, -1
--- a/maps/VictoryRoad.asm
+++ b/maps/VictoryRoad.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x74490, $0000
-	dw UnknownScript_0x74491, $0000
+	dw UnknownScript_0x74490, 0
+	dw UnknownScript_0x74491, 0
 
 .MapCallbacks:
 	db 0
@@ -263,9 +263,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_SILVER, 13, 18, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_VICTORY_ROAD
-	person_event SPRITE_POKE_BALL, 28, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x74529, EVENT_VICTORY_ROAD_TM_EARTHQUAKE
-	person_event SPRITE_POKE_BALL, 48, 12, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7452b, EVENT_VICTORY_ROAD_MAX_REVIVE
-	person_event SPRITE_POKE_BALL, 29, 18, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7452d, EVENT_VICTORY_ROAD_FULL_RESTORE
-	person_event SPRITE_POKE_BALL, 48, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7452f, EVENT_VICTORY_ROAD_FULL_HEAL
-	person_event SPRITE_POKE_BALL, 38, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x74531, EVENT_VICTORY_ROAD_HP_UP
+	person_event SPRITE_SILVER, 13, 18, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_VICTORY_ROAD
+	person_event SPRITE_POKE_BALL, 28, 3, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x74529, EVENT_VICTORY_ROAD_TM_EARTHQUAKE
+	person_event SPRITE_POKE_BALL, 48, 12, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7452b, EVENT_VICTORY_ROAD_MAX_REVIVE
+	person_event SPRITE_POKE_BALL, 29, 18, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7452d, EVENT_VICTORY_ROAD_FULL_RESTORE
+	person_event SPRITE_POKE_BALL, 48, 15, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7452f, EVENT_VICTORY_ROAD_FULL_HEAL
+	person_event SPRITE_POKE_BALL, 38, 7, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x74531, EVENT_VICTORY_ROAD_HP_UP
--- a/maps/VictoryRoadGate.asm
+++ b/maps/VictoryRoadGate.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x9b9fb, $0000
-	dw UnknownScript_0x9b9fc, $0000
+	dw UnknownScript_0x9b9fb, 0
+	dw UnknownScript_0x9b9fc, 0
 
 .MapCallbacks:
 	db 0
@@ -118,6 +118,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_OFFICER, 11, 8, $9, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x9ba03, -1
-	person_event SPRITE_BLACK_BELT, 5, 7, $9, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x9ba21, EVENT_OPENED_MT_SILVER
-	person_event SPRITE_BLACK_BELT, 5, 12, $8, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x9ba24, EVENT_FOUGHT_SNORLAX
+	person_event SPRITE_OFFICER, 11, 8, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x9ba03, -1
+	person_event SPRITE_BLACK_BELT, 5, 7, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x9ba21, EVENT_OPENED_MT_SILVER
+	person_event SPRITE_BLACK_BELT, 5, 12, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x9ba24, EVENT_FOUGHT_SNORLAX
--- a/maps/VioletCity.asm
+++ b/maps/VioletCity.asm
@@ -301,11 +301,11 @@
 
 .PersonEvents:
 	db 8
-	person_event SPRITE_FISHER, 16, 13, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a83bb, EVENT_VIOLET_CITY_EARL
-	person_event SPRITE_LASS, 28, 28, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x1a8403, -1
-	person_event SPRITE_SUPER_NERD, 14, 24, $2, 2, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a8406, -1
-	person_event SPRITE_GRAMPS, 20, 17, $5, 0, 1, -1, -1, 0, 0, 0, GrampsScript_0x1a8409, -1
-	person_event SPRITE_YOUNGSTER, 18, 5, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a840c, -1
-	person_event SPRITE_FRUIT_TREE, 29, 14, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8425, -1
-	person_event SPRITE_POKE_BALL, 1, 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a8421, EVENT_VIOLET_CITY_PP_UP
-	person_event SPRITE_POKE_BALL, 5, 35, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a8423, EVENT_VIOLET_CITY_RARE_CANDY
+	person_event SPRITE_FISHER, 16, 13, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a83bb, EVENT_VIOLET_CITY_EARL
+	person_event SPRITE_LASS, 28, 28, SPRITEMOVEDATA_02, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x1a8403, -1
+	person_event SPRITE_SUPER_NERD, 14, 24, SPRITEMOVEDATA_02, 2, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a8406, -1
+	person_event SPRITE_GRAMPS, 20, 17, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, GrampsScript_0x1a8409, -1
+	person_event SPRITE_YOUNGSTER, 18, 5, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a840c, -1
+	person_event SPRITE_FRUIT_TREE, 29, 14, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8425, -1
+	person_event SPRITE_POKE_BALL, 1, 4, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a8421, EVENT_VIOLET_CITY_PP_UP
+	person_event SPRITE_POKE_BALL, 5, 35, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a8423, EVENT_VIOLET_CITY_RARE_CANDY
--- a/maps/VioletGym.asm
+++ b/maps/VioletGym.asm
@@ -13,7 +13,7 @@
 	writetext UnknownText_0x68473
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x6854a, $0000
+	winlosstext UnknownText_0x6854a, 0
 	loadtrainer FALKNER, 1
 	startbattle
 	returnafterbattle
@@ -61,7 +61,7 @@
 	jumpstd radiotowerrockets
 
 TrainerBird_keeperRod:
-	trainer EVENT_BEAT_BIRD_KEEPER_ROD, BIRD_KEEPER, ROD, Bird_keeperRodSeenText, Bird_keeperRodBeatenText, $0000, Bird_keeperRodScript
+	trainer EVENT_BEAT_BIRD_KEEPER_ROD, BIRD_KEEPER, ROD, Bird_keeperRodSeenText, Bird_keeperRodBeatenText, 0, Bird_keeperRodScript
 
 Bird_keeperRodScript:
 	talkaftercancel
@@ -72,7 +72,7 @@
 	end
 
 TrainerBird_keeperAbe:
-	trainer EVENT_BEAT_BIRD_KEEPER_ABE, BIRD_KEEPER, ABE, Bird_keeperAbeSeenText, Bird_keeperAbeBeatenText, $0000, Bird_keeperAbeScript
+	trainer EVENT_BEAT_BIRD_KEEPER_ABE, BIRD_KEEPER, ABE, Bird_keeperAbeSeenText, Bird_keeperAbeBeatenText, 0, Bird_keeperAbeScript
 
 Bird_keeperAbeScript:
 	talkaftercancel
@@ -294,7 +294,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_FALKNER, 1, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FalknerScript_0x683c2, -1
-	person_event SPRITE_YOUNGSTER, 6, 7, $8, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperRod, -1
-	person_event SPRITE_YOUNGSTER, 10, 2, $9, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperAbe, -1
-	person_event SPRITE_GYM_GUY, 13, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, VioletGymGuyScript, -1
+	person_event SPRITE_FALKNER, 1, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FalknerScript_0x683c2, -1
+	person_event SPRITE_YOUNGSTER, 6, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperRod, -1
+	person_event SPRITE_YOUNGSTER, 10, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperAbe, -1
+	person_event SPRITE_GYM_GUY, 13, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, VioletGymGuyScript, -1
--- a/maps/VioletMart.asm
+++ b/maps/VioletMart.asm
@@ -7,7 +7,7 @@
 
 ClerkScript_0x68295:
 	loadfont
-	pokemart $0, $0002
+	pokemart MARTTYPE_STANDARD, MART_VIOLET
 	loadmovesprites
 	end
 
@@ -60,6 +60,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x68295, -1
-	person_event SPRITE_GRANNY, 6, 7, $5, 0, 1, -1, -1, 0, 0, 0, GrannyScript_0x6829c, -1
-	person_event SPRITE_COOLTRAINER_M, 2, 5, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x6829f, -1
+	person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x68295, -1
+	person_event SPRITE_GRANNY, 6, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, GrannyScript_0x6829c, -1
+	person_event SPRITE_COOLTRAINER_M, 2, 5, SPRITEMOVEDATA_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x6829f, -1
--- a/maps/VioletNicknameSpeechHouse.asm
+++ b/maps/VioletNicknameSpeechHouse.asm
@@ -56,6 +56,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_TEACHER, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x693e9, -1
-	person_event SPRITE_LASS, 4, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x693ec, -1
-	person_event SPRITE_BIRD, 2, 5, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BirdScript_0x693ef, -1
+	person_event SPRITE_TEACHER, 3, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x693e9, -1
+	person_event SPRITE_LASS, 4, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x693ec, -1
+	person_event SPRITE_BIRD, 2, 5, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BirdScript_0x693ef, -1
--- a/maps/VioletOnixTradeHouse.asm
+++ b/maps/VioletOnixTradeHouse.asm
@@ -45,5 +45,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_POKEFAN_M, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x6998d, -1
-	person_event SPRITE_YOUNGSTER, 5, 6, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x69990, -1
+	person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x6998d, -1
+	person_event SPRITE_YOUNGSTER, 5, 6, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x69990, -1
--- a/maps/VioletPokeCenter1F.asm
+++ b/maps/VioletPokeCenter1F.asm
@@ -226,8 +226,8 @@
 
 .PersonEvents:
 	db 5
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x694c9, -1
-	person_event SPRITE_GAMEBOY_KID, 6, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GameboyKidScript_0x69540, -1
-	person_event SPRITE_GENTLEMAN, 4, 1, $3, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x69543, -1
-	person_event SPRITE_YOUNGSTER, 1, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x69546, -1
-	person_event SPRITE_SCIENTIST, 3, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x694cc, EVENT_ELMS_AIDE_IN_VIOLET_POKEMON_CENTER
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x694c9, -1
+	person_event SPRITE_GAMEBOY_KID, 6, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GameboyKidScript_0x69540, -1
+	person_event SPRITE_GENTLEMAN, 4, 1, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x69543, -1
+	person_event SPRITE_YOUNGSTER, 1, 8, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x69546, -1
+	person_event SPRITE_SCIENTIST, 3, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x694cc, EVENT_ELMS_AIDE_IN_VIOLET_POKEMON_CENTER
--- a/maps/ViridianCity.asm
+++ b/maps/ViridianCity.asm
@@ -237,7 +237,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_GRAMPS, 5, 18, $2, 2, 2, -1, -1, 0, 0, 0, GrampsScript_0x1a9a4c, -1
-	person_event SPRITE_GRAMPS, 8, 30, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x1a9a61, -1
-	person_event SPRITE_FISHER, 23, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x1a9a75, -1
-	person_event SPRITE_YOUNGSTER, 21, 17, $2, 3, 3, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a9a90, -1
+	person_event SPRITE_GRAMPS, 5, 18, SPRITEMOVEDATA_02, 2, 2, -1, -1, 0, 0, 0, GrampsScript_0x1a9a4c, -1
+	person_event SPRITE_GRAMPS, 8, 30, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x1a9a61, -1
+	person_event SPRITE_FISHER, 23, 6, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x1a9a75, -1
+	person_event SPRITE_YOUNGSTER, 21, 17, SPRITEMOVEDATA_02, 3, 3, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a9a90, -1
--- a/maps/ViridianGym.asm
+++ b/maps/ViridianGym.asm
@@ -13,7 +13,7 @@
 	writetext UnknownText_0x9aa7b
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x9abae, $0000
+	winlosstext UnknownText_0x9abae, 0
 	loadtrainer BLUE, 1
 	startbattle
 	returnafterbattle
@@ -183,5 +183,5 @@
 
 .PersonEvents:
 	db 2
-	person_event SPRITE_BLUE, 3, 5, $6, 0, 0, -1, -1, 0, 0, 0, BlueScript_0x9aa26, EVENT_VIRIDIAN_GYM_BLUE
-	person_event SPRITE_GYM_GUY, 13, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ViridianGymGuyScript, EVENT_VIRIDIAN_GYM_BLUE
+	person_event SPRITE_BLUE, 3, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, BlueScript_0x9aa26, EVENT_VIRIDIAN_GYM_BLUE
+	person_event SPRITE_GYM_GUY, 13, 7, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ViridianGymGuyScript, EVENT_VIRIDIAN_GYM_BLUE
--- a/maps/ViridianMart.asm
+++ b/maps/ViridianMart.asm
@@ -7,7 +7,7 @@
 
 ClerkScript_0x9b5e7:
 	loadfont
-	pokemart $0, $0012
+	pokemart MARTTYPE_STANDARD, MART_VIRIDIAN
 	loadmovesprites
 	end
 
@@ -48,6 +48,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x9b5e7, -1
-	person_event SPRITE_LASS, 2, 7, $5, 0, 2, -1, -1, 0, 0, 0, LassScript_0x9b5ee, -1
-	person_event SPRITE_COOLTRAINER_M, 6, 1, $7, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x9b5f1, -1
+	person_event SPRITE_CLERK, 3, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x9b5e7, -1
+	person_event SPRITE_LASS, 2, 7, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 2, -1, -1, 0, 0, 0, LassScript_0x9b5ee, -1
+	person_event SPRITE_COOLTRAINER_M, 6, 1, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x9b5f1, -1
--- a/maps/ViridianNicknameSpeechHouse.asm
+++ b/maps/ViridianNicknameSpeechHouse.asm
@@ -72,7 +72,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_POKEFAN_M, 4, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x9ae3a, -1
-	person_event SPRITE_LASS, 4, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x9ae3d, -1
-	person_event SPRITE_MOLTRES, 2, 5, $16, 0, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MoltresScript_0x9ae40, -1
-	person_event SPRITE_GROWLITHE, 3, 6, $16, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrowlitheScript_0x9ae4a, -1
+	person_event SPRITE_POKEFAN_M, 4, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x9ae3a, -1
+	person_event SPRITE_LASS, 4, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x9ae3d, -1
+	person_event SPRITE_MOLTRES, 2, 5, SPRITEMOVEDATA_16, 0, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MoltresScript_0x9ae40, -1
+	person_event SPRITE_GROWLITHE, 3, 6, SPRITEMOVEDATA_16, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrowlitheScript_0x9ae4a, -1
--- a/maps/ViridianPokeCenter1F.asm
+++ b/maps/ViridianPokeCenter1F.asm
@@ -83,7 +83,7 @@
 
 .PersonEvents:
 	db 4
-	person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x9b690, -1
-	person_event SPRITE_COOLTRAINER_M, 4, 8, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x9b693, -1
-	person_event SPRITE_COOLTRAINER_F, 3, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerFScript_0x9b6a7, -1
-	person_event SPRITE_BUG_CATCHER, 6, 1, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugCatcherScript_0x9b6aa, -1
+	person_event SPRITE_NURSE, 1, 3, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x9b690, -1
+	person_event SPRITE_COOLTRAINER_M, 4, 8, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x9b693, -1
+	person_event SPRITE_COOLTRAINER_F, 3, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerFScript_0x9b6a7, -1
+	person_event SPRITE_BUG_CATCHER, 6, 1, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugCatcherScript_0x9b6aa, -1
--- a/maps/WarehouseEntrance.asm
+++ b/maps/WarehouseEntrance.asm
@@ -105,7 +105,7 @@
 	return
 
 TrainerSupernerdEric:
-	trainer EVENT_BEAT_SUPER_NERD_ERIC, SUPER_NERD, ERIC, SupernerdEricSeenText, SupernerdEricBeatenText, $0000, SupernerdEricScript
+	trainer EVENT_BEAT_SUPER_NERD_ERIC, SUPER_NERD, ERIC, SupernerdEricSeenText, SupernerdEricBeatenText, 0, SupernerdEricScript
 
 SupernerdEricScript:
 	talkaftercancel
@@ -116,7 +116,7 @@
 	end
 
 TrainerSupernerdTeru:
-	trainer EVENT_BEAT_SUPER_NERD_TERU, SUPER_NERD, TERU, SupernerdTeruSeenText, SupernerdTeruBeatenText, $0000, SupernerdTeruScript
+	trainer EVENT_BEAT_SUPER_NERD_TERU, SUPER_NERD, TERU, SupernerdTeruSeenText, SupernerdTeruBeatenText, 0, SupernerdTeruScript
 
 SupernerdTeruScript:
 	talkaftercancel
@@ -127,7 +127,7 @@
 	end
 
 TrainerPokemaniacIssac:
-	trainer EVENT_BEAT_POKEMANIAC_ISSAC, POKEMANIAC, ISSAC, PokemaniacIssacSeenText, PokemaniacIssacBeatenText, $0000, PokemaniacIssacScript
+	trainer EVENT_BEAT_POKEMANIAC_ISSAC, POKEMANIAC, ISSAC, PokemaniacIssacSeenText, PokemaniacIssacBeatenText, 0, PokemaniacIssacScript
 
 PokemaniacIssacScript:
 	talkaftercancel
@@ -138,7 +138,7 @@
 	end
 
 TrainerPokemaniacDonald:
-	trainer EVENT_BEAT_POKEMANIAC_DONALD, POKEMANIAC, DONALD, PokemaniacDonaldSeenText, PokemaniacDonaldBeatenText, $0000, PokemaniacDonaldScript
+	trainer EVENT_BEAT_POKEMANIAC_DONALD, POKEMANIAC, DONALD, PokemaniacDonaldSeenText, PokemaniacDonaldBeatenText, 0, PokemaniacDonaldScript
 
 PokemaniacDonaldScript:
 	talkaftercancel
@@ -156,7 +156,7 @@
 	jump WarehouseEntranceScript_ShopClosed
 
 .Open:
-	pokemart $1, $0021
+	pokemart MARTTYPE_BITTER, MART_UNDERGROUND
 	loadmovesprites
 	end
 
@@ -171,7 +171,7 @@
 .CheckMorn:
 	checkmorn
 	iffalse WarehouseEntranceScript_ShopClosed
-	pokemart $2, $0000
+	pokemart MARTTYPE_BARGAIN, 0
 	loadmovesprites
 	end
 
@@ -669,12 +669,12 @@
 
 .PersonEvents:
 	db 9
-	person_event SPRITE_SUPER_NERD, 31, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerSupernerdEric, -1
-	person_event SPRITE_SUPER_NERD, 9, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerSupernerdTeru, -1
-	person_event SPRITE_SUPER_NERD, 27, 3, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPokemaniacIssac, -1
-	person_event SPRITE_SUPER_NERD, 6, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacDonald, -1
-	person_event SPRITE_POKE_BALL, 25, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7c306, EVENT_WAREHOUSE_ENTRANCE_COIN_CASE
-	person_event SPRITE_GRAMPS, 11, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x7c146, EVENT_WAREHOUSE_ENTRANCE_GRAMPS
-	person_event SPRITE_SUPER_NERD, 14, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OlderHaircutBrotherScript, EVENT_WAREHOUSE_ENTRANCE_OLDER_HAIRCUT_BROTHER
-	person_event SPRITE_SUPER_NERD, 15, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungerHaircutBrotherScript, EVENT_WAREHOUSE_ENTRANCE_YOUNGER_HAIRCUT_BROTHER
-	person_event SPRITE_GRANNY, 21, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrannyScript_0x7c132, EVENT_WAREHOUSE_ENTRANCE_GRANNY
+	person_event SPRITE_SUPER_NERD, 31, 5, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerSupernerdEric, -1
+	person_event SPRITE_SUPER_NERD, 9, 6, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerSupernerdTeru, -1
+	person_event SPRITE_SUPER_NERD, 27, 3, SPRITEMOVEDATA_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPokemaniacIssac, -1
+	person_event SPRITE_SUPER_NERD, 6, 2, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacDonald, -1
+	person_event SPRITE_POKE_BALL, 25, 7, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7c306, EVENT_WAREHOUSE_ENTRANCE_COIN_CASE
+	person_event SPRITE_GRAMPS, 11, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x7c146, EVENT_WAREHOUSE_ENTRANCE_GRAMPS
+	person_event SPRITE_SUPER_NERD, 14, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OlderHaircutBrotherScript, EVENT_WAREHOUSE_ENTRANCE_OLDER_HAIRCUT_BROTHER
+	person_event SPRITE_SUPER_NERD, 15, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungerHaircutBrotherScript, EVENT_WAREHOUSE_ENTRANCE_YOUNGER_HAIRCUT_BROTHER
+	person_event SPRITE_GRANNY, 21, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrannyScript_0x7c132, EVENT_WAREHOUSE_ENTRANCE_GRANNY
--- a/maps/WhirlIslandB1F.asm
+++ b/maps/WhirlIslandB1F.asm
@@ -62,9 +62,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_POKE_BALL, 13, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c410, EVENT_WHIRL_ISLAND_B1F_FULL_RESTORE
-	person_event SPRITE_POKE_BALL, 18, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c412, EVENT_WHIRL_ISLAND_B1F_CARBOS
-	person_event SPRITE_POKE_BALL, 23, 33, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c414, EVENT_WHIRL_ISLAND_B1F_CALCIUM
-	person_event SPRITE_POKE_BALL, 8, 17, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c416, EVENT_WHIRL_ISLAND_B1F_NUGGET
-	person_event SPRITE_POKE_BALL, 26, 19, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c418, EVENT_WHIRL_ISLAND_B1F_ESCAPE_ROPE
-	person_event SPRITE_BOULDER, 26, 23, $19, 0, 0, -1, -1, 0, 0, 0, WhirlIslandB1FBoulder, -1
+	person_event SPRITE_POKE_BALL, 13, 7, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c410, EVENT_WHIRL_ISLAND_B1F_FULL_RESTORE
+	person_event SPRITE_POKE_BALL, 18, 2, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c412, EVENT_WHIRL_ISLAND_B1F_CARBOS
+	person_event SPRITE_POKE_BALL, 23, 33, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c414, EVENT_WHIRL_ISLAND_B1F_CALCIUM
+	person_event SPRITE_POKE_BALL, 8, 17, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c416, EVENT_WHIRL_ISLAND_B1F_NUGGET
+	person_event SPRITE_POKE_BALL, 26, 19, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c418, EVENT_WHIRL_ISLAND_B1F_ESCAPE_ROPE
+	person_event SPRITE_BOULDER, 26, 23, SPRITEMOVEDATA_19, 0, 0, -1, -1, 0, 0, 0, WhirlIslandB1FBoulder, -1
--- a/maps/WhirlIslandB2F.asm
+++ b/maps/WhirlIslandB2F.asm
@@ -33,6 +33,6 @@
 
 .PersonEvents:
 	db 3
-	person_event SPRITE_POKE_BALL, 11, 10, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c4b8, EVENT_WHIRL_ISLAND_B2F_FULL_RESTORE
-	person_event SPRITE_POKE_BALL, 4, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c4ba, EVENT_WHIRL_ISLAND_B2F_MAX_REVIVE
-	person_event SPRITE_POKE_BALL, 12, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c4bc, EVENT_WHIRL_ISLAND_B2F_MAX_ELIXER
+	person_event SPRITE_POKE_BALL, 11, 10, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c4b8, EVENT_WHIRL_ISLAND_B2F_FULL_RESTORE
+	person_event SPRITE_POKE_BALL, 4, 6, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c4ba, EVENT_WHIRL_ISLAND_B2F_MAX_REVIVE
+	person_event SPRITE_POKE_BALL, 12, 5, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c4bc, EVENT_WHIRL_ISLAND_B2F_MAX_ELIXER
--- a/maps/WhirlIslandLugiaChamber.asm
+++ b/maps/WhirlIslandLugiaChamber.asm
@@ -59,4 +59,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_LUGIA, 5, 9, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LugiaScript_0x18c518, EVENT_WHIRL_ISLAND_LUGIA_CHAMBER_LUGIA
+	person_event SPRITE_LUGIA, 5, 9, SPRITEMOVEDATA_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LugiaScript_0x18c518, EVENT_WHIRL_ISLAND_LUGIA_CHAMBER_LUGIA
--- a/maps/WhirlIslandNE.asm
+++ b/maps/WhirlIslandNE.asm
@@ -26,4 +26,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_POKE_BALL, 11, 11, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c396, EVENT_WHIRL_ISLAND_NE_ULTRA_BALL
+	person_event SPRITE_POKE_BALL, 11, 11, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c396, EVENT_WHIRL_ISLAND_NE_ULTRA_BALL
--- a/maps/WhirlIslandSW.asm
+++ b/maps/WhirlIslandSW.asm
@@ -28,4 +28,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_POKE_BALL, 2, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c3bc, EVENT_WHIRL_ISLAND_SW_ULTRA_BALL
+	person_event SPRITE_POKE_BALL, 2, 15, SPRITEMOVEDATA_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c3bc, EVENT_WHIRL_ISLAND_SW_ULTRA_BALL
--- a/maps/WillsRoom.asm
+++ b/maps/WillsRoom.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x1804c6, $0000
-	dw UnknownScript_0x1804ca, $0000
+	dw UnknownScript_0x1804c6, 0
+	dw UnknownScript_0x1804ca, 0
 
 .MapCallbacks:
 	db 1
@@ -52,7 +52,7 @@
 	writetext UnknownText_0x180531
 	closetext
 	loadmovesprites
-	winlosstext UnknownText_0x18062c, $0000
+	winlosstext UnknownText_0x18062c, 0
 	loadtrainer WILL, 1
 	startbattle
 	returnafterbattle
@@ -148,4 +148,4 @@
 
 .PersonEvents:
 	db 1
-	person_event SPRITE_WILL, 7, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, WillScript_0x1804f8, -1
+	person_event SPRITE_WILL, 7, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, WillScript_0x1804f8, -1
--- a/maps/WiseTriosRoom.asm
+++ b/maps/WiseTriosRoom.asm
@@ -3,8 +3,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x98572, $0000
-	dw UnknownScript_0x98573, $0000
+	dw UnknownScript_0x98572, 0
+	dw UnknownScript_0x98573, 0
 
 .MapCallbacks:
 	db 1
@@ -66,7 +66,7 @@
 	end
 
 TrainerSageGaku:
-	trainer EVENT_BEAT_SAGE_GAKU, SAGE, GAKU, SageGakuSeenText, SageGakuBeatenText, $0000, SageGakuScript
+	trainer EVENT_BEAT_SAGE_GAKU, SAGE, GAKU, SageGakuSeenText, SageGakuBeatenText, 0, SageGakuScript
 
 SageGakuScript:
 	loadfont
@@ -76,7 +76,7 @@
 	end
 
 TrainerSageMasa:
-	trainer EVENT_BEAT_SAGE_MASA, SAGE, MASA, SageMasaSeenText, SageMasaBeatenText, $0000, SageMasaScript
+	trainer EVENT_BEAT_SAGE_MASA, SAGE, MASA, SageMasaSeenText, SageMasaBeatenText, 0, SageMasaScript
 
 SageMasaScript:
 	loadfont
@@ -86,7 +86,7 @@
 	end
 
 TrainerSageKoji:
-	trainer EVENT_BEAT_SAGE_KOJI, SAGE, KOJI, SageKojiSeenText, SageKojiBeatenText, $0000, SageKojiScript
+	trainer EVENT_BEAT_SAGE_KOJI, SAGE, KOJI, SageKojiSeenText, SageKojiBeatenText, 0, SageKojiScript
 
 SageKojiScript:
 	checkevent EVENT_KOJI_ALLOWS_YOU_PASSAGE_TO_TIN_TOWER
@@ -360,9 +360,9 @@
 
 .PersonEvents:
 	db 6
-	person_event SPRITE_SAGE, 2, 6, $3, 0, 0, -1, -1, 0, 0, 0, SageScript_0x9859a, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1
-	person_event SPRITE_SAGE, 7, 6, $5, 0, 1, -1, -1, 0, 0, 0, SageScript_0x9859d, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1
-	person_event SPRITE_SAGE, 5, 7, $8, 0, 0, -1, -1, 0, 0, 0, SageScript_0x985a0, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1
-	person_event SPRITE_SAGE, 2, 4, $6, 0, 0, -1, -1, 0, 2, 2, TrainerSageGaku, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2
-	person_event SPRITE_SAGE, 6, 4, $7, 0, 0, -1, -1, 0, 2, 2, TrainerSageMasa, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2
-	person_event SPRITE_SAGE, 4, 6, $8, 0, 0, -1, -1, 0, 2, 2, TrainerSageKoji, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2
+	person_event SPRITE_SAGE, 2, 6, SPRITEMOVEDATA_03, 0, 0, -1, -1, 0, 0, 0, SageScript_0x9859a, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1
+	person_event SPRITE_SAGE, 7, 6, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 1, -1, -1, 0, 0, 0, SageScript_0x9859d, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1
+	person_event SPRITE_SAGE, 5, 7, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 0, 0, SageScript_0x985a0, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1
+	person_event SPRITE_SAGE, 2, 4, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, 2, 2, TrainerSageGaku, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2
+	person_event SPRITE_SAGE, 6, 4, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, 2, 2, TrainerSageMasa, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2
+	person_event SPRITE_SAGE, 4, 6, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, 2, 2, TrainerSageKoji, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2
--- a/maps/second_map_headers.asm
+++ b/maps/second_map_headers.asm
@@ -277,323 +277,323 @@
 	connection north, ROUTE_10_NORTH, Route10North, 0, 0, 10, ROUTE_10_SOUTH
 	connection south, LAVENDER_TOWN, LavenderTown, 0, 0, 10, ROUTE_10_SOUTH
 
-	map_header_2 Route23, ROUTE_23, $f, NONE
-	map_header_2 SproutTower1F, SPROUT_TOWER_1F, $0, NONE
-	map_header_2 SproutTower2F, SPROUT_TOWER_2F, $0, NONE
-	map_header_2 SproutTower3F, SPROUT_TOWER_3F, $0, NONE
-	map_header_2 TinTower1F, TIN_TOWER_1F, $0, NONE
-	map_header_2 TinTower2F, TIN_TOWER_2F, $0, NONE
-	map_header_2 TinTower3F, TIN_TOWER_3F, $0, NONE
-	map_header_2 TinTower4F, TIN_TOWER_4F, $0, NONE
-	map_header_2 TinTower5F, TIN_TOWER_5F, $0, NONE
-	map_header_2 TinTower6F, TIN_TOWER_6F, $0, NONE
-	map_header_2 TinTower7F, TIN_TOWER_7F, $0, NONE
-	map_header_2 TinTower8F, TIN_TOWER_8F, $0, NONE
-	map_header_2 TinTower9F, TIN_TOWER_9F, $0, NONE
-	map_header_2 BurnedTower1F, BURNED_TOWER_1F, $0, NONE
-	map_header_2 BurnedTowerB1F, BURNED_TOWER_B1F, $9, NONE
-	map_header_2 NationalPark, NATIONAL_PARK, $0, NONE
-	map_header_2 NationalParkBugContest, NATIONAL_PARK_BUG_CONTEST, $0, NONE
-	map_header_2 RadioTower1F, RADIO_TOWER_1F, $0, NONE
-	map_header_2 RadioTower2F, RADIO_TOWER_2F, $0, NONE
-	map_header_2 RadioTower3F, RADIO_TOWER_3F, $0, NONE
-	map_header_2 RadioTower4F, RADIO_TOWER_4F, $0, NONE
-	map_header_2 RadioTower5F, RADIO_TOWER_5F, $0, NONE
-	map_header_2 RuinsofAlphOutside, RUINS_OF_ALPH_OUTSIDE, $5, NONE
-	map_header_2 RuinsofAlphHoOhChamber, RUINS_OF_ALPH_HO_OH_CHAMBER, $0, NONE
-	map_header_2 RuinsofAlphKabutoChamber, RUINS_OF_ALPH_KABUTO_CHAMBER, $0, NONE
-	map_header_2 RuinsofAlphOmanyteChamber, RUINS_OF_ALPH_OMANYTE_CHAMBER, $0, NONE
-	map_header_2 RuinsofAlphAerodactylChamber, RUINS_OF_ALPH_AERODACTYL_CHAMBER, $0, NONE
-	map_header_2 RuinsofAlphInnerChamber, RUINS_OF_ALPH_INNER_CHAMBER, $0, NONE
-	map_header_2 RuinsofAlphResearchCenter, RUINS_OF_ALPH_RESEARCH_CENTER, $0, NONE
-	map_header_2 RuinsofAlphHoOhItemRoom, RUINS_OF_ALPH_HO_OH_ITEM_ROOM, $0, NONE
-	map_header_2 RuinsofAlphKabutoItemRoom, RUINS_OF_ALPH_KABUTO_ITEM_ROOM, $0, NONE
-	map_header_2 RuinsofAlphOmanyteItemRoom, RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, $0, NONE
-	map_header_2 RuinsofAlphAerodactylItemRoom, RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, $0, NONE
-	map_header_2 RuinsofAlphHoOhWordRoom, RUINS_OF_ALPH_HO_OH_WORD_ROOM, $0, NONE
-	map_header_2 RuinsofAlphKabutoWordRoom, RUINS_OF_ALPH_KABUTO_WORD_ROOM, $0, NONE
-	map_header_2 RuinsofAlphOmanyteWordRoom, RUINS_OF_ALPH_OMANYTE_WORD_ROOM, $0, NONE
-	map_header_2 RuinsofAlphAerodactylWordRoom, RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, $0, NONE
-	map_header_2 UnionCave1F, UNION_CAVE_1F, $9, NONE
-	map_header_2 UnionCaveB1F, UNION_CAVE_B1F, $9, NONE
-	map_header_2 UnionCaveB2F, UNION_CAVE_B2F, $9, NONE
-	map_header_2 SlowpokeWellB1F, SLOWPOKE_WELL_B1F, $9, NONE
-	map_header_2 SlowpokeWellB2F, SLOWPOKE_WELL_B2F, $9, NONE
-	map_header_2 OlivineLighthouse1F, OLIVINE_LIGHTHOUSE_1F, $0, NONE
-	map_header_2 OlivineLighthouse2F, OLIVINE_LIGHTHOUSE_2F, $0, NONE
-	map_header_2 OlivineLighthouse3F, OLIVINE_LIGHTHOUSE_3F, $0, NONE
-	map_header_2 OlivineLighthouse4F, OLIVINE_LIGHTHOUSE_4F, $0, NONE
-	map_header_2 OlivineLighthouse5F, OLIVINE_LIGHTHOUSE_5F, $0, NONE
-	map_header_2 OlivineLighthouse6F, OLIVINE_LIGHTHOUSE_6F, $0, NONE
-	map_header_2 MahoganyMart1F, MAHOGANY_MART_1F, $0, NONE
-	map_header_2 TeamRocketBaseB1F, TEAM_ROCKET_BASE_B1F, $0, NONE
-	map_header_2 TeamRocketBaseB2F, TEAM_ROCKET_BASE_B2F, $0, NONE
-	map_header_2 TeamRocketBaseB3F, TEAM_ROCKET_BASE_B3F, $0, NONE
-	map_header_2 IlexForest, ILEX_FOREST, $5, NONE
-	map_header_2 WarehouseEntrance, WAREHOUSE_ENTRANCE, $0, NONE
-	map_header_2 UndergroundPathSwitchRoomEntrances, UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, $0, NONE
-	map_header_2 GoldenrodDeptStoreB1F, GOLDENROD_DEPT_STORE_B1F, $0, NONE
-	map_header_2 UndergroundWarehouse, UNDERGROUND_WAREHOUSE, $0, NONE
-	map_header_2 MountMortar1FOutside, MOUNT_MORTAR_1F_OUTSIDE, $9, NONE
-	map_header_2 MountMortar1FInside, MOUNT_MORTAR_1F_INSIDE, $9, NONE
-	map_header_2 MountMortar2FInside, MOUNT_MORTAR_2F_INSIDE, $9, NONE
-	map_header_2 MountMortarB1F, MOUNT_MORTAR_B1F, $9, NONE
-	map_header_2 IcePath1F, ICE_PATH_1F, $9, NONE
-	map_header_2 IcePathB1F, ICE_PATH_B1F, $19, NONE
-	map_header_2 IcePathB2FMahoganySide, ICE_PATH_B2F_MAHOGANY_SIDE, $19, NONE
-	map_header_2 IcePathB2FBlackthornSide, ICE_PATH_B2F_BLACKTHORN_SIDE, $19, NONE
-	map_header_2 IcePathB3F, ICE_PATH_B3F, $19, NONE
-	map_header_2 WhirlIslandNW, WHIRL_ISLAND_NW, $9, NONE
-	map_header_2 WhirlIslandNE, WHIRL_ISLAND_NE, $9, NONE
-	map_header_2 WhirlIslandSW, WHIRL_ISLAND_SW, $9, NONE
-	map_header_2 WhirlIslandCave, WHIRL_ISLAND_CAVE, $9, NONE
-	map_header_2 WhirlIslandSE, WHIRL_ISLAND_SE, $f, NONE
-	map_header_2 WhirlIslandB1F, WHIRL_ISLAND_B1F, $9, NONE
-	map_header_2 WhirlIslandB2F, WHIRL_ISLAND_B2F, $2e, NONE
-	map_header_2 WhirlIslandLugiaChamber, WHIRL_ISLAND_LUGIA_CHAMBER, $f, NONE
-	map_header_2 SilverCaveRoom1, SILVER_CAVE_ROOM_1, $9, NONE
-	map_header_2 SilverCaveRoom2, SILVER_CAVE_ROOM_2, $9, NONE
-	map_header_2 SilverCaveRoom3, SILVER_CAVE_ROOM_3, $9, NONE
-	map_header_2 SilverCaveItemRooms, SILVER_CAVE_ITEM_ROOMS, $9, NONE
-	map_header_2 DarkCaveVioletEntrance, DARK_CAVE_VIOLET_ENTRANCE, $9, NONE
-	map_header_2 DarkCaveBlackthornEntrance, DARK_CAVE_BLACKTHORN_ENTRANCE, $9, NONE
-	map_header_2 DragonsDen1F, DRAGONS_DEN_1F, $9, NONE
-	map_header_2 DragonsDenB1F, DRAGONS_DEN_B1F, $71, NONE
-	map_header_2 DragonShrine, DRAGON_SHRINE, $0, NONE
-	map_header_2 TohjoFalls, TOHJO_FALLS, $9, NONE
-	map_header_2 OlivinePokeCenter1F, OLIVINE_POKECENTER_1F, $0, NONE
-	map_header_2 OlivineGym, OLIVINE_GYM, $0, NONE
-	map_header_2 OlivineVoltorbHouse, OLIVINE_VOLTORB_HOUSE, $0, NONE
-	map_header_2 OlivineHouseBeta, OLIVINE_HOUSE_BETA, $0, NONE
-	map_header_2 OlivinePunishmentSpeechHouse, OLIVINE_PUNISHMENT_SPEECH_HOUSE, $0, NONE
-	map_header_2 OlivineGoodRodHouse, OLIVINE_GOOD_ROD_HOUSE, $0, NONE
-	map_header_2 OlivineCafe, OLIVINE_CAFE, $0, NONE
-	map_header_2 OlivineMart, OLIVINE_MART, $0, NONE
-	map_header_2 Route38EcruteakGate, ROUTE_38_ECRUTEAK_GATE, $0, NONE
-	map_header_2 Route39Barn, ROUTE_39_BARN, $0, NONE
-	map_header_2 Route39Farmhouse, ROUTE_39_FARMHOUSE, $0, NONE
-	map_header_2 MahoganyRedGyaradosSpeechHouse, MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, $0, NONE
-	map_header_2 MahoganyGym, MAHOGANY_GYM, $0, NONE
-	map_header_2 MahoganyPokeCenter1F, MAHOGANY_POKECENTER_1F, $0, NONE
-	map_header_2 Route42EcruteakGate, ROUTE_42_ECRUTEAK_GATE, $0, NONE
-	map_header_2 DiglettsCave, DIGLETTS_CAVE, $9, NONE
-	map_header_2 MountMoon, MOUNT_MOON, $9, NONE
-	map_header_2 Underground, UNDERGROUND, $0, NONE
-	map_header_2 RockTunnel1F, ROCK_TUNNEL_1F, $9, NONE
-	map_header_2 RockTunnelB1F, ROCK_TUNNEL_B1F, $9, NONE
-	map_header_2 SafariZoneFuchsiaGateBeta, SAFARI_ZONE_FUCHSIA_GATE_BETA, $0, NONE
-	map_header_2 SafariZoneBeta, SAFARI_ZONE_BETA, $13, NONE
-	map_header_2 VictoryRoad, VICTORY_ROAD, $1d, NONE
-	map_header_2 EcruteakHouse, ECRUTEAK_HOUSE, $0, NONE
-	map_header_2 WiseTriosRoom, WISE_TRIOS_ROOM, $0, NONE
-	map_header_2 EcruteakPokeCenter1F, ECRUTEAK_POKECENTER_1F, $0, NONE
-	map_header_2 EcruteakLugiaSpeechHouse, ECRUTEAK_LUGIA_SPEECH_HOUSE, $0, NONE
-	map_header_2 DanceTheatre, DANCE_THEATRE, $0, NONE
-	map_header_2 EcruteakMart, ECRUTEAK_MART, $0, NONE
-	map_header_2 EcruteakGym, ECRUTEAK_GYM, $0, NONE
-	map_header_2 EcruteakItemfinderHouse, ECRUTEAK_ITEMFINDER_HOUSE, $0, NONE
-	map_header_2 BlackthornGym1F, BLACKTHORN_GYM_1F, $0, NONE
-	map_header_2 BlackthornGym2F, BLACKTHORN_GYM_2F, $0, NONE
-	map_header_2 BlackthornDragonSpeechHouse, BLACKTHORN_DRAGON_SPEECH_HOUSE, $0, NONE
-	map_header_2 BlackthornDodrioTradeHouse, BLACKTHORN_DODRIO_TRADE_HOUSE, $0, NONE
-	map_header_2 BlackthornMart, BLACKTHORN_MART, $0, NONE
-	map_header_2 BlackthornPokeCenter1F, BLACKTHORN_POKECENTER_1F, $0, NONE
-	map_header_2 MoveDeletersHouse, MOVE_DELETERS_HOUSE, $0, NONE
-	map_header_2 CinnabarPokeCenter1F, CINNABAR_POKECENTER_1F, $0, NONE
-	map_header_2 CinnabarPokeCenter2FBeta, CINNABAR_POKECENTER_2F_BETA, $0, NONE
-	map_header_2 Route19FuchsiaGate, ROUTE_19___FUCHSIA_GATE, $0, NONE
-	map_header_2 SeafoamGym, SEAFOAM_GYM, $9, NONE
-	map_header_2 CeruleanGymBadgeSpeechHouse, CERULEAN_GYM_BADGE_SPEECH_HOUSE, $0, NONE
-	map_header_2 CeruleanPoliceStation, CERULEAN_POLICE_STATION, $0, NONE
-	map_header_2 CeruleanTradeSpeechHouse, CERULEAN_TRADE_SPEECH_HOUSE, $0, NONE
-	map_header_2 CeruleanPokeCenter1F, CERULEAN_POKECENTER_1F, $0, NONE
-	map_header_2 CeruleanPokeCenter2FBeta, CERULEAN_POKECENTER_2F_BETA, $0, NONE
-	map_header_2 CeruleanGym, CERULEAN_GYM, $0, NONE
-	map_header_2 CeruleanMart, CERULEAN_MART, $0, NONE
-	map_header_2 Route10PokeCenter1F, ROUTE_10_POKECENTER_1F, $0, NONE
-	map_header_2 Route10PokeCenter2FBeta, ROUTE_10_POKECENTER_2F_BETA, $0, NONE
-	map_header_2 PowerPlant, POWER_PLANT, $0, NONE
-	map_header_2 BillsHouse, BILLS_HOUSE, $0, NONE
-	map_header_2 AzaleaPokeCenter1F, AZALEA_POKECENTER_1F, $0, NONE
-	map_header_2 CharcoalKiln, CHARCOAL_KILN, $0, NONE
-	map_header_2 AzaleaMart, AZALEA_MART, $0, NONE
-	map_header_2 KurtsHouse, KURTS_HOUSE, $0, NONE
-	map_header_2 AzaleaGym, AZALEA_GYM, $0, NONE
-	map_header_2 LakeofRageHiddenPowerHouse, LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, $0, NONE
-	map_header_2 LakeofRageMagikarpHouse, LAKE_OF_RAGE_MAGIKARP_HOUSE, $0, NONE
-	map_header_2 Route43MahoganyGate, ROUTE_43_MAHOGANY_GATE, $0, NONE
-	map_header_2 Route43Gate, ROUTE_43_GATE, $0, NONE
-	map_header_2 VioletMart, VIOLET_MART, $0, NONE
-	map_header_2 VioletGym, VIOLET_GYM, $0, NONE
-	map_header_2 EarlsPokemonAcademy, EARLS_POKEMON_ACADEMY, $0, NONE
-	map_header_2 VioletNicknameSpeechHouse, VIOLET_NICKNAME_SPEECH_HOUSE, $0, NONE
-	map_header_2 VioletPokeCenter1F, VIOLET_POKECENTER_1F, $0, NONE
-	map_header_2 VioletOnixTradeHouse, VIOLET_ONIX_TRADE_HOUSE, $0, NONE
-	map_header_2 Route32RuinsofAlphGate, ROUTE_32_RUINS_OF_ALPH_GATE, $0, NONE
-	map_header_2 Route32PokeCenter1F, ROUTE_32_POKECENTER_1F, $0, NONE
-	map_header_2 Route35Goldenrodgate, ROUTE_35_GOLDENROD_GATE, $0, NONE
-	map_header_2 Route35NationalParkgate, ROUTE_35_NATIONAL_PARK_GATE, $0, NONE
-	map_header_2 Route36RuinsofAlphgate, ROUTE_36_RUINS_OF_ALPH_GATE, $0, NONE
-	map_header_2 Route36NationalParkgate, ROUTE_36_NATIONAL_PARK_GATE, $0, NONE
-	map_header_2 GoldenrodGym, GOLDENROD_GYM, $0, NONE
-	map_header_2 GoldenrodBikeShop, GOLDENROD_BIKE_SHOP, $0, NONE
-	map_header_2 GoldenrodHappinessRater, GOLDENROD_HAPPINESS_RATER, $0, NONE
-	map_header_2 GoldenrodBillsHouse, GOLDENROD_BILLS_HOUSE, $0, NONE
-	map_header_2 GoldenrodMagnetTrainStation, GOLDENROD_MAGNET_TRAIN_STATION, $0, NONE
-	map_header_2 GoldenrodFlowerShop, GOLDENROD_FLOWER_SHOP, $0, NONE
-	map_header_2 GoldenrodPPSpeechHouse, GOLDENROD_PP_SPEECH_HOUSE, $0, NONE
-	map_header_2 GoldenrodNameRatersHouse, GOLDENROD_NAME_RATERS_HOUSE, $0, NONE
-	map_header_2 GoldenrodDeptStore1F, GOLDENROD_DEPT_STORE_1F, $0, NONE
-	map_header_2 GoldenrodDeptStore2F, GOLDENROD_DEPT_STORE_2F, $0, NONE
-	map_header_2 GoldenrodDeptStore3F, GOLDENROD_DEPT_STORE_3F, $0, NONE
-	map_header_2 GoldenrodDeptStore4F, GOLDENROD_DEPT_STORE_4F, $0, NONE
-	map_header_2 GoldenrodDeptStore5F, GOLDENROD_DEPT_STORE_5F, $0, NONE
-	map_header_2 GoldenrodDeptStore6F, GOLDENROD_DEPT_STORE_6F, $0, NONE
-	map_header_2 GoldenrodDeptStoreElevator, GOLDENROD_DEPT_STORE_ELEVATOR, $0, NONE
-	map_header_2 GoldenrodDeptStoreRoof, GOLDENROD_DEPT_STORE_ROOF, $24, NONE
-	map_header_2 GoldenrodGameCorner, GOLDENROD_GAME_CORNER, $0, NONE
-	map_header_2 GoldenrodPokeCenter1F, GOLDENROD_POKECENTER_1F, $0, NONE
-	map_header_2 GoldenrodPokeComCenter2FMobile, GOLDENROD_POKECOM_CENTER_2F_MOBILE, $0, NONE
-	map_header_2 IlexForestAzaleaGate, ILEX_FOREST_AZALEA_GATE, $0, NONE
-	map_header_2 Route34IlexForestGate, ROUTE_34_ILEX_FOREST_GATE, $0, NONE
-	map_header_2 DayCare, DAYCARE, $0, NONE
-	map_header_2 VermilionHouseFishingSpeechHouse, VERMILION_HOUSE_FISHING_SPEECH_HOUSE, $0, NONE
-	map_header_2 VermilionPokeCenter1F, VERMILION_POKECENTER_1F, $0, NONE
-	map_header_2 VermilionPokeCenter2FBeta, VERMILION_POKECENTER_2F_BETA, $0, NONE
-	map_header_2 PokemonFanClub, POKEMON_FAN_CLUB, $0, NONE
-	map_header_2 VermilionMagnetTrainSpeechHouse, VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, $0, NONE
-	map_header_2 VermilionMart, VERMILION_MART, $0, NONE
-	map_header_2 VermilionHouseDiglettsCaveSpeechHouse, VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE, $0, NONE
-	map_header_2 VermilionGym, VERMILION_GYM, $0, NONE
-	map_header_2 Route6SaffronGate, ROUTE_6_SAFFRON_GATE, $0, NONE
-	map_header_2 Route6UndergroundEntrance, ROUTE_6_UNDERGROUND_ENTRANCE, $0, NONE
-	map_header_2 RedsHouse1F, REDS_HOUSE_1F, $0, NONE
-	map_header_2 RedsHouse2F, REDS_HOUSE_2F, $0, NONE
-	map_header_2 BluesHouse, BLUES_HOUSE, $0, NONE
-	map_header_2 OaksLab, OAKS_LAB, $0, NONE
-	map_header_2 PewterNidoranSpeechHouse, PEWTER_NIDORAN_SPEECH_HOUSE, $0, NONE
-	map_header_2 PewterGym, PEWTER_GYM, $0, NONE
-	map_header_2 PewterMart, PEWTER_MART, $0, NONE
-	map_header_2 PewterPokeCenter1F, PEWTER_POKECENTER_1F, $0, NONE
-	map_header_2 PewterPokeCEnter2FBeta, PEWTER_POKECENTER_2F_BETA, $0, NONE
-	map_header_2 PewterSnoozeSpeechHouse, PEWTER_SNOOZE_SPEECH_HOUSE, $0, NONE
-	map_header_2 OlivinePort, OLIVINE_PORT, $a, NONE
-	map_header_2 VermilionPort, VERMILION_PORT, $a, NONE
-	map_header_2 FastShip1F, FAST_SHIP_1F, $0, NONE
-	map_header_2 FastShipCabins_NNW_NNE_NE, FAST_SHIP_CABINS_NNW_NNE_NE, $0, NONE
-	map_header_2 FastShipCabins_SW_SSW_NW, FAST_SHIP_CABINS_SW_SSW_NW, $0, NONE
-	map_header_2 FastShipCabins_SE_SSE_CaptainsCabin, FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, $0, NONE
-	map_header_2 FastShipB1F, FAST_SHIP_B1F, $0, NONE
-	map_header_2 OlivinePortPassage, OLIVINE_PORT_PASSAGE, $0, NONE
-	map_header_2 VermilionPortPassage, VERMILION_PORT_PASSAGE, $0, NONE
-	map_header_2 MountMoonSquare, MOUNT_MOON_SQUARE, $2d, NONE
-	map_header_2 MountMoonGiftShop, MOUNT_MOON_GIFT_SHOP, $0, NONE
-	map_header_2 TinTowerRoof, TIN_TOWER_ROOF, $0, NONE
-	map_header_2 IndigoPlateauPokeCenter1F, INDIGO_PLATEAU_POKECENTER_1F, $0, NONE
-	map_header_2 WillsRoom, WILLS_ROOM, $0, NONE
-	map_header_2 KogasRoom, KOGAS_ROOM, $0, NONE
-	map_header_2 BrunosRoom, BRUNOS_ROOM, $0, NONE
-	map_header_2 KarensRoom, KARENS_ROOM, $0, NONE
-	map_header_2 LancesRoom, LANCES_ROOM, $0, NONE
-	map_header_2 HallOfFame, HALL_OF_FAME, $0, NONE
-	map_header_2 FuchsiaMart, FUCHSIA_MART, $0, NONE
-	map_header_2 SafariZoneMainOffice, SAFARI_ZONE_MAIN_OFFICE, $0, NONE
-	map_header_2 FuchsiaGym, FUCHSIA_GYM, $0, NONE
-	map_header_2 FuchsiaBillSpeechHouse, FUCHSIA_BILL_SPEECH_HOUSE, $0, NONE
-	map_header_2 FuchsiaPokeCenter1F, FUCHSIA_POKECENTER_1F, $0, NONE
-	map_header_2 FuchsiaPokeCenter2FBeta, FUCHSIA_POKECENTER_2F_BETA, $0, NONE
-	map_header_2 SafariZoneWardensHome, SAFARI_ZONE_WARDENS_HOME, $0, NONE
-	map_header_2 Route15FuchsiaGate, ROUTE_15_FUCHSIA_GATE, $0, NONE
-	map_header_2 LavenderPokeCenter1F, LAVENDER_POKECENTER_1F, $0, NONE
-	map_header_2 LavenderPokeCenter2FBeta, LAVENDER_POKECENTER_2F_BETA, $0, NONE
-	map_header_2 MrFujisHouse, MR_FUJIS_HOUSE, $0, NONE
-	map_header_2 LavenderTownSpeechHouse, LAVENDER_TOWN_SPEECH_HOUSE, $0, NONE
-	map_header_2 LavenderNameRater, LAVENDER_NAME_RATER, $0, NONE
-	map_header_2 LavenderMart, LAVENDER_MART, $0, NONE
-	map_header_2 SoulHouse, SOUL_HOUSE, $0, NONE
-	map_header_2 LavRadioTower1F, LAV_RADIO_TOWER_1F, $0, NONE
-	map_header_2 Route8SaffronGate, ROUTE_8_SAFFRON_GATE, $0, NONE
-	map_header_2 Route12SuperRodHouse, ROUTE_12_SUPER_ROD_HOUSE, $0, NONE
-	map_header_2 SilverCavePokeCenter1F, SILVER_CAVE_POKECENTER_1F, $0, NONE
-	map_header_2 Route28FamousSpeechHouse, ROUTE_28_FAMOUS_SPEECH_HOUSE, $0, NONE
-	map_header_2 PokeCenter2F, POKECENTER_2F, $0, NONE
-	map_header_2 TradeCenter, TRADE_CENTER, $0, NONE
-	map_header_2 Colosseum, COLOSSEUM, $0, NONE
-	map_header_2 TimeCapsule, TIME_CAPSULE, $0, NONE
-	map_header_2 MobileTradeRoomMobile, MOBILE_TRADE_ROOM_MOBILE, $0, NONE
-	map_header_2 MobileBattleRoom, MOBILE_BATTLE_ROOM, $0, NONE
-	map_header_2 CeladonDeptStore1F, CELADON_DEPT_STORE_1F, $0, NONE
-	map_header_2 CeladonDeptStore2F, CELADON_DEPT_STORE_2F, $0, NONE
-	map_header_2 CeladonDeptStore3F, CELADON_DEPT_STORE_3F, $0, NONE
-	map_header_2 CeladonDeptStore4F, CELADON_DEPT_STORE_4F, $0, NONE
-	map_header_2 CeladonDeptStore5F, CELADON_DEPT_STORE_5F, $0, NONE
-	map_header_2 CeladonDeptStore6F, CELADON_DEPT_STORE_6F, $0, NONE
-	map_header_2 CeladonDeptStoreElevator, CELADON_DEPT_STORE_ELEVATOR, $0, NONE
-	map_header_2 CeladonMansion1F, CELADON_MANSION_1F, $0, NONE
-	map_header_2 CeladonMansion2F, CELADON_MANSION_2F, $0, NONE
-	map_header_2 CeladonMansion3F, CELADON_MANSION_3F, $0, NONE
-	map_header_2 CeladonMansionRoof, CELADON_MANSION_ROOF, $1, NONE
-	map_header_2 CeladonMansionRoofHouse, CELADON_MANSION_ROOF_HOUSE, $0, NONE
-	map_header_2 CeladonPokeCenter1F, CELADON_POKECENTER_1F, $0, NONE
-	map_header_2 CeladonPokeCenter2FBeta, CELADON_POKECENTER_2F_BETA, $0, NONE
-	map_header_2 CeladonGameCorner, CELADON_GAME_CORNER, $0, NONE
-	map_header_2 CeladonGameCornerPrizeRoom, CELADON_GAME_CORNER_PRIZE_ROOM, $0, NONE
-	map_header_2 CeladonGym, CELADON_GYM, $0, NONE
-	map_header_2 CeladonCafe, CELADON_CAFE, $0, NONE
-	map_header_2 Route16FuchsiaSpeechHouse, ROUTE_16_FUCHSIA_SPEECH_HOUSE, $0, NONE
-	map_header_2 Route16Gate, ROUTE_16_GATE, $0, NONE
-	map_header_2 Route7SaffronGate, ROUTE_7_SAFFRON_GATE, $0, NONE
-	map_header_2 Route1718Gate, ROUTE_17_18_GATE, $0, NONE
-	map_header_2 ManiasHouse, MANIAS_HOUSE, $0, NONE
-	map_header_2 CianwoodGym, CIANWOOD_GYM, $0, NONE
-	map_header_2 CianwoodPokeCenter1F, CIANWOOD_POKECENTER_1F, $0, NONE
-	map_header_2 CianwoodPharmacy, CIANWOOD_PHARMACY, $0, NONE
-	map_header_2 CianwoodCityPhotoStudio, CIANWOOD_CITY_PHOTO_STUDIO, $0, NONE
-	map_header_2 CianwoodLugiaSpeechHouse, CIANWOOD_LUGIA_SPEECH_HOUSE, $0, NONE
-	map_header_2 PokeSeersHouse, POKE_SEERS_HOUSE, $0, NONE
-	map_header_2 BattleTower1F, BATTLE_TOWER_1F, $0, NONE
-	map_header_2 BattleTowerBattleRoom, BATTLE_TOWER_BATTLE_ROOM, $0, NONE
-	map_header_2 BattleTowerElevator, BATTLE_TOWER_ELEVATOR, $0, NONE
-	map_header_2 BattleTowerHallway, BATTLE_TOWER_HALLWAY, $0, NONE
-	map_header_2 Route40BattleTowerGate, ROUTE_40_BATTLE_TOWER_GATE, $0, NONE
-	map_header_2 BattleTowerOutside, BATTLE_TOWER_OUTSIDE, $5, NONE
-	map_header_2 ViridianGym, VIRIDIAN_GYM, $0, NONE
-	map_header_2 ViridianNicknameSpeechHouse, VIRIDIAN_NICKNAME_SPEECH_HOUSE, $0, NONE
-	map_header_2 TrainerHouse1F, TRAINER_HOUSE_1F, $0, NONE
-	map_header_2 TrainerHouseB1F, TRAINER_HOUSE_B1F, $0, NONE
-	map_header_2 ViridianMart, VIRIDIAN_MART, $0, NONE
-	map_header_2 ViridianPokeCenter1F, VIRIDIAN_POKECENTER_1F, $0, NONE
-	map_header_2 ViridianPokeCenter2FBeta, VIRIDIAN_POKECENTER_2F_BETA, $0, NONE
-	map_header_2 Route2NuggetSpeechHouse, ROUTE_2_NUGGET_SPEECH_HOUSE, $0, NONE
-	map_header_2 Route2Gate, ROUTE_2_GATE, $0, NONE
-	map_header_2 VictoryRoadGate, VICTORY_ROAD_GATE, $0, NONE
-	map_header_2 ElmsLab, ELMS_LAB, $0, NONE
-	map_header_2 KrissHouse1F, KRISS_HOUSE_1F, $0, NONE
-	map_header_2 KrissHouse2F, KRISS_HOUSE_2F, $0, NONE
-	map_header_2 KrissNeighborsHouse, KRISS_NEIGHBORS_HOUSE, $0, NONE
-	map_header_2 ElmsHouse, ELMS_HOUSE, $0, NONE
-	map_header_2 Route26HealSpeechHouse, ROUTE_26_HEAL_SPEECH_HOUSE, $0, NONE
-	map_header_2 Route26DayofWeekSiblingsHouse, ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE, $0, NONE
-	map_header_2 Route27SandstormHouse, ROUTE_27_SANDSTORM_HOUSE, $0, NONE
-	map_header_2 Route2946Gate, ROUTE_29_46_GATE, $0, NONE
-	map_header_2 FightingDojo, FIGHTING_DOJO, $0, NONE
-	map_header_2 SaffronGym, SAFFRON_GYM, $0, NONE
-	map_header_2 SaffronMart, SAFFRON_MART, $0, NONE
-	map_header_2 SaffronPokeCenter1F, SAFFRON_POKECENTER_1F, $0, NONE
-	map_header_2 SaffronPokeCenter2FBeta, SAFFRON_POKECENTER_2F_BETA, $0, NONE
-	map_header_2 MrPsychicsHouse, MR_PSYCHICS_HOUSE, $0, NONE
-	map_header_2 SaffronTrainStation, SAFFRON_TRAIN_STATION, $0, NONE
-	map_header_2 SilphCo1F, SILPH_CO_1F, $0, NONE
-	map_header_2 CopycatsHouse1F, COPYCATS_HOUSE_1F, $0, NONE
-	map_header_2 CopycatsHouse2F, COPYCATS_HOUSE_2F, $0, NONE
-	map_header_2 Route5UndergroundEntrance, ROUTE_5_UNDERGROUND_ENTRANCE, $0, NONE
-	map_header_2 Route5SaffronCityGate, ROUTE_5_SAFFRON_CITY_GATE, $0, NONE
-	map_header_2 Route5CleanseTagSpeechHouse, ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, $0, NONE
-	map_header_2 CherrygroveMart, CHERRYGROVE_MART, $0, NONE
-	map_header_2 CherrygrovePokeCenter1F, CHERRYGROVE_POKECENTER_1F, $0, NONE
-	map_header_2 CherrygroveGymSpeechHouse, CHERRYGROVE_GYM_SPEECH_HOUSE, $0, NONE
-	map_header_2 GuideGentsHouse, GUIDE_GENTS_HOUSE, $0, NONE
-	map_header_2 CherrygroveEvolutionSpeechHouse, CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, $0, NONE
-	map_header_2 Route30BerrySpeechHouse, ROUTE_30_BERRY_SPEECH_HOUSE, $0, NONE
-	map_header_2 MrPokemonsHouse, MR_POKEMONS_HOUSE, $0, NONE
-	map_header_2 Route31VioletGate, ROUTE_31_VIOLET_GATE, $0, NONE
+	map_header_2 Route23, ROUTE_23, $f, 0
+	map_header_2 SproutTower1F, SPROUT_TOWER_1F, $0, 0
+	map_header_2 SproutTower2F, SPROUT_TOWER_2F, $0, 0
+	map_header_2 SproutTower3F, SPROUT_TOWER_3F, $0, 0
+	map_header_2 TinTower1F, TIN_TOWER_1F, $0, 0
+	map_header_2 TinTower2F, TIN_TOWER_2F, $0, 0
+	map_header_2 TinTower3F, TIN_TOWER_3F, $0, 0
+	map_header_2 TinTower4F, TIN_TOWER_4F, $0, 0
+	map_header_2 TinTower5F, TIN_TOWER_5F, $0, 0
+	map_header_2 TinTower6F, TIN_TOWER_6F, $0, 0
+	map_header_2 TinTower7F, TIN_TOWER_7F, $0, 0
+	map_header_2 TinTower8F, TIN_TOWER_8F, $0, 0
+	map_header_2 TinTower9F, TIN_TOWER_9F, $0, 0
+	map_header_2 BurnedTower1F, BURNED_TOWER_1F, $0, 0
+	map_header_2 BurnedTowerB1F, BURNED_TOWER_B1F, $9, 0
+	map_header_2 NationalPark, NATIONAL_PARK, $0, 0
+	map_header_2 NationalParkBugContest, NATIONAL_PARK_BUG_CONTEST, $0, 0
+	map_header_2 RadioTower1F, RADIO_TOWER_1F, $0, 0
+	map_header_2 RadioTower2F, RADIO_TOWER_2F, $0, 0
+	map_header_2 RadioTower3F, RADIO_TOWER_3F, $0, 0
+	map_header_2 RadioTower4F, RADIO_TOWER_4F, $0, 0
+	map_header_2 RadioTower5F, RADIO_TOWER_5F, $0, 0
+	map_header_2 RuinsofAlphOutside, RUINS_OF_ALPH_OUTSIDE, $5, 0
+	map_header_2 RuinsofAlphHoOhChamber, RUINS_OF_ALPH_HO_OH_CHAMBER, $0, 0
+	map_header_2 RuinsofAlphKabutoChamber, RUINS_OF_ALPH_KABUTO_CHAMBER, $0, 0
+	map_header_2 RuinsofAlphOmanyteChamber, RUINS_OF_ALPH_OMANYTE_CHAMBER, $0, 0
+	map_header_2 RuinsofAlphAerodactylChamber, RUINS_OF_ALPH_AERODACTYL_CHAMBER, $0, 0
+	map_header_2 RuinsofAlphInnerChamber, RUINS_OF_ALPH_INNER_CHAMBER, $0, 0
+	map_header_2 RuinsofAlphResearchCenter, RUINS_OF_ALPH_RESEARCH_CENTER, $0, 0
+	map_header_2 RuinsofAlphHoOhItemRoom, RUINS_OF_ALPH_HO_OH_ITEM_ROOM, $0, 0
+	map_header_2 RuinsofAlphKabutoItemRoom, RUINS_OF_ALPH_KABUTO_ITEM_ROOM, $0, 0
+	map_header_2 RuinsofAlphOmanyteItemRoom, RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, $0, 0
+	map_header_2 RuinsofAlphAerodactylItemRoom, RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, $0, 0
+	map_header_2 RuinsofAlphHoOhWordRoom, RUINS_OF_ALPH_HO_OH_WORD_ROOM, $0, 0
+	map_header_2 RuinsofAlphKabutoWordRoom, RUINS_OF_ALPH_KABUTO_WORD_ROOM, $0, 0
+	map_header_2 RuinsofAlphOmanyteWordRoom, RUINS_OF_ALPH_OMANYTE_WORD_ROOM, $0, 0
+	map_header_2 RuinsofAlphAerodactylWordRoom, RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, $0, 0
+	map_header_2 UnionCave1F, UNION_CAVE_1F, $9, 0
+	map_header_2 UnionCaveB1F, UNION_CAVE_B1F, $9, 0
+	map_header_2 UnionCaveB2F, UNION_CAVE_B2F, $9, 0
+	map_header_2 SlowpokeWellB1F, SLOWPOKE_WELL_B1F, $9, 0
+	map_header_2 SlowpokeWellB2F, SLOWPOKE_WELL_B2F, $9, 0
+	map_header_2 OlivineLighthouse1F, OLIVINE_LIGHTHOUSE_1F, $0, 0
+	map_header_2 OlivineLighthouse2F, OLIVINE_LIGHTHOUSE_2F, $0, 0
+	map_header_2 OlivineLighthouse3F, OLIVINE_LIGHTHOUSE_3F, $0, 0
+	map_header_2 OlivineLighthouse4F, OLIVINE_LIGHTHOUSE_4F, $0, 0
+	map_header_2 OlivineLighthouse5F, OLIVINE_LIGHTHOUSE_5F, $0, 0
+	map_header_2 OlivineLighthouse6F, OLIVINE_LIGHTHOUSE_6F, $0, 0
+	map_header_2 MahoganyMart1F, MAHOGANY_MART_1F, $0, 0
+	map_header_2 TeamRocketBaseB1F, TEAM_ROCKET_BASE_B1F, $0, 0
+	map_header_2 TeamRocketBaseB2F, TEAM_ROCKET_BASE_B2F, $0, 0
+	map_header_2 TeamRocketBaseB3F, TEAM_ROCKET_BASE_B3F, $0, 0
+	map_header_2 IlexForest, ILEX_FOREST, $5, 0
+	map_header_2 WarehouseEntrance, WAREHOUSE_ENTRANCE, $0, 0
+	map_header_2 UndergroundPathSwitchRoomEntrances, UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, $0, 0
+	map_header_2 GoldenrodDeptStoreB1F, GOLDENROD_DEPT_STORE_B1F, $0, 0
+	map_header_2 UndergroundWarehouse, UNDERGROUND_WAREHOUSE, $0, 0
+	map_header_2 MountMortar1FOutside, MOUNT_MORTAR_1F_OUTSIDE, $9, 0
+	map_header_2 MountMortar1FInside, MOUNT_MORTAR_1F_INSIDE, $9, 0
+	map_header_2 MountMortar2FInside, MOUNT_MORTAR_2F_INSIDE, $9, 0
+	map_header_2 MountMortarB1F, MOUNT_MORTAR_B1F, $9, 0
+	map_header_2 IcePath1F, ICE_PATH_1F, $9, 0
+	map_header_2 IcePathB1F, ICE_PATH_B1F, $19, 0
+	map_header_2 IcePathB2FMahoganySide, ICE_PATH_B2F_MAHOGANY_SIDE, $19, 0
+	map_header_2 IcePathB2FBlackthornSide, ICE_PATH_B2F_BLACKTHORN_SIDE, $19, 0
+	map_header_2 IcePathB3F, ICE_PATH_B3F, $19, 0
+	map_header_2 WhirlIslandNW, WHIRL_ISLAND_NW, $9, 0
+	map_header_2 WhirlIslandNE, WHIRL_ISLAND_NE, $9, 0
+	map_header_2 WhirlIslandSW, WHIRL_ISLAND_SW, $9, 0
+	map_header_2 WhirlIslandCave, WHIRL_ISLAND_CAVE, $9, 0
+	map_header_2 WhirlIslandSE, WHIRL_ISLAND_SE, $f, 0
+	map_header_2 WhirlIslandB1F, WHIRL_ISLAND_B1F, $9, 0
+	map_header_2 WhirlIslandB2F, WHIRL_ISLAND_B2F, $2e, 0
+	map_header_2 WhirlIslandLugiaChamber, WHIRL_ISLAND_LUGIA_CHAMBER, $f, 0
+	map_header_2 SilverCaveRoom1, SILVER_CAVE_ROOM_1, $9, 0
+	map_header_2 SilverCaveRoom2, SILVER_CAVE_ROOM_2, $9, 0
+	map_header_2 SilverCaveRoom3, SILVER_CAVE_ROOM_3, $9, 0
+	map_header_2 SilverCaveItemRooms, SILVER_CAVE_ITEM_ROOMS, $9, 0
+	map_header_2 DarkCaveVioletEntrance, DARK_CAVE_VIOLET_ENTRANCE, $9, 0
+	map_header_2 DarkCaveBlackthornEntrance, DARK_CAVE_BLACKTHORN_ENTRANCE, $9, 0
+	map_header_2 DragonsDen1F, DRAGONS_DEN_1F, $9, 0
+	map_header_2 DragonsDenB1F, DRAGONS_DEN_B1F, $71, 0
+	map_header_2 DragonShrine, DRAGON_SHRINE, $0, 0
+	map_header_2 TohjoFalls, TOHJO_FALLS, $9, 0
+	map_header_2 OlivinePokeCenter1F, OLIVINE_POKECENTER_1F, $0, 0
+	map_header_2 OlivineGym, OLIVINE_GYM, $0, 0
+	map_header_2 OlivineVoltorbHouse, OLIVINE_VOLTORB_HOUSE, $0, 0
+	map_header_2 OlivineHouseBeta, OLIVINE_HOUSE_BETA, $0, 0
+	map_header_2 OlivinePunishmentSpeechHouse, OLIVINE_PUNISHMENT_SPEECH_HOUSE, $0, 0
+	map_header_2 OlivineGoodRodHouse, OLIVINE_GOOD_ROD_HOUSE, $0, 0
+	map_header_2 OlivineCafe, OLIVINE_CAFE, $0, 0
+	map_header_2 OlivineMart, OLIVINE_MART, $0, 0
+	map_header_2 Route38EcruteakGate, ROUTE_38_ECRUTEAK_GATE, $0, 0
+	map_header_2 Route39Barn, ROUTE_39_BARN, $0, 0
+	map_header_2 Route39Farmhouse, ROUTE_39_FARMHOUSE, $0, 0
+	map_header_2 MahoganyRedGyaradosSpeechHouse, MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, $0, 0
+	map_header_2 MahoganyGym, MAHOGANY_GYM, $0, 0
+	map_header_2 MahoganyPokeCenter1F, MAHOGANY_POKECENTER_1F, $0, 0
+	map_header_2 Route42EcruteakGate, ROUTE_42_ECRUTEAK_GATE, $0, 0
+	map_header_2 DiglettsCave, DIGLETTS_CAVE, $9, 0
+	map_header_2 MountMoon, MOUNT_MOON, $9, 0
+	map_header_2 Underground, UNDERGROUND, $0, 0
+	map_header_2 RockTunnel1F, ROCK_TUNNEL_1F, $9, 0
+	map_header_2 RockTunnelB1F, ROCK_TUNNEL_B1F, $9, 0
+	map_header_2 SafariZoneFuchsiaGateBeta, SAFARI_ZONE_FUCHSIA_GATE_BETA, $0, 0
+	map_header_2 SafariZoneBeta, SAFARI_ZONE_BETA, $13, 0
+	map_header_2 VictoryRoad, VICTORY_ROAD, $1d, 0
+	map_header_2 EcruteakHouse, ECRUTEAK_HOUSE, $0, 0
+	map_header_2 WiseTriosRoom, WISE_TRIOS_ROOM, $0, 0
+	map_header_2 EcruteakPokeCenter1F, ECRUTEAK_POKECENTER_1F, $0, 0
+	map_header_2 EcruteakLugiaSpeechHouse, ECRUTEAK_LUGIA_SPEECH_HOUSE, $0, 0
+	map_header_2 DanceTheatre, DANCE_THEATRE, $0, 0
+	map_header_2 EcruteakMart, ECRUTEAK_MART, $0, 0
+	map_header_2 EcruteakGym, ECRUTEAK_GYM, $0, 0
+	map_header_2 EcruteakItemfinderHouse, ECRUTEAK_ITEMFINDER_HOUSE, $0, 0
+	map_header_2 BlackthornGym1F, BLACKTHORN_GYM_1F, $0, 0
+	map_header_2 BlackthornGym2F, BLACKTHORN_GYM_2F, $0, 0
+	map_header_2 BlackthornDragonSpeechHouse, BLACKTHORN_DRAGON_SPEECH_HOUSE, $0, 0
+	map_header_2 BlackthornDodrioTradeHouse, BLACKTHORN_DODRIO_TRADE_HOUSE, $0, 0
+	map_header_2 BlackthornMart, BLACKTHORN_MART, $0, 0
+	map_header_2 BlackthornPokeCenter1F, BLACKTHORN_POKECENTER_1F, $0, 0
+	map_header_2 MoveDeletersHouse, MOVE_DELETERS_HOUSE, $0, 0
+	map_header_2 CinnabarPokeCenter1F, CINNABAR_POKECENTER_1F, $0, 0
+	map_header_2 CinnabarPokeCenter2FBeta, CINNABAR_POKECENTER_2F_BETA, $0, 0
+	map_header_2 Route19FuchsiaGate, ROUTE_19___FUCHSIA_GATE, $0, 0
+	map_header_2 SeafoamGym, SEAFOAM_GYM, $9, 0
+	map_header_2 CeruleanGymBadgeSpeechHouse, CERULEAN_GYM_BADGE_SPEECH_HOUSE, $0, 0
+	map_header_2 CeruleanPoliceStation, CERULEAN_POLICE_STATION, $0, 0
+	map_header_2 CeruleanTradeSpeechHouse, CERULEAN_TRADE_SPEECH_HOUSE, $0, 0
+	map_header_2 CeruleanPokeCenter1F, CERULEAN_POKECENTER_1F, $0, 0
+	map_header_2 CeruleanPokeCenter2FBeta, CERULEAN_POKECENTER_2F_BETA, $0, 0
+	map_header_2 CeruleanGym, CERULEAN_GYM, $0, 0
+	map_header_2 CeruleanMart, CERULEAN_MART, $0, 0
+	map_header_2 Route10PokeCenter1F, ROUTE_10_POKECENTER_1F, $0, 0
+	map_header_2 Route10PokeCenter2FBeta, ROUTE_10_POKECENTER_2F_BETA, $0, 0
+	map_header_2 PowerPlant, POWER_PLANT, $0, 0
+	map_header_2 BillsHouse, BILLS_HOUSE, $0, 0
+	map_header_2 AzaleaPokeCenter1F, AZALEA_POKECENTER_1F, $0, 0
+	map_header_2 CharcoalKiln, CHARCOAL_KILN, $0, 0
+	map_header_2 AzaleaMart, AZALEA_MART, $0, 0
+	map_header_2 KurtsHouse, KURTS_HOUSE, $0, 0
+	map_header_2 AzaleaGym, AZALEA_GYM, $0, 0
+	map_header_2 LakeofRageHiddenPowerHouse, LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, $0, 0
+	map_header_2 LakeofRageMagikarpHouse, LAKE_OF_RAGE_MAGIKARP_HOUSE, $0, 0
+	map_header_2 Route43MahoganyGate, ROUTE_43_MAHOGANY_GATE, $0, 0
+	map_header_2 Route43Gate, ROUTE_43_GATE, $0, 0
+	map_header_2 VioletMart, VIOLET_MART, $0, 0
+	map_header_2 VioletGym, VIOLET_GYM, $0, 0
+	map_header_2 EarlsPokemonAcademy, EARLS_POKEMON_ACADEMY, $0, 0
+	map_header_2 VioletNicknameSpeechHouse, VIOLET_NICKNAME_SPEECH_HOUSE, $0, 0
+	map_header_2 VioletPokeCenter1F, VIOLET_POKECENTER_1F, $0, 0
+	map_header_2 VioletOnixTradeHouse, VIOLET_ONIX_TRADE_HOUSE, $0, 0
+	map_header_2 Route32RuinsofAlphGate, ROUTE_32_RUINS_OF_ALPH_GATE, $0, 0
+	map_header_2 Route32PokeCenter1F, ROUTE_32_POKECENTER_1F, $0, 0
+	map_header_2 Route35Goldenrodgate, ROUTE_35_GOLDENROD_GATE, $0, 0
+	map_header_2 Route35NationalParkgate, ROUTE_35_NATIONAL_PARK_GATE, $0, 0
+	map_header_2 Route36RuinsofAlphgate, ROUTE_36_RUINS_OF_ALPH_GATE, $0, 0
+	map_header_2 Route36NationalParkgate, ROUTE_36_NATIONAL_PARK_GATE, $0, 0
+	map_header_2 GoldenrodGym, GOLDENROD_GYM, $0, 0
+	map_header_2 GoldenrodBikeShop, GOLDENROD_BIKE_SHOP, $0, 0
+	map_header_2 GoldenrodHappinessRater, GOLDENROD_HAPPINESS_RATER, $0, 0
+	map_header_2 GoldenrodBillsHouse, GOLDENROD_BILLS_HOUSE, $0, 0
+	map_header_2 GoldenrodMagnetTrainStation, GOLDENROD_MAGNET_TRAIN_STATION, $0, 0
+	map_header_2 GoldenrodFlowerShop, GOLDENROD_FLOWER_SHOP, $0, 0
+	map_header_2 GoldenrodPPSpeechHouse, GOLDENROD_PP_SPEECH_HOUSE, $0, 0
+	map_header_2 GoldenrodNameRatersHouse, GOLDENROD_NAME_RATERS_HOUSE, $0, 0
+	map_header_2 GoldenrodDeptStore1F, GOLDENROD_DEPT_STORE_1F, $0, 0
+	map_header_2 GoldenrodDeptStore2F, GOLDENROD_DEPT_STORE_2F, $0, 0
+	map_header_2 GoldenrodDeptStore3F, GOLDENROD_DEPT_STORE_3F, $0, 0
+	map_header_2 GoldenrodDeptStore4F, GOLDENROD_DEPT_STORE_4F, $0, 0
+	map_header_2 GoldenrodDeptStore5F, GOLDENROD_DEPT_STORE_5F, $0, 0
+	map_header_2 GoldenrodDeptStore6F, GOLDENROD_DEPT_STORE_6F, $0, 0
+	map_header_2 GoldenrodDeptStoreElevator, GOLDENROD_DEPT_STORE_ELEVATOR, $0, 0
+	map_header_2 GoldenrodDeptStoreRoof, GOLDENROD_DEPT_STORE_ROOF, $24, 0
+	map_header_2 GoldenrodGameCorner, GOLDENROD_GAME_CORNER, $0, 0
+	map_header_2 GoldenrodPokeCenter1F, GOLDENROD_POKECENTER_1F, $0, 0
+	map_header_2 GoldenrodPokeComCenter2FMobile, GOLDENROD_POKECOM_CENTER_2F_MOBILE, $0, 0
+	map_header_2 IlexForestAzaleaGate, ILEX_FOREST_AZALEA_GATE, $0, 0
+	map_header_2 Route34IlexForestGate, ROUTE_34_ILEX_FOREST_GATE, $0, 0
+	map_header_2 DayCare, DAYCARE, $0, 0
+	map_header_2 VermilionHouseFishingSpeechHouse, VERMILION_HOUSE_FISHING_SPEECH_HOUSE, $0, 0
+	map_header_2 VermilionPokeCenter1F, VERMILION_POKECENTER_1F, $0, 0
+	map_header_2 VermilionPokeCenter2FBeta, VERMILION_POKECENTER_2F_BETA, $0, 0
+	map_header_2 PokemonFanClub, POKEMON_FAN_CLUB, $0, 0
+	map_header_2 VermilionMagnetTrainSpeechHouse, VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, $0, 0
+	map_header_2 VermilionMart, VERMILION_MART, $0, 0
+	map_header_2 VermilionHouseDiglettsCaveSpeechHouse, VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE, $0, 0
+	map_header_2 VermilionGym, VERMILION_GYM, $0, 0
+	map_header_2 Route6SaffronGate, ROUTE_6_SAFFRON_GATE, $0, 0
+	map_header_2 Route6UndergroundEntrance, ROUTE_6_UNDERGROUND_ENTRANCE, $0, 0
+	map_header_2 RedsHouse1F, REDS_HOUSE_1F, $0, 0
+	map_header_2 RedsHouse2F, REDS_HOUSE_2F, $0, 0
+	map_header_2 BluesHouse, BLUES_HOUSE, $0, 0
+	map_header_2 OaksLab, OAKS_LAB, $0, 0
+	map_header_2 PewterNidoranSpeechHouse, PEWTER_NIDORAN_SPEECH_HOUSE, $0, 0
+	map_header_2 PewterGym, PEWTER_GYM, $0, 0
+	map_header_2 PewterMart, PEWTER_MART, $0, 0
+	map_header_2 PewterPokeCenter1F, PEWTER_POKECENTER_1F, $0, 0
+	map_header_2 PewterPokeCEnter2FBeta, PEWTER_POKECENTER_2F_BETA, $0, 0
+	map_header_2 PewterSnoozeSpeechHouse, PEWTER_SNOOZE_SPEECH_HOUSE, $0, 0
+	map_header_2 OlivinePort, OLIVINE_PORT, $a, 0
+	map_header_2 VermilionPort, VERMILION_PORT, $a, 0
+	map_header_2 FastShip1F, FAST_SHIP_1F, $0, 0
+	map_header_2 FastShipCabins_NNW_NNE_NE, FAST_SHIP_CABINS_NNW_NNE_NE, $0, 0
+	map_header_2 FastShipCabins_SW_SSW_NW, FAST_SHIP_CABINS_SW_SSW_NW, $0, 0
+	map_header_2 FastShipCabins_SE_SSE_CaptainsCabin, FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, $0, 0
+	map_header_2 FastShipB1F, FAST_SHIP_B1F, $0, 0
+	map_header_2 OlivinePortPassage, OLIVINE_PORT_PASSAGE, $0, 0
+	map_header_2 VermilionPortPassage, VERMILION_PORT_PASSAGE, $0, 0
+	map_header_2 MountMoonSquare, MOUNT_MOON_SQUARE, $2d, 0
+	map_header_2 MountMoonGiftShop, MOUNT_MOON_GIFT_SHOP, $0, 0
+	map_header_2 TinTowerRoof, TIN_TOWER_ROOF, $0, 0
+	map_header_2 IndigoPlateauPokeCenter1F, INDIGO_PLATEAU_POKECENTER_1F, $0, 0
+	map_header_2 WillsRoom, WILLS_ROOM, $0, 0
+	map_header_2 KogasRoom, KOGAS_ROOM, $0, 0
+	map_header_2 BrunosRoom, BRUNOS_ROOM, $0, 0
+	map_header_2 KarensRoom, KARENS_ROOM, $0, 0
+	map_header_2 LancesRoom, LANCES_ROOM, $0, 0
+	map_header_2 HallOfFame, HALL_OF_FAME, $0, 0
+	map_header_2 FuchsiaMart, FUCHSIA_MART, $0, 0
+	map_header_2 SafariZoneMainOffice, SAFARI_ZONE_MAIN_OFFICE, $0, 0
+	map_header_2 FuchsiaGym, FUCHSIA_GYM, $0, 0
+	map_header_2 FuchsiaBillSpeechHouse, FUCHSIA_BILL_SPEECH_HOUSE, $0, 0
+	map_header_2 FuchsiaPokeCenter1F, FUCHSIA_POKECENTER_1F, $0, 0
+	map_header_2 FuchsiaPokeCenter2FBeta, FUCHSIA_POKECENTER_2F_BETA, $0, 0
+	map_header_2 SafariZoneWardensHome, SAFARI_ZONE_WARDENS_HOME, $0, 0
+	map_header_2 Route15FuchsiaGate, ROUTE_15_FUCHSIA_GATE, $0, 0
+	map_header_2 LavenderPokeCenter1F, LAVENDER_POKECENTER_1F, $0, 0
+	map_header_2 LavenderPokeCenter2FBeta, LAVENDER_POKECENTER_2F_BETA, $0, 0
+	map_header_2 MrFujisHouse, MR_FUJIS_HOUSE, $0, 0
+	map_header_2 LavenderTownSpeechHouse, LAVENDER_TOWN_SPEECH_HOUSE, $0, 0
+	map_header_2 LavenderNameRater, LAVENDER_NAME_RATER, $0, 0
+	map_header_2 LavenderMart, LAVENDER_MART, $0, 0
+	map_header_2 SoulHouse, SOUL_HOUSE, $0, 0
+	map_header_2 LavRadioTower1F, LAV_RADIO_TOWER_1F, $0, 0
+	map_header_2 Route8SaffronGate, ROUTE_8_SAFFRON_GATE, $0, 0
+	map_header_2 Route12SuperRodHouse, ROUTE_12_SUPER_ROD_HOUSE, $0, 0
+	map_header_2 SilverCavePokeCenter1F, SILVER_CAVE_POKECENTER_1F, $0, 0
+	map_header_2 Route28FamousSpeechHouse, ROUTE_28_FAMOUS_SPEECH_HOUSE, $0, 0
+	map_header_2 PokeCenter2F, POKECENTER_2F, $0, 0
+	map_header_2 TradeCenter, TRADE_CENTER, $0, 0
+	map_header_2 Colosseum, COLOSSEUM, $0, 0
+	map_header_2 TimeCapsule, TIME_CAPSULE, $0, 0
+	map_header_2 MobileTradeRoomMobile, MOBILE_TRADE_ROOM_MOBILE, $0, 0
+	map_header_2 MobileBattleRoom, MOBILE_BATTLE_ROOM, $0, 0
+	map_header_2 CeladonDeptStore1F, CELADON_DEPT_STORE_1F, $0, 0
+	map_header_2 CeladonDeptStore2F, CELADON_DEPT_STORE_2F, $0, 0
+	map_header_2 CeladonDeptStore3F, CELADON_DEPT_STORE_3F, $0, 0
+	map_header_2 CeladonDeptStore4F, CELADON_DEPT_STORE_4F, $0, 0
+	map_header_2 CeladonDeptStore5F, CELADON_DEPT_STORE_5F, $0, 0
+	map_header_2 CeladonDeptStore6F, CELADON_DEPT_STORE_6F, $0, 0
+	map_header_2 CeladonDeptStoreElevator, CELADON_DEPT_STORE_ELEVATOR, $0, 0
+	map_header_2 CeladonMansion1F, CELADON_MANSION_1F, $0, 0
+	map_header_2 CeladonMansion2F, CELADON_MANSION_2F, $0, 0
+	map_header_2 CeladonMansion3F, CELADON_MANSION_3F, $0, 0
+	map_header_2 CeladonMansionRoof, CELADON_MANSION_ROOF, $1, 0
+	map_header_2 CeladonMansionRoofHouse, CELADON_MANSION_ROOF_HOUSE, $0, 0
+	map_header_2 CeladonPokeCenter1F, CELADON_POKECENTER_1F, $0, 0
+	map_header_2 CeladonPokeCenter2FBeta, CELADON_POKECENTER_2F_BETA, $0, 0
+	map_header_2 CeladonGameCorner, CELADON_GAME_CORNER, $0, 0
+	map_header_2 CeladonGameCornerPrizeRoom, CELADON_GAME_CORNER_PRIZE_ROOM, $0, 0
+	map_header_2 CeladonGym, CELADON_GYM, $0, 0
+	map_header_2 CeladonCafe, CELADON_CAFE, $0, 0
+	map_header_2 Route16FuchsiaSpeechHouse, ROUTE_16_FUCHSIA_SPEECH_HOUSE, $0, 0
+	map_header_2 Route16Gate, ROUTE_16_GATE, $0, 0
+	map_header_2 Route7SaffronGate, ROUTE_7_SAFFRON_GATE, $0, 0
+	map_header_2 Route1718Gate, ROUTE_17_18_GATE, $0, 0
+	map_header_2 ManiasHouse, MANIAS_HOUSE, $0, 0
+	map_header_2 CianwoodGym, CIANWOOD_GYM, $0, 0
+	map_header_2 CianwoodPokeCenter1F, CIANWOOD_POKECENTER_1F, $0, 0
+	map_header_2 CianwoodPharmacy, CIANWOOD_PHARMACY, $0, 0
+	map_header_2 CianwoodCityPhotoStudio, CIANWOOD_CITY_PHOTO_STUDIO, $0, 0
+	map_header_2 CianwoodLugiaSpeechHouse, CIANWOOD_LUGIA_SPEECH_HOUSE, $0, 0
+	map_header_2 PokeSeersHouse, POKE_SEERS_HOUSE, $0, 0
+	map_header_2 BattleTower1F, BATTLE_TOWER_1F, $0, 0
+	map_header_2 BattleTowerBattleRoom, BATTLE_TOWER_BATTLE_ROOM, $0, 0
+	map_header_2 BattleTowerElevator, BATTLE_TOWER_ELEVATOR, $0, 0
+	map_header_2 BattleTowerHallway, BATTLE_TOWER_HALLWAY, $0, 0
+	map_header_2 Route40BattleTowerGate, ROUTE_40_BATTLE_TOWER_GATE, $0, 0
+	map_header_2 BattleTowerOutside, BATTLE_TOWER_OUTSIDE, $5, 0
+	map_header_2 ViridianGym, VIRIDIAN_GYM, $0, 0
+	map_header_2 ViridianNicknameSpeechHouse, VIRIDIAN_NICKNAME_SPEECH_HOUSE, $0, 0
+	map_header_2 TrainerHouse1F, TRAINER_HOUSE_1F, $0, 0
+	map_header_2 TrainerHouseB1F, TRAINER_HOUSE_B1F, $0, 0
+	map_header_2 ViridianMart, VIRIDIAN_MART, $0, 0
+	map_header_2 ViridianPokeCenter1F, VIRIDIAN_POKECENTER_1F, $0, 0
+	map_header_2 ViridianPokeCenter2FBeta, VIRIDIAN_POKECENTER_2F_BETA, $0, 0
+	map_header_2 Route2NuggetSpeechHouse, ROUTE_2_NUGGET_SPEECH_HOUSE, $0, 0
+	map_header_2 Route2Gate, ROUTE_2_GATE, $0, 0
+	map_header_2 VictoryRoadGate, VICTORY_ROAD_GATE, $0, 0
+	map_header_2 ElmsLab, ELMS_LAB, $0, 0
+	map_header_2 KrissHouse1F, KRISS_HOUSE_1F, $0, 0
+	map_header_2 KrissHouse2F, KRISS_HOUSE_2F, $0, 0
+	map_header_2 KrissNeighborsHouse, KRISS_NEIGHBORS_HOUSE, $0, 0
+	map_header_2 ElmsHouse, ELMS_HOUSE, $0, 0
+	map_header_2 Route26HealSpeechHouse, ROUTE_26_HEAL_SPEECH_HOUSE, $0, 0
+	map_header_2 Route26DayofWeekSiblingsHouse, ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE, $0, 0
+	map_header_2 Route27SandstormHouse, ROUTE_27_SANDSTORM_HOUSE, $0, 0
+	map_header_2 Route2946Gate, ROUTE_29_46_GATE, $0, 0
+	map_header_2 FightingDojo, FIGHTING_DOJO, $0, 0
+	map_header_2 SaffronGym, SAFFRON_GYM, $0, 0
+	map_header_2 SaffronMart, SAFFRON_MART, $0, 0
+	map_header_2 SaffronPokeCenter1F, SAFFRON_POKECENTER_1F, $0, 0
+	map_header_2 SaffronPokeCenter2FBeta, SAFFRON_POKECENTER_2F_BETA, $0, 0
+	map_header_2 MrPsychicsHouse, MR_PSYCHICS_HOUSE, $0, 0
+	map_header_2 SaffronTrainStation, SAFFRON_TRAIN_STATION, $0, 0
+	map_header_2 SilphCo1F, SILPH_CO_1F, $0, 0
+	map_header_2 CopycatsHouse1F, COPYCATS_HOUSE_1F, $0, 0
+	map_header_2 CopycatsHouse2F, COPYCATS_HOUSE_2F, $0, 0
+	map_header_2 Route5UndergroundEntrance, ROUTE_5_UNDERGROUND_ENTRANCE, $0, 0
+	map_header_2 Route5SaffronCityGate, ROUTE_5_SAFFRON_CITY_GATE, $0, 0
+	map_header_2 Route5CleanseTagSpeechHouse, ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, $0, 0
+	map_header_2 CherrygroveMart, CHERRYGROVE_MART, $0, 0
+	map_header_2 CherrygrovePokeCenter1F, CHERRYGROVE_POKECENTER_1F, $0, 0
+	map_header_2 CherrygroveGymSpeechHouse, CHERRYGROVE_GYM_SPEECH_HOUSE, $0, 0
+	map_header_2 GuideGentsHouse, GUIDE_GENTS_HOUSE, $0, 0
+	map_header_2 CherrygroveEvolutionSpeechHouse, CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, $0, 0
+	map_header_2 Route30BerrySpeechHouse, ROUTE_30_BERRY_SPEECH_HOUSE, $0, 0
+	map_header_2 MrPokemonsHouse, MR_POKEMONS_HOUSE, $0, 0
+	map_header_2 Route31VioletGate, ROUTE_31_VIOLET_GATE, $0, 0
--- a/misc/crystal_misc.asm
+++ b/misc/crystal_misc.asm
@@ -483,7 +483,7 @@
 
 Function17a97b: ; 17a97b (5e:697b)
 	hlcoord 1, 1
-	ld bc, $212
+	lb bc, 2, 18
 	call ClearBox
 	hlcoord 3, 2
 	ld de, Buffer1
--- a/misc/mobile_22.asm
+++ b/misc/mobile_22.asm
@@ -247,7 +247,7 @@
 	add $5
 	ld [hl], a
 	pop af
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	call BackUpTiles
 	call Function8923c
 	call Function89209
@@ -2194,7 +2194,7 @@
 	push af
 	call CopyMenuDataHeader
 	pop af
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	call Function8923c
 	call Function1c89
 	call Function1c10
@@ -3050,7 +3050,7 @@
 	call Function8a3b2
 	pop bc
 	ld a, c
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ld [MenuSelection], a
 	call Function1c89
 	call Function1c10
--- a/misc/mobile_22_2.asm
+++ b/misc/mobile_22_2.asm
@@ -803,7 +803,7 @@
 	ld hl, MenuDataHeader_0x8b867
 	call CopyMenuDataHeader
 	ld a, [wd030]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ld a, [wd031]
 	ld [wd0e4], a
 	ld a, [wd032]
@@ -881,7 +881,7 @@
 Function8b84b: ; 8b84b
 	ld [wd0e4], a
 	ld a, [wcfa9]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	ret
 ; 8b855
 
@@ -939,7 +939,7 @@
 	call Function8931b
 	call Function8932d
 	jr c, .asm_8b8a3
-	ld hl, $0000
+	ld hl, 0
 	add hl, bc
 	ld d, h
 	ld e, l
--- a/misc/mobile_40.asm
+++ b/misc/mobile_40.asm
@@ -246,17 +246,17 @@
 
 .asm_1001af
 	ld a, $d7
-	ld de, $0000
+	ld de, 0
 	jr .asm_1001d7
 
 .asm_1001b6
 	ld a, $d5
-	ld de, $0000
+	ld de, 0
 	jr .asm_1001d7
 
 .asm_1001bd
 	ld a, $d6
-	ld de, $0000
+	ld de, 0
 	jr .asm_1001d7
 
 .asm_1001c4
@@ -271,7 +271,7 @@
 
 .asm_1001d2
 	ld a, $d0
-	ld de, $0000
+	ld de, 0
 
 .asm_1001d7
 	ld [wc300], a
@@ -645,7 +645,7 @@
 Function10043a: ; 10043a
 	push hl
 	push bc
-	ld de, $0000
+	ld de, 0
 .asm_10043f
 	ld a, [hli]
 	add e
@@ -1787,12 +1787,12 @@
 	ld a, BANK(BattleMenuDataHeader)
 	ld [wcf94], a
 	ld a, [wd0d2]
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	call Function100e72
 	call Function100b45
 	callba Function8e85
 	call Function100ed4
-	ld a, [wPocketCursorBuffer]
+	ld a, [wMenuCursorBuffer]
 	ld [wd0d2], a
 	call ExitMenu
 	ret
@@ -1819,7 +1819,7 @@
 	ld c, a
 	ld a, [wcfa3]
 	call SimpleMultiply
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 	and a
 	ret
 ; 100b7a
@@ -3637,7 +3637,7 @@
 	ld c, a
 	ld b, $0
 	ld a, [wcd3a]
-	ld hl, $0000
+	ld hl, 0
 	call AddNTimes
 	ld e, l
 	ld d, h
@@ -6667,7 +6667,7 @@
 	sub c
 	ret z
 	ld bc, $002f
-	ld hl, $0000
+	ld hl, 0
 	call AddNTimes
 	push hl
 	ld a, [wJumptableIndex]
@@ -7474,7 +7474,7 @@
 	call Function1034e0
 
 .asm_10345f
-	ld bc, $0000
+	ld bc, 0
 	call Function10350f
 	ld bc, $0001
 	call Function103487
@@ -7689,7 +7689,7 @@
 	ld a, [wdc40]
 	and $f
 	jr z, .asm_103622
-	ld [wPocketCursorBuffer], a
+	ld [wMenuCursorBuffer], a
 
 .asm_103622
 	call InterpretMenu2
--- a/misc/mobile_45.asm
+++ b/misc/mobile_45.asm
@@ -14428,7 +14428,7 @@
 	ld a, [wcfa9]
 	ld [wcd82], a
 	dec a
-	ld [hConnectedMapWidth], a
+	ld [hObjectStructIndexBuffer], a
 	ld a, $10
 	ld [wc3b7], a
 	ld hl, Function8e83f
@@ -15521,7 +15521,7 @@
 	add [hl]
 	cp e
 	jr z, .asm_11b40d
-	ld hl, $0000
+	ld hl, 0
 	ld bc, $0070
 	call AddNTimes
 	ld e, l
@@ -16285,29 +16285,29 @@
 	xor a
 	ld [$a800], a
 	ld hl, $a823
-	ld de, $c608
+	ld de, wEnemyMoveStruct
 	ld bc, $008f
 	call CopyBytes
 	call CloseSRAM
-	ld a, $8
-	ld [BGMapBuffer], a
-	ld a, $c6
+	ld a, wEnemyMoveStruct % $100
+	ld [wcd20], a
+	ld a, wEnemyMoveStruct / $100
 	ld [wcd21], a
-	ld a, $11
-	ld [CreditsTimer], a
-	ld a, $c6
+	ld a, $c611 % $100
+	ld [wcd22], a
+	ld a, $c611 / $100
 	ld [wcd23], a
-	ld a, $41
+	ld a, $c641 % $100
 	ld [wcd24], a
-	ld a, $c6
+	ld a, $c641 / $100
 	ld [wcd25], a
-	ld a, $46
+	ld a, $c646 % $100
 	ld [wcd26], a
-	ld a, $c6
+	ld a, $c646 / $100
 	ld [wcd27], a
-	ld a, $4b
+	ld a, $c64b % $100
 	ld [wcd28], a
-	ld a, $c6
+	ld a, $c64b / $100
 	ld [wcd29], a
 	call Function11b98f
 	callba Function14a58
@@ -16319,7 +16319,7 @@
 	ld a, [hl]
 	ld e, a
 	inc [hl]
-	ld a, [BGMapBuffer]
+	ld a, [wcd20]
 	ld l, a
 	ld a, [wcd21]
 	ld h, a
@@ -16326,10 +16326,10 @@
 	inc hl
 	ld bc, PartySpecies
 	ld d, e
-.asm_11b9a2
+.loop1
 	inc bc
 	dec d
-	jr nz, .asm_11b9a2
+	jr nz, .loop1
 	ld a, e
 	ld [CurPartyMon], a
 	ld a, [hl]
@@ -16341,11 +16341,11 @@
 	ld bc, PartyMon2 - PartyMon1
 	ld a, e
 	ld [wcd2a], a
-.asm_11b9ba
+.loop2
 	add hl, bc
 	dec a
 	and a
-	jr nz, .asm_11b9ba
+	jr nz, .loop2
 	ld e, l
 	ld d, h
 	ld a, [CreditsTimer]
@@ -16355,13 +16355,13 @@
 	ld bc, PartyMon2 - PartyMon1
 	call CopyBytes
 	ld hl, PartyMonOT
-	ld bc, $000b
+	ld bc, NAME_LENGTH
 	ld a, [wcd2a]
-.asm_11b9d8
+.loop3
 	add hl, bc
 	dec a
 	and a
-	jr nz, .asm_11b9d8
+	jr nz, .loop3
 	ld e, l
 	ld d, h
 	ld a, [wcd24]
@@ -16368,18 +16368,18 @@
 	ld l, a
 	ld a, [wcd25]
 	ld h, a
-	ld bc, $000a
+	ld bc, PKMN_NAME_LENGTH - 1
 	call CopyBytes
-	ld a, $50
+	ld a, "@"
 	ld [de], a
 	ld hl, PartyMonNicknames
-	ld bc, $000b
+	ld bc, PKMN_NAME_LENGTH
 	ld a, [wcd2a]
-.asm_11b9f9
+.loop4
 	add hl, bc
 	dec a
 	and a
-	jr nz, .asm_11b9f9
+	jr nz, .loop4
 	ld e, l
 	ld d, h
 	ld a, [wcd26]
@@ -16386,18 +16386,18 @@
 	ld l, a
 	ld a, [wcd27]
 	ld h, a
-	ld bc, $000a
+	ld bc, PKMN_NAME_LENGTH - 1
 	call CopyBytes
-	ld a, $50
+	ld a, "@"
 	ld [de], a
-	ld hl, $a600
-	ld bc, $002f
+	ld hl, s0_a600
+	ld bc, party_struct_length - 1
 	ld a, [wcd2a]
-.asm_11ba1a
+.loop5
 	add hl, bc
 	dec a
 	and a
-	jr nz, .asm_11ba1a
+	jr nz, .loop5
 	ld a, $0
 	call GetSRAMBank
 	ld e, l
@@ -16406,7 +16406,7 @@
 	ld l, a
 	ld a, [wcd29]
 	ld h, a
-	ld bc, $002f
+	ld bc, party_struct_length - 1
 	call CopyBytes
 	call CloseSRAM
 	ret
@@ -16413,7 +16413,7 @@
 ; 11ba38
 
 Function11ba38: ; 11ba38
-	callba Functione538
+	callba CheckCurPartyMonFainted
 	ret c
 	xor a
 	ld [ScriptVar], a
@@ -23950,7 +23950,7 @@
 	ld a, EGG_TICKET
 	ld [CurItem], a
 	ld a, $1
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	ld a, $ff
 	ld [wd107], a
 	ld hl, NumItems
@@ -24234,9 +24234,9 @@
 	ld hl, UsedSprites
 	add hl, de
 	ld [hli], a
-	ld [$ffbd], a
+	ld [hUsedSpriteIndex], a
 	ld a, [hl]
-	ld [$ffbe], a
+	ld [hUsedSpriteTile], a
 	callba Function143c8
 	ret
 ; 170b90
--- a/misc/mobile_5f.asm
+++ b/misc/mobile_5f.asm
@@ -2693,7 +2693,7 @@
 	ld a, [hli]
 	ld [CurItem], a
 	ld a, [hli]
-	ld [wd10c], a
+	ld [wItemQuantityChangeBuffer], a
 	push hl
 	ld hl, NumItems
 	call ReceiveItem
--- a/sram.asm
+++ b/sram.asm
@@ -5,8 +5,8 @@
 
 SECTION "SRAM Bank 0", SRAM [$a600], BANK [0]
 
-s0_a600:: ds $11a
-s0_a71a:: ds $11a
+s0_a600:: ds 6 * (party_struct_length + PartyMon1 - PartyMon1Item)
+s0_a71a:: ds 6 * (party_struct_length + PartyMon1 - PartyMon1Item)
 s0_a834:: ds 1
 s0_a835:: ds 10 * (party_struct_length + PartyMon1 - PartyMon1Item)
 s0_aa0b:: ds 1
--- a/text/battle.asm
+++ b/text/battle.asm
@@ -1,7 +1,7 @@
 BattleText_PlayerPickuedUpPayDayMoney: ; 0x80730
 	text "<PLAYER> picked up"
 	line "¥@"
-	deciram wPayDayMoney, $36
+	deciram wPayDayMoney, 3, 6
 	text "!"
 	prompt
 ; 0x80746
@@ -99,7 +99,7 @@
 PerishCountText: ; 0x80864
 	text "<USER>'s"
 	line "PERISH count is @"
-	deciram wd265, $11
+	deciram wd265, 1, 1
 	text "!"
 	prompt
 ; 0x80880
@@ -194,7 +194,7 @@
 
 GotMoneyForWinningText:
 	text "<PLAYER> got ¥@"
-	deciram wc686, $36
+	deciram wc686, 3, 6
 	text ""
 	line "for winning!"
 	prompt
@@ -213,7 +213,7 @@
 
 SentSomeToMomText:
 	text "<PLAYER> got ¥@"
-	deciram wc686, $36
+	deciram wc686, 3, 6
 	text ""
 	line "for winning!"
 	cont "Sent some to MOM!"
@@ -394,7 +394,7 @@
 	text_from_ram StringBuffer1
 	text " grew to"
 	line "level @"
-	deciram CurPartyLevel, $13
+	deciram CurPartyLevel, 1, 3
 	text "!@"
 	sound0
 	db "@"
@@ -778,7 +778,7 @@
 	text_from_ram StringBuffer1
 	text " was"
 	cont "reduced by @"
-	deciram wd265, $11
+	deciram wd265, 1, 1
 	text "!"
 	prompt
 ; 0x811a0
@@ -887,7 +887,7 @@
 
 PlayerHitTimesText: ; 0x812e5
 	text "Hit @"
-	deciram PlayerDamageTaken, $11
+	deciram PlayerDamageTaken, 1, 1
 	text " times!"
 	prompt
 ; 0x812f8
@@ -894,7 +894,7 @@
 
 EnemyHitTimesText: ; 0x812f8
 	text "Hit @"
-	deciram EnemyDamageTaken, $11
+	deciram EnemyDamageTaken, 1, 1
 	text " times!"
 	prompt
 ; 0x8130b
@@ -1203,7 +1203,7 @@
 
 MagnitudeText: ; 0x81751
 	text "Magnitude @"
-	deciram wd265, $11
+	deciram wd265, 1, 1
 	text "!"
 	prompt
 ; 0x81764
--- a/text/common_2.asm
+++ b/text/common_2.asm
@@ -48,7 +48,7 @@
 	text_from_ram StringBuffer1
 	text ""
 	line "recovered @"
-	deciram wd1f3, $23
+	deciram wd1f3, 2, 3
 	text "HP!"
 	done
 ; 0x1bc0bb
@@ -106,7 +106,7 @@
 	text_from_ram StringBuffer1
 	text " grew to"
 	line "level @"
-	deciram CurPartyLevel, $13
+	deciram CurPartyLevel, 1, 3
 	text "!@"
 	sound0
 	text_waitbutton
@@ -1381,7 +1381,7 @@
 UnknownText_0x1bd0d8: ; 0x1bd0d8
 	text "The compatibility"
 	line "is @"
-	deciram wd265, $13
+	deciram wd265, 1, 3
 	text "."
 	cont "Should they breed?"
 	done
@@ -1402,7 +1402,7 @@
 UnknownText_0x1bd131: ; 0x1bd131
 	text "Test event"
 	line "@"
-	deciram StringBuffer2, $12
+	deciram StringBuffer2, 1, 2
 	text "?"
 	done
 ; 0x1bd145
@@ -1456,7 +1456,7 @@
 	text_from_ram StringBuffer2
 	text "'s CARD was"
 	line "listed as no.@"
-	deciram StringBuffer1, $12
+	deciram StringBuffer1, 1, 2
 	text "."
 	prompt
 ; 0x1bd201
@@ -2049,13 +2049,13 @@
 
 	para "By level, it's"
 	line "grown by @"
-	deciram StringBuffer2 + 1, $13
+	deciram StringBuffer2 + 1, 1, 3
 	text "."
 
 	para "If you want your"
 	line "#MON back, it"
 	cont "will cost ¥@"
-	deciram StringBuffer2 + 2, $34
+	deciram StringBuffer2 + 2, 3, 4
 	text "."
 	done
 ; 0x1bde04
--- a/text/common_3.asm
+++ b/text/common_3.asm
@@ -116,7 +116,7 @@
 	text ""
 	line "a boosted"
 	cont "@"
-	deciram StringBuffer2, $24
+	deciram StringBuffer2, 2, 4
 	text " EXP. Points!"
 	prompt
 ; 1c02c9
@@ -124,7 +124,7 @@
 Text_StringBuffer2ExpPoints: ; 1c02c9
 	text ""
 	line "@"
-	deciram StringBuffer2, $24
+	deciram StringBuffer2, 2, 4
 	text " EXP. Points!"
 	prompt
 ; 1c02df
@@ -311,7 +311,7 @@
 	text_from_ram wc850
 	text "'s CARD was"
 	line "listed as no.@"
-	deciram wd265, $12
+	deciram wd265, 1, 2
 	text "."
 	prompt
 ; 1c0555
@@ -708,7 +708,7 @@
 
 UnknownText_0x1c0bbb: ; 1c0bbb
 	text "Throw away @"
-	deciram wd10c, $12
+	deciram wItemQuantityChangeBuffer, 1, 2
 	text ""
 	line "@"
 	text_from_ram StringBuffer2
@@ -1056,7 +1056,7 @@
 ; 1c0fbc
 
 UnknownText_0x1c0fbc: ; 1c0fbc
-	deciram wcf64, $13
+	deciram wcf64, 1, 3
 	text " @"
 	text_from_ram StringBuffer1
 	text ""
@@ -1158,7 +1158,7 @@
 	text ""
 	para "The winning score"
 	line "was @"
-	deciram wd004, $23
+	deciram wd004, 2, 3
 	text " points!"
 	prompt
 ; 1c1166
@@ -1179,7 +1179,7 @@
 	text ""
 	para "The score was"
 	line "@"
-	deciram wd008, $23
+	deciram wd008, 2, 3
 	text " points!"
 	prompt
 ; 1c11b5
@@ -1200,7 +1200,7 @@
 	text ""
 	para "The score was"
 	line "@"
-	deciram wd00c, $23
+	deciram wd00c, 2, 3
 	text " points!"
 	prompt
 ; 1c1203
@@ -1293,7 +1293,7 @@
 
 _KrissPCWithdrewItemsText: ; 1c13a4
 	text "Withdrew @"
-	deciram wd10c, $12
+	deciram wItemQuantityChangeBuffer, 1, 2
 	text ""
 	line "@"
 	text_from_ram StringBuffer2
@@ -1320,7 +1320,7 @@
 
 _KrissPCDepositItemsText: ; 1c1411
 	text "Deposited @"
-	deciram wd10c, $12
+	deciram wItemQuantityChangeBuffer, 1, 2
 	text ""
 	line "@"
 	text_from_ram StringBuffer2
@@ -1610,7 +1610,7 @@
 
 UnknownText_0x1c1aad: ; 1c1aad
 	text "Throw away @"
-	deciram wd10c, $12
+	deciram wItemQuantityChangeBuffer, 1, 2
 	text ""
 	line "@"
 	text_from_ram StringBuffer2
--- a/text/common_4.asm
+++ b/text/common_4.asm
@@ -137,7 +137,7 @@
 UnknownText_0x1c439c: ; 0x1c439c
 	text "Today's remaining"
 	line "time is @"
-	deciram StringBuffer2, $12
+	deciram StringBuffer2, 1, 2
 	text " min."
 
 	para "Would you like to"
@@ -147,7 +147,7 @@
 
 UnknownText_0x1c43dc: ; 0x1c43dc
 	text "There are only @"
-	deciram StringBuffer2, $12
+	deciram StringBuffer2, 1, 2
 	text ""
 	line "min. left today."
 
@@ -201,7 +201,7 @@
 UnknownText_0x1c4525: ; 0x1c4525
 	text "Today's remaining"
 	line "time is @"
-	deciram StringBuffer2, $12
+	deciram StringBuffer2, 1, 2
 	text " min."
 	done
 ; 0x1c454b
@@ -537,12 +537,12 @@
 ; 0x1c4c08
 
 UnknownText_0x1c4c08: ; 0x1c4c08
-	deciram wd10c, $12
+	deciram wItemQuantityChangeBuffer, 1, 2
 	text " @"
 	text_from_ram StringBuffer2
 	text "(S)"
 	line "will be ¥@"
-	deciram hMoneyTemp, $36
+	deciram hMoneyTemp, 3, 6
 	text "."
 	done
 ; 0x1c4c28
@@ -569,12 +569,12 @@
 ; 0x1c4cae
 
 UnknownText_0x1c4cae: ; 0x1c4cae
-	deciram wd10c, $12
+	deciram wItemQuantityChangeBuffer, 1, 2
 	text " @"
 	text_from_ram StringBuffer2
 	text "(S)"
 	line "will be ¥@"
-	deciram hMoneyTemp, $36
+	deciram hMoneyTemp, 3, 6
 	text "."
 	done
 ; 0x1c4cce
@@ -619,7 +619,7 @@
 	text_from_ram StringBuffer2
 	text " costs"
 	line "¥@"
-	deciram hMoneyTemp, $36
+	deciram hMoneyTemp, 3, 6
 	text ". Want it?"
 	done
 ; 0x1c4dcd
@@ -666,12 +666,12 @@
 ; 0x1c4e89
 
 UnknownText_0x1c4e89: ; 0x1c4e89
-	deciram wd10c, $12
+	deciram wItemQuantityChangeBuffer, 1, 2
 	text " @"
 	text_from_ram StringBuffer2
 	text "(S)"
 	line "will cost ¥@"
-	deciram hMoneyTemp, $36
+	deciram hMoneyTemp, 3, 6
 	text "."
 	done
 ; 0x1c4eab
@@ -713,7 +713,7 @@
 UnknownText_0x1c4f3e: ; 0x1c4f3e
 	text "I can pay you"
 	line "¥@"
-	deciram hMoneyTemp, $36
+	deciram hMoneyTemp, 3, 6
 	text "."
 
 	para "Is that OK?"
@@ -763,7 +763,7 @@
 
 UnknownText_0x1c502e: ; 0x1c502e
 	text "Got ¥@"
-	deciram hMoneyTemp, $36
+	deciram hMoneyTemp, 3, 6
 	text " for"
 	line "@"
 	text_from_ram StringBuffer2
@@ -1464,7 +1464,7 @@
 UnknownText_0x1c5c5e: ; 0x1c5c5e
 	text "You now have"
 	line "@"
-	deciram wBlueCardBalance, $12
+	deciram wBlueCardBalance, 1, 2
 	text " points."
 	done
 ; 0x1c5c7b
@@ -1472,7 +1472,7 @@
 UnknownText_0x1c5c7b: ; 0x1c5c7b
 	text "Coins:"
 	line "@"
-	deciram Coins, $24
+	deciram Coins, 2, 4
 	db "@"
 ; 0x1c5c89
 
@@ -1587,7 +1587,7 @@
 
 UnknownText_0x1c5e68: ; 0x1c5e68
 	text "<PLAYER> used the@"
-	text_dunno1
+	text_low
 	text_from_ram StringBuffer2
 	text "."
 	done
@@ -1595,7 +1595,7 @@
 
 UnknownText_0x1c5e7b: ; 0x1c5e7b
 	text "<PLAYER> got on the@"
-	text_dunno1
+	text_low
 	text_from_ram StringBuffer2
 	text "."
 	prompt
@@ -1603,7 +1603,7 @@
 
 UnknownText_0x1c5e90: ; 0x1c5e90
 	text "<PLAYER> got off@"
-	text_dunno1
+	text_low
 	text "the @"
 	text_from_ram StringBuffer2
 	text "."
--- a/trainers/attributes.asm
+++ b/trainers/attributes.asm
@@ -1,43 +1,43 @@
 TrainerClassAttributes: ; 3959c
 
 ; Falkner
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Whitney
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Bugsy
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Morty
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Pryce
-	db HYPER_POTION, NONE ; items
+	db HYPER_POTION, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Jasmine
-	db HYPER_POTION, NONE ; items
+	db HYPER_POTION, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Chuck
-	db FULL_HEAL, NONE ; items
+	db FULL_HEAL, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
@@ -49,31 +49,31 @@
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Rival1
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 15 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Pokemon Prof
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_AGGRESSIVE + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Will
-	db MAX_POTION, NONE ; items
+	db MAX_POTION, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Cal
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Bruno
-	db MAX_POTION, NONE ; items
+	db MAX_POTION, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
@@ -97,175 +97,175 @@
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Brock
-	db HYPER_POTION, NONE ; items
+	db HYPER_POTION, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Misty
-	db FULL_HEAL, NONE ; items
+	db FULL_HEAL, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Lt Surge
-	db HYPER_POTION, NONE ; items
+	db HYPER_POTION, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Scientist
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Erika
-	db HYPER_POTION, NONE ; items
+	db HYPER_POTION, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Youngster
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 4 ; base reward
 	dw AI_BASIC + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Schoolboy
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 8 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
 	dw CONTEXT_USE + SWITCH_OFTEN
 
 ; Bird Keeper
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 6 ; base reward
 	dw AI_BASIC + AI_TYPES + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Lass
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 6 ; base reward
 	dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
 	dw CONTEXT_USE + SWITCH_OFTEN
 
 ; Janine
-	db DIRE_HIT, NONE ; items
+	db DIRE_HIT, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Cooltrainerm
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 12 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Cooltrainerf
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 12 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Beauty
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 22 ; base reward
 	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Pokemaniac
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 15 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_AGGRESSIVE + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Gruntm
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 10 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Gentleman
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 18 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_AGGRESSIVE + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Skier
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 18 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Teacher
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 18 ; base reward
 	dw AI_BASIC + AI_OPPORTUNIST + AI_AGGRESSIVE + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Sabrina
-	db HYPER_POTION, NONE ; items
+	db HYPER_POTION, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Bug Catcher
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 4 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Fisher
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 10 ; base reward
 	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
 	dw CONTEXT_USE + SWITCH_OFTEN
 
 ; Swimmerm
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 2 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_OFFENSIVE + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Swimmerf
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 5 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Sailor
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 10 ; base reward
 	dw AI_BASIC + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Super Nerd
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 8 ; base reward
 	dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Rival2
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Guitarist
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 8 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Hiker
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 8 ; base reward
 	dw AI_BASIC + AI_OFFENSIVE + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Biker
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 8 ; base reward
 	dw AI_BASIC + AI_TYPES + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
@@ -277,97 +277,97 @@
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Burglar
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 22 ; base reward
 	dw AI_BASIC + AI_OFFENSIVE + AI_CAUTIOUS + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Firebreather
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 12 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_OFFENSIVE + AI_OPPORTUNIST + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Juggler
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 10 ; base reward
 	dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Blackbelt T
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 6 ; base reward
 	dw AI_BASIC + AI_OFFENSIVE + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Executivem
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 18 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Psychic T
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 8 ; base reward
 	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Picnicker
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 5 ; base reward
 	dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Camper
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 5 ; base reward
 	dw AI_BASIC + AI_CAUTIOUS + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Executivef
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 18 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_SMART + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Sage
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 8 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Medium
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 10 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_TYPES + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Boarder
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 18 ; base reward
 	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Pokefanm
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 20 ; base reward
 	dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Kimono Girl
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 18 ; base reward
 	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Twins
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 5 ; base reward
 	dw NO_AI
 	dw CONTEXT_USE + SWITCH_OFTEN
 
 ; Pokefanf
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 20 ; base reward
 	dw AI_BASIC + AI_TYPES + AI_SMART + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
@@ -385,19 +385,19 @@
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Officer
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 10 ; base reward
 	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_STATUS
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Gruntf
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 10 ; base reward
 	dw AI_BASIC + AI_TYPES + AI_OPPORTUNIST + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
 
 ; Mysticalman
-	db NONE, NONE ; items
+	db 0, 0 ; items
 	db 25 ; base reward
 	dw AI_BASIC + AI_SETUP + AI_SMART + AI_AGGRESSIVE + AI_CAUTIOUS + AI_STATUS + AI_RISKY
 	dw CONTEXT_USE + SWITCH_SOMETIMES
--- a/trainers/trainers.asm
+++ b/trainers/trainers.asm
@@ -26,14 +26,14 @@
 	db 7, PIDGEY
 		db TACKLE
 		db MUD_SLAP
-		db NONE
-		db NONE
+		db 0
+		db 0
 
 	db 9, PIDGEOTTO
 		db TACKLE
 		db MUD_SLAP
 		db GUST
-		db NONE
+		db 0
 
 	db $ff ; end
 
@@ -83,19 +83,19 @@
 		db TACKLE
 		db STRING_SHOT
 		db HARDEN
-		db NONE
+		db 0
 
 	db 14, KAKUNA
 		db POISON_STING
 		db STRING_SHOT
 		db HARDEN
-		db NONE
+		db 0
 
 	db 16, SCYTHER
 		db QUICK_ATTACK
 		db LEER
 		db FURY_CUTTER
-		db NONE
+		db 0
 
 	db $ff ; end
 
@@ -3414,7 +3414,7 @@
 		db LICK
 		db SUPERSONIC
 		db CUT
-		db NONE
+		db 0
 
 	db $ff ; end
 
@@ -6935,7 +6935,7 @@
 		db HYPNOSIS
 		db DISABLE
 		db DREAM_EATER
-		db NONE
+		db 0
 
 	db $ff ; end
 
@@ -6951,7 +6951,7 @@
 		db TACKLE
 		db GROWL
 		db WATER_GUN
-		db NONE
+		db 0
 
 	db 20, SLOWPOKE
 		db CURSE
@@ -6972,20 +6972,20 @@
 	db 13, ABRA
 		db TELEPORT
 		db FLASH
-		db NONE
-		db NONE
+		db 0
+		db 0
 
 	db 13, ABRA
 		db TELEPORT
 		db FLASH
-		db NONE
-		db NONE
+		db 0
+		db 0
 
 	db 15, KADABRA
 		db TELEPORT
 		db KINESIS
 		db CONFUSION
-		db NONE
+		db 0
 
 	db $ff ; end
 
@@ -7804,7 +7804,7 @@
 		db PECK
 		db PURSUIT
 		db HAZE
-		db NONE
+		db 0
 
 	db $ff ; end
 
--- a/wram.asm
+++ b/wram.asm
@@ -306,12 +306,12 @@
 
 wc2de:: ds 1
 wc2df:: ds 3
-wc2e2:: ds 1
-wc2e3:: ds 3
+wMovementPerson:: ds 1
+wMovementDataPointer:: ds 3
 wc2e6:: ds 4
 wc2ea:: ds 1
-wc2eb:: ds 1
-wc2ec:: ds 4
+wMovementPointer:: ds 2
+	ds 3
 wc2f0:: ds 1
 wc2f1:: ds 1
 wc2f2:: ds 1
@@ -432,12 +432,16 @@
 
 
 SECTION "Battle", WRAM0
+	party_struct OddEgg
+wOddEggName:: ds PKMN_NAME_LENGTH
+wOddEggOTName:: ds PKMN_NAME_LENGTH
+	ds -70
 
 wMisc::
 wBattle::
+wc608::
 wBT_OTTempCopy:: ; used to copy the data of the BattleTower-Trainer and the 3 Pkmn
 
-wc608::
 wEnemyMoveStruct::  ds MOVE_LENGTH ; c608
 wc60f::
 wPlayerMoveStruct:: ds MOVE_LENGTH ; c60f
@@ -1035,7 +1039,7 @@
 SECTION "Video", WRAM0
 CreditsPos::
 BGMapBuffer:: ; cd20
-	ds 1
+wcd20:: ds 1
 wcd21:: ds 1
 wcd22::
 CreditsTimer:: ; cd22
@@ -1235,7 +1239,7 @@
 
 wcf86:: ds 1
 wcf87:: ds 1
-wPocketCursorBuffer:: ds 2
+wMenuCursorBuffer:: ds 2
 wcf8a:: ds 7 ; menu data 2 bank?
 wcf91:: ds 1
 
@@ -1511,8 +1515,8 @@
 wd0e2:: ds 1
 wd0e3:: ds 1
 wd0e4:: ds 4
-wd0e8:: ds 1
-wd0e9:: ds 2
+wQueuedScriptBank:: ds 1
+wQueuedScriptAddr:: ds 2
 wd0eb:: ds 1
 wd0ec:: ds 1
 
@@ -1557,8 +1561,8 @@
 
 wd10a:: ds 1
 wd10b:: ds 1
-wd10c:: ds 1
-wd10d:: ds 1
+wItemQuantityChangeBuffer:: ds 1
+wItemQuantityBuffer:: ds 1
 
 wd10e::
 TempMon::
@@ -1606,6 +1610,7 @@
 wd191:: ds 1
 wd192:: ds 1
 wd193:: ds 1
+UsedSpritesEnd::
 wd194:: ds 1
 wd195:: ds 1
 wd196:: ds 1
@@ -1922,6 +1927,8 @@
 MapStatus:: ; d432
 	ds 1
 MapEventStatus:: ; d433
+; 0: do map events
+; 1: do background events
 	ds 1
 
 ScriptFlags:: ; d434
@@ -2031,85 +2038,57 @@
 	ds 1
 
 	ds 1
-wd4cd:: ds 1
-wd4ce:: ds 1
+wObjectFollow_Leader:: ds 1
+wObjectFollow_Follower:: ds 1
 wd4cf:: ds 1
 wd4d0:: ds 1
-wd4d1:: ds 5
+wd4d1:: ds 1
+	ds 4
 
 ObjectStructs::
-
-PlayerStruct:: ; d4d6
-	ds 2
-PlayerSprite:: ; d4d8
+object_struct: MACRO
+\1Struct::
+\1Sprite:: ds 1
+\1MapObjectIndex:: ds 1
+\1SpriteTile:: ds 1
+\1MovementType:: ds 1
+\1Flags:: ds 2
+\1Palette:: ds 1
+\1Walking:: ds 1
+\1Direction:: ds 1
 	ds 1
+\1StepDuration:: ds 1
+\1Action:: ds 1
+\1Object12:: ds 1
+\1Facing:: ds 1
+\1StandingTile:: ds 1
+\1NextTile:: ds 1
+\1MapX:: ds 1
+\1MapY:: ds 1
+\1NextMapX:: ds 1
+\1NextMapY:: ds 1
 	ds 3
-PlayerPalette:: ; d4dc
-	ds 1
-	ds 1
-PlayerDirection:: ; d4de
-; uses bits 2 and 3 / $0c / %00001100
-; %00 down
-; %01 up
-; %10 left
-; $11 right
-	ds 1
-	ds 2
-PlayerAction:: ; d4e1
-; 1 standing
-; 2 walking
-; 4 spinning
-; 6 fishing
-	ds 1
-wd4e2:: ds 1
-PlayerFacing:: ; d4e3
-	ds 1
-StandingTile:: ; d4e4
-	ds 1
-StandingTile2:: ; d4e5
-	ds 1
-; relative to the map struct including borders
-MapX:: ; d4e6
-	ds 1
-MapY:: ; d4e7
-	ds 1
-MapX2:: ; d4e8
-	ds 1
-MapY2:: ; d4e9
-	ds 1
-	ds 3
-; relative to the bg map, in px
-PlayerSpriteX:: ; d4ed
-	ds 1
-PlayerSpriteY:: ; d4ee
-	ds 1
-	ds 15
+\1SpriteX:: ds 1
+\1SpriteY:: ds 1
+\1SpriteXOffset:: ds 1
+\1SpriteYOffset:: ds 1
+	ds 6
+	ds 7
+ENDM
 
-ObjectStruct1:: ; d4fe
-	ds OBJECT_STRUCT_LENGTH
-ObjectStruct2:: ; d526
-	ds OBJECT_STRUCT_LENGTH
-ObjectStruct3:: ; d54e
-	ds OBJECT_STRUCT_LENGTH
-ObjectStruct4:: ; d576
-	ds OBJECT_STRUCT_LENGTH
-ObjectStruct5:: ; d59e
-	ds OBJECT_STRUCT_LENGTH
-ObjectStruct6:: ; d5c6
-	ds OBJECT_STRUCT_LENGTH
-ObjectStruct7:: ; d5ee
-	ds OBJECT_STRUCT_LENGTH
-ObjectStruct8:: ; d616
-	ds OBJECT_STRUCT_LENGTH
-ObjectStruct9:: ; d63e
-	ds OBJECT_STRUCT_LENGTH
-ObjectStruct10:: ; d666
-	ds OBJECT_STRUCT_LENGTH
-ObjectStruct11:: ; d68e
-	ds OBJECT_STRUCT_LENGTH
-ObjectStruct12:: ; d6b6
-	ds OBJECT_STRUCT_LENGTH
-; d6de
+	object_struct Player
+	object_struct Object1
+	object_struct Object2
+	object_struct Object3
+	object_struct Object4
+	object_struct Object5
+	object_struct Object6
+	object_struct Object7
+	object_struct Object8
+	object_struct Object9
+	object_struct Object10
+	object_struct Object11
+	object_struct Object12
 
 wd6de::
 	ds 64
@@ -2117,7 +2096,7 @@
 MapObjects:: ; d71e
 	ds OBJECT_LENGTH * NUM_OBJECTS
 
-wd81e:: ds NUM_OBJECTS
+wObjectMasks:: ds NUM_OBJECTS ; d81e
 
 VariableSprites:: ; d82e
 	ds $10