PikalaxALT icon

Fixed SRAM section at bank $20b

PikalaxALT | PRO | 10/24/15 01:00:51 PM UTC | 0 ⭐ | 668 👁️ | Never ⏰ | []
Diff |

664.54 KB

|

None

|

0 👍

/

0 👎

diff --git a/battle/core.asm b/battle/core.asm
index d090593..f322715 100644
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -123,18 +123,18 @@ Function3c000: ; 3c000
 
 WildFled_EnemyFled_LinkBattleCanceled: ; 3c0e5
    call Function30b4
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and $c0
    add $2
-   ld [wd0ee], a
+   ld [wBattleResult], a
    ld a, [wLinkMode]
    and a
    ld hl, BattleText_WildFled
    jr z, .asm_3c115
 
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and $c0
-   ld [wd0ee], a
+   ld [wBattleResult], a
    ld hl, BattleText_EnemyFled
    call Function3d2e0
    jr nc, .asm_3c115
@@ -584,10 +584,10 @@ Function3c3f5: ; 3c3f5
    ld a, [wdc79]
    and a
    jr nz, .asm_3c40e
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and $c0
    add $2
-   ld [wd0ee], a
+   ld [wBattleResult], a
    scf
    ret
 
@@ -2245,9 +2245,9 @@ Function3ce01: ; 3ce01
    call z, Function3d0ea
    call EmptyBattleTextBox
    call Function309d
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and $c0
-   ld [wd0ee], a
+   ld [wBattleResult], a
    call Function3ceaa
    jr z, .asm_3ce72
    ld hl, EnemyMonBaseStats
@@ -2633,7 +2633,7 @@ Function3d0be: ; 3d0be
    push bc
    ld b, h
    ld c, l
-   callba Function106008
+   callba MobileFn_106008
    pop bc
    pop hl
 .asm_3d0ce
@@ -2831,10 +2831,10 @@ Function3d1aa: ; 3d1aa
    ld a, [CurBattleMon]
    ld [CurPartyMon], a
    callab ChangeHappiness
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and %11000000
    add $1
-   ld [wd0ee], a
+   ld [wBattleResult], a
    ld a, [wc6f7]
    and a
    ret z
@@ -3136,10 +3136,10 @@ LostBattle: ; 3d38e
    call CheckEnemyTrainerDefeated
    jr nz, .asm_3d40a
    ld hl, TiedAgainstText
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and $c0
    add 2
-   ld [wd0ee], a
+   ld [wBattleResult], a
    jr .text
 
 .asm_3d40a
@@ -4009,10 +4009,10 @@ Function3d8b3: ; 3d8b3
    dec a
 .asm_3d9cf
    ld b, a
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and $c0
    add b
-   ld [wd0ee], a
+   ld [wBattleResult], a
    call StopDangerSound
    push de
    ld de, SFX_RUN
@@ -5251,7 +5251,7 @@ Function3e234: ; 3e234
    and a
    jr nz, .asm_3e279
    callab CheckItemPocket
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    cp $3
    jr z, .asm_3e24a
    call WhiteBGMap
@@ -5282,9 +5282,9 @@ Function3e234: ; 3e234
 .asm_3e279
    xor a
    ld [wc64e], a
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and $c0
-   ld [wd0ee], a
+   ld [wBattleResult], a
    call ResetTextRelatedRAM
    call Function32f9
    scf
@@ -8403,9 +8403,13 @@ Function3f4b4: ; 3f4b4
 
 
 StartBattle: ; 3f4c1
+; This check prevents you from entering a battle without any Pokemon.
+; Those using walk-through-walls to bypass getting a Pokemon experience
+; the effects of this check.
    ld a, [PartyCount]
    and a
    ret z
+
    ld a, [TimeOfDayPal]
    push af
    call Function3f4dd
@@ -8425,17 +8429,17 @@ Function3f4d9: ; 3f4d9
 
 
 Function3f4dd: ; 3f4dd
-   callba Function106050
-   call Function3f54e
+   callba MobileFn_106050 ; mobile
+   call LoadTrainerOrWildMonPic
    xor a
    ld [TempBattleMonSpecies], a
    ld [wd0d2], a
    xor a
    ld [$ffde], a
    callba PlayBattleMusic
-   callba Function2ee18
-   callba Function2ee2f
-   call Function2ed3
+   callba ShowLinkBattleParticipants
+   callba FindFirstAliveMon
+   call DisableSpriteUpdates
    callba ClearBattleRAM
    call Function3f55e
    call Function3f568
@@ -8465,14 +8469,14 @@ Function3f4dd: ; 3f4dd
    ret
 ; 3f54e
 
-Function3f54e: ; 3f54e
+LoadTrainerOrWildMonPic: ; 3f54e
    ld a, [OtherTrainerClass]
    and a
-   jr nz, .asm_3f55a
+   jr nz, .Trainer
    ld a, [TempWildMonSpecies]
    ld [CurPartySpecies], a
 
-.asm_3f55a
+.Trainer
    ld [TempEnemyMonSpecies], a
    ret
 ; 3f55e
@@ -8480,8 +8484,8 @@ Function3f54e: ; 3f54e
 Function3f55e: ; 3f55e
    ld a, [OtherTrainerClass]
    and a
-   jp nz, Function3f594
-   jp Function3f607
+   jp nz, Function3f594 ; trainer
+   jp Function3f607 ; wild
 ; 3f568
 
 Function3f568: ; 3f568
@@ -8510,7 +8514,7 @@ Function3f568: ; 3f568
 
 Function3f594: ; 3f594
    ld [TrainerClass], a
-   callba Function10606a
+   callba MobileFn_10606a
    xor a
    ld [TempEnemyMonSpecies], a
    callab Function3957b
@@ -8566,7 +8570,7 @@ Function3f594: ; 3f594
 Function3f607: ; 3f607
    ld a, $1
    ld [wBattleMode], a
-   callba Function10605d
+   callba MobileFn_10605d
    call LoadEnemyMon
    ld hl, EnemyMonMoves
    ld de, wc735
@@ -8660,15 +8664,15 @@ Function3f69e: ; 3f69e
 Function3f6a5: ; 3f6a5
    ld a, [wLinkMode]
    and a
-   jr z, .asm_3f6b7
+   jr z, .not_linked
    call Function3f759
    ld c, 150
    call DelayFrames
    call Function3f77c
    ret
 
-.asm_3f6b7
-   ld a, [wd0ee]
+.not_linked
+   ld a, [wBattleResult]
    and $f
    ret nz
    call Function3f71d
@@ -8692,11 +8696,11 @@ Function3f6d0: ; 3f6d0
    ld [wd267], a
    ld [wd232], a
    ld [wd0d8], a
-   ld [wd0da], a
-   ld [wd0d9], a
+   ld [wKeyItemsPocketPointerLocation], a
+   ld [wItemsPocketPointerLocation], a
    ld [wd0d2], a
    ld [CurMoveNum], a
-   ld [wd0db], a
+   ld [wBallsPocketPointerLocation], a
    ld [wd0d6], a
    ld [wd0e4], a
    ld [wd0e0], a
@@ -8750,7 +8754,7 @@ endr
 ; 3f759
 
 Function3f759: ; 3f759
-   callba Function1060df
+   callba MobileFn_1060df
    callba Function106187
    ld a, [CurOTMon]
    ld hl, OTPartyMon1Status
@@ -8758,7 +8762,7 @@ Function3f759: ; 3f759
    ld a, [EnemyMonStatus]
    ld [hl], a
    call ClearTileMap
-   callba Function2c1b2
+   callba _ShowLinkBattleParticipants
    ret
 ; 3f77c
 
@@ -8773,22 +8777,22 @@ Function3f77c: ; 3f77c
    callba Function2b930
 
 .asm_3f797
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and $f
    cp $1
    jr c, .asm_3f7ad
    jr z, .asm_3f7b8
-   callba Function106107
+   callba MobileFn_106107
    ld de, .Draw
    jr .asm_3f7c3
 
 .asm_3f7ad
-   callba Function1060fb
+   callba MobileFn_1060fb
    ld de, .Win
    jr .asm_3f7c3
 
 .asm_3f7b8
-   callba Function106101
+   callba MobileFn_106101
    ld de, .Lose
    jr .asm_3f7c3
 
@@ -9006,7 +9010,7 @@ Function3f998: ; 3f998
    ld a, [BattleType]
    cp BATTLETYPE_ROAMING
    jr nz, .asm_3f9c4
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and $f
    jr z, .asm_3f9af
    call GetRoamMonHP
@@ -9170,7 +9174,7 @@ endr
 ; 3faa0
 
 Function3faa0: ; 3faa0
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and $f
    cp $1
    ld bc, $000d
@@ -9405,7 +9409,7 @@ GetBattleBackpic: ; 3fbff
    jr z, .Decompress
 
 ; What gender are we?
-   ld a, [wd45b]
+   ld a, [wPlayerSpriteSetupFlags]
    bit 2, a
    jr nz, .Chris
    ld a, [PlayerGender]
@@ -9542,7 +9546,7 @@ BattleStartMessage: ; 3fc8b
    cp BATTLETYPE_FISH
    jr nz, .asm_3fcfd
 
-   callba Function106086
+   callba MobileFn_106086
 
    ld hl, HookedPokemonAttackedText
    jr .asm_3fd0e
diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm
index cb5a675..95ce78a 100644
--- a/battle/effect_commands.asm
+++ b/battle/effect_commands.asm
@@ -7188,10 +7188,10 @@ BattleCommanda0: ; 36778
 
 
 Function36804: ; 36804
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and $c0
    or $2
-   ld [wd0ee], a
+   ld [wBattleResult], a
    ret
 ; 3680f
 
@@ -8519,7 +8519,7 @@ BattleCommand35: ; 36f9d
 
 BattleCommand36: ; 36fe1
    call AnimateCurrentMove
-   callba Function1060e5
+   callba MobileFn_1060e5
    jp PrintNothingHappened
 ; 36fed
 
@@ -9152,7 +9152,7 @@ CheckSubstituteOpp: ; 37378
 
 
 BattleCommand1a: ; 37380
-   callba Function10610d
+   callba MobileFn_10610d
    ld a, $4
    ld [wcfca], a
    ld c, $3
diff --git a/constants.asm b/constants.asm
index 944d15f..1c37913 100644
--- a/constants.asm
+++ b/constants.asm
@@ -10,6 +10,7 @@ INCLUDE "constants/type_constants.asm"
 INCLUDE "constants/move_constants.asm"
 INCLUDE "constants/battle_constants.asm"
 INCLUDE "constants/map_constants.asm"
+INCLUDE "constants/map_setup_constants.asm"
 INCLUDE "constants/landmark_constants.asm"
 INCLUDE "constants/item_constants.asm"
 INCLUDE "constants/trainer_constants.asm"
diff --git a/constants/item_constants.asm b/constants/item_constants.asm
index 376a369..4bcff52 100644
--- a/constants/item_constants.asm
+++ b/constants/item_constants.asm
@@ -352,7 +352,7 @@ const_value SET 70
    const HELD_TRADE_EVOLVE
    const HELD_AMULET_COIN
    const HELD_BRIGHTPOWDER
-   const HELD_4E
+   const HELD_78
    const HELD_FOCUS_BAND
 
    const_def
@@ -364,3 +364,12 @@ const_value SET 70
    const ITEMATTR_POCKET
    const ITEMATTR_HELP
 NUM_ITEMATTRS EQU const_value
+
+ITEMMENU_NOUSE              EQU 0
+ITEMMENU_CURRENT            EQU 4
+ITEMMENU_PARTY              EQU 5
+ITEMMENU_FIELD              EQU 6
+
+ITEMCONTEXT_NOTINBATTLE     EQU 0
+ITEMCONTEXT_BATTLEANDFIELD  EQU 5
+ITEMCONTEXT_BATTLEONLY      EQU 6
diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm
index 8509907..833c843 100644
--- a/constants/misc_constants.asm
+++ b/constants/misc_constants.asm
@@ -156,3 +156,6 @@ const_value = 1
    const LINK_TRADECENTER
    const LINK_COLOSSEUM
    const LINK_MOBILE
+
+HMENURETURN_SCRIPT EQU %10000000
+HMENURETURN_ASM    EQU %11111111
diff --git a/constants/phone_constants.asm b/constants/phone_constants.asm
index d49afb2..1eb2b2d 100644
--- a/constants/phone_constants.asm
+++ b/constants/phone_constants.asm
@@ -40,13 +40,28 @@
    const PHONE_BUENA
 
    const_def
-   const ELMCALL_NONE
-   const ELMCALL_POKERUS
-   const ELMCALL_ROBBED
-   const ELMCALL_ASSISTANT
-   const ELMCALL_WEIRDBROADCAST
-   const ELMCALL_SSTICKET
-   const ELMCALL_UNKNOWN
-   const MOMCALL_WORRIED
-   const ELMCALL_MASTERBALL
+   const SPECIALCALL_NONE
+   const SPECIALCALL_POKERUS
+   const SPECIALCALL_ROBBED
+   const SPECIALCALL_ASSISTANT
+   const SPECIALCALL_WEIRDBROADCAST
+   const SPECIALCALL_SSTICKET
+   const SPECIALCALL_BIKESHOP
+   const SPECIALCALL_WORRIED
+   const SPECIALCALL_MASTERBALL
 
+   const_def
+   const PHONE_CONTACT_TRAINER_CLASS
+   const PHONE_CONTACT_TRAINER_NUMBER
+   const PHONE_CONTACT_MAP_GROUP
+   const PHONE_CONTACT_MAP_NUMBER
+   const PHONE_CONTACT_SCRIPT1_TIME
+   const PHONE_CONTACT_SCRIPT1_BANK
+   const PHONE_CONTACT_SCRIPT1_ADDR_LO
+   const PHONE_CONTACT_SCRIPT1_ADDR_HI
+   const PHONE_CONTACT_SCRIPT2_TIME
+   const PHONE_CONTACT_SCRIPT2_BANK
+   const PHONE_CONTACT_SCRIPT2_ADDR_LO
+   const PHONE_CONTACT_SCRIPT2_ADDR_HI
+PHONE_TABLE_WIDTH EQU const_value
+CONTACT_LIST_SIZE EQU 10
diff --git a/constants/script_constants.asm b/constants/script_constants.asm
index 484f00d..191a9c0 100644
--- a/constants/script_constants.asm
+++ b/constants/script_constants.asm
@@ -5,7 +5,7 @@ LAST_TALKED EQU -2
    const_def
    const VAR_STRINGBUFFER2
    const VAR_PARTYCOUNT
-   const VAR_02
+   const VAR_BATTLERESULT
    const VAR_BATTLETYPE
    const VAR_TIMEOFDAY
    const VAR_DEXCAUGHT
@@ -23,11 +23,15 @@ LAST_TALKED EQU -2
    const VAR_CONTESTMINUTES
    const VAR_XCOORD
    const VAR_YCOORD
-   const VAR_POKERUS
+   const VAR_SPECIALPHONECALL
    const VAR_15
-   const VAR_16
+   const VAR_KURT_APRICORNS
    const VAR_CALLERID
    const VAR_BLUECARDBALANCE
-   const VAR_19
+   const VAR_BUENASPASSWORD
    const VAR_KENJI_BREAK
 NUM_VARS EQU const_value
+
+RETVAR_STRBUF2 EQU (0 << 6)
+RETVAR_ADDR_DE EQU (1 << 6)
+RETVAR_EXECUTE EQU (2 << 6)
diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm
index 7113e3d..be46783 100644
--- a/constants/trainer_constants.asm
+++ b/constants/trainer_constants.asm
@@ -614,3 +614,33 @@
    const EUSINE
 
 NUM_TRAINER_CLASSES EQU __enum__
+
+   const_def
+   const       NO_AI
+const_value = 0
+   shift_const AI_BASIC
+   shift_const AI_SETUP
+   shift_const AI_TYPES
+   shift_const AI_OFFENSIVE
+   shift_const AI_SMART
+   shift_const AI_OPPORTUNIST
+   shift_const AI_AGGRESSIVE
+   shift_const AI_CAUTIOUS
+   shift_const AI_STATUS
+   shift_const AI_RISKY
+   shift_const AI_10
+   shift_const AI_11
+   shift_const AI_12
+   shift_const AI_13
+   shift_const AI_14
+   shift_const AI_15
+
+   const_def
+   const TRNATTR_ITEM1
+   const TRNATTR_ITEM2
+   const TRNATTR_BASEMONEY
+   const TRNATTR_AI1
+   const TRNATTR_AI2
+   const TRNATTR_AI3
+   const TRNATTR_AI4
+NUM_TRAINER_ATTRIBUTES EQU const_value
diff --git a/engine/color.asm b/engine/color.asm
index bae8b5e..ed65f59 100644
--- a/engine/color.asm
+++ b/engine/color.asm
@@ -785,16 +785,16 @@ Function973a: ; 973a
 Function974b: ; 974b
    and a
    jp nz, Function97f9
-   ld a, [wd45b]
+   ld a, [wPlayerSpriteSetupFlags]
    bit 2, a
-   jr nz, .asm_9760
+   jr nz, .male
    ld a, [PlayerGender]
    and a
-   jr z, .asm_9760
+   jr z, .male
    ld hl, KrisPalette
    ret
 
-.asm_9760
+.male
    ld hl, PlayerPalette
    ret
 ; 9764
diff --git a/engine/engine_flags.asm b/engine/engine_flags.asm
index 278c7c9..5baa52c 100644
--- a/engine/engine_flags.asm
+++ b/engine/engine_flags.asm
@@ -1,198 +1,200 @@
 ; All locations are in WRAM bank 1.
-
+engine_flag: MACRO
+   dwb , 1 << \2
+ENDM
    ; location, bit
 
    ; pokegear
-   dwb wPokegearFlags, %00000010 ; radio card       ; $0
-   dwb wPokegearFlags, %00000001 ; map card
-   dwb wPokegearFlags, %00000100 ; phone card
-   dwb wPokegearFlags, %00001000 ; expn card
-   dwb wPokegearFlags, %10000000 ; on/off
-
-   ;   wDaycareMan, %10000000 ; daycare 1 on
-   dwb wDaycareMan, %01000000 ; monster 1 and 2 are compatible
-   ;   wDaycareMan, %00100000 ; egg is ready
-   dwb wDaycareMan, %00000001 ; monster 1 in daycare
-
-   ;   wDaycareLady, %10000000 = daycare 2 on
-   dwb wDaycareLady, %00000001 ; monster 2 in daycare
-
-   dwb wMomSavingMoney, %00000001 ; mom saving money ; $8
-   dwb wMomSavingMoney, %10000000 ; dst
-
-   dwb wdc39, %00000001
-
-   dwb StatusFlags, %00000001 ; pokedex
-   dwb StatusFlags, %00000010 ; unown dex
-   dwb StatusFlags, %00001000 ; pokerus
-   dwb StatusFlags, %00010000 ; rocket signal on ch20
-   dwb StatusFlags, %01000000 ; credits skip
-   dwb StatusFlags, %10000000 ; bug contest on   ; $10
-   dwb StatusFlags2, %00000100 ; bug contest timer
-   dwb StatusFlags2, %00000010
-   dwb StatusFlags2, %00000001 ; rockets in radio tower
-   dwb StatusFlags2, %00010000 ; bike shop call enabled (1024 bike steps reqd)
-   dwb StatusFlags2, %00100000 ; give pokerus; berry -> berry juice when trading?
-   dwb StatusFlags2, %01000000
-   dwb StatusFlags2, %10000000 ; rockets in mahogany
-
-   dwb BikeFlags, %00000001 ; strength active  ; $18
-   dwb BikeFlags, %00000010 ; always on bike (cant surf)
-   dwb BikeFlags, %00000100 ; downhill (cycling road)
-
-   dwb JohtoBadges, %00000001 ; zephyrbadge
-   dwb JohtoBadges, %00000010 ; hivebadge
-   dwb JohtoBadges, %00000100 ; plainbadge
-   dwb JohtoBadges, %00001000 ; fogbadge
-   dwb JohtoBadges, %00010000 ; mineralbadge
-   dwb JohtoBadges, %00100000 ; stormbadge ; $20
-   dwb JohtoBadges, %01000000 ; glacierbadge
-   dwb JohtoBadges, %10000000 ; risingbadge
-
-   dwb KantoBadges, %00000001 ; boulderbadge
-   dwb KantoBadges, %00000010 ; cascadebadge
-   dwb KantoBadges, %00000100 ; thunderbadge
-   dwb KantoBadges, %00001000 ; rainbowbadge
-   dwb KantoBadges, %00010000 ; soulbadge
-   dwb KantoBadges, %00100000 ; marshbadge ; $28
-   dwb KantoBadges, %01000000 ; volcanobadge
-   dwb KantoBadges, %10000000 ; earthbadge
+   engine_flag wPokegearFlags, 1 ; radio card       ; $0
+   engine_flag wPokegearFlags, 0 ; map card
+   engine_flag wPokegearFlags, 2 ; phone card
+   engine_flag wPokegearFlags, 3 ; expn card
+   engine_flag wPokegearFlags, 7 ; on/off
+
+   ;   wDaycareMan, 7 ; daycare 1 on
+   engine_flag wDaycareMan, 6 ; monster 1 and 2 are compatible
+   ;   wDaycareMan, 5 ; egg is ready
+   engine_flag wDaycareMan, 0 ; monster 1 in daycare
+
+   ;   wDaycareLady, 7 = daycare 2 on
+   engine_flag wDaycareLady, 0 ; monster 2 in daycare
+
+   engine_flag wMomSavingMoney, 0 ; mom saving money ; $8
+   engine_flag wMomSavingMoney, 7 ; dst
+
+   engine_flag wdc39, 0
+
+   engine_flag StatusFlags, 0 ; pokedex
+   engine_flag StatusFlags, 1 ; unown dex
+   engine_flag StatusFlags, 3 ; pokerus
+   engine_flag StatusFlags, 4 ; rocket signal on ch20
+   engine_flag StatusFlags, 6 ; credits skip
+   engine_flag StatusFlags, 7 ; bug contest on   ; $10
+   engine_flag StatusFlags2, 2 ; bug contest timer
+   engine_flag StatusFlags2, 1
+   engine_flag StatusFlags2, 0 ; rockets in radio tower
+   engine_flag StatusFlags2, 4 ; bike shop call enabled (1024 bike steps reqd)
+   engine_flag StatusFlags2, 5 ; give pokerus
+   engine_flag StatusFlags2, 6 ; berry -> berry juice when trading?
+   engine_flag StatusFlags2, 7 ; rockets in mahogany
+
+   engine_flag BikeFlags, 0 ; strength active  ; $18
+   engine_flag BikeFlags, 1 ; always on bike (cant surf)
+   engine_flag BikeFlags, 2 ; downhill (cycling road)
+
+   engine_flag JohtoBadges, 0 ; zephyrbadge
+   engine_flag JohtoBadges, 1 ; hivebadge
+   engine_flag JohtoBadges, 2 ; plainbadge
+   engine_flag JohtoBadges, 3 ; fogbadge
+   engine_flag JohtoBadges, 4 ; mineralbadge
+   engine_flag JohtoBadges, 5 ; stormbadge ; $20
+   engine_flag JohtoBadges, 6 ; glacierbadge
+   engine_flag JohtoBadges, 7 ; risingbadge
+
+   engine_flag KantoBadges, 0 ; boulderbadge
+   engine_flag KantoBadges, 1 ; cascadebadge
+   engine_flag KantoBadges, 2 ; thunderbadge
+   engine_flag KantoBadges, 3 ; rainbowbadge
+   engine_flag KantoBadges, 4 ; soulbadge
+   engine_flag KantoBadges, 5 ; marshbadge ; $28
+   engine_flag KantoBadges, 6 ; volcanobadge
+   engine_flag KantoBadges, 7 ; earthbadge
 
    ; unown sets
-   dwb UnlockedUnowns, %00000001 ; 1
-   dwb UnlockedUnowns, %00000010 ; 2
-   dwb UnlockedUnowns, %00000100 ; 3
-   dwb UnlockedUnowns, %00001000 ; 4
-   dwb UnlockedUnowns, %00010000 ; 5
-   dwb UnlockedUnowns, %00100000 ; 6       ; $30
-   dwb UnlockedUnowns, %01000000 ; 7
-   dwb UnlockedUnowns, %10000000 ; 8
+   engine_flag UnlockedUnowns, 0 ; 1
+   engine_flag UnlockedUnowns, 1 ; 2
+   engine_flag UnlockedUnowns, 2 ; 3
+   engine_flag UnlockedUnowns, 3 ; 4
+   engine_flag UnlockedUnowns, 4 ; 5
+   engine_flag UnlockedUnowns, 5 ; 6       ; $30
+   engine_flag UnlockedUnowns, 6 ; 7
+   engine_flag UnlockedUnowns, 7 ; 8
 
    ; fly
-   dwb VisitedSpawns, %00000001 ; your house
-   dwb VisitedSpawns, %00000010 ; viridian pokecenter
-   dwb VisitedSpawns, %00000100 ; pallet
-   dwb VisitedSpawns, %00001000 ; viridian
-   dwb VisitedSpawns, %00010000 ; pewter
-   dwb VisitedSpawns, %00100000 ; cerulean ; $38
-   dwb VisitedSpawns, %01000000 ; rock tunnel
-   dwb VisitedSpawns, %10000000 ; vermilion
-   dwb VisitedSpawns + 1, %00000001 ; lavender
-   dwb VisitedSpawns + 1, %00000010 ; saffron
-   dwb VisitedSpawns + 1, %00000100 ; celadon
-   dwb VisitedSpawns + 1, %00001000 ; fuchsia
-   dwb VisitedSpawns + 1, %00010000 ; cinnabar
-   dwb VisitedSpawns + 1, %00100000 ; indigo plateau ; $40
-   dwb VisitedSpawns + 1, %01000000 ; new bark
-   dwb VisitedSpawns + 1, %10000000 ; cherrygrove
-   dwb VisitedSpawns + 2, %00000001 ; violet
-   dwb VisitedSpawns + 2, %00000100 ; azalea
-   dwb VisitedSpawns + 2, %00001000 ; cianwood
-   dwb VisitedSpawns + 2, %00010000 ; goldenrod
-   dwb VisitedSpawns + 2, %00100000 ; olivine
-   dwb VisitedSpawns + 2, %01000000 ; ecruteak  ; $48
-   dwb VisitedSpawns + 2, %10000000 ; mahogany
-   dwb VisitedSpawns + 3, %00000001 ; lake of rage
-   dwb VisitedSpawns + 3, %00000010 ; blackthorn
-   dwb VisitedSpawns + 3, %00000100 ; silver cave
-   dwb VisitedSpawns + 3, %00010000 ; unused
-
-   dwb wLuckyNumberShowFlag, %00000001 ; lucky number show
-   dwb StatusFlags2, %00001000
-
-   dwb DailyFlags, %00000001 ; kurt making balls  ; $50
-   dwb DailyFlags, %00000010
-   dwb DailyFlags, %00000100 ; special wilddata?
-   dwb DailyFlags, %00001000 ; time capsule (24h wait)
-   dwb DailyFlags, %00010000 ; all fruit trees
-   dwb DailyFlags, %00100000 ; shuckle given
-   dwb DailyFlags, %01000000 ; goldenrod underground merchant closed
-   dwb DailyFlags, %10000000 ; fought in trainer hall today
-
-   dwb WeeklyFlags, %00000001 ; mt moon square clefairy  ; $58
-   dwb WeeklyFlags, %00000010 ; union cave lapras
-   dwb WeeklyFlags, %00000100 ; goldenrod underground haircut used
-   dwb WeeklyFlags, %00001000 ; goldenrod mall happiness event floor05 person07
-   dwb WeeklyFlags, %00010000 ; tea in blues house
-   dwb WeeklyFlags, %00100000 ; indigo plateau rival fight
-   dwb WeeklyFlags, %01000000 ; move tutor
-   dwb WeeklyFlags, %10000000 ; buenas password
-
-   dwb SwarmFlags, %00000001 ; $60
-   dwb SwarmFlags, %00000010 ; goldenrod dept store sale is on
-
-   dwb GameTimerPause, %10000000 ; $62
-
-   dwb PlayerGender, %00000001 ; player is female
-
-   dwb wdbf3, %00000100 ; have gs ball after kurt examined it
+   engine_flag VisitedSpawns, 0 ; your house
+   engine_flag VisitedSpawns, 1 ; viridian pokecenter
+   engine_flag VisitedSpawns, 2 ; pallet
+   engine_flag VisitedSpawns, 3 ; viridian
+   engine_flag VisitedSpawns, 4 ; pewter
+   engine_flag VisitedSpawns, 5 ; cerulean ; $38
+   engine_flag VisitedSpawns, 6 ; rock tunnel
+   engine_flag VisitedSpawns, 7 ; vermilion
+   engine_flag VisitedSpawns + 1, 0 ; lavender
+   engine_flag VisitedSpawns + 1, 1 ; saffron
+   engine_flag VisitedSpawns + 1, 2 ; celadon
+   engine_flag VisitedSpawns + 1, 3 ; fuchsia
+   engine_flag VisitedSpawns + 1, 4 ; cinnabar
+   engine_flag VisitedSpawns + 1, 5 ; indigo plateau ; $40
+   engine_flag VisitedSpawns + 1, 6 ; new bark
+   engine_flag VisitedSpawns + 1, 7 ; cherrygrove
+   engine_flag VisitedSpawns + 2, 0 ; violet
+   engine_flag VisitedSpawns + 2, 2 ; azalea
+   engine_flag VisitedSpawns + 2, 3 ; cianwood
+   engine_flag VisitedSpawns + 2, 4 ; goldenrod
+   engine_flag VisitedSpawns + 2, 5 ; olivine
+   engine_flag VisitedSpawns + 2, 6 ; ecruteak  ; $48
+   engine_flag VisitedSpawns + 2, 7 ; mahogany
+   engine_flag VisitedSpawns + 3, 0 ; lake of rage
+   engine_flag VisitedSpawns + 3, 1 ; blackthorn
+   engine_flag VisitedSpawns + 3, 2 ; silver cave
+   engine_flag VisitedSpawns + 3, 4 ; unused
+
+   engine_flag wLuckyNumberShowFlag, 0 ; lucky number show
+   engine_flag StatusFlags2, 3 ; ????
+
+   engine_flag DailyFlags, 0 ; kurt making balls  ; $50
+   engine_flag DailyFlags, 1 ; ????
+   engine_flag DailyFlags, 2 ; special wilddata?
+   engine_flag DailyFlags, 3 ; time capsule (24h wait)
+   engine_flag DailyFlags, 4 ; all fruit trees
+   engine_flag DailyFlags, 5 ; shuckle given
+   engine_flag DailyFlags, 6 ; goldenrod underground merchant closed
+   engine_flag DailyFlags, 7 ; fought in trainer hall today
+
+   engine_flag WeeklyFlags, 0 ; mt moon square clefairy  ; $58
+   engine_flag WeeklyFlags, 1 ; union cave lapras
+   engine_flag WeeklyFlags, 2 ; goldenrod underground haircut used
+   engine_flag WeeklyFlags, 3 ; goldenrod mall happiness event floor05 person07
+   engine_flag WeeklyFlags, 4 ; tea in blues house
+   engine_flag WeeklyFlags, 5 ; indigo plateau rival fight
+   engine_flag WeeklyFlags, 6 ; move tutor
+   engine_flag WeeklyFlags, 7 ; buenas password
+
+   engine_flag SwarmFlags, 0 ; $60
+   engine_flag SwarmFlags, 1 ; goldenrod dept store sale is on
+
+   engine_flag GameTimerPause, 7 ; $62
+
+   engine_flag PlayerGender, 0 ; player is female
+
+   engine_flag wCelebiEvent, 2 ; have gs ball after kurt examined it
 
    ; rematches
-   dwb wDailyRematchFlags, %00000001 ; jack
-   dwb wDailyRematchFlags, %00000010 ; huey
-   dwb wDailyRematchFlags, %00000100 ; gaven
-   dwb wDailyRematchFlags, %00001000 ; beth  ; $68
-   dwb wDailyRematchFlags, %00010000 ; jose
-   dwb wDailyRematchFlags, %00100000 ; reena
-   dwb wDailyRematchFlags, %01000000 ; joey
-   dwb wDailyRematchFlags, %10000000 ; wade
-   dwb wDailyRematchFlags + 1, %00000001 ; ralph
-   dwb wDailyRematchFlags + 1, %00000010 ; liz
-   dwb wDailyRematchFlags + 1, %00000100 ; anthony
-   dwb wDailyRematchFlags + 1, %00001000 ; todd  ; $70
-   dwb wDailyRematchFlags + 1, %00010000 ; gina
-   dwb wDailyRematchFlags + 1, %00100000 ; arnie
-   dwb wDailyRematchFlags + 1, %01000000 ; alan
-   dwb wDailyRematchFlags + 1, %10000000 ; dana
-   dwb wDailyRematchFlags + 2, %00000001 ; chad
-   dwb wDailyRematchFlags + 2, %00000010 ; tully
-   dwb wDailyRematchFlags + 2, %00000100 ; brent
-   dwb wDailyRematchFlags + 2, %00001000 ; tiffany  ; $78
-   dwb wDailyRematchFlags + 2, %00010000 ; vance
-   dwb wDailyRematchFlags + 2, %00100000 ; wilton
-   dwb wDailyRematchFlags + 2, %01000000 ; parry
-   dwb wDailyRematchFlags + 2, %10000000 ; erin
-
-   dwb wDailyPhoneItemFlags, %00000001 ; beverly has nugget
-   dwb wDailyPhoneItemFlags, %00000010 ; jose has star piece
-   dwb wDailyPhoneItemFlags, %00000100 ; wade has item (see bittable1 $032b-e)
-   dwb wDailyPhoneItemFlags, %00001000 ; gina has leaf stone  ; $80
-   dwb wDailyPhoneItemFlags, %00010000 ; alan has fire stone
-   dwb wDailyPhoneItemFlags, %00100000 ; liz has thunderstone
-   dwb wDailyPhoneItemFlags, %01000000 ; derek has nugget
-   dwb wDailyPhoneItemFlags, %10000000 ; tully has water stone
-
-   dwb wDailyPhoneItemFlags + 1, %00000001 ; tiffany has pink bow
-   dwb wDailyPhoneItemFlags + 1, %00000010 ; wilton has item (see bittable1 $032f-31)
-
-   dwb wDailyPhoneTimeOfDayFlags, %00000001
-   dwb wDailyPhoneTimeOfDayFlags, %00000010  ; $88
-   dwb wDailyPhoneTimeOfDayFlags, %00000100
-   dwb wDailyPhoneTimeOfDayFlags, %00001000
-   dwb wDailyPhoneTimeOfDayFlags, %00010000
-   dwb wDailyPhoneTimeOfDayFlags, %00100000
-   dwb wDailyPhoneTimeOfDayFlags, %01000000
-   dwb wDailyPhoneTimeOfDayFlags, %10000000
-
-   dwb wDailyPhoneTimeOfDayFlags + 1, %00000001
-   dwb wDailyPhoneTimeOfDayFlags + 1, %00000010  ; $90
-   dwb wDailyPhoneTimeOfDayFlags + 1, %00000100
-   dwb wDailyPhoneTimeOfDayFlags + 1, %00001000
-   dwb wDailyPhoneTimeOfDayFlags + 1, %00010000
-   dwb wDailyPhoneTimeOfDayFlags + 1, %00100000
-   dwb wDailyPhoneTimeOfDayFlags + 1, %01000000
-   dwb wDailyPhoneTimeOfDayFlags + 1, %10000000
-
-   dwb wDailyPhoneTimeOfDayFlags + 2, %00000001
-   dwb wDailyPhoneTimeOfDayFlags + 2, %00000010  ; $98
-   dwb wDailyPhoneTimeOfDayFlags + 2, %00000100
-   dwb wDailyPhoneTimeOfDayFlags + 2, %00001000
-   dwb wDailyPhoneTimeOfDayFlags + 2, %00010000
-   dwb wDailyPhoneTimeOfDayFlags + 2, %00100000
-   dwb wDailyPhoneTimeOfDayFlags + 2, %01000000
-   dwb wDailyPhoneTimeOfDayFlags + 2, %10000000
-
-   dwb wd45b, %00000100 ; female player has been transformed into male
-
-   dwb SwarmFlags, %00000100 ; dunsparce swarm   ; $a0
-   dwb SwarmFlags, %00001000 ; yanma swarm
+   engine_flag wDailyRematchFlags, 0 ; jack
+   engine_flag wDailyRematchFlags, 1 ; huey
+   engine_flag wDailyRematchFlags, 2 ; gaven
+   engine_flag wDailyRematchFlags, 3 ; beth  ; $68
+   engine_flag wDailyRematchFlags, 4 ; jose
+   engine_flag wDailyRematchFlags, 5 ; reena
+   engine_flag wDailyRematchFlags, 6 ; joey
+   engine_flag wDailyRematchFlags, 7 ; wade
+   engine_flag wDailyRematchFlags + 1, 0 ; ralph
+   engine_flag wDailyRematchFlags + 1, 1 ; liz
+   engine_flag wDailyRematchFlags + 1, 2 ; anthony
+   engine_flag wDailyRematchFlags + 1, 3 ; todd  ; $70
+   engine_flag wDailyRematchFlags + 1, 4 ; gina
+   engine_flag wDailyRematchFlags + 1, 5 ; arnie
+   engine_flag wDailyRematchFlags + 1, 6 ; alan
+   engine_flag wDailyRematchFlags + 1, 7 ; dana
+   engine_flag wDailyRematchFlags + 2, 0 ; chad
+   engine_flag wDailyRematchFlags + 2, 1 ; tully
+   engine_flag wDailyRematchFlags + 2, 2 ; brent
+   engine_flag wDailyRematchFlags + 2, 3 ; tiffany  ; $78
+   engine_flag wDailyRematchFlags + 2, 4 ; vance
+   engine_flag wDailyRematchFlags + 2, 5 ; wilton
+   engine_flag wDailyRematchFlags + 2, 6 ; parry
+   engine_flag wDailyRematchFlags + 2, 7 ; erin
+
+   engine_flag wDailyPhoneItemFlags, 0 ; beverly has nugget
+   engine_flag wDailyPhoneItemFlags, 1 ; jose has star piece
+   engine_flag wDailyPhoneItemFlags, 2 ; wade has item (see bittable1 $032b-e)
+   engine_flag wDailyPhoneItemFlags, 3 ; gina has leaf stone  ; $80
+   engine_flag wDailyPhoneItemFlags, 4 ; alan has fire stone
+   engine_flag wDailyPhoneItemFlags, 5 ; liz has thunderstone
+   engine_flag wDailyPhoneItemFlags, 6 ; derek has nugget
+   engine_flag wDailyPhoneItemFlags, 7 ; tully has water stone
+
+   engine_flag wDailyPhoneItemFlags + 1, 0 ; tiffany has pink bow
+   engine_flag wDailyPhoneItemFlags + 1, 1 ; wilton has item (see bittable1 $032f-31)
+
+   engine_flag wDailyPhoneTimeOfDayFlags, 0
+   engine_flag wDailyPhoneTimeOfDayFlags, 1  ; $88
+   engine_flag wDailyPhoneTimeOfDayFlags, 2
+   engine_flag wDailyPhoneTimeOfDayFlags, 3
+   engine_flag wDailyPhoneTimeOfDayFlags, 4
+   engine_flag wDailyPhoneTimeOfDayFlags, 5
+   engine_flag wDailyPhoneTimeOfDayFlags, 6
+   engine_flag wDailyPhoneTimeOfDayFlags, 7
+
+   engine_flag wDailyPhoneTimeOfDayFlags + 1, 0
+   engine_flag wDailyPhoneTimeOfDayFlags + 1, 1  ; $90
+   engine_flag wDailyPhoneTimeOfDayFlags + 1, 2
+   engine_flag wDailyPhoneTimeOfDayFlags + 1, 3
+   engine_flag wDailyPhoneTimeOfDayFlags + 1, 4
+   engine_flag wDailyPhoneTimeOfDayFlags + 1, 5
+   engine_flag wDailyPhoneTimeOfDayFlags + 1, 6
+   engine_flag wDailyPhoneTimeOfDayFlags + 1, 7
+
+   engine_flag wDailyPhoneTimeOfDayFlags + 2, 0
+   engine_flag wDailyPhoneTimeOfDayFlags + 2, 1  ; $98
+   engine_flag wDailyPhoneTimeOfDayFlags + 2, 2
+   engine_flag wDailyPhoneTimeOfDayFlags + 2, 3
+   engine_flag wDailyPhoneTimeOfDayFlags + 2, 4
+   engine_flag wDailyPhoneTimeOfDayFlags + 2, 5
+   engine_flag wDailyPhoneTimeOfDayFlags + 2, 6
+   engine_flag wDailyPhoneTimeOfDayFlags + 2, 7
+
+   engine_flag wPlayerSpriteSetupFlags, 2 ; female player has been transformed into male
+
+   engine_flag SwarmFlags, 2 ; dunsparce swarm   ; $a0
+   engine_flag SwarmFlags, 3 ; yanma swarm
diff --git a/engine/events.asm b/engine/events.asm
index 6345288..cc5581e 100644
--- a/engine/events.asm
+++ b/engine/events.asm
@@ -123,7 +123,7 @@ StartMap: ; 96724
    ld hl, MapStatus
    ld bc, $3e ; 62
    call ByteFill
-   callba Function113e5
+   callba InitCallReceiveDelay
    call ClearJoypad
    ; fallthrough
 ; 9673e
@@ -138,19 +138,19 @@ EnterMap: ; 9673e
    call ClearAllScriptFlags3
 
    ld a, [hMapEntryMethod]
-   cp $f7
+   cp ($f << 4) + MAPSETUP_07
    jr nz, .dontset
    call SetAll_ScriptFlags3
 .dontset
 
    ld a, [hMapEntryMethod]
-   cp $f3
+   cp ($f << 4) + MAPSETUP_03
    jr nz, .dontresetpoison
    xor a
    ld [PoisonStepCount], a
 .dontresetpoison
 
-   xor a
+   xor a ; ($0 << 4) + MAPSETUP_00
    ld [hMapEntryMethod], a
    ld a, 2 ; HandleMap
    ld [MapStatus], a
@@ -285,12 +285,12 @@ Function96812: ; 96812
 PlayerEvents: ; 9681f
 
    xor a
-
+; If there's already a player event, don't interrupt it.
    ld a, [ScriptRunning]
    and a
    ret nz
 
-   call Function968e4
+   call Dummy_CheckScriptFlags3Bit5 ; This is a waste of time
 
    call CheckTrainerBattle3
    jr c, .ok
@@ -298,13 +298,13 @@ PlayerEvents: ; 9681f
    call CheckTileEvent
    jr c, .ok
 
-   call Function97c30
+   call RunMemScript
    jr c, .ok
 
-   call Function968ec
+   call DoMapTrigger
    jr c, .ok
 
-   call Function9693a
+   call CheckTimeEvents
    jr c, .ok
 
    call OWPlayerInput
@@ -436,11 +436,7 @@ SetUpFiveStepWildEncounterCooldown: ; 968d1
    ret
 ; 968d7
 
-Function968d7: ; 968d7
-   ret
-; 968d8
-
-Function968d8: ; 968d8
+SetMinTwoStepWildEncounterCooldown: mobile ; 968d7
    ld a, [wWildEncounterCooldown]
    cp 2
    ret nc
@@ -449,14 +445,14 @@ Function968d8: ; 968d8
    ret
 ; 968e4
 
-Function968e4: ; 968e4
+Dummy_CheckScriptFlags3Bit5: ; 968e4
    call CheckBit5_ScriptFlags3
    ret z
-   call Function2f3e
+   call ret_2f3e
    ret
 ; 968ec
 
-Function968ec: ; 968ec
+DoMapTrigger: ; 968ec
    ld a, [wdc07]
    and a
    jr z, .nope
@@ -468,7 +464,7 @@ Function968ec: ; 968ec
 
    ld e, a
    ld d, 0
-   ld hl, wdc07 + 1
+   ld hl, wdc08
    ld a, [hli]
    ld h, [hl]
    ld l, a
@@ -505,23 +501,23 @@ endr
    ret
 ; 9693a
 
-Function9693a: ; 9693a
+CheckTimeEvents: ; 9693a
    ld a, [wLinkMode]
    and a
    jr nz, .nothing
 
    ld hl, StatusFlags2
    bit 2, [hl]
-   jr z, .asm_96951
+   jr z, .do_daily
 
-   callba Function114a4
-   jr c, .elevator
+   callba CheckBugContestTimer
+   jr c, .end_bug_contest
    xor a
    ret
 
-.asm_96951
-   callba Function11452
-   callba Function114e7
+.do_daily
+   callba CheckDailyResetTimer
+   callba CheckPokerusTrick
    callba CheckPhoneCall
    ret c
 
@@ -529,7 +525,7 @@ Function9693a: ; 9693a
    xor a
    ret
 
-.elevator
+.end_bug_contest
    ld a, BANK(BugCatchingContestOverScript)
    ld hl, BugCatchingContestOverScript
    call CallScript
@@ -537,7 +533,7 @@ Function9693a: ; 9693a
    ret
 ; 96970
 
-Function96970: ; 96970
+.unused ; 96970
    ld a, 8
    scf
    ret
@@ -856,7 +852,7 @@ PlayerMovement: ; 96af0
 ; 96b10
 
 .seven ; 96b10
-   call Function968d7 ; empty
+   call SetMinTwoStepWildEncounterCooldown ; mobile
    xor a
    ld c, a
    ret
@@ -898,7 +894,7 @@ PlayerMovement: ; 96af0
 
 CheckMenuOW: ; 96b30
    xor a
-   ld [$ffa0], a
+   ld [hMenuReturn], a
    ld [$ffa1], a
    ld a, [hJoyPressed]
 
@@ -940,9 +936,9 @@ SelectMenuScript: ; 96b5f
 
 StartMenuCallback:
 SelectMenuCallback: ; 96b66
-   copybytetovar $ffa0
-   if_equal %10000000, .Script
-   if_equal -1, .Asm
+   copybytetovar hMenuReturn
+   if_equal HMENURETURN_SCRIPT, .Script
+   if_equal HMENURETURN_ASM, .Asm
    end
 ; 96b72
 
@@ -957,75 +953,85 @@ SelectMenuCallback: ; 96b66
 
 
 CountStep: ; 96b79
+   ; Don't count steps in link communication rooms.
    ld a, [wLinkMode]
    and a
    jr nz, .done
 
-   callba Function90136
-   jr c, .setminus1
+   ; If there is a special phone call, don't count the step.
+   callba CheckSpecialPhoneCall
+   jr c, .doscript
 
-   call Function96bd7
-   jr c, .setminus1
+   ; If Repel wore off, don't count the step.
+   call DoRepelStep
+   jr c, .doscript
 
+   ; Count the step for poison and total steps
    ld hl, PoisonStepCount
    inc [hl]
    ld hl, StepCount
    inc [hl]
-   jr nz, .asm_96b9c
+   ; Every 256 steps, increase the happiness of all your Pokemon.
+   jr nz, .skip_happiness
 
    callba StepHappiness
 
-.asm_96b9c
+.skip_happiness
+   ; Every 256 steps, offset from the happiness incrementor by 128 steps,
+   ; decrease the hatch counter of all your eggs until you reach the first
+   ; one that is ready to hatch.
    ld a, [StepCount]
    cp $80
-   jr nz, .asm_96bab
+   jr nz, .skip_egg
 
-   callba Function16f3e
-   jr nz, .set8
+   callba DoEggStep
+   jr nz, .hatch
 
-.asm_96bab
+.skip_egg
+   ; Increase the EXP of (both) DayCare Pokemon by 1.
    callba DaycareStep
 
+   ; Every four steps, deal damage to all Poisoned Pokemon
    ld hl, PoisonStepCount
    ld a, [hl]
    cp 4
-   jr c, .poisoned
+   jr c, .skip_poison
    ld [hl], 0
 
-   callba Function505da
-   jr c, .setminus1
+   callba DoPoisonStep
+   jr c, .doscript
 
-.poisoned
-   callba Function97db3
+.skip_poison
+   callba DoBikeStep
 
 .done
    xor a
    ret
 
-.setminus1
+.doscript
    ld a, -1
    scf
    ret
 
-.set8
+.hatch
    ld a, 8
    scf
    ret
 ; 96bd3
 
 
-Function96bd3: ; 96bd3
+.unreferenced: ; 96bd3
    ld a, 7
    scf
    ret
 ; 96bd7
 
-Function96bd7: ; 96bd7
-   ld a, [wdca1]
+DoRepelStep: ; 96bd7
+   ld a, [wRepelEffect]
    and a
    ret z
    dec a
-   ld [wdca1], a
+   ld [wRepelEffect], a
    ret nz
    ld a, BANK(RepelWoreOffScript)
    ld hl, RepelWoreOffScript
@@ -1038,7 +1044,7 @@ Function96beb: ; 96beb
    ld a, [ScriptRunning]
    and a
    ret z
-   cp -1
+   cp -1 ; run script
    ret z
    cp 10
    ret nc
@@ -1059,17 +1065,17 @@ endr
 ; 96c0c
 
 ScriptPointers96c0c: ; 96c0c
-   dbw BANK(Invalid_0x96c2d), Invalid_0x96c2d
-   dbw BANK(SeenByTrainerScript), SeenByTrainerScript
-   dbw BANK(TalkToTrainerScript), TalkToTrainerScript
-   dbw BANK(FindItemInBallScript), FindItemInBallScript
-   dbw BANK(UnknownScript_0x96c4d), UnknownScript_0x96c4d
-   dbw BANK(WarpToNewMapScript), WarpToNewMapScript
-   dbw BANK(FallIntoMapScript), FallIntoMapScript
-   dbw BANK(UnknownScript_0x124c8), UnknownScript_0x124c8
-   dbw BANK(HatchEggScript), HatchEggScript
-   dbw BANK(UnknownScript_0x96c4f), UnknownScript_0x96c4f
-   dbw BANK(Invalid_0x96c2d), Invalid_0x96c2d
+   dba Invalid_0x96c2d
+   dba SeenByTrainerScript
+   dba TalkToTrainerScript
+   dba FindItemInBallScript
+   dba UnknownScript_0x96c4d
+   dba WarpToNewMapScript
+   dba FallIntoMapScript
+   dba UnknownScript_0x124c8
+   dba HatchEggScript
+   dba UnknownScript_0x96c4f
+   dba Invalid_0x96c2d
 ; 96c2d
 
 Invalid_0x96c2d: ; 96c2d
@@ -1087,12 +1093,12 @@ HatchEggScript: ; 96c2f
 
 WarpToNewMapScript: ; 96c34
    warpsound
-   newloadmap $f5
+   newloadmap ($f << 4) + MAPSETUP_05
    end
 ; 96c38
 
 FallIntoMapScript: ; 96c38
-   newloadmap $f6
+   newloadmap ($f << 4) + MAPSETUP_06
    playsound SFX_KINESIS
    applymovement PLAYER, MovementData_0x96c48
    playsound SFX_STRENGTH
diff --git a/engine/events_2.asm b/engine/events_2.asm
index 96ebfb5..966fa7d 100644
--- a/engine/events_2.asm
+++ b/engine/events_2.asm
@@ -8,33 +8,39 @@ WarpToSpawnPoint:: ; 97c28
    ret
 ; 97c30
 
-Function97c30:: ; 97c30
-   ld a, [wd45c]
+RunMemScript:: ; 97c30
+; If there is no script here, we don't need to be here.
+   ld a, [wMapReentryScriptQueueFlag]
    and a
    ret z
-   ld hl, wd45c + 2
+; Execute the script at (wMapReentryScriptBank):(wMapReentryScriptAddress).
+   ld hl, wMapReentryScriptAddress
    ld a, [hli]
    ld h, [hl]
    ld l, a
-   ld a, [wd45c + 1]
+   ld a, [wMapReentryScriptBank]
    call CallScript
    scf
+; Clear the buffer for the next script.
    push af
    xor a
-   ld hl, wd45c
+   ld hl, wMapReentryScriptQueueFlag
    ld bc, 8
    call ByteFill
    pop af
    ret
 ; 97c4f
 
-Function97c4f:: ; 97c4f
-   ld hl, wd45c
+LoadScriptBDE:: ; 97c4f
+; If there's already a script here, don't overwrite.
+   ld hl, wMapReentryScriptQueueFlag
    ld a, [hl]
    and a
    ret nz
+; Set the flag
    ld [hl], 1
    inc hl
+; Load the script pointer b:de into (wMapReentryScriptBank):(wMapReentryScriptAddress)
    ld [hl], b
    inc hl
    ld [hl], e
@@ -262,46 +268,60 @@ ContestMons: ; 97d87
    db -1, VENOMOTH,   30, 40
 ; 97db3
 
-Function97db3:: ; 97db3
+DoBikeStep:: ; 97db3
    nop
    nop
-   ; fallthrough
-; 97db5
-
-Function97db5: ; 97db5
+   ; If the bike shop owner doesn't have our number, or
+   ; if we've already gotten the call, we don't have to
+   ; be here.
    ld hl, StatusFlags2
    bit 4, [hl]
    jr z, .NoCall
+
+   ; If we're not on the bike, we don't have to be here.
    ld a, [PlayerState]
-   cp 1
+   cp PLAYER_BIKE
    jr nz, .NoCall
+
+   ; If we're not in an area of phone service, we don't
+   ; have to be here.
    call GetMapHeaderPhoneServiceNybble
    and a
    jr nz, .NoCall
-   ld hl, wdca1 + 1
+
+   ; Check the bike step count and check whether we've
+   ; taken 65536 of them yet.
+   ld hl, wBikeStep
    ld a, [hli]
    ld d, a
    ld e, [hl]
-   cp -1
-   jr nz, .asm_97dd8
+   cp 255
+   jr nz, .increment
    ld a, e
-   cp -1
-   jr z, .asm_97ddc
+   cp 255
+   jr z, .dont_increment
 
-.asm_97dd8
+.increment
    inc de
    ld [hl], e
    dec hl
    ld [hl], d
 
-.asm_97ddc
+.dont_increment
+   ; If we've taken at least 1024 steps, have the bike
+   ;  shop owner try to call us.
    ld a, d
-   cp $4
+   cp 1024 >> 8
    jr c, .NoCall
+
+   ; If a call has already been queued, don't overwrite
+   ; that call.
    ld a, [wSpecialPhoneCallID]
    and a
    jr nz, .NoCall
-   ld a, 6
+
+   ; Queue the call.
+   ld a, SPECIALCALL_BIKESHOP
    ld [wSpecialPhoneCallID], a
    xor a
    ld [wSpecialPhoneCallID + 1], a
@@ -488,7 +508,7 @@ Function97eb7: ; 97eb7
 ; 97eb8
 
 Function97eb8: ; 97eb8
-   call Function2f3e
+   call ret_2f3e
    ret
 ; 97ebc
 
diff --git a/engine/fruit_trees.asm b/engine/fruit_trees.asm
index 9404a55..9002404 100644
--- a/engine/fruit_trees.asm
+++ b/engine/fruit_trees.asm
@@ -58,7 +58,7 @@ CheckFruitTree: ; 44055
 ; 4405f
 
 PickedFruitTree: ; 4405f
-   callba Function10609b ; empty function
+   callba MobileFn_10609b ; empty function
    ld b, 1
    jp GetFruitTreeFlag
 ; 4406a
diff --git a/engine/map_objects.asm b/engine/map_objects.asm
index f4eef1a..d73ebd1 100644
--- a/engine/map_objects.asm
+++ b/engine/map_objects.asm
@@ -2196,7 +2196,7 @@ Function4ecd: ; 4ecd
    add hl, bc
    ld a, [hl]
    ld b, a
-   callba Function807e
+   callba CopyDECoordsToMapObject
    pop bc
    ld hl, OBJECT_FLAGS
    add hl, bc
@@ -3064,7 +3064,7 @@ Function579d: ; 579d
 ; 57bc
 
 Function57bc: ; 57bc
-   ld hl, wd45b
+   ld hl, wPlayerSpriteSetupFlags
    bit 7, [hl]
    jr nz, .ok
    ret
@@ -3076,10 +3076,10 @@ Function57bc: ; 57bc
 ; 57ca
 
 Function57ca: ; 57ca
-   ld hl, wd45b
+   ld hl, wPlayerSpriteSetupFlags
    bit 5, [hl]
    ret z
-   ld a, [wd45b]
+   ld a, [wPlayerSpriteSetupFlags]
    and 3
 rept 2
    add a
diff --git a/engine/map_setup.asm b/engine/map_setup.asm
index f89d68a..09c8cfe 100644
--- a/engine/map_setup.asm
+++ b/engine/map_setup.asm
@@ -31,222 +31,171 @@ MapSetupScripts: ; 15377
    dw MapSetupScript12
 ; 1538f
 
-
-; Command descriptions from Condensation water's scripting compendium.
-   const_def
-   const map_lcd_on              ; 00 = Turn LCD on
-   const map_lcd_off             ; 01 = Turn LCD off
-   const map_sound_off           ; 02 = Turn speakers off
-   const map_music               ; 03 = Music check for current map/ special check for bug catcher contest
-   const map_start_music         ; 04 = Start map music anew
-   const map_fade_music          ; 05 = Music check for current map / special check for Bug Contest/ music with FadeOut (old) and FadeIn
-   const map_fade                ; 06 = Fade out music + screen
-   const map_bike_music          ; 07 = If HIRO is on bike = bike music, else play map music
-   const map_music_force         ; 08 = Play map music
-   const map_max_volume          ; 09 = Turn music to highest volume
-   const map_load_blocks         ; 0A = Write map data to MapRAM
-   const map_connection_blocks   ; 0B = Compute map’s connection pars and write into MapRAM
-   const map_save_screen         ; 0C = Write current part of map into temporary memory
-   const map_buffer_screen       ; 0D = Write current part of map into read-from memory
-   const map_load_graphics       ; 0E = Write tileset header to ram/ load tileset/ load sprite tiles/ load special tiles
-   const map_load_tileset_header ; 0F = Write tileset header to ram
-   const map_time_of_day         ; 10 = Compute time of day/ Update screen
-   const map_palettes            ; 11 = Load map palettes
-   const map_wildmons            ; 12 = Load probabilities for wild Pokémon battles
-   const map_sprites             ; 13 = Delete sprite data and draw new sprites
-   const map_change_callback     ; 14 = Check 2nd script header for 05 and 03 callbacks
-   const map_start_callback      ; 15 = Check 2nd script header for 03 callbacks
-   const map_load_objects        ; 16 = Analyze people data anew and check 2nd script header for 02 callbacks
-   const map_load_spawn          ; 17 = Writes arrival data for arrival by flying/Blackout from table 05:5319 to ram
-   const map_load_connection     ; 18 = Writes arrival data for entering a map by connection to ram
-   const map_load_warp           ; 19 = Write warp data to ram when entering warp
-   const map_attributes          ; 1A = Load complete map data (primary, secondary, event, script headers)
-   const map_attributes_2        ; 1B = Same as 1A, but some settings aren’t loaded new from the rom, such as hide function of the people events
-   const map_clear_bg_palettes   ; 1C = Fill palette data with FFFF (=white)
-   const map_fade_out_palettes   ; 1D = All BG pallet color are converted to 0|0 (Pal0, Col0), all sprite colors to x|0 (FadeOut)
-   const map_fade_in_palettes    ; 1E = Palette FadeIn
-   const map_anchor_screen       ; 1F = Compute position of upper left-most block visible on screen
-   const map_warp_face           ; 20 = Position computation when HIRO leaves a warp
-   const map_face_down           ; 21 = Set HIRO’s facing to “down”
-   const map_spawn_coord         ; 22 = Prepare HIRO data for arrival by flight
-   const map_player_coord        ; 23 = Compute HIRO x/y data anew
-   const map_prolong_sprites     ; 24 = Prolong old sprites before removing them
-   const map_delay_sprites       ; 25 = Delay rendering new sprites
-   const map_update_roam         ; 26 = Compute chances to meet Raikou, Entei or Suicune
-   const map_keep_roam           ; 27 = Recover chances to meet Raikou, Entei or Suicune
-   const map_fade_out_music      ; 28 = Temporarily stop music playing
-   const map_animations_on       ; 29 = Activate animations
-   const map_animations_off      ; 2A = Deactivate animations
-   const map_keep_palettes       ; 2B = Recover all palettes
-   const map_text_scroll_off     ; 2C = Turn off text scroll (for town name overlays)
-   const map_stop_script         ; 2D = Deactivate code prolonging
-
-
 MapSetupScript4: ; 1538f
-   db map_prolong_sprites
+   map_prolong_sprites
 
 MapSetupScript12: ; 15390
-   db map_fade_out_palettes
-   db map_keep_roam
+   map_fade_out_palettes
+   map_keep_roam
 
 MapSetupScript1: ; 15392
-   db map_lcd_off
-   db map_sound_off
-   db map_load_spawn
-   db map_attributes
-   db map_change_callback
-   db map_spawn_coord
-   db map_player_coord
-   db map_anchor_screen
-   db map_load_blocks
-   db map_buffer_screen
-   db map_load_graphics
-   db map_time_of_day
-   db map_load_objects
-   db map_lcd_on
-   db map_palettes
-   db map_face_down
-   db map_sprites
-   db map_bike_music
-   db map_max_volume
-   db map_fade_in_palettes
-   db map_animations_on
-   db map_wildmons
-   db -1
+   map_lcd_off
+   map_sound_off
+   map_load_spawn
+   map_attributes
+   map_change_callback
+   map_spawn_coord
+   map_player_coord
+   map_anchor_screen
+   map_load_blocks
+   map_buffer_screen
+   map_load_graphics
+   map_time_of_day
+   map_load_objects
+   map_lcd_on
+   map_palettes
+   map_face_down
+   map_sprites
+   map_bike_music
+   map_max_volume
+   map_fade_in_palettes
+   map_animations_on
+   map_wildmons
+   map_end_setup_script
 
 MapSetupScript11: ; 153a9
-   db map_load_spawn
-   db map_attributes
-   db map_change_callback
-   db map_spawn_coord
-   db map_player_coord
-   db map_anchor_screen
-   db map_load_blocks
-   db map_buffer_screen
-   db map_lcd_off
-   db map_load_graphics
-   db map_time_of_day
-   db map_fade_out_music
-   db map_lcd_on
-   db map_load_objects
-   db map_palettes
-   db map_face_down
-   db map_sprites
-   db map_fade_music
-   db map_fade_in_palettes
-   db map_animations_on
-   db map_wildmons
-   db -1
+   map_load_spawn
+   map_attributes
+   map_change_callback
+   map_spawn_coord
+   map_player_coord
+   map_anchor_screen
+   map_load_blocks
+   map_buffer_screen
+   map_lcd_off
+   map_load_graphics
+   map_time_of_day
+   map_fade_out_music
+   map_lcd_on
+   map_load_objects
+   map_palettes
+   map_face_down
+   map_sprites
+   map_fade_music
+   map_fade_in_palettes
+   map_animations_on
+   map_wildmons
+   map_end_setup_script
 
 MapSetupScript7: ; 153bf
-   db map_animations_off
-   db map_load_connection
-   db map_attributes
-   db map_change_callback
-   db map_player_coord
-   db map_load_blocks
-   db map_load_tileset_header
-   db map_save_screen
-   db map_load_objects
-   db map_fade_music
-   db map_palettes
-   db map_stop_script
-   db map_keep_palettes
-   db map_wildmons
-   db map_update_roam
-   db map_animations_on
-   db -1
+   map_animations_off
+   map_load_connection
+   map_attributes
+   map_change_callback
+   map_player_coord
+   map_load_blocks
+   map_load_tileset_header
+   map_save_screen
+   map_load_objects
+   map_fade_music
+   map_palettes
+   map_stop_script
+   map_keep_palettes
+   map_wildmons
+   map_update_roam
+   map_animations_on
+   map_end_setup_script
 
 MapSetupScript6: ; 153d0
-   db map_prolong_sprites
+   map_prolong_sprites
 
 MapSetupScript5: ; 153d1
-   db map_fade_out_palettes
+   map_fade_out_palettes
 
 MapSetupScript9: ; 153d2
-   db map_load_warp
-   db map_attributes
-   db map_warp_face
-   db map_change_callback
-   db map_player_coord
-   db map_load_blocks
-   db map_buffer_screen
-   db map_lcd_off
-   db map_load_graphics
-   db map_time_of_day
-   db map_fade_out_music
-   db map_lcd_on
-   db map_load_objects
-   db map_palettes
-   db map_sprites
-   db map_fade_music
-   db map_fade_in_palettes
-   db map_animations_on
-   db map_wildmons
-   db map_update_roam
-   db -1
+   map_load_warp
+   map_attributes
+   map_warp_face
+   map_change_callback
+   map_player_coord
+   map_load_blocks
+   map_buffer_screen
+   map_lcd_off
+   map_load_graphics
+   map_time_of_day
+   map_fade_out_music
+   map_lcd_on
+   map_load_objects
+   map_palettes
+   map_sprites
+   map_fade_music
+   map_fade_in_palettes
+   map_animations_on
+   map_wildmons
+   map_update_roam
+   map_end_setup_script
 
 MapSetupScript3: ; 153e7
-   db map_fade
-   db map_clear_bg_palettes
-   db map_lcd_off
-   db map_sound_off
-   db map_load_blocks
-   db map_connection_blocks
-   db map_load_graphics
-   db map_time_of_day
-   db map_lcd_on
-   db map_palettes
-   db map_sprites
-   db map_music_force
-   db map_fade_in_palettes
-   db map_animations_on
-   db map_wildmons
-   db -1
+   map_fade
+   map_clear_bg_palettes
+   map_lcd_off
+   map_sound_off
+   map_load_blocks
+   map_connection_blocks
+   map_load_graphics
+   map_time_of_day
+   map_lcd_on
+   map_palettes
+   map_sprites
+   map_music_force
+   map_fade_in_palettes
+   map_animations_on
+   map_wildmons
+   map_end_setup_script
 
 MapSetupScript8: ; 153f7
-   db map_fade
-   db map_lcd_off
-   db map_sound_off
-   db map_change_callback
-   db map_load_blocks
-   db map_buffer_screen
-   db map_load_graphics
-   db map_time_of_day
-   db map_lcd_on
-   db map_palettes
-   db map_sprites
-   db map_bike_music
-   db map_fade_in_palettes
-   db map_animations_on
-   db map_wildmons
-   db map_text_scroll_off
-   db -1
+   map_fade
+   map_lcd_off
+   map_sound_off
+   map_change_callback
+   map_load_blocks
+   map_buffer_screen
+   map_load_graphics
+   map_time_of_day
+   map_lcd_on
+   map_palettes
+   map_sprites
+   map_bike_music
+   map_fade_in_palettes
+   map_animations_on
+   map_wildmons
+   map_text_scroll_off
+   map_end_setup_script
 
 MapSetupScript2: ; 15408
-   db map_lcd_off
-   db map_sound_off
-   db map_attributes_2
-   db map_anchor_screen
-   db map_start_callback
-   db map_load_blocks
-   db map_connection_blocks
-   db map_buffer_screen
-   db map_load_graphics
-   db map_time_of_day
-   db map_lcd_on
-   db map_palettes
-   db map_sprites
-   db map_bike_music
-   db map_fade_in_palettes
-   db map_animations_on
-   db map_wildmons
-   db -1
+   map_lcd_off
+   map_sound_off
+   map_attributes_2
+   map_anchor_screen
+   map_start_callback
+   map_load_blocks
+   map_connection_blocks
+   map_buffer_screen
+   map_load_graphics
+   map_time_of_day
+   map_lcd_on
+   map_palettes
+   map_sprites
+   map_bike_music
+   map_fade_in_palettes
+   map_animations_on
+   map_wildmons
+   map_end_setup_script
 
 MapSetupScript10: ; 1541a
-   db map_load_blocks
-   db map_connection_blocks
-   db -1
+   map_load_blocks
+   map_connection_blocks
+   map_end_setup_script
 
 
 ReadMapSetupScript: ; 1541d
@@ -374,13 +323,13 @@ Function154ea: ; 154ea
 ; 154eb
 
 DelayClearingOldSprites: ; 154eb
-   ld hl, wd45b
+   ld hl, wPlayerSpriteSetupFlags
    set 7, [hl]
    ret
 ; 154f1
 
 DelayLoadingNewSprites: ; 154f1
-   ld hl, wd45b
+   ld hl, wPlayerSpriteSetupFlags
    set 6, [hl]
    ret
 
diff --git a/engine/more_phone_scripts.asm b/engine/more_phone_scripts.asm
index a219251..5bc1f15 100644
--- a/engine/more_phone_scripts.asm
+++ b/engine/more_phone_scripts.asm
@@ -1656,5 +1656,5 @@ UnknownScript_0xa0b04:
 BikeShopPhoneScript:
    farwritetext UnknownText_0x174000
    clearflag ENGINE_BIKE_SHOP_CALL_ENABLED
-   specialphonecall ELMCALL_NONE
+   specialphonecall SPECIALCALL_NONE
    end
diff --git a/engine/pack.asm b/engine/pack.asm
index 310be0f..caf2bad 100644
--- a/engine/pack.asm
+++ b/engine/pack.asm
@@ -54,24 +54,24 @@ Function10046: ; 10046 (4:4046)
 Function10056: ; 10056 (4:4056)
    xor a
    ld [wcf65], a
-   call Function10a36
-   call Function109bb
-   call Function1089a
+   call ClearPocketList
+   call DrawPocketName
+   call WaitBGMap_DrawPackGFX
    call Function10866
    ret
 
 Function10067: ; 10067 (4:4067)
    ld hl, MenuDataHeader_0x10a4f
    call CopyMenuDataHeader
-   ld a, [wd0d9]
-   ld [wcf88], a
+   ld a, [wItemsPocketPointerLocation]
+   ld [wPocketPointerLocationBuffer], a
    ld a, [wd0df]
    ld [wd0e4], a
    call Function350c
    ld a, [wd0e4]
    ld [wd0df], a
    ld a, [wcfa9]
-   ld [wd0d9], a
+   ld [wItemsPocketPointerLocation], a
    ld b, $7
    ld c, $3
    call Function108d4
@@ -82,24 +82,24 @@ Function10067: ; 10067 (4:4067)
 Function10094: ; 10094 (4:4094)
    ld a, $2
    ld [wcf65], a
-   call Function10a36
-   call Function109bb
-   call Function1089a
+   call ClearPocketList
+   call DrawPocketName
+   call WaitBGMap_DrawPackGFX
    call Function10866
    ret
 
 Function100a6: ; 100a6 (4:40a6)
    ld hl, MenuDataHeader_0x10a7f
    call CopyMenuDataHeader
-   ld a, [wd0da]
-   ld [wcf88], a
+   ld a, [wKeyItemsPocketPointerLocation]
+   ld [wPocketPointerLocationBuffer], a
    ld a, [wd0e0]
    ld [wd0e4], a
    call Function350c
    ld a, [wd0e4]
    ld [wd0e0], a
    ld a, [wcfa9]
-   ld [wd0da], a
+   ld [wKeyItemsPocketPointerLocation], a
    ld b, $3
    ld c, $7
    call Function108d4
@@ -110,11 +110,11 @@ Function100a6: ; 100a6 (4:40a6)
 Function100d3: ; 100d3 (4:40d3)
    ld a, $3
    ld [wcf65], a
-   call Function10a36
-   call Function109bb
+   call ClearPocketList
+   call DrawPocketName
    xor a
    ld [hBGMapMode], a ; $ff00+$d4
-   call Function1089a
+   call WaitBGMap_DrawPackGFX
    call Function10866
    ret
 
@@ -125,7 +125,7 @@ Function100e8: ; 100e8 (4:40e8)
    call Function108d4
    ret c
    callba _CheckTossableItem
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    and a
    jr nz, .asm_1010a
    ld hl, MenuDataHeader_0x1013b
@@ -205,31 +205,31 @@ Function10159: ; 10159
    xor a
    ld [hBGMapMode], a ; $ff00+$d4
    call Function10955
-   call Function1089a
+   call WaitBGMap_DrawPackGFX
    call Function10a40
    ret
 
 Function10186: ; 10186 (4:4186)
    ld a, $1
    ld [wcf65], a
-   call Function10a36
-   call Function109bb
-   call Function1089a
+   call ClearPocketList
+   call DrawPocketName
+   call WaitBGMap_DrawPackGFX
    call Function10866
    ret
 
 Function10198: ; 10198 (4:4198)
    ld hl, MenuDataHeader_0x10aaf
    call CopyMenuDataHeader
-   ld a, [wd0db]
-   ld [wcf88], a
+   ld a, [wBallsPocketPointerLocation]
+   ld [wPocketPointerLocationBuffer], a
    ld a, [wd0e1]
    ld [wd0e4], a
    call Function350c
    ld a, [wd0e4]
    ld [wd0e1], a
    ld a, [wcfa9]
-   ld [wd0db], a
+   ld [wBallsPocketPointerLocation], a
    ld b, $1
    ld c, $5
    call Function108d4
@@ -239,54 +239,62 @@ Function10198: ; 10198 (4:4198)
 
 Function101c5: ; 101c5 (4:41c5)
    callba _CheckTossableItem
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    and a
-   jr nz, .asm_101f9
+   jr nz, .tossable
    callba CheckSelectableItem
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    and a
-   jr nz, .asm_101eb
+   jr nz, .selectable
    callba CheckItemMenu
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    and a
-   jr nz, .asm_10207
-   jr .asm_10227
-.asm_101eb
+   jr nz, .usable
+   jr .unusable
+
+.selectable
    callba CheckItemMenu
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    and a
-   jr nz, .asm_1020f
-   jr .asm_1022f
-.asm_101f9
+   jr nz, .selectable_usable
+   jr .selectable_unusable
+
+.tossable
    callba CheckSelectableItem
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    and a
-   jr nz, .asm_10217
-   jr .asm_1021f
-.asm_10207
+   jr nz, .tossable_selectable
+   jr .tossable_unselectable
+
+.usable
    ld hl, MenuDataHeader_0x10249
    ld de, Jumptable_1026a
-   jr .asm_10235
-.asm_1020f
+   jr .build_menu
+
+.selectable_usable
    ld hl, MenuDataHeader_0x10274
    ld de, Jumptable_10291
-   jr .asm_10235
-.asm_10217
+   jr .build_menu
+
+.tossable_selectable
    ld hl, MenuDataHeader_0x10299
    ld de, Jumptable_102ac
-   jr .asm_10235
-.asm_1021f
+   jr .build_menu
+
+.tossable_unselectable
    ld hl, MenuDataHeader_0x102b0
    ld de, Jumptable_102c7
-   jr .asm_10235
-.asm_10227
+   jr .build_menu
+
+.unusable
    ld hl, MenuDataHeader_0x102cd
    ld de, Jumptable_102ea
-   jr .asm_10235
-.asm_1022f
+   jr .build_menu
+
+.selectable_unusable
    ld hl, MenuDataHeader_0x102f2
    ld de, Jumptable_1030b
-.asm_10235
+.build_menu
    push de
    call LoadMenuDataHeader
    call InterpretMenu2
@@ -350,7 +358,7 @@ Jumptable_10291: ; 10291
 ; 10299
 
 MenuDataHeader_0x10299: ; 0x10299
-   db $40 ; flags
+   db %01000000 ; flags
    db 07, 13 ; start coords
    db 11, 19 ; end coords
    dw MenuData2_0x102a1
@@ -370,7 +378,7 @@ Jumptable_102ac: ; 102ac
 ; 102b0
 
 MenuDataHeader_0x102b0: ; 0x102b0
-   db $40 ; flags
+   db %01000000 ; flags
    db 05, 13 ; start coords
    db 11, 19 ; end coords
    dw MenuData2_0x102b8
@@ -439,52 +447,52 @@ Jumptable_1030b: ; 1030b
 
 Function10311: ; 10311
    callba CheckItemMenu
-   ld a, [wd142]
-   ld hl, Jumptable_1031f
+   ld a, [wItemAttributeParamBuffer]
+   ld hl, .jumptable
    rst JumpTable
    ret
 ; 1031f
 
-Jumptable_1031f: ; 1031f (4:431f)
-   dw Function1032d
-   dw Function1032d
-   dw Function1032d
-   dw Function1032d
-   dw Function10334
-   dw Function10338
-   dw Function10355
+.jumptable: ; 1031f (4:431f)
+   dw .Oak
+   dw .Oak
+   dw .Oak
+   dw .Oak
+   dw .Current
+   dw .Party
+   dw .Field
 ; 1035c
 
-Function1032d: ; 1032d (4:432d)
+.Oak: ; 1032d (4:432d)
    ld hl, UnknownText_0x10af3
    call Function10889
    ret
 
-Function10334: ; 10334 (4:4334)
+.Current: ; 10334 (4:4334)
    call DoItemEffect
    ret
 
-Function10338: ; 10338 (4:4338)
+.Party: ; 10338 (4:4338)
    ld a, [PartyCount]
    and a
-   jr z, .asm_1034e
+   jr z, .NoPokemon
    call DoItemEffect
    xor a
    ld [hBGMapMode], a ; $ff00+$d4
    call Function10955
-   call Function1089a
+   call WaitBGMap_DrawPackGFX
    call Function10a40
    ret
-.asm_1034e
+.NoPokemon
    ld hl, UnknownText_0x10af8
    call Function10889
    ret
 
-Function10355: ; 10355 (4:4355)
+.Field: ; 10355 (4:4355)
    call DoItemEffect
    ld a, [wd0ec]
    and a
-   jr z, Function1032d
+   jr z, .Oak
    ld a, $a
    ld [wJumptableEntryIndexBuffer], a
    ret
@@ -529,26 +537,26 @@ Function1039d: ; 1039d
 
 .asm_103aa
    xor a
-   ld [wd0db], a
+   ld [wBallsPocketPointerLocation], a
    ld [wd0e1], a
    ret
 
 .asm_103b2
    xor a
-   ld [wd0d9], a
+   ld [wItemsPocketPointerLocation], a
    ld [wd0df], a
    ret
 
 .asm_103ba
    xor a
-   ld [wd0da], a
+   ld [wKeyItemsPocketPointerLocation], a
    ld [wd0e0], a
    ret
 ; 103c2
 
 Function103c2: ; 103c2
    callba CheckSelectableItem
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    and a
    jr nz, .asm_103f6
    ld a, [wcf65]
@@ -625,7 +633,7 @@ Function103fd: ; 103fd
    xor a
    ld [hBGMapMode], a ; $ff00+$d4
    call Function10955
-   call Function1089a
+   call WaitBGMap_DrawPackGFX
    call Function10a40
    ret
 
@@ -701,24 +709,24 @@ Function104d9: ; 104d9 (4:44d9)
 Function104e9: ; 104e9 (4:44e9)
    xor a
    ld [wcf65], a
-   call Function10a36
-   call Function109bb
-   call Function1089a
+   call ClearPocketList
+   call DrawPocketName
+   call WaitBGMap_DrawPackGFX
    call Function10866
    ret
 
 Function104fa: ; 104fa (4:44fa)
    ld hl, MenuDataHeader_0x10a4f
    call CopyMenuDataHeader
-   ld a, [wd0d9]
-   ld [wcf88], a
+   ld a, [wItemsPocketPointerLocation]
+   ld [wPocketPointerLocationBuffer], a
    ld a, [wd0df]
    ld [wd0e4], a
    call Function350c
    ld a, [wd0e4]
    ld [wd0df], a
    ld a, [wcfa9]
-   ld [wd0d9], a
+   ld [wItemsPocketPointerLocation], a
    ld b, $7
    ld c, $3
    call Function108d4
@@ -729,24 +737,24 @@ Function104fa: ; 104fa (4:44fa)
 Function10527: ; 10527 (4:4527)
    ld a, $2
    ld [wcf65], a
-   call Function10a36
-   call Function109bb
-   call Function1089a
+   call ClearPocketList
+   call DrawPocketName
+   call WaitBGMap_DrawPackGFX
    call Function10866
    ret
 
 Function10539: ; 10539 (4:4539)
    ld hl, MenuDataHeader_0x10a7f
    call CopyMenuDataHeader
-   ld a, [wd0da]
-   ld [wcf88], a
+   ld a, [wKeyItemsPocketPointerLocation]
+   ld [wPocketPointerLocationBuffer], a
    ld a, [wd0e0]
    ld [wd0e4], a
    call Function350c
    ld a, [wd0e4]
    ld [wd0e0], a
    ld a, [wcfa9]
-   ld [wd0da], a
+   ld [wKeyItemsPocketPointerLocation], a
    ld b, $3
    ld c, $7
    call Function108d4
@@ -757,11 +765,11 @@ Function10539: ; 10539 (4:4539)
 Function10566: ; 10566 (4:4566)
    ld a, $3
    ld [wcf65], a
-   call Function10a36
-   call Function109bb
+   call ClearPocketList
+   call DrawPocketName
    xor a
    ld [hBGMapMode], a ; $ff00+$d4
-   call Function1089a
+   call WaitBGMap_DrawPackGFX
    ld hl, UnknownText_0x10b0c
    call Function10889
    call Function10866
@@ -780,24 +788,24 @@ Function10581: ; 10581 (4:4581)
 Function10594: ; 10594 (4:4594)
    ld a, $1
    ld [wcf65], a
-   call Function10a36
-   call Function109bb
-   call Function1089a
+   call ClearPocketList
+   call DrawPocketName
+   call WaitBGMap_DrawPackGFX
    call Function10866
    ret
 
 Function105a6: ; 105a6 (4:45a6)
    ld hl, MenuDataHeader_0x10aaf
    call CopyMenuDataHeader
-   ld a, [wd0db]
-   ld [wcf88], a
+   ld a, [wBallsPocketPointerLocation]
+   ld [wPocketPointerLocationBuffer], a
    ld a, [wd0e1]
    ld [wd0e4], a
    call Function350c
    ld a, [wd0e4]
    ld [wd0e1], a
    ld a, [wcfa9]
-   ld [wd0db], a
+   ld [wBallsPocketPointerLocation], a
    ld b, $1
    ld c, $5
    call Function108d4
@@ -807,18 +815,18 @@ Function105a6: ; 105a6 (4:45a6)
 
 Function105d3: ; 105d3 (4:45d3)
    callba CheckItemContext
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
 
 Function105dc: ; 105dc (4:45dc)
    and a
-   jr z, .asm_105e7
-   ld hl, MenuDataHeader_0x10601
-   ld de, Jumptable_10614
-   jr .asm_105ed
-.asm_105e7
-   ld hl, MenuDataHeader_0x10618
-   ld de, Jumptable_10627
-.asm_105ed
+   jr z, .NoUse
+   ld hl, .UsableMenuDataHeader
+   ld de, .UsableJumptable
+   jr .proceed
+.NoUse
+   ld hl, .UnusableMenuDataHeader
+   ld de, .UnusableJumptable
+.proceed
    push de
    call LoadMenuDataHeader
    call InterpretMenu2
@@ -831,106 +839,108 @@ Function105dc: ; 105dc (4:45dc)
    jp [hl]
 ; 10601 (4:4601)
 
-MenuDataHeader_0x10601: ; 0x10601
+.UsableMenuDataHeader: ; 0x10601
    db $40 ; flags
    db 07, 13 ; start coords
    db 11, 19 ; end coords
-   dw MenuData2_0x10609
+   dw .UsableMenuData2
    db 1 ; default option
 ; 0x10609
 
-MenuData2_0x10609: ; 0x10609
+.UsableMenuData2: ; 0x10609
    db $c0 ; flags
    db 2 ; items
    db "USE@"
    db "QUIT@"
 ; 0x10614
 
-Jumptable_10614: ; 10614
-   dw Function10629
-   dw Function10689
+.UsableJumptable: ; 10614
+   dw .Use
+   dw .Quit
 ; 10618
 
-MenuDataHeader_0x10618: ; 0x10618
+.UnusableMenuDataHeader: ; 0x10618
    db $40 ; flags
    db 09, 13 ; start coords
    db 11, 19 ; end coords
-   dw MenuData2_0x10620
+   dw .UnusableMenuData2
    db 1 ; default option
 ; 0x10620
 
-MenuData2_0x10620: ; 0x10620
+.UnusableMenuData2: ; 0x10620
    db $c0 ; flags
    db 1 ; items
    db "QUIT@"
 ; 0x10627
 
-Jumptable_10627: ; 10627
-   dw Function10689
+.UnusableJumptable: ; 10627
+   dw .Quit
 ; 10629
 
-Function10629: ; 10629
+.Use: ; 10629
    callba CheckItemContext
-   ld a, [wd142]
-   ld hl, Jumptable_10637
+   ld a, [wItemAttributeParamBuffer]
+   ld hl, .ItemFunctionJumptable
    rst JumpTable
    ret
 
-Jumptable_10637: ; 10637 (4:4637)
-   dw Function10645
-   dw Function10645
-   dw Function10645
-   dw Function10645
-   dw Function1064c
-   dw Function10656
-   dw Function10671
+.ItemFunctionJumptable: ; 10637 (4:4637)
+   dw .Oak
+   dw .Oak
+   dw .Oak
+   dw .Oak
+   dw .Unused
+   dw .BattleField
+   dw .BattleOnly
 
 
-Function10645: ; 10645 (4:4645)
+.Oak: ; 10645 (4:4645)
    ld hl, UnknownText_0x10af3
    call Function10889
    ret
 
-Function1064c: ; 1064c (4:464c)
+.Unused: ; 1064c (4:464c)
    call DoItemEffect
    ld a, [wd0ec]
    and a
-   jr nz, asm_1066c
+   jr nz, .asm_1066c
    ret
 
-Function10656: ; 10656 (4:4656)
+.BattleField: ; 10656 (4:4656)
    call DoItemEffect
    ld a, [wd0ec]
    and a
-   jr nz, asm_1067e
+   jr nz, .asm_1067e
    xor a
    ld [hBGMapMode], a ; $ff00+$d4
    call Function10955
-   call Function1089a
+   call WaitBGMap_DrawPackGFX
    call Function10a40
    ret
-asm_1066c: ; 1066c (4:466c)
+
+.asm_1066c: ; 1066c (4:466c)
    call WhiteBGMap
-   jr asm_1067e
+   jr .asm_1067e
 
-Function10671: ; 10671 (4:4671)
+.BattleOnly: ; 10671 (4:4671)
    call DoItemEffect
    ld a, [wd0ec]
    and a
-   jr z, Function10645
+   jr z, .Oak
    cp $2
-   jr z, asm_10684
-asm_1067e: ; 1067e (4:467e)
+   jr z, .asm_10684
+.asm_1067e: ; 1067e (4:467e)
    ld a, $a
    ld [wJumptableEntryIndexBuffer], a
    ret
-asm_10684: ; 10684 (4:4684)
+
+.asm_10684: ; 10684 (4:4684)
    xor a
    ld [wd0ec], a
    ret
 ; 10689 (4:4689)
 
-Function10689: ; 10689
+.Quit: ; 10689
    ret
 ; 1068a
 
@@ -982,74 +992,74 @@ Function106c7: ; 106c7
 
 
 Jumptable_106d1: ; 106d1 (4:46d1)
-   dw Function106d9
-   dw Function1073b
-   dw Function106ff
-   dw Function10726
+   dw .ItemsPocket
+   dw .BallsPocket
+   dw .KeyItemsPocket
+   dw .TMHMPocket
 
 
-Function106d9: ; 106d9 (4:46d9)
+.ItemsPocket: ; 106d9 (4:46d9)
    xor a
-   call Function10762
+   call InitPocket
    ld hl, MenuDataHeader_0x10a67
    call CopyMenuDataHeader
-   ld a, [wd0d9]
-   ld [wcf88], a
+   ld a, [wItemsPocketPointerLocation]
+   ld [wPocketPointerLocationBuffer], a
    ld a, [wd0df]
    ld [wd0e4], a
    call Function350c
    ld a, [wd0e4]
    ld [wd0df], a
    ld a, [wcfa9]
-   ld [wd0d9], a
+   ld [wItemsPocketPointerLocation], a
    ret
 
-Function106ff: ; 106ff (4:46ff)
+.KeyItemsPocket: ; 106ff (4:46ff)
    ld a, $2
-   call Function10762
+   call InitPocket
    ld hl, MenuDataHeader_0x10a97
    call CopyMenuDataHeader
-   ld a, [wd0da]
-   ld [wcf88], a
+   ld a, [wKeyItemsPocketPointerLocation]
+   ld [wPocketPointerLocationBuffer], a
    ld a, [wd0e0]
    ld [wd0e4], a
    call Function350c
    ld a, [wd0e4]
    ld [wd0e0], a
    ld a, [wcfa9]
-   ld [wd0da], a
+   ld [wKeyItemsPocketPointerLocation], a
    ret
 
-Function10726: ; 10726 (4:4726)
+.TMHMPocket: ; 10726 (4:4726)
    ld a, $3
-   call Function10762
-   call Function1089a
+   call InitPocket
+   call WaitBGMap_DrawPackGFX
    callba Function2c76f
    ld a, [CurItem]
    ld [CurItem], a
    ret
 
-Function1073b: ; 1073b (4:473b)
+.BallsPocket: ; 1073b (4:473b)
    ld a, $1
-   call Function10762
+   call InitPocket
    ld hl, MenuDataHeader_0x10ac7
    call CopyMenuDataHeader
-   ld a, [wd0db]
-   ld [wcf88], a
+   ld a, [wBallsPocketPointerLocation]
+   ld [wPocketPointerLocationBuffer], a
    ld a, [wd0e1]
    ld [wd0e4], a
    call Function350c
    ld a, [wd0e4]
    ld [wd0e1], a
    ld a, [wcfa9]
-   ld [wd0db], a
+   ld [wBallsPocketPointerLocation], a
    ret
 
-Function10762: ; 10762 (4:4762)
+InitPocket: ; 10762 (4:4762)
    ld [wcf65], a
-   call Function10a36
-   call Function109bb
-   call Function1089a
+   call ClearPocketList
+   call DrawPocketName
+   call WaitBGMap_DrawPackGFX
    ret
 
 
@@ -1188,8 +1198,8 @@ MenuData2_0x10816: ; 0x10816
 
 Function10826: ; 10826 (4:4826)
    ld a, $3
-   call Function10762
-   call Function1089a
+   call InitPocket
+   call WaitBGMap_DrawPackGFX
    callba Function2c76f
    ld a, [CurItem]
    ld [CurItem], a
@@ -1221,7 +1231,7 @@ MenuData2_0x1084a: ; 0x1084a
 
 Function1085a: ; 1085a (4:485a)
    push hl
-   call Function10762
+   call InitPocket
    pop hl
    call CopyMenuDataHeader
    call Function350c
@@ -1268,23 +1278,23 @@ Function10889: ; 10889 (4:4889)
    ld [Options], a
    ret
 
-Function1089a: ; 1089a (4:489a)
+WaitBGMap_DrawPackGFX: ; 1089a (4:489a)
    call WaitBGMap
 
 
-Function1089d: ; 1089d
+DrawPackGFX: ; 1089d
    ld a, [wcf65]
    and $3
    ld e, a
    ld d, $0
    ld a, [BattleType]
    cp BATTLETYPE_TUTORIAL
-   jr z, .asm_108b3
+   jr z, .male_dude
    ld a, [PlayerGender]
    bit 0, a
-   jr nz, .asm_108c5
+   jr nz, .female
 
-.asm_108b3
+.male_dude
    ld hl, PackGFXPointers
 rept 2
    add hl, de
@@ -1297,8 +1307,8 @@ endr
    call Request2bpp
    ret
 
-.asm_108c5
-   callba Function48e81
+.female
+   callba DrawKrisPackGFX
    ret
 ; 108cc
 
@@ -1412,13 +1422,13 @@ Function10955: ; 10955
    inc a
    dec c
    jr nz, .asm_1098a
-   call Function109bb
+   call DrawPocketName
    call Function109a5
    hlcoord 0, 12
    lb bc, 4, 18
    call TextBox
    call EnableLCD
-   call Function1089d
+   call DrawPackGFX
    ret
 ; 109a5
 
@@ -1440,7 +1450,7 @@ Function109a5: ; 109a5
    ret
 ; 109bb
 
-Function109bb: ; 109bb
+DrawPocketName: ; 109bb
    ld a, [wcf65]
 
    ; * 15
@@ -1450,30 +1460,30 @@ Function109bb: ; 109bb
 
    ld d, 0
    ld e, a
-   ld hl, Tilemap_109e1
+   ld hl, .tilemap
    add hl, de
    ld d, h
    ld e, l
    hlcoord 0, 7
    ld c, 3
-.asm_109d0
+.row
    ld b, 5
-.asm_109d2
+.col
    ld a, [de]
    inc de
    ld [hli], a
    dec b
-   jr nz, .asm_109d2
+   jr nz, .col
    ld a, c
-   ld c, 15
+   ld c, SCREEN_WIDTH - 5
    add hl, bc
    ld c, a
    dec c
-   jr nz, .asm_109d0
+   jr nz, .row
    ret
 ; 109e1
 
-Tilemap_109e1: ; 109e1
+.tilemap: ; 109e1
    db $00, $04, $04, $04, $01,  $06, $07, $08, $09, $0a,  $02, $05, $05, $05, $03
    db $00, $04, $04, $04, $01,  $15, $16, $17, $18, $19,  $02, $05, $05, $05, $03
    db $00, $04, $04, $04, $01,  $0b, $0c, $0d, $0e, $0f,  $02, $05, $05, $05, $03
@@ -1491,21 +1501,21 @@ Function10a1d: ; 10a1d
 Function10a2a: ; 10a2a
    hlcoord 0, 0
    ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
-   ld a, $7f
+   ld a, " "
    call ByteFill
    ret
 ; 10a36
 
-Function10a36: ; 10a36 (4:4a36)
+ClearPocketList: ; 10a36 (4:4a36)
    hlcoord 5, 2
-   ld bc, $a0f
+   lb bc, 10, SCREEN_WIDTH - 5
    call ClearBox
    ret
 
 
 Function10a40: ; 10a40
    call WaitBGMap
-   ld b, $14
+   ld b, SCREEN_WIDTH
    call GetSGBLayout
    call Function32f9
    call DelayFrame
diff --git a/engine/phone.asm b/engine/phone.asm
index 0307464..5abe54c 100644
--- a/engine/phone.asm
+++ b/engine/phone.asm
@@ -1,13 +1,13 @@
 AddPhoneNumber:: ; 90000
    call _CheckCellNum
-   jr c, .asm_9000d
-   call Function9002d
-   jr nc, .asm_9000d
+   jr c, .cant_add
+   call Phone_FindOpenSlot
+   jr nc, .cant_add
    ld [hl], c
    xor a
    ret
 
-.asm_9000d
+.cant_add
    scf
    ret
 ; 9000f
@@ -15,95 +15,95 @@ AddPhoneNumber:: ; 90000
 
 DelCellNum:: ; 9000f
    call _CheckCellNum
-   jr nc, .asm_90017
+   jr nc, .not_in_list
    xor a
    ld [hl], a
    ret
 
-.asm_90017
+.not_in_list
    scf
    ret
 ; 90019
 
 CheckCellNum:: ; 90019
-   jp _CheckCellNum
+   jp _CheckCellNum ; wtf
 ; 9001c
 
 _CheckCellNum: ; 9001c
-   ld hl, wdc7c
-   ld b, $a
-.asm_90021
+   ld hl, wPhoneList
+   ld b, CONTACT_LIST_SIZE
+.loop
    ld a, [hli]
    cp c
-   jr z, .asm_9002a
+   jr z, .got_it
    dec b
-   jr nz, .asm_90021
+   jr nz, .loop
    xor a
    ret
 
-.asm_9002a
+.got_it
    dec hl
    scf
    ret
 ; 9002d
 
-Function9002d: ; 9002d
-   call Function90040
+Phone_FindOpenSlot: ; 9002d
+   call GetRemainingSpaceInPhoneList
    ld b, a
-   ld hl, wdc7c
-.asm_90034
+   ld hl, wPhoneList
+.loop
    ld a, [hli]
    and a
-   jr z, .asm_9003d
+   jr z, .FoundOpenSpace
    dec b
-   jr nz, .asm_90034
+   jr nz, .loop
    xor a
    ret
 
-.asm_9003d
+.FoundOpenSpace
    dec hl
    scf
    ret
 ; 90040
 
-Function90040: ; 90040
+GetRemainingSpaceInPhoneList: ; 90040
    xor a
    ld [Buffer1], a
-   ld hl, Unknown_90066
-.asm_90047
+   ld hl, PermanentNumbers
+.loop
    ld a, [hli]
-   cp $ff
-   jr z, .asm_9005f
+   cp -1
+   jr z, .done
    cp c
-   jr z, .asm_9005d
+   jr z, .elm_or_mom
    push bc
    push hl
    ld c, a
    call _CheckCellNum
-   jr c, .asm_9005b
+   jr c, .elm_or_mom_in_list
    ld hl, Buffer1
    inc [hl]
 
-.asm_9005b
+.elm_or_mom_in_list
    pop hl
    pop bc
 
-.asm_9005d
-   jr .asm_90047
+.elm_or_mom
+   jr .loop
 
-.asm_9005f
-   ld a, $a
+.done
+   ld a, CONTACT_LIST_SIZE
    ld hl, Buffer1
    sub [hl]
    ret
 ; 90066
 
-Unknown_90066: ; 90066
-   db 1, 4, $ff
+PermanentNumbers: ; 90066
+   db MOM_PHONE, ELM_PHONE, -1
 ; 90069
 
 
-Function90069: ; 90069
+FarPlaceString: ; 90069
    ld a, [hROMBank]
    push af
    ld a, b
@@ -123,13 +123,13 @@ CheckPhoneCall:: ; 90074 (24:4074)
    call CheckStandingOnEntrance
    jr z, .no_call
 
-   call Function900a6
+   call .timecheck
    nop
    jr nc, .no_call
 
    call Random
    ld b, a
-   and $7f
+   and 50 percent
    cp b
    jr nz, .no_call
 
@@ -137,14 +137,14 @@ CheckPhoneCall:: ; 90074 (24:4074)
    and a
    jr nz, .no_call
 
-   call Function900de
-   call Function900bf
+   call GetAvailableCallers
+   call ChooseRandomCaller
    jr nc, .no_call
 
    ld e, a
    call LoadCallerScript
-   ld a, BANK(Script_SpecialPhoneCall)
-   ld hl, Script_SpecialPhoneCall
+   ld a, BANK(Script_ReceivePhoneCall)
+   ld hl, Script_ReceivePhoneCall
    call CallScript
    scf
    ret
@@ -153,8 +153,8 @@ CheckPhoneCall:: ; 90074 (24:4074)
    xor a
    ret
 
-Function900a6: ; 900a6 (24:40a6)
-   callba Function11401
+.timecheck: ; 900a6 (24:40a6)
+   callba CheckReceiveCallTimer
    ret
 
 CheckPhoneContactTimeOfDay: ; 900ad (24:40ad)
@@ -173,40 +173,46 @@ CheckPhoneContactTimeOfDay: ; 900ad (24:40ad)
    pop hl
    ret
 
-Function900bf: ; 900bf (24:40bf)
-   ld a, [wd040]
+ChooseRandomCaller: ; 900bf (24:40bf)
+; If no one is available to call, don't return anything.
+   ld a, [EngineBuffer3]
    and a
-   jr z, .asm_900dc
+   jr z, .NothingToSample
+
+; Sample a random number between 0 and 31.
    ld c, a
    call Random
    ld a, [hRandomAdd] ; $ff00+$e1
    swap a
    and $1f
+; Compute that number modulo the number of available callers.
    call SimpleDivide
+; Return the caller ID you just sampled.
    ld c, a
-   ld b, $0
-   ld hl, wd041
+   ld b, 0
+   ld hl, EngineBuffer4
    add hl, bc
    ld a, [hl]
    scf
    ret
-.asm_900dc
+
+.NothingToSample
    xor a
    ret
 
-Function900de: ; 900de (24:40de)
+GetAvailableCallers: ; 900de (24:40de)
    callba CheckTime
    ld a, c
    ld [EngineBuffer1], a ; wd03e (aliases: MenuItemsList, CurFruitTree, CurInput)
-   ld hl, wd040
-   ld bc, $b
+   ld hl, EngineBuffer3
+   ld bc, 11
    xor a
    call ByteFill
-   ld de, wdc7c
-   ld a, 10
+   ld de, wPhoneList
+   ld a, CONTACT_LIST_SIZE
 
 .loop
-   ld [wd03f], a
+   ld [EngineBuffer2], a
    ld a, [de]
    and a
    jr z, .not_good_for_call
@@ -226,23 +232,23 @@ Function900de: ; 900de (24:40de)
    cp [hl]
    jr z, .not_good_for_call
 .different_map
-   ld a, [wd040]
+   ld a, [EngineBuffer3]
    ld c, a
    ld b, $0
    inc a
-   ld [wd040], a
-   ld hl, wd041
+   ld [EngineBuffer3], a
+   ld hl, EngineBuffer4
    add hl, bc
    ld a, [de]
    ld [hl], a
 .not_good_for_call
    inc de
-   ld a, [wd03f]
+   ld a, [EngineBuffer2]
    dec a
    jr nz, .loop
    ret
 
-Function90136:: ; 90136 (24:4136)
+CheckSpecialPhoneCall:: ; 90136 (24:4136)
    ld a, [wSpecialPhoneCallID]
    and a
    jr z, .NoPhoneCall
@@ -289,7 +295,7 @@ endr
 
 .script: ; 0x90173
    pause 30
-   jump Script_SpecialPhoneCall
+   jump Script_ReceivePhoneCall
 ; 0x90178
 
 .DoSpecialPhoneCall: ; 90178 (24:4178)
@@ -415,7 +421,7 @@ LoadCallerScript: ; 9020d (24:420d)
    call AddNTimes
    ld a, BANK(PhoneContacts)
 .proceed
-   ld de, wd03f
+   ld de, EngineBuffer2
    ld bc, 12
    call FarCopyBytes
    ret
@@ -433,20 +439,20 @@ WrongNumber: ; 90233
    db "@"
 ; 90241
 
-Script_SpecialPhoneCall: ; 0x90241
+Script_ReceivePhoneCall: ; 0x90241
    refreshscreen $0
-   callasm Function9026f
+   callasm RingTwice_StartCall
    ptcall wd048
    closetext
    callasm HangUp
    loadmovesprites
-   callasm Function113e5
+   callasm InitCallReceiveDelay
    end
 ; 0x90255
 
 Script_SpecialBillCall:: ; 0x90255
    callasm Function9025c
-   jump Script_SpecialPhoneCall
+   jump Script_ReceivePhoneCall
 ; 0x9025c
 
 Function9025c: ; 9025c
@@ -457,7 +463,7 @@ Function9025c: ; 9025c
 UnknownScript_0x90261: ; 0x90261
    callasm Function9026a
    pause 30
-   jump Script_SpecialPhoneCall
+   jump Script_ReceivePhoneCall
 ; 0x9026a
 
 Function9026a: ; 9026a
@@ -465,14 +471,14 @@ Function9026a: ; 9026a
    jp LoadCallerScript
 ; 9026f
 
-Function9026f: ; 9026f
-   call Function9027c
-   call Function9027c
-   callba Function1060d3
+RingTwice_StartCall: ; 9026f
+   call .Ring
+   call .Ring
+   callba MobileFn_1060d3
    ret
 ; 9027c
 
-Function9027c: ; 9027c (24:427c)
+.Ring: ; 9027c (24:427c)
    call Phone_StartRinging
    call Phone_Wait20Frames
    call Phone_CallerTextboxWithName
@@ -498,7 +504,7 @@ PhoneCall:: ; 9029a
    ld [PhoneCallerHi], a
    call Phone_FirstOfTwoRings
    call Phone_FirstOfTwoRings
-   callba Function1060d3
+   callba MobileFn_1060d3
    ret
 ; 902b3
 
@@ -526,7 +532,7 @@ endr
    ld e, a
    ld a, [PhoneCallerHi]
    ld d, a
-   call Function90069
+   call FarPlaceString
    ret
 ; 902e3
 
diff --git a/engine/phone_scripts.asm b/engine/phone_scripts.asm
index 6eccfda..5d8afd0 100644
--- a/engine/phone_scripts.asm
+++ b/engine/phone_scripts.asm
@@ -141,7 +141,7 @@ MomPhoneNoGymQuestScript: ; 0xbcfac
 MomPhoneLectureScript: ; 0xbcfb1
    setevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST
    setflag ENGINE_DST
-   specialphonecall ELMCALL_NONE
+   specialphonecall SPECIALCALL_NONE
    farwritetext MomPhoneLectureText
    yesorno
    iftrue MomPhoneSaveMoneyScript
@@ -194,7 +194,7 @@ BillPhoneScript2: ; 0xbd007
 ; Elm
 
 ElmPhoneScript1: ; 0xbd00d
-   checkcode VAR_POKERUS
+   checkcode VAR_SPECIALPHONECALL
    if_equal $1, .pokerus
    checkevent EVENT_SHOWED_TOGEPI_TO_ELM
    iftrue .discovery
@@ -253,46 +253,46 @@ ElmPhoneScript1: ; 0xbd00d
 
 .pokerus ; 0xbd079
    farwritetext ElmPhonePokerusText
-   specialphonecall ELMCALL_NONE
+   specialphonecall SPECIALCALL_NONE
    end
 
 ElmPhoneScript2: ; 0xbd081
-   checkcode VAR_POKERUS
+   checkcode VAR_SPECIALPHONECALL
    if_equal $2, .disaster
    if_equal $3, .assistant
    if_equal $4, .rocket
    if_equal $5, .gift
    if_equal $8, .gift
    farwritetext ElmPhonePokerusText
-   specialphonecall ELMCALL_NONE
+   specialphonecall SPECIALCALL_NONE
    end
 
 .disaster ; 0xbd09f
    farwritetext ElmPhoneDisasterText
-   specialphonecall ELMCALL_NONE
+   specialphonecall SPECIALCALL_NONE
    setevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON
    end
 
 .assistant ; 0xbd0aa
    farwritetext ElmPhoneEggAssistantText
-   specialphonecall ELMCALL_NONE
+   specialphonecall SPECIALCALL_NONE
    clearevent EVENT_ELMS_AIDE_IN_VIOLET_POKEMON_CENTER
    setevent EVENT_ELMS_AIDE_IN_LAB
    end
 
 .rocket ; 0xbd0b8
    farwritetext ElmPhoneRocketText
-   specialphonecall ELMCALL_NONE
+   specialphonecall SPECIALCALL_NONE
    end
 
 .gift ; 0xbd0c0
    farwritetext ElmPhoneGiftText
-   specialphonecall ELMCALL_NONE
+   specialphonecall SPECIALCALL_NONE
    end
 
 .unused ; 0xbd0c8
    farwritetext ElmPhoneUnusedText
-   specialphonecall ELMCALL_NONE
+   specialphonecall SPECIALCALL_NONE
    end
 ; bd0d0
 
diff --git a/engine/radio.asm b/engine/radio.asm
index 4ebd0e1..d833b66 100644
--- a/engine/radio.asm
+++ b/engine/radio.asm
@@ -1707,7 +1707,7 @@ BuenasPassword3: ; b8f47 (2e:4f47)
 BuenasPassword4: ; b8f55 (2e:4f55)
    call BuenasPasswordCheckMidnight
    jp c, BuenasPassword8
-   ld a, [wdc4a]
+   ld a, [wBuenasPassword]
 ; If we already generated the password today, we don't need to generate a new one.
    ld hl, WeeklyFlags
    bit 7, [hl]
@@ -1727,9 +1727,9 @@ BuenasPassword4: ; b8f55 (2e:4f55)
    and $3
    cp $3
    jr nc, .greater_than_three
-; The high nybble of wdc4a will now contain the password group index, and the low nybble contains the actual password.
+; The high nybble of wBuenasPassword will now contain the password group index, and the low nybble contains the actual password.
    add e
-   ld [wdc4a], a
+   ld [wBuenasPassword], a
 ; Set the flag so that we don't generate a new password this week.
    ld hl, WeeklyFlags
    set 7, [hl]
diff --git a/engine/scripting.asm b/engine/scripting.asm
index 351dcc7..82414a4 100644
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -529,7 +529,7 @@ Script_interpretmenu: ; 0x96f41
    ld a, [ScriptBank]
    ld hl, InterpretMenu
    rst FarCall
-   ld a, [wcf88]
+   ld a, [wPocketPointerLocationBuffer]
    jr nc, .ok
    xor a
 .ok
@@ -651,7 +651,7 @@ Script_specialsound: ; 0x96fe4
 ; script command 0x88
 
    callba CheckItemPocket
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    cp TM_HM
    ld de, SFX_GET_TM
    jr z, .play
@@ -665,7 +665,7 @@ Script_specialsound: ; 0x96fe4
 
 GetPocketName: ; 96ffe
    callba CheckItemPocket
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    dec a
    ld hl, .Pockets
    and 3
@@ -1338,12 +1338,12 @@ Script_moveperson: ; 0x97341
    call GetScriptPerson
    ld b, a
    call GetScriptByte
-   add $4
+   add 4
    ld d, a
    call GetScriptByte
-   add $4
+   add 4
    ld e, a
-   callba Function807e
+   callba CopyDECoordsToMapObject
    ret
 ; 0x9735b
 
@@ -1385,10 +1385,10 @@ Script_loademote: ; 0x97384
 ;     bubble (SingleByteParam)
 
    call GetScriptByte
-   cp $ff
-   jr nz, .asm_9738e ; 0x97389 $3
+   cp -1
+   jr nz, .not_var_emote ; 0x97389 $3
    ld a, [ScriptVar]
-.asm_9738e
+.not_var_emote
    ld c, a
    callba Function1442f
    ret
@@ -1417,7 +1417,7 @@ Script_showemote: ; 0x97396
 ; 0x973b6
 
 ShowEmoteScript: ; 973b6
-   loademote $ff
+   loademote -1
    applymovement2 .Show
    pause 0
    applymovement2 .Hide
@@ -1448,12 +1448,12 @@ Script_earthquake: ; 0x973c7
    ld [wd003], a
    and $3f
    ld [wd005], a
-   ld b, BANK(UnknownScript_0x973e6)
-   ld de, UnknownScript_0x973e6
+   ld b, BANK(.script)
+   ld de, .script
    jp ScriptCall
 ; 0x973e6
 
-UnknownScript_0x973e6: ; 973e6
+.script: ; 973e6
    applymovement PLAYER, wd002
    end
 ; 973eb
@@ -1487,7 +1487,7 @@ Script_battlecheck: ; 0x973fb
 Script_loadtrainerdata: ; 0x97400
 ; script command 0x5c
 
-   ld a, $81
+   ld a, (1 << 7) | 1
    ld [wd459], a
    ld a, [WalkingDirection]
    ld [OtherTrainerClass], a
@@ -1502,7 +1502,7 @@ Script_loadpokedata: ; 0x97412
 ;     pokemon (PokemonParam)
 ;     level (DecimalParam)
 
-   ld a, $80
+   ld a, (1 << 7)
    ld [wd459], a
    call GetScriptByte
    ld [TempWildMonSpecies], a
@@ -1517,7 +1517,7 @@ Script_loadtrainer: ; 0x97424
 ;     trainer_group (TrainerGroupParam)
 ;     trainer_id (TrainerIdParam)
 
-   ld a, $81
+   ld a, (1 << 7) | 1
    ld [wd459], a
    call GetScriptByte
    ld [OtherTrainerClass], a
@@ -1531,7 +1531,7 @@ Script_startbattle: ; 0x97436
 
    call BufferScreen
    predef StartBattle
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and $3f
    ld [ScriptVar], a
    ret
@@ -1555,7 +1555,7 @@ Script_returnafterbattle: ; 0x97459
    ld hl, wd459
    ld d, [hl]
    ld [hl], $0
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and $3f
    cp $1
    jr nz, .notblackedout ; 0x97466 $8
@@ -1565,17 +1565,17 @@ Script_returnafterbattle: ; 0x97459
 
 .notblackedout
    bit 0, d
-   jr z, .asm_9747c ; 0x97472 $8
+   jr z, .was_wild ; 0x97472 $8
    callba MomTriesToBuySomething
    jr .done ; 0x9747a $12
 
-.asm_9747c
-   ld a, [wd0ee]
+.was_wild
+   ld a, [wBattleResult]
    bit 7, a
    jr z, .done ; 0x97481 $b
    ld b, BANK(Script_SpecialBillCall)
    ld de, Script_SpecialBillCall
-   callba Function97c4f
+   callba LoadScriptBDE
 .done
    jp Script_reloadmap
 ; 0x97491
@@ -1585,7 +1585,7 @@ Script_reloadmap: ; 0x97491
 
    xor a
    ld [wd459], a
-   ld a, $f3
+   ld a, ($f << 4) + MAPSETUP_03
    ld [hMapEntryMethod], a
    ld a, $1
    call LoadMapStatus
@@ -2813,10 +2813,10 @@ Script_warpfacing: ; 0x97a0e
    call GetScriptByte
    and $3
    ld c, a
-   ld a, [wd45b]
+   ld a, [wPlayerSpriteSetupFlags]
    set 5, a
    or c
-   ld [wd45b], a
+   ld [wPlayerSpriteSetupFlags], a
 ; fall through
 
 Script_warp: ; 0x97a1d
@@ -2840,7 +2840,7 @@ Script_warp: ; 0x97a1d
    ld [YCoord], a
    ld a, -1
    ld [wd001], a
-   ld a, -15
+   ld a, ($f << 4) + MAPSETUP_01
    ld [hMapEntryMethod], a
    ld a, 1
    call LoadMapStatus
@@ -2852,7 +2852,7 @@ Script_warp: ; 0x97a1d
    call GetScriptByte
    ld a, -1
    ld [wd001], a
-   ld a, -5
+   ld a, ($f << 4) + MAPSETUP_11
    ld [hMapEntryMethod], a
    ld a, 1
    call LoadMapStatus
@@ -2968,7 +2968,7 @@ Script_reloadmappart:: ; 0x97ae3
 ; script command 0x7c
 
    xor a
-   ld [$ffd4], a
+   ld [hBGMapMode], a
    call Function2173
    call Function2914
    callba Function104061
@@ -3046,7 +3046,7 @@ Script_loadmovesprites: ; 0x97b2f
 ; script command 0x49
 
    call Function2e20
-   call Function2dcf
+   call LoadMoveSprites
    ret
 ; 0x97b36
 
diff --git a/engine/specials.asm b/engine/specials.asm
index 827ed11..e9fe298 100644
--- a/engine/specials.asm
+++ b/engine/specials.asm
@@ -88,7 +88,7 @@ SpecialsPointers:: ; c029
    add_special Special_FindAtLeastThatHappy
    add_special Special_FindThatSpecies
    add_special Special_FindThatSpeciesYourTrainerID
-   add_special Functionc3ef ; unreferenced
+   add_special Special_CheckUnusedTwoDayTimer ; unreferenced
    add_special Special_DayCareMon1
    add_special Special_DayCareMon2
    add_special Special_SelectRandomBugContestContestants
@@ -169,7 +169,7 @@ SpecialsPointers:: ; c029
    add_special SpecialBuenasPassword
    add_special SpecialBuenaPrize
    add_special SpecialDratini
-   add_special Function11485
+   add_special Special_SampleKenjiBreakCountdown
    add_special SpecialBeastsCheck
    add_special SpecialMonCheck
    add_special Functionc225
@@ -482,9 +482,9 @@ ScriptReturnCarry: ; c3e2
    ret
 ; c3ef
 
-Functionc3ef: ; c3ef
-   callba Function1150c
-   ld a, [wdc3a]
+Special_CheckUnusedTwoDayTimer: ; c3ef
+   callba CheckUnusedTwoDayTimer
+   ld a, [wUnusedTwoDayTimer]
    ld [ScriptVar], a
    ret
 ; c3fc
@@ -523,7 +523,7 @@ SpecialCheckPokerus: ; c419
 ; c422
 
 Special_ResetLuckyNumberShowFlag: ; c422
-   callba Function1152b
+   callba RestartLuckyNumberCountdown
    ld hl, wLuckyNumberShowFlag
    res 0, [hl]
    callba LoadOrRegenerateLuckyIDNumber
diff --git a/engine/std_scripts.asm b/engine/std_scripts.asm
index 8a759a2..5c0df03 100644
--- a/engine/std_scripts.asm
+++ b/engine/std_scripts.asm
@@ -159,7 +159,7 @@ PokeCenterNurseScript:
 
 .pokerus_done
    setflag ENGINE_POKERUS
-   specialphonecall ELMCALL_POKERUS
+   specialphonecall SPECIALCALL_POKERUS
    end
 
 DifficultBookshelfScript:
@@ -297,7 +297,7 @@ RadioTowerRocketsScript:
    clearevent EVENT_RADIO_TOWER_ROCKET_TAKEOVER
    clearevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
    setevent EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_EAST
-   specialphonecall ELMCALL_WEIRDBROADCAST
+   specialphonecall SPECIALCALL_WEIRDBROADCAST
    domaptrigger MAHOGANY_TOWN, $1
    end
 
diff --git a/engine/time.asm b/engine/time.asm
index b9b8113..fce01ff 100755
--- a/engine/time.asm
+++ b/engine/time.asm
@@ -1,103 +1,103 @@
-Function113d6: ; 113d6
-   call Function114dd
+_InitializeStartDay: ; 113d6
+   call InitializeStartDay
    ret
 ; 113da
 
-Function113da: ; 113da
+ClearDailyTimers: ; 113da
    xor a
    ld [wLuckyNumberDayBuffer], a
-   ld [wdc3a], a
-   ld [wdc1c], a
+   ld [wUnusedTwoDayTimer], a
+   ld [wDailyResetTimer], a
    ret
 ; 113e5
 
-Function113e5:: ; 113e5
+InitCallReceiveDelay:: ; 113e5
    xor a
-   ld [wd464], a
+   ld [wTimeCyclesSinceLastCall], a
 
-Function113e9: ; 113e9
-   ld a, [wd464]
+NextCallReceiveDelay: ; 113e9
+   ld a, [wTimeCyclesSinceLastCall]
    cp 3
-   jr c, .asm_113f2
+   jr c, .okay
    ld a, 3
 
-.asm_113f2
+.okay
    ld e, a
    ld d, 0
-   ld hl, .data_113fd
+   ld hl, .ReceiveCallDelays
    add hl, de
    ld a, [hl]
-   jp Function1142e
+   jp RestartReceiveCallDelay
 ; 113fd
 
-.data_113fd
+.ReceiveCallDelays
    db 20, 10, 5, 3
 ; 11401
 
-Function11401: ; 11401
-   call Function1143c
+CheckReceiveCallTimer: ; 11401
+   call CheckReceiveCallDelay ; check timer
    ret nc
-   ld hl, wd464
+   ld hl, wTimeCyclesSinceLastCall
    ld a, [hl]
    cp 3
-   jr nc, .asm_1140e
+   jr nc, .ok
    inc [hl]
 
-.asm_1140e
-   call Function113e9
+.ok
+   call NextCallReceiveDelay ; restart timer
    scf
    ret
 ; 11413
 
-Function11413: ; 11413
+InitOneDayCountdown: ; 11413
    ld a, 1
 
-Function11415: ; 11415
+InitNDaysCountdown: ; 11415
    ld [hl], a
    push hl
    call UpdateTime
    pop hl
    inc hl
-   call Function11621
+   call CopyDayToHL
    ret
 ; 11420
 
 CheckDayDependentEventHL: ; 11420
    inc hl
    push hl
-   call Function115cf
-   call Function115c8
+   call CalcDaysSince
+   call GetDaysSince
    pop hl
    dec hl
-   call Function11586
+   call UpdateTimeRemaining
    ret
 ; 1142e
 
-Function1142e: ; 1142e
-   ld hl, wd465
+RestartReceiveCallDelay: ; 1142e
+   ld hl, wReceiveCallDelay_MinsRemaining
    ld [hl], a
    call UpdateTime
-   ld hl, wd466
-   call Function1162e
+   ld hl, wReceiveCallDelay_StartTime
+   call CopyDayHourMinToHL
    ret
 ; 1143c
 
-Function1143c: ; 1143c
-   ld hl, wd466
-   call Function115d6
-   call Function115ae
-   ld hl, wd465
-   call Function11586
+CheckReceiveCallDelay: ; 1143c
+   ld hl, wReceiveCallDelay_StartTime
+   call CalcMinsHoursDaysSince
+   call GetMinutesSinceIfLessThan60
+   ld hl, wReceiveCallDelay_MinsRemaining
+   call UpdateTimeRemaining
    ret
 ; 1144c
 
-Function1144c: ; 1144c
-   ld hl, wdc1c
-   jp Function11413
+RestartDailyResetTimer: ; 1144c
+   ld hl, wDailyResetTimer
+   jp InitOneDayCountdown
 ; 11452
 
-Function11452:: ; 11452
-   ld hl, wdc1c
+CheckDailyResetTimer:: ; 11452
+   ld hl, wDailyResetTimer
    call CheckDayDependentEventHL
    ret nc
    xor a
@@ -121,18 +121,19 @@ endr
    ld hl, wdc58
    ld a, [hl]
    and a
-   jr z, .asm_11480
+   jr z, .RestartKenjiBreakCountdown
    dec [hl]
-   jr nz, .asm_11483
+   jr nz, .DontRestartKenjiBreakCountdown
 
-.asm_11480
-   call Function11485
+.RestartKenjiBreakCountdown
+   call Special_SampleKenjiBreakCountdown
 
-.asm_11483
-   jr Function1144c
+.DontRestartKenjiBreakCountdown
+   jr RestartDailyResetTimer
 ; 11485
 
-Function11485: ; 11485
+Special_SampleKenjiBreakCountdown: ; 11485
+; Generate a random number between 3 and 5
    call Random
    and 3
    add 3
@@ -140,99 +141,101 @@ Function11485: ; 11485
    ret
 ; 11490
 
-Function11490: ; 11490
-   ld a, $14
-   ld [wd46c], a
-   ld a, $0
-   ld [wd46d], a
+StartBugContestTimer: ; 11490
+   ld a, 20
+   ld [wBugContestMinsRemaining], a
+   ld a, 0
+   ld [wBugContestSecsRemaining], a
    call UpdateTime
-   ld hl, wdc35
-   call Function11613
+   ld hl, wBugContestStartTime
+   call CopyDayHourMinSecToHL
    ret
 ; 114a4
 
 
-Function114a4:: ; 114a4 (4:54a4)
-   ld hl, wdc35
-   call Function115db
-   ld a, [wcfd7]
+CheckBugContestTimer:: ; 114a4 (4:54a4)
+   ld hl, wBugContestStartTime
+   call CalcSecsMinsHoursDaysSince
+   ld a, [wDaysSince]
    and a
-   jr nz, .asm_114d4
-   ld a, [wcfd6]
+   jr nz, .timed_out
+   ld a, [wHoursSince]
    and a
-   jr nz, .asm_114d4
-   ld a, [wcfd4]
+   jr nz, .timed_out
+   ld a, [wSecondsSince]
    ld b, a
-   ld a, [wd46d]
+   ld a, [wBugContestSecsRemaining]
    sub b
-   jr nc, .asm_114c2
-   add $3c
-.asm_114c2
-   ld [wd46d], a
-   ld a, [wcfd5]
+   jr nc, .okay
+   add 60
+
+.okay
+   ld [wBugContestSecsRemaining], a
+   ld a, [wMinutesSince]
    ld b, a
-   ld a, [wd46c]
+   ld a, [wBugContestMinsRemaining]
    sbc b
-   ld [wd46c], a
-   jr c, .asm_114d4
+   ld [wBugContestMinsRemaining], a
+   jr c, .timed_out
    and a
    ret
-.asm_114d4
+
+.timed_out
    xor a
-   ld [wd46c], a
-   ld [wd46d], a
+   ld [wBugContestMinsRemaining], a
+   ld [wBugContestSecsRemaining], a
    scf
    ret
 
 
-Function114dd: ; 114dd
+InitializeStartDay: ; 114dd
    call UpdateTime
-   ld hl, wdc23
-   call Function11621
+   ld hl, wStartDay
+   call CopyDayToHL
    ret
 ; 114e7
 
-Function114e7:: ; 114e7
-   ld hl, wdc23
-   call Function115cf
-   call Function115c8
+CheckPokerusTrick:: ; 114e7
+   ld hl, wStartDay
+   call CalcDaysSince
+   call GetDaysSince
    and a
-   jr z, .asm_114fa
+   jr z, .done
 
    ld b, a
    callba ApplyPokerusTick
 
-.asm_114fa
+.done
    xor a
    ret
 ; 114fc
 
-Function114fc: ; 114fc
-   ld a, $2
-   ld hl, wdc3a
+SetUnusedTwoDayTimer: ; 114fc
+   ld a, 2
+   ld hl, wUnusedTwoDayTimer
    ld [hl], a
    call UpdateTime
-   ld hl, wdc3b
-   call Function11621
+   ld hl, wUnusedTwoDayTimerStartDate
+   call CopyDayToHL
    ret
 ; 1150c
 
-Function1150c: ; Specific version of CheckDayDependentEventHL when hl = $dc3a
-   ld hl, wdc3b
-   call Function115cf
-   call Function115c8
-   ld hl, wdc3a
-   call Function11586
+CheckUnusedTwoDayTimer: ; 1150c
+   ld hl, wUnusedTwoDayTimerStartDate
+   call CalcDaysSince
+   call GetDaysSince
+   ld hl, wUnusedTwoDayTimer
+   call UpdateTimeRemaining
    ret
 ; 1151c
 
-Function1151c: ; 1151c
+Function1151c: ; unreferenced
    ld hl, DailyFlags
    set 2, [hl]
    ret
 ; 11522
 
-Function11522: ; 11522
+Function11522: ; unreferenced
    and a
    ld hl, DailyFlags
    bit 2, [hl]
@@ -241,10 +244,10 @@ Function11522: ; 11522
    ret
 ; 1152b
 
-Function1152b: ; 1152b
+RestartLuckyNumberCountdown: ; 1152b
    call .GetDaysUntilNextFriday
    ld hl, wLuckyNumberDayBuffer
-   jp Function11415
+   jp InitNDaysCountdown
 ; 11534
 
 .GetDaysUntilNextFriday: ; 11534
@@ -267,167 +270,170 @@ CheckLuckyNumberShowFlag: ; 11542
    jp CheckDayDependentEventHL
 ; 11548
 
-Function11548: ; 11548
-   ld a, BANK(s0_abfa)
+DoMysteryGiftIfDayHasPassed: ; 11548
+   ld a, BANK(sMysteryGiftTimer)
    call GetSRAMBank
-   ld hl, s0_abfa
+   ld hl, sMysteryGiftTimer
    ld a, [hli]
    ld [Buffer1], a
    ld a, [hl]
    ld [Buffer2], a
    call CloseSRAM
+
    ld hl, Buffer1
    call CheckDayDependentEventHL
-   jr nc, .asm_11572
+   jr nc, .not_timed_out
    ld hl, Buffer1
-   call Function11413
+   call InitOneDayCountdown
    call CloseSRAM
    callba Function1050c8
 
-.asm_11572
-   ld a, BANK(s0_abfa)
+.not_timed_out
+   ld a, BANK(sMysteryGiftTimer)
    call GetSRAMBank
    ld hl, Buffer1
    ld a, [hli]
-   ld [s0_abfa], a
+   ld [sMysteryGiftTimer], a
    ld a, [hl]
-   ld [s0_abfa + 1], a
+   ld [sMysteryGiftTimer + 1], a
    call CloseSRAM
    ret
 ; 11586
 
-Function11586: ; 11586
+UpdateTimeRemaining: ; 11586
+; If the amount of time elapsed exceeds the capacity of its
+; unit, skip this part.
    cp -1
-   jr z, .skip
+   jr z, .set_carry
    ld c, a
-   ld a, [hl]
+   ld a, [hl] ; time remaining
    sub c
    jr nc, .ok
    xor a
 
 .ok
    ld [hl], a
-   jr z, .skip
+   jr z, .set_carry
    xor a
    ret
 
-.skip
+.set_carry
    xor a
    ld [hl], a
    scf
    ret
 ; 11599
 
-Function11599: ; 11599
-   ld a, [wcfd7]
+GetSecondsSinceIfLessThan60: ; 11599
+   ld a, [wDaysSince]
    and a
-   jr nz, Function115cc
-   ld a, [wcfd6]
+   jr nz, GetTimeElapsed_ExceedsUnitLimit
+   ld a, [wHoursSince]
    and a
-   jr nz, Function115cc
-   ld a, [wcfd5]
-   jr nz, Function115cc
-   ld a, [wcfd4]
+   jr nz, GetTimeElapsed_ExceedsUnitLimit
+   ld a, [wMinutesSince]
+   jr nz, GetTimeElapsed_ExceedsUnitLimit
+   ld a, [wSecondsSince]
    ret
 ; 115ae
 
-Function115ae: ; 115ae
-   ld a, [wcfd7]
+GetMinutesSinceIfLessThan60: ; 115ae
+   ld a, [wDaysSince]
    and a
-   jr nz, Function115cc
-   ld a, [wcfd6]
+   jr nz, GetTimeElapsed_ExceedsUnitLimit
+   ld a, [wHoursSince]
    and a
-   jr nz, Function115cc
-   ld a, [wcfd5]
+   jr nz, GetTimeElapsed_ExceedsUnitLimit
+   ld a, [wMinutesSince]
    ret
 ; 115be
 
-Function115be: ; 115be
-   ld a, [wcfd7]
+GetHoursSinceIfLessThan24: ; 115be
+   ld a, [wDaysSince]
    and a
-   jr nz, Function115cc
-   ld a, [wcfd6]
+   jr nz, GetTimeElapsed_ExceedsUnitLimit
+   ld a, [wHoursSince]
    ret
 ; 115c8
 
-Function115c8: ; 115c8
-   ld a, [wcfd7]
+GetDaysSince: ; 115c8
+   ld a, [wDaysSince]
    ret
 ; 115cc
 
-Function115cc: ; 115cc
-   ld a, $ff
+GetTimeElapsed_ExceedsUnitLimit: ; 115cc
+   ld a, -1
    ret
 ; 115cf
 
-Function115cf: ; 115cf
+CalcDaysSince: ; 115cf
    xor a
-   jr Function11605
+   jr _CalcDaysSince
 ; 115d2
 
-Function115d2: ; 115d2
+CalcHoursDaysSince: ; 115d2
    inc hl
    xor a
-   jr Function115f8
+   jr _CalcHoursDaysSince
 ; 115d6
 
-Function115d6: ; 115d6
+CalcMinsHoursDaysSince: ; 115d6
 rept 2
    inc hl
 endr
    xor a
-   jr Function115eb
+   jr _CalcMinsHoursDaysSince
 ; 115db
 
-Function115db: ; 115db
+CalcSecsMinsHoursDaysSince: ; 115db
 rept 3
    inc hl
 endr
    ld a, [hSeconds]
    ld c, a
    sub [hl]
-   jr nc, .asm_115e6
+   jr nc, .skip
    add 60
-.asm_115e6
-   ld [hl], c
+.skip
+   ld [hl], c ; current seconds
    dec hl
-   ld [wcfd4], a
+   ld [wSecondsSince], a ; seconds since
 
-Function115eb: ; 115eb
+_CalcMinsHoursDaysSince: ; 115eb
    ld a, [hMinutes]
    ld c, a
    sbc [hl]
-   jr nc, .asm_115f3
+   jr nc, .skip
    add 60
-.asm_115f3
-   ld [hl], c
+.skip
+   ld [hl], c ; current minutes
    dec hl
-   ld [wcfd5], a
+   ld [wMinutesSince], a ; minutes since
 
-Function115f8: ; 115f8
+_CalcHoursDaysSince: ; 115f8
    ld a, [hHours]
    ld c, a
    sbc [hl]
-   jr nc, .asm_11600
+   jr nc, .skip
    add 24
-.asm_11600
-   ld [hl], c
+.skip
+   ld [hl], c ; current hours
    dec hl
-   ld [wcfd6], a
+   ld [wHoursSince], a ; hours since
 
-Function11605
+_CalcDaysSince:
    ld a, [CurDay]
    ld c, a
    sbc [hl]
    jr nc, .skip
    add 20 * 7
 .skip
-   ld [hl], c
-   ld [wcfd7], a
+   ld [hl], c ; current days
+   ld [wDaysSince], a ; days since
    ret
 ; 11613
 
-Function11613: ; 11613
+CopyDayHourMinSecToHL: ; 11613
    ld a, [CurDay]
    ld [hli], a
    ld a, [hHours]
@@ -439,13 +445,13 @@ Function11613: ; 11613
    ret
 ; 11621
 
-Function11621: ; 11621
+CopyDayToHL: ; 11621
    ld a, [CurDay]
    ld [hl], a
    ret
 ; 11626
 
-Function11626: ; 11626
+CopyDayHourToHL: ; 11626
    ld a, [CurDay]
    ld [hli], a
    ld a, [hHours]
@@ -453,7 +459,7 @@ Function11626: ; 11626
    ret
 ; 1162e
 
-Function1162e: ; 1162e
+CopyDayHourMinToHL: ; 1162e
    ld a, [CurDay]
    ld [hli], a
    ld a, [hHours]
diff --git a/event/buena.asm b/event/buena.asm
index c243137..038aea2 100644
--- a/event/buena.asm
+++ b/event/buena.asm
@@ -3,20 +3,20 @@ SpecialBuenasPassword: ; 8af6b
    ld [wcf76], a
    ld hl, MenuDataHeader_0x8afa9
    call CopyMenuDataHeader
-   ld a, [wdc4a]
+   ld a, [wBuenasPassword]
    ld c, a
    callba GetBuenasPassword
-   ld a, [wcf83]
+   ld a, [wMenuBorderLeftCoord]
    add c
    add $2
-   ld [wcf85], a
-   call Function1c00
+   ld [wMenuBorderRightCoord], a
+   call BackUpTiles
    call Function1e5d
    callba Function4ae5e
    ld b, $0
    ld a, [MenuSelection]
    ld c, a
-   ld a, [wdc4a]
+   ld a, [wBuenasPassword]
    and $3
    cp c
    jr nz, .asm_8afa4
@@ -52,7 +52,7 @@ Unknown_8afb8: ; 8afb8
 
 Function8afbd: ; 8afbd
    push de
-   ld a, [wdc4a]
+   ld a, [wBuenasPassword]
    and $f0
    ld c, a
    ld a, [MenuSelection]
@@ -94,14 +94,16 @@ SpecialBuenaPrize: ; 8afd4
    call Function105a
    call YesNoBox
    jr c, .asm_8afeb
+
    ld a, [wcf75]
    call Buena_getprize
    inc hl
    ld a, [hld]
    ld c, a
-   ld a, [wdc4b]
+   ld a, [wBlueCardBalance]
    cp c
-   jr c, .asm_8b047
+   jr c, .InsufficientBalance
+
    ld a, [hli]
    push hl
    ld [CurItem], a
@@ -113,13 +115,13 @@ SpecialBuenaPrize: ; 8afd4
    jr nc, .asm_8b04c
    ld a, [hl]
    ld c, a
-   ld a, [wdc4b]
+   ld a, [wBlueCardBalance]
    sub c
-   ld [wdc4b], a
+   ld [wBlueCardBalance], a
    call Function8b097
    jr .asm_8b051
 
-.asm_8b047
+.InsufficientBalance
    ld hl, UnknownText_0x8b081
    jr .asm_8b05a
 
@@ -189,7 +191,7 @@ Function8b090: ; 8b090
 ; 8b097
 
 Function8b097: ; 8b097
-   ld de, wdc4b
+   ld de, wBlueCardBalance
    call Function8b09e
    ret
 ; 8b09e
@@ -245,7 +247,7 @@ Function8b0e2: ; 8b0e2
    ld hl, .MenuDataHeader
    call CopyMenuDataHeader
    ld a, [MenuSelection]
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    xor a
    ld [wcf76], a
    ld [hBGMapMode], a
diff --git a/event/kurt.asm b/event/kurt.asm
index 505d0e7..9d53c46 100644
--- a/event/kurt.asm
+++ b/event/kurt.asm
@@ -27,7 +27,7 @@ Special_SelectApricornForKurt: ; 88018
    ld c, $1
    xor a
    ld [wd0e4], a
-   ld [wdca4], a
+   ld [wKurtApricornQuantity], a
 .loop
    push bc
    call Kurt_PrintTextWhichApricorn
@@ -48,7 +48,7 @@ Special_SelectApricornForKurt: ; 88018
    pop bc
    jr nc, .loop
    ld a, [wd10c]
-   ld [wdca4], a
+   ld [wKurtApricornQuantity], a
    call Kurt_GiveUpSelectedQuantityOfSelectedApricorn
 
 .done
@@ -62,7 +62,7 @@ Kurt_SelectApricorn: ; 88055
    ld hl, .MenuDataHeader
    call CopyMenuDataHeader
    ld a, [MenuSelection]
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    xor a
    ld [hBGMapMode], a
    call Function352f
diff --git a/gfx/credits/border.png b/gfx/credits/border.png
index d93bddc..c396d53 100644
Binary files a/gfx/credits/border.png and b/gfx/credits/border.png differ
diff --git a/gfx/credits/ditto.png b/gfx/credits/ditto.png
index 17a1191..6f5b8ed 100644
Binary files a/gfx/credits/ditto.png and b/gfx/credits/ditto.png differ
diff --git a/gfx/credits/igglybuff.png b/gfx/credits/igglybuff.png
index 3a6d001..03776ba 100644
Binary files a/gfx/credits/igglybuff.png and b/gfx/credits/igglybuff.png differ
diff --git a/gfx/credits/pichu.png b/gfx/credits/pichu.png
index f98642e..529973d 100644
Binary files a/gfx/credits/pichu.png and b/gfx/credits/pichu.png differ
diff --git a/gfx/credits/smoochum.png b/gfx/credits/smoochum.png
index 415bac2..ac6d85a 100644
Binary files a/gfx/credits/smoochum.png and b/gfx/credits/smoochum.png differ
diff --git a/gfx/credits/theend.png b/gfx/credits/theend.png
index 165f8ba..1f10e16 100644
Binary files a/gfx/credits/theend.png and b/gfx/credits/theend.png differ
diff --git a/gfx/misc/badges.png b/gfx/misc/badges.png
index 4e5820d..e3a8da4 100644
Binary files a/gfx/misc/badges.png and b/gfx/misc/badges.png differ
diff --git a/gfx/misc/font.png b/gfx/misc/font.png
index 7119c06..cce5fd3 100644
Binary files a/gfx/misc/font.png and b/gfx/misc/font.png differ
diff --git a/gfx/misc/font_inversed.png b/gfx/misc/font_inversed.png
index 519339f..d34c58d 100644
Binary files a/gfx/misc/font_inversed.png and b/gfx/misc/font_inversed.png differ
diff --git a/gfx/misc/footprints.png b/gfx/misc/footprints.png
index b1e3504..814eb35 100644
Binary files a/gfx/misc/footprints.png and b/gfx/misc/footprints.png differ
diff --git a/gfx/misc/pack.png b/gfx/misc/pack.png
index b85fc09..738a9dd 100644
Binary files a/gfx/misc/pack.png and b/gfx/misc/pack.png differ
diff --git a/gfx/misc/pack_f.png b/gfx/misc/pack_f.png
index fbe120b..35171fb 100644
Binary files a/gfx/misc/pack_f.png and b/gfx/misc/pack_f.png differ
diff --git a/home.asm b/home.asm
index 75ed659..eef7279 100644
--- a/home.asm
+++ b/home.asm
@@ -95,7 +95,7 @@ Function2ecb:: ; 2ecb
 ; 2ed3
 
 
-Function2ed3:: ; 0x2ed3
+DisableSpriteUpdates:: ; 0x2ed3
 ; disables overworld sprite updating?
    xor a
    ld [$ffde], a
@@ -107,7 +107,7 @@ Function2ed3:: ; 0x2ed3
    ret
 ; 0x2ee4
 
-Function2ee4:: ; 2ee4
+EnableSpriteUpdates:: ; 2ee4
    ld a, $1
    ld [wc2ce], a
    ld a, [VramState]
@@ -157,7 +157,7 @@ IsInJohto:: ; 2f17
 ; 2f3e
 
 
-Function2f3e:: ; 2f3e
+ret_2f3e:: ; 2f3e
    ret
 ; 2f3f
 
@@ -605,10 +605,12 @@ Function3246:: ; 3246
    push af
    xor a
    ld [hBGMapMode], a
+
    ld a, [$ffde]
    push af
    xor a
    ld [$ffde], a
+
 .wait
    ld a, [rLY]
    cp $7f
@@ -623,6 +625,7 @@ Function3246:: ; 3246
    ld [rVBK], a
    hlcoord 0, 0
    call Function327b
+
 .wait2
    ld a, [rLY]
    cp $7f
@@ -637,30 +640,33 @@ Function3246:: ; 3246
 ; 327b
 
 Function327b:: ; 327b
+; Copy all tiles to VBGMap
    ld [hSPBuffer], sp
    ld sp, hl
    ld a, [hBGMapAddress + 1]
    ld h, a
    ld l, 0
-   ld a, 18
+   ld a, SCREEN_HEIGHT
    ld [$ffd3], a
    ld b, 1 << 1 ; not in v/hblank
    ld c, rSTAT % $100
 
 .loop
-rept 20 / 2
+rept SCREEN_WIDTH / 2
    pop de
+; if in v/hblank, wait until not in v/hblank
 .loop\@
    ld a, [$ff00+c]
    and b
    jr nz, .loop\@
+; load BGMap0
    ld [hl], e
    inc l
    ld [hl], d
    inc l
 endr
 
-   ld de, 32 - 20
+   ld de, $20 - SCREEN_WIDTH
    add hl, de
    ld a, [$ffd3]
    dec a
@@ -1163,16 +1169,16 @@ Function3524:: ; 3524
 ; 352f
 
 Function352f:: ; 352f
-   ld a, [wcf82]
+   ld a, [wMenuBorderTopCoord]
    dec a
    ld b, a
-   ld a, [wcf84]
+   ld a, [wMenuBorderBottomCoord]
    sub b
    ld d, a
-   ld a, [wcf83]
+   ld a, [wMenuBorderLeftCoord]
    dec a
    ld c, a
-   ld a, [wcf85]
+   ld a, [wMenuBorderRightCoord]
    sub c
    ld e, a
    push de
@@ -1599,7 +1605,7 @@ Function3718:: ; 3718
    jr .ok
 
 .canlose
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    ld hl, WalkingTile
    and $f
    jr z, .ok
@@ -2221,7 +2227,7 @@ Function3f6e:: ; 3f6e
 
 Function3f7c:: ; 3f7c
    call GetMemTileCoord
-   call Function1c53
+   call GetMenuBoxDims
    dec b
    dec c
    call Function3eea
diff --git a/home/copy.asm b/home/copy.asm
index ee66242..d17e459 100644
--- a/home/copy.asm
+++ b/home/copy.asm
@@ -224,19 +224,19 @@ Request2bpp:: ; eba
 
    ld a, [$ffd3]
    push af
-
    ld a, $8
    ld [$ffd3], a
+
    ld a, [wLinkMode]
-   cp $4
-   jr nz, .okay
-   ld a, [$ffe9]
+   cp LINK_MOBILE
+   jr nz, .NotMobile
+   ld a, [hMobile]
    and a
-   jr nz, .okay
+   jr nz, .NotMobile
    ld a, $6
    ld [$ffd3], a
 
-.okay
+.NotMobile
    ld a, e
    ld [Requested2bppSource], a
    ld a, d
@@ -245,7 +245,6 @@ Request2bpp:: ; eba
    ld [Requested2bppDest], a
    ld a, h
    ld [Requested2bppDest + 1], a
-
 .loop
    ld a, c
    ld hl, $ffd3
@@ -272,11 +271,13 @@ Request2bpp:: ; eba
 .iterate
    ld a, [$ffd3]
    ld [Requested2bpp], a
+
 .wait2
    call DelayFrame
    ld a, [Requested2bpp]
    and a
    jr nz, .wait2
+
    ld a, c
    ld hl, $ffd3
    sub [hl]
@@ -302,9 +303,9 @@ Request1bpp:: ; f1e
    ld a, $8
    ld [$ffd3], a
    ld a, [wLinkMode]
-   cp $4
+   cp LINK_MOBILE
    jr nz, .NotMobile
-   ld a, [$ffe9]
+   ld a, [hMobile]
    and a
    jr nz, .NotMobile
    ld a, $6
diff --git a/home/map.asm b/home/map.asm
index 1deb6c3..b59ca30 100644
--- a/home/map.asm
+++ b/home/map.asm
@@ -508,17 +508,18 @@ GetMapConnection:: ; 23a3
 
 
 Function23ac:: ; 23ac
-   ld a, [hli]
+   ld a, [hli] ; trigger count
    ld c, a
-   ld [wdc07], a
+   ld [wdc07], a ; current map trigger count
    ld a, l
-   ld [wdc07 + 1], a
+   ld [wdc08], a ; map trigger pointer
    ld a, h
    ld [wdc09], a
    ld a, c
    and a
    ret z
-   ld bc, $0004
+
+   ld bc, 4 ; size of a map trigger header entry
    call AddNTimes
    ret
 ; 23c3
@@ -534,7 +535,8 @@ Function23c3:: ; 23c3
    ld a, c
    and a
    ret z
-   ld bc, $0003
+
+   ld bc, 3
    call AddNTimes
    ret
 ; 23da
@@ -1958,7 +1960,7 @@ FadeToMenu:: ; 2b29
    call Function1d6e
    callba FadeBlackBGMap
    call ClearSprites
-   call Function2ed3
+   call DisableSpriteUpdates
    ret
 ; 2b3c
 
@@ -1986,7 +1988,7 @@ Function2b5c:: ; 2b5c
    callba Function49409
    call Function3200
    callba FadeInBGMap
-   call Function2ee4
+   call EnableSpriteUpdates
    ret
 ; 2b74
 
diff --git a/home/menu.asm b/home/menu.asm
index 7c46b97..1de260b 100644
--- a/home/menu.asm
+++ b/home/menu.asm
@@ -1,14 +1,14 @@
 ; Functions used in displaying and handling menus.
 
 
-LoadMenuDataHeader:: ; 0x1d35
+LoadMenuDataHeader::
    call CopyMenuDataHeader
-   call Function1c00
+   call BackUpTiles
    ret
 
-CopyMenuDataHeader:: ; 0x1d3c
+CopyMenuDataHeader::
    ld de, wcf81
-   ld bc, $0010
+   ld bc, 16
    call CopyBytes
    ld a, [hROMBank]
    ld [wcf8a], a
@@ -16,7 +16,7 @@ CopyMenuDataHeader:: ; 0x1d3c
 ; 0x1d4b
 
 Function1d4b:: ; 1d4b
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    ret
 ; 1d4f
 
@@ -71,7 +71,7 @@ Function1d7d:: ; 1d7d
    ret
 ; 1d81
 
-InterpretMenu2:: ; 0x1d81
+InterpretMenu2::
    xor a
    ld [hBGMapMode], a
    call Function1cbb
@@ -81,12 +81,12 @@ InterpretMenu2:: ; 0x1d81
    call Function1c66
    ld a, [wcf91]
    bit 7, a
-   jr z, .cancel ; 0x1d98 $d
+   jr z, .cancel
    call Function1c10
    call Function1bc9
    call Function1ff8
    bit 1, a
-   jr z, .okay ; 0x1da5 $2
+   jr z, .okay
 .cancel
    scf
    ret
@@ -103,7 +103,7 @@ GetMenu2:: ; 1dab
    ret
 ; 1db8
 
-Function1db8:: ; 0x1db8
+Function1db8::
    push hl
    push bc
    push af
@@ -151,14 +151,14 @@ _YesNoBox:: ; 1dd9
 
 .okay
    ld a, b
-   ld [wcf83], a
+   ld [wMenuBorderLeftCoord], a
    add $5
-   ld [wcf85], a
+   ld [wMenuBorderRightCoord], a
    ld a, c
-   ld [wcf82], a
+   ld [wMenuBorderTopCoord], a
    add $4
-   ld [wcf84], a
-   call Function1c00
+   ld [wMenuBorderBottomCoord], a
+   call BackUpTiles
 
 InterpretTwoOptionMenu:: ; 1dfe
    call InterpretMenu2
@@ -198,7 +198,7 @@ YesNoMenuData2:: ; 1e25
 
 Function1e2e:: ; 1e2e
    call Function1e35
-   call Function1c00
+   call BackUpTiles
    ret
 ; 1e35
 
@@ -206,24 +206,24 @@ Function1e35:: ; 1e35
    push de
    call CopyMenuDataHeader
    pop de
-   ld a, [wcf83]
+   ld a, [wMenuBorderLeftCoord]
    ld h, a
-   ld a, [wcf85]
+   ld a, [wMenuBorderRightCoord]
    sub h
    ld h, a
    ld a, d
-   ld [wcf83], a
+   ld [wMenuBorderLeftCoord], a
    add h
-   ld [wcf85], a
-   ld a, [wcf82]
+   ld [wMenuBorderRightCoord], a
+   ld a, [wMenuBorderTopCoord]
    ld l, a
-   ld a, [wcf84]
+   ld a, [wMenuBorderBottomCoord]
    sub l
    ld l, a
    ld a, e
-   ld [wcf82], a
+   ld [wMenuBorderTopCoord], a
    add l
-   ld [wcf84], a
+   ld [wMenuBorderBottomCoord], a
    ret
 ; 1e5d
 
@@ -245,14 +245,14 @@ SetUpMenu:: ; 1e70
    set 7, [hl]
    ret
 
-MenuFunc_1e7f:: ; 0x1e7f
+MenuFunc_1e7f::
    call Function1c66
    call Function1ebd
    call Function1ea6
    call Function1cbb
    ret
 
-MenuWriteText:: ; 0x1e8c
+MenuWriteText::
    xor a
    ld [hBGMapMode], a
    call Function1ebd ; sort out the text
@@ -269,18 +269,18 @@ MenuWriteText:: ; 0x1e8c
 ; 0x1ea6
 
 Function1ea6:: ; 1ea6
-   ld a, [wcf83]
+   ld a, [wMenuBorderLeftCoord]
    ld c, a
-   ld a, [wcf85]
+   ld a, [wMenuBorderRightCoord]
    sub c
    ld c, a
    ld a, [wcf92]
    add a
    inc a
    ld b, a
-   ld a, [wcf82]
+   ld a, [wMenuBorderTopCoord]
    add b
-   ld [wcf84], a
+   ld [wMenuBorderBottomCoord], a
    ret
 ; 1ebd
 
@@ -410,7 +410,7 @@ Function1f2a:: ; 1f2a
    ld a, [hl]
    ld [MenuSelection], a
    ld a, [wcfa9]
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    and a
    ret
 
@@ -571,7 +571,7 @@ InterpretMenu:: ; 202a
    ld a, [hROMBank]
    ld [wcf94], a
    callba Function2400e
-   ld a, [wcf88]
+   ld a, [wPocketPointerLocationBuffer]
    ret
 ; 2039
 
@@ -579,7 +579,7 @@ Function2039:: ; 2039
    ld a, [hROMBank]
    ld [wcf94], a
    callba Function24022
-   ld a, [wcf88]
+   ld a, [wPocketPointerLocationBuffer]
    ret
 ; 2048
 
@@ -587,7 +587,7 @@ Function2048:: ; 2048
    ld a, [hROMBank]
    ld [wcf94], a
    callba Function2403c
-   ld a, [wcf88]
+   ld a, [wPocketPointerLocationBuffer]
    ret
 ; 2057
 
diff --git a/home/mobile.asm b/home/mobile.asm
index c6c225d..dbf982d 100644
--- a/home/mobile.asm
+++ b/home/mobile.asm
@@ -74,9 +74,9 @@ Timer:: ; 3e93
    push de
    push hl
 
-   ld a, [$ffe9]
+   ld a, [hMobile]
    and a
-   jr z, .asm_3ed2
+   jr z, .pop_ret
 
    xor a
    ld [rTAC], a
@@ -88,15 +88,15 @@ Timer:: ; 3e93
 
    ld a, [$c86a]
    or a
-   jr z, .asm_3ed2
+   jr z, .pop_ret
 
    ld a, [$c822]
    bit 1, a
-   jr nz, .asm_3eca
+   jr nz, .skip_Function1118de
 
    ld a, [rSC]
    and 1 << rSC_ON
-   jr nz, .asm_3eca
+   jr nz, .skip_Function1118de
 
    ld a, [hROMBank]
    push af
@@ -111,14 +111,14 @@ Timer:: ; 3e93
    ld [$c981], a
    rst Bankswitch
 
-.asm_3eca
+.skip_Function1118de
    ld a, [rTMA]
    ld [rTIMA], a
 
    ld a, 1 << rTAC_ON | rTAC_65536_HZ
    ld [rTAC], a
 
-.asm_3ed2
+.pop_ret
    pop hl
    pop de
    pop bc
diff --git a/home/movement.asm b/home/movement.asm
index d85be3b..82486b5 100644
--- a/home/movement.asm
+++ b/home/movement.asm
@@ -190,33 +190,3 @@ Function1bf7:: ; 1bf7
    ret
 ; 1c00
 
-Function1c00:: ; 1c00
-   callab Function24374
-   ret
-; 1c07
-
-ExitMenu:: ; 0x1c07
-   push af
-   callab Function243e8
-   pop af
-   ret
-
-Function1c10:: ; 0x1c10
-   callab Function2446d
-   ret
-
-WriteBackup:: ; 0x1c17
-   push af
-   call ExitMenu
-   call Function321c
-   call UpdateSprites
-   pop af
-   ret
-
-Function1c23:: ; 0x1c23
-   call GetMemTileCoord
-   call Function1c30
-   call Function1d19
-   call Function1c30
-   ret
-; 0x1c30
diff --git a/home/tilemap.asm b/home/tilemap.asm
index 4ce4dce..d6a8f31 100644
--- a/home/tilemap.asm
+++ b/home/tilemap.asm
@@ -1,44 +1,79 @@
-Function1c30:: ; 0x1c30
-   call Function1c53
+BackUpTiles:: ; 1c00
+   callab _BackUpTiles
+   ret
+; 1c07
+
+ExitMenu:: ; 0x1c07
+   push af
+   callab Function243e8
+   pop af
+   ret
+
+Function1c10:: ; 0x1c10
+   callab Function2446d
+   ret
+
+WriteBackup:: ; 0x1c17
+   push af
+   call ExitMenu
+   call Function321c
+   call UpdateSprites
+   pop af
+   ret
+
+RestoreTileBackup:: ; 0x1c23
+   call GetMemTileCoord
+   call .copy
+   call GetMemAttrCoord
+   call .copy
+   ret
+; 0x1c30
+
+.copy: ; 0x1c30
+   call GetMenuBoxDims
    inc b
    inc c
-.asm_1c35
+
+.row
    push bc
    push hl
-.asm_1c37
+
+.col
    ld a, [de]
    ld [hli], a
    dec de
    dec c
-   jr nz, .asm_1c37 ; 0x1c3b $fa
+   jr nz, .col ; 0x1c3b $fa
+
    pop hl
-   ld bc, $0014
+   ld bc, SCREEN_WIDTH
    add hl, bc
    pop bc
    dec b
-   jr nz, .asm_1c35 ; 0x1c44 $ef
+   jr nz, .row ; 0x1c44 $ef
+
    ret
 
 Function1c47:: ; 0x1c47
    ld b, $10
    ld de, wcf81
-.asm_1c4c
+.loop
    ld a, [hld]
    ld [de], a
    inc de
    dec b
-   jr nz, .asm_1c4c ; 0x1c50 $fa
+   jr nz, .loop ; 0x1c50 $fa
    ret
 
-Function1c53:: ; 0x1c53
-   ld a, [wcf82]
+GetMenuBoxDims:: ; 0x1c53
+   ld a, [wMenuBorderTopCoord] ; top
    ld b, a
-   ld a, [wcf84]
+   ld a, [wMenuBorderBottomCoord] ; bottom
    sub b
    ld b, a
-   ld a, [wcf83]
+   ld a, [wMenuBorderLeftCoord] ; left
    ld c, a
-   ld a, [wcf85]
+   ld a, [wMenuBorderRightCoord] ; right
    sub c
    ld c, a
    ret
@@ -110,17 +145,17 @@ Function1c89:: ; 1c89
 
 Function1cbb:: ; 1cbb
    call GetMemTileCoord
-   call Function1c53
+   call GetMenuBoxDims
    dec b
    dec c
    jp TextBox
 ; 1cc6
 
 Function1cc6:: ; 1cc6
-   ld a, [wcf82]
+   ld a, [wMenuBorderTopCoord]
    ld b, a
    inc b
-   ld a, [wcf83]
+   ld a, [wMenuBorderLeftCoord]
    ld c, a
    inc c
    ld a, [wcf91]
@@ -142,7 +177,7 @@ Function1ce1:: ; 1ce1
    call GetMemTileCoord
    ld bc, $0015
    add hl, bc
-   call Function1c53
+   call GetMenuBoxDims
    dec b
    dec c
    call ClearBox
@@ -151,7 +186,7 @@ Function1ce1:: ; 1ce1
 
 Function1cf1:: ; 1cf1
    call GetMemTileCoord
-   call Function1c53
+   call GetMenuBoxDims
    inc c
    inc b
    call ClearBox
@@ -160,9 +195,9 @@ Function1cf1:: ; 1cf1
 
 
 GetMemTileCoord:: ; 1cfd
-   ld a, [wcf83]
+   ld a, [wMenuBorderLeftCoord]
    ld c, a
-   ld a, [wcf82]
+   ld a, [wMenuBorderTopCoord]
    ld b, a
 ; 1d05
 
@@ -191,10 +226,10 @@ endr
    ret
 ; 1d19
 
-Function1d19:: ; 1d19
-   ld a, [wcf83]
+GetMemAttrCoord:: ; 1d19
+   ld a, [wMenuBorderLeftCoord]
    ld c, a
-   ld a, [wcf82]
+   ld a, [wMenuBorderTopCoord]
    ld b, a
 
 GetAttrCoord:: ; 1d21
diff --git a/home/time.asm b/home/time.asm
index 609e466..173ea57 100644
--- a/home/time.asm
+++ b/home/time.asm
@@ -3,7 +3,7 @@
 
 AskTimer:: ; 591
    push af
-   ld a, [$ffe9]
+   ld a, [hMobile]
    and a
    jr z, .asm_59a
    call Timer
diff --git a/home/window.asm b/home/window.asm
index 1b33c99..1198cfb 100644
--- a/home/window.asm
+++ b/home/window.asm
@@ -16,12 +16,14 @@ ResetWindow:: ; 2dba
 ; 2dcf
 
 
-Function2dcf:: ; 2dcf
+LoadMoveSprites:: ; 2dcf
    ld a, [hOAMUpdate]
    push af
    ld a, $1
    ld [hOAMUpdate], a
+
    call Function2de2
+
    pop af
    ld [hOAMUpdate], a
    ld hl, VramState
diff --git a/hram.asm b/hram.asm
index 0cbb796..52ff0bf 100644
--- a/hram.asm
+++ b/hram.asm
@@ -20,6 +20,7 @@ hVBlankCounter     EQU $ff9b
 hROMBank           EQU $ff9d
 hVBlank            EQU $ff9e
 hMapEntryMethod    EQU $ff9f
+hMenuReturn        EQU $ffa0
 
 hJoypadReleased    EQU $ffa2
 hJoypadPressed     EQU $ffa3
@@ -91,3 +92,4 @@ hCGBPalUpdate      EQU $ffe5
 hCGB               EQU $ffe6
 hSGB               EQU $ffe7
 hDMATransfer       EQU $ffe8
+hMobile            EQU $ffe9
diff --git a/items/item_attributes.asm b/items/item_attributes.asm
index c66432b..5257378 100644
--- a/items/item_attributes.asm
+++ b/items/item_attributes.asm
@@ -1,777 +1,777 @@
-item_attribute: macro
-   ; price, effect, param, permissions, pocket, battle permissions
+item_attribute: MACRO
    dw \1
-   db \2, \3, \4, \5, \6
-   endm
+   db \2, \3, \4, \5
+   dn \6, \7
+ENDM
 
 Item1Attributes:
 
 ; MASTER BALL
-   item_attribute 0, NONE, 0, CANT_SELECT, BALL, $06
+   item_attribute     0, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 Item2Attributes:
 
 ; ULTRA BALL
-   item_attribute 1200, NONE, 0, CANT_SELECT, BALL, $06
+   item_attribute  1200, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; BRIGHTPOWDER
-   item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, $00
+   item_attribute    10, HELD_BRIGHTPOWDER,   20,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; GREAT BALL
-   item_attribute 600, NONE, 0, CANT_SELECT, BALL, $06
+   item_attribute   600, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; # BALL
-   item_attribute 200, NONE, 0, CANT_SELECT, BALL, $06
+   item_attribute   200, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; BICYCLE
-   item_attribute 0, NONE, 0, CANT_TOSS, KEY_ITEM, $60
+   item_attribute     0, NONE,                 0,               CANT_TOSS, KEY_ITEM, ITEMMENU_FIELD,   ITEMCONTEXT_NOTINBATTLE
 
 ; MOON STONE
-   item_attribute 0, NONE, 0, CANT_SELECT, ITEM, $50
+   item_attribute     0, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; ANTIDOTE
-   item_attribute 100, NONE, 0, CANT_SELECT, ITEM, $55
+   item_attribute   100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; BURN HEAL
-   item_attribute 250, NONE, 0, CANT_SELECT, ITEM, $55
+   item_attribute   250, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; ICE HEAL
-   item_attribute 250, NONE, 0, CANT_SELECT, ITEM, $55
+   item_attribute   250, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; AWAKENING
-   item_attribute 250, NONE, 0, CANT_SELECT, ITEM, $55
+   item_attribute   250, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; PARLYZ HEAL
-   item_attribute 200, NONE, 0, CANT_SELECT, ITEM, $55
+   item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; FULL RESTORE
-   item_attribute 3000, NONE, -1, CANT_SELECT, ITEM, $55
+   item_attribute  3000, NONE,                -1,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; MAX POTION
-   item_attribute 2500, NONE, -1, CANT_SELECT, ITEM, $55
+   item_attribute  2500, NONE,                -1,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; HYPER POTION
-   item_attribute 1200, NONE, 200, CANT_SELECT, ITEM, $55
+   item_attribute  1200, NONE,               200,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; SUPER POTION
-   item_attribute 700, NONE, 50, CANT_SELECT, ITEM, $55
+   item_attribute   700, NONE,                50,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; POTION
-   item_attribute 300, NONE, 20, CANT_SELECT, ITEM, $55
+   item_attribute   300, NONE,                20,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; ESCAPE ROPE
-   item_attribute 550, NONE, 0, CANT_SELECT, ITEM, $60
+   item_attribute   550, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_FIELD,   ITEMCONTEXT_NOTINBATTLE
 
 ; REPEL
-   item_attribute 350, NONE, 0, CANT_SELECT, ITEM, $40
+   item_attribute   350, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CURRENT, ITEMCONTEXT_NOTINBATTLE
 
 ; MAX ELIXER
-   item_attribute 4500, NONE, -1, CANT_SELECT, ITEM, $55
+   item_attribute  4500, NONE,                -1,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; FIRE STONE
-   item_attribute 2100, NONE, 0, CANT_SELECT, ITEM, $50
+   item_attribute  2100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; THUNDERSTONE
-   item_attribute 2100, NONE, 0, CANT_SELECT, ITEM, $50
+   item_attribute  2100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; WATER STONE
-   item_attribute 2100, NONE, 0, CANT_SELECT, ITEM, $50
+   item_attribute  2100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; HP UP
-   item_attribute 9800, NONE, 0, CANT_SELECT, ITEM, $50
+   item_attribute  9800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; PROTEIN
-   item_attribute 9800, NONE, 0, CANT_SELECT, ITEM, $50
+   item_attribute  9800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; IRON
-   item_attribute 9800, NONE, 0, CANT_SELECT, ITEM, $50
+   item_attribute  9800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; CARBOS
-   item_attribute 9800, NONE, 0, CANT_SELECT, ITEM, $50
+   item_attribute  9800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; LUCKY PUNCH
-   item_attribute 10, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute    10, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; CALCIUM
-   item_attribute 9800, NONE, 0, CANT_SELECT, ITEM, $50
+   item_attribute  9800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; RARE CANDY
-   item_attribute 4800, NONE, 0, CANT_SELECT, ITEM, $50
+   item_attribute  4800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; X ACCURACY
-   item_attribute 950, NONE, 0, CANT_SELECT, ITEM, $06
+   item_attribute   950, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; LEAF STONE
-   item_attribute 2100, NONE, 0, CANT_SELECT, ITEM, $50
+   item_attribute  2100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; METAL POWDER
-   item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, $00
+   item_attribute    10, HELD_METAL_POWDER,   10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; NUGGET
-   item_attribute 10000, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute 10000, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; # DOLL
-   item_attribute 1000, NONE, 0, CANT_SELECT, ITEM, $06
+   item_attribute  1000, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; FULL HEAL
-   item_attribute 600, NONE, 0, CANT_SELECT, ITEM, $55
+   item_attribute   600, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; REVIVE
-   item_attribute 1500, NONE, 0, CANT_SELECT, ITEM, $55
+   item_attribute  1500, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; MAX REVIVE
-   item_attribute 4000, NONE, 0, CANT_SELECT, ITEM, $55
+   item_attribute  4000, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; GUARD SPEC.
-   item_attribute 700, NONE, 0, CANT_SELECT, ITEM, $06
+   item_attribute   700, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; SUPER REPEL
-   item_attribute 500, NONE, 0, CANT_SELECT, ITEM, $40
+   item_attribute   500, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CURRENT, ITEMCONTEXT_NOTINBATTLE
 
 ; MAX REPEL
-   item_attribute 700, NONE, 0, CANT_SELECT, ITEM, $40
+   item_attribute   700, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CURRENT, ITEMCONTEXT_NOTINBATTLE
 
 ; DIRE HIT
-   item_attribute 650, NONE, 0, CANT_SELECT, ITEM, $06
+   item_attribute   650, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; FRESH WATER
-   item_attribute 200, NONE, 50, CANT_SELECT, ITEM, $55
+   item_attribute   200, NONE,                50,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; SODA POP
-   item_attribute 300, NONE, 60, CANT_SELECT, ITEM, $55
+   item_attribute   300, NONE,                60,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; LEMONADE
-   item_attribute 350, NONE, 80, CANT_SELECT, ITEM, $55
+   item_attribute   350, NONE,                80,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; X ATTACK
-   item_attribute 500, NONE, 0, CANT_SELECT, ITEM, $06
+   item_attribute   500, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; X DEFEND
-   item_attribute 550, NONE, 0, CANT_SELECT, ITEM, $06
+   item_attribute   550, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; X SPEED
-   item_attribute 350, NONE, 0, CANT_SELECT, ITEM, $06
+   item_attribute   350, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; X SPECIAL
-   item_attribute 350, NONE, 0, CANT_SELECT, ITEM, $06
+   item_attribute   350, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; COIN CASE
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $40
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMCONTEXT_NOTINBATTLE
 
 ; ITEMFINDER
-   item_attribute 0, NONE, 0, CANT_TOSS, KEY_ITEM, $60
+   item_attribute     0, NONE,                 0,               CANT_TOSS, KEY_ITEM, ITEMMENU_FIELD,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; EXP.SHARE
-   item_attribute 3000, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; OLD ROD
-   item_attribute 0, NONE, 0, CANT_TOSS, KEY_ITEM, $60
+   item_attribute     0, NONE,                 0,               CANT_TOSS, KEY_ITEM, ITEMMENU_FIELD,   ITEMCONTEXT_NOTINBATTLE
 
 ; GOOD ROD
-   item_attribute 0, NONE, 0, CANT_TOSS, KEY_ITEM, $60
+   item_attribute     0, NONE,                 0,               CANT_TOSS, KEY_ITEM, ITEMMENU_FIELD,   ITEMCONTEXT_NOTINBATTLE
 
 ; SILVER LEAF
-   item_attribute 1000, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute  1000, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; SUPER ROD
-   item_attribute 0, NONE, 0, CANT_TOSS, KEY_ITEM, $60
+   item_attribute     0, NONE,                 0,               CANT_TOSS, KEY_ITEM, ITEMMENU_FIELD,   ITEMCONTEXT_NOTINBATTLE
 
 ; PP UP
-   item_attribute 9800, NONE, 0, CANT_SELECT, ITEM, $50
+   item_attribute  9800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; ETHER
-   item_attribute 1200, NONE, 10, CANT_SELECT, ITEM, $55
+   item_attribute  1200, NONE,                10,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; MAX ETHER
-   item_attribute 2000, NONE, -1, CANT_SELECT, ITEM, $55
+   item_attribute  2000, NONE,                -1,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; ELIXER
-   item_attribute 3000, NONE, 10, CANT_SELECT, ITEM, $55
+   item_attribute  3000, NONE,                10,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; RED SCALE
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $00
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; SECRETPOTION
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $00
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; S.S.TICKET
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $00
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; MYSTERY EGG
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $00
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; CLEAR BELL
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $00
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; SILVER WING
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $00
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; MOOMOO MILK
-   item_attribute 500, NONE, 100, CANT_SELECT, ITEM, $55
+   item_attribute   500, NONE,               100,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; QUICK CLAW
-   item_attribute 100, HELD_QUICK_CLAW, 60, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_QUICK_CLAW,     60,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; PSNCUREBERRY
-   item_attribute 10, HELD_HEAL_POISON, 0, CANT_SELECT, ITEM, $55
+   item_attribute    10, HELD_HEAL_POISON,     0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; GOLD LEAF
-   item_attribute 1000, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute  1000, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; SOFT SAND
-   item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_GROUND_BOOST,   10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; SHARP BEAK
-   item_attribute 100, HELD_FLYING_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_FLYING_BOOST,   10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; PRZCUREBERRY
-   item_attribute 10, HELD_HEAL_PARALYZE, 0, CANT_SELECT, ITEM, $55
+   item_attribute    10, HELD_HEAL_PARALYZE,   0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; BURNT BERRY
-   item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, $55
+   item_attribute    10, HELD_HEAL_FREEZE,     0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; ICE BERRY
-   item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, $55
+   item_attribute    10, HELD_HEAL_BURN,       0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; POISON BARB
-   item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_POISON_BOOST,   10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; KING'S ROCK
-   item_attribute 100, HELD_TRADE_EVOLVE, 30, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_TRADE_EVOLVE,   30,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; BITTER BERRY
-   item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, $05
+   item_attribute    10, HELD_HEAL_CONFUSION,  0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; MINT BERRY
-   item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, $55
+   item_attribute    10, HELD_HEAL_SLEEP,      0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; RED APRICORN
-   item_attribute 200, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TINYMUSHROOM
-   item_attribute 500, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute   500, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; BIG MUSHROOM
-   item_attribute 5000, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute  5000, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; SILVERPOWDER
-   item_attribute 100, HELD_BUG_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_BUG_BOOST,      10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; BLU APRICORN
-   item_attribute 200, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; AMULET COIN
-   item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_AMULET_COIN,    10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; YLW APRICORN
-   item_attribute 200, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; GRN APRICORN
-   item_attribute 200, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; CLEANSE TAG
-   item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, $00
+   item_attribute   200, HELD_CLEANSE_TAG,     0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; MYSTIC WATER
-   item_attribute 100, HELD_WATER_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_WATER_BOOST,    10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TWISTEDSPOON
-   item_attribute 100, HELD_PSYCHIC_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_PSYCHIC_BOOST,  10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; WHT APRICORN
-   item_attribute 200, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; BLACKBELT
-   item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_FIGHTING_BOOST, 10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; BLK APRICORN
-   item_attribute 200, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; PNK APRICORN
-   item_attribute 200, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; BLACKGLASSES
-   item_attribute 100, HELD_DARK_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_DARK_BOOST,     10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; SLOWPOKETAIL
-   item_attribute 9800, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute  9800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; PINK BOW
-   item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_NORMAL_BOOST,   10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; STICK
-   item_attribute 200, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; SMOKE BALL
-   item_attribute 200, HELD_ESCAPE, 0, CANT_SELECT, ITEM, $00
+   item_attribute   200, HELD_ESCAPE,          0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; NEVERMELTICE
-   item_attribute 100, HELD_ICE_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_ICE_BOOST,      10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; MAGNET
-   item_attribute 100, HELD_ELECTRIC_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_ELECTRIC_BOOST, 10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; MIRACLEBERRY
-   item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, $55
+   item_attribute    10, HELD_HEAL_STATUS,     0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; PEARL
-   item_attribute 1400, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute  1400, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; BIG PEARL
-   item_attribute 7500, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute  7500, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; EVERSTONE
-   item_attribute 200, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; SPELL TAG
-   item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_GHOST_BOOST,    10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; RAGECANDYBAR
-   item_attribute 300, NONE, 20, CANT_SELECT, ITEM, $55
+   item_attribute   300, NONE,                20,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; GS BALL
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $00
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; BLUE CARD
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $40
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMCONTEXT_NOTINBATTLE
 
 ; MIRACLE SEED
-   item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_GRASS_BOOST,    10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; THICK CLUB
-   item_attribute 500, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute   500, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; FOCUS BAND
-   item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, $00
+   item_attribute   200, HELD_FOCUS_BAND,     30,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; ENERGYPOWDER
-   item_attribute 500, NONE, 0, CANT_SELECT, ITEM, $55
+   item_attribute   500, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; ENERGY ROOT
-   item_attribute 800, NONE, 0, CANT_SELECT, ITEM, $55
+   item_attribute   800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; HEAL POWDER
-   item_attribute 450, NONE, 0, CANT_SELECT, ITEM, $55
+   item_attribute   450, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; REVIVAL HERB
-   item_attribute 2800, NONE, 0, CANT_SELECT, ITEM, $55
+   item_attribute  2800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; HARD STONE
-   item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_ROCK_BOOST,     10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; LUCKY EGG
-   item_attribute 200, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; CARD KEY
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $60
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_FIELD,   ITEMCONTEXT_NOTINBATTLE
 
 ; MACHINE PART
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $00
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; EGG TICKET
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $00
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; LOST ITEM
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $00
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; STARDUST
-   item_attribute 2000, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute  2000, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; STAR PIECE
-   item_attribute 9800, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute  9800, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; BASEMENT KEY
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $60
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_FIELD,   ITEMCONTEXT_NOTINBATTLE
 
 ; PASS
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $00
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; CHARCOAL
-   item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute  9800, HELD_FIRE_BOOST,     10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; BERRY JUICE
-   item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, $55
+   item_attribute   100, HELD_BERRY,          20,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; SCOPE LENS
-   item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, $00
+   item_attribute   200, HELD_CRITICAL_UP,     0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; METAL COAT
-   item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_STEEL_BOOST,    10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; DRAGON FANG
-   item_attribute 100, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute   100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; LEFTOVERS
-   item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, $00
+   item_attribute   200, HELD_LEFTOVERS,      10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; MYSTERYBERRY
-   item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, $55
+   item_attribute    10, HELD_RESTORE_PP,     -1,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; DRAGON SCALE
-   item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute  2100, HELD_DRAGON_BOOST,   10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; BERSERK GENE
-   item_attribute 200, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; SACRED ASH
-   item_attribute 200, NONE, 0, CANT_SELECT, ITEM, $60
+   item_attribute   200, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_FIELD,   ITEMCONTEXT_NOTINBATTLE
 
 ; HEAVY BALL
-   item_attribute 150, NONE, 0, CANT_SELECT, BALL, $06
+   item_attribute   150, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; FLOWER MAIL
-   item_attribute 50, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; LEVEL BALL
-   item_attribute 150, NONE, 0, CANT_SELECT, BALL, $06
+   item_attribute   150, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; LURE BALL
-   item_attribute 150, NONE, 0, CANT_SELECT, BALL, $06
+   item_attribute   150, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; FAST BALL
-   item_attribute 150, NONE, 0, CANT_SELECT, BALL, $06
+   item_attribute   150, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; LIGHT BALL
-   item_attribute 100, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute   100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; FRIEND BALL
-   item_attribute 150, NONE, 0, CANT_SELECT, BALL, $06
+   item_attribute   150, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; MOON BALL
-   item_attribute 150, NONE, 0, CANT_SELECT, BALL, $06
+   item_attribute   150, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; LOVE BALL
-   item_attribute 150, NONE, 0, CANT_SELECT, BALL, $06
+   item_attribute   150, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; NORMAL BOX
-   item_attribute 10, NONE, 0, CANT_SELECT, ITEM, $40
+   item_attribute    10, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CURRENT, ITEMCONTEXT_NOTINBATTLE
 
 ; GORGEOUS BOX
-   item_attribute 10, NONE, 0, CANT_SELECT, ITEM, $40
+   item_attribute    10, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_CURRENT, ITEMCONTEXT_NOTINBATTLE
 
 ; SUN STONE
-   item_attribute 2100, NONE, 0, CANT_SELECT, ITEM, $50
+   item_attribute  2100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; POLKADOT BOW
-   item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, $00
+   item_attribute   100, HELD_NORMAL_BOOST,   10,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; UP-GRADE
-   item_attribute 2100, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute  2100, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; BERRY
-   item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, $55
+   item_attribute    10, HELD_BERRY,          10,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; GOLD BERRY
-   item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, $55
+   item_attribute    10, HELD_BERRY,          30,             CANT_SELECT, ITEM,     ITEMMENU_PARTY,   ITEMCONTEXT_BATTLEANDFIELD
 
 ; SQUIRTBOTTLE
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $60
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_FIELD,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; PARK BALL
-   item_attribute 0, NONE, 0, CANT_SELECT, BALL, $06
+   item_attribute     0, NONE,                 0,             CANT_SELECT, BALL,     ITEMMENU_NOUSE,   ITEMCONTEXT_BATTLEONLY
 
 ; RAINBOW WING
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, $00
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; BRICK PIECE
-   item_attribute 50, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; SURF MAIL
-   item_attribute 50, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; LITEBLUEMAIL
-   item_attribute 50, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; PORTRAITMAIL
-   item_attribute 50, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; LOVELY MAIL
-   item_attribute 50, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; EON MAIL
-   item_attribute 50, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; MORPH MAIL
-   item_attribute 50, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; BLUESKY MAIL
-   item_attribute 50, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; MUSIC MAIL
-   item_attribute 50, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; MIRAGE MAIL
-   item_attribute 50, NONE, 0, CANT_SELECT, ITEM, $00
+   item_attribute    50, NONE,                 0,             CANT_SELECT, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM01
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM02
-   item_attribute 2000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM03
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM04
-   item_attribute 2000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM05
-   item_attribute 1000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM06
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM07
-   item_attribute 2000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM08
-   item_attribute 1000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM09
-   item_attribute 1000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM10
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM11
-   item_attribute 2000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM12
-   item_attribute 1000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM13
-   item_attribute 1000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM14
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM15
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM16
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM17
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM18
-   item_attribute 2000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM19
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM20
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM21
-   item_attribute 1000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM22
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM23
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM24
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM25
-   item_attribute 2000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM26
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM27
-   item_attribute 1000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM28
-   item_attribute 2000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM29
-   item_attribute 2000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM30
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM31
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM32
-   item_attribute 2000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM33
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM34
-   item_attribute 1000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM35
-   item_attribute 1000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM36
-   item_attribute 1000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM37
-   item_attribute 2000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM38
-   item_attribute 2000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM39
-   item_attribute 2000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM40
-   item_attribute 1000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM41
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM42
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM43
-   item_attribute 1000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  1000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM44
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM45
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM46
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM47
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM48
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM49
-   item_attribute 3000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  3000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TM50
-   item_attribute 2000, NONE, 0, CANT_SELECT, TM_HM, $50
+   item_attribute  2000, NONE,                 0,             CANT_SELECT, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; HM01
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, $50
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; HM02
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, $50
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; HM03
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, $50
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; HM04
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, $50
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; HM05
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, $50
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; HM06
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, $50
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; HM07
-   item_attribute 0, NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, $50
+   item_attribute     0, NONE,                 0, CANT_SELECT | CANT_TOSS, TM_HM,    ITEMMENU_PARTY,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; TERU-SAMA
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
 
 ; ?
-   item_attribute $9999, NONE, 0, 0, ITEM, $00
+   item_attribute $9999, NONE,                 0,                       0, ITEM,     ITEMMENU_NOUSE,   ITEMCONTEXT_NOTINBATTLE
diff --git a/items/item_effects.asm b/items/item_effects.asm
index 9a529c9..d40fc85 100644
--- a/items/item_effects.asm
+++ b/items/item_effects.asm
@@ -512,7 +512,7 @@ endr
    cp BATTLETYPE_TUTORIAL
    jp z, .asm_ebd9
 
-   callba Function10607f
+   callba MobileFn_10607f
 
    ld hl, UnknownText_0xedc9
    call PrintText
@@ -550,7 +550,7 @@ endr
    jp z, .asm_ebd1
    cp BATTLETYPE_CELEBI
    jr nz, .asm_eac8
-   ld hl, wd0ee
+   ld hl, wBattleResult
    set 6, [hl]
 .asm_eac8
 
@@ -628,7 +628,7 @@ endr
    ld a, [sBoxCount]
    cp MONS_PER_BOX
    jr nz, .asm_eb5b
-   ld hl, wd0ee
+   ld hl, wBattleResult
    set 7, [hl]
 .asm_eb5b
    ld a, [CurItem]
@@ -2254,12 +2254,12 @@ Repel: ; f46a
 ; f46c
 
 Function_0xf46c: ; f46c
-   ld a, [wdca1]
+   ld a, [wRepelEffect]
    and a
    ld hl, UnknownText_0xf47d
    jp nz, PrintText
    ld a, b
-   ld [wdca1], a
+   ld [wRepelEffect], a
    jp Functionf789
 ; f47d
 
@@ -2285,10 +2285,10 @@ PokeDoll: ; f48f
    jr nz, .asm_f4a6
    inc a
    ld [wd232], a
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and 3 << 6
    or $2
-   ld [wd0ee], a
+   ld [wBattleResult], a
    jp Functionf789
 
 .asm_f4a6
diff --git a/macros.asm b/macros.asm
index 147468c..b91fa2e 100644
--- a/macros.asm
+++ b/macros.asm
@@ -14,6 +14,7 @@ INCLUDE "macros/predef.asm"
 INCLUDE "macros/rst.asm"
 INCLUDE "macros/mobile.asm"
 INCLUDE "macros/trainer.asm"
+INCLUDE "macros/map_setup.asm"
 
 
 
@@ -90,12 +91,16 @@ lb: MACRO ; r, hi, lo
    ld \1, (\2) << 8 + (\3)
    ENDM
 
+ln: MACRO ; r, hi, lo
+   ld , (\2) << 4 + (\3)
+   ENDM
 
 bccoord equs "coord bc,"
 decoord equs "coord de,"
 hlcoord equs "coord hl,"
 
 coord: MACRO
+; register, x, y[, origin]
    if _NARG < 4
    ld \1, TileMap + SCREEN_WIDTH * (\3) + (\2)
    else
@@ -165,16 +170,4 @@ bcd: MACRO
    endr
 ENDM
 
-ln: MACRO
-   if _NARG == 5
-   lb , \2 << 4 + \3, \4 << 4 + \5
-   else
-   if _NARG == 3
-   ld , \2 << 4 + \3
-   else
-   fail "incorrect number of arguments for ln"
-   endc
-   endc
-ENDM
-
 tile EQUS "+ $10 *"
diff --git a/macros/map.asm b/macros/map.asm
index a9d3209..6133f30 100644
--- a/macros/map.asm
+++ b/macros/map.asm
@@ -18,8 +18,8 @@ ENDM
 
 person_event: macro
    db \1 ; sprite
-   db \2 ; y
-   db \3 ; x
+   db \2 + 4 ; y
+   db \3 + 4 ; x
    db \4 ; movement function
    dn \5, \6 ; radius: y, x
    db \7 ; clock_hour
diff --git a/main.asm b/main.asm
index b5cd9ea..5a3dfe1 100644
--- a/main.asm
+++ b/main.asm
@@ -117,7 +117,7 @@ Function5b44: ; 5b44
 
 MysteryGift: ; 5b54
    call UpdateTime
-   callba Function11548
+   callba DoMysteryGiftIfDayHasPassed
    callba DoMysteryGift
    ret
 ; 5b64
@@ -149,7 +149,7 @@ NewGame: ; 5b6b
 Function5b8f: ; 5b8f
    callba Function10632f
    jr c, .ok
-   callba Function48dcb
+   callba InitGender
    ret
 
 .ok
@@ -380,7 +380,7 @@ InitializeNPCNames: ; 5ce9
 InitializeWorld: ; 5d23
    call ShrinkPlayer
    callba GetSpawnCoord
-   callba Function113d6
+   callba _InitializeStartDay
    ret
 ; 5d33
 
@@ -3176,7 +3176,7 @@ Predef1: ; 747a
 SECTION "bank2", ROMX, BANK[$2]
 
 Function8000: ; 8000
-   call Function2ed3
+   call DisableSpriteUpdates
    xor a
    ld [hBGMapMode], a
    call WhiteBGMap
@@ -3195,26 +3195,26 @@ Function8000: ; 8000
 ; 8029
 
 GetSpawnCoord: ; 8029
-   ld a, $ff
+   ld a, -1
    ld [wd4cd], a
    ld [wd4ce], a
    ld a, $0
    ld hl, PlayerObjectTemplate
    call Function19a6
    ld b, $0
-   call Function808f
+   call PlayerSpawn_ConvertCoords
    ld a, $0
    call GetMapObject
    ld hl, MAPOBJECT_COLOR
    add hl, bc
-   ld e, $80
-   ld a, [wd45b]
+   ln e, (1 << 3) | PAL_OW_RED, $0
+   ld a, [wPlayerSpriteSetupFlags]
    bit 2, a
    jr nz, .ok
    ld a, [PlayerGender]
    bit 0, a
    jr z, .ok
-   ld e, (PAL_OW_BLUE << 4) | $80
+   ln e, (1 << 3) | PAL_OW_BLUE, $0
 
 .ok
    ld [hl], e
@@ -3234,11 +3234,10 @@ PlayerObjectTemplate: ; 8071
 ; 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, 0, 0, $0b, 15, 15, -1, -1, 0, 0, 0, $0000, -1
-   ; db $01, $00, $00, $0b, $ff, $ff, $ff, $00, $00, $00, $00, $ff, $ff
+   person_event SPRITE_CHRIS, -4, -4, $0b, 15, 15, -1, -1, 0, 0, 0, $0000, -1
 ; 807e
 
-Function807e:: ; 807e
+CopyDECoordsToMapObject:: ; 807e
    push de
    ld a, b
    call GetMapObject
@@ -3252,7 +3251,7 @@ Function807e:: ; 807e
    ret
 ; 808f
 
-Function808f: ; 808f
+PlayerSpawn_ConvertCoords: ; 808f
    push bc
    ld a, [XCoord]
    add 4
@@ -3261,7 +3260,7 @@ Function808f: ; 808f
    add 4
    ld e, a
    pop bc
-   call Function807e
+   call CopyDECoordsToMapObject
    ret
 ; 80a1
 
@@ -3278,7 +3277,7 @@ Function80a1:: ; 80a1
    ld e, [hl]
    ld a, [hConnectionStripLength]
    ld b, a
-   call Function807e
+   call CopyDECoordsToMapObject
    and a
    ret
 ; 80b8
@@ -4101,10 +4100,10 @@ CheckTime:: ; c000
 ; c012
 
 TimeOfDayTable: ; c012
-   db MORN, 1
-   db DAY,  2
-   db NITE, 4
-   db NITE, 4
+   db MORN, 1 << MORN
+   db DAY,  1 << DAY
+   db NITE, 1 << NITE
+   db NITE, 1 << NITE
    db -1
 ; c01b
 
@@ -5031,7 +5030,7 @@ UsedSurfScript: ; c986
 ; c9a2
 
 Functionc9a2: ; c9a2
-   callba Function1060bb ; empty
+   callba MobileFn_1060bb ; empty
    ret
 ; c9a9
 
@@ -5330,7 +5329,7 @@ CheckContinueWaterfall: ; cb38
    ld a, [StandingTile]
    call CheckWaterfallTile
    ret z
-   callba Function1060c1
+   callba MobileFn_1060c1
    ld a, $1
    ld [ScriptVar], a
    ret
@@ -6606,7 +6605,7 @@ _ReceiveItem:: ; d1d5
    push hl
    call CheckItemPocket
    pop de
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    dec a
    ld hl, .Pockets
    rst JumpTable
@@ -6653,7 +6652,7 @@ _TossItem:: ; d20d
    push hl
    call CheckItemPocket
    pop de
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    dec a
    ld hl, .Pockets
    rst JumpTable
@@ -6701,7 +6700,7 @@ _CheckItem:: ; d244
    push hl
    call CheckItemPocket
    pop de
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    dec a
    ld hl, .Pockets
    rst JumpTable
@@ -7138,50 +7137,50 @@ GetNumberedTMHM: ; d417
 
 
 _CheckTossableItem:: ; d427
-; Return 1 in wd142 and carry if CurItem can't be removed from the bag.
+; Return 1 in wItemAttributeParamBuffer and carry if CurItem can't be removed from the bag.
    ld a, ITEMATTR_PERMISSIONS
    call GetItemAttr
    bit 7, a
-   jr nz, Functiond47f
+   jr nz, ItemAttr_ReturnCarry
    and a
    ret
 ; d432
 
 CheckSelectableItem: ; d432
-; Return 1 in wd142 and carry if CurItem can't be selected.
+; Return 1 in wItemAttributeParamBuffer and carry if CurItem can't be selected.
    ld a, ITEMATTR_PERMISSIONS
    call GetItemAttr
    bit 6, a
-   jr nz, Functiond47f
+   jr nz, ItemAttr_ReturnCarry
    and a
    ret
 ; d43d
 
 CheckItemPocket:: ; d43d
-; Return the pocket for CurItem in wd142.
+; Return the pocket for CurItem in wItemAttributeParamBuffer.
    ld a, ITEMATTR_POCKET
    call GetItemAttr
    and $f
-   ld [wd142], a
+   ld [wItemAttributeParamBuffer], a
    ret
 ; d448
 
 CheckItemContext: ; d448
-; Return the context for CurItem in wd142.
+; Return the context for CurItem in wItemAttributeParamBuffer.
    ld a, ITEMATTR_HELP
    call GetItemAttr
    and $f
-   ld [wd142], a
+   ld [wItemAttributeParamBuffer], a
    ret
 ; d453
 
 CheckItemMenu: ; d453
-; Return the menu for CurItem in wd142.
+; Return the menu for CurItem in wItemAttributeParamBuffer.
    ld a, ITEMATTR_HELP
    call GetItemAttr
    swap a
    and $f
-   ld [wd142], a
+   ld [wItemAttributeParamBuffer], a
    ret
 ; d460
 
@@ -7197,7 +7196,7 @@ GetItemAttr: ; d460
    add hl, bc
 
    xor a
-   ld [wd142], a
+   ld [wItemAttributeParamBuffer], a
 
    ld a, [CurItem]
    dec a
@@ -7212,9 +7211,9 @@ GetItemAttr: ; d460
    ret
 ; d47f
 
-Functiond47f: ; d47f
+ItemAttr_ReturnCarry: ; d47f
    ld a, 1
-   ld [wd142], a
+   ld [wItemAttributeParamBuffer], a
    scf
    ret
 ; d486
@@ -7311,7 +7310,7 @@ Functiond508: ; d508 (3:5508)
    ret
 
 Functiond509: ; d509 (3:5509)
-   callba Function10602e
+   callba MobileFn_10602e
    ret
 
 Functiond510: ; d510 (3:5510)
@@ -9504,14 +9503,14 @@ GivePoke:: ; e277
    push af
    ld a, [CurItem]
    and a
-   jr z, .asm_e2e1
+   jr z, .done
    ld a, [CurPartyMon]
    ld hl, PartyMon1Item
    ld bc, PartyMon2 - PartyMon1
    call AddNTimes
    ld a, [CurItem]
    ld [hl], a
-   jr .asm_e2e1
+   jr .done
 
 .failed
    ld a, [CurPartySpecies]
@@ -9532,11 +9531,11 @@ GivePoke:: ; e277
    push af
    ld a, [CurItem]
    and a
-   jr z, .asm_e2e1
+   jr z, .done
    ld a, [CurItem]
    ld [sBoxMon1Item], a
 
-.asm_e2e1
+.done
    ld a, [CurPartySpecies]
    ld [wd265], a
    ld [TempEnemyMonSpecies], a
@@ -9570,6 +9569,7 @@ endr
    push de
    push bc
    jr nz, .asm_e35e
+
    push hl
    ld a, [CurPartyMon]
    ld hl, PartyMonOT
@@ -9577,14 +9577,14 @@ endr
    ld d, h
    ld e, l
    pop hl
-.asm_e32f
+.otnameloop
    ld a, [ScriptBank]
    call GetFarByte
    ld [de], a
    inc hl
    inc de
    cp "@"
-   jr nz, .asm_e32f
+   jr nz, .otnameloop
    ld a, [ScriptBank]
    call GetFarByte
    ld b, a
@@ -9593,9 +9593,9 @@ endr
    ld hl, PartyMon1ID
    ld bc, PartyMon2 - PartyMon1
    call AddNTimes
-   ld a, $3
+   ld a, 01001 / $100
    ld [hli], a
-   ld [hl], $e9
+   ld [hl], 01001 % $100
    pop bc
    callba SetPkmnCaughtData
    jr .asm_e3b2
@@ -9610,7 +9610,7 @@ endr
    ld [de], a
    inc hl
    inc de
-   cp $50
+   cp "@"
    jr nz, .asm_e366
    ld a, [ScriptBank]
    call GetFarByte
@@ -9656,7 +9656,7 @@ endr
    call GetSRAMBank
    ld hl, wd050
    ld de, sBoxMonNicknames
-   ld bc, $000b
+   ld bc, PKMN_NAME_LENGTH
    call CopyBytes
    call CloseSRAM
    ld b, $1
@@ -9679,7 +9679,7 @@ TextJump_WasSentToBillsPC: ; 0xe3d9
 Functione3de: ; e3de
    push de
    call Function1d6e
-   call Function2ed3
+   call DisableSpriteUpdates
    pop de
    push de
    ld b, $0
@@ -9748,14 +9748,14 @@ Functione443: ; e443 (3:6443)
    call LoadMenuDataHeader
    ld a, $1
 .asm_e44b
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    call Function32f9
    xor a
    ld [wcf76], a
    ld [hBGMapMode], a ; $ff00+$d4
    call Function1e5d
    jr c, .asm_e46b
-   ld a, [wcf88]
+   ld a, [wPocketPointerLocationBuffer]
    push af
    ld a, [MenuSelection]
    ld hl, Jumptable_e4ba
@@ -9953,7 +9953,7 @@ Functione583: ; e583 (3:6583)
    ret
 
 ClearPCItemScreen: ; e58b
-   call Function2ed3
+   call DisableSpriteUpdates
    xor a
    ld [hBGMapMode], a
    call WhiteBGMap
@@ -10425,7 +10425,7 @@ TMHMMoves: ; 1167a
 ; 116b7
 
 _NamingScreen: ; 0x116b7
-   call Function2ed3
+   call DisableSpriteUpdates
    call Function116c1
    call Function2b74
    ret
@@ -12260,7 +12260,7 @@ Function1250a: ; 1250a
 HalveMoney: ; 12513
 
 ; Empty function...
-   callba Function1060c7
+   callba MobileFn_1060c7
 
 ; Halve the player's money.
    ld hl, Money
@@ -12441,7 +12441,7 @@ StartMenu:: ; 125cd
    call LoadMenuDataHeader
    call .SetUpMenuItems
    ld a, [wd0d2]
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    call .DrawMenuAccount_
    call MenuFunc_1e7f
    call .DrawBugContestStatusBox
@@ -12457,13 +12457,13 @@ StartMenu:: ; 125cd
    call UpdateTimePals
    call .SetUpMenuItems
    ld a, [wd0d2]
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
 
 .Select
    call .GetInput
    jr c, .Exit
    call .DrawMenuAccount
-   ld a, [wcf88]
+   ld a, [wPocketPointerLocationBuffer]
    ld [wd0d2], a
    call PlayClickSFX
    call Function1bee
@@ -12502,7 +12502,7 @@ endr
 .ReturnEnd
    call ExitMenu
 .ReturnEnd2
-   call Function2dcf
+   call LoadMoveSprites
    call UpdateTimePals
    ret
 
@@ -12534,15 +12534,15 @@ endr
 
 .ReturnFour ; 12691
    call ExitMenu
-   ld a, $80
-   ld [$ffa0], a
+   ld a, HMENURETURN_SCRIPT
+   ld [hMenuReturn], a
    ret
 ; 12699
 
 .ReturnThree ; 12699
    call ExitMenu
-   ld a, $80
-   ld [$ffa0], a
+   ld a, HMENURETURN_SCRIPT
+   ld [hMenuReturn], a
    jr .ReturnEnd2
 ; 126a2
 
@@ -13019,7 +13019,7 @@ Function129f4: ; 129f4
    push de
    call PartyMonItemName
    callba _CheckTossableItem
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    and a
    jr nz, .asm_12a3f
    ld hl, UnknownText_0x12a45
@@ -13270,7 +13270,7 @@ Function12ba9: ; 12ba9
    jr z, .next
 
    call CheckTossableItem
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    and a
    jr nz, .next
 
@@ -13683,7 +13683,7 @@ Function12e30: ; 12e30
    jr z, .asm_12e4c
    cp $0
    jr z, .asm_12e4f
-   callba Function1060b5
+   callba MobileFn_1060b5
    ld b, $4
    ld a, $2
    ret
@@ -14403,7 +14403,7 @@ SelectMenu:: ; 13327
    ld hl, ItemMayBeRegisteredText
    call MapTextbox
    call CloseText
-   jp Function2dcf
+   jp LoadMoveSprites
 ; 13340
 
 
@@ -14516,7 +14516,7 @@ endr
 UseRegisteredItem: ; 133c3
 
    callba CheckItemMenu
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    ld hl, .SwitchTo
    rst JumpTable
    ret
@@ -14534,7 +14534,7 @@ UseRegisteredItem: ; 133c3
 .NoFunction ; 133df
    call LoadFont
    call CantUseItem
-   call Function2dcf
+   call LoadMoveSprites
    and a
    ret
 ; 133ea
@@ -14542,7 +14542,7 @@ UseRegisteredItem: ; 133c3
 .Current ; 133ea
    call LoadFont
    call DoItemEffect
-   call Function2dcf
+   call LoadMoveSprites
    and a
    ret
 ; 133f5
@@ -14552,7 +14552,7 @@ UseRegisteredItem: ; 133c3
    call FadeToMenu
    call DoItemEffect
    call Function2b3c
-   call Function2dcf
+   call LoadMoveSprites
    and a
    ret
 ; 13406
@@ -14566,19 +14566,19 @@ UseRegisteredItem: ; 133c3
    ld [wd0ef], a
    ld a, [wd0ec]
    cp 1
-   jr nz, .asm_13425
+   jr nz, ._cantuse
    scf
-   ld a, $80
-   ld [$ffa0], a
+   ld a, HMENURETURN_SCRIPT
+   ld [hMenuReturn], a
    ret
 ; 13422
 
 .CantUse ; 13422
    call ResetWindow
 
-.asm_13425
+._cantuse
    call CantUseItem
-   call Function2dcf
+   call LoadMoveSprites
    and a
    ret
 ; 1342d
@@ -14878,7 +14878,7 @@ Special_GiveParkBalls: ; 135db
    ld [wContestMon], a
    ld a, 20
    ld [wdc79], a
-   callba Function11490
+   callba StartBugContestTimer
    ret
 ; 135eb
 
@@ -15027,7 +15027,7 @@ Script_JumpStdFromRAM: ; 0x1369a
 
 _BugContestJudging: ; 1369d
    call ContestScore
-   callba Function105f79
+   callba MobileFn_105f79
    call Function13819
    ld a, [wd00a]
    call LoadContestantName
@@ -16072,11 +16072,13 @@ Function1409b: ; 1409b
 Function140ae: ; 140ae
    call Function6e3
    ld c, a
-   and $c0
+   and %11000000
    jr nz, .asm_140c8
+
    ld a, c
-   and $20
+   and %00100000
    jr z, .asm_140eb
+
    call UpdateTime
    ld a, [wRTC + 0]
    ld b, a
@@ -16085,7 +16087,7 @@ Function140ae: ; 140ae
    jr c, .asm_140eb
 
 .asm_140c8
-   callba Function113da
+   callba ClearDailyTimers
    callba Function170923
    ld a, $5
    call GetSRAMBank
@@ -16218,7 +16220,7 @@ GetPlayerSprite: ; 14183
 ; Get Chris or Kris's sprite.
 
    ld hl, .Chris
-   ld a, [wd45b]
+   ld a, [wPlayerSpriteSetupFlags]
    bit 2, a
    jr nz, .go
    ld a, [PlayerGender]
@@ -18104,7 +18106,7 @@ KrisWithdrawItemMenu: ; 0x157d1
 Function157e9: ; 0x157e9
    ; check if the item has a quantity
    callba _CheckTossableItem
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    and a
    jr z, .askquantity
 
@@ -18202,7 +18204,7 @@ KrisLogOffMenu: ; 0x15888
 KrisDepositItemMenu: ; 0x1588b
    call Function158b8
    jr c, .asm_158b6
-   call Function2ed3
+   call DisableSpriteUpdates
    call Function1d6e
    callba Function106a5
 .asm_1589c
@@ -18244,26 +18246,27 @@ Function158cc: ; 0x158cc
    ld a, $0
    ld [wc2ce], a
    callba CheckItemMenu
-   ld a, [wd142]
-   ld hl, Jumptable_158e7
+   ld a, [wItemAttributeParamBuffer]
+   ld hl, .jumptable
    rst JumpTable
    pop af
    ld [wc2ce], a
    ret
 ; 0x158e7
 
-Jumptable_158e7: ; 0x158e7
-   dw .jump2
-   dw .jump1
-   dw .jump1
-   dw .jump1
-   dw .jump2
-   dw .jump2
-   dw .jump2
+.jumptable: ; 0x158e7
+   dw .maybe_use
+   dw .no_use
+   dw .no_use
+   dw .no_use
+   dw .maybe_use
+   dw .maybe_use
+   dw .maybe_use
 
-.jump1:
+.no_use:
    ret
-.jump2:
+
+.maybe_use:
    ld a, [Buffer1]
    push af
    ld a, [Buffer2]
@@ -18278,7 +18281,7 @@ Jumptable_158e7: ; 0x158e7
 
 Function1590a: ; 0x1590a
    callba _CheckTossableItem
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    and a
    jr z, .asm_1591d
    ld a, $1
@@ -18360,7 +18363,7 @@ Function15985: ; 0x15985
    ld c, $12
    call TextBox
    ld a, [wd0d7]
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    ld a, [wd0dd]
    ld [wd0e4], a
    call Function350c
@@ -18936,7 +18939,7 @@ Function15cef: ; 15cef
    ld hl, MenuDataHeader_0x15e18
    call CopyMenuDataHeader
    ld a, [WalkingX]
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    ld a, [WalkingY]
    ld [wd0e4], a
    call Function350c
@@ -19269,7 +19272,7 @@ UnknownText_0x15eae: ; 0x15eae
 
 
 Function15eb3: ; 15eb3
-   call Function2ed3
+   call DisableSpriteUpdates
    callba Function106a5
 .asm_15ebc
    callba Function106be
@@ -19302,30 +19305,30 @@ UnknownText_0x15edb: ; 0x15edb
 
 Function15ee0: ; 15ee0
    callba CheckItemMenu
-   ld a, [wd142]
-   ld hl, Jumptable_15eee
+   ld a, [wItemAttributeParamBuffer]
+   ld hl, .jumptable
    rst JumpTable
    ret
 ; 15eee
 
-Jumptable_15eee: ; 15eee
-   dw Function15efd
-   dw Function15efc
-   dw Function15efc
-   dw Function15efc
-   dw Function15efd
-   dw Function15efd
-   dw Function15efd
+.jumptable: ; 15eee
+   dw .maybe_use
+   dw .no_use
+   dw .no_use
+   dw .no_use
+   dw .maybe_use
+   dw .maybe_use
+   dw .maybe_use
 ; 15efc
 
-Function15efc: ; 15efc
+.no_use: ; 15efc
    ret
 ; 15efd
 
 
-Function15efd: ; 15efd
+.maybe_use: ; 15efd
    callba _CheckTossableItem
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    and a
    jr z, .asm_15f11
    ld hl, UnknownText_0x15faf
@@ -20690,7 +20693,7 @@ Function16dc7: ; 16dc7
    jr z, .asm_16dfd
    ld hl, UnknownText_0x16e09
    call PrintText
-   call Function2ed3
+   call DisableSpriteUpdates
    callba Function8461a
    call Function2b74
    ld a, [$ffac]
@@ -20907,7 +20910,7 @@ Function16ed6: ; 16ed6
    ret
 ; 16f3e
 
-Function16f3e:: ; 16f3e
+DoEggStep:: ; 16f3e
    ld de, PartySpecies
    ld hl, PartyMon1Happiness
    ld c, 0
@@ -20938,7 +20941,7 @@ OverworldHatchEgg:: ; 16f5e
    call Function16f70
    call Function2b4d
    call RestartMapMusic
-   jp Function2dcf
+   jp LoadMoveSprites
 ; 16f70
 
 Function16f70: ; 16f70 (5:6f70)
@@ -20964,7 +20967,7 @@ Function16f7a: ; 16f7a (5:6f7a)
    push de
 
    callba Function4dbb8
-   callba Function10608d
+   callba MobileFn_10608d
    ld a, [CurPartyMon]
    ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species)
    ld bc, PartyMon2 - PartyMon1
@@ -22049,7 +22052,7 @@ Function2403c:: ; 2403c
    ld c, a
    ld a, [wcfa3]
    call SimpleMultiply
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    and a
    ret
 ; 24085
@@ -22094,7 +22097,7 @@ Function24098: ; 24098
    ld c, a
    ld a, [wcfaa]
    add c
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    and a
    ret
 
@@ -22180,7 +22183,7 @@ Function2411a: ; 2411a (9:411a)
    call Function24193
    ld a, [wcfa4]
    ld e, a
-   ld a, [wcf88]
+   ld a, [wPocketPointerLocationBuffer]
    ld b, a
    xor a
    ld d, $0
@@ -22583,7 +22586,7 @@ Function24329: ; 24329
    ret
 ; 24374
 
-Function24374:: ; 24374
+_BackUpTiles:: ; 24374
    ld a, [rSVBK]
    push af
    ld a, $7
@@ -22594,9 +22597,9 @@ Function24374:: ; 24374
    inc hl
    ld d, [hl]
    push de
+
    ld b, $10
    ld hl, wcf81
-
 .loop
    ld a, [hli]
    ld [de], a
@@ -22604,6 +22607,9 @@ Function24374:: ; 24374
    dec b
    jr nz, .loop
 
+; If bit 6 or 7 of the menu flags is set, set bit 0 of the address
+; at 7:[wcf71], and draw the menu using the coordinates from the header.
+; Otherwise, reset bit 0 of 7:[wcf71].
    ld a, [wcf81]
    bit 6, a
    jr nz, .bit_6
@@ -22617,13 +22623,13 @@ Function24374:: ; 24374
    ld l, a
    set 0, [hl]
    call GetMemTileCoord
-   call Function243cd
-   call Function1d19
-   call Function243cd
+   call .copy
+   call GetMemAttrCoord
+   call .copy
    jr .done
 
 .not_bit_7
-   pop hl
+   pop hl ; last-pushed register was de
    push hl
    ld a, [hld]
    ld l, [hl]
@@ -22632,7 +22638,7 @@ Function24374:: ; 24374
 
 .done
    pop hl
-   call Function243e7
+   call .ret ; empty function
    ld a, h
    ld [de], a
    dec de
@@ -22651,30 +22657,34 @@ Function24374:: ; 24374
    ret
 ; 243cd
 
-Function243cd: ; 243cd
-   call Function1c53
+.copy: ; 243cd
+   call GetMenuBoxDims
    inc b
    inc c
-   call Function243e7
-.asm_243d5
+   call .ret ; empty function
+
+.row
    push bc
    push hl
-.asm_243d7
+
+.col
    ld a, [hli]
    ld [de], a
    dec de
    dec c
-   jr nz, .asm_243d7
+   jr nz, .col
+
    pop hl
    ld bc, SCREEN_WIDTH
    add hl, bc
    pop bc
    dec b
-   jr nz, .asm_243d5
+   jr nz, .row
+
    ret
 ; 243e7
 
-Function243e7: ; 243e7
+.ret: ; 243e7
    ret
 ; 243e8
 
@@ -22699,7 +22709,7 @@ Function243e8:: ; 243e8
    jr z, .next
    ld d, h
    ld e, l
-   call Function1c23
+   call RestoreTileBackup
 
 .next
    call Function1c7e
@@ -22768,7 +22778,7 @@ Function2446d:: ; 2446d
    ld a, [wcf91]
    ld b, a
    ld hl, wcfa1
-   ld a, [wcf82]
+   ld a, [wMenuBorderTopCoord]
    inc a
    bit 6, b
    jr nz, .asm_2447d
@@ -22776,7 +22786,7 @@ Function2446d:: ; 2446d
 
 .asm_2447d
    ld [hli], a
-   ld a, [wcf83]
+   ld a, [wMenuBorderLeftCoord]
    inc a
    ld [hli], a
    ld a, [wcf92]
@@ -22807,7 +22817,7 @@ Function2446d:: ; 2446d
 
 .asm_244a9
    ld [hli], a
-   ld a, [wcf88]
+   ld a, [wPocketPointerLocationBuffer]
    and a
    jr z, .asm_244b7
    ld c, a
@@ -22835,11 +22845,11 @@ Function244c3: ; 0x244c3
    ld a, [MenuSelection]
    ld [CurSpecies], a
    hlcoord 0, 12
-   ld b, $4
-   ld c, $12
+   ld b, 4
+   ld c, SCREEN_WIDTH - 2
    call TextBox
    ld a, [MenuSelection]
-   cp $ff
+   cp -1
    ret z
    decoord 1, 14
    callba PrintItemDescription
@@ -22861,10 +22871,10 @@ Pokepic:: ; 244e3
    call GetBaseData
    ld de, VTiles1
    predef GetFrontpic
-   ld a, [wcf82]
+   ld a, [wMenuBorderTopCoord]
    inc a
    ld b, a
-   ld a, [wcf83]
+   ld a, [wMenuBorderLeftCoord]
    inc a
    ld c, a
    call GetTileCoord
@@ -23185,18 +23195,19 @@ Function246fc: ; 246fc
 
 Function24706: ; 24706 (9:4706)
    call GetMemTileCoord
-   ld de, $14
+   ld de, SCREEN_WIDTH
    add hl, de
-   ld de, $28
+   ld de, 2 * SCREEN_WIDTH
    ld a, [wcf92]
 .asm_24713
-   ld [hl], $7f
+   ld [hl], " "
    add hl, de
    dec a
    jr nz, .asm_24713
    ret
 
 Function2471a: ; 2471a
+; Get the value of (wcf95):(wcf96,wcf97) and store it in wd144.
    ld hl, wcf96
    ld a, [hli]
    ld h, [hl]
@@ -23204,30 +23215,33 @@ Function2471a: ; 2471a
    ld a, [wcf95]
    call GetFarByte
    ld [wd144], a
+; Store [wcf92] + [wd0e4] in c
    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, .asm_24748
+   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]
    inc a
    sub c
-   jr nc, .asm_24745
+   jr nc, .store
    xor a
 
-.asm_24745
+.store
    ld [wd0e4], a
 
-.asm_24748
+.skip
    ld a, [wd0e4]
    ld c, a
-   ld a, [wcf88]
+   ld a, [wPocketPointerLocationBuffer]
    add c
    ld b, a
    ld a, [wd144]
@@ -23240,7 +23254,7 @@ Function2471a: ; 2471a
    xor a
    ld [wd0e4], a
    ld a, $1
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
 
 .asm_24763
    ret
@@ -23251,10 +23265,10 @@ Function24764: ; 24764
    ld c, a
    ld a, [wd144]
    ld b, a
-   ld a, [wcf82]
+   ld a, [wMenuBorderTopCoord]
    add $1
    ld [wcfa1], a
-   ld a, [wcf83]
+   ld a, [wMenuBorderLeftCoord]
    add $0
    ld [wcfa2], a
    ld a, [wcf92]
@@ -23298,7 +23312,7 @@ Function24764: ; 24764
    ld [wcfa8], a
    ld a, [wcfa3]
    ld b, a
-   ld a, [wcf88]
+   ld a, [wPocketPointerLocationBuffer]
    and a
    jr z, .asm_247c8
    cp b
@@ -23343,9 +23357,9 @@ Function247f0: ; 247f0
    ld a, [wd0e4]
    and a
    jr z, .asm_2480d
-   ld a, [wcf82]
+   ld a, [wMenuBorderTopCoord]
    ld b, a
-   ld a, [wcf85]
+   ld a, [wMenuBorderRightCoord]
    ld c, a
    call GetTileCoord
    ld [hl], $61
@@ -23380,9 +23394,9 @@ Function247f0: ; 247f0
    ld a, [wcf91]
    bit 4, a
    jr z, .asm_24850
-   ld a, [wcf84]
+   ld a, [wMenuBorderBottomCoord]
    ld b, a
-   ld a, [wcf85]
+   ld a, [wMenuBorderRightCoord]
    ld c, a
    call GetTileCoord
    ld [hl], $ee
@@ -23449,10 +23463,10 @@ Function2488b: ; 2488b
    add a
    add $1
    ld c, a
-   ld a, [wcf82]
+   ld a, [wMenuBorderTopCoord]
    add c
    ld b, a
-   ld a, [wcf83]
+   ld a, [wMenuBorderLeftCoord]
    add $0
    ld c, a
    call GetTileCoord
@@ -23799,7 +23813,7 @@ PlaceMenuItemQuantity: ; 0x24ac3
    ld a, [MenuSelection]
    ld [CurItem], a
    callba _CheckTossableItem
-   ld a, [wd142]
+   ld a, [wItemAttributeParamBuffer]
    pop hl
    and a
    jr nz, .done
@@ -24138,10 +24152,10 @@ Function24d47: ; 24d47
    inc a
    add a
    ld b, a
-   ld a, [wcf84]
+   ld a, [wMenuBorderBottomCoord]
    sub b
    inc a
-   ld [wcf82], a
+   ld [wMenuBorderTopCoord], a
    call Function1cbb
    ret
 ; 24d59
@@ -24416,9 +24430,9 @@ LoadBattleMenu: ; 24ef2
    ld hl, BattleMenuDataHeader
    call LoadMenuDataHeader
    ld a, [wd0d2]
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    call Function2039
-   ld a, [wcf88]
+   ld a, [wPocketPointerLocationBuffer]
    ld [wd0d2], a
    call ExitMenu
    ret
@@ -24439,9 +24453,9 @@ ContestBattleMenu: ; 24f13
 
 Function24f19: ; 24f19
    ld a, [wd0d2]
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    call InterpretMenu
-   ld a, [wcf88]
+   ld a, [wPocketPointerLocationBuffer]
    ld [wd0d2], a
    call ExitMenu
    ret
@@ -25681,7 +25695,7 @@ _KrisDecorationMenu: ; 0x2675c
    ld [wd1ef], a
 .asm_2676f
    ld a, [wd1ef]
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    call Function26806
    call Function1e5d
    ld a, [wcfa9]
@@ -29175,7 +29189,7 @@ Function28b87: ; 28b87
 
 .asm_28e63
    callba Function14a58
-   callba Function1060af
+   callba MobileFn_1060af
    callba Function106187
    ld c, $28
    call DelayFrames
@@ -31228,9 +31242,9 @@ Special_CheckBothSelectedSameRoom: ; 29e82
 Special_TimeCapsule: ; 29eaf
    ld a, LINK_TIMECAPSULE
    ld [wLinkMode], a
-   call Function2ed3
+   call DisableSpriteUpdates
    callab LinkCommunications
-   call Function2ee4
+   call EnableSpriteUpdates
    xor a
    ld [hVBlank], a
    ret
@@ -31239,9 +31253,9 @@ Special_TimeCapsule: ; 29eaf
 Special_TradeCenter: ; 29ec4
    ld a, LINK_TRADECENTER
    ld [wLinkMode], a
-   call Function2ed3
+   call DisableSpriteUpdates
    callab LinkCommunications
-   call Function2ee4
+   call EnableSpriteUpdates
    xor a
    ld [hVBlank], a
    ret
@@ -31250,9 +31264,9 @@ Special_TradeCenter: ; 29ec4
 Special_Colosseum: ; 29ed9
    ld a, LINK_COLOSSEUM
    ld [wLinkMode], a
-   call Function2ed3
+   call DisableSpriteUpdates
    callab LinkCommunications
-   call Function2ee4
+   call EnableSpriteUpdates
    xor a
    ld [hVBlank], a
    ret
@@ -31723,7 +31737,7 @@ endr
 
 CheckRepelEffect:: ; 2a1df
 ; If there is no active Repel, there's no need to be here.
-   ld a, [wdca1]
+   ld a, [wRepelEffect]
    and a
    jr z, .encounter
 ; Get the first Pokemon in your party that isn't fainted.
@@ -32446,23 +32460,23 @@ Function2b930: ; 2b930
    jr nc, .asm_2b97f
 
 .asm_2b976
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and $f0
-   ld [wd0ee], a
+   ld [wBattleResult], a
    ret
 
 .asm_2b97f
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and $f0
    add $1
-   ld [wd0ee], a
+   ld [wBattleResult], a
    ret
 
 .asm_2b98a
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and $f0
    add $2
-   ld [wd0ee], a
+   ld [wBattleResult], a
    ret
 ; 2b995
 
@@ -32829,7 +32843,7 @@ GFX_2c172: ; 2c172
 INCBIN "gfx/battle/balls.2bpp"
 ; 2c1b2
 
-Function2c1b2: ; 2c1b2
+_ShowLinkBattleParticipants: ; 2c1b2
    call WhiteBGMap
    call Functione5f
    hlcoord 2, 3
@@ -33510,7 +33524,7 @@ Function2c867: ; 2c867
    and a
    jr z, .nope
 
-   callba Function106049
+   callba MobileFn_106049
    ld a, [CurItem]
    call IsHM
    ret c
@@ -33583,7 +33597,7 @@ Function2c8d3: ; 2c8d3 (b:48d3)
    ld [wcfa7], a
    ld a, $f3
    ld [wcfa8], a
-   ld a, [wd0dc]
+   ld a, [wTMHMPocketPointerLocation]
    inc a
    ld [wcfa9], a
    ld a, $1
@@ -33596,7 +33610,7 @@ Function2c915: ; 2c915 (b:4915)
    ld b, a
    ld a, [wcfa9]
    dec a
-   ld [wd0dc], a
+   ld [wTMHMPocketPointerLocation], a
    xor a
    ld [hBGMapMode], a ; $ff00+$d4
    ld a, [wcfa6]
@@ -34117,14 +34131,14 @@ ConvertBerriesToBerryJuice: ; 2ede6
    ret
 ; 2ee18
 
-Function2ee18: ; 2ee18
+ShowLinkBattleParticipants: ; 2ee18
 ; If we're not in a communications room,
 ; we don't need to be here.
    ld a, [wLinkMode]
    and a
    ret z
 
-   callba Function2c1b2
+   callba _ShowLinkBattleParticipants
    ld c, 150
    call DelayFrames
    call ClearTileMap
@@ -34133,7 +34147,7 @@ Function2ee18: ; 2ee18
 ; 2ee2f
 
 
-Function2ee2f: ; 2ee2f
+FindFirstAliveMon: ; 2ee2f
    xor a
    ld [$ffde], a
    call DelayFrame
@@ -34275,7 +34289,7 @@ PlayBattleMusic: ; 2ee6c
 ClearBattleRAM: ; 2ef18
    xor a
    ld [wd0ec], a
-   ld [wd0ee], a
+   ld [wBattleResult], a
 
    ld hl, wd0d8
 rept 3
@@ -34441,7 +34455,7 @@ Function39550: ; 39550
    ld hl, StringBuffer1
 
 .ok
-   ld bc, $000d
+   ld bc, TRAINER_CLASS_NAME_LENGTH
    ld de, OTName
    push de
    call CopyBytes
@@ -34456,7 +34470,7 @@ Function3957b: ; 3957b
    ld a, [TrainerClass]
    dec a
    ld hl, TrainerClassAttributes
-   ld bc, 7
+   ld bc, NUM_TRAINER_ATTRIBUTES
    call AddNTimes
    ld de, wc650
    ld a, [hli]
@@ -35210,7 +35224,7 @@ endr
    push hl
    ld hl, UnknownText_0x42478
    call PrintTextBoxText
-   callba Function106094
+   callba MobileFn_106094
 
    ld de, MUSIC_NONE
    call PlayMusic
@@ -36554,7 +36568,7 @@ Function44806: ; 0x44806
    call Function352f
    call UpdateSprites
    ld a, [wd0f1]
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    ld a, [OBPals + 8 * 6]
    ld [wd0e4], a
    call Function350c
@@ -36760,6 +36774,7 @@ Function48000: ; 48000
    ld [wd478], a
    ld [DefaultFlypoint], a
    ld [wd003], a
+   ; could have done "ld a, [wd479] \ and -4", saved four operations
    ld a, [wd479]
    res 0, a
    ld [wd479], a
@@ -37072,7 +37087,7 @@ asm_4828d: ; 4828d (12:428d)
    call WaitBGMap
    ld a, [PlayerGender]
    inc a
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    call Function1bc9
    call PlayClickSFX
    call ExitMenu
@@ -37116,7 +37131,7 @@ Function48304: ; 48304 (12:4304)
    ld b, $c
    ld c, $8
    call Function48cdc
-   ld a, [wcf88]
+   ld a, [wPocketPointerLocationBuffer]
    ld b, a
    ld a, [wd0e4]
    ld c, a
@@ -37127,7 +37142,7 @@ Function48304: ; 48304 (12:4304)
    jr c, .asm_4833f
    sub $29
    inc a
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    ld a, $29
 .asm_4833f
    ld [wd0e4], a
@@ -37140,7 +37155,7 @@ Function48304: ; 48304 (12:4304)
    ld d, a
    pop bc
    ld a, b
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    ld a, c
    ld [wd0e4], a
    ld a, d
@@ -37189,7 +37204,7 @@ Function48383: ; 48383 (12:4383)
 .asm_483af
    ld hl, wcfa9
    ld a, [hl]
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    scf
 .asm_483b7
    pop bc
@@ -38600,7 +38615,7 @@ Function48d94: ; 48d94 (12:4d94)
    ld [hl], a
    ret
 
-Function48dcb: ; 48dcb (12:4dcb)
+InitGender: ; 48dcb (12:4dcb)
    call Function48e14
    call Function48e47
    call Function48e64
@@ -38608,7 +38623,7 @@ Function48dcb: ; 48dcb (12:4dcb)
    call Function32f9
    ld hl, UnknownText_0x48e0f
    call PrintText
-   ld hl, MenuDataHeader_0x48dfc
+   ld hl, .MenuDataHeader
    call LoadMenuDataHeader
    call Function3200
    call InterpretMenu2
@@ -38616,20 +38631,20 @@ Function48dcb: ; 48dcb (12:4dcb)
    ld a, [wcfa9]
    dec a
    ld [PlayerGender], a
-   ld c, $a
+   ld c, 10
    call DelayFrames
    ret
 ; 48dfc (12:4dfc)
 
-MenuDataHeader_0x48dfc: ; 0x48dfc
+.MenuDataHeader: ; 0x48dfc
    db $40 ; flags
    db 04, 06 ; start coords
    db 09, 12 ; end coords
-   dw MenuData2_0x48e04
+   dw .MenuData2
    db 1 ; default option
 ; 0x48e04
 
-MenuData2_0x48e04: ; 0x48e04
+.MenuData2: ; 0x48e04
    db $a1 ; flags
    db 2 ; items
    db "Boy@"
@@ -38693,7 +38708,7 @@ GFX_48e71: ; 48e71
 INCBIN "gfx/unknown/048e71.2bpp"
 
 
-Function48e81: ; 48e81
+DrawKrisPackGFX: ; 48e81
    ld hl, PackFGFXPointers
 rept 2
    add hl, de
@@ -38726,7 +38741,7 @@ Function4925b: ; 4925b
    ld b, $14
    call GetSGBLayout
    xor a
-   ld [wd142], a
+   ld [wItemAttributeParamBuffer], a
    call Function492a5
    ld [wd265], a
    ld [wd262], a
@@ -39794,7 +39809,7 @@ Function49bf3: ; 49bf3
 ; 49bf9
 
 Function49bf9: ; 49bf9
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    bit 6, a
    jr z, .asm_49c07
    ld a, $1
@@ -42069,20 +42084,20 @@ Function4acaa: ; 4acaa
    ld a, $2
    ld [wcf92], a
    ld a, $c
-   ld [wcf82], a
+   ld [wMenuBorderTopCoord], a
    jr .asm_4accc
 
 .asm_4acc2
    ld a, $4
    ld [wcf92], a
    ld a, $8
-   ld [wcf82], a
+   ld [wMenuBorderTopCoord], a
 
 .asm_4accc
    ld a, $b
-   ld [wcf83], a
+   ld [wMenuBorderLeftCoord], a
    ld a, $1
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    call Function1c10
    ld hl, wcfa5
    set 6, [hl]
@@ -42290,14 +42305,14 @@ Function4ae1f: ; 4ae1f
    call CopyMenuDataHeader
    pop bc
    ld a, b
-   ld [wcf83], a
+   ld [wMenuBorderLeftCoord], a
    add $5
-   ld [wcf85], a
+   ld [wMenuBorderRightCoord], a
    ld a, c
-   ld [wcf82], a
+   ld [wMenuBorderTopCoord], a
    add $4
-   ld [wcf84], a
-   call Function1c00
+   ld [wMenuBorderBottomCoord], a
+   call BackUpTiles
    call InterpretMenu2
    push af
    ld c, $f
@@ -42541,13 +42556,13 @@ Function4cf80: ; 4cf80 (13:4f80)
    ld a, [hBGMapAddress + 1]
    ld h, a
    ld l, 0
-   ld a, 18
+   ld a, SCREEN_HEIGHT
    ld [$ffd3], a
    ld b, 1 << 1
    ld c, rSTAT % $100
 
 .loop
-rept 20 / 2
+rept SCREEN_WIDTH / 2
    pop de
 .loop\@
    ld a, [$ff00+c]
@@ -42559,7 +42574,7 @@ rept 20 / 2
    inc l
 endr
 
-   ld de, 32 - 20
+   ld de, $20 - SCREEN_WIDTH
    add hl, de
    ld a, [$ffd3]
    dec a
@@ -42689,13 +42704,13 @@ Function4d1cb: ; 4d1cb
    ld a, [hBGMapAddress + 1]
    ld h, a
    ld l, 0
-   ld a, 18
+   ld a, SCREEN_HEIGHT
    ld [$ffd3], a
    ld b, 1 << 1 ; not in v/hblank
    ld c, rSTAT % $100
 
 .loop
-rept 20 / 2
+rept SCREEN_WIDTH / 2
    pop de
 .loop\@
    ld a, [$ff00+c]
@@ -42707,7 +42722,7 @@ rept 20 / 2
    inc l
 endr
 
-   ld de, 32 - 20
+   ld de, $20 - SCREEN_WIDTH
    add hl, de
    ld a, [$ffd3]
    dec a
@@ -43396,7 +43411,7 @@ endr
    ld a, [ScriptVar]
    and a
    ret z ; found nothing
-   callba Function1060cd
+   callba MobileFn_1060cd
    ld a, [wFoundMatchingIDInParty]
    and a
    push af
@@ -45905,7 +45920,7 @@ INCLUDE "event/poke_seer.asm"
 SECTION "bank14", ROMX, BANK[$14]
 
 SelectMonFromParty: ; 50000
-   call Function2ed3
+   call DisableSpriteUpdates
    xor a
    ld [PartyMenuActionText], a
    call WhiteBGMap
@@ -45922,7 +45937,7 @@ SelectMonFromParty: ; 50000
 Function5001d: ; 5001d
    ld a, b
    ld [PartyMenuActionText], a
-   call Function2ed3
+   call DisableSpriteUpdates
    call WhiteBGMap
    call Function5003f
    call WaitBGMap
@@ -46847,7 +46862,7 @@ endr
    ret
 ; 505da
 
-Function505da:: ; 505da
+DoPoisonStep:: ; 505da
    ld a, [PartyCount]
    and a
    jr z, .asm_5062c
@@ -50037,12 +50052,12 @@ INCLUDE "engine/engine_flags.asm"
 _GetVarAction:: ; 80648 (20:4648)
    ld a, c
    cp NUM_VARS
-   jr c, .asm_8064e
+   jr c, .valid
    xor a
-.asm_8064e
+.valid
    ld c, a
    ld b, 0
-   ld hl, VarActionTable
+   ld hl, .VarActionTable
 rept 3
    add hl, bc
 endr
@@ -50052,104 +50067,105 @@ endr
    inc hl
    ld b, [hl]
    ld a, b
-   and $80
-   jr nz, .asm_80668
+   and RETVAR_EXECUTE
+   jr nz, .call
    ld a, b
-   and $40
+   and RETVAR_ADDR_DE
    ret nz
    ld a, [de]
-   jr Function8066c
-.asm_80668
+   jr .loadstringbuffer2
+
+.call
    call _de_
    ret
 
-Function8066c: ; 8066c (20:466c)
+.loadstringbuffer2: ; 8066c (20:466c)
    ld de, StringBuffer2
    ld [de], a
    ret
 ; 80671 (20:4671)
 
-VarActionTable: ; 80671
-; $00: return address
-; $40: return at StringBuffer2
-; $80: return function result at StringBuffer2
-   dwb StringBuffer2, $00
-   dwb PartyCount,    $00
-   dwb Function80728, $80
-   dwb BattleType,    $40
-   dwb TimeOfDay,     $00
-   dwb Function806c5, $80
-   dwb Function806d3, $80
-   dwb CountBadges,   $80
-   dwb PlayerState,   $40
-   dwb Function806ef, $80
-   dwb hHours,        $00
-   dwb Function806f9, $80
-   dwb MapGroup,      $00
-   dwb MapNumber,     $00
-   dwb Function806ff, $80
-   dwb wPermission,         $00
-   dwb Function80715, $80
-   dwb wd46c,         $00
-   dwb XCoord,        $00
-   dwb YCoord,        $00
-   dwb wSpecialPhoneCallID,         $00
-   dwb wcf64,         $00
-   dwb wdca4,         $00
-   dwb wCurrentCaller,         $40
-   dwb wdc4b,         $40
-   dwb wdc4a,         $40
-   dwb wdc58,         $00
-   dwb NULL,          $00
+.VarActionTable: ; 80671
+; $00: copy [de] to StringBuffer2
+; $40: return address in de
+; $80: call function
+   dwb StringBuffer2,         RETVAR_STRBUF2
+   dwb PartyCount,            RETVAR_STRBUF2
+   dwb .BattleResult,         RETVAR_EXECUTE
+   dwb BattleType,            RETVAR_ADDR_DE
+   dwb TimeOfDay,             RETVAR_STRBUF2
+   dwb .CountCaughtMons,      RETVAR_EXECUTE
+   dwb .CountSeenMons,        RETVAR_EXECUTE
+   dwb .CountBadges,          RETVAR_EXECUTE
+   dwb PlayerState,           RETVAR_ADDR_DE
+   dwb .PlayerFacing,         RETVAR_EXECUTE
+   dwb hHours,                RETVAR_STRBUF2
+   dwb .DayOfWeek,            RETVAR_EXECUTE
+   dwb MapGroup,              RETVAR_STRBUF2
+   dwb MapNumber,             RETVAR_STRBUF2
+   dwb .UnownCaught,          RETVAR_EXECUTE
+   dwb wPermission,           RETVAR_STRBUF2
+   dwb .BoxFreeSpace,         RETVAR_EXECUTE
+   dwb wBugContestMinsRemaining,                 RETVAR_STRBUF2
+   dwb XCoord,                RETVAR_STRBUF2
+   dwb YCoord,                RETVAR_STRBUF2
+   dwb wSpecialPhoneCallID,   RETVAR_STRBUF2
+   dwb wcf64,                 RETVAR_STRBUF2
+   dwb wKurtApricornQuantity, RETVAR_STRBUF2
+   dwb wCurrentCaller,        RETVAR_ADDR_DE
+   dwb wBlueCardBalance,      RETVAR_ADDR_DE
+   dwb wBuenasPassword,       RETVAR_ADDR_DE
+   dwb wdc58,                 RETVAR_STRBUF2
+   dwb NULL,                  RETVAR_STRBUF2
 ; 806c5
 
-Function806c5: ; 806c5
+.CountCaughtMons: ; 806c5
 ; Caught mons.
    ld hl, PokedexCaught
    ld b, EndPokedexCaught - PokedexCaught
    call CountSetBits
    ld a, [wd265]
-   jp Function8066c
+   jp .loadstringbuffer2
 ; 806d3
 
-Function806d3: ; 806d3
+.CountSeenMons: ; 806d3
 ; Seen mons.
    ld hl, PokedexSeen
    ld b, EndPokedexSeen - PokedexSeen
    call CountSetBits
    ld a, [wd265]
-   jp Function8066c
+   jp .loadstringbuffer2
 ; 806e1
 
-CountBadges: ; 806e1
+.CountBadges: ; 806e1
 ; Number of owned badges.
    ld hl, Badges
    ld b, 2
    call CountSetBits
    ld a, [wd265]
-   jp Function8066c
+   jp .loadstringbuffer2
 ; 806ef
 
-Function806ef: ; 806ef
+.PlayerFacing: ; 806ef
 ; The direction the player is facing.
    ld a, [PlayerDirection]
    and $c
    rrca
    rrca
-   jp Function8066c
+   jp .loadstringbuffer2
 ; 806f9
 
-Function806f9: ; 806f9
+.DayOfWeek: ; 806f9
 ; The day of the week.
    call GetWeekday
-   jp Function8066c
+   jp .loadstringbuffer2
 ; 806ff
 
-Function806ff: ; 806ff
+.UnownCaught: ; 806ff
 ; Number of unique Unown caught.
    call .count
    ld a, b
-   jp Function8066c
+   jp .loadstringbuffer2
 
 .count
    ld hl, UnownDex
@@ -50165,7 +50181,7 @@ Function806ff: ; 806ff
    ret
 ; 80715
 
-Function80715: ; 80715
+.BoxFreeSpace: ; 80715
 ; Remaining slots in the current box.
    ld a, BANK(sBoxCount)
    call GetSRAMBank
@@ -50175,13 +50191,13 @@ Function80715: ; 80715
    ld b, a
    call CloseSRAM
    ld a, b
-   jp Function8066c
+   jp .loadstringbuffer2
 ; 80728
 
-Function80728: ; 80728
-   ld a, [wd0ee]
+.BattleResult: ; 80728
+   ld a, [wBattleResult]
    and $3f
-   jp Function8066c
+   jp .loadstringbuffer2
 ; 80730
 
 
@@ -53211,7 +53227,7 @@ HallOfFame:: ; 0x8640e
    push af
    ld a, 1
    ld [wc2cd], a
-   call Function2ed3
+   call DisableSpriteUpdates
    ld a, SPAWN_LANCE
    ld [wSpawnAfterChampion], a
 
@@ -53254,7 +53270,7 @@ RedCredits:: ; 86455
    callba Function4e8c2
    ld c, $8
    call DelayFrames
-   call Function2ed3
+   call DisableSpriteUpdates
    ld a, SPAWN_RED
    ld [wSpawnAfterChampion], a
    ld a, [StatusFlags]
@@ -58518,876 +58534,7 @@ INCLUDE "menu/mon_icons.asm"
 
 SECTION "bank24", ROMX, BANK[$24]
 
-AddPhoneNumber:: ; 90000
-   call _CheckCellNum
-   jr c, .asm_9000d
-   call Function9002d
-   jr nc, .asm_9000d
-   ld [hl], c
-   xor a
-   ret
-
-.asm_9000d
-   scf
-   ret
-; 9000f
-
-
-DelCellNum:: ; 9000f
-   call _CheckCellNum
-   jr nc, .asm_90017
-   xor a
-   ld [hl], a
-   ret
-
-.asm_90017
-   scf
-   ret
-; 90019
-
-CheckCellNum:: ; 90019
-   jp _CheckCellNum
-; 9001c
-
-_CheckCellNum: ; 9001c
-   ld hl, wdc7c
-   ld b, $a
-.asm_90021
-   ld a, [hli]
-   cp c
-   jr z, .asm_9002a
-   dec b
-   jr nz, .asm_90021
-   xor a
-   ret
-
-.asm_9002a
-   dec hl
-   scf
-   ret
-; 9002d
-
-Function9002d: ; 9002d
-   call Function90040
-   ld b, a
-   ld hl, wdc7c
-.asm_90034
-   ld a, [hli]
-   and a
-   jr z, .asm_9003d
-   dec b
-   jr nz, .asm_90034
-   xor a
-   ret
-
-.asm_9003d
-   dec hl
-   scf
-   ret
-; 90040
-
-Function90040: ; 90040
-   xor a
-   ld [Buffer1], a
-   ld hl, Unknown_90066
-.asm_90047
-   ld a, [hli]
-   cp $ff
-   jr z, .asm_9005f
-   cp c
-   jr z, .asm_9005d
-   push bc
-   push hl
-   ld c, a
-   call _CheckCellNum
-   jr c, .asm_9005b
-   ld hl, Buffer1
-   inc [hl]
-
-.asm_9005b
-   pop hl
-   pop bc
-
-.asm_9005d
-   jr .asm_90047
-
-.asm_9005f
-   ld a, $a
-   ld hl, Buffer1
-   sub [hl]
-   ret
-; 90066
-
-Unknown_90066: ; 90066
-   db 1, 4, $ff
-; 90069
-
-
-Function90069: ; 90069
-   ld a, [hROMBank]
-   push af
-   ld a, b
-   rst Bankswitch
-
-   call PlaceString
-
-   pop af
-   rst Bankswitch
-   ret
-; 90074
-
-
-CheckPhoneCall:: ; 90074 (24:4074)
-; Check if the phone is ringing in the overworld.
-
-   call CheckStandingOnEntrance
-   jr z, .no_call
-
-   call Function900a6
-   nop
-   jr nc, .no_call
-
-   call Random
-   ld b, a
-   and $7f
-   cp b
-   jr nz, .no_call
-
-   call GetMapHeaderPhoneServiceNybble
-   and a
-   jr nz, .no_call
-
-   call Function900de
-   call Function900bf
-   jr nc, .no_call
-
-   ld e, a
-   call LoadCallerScript
-   ld a, BANK(Script_SpecialPhoneCall)
-   ld hl, Script_SpecialPhoneCall
-   call CallScript
-   scf
-   ret
-
-.no_call
-   xor a
-   ret
-
-Function900a6: ; 900a6 (24:40a6)
-   callba Function11401
-   ret
-
-Function900ad: ; 900ad (24:40ad)
-   push hl
-   push bc
-   push de
-   push af
-   callba CheckTime
-   pop af
-   and $7
-   and c
-   pop de
-   pop bc
-   pop hl
-   ret
-
-Function900bf: ; 900bf (24:40bf)
-   ld a, [wd040]
-   and a
-   jr z, .asm_900dc
-   ld c, a
-   call Random
-   ld a, [hRandomAdd] ; $ff00+$e1
-   swap a
-   and $1f
-   call SimpleDivide
-   ld c, a
-   ld b, $0
-   ld hl, wd041
-   add hl, bc
-   ld a, [hl]
-   scf
-   ret
-.asm_900dc
-   xor a
-   ret
-
-Function900de: ; 900de (24:40de)
-   callba CheckTime
-   ld a, c
-   ld [EngineBuffer1], a ; wd03e (aliases: MenuItemsList, CurFruitTree, CurInput)
-   ld hl, wd040
-   ld bc, $b
-   xor a
-   call ByteFill
-   ld de, wdc7c
-   ld a, $a
-.asm_900f7
-   ld [wd03f], a
-   ld a, [de]
-   and a
-   jr z, .asm_9012e
-   ld hl, PhoneContacts + 8
-   ld bc, 12
-   call AddNTimes
-   ld a, [EngineBuffer1] ; wd03e (aliases: MenuItemsList, CurFruitTree, CurInput)
-   and [hl]
-   jr z, .asm_9012e
-   ld bc, $fffa
-   add hl, bc
-   ld a, [MapGroup]
-   cp [hl]
-   jr nz, .asm_9011e
-   inc hl
-   ld a, [MapNumber]
-   cp [hl]
-   jr z, .asm_9012e
-.asm_9011e
-   ld a, [wd040]
-   ld c, a
-   ld b, $0
-   inc a
-   ld [wd040], a
-   ld hl, wd041
-   add hl, bc
-   ld a, [de]
-   ld [hl], a
-.asm_9012e
-   inc de
-   ld a, [wd03f]
-   dec a
-   jr nz, .asm_900f7
-   ret
-
-Function90136:: ; 90136 (24:4136)
-   ld a, [wSpecialPhoneCallID]
-   and a
-   jr z, .NoPhoneCall
-
-   dec a
-   ld c, a
-   ld b, 0
-   ld hl, SpecialPhoneCallList
-   ld a, 6
-   call AddNTimes
-   ld a, [hli]
-   ld h, [hl]
-   ld l, a
-   call _hl_
-   jr nc, .NoPhoneCall
-
-   call .DoSpecialPhoneCall
-rept 2
-   inc hl
-endr
-   ld a, [hli]
-   ld e, a
-   push hl
-   call LoadCallerScript
-   pop hl
-   ld de, wd048
-   ld a, [hli]
-   ld [de], a
-   inc de
-   ld a, [hli]
-   ld [de], a
-   inc de
-   ld a, [hli]
-   ld [de], a
-   ld a, BANK(.script)
-   ld hl, .script
-   call CallScript
-   scf
-   ret
-.NoPhoneCall
-   xor a
-   ret
-; 90173 (24:4173)
-
-.script: ; 0x90173
-   pause 30
-   jump Script_SpecialPhoneCall
-; 0x90178
-
-.DoSpecialPhoneCall: ; 90178 (24:4178)
-   ld a, [wSpecialPhoneCallID]
-   dec a
-   ld c, a
-   ld b, 0
-   ld hl, SpecialPhoneCallList
-   ld a, 6
-   call AddNTimes
-   ret
-
-SpecialCallOnlyWhenOutside: ; 90188
-   ld a, [wPermission]
-   cp TOWN
-   jr z, .outside
-   cp ROUTE
-   jr z, .outside
-   xor a
-   ret
-
-.outside
-   scf
-   ret
-
-SpecialCallWhereverYouAre: ; 90197
-   scf
-   ret
-
-Function90199: ; 90199 (24:4199)
-   ld a, [wLinkMode]
-   and a
-   jr nz, .asm_901e7
-   call GetMapHeaderPhoneServiceNybble
-   and a
-   jr nz, .asm_901e7
-   ld a, b
-   ld [wCurrentCaller], a
-   ld hl, PhoneContacts
-   ld bc, 12
-   call AddNTimes
-   ld d, h
-   ld e, l
-   ld hl, 4
-   add hl, de
-   ld a, [hl]
-   call Function900ad
-   jr z, .asm_901e7
-   ld hl, 2
-   add hl, de
-   ld a, [MapGroup]
-   cp [hl]
-   jr nz, .asm_901d9
-   ld hl, $3
-   add hl, de
-   ld a, [MapNumber]
-   cp [hl]
-   jr nz, .asm_901d9
-   ld b, BANK(UnknownScript_0x90660)
-   ld hl, UnknownScript_0x90660
-   jr .asm_901f0
-
-.asm_901d9
-   ld hl, $5
-   add hl, de
-   ld b, [hl]
-   ld hl, $6
-   add hl, de
-   ld a, [hli]
-   ld h, [hl]
-   ld l, a
-   jr .asm_901f0
-
-.asm_901e7
-   ld b, BANK(UnknownScript_0x90209)
-   ld de, UnknownScript_0x90209
-   call ExecuteCallbackScript
-   ret
-
-.asm_901f0
-   ld a, b
-   ld [wd002], a
-   ld a, l
-   ld [wd003], a
-   ld a, h
-   ld [wd004], a
-   ld b, BANK(UnknownScript_0x90205)
-   ld de, UnknownScript_0x90205
-   call ExecuteCallbackScript
-   ret
-; 90205 (24:4205)
-
-UnknownScript_0x90205: ; 0x90205
-   ptcall wd002
-   return
-; 0x90209
-
-UnknownScript_0x90209: ; 0x90209
-   scall UnknownScript_0x90657
-   return
-; 0x9020d
-
-LoadCallerScript: ; 9020d (24:420d)
-   nop
-   nop
-   ld a, e
-   ld [wCurrentCaller], a
-   and a
-   jr nz, .actualcaller
-   ld a, BANK(WrongNumber)
-   ld hl, WrongNumber
-   jr .proceed
-
-.actualcaller
-   ld hl, PhoneContacts
-   ld bc, 12
-   ld a, e
-   call AddNTimes
-   ld a, BANK(PhoneContacts)
-.proceed
-   ld de, wd03f
-   ld bc, 12
-   call FarCopyBytes
-   ret
-; 90233 (24:4233)
-
-WrongNumber: ; 90233
-   db PHONE, PHONE_00
-   dba .script
-.script:
-   writetext .text
-   end
-.text:
-   ; Huh? Sorry, wrong number!
-   text_jump UnknownText_0x1c5565
-   db "@"
-; 90241
-
-Script_SpecialPhoneCall: ; 0x90241
-   refreshscreen $0
-   callasm Function9026f
-   ptcall wd048
-   closetext
-   callasm HangUp
-   loadmovesprites
-   callasm Function113e5
-   end
-; 0x90255
-
-Script_SpecialBillCall:: ; 0x90255
-   callasm Function9025c
-   jump Script_SpecialPhoneCall
-; 0x9025c
-
-Function9025c: ; 9025c
-   ld e, PHONE_BILL
-   jp LoadCallerScript
-; 90261
-
-UnknownScript_0x90261: ; 0x90261
-   callasm Function9026a
-   pause 30
-   jump Script_SpecialPhoneCall
-; 0x9026a
-
-Function9026a: ; 9026a
-   ld e, PHONE_ELM
-   jp LoadCallerScript
-; 9026f
-
-Function9026f: ; 9026f
-   call Function9027c
-   call Function9027c
-   callba Function1060d3
-   ret
-; 9027c
-
-Function9027c: ; 9027c (24:427c)
-   call Phone_StartRinging
-   call Phone_Wait20Frames
-   call Phone_CallerTextboxWithName
-   call Phone_Wait20Frames
-   call Phone_CallerTextbox
-   call Phone_Wait20Frames
-   call Phone_CallerTextboxWithName
-   ret
-
-Phone_CallerTextboxWithName: ; 90292 (24:4292)
-   ld a, [wCurrentCaller]
-   ld b, a
-   call Function90363
-   ret
-
-
-PhoneCall:: ; 9029a
-   ld a, b
-   ld [PhoneScriptBank], a
-   ld a, e
-   ld [PhoneCallerLo], a
-   ld a, d
-   ld [PhoneCallerHi], a
-   call Phone_FirstOfTwoRings
-   call Phone_FirstOfTwoRings
-   callba Function1060d3
-   ret
-; 902b3
-
-Phone_FirstOfTwoRings: ; 902b3
-   call Phone_StartRinging
-   call Phone_Wait20Frames
-   call Phone_CallerTextboxWithName2
-   call Phone_Wait20Frames
-   call Phone_CallerTextbox
-   call Phone_Wait20Frames
-   call Phone_CallerTextboxWithName2
-   ret
-; 902c9
-
-Phone_CallerTextboxWithName2: ; 902c9
-   call Phone_CallerTextbox
-   hlcoord 1, 2
-   ld [hl], $62
-rept 2
-   inc hl
-endr
-   ld a, [PhoneScriptBank]
-   ld b, a
-   ld a, [PhoneCallerLo]
-   ld e, a
-   ld a, [PhoneCallerHi]
-   ld d, a
-   call Function90069
-   ret
-; 902e3
-
-
-Phone_NoSignal: ; 902e3 (24:42e3)
-   ld de, SFX_NO_SIGNAL
-   call PlaySFX
-   jr Phone_CallEnd
-
-HangUp:: ; 902eb
-   call HangUp_Beep
-   call HangUp_Wait20Frames
-Phone_CallEnd:
-   call HangUp_BoopOn
-   call HangUp_Wait20Frames
-   call HangUp_BoopOff
-   call HangUp_Wait20Frames
-   call HangUp_BoopOn
-   call HangUp_Wait20Frames
-   call HangUp_BoopOff
-   call HangUp_Wait20Frames
-   call HangUp_BoopOn
-   call HangUp_Wait20Frames
-   call HangUp_BoopOff
-   call HangUp_Wait20Frames
-   ret
-; 90316
-
-Function90316: ; 90316
-   ld de, SFX_SHUT_DOWN_PC
-   call PlaySFX
-   ret
-; 9031d
-
-HangUp_Beep: ; 9031d
-   ld hl, UnknownText_0x9032a
-   call PrintText
-   ld de, SFX_HANG_UP
-   call PlaySFX
-   ret
-; 9032a
-
-UnknownText_0x9032a: ; 9032a
-   text_jump UnknownText_0x1c5580
-   db "@"
-; 9032f
-
-
-HangUp_BoopOn: ; 9032f
-   ld hl, UnknownText_0x90336
-   call PrintText
-   ret
-; 90336
-
-UnknownText_0x90336: ; 0x90336
-   text_jump UnknownText_0x1c5588
-   db "@"
-; 0x9033b
-
-
-HangUp_BoopOff: ; 9033b
-   call SpeechTextBox
-   ret
-; 9033f
-
-Phone_StartRinging: ; 9033f
-   call WaitSFX
-   ld de, SFX_CALL
-   call PlaySFX
-   call Phone_CallerTextbox
-   call UpdateSprites
-   callba Function4d188
-   ret
-; 90355
-
-HangUp_Wait20Frames: ; 90355
-   jr Phone_Wait20Frames
-
-Phone_Wait20Frames
-   ld c, 20
-   call DelayFrames
-   callba Function4d188
-   ret
-; 90363
-
-
-Function90363: ; 90363 (24:4363)
-   push bc
-   call Phone_CallerTextbox
-   hlcoord 1, 1
-   ld [hl], $62
-rept 2
-   inc hl
-endr
-   ld d, h
-   ld e, l
-   pop bc
-   call Function90380
-   ret
-
-
-Phone_CallerTextbox: ; 90375
-   hlcoord 0, 0
-   ld b, 2
-   ld c, SCREEN_WIDTH - 2
-   call TextBox
-   ret
-; 90380
-
-
-Function90380: ; 90380 (24:4380)
-   ld h, d
-   ld l, e
-   ld a, b
-   call GetCallerTrainerClass
-   call GetCallerName
-   ret
-
-Function9038a: ; 9038a (24:438a)
-   ld a, c
-   call GetCallerTrainerClass
-   ld a, c
-   ret nz
-   ld a, b
-   cp $1
-   ret z
-   cp $4
-   ret z
-   ld c, $1
-   ret
-
-GetCallerTrainerClass: ; 9039a
-   push hl
-   ld hl, PhoneContacts + 0 ; PHONE_CONTACT_TRAINER_CLASS
-   ld bc, 12 ; PHONE_TABLE_WIDTH
-   call AddNTimes
-   ld a, [hli]
-   ld b, [hl]
-   ld c, a
-   pop hl
-   ret
-; 903a9
-
-
-GetCallerName: ; 903a9 (24:43a9)
-   ld a, c
-   and a
-   jr z, .NotTrainer
-
-   call Phone_GetTrainerName
-   push hl
-   push bc
-   call PlaceString
-   ld a, ":"
-   ld [bc], a
-   pop bc
-   pop hl
-   ld de, SCREEN_WIDTH + 3
-   add hl, de
-   call Phone_GetTrainerClassName
-   call PlaceString
-   ret
-
-.NotTrainer
-   push hl
-   ld c, b
-   ld b, 0
-   ld hl, NonTrainerCallerNames
-rept 2
-   add hl, bc
-endr
-   ld a, [hli]
-   ld e, a
-   ld d, [hl]
-   pop hl
-   call PlaceString
-   ret
-; 903d6 (24:43d6)
-
-NonTrainerCallerNames: ; 903d6
-   dw .none
-   dw .mom
-   dw .bikeshop
-   dw .bill
-   dw .elm
-   dw .buena
-
-.none: db "----------@"
-.mom: db "MOM:@"
-.bill: db "BILL:@"
-.elm: db "PROF.ELM:@"
-.bikeshop: db "BIKE SHOP:@"
-.buena: db "BUENA:", $22, "   DISC JOCKEY@"
-; 90423
-
-Phone_GetTrainerName: ; 90423 (24:4423)
-   push hl
-   push bc
-   callba GetTrainerName
-   pop bc
-   pop hl
-   ret
-
-Phone_GetTrainerClassName: ; 9042e (24:442e)
-   push hl
-   push bc
-   callba GetTrainerClassName
-   pop bc
-   pop hl
-   ret
-
-GetCallerLocation: ; 90439
-   ld a, [wCurrentCaller]
-   call GetCallerTrainerClass
-   ld d, c
-   ld e, b
-   push de
-   ld a, [wCurrentCaller]
-   ld hl, PhoneContacts + 2 ; PHONE_CONTACT_MAP_GROUP
-   ld bc, 12 ; PHONE_TABLE_WIDTH
-   call AddNTimes
-   ld b, [hl]
-   inc hl
-   ld c, [hl]
-   push bc
-   call GetWorldMapLocation
-   ld e, a
-   callba GetLandmarkName
-   pop bc
-   pop de
-   ret
-; 9045f
-
-PhoneContacts: ; 9045f
-phone: MACRO
-   db  , \2 ; trainer
-   map \3     ; map
-   db  \4
-   dba \5 ; script 1
-   db  \6
-   dba \7 ; script 2
-ENDM
-
-   phone PHONE, PHONE_00, N_A,                        0, UnusedPhoneScript,   0, UnusedPhoneScript
-   phone PHONE, MOM_PHONE, KRISS_HOUSE_1F,              7, MomPhoneScript,      0, UnusedPhoneScript
-   phone PHONE, OAK_PHONE, OAKS_LAB,                    0, UnusedPhoneScript,   0, UnusedPhoneScript
-   phone PHONE, BILL_PHONE, N_A,                        7, BillPhoneScript1,    0, BillPhoneScript2
-   phone PHONE, ELM_PHONE, ELMS_LAB,                    7, ElmPhoneScript1,     0, ElmPhoneScript2
-   phone SCHOOLBOY, JACK1, NATIONAL_PARK,               7, JackPhoneScript1,    7, JackPhoneScript2
-   phone POKEFANF, BEVERLY1, NATIONAL_PARK,             7, BeverlyPhoneScript1, 7, BeverlyPhoneScript2
-   phone SAILOR, HUEY1, OLIVINE_LIGHTHOUSE_2F,          7, HueyPhoneScript1,    7, HueyPhoneScript2
-   phone PHONE, PHONE_00, N_A,                        0, UnusedPhoneScript,   0, UnusedPhoneScript
-   phone PHONE, PHONE_00, N_A,                        0, UnusedPhoneScript,   0, UnusedPhoneScript
-   phone PHONE, PHONE_00, N_A,                        0, UnusedPhoneScript,   0, UnusedPhoneScript
-   phone COOLTRAINERM, GAVEN3, ROUTE_26,                7, GavenPhoneScript1,   7, GavenPhoneScript2
-   phone COOLTRAINERF, BETH1, ROUTE_26,                 7, BethPhoneScript1,    7, BethPhoneScript2
-   phone BIRD_KEEPER, JOSE2, ROUTE_27,                  7, JosePhoneScript1,    7, JosePhoneScript2
-   phone COOLTRAINERF, REENA1, ROUTE_27,                7, ReenaPhoneScript1,   7, ReenaPhoneScript2
-   phone YOUNGSTER, JOEY1, ROUTE_30,                    7, JoeyPhoneScript1,    7, JoeyPhoneScript2
-   phone BUG_CATCHER, WADE1, ROUTE_31,                  7, WadePhoneScript1,    7, WadePhoneScript2
-   phone FISHER, RALPH1, ROUTE_32,                      7, RalphPhoneScript1,   7, RalphPhoneScript2
-   phone PICNICKER, LIZ1, ROUTE_32,                     7, LizPhoneScript1,     7, LizPhoneScript2
-   phone HIKER, ANTHONY2, ROUTE_33,                     7, AnthonyPhoneScript1, 7, AnthonyPhoneScript2
-   phone CAMPER, TODD1, ROUTE_34,                       7, ToddPhoneScript1,    7, ToddPhoneScript2
-   phone PICNICKER, GINA1, ROUTE_34,                    7, GinaPhoneScript1,    7, GinaPhoneScript2
-   phone JUGGLER, IRWIN1, ROUTE_35,                     7, IrwinPhoneScript1,   7, IrwinPhoneScript2
-   phone BUG_CATCHER, ARNIE1, ROUTE_35,                 7, ArniePhoneScript1,   7, ArniePhoneScript2
-   phone SCHOOLBOY, ALAN1, ROUTE_36,                    7, AlanPhoneScript1,    7, AlanPhoneScript2
-   phone PHONE, PHONE_00, N_A,                        0, UnusedPhoneScript,   0, UnusedPhoneScript
-   phone LASS, DANA1, ROUTE_38,                         7, DanaPhoneScript1,    7, DanaPhoneScript2
-   phone SCHOOLBOY, CHAD1, ROUTE_38,                    7, ChadPhoneScript1,    7, ChadPhoneScript2
-   phone POKEFANM, DEREK1, ROUTE_39,                    7, DerekPhoneScript1,   7, DerekPhoneScript2
-   phone FISHER, TULLY1, ROUTE_42,                      7, TullyPhoneScript1,   7, TullyPhoneScript2
-   phone POKEMANIAC, BRENT1, ROUTE_43,                  7, BrentPhoneScript1,   7, BrentPhoneScript2
-   phone PICNICKER, TIFFANY3, ROUTE_43,                 7, TiffanyPhoneScript1, 7, TiffanyPhoneScript2
-   phone BIRD_KEEPER, VANCE1, ROUTE_44,                 7, VancePhoneScript1,   7, VancePhoneScript2
-   phone FISHER, WILTON1, ROUTE_44,                     7, WiltonPhoneScript1,  7, WiltonPhoneScript2
-   phone BLACKBELT_T, KENJI3, ROUTE_45,                 7, KenjiPhoneScript1,   7, KenjiPhoneScript2
-   phone HIKER, PARRY1, ROUTE_45,                       7, ParryPhoneScript1,   7, ParryPhoneScript2
-   phone PICNICKER, ERIN1, ROUTE_46,                    7, ErinPhoneScript1,    7, ErinPhoneScript2
-   phone PHONE, BUENA_PHONE, GOLDENROD_DEPT_STORE_ROOF, 7, BuenaPhoneScript1,   7, BuenaPhoneScript2
-; 90627
-
-SpecialPhoneCallList: ; 90627
-   dw SpecialCallOnlyWhenOutside
-   db PHONE_ELM
-   dba ElmPhoneScript2
-
-   dw SpecialCallOnlyWhenOutside
-   db PHONE_ELM
-   dba ElmPhoneScript2
-
-   dw SpecialCallOnlyWhenOutside
-   db PHONE_ELM
-   dba ElmPhoneScript2
-
-   dw SpecialCallOnlyWhenOutside
-   db PHONE_ELM
-   dba ElmPhoneScript2
-
-   dw SpecialCallWhereverYouAre
-   db PHONE_ELM
-   dba ElmPhoneScript2
-
-   dw SpecialCallWhereverYouAre
-   db PHONE_OAK ; ????????
-   dba BikeShopPhoneScript ; bike shop
-
-   dw SpecialCallWhereverYouAre
-   db PHONE_MOM
-   dba MomPhoneLectureScript
-
-   dw SpecialCallOnlyWhenOutside
-   db PHONE_ELM
-   dba ElmPhoneScript2
-; 90657
-
-UnknownScript_0x90657: ; 0x90657
-   writetext UnknownText_0x9065b
-   end
-; 0x9065b
-
-UnknownText_0x9065b: ; 0x9065b
-   ; That number is out of the area.
-   text_jump UnknownText_0x1c558b
-   db "@"
-; 0x90660
-
-UnknownScript_0x90660: ; 0x90660
-   writetext UnknownText_0x90664
-   end
-; 0x90664
-
-UnknownText_0x90664: ; 0x90664
-   ; Just go talk to that person!
-   text_jump UnknownText_0x1c55ac
-   db "@"
-; 0x90669
-
-UnknownScript_0x90669: ; 0x90669
-   writetext UnknownText_0x9066d
-   end
-; 0x9066d
-
-UnknownText_0x9066d: ; 0x9066d
-   ; Thank you!
-   text_jump UnknownText_0x1c55ca
-   db "@"
-; 0x90672
+INCLUDE "engine/phone.asm"
 
 InitClock: ; 90672 (24:4672)
 ; Ask the player to set the time.
@@ -61038,7 +60185,7 @@ Function91171: ; 91171 (24:5171)
    ret
 
 .a
-   ld hl, wdc7c
+   ld hl, wPhoneList
    ld a, [wc6d2]
    ld e, a
    ld d, 0
@@ -61225,7 +60372,7 @@ endr
    ld a, [wc6d2]
    ld e, a
    ld d, $0
-   ld hl, wdc7c
+   ld hl, wPhoneList
    add hl, de
    xor a
    ld [wc6d0], a
@@ -61253,7 +60400,7 @@ endr
 ; 9131e (24:531e)
 
 Function9131e: ; 9131e
-   ld hl, wdc7c
+   ld hl, wPhoneList
    ld a, [wc6d2]
    ld e, a
    ld d, 0
@@ -61263,7 +60410,7 @@ Function9131e: ; 9131e
    ld d, 0
    add hl, de
    ld [hl], 0
-   ld hl, wdc7c
+   ld hl, wPhoneList
    ld c, $a
 .asm_91336
    ld a, [hli]
@@ -61279,7 +60426,7 @@ Function9131e: ; 9131e
 ; 91342
 
 Function91342: ; 91342 (24:5342)
-   ld hl, wdc7c
+   ld hl, wPhoneList
    ld a, [wc6d2]
    ld e, a
    ld d, 0
@@ -62928,7 +62075,7 @@ _SlotMachine:
    call PlaySFX
    call WaitSFX
    call WhiteBGMap
-   callba Function105fd0
+   callba MobileFn_105fd0
    ld hl, Options
    res 4, [hl]
    ld hl, rLCDC ; $ff40
@@ -64674,7 +63821,7 @@ Function93124: ; 93124 (24:7124)
    ld a, [hl]
    ld [wc711], a
    ld d, a
-   callba Function105fe3
+   callba MobileFn_105fe3
    ret
 
 .data_93145
@@ -64698,7 +63845,7 @@ Function93158: ; 93158 (24:7158)
    jr nz, .asm_9316c
    ld hl, UnknownText_0x931e0
    call PrintText
-   callba Function105fd0
+   callba MobileFn_105fd0
    ret
 .asm_9316c
    srl a
@@ -64720,7 +63867,7 @@ endr
 .asm_93188
    ld hl, UnknownText_0x931b9
    call PrintText
-   callba Function105f9f
+   callba MobileFn_105f9f
    ret
 ; 93195 (24:7195)
 
@@ -65416,7 +64563,7 @@ CheckForSignpostItems: ; b8172
 
 
 TreeMonEncounter: ; b81ea
-   callba Function1060ef
+   callba MobileFn_1060ef
 
    xor a
    ld [TempWildMonSpecies], a
@@ -72104,7 +71251,7 @@ Functione2e01: ; e2e01 (38:6e01)
 .asm_e2e0b
    ld hl, Unknown_e2e2b
    ld de, Sprites
-.asm_e2e11
+.done1
    ld a, [hl]
    cp $ff
    ret z
@@ -72124,7 +71271,7 @@ Functione2e01: ; e2e01 (38:6e01)
    ld a, [hli]
    ld [de], a
    inc de
-   jr .asm_e2e11
+   jr .done1
 ; e2e2b (38:6e2b)
 
 Unknown_e2e2b: ; e2e2b
@@ -77444,7 +76591,7 @@ NPCTrade:: ; fcba8
 ; fcc07
 
 Functionfcc07: ; fcc07
-   call Function2ed3
+   call DisableSpriteUpdates
    ld a, [wJumptableEntryIndexBuffer]
    push af
    ld a, [wcf64]
@@ -77991,7 +77138,7 @@ TradeAfterText3: ; 0xfcfe7
 
 
 MomTriesToBuySomething:: ; fcfec
-   ld a, [wd45c]
+   ld a, [wMapReentryScriptQueueFlag]
    and a
    ret nz
    call GetMapHeaderPhoneServiceNybble
@@ -78005,14 +77152,14 @@ MomTriesToBuySomething:: ; fcfec
    ret nc
    ld b, BANK(UnknownScript_0xfd00f)
    ld de, UnknownScript_0xfd00f
-   callba Function97c4f
+   callba LoadScriptBDE
    scf
    ret
 ; fd00f
 
 UnknownScript_0xfd00f: ; 0xfd00f
    callasm Functionfd017
-   farjump Script_SpecialPhoneCall
+   farjump Script_ReceivePhoneCall
 ; 0xfd017
 
 Functionfd017: ; fd017
@@ -79198,23 +78345,23 @@ RefreshMapSprites: ; 1047f0
    call Function2914
    callba Function579d
    callba Function154f7
-   ld hl, wd45b
+   ld hl, wPlayerSpriteSetupFlags
    bit 6, [hl]
    jr nz, .asm_104817
    ld hl, VramState
    set 0, [hl]
    call Function2e31
 .asm_104817
-   ld a, [wd45b]
+   ld a, [wPlayerSpriteSetupFlags]
    and $1c
-   ld [wd45b], a
+   ld [wPlayerSpriteSetupFlags], a
    ret
 
 CheckMovingOffEdgeOfMap:: ; 104820 (41:4820)
    ld a, [wd151]
    cp STANDING
    ret z
-   and a
+   and a ; DOWN
    jr z, .down
    cp UP
    jr z, .up
@@ -79374,7 +78521,7 @@ DoMysteryGift: ; 1048ba (41:48ba)
    jr z, .asm_104963
    call Function104a71
    callba Function10619d
-   callba Function1060a9
+   callba MobileFn_1060a9
    callba Function106187
 .asm_104963
    ld a, [wc90f]
@@ -79397,7 +78544,7 @@ DoMysteryGift: ; 1048ba (41:48ba)
    jr Function1049c5
 
 .item
-   call Function105106
+   call GetMysteryGiftBank
    ld a, [wc910]
    ld c, a
    callba MysteryGiftGetItem
@@ -79481,13 +78628,13 @@ UnknownText_0x104a20: ; 104a20
 ; 104a25
 
 Function104a25: ; 104a25 (41:4a25)
-   call Function105106
+   call GetMysteryGiftBank
    ld a, [s0_abe5]
    cp $5
    jp CloseSRAM
 
 Function104a30: ; 104a30 (41:4a30)
-   call Function105106
+   call GetMysteryGiftBank
    ld a, [wc901]
    ld b, a
    ld a, [wc902]
@@ -79515,11 +78662,11 @@ Function104a30: ; 104a30 (41:4a30)
    jp CloseSRAM
 
 Function104a56: ; 104a56 (41:4a56)
-   call Function105106
+   call GetMysteryGiftBank
    ld hl, s0_abe5
    ld a, [hl]
    inc [hl]
-   ld hl, s0_abe6
+   ld hl, s0_abe6 ; inc hl
    ld e, a
    ld d, $0
 rept 2
@@ -79532,7 +78679,7 @@ endr
    jp CloseSRAM
 
 Function104a71: ; 104a71 (41:4a71)
-   call Function105106
+   call GetMysteryGiftBank
    ld a, $1
    ld [sMysteryGiftTrainerHouseFlag], a
    ld hl, wc903
@@ -80399,7 +79546,7 @@ endr
    ret
 
 Function105069: ; 105069 (41:5069)
-   call Function105106
+   call GetMysteryGiftBank
    ld d, $0
    ld b, $2
    ld hl, s0_abf0
@@ -80413,7 +79560,7 @@ Function105069: ; 105069 (41:5069)
    pop bc
    pop hl
    ret nz
-   call Function105106
+   call GetMysteryGiftBank
    ld b, $1
    predef FlagPredef
    call CloseSRAM
@@ -80421,7 +79568,7 @@ Function105069: ; 105069 (41:5069)
    ret
 
 Function105091: ; 105091 (41:5091)
-   call Function105106
+   call GetMysteryGiftBank
    ld c, $0
 .asm_105096
    push bc
@@ -80444,7 +79591,7 @@ Function105091: ; 105091 (41:5091)
    jp CloseSRAM
 
 Special_UnlockMysteryGift: ; 1050b9
-   call Function105106
+   call GetMysteryGiftBank
    ld hl, s0_abe3
    ld a, [hl]
    inc a
@@ -80456,19 +79603,19 @@ Special_UnlockMysteryGift: ; 1050b9
 ; 1050c8
 
 Function1050c8: ; 1050c8
-   call Function105106
+   call GetMysteryGiftBank
    ld a, [s0_abe5]
    cp $ff
-   jr z, .asm_1050d6
+   jr z, .okay
    xor a
    ld [s0_abe5], a
-.asm_1050d6
+.okay
    jp CloseSRAM
 ; 1050d9
 
 
 Function1050d9: ; 1050d9
-   call Function105106
+   call GetMysteryGiftBank
    ld hl, sMysteryGiftItem
    ld de, s0_abe4
    ld a, [hli]
@@ -80481,7 +79628,7 @@ Function1050d9: ; 1050d9
 
 
 Function1050ea: ; 1050ea (41:50ea)
-   call Function105106
+   call GetMysteryGiftBank
    ld hl, s0_abe4
    ld de, sMysteryGiftItem
    ld a, [hli]
@@ -80502,7 +79649,7 @@ Function1050fb: ; 1050fb (41:50fb)
    ret
 
 
-Function105106: ; 105106
+GetMysteryGiftBank: ; 105106
    ld a, BANK(s0_abe4)
    jp GetSRAMBank
 ; 10510b
@@ -80559,14 +79706,14 @@ Function105153: ; 105153 (41:5153)
    ld hl, MysteryGiftGFX
    ld de, VTiles2 tile $00
    ld a, BANK(MysteryGiftGFX)
-   ld bc, $430
+   ld bc, Function105688 - MysteryGiftGFX
    call FarCopyBytes
    hlcoord 0, 0
    ld a, $42
    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
@@ -81455,7 +80602,7 @@ MagikarpLength_Mobile: mobile ; 105f33
    ret
 ; 105f79
 
-Function105f79: mobile ; 105f79
+MobileFn_105f79: mobile ; 105f79
    ld a, $5
    call GetSRAMBank
    ld a, [hProduct]
@@ -81484,7 +80631,7 @@ Function105f79: mobile ; 105f79
    ret
 ; 105f9f
 
-Function105f9f: mobile ; 105f9f
+MobileFn_105f9f: mobile ; 105f9f
    ld a, $5
    call GetSRAMBank
    ld hl, $a070
@@ -81521,7 +80668,7 @@ Function105f9f: mobile ; 105f9f
    ret
 ; 105fd0
 
-Function105fd0: mobile ; 105fd0
+MobileFn_105fd0: mobile ; 105fd0
    ld a, $5
    call GetSRAMBank
    ld hl, $a06f
@@ -81533,7 +80680,7 @@ Function105fd0: mobile ; 105fd0
    ret
 ; 105fe3
 
-Function105fe3: mobile ; 105fe3
+MobileFn_105fe3: mobile ; 105fe3
    ld a, $5
    call GetSRAMBank
    ld hl, $a076
@@ -81561,7 +80708,7 @@ endr
    ret
 ; 106008
 
-Function106008: mobile ; 106008
+MobileFn_106008: mobile ; 106008
    ld a, $5
    call GetSRAMBank
    ld hl, $a07a
@@ -81591,11 +80738,11 @@ endr
    ret
 ; 10602e
 
-Function10602e: mobile ; 10602e (41:602e)
+MobileFn_10602e: mobile ; 10602e (41:602e)
    ld hl, $a010
    jp Function106117
 
-Function106035: mobile ; 106035
+MobileFn_106035: mobile ; 106035
    ld a, $5
    call GetSRAMBank
    ld a, [$aa8d]
@@ -81605,29 +80752,29 @@ Function106035: mobile ; 106035
    ld hl, $a014
    jp Function106123
 
-Function106049: mobile ; 106049
+MobileFn_106049: mobile ; 106049
    ld hl, $a018
    jp Function10611d
 
-Function106050: mobile ; 106050
+MobileFn_106050: mobile ; 106050
    ld a, [BattleType]
    cp BATTLETYPE_TUTORIAL
    ret z
    ld hl, $a01b
    jp Function10611d
 
-Function10605d: mobile ; 10605d
+MobileFn_10605d: mobile ; 10605d
    ld a, [BattleType]
    cp BATTLETYPE_TUTORIAL
    ret z
    ld hl, $a01e
    jp Function10611d
 
-Function10606a: mobile ; 10606a
+MobileFn_10606a: mobile ; 10606a
    ld hl, $a021
    jp Function10611d
 
-Function106071: mobile ; 106071
+MobileFn_106071: mobile ; 106071
    ld hl, $a024
    jp Function10611d
 
@@ -81635,23 +80782,23 @@ Mobile_HallOfFame:: mobile ; 0x106078
    ld hl, $a027
    jp Function10611d
 
-Function10607f: mobile ; 10607f (41:607f)
+MobileFn_10607f: mobile ; 10607f (41:607f)
    ld hl, $a02a
    jp Function10611d
 
-Function106086: mobile ; 106086
+MobileFn_106086: mobile ; 106086
    ld hl, $a02d
    jp Function10611d
 
-Function10608d: mobile ; 10608d (41:608d)
+MobileFn_10608d: mobile ; 10608d (41:608d)
    ld hl, $a030
    jp Function10611d
 
-Function106094: mobile ; 106094
+MobileFn_106094: mobile ; 106094
    ld hl, $a033
    jp Function10611d
 
-Function10609b: mobile ; 10609b
+MobileFn_10609b: mobile ; 10609b
    ld hl, $a036
    jp Function10611d
 
@@ -81659,76 +80806,76 @@ Mobile_HealParty: mobile ; 1060a2
    ld hl, $a039
    jp Function10611d
 
-Function1060a9: mobile ; 1060a9 (41:60a9)
+MobileFn_1060a9: mobile ; 1060a9 (41:60a9)
    ld hl, $a03c
    jr Function10611d
 
-Function1060af: mobile ; 1060af
+MobileFn_1060af: mobile ; 1060af
    ld hl, $a03f
    jr Function10611d
 
-Function1060b5: mobile ; 1060b5
+MobileFn_1060b5: mobile ; 1060b5
    ld hl, $a042
    jr Function10611d
 
-Function1060bb: mobile ; 1060bb
+MobileFn_1060bb: mobile ; 1060bb
    ld hl, $a045
    jr Function10611d
 
-Function1060c1: mobile ; 1060c1
+MobileFn_1060c1: mobile ; 1060c1
    ld hl, $a048
    jr Function10611d
 
-Function1060c7: mobile ; 1060c7
+MobileFn_1060c7: mobile ; 1060c7
    ld hl, $a04b
    jr Function10611d
 
-Function1060cd: mobile ; 1060cd
+MobileFn_1060cd: mobile ; 1060cd
    ld hl, $a04e
    jr Function106123
 
-Function1060d3: mobile ; 1060d3
+MobileFn_1060d3: mobile ; 1060d3
    ld hl, $a051
    jr Function10611d
 
-Function1060d9: mobile ; 1060df
+MobileFn_1060d9: mobile ; 1060df
    ld hl, $a054
    jr Function10611d
 
-Function1060df: mobile ; 1060df
+MobileFn_1060df: mobile ; 1060df
    ld hl, $a057
    jr Function10611d
 
-Function1060e5: mobile ; 1060e5
+MobileFn_1060e5: mobile ; 1060e5
    ld a, [hBattleTurn]
    and a
    ret nz
    ld hl, $a05a
    jr Function10611d
 
-Function1060ef: mobile ; 1060ef
+MobileFn_1060ef: mobile ; 1060ef
    ld hl, $a05d
    jr Function10611d
 
-Function1060f5: mobile ; 1060f5
+MobileFn_1060f5: mobile ; 1060f5
    ld hl, $a060
    jr Function10611d
 
-Function1060fb: mobile ; 1060fb
+MobileFn_1060fb: mobile ; 1060fb
    ld hl, $a063
    jr Function10611d
 
-Function106101: mobile ; 106101
+MobileFn_106101: mobile ; 106101
    ld hl, $a066
    jr Function10611d
 ; 106107
 
-Function106107: mobile ; 106107
+MobileFn_106107: mobile ; 106107
    ld hl, $a069
    jr Function10611d
 ; 10610d
 
-Function10610d: mobile ; 10610d
+MobileFn_10610d: mobile ; 10610d
    ld a, [hBattleTurn]
    and a
    ret nz
@@ -81794,7 +80941,7 @@ Function10612d: ; 10612d
    ret
 ; 106155
 
-Function106155: mobile ; 106155
+MobileFn_106155: mobile ; 106155
    ld a, $5
    call GetSRAMBank
    call Function106162
@@ -82108,7 +81255,7 @@ Function10630f: ; 10630f
    ret
 ; 106314
 
-Function106314: mobile ; 106314
+MobileFn_106314: mobile ; 106314
    ld a, $4
    call GetSRAMBank
    ld a, c
@@ -82280,7 +81427,7 @@ Function106403: ; 106403
    or c
    inc a
    ld c, a
-   call Function106314
+   call MobileFn_106314
    ld a, [wcd25]
    inc a
    ld [wcd25], a
@@ -82298,7 +81445,7 @@ Function106403: ; 106403
 
 .asm_106435
    ld c, $0
-   call Function106314
+   call MobileFn_106314
    ld a, [wcd25]
    inc a
    ld [wcd25], a
@@ -82309,7 +81456,7 @@ Function106442: ; 106442
    ld a, $36
    call Function3e32
    xor a
-   ld [$ffe9], a
+   ld [hMobile], a
    ld [$ffc9], a
    ld a, [wcd25]
    inc a
@@ -83453,3 +82600,4 @@ ELSE
 INCBIN "misc/stadium2_1.bin"
 ENDC
 
+
diff --git a/maps/AzaleaGym.asm b/maps/AzaleaGym.asm
index 165d54c..bd764e9 100644
--- a/maps/AzaleaGym.asm
+++ b/maps/AzaleaGym.asm
@@ -371,10 +371,10 @@ AzaleaGym_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_BUGSY, 7 + 4, 5 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugsyScript_0x18ec1e, -1
-   person_event SPRITE_BUG_CATCHER, 3 + 4, 5 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBug_catcherBug_catcher_benny, -1
-   person_event SPRITE_BUG_CATCHER, 8 + 4, 8 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherAl, -1
-   person_event SPRITE_BUG_CATCHER, 2 + 4, 0 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherJosh, -1
-   person_event SPRITE_TWIN, 10 + 4, 4 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAmyandmay1, -1
-   person_event SPRITE_TWIN, 10 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAmyandmay2, -1
-   person_event SPRITE_GYM_GUY, 13 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, AzaleaGymGuyScript, -1
+   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
diff --git a/maps/AzaleaMart.asm b/maps/AzaleaMart.asm
index 8b5e715..b40acd8 100644
--- a/maps/AzaleaMart.asm
+++ b/maps/AzaleaMart.asm
@@ -57,6 +57,6 @@ AzaleaMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18e040, -1
-   person_event SPRITE_COOLTRAINER_M, 5 + 4, 2 + 4, $7, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x18e047, -1
-   person_event SPRITE_BUG_CATCHER, 2 + 4, 7 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x18e04a, -1
+   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
diff --git a/maps/AzaleaPokeCenter1F.asm b/maps/AzaleaPokeCenter1F.asm
index 896fedc..f64d8ea 100644
--- a/maps/AzaleaPokeCenter1F.asm
+++ b/maps/AzaleaPokeCenter1F.asm
@@ -90,7 +90,7 @@ AzaleaPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18db28, -1
-   person_event SPRITE_GENTLEMAN, 6 + 4, 9 + 4, $4, 1, 0, -1, -1, 0, 0, 0, GentlemanScript_0x18db2b, -1
-   person_event SPRITE_FISHING_GURU, 1 + 4, 6 + 4, $6, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x18db2e, -1
-   person_event SPRITE_POKEFAN_F, 4 + 4, 1 + 4, $2, 2, 1, -1, -1, 0, 0, 0, PokefanFScript_0x18db31, -1
+   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
diff --git a/maps/AzaleaTown.asm b/maps/AzaleaTown.asm
index f6f295f..a2016e4 100644
--- a/maps/AzaleaTown.asm
+++ b/maps/AzaleaTown.asm
@@ -481,15 +481,15 @@ AzaleaTown_MapEventHeader:
 
 .PersonEvents:
    db 12
-   person_event SPRITE_AZALEA_ROCKET, 9 + 4, 31 + 4, $6, 0, 0, -1, -1, 0, 0, 0, AzaleaRocketScript_0x1980ab, EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET
-   person_event SPRITE_GRAMPS, 9 + 4, 21 + 4, $2, 2, 1, -1, -1, 0, 0, 0, GrampsScript_0x1980b1, -1
-   person_event SPRITE_TEACHER, 13 + 4, 15 + 4, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x1980c5, -1
-   person_event SPRITE_YOUNGSTER, 9 + 4, 7 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1980c8, -1
-   person_event SPRITE_SLOWPOKE, 17 + 4, 8 + 4, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
-   person_event SPRITE_SLOWPOKE, 9 + 4, 18 + 4, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
-   person_event SPRITE_SLOWPOKE, 9 + 4, 29 + 4, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
-   person_event SPRITE_SLOWPOKE, 15 + 4, 15 + 4, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
-   person_event SPRITE_FRUIT_TREE, 2 + 4, 8 + 4, $1, 0, 0, -1, -1, 0, 0, 0, WhiteApricornTree, -1
-   person_event SPRITE_AZALEA_ROCKET, 10 + 4, 11 + 4, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_AZALEA_TOWN
-   person_event SPRITE_AZALEA_ROCKET, 16 + 4, 10 + 4, $6, 0, 0, -1, -1, 0, 0, 0, AzaleaRocketScript_0x1980ae, EVENT_SLOWPOKE_WELL_ROCKETS
-   person_event SPRITE_KURT_OUTSIDE, 5 + 4, 6 + 4, $8, 0, 0, -1, -1, 0, 0, 0, KurtOutsideScript_0x19810c, EVENT_AZALEA_TOWN_KURT
+   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
diff --git a/maps/BattleTower1F.asm b/maps/BattleTower1F.asm
index c66b3b7..53b6b87 100644
--- a/maps/BattleTower1F.asm
+++ b/maps/BattleTower1F.asm
@@ -810,8 +810,8 @@ BattleTower1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_RECEPTIONIST, 6 + 4, 7 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x9e3e2, -1
-   person_event SPRITE_YOUNGSTER, 9 + 4, 14 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, YoungsterScript_0x9e55d, -1
-   person_event SPRITE_COOLTRAINER_F, 9 + 4, 4 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x9e568, -1
-   person_event SPRITE_BUG_CATCHER, 3 + 4, 1 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BugCatcherScript_0x9e56b, -1
-   person_event SPRITE_GRANNY, 3 + 4, 14 + 4, $4, 1, 0, -1, -1, 0, 0, 0, GrannyScript_0x9e56e, -1
+   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
diff --git a/maps/BattleTowerBattleRoom.asm b/maps/BattleTowerBattleRoom.asm
index 362ad54..9bc80b1 100644
--- a/maps/BattleTowerBattleRoom.asm
+++ b/maps/BattleTowerBattleRoom.asm
@@ -155,5 +155,5 @@ BattleTowerBattleRoom_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_YOUNGSTER, 0 + 4, 4 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_BATTLE_TOWER_BATTLE_ROOM_YOUNGSTER
-   person_event SPRITE_RECEPTIONIST, 6 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, -1
+   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
diff --git a/maps/BattleTowerElevator.asm b/maps/BattleTowerElevator.asm
index ab26a14..abfd137 100644
--- a/maps/BattleTowerElevator.asm
+++ b/maps/BattleTowerElevator.asm
@@ -60,4 +60,4 @@ BattleTowerElevator_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_RECEPTIONIST, 2 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, MovementData_0x9f58f, -1
+   person_event SPRITE_RECEPTIONIST, 2, 1, $9, 0, 0, -1, -1, 0, 0, 0, MovementData_0x9f58f, -1
diff --git a/maps/BattleTowerHallway.asm b/maps/BattleTowerHallway.asm
index 20f3565..179ec15 100644
--- a/maps/BattleTowerHallway.asm
+++ b/maps/BattleTowerHallway.asm
@@ -98,4 +98,4 @@ BattleTowerHallway_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_RECEPTIONIST, 2 + 4, 11 + 4, $6, 0, 0, -1, -1, 0, 0, 0, BattleTowerHallway_MapEventHeader, -1
+   person_event SPRITE_RECEPTIONIST, 2, 11, $6, 0, 0, -1, -1, 0, 0, 0, BattleTowerHallway_MapEventHeader, -1
diff --git a/maps/BattleTowerOutside.asm b/maps/BattleTowerOutside.asm
index a94a758..43ee41e 100644
--- a/maps/BattleTowerOutside.asm
+++ b/maps/BattleTowerOutside.asm
@@ -142,7 +142,7 @@ BattleTowerOutside_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_STANDING_YOUNGSTER, 12 + 4, 6 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, StandingYoungsterScript_0x9f85f, -1
-   person_event SPRITE_BUENA, 11 + 4, 13 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BuenaScript_0x9f862, -1
-   person_event SPRITE_SAILOR, 18 + 4, 12 + 4, $5, 0, 1, -1, -1, 0, 0, 0, SailorScript_0x9f865, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
-   person_event SPRITE_LASS, 24 + 4, 12 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, -1
+   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
diff --git a/maps/BillsHouse.asm b/maps/BillsHouse.asm
index 1d74648..3372d84 100644
--- a/maps/BillsHouse.asm
+++ b/maps/BillsHouse.asm
@@ -367,4 +367,4 @@ BillsHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_GRAMPS, 3 + 4, 2 + 4, $7, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x189538, -1
+   person_event SPRITE_GRAMPS, 3, 2, $7, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x189538, -1
diff --git a/maps/BlackthornCity.asm b/maps/BlackthornCity.asm
index 0bde513..9e2b246 100644
--- a/maps/BlackthornCity.asm
+++ b/maps/BlackthornCity.asm
@@ -333,12 +333,12 @@ BlackthornCity_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_SUPER_NERD, 12 + 4, 18 + 4, $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 + 4, 19 + 4, $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 + 4, 20 + 4, $6, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a4708, EVENT_BLACKTHORN_CITY_GRAMPS_BLOCKS_DRAGONS_DEN
-   person_event SPRITE_GRAMPS, 2 + 4, 21 + 4, $8, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a470b, EVENT_BLACKTHORN_CITY_GRAMPS_NOT_BLOCKING_DRAGONS_DEN
-   person_event SPRITE_BLACK_BELT, 31 + 4, 24 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x1a470e, -1
-   person_event SPRITE_COOLTRAINER_F, 25 + 4, 9 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x1a4722, -1
-   person_event SPRITE_YOUNGSTER, 15 + 4, 13 + 4, $5, 0, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1a4725, -1
-   person_event SPRITE_YOUNGSTER, 20 + 4, 22 + 4, $6, 0, 0, -1, -1, 0, 0, 0, SantosScript, EVENT_BLACKTHORN_CITY_SANTOS_OF_SATURDAY
-   person_event SPRITE_COOLTRAINER_F, 19 + 4, 35 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x1a4728, -1
+   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
diff --git a/maps/BlackthornDodrioTradeHouse.asm b/maps/BlackthornDodrioTradeHouse.asm
index 5bbefc6..2e0749c 100644
--- a/maps/BlackthornDodrioTradeHouse.asm
+++ b/maps/BlackthornDodrioTradeHouse.asm
@@ -35,4 +35,4 @@ BlackthornDodrioTradeHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_LASS, 3 + 4, 2 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, Emy, -1
+   person_event SPRITE_LASS, 3, 2, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, Emy, -1
diff --git a/maps/BlackthornDragonSpeechHouse.asm b/maps/BlackthornDragonSpeechHouse.asm
index 1fb728b..3a50fd9 100644
--- a/maps/BlackthornDragonSpeechHouse.asm
+++ b/maps/BlackthornDragonSpeechHouse.asm
@@ -58,5 +58,5 @@ BlackthornDragonSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_GRANNY, 3 + 4, 2 + 4, $3, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x195949, -1
-   person_event SPRITE_EKANS, 5 + 4, 5 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, EkansScript_0x19594c, -1
+   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
diff --git a/maps/BlackthornGym1F.asm b/maps/BlackthornGym1F.asm
index c17132a..1ca6831 100644
--- a/maps/BlackthornGym1F.asm
+++ b/maps/BlackthornGym1F.asm
@@ -404,8 +404,8 @@ BlackthornGym1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_CLAIR, 3 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClairScript_0x194e24, -1
-   person_event SPRITE_COOLTRAINER_M, 6 + 4, 6 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermMike, -1
-   person_event SPRITE_COOLTRAINER_M, 14 + 4, 1 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermPaul, -1
-   person_event SPRITE_COOLTRAINER_F, 2 + 4, 9 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfLola, -1
-   person_event SPRITE_GYM_GUY, 15 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BlackthornGymGuyScript, -1
+   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
diff --git a/maps/BlackthornGym2F.asm b/maps/BlackthornGym2F.asm
index 7ab4ceb..50a86d5 100644
--- a/maps/BlackthornGym2F.asm
+++ b/maps/BlackthornGym2F.asm
@@ -145,11 +145,11 @@ BlackthornGym2F_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_COOLTRAINER_M, 1 + 4, 4 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainermCody, -1
-   person_event SPRITE_COOLTRAINER_F, 11 + 4, 4 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfFran, -1
-   person_event SPRITE_BOULDER, 2 + 4, 8 + 4, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_1
-   person_event SPRITE_BOULDER, 3 + 4, 2 + 4, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_2
-   person_event SPRITE_BOULDER, 16 + 4, 6 + 4, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_3
-   person_event SPRITE_BOULDER, 3 + 4, 3 + 4, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
-   person_event SPRITE_BOULDER, 1 + 4, 6 + 4, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
-   person_event SPRITE_BOULDER, 14 + 4, 8 + 4, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
+   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
diff --git a/maps/BlackthornMart.asm b/maps/BlackthornMart.asm
index 6ad8e9e..f39b1f4 100644
--- a/maps/BlackthornMart.asm
+++ b/maps/BlackthornMart.asm
@@ -58,6 +58,6 @@ BlackthornMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x195a5d, -1
-   person_event SPRITE_COOLTRAINER_M, 6 + 4, 7 + 4, $5, 0, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x195a64, -1
-   person_event SPRITE_BLACK_BELT, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BlackBeltScript_0x195a67, -1
+   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
diff --git a/maps/BlackthornPokeCenter1F.asm b/maps/BlackthornPokeCenter1F.asm
index be074da..0c441b4 100644
--- a/maps/BlackthornPokeCenter1F.asm
+++ b/maps/BlackthornPokeCenter1F.asm
@@ -61,7 +61,7 @@ BlackthornPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x195b79, -1
-   person_event SPRITE_GENTLEMAN, 3 + 4, 5 + 4, $6, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x195b7c, -1
-   person_event SPRITE_TWIN, 4 + 4, 1 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x195b7f, -1
-   person_event SPRITE_COOLTRAINER_M, 6 + 4, 7 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x195b82, -1
+   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
diff --git a/maps/BluesHouse.asm b/maps/BluesHouse.asm
index f605b24..40ff945 100644
--- a/maps/BluesHouse.asm
+++ b/maps/BluesHouse.asm
@@ -158,4 +158,4 @@ BluesHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_DAISY, 3 + 4, 2 + 4, $3, 0, 0, -1, -1, 0, 0, 0, DaisyScript_0x19b0d0, -1
+   person_event SPRITE_DAISY, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, DaisyScript_0x19b0d0, -1
diff --git a/maps/BrunosRoom.asm b/maps/BrunosRoom.asm
index 3185ee9..d01c549 100644
--- a/maps/BrunosRoom.asm
+++ b/maps/BrunosRoom.asm
@@ -145,4 +145,4 @@ BrunosRoom_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_BRUNO, 7 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BrunoScript_0x1809c5, -1
+   person_event SPRITE_BRUNO, 7, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BrunoScript_0x1809c5, -1
diff --git a/maps/BurnedTower1F.asm b/maps/BurnedTower1F.asm
index afeda89..7bb2a3e 100644
--- a/maps/BurnedTower1F.asm
+++ b/maps/BurnedTower1F.asm
@@ -309,8 +309,8 @@ BurnedTower1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_ROCK, 4 + 4, 15 + 4, $18, 0, 0, -1, -1, 0, 0, 0, BurnedTower1FRock, -1
-   person_event SPRITE_SUPER_NERD, 12 + 4, 12 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x185cbc, EVENT_BURNED_TOWER_1F_EUSINE
-   person_event SPRITE_SILVER, 9 + 4, 8 + 4, $8, 0, 0, -1, -1, 0, 2, 3, ObjectEvent, EVENT_RIVAL_BURNED_TOWER
-   person_event SPRITE_MORTY, 14 + 4, 14 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MortyScript_0x185cbf, EVENT_BURNED_TOWER_MORTY
-   person_event SPRITE_POKE_BALL, 2 + 4, 14 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185ccb, EVENT_BURNED_TOWER_1F_HP_UP
+   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
diff --git a/maps/BurnedTowerB1F.asm b/maps/BurnedTowerB1F.asm
index be95ae2..fe4adc5 100644
--- a/maps/BurnedTowerB1F.asm
+++ b/maps/BurnedTowerB1F.asm
@@ -251,12 +251,12 @@ BurnedTowerB1F_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_BOULDER, 8 + 4, 17 + 4, $19, 0, 0, -1, -1, 0, 0, 0, BurnedTowerB1FBoulder, -1
-   person_event SPRITE_RAIKOU, 3 + 4, 7 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
-   person_event SPRITE_ENTEI, 3 + 4, 12 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
-   person_event SPRITE_SUICUNE, 4 + 4, 10 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
-   person_event SPRITE_RAIKOU, 3 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
-   person_event SPRITE_ENTEI, 3 + 4, 12 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
-   person_event SPRITE_SUICUNE, 4 + 4, 10 + 4, $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 + 4, 16 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x186231, EVENT_BURNED_TOWER_B1F_TM_ENDURE
-   person_event SPRITE_SUPER_NERD, 12 + 4, 10 + 4, $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, $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
diff --git a/maps/CeladonCafe.asm b/maps/CeladonCafe.asm
index f7b1235..22ca25f 100644
--- a/maps/CeladonCafe.asm
+++ b/maps/CeladonCafe.asm
@@ -219,8 +219,8 @@ CeladonCafe_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_SUPER_NERD, 3 + 4, 9 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, SuperNerdScript_0x73049, -1
-   person_event SPRITE_FISHER, 6 + 4, 4 + 4, $8, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x73051, -1
-   person_event SPRITE_FISHER, 7 + 4, 1 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x73062, -1
-   person_event SPRITE_FISHER, 2 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x73073, -1
-   person_event SPRITE_TEACHER, 3 + 4, 4 + 4, $8, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x73084, -1
+   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
diff --git a/maps/CeladonCity.asm b/maps/CeladonCity.asm
index be008d7..1298c58 100644
--- a/maps/CeladonCity.asm
+++ b/maps/CeladonCity.asm
@@ -257,12 +257,12 @@ CeladonCity_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_FISHER, 11 + 4, 26 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a9f43, -1
-   person_event SPRITE_POLIWAG, 11 + 4, 27 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeladonCityPoliwrath, -1
-   person_event SPRITE_TEACHER, 24 + 4, 20 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x1a9f50, -1
-   person_event SPRITE_GRAMPS, 16 + 4, 14 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x1a9f53, -1
-   person_event SPRITE_GRAMPS, 31 + 4, 8 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GrampsScript_0x1a9f56, -1
-   person_event SPRITE_YOUNGSTER, 13 + 4, 18 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x1a9f59, -1
-   person_event SPRITE_YOUNGSTER, 33 + 4, 24 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a9f5c, -1
-   person_event SPRITE_TEACHER, 14 + 4, 6 + 4, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a9f5f, -1
-   person_event SPRITE_LASS, 22 + 4, 7 + 4, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LassScript_0x1a9f62, -1
+   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
diff --git a/maps/CeladonDeptStore1F.asm b/maps/CeladonDeptStore1F.asm
index 527a5bf..3f8250c 100644
--- a/maps/CeladonDeptStore1F.asm
+++ b/maps/CeladonDeptStore1F.asm
@@ -89,6 +89,6 @@ CeladonDeptStore1F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_RECEPTIONIST, 1 + 4, 10 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x709e0, -1
-   person_event SPRITE_GENTLEMAN, 4 + 4, 11 + 4, $2, 1, 1, -1, -1, 0, 0, 0, GentlemanScript_0x709e3, -1
-   person_event SPRITE_TEACHER, 3 + 4, 5 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x709e6, -1
+   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
diff --git a/maps/CeladonDeptStore2F.asm b/maps/CeladonDeptStore2F.asm
index b30e008..5124f6f 100644
--- a/maps/CeladonDeptStore2F.asm
+++ b/maps/CeladonDeptStore2F.asm
@@ -82,7 +82,7 @@ CeladonDeptStore2F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_CLERK, 5 + 4, 13 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70bad, -1
-   person_event SPRITE_CLERK, 5 + 4, 14 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70bb5, -1
-   person_event SPRITE_POKEFAN_M, 2 + 4, 5 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x70bbd, -1
-   person_event SPRITE_YOUNGSTER, 2 + 4, 6 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x70bc0, -1
+   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
diff --git a/maps/CeladonDeptStore3F.asm b/maps/CeladonDeptStore3F.asm
index e751a9b..c36b713 100644
--- a/maps/CeladonDeptStore3F.asm
+++ b/maps/CeladonDeptStore3F.asm
@@ -107,8 +107,8 @@ CeladonDeptStore3F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_CLERK, 1 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70d29, -1
-   person_event SPRITE_YOUNGSTER, 4 + 4, 6 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x70d31, -1
-   person_event SPRITE_GAMEBOY_KID, 1 + 4, 9 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GameboyKidScript_0x70d34, -1
-   person_event SPRITE_GAMEBOY_KID, 1 + 4, 10 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GameboyKidScript_0x70d3f, -1
-   person_event SPRITE_SUPER_NERD, 4 + 4, 13 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x70d4a, -1
+   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
diff --git a/maps/CeladonDeptStore4F.asm b/maps/CeladonDeptStore4F.asm
index 8940957..99741b4 100644
--- a/maps/CeladonDeptStore4F.asm
+++ b/maps/CeladonDeptStore4F.asm
@@ -65,6 +65,6 @@ CeladonDeptStore4F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 5 + 4, 13 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70f0d, -1
-   person_event SPRITE_SUPER_NERD, 6 + 4, 7 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x70f15, -1
-   person_event SPRITE_YOUNGSTER, 2 + 4, 8 + 4, $7, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x70f18, -1
+   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
diff --git a/maps/CeladonDeptStore5F.asm b/maps/CeladonDeptStore5F.asm
index 313ffb8..94af06d 100644
--- a/maps/CeladonDeptStore5F.asm
+++ b/maps/CeladonDeptStore5F.asm
@@ -84,8 +84,8 @@ CeladonDeptStore5F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_CLERK, 5 + 4, 7 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x71004, -1
-   person_event SPRITE_CLERK, 5 + 4, 8 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x7100c, -1
-   person_event SPRITE_GENTLEMAN, 5 + 4, 13 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x71014, -1
-   person_event SPRITE_SAILOR, 4 + 4, 3 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x71017, -1
-   person_event SPRITE_TEACHER, 7 + 4, 1 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x7101a, -1
+   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
diff --git a/maps/CeladonDeptStore6F.asm b/maps/CeladonDeptStore6F.asm
index 97c73b1..2eff882 100644
--- a/maps/CeladonDeptStore6F.asm
+++ b/maps/CeladonDeptStore6F.asm
@@ -168,5 +168,5 @@ CeladonDeptStore6F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_SUPER_NERD, 2 + 4, 9 + 4, $7, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7117a, -1
-   person_event SPRITE_YOUNGSTER, 5 + 4, 12 + 4, $2, 1, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x7117d, -1
+   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
diff --git a/maps/CeladonGameCorner.asm b/maps/CeladonGameCorner.asm
index ae6387b..4f4746f 100644
--- a/maps/CeladonGameCorner.asm
+++ b/maps/CeladonGameCorner.asm
@@ -325,12 +325,12 @@ CeladonGameCorner_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_CLERK, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ClerkScript_0x7211d, -1
-   person_event SPRITE_RECEPTIONIST, 2 + 4, 3 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x72120, -1
-   person_event SPRITE_POKEFAN_M, 10 + 4, 14 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x72123, -1
-   person_event SPRITE_TEACHER, 7 + 4, 17 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7212e, -1
-   person_event SPRITE_FISHING_GURU, 7 + 4, 11 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x72139, -1
-   person_event SPRITE_FISHER, 10 + 4, 8 + 4, $8, 0, 0, -1, 2, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x72144, -1
-   person_event SPRITE_FISHER, 10 + 4, 8 + 4, $8, 0, 0, -1, 4, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x72144, -1
-   person_event SPRITE_GYM_GUY, 3 + 4, 11 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CeladonGymGuyScript, -1
-   person_event SPRITE_GRAMPS, 8 + 4, 2 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x72190, -1
+   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
diff --git a/maps/CeladonGameCornerPrizeRoom.asm b/maps/CeladonGameCornerPrizeRoom.asm
index 2be0d6a..83f92f2 100644
--- a/maps/CeladonGameCornerPrizeRoom.asm
+++ b/maps/CeladonGameCornerPrizeRoom.asm
@@ -284,5 +284,5 @@ CeladonGameCornerPrizeRoom_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_GENTLEMAN, 2 + 4, 0 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x726e9, -1
-   person_event SPRITE_PHARMACIST, 4 + 4, 4 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PharmacistScript_0x726ec, -1
+   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
diff --git a/maps/CeladonGym.asm b/maps/CeladonGym.asm
index 63eb94a..d9128f8 100644
--- a/maps/CeladonGym.asm
+++ b/maps/CeladonGym.asm
@@ -278,9 +278,9 @@ CeladonGym_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_ERIKA, 3 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ErikaScript_0x72a6a, -1
-   person_event SPRITE_LASS, 8 + 4, 7 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerLassMichelle, -1
-   person_event SPRITE_LASS, 8 + 4, 2 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerTanya, -1
-   person_event SPRITE_BUENA, 5 + 4, 3 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBeautyJulia, -1
-   person_event SPRITE_TWIN, 10 + 4, 4 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsJoandzoe1, -1
-   person_event SPRITE_TWIN, 10 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsJoandzoe2, -1
+   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
diff --git a/maps/CeladonMansion1F.asm b/maps/CeladonMansion1F.asm
index 40a963a..26a9a43 100644
--- a/maps/CeladonMansion1F.asm
+++ b/maps/CeladonMansion1F.asm
@@ -91,7 +91,7 @@ CeladonMansion1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_GRANNY, 5 + 4, 1 + 4, $3, 0, 0, -1, -1, 0, 0, 0, CeladonMansionManager, -1
-   person_event SPRITE_GROWLITHE, 6 + 4, 2 + 4, $16, 0, 0, -1, -1, 0, 0, 0, CeladonMansion1FMeowth, -1
-   person_event SPRITE_CLEFAIRY, 4 + 4, 3 + 4, $16, 0, 0, -1, -1, 0, 0, 0, CeladonMansion1FClefairy, -1
-   person_event SPRITE_GROWLITHE, 4 + 4, 4 + 4, $16, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeladonMansion1FNidoranF, -1
+   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
diff --git a/maps/CeladonMansion3F.asm b/maps/CeladonMansion3F.asm
index abe7c7b..5e12a63 100644
--- a/maps/CeladonMansion3F.asm
+++ b/maps/CeladonMansion3F.asm
@@ -206,7 +206,7 @@ CeladonMansion3F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_COOLTRAINER_M, 6 + 4, 3 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x71670, -1
-   person_event SPRITE_GYM_GUY, 4 + 4, 3 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x71696, -1
-   person_event SPRITE_SUPER_NERD, 7 + 4, 0 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x716bc, -1
-   person_event SPRITE_FISHER, 4 + 4, 0 + 4, $7, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x716bf, -1
+   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
diff --git a/maps/CeladonMansionRoof.asm b/maps/CeladonMansionRoof.asm
index f2a39e9..b2b4f2b 100644
--- a/maps/CeladonMansionRoof.asm
+++ b/maps/CeladonMansionRoof.asm
@@ -49,4 +49,4 @@ CeladonMansionRoof_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHER, 5 + 4, 7 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x71a39, -1
+   person_event SPRITE_FISHER, 5, 7, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x71a39, -1
diff --git a/maps/CeladonMansionRoofHouse.asm b/maps/CeladonMansionRoofHouse.asm
index 62b2bef..cc89ba5 100644
--- a/maps/CeladonMansionRoofHouse.asm
+++ b/maps/CeladonMansionRoofHouse.asm
@@ -130,4 +130,4 @@ CeladonMansionRoofHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_PHARMACIST, 2 + 4, 3 + 4, $6, 2, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PharmacistScript_0x71afd, -1
+   person_event SPRITE_PHARMACIST, 2, 3, $6, 2, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PharmacistScript_0x71afd, -1
diff --git a/maps/CeladonPokeCenter1F.asm b/maps/CeladonPokeCenter1F.asm
index 3f83b40..8142d0d 100644
--- a/maps/CeladonPokeCenter1F.asm
+++ b/maps/CeladonPokeCenter1F.asm
@@ -156,8 +156,8 @@ CeladonPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x71e22, -1
-   person_event SPRITE_GENTLEMAN, 5 + 4, 1 + 4, $5, 0, 1, -1, -1, 0, 0, 0, GentlemanScript_0x71e25, -1
-   person_event SPRITE_PHARMACIST, 3 + 4, 0 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PharmacistScript_0x71e2b, -1
-   person_event SPRITE_COOLTRAINER_F, 6 + 4, 8 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x71e28, -1
-   person_event SPRITE_SUPER_NERD, 3 + 4, 4 + 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, $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
diff --git a/maps/CeruleanCity.asm b/maps/CeruleanCity.asm
index 20e6adf..ce2c1eb 100644
--- a/maps/CeruleanCity.asm
+++ b/maps/CeruleanCity.asm
@@ -299,9 +299,9 @@ CeruleanCity_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_COOLTRAINER_M, 23 + 4, 15 + 4, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerMScript_0x184009, -1
-   person_event SPRITE_SUPER_NERD, 15 + 4, 23 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x18401d, -1
-   person_event SPRITE_SLOWPOKE, 24 + 4, 20 + 4, $1, 0, 0, -1, -1, 0, 0, 0, CeruleanCitySlowbro, -1
-   person_event SPRITE_COOLTRAINER_F, 24 + 4, 21 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x18402a, -1
-   person_event SPRITE_FISHER, 26 + 4, 30 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x18404a, -1
-   person_event SPRITE_YOUNGSTER, 12 + 4, 6 + 4, $3, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x184064, -1
+   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
diff --git a/maps/CeruleanGym.asm b/maps/CeruleanGym.asm
index 560e9ab..6907f58 100644
--- a/maps/CeruleanGym.asm
+++ b/maps/CeruleanGym.asm
@@ -377,9 +377,9 @@ CeruleanGym_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_ROCKET, 10 + 4, 4 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_CERULEAN_GYM_ROCKET
-   person_event SPRITE_MISTY, 3 + 4, 5 + 4, $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, 4 + 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 + 4, 1 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerSwimmerfBriana, EVENT_TRAINERS_IN_CERULEAN_GYM
-   person_event SPRITE_SWIMMER_GUY, 9 + 4, 8 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermParker, EVENT_TRAINERS_IN_CERULEAN_GYM
-   person_event SPRITE_GYM_GUY, 13 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeruleanGymGuyScript, EVENT_TRAINERS_IN_CERULEAN_GYM
+   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
diff --git a/maps/CeruleanGymBadgeSpeechHouse.asm b/maps/CeruleanGymBadgeSpeechHouse.asm
index c7675f7..6697c42 100644
--- a/maps/CeruleanGymBadgeSpeechHouse.asm
+++ b/maps/CeruleanGymBadgeSpeechHouse.asm
@@ -30,4 +30,4 @@ CeruleanGymBadgeSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKEFAN_M, 3 + 4, 2 + 4, $9, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x188002, -1
+   person_event SPRITE_POKEFAN_M, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x188002, -1
diff --git a/maps/CeruleanMart.asm b/maps/CeruleanMart.asm
index 6116afd..e1824e5 100644
--- a/maps/CeruleanMart.asm
+++ b/maps/CeruleanMart.asm
@@ -57,6 +57,6 @@ CeruleanMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x188ac0, -1
-   person_event SPRITE_COOLTRAINER_M, 6 + 4, 1 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerMScript_0x188ac7, -1
-   person_event SPRITE_COOLTRAINER_F, 2 + 4, 7 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x188aca, -1
+   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
diff --git a/maps/CeruleanPokeCenter1F.asm b/maps/CeruleanPokeCenter1F.asm
index d47a458..ea636a3 100644
--- a/maps/CeruleanPokeCenter1F.asm
+++ b/maps/CeruleanPokeCenter1F.asm
@@ -75,6 +75,6 @@ CeruleanPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18820f, -1
-   person_event SPRITE_SUPER_NERD, 4 + 4, 8 + 4, $5, 0, 1, -1, -1, 0, 0, 0, SuperNerdScript_0x188212, -1
-   person_event SPRITE_GYM_GUY, 5 + 4, 1 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GymGuyScript_0x18821e, -1
+   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
diff --git a/maps/CeruleanPoliceStation.asm b/maps/CeruleanPoliceStation.asm
index 77274d3..a79a679 100644
--- a/maps/CeruleanPoliceStation.asm
+++ b/maps/CeruleanPoliceStation.asm
@@ -55,6 +55,6 @@ CeruleanPoliceStation_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_FISHING_GURU, 1 + 4, 5 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x18804a, -1
-   person_event SPRITE_POKEFAN_F, 4 + 4, 5 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x18804d, -1
-   person_event SPRITE_DIGLETT, 5 + 4, 3 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, DiglettScript_0x188050, -1
+   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
diff --git a/maps/CeruleanTradeSpeechHouse.asm b/maps/CeruleanTradeSpeechHouse.asm
index 0b0a775..aa063b1 100644
--- a/maps/CeruleanTradeSpeechHouse.asm
+++ b/maps/CeruleanTradeSpeechHouse.asm
@@ -64,7 +64,7 @@ CeruleanTradeSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_GRANNY, 4 + 4, 2 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrannyScript_0x188133, -1
-   person_event SPRITE_GRAMPS, 2 + 4, 1 + 4, $2, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x188136, -1
-   person_event SPRITE_RHYDON, 2 + 4, 5 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, RhydonScript_0x188139, -1
-   person_event SPRITE_ZUBAT, 6 + 4, 5 + 4, $16, 0, 0, -1, -1, 0, 0, 0, ZubatScript_0x188143, -1
+   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
diff --git a/maps/CharcoalKiln.asm b/maps/CharcoalKiln.asm
index 46b96c8..7cd0bbc 100644
--- a/maps/CharcoalKiln.asm
+++ b/maps/CharcoalKiln.asm
@@ -163,6 +163,6 @@ CharcoalKiln_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_BLACK_BELT, 3 + 4, 2 + 4, $3, 0, 0, -1, -1, 0, 0, 0, CharcoalKilnBoss, EVENT_CHARCOAL_KILN_BOSS
-   person_event SPRITE_YOUNGSTER, 3 + 4, 5 + 4, $2, 1, 1, -1, -1, 0, 0, 0, CharcoalKilnApprentice, EVENT_CHARCOAL_KILN_APPRENTICE
-   person_event SPRITE_MOLTRES, 6 + 4, 5 + 4, $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, $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
diff --git a/maps/CherrygroveCity.asm b/maps/CherrygroveCity.asm
index 7e80252..f90c6f4 100644
--- a/maps/CherrygroveCity.asm
+++ b/maps/CherrygroveCity.asm
@@ -570,8 +570,8 @@ CherrygroveCity_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_GRAMPS, 6 + 4, 32 + 4, $6, 0, 0, -1, -1, 0, 0, 0, CherrygroveCityGuideGent, EVENT_GUIDE_GENT_IN_HIS_HOUSE
-   person_event SPRITE_SILVER, 6 + 4, 39 + 4, $3, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_CHERRYGROVE_CITY
-   person_event SPRITE_TEACHER, 12 + 4, 27 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x19c146, -1
-   person_event SPRITE_YOUNGSTER, 7 + 4, 23 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x19c15a, -1
-   person_event SPRITE_FISHER, 12 + 4, 7 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, MysticWaterGuy, -1
+   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
diff --git a/maps/CherrygroveEvolutionSpeechHouse.asm b/maps/CherrygroveEvolutionSpeechHouse.asm
index a69be8b..028842e 100644
--- a/maps/CherrygroveEvolutionSpeechHouse.asm
+++ b/maps/CherrygroveEvolutionSpeechHouse.asm
@@ -56,5 +56,5 @@ CherrygroveEvolutionSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_LASS, 5 + 4, 3 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x196cb9, -1
-   person_event SPRITE_YOUNGSTER, 5 + 4, 2 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x196cb2, -1
+   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
diff --git a/maps/CherrygroveGymSpeechHouse.asm b/maps/CherrygroveGymSpeechHouse.asm
index e550c7f..852d2c3 100644
--- a/maps/CherrygroveGymSpeechHouse.asm
+++ b/maps/CherrygroveGymSpeechHouse.asm
@@ -59,5 +59,5 @@ CherrygroveGymSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKEFAN_M, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x196ae1, -1
-   person_event SPRITE_BUG_CATCHER, 5 + 4, 5 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x196ae4, -1
+   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
diff --git a/maps/CherrygroveMart.asm b/maps/CherrygroveMart.asm
index 477668a..7c35c3b 100644
--- a/maps/CherrygroveMart.asm
+++ b/maps/CherrygroveMart.asm
@@ -83,6 +83,6 @@ CherrygroveMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x19680a, -1
-   person_event SPRITE_COOLTRAINER_M, 6 + 4, 7 + 4, $5, 0, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x19681d, -1
-   person_event SPRITE_YOUNGSTER, 5 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x196831, -1
+   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
diff --git a/maps/CherrygrovePokeCenter1F.asm b/maps/CherrygrovePokeCenter1F.asm
index dde5aba..4b250f2 100644
--- a/maps/CherrygrovePokeCenter1F.asm
+++ b/maps/CherrygrovePokeCenter1F.asm
@@ -80,7 +80,7 @@ CherrygrovePokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x19696d, -1
-   person_event SPRITE_FISHER, 3 + 4, 2 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x196970, -1
-   person_event SPRITE_GENTLEMAN, 6 + 4, 8 + 4, $7, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x196973, -1
-   person_event SPRITE_TEACHER, 6 + 4, 1 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x196976, -1
+   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
diff --git a/maps/CianwoodCity.asm b/maps/CianwoodCity.asm
index 29daf53..1efd4ff 100644
--- a/maps/CianwoodCity.asm
+++ b/maps/CianwoodCity.asm
@@ -401,15 +401,15 @@ CianwoodCity_MapEventHeader:
 
 .PersonEvents:
    db 12
-   person_event SPRITE_STANDING_YOUNGSTER, 37 + 4, 21 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, StandingYoungsterScript_0x1a00b3, -1
-   person_event SPRITE_POKEFAN_M, 33 + 4, 17 + 4, $5, 0, 1, -1, -1, 0, 0, 0, PokefanMScript_0x1a00b6, -1
-   person_event SPRITE_LASS, 42 + 4, 14 + 4, $4, 2, 0, -1, -1, 0, 0, 0, LassScript_0x1a00b9, -1
-   person_event SPRITE_ROCK, 16 + 4, 8 + 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-   person_event SPRITE_ROCK, 17 + 4, 9 + 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-   person_event SPRITE_ROCK, 25 + 4, 4 + 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-   person_event SPRITE_ROCK, 29 + 4, 5 + 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-   person_event SPRITE_ROCK, 27 + 4, 10 + 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-   person_event SPRITE_ROCK, 19 + 4, 4 + 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-   person_event SPRITE_POKEFAN_F, 46 + 4, 10 + 4, $5, 0, 1, -1, -1, 0, 0, 0, PokefanFScript_0x1a0084, -1
-   person_event SPRITE_SUPER_NERD, 21 + 4, 11 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_CIANWOOD_CITY_EUSINE
-   person_event SPRITE_SUICUNE, 14 + 4, 10 + 4, $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, $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
diff --git a/maps/CianwoodCityPhotoStudio.asm b/maps/CianwoodCityPhotoStudio.asm
index 6e934e5..773c823 100644
--- a/maps/CianwoodCityPhotoStudio.asm
+++ b/maps/CianwoodCityPhotoStudio.asm
@@ -62,4 +62,4 @@ CianwoodCityPhotoStudio_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHING_GURU, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FishingGuruScript_0x9e0e0, -1
+   person_event SPRITE_FISHING_GURU, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FishingGuruScript_0x9e0e0, -1
diff --git a/maps/CianwoodGym.asm b/maps/CianwoodGym.asm
index 1e6044d..4f66a26 100644
--- a/maps/CianwoodGym.asm
+++ b/maps/CianwoodGym.asm
@@ -313,12 +313,12 @@ CianwoodGym_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_CHUCK, 1 + 4, 4 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, ChuckScript_0x9d60f, -1
-   person_event SPRITE_BLACK_BELT, 12 + 4, 2 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBlackbeltYoshi, -1
-   person_event SPRITE_BLACK_BELT, 12 + 4, 7 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBlackbeltLao, -1
-   person_event SPRITE_BLACK_BELT, 9 + 4, 3 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBlackbeltNob, -1
-   person_event SPRITE_BLACK_BELT, 5 + 4, 5 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerBlackbeltLung, -1
-   person_event SPRITE_BOULDER, 1 + 4, 5 + 4, $19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
-   person_event SPRITE_BOULDER, 7 + 4, 3 + 4, $19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
-   person_event SPRITE_BOULDER, 7 + 4, 4 + 4, $19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
-   person_event SPRITE_BOULDER, 7 + 4, 5 + 4, $19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
+   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
diff --git a/maps/CianwoodLugiaSpeechHouse.asm b/maps/CianwoodLugiaSpeechHouse.asm
index 052eaf9..ee69203 100644
--- a/maps/CianwoodLugiaSpeechHouse.asm
+++ b/maps/CianwoodLugiaSpeechHouse.asm
@@ -75,6 +75,6 @@ CianwoodLugiaSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_TEACHER, 4 + 4, 2 + 4, $6, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x9e1b0, -1
-   person_event SPRITE_LASS, 5 + 4, 6 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x9e1b3, -1
-   person_event SPRITE_TWIN, 2 + 4, 0 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TwinScript_0x9e1b6, -1
+   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
diff --git a/maps/CianwoodPharmacy.asm b/maps/CianwoodPharmacy.asm
index f3d68c9..8d09c50 100644
--- a/maps/CianwoodPharmacy.asm
+++ b/maps/CianwoodPharmacy.asm
@@ -90,4 +90,4 @@ CianwoodPharmacy_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_PHARMACIST, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CianwoodPharmacist, -1
+   person_event SPRITE_PHARMACIST, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CianwoodPharmacist, -1
diff --git a/maps/CianwoodPokeCenter1F.asm b/maps/CianwoodPokeCenter1F.asm
index 06224d6..e2c4dce 100644
--- a/maps/CianwoodPokeCenter1F.asm
+++ b/maps/CianwoodPokeCenter1F.asm
@@ -143,7 +143,7 @@ CianwoodPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x9dbcf, -1
-   person_event SPRITE_LASS, 5 + 4, 1 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x9dbd2, -1
-   person_event SPRITE_GYM_GUY, 3 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CianwoodGymGuyScript, -1
-   person_event SPRITE_SUPER_NERD, 6 + 4, 8 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x9dbea, -1
+   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
diff --git a/maps/CinnabarIsland.asm b/maps/CinnabarIsland.asm
index 8e81489..871be40 100644
--- a/maps/CinnabarIsland.asm
+++ b/maps/CinnabarIsland.asm
@@ -146,4 +146,4 @@ CinnabarIsland_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_BLUE, 6 + 4, 9 + 4, $3, 0, 0, -1, -1, 0, 0, 0, CinnabarIslandBlue, EVENT_BLUE_IN_CINNABAR
+   person_event SPRITE_BLUE, 6, 9, $3, 0, 0, -1, -1, 0, 0, 0, CinnabarIslandBlue, EVENT_BLUE_IN_CINNABAR
diff --git a/maps/CinnabarPokeCenter1F.asm b/maps/CinnabarPokeCenter1F.asm
index b036fbe..14f300c 100644
--- a/maps/CinnabarPokeCenter1F.asm
+++ b/maps/CinnabarPokeCenter1F.asm
@@ -47,6 +47,6 @@ CinnabarPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x1ab32c, -1
-   person_event SPRITE_COOLTRAINER_F, 6 + 4, 7 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x1ab32f, -1
-   person_event SPRITE_FISHER, 4 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1ab332, -1
+   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
diff --git a/maps/Colosseum.asm b/maps/Colosseum.asm
index e08aa2e..c77512f 100644
--- a/maps/Colosseum.asm
+++ b/maps/Colosseum.asm
@@ -83,5 +83,5 @@ Colosseum_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_CHRIS, 4 + 4, 3 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_GAVE_KURT_APRICORNS
-   person_event SPRITE_CHRIS, 4 + 4, 6 + 4, $8, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_RECEIVED_BALLS_FROM_KURT
+   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
diff --git a/maps/CopycatsHouse1F.asm b/maps/CopycatsHouse1F.asm
index 68e8029..4eb7919 100644
--- a/maps/CopycatsHouse1F.asm
+++ b/maps/CopycatsHouse1F.asm
@@ -85,6 +85,6 @@ CopycatsHouse1F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKEFAN_M, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x18ad13, -1
-   person_event SPRITE_POKEFAN_F, 4 + 4, 5 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PokefanFScript_0x18ad16, -1
-   person_event SPRITE_CLEFAIRY, 6 + 4, 6 + 4, $16, 0, 0, -1, -1, 0, 0, 0, ClefairyScript_0x18ad2a, -1
+   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
diff --git a/maps/CopycatsHouse2F.asm b/maps/CopycatsHouse2F.asm
index 0f9e16f..b4e608c 100644
--- a/maps/CopycatsHouse2F.asm
+++ b/maps/CopycatsHouse2F.asm
@@ -373,9 +373,9 @@ CopycatsHouse2F_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_COPYCAT, 3 + 4, 4 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Copycat, EVENT_COPYCAT_1
-   person_event SPRITE_MOLTRES, 4 + 4, 6 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CopycatsDodrio, -1
-   person_event SPRITE_FAIRY, 1 + 4, 6 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CopycatsHouse2FDoll, EVENT_COPYCATS_HOUSE_2F_DOLL
-   person_event SPRITE_MONSTER, 1 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CopycatsHouse2FDoll, -1
-   person_event SPRITE_BIRD, 1 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CopycatsHouse2FDoll, -1
-   person_event SPRITE_COPYCAT, 3 + 4, 4 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, Copycat, EVENT_COPYCAT_2
+   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
diff --git a/maps/DanceTheatre.asm b/maps/DanceTheatre.asm
index d206bd2..4824e67 100644
--- a/maps/DanceTheatre.asm
+++ b/maps/DanceTheatre.asm
@@ -345,12 +345,12 @@ DanceTheatre_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_KIMONO_GIRL, 2 + 4, 0 + 4, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerKimono_girlNaoko2, -1
-   person_event SPRITE_KIMONO_GIRL, 1 + 4, 2 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerKimono_girlSayo, -1
-   person_event SPRITE_KIMONO_GIRL, 2 + 4, 6 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerKimono_girlZuki, -1
-   person_event SPRITE_KIMONO_GIRL, 1 + 4, 9 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerKimono_girlKuni, -1
-   person_event SPRITE_KIMONO_GIRL, 2 + 4, 11 + 4, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerKimono_girlMiki, -1
-   person_event SPRITE_GENTLEMAN, 10 + 4, 7 + 4, $7, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x994c6, -1
-   person_event SPRITE_RHYDON, 8 + 4, 6 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, RhydonScript_0x9951b, -1
-   person_event SPRITE_COOLTRAINER_M, 10 + 4, 10 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x99525, -1
-   person_event SPRITE_GRANNY, 6 + 4, 3 + 4, $7, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x99528, -1
+   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
diff --git a/maps/DarkCaveBlackthornEntrance.asm b/maps/DarkCaveBlackthornEntrance.asm
index 218ca0a..0fdc70f 100644
--- a/maps/DarkCaveBlackthornEntrance.asm
+++ b/maps/DarkCaveBlackthornEntrance.asm
@@ -73,6 +73,6 @@ DarkCaveBlackthornEntrance_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_PHARMACIST, 3 + 4, 7 + 4, $3, 0, 0, -1, -1, 0, 0, 0, PharmacistScript_0x18c720, -1
-   person_event SPRITE_POKE_BALL, 24 + 4, 21 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c73b, EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_REVIVE
-   person_event SPRITE_POKE_BALL, 22 + 4, 7 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c73d, EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_TM_SNORE
+   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
diff --git a/maps/DarkCaveVioletEntrance.asm b/maps/DarkCaveVioletEntrance.asm
index 896faac..9807cce 100644
--- a/maps/DarkCaveVioletEntrance.asm
+++ b/maps/DarkCaveVioletEntrance.asm
@@ -43,11 +43,11 @@ DarkCaveVioletEntrance_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_POKE_BALL, 8 + 4, 6 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c68e, EVENT_DARK_CAVE_VIOLET_ENTRANCE_POTION
-   person_event SPRITE_ROCK, 14 + 4, 16 + 4, $18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
-   person_event SPRITE_ROCK, 6 + 4, 27 + 4, $18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
-   person_event SPRITE_ROCK, 14 + 4, 7 + 4, $18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
-   person_event SPRITE_ROCK, 31 + 4, 36 + 4, $18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
-   person_event SPRITE_POKE_BALL, 22 + 4, 36 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c690, EVENT_DARK_CAVE_VIOLET_ENTRANCE_FULL_HEAL
-   person_event SPRITE_POKE_BALL, 9 + 4, 35 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c692, EVENT_DARK_CAVE_VIOLET_ENTRANCE_HYPER_POTION
-   person_event SPRITE_POKE_BALL, 28 + 4, 30 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c694, EVENT_DARK_CAVE_VIOLET_ENTRANCE_DIRE_HIT
+   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
diff --git a/maps/DayCare.asm b/maps/DayCare.asm
index 2310c52..1415c73 100644
--- a/maps/DayCare.asm
+++ b/maps/DayCare.asm
@@ -175,5 +175,5 @@ DayCare_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_GRAMPS, 3 + 4, 2 + 4, $9, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x62f8f, EVENT_DAYCARE_MAN_IN_DAYCARE
-   person_event SPRITE_GRANNY, 3 + 4, 5 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GrannyScript_0x62fc3, -1
+   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
diff --git a/maps/DiglettsCave.asm b/maps/DiglettsCave.asm
index eb9d894..67d6646 100644
--- a/maps/DiglettsCave.asm
+++ b/maps/DiglettsCave.asm
@@ -42,4 +42,4 @@ DiglettsCave_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKEFAN_M, 31 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x74002, -1
+   person_event SPRITE_POKEFAN_M, 31, 3, $6, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x74002, -1
diff --git a/maps/DragonShrine.asm b/maps/DragonShrine.asm
index b95524f..199b43c 100644
--- a/maps/DragonShrine.asm
+++ b/maps/DragonShrine.asm
@@ -160,7 +160,7 @@ DragonShrineTestScript:
    playsound SFX_GET_BADGE
    waitbutton
    special RestartMapMusic
-   specialphonecall ELMCALL_MASTERBALL
+   specialphonecall SPECIALCALL_MASTERBALL
    dotrigger $1
    domaptrigger DRAGONS_DEN_B1F, $1
    writetext UnknownText_0x18d9f2
@@ -681,7 +681,7 @@ DragonShrine_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_ELDER, 1 + 4, 5 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d1a5, EVENT_GAVE_KURT_APRICORNS
-   person_event SPRITE_ELDER, 4 + 4, 2 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d205, EVENT_GAVE_KURT_APRICORNS
-   person_event SPRITE_ELDER, 4 + 4, 7 + 4, $8, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d20d, EVENT_GAVE_KURT_APRICORNS
-   person_event SPRITE_CLAIR, 8 + 4, 4 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_DRAGON_SHRINE_CLAIR
+   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
diff --git a/maps/DragonsDenB1F.asm b/maps/DragonsDenB1F.asm
index c69dad1..baaa078 100644
--- a/maps/DragonsDenB1F.asm
+++ b/maps/DragonsDenB1F.asm
@@ -419,12 +419,12 @@ DragonsDenB1F_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_POKE_BALL, 16 + 4, 35 + 4, $1, 0, 0, -1, -1, 0, 0, 0, PokeBallScript_0x18c95a, EVENT_DRAGONS_DEN_B1F_DRAGON_FANG
-   person_event SPRITE_CLAIR, 30 + 4, 14 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_DRAGONS_DEN_CLAIR
-   person_event SPRITE_SILVER, 23 + 4, 20 + 4, $2, 2, 2, -1, -1, 0, 0, 0, SilverScript_0x18c97e, EVENT_RIVAL_DRAGONS_DEN
-   person_event SPRITE_COOLTRAINER_M, 8 + 4, 20 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainermDarin, -1
-   person_event SPRITE_COOLTRAINER_F, 8 + 4, 8 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfCara, -1
-   person_event SPRITE_TWIN, 17 + 4, 4 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsLeaandpia1, -1
-   person_event SPRITE_TWIN, 18 + 4, 4 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsLeaandpia2, -1
-   person_event SPRITE_POKE_BALL, 4 + 4, 30 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c9a1, EVENT_DRAGONS_DEN_B1F_CALCIUM
-   person_event SPRITE_POKE_BALL, 20 + 4, 5 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c9a3, EVENT_DRAGONS_DEN_B1F_MAX_ELIXER
+   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
diff --git a/maps/EarlsPokemonAcademy.asm b/maps/EarlsPokemonAcademy.asm
index 89b562a..4c5aeef 100644
--- a/maps/EarlsPokemonAcademy.asm
+++ b/maps/EarlsPokemonAcademy.asm
@@ -425,9 +425,9 @@ EarlsPokemonAcademy_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_FISHER, 2 + 4, 4 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, AcademyEarl, EVENT_EARLS_ACADEMY_EARL
-   person_event SPRITE_YOUNGSTER, 5 + 4, 2 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x68a83, -1
-   person_event SPRITE_GAMEBOY_KID, 11 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, GameboyKidScript_0x68a86, -1
-   person_event SPRITE_GAMEBOY_KID, 11 + 4, 4 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GameboyKidScript_0x68a91, -1
-   person_event SPRITE_YOUNGSTER, 7 + 4, 4 + 4, $7, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x68a9c, -1
-   person_event SPRITE_POKEDEX, 4 + 4, 2 + 4, $1, 0, 0, -1, -1, 0, 0, 0, AcademyNotebook, -1
+   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
diff --git a/maps/EcruteakCity.asm b/maps/EcruteakCity.asm
index c695048..6b072e6 100644
--- a/maps/EcruteakCity.asm
+++ b/maps/EcruteakCity.asm
@@ -290,10 +290,10 @@ EcruteakCity_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_GRAMPS, 15 + 4, 18 + 4, $2, 1, 1, -1, -1, 0, 0, 0, GrampsScript_0x1a4009, -1
-   person_event SPRITE_GRAMPS, 21 + 4, 20 + 4, $3, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a400c, -1
-   person_event SPRITE_LASS, 29 + 4, 21 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x1a4012, -1
-   person_event SPRITE_LASS, 9 + 4, 3 + 4, $7, 0, 0, -1, -1, 0, 0, 0, LassScript_0x1a4015, -1
-   person_event SPRITE_FISHER, 22 + 4, 9 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a4029, -1
-   person_event SPRITE_YOUNGSTER, 14 + 4, 10 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x1a403d, -1
-   person_event SPRITE_GRAMPS, 7 + 4, 3 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x1a400f, EVENT_ECRUTEAK_CITY_GRAMPS
+   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
diff --git a/maps/EcruteakGym.asm b/maps/EcruteakGym.asm
index 2998ef7..9c012fe 100644
--- a/maps/EcruteakGym.asm
+++ b/maps/EcruteakGym.asm
@@ -429,10 +429,10 @@ EcruteakGym_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_MORTY, 1 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MortyScript_0x99d58, -1
-   person_event SPRITE_SAGE, 7 + 4, 2 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSageJeffrey, -1
-   person_event SPRITE_SAGE, 13 + 4, 3 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSagePing, -1
-   person_event SPRITE_GRANNY, 5 + 4, 7 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerMediumMartha, -1
-   person_event SPRITE_GRANNY, 9 + 4, 7 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerMediumGrace, -1
-   person_event SPRITE_GYM_GUY, 15 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, EcruteakGymGuyScript, -1
-   person_event SPRITE_GRAMPS, 14 + 4, 4 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, EVENT_ECRUTEAK_GYM_GRAMPS
+   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
diff --git a/maps/EcruteakHouse.asm b/maps/EcruteakHouse.asm
index c0a08d4..b410f7d 100644
--- a/maps/EcruteakHouse.asm
+++ b/maps/EcruteakHouse.asm
@@ -298,7 +298,7 @@ EcruteakHouse_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_SAGE, 6 + 4, 4 + 4, $6, 0, 0, -1, -1, 0, 0, 0, SageScript_0x98062, EVENT_RANG_CLEAR_BELL_1
-   person_event SPRITE_SAGE, 6 + 4, 5 + 4, $6, 0, 0, -1, -1, 0, 0, 0, SageScript_0x98062, EVENT_RANG_CLEAR_BELL_2
-   person_event SPRITE_SAGE, 9 + 4, 6 + 4, $2, 1, 1, -1, -1, 0, 0, 0, SageScript_0x980b0, EVENT_ECRUTEAK_HOUSE_WANDERING_SAGE
-   person_event SPRITE_GRAMPS, 11 + 4, 3 + 4, $2, 1, 1, -1, -1, 0, 0, 0, GrampsScript_0x980c4, EVENT_ECRUTEAK_HOUSE_WANDERING_SAGE
+   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
diff --git a/maps/EcruteakItemfinderHouse.asm b/maps/EcruteakItemfinderHouse.asm
index 5b30680..bc1b679 100644
--- a/maps/EcruteakItemfinderHouse.asm
+++ b/maps/EcruteakItemfinderHouse.asm
@@ -176,5 +176,5 @@ EcruteakItemfinderHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_COOLTRAINER_M, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x9a5fb, -1
-   person_event SPRITE_POKEDEX, 3 + 4, 3 + 4, $1, 0, 0, -1, -1, 0, 0, 0, PokedexScript_0x9a620, -1
+   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
diff --git a/maps/EcruteakLugiaSpeechHouse.asm b/maps/EcruteakLugiaSpeechHouse.asm
index 5dca046..d3218b2 100644
--- a/maps/EcruteakLugiaSpeechHouse.asm
+++ b/maps/EcruteakLugiaSpeechHouse.asm
@@ -58,5 +58,5 @@ EcruteakLugiaSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_GRAMPS, 3 + 4, 2 + 4, $3, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x99334, -1
-   person_event SPRITE_YOUNGSTER, 4 + 4, 5 + 4, $8, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x99337, -1
+   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
diff --git a/maps/EcruteakMart.asm b/maps/EcruteakMart.asm
index 3a1e97a..e382615 100644
--- a/maps/EcruteakMart.asm
+++ b/maps/EcruteakMart.asm
@@ -57,6 +57,6 @@ EcruteakMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x99c3b, -1
-   person_event SPRITE_SUPER_NERD, 2 + 4, 5 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x99c42, -1
-   person_event SPRITE_GRANNY, 6 + 4, 6 + 4, $7, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x99c45, -1
+   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
diff --git a/maps/EcruteakPokeCenter1F.asm b/maps/EcruteakPokeCenter1F.asm
index 0ded878..66acfaa 100644
--- a/maps/EcruteakPokeCenter1F.asm
+++ b/maps/EcruteakPokeCenter1F.asm
@@ -219,8 +219,8 @@ EcruteakPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x98eb0, -1
-   person_event SPRITE_POKEFAN_M, 6 + 4, 7 + 4, $a, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x98eb3, -1
-   person_event SPRITE_COOLTRAINER_F, 4 + 4, 1 + 4, $3, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x98ebf, -1
-   person_event SPRITE_GYM_GUY, 1 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GymGuyScript_0x98ec2, -1
-   person_event SPRITE_BILL, 7 + 4, 0 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_ECRUTEAK_POKE_CENTER_BILL
+   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
diff --git a/maps/ElmsHouse.asm b/maps/ElmsHouse.asm
index c949c19..e8673a6 100644
--- a/maps/ElmsHouse.asm
+++ b/maps/ElmsHouse.asm
@@ -99,5 +99,5 @@ ElmsHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_TEACHER, 5 + 4, 1 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ElmsWife, -1
-   person_event SPRITE_BUG_CATCHER, 4 + 4, 5 + 4, $7, 0, 0, -1, -1, 0, 0, 0, ElmsSon, -1
+   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
diff --git a/maps/ElmsLab.asm b/maps/ElmsLab.asm
index 1cda6e8..45e0c23 100644
--- a/maps/ElmsLab.asm
+++ b/maps/ElmsLab.asm
@@ -1408,9 +1408,9 @@ ElmsLab_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_ELM, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ProfElmScript, -1
-   person_event SPRITE_SCIENTIST, 9 + 4, 2 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ElmsAideScript, EVENT_ELMS_AIDE_IN_LAB
-   person_event SPRITE_POKE_BALL, 3 + 4, 6 + 4, $1, 0, 0, -1, -1, 0, 0, 0, CyndaquilPokeBallScript, EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB
-   person_event SPRITE_POKE_BALL, 3 + 4, 7 + 4, $1, 0, 0, -1, -1, 0, 0, 0, TotodilePokeBallScript, EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB
-   person_event SPRITE_POKE_BALL, 3 + 4, 8 + 4, $1, 0, 0, -1, -1, 0, 0, 0, ChikoritaPokeBallScript, EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB
-   person_event SPRITE_OFFICER, 3 + 4, 5 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CopScript, EVENT_COP_IN_ELMS_LAB
+   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
diff --git a/maps/FastShip1F.asm b/maps/FastShip1F.asm
index 7a52def..5e3f3a0 100644
--- a/maps/FastShip1F.asm
+++ b/maps/FastShip1F.asm
@@ -310,7 +310,7 @@ FastShip1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_SAILOR, 2 + 4, 25 + 4, $6, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x75160, -1
-   person_event SPRITE_SAILOR, 7 + 4, 14 + 4, $9, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x751d0, -1
-   person_event SPRITE_SAILOR, 17 + 4, 22 + 4, $5, 0, 2, -1, -1, 0, 0, 0, SailorScript_0x751e4, -1
-   person_event SPRITE_GENTLEMAN, 6 + 4, 19 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_FAST_SHIP_1F_GENTLEMAN
+   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
diff --git a/maps/FastShipB1F.asm b/maps/FastShipB1F.asm
index 503accd..735ad6e 100644
--- a/maps/FastShipB1F.asm
+++ b/maps/FastShipB1F.asm
@@ -456,15 +456,15 @@ FastShipB1F_MapEventHeader:
 
 .PersonEvents:
    db 12
-   person_event SPRITE_SAILOR, 6 + 4, 30 + 4, $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 + 4, 31 + 4, $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 + 4, 9 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorJeff, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-   person_event SPRITE_LASS, 4 + 4, 6 + 4, $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 + 4, 26 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerJugglerFritz, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-   person_event SPRITE_SAILOR, 4 + 4, 17 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSailorGarrett, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-   person_event SPRITE_FISHER, 8 + 4, 25 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherJonah, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-   person_event SPRITE_BLACK_BELT, 11 + 4, 15 + 4, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBlackbeltWai, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-   person_event SPRITE_SAILOR, 4 + 4, 23 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSailorKenneth, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-   person_event SPRITE_TEACHER, 11 + 4, 9 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerTeacherShirley, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-   person_event SPRITE_YOUNGSTER, 9 + 4, 14 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyNate, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-   person_event SPRITE_YOUNGSTER, 11 + 4, 14 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyRicky, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+   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
diff --git a/maps/FastShipCabins_NNW_NNE_NE.asm b/maps/FastShipCabins_NNW_NNE_NE.asm
index 300bfb1..4f1e4be 100644
--- a/maps/FastShipCabins_NNW_NNE_NE.asm
+++ b/maps/FastShipCabins_NNW_NNE_NE.asm
@@ -278,10 +278,10 @@ FastShipCabins_NNW_NNE_NE_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_COOLTRAINER_M, 3 + 4, 4 + 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 + 4, 1 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfCarol, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-   person_event SPRITE_SUPER_NERD, 5 + 4, 1 + 4, $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, 4 + 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, 4 + 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 + 4, 7 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerGentlemanEdward, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-   person_event SPRITE_PHARMACIST, 30 + 4, 2 + 4, $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, $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
diff --git a/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm b/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
index 6589343..cd49d5a 100644
--- a/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
+++ b/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
@@ -471,14 +471,14 @@ FastShipCabins_SE_SSE_CaptainsCabin_MapEventHeader:
 
 .PersonEvents:
    db 11
-   person_event SPRITE_CAPTAIN, 25 + 4, 3 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CaptainScript_0x75ea7, -1
-   person_event SPRITE_GENTLEMAN, 17 + 4, 2 + 4, $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 + 4, 3 + 4, $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 + 4, 2 + 4, $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 + 4, 5 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerPokefanmColin, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-   person_event SPRITE_TWIN, 4 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsMegandpeg1, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-   person_event SPRITE_TWIN, 4 + 4, 3 + 4, $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 + 4, 5 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerPsychicRodney, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-   person_event SPRITE_POKEFAN_M, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmJeremy, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-   person_event SPRITE_POKEFAN_F, 5 + 4, 5 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerPokefanfGeorgia, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-   person_event SPRITE_SUPER_NERD, 15 + 4, 1 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerSupernerdShawn, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+   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
diff --git a/maps/FastShipCabins_SW_SSW_NW.asm b/maps/FastShipCabins_SW_SSW_NW.asm
index 715e1b1..0c610e5 100644
--- a/maps/FastShipCabins_SW_SSW_NW.asm
+++ b/maps/FastShipCabins_SW_SSW_NW.asm
@@ -239,7 +239,7 @@ FastShipCabins_SW_SSW_NW_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_FISHER, 15 + 4, 1 + 4, $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 + 4, 6 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBug_catcherKen, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-   person_event SPRITE_BUENA, 26 + 4, 1 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBeautyCassie, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-   person_event SPRITE_ROCKER, 28 + 4, 3 + 4, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerGuitaristClyde, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+   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
diff --git a/maps/FightingDojo.asm b/maps/FightingDojo.asm
index f3dc275..8b6869c 100644
--- a/maps/FightingDojo.asm
+++ b/maps/FightingDojo.asm
@@ -57,5 +57,5 @@ FightingDojo_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_BLACK_BELT, 4 + 4, 4 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x189b61, -1
-   person_event SPRITE_POKE_BALL, 1 + 4, 3 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x189b6a, EVENT_PICKED_UP_FOCUS_BAND
+   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
diff --git a/maps/FuchsiaBillSpeechHouse.asm b/maps/FuchsiaBillSpeechHouse.asm
index 4803fd1..d523e58 100644
--- a/maps/FuchsiaBillSpeechHouse.asm
+++ b/maps/FuchsiaBillSpeechHouse.asm
@@ -40,5 +40,5 @@ FuchsiaBillSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKEFAN_F, 3 + 4, 2 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x1963bd, -1
-   person_event SPRITE_YOUNGSTER, 4 + 4, 6 + 4, $4, 1, 0, -1, -1, 0, 0, 0, YoungsterScript_0x1963c0, -1
+   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
diff --git a/maps/FuchsiaCity.asm b/maps/FuchsiaCity.asm
index 0ad1f62..5f8bfd8 100644
--- a/maps/FuchsiaCity.asm
+++ b/maps/FuchsiaCity.asm
@@ -154,7 +154,7 @@ FuchsiaCity_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_YOUNGSTER, 18 + 4, 23 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x194b22, -1
-   person_event SPRITE_POKEFAN_M, 8 + 4, 13 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x194b25, -1
-   person_event SPRITE_TEACHER, 14 + 4, 16 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x194b28, -1
-   person_event SPRITE_FRUIT_TREE, 1 + 4, 8 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x194b43, -1
+   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
diff --git a/maps/FuchsiaGym.asm b/maps/FuchsiaGym.asm
index 3fba524..360783a 100644
--- a/maps/FuchsiaGym.asm
+++ b/maps/FuchsiaGym.asm
@@ -391,9 +391,9 @@ FuchsiaGym_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_JANINE, 10 + 4, 1 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, JanineScript_0x195db9, -1
-   person_event SPRITE_FUCHSIA_GYM_1, 7 + 4, 5 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym1Script_0x195e1b, -1
-   person_event SPRITE_FUCHSIA_GYM_2, 11 + 4, 5 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym2Script_0x195e55, -1
-   person_event SPRITE_FUCHSIA_GYM_3, 4 + 4, 9 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym3Script_0x195e8f, -1
-   person_event SPRITE_FUCHSIA_GYM_4, 2 + 4, 4 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym4Script_0x195ec9, -1
-   person_event SPRITE_GYM_GUY, 15 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuchsiaGymGuyScript, -1
+   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
diff --git a/maps/FuchsiaMart.asm b/maps/FuchsiaMart.asm
index a7395d7..6b240ac 100644
--- a/maps/FuchsiaMart.asm
+++ b/maps/FuchsiaMart.asm
@@ -49,6 +49,6 @@ FuchsiaMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x195ce8, -1
-   person_event SPRITE_FISHER, 2 + 4, 3 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x195cef, -1
-   person_event SPRITE_COOLTRAINER_F, 6 + 4, 7 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x195cf2, -1
+   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
diff --git a/maps/FuchsiaPokeCenter1F.asm b/maps/FuchsiaPokeCenter1F.asm
index d401de8..183ec42 100644
--- a/maps/FuchsiaPokeCenter1F.asm
+++ b/maps/FuchsiaPokeCenter1F.asm
@@ -102,7 +102,7 @@ FuchsiaPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, NurseScript_0x196459, -1
-   person_event SPRITE_COOLTRAINER_M, 4 + 4, 8 + 4, $5, 0, 1, -1, -1, 0, 0, 0, CooltrainerMScript_0x19645c, -1
-   person_event SPRITE_COOLTRAINER_F, 4 + 4, 1 + 4, $5, 0, 1, -1, -1, 0, 0, 0, CooltrainerFScript_0x19645f, -1
-   person_event SPRITE_JANINE_IMPERSONATOR, 3 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, JanineImpersonatorScript_0x196462, -1
+   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
diff --git a/maps/GoldenrodBikeShop.asm b/maps/GoldenrodBikeShop.asm
index 275646f..39a3313 100644
--- a/maps/GoldenrodBikeShop.asm
+++ b/maps/GoldenrodBikeShop.asm
@@ -125,4 +125,4 @@ GoldenrodBikeShop_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_CLERK, 2 + 4, 7 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ClerkScript_0x54750, -1
+   person_event SPRITE_CLERK, 2, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ClerkScript_0x54750, -1
diff --git a/maps/GoldenrodBillsHouse.asm b/maps/GoldenrodBillsHouse.asm
index 8cc284c..e8fcd76 100644
--- a/maps/GoldenrodBillsHouse.asm
+++ b/maps/GoldenrodBillsHouse.asm
@@ -257,6 +257,6 @@ GoldenrodBillsHouse_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_BILL, 3 + 4, 2 + 4, $9, 0, 0, -1, -1, 0, 0, 0, BillsHouseBill, EVENT_MET_BILL
-   person_event SPRITE_POKEFAN_F, 3 + 4, 5 + 4, $6, 0, 0, -1, -1, 0, 0, 0, BillsMom, -1
-   person_event SPRITE_TWIN, 4 + 4, 5 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BillsSister, -1
+   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
diff --git a/maps/GoldenrodCity.asm b/maps/GoldenrodCity.asm
index 7f63fc9..e08d75d 100644
--- a/maps/GoldenrodCity.asm
+++ b/maps/GoldenrodCity.asm
@@ -581,18 +581,18 @@ GoldenrodCity_MapEventHeader:
 
 .PersonEvents:
    db 15
-   person_event SPRITE_POKEFAN_M, 18 + 4, 7 + 4, $7, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x1989e3, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_YOUNGSTER, 17 + 4, 30 + 4, $2, 1, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1989e6, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_COOLTRAINER_F, 16 + 4, 12 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x1989e9, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_COOLTRAINER_F, 26 + 4, 20 + 4, $2, 2, 1, -1, -1, 0, 0, 0, CooltrainerFScript_0x1989fd, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_YOUNGSTER, 17 + 4, 19 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x198a11, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_LASS, 10 + 4, 17 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x198a14, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_GRAMPS, 27 + 4, 11 + 4, $5, 0, 1, -1, -1, 0, 0, 0, GrampsScript_0x198a17, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_ROCKET, 16 + 4, 4 + 4, $7, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a1a, EVENT_GOLDENROD_CITY_ROCKET_SCOUT
-   person_event SPRITE_ROCKET, 20 + 4, 28 + 4, $7, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a29, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 15 + 4, 8 + 4, $6, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a2c, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 23 + 4, 16 + 4, $9, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a2f, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 20 + 4, 29 + 4, $7, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a32, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 7 + 4, 29 + 4, $6, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a35, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 10 + 4, 31 + 4, $8, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a38, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_POKEFAN_M, 22 + 4, 12 + 4, $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, $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
diff --git a/maps/GoldenrodDeptStore1F.asm b/maps/GoldenrodDeptStore1F.asm
index e93391a..fc4064c 100644
--- a/maps/GoldenrodDeptStore1F.asm
+++ b/maps/GoldenrodDeptStore1F.asm
@@ -93,7 +93,7 @@ GoldenrodDeptStore1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_RECEPTIONIST, 1 + 4, 10 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x55981, -1
-   person_event SPRITE_POKEFAN_F, 4 + 4, 5 + 4, $6, 0, 0, -1, -1, 0, 0, 0, PokefanFScript_0x55987, -1
-   person_event SPRITE_BUG_CATCHER, 5 + 4, 5 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugCatcherScript_0x5598a, -1
-   person_event SPRITE_GENTLEMAN, 5 + 4, 11 + 4, $2, 1, 1, -1, -1, 0, 0, 0, GentlemanScript_0x55984, -1
+   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
diff --git a/maps/GoldenrodDeptStore2F.asm b/maps/GoldenrodDeptStore2F.asm
index 003695e..61f8e76 100644
--- a/maps/GoldenrodDeptStore2F.asm
+++ b/maps/GoldenrodDeptStore2F.asm
@@ -113,8 +113,8 @@ GoldenrodDeptStore2F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_CLERK, 5 + 4, 13 + 4, $7, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55b5d, -1
-   person_event SPRITE_CLERK, 6 + 4, 13 + 4, $8, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55b65, -1
-   person_event SPRITE_YOUNGSTER, 6 + 4, 9 + 4, $4, 1, 0, -1, -1, 0, 0, 0, YoungsterScript_0x55b6d, -1
-   person_event SPRITE_COOLTRAINER_F, 2 + 4, 6 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x55b70, -1
-   person_event SPRITE_GENTLEMAN, 6 + 4, 2 + 4, $3, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x55b73, -1
+   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
diff --git a/maps/GoldenrodDeptStore3F.asm b/maps/GoldenrodDeptStore3F.asm
index 1eebaa2..40e3c50 100644
--- a/maps/GoldenrodDeptStore3F.asm
+++ b/maps/GoldenrodDeptStore3F.asm
@@ -71,6 +71,6 @@ GoldenrodDeptStore3F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 1 + 4, 6 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55db8, -1
-   person_event SPRITE_SUPER_NERD, 5 + 4, 12 + 4, $a, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x55dc0, -1
-   person_event SPRITE_ROCKER, 5 + 4, 2 + 4, $4, 1, 0, -1, -1, 0, 0, 0, RockerScript_0x55dc3, -1
+   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
diff --git a/maps/GoldenrodDeptStore4F.asm b/maps/GoldenrodDeptStore4F.asm
index c37a80e..d26263e 100644
--- a/maps/GoldenrodDeptStore4F.asm
+++ b/maps/GoldenrodDeptStore4F.asm
@@ -91,7 +91,7 @@ GoldenrodDeptStore4F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_CLERK, 5 + 4, 13 + 4, $7, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55ee9, -1
-   person_event SPRITE_COOLTRAINER_M, 7 + 4, 11 + 4, $9, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x55ef1, -1
-   person_event SPRITE_BUG_CATCHER, 2 + 4, 7 + 4, $5, 0, 1, -1, -1, 0, 0, 0, BugCatcherScript_0x55ef4, -1
-   person_event SPRITE_GAMEBOY_KID, 1 + 4, 5 + 4, $6, 0, 0, -1, -1, 0, 0, 0, GameboyKidScript_0x55ef7, -1
+   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
diff --git a/maps/GoldenrodDeptStore5F.asm b/maps/GoldenrodDeptStore5F.asm
index 098a121..94b1933 100644
--- a/maps/GoldenrodDeptStore5F.asm
+++ b/maps/GoldenrodDeptStore5F.asm
@@ -232,9 +232,9 @@ GoldenrodDeptStore5F_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_CLERK, 5 + 4, 8 + 4, $7, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x5609c, -1
-   person_event SPRITE_LASS, 6 + 4, 3 + 4, $2, 1, 1, -1, -1, 0, 0, 0, LassScript_0x56130, -1
-   person_event SPRITE_COOLTRAINER_M, 3 + 4, 6 + 4, $3, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x56133, -1
-   person_event SPRITE_POKEFAN_M, 5 + 4, 13 + 4, $2, 2, 2, -1, -1, 0, 0, 0, PokefanMScript_0x5613a, -1
-   person_event SPRITE_TWIN, 1 + 4, 9 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x56118, -1
-   person_event SPRITE_RECEPTIONIST, 5 + 4, 7 + 4, $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, $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
diff --git a/maps/GoldenrodDeptStore6F.asm b/maps/GoldenrodDeptStore6F.asm
index aca08aa..e64e1db 100644
--- a/maps/GoldenrodDeptStore6F.asm
+++ b/maps/GoldenrodDeptStore6F.asm
@@ -169,5 +169,5 @@ GoldenrodDeptStore6F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_LASS, 2 + 4, 10 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x564bf, -1
-   person_event SPRITE_SUPER_NERD, 2 + 4, 8 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x564c2, -1
+   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
diff --git a/maps/GoldenrodDeptStoreB1F.asm b/maps/GoldenrodDeptStoreB1F.asm
index 5b448fd..e0606ed 100644
--- a/maps/GoldenrodDeptStoreB1F.asm
+++ b/maps/GoldenrodDeptStoreB1F.asm
@@ -121,11 +121,11 @@ GoldenrodDeptStoreB1F_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_POKE_BALL, 15 + 4, 10 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c3, EVENT_GOLDENROD_DEPT_STORE_B1F_ETHER
-   person_event SPRITE_POKE_BALL, 2 + 4, 14 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c5, EVENT_GOLDENROD_DEPT_STORE_B1F_AMULET_COIN
-   person_event SPRITE_POKE_BALL, 3 + 4, 6 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c7, EVENT_GOLDENROD_DEPT_STORE_B1F_BURN_HEAL
-   person_event SPRITE_POKE_BALL, 15 + 4, 15 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c9, EVENT_GOLDENROD_DEPT_STORE_B1F_ULTRA_BALL
-   person_event SPRITE_BLACK_BELT, 10 + 4, 9 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BlackBeltScript_0x7d7b0, -1
-   person_event SPRITE_BLACK_BELT, 8 + 4, 4 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BlackBeltScript_0x7d7b3, -1
-   person_event SPRITE_BLACK_BELT, 13 + 4, 6 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x7d7b6, -1
-   person_event SPRITE_MACHOP, 7 + 4, 7 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, MachopScript_0x7d7b9, -1
+   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
diff --git a/maps/GoldenrodDeptStoreRoof.asm b/maps/GoldenrodDeptStoreRoof.asm
index 0c3a082..9e65e1b 100644
--- a/maps/GoldenrodDeptStoreRoof.asm
+++ b/maps/GoldenrodDeptStoreRoof.asm
@@ -225,11 +225,11 @@ GoldenrodDeptStoreRoof_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_CLERK, 4 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x5673f, EVENT_GOLDENROD_SALE_OFF
-   person_event SPRITE_POKEFAN_F, 3 + 4, 10 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x56746, -1
-   person_event SPRITE_FISHER, 1 + 4, 2 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x56749, -1
-   person_event SPRITE_TWIN, 4 + 4, 3 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x56754, EVENT_GOLDENROD_SALE_ON
-   person_event SPRITE_SUPER_NERD, 6 + 4, 14 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x56757, EVENT_GOLDENROD_SALE_ON
-   person_event SPRITE_POKEFAN_M, 0 + 4, 7 + 4, $5, 0, 1, -1, -1, 0, 0, 0, PokefanMScript_0x5676a, EVENT_GOLDENROD_SALE_OFF
-   person_event SPRITE_TEACHER, 3 + 4, 5 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x5676d, EVENT_GOLDENROD_SALE_OFF
-   person_event SPRITE_BUG_CATCHER, 6 + 4, 1 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x56770, EVENT_GOLDENROD_SALE_OFF
+   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
diff --git a/maps/GoldenrodFlowerShop.asm b/maps/GoldenrodFlowerShop.asm
index cd9b996..4ff95dd 100644
--- a/maps/GoldenrodFlowerShop.asm
+++ b/maps/GoldenrodFlowerShop.asm
@@ -172,5 +172,5 @@ GoldenrodFlowerShop_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_TEACHER, 4 + 4, 2 + 4, $9, 0, 0, -1, -1, 0, 0, 0, FlowerShopTeacherScript, -1
-   person_event SPRITE_LASS, 6 + 4, 5 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FlowerShopFloriaScript, EVENT_FLORIA_AT_FLOWER_SHOP
+   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
diff --git a/maps/GoldenrodGameCorner.asm b/maps/GoldenrodGameCorner.asm
index b14f319..6fcd393 100644
--- a/maps/GoldenrodGameCorner.asm
+++ b/maps/GoldenrodGameCorner.asm
@@ -479,15 +479,15 @@ GoldenrodGameCorner_MapEventHeader:
 
 .PersonEvents:
    db 12
-   person_event SPRITE_CLERK, 2 + 4, 3 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ClerkScript_0x56c25, -1
-   person_event SPRITE_RECEPTIONIST, 2 + 4, 16 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x56c28, -1
-   person_event SPRITE_RECEPTIONIST, 2 + 4, 18 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x56d01, -1
-   person_event SPRITE_PHARMACIST, 7 + 4, 8 + 4, $8, 0, 0, -1, 2, (1 << 3) | PAL_OW_BLUE, 0, 0, PharmacistScript_0x56df1, -1
-   person_event SPRITE_PHARMACIST, 7 + 4, 8 + 4, $8, 0, 0, -1, 4, (1 << 3) | PAL_OW_BLUE, 0, 0, PharmacistScript_0x56df1, -1
-   person_event SPRITE_POKEFAN_M, 10 + 4, 11 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x56dfc, -1
-   person_event SPRITE_COOLTRAINER_M, 8 + 4, 14 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerMScript_0x56e07, -1
-   person_event SPRITE_POKEFAN_F, 6 + 4, 17 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x56e12, -1
-   person_event SPRITE_COOLTRAINER_F, 3 + 4, 10 + 4, $2, 1, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x56e1d, -1
-   person_event SPRITE_GENTLEMAN, 10 + 4, 5 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GentlemanScript_0x56e20, -1
-   person_event SPRITE_POKEFAN_M, 9 + 4, 2 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x56e2b, -1
-   person_event SPRITE_POKEFAN_M, 10 + 4, 17 + 4, $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, $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
diff --git a/maps/GoldenrodGym.asm b/maps/GoldenrodGym.asm
index 84f2258..fc30ac0 100644
--- a/maps/GoldenrodGym.asm
+++ b/maps/GoldenrodGym.asm
@@ -393,9 +393,9 @@ GoldenrodGym_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_WHITNEY, 3 + 4, 8 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, WhitneyScript_0x5400c, -1
-   person_event SPRITE_LASS, 13 + 4, 9 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerLassCarrie, -1
-   person_event SPRITE_LASS, 6 + 4, 9 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerLassBridget, -1
-   person_event SPRITE_BUENA, 2 + 4, 0 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBeautyVictoria, -1
-   person_event SPRITE_BUENA, 5 + 4, 19 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBeautySamantha, -1
-   person_event SPRITE_GYM_GUY, 15 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GoldenrodGymGuyScript, -1
+   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
diff --git a/maps/GoldenrodHappinessRater.asm b/maps/GoldenrodHappinessRater.asm
index e20351d..5987e88 100644
--- a/maps/GoldenrodHappinessRater.asm
+++ b/maps/GoldenrodHappinessRater.asm
@@ -151,6 +151,6 @@ GoldenrodHappinessRater_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_TEACHER, 4 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x54953, -1
-   person_event SPRITE_POKEFAN_M, 3 + 4, 5 + 4, $8, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x54997, -1
-   person_event SPRITE_TWIN, 6 + 4, 5 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x5499a, -1
+   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
diff --git a/maps/GoldenrodMagnetTrainStation.asm b/maps/GoldenrodMagnetTrainStation.asm
index 9b045d0..218ca08 100644
--- a/maps/GoldenrodMagnetTrainStation.asm
+++ b/maps/GoldenrodMagnetTrainStation.asm
@@ -182,5 +182,5 @@ GoldenrodMagnetTrainStation_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_OFFICER, 9 + 4, 9 + 4, $6, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x550ec, -1
-   person_event SPRITE_GENTLEMAN, 14 + 4, 11 + 4, $2, 2, 2, -1, -1, 0, 0, 0, GentlemanScript_0x55143, EVENT_GOLDENROD_TRAIN_STATION_GENTLEMAN
+   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
diff --git a/maps/GoldenrodNameRatersHouse.asm b/maps/GoldenrodNameRatersHouse.asm
index 782405f..ff13bb6 100644
--- a/maps/GoldenrodNameRatersHouse.asm
+++ b/maps/GoldenrodNameRatersHouse.asm
@@ -41,4 +41,4 @@ GoldenrodNameRatersHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_GENTLEMAN, 4 + 4, 2 + 4, $6, 0, 2, -1, -1, 0, 0, 0, GentlemanScript_0x5577c, -1
+   person_event SPRITE_GENTLEMAN, 4, 2, $6, 0, 2, -1, -1, 0, 0, 0, GentlemanScript_0x5577c, -1
diff --git a/maps/GoldenrodPPSpeechHouse.asm b/maps/GoldenrodPPSpeechHouse.asm
index 04e8c00..294849c 100644
--- a/maps/GoldenrodPPSpeechHouse.asm
+++ b/maps/GoldenrodPPSpeechHouse.asm
@@ -67,5 +67,5 @@ GoldenrodPPSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_FISHER, 4 + 4, 2 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x5564a, -1
-   person_event SPRITE_LASS, 3 + 4, 5 + 4, $8, 1, 0, -1, -1, 0, 0, 0, LassScript_0x5564d, -1
+   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
diff --git a/maps/GoldenrodPokeCenter1F.asm b/maps/GoldenrodPokeCenter1F.asm
index f480d55..e36bc90 100644
--- a/maps/GoldenrodPokeCenter1F.asm
+++ b/maps/GoldenrodPokeCenter1F.asm
@@ -818,8 +818,8 @@ GoldenrodPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x60f91, -1
-   person_event SPRITE_LINK_RECEPTIONIST, 8 + 4, 16 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, -1
-   person_event SPRITE_GAMEBOY_KID, 1 + 4, 6 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GameboyKidScript_0x6101e, -1
-   person_event SPRITE_LASS, 4 + 4, 1 + 4, $5, 0, 1, -1, -1, 0, 0, 0, LassScript_0x61021, -1
-   person_event SPRITE_POKEFAN_F, 5 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanFScript_0x61024, -1
+   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
diff --git a/maps/GoldenrodPokeComCenter2FMobile.asm b/maps/GoldenrodPokeComCenter2FMobile.asm
index 4049f64..30fb9e7 100644
--- a/maps/GoldenrodPokeComCenter2FMobile.asm
+++ b/maps/GoldenrodPokeComCenter2FMobile.asm
@@ -283,6 +283,6 @@ GoldenrodPokeComCenter2FMobile_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_SCIENTIST, 28 + 4, 4 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ScientistScript_0x625d1, -1
-   person_event SPRITE_SCIENTIST, 27 + 4, 7 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x625d4, -1
-   person_event SPRITE_SCIENTIST, 29 + 4, 7 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ScientistScript_0x625d7, -1
+   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
diff --git a/maps/GuideGentsHouse.asm b/maps/GuideGentsHouse.asm
index 7738a9d..eb6c156 100644
--- a/maps/GuideGentsHouse.asm
+++ b/maps/GuideGentsHouse.asm
@@ -43,4 +43,4 @@ GuideGentsHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_GRAMPS, 3 + 4, 2 + 4, $9, 0, 0, -1, -1, 0, 0, 0, GuideGentsHouseGuideGent, EVENT_GUIDE_GENT_VISIBLE_IN_CHERRYGROVE
+   person_event SPRITE_GRAMPS, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, GuideGentsHouseGuideGent, EVENT_GUIDE_GENT_VISIBLE_IN_CHERRYGROVE
diff --git a/maps/HallOfFame.asm b/maps/HallOfFame.asm
index 692662b..00ea547 100644
--- a/maps/HallOfFame.asm
+++ b/maps/HallOfFame.asm
@@ -41,7 +41,7 @@ HallOfFameScript:
    special HealParty
    checkevent EVENT_GOT_SS_TICKET_FROM_ELM
    iftrue .SkipPhoneCall
-   specialphonecall ELMCALL_SSTICKET
+   specialphonecall SPECIALCALL_SSTICKET
 .SkipPhoneCall:
    halloffame
    end
@@ -126,4 +126,4 @@ HallOfFame_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_LANCE, 12 + 4, 4 + 4, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, -1
+   person_event SPRITE_LANCE, 12, 4, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, -1
diff --git a/maps/IcePath1F.asm b/maps/IcePath1F.asm
index 2af51fd..5e8dc3a 100644
--- a/maps/IcePath1F.asm
+++ b/maps/IcePath1F.asm
@@ -33,6 +33,6 @@ IcePath1F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKE_BALL, 7 + 4, 31 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e472, EVENT_GOT_HM07_WATERFALL
-   person_event SPRITE_POKE_BALL, 23 + 4, 32 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e474, EVENT_ICE_PATH_1F_PP_UP
-   person_event SPRITE_POKE_BALL, 9 + 4, 35 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e476, EVENT_ICE_PATH_1F_PROTEIN
+   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
diff --git a/maps/IcePathB1F.asm b/maps/IcePathB1F.asm
index fc13beb..74ec802 100644
--- a/maps/IcePathB1F.asm
+++ b/maps/IcePathB1F.asm
@@ -107,8 +107,8 @@ IcePathB1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_BOULDER, 7 + 4, 11 + 4, $19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_1
-   person_event SPRITE_BOULDER, 8 + 4, 7 + 4, $19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_2
-   person_event SPRITE_BOULDER, 9 + 4, 8 + 4, $19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_3
-   person_event SPRITE_BOULDER, 7 + 4, 17 + 4, $19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_4
-   person_event SPRITE_POKE_BALL, 35 + 4, 5 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e50d, EVENT_ICE_PATH_B1F_IRON
+   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
diff --git a/maps/IcePathB2FBlackthornSide.asm b/maps/IcePathB2FBlackthornSide.asm
index 1f55fc7..5e31ea6 100644
--- a/maps/IcePathB2FBlackthornSide.asm
+++ b/maps/IcePathB2FBlackthornSide.asm
@@ -30,4 +30,4 @@ IcePathB2FBlackthornSide_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 16 + 4, 8 + 4, $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, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e646, EVENT_ICE_PATH_B2F_BLACKTHORN_SIDE_TM_REST
diff --git a/maps/IcePathB2FMahoganySide.asm b/maps/IcePathB2FMahoganySide.asm
index e962ff0..09d3766 100644
--- a/maps/IcePathB2FMahoganySide.asm
+++ b/maps/IcePathB2FMahoganySide.asm
@@ -45,9 +45,9 @@ IcePathB2FMahoganySide_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_BOULDER, 3 + 4, 11 + 4, $1, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_1A
-   person_event SPRITE_BOULDER, 7 + 4, 4 + 4, $1, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_2A
-   person_event SPRITE_BOULDER, 12 + 4, 3 + 4, $1, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_3A
-   person_event SPRITE_BOULDER, 13 + 4, 12 + 4, $1, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_4A
-   person_event SPRITE_POKE_BALL, 9 + 4, 8 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e5a6, EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_FULL_HEAL
-   person_event SPRITE_POKE_BALL, 2 + 4, 0 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e5a8, EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_MAX_POTION
+   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
diff --git a/maps/IcePathB3F.asm b/maps/IcePathB3F.asm
index 9bfc203..1be274d 100644
--- a/maps/IcePathB3F.asm
+++ b/maps/IcePathB3F.asm
@@ -28,5 +28,5 @@ IcePathB3F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKE_BALL, 7 + 4, 5 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e66f, EVENT_ICE_PATH_B3F_NEVERMELTICE
-   person_event SPRITE_ROCK, 6 + 4, 6 + 4, $18, 0, 0, -1, -1, 0, 0, 0, IcePathB3FRock, -1
+   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
diff --git a/maps/IlexForest.asm b/maps/IlexForest.asm
index ec0c073..cab0b66 100644
--- a/maps/IlexForest.asm
+++ b/maps/IlexForest.asm
@@ -950,14 +950,14 @@ IlexForest_MapEventHeader:
 
 .PersonEvents:
    db 11
-   person_event SPRITE_BIRD, 31 + 4, 14 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BirdScript_0x6eb8f, EVENT_ILEX_FOREST_FARFETCHD
-   person_event SPRITE_YOUNGSTER, 28 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6eb7b, EVENT_ILEX_FOREST_APPRENTICE
-   person_event SPRITE_BLACK_BELT, 28 + 4, 5 + 4, $9, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x6edae, EVENT_ILEX_FOREST_CHARCOAL_MASTER
-   person_event SPRITE_ROCKER, 14 + 4, 15 + 4, $9, 0, 0, -1, -1, 0, 0, 0, RockerScript_0x6edde, -1
-   person_event SPRITE_POKE_BALL, 32 + 4, 20 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee10, EVENT_ILEX_FOREST_REVIVE
-   person_event SPRITE_KURT, 29 + 4, 8 + 4, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_ILEX_FOREST_KURT
-   person_event SPRITE_LASS, 24 + 4, 3 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x6ee0d, EVENT_ILEX_FOREST_LASS
-   person_event SPRITE_YOUNGSTER, 1 + 4, 12 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerBug_catcherWayne, -1
-   person_event SPRITE_POKE_BALL, 17 + 4, 9 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee12, EVENT_ILEX_FOREST_X_ATTACK
-   person_event SPRITE_POKE_BALL, 7 + 4, 17 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee14, EVENT_ILEX_FOREST_ANTIDOTE
-   person_event SPRITE_POKE_BALL, 1 + 4, 27 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee16, EVENT_ILEX_FOREST_ETHER
+   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
diff --git a/maps/IlexForestAzaleaGate.asm b/maps/IlexForestAzaleaGate.asm
index 80afe52..57034a7 100644
--- a/maps/IlexForestAzaleaGate.asm
+++ b/maps/IlexForestAzaleaGate.asm
@@ -45,5 +45,5 @@ IlexForestAzaleaGate_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_OFFICER, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x62c7a, -1
-   person_event SPRITE_GRANNY, 3 + 4, 1 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrannyScript_0x62c7d, -1
+   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
diff --git a/maps/IndigoPlateauPokeCenter1F.asm b/maps/IndigoPlateauPokeCenter1F.asm
index f920a0a..c4ab11a 100644
--- a/maps/IndigoPlateauPokeCenter1F.asm
+++ b/maps/IndigoPlateauPokeCenter1F.asm
@@ -319,9 +319,9 @@ IndigoPlateauPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_NURSE, 7 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18012c, -1
-   person_event SPRITE_CLERK, 7 + 4, 11 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18012f, -1
-   person_event SPRITE_COOLTRAINER_M, 11 + 4, 11 + 4, $2, 2, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x180136, -1
-   person_event SPRITE_SILVER, 9 + 4, 16 + 4, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL
-   person_event SPRITE_GRAMPS, 9 + 4, 1 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeleportGuyScript, EVENT_TELEPORT_GUY
-   person_event SPRITE_JYNX, 9 + 4, 0 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, AbraScript, EVENT_TELEPORT_GUY
+   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
diff --git a/maps/KarensRoom.asm b/maps/KarensRoom.asm
index f79fe4e..978aaac 100644
--- a/maps/KarensRoom.asm
+++ b/maps/KarensRoom.asm
@@ -153,4 +153,4 @@ KarensRoom_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_KAREN, 7 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, KarenScript_0x180bee, -1
+   person_event SPRITE_KAREN, 7, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, KarenScript_0x180bee, -1
diff --git a/maps/KogasRoom.asm b/maps/KogasRoom.asm
index 3aede23..0b2dfa8 100644
--- a/maps/KogasRoom.asm
+++ b/maps/KogasRoom.asm
@@ -150,4 +150,4 @@ KogasRoom_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_KOGA, 7 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, KogaScript_0x18075a, -1
+   person_event SPRITE_KOGA, 7, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, KogaScript_0x18075a, -1
diff --git a/maps/KrissHouse1F.asm b/maps/KrissHouse1F.asm
index ca27ec2..50f32a5 100644
--- a/maps/KrissHouse1F.asm
+++ b/maps/KrissHouse1F.asm
@@ -404,8 +404,8 @@ KrissHouse1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_MOM, 4 + 4, 7 + 4, $8, 0, 0, -1, -1, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_1
-   person_event SPRITE_MOM, 2 + 4, 2 + 4, $7, 0, 0, -1, 1, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_2
-   person_event SPRITE_MOM, 4 + 4, 7 + 4, $8, 0, 0, -1, 2, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_2
-   person_event SPRITE_MOM, 2 + 4, 0 + 4, $7, 0, 0, -1, 4, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_2
-   person_event SPRITE_POKEFAN_F, 4 + 4, 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, $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
diff --git a/maps/KrissHouse2F.asm b/maps/KrissHouse2F.asm
index 176ab09..62ec48b 100644
--- a/maps/KrissHouse2F.asm
+++ b/maps/KrissHouse2F.asm
@@ -132,7 +132,7 @@ KrissHouse2F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_CONSOLE, 2 + 4, 4 + 4, $1, 0, 0, -1, -1, 0, 0, 0, GameConsole, EVENT_KRISS_HOUSE_2F_CONSOLE
-   person_event SPRITE_DOLL_1, 4 + 4, 4 + 4, $1, 0, 0, -1, -1, 0, 0, 0, Doll1, EVENT_KRISS_HOUSE_2F_DOLL_1
-   person_event SPRITE_DOLL_2, 4 + 4, 5 + 4, $1, 0, 0, -1, -1, 0, 0, 0, Doll2, EVENT_KRISS_HOUSE_2F_DOLL_2
-   person_event SPRITE_BIG_DOLL, 1 + 4, 0 + 4, $21, 0, 0, -1, -1, 0, 0, 0, BigDoll, EVENT_KRISS_HOUSE_2F_BIG_DOLL
+   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
diff --git a/maps/KrissNeighborsHouse.asm b/maps/KrissNeighborsHouse.asm
index bc97f56..defaf84 100644
--- a/maps/KrissNeighborsHouse.asm
+++ b/maps/KrissNeighborsHouse.asm
@@ -114,5 +114,5 @@ KrissNeighborsHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_COOLTRAINER_F, 3 + 4, 2 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, KrissNeighborsDaughter, -1
-   person_event SPRITE_POKEFAN_F, 3 + 4, 5 + 4, $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, $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
diff --git a/maps/KurtsHouse.asm b/maps/KurtsHouse.asm
index c1a8add..5a43e1e 100644
--- a/maps/KurtsHouse.asm
+++ b/maps/KurtsHouse.asm
@@ -696,8 +696,8 @@ KurtsHouse_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_KURT, 2 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, KurtScript_0x18e178, EVENT_KURTS_HOUSE_KURT_1
-   person_event SPRITE_TWIN, 3 + 4, 5 + 4, $3, 0, 0, -1, -1, 0, 0, 0, KurtsGranddaughter1, EVENT_KURTS_HOUSE_GRANDDAUGHTER_1
-   person_event SPRITE_SLOWPOKE, 3 + 4, 6 + 4, $1, 0, 0, -1, -1, 0, 0, 0, KurtsHouseSlowpoke, EVENT_KURTS_HOUSE_SLOWPOKE
-   person_event SPRITE_KURT, 3 + 4, 14 + 4, $7, 0, 0, -1, -1, 0, 0, 0, KurtScript_0x18e3bd, EVENT_KURTS_HOUSE_KURT_2
-   person_event SPRITE_TWIN, 4 + 4, 11 + 4, $9, 0, 0, -1, -1, 0, 0, 0, KurtsGranddaughter2, EVENT_KURTS_HOUSE_GRANDDAUGHTER_2
+   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
diff --git a/maps/LakeofRage.asm b/maps/LakeofRage.asm
index e01b52f..8fabac5 100644
--- a/maps/LakeofRage.asm
+++ b/maps/LakeofRage.asm
@@ -509,15 +509,15 @@ LakeofRage_MapEventHeader:
 
 .PersonEvents:
    db 12
-   person_event SPRITE_LANCE, 28 + 4, 21 + 4, $7, 0, 0, -1, -1, 0, 0, 0, LanceScript_0x70022, EVENT_LAKE_OF_RAGE_LANCE
-   person_event SPRITE_GRAMPS, 26 + 4, 20 + 4, $7, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x7008e, -1
-   person_event SPRITE_SUPER_NERD, 13 + 4, 36 + 4, $8, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x700a2, -1
-   person_event SPRITE_COOLTRAINER_F, 29 + 4, 25 + 4, $5, 0, 1, -1, -1, 0, 0, 0, CooltrainerFScript_0x700a5, -1
-   person_event SPRITE_FISHER, 23 + 4, 30 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerFisherAndre, EVENT_LAKE_OF_RAGE_CIVILIANS
-   person_event SPRITE_FISHER, 26 + 4, 24 + 4, $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, 4 + 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 + 4, 36 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerCooltrainerfLois, EVENT_LAKE_OF_RAGE_CIVILIANS
-   person_event SPRITE_GYARADOS, 22 + 4, 18 + 4, $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, 4 + 4, $6, 0, 0, -1, -1, 0, 0, 0, WesleyScript, EVENT_LAKE_OF_RAGE_WESLEY_OF_WEDNESDAY
-   person_event SPRITE_POKE_BALL, 10 + 4, 7 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x70148, EVENT_LAKE_OF_RAGE_ELIXER
-   person_event SPRITE_POKE_BALL, 2 + 4, 35 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7014a, EVENT_LAKE_OF_RAGE_TM_DETECT
+   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
diff --git a/maps/LakeofRageHiddenPowerHouse.asm b/maps/LakeofRageHiddenPowerHouse.asm
index bf14df9..caf510f 100644
--- a/maps/LakeofRageHiddenPowerHouse.asm
+++ b/maps/LakeofRageHiddenPowerHouse.asm
@@ -83,4 +83,4 @@ LakeofRageHiddenPowerHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHER, 3 + 4, 2 + 4, $3, 0, 0, -1, -1, 0, 0, 0, HiddenPowerGuy, -1
+   person_event SPRITE_FISHER, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, HiddenPowerGuy, -1
diff --git a/maps/LakeofRageMagikarpHouse.asm b/maps/LakeofRageMagikarpHouse.asm
index d14c3aa..42b3ffa 100644
--- a/maps/LakeofRageMagikarpHouse.asm
+++ b/maps/LakeofRageMagikarpHouse.asm
@@ -221,4 +221,4 @@ LakeofRageMagikarpHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHING_GURU, 3 + 4, 2 + 4, $3, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x19a6ae, -1
+   person_event SPRITE_FISHING_GURU, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x19a6ae, -1
diff --git a/maps/LancesRoom.asm b/maps/LancesRoom.asm
index efe4eb6..aaa239c 100644
--- a/maps/LancesRoom.asm
+++ b/maps/LancesRoom.asm
@@ -358,6 +358,6 @@ LancesRoom_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_LANCE, 3 + 4, 5 + 4, $6, 0, 0, -1, -1, 0, 0, 0, LanceScript_0x180e7b, -1
-   person_event SPRITE_TEACHER, 7 + 4, 4 + 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, 4 + 4, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_LANCES_ROOM_OAK_AND_MARY
+   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
diff --git a/maps/LavRadioTower1F.asm b/maps/LavRadioTower1F.asm
index cebb23b..7f7d82d 100644
--- a/maps/LavRadioTower1F.asm
+++ b/maps/LavRadioTower1F.asm
@@ -233,8 +233,8 @@ LavRadioTower1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_RECEPTIONIST, 6 + 4, 6 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x7ee63, -1
-   person_event SPRITE_OFFICER, 1 + 4, 15 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x7ee66, -1
-   person_event SPRITE_SUPER_NERD, 3 + 4, 1 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x7ee69, -1
-   person_event SPRITE_GENTLEMAN, 1 + 4, 9 + 4, $7, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x7ee6c, -1
-   person_event SPRITE_SUPER_NERD, 6 + 4, 14 + 4, $9, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7eea2, -1
+   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
diff --git a/maps/LavenderMart.asm b/maps/LavenderMart.asm
index af508f5..f6b7823 100644
--- a/maps/LavenderMart.asm
+++ b/maps/LavenderMart.asm
@@ -59,6 +59,6 @@ LavenderMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x7eb1c, -1
-   person_event SPRITE_POKEFAN_M, 6 + 4, 6 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x7eb23, -1
-   person_event SPRITE_ROCKER, 2 + 4, 9 + 4, $3, 0, 0, -1, -1, 0, 0, 0, RockerScript_0x7eb26, -1
+   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
diff --git a/maps/LavenderNameRater.asm b/maps/LavenderNameRater.asm
index 527f452..e00fab6 100644
--- a/maps/LavenderNameRater.asm
+++ b/maps/LavenderNameRater.asm
@@ -40,4 +40,4 @@ LavenderNameRater_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_GENTLEMAN, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LavenderNameRater, -1
+   person_event SPRITE_GENTLEMAN, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LavenderNameRater, -1
diff --git a/maps/LavenderPokeCenter1F.asm b/maps/LavenderPokeCenter1F.asm
index cf07476..ee1a4bf 100644
--- a/maps/LavenderPokeCenter1F.asm
+++ b/maps/LavenderPokeCenter1F.asm
@@ -92,7 +92,7 @@ LavenderPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x7e6a0, -1
-   person_event SPRITE_GENTLEMAN, 6 + 4, 7 + 4, $5, 0, 1, -1, -1, 0, 0, 0, GentlemanScript_0x7e6a3, -1
-   person_event SPRITE_TEACHER, 3 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x7e6a6, -1
-   person_event SPRITE_YOUNGSTER, 5 + 4, 1 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x7e6a9, -1
+   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
diff --git a/maps/LavenderTown.asm b/maps/LavenderTown.asm
index 068a5c7..65b6054 100644
--- a/maps/LavenderTown.asm
+++ b/maps/LavenderTown.asm
@@ -129,7 +129,7 @@ LavenderTown_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKEFAN_M, 7 + 4, 12 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x1ad6e4, -1
-   person_event SPRITE_TEACHER, 15 + 4, 2 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x1ad6e7, -1
-   person_event SPRITE_GRAMPS, 12 + 4, 14 + 4, $7, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1ad6ea, -1
-   person_event SPRITE_YOUNGSTER, 11 + 4, 6 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 1, YoungsterScript_0x1ad6ed, -1
+   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
diff --git a/maps/LavenderTownSpeechHouse.asm b/maps/LavenderTownSpeechHouse.asm
index a132e3a..37d0677 100644
--- a/maps/LavenderTownSpeechHouse.asm
+++ b/maps/LavenderTownSpeechHouse.asm
@@ -44,4 +44,4 @@ LavenderTownSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKEFAN_F, 3 + 4, 2 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x7ea47, -1
+   person_event SPRITE_POKEFAN_F, 3, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x7ea47, -1
diff --git a/maps/MahoganyGym.asm b/maps/MahoganyGym.asm
index 8a8179e..9616d1a 100644
--- a/maps/MahoganyGym.asm
+++ b/maps/MahoganyGym.asm
@@ -382,10 +382,10 @@ MahoganyGym_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_PRYCE, 3 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PryceScript_0x199a9e, -1
-   person_event SPRITE_BUENA, 6 + 4, 4 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerSkierRoxanne, -1
-   person_event SPRITE_ROCKER, 17 + 4, 0 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBoarderRonald, -1
-   person_event SPRITE_BUENA, 17 + 4, 9 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerSkierClarissa, -1
-   person_event SPRITE_ROCKER, 9 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBoarderBrad, -1
-   person_event SPRITE_ROCKER, 4 + 4, 2 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBoarderDouglas, -1
-   person_event SPRITE_GYM_GUY, 15 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, MahoganyGymGuyScript, -1
+   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
diff --git a/maps/MahoganyMart1F.asm b/maps/MahoganyMart1F.asm
index fb9268b..815e53b 100644
--- a/maps/MahoganyMart1F.asm
+++ b/maps/MahoganyMart1F.asm
@@ -236,8 +236,8 @@ MahoganyMart1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_PHARMACIST, 3 + 4, 4 + 4, $6, 0, 0, -1, -1, 0, 0, 0, PharmacistScript_0x6c367, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_BLACK_BELT, 6 + 4, 1 + 4, $3, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x6c37b, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_LANCE, 6 + 4, 4 + 4, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
-   person_event SPRITE_DRAGON, 6 + 4, 3 + 4, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
-   person_event SPRITE_GRANNY, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x6c3ee, EVENT_MAHOGANY_MART_OWNERS
+   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
diff --git a/maps/MahoganyPokeCenter1F.asm b/maps/MahoganyPokeCenter1F.asm
index 3c17a26..f7f8a39 100644
--- a/maps/MahoganyPokeCenter1F.asm
+++ b/maps/MahoganyPokeCenter1F.asm
@@ -65,7 +65,7 @@ MahoganyPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x19a356, -1
-   person_event SPRITE_POKEFAN_M, 2 + 4, 7 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x19a359, -1
-   person_event SPRITE_YOUNGSTER, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x19a35c, -1
-   person_event SPRITE_COOLTRAINER_F, 3 + 4, 2 + 4, $8, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x19a35f, -1
+   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
diff --git a/maps/MahoganyRedGyaradosSpeechHouse.asm b/maps/MahoganyRedGyaradosSpeechHouse.asm
index cfd430a..e8f3f71 100644
--- a/maps/MahoganyRedGyaradosSpeechHouse.asm
+++ b/maps/MahoganyRedGyaradosSpeechHouse.asm
@@ -73,5 +73,5 @@ MahoganyRedGyaradosSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_BLACK_BELT, 3 + 4, 2 + 4, $9, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x19997f, -1
-   person_event SPRITE_TEACHER, 5 + 4, 6 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x199982, -1
+   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
diff --git a/maps/MahoganyTown.asm b/maps/MahoganyTown.asm
index 9bc2741..fd58269 100644
--- a/maps/MahoganyTown.asm
+++ b/maps/MahoganyTown.asm
@@ -268,7 +268,7 @@ MahoganyTown_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKEFAN_M, 8 + 4, 19 + 4, $6, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x19002e, EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_EAST
-   person_event SPRITE_GRAMPS, 9 + 4, 6 + 4, $5, 0, 1, -1, -1, 0, 0, 0, GrampsScript_0x19007e, -1
-   person_event SPRITE_FISHER, 14 + 4, 6 + 4, $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 + 4, 12 + 4, $6, 0, 0, -1, -1, 0, 0, 0, LassScript_0x190095, EVENT_MAHOGANY_MART_OWNERS
+   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
diff --git a/maps/ManiasHouse.asm b/maps/ManiasHouse.asm
index d762673..3b68cfc 100644
--- a/maps/ManiasHouse.asm
+++ b/maps/ManiasHouse.asm
@@ -212,4 +212,4 @@ ManiasHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_ROCKER, 4 + 4, 2 + 4, $3, 0, 0, -1, -1, 0, 0, 0, RockerScript_0x9d278, -1
+   person_event SPRITE_ROCKER, 4, 2, $3, 0, 0, -1, -1, 0, 0, 0, RockerScript_0x9d278, -1
diff --git a/maps/MountMoon.asm b/maps/MountMoon.asm
index 5f0dc25..b8ad92a 100644
--- a/maps/MountMoon.asm
+++ b/maps/MountMoon.asm
@@ -182,4 +182,4 @@ MountMoon_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_SILVER, 3 + 4, 7 + 4, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MT_MOON_RIVAL
+   person_event SPRITE_SILVER, 3, 7, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MT_MOON_RIVAL
diff --git a/maps/MountMoonGiftShop.asm b/maps/MountMoonGiftShop.asm
index 3765e62..29f8ff6 100644
--- a/maps/MountMoonGiftShop.asm
+++ b/maps/MountMoonGiftShop.asm
@@ -38,7 +38,7 @@ MountMoonGiftShop_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_GRAMPS, 3 + 4, 4 + 4, $6, 0, 0, -1, 1, 0, 0, 0, GrampsScript_0x771a8, -1
-   person_event SPRITE_GRAMPS, 2 + 4, 1 + 4, $9, 0, 0, -1, 2, 0, 0, 0, GrampsScript_0x771a8, -1
-   person_event SPRITE_LASS, 6 + 4, 1 + 4, $5, 0, 1, -1, 1, 0, 0, 0, LassScript_0x771b0, -1
-   person_event SPRITE_LASS, 4 + 4, 5 + 4, $4, 1, 0, -1, 2, 0, 0, 0, LassScript_0x771b0, -1
+   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
diff --git a/maps/MountMoonSquare.asm b/maps/MountMoonSquare.asm
index 1957f0c..b371ae4 100644
--- a/maps/MountMoonSquare.asm
+++ b/maps/MountMoonSquare.asm
@@ -155,6 +155,6 @@ MountMoonSquare_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_FAIRY, 6 + 4, 6 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MT_MOON_SQUARE_CLEFAIRY
-   person_event SPRITE_FAIRY, 6 + 4, 7 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MT_MOON_SQUARE_CLEFAIRY
-   person_event SPRITE_ROCK, 7 + 4, 7 + 4, $18, 0, 0, -1, -1, 0, 0, 0, MtMoonSquareRock, EVENT_MT_MOON_SQUARE_ROCK
+   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
diff --git a/maps/MountMortar1FInside.asm b/maps/MountMortar1FInside.asm
index 6dca48b..f830f56 100644
--- a/maps/MountMortar1FInside.asm
+++ b/maps/MountMortar1FInside.asm
@@ -127,13 +127,13 @@ MountMortar1FInside_MapEventHeader:
 
 .PersonEvents:
    db 10
-   person_event SPRITE_BOULDER, 43 + 4, 21 + 4, $19, 0, 0, -1, -1, 0, 0, 0, MountMortar1FBoulder, -1
-   person_event SPRITE_POKE_BALL, 38 + 4, 35 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de7c, EVENT_MOUNT_MORTAR_1F_INSIDE_ESCAPE_ROPE
-   person_event SPRITE_POKE_BALL, 10 + 4, 16 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de7e, EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_REVIVE
-   person_event SPRITE_POKE_BALL, 27 + 4, 10 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de80, EVENT_MOUNT_MORTAR_1F_INSIDE_HYPER_POTION
-   person_event SPRITE_POKE_BALL, 20 + 4, 22 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de82, EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_POTION
-   person_event SPRITE_POKE_BALL, 19 + 4, 35 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de84, EVENT_MOUNT_MORTAR_1F_INSIDE_NUGGET
-   person_event SPRITE_SUPER_NERD, 43 + 4, 33 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacMiller, -1
-   person_event SPRITE_SUPER_NERD, 28 + 4, 24 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerSupernerdMarkus, -1
-   person_event SPRITE_POKE_BALL, 16 + 4, 8 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de86, EVENT_MOUNT_MORTAR_1F_INSIDE_IRON
-   person_event SPRITE_POKE_BALL, 17 + 4, 17 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de88, EVENT_MOUNT_MORTAR_1F_INSIDE_ULTRA_BALL
+   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
diff --git a/maps/MountMortar1FOutside.asm b/maps/MountMortar1FOutside.asm
index 9c388a2..f9c4271 100644
--- a/maps/MountMortar1FOutside.asm
+++ b/maps/MountMortar1FOutside.asm
@@ -40,5 +40,5 @@ MountMortar1FOutside_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKE_BALL, 15 + 4, 13 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ddf6, EVENT_MOUNT_MORTAR_1F_OUTSIDE_ETHER
-   person_event SPRITE_POKE_BALL, 18 + 4, 31 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ddf8, EVENT_MOUNT_MORTAR_1F_OUTSIDE_REVIVE
+   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
diff --git a/maps/MountMortar2FInside.asm b/maps/MountMortar2FInside.asm
index 7ddcc96..5580a35 100644
--- a/maps/MountMortar2FInside.asm
+++ b/maps/MountMortar2FInside.asm
@@ -76,10 +76,10 @@ MountMortar2FInside_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_POKE_BALL, 22 + 4, 28 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0de, EVENT_MOUNT_MORTAR_2F_INSIDE_MAX_POTION
-   person_event SPRITE_POKE_BALL, 33 + 4, 2 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e0, EVENT_MOUNT_MORTAR_2F_INSIDE_RARE_CANDY
-   person_event SPRITE_POKE_BALL, 17 + 4, 19 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e2, EVENT_MOUNT_MORTAR_2F_INSIDE_TM_DEFENSE_CURL
-   person_event SPRITE_POKE_BALL, 5 + 4, 16 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e4, EVENT_MOUNT_MORTAR_2F_INSIDE_DRAGON_SCALE
-   person_event SPRITE_POKE_BALL, 11 + 4, 9 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e6, EVENT_MOUNT_MORTAR_2F_INSIDE_ELIXER
-   person_event SPRITE_POKE_BALL, 5 + 4, 28 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e8, EVENT_MOUNT_MORTAR_2F_INSIDE_ESCAPE_ROPE
-   person_event SPRITE_SUPER_NERD, 26 + 4, 13 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerSupernerdHugh, -1
+   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
diff --git a/maps/MountMortarB1F.asm b/maps/MountMortarB1F.asm
index a41d90f..5ed95af 100644
--- a/maps/MountMortarB1F.asm
+++ b/maps/MountMortarB1F.asm
@@ -144,10 +144,10 @@ MountMortarB1F_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_POKE_BALL, 12 + 4, 29 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e240, EVENT_MOUNT_MORTAR_B1F_HYPER_POTION
-   person_event SPRITE_POKE_BALL, 16 + 4, 4 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e242, EVENT_MOUNT_MORTAR_B1F_CARBOS
-   person_event SPRITE_BOULDER, 10 + 4, 9 + 4, $19, 0, 0, -1, -1, 0, 0, 0, MountMortarB1FBoulder, -1
-   person_event SPRITE_BLACK_BELT, 4 + 4, 16 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BlackBeltScript_0x7e1f6, -1
-   person_event SPRITE_POKE_BALL, 24 + 4, 34 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e244, EVENT_MOUNT_MORTAR_B1F_FULL_RESTORE
-   person_event SPRITE_POKE_BALL, 3 + 4, 32 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e246, EVENT_MOUNT_MORTAR_B1F_MAX_ETHER
-   person_event SPRITE_POKE_BALL, 26 + 4, 21 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e248, EVENT_MOUNT_MORTAR_B1F_PP_UP
+   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
diff --git a/maps/MoveDeletersHouse.asm b/maps/MoveDeletersHouse.asm
index be504b1..f16f6af 100644
--- a/maps/MoveDeletersHouse.asm
+++ b/maps/MoveDeletersHouse.asm
@@ -35,4 +35,4 @@ MoveDeletersHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_SUPER_NERD, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, 0, 0, 0, MoveDeleter, -1
+   person_event SPRITE_SUPER_NERD, 3, 2, $6, 0, 0, -1, -1, 0, 0, 0, MoveDeleter, -1
diff --git a/maps/MrFujisHouse.asm b/maps/MrFujisHouse.asm
index 8035571..a3bc193 100644
--- a/maps/MrFujisHouse.asm
+++ b/maps/MrFujisHouse.asm
@@ -91,8 +91,8 @@ MrFujisHouse_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_SUPER_NERD, 1 + 4, 4 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x7e8ca, -1
-   person_event SPRITE_LASS, 4 + 4, 3 + 4, $2, 1, 1, -1, -1, 0, 0, 0, LassScript_0x7e8cd, -1
-   person_event SPRITE_RHYDON, 4 + 4, 7 + 4, $16, 0, 0, -1, -1, 0, 0, 0, MrFujisPsyduck, -1
-   person_event SPRITE_GROWLITHE, 5 + 4, 5 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, MrFujisNidorino, -1
-   person_event SPRITE_MOLTRES, 3 + 4, 1 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MrFujisPidgey, -1
+   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
diff --git a/maps/MrPokemonsHouse.asm b/maps/MrPokemonsHouse.asm
index 0f20339..2600801 100644
--- a/maps/MrPokemonsHouse.asm
+++ b/maps/MrPokemonsHouse.asm
@@ -126,7 +126,7 @@ UnknownScript_0x196ec9:
    dotrigger $1
    domaptrigger CHERRYGROVE_CITY, $1
    domaptrigger ELMS_LAB, $3
-   specialphonecall ELMCALL_ROBBED
+   specialphonecall SPECIALCALL_ROBBED
    clearevent EVENT_COP_IN_ELMS_LAB
    checkevent EVENT_GOT_TOTODILE_FROM_ELM
    iftrue UnknownScript_0x196f49
@@ -392,5 +392,5 @@ MrPokemonsHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_GENTLEMAN, 5 + 4, 3 + 4, $9, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x196e97, -1
-   person_event SPRITE_OAK, 5 + 4, 6 + 4, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MR_POKEMONS_HOUSE_OAK
+   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
diff --git a/maps/MrPsychicsHouse.asm b/maps/MrPsychicsHouse.asm
index e2b3654..63177f8 100644
--- a/maps/MrPsychicsHouse.asm
+++ b/maps/MrPsychicsHouse.asm
@@ -63,4 +63,4 @@ MrPsychicsHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHING_GURU, 3 + 4, 5 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, MrPsychic, -1
+   person_event SPRITE_FISHING_GURU, 3, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, MrPsychic, -1
diff --git a/maps/NationalPark.asm b/maps/NationalPark.asm
index 6467472..3c326d1 100644
--- a/maps/NationalPark.asm
+++ b/maps/NationalPark.asm
@@ -521,17 +521,17 @@ NationalPark_MapEventHeader:
 
 .PersonEvents:
    db 14
-   person_event SPRITE_LASS, 24 + 4, 15 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x5c002, -1
-   person_event SPRITE_POKEFAN_F, 4 + 4, 14 + 4, $6, 0, 0, -1, -1, 0, 0, 0, PokefanFScript_0x5c005, -1
-   person_event SPRITE_TEACHER, 40 + 4, 27 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x5c008, -1
-   person_event SPRITE_YOUNGSTER, 41 + 4, 11 + 4, $8, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x5c023, -1
-   person_event SPRITE_YOUNGSTER, 41 + 4, 10 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c026, -1
-   person_event SPRITE_TEACHER, 41 + 4, 17 + 4, $2, 2, 1, -1, -1, 0, 0, 0, TeacherScript_0x5c029, -1
-   person_event SPRITE_GROWLITHE, 40 + 4, 26 + 4, $16, 0, 0, -1, -1, 0, 0, 0, GrowlitheScript_0x5c02c, -1
-   person_event SPRITE_YOUNGSTER, 23 + 4, 27 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyJack1, -1
-   person_event SPRITE_POKEFAN_F, 29 + 4, 18 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerPokefanfBeverly1, -1
-   person_event SPRITE_POKEFAN_M, 9 + 4, 16 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerPokefanmWilliam, -1
-   person_event SPRITE_LASS, 14 + 4, 8 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerLassKrise, -1
-   person_event SPRITE_POKE_BALL, 12 + 4, 35 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c1cc, EVENT_NATIONAL_PARK_PARLYZ_HEAL
-   person_event SPRITE_GAMEBOY_KID, 6 + 4, 26 + 4, $6, 0, 0, -1, -1, 0, 0, 0, GameboyKidScript_0x5c037, -1
-   person_event SPRITE_POKE_BALL, 43 + 4, 1 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c1ce, EVENT_NATIONAL_PARK_TM_DIG
+   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
diff --git a/maps/NationalParkBugContest.asm b/maps/NationalParkBugContest.asm
index 1b8b5db..5e67aac 100644
--- a/maps/NationalParkBugContest.asm
+++ b/maps/NationalParkBugContest.asm
@@ -230,15 +230,15 @@ NationalParkBugContest_MapEventHeader:
 
 .PersonEvents:
    db 12
-   person_event SPRITE_YOUNGSTER, 29 + 4, 19 + 4, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c8ec, EVENT_BUG_CATCHING_CONTESTANT_1A
-   person_event SPRITE_YOUNGSTER, 22 + 4, 28 + 4, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x5c8f4, EVENT_BUG_CATCHING_CONTESTANT_2A
-   person_event SPRITE_ROCKER, 18 + 4, 9 + 4, $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 + 4, 7 + 4, $4, 0, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x5c904, EVENT_BUG_CATCHING_CONTESTANT_4A
-   person_event SPRITE_YOUNGSTER, 9 + 4, 23 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c90c, EVENT_BUG_CATCHING_CONTESTANT_5A
-   person_event SPRITE_YOUNGSTER, 13 + 4, 27 + 4, $2, 3, 3, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x5c914, EVENT_BUG_CATCHING_CONTESTANT_6A
-   person_event SPRITE_LASS, 23 + 4, 7 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x5c91c, EVENT_BUG_CATCHING_CONTESTANT_7A
-   person_event SPRITE_YOUNGSTER, 27 + 4, 11 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c924, EVENT_BUG_CATCHING_CONTESTANT_8A
-   person_event SPRITE_YOUNGSTER, 8 + 4, 16 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x5c92c, EVENT_BUG_CATCHING_CONTESTANT_9A
-   person_event SPRITE_YOUNGSTER, 34 + 4, 17 + 4, $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 + 4, 35 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c945, EVENT_NATIONAL_PARK_PARLYZ_HEAL
-   person_event SPRITE_POKE_BALL, 43 + 4, 1 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c947, EVENT_NATIONAL_PARK_TM_DIG
+   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
diff --git a/maps/NewBarkTown.asm b/maps/NewBarkTown.asm
index d4a5703..49788b9 100644
--- a/maps/NewBarkTown.asm
+++ b/maps/NewBarkTown.asm
@@ -305,6 +305,6 @@ NewBarkTown_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_TEACHER, 8 + 4, 6 + 4, $3, 0, 1, -1, -1, 0, 0, 0, TeacherScript_0x1a806f, -1
-   person_event SPRITE_FISHER, 9 + 4, 12 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a809b, -1
-   person_event SPRITE_SILVER, 2 + 4, 3 + 4, $9, 0, 0, -1, -1, 0, 0, 0, SilverScript_0x1a809e, EVENT_RIVAL_NEW_BARK_TOWN
+   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
diff --git a/maps/OaksLab.asm b/maps/OaksLab.asm
index e125fca..b5f1f30 100644
--- a/maps/OaksLab.asm
+++ b/maps/OaksLab.asm
@@ -283,7 +283,7 @@ OaksLab_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_OAK, 2 + 4, 4 + 4, $6, 0, 0, -1, -1, 0, 0, 0, Oak, -1
-   person_event SPRITE_SCIENTIST, 8 + 4, 1 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x19b40f, -1
-   person_event SPRITE_SCIENTIST, 9 + 4, 8 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x19b412, -1
-   person_event SPRITE_SCIENTIST, 4 + 4, 1 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x19b415, -1
+   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
diff --git a/maps/OlivineCafe.asm b/maps/OlivineCafe.asm
index 49564b4..94747e3 100644
--- a/maps/OlivineCafe.asm
+++ b/maps/OlivineCafe.asm
@@ -90,6 +90,6 @@ OlivineCafe_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_SAILOR, 3 + 4, 4 + 4, $8, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x9c8c1, -1
-   person_event SPRITE_FISHING_GURU, 3 + 4, 7 + 4, $4, 1, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x9c8d9, -1
-   person_event SPRITE_SAILOR, 6 + 4, 6 + 4, $7, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x9c8dc, -1
+   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
diff --git a/maps/OlivineCity.asm b/maps/OlivineCity.asm
index 01eee13..a3d67a0 100644
--- a/maps/OlivineCity.asm
+++ b/maps/OlivineCity.asm
@@ -320,7 +320,7 @@ OlivineCity_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_SAILOR, 27 + 4, 26 + 4, $4, 1, 0, -1, -1, 0, 0, 0, SailorScript_0x1a88a3, -1
-   person_event SPRITE_STANDING_YOUNGSTER, 13 + 4, 20 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, StandingYoungsterScript_0x1a88a6, -1
-   person_event SPRITE_SAILOR, 21 + 4, 17 + 4, $2, 1, 1, -1, -1, 0, 0, 0, SailorScript_0x1a88ba, -1
-   person_event SPRITE_OLIVINE_RIVAL, 11 + 4, 10 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_OLIVINE_CITY
+   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
diff --git a/maps/OlivineGoodRodHouse.asm b/maps/OlivineGoodRodHouse.asm
index 21e610d..3fea640 100644
--- a/maps/OlivineGoodRodHouse.asm
+++ b/maps/OlivineGoodRodHouse.asm
@@ -96,4 +96,4 @@ OlivineGoodRodHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHING_GURU, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GoodRodGuru, -1
+   person_event SPRITE_FISHING_GURU, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GoodRodGuru, -1
diff --git a/maps/OlivineGym.asm b/maps/OlivineGym.asm
index 737153d..a1ae6dc 100644
--- a/maps/OlivineGym.asm
+++ b/maps/OlivineGym.asm
@@ -212,5 +212,5 @@ OlivineGym_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_JASMINE, 3 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, JasmineScript_0x9c12f, EVENT_OLIVINE_GYM_JASMINE
-   person_event SPRITE_GYM_GUY, 13 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OlivineGymGuyScript, -1
+   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
diff --git a/maps/OlivineHouseBeta.asm b/maps/OlivineHouseBeta.asm
index f80272f..7e4f955 100644
--- a/maps/OlivineHouseBeta.asm
+++ b/maps/OlivineHouseBeta.asm
@@ -54,5 +54,5 @@ OlivineHouseBeta_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_TEACHER, 3 + 4, 2 + 4, $3, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x9c58f, -1
-   person_event SPRITE_RHYDON, 4 + 4, 6 + 4, $4, 2, 0, -1, -1, 0, 0, 0, RhydonScript_0x9c592, -1
+   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
diff --git a/maps/OlivineLighthouse1F.asm b/maps/OlivineLighthouse1F.asm
index 4cbee5c..10fdf1b 100644
--- a/maps/OlivineLighthouse1F.asm
+++ b/maps/OlivineLighthouse1F.asm
@@ -52,5 +52,5 @@ OlivineLighthouse1F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_SAILOR, 2 + 4, 8 + 4, $6, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x5ae67, -1
-   person_event SPRITE_POKEFAN_F, 9 + 4, 16 + 4, $4, 2, 0, -1, -1, 0, 0, 0, PokefanFScript_0x5ae6a, -1
+   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
diff --git a/maps/OlivineLighthouse2F.asm b/maps/OlivineLighthouse2F.asm
index 98fc98e..7603357 100644
--- a/maps/OlivineLighthouse2F.asm
+++ b/maps/OlivineLighthouse2F.asm
@@ -221,5 +221,5 @@ OlivineLighthouse2F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_SAILOR, 3 + 4, 9 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorHuey1, -1
-   person_event SPRITE_GENTLEMAN, 8 + 4, 17 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerGentlemanAlfred, -1
+   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
diff --git a/maps/OlivineLighthouse3F.asm b/maps/OlivineLighthouse3F.asm
index 21b77a2..dd39a63 100644
--- a/maps/OlivineLighthouse3F.asm
+++ b/maps/OlivineLighthouse3F.asm
@@ -130,7 +130,7 @@ OlivineLighthouse3F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_SAILOR, 2 + 4, 9 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSailorTerrell, -1
-   person_event SPRITE_GENTLEMAN, 5 + 4, 13 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerGentlemanPreston, -1
-   person_event SPRITE_YOUNGSTER, 9 + 4, 3 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperTheo, -1
-   person_event SPRITE_POKE_BALL, 2 + 4, 8 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5b279, EVENT_OLIVINE_LIGHTHOUSE_3F_ETHER
+   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
diff --git a/maps/OlivineLighthouse4F.asm b/maps/OlivineLighthouse4F.asm
index ccd2ef8..6b66621 100644
--- a/maps/OlivineLighthouse4F.asm
+++ b/maps/OlivineLighthouse4F.asm
@@ -102,5 +102,5 @@ OlivineLighthouse4F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_SAILOR, 14 + 4, 7 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorKent, -1
-   person_event SPRITE_LASS, 2 + 4, 11 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerLassConnie, -1
+   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
diff --git a/maps/OlivineLighthouse5F.asm b/maps/OlivineLighthouse5F.asm
index a88e2cf..4915ee4 100644
--- a/maps/OlivineLighthouse5F.asm
+++ b/maps/OlivineLighthouse5F.asm
@@ -107,8 +107,8 @@ OlivineLighthouse5F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_SAILOR, 11 + 4, 8 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorErnest, -1
-   person_event SPRITE_YOUNGSTER, 3 + 4, 8 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerBird_keeperDenis, -1
-   person_event SPRITE_POKE_BALL, 12 + 4, 15 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x609aa, EVENT_OLIVINE_LIGHTHOUSE_5F_RARE_CANDY
-   person_event SPRITE_POKE_BALL, 15 + 4, 6 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x609ac, EVENT_OLIVINE_LIGHTHOUSE_5F_SUPER_REPEL
-   person_event SPRITE_POKE_BALL, 13 + 4, 2 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x609ae, EVENT_OLIVINE_LIGHTHOUSE_5F_TM_SWAGGER
+   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
diff --git a/maps/OlivineLighthouse6F.asm b/maps/OlivineLighthouse6F.asm
index 0c91eec..71934fe 100644
--- a/maps/OlivineLighthouse6F.asm
+++ b/maps/OlivineLighthouse6F.asm
@@ -270,6 +270,6 @@ OlivineLighthouse6F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_JASMINE, 8 + 4, 8 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, JasmineScript_0x60b91, EVENT_OLIVINE_LIGHTHOUSE_JASMINE
-   person_event SPRITE_MONSTER, 8 + 4, 9 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MonsterScript_0x60c3a, -1
-   person_event SPRITE_POKE_BALL, 4 + 4, 3 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x60c66, EVENT_OLIVINE_LIGHTHOUSE_6F_SUPER_POTION
+   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
diff --git a/maps/OlivineMart.asm b/maps/OlivineMart.asm
index f674679..3b0546e 100644
--- a/maps/OlivineMart.asm
+++ b/maps/OlivineMart.asm
@@ -57,6 +57,6 @@ OlivineMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x9cac7, -1
-   person_event SPRITE_COOLTRAINER_F, 2 + 4, 6 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x9cace, -1
-   person_event SPRITE_LASS, 6 + 4, 1 + 4, $8, 0, 0, -1, -1, 0, 0, 0, LassScript_0x9cad1, -1
+   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
diff --git a/maps/OlivinePokeCenter1F.asm b/maps/OlivinePokeCenter1F.asm
index 82eabe0..63c8509 100644
--- a/maps/OlivinePokeCenter1F.asm
+++ b/maps/OlivinePokeCenter1F.asm
@@ -59,7 +59,7 @@ OlivinePokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x9c002, -1
-   person_event SPRITE_FISHING_GURU, 4 + 4, 8 + 4, $5, 0, 1, -1, -1, 0, 0, 0, FishingGuruScript_0x9c005, -1
-   person_event SPRITE_FISHER, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x9c008, -1
-   person_event SPRITE_TEACHER, 1 + 4, 7 + 4, $6, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x9c00b, -1
+   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
diff --git a/maps/OlivinePort.asm b/maps/OlivinePort.asm
index fbba55d..ab1307f 100644
--- a/maps/OlivinePort.asm
+++ b/maps/OlivinePort.asm
@@ -397,10 +397,10 @@ OlivinePort_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_SAILOR, 23 + 4, 7 + 4, $7, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x748c0, EVENT_OLIVINE_PORT_SAILOR_AT_GANGWAY
-   person_event SPRITE_SAILOR, 15 + 4, 7 + 4, $7, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x749fe, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME
-   person_event SPRITE_SAILOR, 15 + 4, 6 + 4, $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, 4 + 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 + 4, 13 + 4, $7, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x74a0c, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME
-   person_event SPRITE_YOUNGSTER, 15 + 4, 4 + 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 + 4, 11 + 4, $6, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x74a22, EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME
+   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
diff --git a/maps/OlivinePortPassage.asm b/maps/OlivinePortPassage.asm
index 9255750..f5f95d3 100644
--- a/maps/OlivinePortPassage.asm
+++ b/maps/OlivinePortPassage.asm
@@ -36,4 +36,4 @@ OlivinePortPassage_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKEFAN_M, 1 + 4, 17 + 4, $8, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x76fac, EVENT_OLIVINE_PORT_PASSAGE_POKEFAN_M
+   person_event SPRITE_POKEFAN_M, 1, 17, $8, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x76fac, EVENT_OLIVINE_PORT_PASSAGE_POKEFAN_M
diff --git a/maps/OlivinePunishmentSpeechHouse.asm b/maps/OlivinePunishmentSpeechHouse.asm
index 87ffe81..e968dd1 100644
--- a/maps/OlivinePunishmentSpeechHouse.asm
+++ b/maps/OlivinePunishmentSpeechHouse.asm
@@ -54,5 +54,5 @@ OlivinePunishmentSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKEFAN_M, 2 + 4, 1 + 4, $3, 0, 0, -1, -1, 0, 0, 0, OlivinePunishmentSpeechHouseDad, -1
-   person_event SPRITE_LASS, 5 + 4, 5 + 4, $5, 0, 2, -1, -1, 0, 0, 0, OlivinePunishmentSpeechHouseDaughter, -1
+   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
diff --git a/maps/OlivineVoltorbHouse.asm b/maps/OlivineVoltorbHouse.asm
index 5449da4..717abfe 100644
--- a/maps/OlivineVoltorbHouse.asm
+++ b/maps/OlivineVoltorbHouse.asm
@@ -35,4 +35,4 @@ OlivineVoltorbHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHING_GURU, 3 + 4, 2 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Tim, -1
+   person_event SPRITE_FISHING_GURU, 3, 2, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Tim, -1
diff --git a/maps/PalletTown.asm b/maps/PalletTown.asm
index dd57338..efaae10 100644
--- a/maps/PalletTown.asm
+++ b/maps/PalletTown.asm
@@ -89,5 +89,5 @@ PalletTown_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_TEACHER, 8 + 4, 3 + 4, $2, 2, 2, -1, -1, 0, 0, 0, TeacherScript_0x1ac6d5, -1
-   person_event SPRITE_FISHER, 14 + 4, 12 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1ac6d8, -1
+   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
diff --git a/maps/PewterCity.asm b/maps/PewterCity.asm
index ff9992f..2b74bea 100644
--- a/maps/PewterCity.asm
+++ b/maps/PewterCity.asm
@@ -174,8 +174,8 @@ PewterCity_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_COOLTRAINER_F, 11 + 4, 19 + 4, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x18c009, -1
-   person_event SPRITE_BUG_CATCHER, 29 + 4, 14 + 4, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x18c00c, -1
-   person_event SPRITE_GRAMPS, 17 + 4, 29 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x18c00f, -1
-   person_event SPRITE_FRUIT_TREE, 3 + 4, 32 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x18c03e, -1
-   person_event SPRITE_FRUIT_TREE, 3 + 4, 30 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x18c040, -1
+   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
diff --git a/maps/PewterGym.asm b/maps/PewterGym.asm
index e762755..3f5b734 100644
--- a/maps/PewterGym.asm
+++ b/maps/PewterGym.asm
@@ -222,6 +222,6 @@ PewterGym_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_BROCK, 1 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BrockScript_0x1a2864, -1
-   person_event SPRITE_YOUNGSTER, 5 + 4, 2 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperJerry, -1
-   person_event SPRITE_GYM_GUY, 11 + 4, 6 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 1, PewterGymGuyScript, -1
+   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
diff --git a/maps/PewterMart.asm b/maps/PewterMart.asm
index eb863e4..557f0d5 100644
--- a/maps/PewterMart.asm
+++ b/maps/PewterMart.asm
@@ -57,6 +57,6 @@ PewterMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x1a2dcb, -1
-   person_event SPRITE_YOUNGSTER, 2 + 4, 9 + 4, $5, 0, 2, -1, -1, 0, 0, 0, YoungsterScript_0x1a2dd2, -1
-   person_event SPRITE_SUPER_NERD, 6 + 4, 6 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a2dd5, -1
+   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
diff --git a/maps/PewterNidoranSpeechHouse.asm b/maps/PewterNidoranSpeechHouse.asm
index 5e58509..773871d 100644
--- a/maps/PewterNidoranSpeechHouse.asm
+++ b/maps/PewterNidoranSpeechHouse.asm
@@ -41,5 +41,5 @@ PewterNidoranSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_SUPER_NERD, 5 + 4, 3 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x1a2807, -1
-   person_event SPRITE_GROWLITHE, 5 + 4, 4 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrowlitheScript_0x1a280a, -1
+   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
diff --git a/maps/PewterPokeCenter1F.asm b/maps/PewterPokeCenter1F.asm
index bb5eb50..0cbb4bb 100644
--- a/maps/PewterPokeCenter1F.asm
+++ b/maps/PewterPokeCenter1F.asm
@@ -78,8 +78,8 @@ PewterPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x1a2ee7, -1
-   person_event SPRITE_TEACHER, 6 + 4, 8 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a2eea, -1
-   person_event SPRITE_JIGGLYPUFF, 3 + 4, 1 + 4, $16, 0, 0, -1, -1, 0, 0, 0, JigglypuffScript_0x1a2eed, -1
-   person_event SPRITE_BUG_CATCHER, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BugCatcherScript_0x1a2ef7, -1
-   person_event SPRITE_POKEFAN_M, 2 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x1a2efa, -1
+   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
diff --git a/maps/PewterSnoozeSpeechHouse.asm b/maps/PewterSnoozeSpeechHouse.asm
index bc7ef9d..1284ec3 100644
--- a/maps/PewterSnoozeSpeechHouse.asm
+++ b/maps/PewterSnoozeSpeechHouse.asm
@@ -36,4 +36,4 @@ PewterSnoozeSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_GRAMPS, 3 + 4, 5 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x1a3059, -1
+   person_event SPRITE_GRAMPS, 3, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x1a3059, -1
diff --git a/maps/PokeCenter2F.asm b/maps/PokeCenter2F.asm
index e226398..9a6e307 100644
--- a/maps/PokeCenter2F.asm
+++ b/maps/PokeCenter2F.asm
@@ -1040,7 +1040,7 @@ PokeCenter2F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_LINK_RECEPTIONIST, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LinkReceptionistScript_Trade, -1
-   person_event SPRITE_LINK_RECEPTIONIST, 2 + 4, 9 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LinkReceptionistScript_Battle, -1
-   person_event SPRITE_LINK_RECEPTIONIST, 3 + 4, 13 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LinkReceptionistScript_TimeCapsule, -1
-   person_event SPRITE_OFFICER, 1 + 4, 1 + 4, $6, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x192c9a, EVENT_MYSTERY_GIFT_DELIVERY_GUY
+   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
diff --git a/maps/PokeSeersHouse.asm b/maps/PokeSeersHouse.asm
index 0cd4cbc..ef5130d 100644
--- a/maps/PokeSeersHouse.asm
+++ b/maps/PokeSeersHouse.asm
@@ -30,4 +30,4 @@ PokeSeersHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_GRANNY, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SeerScript, -1
+   person_event SPRITE_GRANNY, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SeerScript, -1
diff --git a/maps/PokemonFanClub.asm b/maps/PokemonFanClub.asm
index c870d7f..29d3cbb 100644
--- a/maps/PokemonFanClub.asm
+++ b/maps/PokemonFanClub.asm
@@ -307,9 +307,9 @@ PokemonFanClub_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_GENTLEMAN, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x1917e9, -1
-   person_event SPRITE_RECEPTIONIST, 1 + 4, 4 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x191821, -1
-   person_event SPRITE_FISHER, 3 + 4, 2 + 4, $9, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x191824, -1
-   person_event SPRITE_TEACHER, 2 + 4, 7 + 4, $8, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x19186b, -1
-   person_event SPRITE_FAIRY, 4 + 4, 2 + 4, $6, 0, 0, -1, -1, 0, 0, 0, FairyScript_0x19186e, EVENT_VERMILION_FAN_CLUB_DOLL
-   person_event SPRITE_ODDISH, 3 + 4, 7 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OddishScript_0x191871, -1
+   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
diff --git a/maps/PowerPlant.asm b/maps/PowerPlant.asm
index 00b4e05..2057e2b 100644
--- a/maps/PowerPlant.asm
+++ b/maps/PowerPlant.asm
@@ -401,10 +401,10 @@ PowerPlant_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_OFFICER, 14 + 4, 4 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x188df5, -1
-   person_event SPRITE_GYM_GUY, 9 + 4, 2 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188e15, -1
-   person_event SPRITE_GYM_GUY, 11 + 4, 6 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188e29, -1
-   person_event SPRITE_OFFICER, 3 + 4, 9 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x188e3d, -1
-   person_event SPRITE_GYM_GUY, 2 + 4, 7 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188e51, -1
-   person_event SPRITE_FISHER, 10 + 4, 14 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PowerPlantManager, -1
-   person_event SPRITE_GYM_GUY, 5 + 4, 5 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188ecb, -1
+   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
diff --git a/maps/RadioTower1F.asm b/maps/RadioTower1F.asm
index a7807ba..f39a065 100644
--- a/maps/RadioTower1F.asm
+++ b/maps/RadioTower1F.asm
@@ -484,9 +484,9 @@ RadioTower1F_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_RECEPTIONIST, 6 + 4, 5 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x5cd29, -1
-   person_event SPRITE_LASS, 4 + 4, 16 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LassScript_0x5ce51, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_YOUNGSTER, 4 + 4, 15 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x5ce54, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_ROCKET, 1 + 4, 14 + 4, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM3, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_GENTLEMAN, 6 + 4, 8 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GentlemanScript_0x5cd3d, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_COOLTRAINER_F, 6 + 4, 12 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x5cdd5, EVENT_GOLDENROD_CITY_CIVILIANS
+   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
diff --git a/maps/RadioTower2F.asm b/maps/RadioTower2F.asm
index f1f35cf..6439214 100644
--- a/maps/RadioTower2F.asm
+++ b/maps/RadioTower2F.asm
@@ -720,14 +720,14 @@ RadioTower2F_MapEventHeader:
 
 .PersonEvents:
    db 11
-   person_event SPRITE_SUPER_NERD, 6 + 4, 6 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x5d6fe, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_TEACHER, 2 + 4, 17 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x5d701, -1
-   person_event SPRITE_ROCKET, 4 + 4, 1 + 4, $7, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM4, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 4 + 4, 8 + 4, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM5, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 1 + 4, 4 + 4, $6, 0, 0, -1, -1, 0, 2, 2, TrainerGruntM6, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET_GIRL, 5 + 4, 10 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerGruntF2, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_BLACK_BELT, 1 + 4, 0 + 4, $6, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x5d71f, EVENT_RADIO_TOWER_BLACKBELT_BLOCKS_STAIRS
-   person_event SPRITE_BLACK_BELT, 1 + 4, 1 + 4, $6, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x5d722, EVENT_RADIO_TOWER_CIVILIANS_AFTER
-   person_event SPRITE_JIGGLYPUFF, 1 + 4, 12 + 4, $16, 0, 0, -1, -1, 0, 0, 0, JigglypuffScript_0x5d715, -1
-   person_event SPRITE_BUENA, 5 + 4, 14 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Buena, -1
-   person_event SPRITE_RECEPTIONIST, 7 + 4, 12 + 4, $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, $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
diff --git a/maps/RadioTower3F.asm b/maps/RadioTower3F.asm
index b0104d9..4329295 100644
--- a/maps/RadioTower3F.asm
+++ b/maps/RadioTower3F.asm
@@ -343,10 +343,10 @@ RadioTower3F_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_SUPER_NERD, 4 + 4, 7 + 4, $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 + 4, 3 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GymGuyScript_0x5e556, -1
-   person_event SPRITE_COOLTRAINER_F, 3 + 4, 11 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x5e56a, -1
-   person_event SPRITE_ROCKET, 1 + 4, 5 + 4, $9, 0, 0, -1, -1, 0, 2, 2, TrainerGruntM7, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 2 + 4, 6 + 4, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM8, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 6 + 4, 16 + 4, $7, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM9, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_SCIENTIST, 6 + 4, 9 + 4, $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, $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
diff --git a/maps/RadioTower4F.asm b/maps/RadioTower4F.asm
index 8f20fd3..be4cd0c 100644
--- a/maps/RadioTower4F.asm
+++ b/maps/RadioTower4F.asm
@@ -257,10 +257,10 @@ RadioTower4F_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_FISHER, 4 + 4, 6 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x5eb82, EVENT_RADIO_TOWER_CIVILIANS_AFTER
-   person_event SPRITE_TEACHER, 6 + 4, 14 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x5eb85, -1
-   person_event SPRITE_GROWLITHE, 7 + 4, 12 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GrowlitheScript_0x5ebb2, -1
-   person_event SPRITE_ROCKET, 6 + 4, 5 + 4, $1f, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM10, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 1 + 4, 14 + 4, $8, 0, 2, -1, -1, 0, 2, 2, TrainerExecutivem2, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET_GIRL, 4 + 4, 12 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerGruntF4, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_SCIENTIST, 2 + 4, 4 + 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, $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
diff --git a/maps/RadioTower5F.asm b/maps/RadioTower5F.asm
index 652421e..499e7fb 100644
--- a/maps/RadioTower5F.asm
+++ b/maps/RadioTower5F.asm
@@ -439,8 +439,8 @@ RadioTower5F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_GENTLEMAN, 6 + 4, 3 + 4, $3, 0, 0, -1, -1, 0, 0, 0, Director, -1
-   person_event SPRITE_ROCKET, 5 + 4, 13 + 4, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET_GIRL, 2 + 4, 17 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerExecutivef1, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKER, 5 + 4, 13 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Ben, EVENT_RADIO_TOWER_CIVILIANS_AFTER
-   person_event SPRITE_POKE_BALL, 5 + 4, 8 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x600fe, EVENT_RADIO_TOWER_5F_ULTRA_BALL
+   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
diff --git a/maps/RedsHouse1F.asm b/maps/RedsHouse1F.asm
index 16e662f..a3e23c6 100644
--- a/maps/RedsHouse1F.asm
+++ b/maps/RedsHouse1F.asm
@@ -94,4 +94,4 @@ RedsHouse1F_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_REDS_MOM, 3 + 4, 5 + 4, $8, 0, 0, -1, -1, 0, 0, 0, RedsMom, -1
+   person_event SPRITE_REDS_MOM, 3, 5, $8, 0, 0, -1, -1, 0, 0, 0, RedsMom, -1
diff --git a/maps/RockTunnel1F.asm b/maps/RockTunnel1F.asm
index c3e89b2..6f4c0f6 100644
--- a/maps/RockTunnel1F.asm
+++ b/maps/RockTunnel1F.asm
@@ -42,5 +42,5 @@ RockTunnel1F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKE_BALL, 18 + 4, 4 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x743b5, EVENT_ROCK_TUNNEL_1F_ELIXER
-   person_event SPRITE_POKE_BALL, 15 + 4, 10 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x743b7, EVENT_ROCK_TUNNEL_1F_TM_STEEL_WING
+   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
diff --git a/maps/RockTunnelB1F.asm b/maps/RockTunnelB1F.asm
index 97bcd62..3f95471 100644
--- a/maps/RockTunnelB1F.asm
+++ b/maps/RockTunnelB1F.asm
@@ -38,6 +38,6 @@ RockTunnelB1F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKE_BALL, 25 + 4, 7 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x74409, EVENT_ROCK_TUNNEL_B1F_IRON
-   person_event SPRITE_POKE_BALL, 17 + 4, 6 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7440b, EVENT_ROCK_TUNNEL_B1F_PP_UP
-   person_event SPRITE_POKE_BALL, 2 + 4, 15 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7440d, EVENT_ROCK_TUNNEL_B1F_REVIVE
+   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
diff --git a/maps/Route1.asm b/maps/Route1.asm
index e293bef..0c175e9 100644
--- a/maps/Route1.asm
+++ b/maps/Route1.asm
@@ -91,6 +91,6 @@ Route1_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_YOUNGSTER, 12 + 4, 4 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSchoolboyDanny, -1
-   person_event SPRITE_COOLTRAINER_F, 25 + 4, 9 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainerfQuinn, -1
-   person_event SPRITE_FRUIT_TREE, 7 + 4, 3 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1ac581, -1
+   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
diff --git a/maps/Route10PokeCenter1F.asm b/maps/Route10PokeCenter1F.asm
index 3ed3b5c..8374255 100644
--- a/maps/Route10PokeCenter1F.asm
+++ b/maps/Route10PokeCenter1F.asm
@@ -92,7 +92,7 @@ Route10PokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x188bd4, -1
-   person_event SPRITE_GENTLEMAN, 6 + 4, 7 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x188bd7, -1
-   person_event SPRITE_GYM_GUY, 2 + 4, 7 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GymGuyScript_0x188bda, -1
-   person_event SPRITE_COOLTRAINER_F, 3 + 4, 1 + 4, $6, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x188bee, -1
+   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
diff --git a/maps/Route10South.asm b/maps/Route10South.asm
index 86a8c40..662509b 100644
--- a/maps/Route10South.asm
+++ b/maps/Route10South.asm
@@ -88,5 +88,5 @@ Route10South_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKEFAN_M, 3 + 4, 17 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerJim, -1
-   person_event SPRITE_POKEFAN_M, 10 + 4, 8 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmRobert, -1
+   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
diff --git a/maps/Route11.asm b/maps/Route11.asm
index 1dd4597..c3ee336 100644
--- a/maps/Route11.asm
+++ b/maps/Route11.asm
@@ -156,8 +156,8 @@ Route11_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_YOUNGSTER, 14 + 4, 22 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterOwen, -1
-   person_event SPRITE_YOUNGSTER, 4 + 4, 20 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterJason, -1
-   person_event SPRITE_YOUNGSTER, 7 + 4, 28 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerPsychicHerman, -1
-   person_event SPRITE_YOUNGSTER, 6 + 4, 8 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicFidel, -1
-   person_event SPRITE_FRUIT_TREE, 2 + 4, 32 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x68055, -1
+   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
diff --git a/maps/Route12.asm b/maps/Route12.asm
index 091dd0c..8b7ebe9 100644
--- a/maps/Route12.asm
+++ b/maps/Route12.asm
@@ -178,9 +178,9 @@ Route12_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_FISHER, 13 + 4, 5 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherMartin, -1
-   person_event SPRITE_FISHER, 23 + 4, 14 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherStephen, -1
-   person_event SPRITE_FISHER, 38 + 4, 10 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerFisherBarney, -1
-   person_event SPRITE_FISHER, 7 + 4, 6 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherKyle, -1
-   person_event SPRITE_POKE_BALL, 43 + 4, 5 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a700b, EVENT_ROUTE_12_CALCIUM
-   person_event SPRITE_POKE_BALL, 51 + 4, 5 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a700d, EVENT_ROUTE_12_NUGGET
+   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
diff --git a/maps/Route12SuperRodHouse.asm b/maps/Route12SuperRodHouse.asm
index 0b85881..bc4376e 100644
--- a/maps/Route12SuperRodHouse.asm
+++ b/maps/Route12SuperRodHouse.asm
@@ -93,4 +93,4 @@ Route12SuperRodHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHING_GURU, 3 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FishingGuruScript_0x7f484, -1
+   person_event SPRITE_FISHING_GURU, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FishingGuruScript_0x7f484, -1
diff --git a/maps/Route13.asm b/maps/Route13.asm
index 457b605..6314a69 100644
--- a/maps/Route13.asm
+++ b/maps/Route13.asm
@@ -204,8 +204,8 @@ Route13_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_YOUNGSTER, 6 + 4, 42 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBird_keeperPerry, -1
-   person_event SPRITE_YOUNGSTER, 6 + 4, 43 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBird_keeperBret, -1
-   person_event SPRITE_POKEFAN_M, 8 + 4, 32 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmJoshua, -1
-   person_event SPRITE_POKEFAN_M, 10 + 4, 14 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerHikerKenny, -1
-   person_event SPRITE_POKEFAN_M, 6 + 4, 25 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerPokefanmAlex, -1
+   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
diff --git a/maps/Route14.asm b/maps/Route14.asm
index d35f76e..0884356 100644
--- a/maps/Route14.asm
+++ b/maps/Route14.asm
@@ -124,7 +124,7 @@ Route14_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKEFAN_M, 15 + 4, 11 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmCarter, -1
-   person_event SPRITE_YOUNGSTER, 27 + 4, 11 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperRoy, -1
-   person_event SPRITE_POKEFAN_M, 11 + 4, 6 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmTrevor, -1
-   person_event SPRITE_TEACHER, 5 + 4, 7 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 4, TeacherScript_0x1ad47f, -1
+   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
diff --git a/maps/Route15.asm b/maps/Route15.asm
index 199a0b5..a5480c8 100644
--- a/maps/Route15.asm
+++ b/maps/Route15.asm
@@ -210,10 +210,10 @@ Route15_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_YOUNGSTER, 10 + 4, 10 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSchoolboyKipp, -1
-   person_event SPRITE_YOUNGSTER, 13 + 4, 15 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyTommy, -1
-   person_event SPRITE_YOUNGSTER, 10 + 4, 33 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyJohnny, -1
-   person_event SPRITE_YOUNGSTER, 10 + 4, 27 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyBilly, -1
-   person_event SPRITE_TEACHER, 12 + 4, 30 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerTeacherColette, -1
-   person_event SPRITE_TEACHER, 10 + 4, 20 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerTeacherHillary, -1
-   person_event SPRITE_POKE_BALL, 5 + 4, 12 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1aa5e4, EVENT_ROUTE_15_PP_UP
+   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
diff --git a/maps/Route15FuchsiaGate.asm b/maps/Route15FuchsiaGate.asm
index 242557f..2ffb7ee 100644
--- a/maps/Route15FuchsiaGate.asm
+++ b/maps/Route15FuchsiaGate.asm
@@ -35,4 +35,4 @@ Route15FuchsiaGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x19679e, -1
+   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x19679e, -1
diff --git a/maps/Route16FuchsiaSpeechHouse.asm b/maps/Route16FuchsiaSpeechHouse.asm
index cae20d6..aab16e3 100644
--- a/maps/Route16FuchsiaSpeechHouse.asm
+++ b/maps/Route16FuchsiaSpeechHouse.asm
@@ -38,4 +38,4 @@ Route16FuchsiaSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_SUPER_NERD, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x73373, -1
+   person_event SPRITE_SUPER_NERD, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x73373, -1
diff --git a/maps/Route16Gate.asm b/maps/Route16Gate.asm
index 6743df5..b2ad14e 100644
--- a/maps/Route16Gate.asm
+++ b/maps/Route16Gate.asm
@@ -80,4 +80,4 @@ Route16Gate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x733ea, -1
+   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x733ea, -1
diff --git a/maps/Route17.asm b/maps/Route17.asm
index 1eaf7d9..6543def 100644
--- a/maps/Route17.asm
+++ b/maps/Route17.asm
@@ -150,7 +150,7 @@ Route17_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_BIKER, 17 + 4, 4 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerBikerRiley, -1
-   person_event SPRITE_BIKER, 68 + 4, 9 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerBikerJoel, -1
-   person_event SPRITE_BIKER, 53 + 4, 3 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBikerGlenn, -1
-   person_event SPRITE_BIKER, 80 + 4, 6 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerBikerCharles, -1
+   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
diff --git a/maps/Route1718Gate.asm b/maps/Route1718Gate.asm
index c4ef63b..c23d76d 100644
--- a/maps/Route1718Gate.asm
+++ b/maps/Route1718Gate.asm
@@ -71,4 +71,4 @@ Route1718Gate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x7360e, -1
+   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x7360e, -1
diff --git a/maps/Route18.asm b/maps/Route18.asm
index 8d1446f..00728f8 100644
--- a/maps/Route18.asm
+++ b/maps/Route18.asm
@@ -91,5 +91,5 @@ Route18_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_YOUNGSTER, 12 + 4, 9 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperBoris, -1
-   person_event SPRITE_YOUNGSTER, 6 + 4, 13 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperBob, -1
+   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
diff --git a/maps/Route19.asm b/maps/Route19.asm
index f986ff0..beb87fd 100644
--- a/maps/Route19.asm
+++ b/maps/Route19.asm
@@ -247,9 +247,9 @@ Route19_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_SWIMMER_GIRL, 23 + 4, 9 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerSwimmerfDawn, -1
-   person_event SPRITE_SWIMMER_GUY, 28 + 4, 13 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermHarold, -1
-   person_event SPRITE_SWIMMER_GUY, 17 + 4, 11 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermJerome, -1
-   person_event SPRITE_SWIMMER_GUY, 23 + 4, 8 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerSwimmermTucker, -1
-   person_event SPRITE_FISHER, 5 + 4, 9 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 1, FisherScript_0x19ea4d, -1
-   person_event SPRITE_FISHER, 5 + 4, 11 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 1, FisherScript_0x19ea61, -1
+   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
diff --git a/maps/Route19FuchsiaGate.asm b/maps/Route19FuchsiaGate.asm
index d2870de..1036a5f 100644
--- a/maps/Route19FuchsiaGate.asm
+++ b/maps/Route19FuchsiaGate.asm
@@ -61,4 +61,4 @@ Route19FuchsiaGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 4 + 4, 0 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x1ab3f6, -1
+   person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x1ab3f6, -1
diff --git a/maps/Route2.asm b/maps/Route2.asm
index f15ccbf..79a72bf 100644
--- a/maps/Route2.asm
+++ b/maps/Route2.asm
@@ -162,11 +162,11 @@ Route2_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_BUG_CATCHER, 45 + 4, 10 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 5, TrainerBug_catcherRob, -1
-   person_event SPRITE_BUG_CATCHER, 4 + 4, 6 + 4, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherEd, -1
-   person_event SPRITE_BUG_CATCHER, 40 + 4, 0 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherDoug, -1
-   person_event SPRITE_POKE_BALL, 29 + 4, 0 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac2fe, EVENT_ROUTE_2_DIRE_HIT
-   person_event SPRITE_POKE_BALL, 23 + 4, 2 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac300, EVENT_ROUTE_2_MAX_POTION
-   person_event SPRITE_POKE_BALL, 2 + 4, 19 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac302, EVENT_ROUTE_2_CARBOS
-   person_event SPRITE_POKE_BALL, 50 + 4, 14 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac304, EVENT_ROUTE_2_ELIXER
-   person_event SPRITE_FRUIT_TREE, 14 + 4, 10 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1ac306, -1
+   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
diff --git a/maps/Route20.asm b/maps/Route20.asm
index 6dd9a34..e623138 100644
--- a/maps/Route20.asm
+++ b/maps/Route20.asm
@@ -127,6 +127,6 @@ Route20_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_SWIMMER_GIRL, 8 + 4, 52 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfNicole, -1
-   person_event SPRITE_SWIMMER_GIRL, 13 + 4, 45 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfLori, -1
-   person_event SPRITE_SWIMMER_GUY, 13 + 4, 12 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermCameron, -1
+   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
diff --git a/maps/Route21.asm b/maps/Route21.asm
index 7f4ee37..15dd2d9 100644
--- a/maps/Route21.asm
+++ b/maps/Route21.asm
@@ -99,6 +99,6 @@ Route21_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_SWIMMER_GIRL, 16 + 4, 11 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfNikki, -1
-   person_event SPRITE_SWIMMER_GUY, 30 + 4, 2 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerSwimmermSeth, -1
-   person_event SPRITE_FISHER, 22 + 4, 14 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherArnold, -1
+   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
diff --git a/maps/Route24.asm b/maps/Route24.asm
index ebabba5..fffc4ca 100644
--- a/maps/Route24.asm
+++ b/maps/Route24.asm
@@ -130,4 +130,4 @@ Route24_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_ROCKET, 7 + 4, 8 + 4, $3, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x1adbfa, EVENT_ROUTE_24_ROCKET
+   person_event SPRITE_ROCKET, 7, 8, $3, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x1adbfa, EVENT_ROUTE_24_ROCKET
diff --git a/maps/Route25.asm b/maps/Route25.asm
index 0ccf333..7b3fee4 100644
--- a/maps/Route25.asm
+++ b/maps/Route25.asm
@@ -439,14 +439,14 @@ Route25_MapEventHeader:
 
 .PersonEvents:
    db 11
-   person_event SPRITE_MISTY, 9 + 4, 46 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_ROUTE_25_MISTY_BOYFRIEND
-   person_event SPRITE_COOLTRAINER_M, 10 + 4, 46 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, EVENT_ROUTE_25_MISTY_BOYFRIEND
-   person_event SPRITE_YOUNGSTER, 8 + 4, 12 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyDudley, -1
-   person_event SPRITE_LASS, 11 + 4, 16 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerLassEllen, -1
-   person_event SPRITE_YOUNGSTER, 8 + 4, 21 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyJoe, -1
-   person_event SPRITE_LASS, 6 + 4, 22 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerLassLaura, -1
-   person_event SPRITE_YOUNGSTER, 4 + 4, 25 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerCamperLloyd, -1
-   person_event SPRITE_LASS, 11 + 4, 28 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerLassShannon, -1
-   person_event SPRITE_SUPER_NERD, 7 + 4, 31 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerSupernerdPat, -1
-   person_event SPRITE_COOLTRAINER_M, 8 + 4, 37 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x19efac, -1
-   person_event SPRITE_POKE_BALL, 4 + 4, 32 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19efe3, EVENT_ROUTE_25_PROTEIN
+   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
diff --git a/maps/Route26.asm b/maps/Route26.asm
index 2e494b0..8feb734 100644
--- a/maps/Route26.asm
+++ b/maps/Route26.asm
@@ -421,11 +421,11 @@ Route26_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_COOLTRAINER_M, 24 + 4, 14 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainermJake, -1
-   person_event SPRITE_COOLTRAINER_M, 38 + 4, 9 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermGaven3, -1
-   person_event SPRITE_COOLTRAINER_F, 56 + 4, 10 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfJoyce, -1
-   person_event SPRITE_COOLTRAINER_F, 8 + 4, 5 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainerfBeth1, -1
-   person_event SPRITE_YOUNGSTER, 79 + 4, 13 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPsychicRichard, -1
-   person_event SPRITE_FISHER, 92 + 4, 10 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherScott, -1
-   person_event SPRITE_FRUIT_TREE, 54 + 4, 14 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a4ec2, -1
-   person_event SPRITE_POKE_BALL, 15 + 4, 9 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a4ec4, EVENT_ROUTE_26_MAX_ELIXER
+   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
diff --git a/maps/Route26DayofWeekSiblingsHouse.asm b/maps/Route26DayofWeekSiblingsHouse.asm
index 7c2adf3..b0a8a1c 100644
--- a/maps/Route26DayofWeekSiblingsHouse.asm
+++ b/maps/Route26DayofWeekSiblingsHouse.asm
@@ -84,4 +84,4 @@ Route26DayofWeekSiblingsHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKEDEX, 3 + 4, 3 + 4, $1, 0, 0, -1, -1, 0, 0, 0, PokedexScript_0x7b1e4, -1
+   person_event SPRITE_POKEDEX, 3, 3, $1, 0, 0, -1, -1, 0, 0, 0, PokedexScript_0x7b1e4, -1
diff --git a/maps/Route26HealSpeechHouse.asm b/maps/Route26HealSpeechHouse.asm
index 7630808..44e3e90 100644
--- a/maps/Route26HealSpeechHouse.asm
+++ b/maps/Route26HealSpeechHouse.asm
@@ -64,4 +64,4 @@ Route26HealSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_TEACHER, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7b125, -1
+   person_event SPRITE_TEACHER, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7b125, -1
diff --git a/maps/Route27.asm b/maps/Route27.asm
index d8403e9..3a3d871 100644
--- a/maps/Route27.asm
+++ b/maps/Route27.asm
@@ -479,12 +479,12 @@ Route27_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_COOLTRAINER_M, 7 + 4, 48 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermBlake, -1
-   person_event SPRITE_COOLTRAINER_M, 6 + 4, 58 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainermBrian, -1
-   person_event SPRITE_COOLTRAINER_F, 10 + 4, 72 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainerfReena, -1
-   person_event SPRITE_COOLTRAINER_F, 6 + 4, 37 + 4, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainerfMegan, -1
-   person_event SPRITE_YOUNGSTER, 7 + 4, 65 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicGilbert, -1
-   person_event SPRITE_YOUNGSTER, 13 + 4, 58 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperJose2, -1
-   person_event SPRITE_POKE_BALL, 12 + 4, 60 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a0a62, EVENT_ROUTE_27_TM_SOLARBEAM
-   person_event SPRITE_POKE_BALL, 12 + 4, 53 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a0a64, EVENT_ROUTE_27_RARE_CANDY
-   person_event SPRITE_FISHER, 10 + 4, 21 + 4, $3, 0, 0, -1, -1, 0, 0, 3, FisherScript_0x1a089c, -1
+   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
diff --git a/maps/Route27SandstormHouse.asm b/maps/Route27SandstormHouse.asm
index 21939f4..9737ae9 100644
--- a/maps/Route27SandstormHouse.asm
+++ b/maps/Route27SandstormHouse.asm
@@ -109,4 +109,4 @@ Route27SandstormHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_GRANNY, 4 + 4, 2 + 4, $6, 0, 0, -1, -1, 0, 0, 0, SandstormHouseWoman, -1
+   person_event SPRITE_GRANNY, 4, 2, $6, 0, 0, -1, -1, 0, 0, 0, SandstormHouseWoman, -1
diff --git a/maps/Route28FamousSpeechHouse.asm b/maps/Route28FamousSpeechHouse.asm
index a7f1721..a0f474b 100644
--- a/maps/Route28FamousSpeechHouse.asm
+++ b/maps/Route28FamousSpeechHouse.asm
@@ -87,5 +87,5 @@ Route28FamousSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_COOLTRAINER_F, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, Celebrity, -1
-   person_event SPRITE_MOLTRES, 5 + 4, 6 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CelebritysFearow, -1
+   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
diff --git a/maps/Route29.asm b/maps/Route29.asm
index 2ac7065..0fa4f76 100644
--- a/maps/Route29.asm
+++ b/maps/Route29.asm
@@ -430,11 +430,11 @@ Route29_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_COOLTRAINER_M, 12 + 4, 50 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x1a0ff1, -1
-   person_event SPRITE_YOUNGSTER, 16 + 4, 27 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a1028, -1
-   person_event SPRITE_TEACHER, 11 + 4, 15 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a102b, -1
-   person_event SPRITE_FRUIT_TREE, 2 + 4, 12 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a1089, -1
-   person_event SPRITE_FISHER, 3 + 4, 25 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x1a102e, -1
-   person_event SPRITE_COOLTRAINER_M, 4 + 4, 13 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x1a1031, -1
-   person_event SPRITE_TEACHER, 12 + 4, 29 + 4, $3, 0, 0, -1, -1, 0, 0, 0, TuscanyScript, EVENT_ROUTE_29_TUSCANY_OF_TUESDAY
-   person_event SPRITE_POKE_BALL, 2 + 4, 48 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a108b, EVENT_ROUTE_29_POTION
+   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
diff --git a/maps/Route2946Gate.asm b/maps/Route2946Gate.asm
index 651ddc4..513e8f2 100644
--- a/maps/Route2946Gate.asm
+++ b/maps/Route2946Gate.asm
@@ -51,5 +51,5 @@ Route2946Gate_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_OFFICER, 4 + 4, 0 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x7b5bb, -1
-   person_event SPRITE_YOUNGSTER, 4 + 4, 6 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x7b5be, -1
+   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
diff --git a/maps/Route2Gate.asm b/maps/Route2Gate.asm
index dc2cb4d..a49673d 100644
--- a/maps/Route2Gate.asm
+++ b/maps/Route2Gate.asm
@@ -41,4 +41,4 @@ Route2Gate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_SCIENTIST, 4 + 4, 6 + 4, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x9b952, -1
+   person_event SPRITE_SCIENTIST, 4, 6, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x9b952, -1
diff --git a/maps/Route2NuggetSpeechHouse.asm b/maps/Route2NuggetSpeechHouse.asm
index 8adafbb..8910846 100644
--- a/maps/Route2NuggetSpeechHouse.asm
+++ b/maps/Route2NuggetSpeechHouse.asm
@@ -66,4 +66,4 @@ Route2NuggetSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHER, 4 + 4, 2 + 4, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x9b847, -1
+   person_event SPRITE_FISHER, 4, 2, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x9b847, -1
diff --git a/maps/Route3.asm b/maps/Route3.asm
index bb40a0c..8743543 100644
--- a/maps/Route3.asm
+++ b/maps/Route3.asm
@@ -143,7 +143,7 @@ Route3_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_FISHER, 12 + 4, 26 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerFirebreatherOtis, -1
-   person_event SPRITE_YOUNGSTER, 7 + 4, 10 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterWarren, -1
-   person_event SPRITE_YOUNGSTER, 3 + 4, 16 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerYoungsterJimmy, -1
-   person_event SPRITE_FISHER, 5 + 4, 49 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerFirebreatherBurt, -1
+   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
diff --git a/maps/Route30.asm b/maps/Route30.asm
index c996723..07667a7 100644
--- a/maps/Route30.asm
+++ b/maps/Route30.asm
@@ -416,14 +416,14 @@ Route30_MapEventHeader:
 
 .PersonEvents:
    db 11
-   person_event SPRITE_YOUNGSTER, 26 + 4, 5 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x1a1673, EVENT_ROUTE_30_BATTLE
-   person_event SPRITE_YOUNGSTER, 28 + 4, 2 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterJoey, EVENT_ROUTE_30_YOUNGSTER_JOEY
-   person_event SPRITE_YOUNGSTER, 23 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerYoungsterMikey, -1
-   person_event SPRITE_BUG_CATCHER, 7 + 4, 1 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherDon, -1
-   person_event SPRITE_YOUNGSTER, 30 + 4, 7 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x1a17d2, -1
-   person_event SPRITE_MONSTER, 24 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_ROUTE_30_BATTLE
-   person_event SPRITE_MONSTER, 25 + 4, 5 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_ROUTE_30_BATTLE
-   person_event SPRITE_FRUIT_TREE, 39 + 4, 5 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a17f7, -1
-   person_event SPRITE_FRUIT_TREE, 5 + 4, 11 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a17f9, -1
-   person_event SPRITE_COOLTRAINER_F, 13 + 4, 2 + 4, $6, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x1a17e6, -1
-   person_event SPRITE_POKE_BALL, 35 + 4, 8 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a17f5, EVENT_ROUTE_30_ANTIDOTE
+   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
diff --git a/maps/Route30BerrySpeechHouse.asm b/maps/Route30BerrySpeechHouse.asm
index a8a09fd..3590efc 100644
--- a/maps/Route30BerrySpeechHouse.asm
+++ b/maps/Route30BerrySpeechHouse.asm
@@ -62,4 +62,4 @@ Route30BerrySpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKEFAN_M, 3 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x196d64, -1
+   person_event SPRITE_POKEFAN_M, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x196d64, -1
diff --git a/maps/Route31.asm b/maps/Route31.asm
index a3c775c..8328591 100644
--- a/maps/Route31.asm
+++ b/maps/Route31.asm
@@ -15,7 +15,7 @@ UnknownScript_0x1a543c:
    return
 
 UnknownScript_0x1a5443:
-   specialphonecall MOMCALL_WORRIED
+   specialphonecall SPECIALCALL_WORRIED
    return
 
 TrainerBug_catcherWade1:
@@ -430,10 +430,10 @@ Route31_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_FISHER, 7 + 4, 17 + 4, $6, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1a5570, -1
-   person_event SPRITE_YOUNGSTER, 5 + 4, 9 + 4, $2, 1, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1a55ed, -1
-   person_event SPRITE_BUG_CATCHER, 13 + 4, 21 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 5, TrainerBug_catcherWade1, -1
-   person_event SPRITE_COOLTRAINER_M, 8 + 4, 33 + 4, $2, 1, 1, -1, -1, 0, 0, 0, CooltrainerMScript_0x1a55f6, -1
-   person_event SPRITE_FRUIT_TREE, 7 + 4, 16 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a55f9, -1
-   person_event SPRITE_POKE_BALL, 5 + 4, 29 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a55fb, EVENT_ROUTE_31_POTION
-   person_event SPRITE_POKE_BALL, 15 + 4, 19 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a55fd, EVENT_ROUTE_31_POKE_BALL
+   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
diff --git a/maps/Route31VioletGate.asm b/maps/Route31VioletGate.asm
index 88a645c..83fd9ed 100644
--- a/maps/Route31VioletGate.asm
+++ b/maps/Route31VioletGate.asm
@@ -42,5 +42,5 @@ Route31VioletGate_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_OFFICER, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x197634, -1
-   person_event SPRITE_COOLTRAINER_F, 2 + 4, 1 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerFScript_0x197637, -1
+   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
diff --git a/maps/Route32.asm b/maps/Route32.asm
index 9ccdbff..9b4bfe5 100644
--- a/maps/Route32.asm
+++ b/maps/Route32.asm
@@ -946,17 +946,17 @@ Route32_MapEventHeader:
 
 .PersonEvents:
    db 14
-   person_event SPRITE_FISHER, 49 + 4, 8 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherJustin, -1
-   person_event SPRITE_FISHER, 56 + 4, 12 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherRalph1, -1
-   person_event SPRITE_FISHER, 48 + 4, 6 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherHenry, -1
-   person_event SPRITE_YOUNGSTER, 22 + 4, 12 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterAlbert, -1
-   person_event SPRITE_YOUNGSTER, 63 + 4, 4 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterGordon, -1
-   person_event SPRITE_YOUNGSTER, 45 + 4, 3 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperRoland, -1
-   person_event SPRITE_LASS, 30 + 4, 10 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerLiz1, -1
-   person_event SPRITE_COOLTRAINER_M, 8 + 4, 19 + 4, $8, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x19046f, -1
-   person_event SPRITE_YOUNGSTER, 82 + 4, 11 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperPeter, -1
-   person_event SPRITE_FISHER, 70 + 4, 7 + 4, $6, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1904f2, EVENT_SLOWPOKE_WELL_ROCKETS
-   person_event SPRITE_POKE_BALL, 53 + 4, 6 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x190773, EVENT_ROUTE_32_GREAT_BALL
-   person_event SPRITE_FISHER, 13 + 4, 15 + 4, $9, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1904ce, -1
-   person_event SPRITE_LASS, 67 + 4, 12 + 4, $8, 0, 0, -1, -1, 0, 0, 0, FriedaScript, EVENT_ROUTE_32_FRIEDA_OF_FRIDAY
-   person_event SPRITE_POKE_BALL, 30 + 4, 3 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x190775, EVENT_ROUTE_32_REPEL
+   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
diff --git a/maps/Route32PokeCenter1F.asm b/maps/Route32PokeCenter1F.asm
index 77711ff..2ef9c76 100644
--- a/maps/Route32PokeCenter1F.asm
+++ b/maps/Route32PokeCenter1F.asm
@@ -107,6 +107,6 @@ Route32PokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x69b52, -1
-   person_event SPRITE_FISHING_GURU, 4 + 4, 1 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x69b55, -1
-   person_event SPRITE_COOLTRAINER_F, 2 + 4, 6 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x69b80, -1
+   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
diff --git a/maps/Route32RuinsofAlphGate.asm b/maps/Route32RuinsofAlphGate.asm
index be853d6..2c48582 100644
--- a/maps/Route32RuinsofAlphGate.asm
+++ b/maps/Route32RuinsofAlphGate.asm
@@ -60,6 +60,6 @@ Route32RuinsofAlphGate_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_OFFICER, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x69a2d, -1
-   person_event SPRITE_POKEFAN_M, 2 + 4, 8 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x69a30, -1
-   person_event SPRITE_YOUNGSTER, 6 + 4, 1 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x69a33, -1
+   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
diff --git a/maps/Route33.asm b/maps/Route33.asm
index 1fae7de..e24e1a3 100644
--- a/maps/Route33.asm
+++ b/maps/Route33.asm
@@ -206,6 +206,6 @@ Route33_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKEFAN_M, 13 + 4, 6 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerAnthony, -1
-   person_event SPRITE_LASS, 16 + 4, 13 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x1ac002, -1
-   person_event SPRITE_FRUIT_TREE, 16 + 4, 14 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1ac0ea, -1
+   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
diff --git a/maps/Route34.asm b/maps/Route34.asm
index 092acfa..7a9bae1 100644
--- a/maps/Route34.asm
+++ b/maps/Route34.asm
@@ -775,16 +775,16 @@ Route34_MapEventHeader:
 
 .PersonEvents:
    db 13
-   person_event SPRITE_YOUNGSTER, 7 + 4, 13 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerCamperTodd1, -1
-   person_event SPRITE_YOUNGSTER, 32 + 4, 15 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterSamuel, -1
-   person_event SPRITE_YOUNGSTER, 20 + 4, 11 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterIan, -1
-   person_event SPRITE_LASS, 26 + 4, 10 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPicnickerGina1, -1
-   person_event SPRITE_OFFICER, 11 + 4, 9 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x7824c, -1
-   person_event SPRITE_POKEFAN_M, 28 + 4, 18 + 4, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmBrandon, -1
-   person_event SPRITE_GRAMPS, 16 + 4, 15 + 4, $6, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x7803d, EVENT_DAYCARE_MAN_ON_ROUTE_34
-   person_event SPRITE_DAYCARE_MON_1, 18 + 4, 14 + 4, $16, 2, 2, -1, -1, 0, 0, 0, DaycareMon1Script_0x78065, EVENT_DAYCARE_MON_1
-   person_event SPRITE_DAYCARE_MON_2, 19 + 4, 17 + 4, $16, 2, 2, -1, -1, 0, 0, 0, DaycareMon2Script_0x7806b, EVENT_DAYCARE_MON_2
-   person_event SPRITE_COOLTRAINER_F, 48 + 4, 11 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerCooltrainerfIrene, -1
-   person_event SPRITE_COOLTRAINER_F, 48 + 4, 3 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfJenn, -1
-   person_event SPRITE_COOLTRAINER_F, 51 + 4, 6 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainerfKate, -1
-   person_event SPRITE_POKE_BALL, 30 + 4, 7 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7832b, EVENT_ROUTE_34_NUGGET
+   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
diff --git a/maps/Route34IlexForestGate.asm b/maps/Route34IlexForestGate.asm
index fe1e420..6f6cdd7 100644
--- a/maps/Route34IlexForestGate.asm
+++ b/maps/Route34IlexForestGate.asm
@@ -152,7 +152,7 @@ Route34IlexForestGate_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_TEACHER, 3 + 4, 9 + 4, $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 + 4, 9 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ButterfreeScript_0x62d8a, -1
-   person_event SPRITE_LASS, 4 + 4, 3 + 4, $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 + 4, 5 + 4, $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, $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
diff --git a/maps/Route35.asm b/maps/Route35.asm
index 9bce466..6d2c677 100644
--- a/maps/Route35.asm
+++ b/maps/Route35.asm
@@ -469,14 +469,14 @@ Route35_MapEventHeader:
 
 .PersonEvents:
    db 11
-   person_event SPRITE_YOUNGSTER, 19 + 4, 4 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerCamperIvan, -1
-   person_event SPRITE_YOUNGSTER, 20 + 4, 8 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperElliot, -1
-   person_event SPRITE_LASS, 20 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPicnickerBrooke, -1
-   person_event SPRITE_LASS, 26 + 4, 10 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerKim, -1
-   person_event SPRITE_YOUNGSTER, 28 + 4, 14 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerBird_keeperBryan, -1
-   person_event SPRITE_FISHER, 10 + 4, 2 + 4, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerFirebreatherWalt, -1
-   person_event SPRITE_BUG_CATCHER, 7 + 4, 16 + 4, $6, 0, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherArnie1, -1
-   person_event SPRITE_SUPER_NERD, 10 + 4, 5 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerJugglerIrwin, -1
-   person_event SPRITE_OFFICER, 6 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x19ca49, -1
-   person_event SPRITE_FRUIT_TREE, 25 + 4, 2 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19ca7e, -1
-   person_event SPRITE_POKE_BALL, 16 + 4, 13 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19ca7c, EVENT_ROUTE_35_TM_ROLLOUT
+   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
diff --git a/maps/Route35Goldenrodgate.asm b/maps/Route35Goldenrodgate.asm
index 2fba562..5a0c370 100644
--- a/maps/Route35Goldenrodgate.asm
+++ b/maps/Route35Goldenrodgate.asm
@@ -209,6 +209,6 @@ Route35Goldenrodgate_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_OFFICER, 4 + 4, 0 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x69d37, -1
-   person_event SPRITE_POKEFAN_F, 4 + 4, 6 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x69dc6, -1
-   person_event SPRITE_FISHER, 2 + 4, 3 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x69dda, -1
+   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
diff --git a/maps/Route35NationalParkgate.asm b/maps/Route35NationalParkgate.asm
index e9056b8..b631517 100644
--- a/maps/Route35NationalParkgate.asm
+++ b/maps/Route35NationalParkgate.asm
@@ -458,6 +458,6 @@ Route35NationalParkgate_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_OFFICER, 1 + 4, 2 + 4, $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 + 4, 6 + 4, $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 + 4, 0 + 4, $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, $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
diff --git a/maps/Route36.asm b/maps/Route36.asm
index 2947a45..ee24cb6 100644
--- a/maps/Route36.asm
+++ b/maps/Route36.asm
@@ -679,12 +679,12 @@ Route36_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_YOUNGSTER, 13 + 4, 20 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicMark, -1
-   person_event SPRITE_YOUNGSTER, 14 + 4, 31 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerSchoolboyAlan1, -1
-   person_event SPRITE_WEIRD_TREE, 9 + 4, 35 + 4, $17, 0, 0, -1, -1, 0, 0, 0, WeirdTreeScript_0x19403c, EVENT_ROUTE_36_SUDOWOODO
-   person_event SPRITE_LASS, 8 + 4, 51 + 4, $5, 0, 2, -1, -1, 0, 0, 0, LassScript_0x1940e0, -1
-   person_event SPRITE_FISHER, 9 + 4, 44 + 4, $8, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1940b9, -1
-   person_event SPRITE_FRUIT_TREE, 4 + 4, 21 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x194247, -1
-   person_event SPRITE_YOUNGSTER, 6 + 4, 46 + 4, $2, 1, 1, -1, -1, 0, 0, 0, ArthurScript, EVENT_ROUTE_36_ARTHUR_OF_THURSDAY
-   person_event SPRITE_LASS, 12 + 4, 33 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x19408c, EVENT_FLORIA_AT_SUDOWOODO
-   person_event SPRITE_SUICUNE, 6 + 4, 21 + 4, $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, $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
diff --git a/maps/Route36NationalParkgate.asm b/maps/Route36NationalParkgate.asm
index 2d3e219..a157e00 100644
--- a/maps/Route36NationalParkgate.asm
+++ b/maps/Route36NationalParkgate.asm
@@ -862,15 +862,15 @@ Route36NationalParkgate_MapEventHeader:
 
 .PersonEvents:
    db 12
-   person_event SPRITE_OFFICER, 3 + 4, 0 + 4, $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 + 4, 2 + 4, $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, 4 + 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 + 4, 2 + 4, $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 + 4, 6 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x6ad42, EVENT_BUG_CATCHING_CONTESTANT_4B
-   person_event SPRITE_YOUNGSTER, 7 + 4, 2 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6ad56, EVENT_BUG_CATCHING_CONTESTANT_5B
-   person_event SPRITE_YOUNGSTER, 6 + 4, 5 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6ad6a, EVENT_BUG_CATCHING_CONTESTANT_6B
-   person_event SPRITE_LASS, 6 + 4, 3 + 4, $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, 4 + 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 + 4, 6 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6ada6, EVENT_BUG_CATCHING_CONTESTANT_9B
-   person_event SPRITE_YOUNGSTER, 6 + 4, 6 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x6adba, EVENT_BUG_CATCHING_CONTESTANT_10B
-   person_event SPRITE_OFFICER, 2 + 4, 3 + 4, $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, $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
diff --git a/maps/Route36RuinsofAlphgate.asm b/maps/Route36RuinsofAlphgate.asm
index a126d45..7d6dbbd 100644
--- a/maps/Route36RuinsofAlphgate.asm
+++ b/maps/Route36RuinsofAlphgate.asm
@@ -49,5 +49,5 @@ Route36RuinsofAlphgate_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_OFFICER, 4 + 4, 0 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x6aa1a, -1
-   person_event SPRITE_GRAMPS, 5 + 4, 7 + 4, $2, 2, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x6aa1d, -1
+   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
diff --git a/maps/Route37.asm b/maps/Route37.asm
index ca8ecaa..a6e49b3 100644
--- a/maps/Route37.asm
+++ b/maps/Route37.asm
@@ -249,10 +249,10 @@ Route37_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_WEIRD_TREE, 12 + 4, 6 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAnnandanne1, -1
-   person_event SPRITE_WEIRD_TREE, 12 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAnnandanne2, -1
-   person_event SPRITE_YOUNGSTER, 6 + 4, 6 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerPsychicGreg, -1
-   person_event SPRITE_FRUIT_TREE, 5 + 4, 13 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8e09, -1
-   person_event SPRITE_BUG_CATCHER, 8 + 4, 16 + 4, $2, 1, 1, -1, -1, 0, 0, 0, SunnyScript, EVENT_ROUTE_37_SUNNY_OF_SUNDAY
-   person_event SPRITE_FRUIT_TREE, 5 + 4, 16 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8e0b, -1
-   person_event SPRITE_FRUIT_TREE, 7 + 4, 15 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8e0d, -1
+   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
diff --git a/maps/Route38.asm b/maps/Route38.asm
index dc03ddd..4c6ffa6 100644
--- a/maps/Route38.asm
+++ b/maps/Route38.asm
@@ -482,10 +482,10 @@ Route38_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_STANDING_YOUNGSTER, 1 + 4, 4 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyChad1, -1
-   person_event SPRITE_LASS, 3 + 4, 15 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerLassDana1, -1
-   person_event SPRITE_STANDING_YOUNGSTER, 15 + 4, 12 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBird_keeperToby, -1
-   person_event SPRITE_BUENA, 9 + 4, 19 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBeautyValerie, -1
-   person_event SPRITE_SAILOR, 5 + 4, 24 + 4, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerSailorHarry, -1
-   person_event SPRITE_FRUIT_TREE, 10 + 4, 12 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a1f33, -1
-   person_event SPRITE_BUENA, 8 + 4, 5 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBeautyOlivia, -1
+   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
diff --git a/maps/Route38EcruteakGate.asm b/maps/Route38EcruteakGate.asm
index 927ceec..1be28e2 100644
--- a/maps/Route38EcruteakGate.asm
+++ b/maps/Route38EcruteakGate.asm
@@ -40,4 +40,4 @@ Route38EcruteakGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x9cbd7, -1
+   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x9cbd7, -1
diff --git a/maps/Route39.asm b/maps/Route39.asm
index 9079dc1..2afc322 100644
--- a/maps/Route39.asm
+++ b/maps/Route39.asm
@@ -353,13 +353,13 @@ Route39_MapEventHeader:
 
 .PersonEvents:
    db 10
-   person_event SPRITE_SAILOR, 29 + 4, 13 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerSailorEugene, -1
-   person_event SPRITE_POKEFAN_M, 22 + 4, 10 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerPokefanmDerek1, -1
-   person_event SPRITE_POKEFAN_F, 19 + 4, 11 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerPokefanfRuth, -1
-   person_event SPRITE_TAUROS, 12 + 4, 3 + 4, $16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
-   person_event SPRITE_TAUROS, 11 + 4, 6 + 4, $16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
-   person_event SPRITE_TAUROS, 15 + 4, 4 + 4, $16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
-   person_event SPRITE_TAUROS, 13 + 4, 8 + 4, $16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
-   person_event SPRITE_STANDING_YOUNGSTER, 7 + 4, 13 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerPsychicNorman, -1
-   person_event SPRITE_FRUIT_TREE, 3 + 4, 9 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a5bf4, -1
-   person_event SPRITE_POKEFAN_F, 22 + 4, 4 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x1a5bbe, -1
+   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
diff --git a/maps/Route39Barn.asm b/maps/Route39Barn.asm
index 5f74384..e2420e1 100644
--- a/maps/Route39Barn.asm
+++ b/maps/Route39Barn.asm
@@ -200,6 +200,6 @@ Route39Barn_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_TWIN, 3 + 4, 2 + 4, $9, 0, 0, -1, -1, 0, 0, 0, TwinScript_0x9cc76, -1
-   person_event SPRITE_TWIN, 3 + 4, 4 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x9cc90, -1
-   person_event SPRITE_TAUROS, 3 + 4, 3 + 4, $16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x9ccaa, -1
+   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
diff --git a/maps/Route39Farmhouse.asm b/maps/Route39Farmhouse.asm
index 78a57aa..16ad6ca 100644
--- a/maps/Route39Farmhouse.asm
+++ b/maps/Route39Farmhouse.asm
@@ -207,5 +207,5 @@ Route39Farmhouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKEFAN_M, 2 + 4, 3 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanMScript_0x9ceb4, -1
-   person_event SPRITE_POKEFAN_F, 4 + 4, 5 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanFScript_0x9cf0e, -1
+   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
diff --git a/maps/Route4.asm b/maps/Route4.asm
index 93b4ae3..d0d8704 100644
--- a/maps/Route4.asm
+++ b/maps/Route4.asm
@@ -133,7 +133,7 @@ Route4_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_YOUNGSTER, 9 + 4, 17 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperHank, -1
-   person_event SPRITE_LASS, 8 + 4, 9 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerPicnickerHope, -1
-   person_event SPRITE_LASS, 6 + 4, 21 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerPicnickerSharon, -1
-   person_event SPRITE_POKE_BALL, 3 + 4, 26 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ae20f, EVENT_ROUTE_4_HP_UP
+   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
diff --git a/maps/Route40.asm b/maps/Route40.asm
index 8756381..09f92f1 100644
--- a/maps/Route40.asm
+++ b/maps/Route40.asm
@@ -344,15 +344,15 @@ Route40_MapEventHeader:
 
 .PersonEvents:
    db 12
-   person_event SPRITE_OLIVINE_RIVAL, 15 + 4, 14 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerSwimmermSimon, -1
-   person_event SPRITE_OLIVINE_RIVAL, 30 + 4, 18 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerSwimmermRandall, -1
-   person_event SPRITE_SWIMMER_GIRL, 19 + 4, 3 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerSwimmerfElaine, -1
-   person_event SPRITE_SWIMMER_GIRL, 25 + 4, 10 + 4, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfPaula, -1
-   person_event SPRITE_ROCK, 11 + 4, 7 + 4, $18, 0, 0, -1, -1, 0, 0, 0, Route40Rock, -1
-   person_event SPRITE_ROCK, 9 + 4, 6 + 4, $18, 0, 0, -1, -1, 0, 0, 0, Route40Rock, -1
-   person_event SPRITE_ROCK, 8 + 4, 7 + 4, $18, 0, 0, -1, -1, 0, 0, 0, Route40Rock, -1
-   person_event SPRITE_LASS, 13 + 4, 11 + 4, $6, 0, 0, -1, -1, 0, 0, 0, LassScript_0x1a61c4, -1
-   person_event SPRITE_BUENA, 10 + 4, 8 + 4, $3, 0, 0, -1, -1, 0, 0, 0, MonicaScript, EVENT_ROUTE_40_MONICA_OF_MONDAY
-   person_event SPRITE_POKEFAN_M, 6 + 4, 7 + 4, $9, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x1a61c7, -1
-   person_event SPRITE_LASS, 4 + 4, 13 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x1a61d3, -1
-   person_event SPRITE_STANDING_YOUNGSTER, 9 + 4, 16 + 4, $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, $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
diff --git a/maps/Route40BattleTowerGate.asm b/maps/Route40BattleTowerGate.asm
index 0dde14f..f99b652 100644
--- a/maps/Route40BattleTowerGate.asm
+++ b/maps/Route40BattleTowerGate.asm
@@ -88,5 +88,5 @@ Route40BattleTowerGate_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_ROCKER, 3 + 4, 3 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, RockerScript_0x9f669, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
-   person_event SPRITE_TWIN, 5 + 4, 7 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TwinScript_0x9f66c, -1
+   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
diff --git a/maps/Route41.asm b/maps/Route41.asm
index f80116b..872fb53 100644
--- a/maps/Route41.asm
+++ b/maps/Route41.asm
@@ -349,13 +349,13 @@ Route41_MapEventHeader:
 
 .PersonEvents:
    db 10
-   person_event SPRITE_OLIVINE_RIVAL, 6 + 4, 32 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermCharlie, -1
-   person_event SPRITE_OLIVINE_RIVAL, 8 + 4, 46 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermGeorge, -1
-   person_event SPRITE_OLIVINE_RIVAL, 26 + 4, 20 + 4, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermBerke, -1
-   person_event SPRITE_OLIVINE_RIVAL, 30 + 4, 32 + 4, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermKirk, -1
-   person_event SPRITE_OLIVINE_RIVAL, 46 + 4, 19 + 4, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermMathew, -1
-   person_event SPRITE_SWIMMER_GIRL, 4 + 4, 17 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfKaylee, -1
-   person_event SPRITE_SWIMMER_GIRL, 19 + 4, 23 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfSusie, -1
-   person_event SPRITE_SWIMMER_GIRL, 34 + 4, 27 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfDenise, -1
-   person_event SPRITE_SWIMMER_GIRL, 28 + 4, 44 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerSwimmerfKara, -1
-   person_event SPRITE_SWIMMER_GIRL, 50 + 4, 9 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerSwimmerfWendy, -1
+   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
diff --git a/maps/Route42.asm b/maps/Route42.asm
index a7c24a4..04a5088 100644
--- a/maps/Route42.asm
+++ b/maps/Route42.asm
@@ -336,12 +336,12 @@ Route42_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_FISHER, 10 + 4, 40 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherTully1, -1
-   person_event SPRITE_POKEFAN_M, 9 + 4, 51 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerBenjamin, -1
-   person_event SPRITE_SUPER_NERD, 8 + 4, 47 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacShane, -1
-   person_event SPRITE_FRUIT_TREE, 16 + 4, 27 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a934d, -1
-   person_event SPRITE_FRUIT_TREE, 16 + 4, 28 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a934f, -1
-   person_event SPRITE_FRUIT_TREE, 16 + 4, 29 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a9351, -1
-   person_event SPRITE_POKE_BALL, 4 + 4, 6 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a9349, EVENT_ROUTE_42_ULTRA_BALL
-   person_event SPRITE_POKE_BALL, 8 + 4, 33 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a934b, EVENT_ROUTE_42_SUPER_POTION
-   person_event SPRITE_SUICUNE, 16 + 4, 26 + 4, $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, $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
diff --git a/maps/Route42EcruteakGate.asm b/maps/Route42EcruteakGate.asm
index f43fc25..e23810d 100644
--- a/maps/Route42EcruteakGate.asm
+++ b/maps/Route42EcruteakGate.asm
@@ -35,4 +35,4 @@ Route42EcruteakGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x19a4b5, -1
+   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x19a4b5, -1
diff --git a/maps/Route43.asm b/maps/Route43.asm
index f9d72db..a4fb28f 100644
--- a/maps/Route43.asm
+++ b/maps/Route43.asm
@@ -516,11 +516,11 @@ Route43_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_SUPER_NERD, 5 + 4, 13 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPokemaniacBen, -1
-   person_event SPRITE_SUPER_NERD, 20 + 4, 13 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacBrent1, -1
-   person_event SPRITE_SUPER_NERD, 7 + 4, 14 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPokemaniacRon, -1
-   person_event SPRITE_FISHER, 16 + 4, 4 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerFisherMarvin, -1
-   person_event SPRITE_LASS, 25 + 4, 9 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerTiffany3, -1
-   person_event SPRITE_YOUNGSTER, 40 + 4, 13 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperSpencer, -1
-   person_event SPRITE_FRUIT_TREE, 26 + 4, 1 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19d266, -1
-   person_event SPRITE_POKE_BALL, 32 + 4, 12 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19d268, EVENT_ROUTE_43_MAX_ETHER
+   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
diff --git a/maps/Route43Gate.asm b/maps/Route43Gate.asm
index e904068..4fe15be 100644
--- a/maps/Route43Gate.asm
+++ b/maps/Route43Gate.asm
@@ -264,6 +264,6 @@ Route43Gate_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_OFFICER, 4 + 4, 0 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x19ac85, EVENT_LAKE_OF_RAGE_CIVILIANS
-   person_event SPRITE_ROCKET, 4 + 4, 2 + 4, $6, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x19ac82, EVENT_ROUTE_43_GATE_ROCKETS
-   person_event SPRITE_ROCKET, 4 + 4, 7 + 4, $7, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x19ac82, EVENT_ROUTE_43_GATE_ROCKETS
+   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
diff --git a/maps/Route43MahoganyGate.asm b/maps/Route43MahoganyGate.asm
index d1282a1..588fa92 100644
--- a/maps/Route43MahoganyGate.asm
+++ b/maps/Route43MahoganyGate.asm
@@ -54,4 +54,4 @@ Route43MahoganyGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 4 + 4, 0 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x19ab0b, -1
+   person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x19ab0b, -1
diff --git a/maps/Route44.asm b/maps/Route44.asm
index 7baf601..b2a08a7 100644
--- a/maps/Route44.asm
+++ b/maps/Route44.asm
@@ -513,14 +513,14 @@ Route44_MapEventHeader:
 
 .PersonEvents:
    db 11
-   person_event SPRITE_FISHER, 3 + 4, 35 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherWilton1, -1
-   person_event SPRITE_FISHER, 13 + 4, 19 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherEdgar, -1
-   person_event SPRITE_YOUNGSTER, 9 + 4, 10 + 4, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicPhil, -1
-   person_event SPRITE_SUPER_NERD, 2 + 4, 43 + 4, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPokemaniacZach, -1
-   person_event SPRITE_YOUNGSTER, 5 + 4, 51 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerBird_keeperVance1, -1
-   person_event SPRITE_COOLTRAINER_M, 15 + 4, 41 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerCooltrainermAllen, -1
-   person_event SPRITE_COOLTRAINER_F, 14 + 4, 31 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerCooltrainerfCybil, -1
-   person_event SPRITE_FRUIT_TREE, 5 + 4, 9 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19da40, -1
-   person_event SPRITE_POKE_BALL, 8 + 4, 30 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19da42, EVENT_ROUTE_44_MAX_REVIVE
-   person_event SPRITE_POKE_BALL, 4 + 4, 45 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19da44, EVENT_ROUTE_44_ULTRA_BALL
-   person_event SPRITE_POKE_BALL, 9 + 4, 14 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19da46, EVENT_ROUTE_44_MAX_REPEL
+   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
diff --git a/maps/Route45.asm b/maps/Route45.asm
index c7a03af..19f4312 100644
--- a/maps/Route45.asm
+++ b/maps/Route45.asm
@@ -16,7 +16,7 @@ BlackbeltKenji3Script:
    iftrue UnknownScript_0x19e0e4
    checkevent EVENT_KENJI_ASKED_FOR_PHONE_NUMBER
    iftrue UnknownScript_0x19e0cd
-   special Function11485
+   special Special_SampleKenjiBreakCountdown
    writetext UnknownText_0x19e5e2
    closetext
    setevent EVENT_KENJI_ASKED_FOR_PHONE_NUMBER
@@ -46,7 +46,7 @@ UnknownScript_0x19e0e4:
    verbosegiveitem PP_UP, 1
    iffalse UnknownScript_0x19e118
    clearevent EVENT_KENJI_ON_BREAK
-   special Function11485
+   special Special_SampleKenjiBreakCountdown
    jump UnknownScript_0x19e127
 
 UnknownScript_0x19e10c:
@@ -535,16 +535,16 @@ Route45_MapEventHeader:
 
 .PersonEvents:
    db 13
-   person_event SPRITE_POKEFAN_M, 16 + 4, 10 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerHikerErik, -1
-   person_event SPRITE_POKEFAN_M, 65 + 4, 15 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerMichael, -1
-   person_event SPRITE_POKEFAN_M, 28 + 4, 5 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerParry, -1
-   person_event SPRITE_POKEFAN_M, 65 + 4, 9 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerHikerTimothy, -1
-   person_event SPRITE_BLACK_BELT, 50 + 4, 11 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBlackbeltKenji, -1
-   person_event SPRITE_COOLTRAINER_M, 18 + 4, 17 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainermRyan, -1
-   person_event SPRITE_COOLTRAINER_F, 36 + 4, 5 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfKelly, -1
-   person_event SPRITE_FRUIT_TREE, 82 + 4, 16 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19e294, -1
-   person_event SPRITE_POKE_BALL, 51 + 4, 6 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e296, EVENT_ROUTE_45_NUGGET
-   person_event SPRITE_POKE_BALL, 66 + 4, 5 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e298, EVENT_ROUTE_45_REVIVE
-   person_event SPRITE_POKE_BALL, 20 + 4, 6 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e29a, EVENT_ROUTE_45_ELIXER
-   person_event SPRITE_POKE_BALL, 33 + 4, 7 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e29c, EVENT_ROUTE_45_MAX_POTION
-   person_event SPRITE_YOUNGSTER, 70 + 4, 4 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x19e269, -1
+   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
diff --git a/maps/Route46.asm b/maps/Route46.asm
index 0029a5f..bda4cc9 100644
--- a/maps/Route46.asm
+++ b/maps/Route46.asm
@@ -261,9 +261,9 @@ Route46_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_POKEFAN_M, 19 + 4, 12 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerBailey, -1
-   person_event SPRITE_YOUNGSTER, 14 + 4, 4 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerCamperTed, -1
-   person_event SPRITE_LASS, 13 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerErin1, -1
-   person_event SPRITE_FRUIT_TREE, 5 + 4, 7 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a978f, -1
-   person_event SPRITE_FRUIT_TREE, 6 + 4, 8 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a9791, -1
-   person_event SPRITE_POKE_BALL, 15 + 4, 1 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a978d, EVENT_ROUTE_46_X_SPEED
+   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
diff --git a/maps/Route5.asm b/maps/Route5.asm
index 76856e6..2335dd3 100644
--- a/maps/Route5.asm
+++ b/maps/Route5.asm
@@ -57,4 +57,4 @@ Route5_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKEFAN_M, 16 + 4, 17 + 4, $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, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x1adb19, EVENT_ROUTE_5_6_POKEFAN_M_BLOCKS_UNDERGROUND_PATH
diff --git a/maps/Route5CleanseTagSpeechHouse.asm b/maps/Route5CleanseTagSpeechHouse.asm
index 3ca0e10..200e4ec 100644
--- a/maps/Route5CleanseTagSpeechHouse.asm
+++ b/maps/Route5CleanseTagSpeechHouse.asm
@@ -75,5 +75,5 @@ Route5CleanseTagSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_GRANNY, 5 + 4, 2 + 4, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrannyScript_0x18b634, -1
-   person_event SPRITE_TEACHER, 3 + 4, 5 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x18b64f, -1
+   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
diff --git a/maps/Route5SaffronCityGate.asm b/maps/Route5SaffronCityGate.asm
index 19c50a4..ee40d6d 100644
--- a/maps/Route5SaffronCityGate.asm
+++ b/maps/Route5SaffronCityGate.asm
@@ -36,4 +36,4 @@ Route5SaffronCityGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 4 + 4, 0 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x18b5b9, -1
+   person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x18b5b9, -1
diff --git a/maps/Route5UndergroundEntrance.asm b/maps/Route5UndergroundEntrance.asm
index 0e6cd75..5029df0 100644
--- a/maps/Route5UndergroundEntrance.asm
+++ b/maps/Route5UndergroundEntrance.asm
@@ -34,4 +34,4 @@ Route5UndergroundEntrance_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_TEACHER, 2 + 4, 2 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x18b555, -1
+   person_event SPRITE_TEACHER, 2, 2, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x18b555, -1
diff --git a/maps/Route6.asm b/maps/Route6.asm
index db000c2..50b8990 100644
--- a/maps/Route6.asm
+++ b/maps/Route6.asm
@@ -104,6 +104,6 @@ Route6_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKEFAN_M, 4 + 4, 17 + 4, $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 + 4, 9 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerPokefanmRex, -1
-   person_event SPRITE_POKEFAN_M, 12 + 4, 10 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerPokefanmAllan, -1
+   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
diff --git a/maps/Route6SaffronGate.asm b/maps/Route6SaffronGate.asm
index 1cee55b..ab457f5 100644
--- a/maps/Route6SaffronGate.asm
+++ b/maps/Route6SaffronGate.asm
@@ -75,4 +75,4 @@ Route6SaffronGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 4 + 4, 0 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x1926ea, -1
+   person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x1926ea, -1
diff --git a/maps/Route7SaffronGate.asm b/maps/Route7SaffronGate.asm
index 1fa0916..05b09f0 100644
--- a/maps/Route7SaffronGate.asm
+++ b/maps/Route7SaffronGate.asm
@@ -61,4 +61,4 @@ Route7SaffronGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x73518, -1
+   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x73518, -1
diff --git a/maps/Route8.asm b/maps/Route8.asm
index e934f0e..c8dab80 100644
--- a/maps/Route8.asm
+++ b/maps/Route8.asm
@@ -183,9 +183,9 @@ Route8_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_BIKER, 8 + 4, 10 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerBikerDwayne, -1
-   person_event SPRITE_BIKER, 9 + 4, 10 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerBikerHarris, -1
-   person_event SPRITE_BIKER, 10 + 4, 10 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerBikerZeke, -1
-   person_event SPRITE_SUPER_NERD, 2 + 4, 23 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerSupernerdSam, -1
-   person_event SPRITE_SUPER_NERD, 12 + 4, 31 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerSupernerdTom, -1
-   person_event SPRITE_FRUIT_TREE, 5 + 4, 33 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x6c06c, -1
+   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
diff --git a/maps/Route8SaffronGate.asm b/maps/Route8SaffronGate.asm
index 44acb59..607909e 100644
--- a/maps/Route8SaffronGate.asm
+++ b/maps/Route8SaffronGate.asm
@@ -35,4 +35,4 @@ Route8SaffronGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x7f416, -1
+   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x7f416, -1
diff --git a/maps/Route9.asm b/maps/Route9.asm
index c9d6b64..6f760ff 100644
--- a/maps/Route9.asm
+++ b/maps/Route9.asm
@@ -216,9 +216,9 @@ Route9_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_YOUNGSTER, 11 + 4, 23 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperDean, -1
-   person_event SPRITE_LASS, 8 + 4, 39 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPicnickerHeidi, -1
-   person_event SPRITE_YOUNGSTER, 4 + 4, 11 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerCamperSid, -1
-   person_event SPRITE_LASS, 15 + 4, 12 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerEdna, -1
-   person_event SPRITE_POKEFAN_M, 3 + 4, 28 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerTim, -1
-   person_event SPRITE_POKEFAN_M, 15 + 4, 36 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerHikerSidney, -1
+   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
diff --git a/maps/RuinsofAlphAerodactylItemRoom.asm b/maps/RuinsofAlphAerodactylItemRoom.asm
index 1d7a66f..2ddcd70 100644
--- a/maps/RuinsofAlphAerodactylItemRoom.asm
+++ b/maps/RuinsofAlphAerodactylItemRoom.asm
@@ -47,7 +47,7 @@ RuinsofAlphAerodactylItemRoom_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKE_BALL, 6 + 4, 2 + 4, $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 + 4, 5 + 4, $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 + 4, 2 + 4, $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 + 4, 5 + 4, $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, $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
diff --git a/maps/RuinsofAlphHoOhItemRoom.asm b/maps/RuinsofAlphHoOhItemRoom.asm
index 8007093..c3af94b 100644
--- a/maps/RuinsofAlphHoOhItemRoom.asm
+++ b/maps/RuinsofAlphHoOhItemRoom.asm
@@ -47,7 +47,7 @@ RuinsofAlphHoOhItemRoom_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKE_BALL, 6 + 4, 2 + 4, $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 + 4, 5 + 4, $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 + 4, 2 + 4, $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 + 4, 5 + 4, $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, $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
diff --git a/maps/RuinsofAlphInnerChamber.asm b/maps/RuinsofAlphInnerChamber.asm
index 6b280bc..ae8bed5 100644
--- a/maps/RuinsofAlphInnerChamber.asm
+++ b/maps/RuinsofAlphInnerChamber.asm
@@ -125,6 +125,6 @@ RuinsofAlphInnerChamber_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_FISHER, 7 + 4, 3 + 4, $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 + 4, 14 + 4, $2, 1, 1, -1, -1, 0, 0, 0, TeacherScript_0x58f80, EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS
-   person_event SPRITE_GRAMPS, 19 + 4, 11 + 4, $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, $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
diff --git a/maps/RuinsofAlphKabutoChamber.asm b/maps/RuinsofAlphKabutoChamber.asm
index 444f168..e20eaf7 100644
--- a/maps/RuinsofAlphKabutoChamber.asm
+++ b/maps/RuinsofAlphKabutoChamber.asm
@@ -284,5 +284,5 @@ RuinsofAlphKabutoChamber_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_RECEPTIONIST, 5 + 4, 5 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x58769, EVENT_RUINS_OF_ALPH_KABUTO_CHAMBER_RECEPTIONIST
-   person_event SPRITE_SCIENTIST, 1 + 4, 3 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x587a8, -1
+   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
diff --git a/maps/RuinsofAlphKabutoItemRoom.asm b/maps/RuinsofAlphKabutoItemRoom.asm
index c319ba7..02f9242 100644
--- a/maps/RuinsofAlphKabutoItemRoom.asm
+++ b/maps/RuinsofAlphKabutoItemRoom.asm
@@ -47,7 +47,7 @@ RuinsofAlphKabutoItemRoom_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKE_BALL, 6 + 4, 2 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a2, EVENT_PICKED_UP_BERRY_FROM_KABUTO_ITEM_ROOM
-   person_event SPRITE_POKE_BALL, 6 + 4, 5 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a4, EVENT_PICKED_UP_PSNCUREBERRY_FROM_KABUTO_ITEM_ROOM
-   person_event SPRITE_POKE_BALL, 4 + 4, 2 + 4, $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 + 4, 5 + 4, $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, $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
diff --git a/maps/RuinsofAlphOmanyteItemRoom.asm b/maps/RuinsofAlphOmanyteItemRoom.asm
index 3059e13..5fb6227 100644
--- a/maps/RuinsofAlphOmanyteItemRoom.asm
+++ b/maps/RuinsofAlphOmanyteItemRoom.asm
@@ -47,7 +47,7 @@ RuinsofAlphOmanyteItemRoom_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKE_BALL, 6 + 4, 2 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a2c, EVENT_PICKED_UP_MYSTERYBERRY_FROM_OMANYTE_ITEM_ROOM
-   person_event SPRITE_POKE_BALL, 6 + 4, 5 + 4, $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 + 4, 2 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a30, EVENT_PICKED_UP_STARDUST_FROM_OMANYTE_ITEM_ROOM
-   person_event SPRITE_POKE_BALL, 4 + 4, 5 + 4, $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, $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
diff --git a/maps/RuinsofAlphOutside.asm b/maps/RuinsofAlphOutside.asm
index b20c0fa..e4748d9 100644
--- a/maps/RuinsofAlphOutside.asm
+++ b/maps/RuinsofAlphOutside.asm
@@ -311,8 +311,8 @@ RuinsofAlphOutside_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_YOUNGSTER, 20 + 4, 4 + 4, $6, 0, 0, -1, -1, 0, 2, 1, TrainerPsychicNathan, -1
-   person_event SPRITE_SCIENTIST, 15 + 4, 11 + 4, $7, 0, 0, -1, -1, 0, 0, 0, ScientistScript_0x58043, EVENT_RUINS_OF_ALPH_OUTSIDE_SCIENTIST
-   person_event SPRITE_FISHER, 17 + 4, 13 + 4, $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 + 4, 14 + 4, $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 + 4, 12 + 4, $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, $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
diff --git a/maps/RuinsofAlphResearchCenter.asm b/maps/RuinsofAlphResearchCenter.asm
index 9304fd1..47aa063 100644
--- a/maps/RuinsofAlphResearchCenter.asm
+++ b/maps/RuinsofAlphResearchCenter.asm
@@ -412,6 +412,6 @@ RuinsofAlphResearchCenter_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_SCIENTIST, 5 + 4, 4 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x591e5, -1
-   person_event SPRITE_SCIENTIST, 2 + 4, 5 + 4, $2, 1, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x59214, -1
-   person_event SPRITE_SCIENTIST, 5 + 4, 2 + 4, $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, $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
diff --git a/maps/SafariZoneWardensHome.asm b/maps/SafariZoneWardensHome.asm
index d91805c..911da54 100644
--- a/maps/SafariZoneWardensHome.asm
+++ b/maps/SafariZoneWardensHome.asm
@@ -94,4 +94,4 @@ SafariZoneWardensHome_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_LASS, 4 + 4, 2 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, WardensGranddaughter, -1
+   person_event SPRITE_LASS, 4, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, WardensGranddaughter, -1
diff --git a/maps/SaffronCity.asm b/maps/SaffronCity.asm
index 72d5476..363f930 100644
--- a/maps/SaffronCity.asm
+++ b/maps/SaffronCity.asm
@@ -295,11 +295,11 @@ SaffronCity_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_LASS, 14 + 4, 7 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LassScript_0x19932a, -1
-   person_event SPRITE_POKEFAN_M, 30 + 4, 19 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x19933e, -1
-   person_event SPRITE_COOLTRAINER_M, 7 + 4, 32 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerMScript_0x199352, -1
-   person_event SPRITE_COOLTRAINER_F, 24 + 4, 20 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x199355, -1
-   person_event SPRITE_FISHER, 12 + 4, 27 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x199358, -1
-   person_event SPRITE_YOUNGSTER, 19 + 4, 15 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x19936c, -1
-   person_event SPRITE_YOUNGSTER, 22 + 4, 35 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x19936f, -1
-   person_event SPRITE_LASS, 8 + 4, 19 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x199372, -1
+   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
diff --git a/maps/SaffronGym.asm b/maps/SaffronGym.asm
index 47d6322..8e7bb10 100644
--- a/maps/SaffronGym.asm
+++ b/maps/SaffronGym.asm
@@ -330,9 +330,9 @@ SaffronGym_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_SABRINA, 8 + 4, 9 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SabrinaScript_0x189c2e, -1
-   person_event SPRITE_GRANNY, 16 + 4, 17 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerMediumRebecca, -1
-   person_event SPRITE_YOUNGSTER, 16 + 4, 3 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicFranklin, -1
-   person_event SPRITE_GRANNY, 4 + 4, 3 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerMediumDoris, -1
-   person_event SPRITE_YOUNGSTER, 4 + 4, 17 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPsychicJared, -1
-   person_event SPRITE_GYM_GUY, 14 + 4, 9 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SaffronGymGuyScript, -1
+   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
diff --git a/maps/SaffronMart.asm b/maps/SaffronMart.asm
index 8480879..6a68113 100644
--- a/maps/SaffronMart.asm
+++ b/maps/SaffronMart.asm
@@ -49,6 +49,6 @@ SaffronMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18a3bf, -1
-   person_event SPRITE_COOLTRAINER_M, 2 + 4, 7 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CooltrainerMScript_0x18a3c6, -1
-   person_event SPRITE_COOLTRAINER_F, 6 + 4, 7 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x18a3c9, -1
+   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
diff --git a/maps/SaffronPokeCenter1F.asm b/maps/SaffronPokeCenter1F.asm
index 31f7c09..125e796 100644
--- a/maps/SaffronPokeCenter1F.asm
+++ b/maps/SaffronPokeCenter1F.asm
@@ -123,7 +123,7 @@ SaffronPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18a47d, -1
-   person_event SPRITE_TEACHER, 2 + 4, 7 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x18a480, -1
-   person_event SPRITE_FISHER, 6 + 4, 8 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x18a48c, -1
-   person_event SPRITE_YOUNGSTER, 4 + 4, 1 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x18a4a0, -1
+   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
diff --git a/maps/SaffronTrainStation.asm b/maps/SaffronTrainStation.asm
index 5795464..55587b1 100644
--- a/maps/SaffronTrainStation.asm
+++ b/maps/SaffronTrainStation.asm
@@ -231,7 +231,7 @@ SaffronTrainStation_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_OFFICER, 9 + 4, 9 + 4, $6, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x18a81e, -1
-   person_event SPRITE_GYM_GUY, 14 + 4, 10 + 4, $2, 1, 1, -1, -1, 0, 0, 0, GymGuyScript_0x18a875, -1
-   person_event SPRITE_TEACHER, 11 + 4, 6 + 4, $9, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x18a889, EVENT_SAFFRON_TRAIN_STATION_POPULATION
-   person_event SPRITE_LASS, 10 + 4, 6 + 4, $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, $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
diff --git a/maps/SeafoamGym.asm b/maps/SeafoamGym.asm
index 353d2b8..558a979 100644
--- a/maps/SeafoamGym.asm
+++ b/maps/SeafoamGym.asm
@@ -171,5 +171,5 @@ SeafoamGym_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_BLAINE, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BlaineScript_0x1ab4fb, -1
-   person_event SPRITE_GYM_GUY, 5 + 4, 6 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SeafoamGymGuyScript, EVENT_SEAFOAM_GYM_GYM_GUY
+   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
diff --git a/maps/SilphCo1F.asm b/maps/SilphCo1F.asm
index d5c8ec1..0acff40 100644
--- a/maps/SilphCo1F.asm
+++ b/maps/SilphCo1F.asm
@@ -68,5 +68,5 @@ SilphCo1F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_RECEPTIONIST, 2 + 4, 4 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ReceptionistScript_0x18abe5, -1
-   person_event SPRITE_OFFICER, 1 + 4, 13 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x18abe8, -1
+   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
diff --git a/maps/SilverCaveItemRooms.asm b/maps/SilverCaveItemRooms.asm
index bc64725..e421dd7 100644
--- a/maps/SilverCaveItemRooms.asm
+++ b/maps/SilverCaveItemRooms.asm
@@ -28,5 +28,5 @@ SilverCaveItemRooms_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKE_BALL, 3 + 4, 6 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c65e, EVENT_SILVER_CAVE_ITEM_ROOMS_MAX_REVIVE
-   person_event SPRITE_POKE_BALL, 11 + 4, 15 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c660, EVENT_SILVER_CAVE_ITEM_ROOMS_FULL_RESTORE
+   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
diff --git a/maps/SilverCavePokeCenter1F.asm b/maps/SilverCavePokeCenter1F.asm
index 35318a7..1b53d49 100644
--- a/maps/SilverCavePokeCenter1F.asm
+++ b/maps/SilverCavePokeCenter1F.asm
@@ -43,5 +43,5 @@ SilverCavePokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x1ae59a, -1
-   person_event SPRITE_GRANNY, 5 + 4, 1 + 4, $8, 1, 2, -1, -1, 0, 0, 0, GrannyScript_0x1ae59d, -1
+   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
diff --git a/maps/SilverCaveRoom1.asm b/maps/SilverCaveRoom1.asm
index ee56106..97546a7 100644
--- a/maps/SilverCaveRoom1.asm
+++ b/maps/SilverCaveRoom1.asm
@@ -44,7 +44,7 @@ SilverCaveRoom1_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKE_BALL, 9 + 4, 4 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c554, EVENT_SILVER_CAVE_ROOM_1_MAX_ELIXER
-   person_event SPRITE_POKE_BALL, 29 + 4, 15 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c556, EVENT_SILVER_CAVE_ROOM_1_PROTEIN
-   person_event SPRITE_POKE_BALL, 30 + 4, 5 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c558, EVENT_SILVER_CAVE_ROOM_1_ESCAPE_ROPE
-   person_event SPRITE_POKE_BALL, 18 + 4, 7 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c55a, EVENT_SILVER_CAVE_ROOM_1_ULTRA_BALL
+   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
diff --git a/maps/SilverCaveRoom2.asm b/maps/SilverCaveRoom2.asm
index e589bb8..ff0e18d 100644
--- a/maps/SilverCaveRoom2.asm
+++ b/maps/SilverCaveRoom2.asm
@@ -38,6 +38,6 @@ SilverCaveRoom2_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKE_BALL, 10 + 4, 24 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c5b2, EVENT_SILVER_CAVE_ROOM_2_CALCIUM
-   person_event SPRITE_POKE_BALL, 24 + 4, 22 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c5b4, EVENT_SILVER_CAVE_ROOM_2_ULTRA_BALL
-   person_event SPRITE_POKE_BALL, 20 + 4, 4 + 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, $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
diff --git a/maps/SilverCaveRoom3.asm b/maps/SilverCaveRoom3.asm
index 945b999..4b61090 100644
--- a/maps/SilverCaveRoom3.asm
+++ b/maps/SilverCaveRoom3.asm
@@ -63,4 +63,4 @@ SilverCaveRoom3_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_RED, 10 + 4, 9 + 4, $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, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, RedScript_0x18c603, EVENT_RED_IN_MT_SILVER
diff --git a/maps/SlowpokeWellB1F.asm b/maps/SlowpokeWellB1F.asm
index b6c22ee..9ace60a 100644
--- a/maps/SlowpokeWellB1F.asm
+++ b/maps/SlowpokeWellB1F.asm
@@ -326,12 +326,12 @@ SlowpokeWellB1F_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_ROCKET, 7 + 4, 15 + 4, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM29, EVENT_SLOWPOKE_WELL_ROCKETS
-   person_event SPRITE_ROCKET, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, 0, 2, 1, TrainerGruntM1, EVENT_SLOWPOKE_WELL_ROCKETS
-   person_event SPRITE_ROCKET, 6 + 4, 5 + 4, $9, 0, 0, -1, -1, 0, 2, 2, TrainerGruntM2, EVENT_SLOWPOKE_WELL_ROCKETS
-   person_event SPRITE_ROCKET_GIRL, 4 + 4, 10 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerGruntF1, EVENT_SLOWPOKE_WELL_ROCKETS
-   person_event SPRITE_SLOWPOKE, 4 + 4, 7 + 4, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SlowpokeScript_0x5a681, EVENT_SLOWPOKE_WELL_SLOWPOKES
-   person_event SPRITE_SLOWPOKE, 2 + 4, 6 + 4, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SlowpokeScript_0x5a695, EVENT_SLOWPOKE_WELL_SLOWPOKES
-   person_event SPRITE_KURT, 14 + 4, 16 + 4, $7, 0, 0, -1, -1, 0, 0, 0, KurtScript_0x5a5d5, EVENT_SLOWPOKE_WELL_KURT
-   person_event SPRITE_BOULDER, 2 + 4, 3 + 4, $19, 0, 0, -1, -1, 0, 0, 0, SlowpokeWellB1FBoulder, -1
-   person_event SPRITE_POKE_BALL, 3 + 4, 10 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a6a3, EVENT_SLOWPOKE_WELL_B1F_SUPER_POTION
+   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
diff --git a/maps/SlowpokeWellB2F.asm b/maps/SlowpokeWellB2F.asm
index c21ec9f..fcf207b 100644
--- a/maps/SlowpokeWellB2F.asm
+++ b/maps/SlowpokeWellB2F.asm
@@ -73,5 +73,5 @@ SlowpokeWellB2F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_GYM_GUY, 4 + 4, 5 + 4, $2, 2, 1, -1, -1, 0, 0, 1, GymGuyScript_0x5ad0b, -1
-   person_event SPRITE_POKE_BALL, 5 + 4, 15 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5ad28, EVENT_SLOWPOKE_WELL_B2F_TM_RAIN_DANCE
+   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
diff --git a/maps/SoulHouse.asm b/maps/SoulHouse.asm
index e03b07c..f315a3b 100644
--- a/maps/SoulHouse.asm
+++ b/maps/SoulHouse.asm
@@ -83,7 +83,7 @@ SoulHouse_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_GRAMPS, 2 + 4, 4 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x7ec47, -1
-   person_event SPRITE_TEACHER, 3 + 4, 7 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7ec4a, -1
-   person_event SPRITE_LASS, 5 + 4, 2 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x7ec4d, -1
-   person_event SPRITE_GRANNY, 3 + 4, 1 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrannyScript_0x7ec50, -1
+   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
diff --git a/maps/SproutTower1F.asm b/maps/SproutTower1F.asm
index e19c3fa..ee4eef4 100644
--- a/maps/SproutTower1F.asm
+++ b/maps/SproutTower1F.asm
@@ -116,9 +116,9 @@ SproutTower1F_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_SAGE, 4 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SageScript_0x1844fe, -1
-   person_event SPRITE_SAGE, 7 + 4, 6 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SageScript_0x184501, -1
-   person_event SPRITE_GRANNY, 12 + 4, 11 + 4, $8, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x184504, -1
-   person_event SPRITE_TEACHER, 9 + 4, 9 + 4, $7, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x184507, -1
-   person_event SPRITE_SAGE, 5 + 4, 3 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSageChow, -1
-   person_event SPRITE_POKE_BALL, 7 + 4, 16 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18451e, EVENT_SPROUT_TOWER1F_PARLYZ_HEAL
+   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
diff --git a/maps/SproutTower2F.asm b/maps/SproutTower2F.asm
index 6c051cc..946f57d 100644
--- a/maps/SproutTower2F.asm
+++ b/maps/SproutTower2F.asm
@@ -99,6 +99,6 @@ SproutTower2F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_SAGE, 3 + 4, 12 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSageNico, -1
-   person_event SPRITE_SAGE, 14 + 4, 9 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerSageEdmond, -1
-   person_event SPRITE_POKE_BALL, 1 + 4, 3 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1847a7, EVENT_SPROUT_TOWER2F_X_ACCURACY
+   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
diff --git a/maps/SproutTower3F.asm b/maps/SproutTower3F.asm
index fb098e8..7656bde 100644
--- a/maps/SproutTower3F.asm
+++ b/maps/SproutTower3F.asm
@@ -345,10 +345,10 @@ SproutTower3F_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_SAGE, 13 + 4, 8 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSageJin, -1
-   person_event SPRITE_SAGE, 8 + 4, 8 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerSageTroy, -1
-   person_event SPRITE_SAGE, 2 + 4, 10 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SageLiScript, -1
-   person_event SPRITE_SAGE, 11 + 4, 11 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSageNeal, -1
-   person_event SPRITE_POKE_BALL, 14 + 4, 6 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x184a19, EVENT_SPROUT_TOWER_3F_POTION
-   person_event SPRITE_POKE_BALL, 1 + 4, 14 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x184a1b, EVENT_SPROUT_TOWER_3F_ESCAPE_ROPE
-   person_event SPRITE_SILVER, 4 + 4, 10 + 4, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_SPROUT_TOWER
+   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
diff --git a/maps/TeamRocketBaseB1F.asm b/maps/TeamRocketBaseB1F.asm
index 0cd05e1..3f7f1f3 100644
--- a/maps/TeamRocketBaseB1F.asm
+++ b/maps/TeamRocketBaseB1F.asm
@@ -786,9 +786,9 @@ TeamRocketBaseB1F_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_ROCKET, 0 + 4, 0 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_SECURITY_GRUNTS
-   person_event SPRITE_ROCKET, 4 + 4, 2 + 4, $9, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM16, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_SCIENTIST, 12 + 4, 18 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerScientistJed, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_POKE_BALL, 6 + 4, 27 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6cac4, EVENT_TEAM_ROCKET_BASE_B1F_HYPER_POTION
-   person_event SPRITE_POKE_BALL, 15 + 4, 14 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6cac6, EVENT_TEAM_ROCKET_BASE_B1F_NUGGET
-   person_event SPRITE_POKE_BALL, 12 + 4, 21 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6cac8, EVENT_TEAM_ROCKET_BASE_B1F_GUARD_SPEC
+   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
diff --git a/maps/TeamRocketBaseB2F.asm b/maps/TeamRocketBaseB2F.asm
index 7172287..b6363cb 100644
--- a/maps/TeamRocketBaseB2F.asm
+++ b/maps/TeamRocketBaseB2F.asm
@@ -952,17 +952,17 @@ TeamRocketBaseB2F_MapEventHeader:
 
 .PersonEvents:
    db 14
-   person_event SPRITE_ROCKET, 16 + 4, 20 + 4, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_GRUNT_WITH_EXECUTIVE
-   person_event SPRITE_ROCKET_GIRL, 16 + 4, 20 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_EXECUTIVE
-   person_event SPRITE_LANCE, 13 + 4, 5 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_LANCE
-   person_event SPRITE_DRAGON, 13 + 4, 9 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_DRAGONITE
-   person_event SPRITE_VOLTORB, 5 + 4, 7 + 4, $16, 0, 0, -1, -1, 0, 0, 0, VoltorbScript_0x6d101, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
-   person_event SPRITE_VOLTORB, 7 + 4, 7 + 4, $16, 0, 0, -1, -1, 0, 0, 0, VoltorbScript_0x6d12c, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
-   person_event SPRITE_VOLTORB, 9 + 4, 7 + 4, $16, 0, 0, -1, -1, 0, 0, 0, VoltorbScript_0x6d157, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
-   person_event SPRITE_VOLTORB, 5 + 4, 22 + 4, $16, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
-   person_event SPRITE_VOLTORB, 7 + 4, 22 + 4, $16, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
-   person_event SPRITE_VOLTORB, 9 + 4, 22 + 4, $16, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
-   person_event SPRITE_ROCKET, 13 + 4, 25 + 4, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM17, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_ROCKET, 1 + 4, 4 + 4, $a, 0, 0, -1, -1, 0, 2, 1, TrainerGruntM18, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_ROCKET, 14 + 4, 21 + 4, $8, 0, 0, -1, -1, 0, 2, 4, TrainerGruntM19, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_POKE_BALL, 10 + 4, 3 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6d20d, EVENT_TEAM_ROCKET_BASE_B2F_TM_THIEF
+   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
diff --git a/maps/TeamRocketBaseB3F.asm b/maps/TeamRocketBaseB3F.asm
index 9531879..91b2a83 100644
--- a/maps/TeamRocketBaseB3F.asm
+++ b/maps/TeamRocketBaseB3F.asm
@@ -587,17 +587,17 @@ TeamRocketBaseB3F_MapEventHeader:
 
 .PersonEvents:
    db 14
-   person_event SPRITE_LANCE, 14 + 4, 25 + 4, $6, 0, 0, -1, -1, 0, 0, 0, LanceScript_0x6dffc, EVENT_TEAM_ROCKET_BASE_B3F_LANCE_PASSWORDS
-   person_event SPRITE_ROCKET, 3 + 4, 8 + 4, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B3F_EXECUTIVE
-   person_event SPRITE_MOLTRES, 2 + 4, 7 + 4, $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 + 4, 21 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerGruntF5, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_ROCKET, 14 + 4, 5 + 4, $a, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM28, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_SCIENTIST, 11 + 4, 23 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerScientistRoss, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_SCIENTIST, 15 + 4, 11 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerScientistMitch, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_ROCKET, 14 + 4, 24 + 4, $6, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x6e048, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_SILVER, 5 + 4, 4 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_TEAM_ROCKET_BASE
-   person_event SPRITE_POKE_BALL, 12 + 4, 1 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e120, EVENT_TEAM_ROCKET_BASE_B3F_PROTEIN
-   person_event SPRITE_POKE_BALL, 12 + 4, 3 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e122, EVENT_TEAM_ROCKET_BASE_B3F_X_SPECIAL
-   person_event SPRITE_POKE_BALL, 9 + 4, 28 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e124, EVENT_TEAM_ROCKET_BASE_B3F_FULL_HEAL
-   person_event SPRITE_POKE_BALL, 2 + 4, 17 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e126, EVENT_TEAM_ROCKET_BASE_B3F_ICE_HEAL
-   person_event SPRITE_POKE_BALL, 10 + 4, 14 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e128, EVENT_TEAM_ROCKET_BASE_B3F_ULTRA_BALL
+   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
diff --git a/maps/TimeCapsule.asm b/maps/TimeCapsule.asm
index 64c7aa4..c568f3f 100644
--- a/maps/TimeCapsule.asm
+++ b/maps/TimeCapsule.asm
@@ -73,5 +73,5 @@ TimeCapsule_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_CHRIS, 4 + 4, 3 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x19351a, EVENT_GAVE_KURT_APRICORNS
-   person_event SPRITE_CHRIS, 4 + 4, 6 + 4, $8, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x19351a, EVENT_RECEIVED_BALLS_FROM_KURT
+   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
diff --git a/maps/TinTower1F.asm b/maps/TinTower1F.asm
index 5b16496..f9bd586 100644
--- a/maps/TinTower1F.asm
+++ b/maps/TinTower1F.asm
@@ -534,13 +534,13 @@ TinTower1F_MapEventHeader:
 
 .PersonEvents:
    db 10
-   person_event SPRITE_SUICUNE, 9 + 4, 9 + 4, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_TIN_TOWER_1F_SUICUNE
-   person_event SPRITE_RAIKOU, 9 + 4, 7 + 4, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, ObjectEvent, EVENT_TIN_TOWER_1F_RAIKOU
-   person_event SPRITE_ENTEI, 9 + 4, 12 + 4, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_TIN_TOWER_1F_ENTEI
-   person_event SPRITE_SUPER_NERD, 3 + 4, 8 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x1851c8, EVENT_TIN_TOWER_1F_EUSINE
-   person_event SPRITE_SAGE, 9 + 4, 5 + 4, $3, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185173, EVENT_TIN_TOWER_1F_WISE_TRIO_1
-   person_event SPRITE_SAGE, 11 + 4, 11 + 4, $3, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185176, EVENT_TIN_TOWER_1F_WISE_TRIO_1
-   person_event SPRITE_SAGE, 6 + 4, 14 + 4, $3, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185179, EVENT_TIN_TOWER_1F_WISE_TRIO_1
-   person_event SPRITE_SAGE, 2 + 4, 4 + 4, $4, 1, 0, -1, -1, 0, 0, 0, SageScript_0x18517c, EVENT_TIN_TOWER_1F_WISE_TRIO_2
-   person_event SPRITE_SAGE, 1 + 4, 9 + 4, $6, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185188, EVENT_TIN_TOWER_1F_WISE_TRIO_2
-   person_event SPRITE_SAGE, 2 + 4, 14 + 4, $5, 0, 1, -1, -1, 0, 0, 0, SageScript_0x1851bc, EVENT_TIN_TOWER_1F_WISE_TRIO_2
+   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
diff --git a/maps/TinTower3F.asm b/maps/TinTower3F.asm
index df4d85d..308dac3 100644
--- a/maps/TinTower3F.asm
+++ b/maps/TinTower3F.asm
@@ -25,4 +25,4 @@ TinTower3F_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 14 + 4, 3 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a37, EVENT_TIN_TOWER_3F_FULL_HEAL
+   person_event SPRITE_POKE_BALL, 14, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a37, EVENT_TIN_TOWER_3F_FULL_HEAL
diff --git a/maps/TinTower4F.asm b/maps/TinTower4F.asm
index 7021b75..9532ad7 100644
--- a/maps/TinTower4F.asm
+++ b/maps/TinTower4F.asm
@@ -38,6 +38,6 @@ TinTower4F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKE_BALL, 10 + 4, 14 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a58, EVENT_TIN_TOWER_4F_ULTRA_BALL
-   person_event SPRITE_POKE_BALL, 14 + 4, 17 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a5a, EVENT_TIN_TOWER_4F_PP_UP
-   person_event SPRITE_POKE_BALL, 12 + 4, 2 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a5c, EVENT_TIN_TOWER_4F_ESCAPE_ROPE
+   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
diff --git a/maps/TinTower5F.asm b/maps/TinTower5F.asm
index 05a65e6..1425010 100644
--- a/maps/TinTower5F.asm
+++ b/maps/TinTower5F.asm
@@ -37,4 +37,4 @@ TinTower5F_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 9 + 4, 9 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185aa9, EVENT_TIN_TOWER_5F_RARE_CANDY
+   person_event SPRITE_POKE_BALL, 9, 9, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185aa9, EVENT_TIN_TOWER_5F_RARE_CANDY
diff --git a/maps/TinTower6F.asm b/maps/TinTower6F.asm
index 43b0234..3084eea 100644
--- a/maps/TinTower6F.asm
+++ b/maps/TinTower6F.asm
@@ -25,4 +25,4 @@ TinTower6F_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 8 + 4, 8 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185ae4, EVENT_TIN_TOWER_6F_MAX_POTION
+   person_event SPRITE_POKE_BALL, 8, 8, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185ae4, EVENT_TIN_TOWER_6F_MAX_POTION
diff --git a/maps/TinTower7F.asm b/maps/TinTower7F.asm
index 49cd7e3..868539f 100644
--- a/maps/TinTower7F.asm
+++ b/maps/TinTower7F.asm
@@ -28,4 +28,4 @@ TinTower7F_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 1 + 4, 16 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b05, EVENT_TIN_TOWER_7F_MAX_REVIVE
+   person_event SPRITE_POKE_BALL, 1, 16, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b05, EVENT_TIN_TOWER_7F_MAX_REVIVE
diff --git a/maps/TinTower8F.asm b/maps/TinTower8F.asm
index d400732..59cce2a 100644
--- a/maps/TinTower8F.asm
+++ b/maps/TinTower8F.asm
@@ -35,6 +35,6 @@ TinTower8F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKE_BALL, 13 + 4, 7 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b35, EVENT_TIN_TOWER_8F_NUGGET
-   person_event SPRITE_POKE_BALL, 6 + 4, 11 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b37, EVENT_TIN_TOWER_8F_MAX_ELIXER
-   person_event SPRITE_POKE_BALL, 1 + 4, 3 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b39, EVENT_TIN_TOWER_8F_FULL_RESTORE
+   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
diff --git a/maps/TinTower9F.asm b/maps/TinTower9F.asm
index 0e3e5b3..c76deab 100644
--- a/maps/TinTower9F.asm
+++ b/maps/TinTower9F.asm
@@ -38,4 +38,4 @@ TinTower9F_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 1 + 4, 9 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b88, EVENT_TIN_TOWER_9F_HP_UP
+   person_event SPRITE_POKE_BALL, 1, 9, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b88, EVENT_TIN_TOWER_9F_HP_UP
diff --git a/maps/TinTowerRoof.asm b/maps/TinTowerRoof.asm
index 0dbf79e..f9aaa2f 100644
--- a/maps/TinTowerRoof.asm
+++ b/maps/TinTowerRoof.asm
@@ -60,4 +60,4 @@ TinTowerRoof_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_HO_OH, 5 + 4, 9 + 4, $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, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, HoOhScript_0x77244, EVENT_TIN_TOWER_ROOF_HO_OH
diff --git a/maps/TohjoFalls.asm b/maps/TohjoFalls.asm
index 5a1855e..7d6cc15 100644
--- a/maps/TohjoFalls.asm
+++ b/maps/TohjoFalls.asm
@@ -25,4 +25,4 @@ TohjoFalls_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 6 + 4, 2 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18db02, EVENT_TOHJO_FALLS_MOON_STONE
+   person_event SPRITE_POKE_BALL, 6, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18db02, EVENT_TOHJO_FALLS_MOON_STONE
diff --git a/maps/TradeCenter.asm b/maps/TradeCenter.asm
index 4f15118..8df21cb 100644
--- a/maps/TradeCenter.asm
+++ b/maps/TradeCenter.asm
@@ -73,5 +73,5 @@ TradeCenter_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_CHRIS, 4 + 4, 3 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_GAVE_KURT_APRICORNS
-   person_event SPRITE_CHRIS, 4 + 4, 6 + 4, $8, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_RECEIVED_BALLS_FROM_KURT
+   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
diff --git a/maps/TrainerHouse1F.asm b/maps/TrainerHouse1F.asm
index b07cc85..fbed606 100644
--- a/maps/TrainerHouse1F.asm
+++ b/maps/TrainerHouse1F.asm
@@ -151,8 +151,8 @@ TrainerHouse1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_RECEPTIONIST, 11 + 4, 0 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x9af67, -1
-   person_event SPRITE_COOLTRAINER_M, 11 + 4, 7 + 4, $7, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x9af6a, -1
-   person_event SPRITE_COOLTRAINER_F, 2 + 4, 6 + 4, $6, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x9af6d, -1
-   person_event SPRITE_YOUNGSTER, 8 + 4, 4 + 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x9af70, -1
-   person_event SPRITE_GENTLEMAN, 4 + 4, 2 + 4, $9, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x9af73, -1
+   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
diff --git a/maps/TrainerHouseB1F.asm b/maps/TrainerHouseB1F.asm
index 99a1723..7f58cdf 100644
--- a/maps/TrainerHouseB1F.asm
+++ b/maps/TrainerHouseB1F.asm
@@ -184,5 +184,5 @@ TrainerHouseB1F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_RECEPTIONIST, 1 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, -1
-   person_event SPRITE_CHRIS, 11 + 4, 6 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, -1
+   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
diff --git a/maps/UndergroundPathSwitchRoomEntrances.asm b/maps/UndergroundPathSwitchRoomEntrances.asm
index dec260f..63222b8 100644
--- a/maps/UndergroundPathSwitchRoomEntrances.asm
+++ b/maps/UndergroundPathSwitchRoomEntrances.asm
@@ -923,14 +923,14 @@ UndergroundPathSwitchRoomEntrances_MapEventHeader:
 
 .PersonEvents:
    db 11
-   person_event SPRITE_PHARMACIST, 12 + 4, 9 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerBurglarDuncan, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_PHARMACIST, 8 + 4, 4 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerBurglarEddie, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 2 + 4, 17 + 4, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM13, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 2 + 4, 11 + 4, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM11, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 2 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM25, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET_GIRL, 12 + 4, 19 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerGruntF3, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_TEACHER, 27 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x7ca7d, -1
-   person_event SPRITE_SUPER_NERD, 27 + 4, 19 + 4, $6, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7ca7a, -1
-   person_event SPRITE_POKE_BALL, 12 + 4, 1 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ce7d, EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_SMOKE_BALL
-   person_event SPRITE_POKE_BALL, 9 + 4, 14 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ce7f, EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_FULL_HEAL
-   person_event SPRITE_SILVER, 3 + 4, 23 + 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_UNDERGROUND_PATH
+   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
diff --git a/maps/UndergroundWarehouse.asm b/maps/UndergroundWarehouse.asm
index 3419eba..3f73eed 100644
--- a/maps/UndergroundWarehouse.asm
+++ b/maps/UndergroundWarehouse.asm
@@ -222,10 +222,10 @@ UndergroundWarehouse_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_ROCKET, 8 + 4, 9 + 4, $7, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM24, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 15 + 4, 8 + 4, $7, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM14, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 3 + 4, 14 + 4, $9, 0, 0, -1, -1, 0, 2, 4, TrainerGruntM15, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_GENTLEMAN, 8 + 4, 12 + 4, $3, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x7d9bf, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_POKE_BALL, 15 + 4, 18 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d9e4, EVENT_UNDERGROUND_WAREHOUSE_MAX_ETHER
-   person_event SPRITE_POKE_BALL, 9 + 4, 13 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d9e6, EVENT_UNDERGROUND_WAREHOUSE_TM_SLEEP_TALK
-   person_event SPRITE_POKE_BALL, 1 + 4, 2 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d9e8, EVENT_UNDERGROUND_WAREHOUSE_ULTRA_BALL
+   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
diff --git a/maps/UnionCave1F.asm b/maps/UnionCave1F.asm
index dfb3383..d663d2f 100644
--- a/maps/UnionCave1F.asm
+++ b/maps/UnionCave1F.asm
@@ -207,12 +207,12 @@ UnionCave1F_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_POKEFAN_M, 6 + 4, 3 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerDaniel, -1
-   person_event SPRITE_SUPER_NERD, 21 + 4, 4 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacLarry, -1
-   person_event SPRITE_POKEFAN_M, 8 + 4, 11 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerHikerRussell, -1
-   person_event SPRITE_FISHER, 27 + 4, 15 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerFirebreatherRay, -1
-   person_event SPRITE_FISHER, 19 + 4, 14 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerFirebreatherBill, -1
-   person_event SPRITE_POKE_BALL, 21 + 4, 17 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c00, EVENT_UNION_CAVE_1F_GREAT_BALL
-   person_event SPRITE_POKE_BALL, 2 + 4, 4 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c02, EVENT_UNION_CAVE_1F_X_ATTACK
-   person_event SPRITE_POKE_BALL, 17 + 4, 4 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c04, EVENT_UNION_CAVE_1F_POTION
-   person_event SPRITE_POKE_BALL, 33 + 4, 12 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c06, EVENT_UNION_CAVE_1F_AWAKENING
+   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
diff --git a/maps/UnionCaveB1F.asm b/maps/UnionCaveB1F.asm
index aa84b1b..44f6669 100644
--- a/maps/UnionCaveB1F.asm
+++ b/maps/UnionCaveB1F.asm
@@ -163,10 +163,10 @@ UnionCaveB1F_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_POKEFAN_M, 4 + 4, 9 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerPhillip, -1
-   person_event SPRITE_POKEFAN_M, 7 + 4, 16 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerLeonard, -1
-   person_event SPRITE_SUPER_NERD, 32 + 4, 5 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacAndrew, -1
-   person_event SPRITE_SUPER_NERD, 30 + 4, 17 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacCalvin, -1
-   person_event SPRITE_POKE_BALL, 16 + 4, 2 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a016, EVENT_UNION_CAVE_B1F_TM_SWIFT
-   person_event SPRITE_BOULDER, 10 + 4, 7 + 4, $19, 0, 0, -1, -1, 0, 0, 0, UnionCaveB1FBoulder, -1
-   person_event SPRITE_POKE_BALL, 23 + 4, 17 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a018, EVENT_UNION_CAVE_B1F_X_DEFEND
+   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
diff --git a/maps/UnionCaveB2F.asm b/maps/UnionCaveB2F.asm
index f14ef53..34f0b61 100644
--- a/maps/UnionCaveB2F.asm
+++ b/maps/UnionCaveB2F.asm
@@ -152,9 +152,9 @@ UnionCaveB2F_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_ROCKER, 19 + 4, 15 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermNick, -1
-   person_event SPRITE_COOLTRAINER_F, 13 + 4, 5 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfGwen, -1
-   person_event SPRITE_COOLTRAINER_F, 30 + 4, 3 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfEmma, -1
-   person_event SPRITE_POKE_BALL, 2 + 4, 16 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a36a, EVENT_UNION_CAVE_B2F_ELIXER
-   person_event SPRITE_POKE_BALL, 19 + 4, 12 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a36c, EVENT_UNION_CAVE_B2F_HYPER_POTION
-   person_event SPRITE_SURF, 31 + 4, 11 + 4, $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, $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
diff --git a/maps/VermilionCity.asm b/maps/VermilionCity.asm
index 640de85..aeb998a 100644
--- a/maps/VermilionCity.asm
+++ b/maps/VermilionCity.asm
@@ -294,9 +294,9 @@ VermilionCity_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_TEACHER, 9 + 4, 18 + 4, $2, 1, 1, -1, -1, 0, 0, 0, TeacherScript_0x1aa983, -1
-   person_event SPRITE_GRAMPS, 6 + 4, 23 + 4, $9, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1aa986, -1
-   person_event SPRITE_MACHOP, 7 + 4, 26 + 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, VermilionMachop, -1
-   person_event SPRITE_SUPER_NERD, 16 + 4, 14 + 4, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x1aa99b, -1
-   person_event SPRITE_BIG_SNORLAX, 8 + 4, 34 + 4, $15, 0, 0, -1, -1, 0, 0, 0, VermilionSnorlax, EVENT_VERMILION_CITY_SNORLAX
-   person_event SPRITE_POKEFAN_M, 12 + 4, 31 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, VermilionGymBadgeGuy, -1
+   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
diff --git a/maps/VermilionGym.asm b/maps/VermilionGym.asm
index 2178c50..911f1e6 100644
--- a/maps/VermilionGym.asm
+++ b/maps/VermilionGym.asm
@@ -287,8 +287,8 @@ VermilionGym_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_SURGE, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, SurgeScript_0x1920a5, -1
-   person_event SPRITE_GENTLEMAN, 8 + 4, 8 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerGentlemanGregory, -1
-   person_event SPRITE_ROCKER, 7 + 4, 4 + 4, $6, 0, 3, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerGuitaristVincent, -1
-   person_event SPRITE_SUPER_NERD, 10 + 4, 0 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerJugglerHorton, -1
-   person_event SPRITE_GYM_GUY, 15 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 1, VermilionGymGuyScript, -1
+   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
diff --git a/maps/VermilionHouseDiglettsCaveSpeechHouse.asm b/maps/VermilionHouseDiglettsCaveSpeechHouse.asm
index f664bad..9aec5f3 100644
--- a/maps/VermilionHouseDiglettsCaveSpeechHouse.asm
+++ b/maps/VermilionHouseDiglettsCaveSpeechHouse.asm
@@ -34,4 +34,4 @@ VermilionHouseDiglettsCaveSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_GENTLEMAN, 3 + 4, 1 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x192031, -1
+   person_event SPRITE_GENTLEMAN, 3, 1, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x192031, -1
diff --git a/maps/VermilionHouseFishingSpeechHouse.asm b/maps/VermilionHouseFishingSpeechHouse.asm
index 69ad85a..0081bac 100644
--- a/maps/VermilionHouseFishingSpeechHouse.asm
+++ b/maps/VermilionHouseFishingSpeechHouse.asm
@@ -65,4 +65,4 @@ VermilionHouseFishingSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHING_GURU, 4 + 4, 2 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingDude, -1
+   person_event SPRITE_FISHING_GURU, 4, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingDude, -1
diff --git a/maps/VermilionMagnetTrainSpeechHouse.asm b/maps/VermilionMagnetTrainSpeechHouse.asm
index 6214e05..6dbee12 100644
--- a/maps/VermilionMagnetTrainSpeechHouse.asm
+++ b/maps/VermilionMagnetTrainSpeechHouse.asm
@@ -48,5 +48,5 @@ VermilionMagnetTrainSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKEFAN_F, 3 + 4, 2 + 4, $8, 0, 0, -1, -1, 0, 0, 0, PokefanFScript_0x191eb7, -1
-   person_event SPRITE_YOUNGSTER, 3 + 4, 0 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x191eba, -1
+   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
diff --git a/maps/VermilionMart.asm b/maps/VermilionMart.asm
index 6c92d81..21ea465 100644
--- a/maps/VermilionMart.asm
+++ b/maps/VermilionMart.asm
@@ -48,6 +48,6 @@ VermilionMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x191f7e, -1
-   person_event SPRITE_SUPER_NERD, 2 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x191f85, -1
-   person_event SPRITE_BUENA, 6 + 4, 8 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BuenaScript_0x191f88, -1
+   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
diff --git a/maps/VermilionPokeCenter1F.asm b/maps/VermilionPokeCenter1F.asm
index 2c4b302..428c85d 100644
--- a/maps/VermilionPokeCenter1F.asm
+++ b/maps/VermilionPokeCenter1F.asm
@@ -88,7 +88,7 @@ VermilionPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x191603, -1
-   person_event SPRITE_FISHING_GURU, 2 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FishingGuruScript_0x191606, -1
-   person_event SPRITE_SAILOR, 5 + 4, 6 + 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x19161a, -1
-   person_event SPRITE_BUG_CATCHER, 5 + 4, 1 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugCatcherScript_0x19161d, -1
+   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
diff --git a/maps/VermilionPort.asm b/maps/VermilionPort.asm
index 8abc250..93543dc 100644
--- a/maps/VermilionPort.asm
+++ b/maps/VermilionPort.asm
@@ -317,6 +317,6 @@ VermilionPort_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_SAILOR, 17 + 4, 7 + 4, $7, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x74dc4, EVENT_VERMILION_PORT_SAILOR_AT_GANGWAY
-   person_event SPRITE_SAILOR, 11 + 4, 6 + 4, $9, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x74e97, -1
-   person_event SPRITE_SUPER_NERD, 11 + 4, 11 + 4, $5, 0, 2, -1, -1, 0, 0, 0, SuperNerdScript_0x74ee6, -1
+   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
diff --git a/maps/VermilionPortPassage.asm b/maps/VermilionPortPassage.asm
index e9c3831..2910622 100644
--- a/maps/VermilionPortPassage.asm
+++ b/maps/VermilionPortPassage.asm
@@ -35,4 +35,4 @@ VermilionPortPassage_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_TEACHER, 1 + 4, 17 + 4, $8, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x7701a, -1
+   person_event SPRITE_TEACHER, 1, 17, $8, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x7701a, -1
diff --git a/maps/VictoryRoad.asm b/maps/VictoryRoad.asm
index 4567486..dbcfef7 100644
--- a/maps/VictoryRoad.asm
+++ b/maps/VictoryRoad.asm
@@ -263,9 +263,9 @@ VictoryRoad_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_SILVER, 13 + 4, 18 + 4, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_VICTORY_ROAD
-   person_event SPRITE_POKE_BALL, 28 + 4, 3 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x74529, EVENT_VICTORY_ROAD_TM_EARTHQUAKE
-   person_event SPRITE_POKE_BALL, 48 + 4, 12 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7452b, EVENT_VICTORY_ROAD_MAX_REVIVE
-   person_event SPRITE_POKE_BALL, 29 + 4, 18 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7452d, EVENT_VICTORY_ROAD_FULL_RESTORE
-   person_event SPRITE_POKE_BALL, 48 + 4, 15 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7452f, EVENT_VICTORY_ROAD_FULL_HEAL
-   person_event SPRITE_POKE_BALL, 38 + 4, 7 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x74531, EVENT_VICTORY_ROAD_HP_UP
+   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
diff --git a/maps/VictoryRoadGate.asm b/maps/VictoryRoadGate.asm
index 94210fd..8562ccf 100644
--- a/maps/VictoryRoadGate.asm
+++ b/maps/VictoryRoadGate.asm
@@ -118,6 +118,6 @@ VictoryRoadGate_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_OFFICER, 11 + 4, 8 + 4, $9, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x9ba03, -1
-   person_event SPRITE_BLACK_BELT, 5 + 4, 7 + 4, $9, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x9ba21, EVENT_OPENED_MT_SILVER
-   person_event SPRITE_BLACK_BELT, 5 + 4, 12 + 4, $8, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x9ba24, EVENT_FOUGHT_SNORLAX
+   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
diff --git a/maps/VioletCity.asm b/maps/VioletCity.asm
index d968bd6..18207d9 100644
--- a/maps/VioletCity.asm
+++ b/maps/VioletCity.asm
@@ -301,11 +301,11 @@ VioletCity_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_FISHER, 16 + 4, 13 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a83bb, EVENT_VIOLET_CITY_EARL
-   person_event SPRITE_LASS, 28 + 4, 28 + 4, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x1a8403, -1
-   person_event SPRITE_SUPER_NERD, 14 + 4, 24 + 4, $2, 2, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a8406, -1
-   person_event SPRITE_GRAMPS, 20 + 4, 17 + 4, $5, 0, 1, -1, -1, 0, 0, 0, GrampsScript_0x1a8409, -1
-   person_event SPRITE_YOUNGSTER, 18 + 4, 5 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a840c, -1
-   person_event SPRITE_FRUIT_TREE, 29 + 4, 14 + 4, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8425, -1
-   person_event SPRITE_POKE_BALL, 1 + 4, 4 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a8421, EVENT_VIOLET_CITY_PP_UP
-   person_event SPRITE_POKE_BALL, 5 + 4, 35 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a8423, EVENT_VIOLET_CITY_RARE_CANDY
+   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
diff --git a/maps/VioletGym.asm b/maps/VioletGym.asm
index 8e9da85..a3b0515 100644
--- a/maps/VioletGym.asm
+++ b/maps/VioletGym.asm
@@ -31,7 +31,7 @@ FalknerScript_0x683c2:
    setevent EVENT_BEAT_BIRD_KEEPER_ROD
    setevent EVENT_BEAT_BIRD_KEEPER_ABE
    domaptrigger ELMS_LAB, $2
-   specialphonecall ELMCALL_ASSISTANT
+   specialphonecall SPECIALCALL_ASSISTANT
    writetext UnknownText_0x685c8
    keeptextopen
    verbosegiveitem TM_MUD_SLAP, 1
@@ -294,7 +294,7 @@ VioletGym_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_FALKNER, 1 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FalknerScript_0x683c2, -1
-   person_event SPRITE_YOUNGSTER, 6 + 4, 7 + 4, $8, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperRod, -1
-   person_event SPRITE_YOUNGSTER, 10 + 4, 2 + 4, $9, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperAbe, -1
-   person_event SPRITE_GYM_GUY, 13 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, VioletGymGuyScript, -1
+   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
diff --git a/maps/VioletMart.asm b/maps/VioletMart.asm
index 95cd6c2..cd878e8 100644
--- a/maps/VioletMart.asm
+++ b/maps/VioletMart.asm
@@ -60,6 +60,6 @@ VioletMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x68295, -1
-   person_event SPRITE_GRANNY, 6 + 4, 7 + 4, $5, 0, 1, -1, -1, 0, 0, 0, GrannyScript_0x6829c, -1
-   person_event SPRITE_COOLTRAINER_M, 2 + 4, 5 + 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x6829f, -1
+   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
diff --git a/maps/VioletNicknameSpeechHouse.asm b/maps/VioletNicknameSpeechHouse.asm
index 7245afc..5447e30 100644
--- a/maps/VioletNicknameSpeechHouse.asm
+++ b/maps/VioletNicknameSpeechHouse.asm
@@ -56,6 +56,6 @@ VioletNicknameSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_TEACHER, 3 + 4, 2 + 4, $9, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x693e9, -1
-   person_event SPRITE_LASS, 4 + 4, 6 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x693ec, -1
-   person_event SPRITE_BIRD, 2 + 4, 5 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BirdScript_0x693ef, -1
+   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
diff --git a/maps/VioletOnixTradeHouse.asm b/maps/VioletOnixTradeHouse.asm
index d031957..134c561 100644
--- a/maps/VioletOnixTradeHouse.asm
+++ b/maps/VioletOnixTradeHouse.asm
@@ -45,5 +45,5 @@ VioletOnixTradeHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKEFAN_M, 3 + 4, 2 + 4, $3, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x6998d, -1
-   person_event SPRITE_YOUNGSTER, 5 + 4, 6 + 4, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x69990, -1
+   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
diff --git a/maps/VioletPokeCenter1F.asm b/maps/VioletPokeCenter1F.asm
index b343cf6..3172efb 100644
--- a/maps/VioletPokeCenter1F.asm
+++ b/maps/VioletPokeCenter1F.asm
@@ -226,8 +226,8 @@ VioletPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x694c9, -1
-   person_event SPRITE_GAMEBOY_KID, 6 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GameboyKidScript_0x69540, -1
-   person_event SPRITE_GENTLEMAN, 4 + 4, 1 + 4, $3, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x69543, -1
-   person_event SPRITE_YOUNGSTER, 1 + 4, 8 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x69546, -1
-   person_event SPRITE_SCIENTIST, 3 + 4, 4 + 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, $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
diff --git a/maps/ViridianCity.asm b/maps/ViridianCity.asm
index d06a187..2ebd02c 100644
--- a/maps/ViridianCity.asm
+++ b/maps/ViridianCity.asm
@@ -237,7 +237,7 @@ ViridianCity_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_GRAMPS, 5 + 4, 18 + 4, $2, 2, 2, -1, -1, 0, 0, 0, GrampsScript_0x1a9a4c, -1
-   person_event SPRITE_GRAMPS, 8 + 4, 30 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x1a9a61, -1
-   person_event SPRITE_FISHER, 23 + 4, 6 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x1a9a75, -1
-   person_event SPRITE_YOUNGSTER, 21 + 4, 17 + 4, $2, 3, 3, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a9a90, -1
+   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
diff --git a/maps/ViridianGym.asm b/maps/ViridianGym.asm
index 2db8a47..2508938 100644
--- a/maps/ViridianGym.asm
+++ b/maps/ViridianGym.asm
@@ -183,5 +183,5 @@ ViridianGym_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_BLUE, 3 + 4, 5 + 4, $6, 0, 0, -1, -1, 0, 0, 0, BlueScript_0x9aa26, EVENT_VIRIDIAN_GYM_BLUE
-   person_event SPRITE_GYM_GUY, 13 + 4, 7 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ViridianGymGuyScript, EVENT_VIRIDIAN_GYM_BLUE
+   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
diff --git a/maps/ViridianMart.asm b/maps/ViridianMart.asm
index 23f3bd3..8ca273c 100644
--- a/maps/ViridianMart.asm
+++ b/maps/ViridianMart.asm
@@ -48,6 +48,6 @@ ViridianMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3 + 4, 1 + 4, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x9b5e7, -1
-   person_event SPRITE_LASS, 2 + 4, 7 + 4, $5, 0, 2, -1, -1, 0, 0, 0, LassScript_0x9b5ee, -1
-   person_event SPRITE_COOLTRAINER_M, 6 + 4, 1 + 4, $7, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x9b5f1, -1
+   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
diff --git a/maps/ViridianNicknameSpeechHouse.asm b/maps/ViridianNicknameSpeechHouse.asm
index 644e03e..c7aa1e0 100644
--- a/maps/ViridianNicknameSpeechHouse.asm
+++ b/maps/ViridianNicknameSpeechHouse.asm
@@ -72,7 +72,7 @@ ViridianNicknameSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKEFAN_M, 4 + 4, 2 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x9ae3a, -1
-   person_event SPRITE_LASS, 4 + 4, 5 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x9ae3d, -1
-   person_event SPRITE_MOLTRES, 2 + 4, 5 + 4, $16, 0, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MoltresScript_0x9ae40, -1
-   person_event SPRITE_GROWLITHE, 3 + 4, 6 + 4, $16, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrowlitheScript_0x9ae4a, -1
+   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
diff --git a/maps/ViridianPokeCenter1F.asm b/maps/ViridianPokeCenter1F.asm
index eb33f93..1c44183 100644
--- a/maps/ViridianPokeCenter1F.asm
+++ b/maps/ViridianPokeCenter1F.asm
@@ -83,7 +83,7 @@ ViridianPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1 + 4, 3 + 4, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x9b690, -1
-   person_event SPRITE_COOLTRAINER_M, 4 + 4, 8 + 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x9b693, -1
-   person_event SPRITE_COOLTRAINER_F, 3 + 4, 5 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerFScript_0x9b6a7, -1
-   person_event SPRITE_BUG_CATCHER, 6 + 4, 1 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugCatcherScript_0x9b6aa, -1
+   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
diff --git a/maps/WarehouseEntrance.asm b/maps/WarehouseEntrance.asm
index 332f61e..0d1b786 100644
--- a/maps/WarehouseEntrance.asm
+++ b/maps/WarehouseEntrance.asm
@@ -669,12 +669,12 @@ WarehouseEntrance_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_SUPER_NERD, 31 + 4, 5 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerSupernerdEric, -1
-   person_event SPRITE_SUPER_NERD, 9 + 4, 6 + 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerSupernerdTeru, -1
-   person_event SPRITE_SUPER_NERD, 27 + 4, 3 + 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPokemaniacIssac, -1
-   person_event SPRITE_SUPER_NERD, 6 + 4, 2 + 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacDonald, -1
-   person_event SPRITE_POKE_BALL, 25 + 4, 7 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7c306, EVENT_WAREHOUSE_ENTRANCE_COIN_CASE
-   person_event SPRITE_GRAMPS, 11 + 4, 7 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x7c146, EVENT_WAREHOUSE_ENTRANCE_GRAMPS
-   person_event SPRITE_SUPER_NERD, 14 + 4, 7 + 4, $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 + 4, 7 + 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungerHaircutBrotherScript, EVENT_WAREHOUSE_ENTRANCE_YOUNGER_HAIRCUT_BROTHER
-   person_event SPRITE_GRANNY, 21 + 4, 7 + 4, $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, $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
diff --git a/maps/WhirlIslandB1F.asm b/maps/WhirlIslandB1F.asm
index b6a9c60..bae2a02 100644
--- a/maps/WhirlIslandB1F.asm
+++ b/maps/WhirlIslandB1F.asm
@@ -62,9 +62,9 @@ WhirlIslandB1F_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_POKE_BALL, 13 + 4, 7 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c410, EVENT_WHIRL_ISLAND_B1F_FULL_RESTORE
-   person_event SPRITE_POKE_BALL, 18 + 4, 2 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c412, EVENT_WHIRL_ISLAND_B1F_CARBOS
-   person_event SPRITE_POKE_BALL, 23 + 4, 33 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c414, EVENT_WHIRL_ISLAND_B1F_CALCIUM
-   person_event SPRITE_POKE_BALL, 8 + 4, 17 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c416, EVENT_WHIRL_ISLAND_B1F_NUGGET
-   person_event SPRITE_POKE_BALL, 26 + 4, 19 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c418, EVENT_WHIRL_ISLAND_B1F_ESCAPE_ROPE
-   person_event SPRITE_BOULDER, 26 + 4, 23 + 4, $19, 0, 0, -1, -1, 0, 0, 0, WhirlIslandB1FBoulder, -1
+   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
diff --git a/maps/WhirlIslandB2F.asm b/maps/WhirlIslandB2F.asm
index 13553b7..091dc6f 100644
--- a/maps/WhirlIslandB2F.asm
+++ b/maps/WhirlIslandB2F.asm
@@ -33,6 +33,6 @@ WhirlIslandB2F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKE_BALL, 11 + 4, 10 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c4b8, EVENT_WHIRL_ISLAND_B2F_FULL_RESTORE
-   person_event SPRITE_POKE_BALL, 4 + 4, 6 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c4ba, EVENT_WHIRL_ISLAND_B2F_MAX_REVIVE
-   person_event SPRITE_POKE_BALL, 12 + 4, 5 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c4bc, EVENT_WHIRL_ISLAND_B2F_MAX_ELIXER
+   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
diff --git a/maps/WhirlIslandLugiaChamber.asm b/maps/WhirlIslandLugiaChamber.asm
index bb4e77d..e92fac7 100644
--- a/maps/WhirlIslandLugiaChamber.asm
+++ b/maps/WhirlIslandLugiaChamber.asm
@@ -59,4 +59,4 @@ WhirlIslandLugiaChamber_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_LUGIA, 5 + 4, 9 + 4, $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, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LugiaScript_0x18c518, EVENT_WHIRL_ISLAND_LUGIA_CHAMBER_LUGIA
diff --git a/maps/WhirlIslandNE.asm b/maps/WhirlIslandNE.asm
index 5f86227..dce0357 100644
--- a/maps/WhirlIslandNE.asm
+++ b/maps/WhirlIslandNE.asm
@@ -26,4 +26,4 @@ WhirlIslandNE_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 11 + 4, 11 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c396, EVENT_WHIRL_ISLAND_NE_ULTRA_BALL
+   person_event SPRITE_POKE_BALL, 11, 11, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c396, EVENT_WHIRL_ISLAND_NE_ULTRA_BALL
diff --git a/maps/WhirlIslandSW.asm b/maps/WhirlIslandSW.asm
index d2bd1bd..e8132d1 100644
--- a/maps/WhirlIslandSW.asm
+++ b/maps/WhirlIslandSW.asm
@@ -28,4 +28,4 @@ WhirlIslandSW_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 2 + 4, 15 + 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c3bc, EVENT_WHIRL_ISLAND_SW_ULTRA_BALL
+   person_event SPRITE_POKE_BALL, 2, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c3bc, EVENT_WHIRL_ISLAND_SW_ULTRA_BALL
diff --git a/maps/WillsRoom.asm b/maps/WillsRoom.asm
index 77410cd..6bc754d 100644
--- a/maps/WillsRoom.asm
+++ b/maps/WillsRoom.asm
@@ -148,4 +148,4 @@ WillsRoom_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_WILL, 7 + 4, 5 + 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, WillScript_0x1804f8, -1
+   person_event SPRITE_WILL, 7, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, WillScript_0x1804f8, -1
diff --git a/maps/WiseTriosRoom.asm b/maps/WiseTriosRoom.asm
index b8c0a7a..783dd39 100644
--- a/maps/WiseTriosRoom.asm
+++ b/maps/WiseTriosRoom.asm
@@ -360,9 +360,9 @@ WiseTriosRoom_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_SAGE, 2 + 4, 6 + 4, $3, 0, 0, -1, -1, 0, 0, 0, SageScript_0x9859a, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1
-   person_event SPRITE_SAGE, 7 + 4, 6 + 4, $5, 0, 1, -1, -1, 0, 0, 0, SageScript_0x9859d, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1
-   person_event SPRITE_SAGE, 5 + 4, 7 + 4, $8, 0, 0, -1, -1, 0, 0, 0, SageScript_0x985a0, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1
-   person_event SPRITE_SAGE, 2 + 4, 4 + 4, $6, 0, 0, -1, -1, 0, 2, 2, TrainerSageGaku, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2
-   person_event SPRITE_SAGE, 6 + 4, 4 + 4, $7, 0, 0, -1, -1, 0, 2, 2, TrainerSageMasa, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2
-   person_event SPRITE_SAGE, 4 + 4, 6 + 4, $8, 0, 0, -1, -1, 0, 2, 2, TrainerSageKoji, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2
+   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
diff --git a/misc/mobile_22.asm b/misc/mobile_22.asm
index 91daa91..c5db95d 100644
--- a/misc/mobile_22.asm
+++ b/misc/mobile_22.asm
@@ -235,7 +235,7 @@ Function89261: ; 89261
    ld hl, MenuDataHeader_0x892a3
    call CopyMenuDataHeader
    pop bc
-   ld hl, wcf82
+   ld hl, wMenuBorderTopCoord
    ld a, c
    ld [hli], a
    ld a, b
@@ -247,8 +247,8 @@ Function89261: ; 89261
    add $5
    ld [hl], a
    pop af
-   ld [wcf88], a
-   call Function1c00
+   ld [wPocketPointerLocationBuffer], a
+   call BackUpTiles
    call Function8923c
    call Function89209
    call InterpretMenu2
@@ -2194,7 +2194,7 @@ Function89d5e: ; 89d5e (22:5d5e)
    push af
    call CopyMenuDataHeader
    pop af
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    call Function8923c
    call Function1c89
    call Function1c10
@@ -3050,7 +3050,7 @@ Function8a31c: ; 8a31c (22:631c)
    call Function8a3b2
    pop bc
    ld a, c
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    ld [MenuSelection], a
    call Function1c89
    call Function1c10
diff --git a/misc/mobile_22_2.asm b/misc/mobile_22_2.asm
index a56fd0c..053f711 100644
--- a/misc/mobile_22_2.asm
+++ b/misc/mobile_22_2.asm
@@ -803,7 +803,7 @@ Function8b7bd: ; 8b7bd
    ld hl, MenuDataHeader_0x8b867
    call CopyMenuDataHeader
    ld a, [wd030]
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    ld a, [wd031]
    ld [wd0e4], a
    ld a, [wd032]
@@ -881,7 +881,7 @@ Function8b83e: ; 8b83e
 Function8b84b: ; 8b84b
    ld [wd0e4], a
    ld a, [wcfa9]
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    ret
 ; 8b855
 
diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm
index 7afaf9e..1a6b950 100644
--- a/misc/mobile_40.asm
+++ b/misc/mobile_40.asm
@@ -84,7 +84,7 @@ Function100082: ; 100082
    ld [hLCDStatCustom], a
    ld a, $1
    ld [$ffc9], a
-   ld [$ffe9], a
+   ld [hMobile], a
    ei
    ret
 ; 0x1000a4
@@ -93,7 +93,7 @@ Function1000a4: ; 1000a4
    di
    xor a
    ld [$ffc9], a
-   ld [$ffe9], a
+   ld [hMobile], a
    xor a
    ld [hVBlank], a
    call NormalSpeed
@@ -166,7 +166,7 @@ Function1000fa: ; 1000fa
    ld [rIE], a
    xor a
    ld [$ffc9], a
-   ld [$ffe9], a
+   ld [hMobile], a
    ei
    ld a, [wLinkMode]
    push af
@@ -1786,12 +1786,12 @@ Function100b12: ; 100b12
    ld a, BANK(BattleMenuDataHeader)
    ld [wcf94], a
    ld a, [wd0d2]
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    call Function100e72
    call Function100b45
    callba Function8e85
    call Function100ed4
-   ld a, [wcf88]
+   ld a, [wPocketPointerLocationBuffer]
    ld [wd0d2], a
    call ExitMenu
    ret
@@ -1818,7 +1818,7 @@ Function100b45: ; 100b45
    ld c, a
    ld a, [wcfa3]
    call SimpleMultiply
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
    and a
    ret
 ; 100b7a
@@ -3911,7 +3911,7 @@ Function101913: ; 101913
 ; 10194b
 
 Function10194b: ; 10194b
-   call Function2ed3
+   call DisableSpriteUpdates
    call ClearSprites
    callba Function1021f9
    ld hl, wcd29
@@ -5401,7 +5401,7 @@ Function102423: ; 102423
    call Function102921
    ret nc
    callba Function14a58
-   callba Function1060af
+   callba MobileFn_1060af
    callba Function106187
    ld hl, wcd4b
    set 1, [hl]
@@ -7688,7 +7688,7 @@ Function103612: ; 103612
    ld a, [wdc40]
    and $f
    jr z, .asm_103622
-   ld [wcf88], a
+   ld [wPocketPointerLocationBuffer], a
 
 .asm_103622
    call InterpretMenu2
diff --git a/misc/mobile_45.asm b/misc/mobile_45.asm
index d87dc5d..268b100 100644
--- a/misc/mobile_45.asm
+++ b/misc/mobile_45.asm
@@ -2416,14 +2416,14 @@ Function114e62: ; 114e62
    ld a, c
    and a
    jr nz, .asm_114e6f
-   ld a, [wdc23]
+   ld a, [wStartDay]
    and a
    jp z, Function11425c
    jr .asm_114e76
 
 .asm_114e6f
    xor a
-   ld [wdc23], a
+   ld [wStartDay], a
    call Function114ee9
 
 .asm_114e76
@@ -2494,7 +2494,7 @@ Function114ea0: ; 114ea0
    ld [hli], a
    ld [hl], b
    xor a
-   ld [wdc23], a
+   ld [wStartDay], a
    ret
 
 .asm_114edb
@@ -2614,7 +2614,7 @@ Function114f39: ; 114f39
 ; 114f59
 
 Function114f59: ; 114f59
-   ld a, [wdc23]
+   ld a, [wStartDay]
    and a
    jr nz, .asm_114f7c
    ld a, [wdc03]
@@ -2632,7 +2632,7 @@ Function114f59: ; 114f59
    and a
    jr nz, .asm_114fe7
    ld a, $1
-   ld [wdc23], a
+   ld [wStartDay], a
 
 .asm_114f7c
    ld a, [wdc03]
@@ -2811,7 +2811,7 @@ Function115062: ; 115062
    ld d, [hl]
    ld b, $0
    ld hl, wdc24
-   ld a, [wdc23]
+   ld a, [wStartDay]
    cp $1
    jr z, .asm_11509b
    cp $2
@@ -2836,14 +2836,14 @@ Function115062: ; 115062
    call Function115d53
    call Function1150b3
    call Function115136
-   ld a, [wdc23]
+   ld a, [wStartDay]
    inc a
    cp $4
    jr nz, .asm_1150ae
    ld a, $2
 
 .asm_1150ae
-   ld [wdc23], a
+   ld [wStartDay], a
    xor a
 
 .asm_1150b2
@@ -3329,7 +3329,7 @@ Function1152b8: ; 1152b8
    call Function114ea0
    and a
    jr nz, .asm_1152f9
-   ld [wdc23], a
+   ld [wStartDay], a
    ld a, [wdc03]
    cp $6
    jr nz, .asm_1152ca
@@ -3337,7 +3337,7 @@ Function1152b8: ; 1152b8
 .asm_115335
    call Function1153b5
    xor a
-   ld [wdc23], a
+   ld [wStartDay], a
    call Function114f59
    and a
    jr nz, .asm_1152f9
@@ -3355,7 +3355,7 @@ Function1152b8: ; 1152b8
    jr z, .asm_11536b
    call Function1153b5
    xor a
-   ld [wdc23], a
+   ld [wStartDay], a
    call Function114f59
    and a
    jr nz, .asm_1152f9
@@ -3425,7 +3425,7 @@ Function11537d: ; 11537d
    ld [hl], d
    xor a
    ld [wdc03], a
-   ld [wdc23], a
+   ld [wStartDay], a
    ret
 ; 1153b5
 
@@ -3645,7 +3645,7 @@ Function1153d2: ; 1153d2
 
 Function1154d4: ; 1154d4
    xor a
-   ld [wdc23], a
+   ld [wStartDay], a
    call Function1155af
    call Function11560a
    and a
@@ -3659,7 +3659,7 @@ Function1154d4: ; 1154d4
    cp $1
    jr nz, .asm_115531
    xor a
-   ld [wdc1c], a
+   ld [wDailyResetTimer], a
 .asm_1154f7
    ld a, [BigDoll]
    cp $2
@@ -3699,7 +3699,7 @@ Function1154d4: ; 1154d4
 
 .asm_115531
    ld a, $1
-   ld [wdc1c], a
+   ld [wDailyResetTimer], a
    ld a, $b
    ld [wdc03], a
    call Function114f59
@@ -3726,7 +3726,7 @@ Function1154d4: ; 1154d4
    call Function114ea0
    and a
    jr nz, .asm_11552c
-   ld a, [wdc1c]
+   ld a, [wDailyResetTimer]
    and a
    jr z, .asm_11557d
    ld a, $f
@@ -3977,7 +3977,7 @@ Function11560a: ; 11560a
 ; 1156cc
 
 Function1156cc: ; 1156cc
-   ld a, [wdc23]
+   ld a, [wStartDay]
    and a
    jp z, Function11425c
    cp $2
@@ -4006,7 +4006,7 @@ Function1156cc: ; 1156cc
    call Function11581e
    and a
    jr nz, .asm_11572b
-   ld a, [wdc23]
+   ld a, [wStartDay]
    cp $5
    jr z, .asm_115716
    ld a, [Poster]
@@ -4030,7 +4030,7 @@ Function1156cc: ; 1156cc
    ld l, a
    add hl, de
    xor a
-   ld [wdc23], a
+   ld [wStartDay], a
    jp Function11425c
 
 .asm_11572b
@@ -4165,7 +4165,7 @@ Function11575c: ; 11575c
    pop hl
    add hl, bc
    ld a, $2
-   ld [wdc23], a
+   ld [wStartDay], a
    ret
 ; 1157d0
 
@@ -4213,7 +4213,7 @@ Function1157d0: ; 1157d0
    ld a, b
    ld [Bed], a
    ld a, $4
-   ld [wdc23], a
+   ld [wStartDay], a
    ret
 
 .asm_11580f
@@ -4223,12 +4223,12 @@ Function1157d0: ; 1157d0
    ld a, b
    ld [Bed], a
    ld a, $3
-   ld [wdc23], a
+   ld [wStartDay], a
    ret
 ; 11581e
 
 Function11581e: ; 11581e
-   ld a, [wdc23]
+   ld a, [wStartDay]
    and a
    ret z
    ld a, [wdc0e]
@@ -4305,7 +4305,7 @@ Function11581e: ; 11581e
    ld a, e
    ld [hli], a
    ld [hl], d
-   ld a, [wdc23]
+   ld a, [wStartDay]
    cp $3
    jr z, .asm_1158b4
    cp $4
@@ -4314,12 +4314,12 @@ Function11581e: ; 11581e
 
 .asm_1158ad
    ld a, $5
-   ld [wdc23], a
+   ld [wStartDay], a
    jr .asm_1158b9
 
 .asm_1158b4
    ld a, $2
-   ld [wdc23], a
+   ld [wStartDay], a
 
 .asm_1158b9
    xor a
@@ -4330,7 +4330,7 @@ Function11581e: ; 11581e
 
 .asm_1158bc
    ld a, $ff
-   ld [wdc23], a
+   ld [wStartDay], a
    ret
 ; 1158c2
 
@@ -4575,7 +4575,7 @@ Function1159dc: ; 1159dc
 ; 1159fb
 
 Function1159fb: ; 1159fb
-   ld a, [wdc23]
+   ld a, [wStartDay]
    and a
    jp z, Function11425c
    cp $2
@@ -4604,7 +4604,7 @@ Function1159fb: ; 1159fb
    call Function115b00
    and a
    jr nz, .asm_115a5a
-   ld a, [wdc23]
+   ld a, [wStartDay]
    cp $5
    jr z, .asm_115a45
    ld a, [Poster]
@@ -4628,7 +4628,7 @@ Function1159fb: ; 1159fb
    ld l, a
    add hl, de
    xor a
-   ld [wdc23], a
+   ld [wStartDay], a
    jp Function11425c
 
 .asm_115a5a
@@ -4692,7 +4692,7 @@ Function115a5f: ; 115a5f
    rl b
    add hl, bc
    ld a, $2
-   ld [wdc23], a
+   ld [wStartDay], a
    ret
 ; 115ab0
 
@@ -4740,7 +4740,7 @@ Function115ab0: ; 115ab0
    ld a, b
    ld [Bed], a
    ld a, $4
-   ld [wdc23], a
+   ld [wStartDay], a
    xor a
    ret
 
@@ -4751,13 +4751,13 @@ Function115ab0: ; 115ab0
    ld a, b
    ld [Bed], a
    ld a, $3
-   ld [wdc23], a
+   ld [wStartDay], a
    xor a
    ret
 ; 115b00
 
 Function115b00: ; 115b00
-   ld a, [wdc23]
+   ld a, [wStartDay]
    and a
    ret z
    ld a, [wdc0e]
@@ -4780,7 +4780,7 @@ Function115b00: ; 115b00
    jr z, .asm_115b43
    cp $2
    jr z, .asm_115b3b
-   ld a, [wdc23]
+   ld a, [wStartDay]
    cp $4
    jr z, .asm_115b43
 rept 2
@@ -4798,7 +4798,7 @@ endr
 
 .asm_115b3d
    ld a, $ff
-   ld [wdc23], a
+   ld [wStartDay], a
    ret
 
 .asm_115b43
@@ -4869,7 +4869,7 @@ endr
    ld a, e
    ld [hli], a
    ld [hl], d
-   ld a, [wdc23]
+   ld a, [wStartDay]
    cp $3
    jr z, .asm_115bc1
    cp $4
@@ -4878,12 +4878,12 @@ endr
 
 .asm_115bba
    ld a, $5
-   ld [wdc23], a
+   ld [wStartDay], a
    jr .asm_115bc6
 
 .asm_115bc1
    ld a, $2
-   ld [wdc23], a
+   ld [wStartDay], a
 
 .asm_115bc6
    xor a
@@ -4949,7 +4949,7 @@ Function115bc8: ; 115bc8
    jr nz, .asm_115bcc
 
 .asm_115c1b
-   ld a, [wdc23]
+   ld a, [wStartDay]
    cp $4
    jr z, .asm_115c33
    ld a, [de]
@@ -5053,7 +5053,7 @@ endr
 
 .asm_115c99
    ld a, $ff
-   ld [wdc23], a
+   ld [wStartDay], a
    ret
 
 .asm_115c9f
@@ -5156,7 +5156,7 @@ Function115cfd: ; 115cfd
    pop hl
    pop hl
    ld a, $ff
-   ld [wdc23], a
+   ld [wStartDay], a
    ret
 
 .asm_115d2f
@@ -8954,7 +8954,7 @@ Function1183cb: ; 1183cb
    ld [rIE], a
    ld a, $1
    ld [$ffc9], a
-   ld [$ffe9], a
+   ld [hMobile], a
    ei
    callba Function106462
    callba Function106464
@@ -8984,7 +8984,7 @@ Function118452: ; 118452
    di
    xor a
    ld [$ffc9], a
-   ld [$ffe9], a
+   ld [hMobile], a
    ld [hVBlank], a
    call NormalSpeed
    xor a
@@ -13021,13 +13021,13 @@ Function11a00e: ; 11a00e
 
 .asm_11a081
    xor a
-   ld [wcf83], a
-   ld [wcf82], a
+   ld [wMenuBorderLeftCoord], a
+   ld [wMenuBorderTopCoord], a
    ld a, $13
-   ld [wcf85], a
+   ld [wMenuBorderRightCoord], a
    ld a, $5
-   ld [wcf84], a
-   call Function1c00
+   ld [wMenuBorderBottomCoord], a
+   call BackUpTiles
    callba Function11765d
    callba Function117ab4
    callba Function106462
@@ -13044,13 +13044,13 @@ Function11a00e: ; 11a00e
 
 Function11a0ca: ; 11a0ca
    xor a
-   ld [wcf83], a
-   ld [wcf82], a
+   ld [wMenuBorderLeftCoord], a
+   ld [wMenuBorderTopCoord], a
    ld a, $13
-   ld [wcf85], a
+   ld [wMenuBorderRightCoord], a
    ld a, $11
-   ld [wcf84], a
-   call Function1c00
+   ld [wMenuBorderBottomCoord], a
+   call BackUpTiles
    callba Function11765d
    callba Function17d3f6
    callba Function106462
@@ -13728,13 +13728,13 @@ Function11a5b0: ; 11a5b0
 
 Function11a5b9: ; 11a5b9
    xor a
-   ld [wcf83], a
-   ld [wcf82], a
+   ld [wMenuBorderLeftCoord], a
+   ld [wMenuBorderTopCoord], a
    ld a, $13
-   ld [wcf85], a
+   ld [wMenuBorderRightCoord], a
    ld a, $5
-   ld [wcf84], a
-   call Function1c00
+   ld [wMenuBorderBottomCoord], a
+   call BackUpTiles
    hlcoord 0, 0, AttrMap
    ld b, $6
    ld c, $14
@@ -13753,14 +13753,14 @@ Function11a5b9: ; 11a5b9
 
 Function11a5f5: ; 11a5f5
    ld a, $e
-   ld [wcf83], a
+   ld [wMenuBorderLeftCoord], a
    ld a, $13
-   ld [wcf85], a
+   ld [wMenuBorderRightCoord], a
    ld a, $6
-   ld [wcf82], a
+   ld [wMenuBorderTopCoord], a
    ld a, $a
-   ld [wcf84], a
-   call Function1c00
+   ld [wMenuBorderBottomCoord], a
+   call BackUpTiles
    hlcoord 14, 6, AttrMap
    ld b, $5
    ld c, $6
@@ -22849,7 +22849,7 @@ RunBattleTowerBattle: ; 17024d
    predef StartBattle
    callba LoadPokemonData
    callba HealParty
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    ld [ScriptVar], a
    and a
    jr nz, .asm_1702a9
@@ -24298,7 +24298,7 @@ Function170c06: ; 170c06
    ld a, $5
    call GetSRAMBank
    ld hl, $a894
-   ld a, [wd0ee]
+   ld a, [wBattleResult]
    and a
    jr nz, .asm_170c15
    inc [hl]
diff --git a/misc/mobile_5f.asm b/misc/mobile_5f.asm
index 411f222..b4fcd1a 100644
--- a/misc/mobile_5f.asm
+++ b/misc/mobile_5f.asm
@@ -3122,7 +3122,7 @@ Function17e3c3: ; 17e3c3
    push af
    ld a, $1
    ld [rSVBK], a
-   callba Function106155
+   callba MobileFn_106155
    callba Function106187
    pop af
    ld [rSVBK], a
diff --git a/predef/cgb.asm b/predef/cgb.asm
index 2cc69c5..b5c7aed 100644
--- a/predef/cgb.asm
+++ b/predef/cgb.asm
@@ -949,7 +949,7 @@ Function9499: ; 9499
    call Function91c8
    ld de, $0014
    hlcoord 0, 0, AttrMap
-   ld a, [wcf82]
+   ld a, [wMenuBorderTopCoord]
 .asm_94a5
    and a
    jr z, .asm_94ac
@@ -958,19 +958,19 @@ Function9499: ; 9499
    jr .asm_94a5
 
 .asm_94ac
-   ld a, [wcf83]
+   ld a, [wMenuBorderLeftCoord]
    ld e, a
    ld d, $0
    add hl, de
-   ld a, [wcf82]
+   ld a, [wMenuBorderTopCoord]
    ld b, a
-   ld a, [wcf84]
+   ld a, [wMenuBorderBottomCoord]
    inc a
    sub b
    ld b, a
-   ld a, [wcf83]
+   ld a, [wMenuBorderLeftCoord]
    ld c, a
-   ld a, [wcf85]
+   ld a, [wMenuBorderRightCoord]
    sub c
    inc a
    ld c, a
diff --git a/predef/sgb.asm b/predef/sgb.asm
index 590dcb3..12038da 100644
--- a/predef/sgb.asm
+++ b/predef/sgb.asm
@@ -443,13 +443,13 @@ endr
    ld hl, wcda9 + $13
    ld a, $5
    ld [hli], a
-   ld a, [wcf83]
+   ld a, [wMenuBorderLeftCoord]
    ld [hli], a
-   ld a, [wcf82]
+   ld a, [wMenuBorderTopCoord]
    ld [hli], a
-   ld a, [wcf85]
+   ld a, [wMenuBorderRightCoord]
    ld [hli], a
-   ld a, [wcf84]
+   ld a, [wMenuBorderBottomCoord]
    ld [hl], a
    ld hl, wcda9
    ld de, wcda9 + $10
diff --git a/sram.asm b/sram.asm
index fb7f841..63d3504 100644
--- a/sram.asm
+++ b/sram.asm
@@ -8,9 +8,9 @@ SECTION "SRAM Bank 0", SRAM [$a600], BANK [0]
 s0_a600:: ds $11a
 s0_a71a:: ds $11a
 s0_a834:: ds 1
-s0_a835:: ds 10 * (PartyMon1StatsEnd - PartyMon1Item)
+s0_a835:: ds 10 * party_struct_length
 s0_aa0b:: ds 1
-s0_aa0c:: ds 10 * (PartyMon1StatsEnd - PartyMon1Item)
+s0_aa0c:: ds 10 * party_struct_length
 
 sMysteryGiftItem:: ds 1
 s0_abe3:: ds 1
@@ -18,7 +18,8 @@ s0_abe4:: ds 1
 s0_abe5:: ds 1
 s0_abe6:: ds 10
 s0_abf0:: ds 10
-s0_abfa:: ds 2
+sMysteryGiftTimer:: ds 1
+sMysteryGiftTimerStartDay:: ds 1
    ds 1
 sMysteryGiftTrainerHouseFlag:: ds 1
 s0_abfe:: ds 12
diff --git a/text/common_4.asm b/text/common_4.asm
index c96d032..b85295e 100644
--- a/text/common_4.asm
+++ b/text/common_4.asm
@@ -1464,7 +1464,7 @@ UnknownText_0x1c5c5d: ; 0x1c5c5d
 UnknownText_0x1c5c5e: ; 0x1c5c5e
    text "You now have"
    line "@"
-   deciram wdc4b, $12
+   deciram wBlueCardBalance, $12
    text " points."
    done
 ; 0x1c5c7b
diff --git a/tilesets/animations.asm b/tilesets/animations.asm
index 8f659ac..c84db67 100644
--- a/tilesets/animations.asm
+++ b/tilesets/animations.asm
@@ -504,7 +504,7 @@ ForestTreeLeftAnimation: ; fc45c
    ld c, l
 
 ; Only during the Celebi event.
-   ld a, [wdbf3]
+   ld a, [wCelebiEvent]
    bit 2, a
    jr nz, .asm_fc46c
    ld hl, ForestTreeLeftFrames
@@ -546,7 +546,7 @@ ForestTreeRightAnimation: ; fc4c4
    ld c, l
 
 ; Only during the Celebi event.
-   ld a, [wdbf3]
+   ld a, [wCelebiEvent]
    bit 2, a
    jr nz, .asm_fc4d4
    ld hl, ForestTreeRightFrames
@@ -581,7 +581,7 @@ ForestTreeLeftAnimation2: ; fc4f2
    ld c, l
 
 ; Only during the Celebi event.
-   ld a, [wdbf3]
+   ld a, [wCelebiEvent]
    bit 2, a
    jr nz, .asm_fc502
    ld hl, ForestTreeLeftFrames
@@ -613,7 +613,7 @@ ForestTreeRightAnimation2: ; fc51c
    ld c, l
 
 ; Only during the Celebi event.
-   ld a, [wdbf3]
+   ld a, [wCelebiEvent]
    bit 2, a
    jr nz, .asm_fc52c
    ld hl, ForestTreeRightFrames
diff --git a/trainers/attributes.asm b/trainers/attributes.asm
index 1aa5065..40a0760 100644
--- a/trainers/attributes.asm
+++ b/trainers/attributes.asm
@@ -1,24 +1,3 @@
-   const_def
-   const       NO_AI
-const_value = 0
-   shift_const AI_BASIC
-   shift_const AI_SETUP
-   shift_const AI_TYPES
-   shift_const AI_OFFENSIVE
-   shift_const AI_SMART
-   shift_const AI_OPPORTUNIST
-   shift_const AI_AGGRESSIVE
-   shift_const AI_CAUTIOUS
-   shift_const AI_STATUS
-   shift_const AI_RISKY
-   shift_const AI_10
-   shift_const AI_11
-   shift_const AI_12
-   shift_const AI_13
-   shift_const AI_14
-   shift_const AI_15
-
-
 TrainerClassAttributes: ; 3959c
 
 ; Falkner
diff --git a/wram.asm b/wram.asm
index b91af90..42f1cd4 100644
--- a/wram.asm
+++ b/wram.asm
@@ -129,6 +129,7 @@ channel_struct: MACRO
                       ds 1 ; c131
                       ds 1 ; c132
 ENDM
+GLOBAL box_struct_length, party_struct_length
 
 INCLUDE "vram.asm"
 
@@ -880,19 +881,20 @@ wc7e8:: ds 24
 
 
 RSSET 0 ; Offsets for wBT_OTTempCopy:: @ $c608
-wBT_OTTempCopy_0           RB   $A         ; $c608
-wBT_OTTempCopy_TrainerClass    RB   $1         ; $c608 + $a = $c612
-wBT_OTTempCopy_Pkmn1       RB   $30        ; $c608 + $b = $c613
-wBT_OTTempCopy_Pkmn1Name   RB   $A         ; $c608 + $3b = $c643
-wBT_OTTempCopy_45          RB   $1         ; $c608 + $45 = $c64d
-wBT_OTTempCopy_Pkmn2       RB   $30        ; $c608 + $46 = $c64e
-wBT_OTTempCopy_Pkmn2Name   RB   $A         ; $c608 + $76 = $c67e
-wBT_OTTempCopy_80          RB   $1         ; $c608 + $80 = $c688
-wBT_OTTempCopy_Pkmn3       RB   $30        ; $c608 + $81 = $c689
-wBT_OTTempCopy_Pkmn3Name   RB   $A         ; $c608 + $b1 = $c6b9
-wBT_OTTempCopy_BB          RB   $1         ; $c608 + $bb = $c6c3
+wBT_OTTempCopy_0           RB 10                    ; $c608
+wBT_OTTempCopy_TrainerClass    RB 1                     ; $c608 + $a = $c612
+wBT_OTTempCopy_Pkmn1       RB party_struct_length   ; $c608 + $b = $c613
+wBT_OTTempCopy_Pkmn1Name   RB PKMN_NAME_LENGTH + -1 ; $c608 + $45 = $c64d
+wBT_OTTempCopy_45           RB 1
+wBT_OTTempCopy_Pkmn2       RB party_struct_length   ; $c608 + $46 = $c64e
+wBT_OTTempCopy_Pkmn2Name   RB PKMN_NAME_LENGTH + -1 ; $c608 + $76 = $c67e
+wBT_OTTempCopy_80           RB 1
+wBT_OTTempCopy_Pkmn3       RB party_struct_length   ; $c608 + $81 = $c689
+wBT_OTTempCopy_Pkmn3Name   RB PKMN_NAME_LENGTH + -1 ; $c608 + $b1 = $c6b9
+wBT_OTTempCopy_BB           RB 1
 
-GLOBAL wBT_OTTempCopy_TrainerClass, wBT_OTTempCopy_Pkmn1, wBT_OTTempCopy_Pkmn1Name, wBT_OTTempCopy_45, wBT_OTTempCopy_Pkmn2, wBT_OTTempCopy_Pkmn2Name, wBT_OTTempCopy_80, wBT_OTTempCopy_Pkmn3, wBT_OTTempCopy_Pkmn3Name, wBT_OTTempCopy_BB
+GLOBAL wBT_OTTempCopy_TrainerClass, wBT_OTTempCopy_Pkmn1, wBT_OTTempCopy_Pkmn1Name, wBT_OTTempCopy_Pkmn2, wBT_OTTempCopy_Pkmn2Name, wBT_OTTempCopy_Pkmn3, wBT_OTTempCopy_Pkmn3Name
+GLOBAL wBT_OTTempCopy_45, wBT_OTTempCopy_80, wBT_OTTempCopy_BB
 
 
 
@@ -1221,25 +1223,28 @@ wcf75:: ds 1
 wcf76:: ds 1
 wcf77:: ds 1
 wcf78:: ds 9
+
+; menu data header buffer (ds 16)
 wcf81:: ds 1
 
 ; dw related to tilemap
-wcf82:: ds 1
-wcf83:: ds 1
+wMenuBorderTopCoord:: ds 1
+wMenuBorderLeftCoord:: ds 1
+wMenuBorderBottomCoord:: ds 1
+wMenuBorderRightCoord:: ds 1
 
-wcf84:: ds 1
-wcf85:: ds 1
 wcf86:: ds 1
 wcf87:: ds 1
-wcf88:: ds 2
-wcf8a:: ds 7
+wPocketPointerLocationBuffer:: ds 2
+wcf8a:: ds 7 ; menu data 2 bank?
 wcf91:: ds 1
+
 wcf92:: ds 1
 wcf93:: ds 1
 wcf94:: ds 1
-wcf95:: ds 1
-wcf96:: ds 1
-wcf97:: ds 1
+wcf95:: ds 1 ; bank
+wcf96:: ds 1 ; addr lo
+wcf97:: ds 1 ; addr hi
 wcf98:: ds 3
 wcf9b:: ds 3
 wcf9e:: ds 3
@@ -1340,10 +1345,13 @@ Options2:: ; cfd1
    ds 2
 OptionsEnd::
 
-wcfd4:: ds 1
-wcfd5:: ds 1
-wcfd6:: ds 1
-wcfd7:: ds 1 ; related to time
+; Time buffer, for counting the amount of time since
+; an event began.
+
+wSecondsSince:: ds 1
+wMinutesSince:: ds 1
+wHoursSince:: ds 1
+wDaysSince:: ds 1
 
    ds 40
 
@@ -1428,13 +1436,17 @@ EngineBuffer1:: ; d03e
 wd03f::
 CurFruit:: ; d03f
 MartPointerBank::
+EngineBuffer2::
    ds 1
 
 wd040::
 MartPointer:: ; d040
+EngineBuffer3::
    ds 1
 
-wd041:: ds 1
+wd041::
+EngineBuffer4::
+   ds 1
 MovementAnimation:: ; d042
    ds 1
 
@@ -1488,10 +1500,10 @@ CurMoveNum:: ; d0d5
 wd0d6:: ds 1
 wd0d7:: ds 1
 wd0d8:: ds 1
-wd0d9:: ds 1
-wd0da:: ds 1
-wd0db:: ds 1
-wd0dc:: ds 1
+wItemsPocketPointerLocation:: ds 1
+wKeyItemsPocketPointerLocation:: ds 1
+wBallsPocketPointerLocation:: ds 1
+wTMHMPocketPointerLocation:: ds 1
 wd0dd:: ds 2
 wd0df:: ds 1
 wd0e0:: ds 1
@@ -1511,7 +1523,7 @@ VramState:: ; d0ed
 ;        flickers when climbing waterfall
    ds 1
 
-wd0ee:: ds 1
+wBattleResult:: ds 1
 wd0ef:: ds 1
 wd0f0::
 CurMart:: ; d0f0
@@ -1559,7 +1571,9 @@ wd13f:: ds 2
 PartyMenuActionText:: ; d141
    ds 1
 
-wd142:: ds 1
+wItemAttributeParamBuffer::
+wd142::
+   ds 1
 
 CurPartyLevel:: ; d143
    ds 1
@@ -1942,13 +1956,18 @@ wd454:: ds 1
    ds 4
 
 wd459:: ds 2
-wd45b:: ds 1
-wd45c:: ds 8
-wd464:: ds 1
-wd465:: ds 1
-wd466:: ds 6
-wd46c:: ds 1
-wd46d:: ds 5
+wPlayerSpriteSetupFlags:: ds 1
+wMapReentryScriptQueueFlag:: ds 1 ; MemScriptFlag
+wMapReentryScriptBank:: ds 1 ; MemScriptBank
+wMapReentryScriptAddress:: ds 2 ; MemScriptAddr
+   ds 4     ; ?????????????
+wTimeCyclesSinceLastCall:: ds 1
+wReceiveCallDelay_MinsRemaining:: ds 1
+wReceiveCallDelay_StartTime:: ds 3
+   ds 3
+wBugContestMinsRemaining:: ds 1
+wBugContestSecsRemaining:: ds 1
+   ds 4
 
 wCrystalData::
 PlayerGender:: ; d472
@@ -2333,7 +2352,7 @@ wCurBox:: ; db72
 ; 8 chars + $50
 wBoxNames:: ds 9 * NUM_BOXES ; db75
 
-wdbf3:: ds 1
+wCelebiEvent:: ds 1
    ds 1
 
 BikeFlags:: ; dbf5
@@ -2358,7 +2377,8 @@ wdc03:: ds 1
 wdc04:: ds 1
 wdc05:: ds 1
 wdc06:: ds 1
-wdc07:: ds 2
+wdc07:: ds 1
+wdc08:: ds 1
 wdc09:: ds 1
 wdc0a:: ds 1
 wdc0b:: ds 2
@@ -2391,13 +2411,13 @@ wdc18:: ds 1
 wdc19:: ds 1
 wdc1a:: ds 1
 wdc1b:: ds 1
-wdc1c:: ds 2
+wDailyResetTimer:: ds 2
 DailyFlags:: ds 1
 WeeklyFlags:: ds 1
 SwarmFlags:: ds 1
 wdc21:: ds 1
 wdc22:: ds 1
-wdc23:: ds 1
+wStartDay:: ds 1
 wdc24:: ds 2
 wdc26:: ds 1
 
@@ -2410,15 +2430,16 @@ wLuckyNumberDayBuffer:: ds 2
    ds 2
 wSpecialPhoneCallID:: ds 2
 wdc33:: ds 2
-wdc35:: ds 4
+wBugContestStartTime:: ds 4 ; day, hour, min, sec
 wdc39:: ds 1
-wdc3a:: ds 1 ; related to time
-wdc3b:: ds 5 ; related to time
+wUnusedTwoDayTimer:: ds 1
+wUnusedTwoDayTimerStartDate:: ds 1
+   ds 4
 wdc40:: ds 1
 wdc41:: ds 1
 wdc42:: ds 8
-wdc4a:: ds 1
-wdc4b:: ds 1
+wBuenasPassword:: ds 1
+wBlueCardBalance:: ds 1
 wDailyRematchFlags:: ds 4
 wDailyPhoneItemFlags:: ds 4
 wDailyPhoneTimeOfDayFlags:: ds 4
@@ -2438,11 +2459,13 @@ PoisonStepCount:: ; dc74
 wdc77:: ds 2
 wdc79:: ds 1
 wdc7a:: ds 2
-wdc7c:: ds 33
+wPhoneList:: ds CONTACT_LIST_SIZE
+   ds 23
 wLuckyNumberShowFlag:: ds 2
 wLuckyIDNumber:: ds 2
-wdca1:: ds 3
-wdca4:: ds 1
+wRepelEffect:: ds 1
+wBikeStep:: ds 2
+wKurtApricornQuantity:: ds 1
 
 wPlayerDataEnd::

Comments