PikalaxALT icon

none.patch

PikalaxALT | PRO | 11/02/15 05:40:02 PM UTC | 0 ⭐ | 729 👁️ | Never ⏰ | []
Diff |

647.32 KB

|

None

|

0 👍

/

0 👎

From ed29db5841849345c5971a9b08681dfb6560c07d Mon Sep 17 00:00:00 2001
From: PikalaxALT <[email protected]>
Date: Thu, 29 Oct 2015 23:32:11 -0400
Subject: [PATCH 12/21] No more -bash000; engine/movement.asm, SPRITEMOVEFN
 
---
 audio/cries.asm                                |  22 +-
 audio/engine.asm                               |   2 +-
 audio/music/battletowertheme.asm               |   2 +-
 audio/music/lookkimonogirl.asm                 |   2 +-
 audio/music/titlescreen.asm                    |   4 +-
 audio/sfx.asm                                  | 114 ++---
 audio/sfx_crystal.asm                          |   2 +-
 audio/trainer_encounters.asm                   |   2 +-
 battle/anim_objects.asm                        |   2 +-
 battle/core.asm                                |  16 +-
 battle/effect_command_pointers.asm             |   2 +-
 constants.asm                                  |   1 -
 constants/map_constants.asm                    |   4 +-
 constants/misc_constants.asm                   |   1 -
 constants/sprite_constants.asm                 |   3 +
 engine/events.asm                              |   2 +-
 engine/events_2.asm                            |  10 +-
 engine/map_objects.asm                         |  90 ++--
 engine/movement.asm                            | 600 ++++++++++++-------------
 engine/scripting.asm                           |  18 +-
 event/battle_tower.asm                         |   2 +-
 event/mom.asm                                  |   4 +-
 gfx/pics/animation.asm                         |   2 +-
 home/joypad.asm                                |  36 +-
 home/map.asm                                   |  54 +--
 home/map_objects.asm                           |  18 +-
 home/menu.asm                                  |   2 +-
 hram.asm                                       |   4 +-
 lib/mobile/main.asm                            |  22 +-
 main.asm                                       | 368 +++++++--------
 maps/AzaleaGym.asm                             |  76 ++--
 maps/AzaleaMart.asm                            |   6 +-
 maps/AzaleaPokeCenter1F.asm                    |  10 +-
 maps/AzaleaTown.asm                            |  30 +-
 maps/BattleTower1F.asm                         |  14 +-
 maps/BattleTowerBattleRoom.asm                 |   8 +-
 maps/BattleTowerElevator.asm                   |   6 +-
 maps/BattleTowerHallway.asm                    |   6 +-
 maps/BattleTowerOutside.asm                    |   8 +-
 maps/BillsHouse.asm                            |   2 +-
 maps/BlackthornCity.asm                        |  18 +-
 maps/BlackthornDodrioTradeHouse.asm            |   2 +-
 maps/BlackthornDragonSpeechHouse.asm           |   4 +-
 maps/BlackthornGym1F.asm                       |  18 +-
 maps/BlackthornGym2F.asm                       |  20 +-
 maps/BlackthornMart.asm                        |   6 +-
 maps/BlackthornPokeCenter1F.asm                |   8 +-
 maps/BluesHouse.asm                            |   2 +-
 maps/BrunosRoom.asm                            |   8 +-
 maps/BurnedTower1F.asm                         |  16 +-
 maps/BurnedTowerB1F.asm                        |  22 +-
 maps/CeladonCafe.asm                           |  10 +-
 maps/CeladonCity.asm                           |  18 +-
 maps/CeladonDeptStore1F.asm                    |   6 +-
 maps/CeladonDeptStore2F.asm                    |   8 +-
 maps/CeladonDeptStore3F.asm                    |  10 +-
 maps/CeladonDeptStore4F.asm                    |   6 +-
 maps/CeladonDeptStore5F.asm                    |  10 +-
 maps/CeladonDeptStore6F.asm                    |   4 +-
 maps/CeladonGameCorner.asm                     |  18 +-
 maps/CeladonGameCornerPrizeRoom.asm            |   4 +-
 maps/CeladonGym.asm                            |  24 +-
 maps/CeladonMansion1F.asm                      |   8 +-
 maps/CeladonMansion3F.asm                      |   8 +-
 maps/CeladonMansionRoof.asm                    |   2 +-
 maps/CeladonMansionRoofHouse.asm               |   2 +-
 maps/CeladonPokeCenter1F.asm                   |  10 +-
 maps/CeruleanCity.asm                          |  12 +-
 maps/CeruleanGym.asm                           |  24 +-
 maps/CeruleanGymBadgeSpeechHouse.asm           |   2 +-
 maps/CeruleanMart.asm                          |   6 +-
 maps/CeruleanPokeCenter1F.asm                  |   6 +-
 maps/CeruleanPoliceStation.asm                 |   6 +-
 maps/CeruleanTradeSpeechHouse.asm              |   8 +-
 maps/CharcoalKiln.asm                          |   6 +-
 maps/CherrygroveCity.asm                       |  14 +-
 maps/CherrygroveEvolutionSpeechHouse.asm       |   4 +-
 maps/CherrygroveGymSpeechHouse.asm             |   4 +-
 maps/CherrygroveMart.asm                       |   8 +-
 maps/CherrygrovePokeCenter1F.asm               |   8 +-
 maps/CianwoodCity.asm                          |  30 +-
 maps/CianwoodCityPhotoStudio.asm               |   2 +-
 maps/CianwoodGym.asm                           |  28 +-
 maps/CianwoodLugiaSpeechHouse.asm              |   6 +-
 maps/CianwoodPharmacy.asm                      |   4 +-
 maps/CianwoodPokeCenter1F.asm                  |   8 +-
 maps/CinnabarIsland.asm                        |   2 +-
 maps/CinnabarPokeCenter1F.asm                  |   6 +-
 maps/Colosseum.asm                             |  10 +-
 maps/CopycatsHouse1F.asm                       |   6 +-
 maps/CopycatsHouse2F.asm                       |  12 +-
 maps/DanceTheatre.asm                          |  28 +-
 maps/DarkCaveBlackthornEntrance.asm            |   6 +-
 maps/DarkCaveVioletEntrance.asm                |  16 +-
 maps/DayCare.asm                               |   4 +-
 maps/DiglettsCave.asm                          |   2 +-
 maps/DragonShrine.asm                          |  12 +-
 maps/DragonsDenB1F.asm                         |  30 +-
 maps/EarlsPokemonAcademy.asm                   |  14 +-
 maps/EcruteakCity.asm                          |  14 +-
 maps/EcruteakGym.asm                           |  28 +-
 maps/EcruteakHouse.asm                         |  12 +-
 maps/EcruteakItemfinderHouse.asm               |   4 +-
 maps/EcruteakLugiaSpeechHouse.asm              |   4 +-
 maps/EcruteakMart.asm                          |   6 +-
 maps/EcruteakPokeCenter1F.asm                  |  14 +-
 maps/ElmsHouse.asm                             |   4 +-
 maps/ElmsLab.asm                               |  24 +-
 maps/FastShip1F.asm                            |  14 +-
 maps/FastShipB1F.asm                           |  48 +-
 maps/FastShipCabins_NNW_NNE_NE.asm             |  28 +-
 maps/FastShipCabins_SE_SSE_CaptainsCabin.asm   |  36 +-
 maps/FastShipCabins_SW_SSW_NW.asm              |  16 +-
 maps/FightingDojo.asm                          |   4 +-
 maps/FuchsiaBillSpeechHouse.asm                |   4 +-
 maps/FuchsiaCity.asm                           |   8 +-
 maps/FuchsiaGym.asm                            |  22 +-
 maps/FuchsiaMart.asm                           |   6 +-
 maps/FuchsiaPokeCenter1F.asm                   |  10 +-
 maps/GoldenrodBikeShop.asm                     |   2 +-
 maps/GoldenrodBillsHouse.asm                   |   6 +-
 maps/GoldenrodCity.asm                         |  30 +-
 maps/GoldenrodDeptStore1F.asm                  |   8 +-
 maps/GoldenrodDeptStore2F.asm                  |  10 +-
 maps/GoldenrodDeptStore3F.asm                  |   6 +-
 maps/GoldenrodDeptStore4F.asm                  |   8 +-
 maps/GoldenrodDeptStore5F.asm                  |  12 +-
 maps/GoldenrodDeptStore6F.asm                  |   4 +-
 maps/GoldenrodDeptStoreB1F.asm                 |  16 +-
 maps/GoldenrodDeptStoreRoof.asm                |  18 +-
 maps/GoldenrodFlowerShop.asm                   |   4 +-
 maps/GoldenrodGameCorner.asm                   |  24 +-
 maps/GoldenrodGym.asm                          |  26 +-
 maps/GoldenrodHappinessRater.asm               |   6 +-
 maps/GoldenrodMagnetTrainStation.asm           |   6 +-
 maps/GoldenrodNameRatersHouse.asm              |   2 +-
 maps/GoldenrodPPSpeechHouse.asm                |   4 +-
 maps/GoldenrodPokeCenter1F.asm                 |  10 +-
 maps/GoldenrodPokeComCenter2FMobile.asm        |   6 +-
 maps/GuideGentsHouse.asm                       |   2 +-
 maps/HallOfFame.asm                            |   6 +-
 maps/IcePath1F.asm                             |   6 +-
 maps/IcePathB1F.asm                            |  10 +-
 maps/IcePathB2FBlackthornSide.asm              |   2 +-
 maps/IcePathB2FMahoganySide.asm                |  12 +-
 maps/IcePathB3F.asm                            |   4 +-
 maps/IlexForest.asm                            |  24 +-
 maps/IlexForestAzaleaGate.asm                  |   4 +-
 maps/IndigoPlateauPokeCenter1F.asm             |  14 +-
 maps/KarensRoom.asm                            |   8 +-
 maps/KogasRoom.asm                             |   8 +-
 maps/KrissHouse1F.asm                          |  14 +-
 maps/KrissHouse2F.asm                          |   8 +-
 maps/KrissNeighborsHouse.asm                   |   4 +-
 maps/KurtsHouse.asm                            |  10 +-
 maps/LakeofRage.asm                            |  36 +-
 maps/LakeofRageHiddenPowerHouse.asm            |   2 +-
 maps/LakeofRageMagikarpHouse.asm               |   2 +-
 maps/LancesRoom.asm                            |  12 +-
 maps/LavRadioTower1F.asm                       |  10 +-
 maps/LavenderMart.asm                          |   6 +-
 maps/LavenderNameRater.asm                     |   4 +-
 maps/LavenderPokeCenter1F.asm                  |   8 +-
 maps/LavenderTown.asm                          |   8 +-
 maps/LavenderTownSpeechHouse.asm               |   2 +-
 maps/MahoganyGym.asm                           |  26 +-
 maps/MahoganyMart1F.asm                        |  14 +-
 maps/MahoganyPokeCenter1F.asm                  |   8 +-
 maps/MahoganyRedGyaradosSpeechHouse.asm        |   4 +-
 maps/MahoganyTown.asm                          |  12 +-
 maps/ManiasHouse.asm                           |  92 ++--
 maps/MobileBattleRoom.asm                      |   4 +-
 maps/MobileTradeRoomMobile.asm                 |   4 +-
 maps/MountMoon.asm                             |   6 +-
 maps/MountMoonGiftShop.asm                     |   8 +-
 maps/MountMoonSquare.asm                       |   8 +-
 maps/MountMortar1FInside.asm                   |  24 +-
 maps/MountMortar1FOutside.asm                  |   4 +-
 maps/MountMortar2FInside.asm                   |  16 +-
 maps/MountMortarB1F.asm                        |  16 +-
 maps/MoveDeletersHouse.asm                     |   2 +-
 maps/MrFujisHouse.asm                          |  10 +-
 maps/MrPokemonsHouse.asm                       |   8 +-
 maps/MrPsychicsHouse.asm                       |   2 +-
 maps/NationalPark.asm                          |  38 +-
 maps/NationalParkBugContest.asm                |  24 +-
 maps/NewBarkTown.asm                           |  10 +-
 maps/OaksLab.asm                               |   8 +-
 maps/OlivineCafe.asm                           |   6 +-
 maps/OlivineCity.asm                           |  12 +-
 maps/OlivineGoodRodHouse.asm                   |   2 +-
 maps/OlivineGym.asm                            |   6 +-
 maps/OlivineHouseBeta.asm                      |   4 +-
 maps/OlivineLighthouse1F.asm                   |   4 +-
 maps/OlivineLighthouse2F.asm                   |  10 +-
 maps/OlivineLighthouse3F.asm                   |  14 +-
 maps/OlivineLighthouse4F.asm                   |   8 +-
 maps/OlivineLighthouse5F.asm                   |  14 +-
 maps/OlivineLighthouse6F.asm                   |   6 +-
 maps/OlivineMart.asm                           |   6 +-
 maps/OlivinePokeCenter1F.asm                   |   8 +-
 maps/OlivinePort.asm                           |  18 +-
 maps/OlivinePortPassage.asm                    |   2 +-
 maps/OlivinePunishmentSpeechHouse.asm          |   4 +-
 maps/OlivineVoltorbHouse.asm                   |   2 +-
 maps/PalletTown.asm                            |   4 +-
 maps/PewterCity.asm                            |  10 +-
 maps/PewterGym.asm                             |  10 +-
 maps/PewterMart.asm                            |   6 +-
 maps/PewterNidoranSpeechHouse.asm              |   4 +-
 maps/PewterPokeCenter1F.asm                    |  10 +-
 maps/PewterSnoozeSpeechHouse.asm               |   2 +-
 maps/PokeCenter2F.asm                          |  20 +-
 maps/PokeSeersHouse.asm                        |   2 +-
 maps/PokemonFanClub.asm                        |  12 +-
 maps/PowerPlant.asm                            |  18 +-
 maps/RadioTower1F.asm                          |  14 +-
 maps/RadioTower2F.asm                          |  30 +-
 maps/RadioTower3F.asm                          |  22 +-
 maps/RadioTower4F.asm                          |  22 +-
 maps/RadioTower5F.asm                          |  22 +-
 maps/RedsHouse1F.asm                           |   4 +-
 maps/RockTunnel1F.asm                          |   4 +-
 maps/RockTunnelB1F.asm                         |   6 +-
 maps/Route1.asm                                |  10 +-
 maps/Route10PokeCenter1F.asm                   |   8 +-
 maps/Route10South.asm                          |   8 +-
 maps/Route11.asm                               |  18 +-
 maps/Route12.asm                               |  20 +-
 maps/Route12SuperRodHouse.asm                  |   2 +-
 maps/Route13.asm                               |  20 +-
 maps/Route14.asm                               |  14 +-
 maps/Route15.asm                               |  26 +-
 maps/Route15FuchsiaGate.asm                    |   2 +-
 maps/Route16FuchsiaSpeechHouse.asm             |   2 +-
 maps/Route16Gate.asm                           |   4 +-
 maps/Route17.asm                               |  16 +-
 maps/Route1718Gate.asm                         |   4 +-
 maps/Route18.asm                               |   8 +-
 maps/Route19.asm                               |  20 +-
 maps/Route19FuchsiaGate.asm                    |   2 +-
 maps/Route2.asm                                |  22 +-
 maps/Route20.asm                               |  12 +-
 maps/Route21.asm                               |  12 +-
 maps/Route24.asm                               |   2 +-
 maps/Route25.asm                               |  42 +-
 maps/Route26.asm                               |  32 +-
 maps/Route26DayofWeekSiblingsHouse.asm         |   2 +-
 maps/Route26HealSpeechHouse.asm                |   2 +-
 maps/Route27.asm                               |  38 +-
 maps/Route27SandstormHouse.asm                 |   2 +-
 maps/Route28FamousSpeechHouse.asm              |   6 +-
 maps/Route29.asm                               |  20 +-
 maps/Route2946Gate.asm                         |   4 +-
 maps/Route2Gate.asm                            |   2 +-
 maps/Route2NuggetSpeechHouse.asm               |   2 +-
 maps/Route3.asm                                |  16 +-
 maps/Route30.asm                               |  30 +-
 maps/Route30BerrySpeechHouse.asm               |   2 +-
 maps/Route31.asm                               |  18 +-
 maps/Route31VioletGate.asm                     |   4 +-
 maps/Route32.asm                               |  54 +--
 maps/Route32PokeCenter1F.asm                   |   6 +-
 maps/Route32RuinsofAlphGate.asm                |   6 +-
 maps/Route33.asm                               |  10 +-
 maps/Route34.asm                               |  48 +-
 maps/Route34IlexForestGate.asm                 |   8 +-
 maps/Route35.asm                               |  42 +-
 maps/Route35Goldenrodgate.asm                  |   6 +-
 maps/Route35NationalParkgate.asm               |  12 +-
 maps/Route36.asm                               |  28 +-
 maps/Route36NationalParkgate.asm               |  30 +-
 maps/Route36RuinsofAlphgate.asm                |   4 +-
 maps/Route37.asm                               |  20 +-
 maps/Route38.asm                               |  30 +-
 maps/Route38EcruteakGate.asm                   |   2 +-
 maps/Route39.asm                               |  30 +-
 maps/Route39Barn.asm                           |   6 +-
 maps/Route39Farmhouse.asm                      |   4 +-
 maps/Route4.asm                                |  14 +-
 maps/Route40.asm                               |  32 +-
 maps/Route40BattleTowerGate.asm                |   4 +-
 maps/Route41.asm                               |  40 +-
 maps/Route42.asm                               |  30 +-
 maps/Route42EcruteakGate.asm                   |   2 +-
 maps/Route43.asm                               |  32 +-
 maps/Route43Gate.asm                           |  10 +-
 maps/Route43MahoganyGate.asm                   |   2 +-
 maps/Route44.asm                               |  40 +-
 maps/Route45.asm                               |  44 +-
 maps/Route46.asm                               |  20 +-
 maps/Route5.asm                                |   2 +-
 maps/Route5CleanseTagSpeechHouse.asm           |   4 +-
 maps/Route5SaffronCityGate.asm                 |   2 +-
 maps/Route5UndergroundEntrance.asm             |   2 +-
 maps/Route6.asm                                |  10 +-
 maps/Route6SaffronGate.asm                     |   4 +-
 maps/Route7SaffronGate.asm                     |   2 +-
 maps/Route8.asm                                |  22 +-
 maps/Route8SaffronGate.asm                     |   2 +-
 maps/Route9.asm                                |  24 +-
 maps/RuinsofAlphAerodactylChamber.asm          |   4 +-
 maps/RuinsofAlphAerodactylItemRoom.asm         |   8 +-
 maps/RuinsofAlphHoOhChamber.asm                |   4 +-
 maps/RuinsofAlphHoOhItemRoom.asm               |   8 +-
 maps/RuinsofAlphInnerChamber.asm               |  10 +-
 maps/RuinsofAlphKabutoChamber.asm              |   8 +-
 maps/RuinsofAlphKabutoItemRoom.asm             |   8 +-
 maps/RuinsofAlphOmanyteChamber.asm             |   4 +-
 maps/RuinsofAlphOmanyteItemRoom.asm            |   8 +-
 maps/RuinsofAlphOutside.asm                    |  18 +-
 maps/RuinsofAlphResearchCenter.asm             |  10 +-
 maps/SafariZoneWardensHome.asm                 |   2 +-
 maps/SaffronCity.asm                           |  16 +-
 maps/SaffronGym.asm                            |  22 +-
 maps/SaffronMart.asm                           |   6 +-
 maps/SaffronPokeCenter1F.asm                   |   8 +-
 maps/SaffronTrainStation.asm                   |  10 +-
 maps/SeafoamGym.asm                            |   8 +-
 maps/SilphCo1F.asm                             |   4 +-
 maps/SilverCaveItemRooms.asm                   |   4 +-
 maps/SilverCavePokeCenter1F.asm                |   4 +-
 maps/SilverCaveRoom1.asm                       |   8 +-
 maps/SilverCaveRoom2.asm                       |   6 +-
 maps/SilverCaveRoom3.asm                       |   2 +-
 maps/SlowpokeWellB1F.asm                       |  26 +-
 maps/SlowpokeWellB2F.asm                       |   4 +-
 maps/SoulHouse.asm                             |   8 +-
 maps/SproutTower1F.asm                         |  14 +-
 maps/SproutTower2F.asm                         |  10 +-
 maps/SproutTower3F.asm                         |  26 +-
 maps/TeamRocketBaseB1F.asm                     |  22 +-
 maps/TeamRocketBaseB2F.asm                     |  44 +-
 maps/TeamRocketBaseB3F.asm                     |  46 +-
 maps/TimeCapsule.asm                           |   8 +-
 maps/TinTower1F.asm                            |  24 +-
 maps/TinTower3F.asm                            |   2 +-
 maps/TinTower4F.asm                            |   6 +-
 maps/TinTower5F.asm                            |   2 +-
 maps/TinTower6F.asm                            |   2 +-
 maps/TinTower7F.asm                            |   2 +-
 maps/TinTower8F.asm                            |   6 +-
 maps/TinTower9F.asm                            |   2 +-
 maps/TinTowerRoof.asm                          |   2 +-
 maps/TohjoFalls.asm                            |   2 +-
 maps/TradeCenter.asm                           |   8 +-
 maps/TrainerHouse1F.asm                        |  10 +-
 maps/TrainerHouseB1F.asm                       |  10 +-
 maps/UndergroundPathSwitchRoomEntrances.asm    |  38 +-
 maps/UndergroundWarehouse.asm                  |  20 +-
 maps/UnionCave1F.asm                           |  28 +-
 maps/UnionCaveB1F.asm                          |  22 +-
 maps/UnionCaveB2F.asm                          |  18 +-
 maps/VermilionCity.asm                         |  12 +-
 maps/VermilionGym.asm                          |  18 +-
 maps/VermilionHouseDiglettsCaveSpeechHouse.asm |   2 +-
 maps/VermilionHouseFishingSpeechHouse.asm      |   2 +-
 maps/VermilionMagnetTrainSpeechHouse.asm       |   4 +-
 maps/VermilionMart.asm                         |   6 +-
 maps/VermilionPokeCenter1F.asm                 |   8 +-
 maps/VermilionPort.asm                         |  10 +-
 maps/VermilionPortPassage.asm                  |   2 +-
 maps/VictoryRoad.asm                           |  16 +-
 maps/VictoryRoadGate.asm                       |  10 +-
 maps/VioletCity.asm                            |  16 +-
 maps/VioletGym.asm                             |  14 +-
 maps/VioletMart.asm                            |   6 +-
 maps/VioletNicknameSpeechHouse.asm             |   6 +-
 maps/VioletOnixTradeHouse.asm                  |   4 +-
 maps/VioletPokeCenter1F.asm                    |  10 +-
 maps/ViridianCity.asm                          |   8 +-
 maps/ViridianGym.asm                           |   6 +-
 maps/ViridianMart.asm                          |   6 +-
 maps/ViridianNicknameSpeechHouse.asm           |   8 +-
 maps/ViridianPokeCenter1F.asm                  |   8 +-
 maps/WarehouseEntrance.asm                     |  28 +-
 maps/WhirlIslandB1F.asm                        |  12 +-
 maps/WhirlIslandB2F.asm                        |   6 +-
 maps/WhirlIslandLugiaChamber.asm               |   2 +-
 maps/WhirlIslandNE.asm                         |   2 +-
 maps/WhirlIslandSW.asm                         |   2 +-
 maps/WillsRoom.asm                             |   8 +-
 maps/WiseTriosRoom.asm                         |  22 +-
 misc/mobile_22_2.asm                           |   2 +-
 misc/mobile_40.asm                             |  16 +-
 misc/mobile_45.asm                             |   6 +-
 wram.asm                                       |   8 +-
 387 files changed, 2831 insertions(+), 2830 deletions(-)
 
diff --git a/audio/cries.asm b/audio/cries.asm
index 85abcc6..6f15d02 100644
--- a/audio/cries.asm
+++ b/audio/cries.asm
@@ -370,7 +370,7 @@ Cry_2C_branch_f3022: ; f3022
    unknownmusic0xde $52
    sound $4, $f1, $0796
    sound $4, $f1, $072d
    sound $7, $0, $0000
    sound $10, $f1, $07a7
    endchannel
 ; f3035
@@ -381,7 +381,7 @@ Cry_2C_Ch6: ; f3038
 Cry_2C_branch_f3038: ; f3038
    callchannel Cry_2C_branch_f3022
    loopchannel 2, Cry_2C_branch_f3038
    sound $e, $0, $0000
    sound $8, $f2, $07c2
    endchannel
 ; f3048
@@ -398,7 +398,7 @@ Cry_27_Ch5: ; f3048
 Cry_27_Ch6: ; f305b
    unknownmusic0xde $2a
    sound $3, $2c, $07c7
    sound $1, $0, $0000
    sound $5, $59, $07be
    sound $6, $b4, $07bd
    endchannel
@@ -621,7 +621,7 @@ Cry_36_Ch6: ; f3200
 Cry_36_branch_f3202: ; f3202
    sound $3, $f8, $0791
    sound $3, $d8, $078d
    sound $2, $0, $0000
    sound $1, $78, $06c1
    sound $1, $f8, $0741
    sound $4, $e1, $0751
@@ -646,7 +646,7 @@ Cry_43_Ch5: ; f322e
    sound $8, $ab, $0734
    sound $4, $d6, $0716
    sound $8, $d1, $0712
    sound $8, $0, $0000
    endchannel
 ; f3249
 
@@ -658,7 +658,7 @@ Cry_43_Ch6: ; f3249
    sound $8, $cb, $0754
    sound $4, $f6, $0736
    sound $8, $f1, $0732
    sound $8, $0, $0000
    endchannel
 ; f3264
 
@@ -1213,7 +1213,7 @@ Cry_09_Ch5: ; f361f
 
 Cry_09_Ch6: ; f363c
    unknownmusic0xde $5
    sound $2, $8, $0000
    sound $f, $a7, $06a1
    sound $6, $86, $06a2
    sound $a, $74, $06a1
@@ -1312,7 +1312,7 @@ Cry_11_Ch5: ; f3703
 
 Cry_11_Ch6: ; f3722
    unknownmusic0xde $a
    sound $4, $8, $0000
    sound $6, $a7, $0741
    sound $8, $86, $0743
    sound $4, $76, $0741
@@ -1587,7 +1587,7 @@ Cry_0B_Ch5: ; f394b
 
 Cry_0B_Ch6: ; f3976
    unknownmusic0xde $44
    sound $c, $8, $0000
    sound $4, $f1, $0701
    sound $4, $e1, $0782
    sound $4, $d1, $0741
@@ -1670,7 +1670,7 @@ Cry_0D_branch_f3a1a: ; f3a1a
 
 Cry_0D_Ch6: ; f3a39
    unknownmusic0xde $40
    sound $4, $8, $0000
    sound $5, $f2, $0651
    sound $9, $d1, $0661
    sound $5, $e2, $0614
@@ -1738,7 +1738,7 @@ Cry_0A_Ch5: ; f3aba
 
 Cry_0A_Ch6: ; f3ad9
    unknownmusic0xde $5
    sound $3, $8, $0000
    sound $8, $a7, $06a1
    sound $6, $86, $06a3
    sound $3, $74, $06a1
diff --git a/audio/engine.asm b/audio/engine.asm
index b86d919..a995dd2 100644
--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -2773,7 +2773,7 @@ LoadMusicByte:: ; e8d76
 ; e8d80
 
 FrequencyTable: ; e8d80
    dw $0000 ; filler
    dw $f82c
    dw $f89d
    dw $f907
diff --git a/audio/music/battletowertheme.asm b/audio/music/battletowertheme.asm
index a7001d9..4f9c320 100644
--- a/audio/music/battletowertheme.asm
+++ b/audio/music/battletowertheme.asm
@@ -242,7 +242,7 @@ Music_BattleTowerTheme_branch_178970: ; 178970
    note __, 1
    note F_, 4
    note __, 4
    tone $0000
    intensity $b7
    note G_, 2
    octave 4
diff --git a/audio/music/lookkimonogirl.asm b/audio/music/lookkimonogirl.asm
index bbad6dc..a595b8c 100644
--- a/audio/music/lookkimonogirl.asm
+++ b/audio/music/lookkimonogirl.asm
@@ -14,7 +14,7 @@ Music_LookKimonoGirl_Ch1: ; f79c2
    notetype $6, $87
    tone $0001
    callchannel Music_LookKimonoGirl_branch_f7aa8
    tone $0000
 Music_LookKimonoGirl_branch_f79d7: ; f79d7
    notetype $c, $b2
    callchannel Music_LookKimonoGirl_branch_f7a13
diff --git a/audio/music/titlescreen.asm b/audio/music/titlescreen.asm
index d46102b..b70823b 100644
--- a/audio/music/titlescreen.asm
+++ b/audio/music/titlescreen.asm
@@ -490,7 +490,7 @@ Music_TitleScreen_Ch2: ; eb984
    octave 4
    note A_, 4
    stereopanning $ff
    tone $0000
    notetype $c, $b0
    octave 3
    note B_, 6
@@ -775,7 +775,7 @@ Music_TitleScreen_Ch3: ; ebb01
    note __, 1
    stereopanning $ff
    notetype $c, $16
    tone $0000
    octave 4
    note A_, 2
    octave 5
diff --git a/audio/sfx.asm b/audio/sfx.asm
index b063378..820f5ce 100644
--- a/audio/sfx.asm
+++ b/audio/sfx.asm
@@ -151,7 +151,7 @@ Sfx_Save_Ch5: ; f09b6
 
 Sfx_Save_Ch6: ; f09d5
    dutycycle $2
    sound $2, $8, $0000
    sound $2, $a1, $0701
    sound $1, $91, $0601
    sound $1, $91, $0681
@@ -2291,7 +2291,7 @@ Sfx_Sketch_Ch5: ; f12f9
 Sfx_Sketch_branch_f12fd: ; f12fd
    sound $2, $f1, $06e0
    sound $d, $af, $05b0
    sound $4, $0, $0000
    sound $9, $f4, $0718
    loopchannel 3, Sfx_Sketch_branch_f12fd
    soundinput $8
@@ -2490,15 +2490,15 @@ Sfx_Nightmare_Ch5: ; f1420
    soundinput $34
 Sfx_Nightmare_branch_f1424: ; f1424
    sound $3, $ba, $0631
    sound $2, $0, $0000
    sound $3, $f8, $0621
    sound $2, $0, $0000
    sound $3, $f8, $0611
    sound $2, $0, $0000
    sound $3, $e8, $0601
    sound $2, $0, $0000
    sound $3, $e8, $05f1
    sound $2, $0, $0000
    loopchannel 2, Sfx_Nightmare_branch_f1424
    soundinput $8
    endchannel
@@ -2540,11 +2540,11 @@ Sfx_SweetKiss2_Ch5: ; f1482
    dutycycle $0
    soundinput $97
    sound $2, $f4, $0772
    sound $4, $0, $0000
    sound $2, $c4, $0772
    sound $4, $0, $0000
    sound $2, $b4, $0772
    sound $4, $0, $0000
    sound $2, $a1, $0772
    soundinput $8
    endchannel
@@ -2591,7 +2591,7 @@ Sfx_SludgeBomb_Ch5: ; f14d6
    dutycycle $2
    soundinput $c5
    sound $3, $f8, $0581
    sound $1, $0, $0000
    soundinput $cb
    sound $10, $f2, $05d1
    soundinput $8
@@ -2613,9 +2613,9 @@ Sfx_Foresight_Ch5: ; f14f8
    sound $3, $f4, $07b5
    sound $3, $f5, $07c8
    sound $8, $f4, $07da
    sound $2, $0, $0000
    sound $8, $c1, $07da
    sound $2, $0, $0000
    sound $8, $91, $07da
    endchannel
 ; f1515
@@ -2811,7 +2811,7 @@ Sfx_Return_branch_f163c: ; f163c
    sound $8, $f1, $0759
    soundinput $57
    sound $8, $f1, $0759
    sound $10, $0, $0000
    loopchannel 2, Sfx_Return_branch_f163c
    soundinput $8
    endchannel
@@ -2849,7 +2849,7 @@ Sfx_MilkDrink_branch_f1684: ; f1684
    sound $d, $f7, $0290
    soundinput $9e
    sound $4, $c9, $05e1
    sound $2, $0, $0000
    loopchannel 6, Sfx_MilkDrink_branch_f1684
    soundinput $8
    endchannel
@@ -2864,7 +2864,7 @@ Sfx_Present_Ch5: ; f16a2
    soundinput $d6
 Sfx_Present_branch_f16a6: ; f16a6
    sound $2, $f1, $0740
    sound $1, $0, $0000
    loopchannel 3, Sfx_Present_branch_f16a6
    sound $10, $f1, $0780
    soundinput $8
@@ -2882,9 +2882,9 @@ Sfx_MorningSun_branch_f16be: ; f16be
    sound $2, $f1, $07e0
    sound $5, $f2, $07e7
    loopchannel 3, Sfx_MorningSun_branch_f16be
    sound $1, $0, $0000
    sound $8, $c2, $07e7
    sound $1, $0, $0000
    sound $8, $82, $07e7
    endchannel
 ; f16df
@@ -2913,10 +2913,10 @@ Sfx_Encore: ; f16fd
 Sfx_Encore_Ch5: ; f1703
    dutycycle $2
    soundinput $ce
    sound $10, $0, $0000
 Sfx_Encore_branch_f170b: ; f170b
    sound $2, $f8, $0774
    sound $24, $0, $0000
    loopchannel 2, Sfx_Encore_branch_f170b
    soundinput $8
    endchannel
@@ -2966,9 +2966,9 @@ Sfx_BatonPass_Ch5: ; f1752
    soundinput $f7
    sound $20, $f2, $0680
    sound $1, $f1, $0760
    sound $20, $0, $0000
    sound $1, $f1, $0760
    sound $1a, $0, $0000
    sound $1, $f1, $0760
    soundinput $8
    endchannel
@@ -3836,27 +3836,27 @@ Sfx_BallBounce: ; f1b63
 Sfx_BallBounce_Ch5: ; f1b69
    dutycycle $2
    sound $8, $e1, $0740
    sound $17, $0, $0000
    sound $8, $b1, $0740
    sound $17, $0, $0000
    sound $8, $81, $0740
    sound $17, $0, $0000
    sound $8, $51, $0740
    sound $17, $0, $0000
    endchannel
 ; f1b8c
 
 Sfx_BallBounce_Ch6: ; f1b8c
    dutycycle $2
    sound $2, $8, $0000
    sound $8, $b1, $0741
    sound $17, $0, $0000
    sound $8, $81, $0741
    sound $17, $0, $0000
    sound $8, $51, $0741
    sound $17, $0, $0000
    sound $8, $21, $0741
    sound $17, $0, $0000
    endchannel
 ; f1bb3
 
@@ -3916,7 +3916,7 @@ Sfx_GiveTrademon: ; f1c10
 ; f1c13
 
 Sfx_GiveTrademon_Ch5: ; f1c13
    sound $20, $0, $0000
    dutycycle $1
    soundinput $a7
    sound $1b, $f4, $0750
@@ -3936,7 +3936,7 @@ Sfx_GetTrademon: ; f1c3e
 ; f1c41
 
 Sfx_GetTrademon_Ch5: ; f1c41
    sound $20, $0, $0000
    dutycycle $2
    soundinput $bf
    sound $1b, $14, $07bc
@@ -3959,7 +3959,7 @@ Sfx_TrainArrived: ; f1c6c
 
 Sfx_TrainArrived_Ch6: ; f1c75
    tone $0008
    sound $8, $0, $0000
 Sfx_TrainArrived_Ch5: ; f1c7c
    dutycycle $2
    sound $4, $5f, $0691
@@ -4060,7 +4060,7 @@ Sfx_SwitchPokemon_Ch5: ; f1d0f
 
 Sfx_SwitchPokemon_Ch6: ; f1d16
    dutycycle $2
    sound $2, $8, $0000
    sound $8, $b1, $0741
    endchannel
 ; f1d21
@@ -4093,7 +4093,7 @@ Sfx_Tally_Ch5: ; f1d43
 
 Sfx_Tally_Ch6: ; f1d4a
    dutycycle $2
    sound $1, $8, $0000
    sound $4, $a1, $0761
    endchannel
 ; f1d55
@@ -4107,7 +4107,7 @@ Sfx_Transaction_Ch5: ; f1d55
 
 Sfx_Transaction_Ch6: ; f1d60
    dutycycle $2
    sound $1, $8, $0000
    sound $4, $91, $06c1
    sound $18, $a2, $07a1
    endchannel
@@ -4183,7 +4183,7 @@ Sfx_GotSafariBalls_Ch5: ; f1dd4
 Sfx_BootPc_Ch5: ; f1de3
    dutycycle $2
    sound $f, $f2, $07c0
    sound $f, $0, $0000
    sound $3, $a1, $0780
    sound $3, $a1, $0700
    sound $3, $a1, $0740
@@ -4200,16 +4200,16 @@ Sfx_ShutDownPc_Ch5: ; f1e0e
    sound $4, $f0, $0600
    sound $4, $f0, $0400
    sound $4, $f0, $0200
    sound $1, $0, $0000
    endchannel
 ; f1e21
 
 Sfx_ChoosePcOption_Ch5: ; f1e21
    dutycycle $2
    sound $6, $f0, $0700
    sound $4, $0, $0000
    sound $6, $f0, $0700
    sound $1, $0, $0000
    endchannel
 ; f1e34
 
@@ -4227,11 +4227,11 @@ Sfx_EscapeRope_Ch5: ; f1e34
 
 Sfx_PushButton_Ch5: ; f1e4f
    dutycycle $2
    sound $4, $0, $0000
    sound $2, $f1, $0680
    sound $1, $0, $0000
    sound $4, $f1, $0780
    sound $4, $0, $0000
    endchannel
 ; f1e66
 
@@ -4242,7 +4242,7 @@ Sfx_SecondPartOfItemfinder_Ch5: ; f1e66
    soundinput $22
    sound $2, $f1, $0500
    soundinput $8
    sound $1, $0, $0000
    endchannel
 ; f1e7b
 
@@ -4319,18 +4319,18 @@ Sfx_Wrong_Ch5: ; f1f05
    soundinput $5a
    sound $4, $f0, $0500
    soundinput $8
    sound $4, $0, $0000
    sound $f, $f0, $0500
    sound $1, $0, $0000
    endchannel
 ; f1f1c
 
 Sfx_Wrong_Ch6: ; f1f1c
    dutycycle $3
    sound $4, $f0, $0401
    sound $4, $0, $0000
    sound $f, $f0, $0401
    sound $1, $0, $0000
    endchannel
 ; f1f2f
 
@@ -4357,7 +4357,7 @@ Sfx_Strength_Ch8: ; f1f3a
 Sfx_Boat_Ch5: ; f1f53
    dutycycle $2
    sound $f, $f0, $0500
    sound $4, $0, $0000
    sound $f, $f0, $0500
    sound $f, $f0, $0500
    sound $f, $f0, $0500
@@ -4369,7 +4369,7 @@ Sfx_Boat_Ch5: ; f1f53
 Sfx_Boat_Ch6: ; f1f72
    dutycycle $3
    sound $f, $f0, $0482
    sound $4, $0, $0000
    sound $f, $f0, $0482
    sound $f, $f0, $0482
    sound $f, $f0, $0482
@@ -4423,7 +4423,7 @@ Sfx_Shine_Ch5: ; f1fd9
    sound $0, $d2, $0780
    sound $0, $d2, $07c0
    sound $a, $e1, $07e0
    sound $1, $0, $0000
    endchannel
 ; f1ff4
 
@@ -4493,7 +4493,7 @@ Sfx_Call_Ch5: ; f2052
    sound $4, $f7, $07a0
    sound $4, $f7, $07a0
    soundinput $8
    sound $4, $0, $0000
    endchannel
 ; f206f
 
@@ -5483,13 +5483,13 @@ Sfx_HangUp_Ch5: ; f26f1
    dutycycle $2
    sound $4, $b8, $077b
    sound $2, $21, $077b
    sound $10, $0, $0000
 Sfx_HangUp_branch_f26ff: ; f26ff
 Sfx_NoSignal_Ch5: ; f26ff
 Sfx_NoSignal_branch_f26ff: ; f26ff
    dutycycle $2
    sound $14, $e8, $070b
    sound $1c, $0, $0000
    loopchannel 3, Sfx_HangUp_branch_f26ff
    endchannel
 ; f270e
@@ -5526,8 +5526,8 @@ Sfx_Elevator_branch_f2726: ; f2726
 
 Sfx_Elevator_Ch6: ; f274b
 Sfx_Elevator_Ch7: ; f274b
    sound $60, $0, $0000
    sound $53, $0, $0000
    endchannel
 ; f2754
 
diff --git a/audio/sfx_crystal.asm b/audio/sfx_crystal.asm
index 08806a7..7970322 100644
--- a/audio/sfx_crystal.asm
+++ b/audio/sfx_crystal.asm
@@ -84,7 +84,7 @@ Sfx_IntroPichu_Ch5: ; 1798ad
    dutycycle $3
    soundinput $4d
    sound $1, $88, $0770
    sound $3, $0, $0000
    soundinput $17
    sound $2, $88, $0776
    endchannel
diff --git a/audio/trainer_encounters.asm b/audio/trainer_encounters.asm
index de748d2..622ba4a 100644
--- a/audio/trainer_encounters.asm
+++ b/audio/trainer_encounters.asm
@@ -7,7 +7,7 @@ PlayTrainerEncounterMusic:: ; e900a
    ld [MusicFade], a
    ; play nothing for one frame
    push de
    ld de, $0000 ; id: Music_Nothing
    call PlayMusic
    call DelayFrame
    ; play new song
diff --git a/battle/anim_objects.asm b/battle/anim_objects.asm
index 5c4c435..21707f1 100644
--- a/battle/anim_objects.asm
+++ b/battle/anim_objects.asm
@@ -24,7 +24,7 @@ Functioncc9a1: ; cc9a1 (33:49a1)
 
 
 Functioncc9bd: ; cc9bd
    ld hl, $0000
    add hl, bc
    ld [hl], $0
    ret
diff --git a/battle/core.asm b/battle/core.asm
index 6fc9a6f..a0d72da 100644
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -3240,7 +3240,7 @@ MonFaintedAnimation: ; 3d444
 
 
 Function3d490: ; 3d490
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ld c, a
 .asm_3d493
    push bc
@@ -3264,7 +3264,7 @@ Function3d490: ; 3d490
 ; 3d4ae
 
 Function3d4ae: ; 3d4ae
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld c, a
    cp $8
    jr nz, .back
@@ -3646,7 +3646,7 @@ Function3d714: ; 3d714
    push af
    ld a, [CurBattleMon]
    ld [CurPartyMon], a
-   callba Functione538
+   callba CheckCurPartyMonFainted
    pop bc
    ld a, b
    ld [CurPartyMon], a
@@ -9458,7 +9458,7 @@ Function3fc30: ; 3fc30
 Function3fc5b: ; 3fc5b
    ld hl, Sprites
    xor a
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ld b, $6
    ld e, $a8
 .asm_3fc65
@@ -9469,10 +9469,10 @@ Function3fc5b: ; 3fc5b
    inc hl
    ld [hl], e
    inc hl
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld [hli], a
    inc a
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ld a, $1
    ld [hli], a
    ld a, d
@@ -9480,9 +9480,9 @@ Function3fc5b: ; 3fc5b
    ld d, a
    dec c
    jr nz, .asm_3fc69
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    add $3
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ld a, e
    add $8
    ld e, a
diff --git a/battle/effect_command_pointers.asm b/battle/effect_command_pointers.asm
index 073fe40..8248955 100644
--- a/battle/effect_command_pointers.asm
+++ b/battle/effect_command_pointers.asm
@@ -1,5 +1,5 @@
 
    dw $0000 ; padding
 
 BattleCommandPointers: ; 3fd28
    dw BattleCommand01 ; 34084
diff --git a/constants.asm b/constants.asm
index 1c37913..e0a2961 100644
--- a/constants.asm
+++ b/constants.asm
@@ -1,4 +1,3 @@
-
 INCLUDE "macros.asm"
 
 INCLUDE "gbhw.asm"
diff --git a/constants/map_constants.asm b/constants/map_constants.asm
index 1b553c7..7a40a6f 100644
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -517,8 +517,8 @@ const_value SET 1
    const OBJECT_MAP_OBJECT_INDEX
    const OBJECT_SPRITE_TILE
    const OBJECT_03
-   const OBJECT_04
-   const OBJECT_FLAGS
+   const OBJECT_FLAGS1
+   const OBJECT_FLAGS2
    const OBJECT_PALETTE
    const OBJECT_DIRECTION_WALKING
    const OBJECT_FACING
diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm
index 833c843..d333a51 100644
--- a/constants/misc_constants.asm
+++ b/constants/misc_constants.asm
@@ -1,5 +1,4 @@
 NONE EQU 0
-
 PARTY_LENGTH EQU 6
 
 MAX_ITEMS     EQU 20
diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm
index f0fb8d6..ecbe7ad 100644
--- a/constants/sprite_constants.asm
+++ b/constants/sprite_constants.asm
@@ -217,3 +217,6 @@ const_value SET 1
    const SPRITEMOVEFN_1F
    const SPRITEMOVEFN_20
    const SPRITEMOVEFN_21
+   const SPRITEMOVEFN_22
+   const SPRITEMOVEFN_23
+   const SPRITEMOVEFN_24
diff --git a/engine/events.asm b/engine/events.asm
index 961a7f5..e60f08b 100644
--- a/engine/events.asm
+++ b/engine/events.asm
@@ -606,7 +606,7 @@ TryObjectEvent: ; 969b5
 
 .IsObject
    call PlayTalkObject
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    call GetObjectStruct
    ld hl, OBJECT_MAP_OBJECT_INDEX
    add hl, bc
diff --git a/engine/events_2.asm b/engine/events_2.asm
index 966fa7d..42bae51 100644
--- a/engine/events_2.asm
+++ b/engine/events_2.asm
@@ -352,7 +352,7 @@ Function97e08:: ; 97e08
    ld hl, wd6de
    xor a
 .asm_97e0c
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ld a, [hl]
    and a
    jr z, .asm_97e19
@@ -365,7 +365,7 @@ Function97e08:: ; 97e08
 .asm_97e19
    ld de, $0006
    add hl, de
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    inc a
    cp $4
    jr nz, .asm_97e0c
@@ -441,14 +441,14 @@ Function97e5c:: ; 97e5c
 ; 97e72
 
 Function97e72: ; 97e72
    ld hl, $0000
    add hl, bc
    ld [hl], 0
    ret
 ; 97e79
 
 Function97e79: ; 97e79
    ld hl, $0000
    add hl, bc
    ld a, [hl]
    cp 5
@@ -620,7 +620,7 @@ Function97f42: ; 97f42
 .asm_97f47
    push af
 
    ld hl, $0000
    add hl, de
    ld a, [hl]
    and a
diff --git a/engine/map_objects.asm b/engine/map_objects.asm
index d73ebd1..270ad71 100644
--- a/engine/map_objects.asm
+++ b/engine/map_objects.asm
@@ -78,7 +78,7 @@ Function437b: ; 437b
 ; 4386
 
 Function4386: ; 4386
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    res 6, [hl]
    ld a, [XCoord]
@@ -104,7 +104,7 @@ Function4386: ; 4386
    jr .yes
 
 .ok
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    set 6, [hl]
    ld a, [XCoord]
@@ -133,7 +133,7 @@ Function4386: ; 4386
    ret
 
 .ok2
-   ld hl, OBJECT_04
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    bit 1, [hl]
    jr nz, .yes2
@@ -142,7 +142,7 @@ Function4386: ; 4386
    ret
 
 .yes2
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    set 6, [hl]
    and a
@@ -155,7 +155,7 @@ Function43f3: ; 43f3
    ld a, [hl]
    and a
    jr z, .zero
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    bit 5, [hl]
    jr nz, .not_bit5
@@ -165,7 +165,7 @@ Function43f3: ; 43f3
 
 .zero
    call Function47bc
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    bit 5, [hl]
    jr nz, .not_bit5
@@ -190,12 +190,12 @@ Function43f3: ; 43f3
 ; 4427
 
 Function4427: ; 4427
-   ld hl, OBJECT_04
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    bit 0, [hl]
    jr nz, Function44a3
 
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    bit 6, [hl]
    jr nz, Function44a3
@@ -208,7 +208,7 @@ Function4427: ; 4427
 ; 4440
 
 Function4440: ; 4440
-   ld hl, OBJECT_04
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    bit 0, [hl]
    jr nz, Function44a3
@@ -300,7 +300,7 @@ Function44b5: ; 44b5
 ; 44c1
 
 Function44c1: ; 44c1
-   ld hl, OBJECT_04
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    bit 3, [hl]
    jp nz, Function44aa
@@ -324,7 +324,7 @@ Function44c1: ; 44c1
 ; 44e4
 
 Function44e4: ; 44e4
-   ld hl, OBJECT_04
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    bit 3, [hl]
    jp nz, Function44aa
@@ -348,7 +348,7 @@ Function44e4: ; 44e4
 ; 4508
 
 Function4508: ; 4508
-   ld hl, OBJECT_04
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    bit 3, [hl]
    jp nz, Function44aa
@@ -603,7 +603,7 @@ Function462a: ; 462a
 ; 463f
 
 Function463f: ; 463f
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    bit 3, [hl]
    jr z, .ok
@@ -632,13 +632,13 @@ Function4661: ; 4661
    jr c, .reset
 
 .set
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    set 3, [hl]
    ret
 
 .reset
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    res 3, [hl]
    ret
@@ -670,7 +670,7 @@ Function4690: ; 4690
    ld hl, OBJECT_DIRECTION_WALKING
    add hl, bc
    ld [hl], a
-   ld hl, OBJECT_04
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    bit 2, [hl]
    jr nz, .ok
@@ -1098,7 +1098,7 @@ Function48b3: ; 48b3
    ld a, [hl]
    call CheckPitTile
    jr z, .on_pit
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    bit 2, [hl]
    res 2, [hl]
@@ -1192,7 +1192,7 @@ Function48ff: ; 48ff
    and %00001100
    or d
    pop bc
-   jp Function5412
+   jp NormalStep
 
 .standing
    pop bc
@@ -1499,7 +1499,7 @@ Function4af0: ; 4af0
    add hl, bc
    ld [hl], 2
    ld hl, wd4cf
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    cp [hl]
    jr z, .ok
    ld hl, OBJECT_09
@@ -1604,7 +1604,7 @@ Function4b8d: ; 4b8d
    ret nz
    call Function4600
    call Function46a6
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    res 3, [hl]
    call IncrementObjectStructField28
@@ -1648,7 +1648,7 @@ Function4bd2: ; 4bd2
    dec [hl]
    ret nz
    call Function4600
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    res 3, [hl]
    ld hl, wd150
@@ -1723,7 +1723,7 @@ Function4c42: ; 4c42
    ld hl, OBJECT_STEP_DURATION
    add hl, bc
    ld [hl], $10
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    res 3, [hl]
    call IncrementObjectStructField28
@@ -2198,7 +2198,7 @@ Function4ecd: ; 4ecd
    ld b, a
    callba CopyDECoordsToMapObject
    pop bc
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    res 2, [hl]
    call Function4600
@@ -2508,7 +2508,7 @@ Function54b8: ; 54b8
    ret z
    ld a, [wd4cd]
    ld d, a
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    cp d
    ret nz
    ld a, e
@@ -2651,7 +2651,7 @@ Function5565: ; 5565
 
 Function5579: ; 5579
    push bc
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld c, a
    call Function5582
    pop bc
@@ -2663,7 +2663,7 @@ Function5582: ; 5582
    ld a, NUM_OBJECT_STRUCTS
 .loop
    push af
-   ld hl, OBJECT_04
+   ld hl, OBJECT_FLAGS1
    add hl, de
    bit 7, [hl]
    jr z, .next
@@ -2712,7 +2712,7 @@ Function55b9: ; 55b9
    ld [hli], a
    ld a, [de]
    ld [hli], a
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld [hli], a
    push hl
    ld hl, OBJECT_MAP_X
@@ -2737,7 +2737,7 @@ Function55e0:: ; 55e0
    ld bc, ObjectStructs
    xor a
 .loop
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    call GetObjectSprite
    jr z, .ok
    call Function565c
@@ -2747,7 +2747,7 @@ Function55e0:: ; 55e0
    add hl, bc
    ld b, h
    ld c, l
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    inc a
    cp NUM_OBJECT_STRUCTS
    jr nz, .loop
@@ -2801,13 +2801,13 @@ Function5645: ; 5645
    xor a
    ld bc, ObjectStructs
 .loop
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    call Function5680
    ld hl, OBJECT_STRUCT_LENGTH
    add hl, bc
    ld b, h
    ld c, l
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    inc a
    cp NUM_OBJECT_STRUCTS
    jr nz, .loop
@@ -3032,7 +3032,7 @@ Function5781: ; 5781
    ld bc, ObjectStructs
    xor a
 .loop
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    call GetObjectSprite
    jr z, .next
    call Function437b
@@ -3042,7 +3042,7 @@ Function5781: ; 5781
    add hl, bc
    ld b, h
    ld c, l
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    inc a
    cp NUM_OBJECT_STRUCTS
    jr nz, .loop
@@ -3102,7 +3102,7 @@ Function57e2: ; 57e2
    ld a, d
    and $80
    ret z
    ld bc, $0000 ; debug?
    ld hl, OBJECT_FACING
    add hl, bc
    ld a, [hl]
@@ -3137,7 +3137,7 @@ Function5803:: ; 5803
 Function5815: ; 5815
    call Function18de
    ret c
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    ld [wd4cd], a
    ret
 ; 581f
@@ -3166,7 +3166,7 @@ Function582c: ; 582c
    ld hl, OBJECT_09
    add hl, bc
    ld [hl], 0
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    ld [wd4ce], a
    ret
 ; 5847
@@ -3189,7 +3189,7 @@ SetFlagsForMovement_1:: ; 585c
    push bc
    call Function587a
    pop bc
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    res 5, [hl]
    xor a
@@ -3199,7 +3199,7 @@ SetFlagsForMovement_1:: ; 585c
 Function586e: ; 586e
    call Function18de
    ret c
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    set 5, [hl]
    xor a
@@ -3213,7 +3213,7 @@ Function587a: ; 587a
    push af
    call GetObjectSprite
    jr z, .next
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    set 5, [hl]
 
@@ -3245,7 +3245,7 @@ _SetFlagsForMovement_2:: ; 5897
    cp -1
    ret z
    call GetObjectStruct
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    res 5, [hl]
    ret
@@ -3259,7 +3259,7 @@ Function58b9:: ; 58b9
    push af
    call GetObjectSprite
    jr z, .next
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    res 5, [hl]
 
@@ -3279,7 +3279,7 @@ Function58b9:: ; 58b9
 Function58d8: ; 58d8
    call Function18de
    ret c
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    res 5, [hl]
    ret
@@ -3357,7 +3357,7 @@ Function593a: ; 593a
    ret nc
    ld l, a
    ld h, $c4
-   ld de, OBJECT_04
+   ld de, OBJECT_FLAGS1
    ld a, b
    ld c, $a0
 .loop
@@ -3447,7 +3447,7 @@ Function59a4: ; 59a4
 
 ; Define the sprite priority.
    ld e, $10
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    bit 0, [hl]
    jr nz, .add
@@ -3517,7 +3517,7 @@ Function5a0d: ; 5a0d
    or %00001000
 .skip1
 
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    ld e, [hl]
    bit 7, e
diff --git a/engine/movement.asm b/engine/movement.asm
index d3c570c..8a4f09c 100644
--- a/engine/movement.asm
+++ b/engine/movement.asm
@@ -1,120 +1,120 @@
 MovementPointers: ; 5075
-   dw Movement_turn_head_down
-   dw Movement_turn_head_up
-   dw Movement_turn_head_left
-   dw Movement_turn_head_right
-   dw Movement_half_step_down
-   dw Movement_half_step_up
-   dw Movement_half_step_left
-   dw Movement_half_step_right
-   dw Movement_slow_step_down
-   dw Movement_slow_step_up
-   dw Movement_slow_step_left
-   dw Movement_slow_step_right
-   dw Movement_step_down
-   dw Movement_step_up
-   dw Movement_step_left
-   dw Movement_step_right
-   dw Movement_big_step_down
-   dw Movement_big_step_up
-   dw Movement_big_step_left
-   dw Movement_big_step_right
-   dw Movement_slow_slide_step_down
-   dw Movement_slow_slide_step_up
-   dw Movement_slow_slide_step_left
-   dw Movement_slow_slide_step_right
-   dw Movement_slide_step_down
-   dw Movement_slide_step_up
-   dw Movement_slide_step_left
-   dw Movement_slide_step_right
-   dw Movement_fast_slide_step_down
-   dw Movement_fast_slide_step_up
-   dw Movement_fast_slide_step_left
-   dw Movement_fast_slide_step_right
-   dw Movement_turn_away_down
-   dw Movement_turn_away_up
-   dw Movement_turn_away_left
-   dw Movement_turn_away_right
-   dw Movement_turn_in_down
-   dw Movement_turn_in_up
-   dw Movement_turn_in_left
-   dw Movement_turn_in_right
-   dw Movement_turn_waterfall_down
-   dw Movement_turn_waterfall_up
-   dw Movement_turn_waterfall_left
-   dw Movement_turn_waterfall_right
-   dw Movement_slow_jump_step_down
-   dw Movement_slow_jump_step_up
-   dw Movement_slow_jump_step_left
-   dw Movement_slow_jump_step_right
-   dw Movement_jump_step_down
-   dw Movement_jump_step_up
-   dw Movement_jump_step_left
-   dw Movement_jump_step_right
-   dw Movement_fast_jump_step_down
-   dw Movement_fast_jump_step_up
-   dw Movement_fast_jump_step_left
-   dw Movement_fast_jump_step_right
-   dw Function5293
-   dw Function529c
-   dw Movement_remove_fixed_facing
-   dw Movement_fix_facing
-   dw Function52b7
-   dw Movement_hide_person
-   dw Movement_show_person
-   dw Function5226
-   dw Function522a
-   dw Function522e
-   dw Function5232
-   dw Function5236
-   dw Function523a
-   dw Movement_accelerate_last
-   dw Movement_step_sleep
-   dw Movement_step_end
-   dw Function51db
-   dw Movement_remove_person
-   dw Function51b8
-   dw Function5210
-   dw Movement_teleport_from
-   dw Movement_teleport_to
-   dw Movement_skyfall
-   dw Movement_step_wait5
-   dw Function525f
-   dw Function5189
-   dw Function51ab
-   dw Movement_hide_emote
-   dw Movement_show_emote
-   dw Movement_step_shake
-   dw Function5279
-   dw Function5196
-   dw Function516a
-   dw Function513e
+   dw Movement_turn_head_down        ; 00
+   dw Movement_turn_head_up          ; 01
+   dw Movement_turn_head_left        ; 02
+   dw Movement_turn_head_right       ; 03
+   dw Movement_half_step_down        ; 04
+   dw Movement_half_step_up          ; 05
+   dw Movement_half_step_left        ; 06
+   dw Movement_half_step_right       ; 07
+   dw Movement_slow_step_down        ; 08
+   dw Movement_slow_step_up          ; 09
+   dw Movement_slow_step_left        ; 0a
+   dw Movement_slow_step_right       ; 0b
+   dw Movement_step_down             ; 0c
+   dw Movement_step_up               ; 0d
+   dw Movement_step_left             ; 0e
+   dw Movement_step_right            ; 0f
+   dw Movement_big_step_down         ; 10
+   dw Movement_big_step_up           ; 11
+   dw Movement_big_step_left         ; 12
+   dw Movement_big_step_right        ; 13
+   dw Movement_slow_slide_step_down  ; 14
+   dw Movement_slow_slide_step_up    ; 15
+   dw Movement_slow_slide_step_left  ; 16
+   dw Movement_slow_slide_step_right ; 17
+   dw Movement_slide_step_down       ; 18
+   dw Movement_slide_step_up         ; 19
+   dw Movement_slide_step_left       ; 1a
+   dw Movement_slide_step_right      ; 1b
+   dw Movement_fast_slide_step_down  ; 1c
+   dw Movement_fast_slide_step_up    ; 1d
+   dw Movement_fast_slide_step_left  ; 1e
+   dw Movement_fast_slide_step_right ; 1f
+   dw Movement_turn_away_down        ; 20
+   dw Movement_turn_away_up          ; 21
+   dw Movement_turn_away_left        ; 22
+   dw Movement_turn_away_right       ; 23
+   dw Movement_turn_in_down          ; 24
+   dw Movement_turn_in_up            ; 25
+   dw Movement_turn_in_left          ; 26
+   dw Movement_turn_in_right         ; 27
+   dw Movement_turn_waterfall_down   ; 28
+   dw Movement_turn_waterfall_up     ; 29
+   dw Movement_turn_waterfall_left   ; 2a
+   dw Movement_turn_waterfall_right  ; 2b
+   dw Movement_slow_jump_step_down   ; 2c
+   dw Movement_slow_jump_step_up     ; 2d
+   dw Movement_slow_jump_step_left   ; 2e
+   dw Movement_slow_jump_step_right  ; 2f
+   dw Movement_jump_step_down        ; 30
+   dw Movement_jump_step_up          ; 31
+   dw Movement_jump_step_left        ; 32
+   dw Movement_jump_step_right       ; 33
+   dw Movement_fast_jump_step_down   ; 34
+   dw Movement_fast_jump_step_up     ; 35
+   dw Movement_fast_jump_step_left   ; 36
+   dw Movement_fast_jump_step_right  ; 37
+   dw Movement_38                    ; 38
+   dw Movement_39                    ; 39
+   dw Movement_remove_fixed_facing   ; 3a
+   dw Movement_fix_facing            ; 3b
+   dw Movement_3c                    ; 3c
+   dw Movement_hide_person           ; 3d
+   dw Movement_show_person           ; 3e
+   dw Movement_3f                    ; 3f
+   dw Movement_40                    ; 40
+   dw Movement_41                    ; 41
+   dw Movement_42                    ; 42
+   dw Movement_43                    ; 43
+   dw Movement_44                    ; 44
+   dw Movement_accelerate_last       ; 45
+   dw Movement_step_sleep            ; 46
+   dw Movement_step_end              ; 47
+   dw Movement_48                    ; 48
+   dw Movement_remove_person         ; 49
+   dw Movement_4a                    ; 4a
+   dw Movement_4b                    ; 4b
+   dw Movement_teleport_from         ; 4c
+   dw Movement_teleport_to           ; 4d
+   dw Movement_skyfall               ; 4e
+   dw Movement_step_wait5            ; 4f
+   dw Movement_50                    ; 50
+   dw Movement_51                    ; 51
+   dw Movement_52                    ; 52
+   dw Movement_hide_emote            ; 53
+   dw Movement_show_emote            ; 54
+   dw Movement_step_shake            ; 55
+   dw Movement_56                    ; 56
+   dw Movement_57                    ; 57
+   dw Movement_58                    ; 58
+   dw Movement_59                    ; 59
 ; 5129
 
 
 Movement_teleport_from: ; 5129
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $c
    ret
 ; 5130
 
 Movement_teleport_to: ; 5130
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $d
    ret
 ; 5137
 
 Movement_skyfall: ; 5137
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $e
    ret
 ; 513e
 
-Function513e: ; 513e
-   ld hl, $0009
+Movement_59: ; 513e
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $19
    ret
@@ -124,81 +124,81 @@ Movement_step_wait5: ; 5145
    call GetSpriteDirection
    rlca
    rlca
-   ld hl, $000c
+   ld hl, OBJECT_12
    add hl, bc
    ld [hl], a
-   ld hl, $000b
+   ld hl, OBJECT_11
    add hl, bc
    ld [hl], $4
    call GetMovementByte
-   ld hl, $000a
+   ld hl, OBJECT_STEP_DURATION
    add hl, bc
    ld [hl], a
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $3
-   ld hl, $0007
+   ld hl, OBJECT_DIRECTION_WALKING
    add hl, bc
    ld [hl], $ff
    ret
 ; 516a
 
-Function516a: ; 516a
+Movement_58: ; 516a
    call GetSpriteDirection
    rlca
    rlca
-   ld hl, $000c
+   ld hl, OBJECT_12
    add hl, bc
    ld [hl], a
    call GetMovementByte
-   ld hl, $000a
+   ld hl, OBJECT_STEP_DURATION
    add hl, bc
    ld [hl], a
-   ld hl, $0007
+   ld hl, OBJECT_DIRECTION_WALKING
    add hl, bc
    ld [hl], $ff
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $12
    ret
 ; 5189
 
-Function5189: ; 5189
-   ld hl, $000b
+Movement_51: ; 5189
+   ld hl, OBJECT_11
    add hl, bc
    ld [hl], $6
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $10
    ret
 ; 5196
 
-Function5196: ; 5196
+Movement_57: ; 5196
    call GetMovementByte
-   ld hl, $000a
+   ld hl, OBJECT_STEP_DURATION
    add hl, bc
    ld [hl], a
-   ld hl, $000b
+   ld hl, OBJECT_11
    add hl, bc
    ld [hl], $1
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $11
    ret
 ; 51ab
 
-Function51ab: ; 51ab
-   ld hl, $000b
+Movement_52: ; 51ab
+   ld hl, OBJECT_11
    add hl, bc
    ld [hl], $6
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $1
    ret
 ; 51b8
 
-Function51b8: ; 51b8
-   ld hl, $001b
+Movement_4a: ; 51b8
+   ld hl, OBJECT_27
    add hl, bc
    ld [hl], $0
    jp Function5065
@@ -206,33 +206,33 @@ Function51b8: ; 51b8
 
 Movement_step_end: ; 51c1
    call Function4769
-   ld hl, $0003
+   ld hl, OBJECT_03
    add hl, bc
    ld [hl], a
-   ld hl, $001b
+   ld hl, OBJECT_27
    add hl, bc
    ld [hl], $0
    ld hl, VramState
    res 7, [hl]
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $1
    ret
 ; 51db
 
-Function51db: ; 51db
+Movement_48: ; 51db
    call Function4769
-   ld hl, $0003
+   ld hl, OBJECT_03
    add hl, bc
    ld [hl], a
-   ld hl, $001b
+   ld hl, OBJECT_27
    add hl, bc
    ld [hl], $0
    call GetMovementByte
-   ld hl, $000a
+   ld hl, OBJECT_STEP_DURATION
    add hl, bc
    ld [hl], a
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $3
    ld hl, VramState
@@ -243,7 +243,7 @@ Function51db: ; 51db
 Movement_remove_person: ; 51fd
    call Function4357
    ld hl, wd4cd
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    cp [hl]
    jr nz, .asm_520a
    ld [hl], $ff
@@ -254,11 +254,11 @@ Movement_remove_person: ; 51fd
    ret
 ; 5210
 
-Function5210: ; 5210
-   ld hl, $000b
+Movement_4b: ; 5210
+   ld hl, OBJECT_11
    add hl, bc
    ld [hl], $1
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $4
    ld hl, VramState
@@ -270,27 +270,27 @@ Movement_show_person: ; 5222
    ld a, $1
    jr Function5247
 
-Function5226: ; 5226
+Movement_3f: ; 5226
    ld a, $2
    jr Function5247
 
-Function522a: ; 522a
+Movement_40: ; 522a
    ld a, $3
    jr Function5247
 
-Function522e: ; 522e
+Movement_41: ; 522e
    ld a, $4
    jr Function5247
 
-Function5232: ; 5232
+Movement_42: ; 5232
    ld a, $5
    jr Function5247
 
-Function5236: ; 5236
+Movement_43: ; 5236
    ld a, $6
    jr Function5247
 
-Function523a: ; 523a
+Movement_44: ; 523a
    ld a, $7
    jr Function5247
 
@@ -306,92 +306,92 @@ Movement_step_sleep: ; 5242
    jr Function5247
 
 Function5247: ; 5247
-   ld hl, $000a
+   ld hl, OBJECT_STEP_DURATION
    add hl, bc
    ld [hl], a
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $3
-   ld hl, $000b
+   ld hl, OBJECT_11
    add hl, bc
    ld [hl], $1
-   ld hl, $0007
+   ld hl, OBJECT_DIRECTION_WALKING
    add hl, bc
    ld [hl], $ff
    ret
 ; 525f
 
-Function525f: ; 525f
+Movement_50: ; 525f
    ld a, $1
-   ld hl, $000a
+   ld hl, OBJECT_STEP_DURATION
    add hl, bc
    ld [hl], a
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $b
-   ld hl, $000b
+   ld hl, OBJECT_11
    add hl, bc
    ld [hl], $3
-   ld hl, $0007
+   ld hl, OBJECT_DIRECTION_WALKING
    add hl, bc
    ld [hl], $ff
    ret
 ; 5279
 
-Function5279: ; 5279
+Movement_56: ; 5279
    ld a, $18
-   ld hl, $000a
+   ld hl, OBJECT_STEP_DURATION
    add hl, bc
    ld [hl], a
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $3
-   ld hl, $000b
+   ld hl, OBJECT_11
    add hl, bc
    ld [hl], $b
-   ld hl, $0007
+   ld hl, OBJECT_DIRECTION_WALKING
    add hl, bc
    ld [hl], $ff
    ret
 ; 5293
 
-Function5293: ; 5293
-   ld hl, $0004
+Movement_38: ; 5293
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    res 3, [hl]
    jp Function5065
 ; 529c
 
-Function529c: ; 529c
-   ld hl, $0004
+Movement_39: ; 529c
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    set 3, [hl]
    jp Function5065
 ; 52a5
 
 Movement_remove_fixed_facing: ; 52a5
-   ld hl, $0004
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    res 2, [hl]
    jp Function5065
 ; 52ae
 
 Movement_fix_facing: ; 52ae
-   ld hl, $0004
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    set 2, [hl]
    jp Function5065
 ; 52b7
 
-Function52b7: ; 52b7
-   ld hl, $0004
+Movement_3c: ; 52b7
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    res 0, [hl]
    jp Function5065
 ; 52c0
 
 Movement_hide_person: ; 52c0
-   ld hl, $0004
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    set 0, [hl]
    jp Function5065
@@ -417,311 +417,311 @@ Movement_step_shake: ; 52d5
 ; 52de
 
 Movement_turn_head_down: ; 52de
-   ld a, $0
-   jr Function52ee
+   ld a, OW_DOWN
+   jr TurnHead
 
 Movement_turn_head_up: ; 52e2
-   ld a, $4
-   jr Function52ee
+   ld a, OW_UP
+   jr TurnHead
 
 Movement_turn_head_left: ; 52e6
-   ld a, $8
-   jr Function52ee
+   ld a, OW_LEFT
+   jr TurnHead
 
 Movement_turn_head_right: ; 52ea
-   ld a, $c
-   jr Function52ee
+   ld a, OW_RIGHT
+   jr TurnHead
 
-Function52ee: ; 52ee
-   ld hl, $0008
+TurnHead: ; 52ee
+   ld hl, OBJECT_FACING
    add hl, bc
    ld [hl], a
-   ld hl, $000b
+   ld hl, OBJECT_11
    add hl, bc
    ld [hl], $1
-   ld hl, $0007
+   ld hl, OBJECT_DIRECTION_WALKING
    add hl, bc
    ld [hl], $ff
    ret
 ; 5300
 
 Movement_slow_step_down: ; 5300
-   ld a, $0
-   jp Function5412
+   ld a, STEP_SLOW << 2 | DOWN
+   jp NormalStep
 ; 5305
 
 Movement_slow_step_up: ; 5305
-   ld a, $1
-   jp Function5412
+   ld a, STEP_SLOW << 2 | UP
+   jp NormalStep
 ; 530a
 
 Movement_slow_step_left: ; 530a
-   ld a, $2
-   jp Function5412
+   ld a, STEP_SLOW << 2 | LEFT
+   jp NormalStep
 ; 530f
 
 Movement_slow_step_right: ; 530f
-   ld a, $3
-   jp Function5412
+   ld a, STEP_SLOW << 2 | RIGHT
+   jp NormalStep
 ; 5314
 
 Movement_step_down: ; 5314
-   ld a, $4
-   jp Function5412
+   ld a, STEP_WALK << 2 | DOWN
+   jp NormalStep
 ; 5319
 
 Movement_step_up: ; 5319
-   ld a, $5
-   jp Function5412
+   ld a, STEP_WALK << 2 | UP
+   jp NormalStep
 ; 531e
 
 Movement_step_left: ; 531e
-   ld a, $6
-   jp Function5412
+   ld a, STEP_WALK << 2 | LEFT
+   jp NormalStep
 ; 5323
 
 Movement_step_right: ; 5323
-   ld a, $7
-   jp Function5412
+   ld a, STEP_WALK << 2 | RIGHT
+   jp NormalStep
 ; 5328
 
 Movement_big_step_down: ; 5328
-   ld a, $8
-   jp Function5412
+   ld a, STEP_BIKE << 2 | DOWN
+   jp NormalStep
 ; 532d
 
 Movement_big_step_up: ; 532d
-   ld a, $9
-   jp Function5412
+   ld a, STEP_BIKE << 2 | UP
+   jp NormalStep
 ; 5332
 
 Movement_big_step_left: ; 5332
-   ld a, $a
-   jp Function5412
+   ld a, STEP_BIKE << 2 | LEFT
+   jp NormalStep
 ; 5337
 
 Movement_big_step_right: ; 5337
-   ld a, $b
-   jp Function5412
+   ld a, STEP_BIKE << 2 | RIGHT
+   jp NormalStep
 ; 533c
 
 
 Movement_turn_away_down: ; 533c
-   ld a, $0
-   jp Function5446
+   ld a, STEP_SLOW << 2 | DOWN
+   jp TurningStep
 ; 5341
 
 Movement_turn_away_up: ; 5341
-   ld a, $1
-   jp Function5446
+   ld a, STEP_SLOW << 2 | UP
+   jp TurningStep
 ; 5346
 
 Movement_turn_away_left: ; 5346
-   ld a, $2
-   jp Function5446
+   ld a, STEP_SLOW << 2 | LEFT
+   jp TurningStep
 ; 534b
 
 Movement_turn_away_right: ; 534b
-   ld a, $3
-   jp Function5446
+   ld a, STEP_SLOW << 2 | RIGHT
+   jp TurningStep
 ; 5350
 
 Movement_turn_in_down: ; 5350
-   ld a, $4
-   jp Function5446
+   ld a, STEP_WALK << 2 | DOWN
+   jp TurningStep
 ; 5355
 
 Movement_turn_in_up: ; 5355
-   ld a, $5
-   jp Function5446
+   ld a, STEP_WALK << 2 | UP
+   jp TurningStep
 ; 535a
 
 Movement_turn_in_left: ; 535a
-   ld a, $6
-   jp Function5446
+   ld a, STEP_WALK << 2 | LEFT
+   jp TurningStep
 ; 535f
 
 Movement_turn_in_right: ; 535f
-   ld a, $7
-   jp Function5446
+   ld a, STEP_WALK << 2 | RIGHT
+   jp TurningStep
 ; 5364
 
 Movement_turn_waterfall_down: ; 5364
-   ld a, $8
-   jp Function5446
+   ld a, STEP_BIKE << 2 | DOWN
+   jp TurningStep
 ; 5369
 
 Movement_turn_waterfall_up: ; 5369
-   ld a, $9
-   jp Function5446
+   ld a, STEP_BIKE << 2 | UP
+   jp TurningStep
 ; 536e
 
 Movement_turn_waterfall_left: ; 536e
-   ld a, $a
-   jp Function5446
+   ld a, STEP_BIKE << 2 | LEFT
+   jp TurningStep
 ; 5373
 
 Movement_turn_waterfall_right: ; 5373
-   ld a, $b
-   jp Function5446
+   ld a, STEP_BIKE << 2 | RIGHT
+   jp TurningStep
 ; 5378
 
 
 Movement_slow_slide_step_down: ; 5378
-   ld a, $0
-   jp Function5468
+   ld a, STEP_SLOW << 2 | DOWN
+   jp SlideStep
 ; 537d
 
 Movement_slow_slide_step_up: ; 537d
-   ld a, $1
-   jp Function5468
+   ld a, STEP_SLOW << 2 | UP
+   jp SlideStep
 ; 5382
 
 Movement_slow_slide_step_left: ; 5382
-   ld a, $2
-   jp Function5468
+   ld a, STEP_SLOW << 2 | LEFT
+   jp SlideStep
 ; 5387
 
 Movement_slow_slide_step_right: ; 5387
-   ld a, $3
-   jp Function5468
+   ld a, STEP_SLOW << 2 | RIGHT
+   jp SlideStep
 ; 538c
 
 Movement_slide_step_down: ; 538c
-   ld a, $4
-   jp Function5468
+   ld a, STEP_WALK << 2 | DOWN
+   jp SlideStep
 ; 5391
 
 Movement_slide_step_up: ; 5391
-   ld a, $5
-   jp Function5468
+   ld a, STEP_WALK << 2 | UP
+   jp SlideStep
 ; 5396
 
 Movement_slide_step_left: ; 5396
-   ld a, $6
-   jp Function5468
+   ld a, STEP_WALK << 2 | LEFT
+   jp SlideStep
 ; 539b
 
 Movement_slide_step_right: ; 539b
-   ld a, $7
-   jp Function5468
+   ld a, STEP_WALK << 2 | RIGHT
+   jp SlideStep
 ; 53a0
 
 Movement_fast_slide_step_down: ; 53a0
-   ld a, $8
-   jp Function5468
+   ld a, STEP_BIKE << 2 | DOWN
+   jp SlideStep
 ; 53a5
 
 Movement_fast_slide_step_up: ; 53a5
-   ld a, $9
-   jp Function5468
+   ld a, STEP_BIKE << 2 | UP
+   jp SlideStep
 ; 53aa
 
 Movement_fast_slide_step_left: ; 53aa
-   ld a, $a
-   jp Function5468
+   ld a, STEP_BIKE << 2 | LEFT
+   jp SlideStep
 ; 53af
 
 Movement_fast_slide_step_right: ; 53af
-   ld a, $b
-   jp Function5468
+   ld a, STEP_BIKE << 2 | RIGHT
+   jp SlideStep
 ; 53b4
 
 
 Movement_slow_jump_step_down: ; 53b4
-   ld a, $0
-   jp Function548a
+   ld a, STEP_SLOW << 2 | DOWN
+   jp JumpStep
 ; 53b9
 
 Movement_slow_jump_step_up: ; 53b9
-   ld a, $1
-   jp Function548a
+   ld a, STEP_SLOW << 2 | UP
+   jp JumpStep
 ; 53be
 
 Movement_slow_jump_step_left: ; 53be
-   ld a, $2
-   jp Function548a
+   ld a, STEP_SLOW << 2 | LEFT
+   jp JumpStep
 ; 53c3
 
 Movement_slow_jump_step_right: ; 53c3
-   ld a, $3
-   jp Function548a
+   ld a, STEP_SLOW << 2 | RIGHT
+   jp JumpStep
 ; 53c8
 
 Movement_jump_step_down: ; 53c8
-   ld a, $4
-   jp Function548a
+   ld a, STEP_WALK << 2 | DOWN
+   jp JumpStep
 ; 53cd
 
 Movement_jump_step_up: ; 53cd
-   ld a, $5
-   jp Function548a
+   ld a, STEP_WALK << 2 | UP
+   jp JumpStep
 ; 53d2
 
 Movement_jump_step_left: ; 53d2
-   ld a, $6
-   jp Function548a
+   ld a, STEP_WALK << 2 | LEFT
+   jp JumpStep
 ; 53d7
 
 Movement_jump_step_right: ; 53d7
-   ld a, $7
-   jp Function548a
+   ld a, STEP_WALK << 2 | RIGHT
+   jp JumpStep
 ; 53dc
 
 Movement_fast_jump_step_down: ; 53dc
-   ld a, $8
-   jp Function548a
+   ld a, STEP_BIKE << 2 | DOWN
+   jp JumpStep
 ; 53e1
 
 Movement_fast_jump_step_up: ; 53e1
-   ld a, $9
-   jp Function548a
+   ld a, STEP_BIKE << 2 | UP
+   jp JumpStep
 ; 53e6
 
 Movement_fast_jump_step_left: ; 53e6
-   ld a, $a
-   jp Function548a
+   ld a, STEP_BIKE << 2 | LEFT
+   jp JumpStep
 ; 53eb
 
 Movement_fast_jump_step_right: ; 53eb
-   ld a, $b
-   jp Function548a
+   ld a, STEP_BIKE << 2 | RIGHT
+   jp JumpStep
 ; 53f0
 
 
 Movement_half_step_down: ; 53f0
-   ld a, $0
-   jr Function5400
+   ld a, OW_DOWN
+   jr HalfStep
 
 Movement_half_step_up: ; 53f4
-   ld a, $4
-   jr Function5400
+   ld a, OW_UP
+   jr HalfStep
 
 Movement_half_step_left: ; 53f8
-   ld a, $8
-   jr Function5400
+   ld a, OW_LEFT
+   jr HalfStep
 
 Movement_half_step_right: ; 53fc
-   ld a, $c
-   jr Function5400
+   ld a, OW_RIGHT
+   jr HalfStep
 
-Function5400: ; 5400
-   ld hl, $001d
+HalfStep: ; 5400
+   ld hl, OBJECT_29
    add hl, bc
    ld [hl], a
-   ld hl, $000b
+   ld hl, OBJECT_11
    add hl, bc
    ld [hl], $2
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $a
    ret
 ; 5412
 
-Function5412: ; 5412
+NormalStep: ; 5412
    call Function4690
    call Function463f
-   ld hl, $000b
+   ld hl, OBJECT_11
    add hl, bc
    ld [hl], $2
    ld hl, OBJECT_STANDING_TILE
@@ -738,91 +738,91 @@ Function5412: ; 5412
 
 .asm_5430
    ld hl, wd4cf
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    cp [hl]
    jr z, .asm_543f
 
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $2
    ret
 
 .asm_543f
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $6
    ret
 ; 5446
 
-Function5446: ; 5446
+TurningStep: ; 5446
    call Function4690
    call Function463f
-   ld hl, $000b
+   ld hl, OBJECT_11
    add hl, bc
    ld [hl], $4
    ld hl, wd4cf
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    cp [hl]
    jr z, .asm_5461
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $2
    ret
 
 .asm_5461
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $6
    ret
 ; 5468
 
 
-Function5468: ; 5468
+SlideStep: ; 5468
    call Function4690
    call Function463f
-   ld hl, $000b
+   ld hl, OBJECT_11
    add hl, bc
    ld [hl], $1
    ld hl, wd4cf
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    cp [hl]
    jr z, .asm_5483
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $2
    ret
 
 .asm_5483
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $6
    ret
 ; 548a
 
 
-Function548a: ; 548a
+JumpStep: ; 548a
    call Function4690
-   ld hl, $001f
+   ld hl, OBJECT_31
    add hl, bc
    ld [hl], $0
-   ld hl, $0005
+   ld hl, OBJECT_FLAGS2
    add hl, bc
    res 3, [hl]
-   ld hl, $000b
+   ld hl, OBJECT_11
    add hl, bc
    ld [hl], $2
    call Function5529
    ld hl, wd4cf
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    cp [hl]
    jr z, .asm_54b1
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $8
    ret
 
 .asm_54b1
-   ld hl, $0009
+   ld hl, OBJECT_09
    add hl, bc
    ld [hl], $9
    ret
diff --git a/engine/scripting.asm b/engine/scripting.asm
index 2dadafe..3aef651 100644
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -1200,7 +1200,7 @@ ApplyPersonFacing: ; 0x9728b
    call Function1836
    pop bc
    jr c, .not_visible ; 0x9729c $1b
-   ld hl, OBJECT_04
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    bit 2, [hl]
    jr nz, .not_visible ; 0x972a4 $13
@@ -1258,7 +1258,7 @@ Script_appear: ; 0x972dd
    call GetScriptByte
    call GetScriptPerson
    call _CopyObjectStruct
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld b, 0 ; clear
    call ApplyEventActionAppearDisappear
    ret
@@ -1276,7 +1276,7 @@ Script_disappear: ; 0x972ee
    ld a, [hLastTalked]
 .ok
    call DeleteObjectStruct
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld b, 1 ; set
    call ApplyEventActionAppearDisappear
    callba RefreshMapAppearDisappear
@@ -1390,7 +1390,7 @@ Script_loademote: ; 0x97384
    ld a, [ScriptVar]
 .not_var_emote
    ld c, a
-   callba Function1442f
+   callba LoadEmote
    ret
 ; 0x97396
 
@@ -1446,7 +1446,7 @@ Script_earthquake: ; 0x973c7
    call CopyBytes
    call GetScriptByte
    ld [wd003], a
-   and $3f
+   and (1 << 6) - 1
    ld [wd005], a
    ld b, BANK(.script)
    ld de, .script
@@ -2428,10 +2428,10 @@ Script_checkmoney: ; 0x97843
 
    call GetMoneyAccount
    call LoadMoneyAmountToMem
-   callba CheckMoney
+   callba CompareMoney
 ; 0x9784f
 
-CheckMoneyAction: ; 0x9784f
+CompareMoneyAction: ; 0x9784f
    jr c, .two
    jr z, .one
    ld a, 0
@@ -2497,12 +2497,12 @@ Script_checkcoins: ; 0x97895
 
    call LoadCoinAmountToMem
    callba CheckCoins
-   jr CheckMoneyAction
+   jr CompareMoneyAction
 ; 978a0
 
 LoadCoinAmountToMem: ; 978a0
    call GetScriptByte
-   ld [$ffc4], a
+   ld [hMoneyTemp + 1], a
    call GetScriptByte
    ld [hMoneyTemp], a
    ld bc, hMoneyTemp
diff --git a/event/battle_tower.asm b/event/battle_tower.asm
index 04f578f..6865830 100644
--- a/event/battle_tower.asm
+++ b/event/battle_tower.asm
@@ -117,7 +117,7 @@ JumpText_YouCantTakeAnEgg: ; 0x8b256
 ; 0x8b25b
 
 Function8b25b: ; 8b25b
    ld bc, $0000
 .asm_8b25e
    call Function8b26c
    call c, Function8b28e
diff --git a/event/mom.asm b/event/mom.asm
index c3e407b..e1feba8 100644
--- a/event/mom.asm
+++ b/event/mom.asm
@@ -162,7 +162,7 @@ endr
    jr z, .CancelDeposit
    ld de, Money
    ld bc, StringBuffer2
-   callba CheckMoney
+   callba CompareMoney
    jr c, .DontHaveThatMuchToDeposit
    ld hl, StringBuffer2
    ld de, StringBuffer2 + 3
@@ -234,7 +234,7 @@ endr
    call CopyBytes
    ld de, wd851
    ld bc, StringBuffer2
-   callba CheckMoney
+   callba CompareMoney
    jr c, .InsufficientFundsInBank
    ld bc, Money
    ld de, StringBuffer2
diff --git a/gfx/pics/animation.asm b/gfx/pics/animation.asm
index 165cf64..f973c0a 100644
--- a/gfx/pics/animation.asm
+++ b/gfx/pics/animation.asm
@@ -445,7 +445,7 @@ PokeAnim_End: ; d02a8
 Functiond02ae: ; d02ae
    ld c, a
    ld b, $0
    ld hl, $0000
    ld a, [w2_d173]
    call AddNTimes
    ld a, h
diff --git a/home/joypad.asm b/home/joypad.asm
index d5bfc83..450fa28 100644
--- a/home/joypad.asm
+++ b/home/joypad.asm
@@ -356,14 +356,14 @@ JoyTextDelay:: ; a57
 ; a80
 
 Functiona80:: ; a80
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    push af
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    push af
    xor a
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ld a, 6
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
 
 .loop
    push hl
@@ -377,9 +377,9 @@ Functiona80:: ; a80
    jr z, .loop
 
    pop af
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
    pop af
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ret
 ; aa5
 
@@ -459,37 +459,37 @@ Functionb06:: ; b06
    cp b
    pop bc
    jr nz, .asm_b27
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    dec a
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ret nz
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    dec a
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
    ret nz
    ld a, "─"
    ld [hl], a
    ld a, -1
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ld a, 6
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
    ret
 
 .asm_b27
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    and a
    ret z
    dec a
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ret nz
    dec a
-   ld [hConnectionStripLength], a
-   ld a, [hConnectedMapWidth]
+   ld [hMapObjectIndexBuffer1], a
+   ld a, [hMapObjectIndexBuffer2]
    dec a
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
    ret nz
    ld a, $6
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
    ld a, $ee
    ld [hl], a
    ret
diff --git a/home/map.asm b/home/map.asm
index 7f1c83b..9ddb2f8 100644
--- a/home/map.asm
+++ b/home/map.asm
@@ -729,9 +729,9 @@ ChangeMap:: ; 24e4
 
    ld hl, OverworldMap
    ld a, [MapWidth]
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
    add $6
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ld c, a
    ld b, 0
 rept 3
@@ -750,7 +750,7 @@ endr
    ld b, a
 .asm_250c
    push hl
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    ld c, a
 .asm_2510
    ld a, [de]
@@ -759,7 +759,7 @@ endr
    dec c
    jr nz, .asm_2510
    pop hl
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    add l
    ld l, a
    jr nc, .asm_251e
@@ -794,10 +794,10 @@ FillMapConnections:: ; 2524
    ld e, a
    ld a, [NorthConnectionStripLocation + 1]
    ld d, a
-   ld a, [NorthConnectionStripLength]
-   ld [hConnectionStripLength], a
-   ld a, [NorthConnectedMapWidth]
-   ld [hConnectedMapWidth], a
+   ld a, [NorthMapObjectIndexBuffer1]
+   ld [hMapObjectIndexBuffer1], a
+   ld a, [NorthMapObjectIndexBuffer2]
+   ld [hMapObjectIndexBuffer2], a
    call FillNorthConnectionStrip
 
 .South
@@ -817,10 +817,10 @@ FillMapConnections:: ; 2524
    ld e, a
    ld a, [SouthConnectionStripLocation + 1]
    ld d, a
-   ld a, [SouthConnectionStripLength]
-   ld [hConnectionStripLength], a
-   ld a, [SouthConnectedMapWidth]
-   ld [hConnectedMapWidth], a
+   ld a, [SouthMapObjectIndexBuffer1]
+   ld [hMapObjectIndexBuffer1], a
+   ld a, [SouthMapObjectIndexBuffer2]
+   ld [hMapObjectIndexBuffer2], a
    call FillSouthConnectionStrip
 
 .West
@@ -843,7 +843,7 @@ FillMapConnections:: ; 2524
    ld a, [WestConnectionStripLength]
    ld b, a
    ld a, [WestConnectedMapWidth]
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    call FillWestConnectionStrip
 
 .East
@@ -866,7 +866,7 @@ FillMapConnections:: ; 2524
    ld a, [EastConnectionStripLength]
    ld b, a
    ld a, [EastConnectedMapWidth]
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    call FillEastConnectionStrip
 
 .Done
@@ -882,7 +882,7 @@ FillSouthConnectionStrip:: ; 25d3
    push de
 
    push hl
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld b, a
 .x
    ld a, [hli]
@@ -892,7 +892,7 @@ FillSouthConnectionStrip:: ; 25d3
    jr nz, .x
    pop hl
 
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    ld e, a
    ld d, 0
    add hl, de
@@ -917,7 +917,7 @@ FillEastConnectionStrip:: ; 25f6
 .asm_25f6
    ld a, [MapWidth]
    add 6
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
 
    push de
 
@@ -933,13 +933,13 @@ FillEastConnectionStrip:: ; 25f6
    inc de
    pop hl
 
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld e, a
    ld d, 0
    add hl, de
    pop de
 
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    add e
    ld e, a
    jr nc, .asm_2617
@@ -1171,7 +1171,7 @@ CoordinatesEventText:: ; 2702
 
 
 Function2707:: ; 2707
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld e, a
    ld d, $0
    ld hl, wd81e
@@ -1181,7 +1181,7 @@ Function2707:: ; 2707
 ; 2712
 
 Function2712:: ; 2712
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld e, a
    ld d, $0
    ld hl, wd81e
@@ -1191,7 +1191,7 @@ Function2712:: ; 2712
 ; 271e
 
 Function271e:: ; 271e
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld e, a
    ld d, $0
    ld hl, wd81e
@@ -1463,7 +1463,7 @@ SaveScreen:: ; 289d
    ld de, XCoord + 1
    ld a, [MapWidth]
    add $6
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ld a, [wd151]
    and a
    jr z, .asm_28cb
@@ -1477,7 +1477,7 @@ SaveScreen:: ; 289d
 
 .asm_28c0
    ld de, wdcbf
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld c, a
    ld b, $0
    add hl, bc
@@ -1512,7 +1512,7 @@ LoadNeighboringBlockData:: ; 28e3
    ld l, a
    ld a, [MapWidth]
    add $6
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ld de, XCoord + 1
    ld b, $6
    ld c, $5
@@ -1537,7 +1537,7 @@ Function28f7:: ; 28f7
 
 .asm_2908
    pop hl
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld c, a
    ld b, $0
    add hl, bc
@@ -2145,7 +2145,7 @@ GetMapBank:: ; 2c29
 GetAnyMapBank:: ; 2c31
    push hl
    push de
    ld de, $0000
    call GetAnyMapHeaderMember
    ld a, c
    pop de
diff --git a/home/map_objects.asm b/home/map_objects.asm
index ac363b3..74273f3 100644
--- a/home/map_objects.asm
+++ b/home/map_objects.asm
@@ -21,7 +21,7 @@ Function180e:: ; 180e
    ld hl, UsedSprites + 2
    ld c, SPRITE_GFX_LIST_CAPACITY - 1
    ld b, a
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    cp 0
    jr z, .nope
    ld a, b
@@ -234,14 +234,14 @@ GetMapObject:: ; 18d2
 
 Function18de:: ; 18de
 ; Sets carry if the object is not visible on the screen.
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    call GetMapObject
    ld hl, MAPOBJECT_OBJECT_STRUCT_ID
    add hl, bc
    ld a, [hl]
    cp -1
    jr z, .not_visible
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
    call GetObjectStruct
    and a
    ret
@@ -326,7 +326,7 @@ Function18f5:: ; 18f5
 ; 194d
 
 Function194d:: ; 194d
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    call GetMapObject
    call CopyObjectStruct
    ret
@@ -335,16 +335,16 @@ Function194d:: ; 194d
 
 
 _CopyObjectStruct:: ; 1956
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    call Function271e
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    call GetMapObject
    callba CopyObjectStruct
    ret
 ; 1967
 
 Function1967:: ; 1967
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    call GetMapObject
    ld hl, MAPOBJECT_OBJECT_STRUCT_ID
    add hl, bc
@@ -569,12 +569,12 @@ endr
    ld [hl], a
    ld a, [bc]
    inc bc
-   ld hl, OBJECT_04
+   ld hl, OBJECT_FLAGS1
    add hl, de
    ld [hl], a
    ld a, [bc]
    inc bc
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, de
    ld [hl], a
    ld a, [bc]
diff --git a/home/menu.asm b/home/menu.asm
index c4f0ed0..a63f74c 100644
--- a/home/menu.asm
+++ b/home/menu.asm
@@ -62,7 +62,7 @@ MenuDataHeader_0x1d75:: ; 1d75
    db $40 ; tile backup
    db 0, 0 ; start coords
    db 17, 19 ; end coords
    dw $0000
    db 1 ; default option
 ; 1d7d
 
diff --git a/hram.asm b/hram.asm
index 52ff0bf..54e7a90 100644
--- a/hram.asm
+++ b/hram.asm
@@ -32,8 +32,8 @@ hJoyDown           EQU $ffa8
 hJoyLast           EQU $ffa9
 hInMenu            EQU $ffaa
 
-hConnectionStripLength EQU $ffaf
-hConnectedMapWidth EQU $ffb0
+hMapObjectIndexBuffer1 EQU $ffaf
+hMapObjectIndexBuffer2 EQU $ffb0
 
 hPastLeadingZeroes EQU $ffb3
 
diff --git a/lib/mobile/main.asm b/lib/mobile/main.asm
index 8d763da..d70434b 100644
--- a/lib/mobile/main.asm
+++ b/lib/mobile/main.asm
@@ -1,7 +1,7 @@
 ; A library included as part of the Mobile Adapter GB SDK.
 
 INCLUDE "gbhw.asm"
-
 
 SECTION "Main", ROMX
 
@@ -258,7 +258,7 @@ Function110115: ; 110115
    cp $0
    jr z, .asm_11015d
 .asm_110158
    ld hl, $0000
 .asm_11015b
    ld a, e
    ret
@@ -684,14 +684,14 @@ rept 2
    inc de
 endr
    pop hl
    ld bc, $0000
    call Function110007
    ld a, c
    ld [$cb7a], a
    ld [$c86b], a
    push de
    inc de
    ld bc, $0000
    ld a, $20
    call Function11000f
    ld l, e
@@ -1021,7 +1021,7 @@ Function110615: ; 110615
    push de
    inc de
    ld a, b
    ld bc, $0000
    call Function11000f
    ld a, c
    pop hl
@@ -4810,7 +4810,7 @@ Function111f07: ; 111f07 (44:5f07)
 
 Function111f63: ; 111f63
    push de
    ld hl, $0000
    ld c, b
    xor a
    cp b
@@ -5233,7 +5233,7 @@ Function112271: ; 112271
    cp $41
    jr nz, .asm_1122f5
    ld b, $be
    ld de, $0000
 .asm_1122b3
    ld a, [hli]
    add e
@@ -6506,8 +6506,8 @@ Function112aac: ; 112aac
    push af
    ld a, [$c874]
    push af
    ld bc, $0000
    ld de, $0000
 .asm_112abe
    ld a, [hli]
    cp $d
@@ -6584,7 +6584,7 @@ Function112b11: ; 112b11
 .asm_112b36
    push hl
    ld hl, $c872
    ld de, $0000
    ld a, b
    or a
    jr z, .asm_112b49
@@ -8226,7 +8226,7 @@ Function113519: ; 113519
    cp $41
    jr nz, .asm_113586
    ld b, $be
    ld de, $0000
 .asm_113551
    ld a, [hli]
    add e
diff --git a/main.asm b/main.asm
index 592bdf6..3d3f35f 100644
--- a/main.asm
+++ b/main.asm
@@ -71,7 +71,7 @@ Function5ae8: ; 5ae8
    jp Function6219
 ; 5b04
 
-Function5b04: ; 5b04
+; unreferenced
    ret
 ; 5b05
 
@@ -883,7 +883,7 @@ NamePlayer: ; 0x6074
    db "KRIS@@@@@@@"
 ; 60e9
 
-Function60e9: ; 60e9
+Function60e9: ; Unreferenced
    call LoadMenuDataHeader
    call InterpretMenu2
    ld a, [wcfa9]
@@ -1180,7 +1180,7 @@ endr
    dw TitleScreenEnd
 ; 62b7
 
-Function62b7: ; 62b7
+Function62b7: ; Unreferenced
    ld hl, wJumptableIndex
    inc [hl]
    ret
@@ -1384,7 +1384,7 @@ ResetClock: ; 6392
    jp Init
 ; 639b
 
-Function639b: ; 639b
+Function639b: ; unreferenced
    ; If bit 0 or 1 of [wcf65] is set, we don't need to be here.
    ld a, [wcf65]
    and $3
@@ -1420,12 +1420,12 @@ endr
 ; 63ca
 
 Data63ca: ; 63ca
    dw $505c, $0000
    dw $685c, $585c
    dw $685c, $785c
    dw $885c, $785c
    dw $0000, $785c
    dw $0000, $585c
 ; 63e2
 
 Copyright: ; 63e2
@@ -2117,7 +2117,7 @@ Function6ec1: ; 6ec1
    add hl, bc
    bit 5, [hl]
    jr z, .asm_6ed9
-   ld hl, OBJECT_04
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    bit 4, [hl]
    push hl
@@ -2129,7 +2129,7 @@ Function6ec1: ; 6ec1
    jr .asm_6ee9
 
 .asm_6ed9
-   ld hl, OBJECT_04
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    bit 4, [hl]
    jr nz, .asm_6ee9
@@ -2361,7 +2361,7 @@ CheckFacingObject:: ; 6fd9
 .asm_6ff1
    ld bc, ObjectStructs ; redundant
    ld a, 0
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    call Function7041
    ret nc
    ld hl, OBJECT_DIRECTION_WALKING
@@ -2388,8 +2388,8 @@ Function7009: ; 7009
    jr Function7041
 ; 7015
 
-Function7015: ; 7015
-   ld a, [hConnectionStripLength]
+Function7015: ; unreferenced
+   ld a, [hMapObjectIndexBuffer1]
    call GetObjectStruct
    call Function7021
    call Function7041
@@ -2429,10 +2429,10 @@ Function7041: ; 7041
    ld bc, ObjectStructs
    xor a
 .loop
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
    call GetObjectSprite
    jr z, .nope
-   ld hl, OBJECT_04
+   ld hl, OBJECT_FLAGS1
    add hl, bc
    bit 7, [hl]
    jr nz, .nope
@@ -2457,9 +2457,9 @@ Function7041: ; 7041
    jr nz, .ok
 
 .ok2
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld l, a
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    cp l
    jr nz, .setcarry
 
@@ -2474,9 +2474,9 @@ Function7041: ; 7041
    ld a, [hl]
    cp e
    jr nz, .nope
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld l, a
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    cp l
    jr nz, .setcarry
 
@@ -2485,7 +2485,7 @@ Function7041: ; 7041
    add hl, bc
    ld b, h
    ld c, l
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    inc a
    cp NUM_OBJECT_STRUCTS
    jr nz, .loop
@@ -2588,7 +2588,7 @@ Function70ed: ; 70ed
    ret
 ; 7113
 
-Function7113: ; 7113
+Function7113: ; unreferenced
    ld a, [MapX]
    ld d, a
    ld a, [MapY]
@@ -2596,7 +2596,7 @@ Function7113: ; 7113
    ld bc, ObjectStructs
    xor a
 .loop
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
    call GetObjectSprite
    jr z, .asm_7160
    ld hl, OBJECT_03
@@ -2619,7 +2619,7 @@ Function7113: ; 7113
    ld a, [hl]
    cp d
    jr nz, .asm_714e
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    cp $0
    jr z, .asm_7160
    jr .asm_716f
@@ -2642,7 +2642,7 @@ Function7113: ; 7113
    add hl, bc
    ld b, h
    ld c, l
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    inc a
    cp NUM_OBJECT_STRUCTS
    jr nz, .loop
@@ -3003,7 +3003,7 @@ SpecialShuckleNick:
 
 SpecialReturnShuckle: ; 737e
    callba SelectMonFromParty
-   jr c, .asm_73e6
+   jr c, .refused
 
    ld a, [CurPartySpecies]
    cp SHUCKLE
@@ -3015,11 +3015,12 @@ SpecialReturnShuckle: ; 737e
    call AddNTimes
 
 ; OT ID
+; 00518
    ld a, [hli]
-   cp $2
+   cp 00518 / $100
    jr nz, .DontReturn
    ld a, [hl]
-   cp $6
+   cp 00518 % $100
    jr nz, .DontReturn
 
 ; OT
@@ -3032,14 +3033,14 @@ SpecialReturnShuckle: ; 737e
    cp [hl]
    jr nz, .DontReturn
    cp "@"
-   jr z, .asm_73bb
+   jr z, .done
    inc de
    inc hl
    jr .CheckOT
 
-.asm_73bb
-   callba Functione538
-   jr c, .asm_73f1
+.done
+   callba CheckCurPartyMonFainted
+   jr c, .fainted
    ld a, [CurPartyMon]
    ld hl, PartyMon1Happiness
    ld bc, PartyMon2 - PartyMon1
@@ -3047,17 +3048,17 @@ SpecialReturnShuckle: ; 737e
    ld a, [hl]
    cp 150
    ld a, $3
-   jr nc, .asm_73e2
+   jr nc, .HappyToStayWithYou
    xor a
    ld [wd10b], a
    callab Functione039
    ld a, $2
 
-.asm_73e2
+.HappyToStayWithYou
    ld [ScriptVar], a
    ret
 
-.asm_73e6
+.refused
    ld a, $1
    ld [ScriptVar], a
    ret
@@ -3067,7 +3068,7 @@ SpecialReturnShuckle: ; 737e
    ld [ScriptVar], a
    ret
 
-.asm_73f1
+.fainted
    ld a, $4
    ld [ScriptVar], a
    ret
@@ -3219,10 +3220,10 @@ GetSpawnCoord: ; 8029
 .ok
    ld [hl], e
    ld a, $0
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ld bc, MapObjects
    ld a, $0
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
    ld de, ObjectStructs
    call Function8116
    ld a, $0
@@ -3234,7 +3235,7 @@ 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, -4, -4, $0b, 15, 15, -1, -1, 0, 0, 0, $0000, -1
 ; 807e
 
 CopyDECoordsToMapObject:: ; 807e
@@ -3275,7 +3276,7 @@ Function80a1:: ; 80a1
    ld hl, OBJECT_MAP_Y
    add hl, bc
    ld e, [hl]
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld b, a
    call CopyDECoordsToMapObject
    and a
@@ -3320,12 +3321,12 @@ CopyObjectStruct:: ; 80e7
    ld a, 1
    ld de, OBJECT_STRUCT_LENGTH
 .loop
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
    ld a, [hl]
    and a
    jr z, .done
    add hl, de
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    inc a
    cp NUM_OBJECT_STRUCTS
    jr nz, .loop
@@ -3339,7 +3340,7 @@ CopyObjectStruct:: ; 80e7
    ld hl, VramState
    bit 7, [hl]
    ret z
-   ld hl, OBJECT_FLAGS
+   ld hl, OBJECT_FLAGS2
    add hl, de
    set 5, [hl]
    ret
@@ -3352,11 +3353,11 @@ Function8116: ; 8116
 ; 811d
 
 Function811d: ; 811d
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    ld hl, MAPOBJECT_OBJECT_STRUCT_ID
    add hl, bc
    ld [hl], a
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld [wc2f0], a
    ld hl, MAPOBJECT_SPRITE
    add hl, bc
@@ -3404,7 +3405,7 @@ Function8177: ; 8177
    ld bc, MapObjects + OBJECT_LENGTH
    ld a, 1
 .loop
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ld hl, MAPOBJECT_SPRITE
    add hl, bc
    ld a, [hl]
@@ -3445,7 +3446,7 @@ Function8177: ; 8177
    add hl, bc
    ld b, h
    ld c, l
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    inc a
    cp NUM_OBJECTS
    jr nz, .loop
@@ -3489,7 +3490,7 @@ Function81ea: ; 81ea
    ld bc, MapObjects + OBJECT_LENGTH
    ld a, 1
 .loop
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ld hl, MAPOBJECT_SPRITE
    add hl, bc
    ld a, [hl]
@@ -3524,7 +3525,7 @@ Function81ea: ; 81ea
    add hl, bc
    ld b, h
    ld c, l
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    inc a
    cp NUM_OBJECTS
    jr nz, .loop
@@ -3547,7 +3548,7 @@ Function823e: ; 823e
    ld bc, MapObjects + OBJECT_LENGTH
    ld a, 1
 .loop
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ld hl, MAPOBJECT_SPRITE
    add hl, bc
    ld a, [hl]
@@ -3582,7 +3583,7 @@ Function823e: ; 823e
    add hl, bc
    ld b, h
    ld c, l
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    inc a
    cp NUM_OBJECTS
    jr nz, .loop
@@ -3839,7 +3840,7 @@ Function839e:: ; 839e
    ld hl, OBJECT_SPRITE_Y
    add hl, de
    ld [hl], a
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    ld hl, OBJECT_32
    add hl, de
    ld [hl], a
@@ -4920,9 +4921,6 @@ Script_UseFlash: ; 0xc8e6
 UnknownText_0xc8f3: ; 0xc8f3
    text_jump UnknownText_0x1c0609
    start_asm
-; 0xc8f8
-
-Functionc8f8: ; c8f8
    call WaitSFX
    ld de, SFX_FLASH
    call PlaySFX
@@ -5646,7 +5644,7 @@ StrengthFunction: ; cce5
    jr StartToUseStrength
 ; ccf8
 
-AlreadyUsingStrength: ; ccf8
+AlreadyUsingStrength: ; unreferenced
    ld hl, UnknownText_0xcd01
    call MenuTextBoxBackup
    ld a, $80
@@ -5696,7 +5694,7 @@ Script_UsedStrength: ; 0xcd2d
    callasm Functioncd12
    writetext UnknownText_0xcd41
    copybytetovar wd1ef
    cry $0000
    pause 3
    writetext UnknownText_0xcd46
    loadmovesprites
@@ -6068,7 +6066,7 @@ GetFacingObject: ; cf0d
    callba CheckFacingObject
    jr nc, .fail
 
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    call GetObjectStruct
    ld hl, OBJECT_MAP_OBJECT_INDEX
    add hl, bc
@@ -6376,7 +6374,7 @@ UnknownText_0xd0a9: ; 0xd0a9
    db "@"
 ; 0xd0ae
 
-UnknownText_0xd0ae: ; 0xd0ae
+UnknownText_0xd0ae: ; unused
    ; Looks like there's nothing here.
    text_jump UnknownText_0x1c0979
    db "@"
@@ -7873,7 +7871,7 @@ Functiond839: ; d839
    ld a, [Buffer1]
    ld c, a
    ld b, $0
    ld hl, $0000
    ld a, [wd1f1]
    cp $30
    jr nc, .asm_d885
@@ -9851,7 +9849,7 @@ Functione4fe: ; e4fe (3:64fe)
    ret
 ; e512 (3:6512)
 
-Functione512: ; e512
+Functione512: ; unused
    ld a, [PartyCount]
    and a
    jr z, .asm_e51e
@@ -9886,32 +9884,32 @@ UnknownText_0xe533: ; 0xe533
 ; 0xe538
 
 
-Functione538: ; e538
+CheckCurPartyMonFainted: ; e538
    ld hl, PartyMon1HP
    ld de, PartyMon2 - PartyMon1
    ld b, $0
-.asm_e540
+.loop
    ld a, [CurPartyMon]
    cp b
-   jr z, .asm_e54b
+   jr z, .skip
    ld a, [hli]
    or [hl]
-   jr nz, .asm_e557
+   jr nz, .notfainted
    dec hl
 
-.asm_e54b
+.skip
    inc b
    ld a, [PartyCount]
    cp b
-   jr z, .asm_e555
+   jr z, .done
    add hl, de
-   jr .asm_e540
+   jr .loop
 
-.asm_e555
+.done
    scf
    ret
 
-.asm_e557
+.notfainted
    and a
    ret
 ; e559
@@ -9927,7 +9925,7 @@ Functione559: ; e559 (3:6559)
    ret
 ; e56d (3:656d)
 
-Functione56d: ; e56d
+Functione56d: ; unused
    ld a, [PartyCount]
    cp PARTY_LENGTH
    jr nc, .asm_e576
@@ -9987,7 +9985,7 @@ Functione5bb: ; e5bb
    ret
 ; e5d9
 
-Functione5d9: ; e5d9
+Functione5d9: ; unreferenced
    ld a, [wCurBox]
    cp b
    jr z, .asm_e5f1
@@ -10022,7 +10020,7 @@ Functione5d9: ; e5d9
    push hl
    push bc
    ld a, c
    ld bc, $0000
    add hl, bc
    ld bc, $0020
    call AddNTimes
@@ -11159,7 +11157,7 @@ Function11b39: ; 11b39
    jr Function11b23
 ; 11b56
 
-Dakutens: ; 11b56
+Dakutens: ; Dummied out
    db "かが", "きぎ", "くぐ", "けげ", "こご"
    db "さざ", "しじ", "すず", "せぜ", "そぞ"
    db "ただ", "ちぢ", "つづ", "てで", "とど"
@@ -11170,7 +11168,7 @@ Dakutens: ; 11b56
    db "ハバ", "ヒビ", "フブ", "へべ", "ホボ"
    db $ff
 
-Handakutens: ; 11ba7
+Handakutens: ; Dummied out
    db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ"
    db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ"
    db $ff
@@ -11348,7 +11346,7 @@ NameInputLower:
    db "a b c d e f g h i"
    db "j k l m n o p q r"
    db "s t u v w x y z  "
-   db "× ( ) : ; [ ] ", $e1, " ", $e2
+   db "× ( ) : ; [ ] <PK> <MN>"
    db "UPPER  DEL   END "
 BoxNameInputLower:
    db "a b c d e f g h i"
@@ -11357,7 +11355,7 @@ BoxNameInputLower:
    db "é 'd 'l 'm 'r 's 't 'v 0"
    db "1 2 3 4 5 6 7 8 9"
    db "UPPER  DEL   END "
-NameInputUpper:
+NameInputUpper: ; Unreferenced?
    db "A B C D E F G H I"
    db "J K L M N O P Q R"
    db "S T U V W X Y Z  "
@@ -11367,12 +11365,12 @@ BoxNameInputUpper:
    db "A B C D E F G H I"
    db "J K L M N O P Q R"
    db "S T U V W X Y Z  "
-   db "× ( ) : ; [ ] ", $e1, " ", $e2
+   db "× ( ) : ; [ ] <PK> <MN>"
    db "- ? ! ♂ ♀ / . , &"
    db "lower  DEL   END "
 ; 11e5d
 
-GFX_11e5d: ; 11e5d
+GFX_11e5d: ; ????
 INCBIN "gfx/unknown/011e5d.2bpp"
 ; 11e6d
 
@@ -11460,7 +11458,7 @@ Function11f74: ; 11f74 (4:5f74)
    ret
 ; 11f7a (4:5f7a)
 
-String_11f7a: ; 11f7a
+String_11f7a: ; dummied out
    db "メールを かいてね@"
 ; 11f84
 
@@ -11824,7 +11822,7 @@ Function121ac: ; 121ac (4:61ac)
    jp Function11b17
 ; 121b2 (4:61b2)
 
-Function121b2: ; 121b2
+Function121b2: ; unreferenced
    ld a, [wc6d2]
    and a
    ret z
@@ -15056,8 +15054,6 @@ _BugContestJudging: ; 1369d
 BugContest_FirstPlaceText: ; 0x136eb
    text_jump ContestJudging_FirstPlaceText
    start_asm
-; 0x136f0
-
 BugContest_FirstPlace: ; 136f0
    ld de, SFX_1ST_PLACE
    call PlaySFX
@@ -15076,8 +15072,6 @@ BugContest_SecondPlaceText: ; 0x13702
    ; Placing second was @ , who caught a @ !@ @
    text_jump ContestJudging_SecondPlaceText
    start_asm
-; 0x13707
-
 BugContest_SecondPlace: ; 13707
    ld de, SFX_2ND_PLACE
    call PlaySFX
@@ -15672,7 +15666,7 @@ ContestReturnMons: ; 13a31
    ret
 ; 13a47
 
-Function13a47: ; 13a47
+Function13a47: ; unreferenced
    ld hl, PartyCount
    ld a, [hl]
    and a
@@ -15940,7 +15934,7 @@ root    set root+1
 SECTION "bank5", ROMX, BANK[$5]
 
 
-StopRTC: ; 14000
+StopRTC: ; Unreferenced???
    ld a, SRAM_ENABLE
    ld [MBC3SRamEnable], a
    call LatchClock
@@ -16002,7 +15996,7 @@ TimesOfDay: ; 14044
    db -1, MORN
 ; 1404e
 
-Unknown_1404e: ; 1404e
+Unknown_1404e: ; Unreferenced
    db 20, 2
    db 40, 0
    db 60, 1
@@ -16153,7 +16147,7 @@ Function140ed:: ; 140ed
    ret
 ; 1412a
 
-Function1412a: ; 1412a
+GetEmote2bpp: ; 1412a
    ld a, $1
    ld [rVBK], a
    call Get2bpp
@@ -16336,7 +16330,7 @@ Function14215: ; 14215
    bit 6, a
    ret nz
    ld c, $8
-   callba Function1442f
+   callba LoadEmote
    call GetMapPermission
    call CheckOutdoorMap
    ld c, $b
@@ -16344,7 +16338,7 @@ Function14215: ; 14215
    ld c, $a
 
 .asm_1422f
-   callba Function1442f
+   callba LoadEmote
    ret
 ; 14236
 
@@ -16838,27 +16832,33 @@ Function14418: ; 14418
    ret
 ; 1442f
 
-Function1442f:: ; 1442f
+LoadEmote:: ; 1442f
+; Get the address of the pointer to emote c.
    ld a, c
    ld bc, 6
    ld hl, EmotesPointers
    call AddNTimes
+; Load the emote address into de
    ld e, [hl]
    inc hl
    ld d, [hl]
+; load the length of the emote (in tiles) into c
    inc hl
    ld c, [hl]
    swap c
+; load the emote pointer bank into b
    inc hl
    ld b, [hl]
+; load the VRAM destination into hl
    inc hl
    ld a, [hli]
    ld h, [hl]
    ld l, a
+; if the emote has a length of 0, do not proceed (error handling)
    ld a, c
    and a
    ret z
-   call Function1412a
+   call GetEmote2bpp
    ret
 ; 1444d
 
@@ -18962,7 +18962,7 @@ Function15cef: ; 15cef
    ld de, Money
    ld bc, hMoneyTemp
    ld a, $3
-   call CheckMoney
+   call CompareMoney
    jr c, .asm_15d79
    ld hl, NumItems
    call ReceiveItem
@@ -19289,7 +19289,7 @@ Function15ece: ; 15ece
    ret
 ; 15ed3
 
-Function15ed3: ; 15ed3
+Function15ed3: ; unreferenced
    ld hl, UnknownText_0x15edb
    call MenuTextBoxBackup
    and a
@@ -19465,10 +19465,10 @@ Function15fcd: ; 15fcd
 
 GiveMoney:: ; 15fd7
    ld a, $3
-   call Function16053
+   call AddMoney
    ld bc, MaxMoney
    ld a, $3
-   call CheckMoney
+   call CompareMoney
    jr z, .asm_15ff5
    jr c, .asm_15ff5
    ld hl, MaxMoney
@@ -19495,7 +19495,7 @@ MaxMoney: ; 15ff7
 
 TakeMoney:: ; 15ffa
    ld a, 3
-   call CheckMoney2
+   call SubtractMoney
    jr nc, .asm_16009
    xor a
    ld [de], a
@@ -19511,9 +19511,9 @@ TakeMoney:: ; 15ffa
    ret
 ; 1600b
 
-CheckMoney:: ; 1600b
+CompareMoney:: ; 1600b
    ld a, $3
-CheckFunds: ; 1600d
+CompareFunds: ; 1600d
    push hl
    push de
    push bc
@@ -19521,46 +19521,46 @@ CheckFunds: ; 1600d
    ld l, c
    ld c, $0
    ld b, a
-.asm_16015
+.loop1
    dec a
-   jr z, .asm_1601c
+   jr z, .done
    inc de
    inc hl
-   jr .asm_16015
+   jr .loop1
 
-.asm_1601c
+.done
    and a
-.asm_1601d
+.loop2
    ld a, [de]
    sbc [hl]
-   jr z, .asm_16022
+   jr z, .okay
    inc c
 
-.asm_16022
+.okay
    dec de
    dec hl
    dec b
-   jr nz, .asm_1601d
-   jr c, .asm_1602d
+   jr nz, .loop2
+   jr c, .set_carry
    ld a, c
    and a
-   jr .asm_16031
+   jr .skip_carry
 
-.asm_1602d
+.set_carry
    ld a, $1
    and a
    scf
 
-.asm_16031
+.skip_carry
    pop bc
    pop de
    pop hl
    ret
 ; 16035
 
-CheckMoney2: ; 16035
+SubtractMoney: ; 16035
    ld a, 3
-CheckFunds2: ; 16037
+SubtractFunds: ; 16037
    push hl
    push de
    push bc
@@ -19591,32 +19591,32 @@ CheckFunds2: ; 16037
    ret
 ; 16053
 
-Function16053: ; 16053
+AddMoney: ; 16053
    ld a, $3
-Function16055: ; 16055
+AddFunds: ; 16055
    push hl
    push de
    push bc
    ld h, b
    ld l, c
    ld b, a
-.asm_1605b
+.loop1
    dec a
-   jr z, .asm_16062
+   jr z, .done
    inc de
    inc hl
-   jr .asm_1605b
+   jr .loop1
 
-.asm_16062
+.done
    and a
-.asm_16063
+.loop2
    ld a, [de]
    adc [hl]
    ld [de], a
    dec de
    dec hl
    dec b
-   jr nz, .asm_16063
+   jr nz, .loop2
    pop bc
    pop de
    pop hl
@@ -19626,11 +19626,11 @@ Function16055: ; 16055
 GiveCoins:: ; 1606f
    ld a, 2
    ld de, Coins
-   call Function16055
+   call AddFunds
    ld a, 2
    ld bc, .maxcoins
-   call CheckFunds
-   jr c, .asm_1608b
+   call CompareFunds
+   jr c, .not_maxed
    ld hl, .maxcoins
    ld a, [hli]
    ld [de], a
@@ -19640,7 +19640,7 @@ GiveCoins:: ; 1606f
    scf
    ret
 
-.asm_1608b
+.not_maxed
    and a
    ret
 ; 1608d
@@ -19653,7 +19653,7 @@ GiveCoins:: ; 1606f
 TakeCoins:: ; 1608f
    ld a, 2
    ld de, Coins
-   call CheckFunds2
+   call SubtractFunds
    jr nc, .asm_1609f
    xor a
    ld [de], a
@@ -19670,7 +19670,7 @@ TakeCoins:: ; 1608f
 CheckCoins:: ; 160a1
    ld a, $2
    ld de, Coins
-   jp CheckFunds
+   jp CompareFunds
 ; 160a9
 
 
@@ -19788,7 +19788,7 @@ Function16798: ; 16798
    ld a, [CurPartySpecies]
    cp EGG
    jr z, .asm_167e1
-   callba Functione538
+   callba CheckCurPartyMonFainted
    jr c, .asm_167e9
    ld hl, PartyMon1Item
    ld bc, PartyMon2 - PartyMon1
@@ -19868,7 +19868,7 @@ Function16807: ; 16807
 .asm_1682d
    ld de, Money
    ld bc, StringBuffer2 + 2
-   callba CheckMoney
+   callba CompareMoney
    jr c, .asm_16848
    ld a, [PartyCount]
    cp $6
@@ -19913,7 +19913,7 @@ Function1686d: ; 1686d
    ld de, StringBuffer1
    ld bc, $000b
    call CopyBytes
    ld hl, $0000
    ld bc, $0064
    ld a, [StringBuffer2 + 1]
    call AddNTimes
@@ -24143,7 +24143,7 @@ MenuDataHeader_0x24d3f: ; 24d3f
    db $40 ; tile backup
    db 00, 06 ; start coords
    db 17, 19 ; end coords
    dw $0000
    db 1 ; default option
 ; 24d47
 
@@ -24475,7 +24475,7 @@ MenuData_0x24f34: ; 0x24f34
    dn 2, 2 ; rows, columns
    db 6 ; spacing
    dba Strings24f3d
    dbw $09, $0000
 ; 0x24f3d
 
 Strings24f3d: ; 0x24f3d
@@ -27816,7 +27816,7 @@ endr
    jr nz, .asm_28457
    ld hl, wc818
    ld de, wc608 + 10
    ld bc, $0000
 .asm_28464
    inc c
    ld a, c
@@ -32498,7 +32498,7 @@ Function2b995: ; 2b995
 ; 2b9a6
 
 Function2b9a6: ; 2b9a6
    ld de, $0000
    ld c, $3
 .asm_2b9ab
    ld a, [hli]
@@ -36346,7 +36346,7 @@ Function44654:: ; 44654
    jr nz, .asm_44691
 
 .asm_446ab
-   callba Functione538
+   callba CheckCurPartyMonFainted
    ld a, $4
    jr c, .asm_446c1
    xor a
@@ -41789,15 +41789,15 @@ Function4aad3: ; 4aad3
 
    ld c, a
    xor a
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
 .loop
    push bc
    push hl
    ld e, 0
    callba Function8e83f
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    inc a
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
    pop hl
    pop bc
    dec c
@@ -43080,7 +43080,7 @@ ClockResetPassword: ; 4d41e
 .CalculatePassword: ; 4d50f
    ld a, BANK(sPlayerData)
    call GetSRAMBank
    ld de, $0000
    ld hl, sPlayerData + (PlayerID - wPlayerData)
    ld c, $2
    call .ComponentFromNumber
@@ -46574,7 +46574,7 @@ Function503e0: ; 503e0
    ret z
    ld c, a
    xor a
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
 .asm_503ea
    push bc
    push hl
@@ -46582,9 +46582,9 @@ Function503e0: ; 503e0
    ld a, BANK(Function8e83f)
    ld e, $0
    rst FarCall
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    inc a
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
    pop hl
    pop bc
    dec c
@@ -49737,7 +49737,7 @@ GetMovementAction: ; 802ec
 IsNPCInFront: ; 80341
 
    ld a, 0
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ld a, [MapX]
    ld d, a
    ld a, [WalkingX]
@@ -55278,7 +55278,7 @@ rept 3
 endr
    ld e, l
    ld d, h
    ld hl, $0000
    add hl, bc
    ld a, [wc3b4]
    ld [hli], a
@@ -55323,7 +55323,7 @@ endr
 ; 8d036
 
 Function8d036: ; 8d036
    ld hl, $0000
    add hl, bc
    ld [hl], $0
    ret
@@ -55831,7 +55831,7 @@ endr
 
 .four_zero: ; 8d30a
    call Function8d6d8
    ld hl, $0000
    add hl, bc
    ld a, [hl]
    ld hl, $000d
@@ -58143,7 +58143,7 @@ Function8e862: ; 8e862 (23:6862)
 
 Function8e86c: ; 8e86c (23:686c)
    push bc
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    ld hl, PartyMon1Item
    ld bc, PartyMon2 - PartyMon1
    call AddNTimes
@@ -58215,7 +58215,7 @@ Function8e8d5: ; 8e8d5 (23:68d5)
 
 Function8e8df: ; 8e8df (23:68df)
    push bc
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    ld hl, PartyMon1Item
    ld bc, $30
    call AddNTimes
@@ -58243,7 +58243,7 @@ Function8e8df: ; 8e8df (23:68df)
 Function8e908: ; 8e908 (23:6908)
    ld a, [wc3b7]
    push af
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    ld hl, PartySpecies
    ld e, a
    ld d, $0
@@ -58252,7 +58252,7 @@ Function8e908: ; 8e908 (23:6908)
    call ReadMonMenuIcon
    ld [CurIcon], a
    call Function8e9db
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
 rept 4
    add a
 endr
@@ -58269,7 +58269,7 @@ endr
 
 Function8e936: ; 8e936 (23:6936)
    push bc
-   ld a, [hConnectedMapWidth]
+   ld a, [hMapObjectIndexBuffer2]
    ld b, a
    call Function8e94c
    ld a, b
@@ -59977,7 +59977,7 @@ Function9102f: ; 9102f (24:502f)
 
 Function9106a: ; 9106a
    push af
    ld de, $0000
    ld b, $a
    ld a, [PlayerGender]
    bit 0, a
@@ -60006,7 +60006,7 @@ Function9106a: ; 9106a
 
 Function91098: ; 91098
    push af
    ld de, $0000
    ld a, $d
    call Function3b2a
    ld hl, $0003
@@ -61834,7 +61834,7 @@ TownMapMon: ; 91f7b
    callba GetSpeciesIcon
 
 ; Animation/palette
    ld de, $0000
    ld a, $0
    call Function3b2a
 
@@ -61869,7 +61869,7 @@ TownMapPlayerIcon: ; 91fa6
    call Request2bpp
 
 ; Animation/palette
    ld de, $0000
    ld b, $0a ; Male
    ld a, [PlayerGender]
    bit 0, a
@@ -62918,7 +62918,7 @@ Function92c3a: ; 92c3a
    ld hl, $0005
    add hl, bc
    ld [hl], $0
    ld hl, $0000
    add hl, bc
    ld [hl], $1
    ld hl, $000f
@@ -62935,7 +62935,7 @@ Function92c4c: ; 92c4c
    ret
 
 .asm_92c56
    ld hl, $0000
    add hl, bc
    ld a, $0
    ld [hl], a
@@ -63043,7 +63043,7 @@ Function92cd2: ; 92cd2
 .asm_92ce1
    ld a, SFX_STOP_SLOT
    call Function9331e
    ld hl, $0000
    add hl, bc
    inc [hl]
    ld hl, $000a
@@ -63067,7 +63067,7 @@ Function92cf8: ; 92cf8
 .asm_92d02
    ld a, SFX_THROW_BALL
    call Function9331e
    ld hl, $0000
    add hl, bc
    inc [hl]
    ld hl, $0005
@@ -63092,7 +63092,7 @@ Function92d20: ; 92d20
    ld a, SFX_STOP_SLOT
    call Function9331e
    call Function93316
    ld hl, $0000
    add hl, bc
    inc [hl]
    ld hl, $0005
@@ -63126,7 +63126,7 @@ Function92d4f: ; 92d4f
    ret
 
 .asm_92d62
    ld hl, $0000
    add hl, bc
    inc [hl]
    ld hl, $0005
@@ -63138,7 +63138,7 @@ Function92d4f: ; 92d4f
 Function92d6e: ; 92d6e
    xor a
    ld [wcf64], a
    ld hl, $0000
    add hl, bc
    dec [hl]
    ld hl, $0005
@@ -63153,7 +63153,7 @@ Function92d7e: ; 92d7e
    ld a, SFX_STOP_SLOT
    call Function9331e
    call Function93316
    ld hl, $0000
    add hl, bc
    inc [hl]
    ld hl, $0005
@@ -63173,7 +63173,7 @@ Function92da4: ; 92da4
    ld a, [wcf64]
    and a
    ret z
    ld hl, $0000
    add hl, bc
    inc [hl]
    ld a, $2
@@ -63183,7 +63183,7 @@ Function92db3: ; 92db3
    ld a, [wcf64]
    cp $4
    ret c
    ld hl, $0000
    add hl, bc
    inc [hl]
    ld hl, $0005
@@ -63216,7 +63216,7 @@ Function92dca: ; 92dca
    ld hl, $0005
    add hl, bc
    ld [hl], $0
    ld hl, $0000
    add hl, bc
 rept 2
    dec [hl]
@@ -63232,7 +63232,7 @@ Function92df7: ; 92df7
    ld a, SFX_STOP_SLOT
    call Function9331e
    call Function93316
    ld hl, $0000
    add hl, bc
    inc [hl]
    call Function92fc0
@@ -63252,7 +63252,7 @@ Function92e10: ; 92e10
 
 .asm_92e1f
    dec [hl]
    ld hl, $0000
    add hl, bc
    inc [hl]
    ld hl, $000b
@@ -63272,7 +63272,7 @@ Function92e31: ; 92e31
    ret
 
 .asm_92e3b
    ld hl, $0000
    add hl, bc
    dec [hl]
    ld hl, $0005
@@ -63290,7 +63290,7 @@ Function92e47: ; 92e47
    ld hl, $0005
    add hl, bc
    ld [hl], $1
    ld hl, $0000
    add hl, bc
    inc [hl]
    ld hl, $000a
@@ -66424,7 +66424,7 @@ Functione0000: ; e0000
    xor a
    call GetSRAMBank
    ld hl, sScratch
    ld bc, $0000
 .asm_e000b
    push bc
    push hl
@@ -66914,7 +66914,7 @@ Functione0366: ; e0366
 ; e0398
 
 Functione0398: ; e0398
    ld hl, $0000
    ld bc, $0006
    ld a, [wcf64]
    call AddNTimes
@@ -71405,7 +71405,7 @@ Functione2f18: ; e2f18 (38:6f18)
    ld hl, wcb2a
    add [hl]
    ld [CurPartyMon], a
-   callba Functione538
+   callba CheckCurPartyMonFainted
    jr c, .AllOthersFainted
    ld a, [wcb32]
    and a
@@ -77198,12 +77198,12 @@ CheckBalance_MomItem2: ; fd044
    ld a, [hli]
    ld [hMoneyTemp], a
    ld a, [hli]
-   ld [$ffc4], a
+   ld [hMoneyTemp + 1], a
    ld a, [hli]
-   ld [$ffc5], a
+   ld [hMoneyTemp + 2], a
    ld de, wd851
    ld bc, hMoneyTemp
-   callba CheckMoney
+   callba CompareMoney
    jr nc, .have_enough_money
 
 .nope
@@ -77223,7 +77223,7 @@ CheckBalance_MomItem2: ; fd044
 .loop
    ld de, wdc19
    ld bc, wd851
-   callba CheckMoney
+   callba CompareMoney
    jr z, .exact
    jr nc, .less_than
    call Functionfd099
@@ -77246,7 +77246,7 @@ CheckBalance_MomItem2: ; fd044
 Functionfd099: ; fd099
    ld de, wdc19
    ld bc, hMoneyTemp
-   callba Function16053
+   callba AddMoney
    ret
 ; fd0a6
 
@@ -77827,11 +77827,11 @@ Function104263: ; 104263 (41:4263)
    ld c, $0
 
 Function104265: ; 104265 (41:4265)
-; back up the value of c to hConnectionStripLength
-   ld a, [hConnectionStripLength]
+; back up the value of c to hMapObjectIndexBuffer1
+   ld a, [hMapObjectIndexBuffer1]
    push af
    ld a, c
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
 
 ; for each row on the screen
    ld c, SCREEN_HEIGHT
@@ -77847,7 +77847,7 @@ Function104265: ; 104265 (41:4265)
    jr nz, .loop2
 
 ; load the original value of c into hl 12 times
-   ld a, [hConnectionStripLength]
+   ld a, [hMapObjectIndexBuffer1]
    ld b, 12
 .loop3
    ld [hli], a
@@ -77857,9 +77857,9 @@ Function104265: ; 104265 (41:4265)
    dec c
    jr nz, .loop1
 
-; restore the original value of hConnectionStripLength
+; restore the original value of hMapObjectIndexBuffer1
    pop af
-   ld [hConnectionStripLength], a
+   ld [hMapObjectIndexBuffer1], a
    ret
 
 
@@ -80965,7 +80965,7 @@ Function10616e: ; 10616e
    ld hl, $a001
    ld bc, $0080
    xor a
    ld de, $0000
 .asm_106179
    ld a, e
    add [hl]
diff --git a/maps/AzaleaGym.asm b/maps/AzaleaGym.asm
index bd764e9..54ba5cc 100644
--- a/maps/AzaleaGym.asm
+++ b/maps/AzaleaGym.asm
@@ -5,21 +5,21 @@ AzaleaGym_MapScriptHeader:
 .MapCallbacks:
    db 0
 
-BugsyScript_0x18ec1e:
+BugsyScript:
    faceplayer
    loadfont
    checkevent EVENT_BEAT_BUGSY
    iftrue .FightDone
-   writetext UnknownText_0x18ed0b
+   writetext BugsyText_INeverLose
    closetext
    loadmovesprites
    winlosstext UnknownText_0x18edae, $0000
    loadtrainer BUGSY, 1
    startbattle
    returnafterbattle
    setevent EVENT_BEAT_BUGSY
    loadfont
-   writetext UnknownText_0x18ee14
+   writetext Text_ReceivedHiveBadge
    playsound SFX_GET_BADGE
    waitbutton
    setflag ENGINE_HIVEBADGE
@@ -32,18 +32,18 @@ BugsyScript_0x18ec1e:
    setevent EVENT_BEAT_BUG_CATCHER_BENNY
    setevent EVENT_BEAT_BUG_CATCHER_AL
    setevent EVENT_BEAT_BUG_CATCHER_JOSH
-   writetext UnknownText_0x18ee2b
+   writetext BugsyText_HiveBadgeSpeech
    keeptextopen
    verbosegiveitem TM_FURY_CUTTER, 1
    iffalse .NoRoomForFuryCutter
    setevent EVENT_GOT_TM49_FURY_CUTTER
-   writetext UnknownText_0x18eefa
+   writetext BugsyText_FuryCutterSpeech
    closetext
    loadmovesprites
    end
 
 .GotFuryCutter:
-   writetext UnknownText_0x18ef98
+   writetext BugsyText_BugMonsAreDeep
    closetext
 .NoRoomForFuryCutter:
    loadmovesprites
@@ -61,56 +61,56 @@ AzaleaGymTriggerRockets:
    jumpstd radiotowerrockets
 
 TrainerTwinsAmyandmay1:
    trainer EVENT_BEAT_TWINS_AMY_AND_MAY, TWINS, AMYANDMAY1, TwinsAmyandmay1SeenText, TwinsAmyandmay1BeatenText, $0000, .AfterScript
 
 .AfterScript:
    talkaftercancel
    loadfont
-   writetext UnknownText_0x18f1fc
+   writetext TwinsAmyandmay1AfterBattleText
    closetext
    loadmovesprites
    end
 
 TrainerTwinsAmyandmay2:
    trainer EVENT_BEAT_TWINS_AMY_AND_MAY, TWINS, AMYANDMAY2, TwinsAmyandmay2SeenText, TwinsAmyandmay2BeatenText, $0000, .AfterScript
 
 .AfterScript:
    talkaftercancel
    loadfont
-   writetext UnknownText_0x18f269
+   writetext TwinsAmyandmay2AfterBattleText
    closetext
    loadmovesprites
    end
 
-TrainerBug_catcherBug_catcher_benny:
    trainer EVENT_BEAT_BUG_CATCHER_BENNY, BUG_CATCHER, BUG_CATCHER_BENNY, Bug_catcherBug_catcher_bennySeenText, Bug_catcherBug_catcher_bennyBeatenText, $0000, .AfterScript
+TrainerBug_catcherbenny:
 
 .AfterScript:
    talkaftercancel
    loadfont
-   writetext UnknownText_0x18f053
+   writetext Bug_catcherbennyAfterBattleText
    closetext
    loadmovesprites
    end
 
 TrainerBug_catcherAl:
    trainer EVENT_BEAT_BUG_CATCHER_AL, BUG_CATCHER, AL, Bug_catcherAlSeenText, Bug_catcherAlBeatenText, $0000, .AfterScript
 
 .AfterScript:
    talkaftercancel
    loadfont
-   writetext UnknownText_0x18f0d3
+   writetext Bug_catcherAlAfterBattleText
    closetext
    loadmovesprites
    end
 
 TrainerBug_catcherJosh:
    trainer EVENT_BEAT_BUG_CATCHER_JOSH, BUG_CATCHER, JOSH, Bug_catcherJoshSeenText, Bug_catcherJoshBeatenText, $0000, .AfterScript
 
 .AfterScript:
    talkaftercancel
    loadfont
-   writetext UnknownText_0x18f17e
+   writetext Bug_catcherJoshAfterBattleText
    closetext
    loadmovesprites
    end
@@ -140,7 +140,7 @@ AzaleaGymStatue:
    trainertotext BUGSY, 1, $1
    jumpstd gymstatue2
 
-UnknownText_0x18ed0b:
+BugsyText_INeverLose:
    text "I'm BUGSY!"
    line "I never lose when"
 
@@ -158,7 +158,7 @@ UnknownText_0x18ed0b:
    cont "from my studies."
    done
 
-UnknownText_0x18edae:
+BugsyText_ResearchIncomplete:
    text "Whoa, amazing!"
    line "You're an expert"
    cont "on #MON!"
@@ -170,12 +170,12 @@ UnknownText_0x18edae:
    line "this BADGE."
    done
 
-UnknownText_0x18ee14:
+Text_ReceivedHiveBadge:
    text "<PLAYER> received"
    line "HIVEBADGE."
    done
 
-UnknownText_0x18ee2b:
+BugsyText_HiveBadgeSpeech:
    text "Do you know the"
    line "benefits of HIVE-"
    cont "BADGE?"
@@ -196,7 +196,7 @@ UnknownText_0x18ee2b:
    line "you to have this."
    done
 
-UnknownText_0x18eefa:
+BugsyText_FuryCutterSpeech:
    text "TM49 contains"
    line "FURY CUTTER."
 
@@ -212,7 +212,7 @@ UnknownText_0x18eefa:
    line "I discovered it!"
    done
 
-UnknownText_0x18ef98:
+BugsyText_BugMonsAreDeep:
    text "Bug #MON are"
    line "deep. There are"
 
@@ -223,7 +223,7 @@ UnknownText_0x18ef98:
    line "ites thoroughly."
    done
 
-Bug_catcherBug_catcher_bennySeenText:
+Bug_catcherbennySeenText:
    text "Bug #MON evolve"
    line "young. So they get"
 
@@ -231,12 +231,12 @@ Bug_catcherBug_catcher_bennySeenText:
    line "faster."
    done
 
-Bug_catcherBug_catcher_bennyBeatenText:
+Bug_catcherbennyBeatenText:
    text "Just evolving"
    line "isn't enough!"
    done
 
-UnknownText_0x18f053:
+Bug_catcherbennyAfterBattleText:
    text "#MON become"
    line "stronger if they"
    cont "evolve. Really!"
@@ -255,7 +255,7 @@ Bug_catcherAlBeatenText:
    line "tough you are…"
    done
 
-UnknownText_0x18f0d3:
+Bug_catcherAlAfterBattleText:
    text "They're so cool,"
    line "but most girls"
 
@@ -279,7 +279,7 @@ Bug_catcherJoshBeatenText:
    text "Urrgggh!"
    done
 
-UnknownText_0x18f17e:
+Bug_catcherJoshAfterBattleText:
    text "I guess I should"
    line "teach them better"
    cont "moves…"
@@ -296,7 +296,7 @@ TwinsAmyandmay1BeatenText:
    line "double goodness!"
    done
 
-UnknownText_0x18f1fc:
+TwinsAmyandmay1AfterBattleText:
    text "AMY: You're"
    line "really strong!"
    done
@@ -312,7 +312,7 @@ TwinsAmyandmay2BeatenText:
    line "double goodness!"
    done
 
-UnknownText_0x18f269:
+TwinsAmyandmay2AfterBattleText:
    text "MAY: Our bug #-"
    line "MON lost! Oh, what"
    cont "a shame."
@@ -371,10 +371,10 @@ AzaleaGym_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_BUGSY, 7, 5, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugsyScript_0x18ec1e, -1
-   person_event SPRITE_BUG_CATCHER, 3, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBug_catcherBug_catcher_benny, -1
-   person_event SPRITE_BUG_CATCHER, 8, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherAl, -1
-   person_event SPRITE_BUG_CATCHER, 2, 0, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherJosh, -1
-   person_event SPRITE_TWIN, 10, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAmyandmay1, -1
-   person_event SPRITE_TWIN, 10, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAmyandmay2, -1
-   person_event SPRITE_GYM_GUY, 13, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, AzaleaGymGuyScript, -1
+   person_event SPRITE_BUGSY, 7, 5, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugsyScript, -1
+   person_event SPRITE_BUG_CATCHER, 3, 5, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBug_catcherbenny, -1
+   person_event SPRITE_BUG_CATCHER, 8, 8, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherAl, -1
+   person_event SPRITE_BUG_CATCHER, 2, 0, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherJosh, -1
+   person_event SPRITE_TWIN, 10, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAmyandmay1, -1
+   person_event SPRITE_TWIN, 10, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAmyandmay2, -1
+   person_event SPRITE_GYM_GUY, 13, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, AzaleaGymGuyScript, -1
diff --git a/maps/AzaleaMart.asm b/maps/AzaleaMart.asm
index b40acd8..b43f896 100644
--- a/maps/AzaleaMart.asm
+++ b/maps/AzaleaMart.asm
@@ -57,6 +57,6 @@ AzaleaMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18e040, -1
-   person_event SPRITE_COOLTRAINER_M, 5, 2, $7, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x18e047, -1
-   person_event SPRITE_BUG_CATCHER, 2, 7, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x18e04a, -1
+   person_event SPRITE_CLERK, 3, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18e040, -1
+   person_event SPRITE_COOLTRAINER_M, 5, 2, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x18e047, -1
+   person_event SPRITE_BUG_CATCHER, 2, 7, SPRITEMOVEFN_05, 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 f64d8ea..4d1a016 100644
--- a/maps/AzaleaPokeCenter1F.asm
+++ b/maps/AzaleaPokeCenter1F.asm
@@ -3,7 +3,7 @@ AzaleaPokeCenter1F_MapScriptHeader:
    db 1
 
    ; triggers
    dw UnknownScript_0x18db27, $0000
 
 .MapCallbacks:
    db 0
@@ -90,7 +90,7 @@ AzaleaPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18db28, -1
-   person_event SPRITE_GENTLEMAN, 6, 9, $4, 1, 0, -1, -1, 0, 0, 0, GentlemanScript_0x18db2b, -1
-   person_event SPRITE_FISHING_GURU, 1, 6, $6, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x18db2e, -1
-   person_event SPRITE_POKEFAN_F, 4, 1, $2, 2, 1, -1, -1, 0, 0, 0, PokefanFScript_0x18db31, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18db28, -1
+   person_event SPRITE_GENTLEMAN, 6, 9, SPRITEMOVEFN_04, 1, 0, -1, -1, 0, 0, 0, GentlemanScript_0x18db2b, -1
+   person_event SPRITE_FISHING_GURU, 1, 6, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x18db2e, -1
+   person_event SPRITE_POKEFAN_F, 4, 1, SPRITEMOVEFN_02, 2, 1, -1, -1, 0, 0, 0, PokefanFScript_0x18db31, -1
diff --git a/maps/AzaleaTown.asm b/maps/AzaleaTown.asm
index a2016e4..0839586 100644
--- a/maps/AzaleaTown.asm
+++ b/maps/AzaleaTown.asm
@@ -3,9 +3,9 @@ AzaleaTown_MapScriptHeader:
    db 3
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
    dw .Trigger3, $0000
 
 .MapCallbacks:
    db 1
@@ -481,15 +481,15 @@ AzaleaTown_MapEventHeader:
 
 .PersonEvents:
    db 12
-   person_event SPRITE_AZALEA_ROCKET, 9, 31, $6, 0, 0, -1, -1, 0, 0, 0, AzaleaRocketScript_0x1980ab, EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET
-   person_event SPRITE_GRAMPS, 9, 21, $2, 2, 1, -1, -1, 0, 0, 0, GrampsScript_0x1980b1, -1
-   person_event SPRITE_TEACHER, 13, 15, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x1980c5, -1
-   person_event SPRITE_YOUNGSTER, 9, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1980c8, -1
-   person_event SPRITE_SLOWPOKE, 17, 8, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
-   person_event SPRITE_SLOWPOKE, 9, 18, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
-   person_event SPRITE_SLOWPOKE, 9, 29, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
-   person_event SPRITE_SLOWPOKE, 15, 15, $1, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
-   person_event SPRITE_FRUIT_TREE, 2, 8, $1, 0, 0, -1, -1, 0, 0, 0, WhiteApricornTree, -1
-   person_event SPRITE_AZALEA_ROCKET, 10, 11, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_AZALEA_TOWN
-   person_event SPRITE_AZALEA_ROCKET, 16, 10, $6, 0, 0, -1, -1, 0, 0, 0, AzaleaRocketScript_0x1980ae, EVENT_SLOWPOKE_WELL_ROCKETS
-   person_event SPRITE_KURT_OUTSIDE, 5, 6, $8, 0, 0, -1, -1, 0, 0, 0, KurtOutsideScript_0x19810c, EVENT_AZALEA_TOWN_KURT
+   person_event SPRITE_AZALEA_ROCKET, 9, 31, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, AzaleaRocketScript_0x1980ab, EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET
+   person_event SPRITE_GRAMPS, 9, 21, SPRITEMOVEFN_02, 2, 1, -1, -1, 0, 0, 0, GrampsScript_0x1980b1, -1
+   person_event SPRITE_TEACHER, 13, 15, SPRITEMOVEFN_04, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x1980c5, -1
+   person_event SPRITE_YOUNGSTER, 9, 7, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1980c8, -1
+   person_event SPRITE_SLOWPOKE, 17, 8, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
+   person_event SPRITE_SLOWPOKE, 9, 18, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
+   person_event SPRITE_SLOWPOKE, 9, 29, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
+   person_event SPRITE_SLOWPOKE, 15, 15, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, SlowpokeScript_0x1980cb, EVENT_AZALEA_TOWN_SLOWPOKES
+   person_event SPRITE_FRUIT_TREE, 2, 8, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, WhiteApricornTree, -1
+   person_event SPRITE_AZALEA_ROCKET, 10, 11, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_AZALEA_TOWN
+   person_event SPRITE_AZALEA_ROCKET, 16, 10, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, AzaleaRocketScript_0x1980ae, EVENT_SLOWPOKE_WELL_ROCKETS
+   person_event SPRITE_KURT_OUTSIDE, 5, 6, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, KurtOutsideScript_0x19810c, EVENT_AZALEA_TOWN_KURT
diff --git a/maps/BattleTower1F.asm b/maps/BattleTower1F.asm
index 53b6b87..44b2264 100644
--- a/maps/BattleTower1F.asm
+++ b/maps/BattleTower1F.asm
@@ -3,8 +3,8 @@ BattleTower1F_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x9e39d, $0000
    dw UnknownScript_0x9e3d3, $0000
 
 .MapCallbacks:
    db 0
@@ -810,8 +810,8 @@ BattleTower1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_RECEPTIONIST, 6, 7, $6, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x9e3e2, -1
-   person_event SPRITE_YOUNGSTER, 9, 14, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, YoungsterScript_0x9e55d, -1
-   person_event SPRITE_COOLTRAINER_F, 9, 4, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x9e568, -1
-   person_event SPRITE_BUG_CATCHER, 3, 1, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BugCatcherScript_0x9e56b, -1
-   person_event SPRITE_GRANNY, 3, 14, $4, 1, 0, -1, -1, 0, 0, 0, GrannyScript_0x9e56e, -1
+   person_event SPRITE_RECEPTIONIST, 6, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x9e3e2, -1
+   person_event SPRITE_YOUNGSTER, 9, 14, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, YoungsterScript_0x9e55d, -1
+   person_event SPRITE_COOLTRAINER_F, 9, 4, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x9e568, -1
+   person_event SPRITE_BUG_CATCHER, 3, 1, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BugCatcherScript_0x9e56b, -1
+   person_event SPRITE_GRANNY, 3, 14, SPRITEMOVEFN_04, 1, 0, -1, -1, 0, 0, 0, GrannyScript_0x9e56e, -1
diff --git a/maps/BattleTowerBattleRoom.asm b/maps/BattleTowerBattleRoom.asm
index 9bc80b1..7f704e8 100644
--- a/maps/BattleTowerBattleRoom.asm
+++ b/maps/BattleTowerBattleRoom.asm
@@ -3,8 +3,8 @@ BattleTowerBattleRoom_MapScriptHeader:
    db 2
 
    ; triggers
    dw Script_EnterBattleRoom, $0000
    dw UnknownScript_0x9f420, $0000
 
 .MapCallbacks:
    db 0
@@ -155,5 +155,5 @@ BattleTowerBattleRoom_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_YOUNGSTER, 0, 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_BATTLE_TOWER_BATTLE_ROOM_YOUNGSTER
-   person_event SPRITE_RECEPTIONIST, 6, 1, $9, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, -1
+   person_event SPRITE_YOUNGSTER, 0, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_BATTLE_TOWER_BATTLE_ROOM_YOUNGSTER
+   person_event SPRITE_RECEPTIONIST, 6, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, -1
diff --git a/maps/BattleTowerElevator.asm b/maps/BattleTowerElevator.asm
index abfd137..5ef5899 100644
--- a/maps/BattleTowerElevator.asm
+++ b/maps/BattleTowerElevator.asm
@@ -3,8 +3,8 @@ BattleTowerElevator_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x9f562, $0000
    dw UnknownScript_0x9f567, $0000
 
 .MapCallbacks:
    db 0
@@ -60,4 +60,4 @@ BattleTowerElevator_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_RECEPTIONIST, 2, 1, $9, 0, 0, -1, -1, 0, 0, 0, MovementData_0x9f58f, -1
+   person_event SPRITE_RECEPTIONIST, 2, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, MovementData_0x9f58f, -1
diff --git a/maps/BattleTowerHallway.asm b/maps/BattleTowerHallway.asm
index 179ec15..9533a4b 100644
--- a/maps/BattleTowerHallway.asm
+++ b/maps/BattleTowerHallway.asm
@@ -3,8 +3,8 @@ BattleTowerHallway_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x9f5bb, $0000
    dw UnknownScript_0x9f5c0, $0000
 
 .MapCallbacks:
    db 0
@@ -98,4 +98,4 @@ BattleTowerHallway_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_RECEPTIONIST, 2, 11, $6, 0, 0, -1, -1, 0, 0, 0, BattleTowerHallway_MapEventHeader, -1
+   person_event SPRITE_RECEPTIONIST, 2, 11, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, BattleTowerHallway_MapEventHeader, -1
diff --git a/maps/BattleTowerOutside.asm b/maps/BattleTowerOutside.asm
index 43ee41e..72030b5 100644
--- a/maps/BattleTowerOutside.asm
+++ b/maps/BattleTowerOutside.asm
@@ -142,7 +142,7 @@ BattleTowerOutside_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_STANDING_YOUNGSTER, 12, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, StandingYoungsterScript_0x9f85f, -1
-   person_event SPRITE_BUENA, 11, 13, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BuenaScript_0x9f862, -1
-   person_event SPRITE_SAILOR, 18, 12, $5, 0, 1, -1, -1, 0, 0, 0, SailorScript_0x9f865, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
-   person_event SPRITE_LASS, 24, 12, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, -1
+   person_event SPRITE_STANDING_YOUNGSTER, 12, 6, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, StandingYoungsterScript_0x9f85f, -1
+   person_event SPRITE_BUENA, 11, 13, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BuenaScript_0x9f862, -1
+   person_event SPRITE_SAILOR, 18, 12, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, SailorScript_0x9f865, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
+   person_event SPRITE_LASS, 24, 12, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, -1
diff --git a/maps/BillsHouse.asm b/maps/BillsHouse.asm
index 3372d84..cdf3d67 100644
--- a/maps/BillsHouse.asm
+++ b/maps/BillsHouse.asm
@@ -367,4 +367,4 @@ BillsHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_GRAMPS, 3, 2, $7, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x189538, -1
+   person_event SPRITE_GRAMPS, 3, 2, SPRITEMOVEFN_07, 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 9e2b246..4f328d3 100644
--- a/maps/BlackthornCity.asm
+++ b/maps/BlackthornCity.asm
@@ -333,12 +333,12 @@ BlackthornCity_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_SUPER_NERD, 12, 18, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a46e8, EVENT_BLACKTHORN_CITY_SUPER_NERD_BLOCKS_GYM
-   person_event SPRITE_SUPER_NERD, 12, 19, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a46e8, EVENT_BLACKTHORN_CITY_SUPER_NERD_DOES_NOT_BLOCK_GYM
-   person_event SPRITE_GRAMPS, 2, 20, $6, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a4708, EVENT_BLACKTHORN_CITY_GRAMPS_BLOCKS_DRAGONS_DEN
-   person_event SPRITE_GRAMPS, 2, 21, $8, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a470b, EVENT_BLACKTHORN_CITY_GRAMPS_NOT_BLOCKING_DRAGONS_DEN
-   person_event SPRITE_BLACK_BELT, 31, 24, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x1a470e, -1
-   person_event SPRITE_COOLTRAINER_F, 25, 9, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x1a4722, -1
-   person_event SPRITE_YOUNGSTER, 15, 13, $5, 0, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1a4725, -1
-   person_event SPRITE_YOUNGSTER, 20, 22, $6, 0, 0, -1, -1, 0, 0, 0, SantosScript, EVENT_BLACKTHORN_CITY_SANTOS_OF_SATURDAY
-   person_event SPRITE_COOLTRAINER_F, 19, 35, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x1a4728, -1
+   person_event SPRITE_SUPER_NERD, 12, 18, SPRITEMOVEFN_06, 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, SPRITEMOVEFN_06, 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, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a4708, EVENT_BLACKTHORN_CITY_GRAMPS_BLOCKS_DRAGONS_DEN
+   person_event SPRITE_GRAMPS, 2, 21, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a470b, EVENT_BLACKTHORN_CITY_GRAMPS_NOT_BLOCKING_DRAGONS_DEN
+   person_event SPRITE_BLACK_BELT, 31, 24, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x1a470e, -1
+   person_event SPRITE_COOLTRAINER_F, 25, 9, SPRITEMOVEFN_05, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x1a4722, -1
+   person_event SPRITE_YOUNGSTER, 15, 13, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1a4725, -1
+   person_event SPRITE_YOUNGSTER, 20, 22, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, SantosScript, EVENT_BLACKTHORN_CITY_SANTOS_OF_SATURDAY
+   person_event SPRITE_COOLTRAINER_F, 19, 35, SPRITEMOVEFN_07, 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 2e0749c..3fcb64a 100644
--- a/maps/BlackthornDodrioTradeHouse.asm
+++ b/maps/BlackthornDodrioTradeHouse.asm
@@ -35,4 +35,4 @@ BlackthornDodrioTradeHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_LASS, 3, 2, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, Emy, -1
+   person_event SPRITE_LASS, 3, 2, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, Emy, -1
diff --git a/maps/BlackthornDragonSpeechHouse.asm b/maps/BlackthornDragonSpeechHouse.asm
index 3a50fd9..c42170a 100644
--- a/maps/BlackthornDragonSpeechHouse.asm
+++ b/maps/BlackthornDragonSpeechHouse.asm
@@ -58,5 +58,5 @@ BlackthornDragonSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_GRANNY, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x195949, -1
-   person_event SPRITE_EKANS, 5, 5, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, EkansScript_0x19594c, -1
+   person_event SPRITE_GRANNY, 3, 2, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x195949, -1
+   person_event SPRITE_EKANS, 5, 5, SPRITEMOVEFN_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 1ca6831..673d3c0 100644
--- a/maps/BlackthornGym1F.asm
+++ b/maps/BlackthornGym1F.asm
@@ -33,7 +33,7 @@ ClairScript_0x194e24:
    writetext UnknownText_0x194efa
    closetext
    loadmovesprites
    winlosstext UnknownText_0x194fd6, $0000
    loadtrainer CLAIR, 1
    startbattle
    returnafterbattle
@@ -87,7 +87,7 @@ UnknownScript_0x194e94:
    end
 
 TrainerCooltrainermPaul:
    trainer EVENT_BEAT_COOLTRAINERM_PAUL, COOLTRAINERM, PAUL, CooltrainermPaulSeenText, CooltrainermPaulBeatenText, $0000, CooltrainermPaulScript
 
 CooltrainermPaulScript:
    talkaftercancel
@@ -98,7 +98,7 @@ CooltrainermPaulScript:
    end
 
 TrainerCooltrainermMike:
    trainer EVENT_BEAT_COOLTRAINERM_MIKE, COOLTRAINERM, MIKE, CooltrainermMikeSeenText, CooltrainermMikeBeatenText, $0000, CooltrainermMikeScript
 
 CooltrainermMikeScript:
    talkaftercancel
@@ -109,7 +109,7 @@ CooltrainermMikeScript:
    end
 
 TrainerCooltrainerfLola:
    trainer EVENT_BEAT_COOLTRAINERF_LOLA, COOLTRAINERF, LOLA, CooltrainerfLolaSeenText, CooltrainerfLolaBeatenText, $0000, CooltrainerfLolaScript
 
 CooltrainerfLolaScript:
    talkaftercancel
@@ -404,8 +404,8 @@ BlackthornGym1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_CLAIR, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClairScript_0x194e24, -1
-   person_event SPRITE_COOLTRAINER_M, 6, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermMike, -1
-   person_event SPRITE_COOLTRAINER_M, 14, 1, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermPaul, -1
-   person_event SPRITE_COOLTRAINER_F, 2, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfLola, -1
-   person_event SPRITE_GYM_GUY, 15, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BlackthornGymGuyScript, -1
+   person_event SPRITE_CLAIR, 3, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClairScript_0x194e24, -1
+   person_event SPRITE_COOLTRAINER_M, 6, 6, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermMike, -1
+   person_event SPRITE_COOLTRAINER_M, 14, 1, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermPaul, -1
+   person_event SPRITE_COOLTRAINER_F, 2, 9, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfLola, -1
+   person_event SPRITE_GYM_GUY, 15, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BlackthornGymGuyScript, -1
diff --git a/maps/BlackthornGym2F.asm b/maps/BlackthornGym2F.asm
index 50a86d5..880aae7 100644
--- a/maps/BlackthornGym2F.asm
+++ b/maps/BlackthornGym2F.asm
@@ -59,7 +59,7 @@ BlackthornGymBoulder:
    jumpstd strengthboulder
 
 TrainerCooltrainermCody:
    trainer EVENT_BEAT_COOLTRAINERM_CODY, COOLTRAINERM, CODY, CooltrainermCodySeenText, CooltrainermCodyBeatenText, $0000, CooltrainermCodyScript
 
 CooltrainermCodyScript:
    talkaftercancel
@@ -70,7 +70,7 @@ CooltrainermCodyScript:
    end
 
 TrainerCooltrainerfFran:
    trainer EVENT_BEAT_COOLTRAINERF_FRAN, COOLTRAINERF, FRAN, CooltrainerfFranSeenText, CooltrainerfFranBeatenText, $0000, CooltrainerfFranScript
 
 CooltrainerfFranScript:
    talkaftercancel
@@ -145,11 +145,11 @@ BlackthornGym2F_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_COOLTRAINER_M, 1, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainermCody, -1
-   person_event SPRITE_COOLTRAINER_F, 11, 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfFran, -1
-   person_event SPRITE_BOULDER, 2, 8, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_1
-   person_event SPRITE_BOULDER, 3, 2, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_2
-   person_event SPRITE_BOULDER, 16, 6, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_3
-   person_event SPRITE_BOULDER, 3, 3, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
-   person_event SPRITE_BOULDER, 1, 6, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
-   person_event SPRITE_BOULDER, 14, 8, $19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
+   person_event SPRITE_COOLTRAINER_M, 1, 4, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainermCody, -1
+   person_event SPRITE_COOLTRAINER_F, 11, 4, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfFran, -1
+   person_event SPRITE_BOULDER, 2, 8, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_1
+   person_event SPRITE_BOULDER, 3, 2, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_2
+   person_event SPRITE_BOULDER, 16, 6, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, EVENT_BOULDER_IN_BLACKTHORN_GYM_3
+   person_event SPRITE_BOULDER, 3, 3, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
+   person_event SPRITE_BOULDER, 1, 6, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
+   person_event SPRITE_BOULDER, 14, 8, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, BlackthornGymBoulder, -1
diff --git a/maps/BlackthornMart.asm b/maps/BlackthornMart.asm
index f39b1f4..35ba57a 100644
--- a/maps/BlackthornMart.asm
+++ b/maps/BlackthornMart.asm
@@ -58,6 +58,6 @@ BlackthornMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x195a5d, -1
-   person_event SPRITE_COOLTRAINER_M, 6, 7, $5, 0, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x195a64, -1
-   person_event SPRITE_BLACK_BELT, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BlackBeltScript_0x195a67, -1
+   person_event SPRITE_CLERK, 3, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x195a5d, -1
+   person_event SPRITE_COOLTRAINER_M, 6, 7, SPRITEMOVEFN_05, 0, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x195a64, -1
+   person_event SPRITE_BLACK_BELT, 2, 5, SPRITEMOVEFN_06, 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 0c441b4..68078bd 100644
--- a/maps/BlackthornPokeCenter1F.asm
+++ b/maps/BlackthornPokeCenter1F.asm
@@ -61,7 +61,7 @@ BlackthornPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x195b79, -1
-   person_event SPRITE_GENTLEMAN, 3, 5, $6, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x195b7c, -1
-   person_event SPRITE_TWIN, 4, 1, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x195b7f, -1
-   person_event SPRITE_COOLTRAINER_M, 6, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x195b82, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x195b79, -1
+   person_event SPRITE_GENTLEMAN, 3, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x195b7c, -1
+   person_event SPRITE_TWIN, 4, 1, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x195b7f, -1
+   person_event SPRITE_COOLTRAINER_M, 6, 7, SPRITEMOVEFN_05, 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 40ff945..79b7a8e 100644
--- a/maps/BluesHouse.asm
+++ b/maps/BluesHouse.asm
@@ -158,4 +158,4 @@ BluesHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_DAISY, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, DaisyScript_0x19b0d0, -1
+   person_event SPRITE_DAISY, 3, 2, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, DaisyScript_0x19b0d0, -1
diff --git a/maps/BrunosRoom.asm b/maps/BrunosRoom.asm
index d01c549..37f0a63 100644
--- a/maps/BrunosRoom.asm
+++ b/maps/BrunosRoom.asm
@@ -3,8 +3,8 @@ BrunosRoom_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x180993, $0000
    dw UnknownScript_0x180997, $0000
 
 .MapCallbacks:
    db 1
@@ -52,7 +52,7 @@ BrunoScript_0x1809c5:
    writetext UnknownText_0x1809fe
    closetext
    loadmovesprites
    winlosstext UnknownText_0x180b23, $0000
    loadtrainer BRUNO, 1
    startbattle
    returnafterbattle
@@ -145,4 +145,4 @@ BrunosRoom_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_BRUNO, 7, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BrunoScript_0x1809c5, -1
+   person_event SPRITE_BRUNO, 7, 5, SPRITEMOVEFN_06, 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 7bb2a3e..a7941e0 100644
--- a/maps/BurnedTower1F.asm
+++ b/maps/BurnedTower1F.asm
@@ -3,9 +3,9 @@ BurnedTower1F_MapScriptHeader:
    db 3
 
    ; triggers
    dw UnknownScript_0x185bf2, $0000
    dw UnknownScript_0x185bf6, $0000
    dw UnknownScript_0x185bf7, $0000
 
 .MapCallbacks:
    db 1
@@ -309,8 +309,8 @@ BurnedTower1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_ROCK, 4, 15, $18, 0, 0, -1, -1, 0, 0, 0, BurnedTower1FRock, -1
-   person_event SPRITE_SUPER_NERD, 12, 12, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x185cbc, EVENT_BURNED_TOWER_1F_EUSINE
-   person_event SPRITE_SILVER, 9, 8, $8, 0, 0, -1, -1, 0, 2, 3, ObjectEvent, EVENT_RIVAL_BURNED_TOWER
-   person_event SPRITE_MORTY, 14, 14, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MortyScript_0x185cbf, EVENT_BURNED_TOWER_MORTY
-   person_event SPRITE_POKE_BALL, 2, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185ccb, EVENT_BURNED_TOWER_1F_HP_UP
+   person_event SPRITE_ROCK, 4, 15, SPRITEMOVEFN_18, 0, 0, -1, -1, 0, 0, 0, BurnedTower1FRock, -1
+   person_event SPRITE_SUPER_NERD, 12, 12, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x185cbc, EVENT_BURNED_TOWER_1F_EUSINE
+   person_event SPRITE_SILVER, 9, 8, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 2, 3, ObjectEvent, EVENT_RIVAL_BURNED_TOWER
+   person_event SPRITE_MORTY, 14, 14, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MortyScript_0x185cbf, EVENT_BURNED_TOWER_MORTY
+   person_event SPRITE_POKE_BALL, 2, 14, SPRITEMOVEFN_01, 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 fe4adc5..7241091 100644
--- a/maps/BurnedTowerB1F.asm
+++ b/maps/BurnedTowerB1F.asm
@@ -3,8 +3,8 @@ BurnedTowerB1F_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x18615e, $0000
    dw UnknownScript_0x18615f, $0000
 
 .MapCallbacks:
    db 1
@@ -251,12 +251,12 @@ BurnedTowerB1F_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_BOULDER, 8, 17, $19, 0, 0, -1, -1, 0, 0, 0, BurnedTowerB1FBoulder, -1
-   person_event SPRITE_RAIKOU, 3, 7, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
-   person_event SPRITE_ENTEI, 3, 12, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
-   person_event SPRITE_SUICUNE, 4, 10, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
-   person_event SPRITE_RAIKOU, 3, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
-   person_event SPRITE_ENTEI, 3, 12, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
-   person_event SPRITE_SUICUNE, 4, 10, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
-   person_event SPRITE_POKE_BALL, 4, 16, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x186231, EVENT_BURNED_TOWER_B1F_TM_ENDURE
-   person_event SPRITE_SUPER_NERD, 12, 10, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x186212, EVENT_EUSINE_IN_BURNED_TOWER
+   person_event SPRITE_BOULDER, 8, 17, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, BurnedTowerB1FBoulder, -1
+   person_event SPRITE_RAIKOU, 3, 7, SPRITEMOVEFN_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, SPRITEMOVEFN_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, SPRITEMOVEFN_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, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
+   person_event SPRITE_ENTEI, 3, 12, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_SILVER, 0, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
+   person_event SPRITE_SUICUNE, 4, 10, SPRITEMOVEFN_06, 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, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x186231, EVENT_BURNED_TOWER_B1F_TM_ENDURE
+   person_event SPRITE_SUPER_NERD, 12, 10, SPRITEMOVEFN_07, 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 22ca25f..39afc30 100644
--- a/maps/CeladonCafe.asm
+++ b/maps/CeladonCafe.asm
@@ -219,8 +219,8 @@ CeladonCafe_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_SUPER_NERD, 3, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, SuperNerdScript_0x73049, -1
-   person_event SPRITE_FISHER, 6, 4, $8, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x73051, -1
-   person_event SPRITE_FISHER, 7, 1, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x73062, -1
-   person_event SPRITE_FISHER, 2, 1, $9, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x73073, -1
-   person_event SPRITE_TEACHER, 3, 4, $8, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x73084, -1
+   person_event SPRITE_SUPER_NERD, 3, 9, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, SuperNerdScript_0x73049, -1
+   person_event SPRITE_FISHER, 6, 4, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x73051, -1
+   person_event SPRITE_FISHER, 7, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x73062, -1
+   person_event SPRITE_FISHER, 2, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x73073, -1
+   person_event SPRITE_TEACHER, 3, 4, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x73084, -1
diff --git a/maps/CeladonCity.asm b/maps/CeladonCity.asm
index 1298c58..daaa7f0 100644
--- a/maps/CeladonCity.asm
+++ b/maps/CeladonCity.asm
@@ -257,12 +257,12 @@ CeladonCity_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_FISHER, 11, 26, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a9f43, -1
-   person_event SPRITE_POLIWAG, 11, 27, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeladonCityPoliwrath, -1
-   person_event SPRITE_TEACHER, 24, 20, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x1a9f50, -1
-   person_event SPRITE_GRAMPS, 16, 14, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x1a9f53, -1
-   person_event SPRITE_GRAMPS, 31, 8, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GrampsScript_0x1a9f56, -1
-   person_event SPRITE_YOUNGSTER, 13, 18, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x1a9f59, -1
-   person_event SPRITE_YOUNGSTER, 33, 24, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a9f5c, -1
-   person_event SPRITE_TEACHER, 14, 6, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a9f5f, -1
-   person_event SPRITE_LASS, 22, 7, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LassScript_0x1a9f62, -1
+   person_event SPRITE_FISHER, 11, 26, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a9f43, -1
+   person_event SPRITE_POLIWAG, 11, 27, SPRITEMOVEFN_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeladonCityPoliwrath, -1
+   person_event SPRITE_TEACHER, 24, 20, SPRITEMOVEFN_05, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x1a9f50, -1
+   person_event SPRITE_GRAMPS, 16, 14, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x1a9f53, -1
+   person_event SPRITE_GRAMPS, 31, 8, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GrampsScript_0x1a9f56, -1
+   person_event SPRITE_YOUNGSTER, 13, 18, SPRITEMOVEFN_05, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x1a9f59, -1
+   person_event SPRITE_YOUNGSTER, 33, 24, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a9f5c, -1
+   person_event SPRITE_TEACHER, 14, 6, SPRITEMOVEFN_02, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a9f5f, -1
+   person_event SPRITE_LASS, 22, 7, SPRITEMOVEFN_04, 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 3f8250c..f875e29 100644
--- a/maps/CeladonDeptStore1F.asm
+++ b/maps/CeladonDeptStore1F.asm
@@ -89,6 +89,6 @@ CeladonDeptStore1F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_RECEPTIONIST, 1, 10, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x709e0, -1
-   person_event SPRITE_GENTLEMAN, 4, 11, $2, 1, 1, -1, -1, 0, 0, 0, GentlemanScript_0x709e3, -1
-   person_event SPRITE_TEACHER, 3, 5, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x709e6, -1
+   person_event SPRITE_RECEPTIONIST, 1, 10, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x709e0, -1
+   person_event SPRITE_GENTLEMAN, 4, 11, SPRITEMOVEFN_02, 1, 1, -1, -1, 0, 0, 0, GentlemanScript_0x709e3, -1
+   person_event SPRITE_TEACHER, 3, 5, SPRITEMOVEFN_05, 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 5124f6f..6524a6c 100644
--- a/maps/CeladonDeptStore2F.asm
+++ b/maps/CeladonDeptStore2F.asm
@@ -82,7 +82,7 @@ CeladonDeptStore2F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_CLERK, 5, 13, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70bad, -1
-   person_event SPRITE_CLERK, 5, 14, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70bb5, -1
-   person_event SPRITE_POKEFAN_M, 2, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x70bbd, -1
-   person_event SPRITE_YOUNGSTER, 2, 6, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x70bc0, -1
+   person_event SPRITE_CLERK, 5, 13, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70bad, -1
+   person_event SPRITE_CLERK, 5, 14, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70bb5, -1
+   person_event SPRITE_POKEFAN_M, 2, 5, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x70bbd, -1
+   person_event SPRITE_YOUNGSTER, 2, 6, SPRITEMOVEFN_08, 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 c36b713..b4ec72c 100644
--- a/maps/CeladonDeptStore3F.asm
+++ b/maps/CeladonDeptStore3F.asm
@@ -107,8 +107,8 @@ CeladonDeptStore3F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_CLERK, 1, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70d29, -1
-   person_event SPRITE_YOUNGSTER, 4, 6, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x70d31, -1
-   person_event SPRITE_GAMEBOY_KID, 1, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GameboyKidScript_0x70d34, -1
-   person_event SPRITE_GAMEBOY_KID, 1, 10, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GameboyKidScript_0x70d3f, -1
-   person_event SPRITE_SUPER_NERD, 4, 13, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x70d4a, -1
+   person_event SPRITE_CLERK, 1, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70d29, -1
+   person_event SPRITE_YOUNGSTER, 4, 6, SPRITEMOVEFN_04, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x70d31, -1
+   person_event SPRITE_GAMEBOY_KID, 1, 9, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GameboyKidScript_0x70d34, -1
+   person_event SPRITE_GAMEBOY_KID, 1, 10, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GameboyKidScript_0x70d3f, -1
+   person_event SPRITE_SUPER_NERD, 4, 13, SPRITEMOVEFN_02, 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 99741b4..6e9c213 100644
--- a/maps/CeladonDeptStore4F.asm
+++ b/maps/CeladonDeptStore4F.asm
@@ -65,6 +65,6 @@ CeladonDeptStore4F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 5, 13, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70f0d, -1
-   person_event SPRITE_SUPER_NERD, 6, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x70f15, -1
-   person_event SPRITE_YOUNGSTER, 2, 8, $7, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x70f18, -1
+   person_event SPRITE_CLERK, 5, 13, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x70f0d, -1
+   person_event SPRITE_SUPER_NERD, 6, 7, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x70f15, -1
+   person_event SPRITE_YOUNGSTER, 2, 8, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x70f18, -1
diff --git a/maps/CeladonDeptStore5F.asm b/maps/CeladonDeptStore5F.asm
index 94af06d..9eb5040 100644
--- a/maps/CeladonDeptStore5F.asm
+++ b/maps/CeladonDeptStore5F.asm
@@ -84,8 +84,8 @@ CeladonDeptStore5F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_CLERK, 5, 7, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x71004, -1
-   person_event SPRITE_CLERK, 5, 8, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x7100c, -1
-   person_event SPRITE_GENTLEMAN, 5, 13, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x71014, -1
-   person_event SPRITE_SAILOR, 4, 3, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x71017, -1
-   person_event SPRITE_TEACHER, 7, 1, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x7101a, -1
+   person_event SPRITE_CLERK, 5, 7, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x71004, -1
+   person_event SPRITE_CLERK, 5, 8, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ClerkScript_0x7100c, -1
+   person_event SPRITE_GENTLEMAN, 5, 13, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x71014, -1
+   person_event SPRITE_SAILOR, 4, 3, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x71017, -1
+   person_event SPRITE_TEACHER, 7, 1, SPRITEMOVEFN_09, 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 2eff882..cf623ee 100644
--- a/maps/CeladonDeptStore6F.asm
+++ b/maps/CeladonDeptStore6F.asm
@@ -168,5 +168,5 @@ CeladonDeptStore6F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_SUPER_NERD, 2, 9, $7, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7117a, -1
-   person_event SPRITE_YOUNGSTER, 5, 12, $2, 1, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x7117d, -1
+   person_event SPRITE_SUPER_NERD, 2, 9, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7117a, -1
+   person_event SPRITE_YOUNGSTER, 5, 12, SPRITEMOVEFN_02, 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 4f4746f..c10ee71 100644
--- a/maps/CeladonGameCorner.asm
+++ b/maps/CeladonGameCorner.asm
@@ -325,12 +325,12 @@ CeladonGameCorner_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_CLERK, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ClerkScript_0x7211d, -1
-   person_event SPRITE_RECEPTIONIST, 2, 3, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x72120, -1
-   person_event SPRITE_POKEFAN_M, 10, 14, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x72123, -1
-   person_event SPRITE_TEACHER, 7, 17, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7212e, -1
-   person_event SPRITE_FISHING_GURU, 7, 11, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x72139, -1
-   person_event SPRITE_FISHER, 10, 8, $8, 0, 0, -1, 2, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x72144, -1
-   person_event SPRITE_FISHER, 10, 8, $8, 0, 0, -1, 4, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x72144, -1
-   person_event SPRITE_GYM_GUY, 3, 11, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CeladonGymGuyScript, -1
-   person_event SPRITE_GRAMPS, 8, 2, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x72190, -1
+   person_event SPRITE_CLERK, 2, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ClerkScript_0x7211d, -1
+   person_event SPRITE_RECEPTIONIST, 2, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x72120, -1
+   person_event SPRITE_POKEFAN_M, 10, 14, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x72123, -1
+   person_event SPRITE_TEACHER, 7, 17, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7212e, -1
+   person_event SPRITE_FISHING_GURU, 7, 11, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x72139, -1
+   person_event SPRITE_FISHER, 10, 8, SPRITEMOVEFN_08, 0, 0, -1, 2, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x72144, -1
+   person_event SPRITE_FISHER, 10, 8, SPRITEMOVEFN_08, 0, 0, -1, 4, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x72144, -1
+   person_event SPRITE_GYM_GUY, 3, 11, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CeladonGymGuyScript, -1
+   person_event SPRITE_GRAMPS, 8, 2, SPRITEMOVEFN_08, 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 83f92f2..2a50e27 100644
--- a/maps/CeladonGameCornerPrizeRoom.asm
+++ b/maps/CeladonGameCornerPrizeRoom.asm
@@ -284,5 +284,5 @@ CeladonGameCornerPrizeRoom_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_GENTLEMAN, 2, 0, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x726e9, -1
-   person_event SPRITE_PHARMACIST, 4, 4, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PharmacistScript_0x726ec, -1
+   person_event SPRITE_GENTLEMAN, 2, 0, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x726e9, -1
+   person_event SPRITE_PHARMACIST, 4, 4, SPRITEMOVEFN_04, 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 d9128f8..511a4e3 100644
--- a/maps/CeladonGym.asm
+++ b/maps/CeladonGym.asm
@@ -13,7 +13,7 @@ ErikaScript_0x72a6a:
    writetext UnknownText_0x72b28
    closetext
    loadmovesprites
    winlosstext UnknownText_0x72c3e, $0000
    loadtrainer ERIKA, 1
    startbattle
    returnafterbattle
@@ -42,7 +42,7 @@ UnknownScript_0x72aae:
    end
 
 TrainerLassMichelle:
    trainer EVENT_BEAT_LASS_MICHELLE, LASS, MICHELLE, LassMichelleSeenText, LassMichelleBeatenText, $0000, LassMichelleScript
 
 LassMichelleScript:
    talkaftercancel
@@ -53,7 +53,7 @@ LassMichelleScript:
    end
 
 TrainerPicnickerTanya:
    trainer EVENT_BEAT_PICNICKER_TANYA, PICNICKER, TANYA, PicnickerTanyaSeenText, PicnickerTanyaBeatenText, $0000, PicnickerTanyaScript
 
 PicnickerTanyaScript:
    talkaftercancel
@@ -64,7 +64,7 @@ PicnickerTanyaScript:
    end
 
 TrainerBeautyJulia:
    trainer EVENT_BEAT_BEAUTY_JULIA, BEAUTY, JULIA, BeautyJuliaSeenText, BeautyJuliaBeatenText, $0000, BeautyJuliaScript
 
 BeautyJuliaScript:
    talkaftercancel
@@ -75,7 +75,7 @@ BeautyJuliaScript:
    end
 
 TrainerTwinsJoandzoe1:
    trainer EVENT_BEAT_TWINS_JO_AND_ZOE, TWINS, JOANDZOE1, TwinsJoandzoe1SeenText, TwinsJoandzoe1BeatenText, $0000, TwinsJoandzoe1Script
 
 TwinsJoandzoe1Script:
    talkaftercancel
@@ -86,7 +86,7 @@ TwinsJoandzoe1Script:
    end
 
 TrainerTwinsJoandzoe2:
    trainer EVENT_BEAT_TWINS_JO_AND_ZOE, TWINS, JOANDZOE2, TwinsJoandzoe2SeenText, TwinsJoandzoe2BeatenText, $0000, TwinsJoandzoe2Script
 
 TwinsJoandzoe2Script:
    talkaftercancel
@@ -278,9 +278,9 @@ CeladonGym_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_ERIKA, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ErikaScript_0x72a6a, -1
-   person_event SPRITE_LASS, 8, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerLassMichelle, -1
-   person_event SPRITE_LASS, 8, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerTanya, -1
-   person_event SPRITE_BUENA, 5, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBeautyJulia, -1
-   person_event SPRITE_TWIN, 10, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsJoandzoe1, -1
-   person_event SPRITE_TWIN, 10, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsJoandzoe2, -1
+   person_event SPRITE_ERIKA, 3, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ErikaScript_0x72a6a, -1
+   person_event SPRITE_LASS, 8, 7, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerLassMichelle, -1
+   person_event SPRITE_LASS, 8, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerTanya, -1
+   person_event SPRITE_BUENA, 5, 3, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBeautyJulia, -1
+   person_event SPRITE_TWIN, 10, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsJoandzoe1, -1
+   person_event SPRITE_TWIN, 10, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsJoandzoe2, -1
diff --git a/maps/CeladonMansion1F.asm b/maps/CeladonMansion1F.asm
index 26a9a43..897b918 100644
--- a/maps/CeladonMansion1F.asm
+++ b/maps/CeladonMansion1F.asm
@@ -91,7 +91,7 @@ CeladonMansion1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_GRANNY, 5, 1, $3, 0, 0, -1, -1, 0, 0, 0, CeladonMansionManager, -1
-   person_event SPRITE_GROWLITHE, 6, 2, $16, 0, 0, -1, -1, 0, 0, 0, CeladonMansion1FMeowth, -1
-   person_event SPRITE_CLEFAIRY, 4, 3, $16, 0, 0, -1, -1, 0, 0, 0, CeladonMansion1FClefairy, -1
-   person_event SPRITE_GROWLITHE, 4, 4, $16, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeladonMansion1FNidoranF, -1
+   person_event SPRITE_GRANNY, 5, 1, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, CeladonMansionManager, -1
+   person_event SPRITE_GROWLITHE, 6, 2, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, CeladonMansion1FMeowth, -1
+   person_event SPRITE_CLEFAIRY, 4, 3, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, CeladonMansion1FClefairy, -1
+   person_event SPRITE_GROWLITHE, 4, 4, SPRITEMOVEFN_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 5e12a63..77adaf9 100644
--- a/maps/CeladonMansion3F.asm
+++ b/maps/CeladonMansion3F.asm
@@ -206,7 +206,7 @@ CeladonMansion3F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_COOLTRAINER_M, 6, 3, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x71670, -1
-   person_event SPRITE_GYM_GUY, 4, 3, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x71696, -1
-   person_event SPRITE_SUPER_NERD, 7, 0, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x716bc, -1
-   person_event SPRITE_FISHER, 4, 0, $7, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x716bf, -1
+   person_event SPRITE_COOLTRAINER_M, 6, 3, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x71670, -1
+   person_event SPRITE_GYM_GUY, 4, 3, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x71696, -1
+   person_event SPRITE_SUPER_NERD, 7, 0, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x716bc, -1
+   person_event SPRITE_FISHER, 4, 0, SPRITEMOVEFN_07, 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 b2b4f2b..4e2493f 100644
--- a/maps/CeladonMansionRoof.asm
+++ b/maps/CeladonMansionRoof.asm
@@ -49,4 +49,4 @@ CeladonMansionRoof_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHER, 5, 7, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x71a39, -1
+   person_event SPRITE_FISHER, 5, 7, SPRITEMOVEFN_04, 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 cc89ba5..140e837 100644
--- a/maps/CeladonMansionRoofHouse.asm
+++ b/maps/CeladonMansionRoofHouse.asm
@@ -130,4 +130,4 @@ CeladonMansionRoofHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_PHARMACIST, 2, 3, $6, 2, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PharmacistScript_0x71afd, -1
+   person_event SPRITE_PHARMACIST, 2, 3, SPRITEMOVEFN_06, 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 8142d0d..52cb90e 100644
--- a/maps/CeladonPokeCenter1F.asm
+++ b/maps/CeladonPokeCenter1F.asm
@@ -156,8 +156,8 @@ CeladonPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x71e22, -1
-   person_event SPRITE_GENTLEMAN, 5, 1, $5, 0, 1, -1, -1, 0, 0, 0, GentlemanScript_0x71e25, -1
-   person_event SPRITE_PHARMACIST, 3, 0, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PharmacistScript_0x71e2b, -1
-   person_event SPRITE_COOLTRAINER_F, 6, 8, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x71e28, -1
-   person_event SPRITE_SUPER_NERD, 3, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x71e2e, EVENT_SET_WHEN_FOUGHT_HO_OH
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x71e22, -1
+   person_event SPRITE_GENTLEMAN, 5, 1, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, GentlemanScript_0x71e25, -1
+   person_event SPRITE_PHARMACIST, 3, 0, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PharmacistScript_0x71e2b, -1
+   person_event SPRITE_COOLTRAINER_F, 6, 8, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x71e28, -1
+   person_event SPRITE_SUPER_NERD, 3, 4, SPRITEMOVEFN_06, 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 ce2c1eb..60596a2 100644
--- a/maps/CeruleanCity.asm
+++ b/maps/CeruleanCity.asm
@@ -299,9 +299,9 @@ CeruleanCity_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_COOLTRAINER_M, 23, 15, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerMScript_0x184009, -1
-   person_event SPRITE_SUPER_NERD, 15, 23, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x18401d, -1
-   person_event SPRITE_SLOWPOKE, 24, 20, $1, 0, 0, -1, -1, 0, 0, 0, CeruleanCitySlowbro, -1
-   person_event SPRITE_COOLTRAINER_F, 24, 21, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x18402a, -1
-   person_event SPRITE_FISHER, 26, 30, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x18404a, -1
-   person_event SPRITE_YOUNGSTER, 12, 6, $3, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x184064, -1
+   person_event SPRITE_COOLTRAINER_M, 23, 15, SPRITEMOVEFN_02, 2, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerMScript_0x184009, -1
+   person_event SPRITE_SUPER_NERD, 15, 23, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x18401d, -1
+   person_event SPRITE_SLOWPOKE, 24, 20, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, CeruleanCitySlowbro, -1
+   person_event SPRITE_COOLTRAINER_F, 24, 21, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x18402a, -1
+   person_event SPRITE_FISHER, 26, 30, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x18404a, -1
+   person_event SPRITE_YOUNGSTER, 12, 6, SPRITEMOVEFN_03, 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 6907f58..c64410c 100644
--- a/maps/CeruleanGym.asm
+++ b/maps/CeruleanGym.asm
@@ -3,8 +3,8 @@ CeruleanGym_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x1883d9, $0000
    dw UnknownScript_0x1883da, $0000
 
 .MapCallbacks:
    db 0
@@ -60,7 +60,7 @@ MistyScript_0x188432:
    writetext UnknownText_0x188674
    closetext
    loadmovesprites
    winlosstext UnknownText_0x18870c, $0000
    loadtrainer MISTY, 1
    startbattle
    returnafterbattle
@@ -80,7 +80,7 @@ MistyScript_0x188432:
    end
 
 TrainerSwimmerfDiana:
    trainer EVENT_BEAT_SWIMMERF_DIANA, SWIMMERF, DIANA, SwimmerfDianaSeenText, SwimmerfDianaBeatenText, $0000, SwimmerfDianaScript
 
 SwimmerfDianaScript:
    talkaftercancel
@@ -91,7 +91,7 @@ SwimmerfDianaScript:
    end
 
 TrainerSwimmerfBriana:
    trainer EVENT_BEAT_SWIMMERF_BRIANA, SWIMMERF, BRIANA, SwimmerfBrianaSeenText, SwimmerfBrianaBeatenText, $0000, SwimmerfBrianaScript
 
 SwimmerfBrianaScript:
    talkaftercancel
@@ -102,7 +102,7 @@ SwimmerfBrianaScript:
    end
 
 TrainerSwimmermParker:
    trainer EVENT_BEAT_SWIMMERM_PARKER, SWIMMERM, PARKER, SwimmermParkerSeenText, SwimmermParkerBeatenText, $0000, SwimmermParkerScript
 
 SwimmermParkerScript:
    talkaftercancel
@@ -377,9 +377,9 @@ CeruleanGym_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_ROCKET, 10, 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_CERULEAN_GYM_ROCKET
-   person_event SPRITE_MISTY, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, MistyScript_0x188432, EVENT_TRAINERS_IN_CERULEAN_GYM
-   person_event SPRITE_SWIMMER_GIRL, 6, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfDiana, EVENT_TRAINERS_IN_CERULEAN_GYM
-   person_event SPRITE_SWIMMER_GIRL, 9, 1, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerSwimmerfBriana, EVENT_TRAINERS_IN_CERULEAN_GYM
-   person_event SPRITE_SWIMMER_GUY, 9, 8, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermParker, EVENT_TRAINERS_IN_CERULEAN_GYM
-   person_event SPRITE_GYM_GUY, 13, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CeruleanGymGuyScript, EVENT_TRAINERS_IN_CERULEAN_GYM
+   person_event SPRITE_ROCKET, 10, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_CERULEAN_GYM_ROCKET
+   person_event SPRITE_MISTY, 3, 5, SPRITEMOVEFN_06, 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, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfDiana, EVENT_TRAINERS_IN_CERULEAN_GYM
+   person_event SPRITE_SWIMMER_GIRL, 9, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerSwimmerfBriana, EVENT_TRAINERS_IN_CERULEAN_GYM
+   person_event SPRITE_SWIMMER_GUY, 9, 8, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermParker, EVENT_TRAINERS_IN_CERULEAN_GYM
+   person_event SPRITE_GYM_GUY, 13, 7, SPRITEMOVEFN_06, 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 6697c42..1df647a 100644
--- a/maps/CeruleanGymBadgeSpeechHouse.asm
+++ b/maps/CeruleanGymBadgeSpeechHouse.asm
@@ -30,4 +30,4 @@ CeruleanGymBadgeSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKEFAN_M, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x188002, -1
+   person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x188002, -1
diff --git a/maps/CeruleanMart.asm b/maps/CeruleanMart.asm
index e1824e5..05b6e3d 100644
--- a/maps/CeruleanMart.asm
+++ b/maps/CeruleanMart.asm
@@ -57,6 +57,6 @@ CeruleanMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x188ac0, -1
-   person_event SPRITE_COOLTRAINER_M, 6, 1, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerMScript_0x188ac7, -1
-   person_event SPRITE_COOLTRAINER_F, 2, 7, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x188aca, -1
+   person_event SPRITE_CLERK, 3, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x188ac0, -1
+   person_event SPRITE_COOLTRAINER_M, 6, 1, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerMScript_0x188ac7, -1
+   person_event SPRITE_COOLTRAINER_F, 2, 7, SPRITEMOVEFN_05, 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 ea636a3..bace05a 100644
--- a/maps/CeruleanPokeCenter1F.asm
+++ b/maps/CeruleanPokeCenter1F.asm
@@ -75,6 +75,6 @@ CeruleanPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18820f, -1
-   person_event SPRITE_SUPER_NERD, 4, 8, $5, 0, 1, -1, -1, 0, 0, 0, SuperNerdScript_0x188212, -1
-   person_event SPRITE_GYM_GUY, 5, 1, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GymGuyScript_0x18821e, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18820f, -1
+   person_event SPRITE_SUPER_NERD, 4, 8, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, SuperNerdScript_0x188212, -1
+   person_event SPRITE_GYM_GUY, 5, 1, SPRITEMOVEFN_02, 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 a79a679..fff8867 100644
--- a/maps/CeruleanPoliceStation.asm
+++ b/maps/CeruleanPoliceStation.asm
@@ -55,6 +55,6 @@ CeruleanPoliceStation_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_FISHING_GURU, 1, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x18804a, -1
-   person_event SPRITE_POKEFAN_F, 4, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x18804d, -1
-   person_event SPRITE_DIGLETT, 5, 3, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, DiglettScript_0x188050, -1
+   person_event SPRITE_FISHING_GURU, 1, 5, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x18804a, -1
+   person_event SPRITE_POKEFAN_F, 4, 5, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x18804d, -1
+   person_event SPRITE_DIGLETT, 5, 3, SPRITEMOVEFN_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 aa063b1..f938f95 100644
--- a/maps/CeruleanTradeSpeechHouse.asm
+++ b/maps/CeruleanTradeSpeechHouse.asm
@@ -64,7 +64,7 @@ CeruleanTradeSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_GRANNY, 4, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrannyScript_0x188133, -1
-   person_event SPRITE_GRAMPS, 2, 1, $2, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x188136, -1
-   person_event SPRITE_RHYDON, 2, 5, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, RhydonScript_0x188139, -1
-   person_event SPRITE_ZUBAT, 6, 5, $16, 0, 0, -1, -1, 0, 0, 0, ZubatScript_0x188143, -1
+   person_event SPRITE_GRANNY, 4, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrannyScript_0x188133, -1
+   person_event SPRITE_GRAMPS, 2, 1, SPRITEMOVEFN_02, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x188136, -1
+   person_event SPRITE_RHYDON, 2, 5, SPRITEMOVEFN_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, RhydonScript_0x188139, -1
+   person_event SPRITE_ZUBAT, 6, 5, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, ZubatScript_0x188143, -1
diff --git a/maps/CharcoalKiln.asm b/maps/CharcoalKiln.asm
index 7cd0bbc..f2c58a9 100644
--- a/maps/CharcoalKiln.asm
+++ b/maps/CharcoalKiln.asm
@@ -163,6 +163,6 @@ CharcoalKiln_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_BLACK_BELT, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, CharcoalKilnBoss, EVENT_CHARCOAL_KILN_BOSS
-   person_event SPRITE_YOUNGSTER, 3, 5, $2, 1, 1, -1, -1, 0, 0, 0, CharcoalKilnApprentice, EVENT_CHARCOAL_KILN_APPRENTICE
-   person_event SPRITE_MOLTRES, 6, 5, $16, 2, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CharcoalKilnFarfetchd, EVENT_CHARCOAL_KILN_FARFETCH_D
+   person_event SPRITE_BLACK_BELT, 3, 2, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, CharcoalKilnBoss, EVENT_CHARCOAL_KILN_BOSS
+   person_event SPRITE_YOUNGSTER, 3, 5, SPRITEMOVEFN_02, 1, 1, -1, -1, 0, 0, 0, CharcoalKilnApprentice, EVENT_CHARCOAL_KILN_APPRENTICE
+   person_event SPRITE_MOLTRES, 6, 5, SPRITEMOVEFN_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 f90c6f4..9840e40 100644
--- a/maps/CherrygroveCity.asm
+++ b/maps/CherrygroveCity.asm
@@ -3,8 +3,8 @@ CherrygroveCity_MapScriptHeader:
    db 2
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
 
 .MapCallbacks:
    db 1
@@ -570,8 +570,8 @@ CherrygroveCity_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_GRAMPS, 6, 32, $6, 0, 0, -1, -1, 0, 0, 0, CherrygroveCityGuideGent, EVENT_GUIDE_GENT_IN_HIS_HOUSE
-   person_event SPRITE_SILVER, 6, 39, $3, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_CHERRYGROVE_CITY
-   person_event SPRITE_TEACHER, 12, 27, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x19c146, -1
-   person_event SPRITE_YOUNGSTER, 7, 23, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x19c15a, -1
-   person_event SPRITE_FISHER, 12, 7, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, MysticWaterGuy, -1
+   person_event SPRITE_GRAMPS, 6, 32, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, CherrygroveCityGuideGent, EVENT_GUIDE_GENT_IN_HIS_HOUSE
+   person_event SPRITE_SILVER, 6, 39, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_CHERRYGROVE_CITY
+   person_event SPRITE_TEACHER, 12, 27, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x19c146, -1
+   person_event SPRITE_YOUNGSTER, 7, 23, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x19c15a, -1
+   person_event SPRITE_FISHER, 12, 7, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, MysticWaterGuy, -1
diff --git a/maps/CherrygroveEvolutionSpeechHouse.asm b/maps/CherrygroveEvolutionSpeechHouse.asm
index 028842e..9559057 100644
--- a/maps/CherrygroveEvolutionSpeechHouse.asm
+++ b/maps/CherrygroveEvolutionSpeechHouse.asm
@@ -56,5 +56,5 @@ CherrygroveEvolutionSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_LASS, 5, 3, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x196cb9, -1
-   person_event SPRITE_YOUNGSTER, 5, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x196cb2, -1
+   person_event SPRITE_LASS, 5, 3, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x196cb9, -1
+   person_event SPRITE_YOUNGSTER, 5, 2, SPRITEMOVEFN_09, 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 852d2c3..73906b1 100644
--- a/maps/CherrygroveGymSpeechHouse.asm
+++ b/maps/CherrygroveGymSpeechHouse.asm
@@ -59,5 +59,5 @@ CherrygroveGymSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKEFAN_M, 3, 2, $6, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x196ae1, -1
-   person_event SPRITE_BUG_CATCHER, 5, 5, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x196ae4, -1
+   person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x196ae1, -1
+   person_event SPRITE_BUG_CATCHER, 5, 5, SPRITEMOVEFN_05, 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 7c35c3b..2690feb 100644
--- a/maps/CherrygroveMart.asm
+++ b/maps/CherrygroveMart.asm
@@ -9,7 +9,7 @@ ClerkScript_0x19680a:
    loadfont
    checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
    iftrue UnknownScript_0x196817
    pokemart $0, $0000
    loadmovesprites
    end
 
@@ -83,6 +83,6 @@ CherrygroveMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x19680a, -1
-   person_event SPRITE_COOLTRAINER_M, 6, 7, $5, 0, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x19681d, -1
-   person_event SPRITE_YOUNGSTER, 5, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x196831, -1
+   person_event SPRITE_CLERK, 3, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x19680a, -1
+   person_event SPRITE_COOLTRAINER_M, 6, 7, SPRITEMOVEFN_05, 0, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x19681d, -1
+   person_event SPRITE_YOUNGSTER, 5, 2, SPRITEMOVEFN_06, 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 4b250f2..fb1a5f4 100644
--- a/maps/CherrygrovePokeCenter1F.asm
+++ b/maps/CherrygrovePokeCenter1F.asm
@@ -80,7 +80,7 @@ CherrygrovePokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x19696d, -1
-   person_event SPRITE_FISHER, 3, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x196970, -1
-   person_event SPRITE_GENTLEMAN, 6, 8, $7, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x196973, -1
-   person_event SPRITE_TEACHER, 6, 1, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x196976, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x19696d, -1
+   person_event SPRITE_FISHER, 3, 2, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x196970, -1
+   person_event SPRITE_GENTLEMAN, 6, 8, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x196973, -1
+   person_event SPRITE_TEACHER, 6, 1, SPRITEMOVEFN_09, 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 1efd4ff..bd8c682 100644
--- a/maps/CianwoodCity.asm
+++ b/maps/CianwoodCity.asm
@@ -3,8 +3,8 @@ CianwoodCity_MapScriptHeader:
    db 2
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
 
 .MapCallbacks:
    db 1
@@ -52,7 +52,7 @@ UnknownScript_0x1a001e:
    writetext UnknownText_0x1a0433
    closetext
    loadmovesprites
    winlosstext UnknownText_0x1a05a1, $0000
    setlasttalked $c
    loadtrainer MYSTICALMAN, EUSINE
    startbattle
@@ -401,15 +401,15 @@ CianwoodCity_MapEventHeader:
 
 .PersonEvents:
    db 12
-   person_event SPRITE_STANDING_YOUNGSTER, 37, 21, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, StandingYoungsterScript_0x1a00b3, -1
-   person_event SPRITE_POKEFAN_M, 33, 17, $5, 0, 1, -1, -1, 0, 0, 0, PokefanMScript_0x1a00b6, -1
-   person_event SPRITE_LASS, 42, 14, $4, 2, 0, -1, -1, 0, 0, 0, LassScript_0x1a00b9, -1
-   person_event SPRITE_ROCK, 16, 8, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-   person_event SPRITE_ROCK, 17, 9, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-   person_event SPRITE_ROCK, 25, 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-   person_event SPRITE_ROCK, 29, 5, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-   person_event SPRITE_ROCK, 27, 10, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-   person_event SPRITE_ROCK, 19, 4, $18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
-   person_event SPRITE_POKEFAN_F, 46, 10, $5, 0, 1, -1, -1, 0, 0, 0, PokefanFScript_0x1a0084, -1
-   person_event SPRITE_SUPER_NERD, 21, 11, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_CIANWOOD_CITY_EUSINE
-   person_event SPRITE_SUICUNE, 14, 10, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_SAW_SUICUNE_AT_CIANWOOD_CITY
+   person_event SPRITE_STANDING_YOUNGSTER, 37, 21, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, StandingYoungsterScript_0x1a00b3, -1
+   person_event SPRITE_POKEFAN_M, 33, 17, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, PokefanMScript_0x1a00b6, -1
+   person_event SPRITE_LASS, 42, 14, SPRITEMOVEFN_04, 2, 0, -1, -1, 0, 0, 0, LassScript_0x1a00b9, -1
+   person_event SPRITE_ROCK, 16, 8, SPRITEMOVEFN_18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
+   person_event SPRITE_ROCK, 17, 9, SPRITEMOVEFN_18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
+   person_event SPRITE_ROCK, 25, 4, SPRITEMOVEFN_18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
+   person_event SPRITE_ROCK, 29, 5, SPRITEMOVEFN_18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
+   person_event SPRITE_ROCK, 27, 10, SPRITEMOVEFN_18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
+   person_event SPRITE_ROCK, 19, 4, SPRITEMOVEFN_18, 0, 0, -1, -1, 0, 0, 0, CianwoodCityRock, -1
+   person_event SPRITE_POKEFAN_F, 46, 10, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, PokefanFScript_0x1a0084, -1
+   person_event SPRITE_SUPER_NERD, 21, 11, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_CIANWOOD_CITY_EUSINE
+   person_event SPRITE_SUICUNE, 14, 10, SPRITEMOVEFN_01, 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 773c823..977bea2 100644
--- a/maps/CianwoodCityPhotoStudio.asm
+++ b/maps/CianwoodCityPhotoStudio.asm
@@ -62,4 +62,4 @@ CianwoodCityPhotoStudio_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHING_GURU, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FishingGuruScript_0x9e0e0, -1
+   person_event SPRITE_FISHING_GURU, 3, 2, SPRITEMOVEFN_06, 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 4f66a26..f4350cd 100644
--- a/maps/CianwoodGym.asm
+++ b/maps/CianwoodGym.asm
@@ -28,7 +28,7 @@ ChuckScript_0x9d60f:
    writetext UnknownText_0x9d78a
    closetext
    loadmovesprites
    winlosstext UnknownText_0x9d7f6, $0000
    loadtrainer CHUCK, 1
    startbattle
    returnafterbattle
@@ -76,7 +76,7 @@ CianwoodGymTriggerRockets:
    jumpstd radiotowerrockets
 
 TrainerBlackbeltYoshi:
    trainer EVENT_BEAT_BLACKBELT_YOSHI, BLACKBELT_T, YOSHI, BlackbeltYoshiSeenText, BlackbeltYoshiBeatenText, $0000, BlackbeltYoshiScript
 
 BlackbeltYoshiScript:
    talkaftercancel
@@ -87,7 +87,7 @@ BlackbeltYoshiScript:
    end
 
 TrainerBlackbeltLao:
    trainer EVENT_BEAT_BLACKBELT_LAO, BLACKBELT_T, LAO, BlackbeltLaoSeenText, BlackbeltLaoBeatenText, $0000, BlackbeltLaoScript
 
 BlackbeltLaoScript:
    talkaftercancel
@@ -98,7 +98,7 @@ BlackbeltLaoScript:
    end
 
 TrainerBlackbeltNob:
    trainer EVENT_BEAT_BLACKBELT_NOB, BLACKBELT_T, NOB, BlackbeltNobSeenText, BlackbeltNobBeatenText, $0000, BlackbeltNobScript
 
 BlackbeltNobScript:
    talkaftercancel
@@ -109,7 +109,7 @@ BlackbeltNobScript:
    end
 
 TrainerBlackbeltLung:
    trainer EVENT_BEAT_BLACKBELT_LUNG, BLACKBELT_T, LUNG, BlackbeltLungSeenText, BlackbeltLungBeatenText, $0000, BlackbeltLungScript
 
 BlackbeltLungScript:
    talkaftercancel
@@ -313,12 +313,12 @@ CianwoodGym_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_CHUCK, 1, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, ChuckScript_0x9d60f, -1
-   person_event SPRITE_BLACK_BELT, 12, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBlackbeltYoshi, -1
-   person_event SPRITE_BLACK_BELT, 12, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBlackbeltLao, -1
-   person_event SPRITE_BLACK_BELT, 9, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBlackbeltNob, -1
-   person_event SPRITE_BLACK_BELT, 5, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerBlackbeltLung, -1
-   person_event SPRITE_BOULDER, 1, 5, $19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
-   person_event SPRITE_BOULDER, 7, 3, $19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
-   person_event SPRITE_BOULDER, 7, 4, $19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
-   person_event SPRITE_BOULDER, 7, 5, $19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
+   person_event SPRITE_CHUCK, 1, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, ChuckScript_0x9d60f, -1
+   person_event SPRITE_BLACK_BELT, 12, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBlackbeltYoshi, -1
+   person_event SPRITE_BLACK_BELT, 12, 7, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBlackbeltLao, -1
+   person_event SPRITE_BLACK_BELT, 9, 3, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBlackbeltNob, -1
+   person_event SPRITE_BLACK_BELT, 5, 5, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerBlackbeltLung, -1
+   person_event SPRITE_BOULDER, 1, 5, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
+   person_event SPRITE_BOULDER, 7, 3, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
+   person_event SPRITE_BOULDER, 7, 4, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
+   person_event SPRITE_BOULDER, 7, 5, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, CianwoodGymBoulder, -1
diff --git a/maps/CianwoodLugiaSpeechHouse.asm b/maps/CianwoodLugiaSpeechHouse.asm
index ee69203..0befc7e 100644
--- a/maps/CianwoodLugiaSpeechHouse.asm
+++ b/maps/CianwoodLugiaSpeechHouse.asm
@@ -75,6 +75,6 @@ CianwoodLugiaSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_TEACHER, 4, 2, $6, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x9e1b0, -1
-   person_event SPRITE_LASS, 5, 6, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x9e1b3, -1
-   person_event SPRITE_TWIN, 2, 0, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TwinScript_0x9e1b6, -1
+   person_event SPRITE_TEACHER, 4, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x9e1b0, -1
+   person_event SPRITE_LASS, 5, 6, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x9e1b3, -1
+   person_event SPRITE_TWIN, 2, 0, SPRITEMOVEFN_07, 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 8d09c50..a9dedd4 100644
--- a/maps/CianwoodPharmacy.asm
+++ b/maps/CianwoodPharmacy.asm
@@ -3,7 +3,7 @@ CianwoodPharmacy_MapScriptHeader:
    db 1
 
    ; triggers
    dw CianwoodPharmacyTrigger, $0000
 
 .MapCallbacks:
    db 0
@@ -90,4 +90,4 @@ CianwoodPharmacy_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_PHARMACIST, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CianwoodPharmacist, -1
+   person_event SPRITE_PHARMACIST, 3, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CianwoodPharmacist, -1
diff --git a/maps/CianwoodPokeCenter1F.asm b/maps/CianwoodPokeCenter1F.asm
index e2c4dce..e21d218 100644
--- a/maps/CianwoodPokeCenter1F.asm
+++ b/maps/CianwoodPokeCenter1F.asm
@@ -143,7 +143,7 @@ CianwoodPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x9dbcf, -1
-   person_event SPRITE_LASS, 5, 1, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x9dbd2, -1
-   person_event SPRITE_GYM_GUY, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CianwoodGymGuyScript, -1
-   person_event SPRITE_SUPER_NERD, 6, 8, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x9dbea, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x9dbcf, -1
+   person_event SPRITE_LASS, 5, 1, SPRITEMOVEFN_04, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x9dbd2, -1
+   person_event SPRITE_GYM_GUY, 3, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CianwoodGymGuyScript, -1
+   person_event SPRITE_SUPER_NERD, 6, 8, SPRITEMOVEFN_05, 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 871be40..8346adc 100644
--- a/maps/CinnabarIsland.asm
+++ b/maps/CinnabarIsland.asm
@@ -146,4 +146,4 @@ CinnabarIsland_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_BLUE, 6, 9, $3, 0, 0, -1, -1, 0, 0, 0, CinnabarIslandBlue, EVENT_BLUE_IN_CINNABAR
+   person_event SPRITE_BLUE, 6, 9, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, CinnabarIslandBlue, EVENT_BLUE_IN_CINNABAR
diff --git a/maps/CinnabarPokeCenter1F.asm b/maps/CinnabarPokeCenter1F.asm
index 14f300c..5d9fd84 100644
--- a/maps/CinnabarPokeCenter1F.asm
+++ b/maps/CinnabarPokeCenter1F.asm
@@ -47,6 +47,6 @@ CinnabarPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x1ab32c, -1
-   person_event SPRITE_COOLTRAINER_F, 6, 7, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x1ab32f, -1
-   person_event SPRITE_FISHER, 4, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1ab332, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x1ab32c, -1
+   person_event SPRITE_COOLTRAINER_F, 6, 7, SPRITEMOVEFN_05, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x1ab32f, -1
+   person_event SPRITE_FISHER, 4, 2, SPRITEMOVEFN_06, 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 c77512f..80028a7 100644
--- a/maps/Colosseum.asm
+++ b/maps/Colosseum.asm
@@ -3,9 +3,9 @@ Colosseum_MapScriptHeader:
    db 3
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
    dw .Trigger3, $0000
 
 .MapCallbacks:
    db 2
@@ -83,5 +83,5 @@ Colosseum_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_CHRIS, 4, 3, $9, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_GAVE_KURT_APRICORNS
-   person_event SPRITE_CHRIS, 4, 6, $8, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_RECEIVED_BALLS_FROM_KURT
+   person_event SPRITE_CHRIS, 4, 3, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_GAVE_KURT_APRICORNS
+   person_event SPRITE_CHRIS, 4, 6, SPRITEMOVEFN_08, 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 4eb7919..f8aa486 100644
--- a/maps/CopycatsHouse1F.asm
+++ b/maps/CopycatsHouse1F.asm
@@ -85,6 +85,6 @@ CopycatsHouse1F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKEFAN_M, 3, 2, $6, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x18ad13, -1
-   person_event SPRITE_POKEFAN_F, 4, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PokefanFScript_0x18ad16, -1
-   person_event SPRITE_CLEFAIRY, 6, 6, $16, 0, 0, -1, -1, 0, 0, 0, ClefairyScript_0x18ad2a, -1
+   person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x18ad13, -1
+   person_event SPRITE_POKEFAN_F, 4, 5, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, PokefanFScript_0x18ad16, -1
+   person_event SPRITE_CLEFAIRY, 6, 6, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, ClefairyScript_0x18ad2a, -1
diff --git a/maps/CopycatsHouse2F.asm b/maps/CopycatsHouse2F.asm
index b4e608c..394f201 100644
--- a/maps/CopycatsHouse2F.asm
+++ b/maps/CopycatsHouse2F.asm
@@ -373,9 +373,9 @@ CopycatsHouse2F_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_COPYCAT, 3, 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Copycat, EVENT_COPYCAT_1
-   person_event SPRITE_MOLTRES, 4, 6, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CopycatsDodrio, -1
-   person_event SPRITE_FAIRY, 1, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CopycatsHouse2FDoll, EVENT_COPYCATS_HOUSE_2F_DOLL
-   person_event SPRITE_MONSTER, 1, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CopycatsHouse2FDoll, -1
-   person_event SPRITE_BIRD, 1, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CopycatsHouse2FDoll, -1
-   person_event SPRITE_COPYCAT, 3, 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, Copycat, EVENT_COPYCAT_2
+   person_event SPRITE_COPYCAT, 3, 4, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Copycat, EVENT_COPYCAT_1
+   person_event SPRITE_MOLTRES, 4, 6, SPRITEMOVEFN_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CopycatsDodrio, -1
+   person_event SPRITE_FAIRY, 1, 6, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CopycatsHouse2FDoll, EVENT_COPYCATS_HOUSE_2F_DOLL
+   person_event SPRITE_MONSTER, 1, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CopycatsHouse2FDoll, -1
+   person_event SPRITE_BIRD, 1, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CopycatsHouse2FDoll, -1
+   person_event SPRITE_COPYCAT, 3, 4, SPRITEMOVEFN_08, 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 4824e67..54ef492 100644
--- a/maps/DanceTheatre.asm
+++ b/maps/DanceTheatre.asm
@@ -6,7 +6,7 @@ DanceTheatre_MapScriptHeader:
    db 0
 
 TrainerKimono_girlNaoko2:
    trainer EVENT_BEAT_KIMONO_GIRL_NAOKO, KIMONO_GIRL, NAOKO2, Kimono_girlNaoko2SeenText, Kimono_girlNaoko2BeatenText, $0000, Kimono_girlNaoko2Script
 
 Kimono_girlNaoko2Script:
    talkaftercancel
@@ -17,7 +17,7 @@ Kimono_girlNaoko2Script:
    end
 
 TrainerKimono_girlSayo:
    trainer EVENT_BEAT_KIMONO_GIRL_SAYO, KIMONO_GIRL, SAYO, Kimono_girlSayoSeenText, Kimono_girlSayoBeatenText, $0000, Kimono_girlSayoScript
 
 Kimono_girlSayoScript:
    talkaftercancel
@@ -28,7 +28,7 @@ Kimono_girlSayoScript:
    end
 
 TrainerKimono_girlZuki:
    trainer EVENT_BEAT_KIMONO_GIRL_ZUKI, KIMONO_GIRL, ZUKI, Kimono_girlZukiSeenText, Kimono_girlZukiBeatenText, $0000, Kimono_girlZukiScript
 
 Kimono_girlZukiScript:
    talkaftercancel
@@ -39,7 +39,7 @@ Kimono_girlZukiScript:
    end
 
 TrainerKimono_girlKuni:
    trainer EVENT_BEAT_KIMONO_GIRL_KUNI, KIMONO_GIRL, KUNI, Kimono_girlKuniSeenText, Kimono_girlKuniBeatenText, $0000, Kimono_girlKuniScript
 
 Kimono_girlKuniScript:
    talkaftercancel
@@ -50,7 +50,7 @@ Kimono_girlKuniScript:
    end
 
 TrainerKimono_girlMiki:
    trainer EVENT_BEAT_KIMONO_GIRL_MIKI, KIMONO_GIRL, MIKI, Kimono_girlMikiSeenText, Kimono_girlMikiBeatenText, $0000, Kimono_girlMikiScript
 
 Kimono_girlMikiScript:
    talkaftercancel
@@ -345,12 +345,12 @@ DanceTheatre_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_KIMONO_GIRL, 2, 0, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerKimono_girlNaoko2, -1
-   person_event SPRITE_KIMONO_GIRL, 1, 2, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerKimono_girlSayo, -1
-   person_event SPRITE_KIMONO_GIRL, 2, 6, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerKimono_girlZuki, -1
-   person_event SPRITE_KIMONO_GIRL, 1, 9, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerKimono_girlKuni, -1
-   person_event SPRITE_KIMONO_GIRL, 2, 11, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerKimono_girlMiki, -1
-   person_event SPRITE_GENTLEMAN, 10, 7, $7, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x994c6, -1
-   person_event SPRITE_RHYDON, 8, 6, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, RhydonScript_0x9951b, -1
-   person_event SPRITE_COOLTRAINER_M, 10, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x99525, -1
-   person_event SPRITE_GRANNY, 6, 3, $7, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x99528, -1
+   person_event SPRITE_KIMONO_GIRL, 2, 0, SPRITEMOVEFN_1E, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerKimono_girlNaoko2, -1
+   person_event SPRITE_KIMONO_GIRL, 1, 2, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerKimono_girlSayo, -1
+   person_event SPRITE_KIMONO_GIRL, 2, 6, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerKimono_girlZuki, -1
+   person_event SPRITE_KIMONO_GIRL, 1, 9, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerKimono_girlKuni, -1
+   person_event SPRITE_KIMONO_GIRL, 2, 11, SPRITEMOVEFN_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerKimono_girlMiki, -1
+   person_event SPRITE_GENTLEMAN, 10, 7, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x994c6, -1
+   person_event SPRITE_RHYDON, 8, 6, SPRITEMOVEFN_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, RhydonScript_0x9951b, -1
+   person_event SPRITE_COOLTRAINER_M, 10, 10, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x99525, -1
+   person_event SPRITE_GRANNY, 6, 3, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x99528, -1
diff --git a/maps/DarkCaveBlackthornEntrance.asm b/maps/DarkCaveBlackthornEntrance.asm
index 0fdc70f..09ff0b2 100644
--- a/maps/DarkCaveBlackthornEntrance.asm
+++ b/maps/DarkCaveBlackthornEntrance.asm
@@ -73,6 +73,6 @@ DarkCaveBlackthornEntrance_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_PHARMACIST, 3, 7, $3, 0, 0, -1, -1, 0, 0, 0, PharmacistScript_0x18c720, -1
-   person_event SPRITE_POKE_BALL, 24, 21, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c73b, EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_REVIVE
-   person_event SPRITE_POKE_BALL, 22, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c73d, EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_TM_SNORE
+   person_event SPRITE_PHARMACIST, 3, 7, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, PharmacistScript_0x18c720, -1
+   person_event SPRITE_POKE_BALL, 24, 21, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c73b, EVENT_DARK_CAVE_BLACKTHORN_ENTRANCE_REVIVE
+   person_event SPRITE_POKE_BALL, 22, 7, SPRITEMOVEFN_01, 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 9807cce..6fd85b2 100644
--- a/maps/DarkCaveVioletEntrance.asm
+++ b/maps/DarkCaveVioletEntrance.asm
@@ -43,11 +43,11 @@ DarkCaveVioletEntrance_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_POKE_BALL, 8, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c68e, EVENT_DARK_CAVE_VIOLET_ENTRANCE_POTION
-   person_event SPRITE_ROCK, 14, 16, $18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
-   person_event SPRITE_ROCK, 6, 27, $18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
-   person_event SPRITE_ROCK, 14, 7, $18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
-   person_event SPRITE_ROCK, 31, 36, $18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
-   person_event SPRITE_POKE_BALL, 22, 36, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c690, EVENT_DARK_CAVE_VIOLET_ENTRANCE_FULL_HEAL
-   person_event SPRITE_POKE_BALL, 9, 35, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c692, EVENT_DARK_CAVE_VIOLET_ENTRANCE_HYPER_POTION
-   person_event SPRITE_POKE_BALL, 28, 30, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c694, EVENT_DARK_CAVE_VIOLET_ENTRANCE_DIRE_HIT
+   person_event SPRITE_POKE_BALL, 8, 6, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c68e, EVENT_DARK_CAVE_VIOLET_ENTRANCE_POTION
+   person_event SPRITE_ROCK, 14, 16, SPRITEMOVEFN_18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
+   person_event SPRITE_ROCK, 6, 27, SPRITEMOVEFN_18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
+   person_event SPRITE_ROCK, 14, 7, SPRITEMOVEFN_18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
+   person_event SPRITE_ROCK, 31, 36, SPRITEMOVEFN_18, 0, 0, -1, -1, 0, 0, 0, DarkCaveVioletEntranceRock, -1
+   person_event SPRITE_POKE_BALL, 22, 36, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c690, EVENT_DARK_CAVE_VIOLET_ENTRANCE_FULL_HEAL
+   person_event SPRITE_POKE_BALL, 9, 35, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c692, EVENT_DARK_CAVE_VIOLET_ENTRANCE_HYPER_POTION
+   person_event SPRITE_POKE_BALL, 28, 30, SPRITEMOVEFN_01, 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 1415c73..0af93ee 100644
--- a/maps/DayCare.asm
+++ b/maps/DayCare.asm
@@ -175,5 +175,5 @@ DayCare_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_GRAMPS, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x62f8f, EVENT_DAYCARE_MAN_IN_DAYCARE
-   person_event SPRITE_GRANNY, 3, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GrannyScript_0x62fc3, -1
+   person_event SPRITE_GRAMPS, 3, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x62f8f, EVENT_DAYCARE_MAN_IN_DAYCARE
+   person_event SPRITE_GRANNY, 3, 5, SPRITEMOVEFN_08, 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 67d6646..b7d1e00 100644
--- a/maps/DiglettsCave.asm
+++ b/maps/DiglettsCave.asm
@@ -42,4 +42,4 @@ DiglettsCave_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKEFAN_M, 31, 3, $6, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x74002, -1
+   person_event SPRITE_POKEFAN_M, 31, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x74002, -1
diff --git a/maps/DragonShrine.asm b/maps/DragonShrine.asm
index 199b43c..18961a5 100644
--- a/maps/DragonShrine.asm
+++ b/maps/DragonShrine.asm
@@ -3,8 +3,8 @@ DragonShrine_MapScriptHeader:
    db 2
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
 
 .MapCallbacks:
    db 0
@@ -681,7 +681,7 @@ DragonShrine_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_ELDER, 1, 5, $6, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d1a5, EVENT_GAVE_KURT_APRICORNS
-   person_event SPRITE_ELDER, 4, 2, $9, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d205, EVENT_GAVE_KURT_APRICORNS
-   person_event SPRITE_ELDER, 4, 7, $8, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d20d, EVENT_GAVE_KURT_APRICORNS
-   person_event SPRITE_CLAIR, 8, 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_DRAGON_SHRINE_CLAIR
+   person_event SPRITE_ELDER, 1, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d1a5, EVENT_GAVE_KURT_APRICORNS
+   person_event SPRITE_ELDER, 4, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d205, EVENT_GAVE_KURT_APRICORNS
+   person_event SPRITE_ELDER, 4, 7, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, ElderScript_0x18d20d, EVENT_GAVE_KURT_APRICORNS
+   person_event SPRITE_CLAIR, 8, 4, SPRITEMOVEFN_07, 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 baaa078..b3e2e25 100644
--- a/maps/DragonsDenB1F.asm
+++ b/maps/DragonsDenB1F.asm
@@ -3,8 +3,8 @@ DragonsDenB1F_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x18c89d, $0000
    dw UnknownScript_0x18c89e, $0000
 
 .MapCallbacks:
    db 1
@@ -78,7 +78,7 @@ UnknownScript_0x18c8f9:
    end
 
 TrainerCooltrainermDarin:
    trainer EVENT_BEAT_COOLTRAINERM_DARIN, COOLTRAINERM, DARIN, CooltrainermDarinSeenText, CooltrainermDarinBeatenText, $0000, CooltrainermDarinScript
 
 CooltrainermDarinScript:
    talkaftercancel
@@ -89,7 +89,7 @@ CooltrainermDarinScript:
    end
 
 TrainerCooltrainerfCara:
    trainer EVENT_BEAT_COOLTRAINERF_CARA, COOLTRAINERF, CARA, CooltrainerfCaraSeenText, CooltrainerfCaraBeatenText, $0000, CooltrainerfCaraScript
 
 CooltrainerfCaraScript:
    talkaftercancel
@@ -100,7 +100,7 @@ CooltrainerfCaraScript:
    end
 
 TrainerTwinsLeaandpia1:
    trainer EVENT_BEAT_TWINS_LEA_AND_PIA, TWINS, LEAANDPIA1, TwinsLeaandpia1SeenText, TwinsLeaandpia1BeatenText, $0000, TwinsLeaandpia1Script
 
 TwinsLeaandpia1Script:
    talkaftercancel
@@ -111,7 +111,7 @@ TwinsLeaandpia1Script:
    end
 
 TrainerTwinsLeaandpia2:
    trainer EVENT_BEAT_TWINS_LEA_AND_PIA, TWINS, LEAANDPIA1, TwinsLeaandpia2SeenText, TwinsLeaandpia2BeatenText, $0000, TwinsLeaandpia2Script
 
 TwinsLeaandpia2Script:
    talkaftercancel
@@ -419,12 +419,12 @@ DragonsDenB1F_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_POKE_BALL, 16, 35, $1, 0, 0, -1, -1, 0, 0, 0, PokeBallScript_0x18c95a, EVENT_DRAGONS_DEN_B1F_DRAGON_FANG
-   person_event SPRITE_CLAIR, 30, 14, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_DRAGONS_DEN_CLAIR
-   person_event SPRITE_SILVER, 23, 20, $2, 2, 2, -1, -1, 0, 0, 0, SilverScript_0x18c97e, EVENT_RIVAL_DRAGONS_DEN
-   person_event SPRITE_COOLTRAINER_M, 8, 20, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainermDarin, -1
-   person_event SPRITE_COOLTRAINER_F, 8, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfCara, -1
-   person_event SPRITE_TWIN, 17, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsLeaandpia1, -1
-   person_event SPRITE_TWIN, 18, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsLeaandpia2, -1
-   person_event SPRITE_POKE_BALL, 4, 30, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c9a1, EVENT_DRAGONS_DEN_B1F_CALCIUM
-   person_event SPRITE_POKE_BALL, 20, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c9a3, EVENT_DRAGONS_DEN_B1F_MAX_ELIXER
+   person_event SPRITE_POKE_BALL, 16, 35, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, PokeBallScript_0x18c95a, EVENT_DRAGONS_DEN_B1F_DRAGON_FANG
+   person_event SPRITE_CLAIR, 30, 14, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_DRAGONS_DEN_CLAIR
+   person_event SPRITE_SILVER, 23, 20, SPRITEMOVEFN_02, 2, 2, -1, -1, 0, 0, 0, SilverScript_0x18c97e, EVENT_RIVAL_DRAGONS_DEN
+   person_event SPRITE_COOLTRAINER_M, 8, 20, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainermDarin, -1
+   person_event SPRITE_COOLTRAINER_F, 8, 8, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfCara, -1
+   person_event SPRITE_TWIN, 17, 4, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsLeaandpia1, -1
+   person_event SPRITE_TWIN, 18, 4, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsLeaandpia2, -1
+   person_event SPRITE_POKE_BALL, 4, 30, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c9a1, EVENT_DRAGONS_DEN_B1F_CALCIUM
+   person_event SPRITE_POKE_BALL, 20, 5, SPRITEMOVEFN_01, 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 4c5aeef..289046d 100644
--- a/maps/EarlsPokemonAcademy.asm
+++ b/maps/EarlsPokemonAcademy.asm
@@ -106,7 +106,7 @@ AcademyBlackboard:
    dn 3, 2 ; rows, columns
    db 5 ; spacing
    dbw BANK(.Text), .Text
    dbw $1a, $0000
 
 .Text
    db "PSN@"
@@ -425,9 +425,9 @@ EarlsPokemonAcademy_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_FISHER, 2, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, AcademyEarl, EVENT_EARLS_ACADEMY_EARL
-   person_event SPRITE_YOUNGSTER, 5, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x68a83, -1
-   person_event SPRITE_GAMEBOY_KID, 11, 3, $6, 0, 0, -1, -1, 0, 0, 0, GameboyKidScript_0x68a86, -1
-   person_event SPRITE_GAMEBOY_KID, 11, 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GameboyKidScript_0x68a91, -1
-   person_event SPRITE_YOUNGSTER, 7, 4, $7, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x68a9c, -1
-   person_event SPRITE_POKEDEX, 4, 2, $1, 0, 0, -1, -1, 0, 0, 0, AcademyNotebook, -1
+   person_event SPRITE_FISHER, 2, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, AcademyEarl, EVENT_EARLS_ACADEMY_EARL
+   person_event SPRITE_YOUNGSTER, 5, 2, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x68a83, -1
+   person_event SPRITE_GAMEBOY_KID, 11, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, GameboyKidScript_0x68a86, -1
+   person_event SPRITE_GAMEBOY_KID, 11, 4, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GameboyKidScript_0x68a91, -1
+   person_event SPRITE_YOUNGSTER, 7, 4, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x68a9c, -1
+   person_event SPRITE_POKEDEX, 4, 2, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, AcademyNotebook, -1
diff --git a/maps/EcruteakCity.asm b/maps/EcruteakCity.asm
index 6b072e6..804dd5a 100644
--- a/maps/EcruteakCity.asm
+++ b/maps/EcruteakCity.asm
@@ -290,10 +290,10 @@ EcruteakCity_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_GRAMPS, 15, 18, $2, 1, 1, -1, -1, 0, 0, 0, GrampsScript_0x1a4009, -1
-   person_event SPRITE_GRAMPS, 21, 20, $3, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a400c, -1
-   person_event SPRITE_LASS, 29, 21, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x1a4012, -1
-   person_event SPRITE_LASS, 9, 3, $7, 0, 0, -1, -1, 0, 0, 0, LassScript_0x1a4015, -1
-   person_event SPRITE_FISHER, 22, 9, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a4029, -1
-   person_event SPRITE_YOUNGSTER, 14, 10, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x1a403d, -1
-   person_event SPRITE_GRAMPS, 7, 3, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GrampsScript_0x1a400f, EVENT_ECRUTEAK_CITY_GRAMPS
+   person_event SPRITE_GRAMPS, 15, 18, SPRITEMOVEFN_02, 1, 1, -1, -1, 0, 0, 0, GrampsScript_0x1a4009, -1
+   person_event SPRITE_GRAMPS, 21, 20, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1a400c, -1
+   person_event SPRITE_LASS, 29, 21, SPRITEMOVEFN_05, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x1a4012, -1
+   person_event SPRITE_LASS, 9, 3, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, LassScript_0x1a4015, -1
+   person_event SPRITE_FISHER, 22, 9, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a4029, -1
+   person_event SPRITE_YOUNGSTER, 14, 10, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x1a403d, -1
+   person_event SPRITE_GRAMPS, 7, 3, SPRITEMOVEFN_02, 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 9c012fe..7d153b5 100644
--- a/maps/EcruteakGym.asm
+++ b/maps/EcruteakGym.asm
@@ -3,8 +3,8 @@ EcruteakGym_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x99d53, $0000
    dw UnknownScript_0x99d57, $0000
 
 .MapCallbacks:
    db 0
@@ -24,7 +24,7 @@ MortyScript_0x99d58:
    writetext UnknownText_0x99e65
    closetext
    loadmovesprites
    winlosstext UnknownText_0x9a00a, $0000
    loadtrainer MORTY, 1
    startbattle
    returnafterbattle
@@ -91,7 +91,7 @@ UnknownScript_0x99dc6:
    end
 
 TrainerSageJeffrey:
    trainer EVENT_BEAT_SAGE_JEFFREY, SAGE, JEFFREY, SageJeffreySeenText, SageJeffreyBeatenText, $0000, SageJeffreyScript
 
 SageJeffreyScript:
    talkaftercancel
@@ -102,7 +102,7 @@ SageJeffreyScript:
    end
 
 TrainerSagePing:
    trainer EVENT_BEAT_SAGE_PING, SAGE, PING, SagePingSeenText, SagePingBeatenText, $0000, SagePingScript
 
 SagePingScript:
    talkaftercancel
@@ -113,7 +113,7 @@ SagePingScript:
    end
 
 TrainerMediumMartha:
    trainer EVENT_BEAT_MEDIUM_MARTHA, MEDIUM, MARTHA, MediumMarthaSeenText, MediumMarthaBeatenText, $0000, MediumMarthaScript
 
 MediumMarthaScript:
    talkaftercancel
@@ -124,7 +124,7 @@ MediumMarthaScript:
    end
 
 TrainerMediumGrace:
    trainer EVENT_BEAT_MEDIUM_GRACE, MEDIUM, GRACE, MediumGraceSeenText, MediumGraceBeatenText, $0000, MediumGraceScript
 
 MediumGraceScript:
    talkaftercancel
@@ -429,10 +429,10 @@ EcruteakGym_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_MORTY, 1, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MortyScript_0x99d58, -1
-   person_event SPRITE_SAGE, 7, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSageJeffrey, -1
-   person_event SPRITE_SAGE, 13, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSagePing, -1
-   person_event SPRITE_GRANNY, 5, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerMediumMartha, -1
-   person_event SPRITE_GRANNY, 9, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerMediumGrace, -1
-   person_event SPRITE_GYM_GUY, 15, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, EcruteakGymGuyScript, -1
-   person_event SPRITE_GRAMPS, 14, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, EVENT_ECRUTEAK_GYM_GRAMPS
+   person_event SPRITE_MORTY, 1, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MortyScript_0x99d58, -1
+   person_event SPRITE_SAGE, 7, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSageJeffrey, -1
+   person_event SPRITE_SAGE, 13, 3, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSagePing, -1
+   person_event SPRITE_GRANNY, 5, 7, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerMediumMartha, -1
+   person_event SPRITE_GRANNY, 9, 7, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerMediumGrace, -1
+   person_event SPRITE_GYM_GUY, 15, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, EcruteakGymGuyScript, -1
+   person_event SPRITE_GRAMPS, 14, 4, SPRITEMOVEFN_06, 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 b410f7d..7eb175d 100644
--- a/maps/EcruteakHouse.asm
+++ b/maps/EcruteakHouse.asm
@@ -3,8 +3,8 @@ EcruteakHouse_MapScriptHeader:
    db 2
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
 
 .MapCallbacks:
    db 1
@@ -298,7 +298,7 @@ EcruteakHouse_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_SAGE, 6, 4, $6, 0, 0, -1, -1, 0, 0, 0, SageScript_0x98062, EVENT_RANG_CLEAR_BELL_1
-   person_event SPRITE_SAGE, 6, 5, $6, 0, 0, -1, -1, 0, 0, 0, SageScript_0x98062, EVENT_RANG_CLEAR_BELL_2
-   person_event SPRITE_SAGE, 9, 6, $2, 1, 1, -1, -1, 0, 0, 0, SageScript_0x980b0, EVENT_ECRUTEAK_HOUSE_WANDERING_SAGE
-   person_event SPRITE_GRAMPS, 11, 3, $2, 1, 1, -1, -1, 0, 0, 0, GrampsScript_0x980c4, EVENT_ECRUTEAK_HOUSE_WANDERING_SAGE
+   person_event SPRITE_SAGE, 6, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, SageScript_0x98062, EVENT_RANG_CLEAR_BELL_1
+   person_event SPRITE_SAGE, 6, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, SageScript_0x98062, EVENT_RANG_CLEAR_BELL_2
+   person_event SPRITE_SAGE, 9, 6, SPRITEMOVEFN_02, 1, 1, -1, -1, 0, 0, 0, SageScript_0x980b0, EVENT_ECRUTEAK_HOUSE_WANDERING_SAGE
+   person_event SPRITE_GRAMPS, 11, 3, SPRITEMOVEFN_02, 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 bc1b679..98d85bb 100644
--- a/maps/EcruteakItemfinderHouse.asm
+++ b/maps/EcruteakItemfinderHouse.asm
@@ -176,5 +176,5 @@ EcruteakItemfinderHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_COOLTRAINER_M, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x9a5fb, -1
-   person_event SPRITE_POKEDEX, 3, 3, $1, 0, 0, -1, -1, 0, 0, 0, PokedexScript_0x9a620, -1
+   person_event SPRITE_COOLTRAINER_M, 3, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x9a5fb, -1
+   person_event SPRITE_POKEDEX, 3, 3, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, PokedexScript_0x9a620, -1
diff --git a/maps/EcruteakLugiaSpeechHouse.asm b/maps/EcruteakLugiaSpeechHouse.asm
index d3218b2..6e54322 100644
--- a/maps/EcruteakLugiaSpeechHouse.asm
+++ b/maps/EcruteakLugiaSpeechHouse.asm
@@ -58,5 +58,5 @@ EcruteakLugiaSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_GRAMPS, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x99334, -1
-   person_event SPRITE_YOUNGSTER, 4, 5, $8, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x99337, -1
+   person_event SPRITE_GRAMPS, 3, 2, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x99334, -1
+   person_event SPRITE_YOUNGSTER, 4, 5, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x99337, -1
diff --git a/maps/EcruteakMart.asm b/maps/EcruteakMart.asm
index e382615..5b34631 100644
--- a/maps/EcruteakMart.asm
+++ b/maps/EcruteakMart.asm
@@ -57,6 +57,6 @@ EcruteakMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x99c3b, -1
-   person_event SPRITE_SUPER_NERD, 2, 5, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x99c42, -1
-   person_event SPRITE_GRANNY, 6, 6, $7, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x99c45, -1
+   person_event SPRITE_CLERK, 3, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x99c3b, -1
+   person_event SPRITE_SUPER_NERD, 2, 5, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x99c42, -1
+   person_event SPRITE_GRANNY, 6, 6, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x99c45, -1
diff --git a/maps/EcruteakPokeCenter1F.asm b/maps/EcruteakPokeCenter1F.asm
index 66acfaa..4e8071e 100644
--- a/maps/EcruteakPokeCenter1F.asm
+++ b/maps/EcruteakPokeCenter1F.asm
@@ -3,8 +3,8 @@ EcruteakPokeCenter1F_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x98e5f, $0000
    dw UnknownScript_0x98e63, $0000
 
 .MapCallbacks:
    db 0
@@ -219,8 +219,8 @@ EcruteakPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x98eb0, -1
-   person_event SPRITE_POKEFAN_M, 6, 7, $a, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x98eb3, -1
-   person_event SPRITE_COOLTRAINER_F, 4, 1, $3, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x98ebf, -1
-   person_event SPRITE_GYM_GUY, 1, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GymGuyScript_0x98ec2, -1
-   person_event SPRITE_BILL, 7, 0, $9, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_ECRUTEAK_POKE_CENTER_BILL
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x98eb0, -1
+   person_event SPRITE_POKEFAN_M, 6, 7, SPRITEMOVEFN_0A, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x98eb3, -1
+   person_event SPRITE_COOLTRAINER_F, 4, 1, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x98ebf, -1
+   person_event SPRITE_GYM_GUY, 1, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GymGuyScript_0x98ec2, -1
+   person_event SPRITE_BILL, 7, 0, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_ECRUTEAK_POKE_CENTER_BILL
diff --git a/maps/ElmsHouse.asm b/maps/ElmsHouse.asm
index e8673a6..68376ca 100644
--- a/maps/ElmsHouse.asm
+++ b/maps/ElmsHouse.asm
@@ -99,5 +99,5 @@ ElmsHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_TEACHER, 5, 1, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ElmsWife, -1
-   person_event SPRITE_BUG_CATCHER, 4, 5, $7, 0, 0, -1, -1, 0, 0, 0, ElmsSon, -1
+   person_event SPRITE_TEACHER, 5, 1, SPRITEMOVEFN_04, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ElmsWife, -1
+   person_event SPRITE_BUG_CATCHER, 4, 5, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, ElmsSon, -1
diff --git a/maps/ElmsLab.asm b/maps/ElmsLab.asm
index 45e0c23..7abd783 100644
--- a/maps/ElmsLab.asm
+++ b/maps/ElmsLab.asm
@@ -3,12 +3,12 @@ ElmsLab_MapScriptHeader:
    db 6
 
    ; triggers
    dw UnknownScript_0x78b7a, $0000
    dw UnknownScript_0x78b7e, $0000
    dw UnknownScript_0x78b7f, $0000
    dw UnknownScript_0x78b80, $0000
    dw UnknownScript_0x78b81, $0000
    dw UnknownScript_0x78b82, $0000
 
 .MapCallbacks:
    db 1
@@ -1408,9 +1408,9 @@ ElmsLab_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_ELM, 2, 5, $6, 0, 0, -1, -1, 0, 0, 0, ProfElmScript, -1
-   person_event SPRITE_SCIENTIST, 9, 2, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ElmsAideScript, EVENT_ELMS_AIDE_IN_LAB
-   person_event SPRITE_POKE_BALL, 3, 6, $1, 0, 0, -1, -1, 0, 0, 0, CyndaquilPokeBallScript, EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB
-   person_event SPRITE_POKE_BALL, 3, 7, $1, 0, 0, -1, -1, 0, 0, 0, TotodilePokeBallScript, EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB
-   person_event SPRITE_POKE_BALL, 3, 8, $1, 0, 0, -1, -1, 0, 0, 0, ChikoritaPokeBallScript, EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB
-   person_event SPRITE_OFFICER, 3, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CopScript, EVENT_COP_IN_ELMS_LAB
+   person_event SPRITE_ELM, 2, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, ProfElmScript, -1
+   person_event SPRITE_SCIENTIST, 9, 2, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ElmsAideScript, EVENT_ELMS_AIDE_IN_LAB
+   person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, CyndaquilPokeBallScript, EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB
+   person_event SPRITE_POKE_BALL, 3, 7, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, TotodilePokeBallScript, EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB
+   person_event SPRITE_POKE_BALL, 3, 8, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, ChikoritaPokeBallScript, EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB
+   person_event SPRITE_OFFICER, 3, 5, SPRITEMOVEFN_07, 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 5e3f3a0..7596674 100644
--- a/maps/FastShip1F.asm
+++ b/maps/FastShip1F.asm
@@ -3,9 +3,9 @@ FastShip1F_MapScriptHeader:
    db 3
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
    dw .Trigger3, $0000
 
 .MapCallbacks:
    db 0
@@ -310,7 +310,7 @@ FastShip1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_SAILOR, 2, 25, $6, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x75160, -1
-   person_event SPRITE_SAILOR, 7, 14, $9, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x751d0, -1
-   person_event SPRITE_SAILOR, 17, 22, $5, 0, 2, -1, -1, 0, 0, 0, SailorScript_0x751e4, -1
-   person_event SPRITE_GENTLEMAN, 6, 19, $9, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_FAST_SHIP_1F_GENTLEMAN
+   person_event SPRITE_SAILOR, 2, 25, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x75160, -1
+   person_event SPRITE_SAILOR, 7, 14, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x751d0, -1
+   person_event SPRITE_SAILOR, 17, 22, SPRITEMOVEFN_05, 0, 2, -1, -1, 0, 0, 0, SailorScript_0x751e4, -1
+   person_event SPRITE_GENTLEMAN, 6, 19, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_FAST_SHIP_1F_GENTLEMAN
diff --git a/maps/FastShipB1F.asm b/maps/FastShipB1F.asm
index 735ad6e..b094f58 100644
--- a/maps/FastShipB1F.asm
+++ b/maps/FastShipB1F.asm
@@ -3,8 +3,8 @@ FastShipB1F_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x7673a, $0000
    dw UnknownScript_0x7673b, $0000
 
 .MapCallbacks:
    db 0
@@ -82,7 +82,7 @@ UnknownScript_0x767a0:
    end
 
 TrainerSailorJeff:
    trainer EVENT_BEAT_SAILOR_JEFF, SAILOR, JEFF, SailorJeffSeenText, SailorJeffBeatenText, $0000, SailorJeffScript
 
 SailorJeffScript:
    talkaftercancel
@@ -93,7 +93,7 @@ SailorJeffScript:
    end
 
 TrainerPicnickerDebra:
    trainer EVENT_BEAT_PICNICKER_DEBRA, PICNICKER, DEBRA, PicnickerDebraSeenText, PicnickerDebraBeatenText, $0000, PicnickerDebraScript
 
 PicnickerDebraScript:
    talkaftercancel
@@ -104,7 +104,7 @@ PicnickerDebraScript:
    end
 
 TrainerJugglerFritz:
    trainer EVENT_BEAT_JUGGLER_FRITZ, JUGGLER, FRITZ, JugglerFritzSeenText, JugglerFritzBeatenText, $0000, JugglerFritzScript
 
 JugglerFritzScript:
    talkaftercancel
@@ -115,7 +115,7 @@ JugglerFritzScript:
    end
 
 TrainerSailorGarrett:
    trainer EVENT_BEAT_SAILOR_GARRETT, SAILOR, GARRETT, SailorGarrettSeenText, SailorGarrettBeatenText, $0000, SailorGarrettScript
 
 SailorGarrettScript:
    talkaftercancel
@@ -126,7 +126,7 @@ SailorGarrettScript:
    end
 
 TrainerFisherJonah:
    trainer EVENT_BEAT_FISHER_JONAH, FISHER, JONAH, FisherJonahSeenText, FisherJonahBeatenText, $0000, FisherJonahScript
 
 FisherJonahScript:
    talkaftercancel
@@ -137,7 +137,7 @@ FisherJonahScript:
    end
 
 TrainerBlackbeltWai:
    trainer EVENT_BEAT_BLACKBELT_WAI, BLACKBELT_T, WAI, BlackbeltWaiSeenText, BlackbeltWaiBeatenText, $0000, BlackbeltWaiScript
 
 BlackbeltWaiScript:
    talkaftercancel
@@ -148,7 +148,7 @@ BlackbeltWaiScript:
    end
 
 TrainerSailorKenneth:
    trainer EVENT_BEAT_SAILOR_KENNETH, SAILOR, KENNETH, SailorKennethSeenText, SailorKennethBeatenText, $0000, SailorKennethScript
 
 SailorKennethScript:
    talkaftercancel
@@ -159,7 +159,7 @@ SailorKennethScript:
    end
 
 TrainerTeacherShirley:
    trainer EVENT_BEAT_TEACHER_SHIRLEY, TEACHER, SHIRLEY, TeacherShirleySeenText, TeacherShirleyBeatenText, $0000, TeacherShirleyScript
 
 TeacherShirleyScript:
    talkaftercancel
@@ -170,7 +170,7 @@ TeacherShirleyScript:
    end
 
 TrainerSchoolboyNate:
    trainer EVENT_BEAT_SCHOOLBOY_NATE, SCHOOLBOY, NATE, SchoolboyNateSeenText, SchoolboyNateBeatenText, $0000, SchoolboyNateScript
 
 SchoolboyNateScript:
    talkaftercancel
@@ -181,7 +181,7 @@ SchoolboyNateScript:
    end
 
 TrainerSchoolboyRicky:
    trainer EVENT_BEAT_SCHOOLBOY_RICKY, SCHOOLBOY, RICKY, SchoolboyRickySeenText, SchoolboyRickyBeatenText, $0000, SchoolboyRickyScript
 
 SchoolboyRickyScript:
    talkaftercancel
@@ -456,15 +456,15 @@ FastShipB1F_MapEventHeader:
 
 .PersonEvents:
    db 12
-   person_event SPRITE_SAILOR, 6, 30, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x76767, EVENT_FAST_SHIP_B1F_SAILOR_LEFT
-   person_event SPRITE_SAILOR, 6, 31, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x76767, EVENT_FAST_SHIP_B1F_SAILOR_RIGHT
-   person_event SPRITE_SAILOR, 11, 9, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorJeff, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-   person_event SPRITE_LASS, 4, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerDebra, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-   person_event SPRITE_SUPER_NERD, 9, 26, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerJugglerFritz, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-   person_event SPRITE_SAILOR, 4, 17, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSailorGarrett, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-   person_event SPRITE_FISHER, 8, 25, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherJonah, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-   person_event SPRITE_BLACK_BELT, 11, 15, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBlackbeltWai, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-   person_event SPRITE_SAILOR, 4, 23, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSailorKenneth, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-   person_event SPRITE_TEACHER, 11, 9, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerTeacherShirley, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-   person_event SPRITE_YOUNGSTER, 9, 14, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyNate, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-   person_event SPRITE_YOUNGSTER, 11, 14, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyRicky, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+   person_event SPRITE_SAILOR, 6, 30, SPRITEMOVEFN_06, 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, SPRITEMOVEFN_06, 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, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorJeff, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
+   person_event SPRITE_LASS, 4, 6, SPRITEMOVEFN_07, 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, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerJugglerFritz, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
+   person_event SPRITE_SAILOR, 4, 17, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSailorGarrett, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+   person_event SPRITE_FISHER, 8, 25, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherJonah, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+   person_event SPRITE_BLACK_BELT, 11, 15, SPRITEMOVEFN_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBlackbeltWai, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+   person_event SPRITE_SAILOR, 4, 23, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSailorKenneth, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+   person_event SPRITE_TEACHER, 11, 9, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerTeacherShirley, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+   person_event SPRITE_YOUNGSTER, 9, 14, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyNate, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+   person_event SPRITE_YOUNGSTER, 11, 14, SPRITEMOVEFN_0A, 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 4f1e4be..b66181f 100644
--- a/maps/FastShipCabins_NNW_NNE_NE.asm
+++ b/maps/FastShipCabins_NNW_NNE_NE.asm
@@ -6,7 +6,7 @@ FastShipCabins_NNW_NNE_NE_MapScriptHeader:
    db 0
 
 TrainerCooltrainermSean:
    trainer EVENT_BEAT_COOLTRAINERM_SEAN, COOLTRAINERM, SEAN, CooltrainermSeanSeenText, CooltrainermSeanBeatenText, $0000, CooltrainermSeanScript
 
 CooltrainermSeanScript:
    talkaftercancel
@@ -17,7 +17,7 @@ CooltrainermSeanScript:
    end
 
 TrainerCooltrainerfCarol:
    trainer EVENT_BEAT_COOLTRAINERF_CAROL, COOLTRAINERF, CAROL, CooltrainerfCarolSeenText, CooltrainerfCarolBeatenText, $0000, CooltrainerfCarolScript
 
 CooltrainerfCarolScript:
    talkaftercancel
@@ -28,7 +28,7 @@ CooltrainerfCarolScript:
    end
 
 TrainerPokemaniacEthan:
    trainer EVENT_BEAT_POKEMANIAC_ETHAN, POKEMANIAC, ETHAN, PokemaniacEthanSeenText, PokemaniacEthanBeatenText, $0000, PokemaniacEthanScript
 
 PokemaniacEthanScript:
    talkaftercancel
@@ -39,7 +39,7 @@ PokemaniacEthanScript:
    end
 
 TrainerHikerNoland:
    trainer EVENT_BEAT_HIKER_NOLAND, HIKER, NOLAND, HikerNolandSeenText, HikerNolandBeatenText, $0000, HikerNolandScript
 
 HikerNolandScript:
    talkaftercancel
@@ -50,7 +50,7 @@ HikerNolandScript:
    end
 
 TrainerGentlemanEdward:
    trainer EVENT_BEAT_GENTLEMAN_EDWARD, GENTLEMAN, EDWARD, GentlemanEdwardSeenText, GentlemanEdwardBeatenText, $0000, GentlemanEdwardScript
 
 GentlemanEdwardScript:
    talkaftercancel
@@ -61,7 +61,7 @@ GentlemanEdwardScript:
    end
 
 TrainerBurglarCorey:
    trainer EVENT_BEAT_BURGLAR_COREY, BURGLAR, COREY, BurglarCoreySeenText, BurglarCoreyBeatenText, $0000, BurglarCoreyScript
 
 BurglarCoreyScript:
    talkaftercancel
@@ -78,7 +78,7 @@ SailorScript_0x755f1:
    writetext UnknownText_0x75812
    closetext
    loadmovesprites
    winlosstext UnknownText_0x75897, $0000
    loadtrainer SAILOR, STANLY
    startbattle
    reloadmap
@@ -278,10 +278,10 @@ FastShipCabins_NNW_NNE_NE_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_COOLTRAINER_M, 3, 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainermSean, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-   person_event SPRITE_COOLTRAINER_F, 5, 1, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfCarol, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-   person_event SPRITE_SUPER_NERD, 5, 1, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacEthan, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-   person_event SPRITE_POKEFAN_M, 17, 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerNoland, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-   person_event SPRITE_SAILOR, 26, 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x755f1, EVENT_FAST_SHIP_CABINS_NNW_NNE_NE_SAILOR
-   person_event SPRITE_GENTLEMAN, 30, 7, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerGentlemanEdward, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-   person_event SPRITE_PHARMACIST, 30, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerBurglarCorey, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+   person_event SPRITE_COOLTRAINER_M, 3, 4, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainermSean, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+   person_event SPRITE_COOLTRAINER_F, 5, 1, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfCarol, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+   person_event SPRITE_SUPER_NERD, 5, 1, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacEthan, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+   person_event SPRITE_POKEFAN_M, 17, 4, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerNoland, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
+   person_event SPRITE_SAILOR, 26, 4, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x755f1, EVENT_FAST_SHIP_CABINS_NNW_NNE_NE_SAILOR
+   person_event SPRITE_GENTLEMAN, 30, 7, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerGentlemanEdward, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+   person_event SPRITE_PHARMACIST, 30, 2, SPRITEMOVEFN_07, 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 cd49d5a..7e75998 100644
--- a/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
+++ b/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
@@ -128,7 +128,7 @@ TwinScript_0x75f6d:
    end
 
 TrainerPokefanmColin:
    trainer EVENT_BEAT_POKEFANM_COLIN, POKEFANM, COLIN, PokefanmColinSeenText, PokefanmColinBeatenText, $0000, PokefanmColinScript
 
 PokefanmColinScript:
    talkaftercancel
@@ -139,7 +139,7 @@ PokefanmColinScript:
    end
 
 TrainerTwinsMegandpeg1:
    trainer EVENT_BEAT_TWINS_MEG_AND_PEG, TWINS, MEGANDPEG1, TwinsMegandpeg1SeenText, TwinsMegandpeg1BeatenText, $0000, TwinsMegandpeg1Script
 
 TwinsMegandpeg1Script:
    talkaftercancel
@@ -150,7 +150,7 @@ TwinsMegandpeg1Script:
    end
 
 TrainerTwinsMegandpeg2:
    trainer EVENT_BEAT_TWINS_MEG_AND_PEG, TWINS, MEGANDPEG2, TwinsMegandpeg2SeenText, TwinsMegandpeg2BeatenText, $0000, TwinsMegandpeg2Script
 
 TwinsMegandpeg2Script:
    talkaftercancel
@@ -161,7 +161,7 @@ TwinsMegandpeg2Script:
    end
 
 TrainerPsychicRodney:
    trainer EVENT_BEAT_PSYCHIC_RODNEY, PSYCHIC_T, RODNEY, PsychicRodneySeenText, PsychicRodneyBeatenText, $0000, PsychicRodneyScript
 
 PsychicRodneyScript:
    talkaftercancel
@@ -172,7 +172,7 @@ PsychicRodneyScript:
    end
 
 TrainerPokefanmJeremy:
    trainer EVENT_BEAT_POKEFANM_JEREMY, POKEFANM, JEREMY, PokefanmJeremySeenText, PokefanmJeremyBeatenText, $0000, PokefanmJeremyScript
 
 PokefanmJeremyScript:
    talkaftercancel
@@ -183,7 +183,7 @@ PokefanmJeremyScript:
    end
 
 TrainerPokefanfGeorgia:
    trainer EVENT_BEAT_POKEFANF_GEORGIA, POKEFANF, GEORGIA, PokefanfGeorgiaSeenText, PokefanfGeorgiaBeatenText, $0000, PokefanfGeorgiaScript
 
 PokefanfGeorgiaScript:
    talkaftercancel
@@ -194,7 +194,7 @@ PokefanfGeorgiaScript:
    end
 
 TrainerSupernerdShawn:
    trainer EVENT_BEAT_SUPER_NERD_SHAWN, SUPER_NERD, SHAWN, SupernerdShawnSeenText, SupernerdShawnBeatenText, $0000, SupernerdShawnScript
 
 SupernerdShawnScript:
    talkaftercancel
@@ -471,14 +471,14 @@ FastShipCabins_SE_SSE_CaptainsCabin_MapEventHeader:
 
 .PersonEvents:
    db 11
-   person_event SPRITE_CAPTAIN, 25, 3, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CaptainScript_0x75ea7, -1
-   person_event SPRITE_GENTLEMAN, 17, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GentlemanScript_0x75f1f, EVENT_FAST_SHIP_CABINS_SE_SSE_GENTLEMAN
-   person_event SPRITE_TWIN, 17, 3, $a, 0, 0, -1, -1, 0, 0, 0, TwinScript_0x75f6d, EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_1
-   person_event SPRITE_TWIN, 25, 2, $a, 0, 0, -1, -1, 0, 0, 0, TwinScript_0x75ebb, EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_2
-   person_event SPRITE_POKEFAN_M, 6, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerPokefanmColin, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-   person_event SPRITE_TWIN, 4, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsMegandpeg1, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-   person_event SPRITE_TWIN, 4, 3, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsMegandpeg2, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-   person_event SPRITE_SUPER_NERD, 5, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerPsychicRodney, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-   person_event SPRITE_POKEFAN_M, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmJeremy, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-   person_event SPRITE_POKEFAN_F, 5, 5, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerPokefanfGeorgia, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-   person_event SPRITE_SUPER_NERD, 15, 1, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerSupernerdShawn, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+   person_event SPRITE_CAPTAIN, 25, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CaptainScript_0x75ea7, -1
+   person_event SPRITE_GENTLEMAN, 17, 2, SPRITEMOVEFN_09, 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, SPRITEMOVEFN_0A, 0, 0, -1, -1, 0, 0, 0, TwinScript_0x75f6d, EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_1
+   person_event SPRITE_TWIN, 25, 2, SPRITEMOVEFN_0A, 0, 0, -1, -1, 0, 0, 0, TwinScript_0x75ebb, EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_2
+   person_event SPRITE_POKEFAN_M, 6, 5, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerPokefanmColin, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
+   person_event SPRITE_TWIN, 4, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsMegandpeg1, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
+   person_event SPRITE_TWIN, 4, 3, SPRITEMOVEFN_06, 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, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerPsychicRodney, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+   person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmJeremy, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+   person_event SPRITE_POKEFAN_F, 5, 5, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerPokefanfGeorgia, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+   person_event SPRITE_SUPER_NERD, 15, 1, SPRITEMOVEFN_03, 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 0c610e5..298bdfc 100644
--- a/maps/FastShipCabins_SW_SSW_NW.asm
+++ b/maps/FastShipCabins_SW_SSW_NW.asm
@@ -6,7 +6,7 @@ FastShipCabins_SW_SSW_NW_MapScriptHeader:
    db 0
 
 TrainerFirebreatherLyle:
    trainer EVENT_BEAT_FIREBREATHER_LYLE, FIREBREATHER, LYLE, FirebreatherLyleSeenText, FirebreatherLyleBeatenText, $0000, FirebreatherLyleScript
 
 FirebreatherLyleScript:
    talkaftercancel
@@ -17,7 +17,7 @@ FirebreatherLyleScript:
    end
 
 TrainerBug_catcherKen:
    trainer EVENT_BEAT_BUG_CATCHER_KEN, BUG_CATCHER, KEN, Bug_catcherKenSeenText, Bug_catcherKenBeatenText, $0000, Bug_catcherKenScript
 
 Bug_catcherKenScript:
    talkaftercancel
@@ -28,7 +28,7 @@ Bug_catcherKenScript:
    end
 
 TrainerBeautyCassie:
    trainer EVENT_BEAT_BEAUTY_CASSIE, BEAUTY, CASSIE, BeautyCassieSeenText, BeautyCassieBeatenText, $0000, BeautyCassieScript
 
 BeautyCassieScript:
    talkaftercancel
@@ -39,7 +39,7 @@ BeautyCassieScript:
    end
 
 TrainerGuitaristClyde:
    trainer EVENT_BEAT_GUITARIST_CLYDE, GUITARIST, CLYDE, GuitaristClydeSeenText, GuitaristClydeBeatenText, $0000, GuitaristClydeScript
 
 GuitaristClydeScript:
    talkaftercancel
@@ -239,7 +239,7 @@ FastShipCabins_SW_SSW_NW_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_FISHER, 15, 1, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerFirebreatherLyle, EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
-   person_event SPRITE_BUG_CATCHER, 15, 6, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBug_catcherKen, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
-   person_event SPRITE_BUENA, 26, 1, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBeautyCassie, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
-   person_event SPRITE_ROCKER, 28, 3, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerGuitaristClyde, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+   person_event SPRITE_FISHER, 15, 1, SPRITEMOVEFN_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, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBug_catcherKen, EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
+   person_event SPRITE_BUENA, 26, 1, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBeautyCassie, EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
+   person_event SPRITE_ROCKER, 28, 3, SPRITEMOVEFN_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 8b6869c..deadc00 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, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x189b61, -1
-   person_event SPRITE_POKE_BALL, 1, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x189b6a, EVENT_PICKED_UP_FOCUS_BAND
+   person_event SPRITE_BLACK_BELT, 4, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x189b61, -1
+   person_event SPRITE_POKE_BALL, 1, 3, SPRITEMOVEFN_01, 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 d523e58..c6ef1df 100644
--- a/maps/FuchsiaBillSpeechHouse.asm
+++ b/maps/FuchsiaBillSpeechHouse.asm
@@ -40,5 +40,5 @@ FuchsiaBillSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKEFAN_F, 3, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x1963bd, -1
-   person_event SPRITE_YOUNGSTER, 4, 6, $4, 1, 0, -1, -1, 0, 0, 0, YoungsterScript_0x1963c0, -1
+   person_event SPRITE_POKEFAN_F, 3, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x1963bd, -1
+   person_event SPRITE_YOUNGSTER, 4, 6, SPRITEMOVEFN_04, 1, 0, -1, -1, 0, 0, 0, YoungsterScript_0x1963c0, -1
diff --git a/maps/FuchsiaCity.asm b/maps/FuchsiaCity.asm
index 5f8bfd8..d083db4 100644
--- a/maps/FuchsiaCity.asm
+++ b/maps/FuchsiaCity.asm
@@ -154,7 +154,7 @@ FuchsiaCity_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_YOUNGSTER, 18, 23, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x194b22, -1
-   person_event SPRITE_POKEFAN_M, 8, 13, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x194b25, -1
-   person_event SPRITE_TEACHER, 14, 16, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x194b28, -1
-   person_event SPRITE_FRUIT_TREE, 1, 8, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x194b43, -1
+   person_event SPRITE_YOUNGSTER, 18, 23, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x194b22, -1
+   person_event SPRITE_POKEFAN_M, 8, 13, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x194b25, -1
+   person_event SPRITE_TEACHER, 14, 16, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x194b28, -1
+   person_event SPRITE_FRUIT_TREE, 1, 8, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x194b43, -1
diff --git a/maps/FuchsiaGym.asm b/maps/FuchsiaGym.asm
index 360783a..46bab76 100644
--- a/maps/FuchsiaGym.asm
+++ b/maps/FuchsiaGym.asm
@@ -14,7 +14,7 @@ JanineScript_0x195db9:
    writetext UnknownText_0x195f35
    closetext
    loadmovesprites
    winlosstext UnknownText_0x195fa1, $0000
    loadtrainer JANINE, 1
    startbattle
    returnafterbattle
@@ -66,7 +66,7 @@ UnknownScript_0x195e2c:
    writetext UnknownText_0x1960e6
    closetext
    loadmovesprites
    winlosstext UnknownText_0x196126, $0000
    loadtrainer LASS, ALICE
    startbattle
    iftrue UnknownScript_0x195e4a
@@ -100,7 +100,7 @@ UnknownScript_0x195e66:
    writetext UnknownText_0x196166
    closetext
    loadmovesprites
    winlosstext UnknownText_0x19617b, $0000
    loadtrainer LASS, LINDA
    startbattle
    iftrue UnknownScript_0x195e84
@@ -134,7 +134,7 @@ UnknownScript_0x195ea0:
    writetext UnknownText_0x1961bb
    closetext
    loadmovesprites
    winlosstext UnknownText_0x1961f1, $0000
    loadtrainer PICNICKER, CINDY
    startbattle
    iftrue UnknownScript_0x195ebe
@@ -168,7 +168,7 @@ UnknownScript_0x195eda:
    writetext UnknownText_0x196228
    closetext
    loadmovesprites
    winlosstext UnknownText_0x19624a, $0000
    loadtrainer CAMPER, BARRY
    startbattle
    iftrue UnknownScript_0x195ef8
@@ -391,9 +391,9 @@ FuchsiaGym_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_JANINE, 10, 1, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, JanineScript_0x195db9, -1
-   person_event SPRITE_FUCHSIA_GYM_1, 7, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym1Script_0x195e1b, -1
-   person_event SPRITE_FUCHSIA_GYM_2, 11, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym2Script_0x195e55, -1
-   person_event SPRITE_FUCHSIA_GYM_3, 4, 9, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym3Script_0x195e8f, -1
-   person_event SPRITE_FUCHSIA_GYM_4, 2, 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym4Script_0x195ec9, -1
-   person_event SPRITE_GYM_GUY, 15, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuchsiaGymGuyScript, -1
+   person_event SPRITE_JANINE, 10, 1, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, JanineScript_0x195db9, -1
+   person_event SPRITE_FUCHSIA_GYM_1, 7, 5, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym1Script_0x195e1b, -1
+   person_event SPRITE_FUCHSIA_GYM_2, 11, 5, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym2Script_0x195e55, -1
+   person_event SPRITE_FUCHSIA_GYM_3, 4, 9, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym3Script_0x195e8f, -1
+   person_event SPRITE_FUCHSIA_GYM_4, 2, 4, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuschiaGym4Script_0x195ec9, -1
+   person_event SPRITE_GYM_GUY, 15, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FuchsiaGymGuyScript, -1
diff --git a/maps/FuchsiaMart.asm b/maps/FuchsiaMart.asm
index 6b240ac..92905d8 100644
--- a/maps/FuchsiaMart.asm
+++ b/maps/FuchsiaMart.asm
@@ -49,6 +49,6 @@ FuchsiaMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x195ce8, -1
-   person_event SPRITE_FISHER, 2, 3, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x195cef, -1
-   person_event SPRITE_COOLTRAINER_F, 6, 7, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x195cf2, -1
+   person_event SPRITE_CLERK, 3, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x195ce8, -1
+   person_event SPRITE_FISHER, 2, 3, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x195cef, -1
+   person_event SPRITE_COOLTRAINER_F, 6, 7, SPRITEMOVEFN_05, 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 183ec42..739db16 100644
--- a/maps/FuchsiaPokeCenter1F.asm
+++ b/maps/FuchsiaPokeCenter1F.asm
@@ -3,7 +3,7 @@ FuchsiaPokeCenter1F_MapScriptHeader:
    db 1
 
    ; triggers
    dw UnknownScript_0x196458, $0000
 
 .MapCallbacks:
    db 0
@@ -102,7 +102,7 @@ FuchsiaPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, NurseScript_0x196459, -1
-   person_event SPRITE_COOLTRAINER_M, 4, 8, $5, 0, 1, -1, -1, 0, 0, 0, CooltrainerMScript_0x19645c, -1
-   person_event SPRITE_COOLTRAINER_F, 4, 1, $5, 0, 1, -1, -1, 0, 0, 0, CooltrainerFScript_0x19645f, -1
-   person_event SPRITE_JANINE_IMPERSONATOR, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, JanineImpersonatorScript_0x196462, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, NurseScript_0x196459, -1
+   person_event SPRITE_COOLTRAINER_M, 4, 8, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, CooltrainerMScript_0x19645c, -1
+   person_event SPRITE_COOLTRAINER_F, 4, 1, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, CooltrainerFScript_0x19645f, -1
+   person_event SPRITE_JANINE_IMPERSONATOR, 3, 5, SPRITEMOVEFN_06, 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 39a3313..28aeb9e 100644
--- a/maps/GoldenrodBikeShop.asm
+++ b/maps/GoldenrodBikeShop.asm
@@ -125,4 +125,4 @@ GoldenrodBikeShop_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_CLERK, 2, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ClerkScript_0x54750, -1
+   person_event SPRITE_CLERK, 2, 7, SPRITEMOVEFN_08, 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 e8fcd76..8a8a7dc 100644
--- a/maps/GoldenrodBillsHouse.asm
+++ b/maps/GoldenrodBillsHouse.asm
@@ -257,6 +257,6 @@ GoldenrodBillsHouse_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_BILL, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, BillsHouseBill, EVENT_MET_BILL
-   person_event SPRITE_POKEFAN_F, 3, 5, $6, 0, 0, -1, -1, 0, 0, 0, BillsMom, -1
-   person_event SPRITE_TWIN, 4, 5, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BillsSister, -1
+   person_event SPRITE_BILL, 3, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, BillsHouseBill, EVENT_MET_BILL
+   person_event SPRITE_POKEFAN_F, 3, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, BillsMom, -1
+   person_event SPRITE_TWIN, 4, 5, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BillsSister, -1
diff --git a/maps/GoldenrodCity.asm b/maps/GoldenrodCity.asm
index e08d75d..8f8a1a3 100644
--- a/maps/GoldenrodCity.asm
+++ b/maps/GoldenrodCity.asm
@@ -581,18 +581,18 @@ GoldenrodCity_MapEventHeader:
 
 .PersonEvents:
    db 15
-   person_event SPRITE_POKEFAN_M, 18, 7, $7, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x1989e3, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_YOUNGSTER, 17, 30, $2, 1, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1989e6, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_COOLTRAINER_F, 16, 12, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x1989e9, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_COOLTRAINER_F, 26, 20, $2, 2, 1, -1, -1, 0, 0, 0, CooltrainerFScript_0x1989fd, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_YOUNGSTER, 17, 19, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x198a11, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_LASS, 10, 17, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x198a14, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_GRAMPS, 27, 11, $5, 0, 1, -1, -1, 0, 0, 0, GrampsScript_0x198a17, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_ROCKET, 16, 4, $7, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a1a, EVENT_GOLDENROD_CITY_ROCKET_SCOUT
-   person_event SPRITE_ROCKET, 20, 28, $7, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a29, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 15, 8, $6, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a2c, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 23, 16, $9, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a2f, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 20, 29, $7, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a32, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 7, 29, $6, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a35, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 10, 31, $8, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a38, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_POKEFAN_M, 22, 12, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, MoveTutor, EVENT_GOLDENROD_CITY_MOVE_TUTOR
+   person_event SPRITE_POKEFAN_M, 18, 7, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x1989e3, EVENT_GOLDENROD_CITY_CIVILIANS
+   person_event SPRITE_YOUNGSTER, 17, 30, SPRITEMOVEFN_02, 1, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1989e6, EVENT_GOLDENROD_CITY_CIVILIANS
+   person_event SPRITE_COOLTRAINER_F, 16, 12, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x1989e9, EVENT_GOLDENROD_CITY_CIVILIANS
+   person_event SPRITE_COOLTRAINER_F, 26, 20, SPRITEMOVEFN_02, 2, 1, -1, -1, 0, 0, 0, CooltrainerFScript_0x1989fd, EVENT_GOLDENROD_CITY_CIVILIANS
+   person_event SPRITE_YOUNGSTER, 17, 19, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x198a11, EVENT_GOLDENROD_CITY_CIVILIANS
+   person_event SPRITE_LASS, 10, 17, SPRITEMOVEFN_05, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x198a14, EVENT_GOLDENROD_CITY_CIVILIANS
+   person_event SPRITE_GRAMPS, 27, 11, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, GrampsScript_0x198a17, EVENT_GOLDENROD_CITY_CIVILIANS
+   person_event SPRITE_ROCKET, 16, 4, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a1a, EVENT_GOLDENROD_CITY_ROCKET_SCOUT
+   person_event SPRITE_ROCKET, 20, 28, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a29, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET, 15, 8, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a2c, EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET, 23, 16, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a2f, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET, 20, 29, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a32, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET, 7, 29, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a35, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET, 10, 31, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x198a38, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_POKEFAN_M, 22, 12, SPRITEMOVEFN_03, 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 fc4064c..66d90f7 100644
--- a/maps/GoldenrodDeptStore1F.asm
+++ b/maps/GoldenrodDeptStore1F.asm
@@ -93,7 +93,7 @@ GoldenrodDeptStore1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_RECEPTIONIST, 1, 10, $6, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x55981, -1
-   person_event SPRITE_POKEFAN_F, 4, 5, $6, 0, 0, -1, -1, 0, 0, 0, PokefanFScript_0x55987, -1
-   person_event SPRITE_BUG_CATCHER, 5, 5, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugCatcherScript_0x5598a, -1
-   person_event SPRITE_GENTLEMAN, 5, 11, $2, 1, 1, -1, -1, 0, 0, 0, GentlemanScript_0x55984, -1
+   person_event SPRITE_RECEPTIONIST, 1, 10, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x55981, -1
+   person_event SPRITE_POKEFAN_F, 4, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, PokefanFScript_0x55987, -1
+   person_event SPRITE_BUG_CATCHER, 5, 5, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugCatcherScript_0x5598a, -1
+   person_event SPRITE_GENTLEMAN, 5, 11, SPRITEMOVEFN_02, 1, 1, -1, -1, 0, 0, 0, GentlemanScript_0x55984, -1
diff --git a/maps/GoldenrodDeptStore2F.asm b/maps/GoldenrodDeptStore2F.asm
index 61f8e76..112023b 100644
--- a/maps/GoldenrodDeptStore2F.asm
+++ b/maps/GoldenrodDeptStore2F.asm
@@ -113,8 +113,8 @@ GoldenrodDeptStore2F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_CLERK, 5, 13, $7, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55b5d, -1
-   person_event SPRITE_CLERK, 6, 13, $8, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55b65, -1
-   person_event SPRITE_YOUNGSTER, 6, 9, $4, 1, 0, -1, -1, 0, 0, 0, YoungsterScript_0x55b6d, -1
-   person_event SPRITE_COOLTRAINER_F, 2, 6, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x55b70, -1
-   person_event SPRITE_GENTLEMAN, 6, 2, $3, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x55b73, -1
+   person_event SPRITE_CLERK, 5, 13, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55b5d, -1
+   person_event SPRITE_CLERK, 6, 13, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55b65, -1
+   person_event SPRITE_YOUNGSTER, 6, 9, SPRITEMOVEFN_04, 1, 0, -1, -1, 0, 0, 0, YoungsterScript_0x55b6d, -1
+   person_event SPRITE_COOLTRAINER_F, 2, 6, SPRITEMOVEFN_05, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x55b70, -1
+   person_event SPRITE_GENTLEMAN, 6, 2, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x55b73, -1
diff --git a/maps/GoldenrodDeptStore3F.asm b/maps/GoldenrodDeptStore3F.asm
index 40e3c50..4363ae7 100644
--- a/maps/GoldenrodDeptStore3F.asm
+++ b/maps/GoldenrodDeptStore3F.asm
@@ -71,6 +71,6 @@ GoldenrodDeptStore3F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 1, 6, $6, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55db8, -1
-   person_event SPRITE_SUPER_NERD, 5, 12, $a, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x55dc0, -1
-   person_event SPRITE_ROCKER, 5, 2, $4, 1, 0, -1, -1, 0, 0, 0, RockerScript_0x55dc3, -1
+   person_event SPRITE_CLERK, 1, 6, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55db8, -1
+   person_event SPRITE_SUPER_NERD, 5, 12, SPRITEMOVEFN_0A, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x55dc0, -1
+   person_event SPRITE_ROCKER, 5, 2, SPRITEMOVEFN_04, 1, 0, -1, -1, 0, 0, 0, RockerScript_0x55dc3, -1
diff --git a/maps/GoldenrodDeptStore4F.asm b/maps/GoldenrodDeptStore4F.asm
index d26263e..74d2138 100644
--- a/maps/GoldenrodDeptStore4F.asm
+++ b/maps/GoldenrodDeptStore4F.asm
@@ -91,7 +91,7 @@ GoldenrodDeptStore4F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_CLERK, 5, 13, $7, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55ee9, -1
-   person_event SPRITE_COOLTRAINER_M, 7, 11, $9, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x55ef1, -1
-   person_event SPRITE_BUG_CATCHER, 2, 7, $5, 0, 1, -1, -1, 0, 0, 0, BugCatcherScript_0x55ef4, -1
-   person_event SPRITE_GAMEBOY_KID, 1, 5, $6, 0, 0, -1, -1, 0, 0, 0, GameboyKidScript_0x55ef7, -1
+   person_event SPRITE_CLERK, 5, 13, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x55ee9, -1
+   person_event SPRITE_COOLTRAINER_M, 7, 11, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x55ef1, -1
+   person_event SPRITE_BUG_CATCHER, 2, 7, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, BugCatcherScript_0x55ef4, -1
+   person_event SPRITE_GAMEBOY_KID, 1, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, GameboyKidScript_0x55ef7, -1
diff --git a/maps/GoldenrodDeptStore5F.asm b/maps/GoldenrodDeptStore5F.asm
index 94b1933..741b37a 100644
--- a/maps/GoldenrodDeptStore5F.asm
+++ b/maps/GoldenrodDeptStore5F.asm
@@ -232,9 +232,9 @@ GoldenrodDeptStore5F_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_CLERK, 5, 8, $7, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x5609c, -1
-   person_event SPRITE_LASS, 6, 3, $2, 1, 1, -1, -1, 0, 0, 0, LassScript_0x56130, -1
-   person_event SPRITE_COOLTRAINER_M, 3, 6, $3, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x56133, -1
-   person_event SPRITE_POKEFAN_M, 5, 13, $2, 2, 2, -1, -1, 0, 0, 0, PokefanMScript_0x5613a, -1
-   person_event SPRITE_TWIN, 1, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x56118, -1
-   person_event SPRITE_RECEPTIONIST, 5, 7, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x560ce, EVENT_GOLDENROD_DEPT_STORE_5F_HAPPINESS_EVENT_LADY
+   person_event SPRITE_CLERK, 5, 8, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x5609c, -1
+   person_event SPRITE_LASS, 6, 3, SPRITEMOVEFN_02, 1, 1, -1, -1, 0, 0, 0, LassScript_0x56130, -1
+   person_event SPRITE_COOLTRAINER_M, 3, 6, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x56133, -1
+   person_event SPRITE_POKEFAN_M, 5, 13, SPRITEMOVEFN_02, 2, 2, -1, -1, 0, 0, 0, PokefanMScript_0x5613a, -1
+   person_event SPRITE_TWIN, 1, 9, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x56118, -1
+   person_event SPRITE_RECEPTIONIST, 5, 7, SPRITEMOVEFN_07, 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 e64e1db..efc0166 100644
--- a/maps/GoldenrodDeptStore6F.asm
+++ b/maps/GoldenrodDeptStore6F.asm
@@ -169,5 +169,5 @@ GoldenrodDeptStore6F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_LASS, 2, 10, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x564bf, -1
-   person_event SPRITE_SUPER_NERD, 2, 8, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x564c2, -1
+   person_event SPRITE_LASS, 2, 10, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x564bf, -1
+   person_event SPRITE_SUPER_NERD, 2, 8, SPRITEMOVEFN_07, 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 e0606ed..b19ef75 100644
--- a/maps/GoldenrodDeptStoreB1F.asm
+++ b/maps/GoldenrodDeptStoreB1F.asm
@@ -121,11 +121,11 @@ GoldenrodDeptStoreB1F_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_POKE_BALL, 15, 10, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c3, EVENT_GOLDENROD_DEPT_STORE_B1F_ETHER
-   person_event SPRITE_POKE_BALL, 2, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c5, EVENT_GOLDENROD_DEPT_STORE_B1F_AMULET_COIN
-   person_event SPRITE_POKE_BALL, 3, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c7, EVENT_GOLDENROD_DEPT_STORE_B1F_BURN_HEAL
-   person_event SPRITE_POKE_BALL, 15, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c9, EVENT_GOLDENROD_DEPT_STORE_B1F_ULTRA_BALL
-   person_event SPRITE_BLACK_BELT, 10, 9, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BlackBeltScript_0x7d7b0, -1
-   person_event SPRITE_BLACK_BELT, 8, 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BlackBeltScript_0x7d7b3, -1
-   person_event SPRITE_BLACK_BELT, 13, 6, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x7d7b6, -1
-   person_event SPRITE_MACHOP, 7, 7, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, MachopScript_0x7d7b9, -1
+   person_event SPRITE_POKE_BALL, 15, 10, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c3, EVENT_GOLDENROD_DEPT_STORE_B1F_ETHER
+   person_event SPRITE_POKE_BALL, 2, 14, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c5, EVENT_GOLDENROD_DEPT_STORE_B1F_AMULET_COIN
+   person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c7, EVENT_GOLDENROD_DEPT_STORE_B1F_BURN_HEAL
+   person_event SPRITE_POKE_BALL, 15, 15, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d7c9, EVENT_GOLDENROD_DEPT_STORE_B1F_ULTRA_BALL
+   person_event SPRITE_BLACK_BELT, 10, 9, SPRITEMOVEFN_04, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BlackBeltScript_0x7d7b0, -1
+   person_event SPRITE_BLACK_BELT, 8, 4, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BlackBeltScript_0x7d7b3, -1
+   person_event SPRITE_BLACK_BELT, 13, 6, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BlackBeltScript_0x7d7b6, -1
+   person_event SPRITE_MACHOP, 7, 7, SPRITEMOVEFN_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 9e65e1b..bb72df1 100644
--- a/maps/GoldenrodDeptStoreRoof.asm
+++ b/maps/GoldenrodDeptStoreRoof.asm
@@ -35,7 +35,7 @@ GoldenrodDeptStoreRoof_MapScriptHeader:
 
 ClerkScript_0x5673f:
    loadfont
    pokemart $4, $0000
    loadmovesprites
    end
 
@@ -225,11 +225,11 @@ GoldenrodDeptStoreRoof_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_CLERK, 4, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x5673f, EVENT_GOLDENROD_SALE_OFF
-   person_event SPRITE_POKEFAN_F, 3, 10, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x56746, -1
-   person_event SPRITE_FISHER, 1, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x56749, -1
-   person_event SPRITE_TWIN, 4, 3, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x56754, EVENT_GOLDENROD_SALE_ON
-   person_event SPRITE_SUPER_NERD, 6, 14, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x56757, EVENT_GOLDENROD_SALE_ON
-   person_event SPRITE_POKEFAN_M, 0, 7, $5, 0, 1, -1, -1, 0, 0, 0, PokefanMScript_0x5676a, EVENT_GOLDENROD_SALE_OFF
-   person_event SPRITE_TEACHER, 3, 5, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x5676d, EVENT_GOLDENROD_SALE_OFF
-   person_event SPRITE_BUG_CATCHER, 6, 1, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x56770, EVENT_GOLDENROD_SALE_OFF
+   person_event SPRITE_CLERK, 4, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x5673f, EVENT_GOLDENROD_SALE_OFF
+   person_event SPRITE_POKEFAN_F, 3, 10, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x56746, -1
+   person_event SPRITE_FISHER, 1, 2, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x56749, -1
+   person_event SPRITE_TWIN, 4, 3, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x56754, EVENT_GOLDENROD_SALE_ON
+   person_event SPRITE_SUPER_NERD, 6, 14, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x56757, EVENT_GOLDENROD_SALE_ON
+   person_event SPRITE_POKEFAN_M, 0, 7, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, PokefanMScript_0x5676a, EVENT_GOLDENROD_SALE_OFF
+   person_event SPRITE_TEACHER, 3, 5, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x5676d, EVENT_GOLDENROD_SALE_OFF
+   person_event SPRITE_BUG_CATCHER, 6, 1, SPRITEMOVEFN_07, 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 4ff95dd..a22fd2a 100644
--- a/maps/GoldenrodFlowerShop.asm
+++ b/maps/GoldenrodFlowerShop.asm
@@ -172,5 +172,5 @@ GoldenrodFlowerShop_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_TEACHER, 4, 2, $9, 0, 0, -1, -1, 0, 0, 0, FlowerShopTeacherScript, -1
-   person_event SPRITE_LASS, 6, 5, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FlowerShopFloriaScript, EVENT_FLORIA_AT_FLOWER_SHOP
+   person_event SPRITE_TEACHER, 4, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, FlowerShopTeacherScript, -1
+   person_event SPRITE_LASS, 6, 5, SPRITEMOVEFN_02, 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 6fcd393..1972ebd 100644
--- a/maps/GoldenrodGameCorner.asm
+++ b/maps/GoldenrodGameCorner.asm
@@ -479,15 +479,15 @@ GoldenrodGameCorner_MapEventHeader:
 
 .PersonEvents:
    db 12
-   person_event SPRITE_CLERK, 2, 3, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ClerkScript_0x56c25, -1
-   person_event SPRITE_RECEPTIONIST, 2, 16, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x56c28, -1
-   person_event SPRITE_RECEPTIONIST, 2, 18, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x56d01, -1
-   person_event SPRITE_PHARMACIST, 7, 8, $8, 0, 0, -1, 2, (1 << 3) | PAL_OW_BLUE, 0, 0, PharmacistScript_0x56df1, -1
-   person_event SPRITE_PHARMACIST, 7, 8, $8, 0, 0, -1, 4, (1 << 3) | PAL_OW_BLUE, 0, 0, PharmacistScript_0x56df1, -1
-   person_event SPRITE_POKEFAN_M, 10, 11, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x56dfc, -1
-   person_event SPRITE_COOLTRAINER_M, 8, 14, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerMScript_0x56e07, -1
-   person_event SPRITE_POKEFAN_F, 6, 17, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x56e12, -1
-   person_event SPRITE_COOLTRAINER_F, 3, 10, $2, 1, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x56e1d, -1
-   person_event SPRITE_GENTLEMAN, 10, 5, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GentlemanScript_0x56e20, -1
-   person_event SPRITE_POKEFAN_M, 9, 2, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x56e2b, -1
-   person_event SPRITE_POKEFAN_M, 10, 17, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x56c1a, EVENT_GOLDENROD_GAME_CORNER_MOVE_TUTOR
+   person_event SPRITE_CLERK, 2, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ClerkScript_0x56c25, -1
+   person_event SPRITE_RECEPTIONIST, 2, 16, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x56c28, -1
+   person_event SPRITE_RECEPTIONIST, 2, 18, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x56d01, -1
+   person_event SPRITE_PHARMACIST, 7, 8, SPRITEMOVEFN_08, 0, 0, -1, 2, (1 << 3) | PAL_OW_BLUE, 0, 0, PharmacistScript_0x56df1, -1
+   person_event SPRITE_PHARMACIST, 7, 8, SPRITEMOVEFN_08, 0, 0, -1, 4, (1 << 3) | PAL_OW_BLUE, 0, 0, PharmacistScript_0x56df1, -1
+   person_event SPRITE_POKEFAN_M, 10, 11, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x56dfc, -1
+   person_event SPRITE_COOLTRAINER_M, 8, 14, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerMScript_0x56e07, -1
+   person_event SPRITE_POKEFAN_F, 6, 17, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x56e12, -1
+   person_event SPRITE_COOLTRAINER_F, 3, 10, SPRITEMOVEFN_02, 1, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x56e1d, -1
+   person_event SPRITE_GENTLEMAN, 10, 5, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GentlemanScript_0x56e20, -1
+   person_event SPRITE_POKEFAN_M, 9, 2, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x56e2b, -1
+   person_event SPRITE_POKEFAN_M, 10, 17, SPRITEMOVEFN_09, 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 fc30ac0..1bd93b1 100644
--- a/maps/GoldenrodGym.asm
+++ b/maps/GoldenrodGym.asm
@@ -3,8 +3,8 @@ GoldenrodGym_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x5400a, $0000
    dw UnknownScript_0x5400b, $0000
 
 .MapCallbacks:
    db 0
@@ -23,7 +23,7 @@ WhitneyScript_0x5400c:
    writetext UnknownText_0x54122
    closetext
    loadmovesprites
    winlosstext UnknownText_0x541a5, $0000
    loadtrainer WHITNEY, 1
    startbattle
    returnafterbattle
@@ -87,7 +87,7 @@ GoldenrodGymTriggerRockets:
    jumpstd radiotowerrockets
 
 TrainerLassCarrie:
    trainer EVENT_BEAT_LASS_CARRIE, LASS, CARRIE, LassCarrieSeenText, LassCarrieBeatenText, $0000, LassCarrieScript
 
 LassCarrieScript:
    talkaftercancel
@@ -111,7 +111,7 @@ WhitneyCriesScript:
    end
 
 TrainerLassBridget:
    trainer EVENT_BEAT_LASS_BRIDGET, LASS, BRIDGET, LassBridgetSeenText, LassBridgetBeatenText, $0000, LassBridgetScript
 
 LassBridgetScript:
    talkaftercancel
@@ -122,7 +122,7 @@ LassBridgetScript:
    end
 
 TrainerBeautyVictoria:
    trainer EVENT_BEAT_BEAUTY_VICTORIA, BEAUTY, VICTORIA, BeautyVictoriaSeenText, BeautyVictoriaBeatenText, $0000, BeautyVictoriaScript
 
 BeautyVictoriaScript:
    talkaftercancel
@@ -133,7 +133,7 @@ BeautyVictoriaScript:
    end
 
 TrainerBeautySamantha:
    trainer EVENT_BEAT_BEAUTY_SAMANTHA, BEAUTY, SAMANTHA, BeautySamanthaSeenText, BeautySamanthaBeatenText, $0000, BeautySamanthaScript
 
 BeautySamanthaScript:
    talkaftercancel
@@ -393,9 +393,9 @@ GoldenrodGym_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_WHITNEY, 3, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, WhitneyScript_0x5400c, -1
-   person_event SPRITE_LASS, 13, 9, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerLassCarrie, -1
-   person_event SPRITE_LASS, 6, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerLassBridget, -1
-   person_event SPRITE_BUENA, 2, 0, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBeautyVictoria, -1
-   person_event SPRITE_BUENA, 5, 19, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBeautySamantha, -1
-   person_event SPRITE_GYM_GUY, 15, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GoldenrodGymGuyScript, -1
+   person_event SPRITE_WHITNEY, 3, 8, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, WhitneyScript_0x5400c, -1
+   person_event SPRITE_LASS, 13, 9, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerLassCarrie, -1
+   person_event SPRITE_LASS, 6, 9, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerLassBridget, -1
+   person_event SPRITE_BUENA, 2, 0, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBeautyVictoria, -1
+   person_event SPRITE_BUENA, 5, 19, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBeautySamantha, -1
+   person_event SPRITE_GYM_GUY, 15, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GoldenrodGymGuyScript, -1
diff --git a/maps/GoldenrodHappinessRater.asm b/maps/GoldenrodHappinessRater.asm
index 5987e88..b04b99f 100644
--- a/maps/GoldenrodHappinessRater.asm
+++ b/maps/GoldenrodHappinessRater.asm
@@ -151,6 +151,6 @@ GoldenrodHappinessRater_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_TEACHER, 4, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x54953, -1
-   person_event SPRITE_POKEFAN_M, 3, 5, $8, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x54997, -1
-   person_event SPRITE_TWIN, 6, 5, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x5499a, -1
+   person_event SPRITE_TEACHER, 4, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x54953, -1
+   person_event SPRITE_POKEFAN_M, 3, 5, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x54997, -1
+   person_event SPRITE_TWIN, 6, 5, SPRITEMOVEFN_05, 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 218ca08..acc0bd9 100644
--- a/maps/GoldenrodMagnetTrainStation.asm
+++ b/maps/GoldenrodMagnetTrainStation.asm
@@ -3,7 +3,7 @@ GoldenrodMagnetTrainStation_MapScriptHeader:
    db 1
 
    ; triggers
    dw .Trigger1, $0000
 
 .MapCallbacks:
    db 0
@@ -182,5 +182,5 @@ GoldenrodMagnetTrainStation_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_OFFICER, 9, 9, $6, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x550ec, -1
-   person_event SPRITE_GENTLEMAN, 14, 11, $2, 2, 2, -1, -1, 0, 0, 0, GentlemanScript_0x55143, EVENT_GOLDENROD_TRAIN_STATION_GENTLEMAN
+   person_event SPRITE_OFFICER, 9, 9, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x550ec, -1
+   person_event SPRITE_GENTLEMAN, 14, 11, SPRITEMOVEFN_02, 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 ff13bb6..e4228f4 100644
--- a/maps/GoldenrodNameRatersHouse.asm
+++ b/maps/GoldenrodNameRatersHouse.asm
@@ -41,4 +41,4 @@ GoldenrodNameRatersHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_GENTLEMAN, 4, 2, $6, 0, 2, -1, -1, 0, 0, 0, GentlemanScript_0x5577c, -1
+   person_event SPRITE_GENTLEMAN, 4, 2, SPRITEMOVEFN_06, 0, 2, -1, -1, 0, 0, 0, GentlemanScript_0x5577c, -1
diff --git a/maps/GoldenrodPPSpeechHouse.asm b/maps/GoldenrodPPSpeechHouse.asm
index 294849c..402e6e5 100644
--- a/maps/GoldenrodPPSpeechHouse.asm
+++ b/maps/GoldenrodPPSpeechHouse.asm
@@ -67,5 +67,5 @@ GoldenrodPPSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_FISHER, 4, 2, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x5564a, -1
-   person_event SPRITE_LASS, 3, 5, $8, 1, 0, -1, -1, 0, 0, 0, LassScript_0x5564d, -1
+   person_event SPRITE_FISHER, 4, 2, SPRITEMOVEFN_04, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x5564a, -1
+   person_event SPRITE_LASS, 3, 5, SPRITEMOVEFN_08, 1, 0, -1, -1, 0, 0, 0, LassScript_0x5564d, -1
diff --git a/maps/GoldenrodPokeCenter1F.asm b/maps/GoldenrodPokeCenter1F.asm
index e36bc90..f43a0e6 100644
--- a/maps/GoldenrodPokeCenter1F.asm
+++ b/maps/GoldenrodPokeCenter1F.asm
@@ -818,8 +818,8 @@ GoldenrodPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x60f91, -1
-   person_event SPRITE_LINK_RECEPTIONIST, 8, 16, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, -1
-   person_event SPRITE_GAMEBOY_KID, 1, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GameboyKidScript_0x6101e, -1
-   person_event SPRITE_LASS, 4, 1, $5, 0, 1, -1, -1, 0, 0, 0, LassScript_0x61021, -1
-   person_event SPRITE_POKEFAN_F, 5, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanFScript_0x61024, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x60f91, -1
+   person_event SPRITE_LINK_RECEPTIONIST, 8, 16, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, -1
+   person_event SPRITE_GAMEBOY_KID, 1, 6, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GameboyKidScript_0x6101e, -1
+   person_event SPRITE_LASS, 4, 1, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, LassScript_0x61021, -1
+   person_event SPRITE_POKEFAN_F, 5, 7, SPRITEMOVEFN_06, 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 30fb9e7..0bc664e 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, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ScientistScript_0x625d1, -1
-   person_event SPRITE_SCIENTIST, 27, 7, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x625d4, -1
-   person_event SPRITE_SCIENTIST, 29, 7, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ScientistScript_0x625d7, -1
+   person_event SPRITE_SCIENTIST, 28, 4, SPRITEMOVEFN_04, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ScientistScript_0x625d1, -1
+   person_event SPRITE_SCIENTIST, 27, 7, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x625d4, -1
+   person_event SPRITE_SCIENTIST, 29, 7, SPRITEMOVEFN_07, 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 eb6c156..c4d3832 100644
--- a/maps/GuideGentsHouse.asm
+++ b/maps/GuideGentsHouse.asm
@@ -43,4 +43,4 @@ GuideGentsHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_GRAMPS, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, GuideGentsHouseGuideGent, EVENT_GUIDE_GENT_VISIBLE_IN_CHERRYGROVE
+   person_event SPRITE_GRAMPS, 3, 2, SPRITEMOVEFN_09, 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 00ea547..4160fed 100644
--- a/maps/HallOfFame.asm
+++ b/maps/HallOfFame.asm
@@ -3,8 +3,8 @@ HallOfFame_MapScriptHeader:
    db 2
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
 
 .MapCallbacks:
    db 0
@@ -126,4 +126,4 @@ HallOfFame_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_LANCE, 12, 4, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, -1
+   person_event SPRITE_LANCE, 12, 4, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, -1
diff --git a/maps/IcePath1F.asm b/maps/IcePath1F.asm
index 5e8dc3a..7a07191 100644
--- a/maps/IcePath1F.asm
+++ b/maps/IcePath1F.asm
@@ -33,6 +33,6 @@ IcePath1F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKE_BALL, 7, 31, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e472, EVENT_GOT_HM07_WATERFALL
-   person_event SPRITE_POKE_BALL, 23, 32, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e474, EVENT_ICE_PATH_1F_PP_UP
-   person_event SPRITE_POKE_BALL, 9, 35, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e476, EVENT_ICE_PATH_1F_PROTEIN
+   person_event SPRITE_POKE_BALL, 7, 31, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e472, EVENT_GOT_HM07_WATERFALL
+   person_event SPRITE_POKE_BALL, 23, 32, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e474, EVENT_ICE_PATH_1F_PP_UP
+   person_event SPRITE_POKE_BALL, 9, 35, SPRITEMOVEFN_01, 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 74ec802..6056195 100644
--- a/maps/IcePathB1F.asm
+++ b/maps/IcePathB1F.asm
@@ -107,8 +107,8 @@ IcePathB1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_BOULDER, 7, 11, $19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_1
-   person_event SPRITE_BOULDER, 8, 7, $19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_2
-   person_event SPRITE_BOULDER, 9, 8, $19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_3
-   person_event SPRITE_BOULDER, 7, 17, $19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_4
-   person_event SPRITE_POKE_BALL, 35, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e50d, EVENT_ICE_PATH_B1F_IRON
+   person_event SPRITE_BOULDER, 7, 11, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_1
+   person_event SPRITE_BOULDER, 8, 7, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_2
+   person_event SPRITE_BOULDER, 9, 8, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_3
+   person_event SPRITE_BOULDER, 7, 17, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, IcePathB1FBoulder, EVENT_BOULDER_IN_ICE_PATH_4
+   person_event SPRITE_POKE_BALL, 35, 5, SPRITEMOVEFN_01, 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 5e31ea6..803e129 100644
--- a/maps/IcePathB2FBlackthornSide.asm
+++ b/maps/IcePathB2FBlackthornSide.asm
@@ -30,4 +30,4 @@ IcePathB2FBlackthornSide_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 16, 8, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e646, EVENT_ICE_PATH_B2F_BLACKTHORN_SIDE_TM_REST
+   person_event SPRITE_POKE_BALL, 16, 8, SPRITEMOVEFN_01, 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 09d3766..5669f86 100644
--- a/maps/IcePathB2FMahoganySide.asm
+++ b/maps/IcePathB2FMahoganySide.asm
@@ -45,9 +45,9 @@ IcePathB2FMahoganySide_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_BOULDER, 3, 11, $1, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_1A
-   person_event SPRITE_BOULDER, 7, 4, $1, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_2A
-   person_event SPRITE_BOULDER, 12, 3, $1, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_3A
-   person_event SPRITE_BOULDER, 13, 12, $1, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_4A
-   person_event SPRITE_POKE_BALL, 9, 8, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e5a6, EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_FULL_HEAL
-   person_event SPRITE_POKE_BALL, 2, 0, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e5a8, EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_MAX_POTION
+   person_event SPRITE_BOULDER, 3, 11, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_1A
+   person_event SPRITE_BOULDER, 7, 4, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_2A
+   person_event SPRITE_BOULDER, 12, 3, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_3A
+   person_event SPRITE_BOULDER, 13, 12, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_4A
+   person_event SPRITE_POKE_BALL, 9, 8, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e5a6, EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_FULL_HEAL
+   person_event SPRITE_POKE_BALL, 2, 0, SPRITEMOVEFN_01, 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 1be274d..97a474f 100644
--- a/maps/IcePathB3F.asm
+++ b/maps/IcePathB3F.asm
@@ -28,5 +28,5 @@ IcePathB3F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKE_BALL, 7, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e66f, EVENT_ICE_PATH_B3F_NEVERMELTICE
-   person_event SPRITE_ROCK, 6, 6, $18, 0, 0, -1, -1, 0, 0, 0, IcePathB3FRock, -1
+   person_event SPRITE_POKE_BALL, 7, 5, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e66f, EVENT_ICE_PATH_B3F_NEVERMELTICE
+   person_event SPRITE_ROCK, 6, 6, SPRITEMOVEFN_18, 0, 0, -1, -1, 0, 0, 0, IcePathB3FRock, -1
diff --git a/maps/IlexForest.asm b/maps/IlexForest.asm
index cab0b66..2372e5d 100644
--- a/maps/IlexForest.asm
+++ b/maps/IlexForest.asm
@@ -376,7 +376,7 @@ UnknownScript_0x6edf7:
    end
 
 TrainerBug_catcherWayne:
    trainer EVENT_BEAT_BUG_CATCHER_WAYNE, BUG_CATCHER, WAYNE, Bug_catcherWayneSeenText, Bug_catcherWayneBeatenText, $0000, Bug_catcherWayneScript
 
 Bug_catcherWayneScript:
    talkaftercancel
@@ -950,14 +950,14 @@ IlexForest_MapEventHeader:
 
 .PersonEvents:
    db 11
-   person_event SPRITE_BIRD, 31, 14, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BirdScript_0x6eb8f, EVENT_ILEX_FOREST_FARFETCHD
-   person_event SPRITE_YOUNGSTER, 28, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6eb7b, EVENT_ILEX_FOREST_APPRENTICE
-   person_event SPRITE_BLACK_BELT, 28, 5, $9, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x6edae, EVENT_ILEX_FOREST_CHARCOAL_MASTER
-   person_event SPRITE_ROCKER, 14, 15, $9, 0, 0, -1, -1, 0, 0, 0, RockerScript_0x6edde, -1
-   person_event SPRITE_POKE_BALL, 32, 20, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee10, EVENT_ILEX_FOREST_REVIVE
-   person_event SPRITE_KURT, 29, 8, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_ILEX_FOREST_KURT
-   person_event SPRITE_LASS, 24, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x6ee0d, EVENT_ILEX_FOREST_LASS
-   person_event SPRITE_YOUNGSTER, 1, 12, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerBug_catcherWayne, -1
-   person_event SPRITE_POKE_BALL, 17, 9, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee12, EVENT_ILEX_FOREST_X_ATTACK
-   person_event SPRITE_POKE_BALL, 7, 17, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee14, EVENT_ILEX_FOREST_ANTIDOTE
-   person_event SPRITE_POKE_BALL, 1, 27, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee16, EVENT_ILEX_FOREST_ETHER
+   person_event SPRITE_BIRD, 31, 14, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BirdScript_0x6eb8f, EVENT_ILEX_FOREST_FARFETCHD
+   person_event SPRITE_YOUNGSTER, 28, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6eb7b, EVENT_ILEX_FOREST_APPRENTICE
+   person_event SPRITE_BLACK_BELT, 28, 5, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x6edae, EVENT_ILEX_FOREST_CHARCOAL_MASTER
+   person_event SPRITE_ROCKER, 14, 15, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, RockerScript_0x6edde, -1
+   person_event SPRITE_POKE_BALL, 32, 20, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee10, EVENT_ILEX_FOREST_REVIVE
+   person_event SPRITE_KURT, 29, 8, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_ILEX_FOREST_KURT
+   person_event SPRITE_LASS, 24, 3, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x6ee0d, EVENT_ILEX_FOREST_LASS
+   person_event SPRITE_YOUNGSTER, 1, 12, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerBug_catcherWayne, -1
+   person_event SPRITE_POKE_BALL, 17, 9, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee12, EVENT_ILEX_FOREST_X_ATTACK
+   person_event SPRITE_POKE_BALL, 7, 17, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee14, EVENT_ILEX_FOREST_ANTIDOTE
+   person_event SPRITE_POKE_BALL, 1, 27, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6ee16, EVENT_ILEX_FOREST_ETHER
diff --git a/maps/IlexForestAzaleaGate.asm b/maps/IlexForestAzaleaGate.asm
index 57034a7..df938a2 100644
--- a/maps/IlexForestAzaleaGate.asm
+++ b/maps/IlexForestAzaleaGate.asm
@@ -45,5 +45,5 @@ IlexForestAzaleaGate_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x62c7a, -1
-   person_event SPRITE_GRANNY, 3, 1, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrannyScript_0x62c7d, -1
+   person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x62c7a, -1
+   person_event SPRITE_GRANNY, 3, 1, SPRITEMOVEFN_06, 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 c4ab11a..eca25c3 100644
--- a/maps/IndigoPlateauPokeCenter1F.asm
+++ b/maps/IndigoPlateauPokeCenter1F.asm
@@ -3,7 +3,7 @@ IndigoPlateauPokeCenter1F_MapScriptHeader:
    db 1
 
    ; triggers
    dw UnknownScript_0x180009, $0000
 
 .MapCallbacks:
    db 1
@@ -319,9 +319,9 @@ IndigoPlateauPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_NURSE, 7, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18012c, -1
-   person_event SPRITE_CLERK, 7, 11, $6, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18012f, -1
-   person_event SPRITE_COOLTRAINER_M, 11, 11, $2, 2, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x180136, -1
-   person_event SPRITE_SILVER, 9, 16, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL
-   person_event SPRITE_GRAMPS, 9, 1, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeleportGuyScript, EVENT_TELEPORT_GUY
-   person_event SPRITE_JYNX, 9, 0, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, AbraScript, EVENT_TELEPORT_GUY
+   person_event SPRITE_NURSE, 7, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18012c, -1
+   person_event SPRITE_CLERK, 7, 11, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18012f, -1
+   person_event SPRITE_COOLTRAINER_M, 11, 11, SPRITEMOVEFN_02, 2, 2, -1, -1, 0, 0, 0, CooltrainerMScript_0x180136, -1
+   person_event SPRITE_SILVER, 9, 16, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL
+   person_event SPRITE_GRAMPS, 9, 1, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeleportGuyScript, EVENT_TELEPORT_GUY
+   person_event SPRITE_JYNX, 9, 0, SPRITEMOVEFN_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 978aaac..5ca7145 100644
--- a/maps/KarensRoom.asm
+++ b/maps/KarensRoom.asm
@@ -3,8 +3,8 @@ KarensRoom_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x180bbc, $0000
    dw UnknownScript_0x180bc0, $0000
 
 .MapCallbacks:
    db 1
@@ -52,7 +52,7 @@ KarenScript_0x180bee:
    writetext UnknownText_0x180c27
    closetext
    loadmovesprites
    winlosstext UnknownText_0x180cf8, $0000
    loadtrainer KAREN, 1
    startbattle
    returnafterbattle
@@ -153,4 +153,4 @@ KarensRoom_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_KAREN, 7, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, KarenScript_0x180bee, -1
+   person_event SPRITE_KAREN, 7, 5, SPRITEMOVEFN_06, 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 0b2dfa8..42e8eb9 100644
--- a/maps/KogasRoom.asm
+++ b/maps/KogasRoom.asm
@@ -3,8 +3,8 @@ KogasRoom_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x180728, $0000
    dw UnknownScript_0x18072c, $0000
 
 .MapCallbacks:
    db 1
@@ -52,7 +52,7 @@ KogaScript_0x18075a:
    writetext UnknownText_0x180793
    closetext
    loadmovesprites
    winlosstext UnknownText_0x1808a9, $0000
    loadtrainer KOGA, 1
    startbattle
    returnafterbattle
@@ -150,4 +150,4 @@ KogasRoom_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_KOGA, 7, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, KogaScript_0x18075a, -1
+   person_event SPRITE_KOGA, 7, 5, SPRITEMOVEFN_06, 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 50f32a5..3388d9e 100644
--- a/maps/KrissHouse1F.asm
+++ b/maps/KrissHouse1F.asm
@@ -3,8 +3,8 @@ KrissHouse1F_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x7a4d6, $0000
    dw UnknownScript_0x7a4d7, $0000
 
 .MapCallbacks:
    db 0
@@ -404,8 +404,8 @@ KrissHouse1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_MOM, 4, 7, $8, 0, 0, -1, -1, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_1
-   person_event SPRITE_MOM, 2, 2, $7, 0, 0, -1, 1, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_2
-   person_event SPRITE_MOM, 4, 7, $8, 0, 0, -1, 2, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_2
-   person_event SPRITE_MOM, 2, 0, $7, 0, 0, -1, 4, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_2
-   person_event SPRITE_POKEFAN_F, 4, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, NeighborScript, EVENT_KRISS_HOUSE_1F_NEIGHBOR
+   person_event SPRITE_MOM, 4, 7, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_1
+   person_event SPRITE_MOM, 2, 2, SPRITEMOVEFN_07, 0, 0, -1, 1, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_2
+   person_event SPRITE_MOM, 4, 7, SPRITEMOVEFN_08, 0, 0, -1, 2, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_2
+   person_event SPRITE_MOM, 2, 0, SPRITEMOVEFN_07, 0, 0, -1, 4, 0, 0, 0, MomScript_0x7a582, EVENT_KRISS_HOUSE_MOM_2
+   person_event SPRITE_POKEFAN_F, 4, 4, SPRITEMOVEFN_09, 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 62ec48b..2106585 100644
--- a/maps/KrissHouse2F.asm
+++ b/maps/KrissHouse2F.asm
@@ -132,7 +132,7 @@ KrissHouse2F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_CONSOLE, 2, 4, $1, 0, 0, -1, -1, 0, 0, 0, GameConsole, EVENT_KRISS_HOUSE_2F_CONSOLE
-   person_event SPRITE_DOLL_1, 4, 4, $1, 0, 0, -1, -1, 0, 0, 0, Doll1, EVENT_KRISS_HOUSE_2F_DOLL_1
-   person_event SPRITE_DOLL_2, 4, 5, $1, 0, 0, -1, -1, 0, 0, 0, Doll2, EVENT_KRISS_HOUSE_2F_DOLL_2
-   person_event SPRITE_BIG_DOLL, 1, 0, $21, 0, 0, -1, -1, 0, 0, 0, BigDoll, EVENT_KRISS_HOUSE_2F_BIG_DOLL
+   person_event SPRITE_CONSOLE, 2, 4, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, GameConsole, EVENT_KRISS_HOUSE_2F_CONSOLE
+   person_event SPRITE_DOLL_1, 4, 4, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, Doll1, EVENT_KRISS_HOUSE_2F_DOLL_1
+   person_event SPRITE_DOLL_2, 4, 5, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, Doll2, EVENT_KRISS_HOUSE_2F_DOLL_2
+   person_event SPRITE_BIG_DOLL, 1, 0, SPRITEMOVEFN_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 defaf84..5226bca 100644
--- a/maps/KrissNeighborsHouse.asm
+++ b/maps/KrissNeighborsHouse.asm
@@ -114,5 +114,5 @@ KrissNeighborsHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_COOLTRAINER_F, 3, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, KrissNeighborsDaughter, -1
-   person_event SPRITE_POKEFAN_F, 3, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, KrissNeighbor, EVENT_KRISS_NEIGHBORS_HOUSE_NEIGHBOR
+   person_event SPRITE_COOLTRAINER_F, 3, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, KrissNeighborsDaughter, -1
+   person_event SPRITE_POKEFAN_F, 3, 5, SPRITEMOVEFN_08, 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 5a43e1e..54b4902 100644
--- a/maps/KurtsHouse.asm
+++ b/maps/KurtsHouse.asm
@@ -696,8 +696,8 @@ KurtsHouse_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_KURT, 2, 3, $6, 0, 0, -1, -1, 0, 0, 0, KurtScript_0x18e178, EVENT_KURTS_HOUSE_KURT_1
-   person_event SPRITE_TWIN, 3, 5, $3, 0, 0, -1, -1, 0, 0, 0, KurtsGranddaughter1, EVENT_KURTS_HOUSE_GRANDDAUGHTER_1
-   person_event SPRITE_SLOWPOKE, 3, 6, $1, 0, 0, -1, -1, 0, 0, 0, KurtsHouseSlowpoke, EVENT_KURTS_HOUSE_SLOWPOKE
-   person_event SPRITE_KURT, 3, 14, $7, 0, 0, -1, -1, 0, 0, 0, KurtScript_0x18e3bd, EVENT_KURTS_HOUSE_KURT_2
-   person_event SPRITE_TWIN, 4, 11, $9, 0, 0, -1, -1, 0, 0, 0, KurtsGranddaughter2, EVENT_KURTS_HOUSE_GRANDDAUGHTER_2
+   person_event SPRITE_KURT, 2, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, KurtScript_0x18e178, EVENT_KURTS_HOUSE_KURT_1
+   person_event SPRITE_TWIN, 3, 5, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, KurtsGranddaughter1, EVENT_KURTS_HOUSE_GRANDDAUGHTER_1
+   person_event SPRITE_SLOWPOKE, 3, 6, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, KurtsHouseSlowpoke, EVENT_KURTS_HOUSE_SLOWPOKE
+   person_event SPRITE_KURT, 3, 14, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, KurtScript_0x18e3bd, EVENT_KURTS_HOUSE_KURT_2
+   person_event SPRITE_TWIN, 4, 11, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, KurtsGranddaughter2, EVENT_KURTS_HOUSE_GRANDDAUGHTER_2
diff --git a/maps/LakeofRage.asm b/maps/LakeofRage.asm
index 8fabac5..7e90e9f 100644
--- a/maps/LakeofRage.asm
+++ b/maps/LakeofRage.asm
@@ -3,8 +3,8 @@ LakeofRage_MapScriptHeader:
    db 2
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
 
 .MapCallbacks:
    db 2
@@ -137,7 +137,7 @@ UnknownScript_0x700b8:
    end
 
 TrainerFisherAndre:
    trainer EVENT_BEAT_FISHER_ANDRE, FISHER, ANDRE, FisherAndreSeenText, FisherAndreBeatenText, $0000, FisherAndreScript
 
 FisherAndreScript:
    talkaftercancel
@@ -148,7 +148,7 @@ FisherAndreScript:
    end
 
 TrainerFisherRaymond:
    trainer EVENT_BEAT_FISHER_RAYMOND, FISHER, RAYMOND, FisherRaymondSeenText, FisherRaymondBeatenText, $0000, FisherRaymondScript
 
 FisherRaymondScript:
    talkaftercancel
@@ -159,7 +159,7 @@ FisherRaymondScript:
    end
 
 TrainerCooltrainermAaron:
    trainer EVENT_BEAT_COOLTRAINERM_AARON, COOLTRAINERM, AARON, CooltrainermAaronSeenText, CooltrainermAaronBeatenText, $0000, CooltrainermAaronScript
 
 CooltrainermAaronScript:
    talkaftercancel
@@ -170,7 +170,7 @@ CooltrainermAaronScript:
    end
 
 TrainerCooltrainerfLois:
    trainer EVENT_BEAT_COOLTRAINERF_LOIS, COOLTRAINERF, LOIS, CooltrainerfLoisSeenText, CooltrainerfLoisBeatenText, $0000, CooltrainerfLoisScript
 
 CooltrainerfLoisScript:
    talkaftercancel
@@ -509,15 +509,15 @@ LakeofRage_MapEventHeader:
 
 .PersonEvents:
    db 12
-   person_event SPRITE_LANCE, 28, 21, $7, 0, 0, -1, -1, 0, 0, 0, LanceScript_0x70022, EVENT_LAKE_OF_RAGE_LANCE
-   person_event SPRITE_GRAMPS, 26, 20, $7, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x7008e, -1
-   person_event SPRITE_SUPER_NERD, 13, 36, $8, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x700a2, -1
-   person_event SPRITE_COOLTRAINER_F, 29, 25, $5, 0, 1, -1, -1, 0, 0, 0, CooltrainerFScript_0x700a5, -1
-   person_event SPRITE_FISHER, 23, 30, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerFisherAndre, EVENT_LAKE_OF_RAGE_CIVILIANS
-   person_event SPRITE_FISHER, 26, 24, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerFisherRaymond, EVENT_LAKE_OF_RAGE_CIVILIANS
-   person_event SPRITE_COOLTRAINER_M, 15, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainermAaron, EVENT_LAKE_OF_RAGE_CIVILIANS
-   person_event SPRITE_COOLTRAINER_F, 7, 36, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerCooltrainerfLois, EVENT_LAKE_OF_RAGE_CIVILIANS
-   person_event SPRITE_GYARADOS, 22, 18, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GyaradosScript_0x70063, EVENT_LAKE_OF_RAGE_RED_GYARADOS
-   person_event SPRITE_SUPER_NERD, 4, 4, $6, 0, 0, -1, -1, 0, 0, 0, WesleyScript, EVENT_LAKE_OF_RAGE_WESLEY_OF_WEDNESDAY
-   person_event SPRITE_POKE_BALL, 10, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x70148, EVENT_LAKE_OF_RAGE_ELIXER
-   person_event SPRITE_POKE_BALL, 2, 35, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7014a, EVENT_LAKE_OF_RAGE_TM_DETECT
+   person_event SPRITE_LANCE, 28, 21, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, LanceScript_0x70022, EVENT_LAKE_OF_RAGE_LANCE
+   person_event SPRITE_GRAMPS, 26, 20, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x7008e, -1
+   person_event SPRITE_SUPER_NERD, 13, 36, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x700a2, -1
+   person_event SPRITE_COOLTRAINER_F, 29, 25, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, CooltrainerFScript_0x700a5, -1
+   person_event SPRITE_FISHER, 23, 30, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerFisherAndre, EVENT_LAKE_OF_RAGE_CIVILIANS
+   person_event SPRITE_FISHER, 26, 24, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerFisherRaymond, EVENT_LAKE_OF_RAGE_CIVILIANS
+   person_event SPRITE_COOLTRAINER_M, 15, 4, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainermAaron, EVENT_LAKE_OF_RAGE_CIVILIANS
+   person_event SPRITE_COOLTRAINER_F, 7, 36, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerCooltrainerfLois, EVENT_LAKE_OF_RAGE_CIVILIANS
+   person_event SPRITE_GYARADOS, 22, 18, SPRITEMOVEFN_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, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, WesleyScript, EVENT_LAKE_OF_RAGE_WESLEY_OF_WEDNESDAY
+   person_event SPRITE_POKE_BALL, 10, 7, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x70148, EVENT_LAKE_OF_RAGE_ELIXER
+   person_event SPRITE_POKE_BALL, 2, 35, SPRITEMOVEFN_01, 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 caf510f..a61c7bd 100644
--- a/maps/LakeofRageHiddenPowerHouse.asm
+++ b/maps/LakeofRageHiddenPowerHouse.asm
@@ -83,4 +83,4 @@ LakeofRageHiddenPowerHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHER, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, HiddenPowerGuy, -1
+   person_event SPRITE_FISHER, 3, 2, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, HiddenPowerGuy, -1
diff --git a/maps/LakeofRageMagikarpHouse.asm b/maps/LakeofRageMagikarpHouse.asm
index 42b3ffa..85f776d 100644
--- a/maps/LakeofRageMagikarpHouse.asm
+++ b/maps/LakeofRageMagikarpHouse.asm
@@ -221,4 +221,4 @@ LakeofRageMagikarpHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHING_GURU, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x19a6ae, -1
+   person_event SPRITE_FISHING_GURU, 3, 2, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x19a6ae, -1
diff --git a/maps/LancesRoom.asm b/maps/LancesRoom.asm
index aaa239c..5d6b388 100644
--- a/maps/LancesRoom.asm
+++ b/maps/LancesRoom.asm
@@ -3,8 +3,8 @@ LancesRoom_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x180e39, $0000
    dw UnknownScript_0x180e3d, $0000
 
 .MapCallbacks:
    db 1
@@ -57,7 +57,7 @@ LanceScript_0x180e7b:
    writetext UnknownText_0x180f67
    closetext
    loadmovesprites
    winlosstext UnknownText_0x1810a4, $0000
    setlasttalked $2
    loadtrainer CHAMPION, LANCE
    startbattle
@@ -358,6 +358,6 @@ LancesRoom_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_LANCE, 3, 5, $6, 0, 0, -1, -1, 0, 0, 0, LanceScript_0x180e7b, -1
-   person_event SPRITE_TEACHER, 7, 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, EVENT_LANCES_ROOM_OAK_AND_MARY
-   person_event SPRITE_OAK, 7, 4, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_LANCES_ROOM_OAK_AND_MARY
+   person_event SPRITE_LANCE, 3, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, LanceScript_0x180e7b, -1
+   person_event SPRITE_TEACHER, 7, 4, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, EVENT_LANCES_ROOM_OAK_AND_MARY
+   person_event SPRITE_OAK, 7, 4, SPRITEMOVEFN_07, 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 7f7d82d..aa9082e 100644
--- a/maps/LavRadioTower1F.asm
+++ b/maps/LavRadioTower1F.asm
@@ -233,8 +233,8 @@ LavRadioTower1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_RECEPTIONIST, 6, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x7ee63, -1
-   person_event SPRITE_OFFICER, 1, 15, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x7ee66, -1
-   person_event SPRITE_SUPER_NERD, 3, 1, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x7ee69, -1
-   person_event SPRITE_GENTLEMAN, 1, 9, $7, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x7ee6c, -1
-   person_event SPRITE_SUPER_NERD, 6, 14, $9, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7eea2, -1
+   person_event SPRITE_RECEPTIONIST, 6, 6, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x7ee63, -1
+   person_event SPRITE_OFFICER, 1, 15, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x7ee66, -1
+   person_event SPRITE_SUPER_NERD, 3, 1, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x7ee69, -1
+   person_event SPRITE_GENTLEMAN, 1, 9, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x7ee6c, -1
+   person_event SPRITE_SUPER_NERD, 6, 14, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7eea2, -1
diff --git a/maps/LavenderMart.asm b/maps/LavenderMart.asm
index f6b7823..119bee6 100644
--- a/maps/LavenderMart.asm
+++ b/maps/LavenderMart.asm
@@ -59,6 +59,6 @@ LavenderMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x7eb1c, -1
-   person_event SPRITE_POKEFAN_M, 6, 6, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x7eb23, -1
-   person_event SPRITE_ROCKER, 2, 9, $3, 0, 0, -1, -1, 0, 0, 0, RockerScript_0x7eb26, -1
+   person_event SPRITE_CLERK, 3, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x7eb1c, -1
+   person_event SPRITE_POKEFAN_M, 6, 6, SPRITEMOVEFN_05, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x7eb23, -1
+   person_event SPRITE_ROCKER, 2, 9, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, RockerScript_0x7eb26, -1
diff --git a/maps/LavenderNameRater.asm b/maps/LavenderNameRater.asm
index e00fab6..fd72806 100644
--- a/maps/LavenderNameRater.asm
+++ b/maps/LavenderNameRater.asm
@@ -3,7 +3,7 @@ LavenderNameRater_MapScriptHeader:
    db 1
 
    ; triggers
    dw UnknownScript_0x7eaf1, $0000
 
 .MapCallbacks:
    db 0
@@ -40,4 +40,4 @@ LavenderNameRater_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_GENTLEMAN, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LavenderNameRater, -1
+   person_event SPRITE_GENTLEMAN, 3, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LavenderNameRater, -1
diff --git a/maps/LavenderPokeCenter1F.asm b/maps/LavenderPokeCenter1F.asm
index ee1a4bf..f297376 100644
--- a/maps/LavenderPokeCenter1F.asm
+++ b/maps/LavenderPokeCenter1F.asm
@@ -92,7 +92,7 @@ LavenderPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x7e6a0, -1
-   person_event SPRITE_GENTLEMAN, 6, 7, $5, 0, 1, -1, -1, 0, 0, 0, GentlemanScript_0x7e6a3, -1
-   person_event SPRITE_TEACHER, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x7e6a6, -1
-   person_event SPRITE_YOUNGSTER, 5, 1, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x7e6a9, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x7e6a0, -1
+   person_event SPRITE_GENTLEMAN, 6, 7, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, GentlemanScript_0x7e6a3, -1
+   person_event SPRITE_TEACHER, 3, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x7e6a6, -1
+   person_event SPRITE_YOUNGSTER, 5, 1, SPRITEMOVEFN_04, 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 65b6054..275cae7 100644
--- a/maps/LavenderTown.asm
+++ b/maps/LavenderTown.asm
@@ -129,7 +129,7 @@ LavenderTown_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKEFAN_M, 7, 12, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x1ad6e4, -1
-   person_event SPRITE_TEACHER, 15, 2, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x1ad6e7, -1
-   person_event SPRITE_GRAMPS, 12, 14, $7, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1ad6ea, -1
-   person_event SPRITE_YOUNGSTER, 11, 6, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 1, YoungsterScript_0x1ad6ed, -1
+   person_event SPRITE_POKEFAN_M, 7, 12, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x1ad6e4, -1
+   person_event SPRITE_TEACHER, 15, 2, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x1ad6e7, -1
+   person_event SPRITE_GRAMPS, 12, 14, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1ad6ea, -1
+   person_event SPRITE_YOUNGSTER, 11, 6, SPRITEMOVEFN_05, 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 37d0677..9f0cb0f 100644
--- a/maps/LavenderTownSpeechHouse.asm
+++ b/maps/LavenderTownSpeechHouse.asm
@@ -44,4 +44,4 @@ LavenderTownSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKEFAN_F, 3, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x7ea47, -1
+   person_event SPRITE_POKEFAN_F, 3, 2, SPRITEMOVEFN_07, 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 9616d1a..fd30455 100644
--- a/maps/MahoganyGym.asm
+++ b/maps/MahoganyGym.asm
@@ -13,7 +13,7 @@ PryceScript_0x199a9e:
    writetext UnknownText_0x199b8d
    closetext
    loadmovesprites
    winlosstext UnknownText_0x199cb3, $0000
    loadtrainer PRYCE, 1
    startbattle
    returnafterbattle
@@ -62,7 +62,7 @@ MahoganyGymTriggerRockets:
    jumpstd radiotowerrockets
 
 TrainerSkierRoxanne:
    trainer EVENT_BEAT_SKIER_ROXANNE, SKIER, ROXANNE, SkierRoxanneSeenText, SkierRoxanneBeatenText, $0000, SkierRoxanneScript
 
 SkierRoxanneScript:
    talkaftercancel
@@ -73,7 +73,7 @@ SkierRoxanneScript:
    end
 
 TrainerSkierClarissa:
    trainer EVENT_BEAT_SKIER_CLARISSA, SKIER, CLARISSA, SkierClarissaSeenText, SkierClarissaBeatenText, $0000, SkierClarissaScript
 
 SkierClarissaScript:
    talkaftercancel
@@ -84,7 +84,7 @@ SkierClarissaScript:
    end
 
 TrainerBoarderRonald:
    trainer EVENT_BEAT_BOARDER_RONALD, BOARDER, RONALD, BoarderRonaldSeenText, BoarderRonaldBeatenText, $0000, BoarderRonaldScript
 
 BoarderRonaldScript:
    talkaftercancel
@@ -95,7 +95,7 @@ BoarderRonaldScript:
    end
 
 TrainerBoarderBrad:
    trainer EVENT_BEAT_BOARDER_BRAD, BOARDER, BRAD, BoarderBradSeenText, BoarderBradBeatenText, $0000, BoarderBradScript
 
 BoarderBradScript:
    talkaftercancel
@@ -106,7 +106,7 @@ BoarderBradScript:
    end
 
 TrainerBoarderDouglas:
    trainer EVENT_BEAT_BOARDER_DOUGLAS, BOARDER, DOUGLAS, BoarderDouglasSeenText, BoarderDouglasBeatenText, $0000, BoarderDouglasScript
 
 BoarderDouglasScript:
    talkaftercancel
@@ -382,10 +382,10 @@ MahoganyGym_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_PRYCE, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PryceScript_0x199a9e, -1
-   person_event SPRITE_BUENA, 6, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerSkierRoxanne, -1
-   person_event SPRITE_ROCKER, 17, 0, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBoarderRonald, -1
-   person_event SPRITE_BUENA, 17, 9, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerSkierClarissa, -1
-   person_event SPRITE_ROCKER, 9, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBoarderBrad, -1
-   person_event SPRITE_ROCKER, 4, 2, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBoarderDouglas, -1
-   person_event SPRITE_GYM_GUY, 15, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, MahoganyGymGuyScript, -1
+   person_event SPRITE_PRYCE, 3, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PryceScript_0x199a9e, -1
+   person_event SPRITE_BUENA, 6, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerSkierRoxanne, -1
+   person_event SPRITE_ROCKER, 17, 0, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBoarderRonald, -1
+   person_event SPRITE_BUENA, 17, 9, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerSkierClarissa, -1
+   person_event SPRITE_ROCKER, 9, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBoarderBrad, -1
+   person_event SPRITE_ROCKER, 4, 2, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBoarderDouglas, -1
+   person_event SPRITE_GYM_GUY, 15, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, MahoganyGymGuyScript, -1
diff --git a/maps/MahoganyMart1F.asm b/maps/MahoganyMart1F.asm
index 815e53b..caadee4 100644
--- a/maps/MahoganyMart1F.asm
+++ b/maps/MahoganyMart1F.asm
@@ -3,8 +3,8 @@ MahoganyMart1F_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x6c356, $0000
    dw UnknownScript_0x6c357, $0000
 
 .MapCallbacks:
    db 1
@@ -236,8 +236,8 @@ MahoganyMart1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_PHARMACIST, 3, 4, $6, 0, 0, -1, -1, 0, 0, 0, PharmacistScript_0x6c367, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_BLACK_BELT, 6, 1, $3, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x6c37b, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_LANCE, 6, 4, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
-   person_event SPRITE_DRAGON, 6, 3, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
-   person_event SPRITE_GRANNY, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x6c3ee, EVENT_MAHOGANY_MART_OWNERS
+   person_event SPRITE_PHARMACIST, 3, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, PharmacistScript_0x6c367, EVENT_TEAM_ROCKET_BASE_POPULATION
+   person_event SPRITE_BLACK_BELT, 6, 1, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x6c37b, EVENT_TEAM_ROCKET_BASE_POPULATION
+   person_event SPRITE_LANCE, 6, 4, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
+   person_event SPRITE_DRAGON, 6, 3, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
+   person_event SPRITE_GRANNY, 3, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x6c3ee, EVENT_MAHOGANY_MART_OWNERS
diff --git a/maps/MahoganyPokeCenter1F.asm b/maps/MahoganyPokeCenter1F.asm
index f7f8a39..406fee8 100644
--- a/maps/MahoganyPokeCenter1F.asm
+++ b/maps/MahoganyPokeCenter1F.asm
@@ -65,7 +65,7 @@ MahoganyPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x19a356, -1
-   person_event SPRITE_POKEFAN_M, 2, 7, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x19a359, -1
-   person_event SPRITE_YOUNGSTER, 3, 1, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x19a35c, -1
-   person_event SPRITE_COOLTRAINER_F, 3, 2, $8, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x19a35f, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x19a356, -1
+   person_event SPRITE_POKEFAN_M, 2, 7, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x19a359, -1
+   person_event SPRITE_YOUNGSTER, 3, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x19a35c, -1
+   person_event SPRITE_COOLTRAINER_F, 3, 2, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x19a35f, -1
diff --git a/maps/MahoganyRedGyaradosSpeechHouse.asm b/maps/MahoganyRedGyaradosSpeechHouse.asm
index e8f3f71..f4590e1 100644
--- a/maps/MahoganyRedGyaradosSpeechHouse.asm
+++ b/maps/MahoganyRedGyaradosSpeechHouse.asm
@@ -73,5 +73,5 @@ MahoganyRedGyaradosSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_BLACK_BELT, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x19997f, -1
-   person_event SPRITE_TEACHER, 5, 6, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x199982, -1
+   person_event SPRITE_BLACK_BELT, 3, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x19997f, -1
+   person_event SPRITE_TEACHER, 5, 6, SPRITEMOVEFN_04, 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 fd58269..7f48aa2 100644
--- a/maps/MahoganyTown.asm
+++ b/maps/MahoganyTown.asm
@@ -3,8 +3,8 @@ MahoganyTown_MapScriptHeader:
    db 2
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
 
 .MapCallbacks:
    db 1
@@ -268,7 +268,7 @@ MahoganyTown_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKEFAN_M, 8, 19, $6, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x19002e, EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_EAST
-   person_event SPRITE_GRAMPS, 9, 6, $5, 0, 1, -1, -1, 0, 0, 0, GrampsScript_0x19007e, -1
-   person_event SPRITE_FISHER, 14, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x190092, EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_GYM
-   person_event SPRITE_LASS, 8, 12, $6, 0, 0, -1, -1, 0, 0, 0, LassScript_0x190095, EVENT_MAHOGANY_MART_OWNERS
+   person_event SPRITE_POKEFAN_M, 8, 19, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x19002e, EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_EAST
+   person_event SPRITE_GRAMPS, 9, 6, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, GrampsScript_0x19007e, -1
+   person_event SPRITE_FISHER, 14, 6, SPRITEMOVEFN_06, 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, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, LassScript_0x190095, EVENT_MAHOGANY_MART_OWNERS
diff --git a/maps/ManiasHouse.asm b/maps/ManiasHouse.asm
index 3b68cfc..503db4e 100644
--- a/maps/ManiasHouse.asm
+++ b/maps/ManiasHouse.asm
@@ -5,90 +5,90 @@ ManiasHouse_MapScriptHeader:
 .MapCallbacks:
    db 0
 
-RockerScript_0x9d278:
+ManiaScript:
    faceplayer
    loadfont
    checkevent EVENT_MANIA_TOOK_SHUCKIE_OR_LET_YOU_KEEP_HIM
-   iftrue UnknownScript_0x9d2fa
+   iftrue .default_postevent
    checkevent EVENT_GOT_SHUCKIE
-   iftrue UnknownScript_0x9d2a4
-   writetext UnknownText_0x9d303
+   iftrue .alreadyhaveshuckie
+   writetext ManiaText_AskLookAfterShuckle
    yesorno
-   iffalse UnknownScript_0x9d2b6
+   iffalse .refusetotakeshuckie
    special SpecialGiveShuckle
-   iffalse UnknownScript_0x9d2b0
-   writetext UnknownText_0x9d3ed
+   iffalse .partyfull
+   writetext ManiaText_TakeCareOfShuckle
    keeptextopen
    waitbutton
-   writetext UnknownText_0x9d41b
+   writetext ManiaText_GotShuckle
    playsound SFX_KEY_ITEM
    waitbutton
    loadmovesprites
    setevent EVENT_GOT_SHUCKIE
    end
 
-UnknownScript_0x9d2a4:
+.alreadyhaveshuckie:
    checkflag ENGINE_SHUCKLE_GIVEN
-   iffalse UnknownScript_0x9d2bc
-   writetext UnknownText_0x9d3ed
+   iffalse .returnshuckie
+   writetext ManiaText_TakeCareOfShuckle
    closetext
    loadmovesprites
    end
 
-UnknownScript_0x9d2b0:
-   writetext UnknownText_0x9d42f
+.partyfull:
+   writetext ManiaText_PartyFull
    closetext
    loadmovesprites
    end
 
-UnknownScript_0x9d2b6:
-   writetext UnknownText_0x9d449
+.refusetotakeshuckie:
+   writetext ManiaText_IfHeComesBack
    closetext
    loadmovesprites
    end
 
-UnknownScript_0x9d2bc:
-   writetext UnknownText_0x9d470
+.returnshuckie:
+   writetext ManiaText_CanIHaveMyMonBack
    yesorno
-   iffalse UnknownScript_0x9d2ee
+   iffalse .refused
    special SpecialReturnShuckle
-   if_equal $0, UnknownScript_0x9d2df
-   if_equal $1, UnknownScript_0x9d2ee
-   if_equal $3, UnknownScript_0x9d2e5
-   if_equal $4, UnknownScript_0x9d2fa
-   writetext UnknownText_0x9d4b1
+   if_equal $0, .wrong
+   if_equal $1, .refused
+   if_equal $3, .superhappy
+   if_equal $4, .default_postevent
+   writetext ManiaText_ThankYou
    closetext
    loadmovesprites
    setevent EVENT_MANIA_TOOK_SHUCKIE_OR_LET_YOU_KEEP_HIM
    end
 
-UnknownScript_0x9d2df:
-   writetext UnknownText_0x9d4bd
+.wrong:
+   writetext ManiaText_ShuckleNotThere
    closetext
    loadmovesprites
    end
 
-UnknownScript_0x9d2e5:
-   writetext UnknownText_0x9d4e3
+.superhappy:
+   writetext ManiaText_ShuckleLikesYou
    closetext
    loadmovesprites
    setevent EVENT_MANIA_TOOK_SHUCKIE_OR_LET_YOU_KEEP_HIM
    end
 
-UnknownScript_0x9d2ee:
-   writetext UnknownText_0x9d53f
+.refused:
+   writetext ManiaText_SameAsBeingRobbed
    closetext
    loadmovesprites
    end
 
-UnknownScript_0x9d2f4:
-   writetext UnknownText_0x9d5b0
+.nothingleft:
+   writetext ManiaText_ShuckleIsYourLastMon
    closetext
    loadmovesprites
    end
 
-UnknownScript_0x9d2fa:
-   writetext UnknownText_0x9d56c
+.default_postevent:
+   writetext ManiaText_HappinessSpeech
    closetext
    loadmovesprites
    end
@@ -96,7 +96,7 @@ UnknownScript_0x9d2fa:
 UnknownScript_0x9d300:
    jumpstd picturebookshelf
 
-UnknownText_0x9d303:
+ManiaText_AskLookAfterShuckle:
    text "I, I'm in shock!"
 
    para "A guy about your"
@@ -120,30 +120,30 @@ UnknownText_0x9d303:
    line "for a while?"
    done
 
-UnknownText_0x9d3ed:
+ManiaText_TakeCareOfShuckle:
    text "Oh, thank you!"
 
    para "Take good care of"
    line "it, please!"
    done
 
-UnknownText_0x9d41b:
+ManiaText_GotShuckle:
    text "<PLAYER> received a"
    line "#MON."
    done
 
-UnknownText_0x9d42f:
+ManiaText_PartyFull:
    text "Your #MON party"
    line "is full."
    done
 
-UnknownText_0x9d449:
+ManiaText_IfHeComesBack:
    text "Oh, no… What'll"
    line "I do if he comes"
    cont "back?"
    done
 
-UnknownText_0x9d470:
+ManiaText_CanIHaveMyMonBack:
    text "Hi! How's my #-"
    line "MON?"
 
@@ -152,17 +152,17 @@ UnknownText_0x9d470:
    cont "it back?"
    done
 
-UnknownText_0x9d4b1:
+ManiaText_ThankYou:
    text "Thank you!"
    done
 
-UnknownText_0x9d4bd:
+ManiaText_ShuckleNotThere:
    text "Hey, you don't"
    line "have my #MON"
    cont "with you."
    done
 
-UnknownText_0x9d4e3:
+ManiaText_ShuckleLikesYou:
    text "My #MON has"
    line "come to like you."
 
@@ -173,13 +173,13 @@ UnknownText_0x9d4e3:
    line "be good to it!"
    done
 
-UnknownText_0x9d53f:
+ManiaText_SameAsBeingRobbed:
    text "Oh, no, no… That's"
    line "the same as being"
    cont "robbed."
    done
 
-UnknownText_0x9d56c:
+ManiaText_HappinessSpeech:
    text "For #MON, hap-"
    line "piness is being"
 
@@ -187,7 +187,7 @@ UnknownText_0x9d56c:
    line "treats them well."
    done
 
-UnknownText_0x9d5b0:
+ManiaText_ShuckleIsYourLastMon:
    text "If I take my #-"
    line "MON back, what are"
 
@@ -212,4 +212,4 @@ ManiasHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_ROCKER, 4, 2, $3, 0, 0, -1, -1, 0, 0, 0, RockerScript_0x9d278, -1
+   person_event SPRITE_ROCKER, 4, 2, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, ManiaScript, -1
diff --git a/maps/MobileBattleRoom.asm b/maps/MobileBattleRoom.asm
index 06dd75a..cd792b4 100644
--- a/maps/MobileBattleRoom.asm
+++ b/maps/MobileBattleRoom.asm
@@ -3,8 +3,8 @@ MobileBattleRoom_MapScriptHeader:
    db 2
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
 
 .MapCallbacks:
    db 0
diff --git a/maps/MobileTradeRoomMobile.asm b/maps/MobileTradeRoomMobile.asm
index bebb824..09837e1 100644
--- a/maps/MobileTradeRoomMobile.asm
+++ b/maps/MobileTradeRoomMobile.asm
@@ -3,8 +3,8 @@ MobileTradeRoomMobile_MapScriptHeader:
    db 2
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
 
 .MapCallbacks:
    db 0
diff --git a/maps/MountMoon.asm b/maps/MountMoon.asm
index b8ad92a..b5b0fcd 100644
--- a/maps/MountMoon.asm
+++ b/maps/MountMoon.asm
@@ -3,8 +3,8 @@ MountMoon_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x74089, $0000
    dw UnknownScript_0x7408d, $0000
 
 .MapCallbacks:
    db 0
@@ -182,4 +182,4 @@ MountMoon_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_SILVER, 3, 7, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MT_MOON_RIVAL
+   person_event SPRITE_SILVER, 3, 7, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MT_MOON_RIVAL
diff --git a/maps/MountMoonGiftShop.asm b/maps/MountMoonGiftShop.asm
index 29f8ff6..66cf07e 100644
--- a/maps/MountMoonGiftShop.asm
+++ b/maps/MountMoonGiftShop.asm
@@ -38,7 +38,7 @@ MountMoonGiftShop_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_GRAMPS, 3, 4, $6, 0, 0, -1, 1, 0, 0, 0, GrampsScript_0x771a8, -1
-   person_event SPRITE_GRAMPS, 2, 1, $9, 0, 0, -1, 2, 0, 0, 0, GrampsScript_0x771a8, -1
-   person_event SPRITE_LASS, 6, 1, $5, 0, 1, -1, 1, 0, 0, 0, LassScript_0x771b0, -1
-   person_event SPRITE_LASS, 4, 5, $4, 1, 0, -1, 2, 0, 0, 0, LassScript_0x771b0, -1
+   person_event SPRITE_GRAMPS, 3, 4, SPRITEMOVEFN_06, 0, 0, -1, 1, 0, 0, 0, GrampsScript_0x771a8, -1
+   person_event SPRITE_GRAMPS, 2, 1, SPRITEMOVEFN_09, 0, 0, -1, 2, 0, 0, 0, GrampsScript_0x771a8, -1
+   person_event SPRITE_LASS, 6, 1, SPRITEMOVEFN_05, 0, 1, -1, 1, 0, 0, 0, LassScript_0x771b0, -1
+   person_event SPRITE_LASS, 4, 5, SPRITEMOVEFN_04, 1, 0, -1, 2, 0, 0, 0, LassScript_0x771b0, -1
diff --git a/maps/MountMoonSquare.asm b/maps/MountMoonSquare.asm
index b371ae4..5895143 100644
--- a/maps/MountMoonSquare.asm
+++ b/maps/MountMoonSquare.asm
@@ -3,7 +3,7 @@ MountMoonSquare_MapScriptHeader:
    db 1
 
    ; triggers
    dw UnknownScript_0x77092, $0000
 
 .MapCallbacks:
    db 2
@@ -155,6 +155,6 @@ MountMoonSquare_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_FAIRY, 6, 6, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MT_MOON_SQUARE_CLEFAIRY
-   person_event SPRITE_FAIRY, 6, 7, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MT_MOON_SQUARE_CLEFAIRY
-   person_event SPRITE_ROCK, 7, 7, $18, 0, 0, -1, -1, 0, 0, 0, MtMoonSquareRock, EVENT_MT_MOON_SQUARE_ROCK
+   person_event SPRITE_FAIRY, 6, 6, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MT_MOON_SQUARE_CLEFAIRY
+   person_event SPRITE_FAIRY, 6, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MT_MOON_SQUARE_CLEFAIRY
+   person_event SPRITE_ROCK, 7, 7, SPRITEMOVEFN_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 f830f56..6f4c4cc 100644
--- a/maps/MountMortar1FInside.asm
+++ b/maps/MountMortar1FInside.asm
@@ -6,7 +6,7 @@ MountMortar1FInside_MapScriptHeader:
    db 0
 
 TrainerPokemaniacMiller:
    trainer EVENT_BEAT_POKEMANIAC_MILLER, POKEMANIAC, MILLER, PokemaniacMillerSeenText, PokemaniacMillerBeatenText, $0000, PokemaniacMillerScript
 
 PokemaniacMillerScript:
    talkaftercancel
@@ -17,7 +17,7 @@ PokemaniacMillerScript:
    end
 
 TrainerSupernerdMarkus:
    trainer EVENT_BEAT_SUPER_NERD_MARKUS, SUPER_NERD, MARKUS, SupernerdMarkusSeenText, SupernerdMarkusBeatenText, $0000, SupernerdMarkusScript
 
 SupernerdMarkusScript:
    talkaftercancel
@@ -127,13 +127,13 @@ MountMortar1FInside_MapEventHeader:
 
 .PersonEvents:
    db 10
-   person_event SPRITE_BOULDER, 43, 21, $19, 0, 0, -1, -1, 0, 0, 0, MountMortar1FBoulder, -1
-   person_event SPRITE_POKE_BALL, 38, 35, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de7c, EVENT_MOUNT_MORTAR_1F_INSIDE_ESCAPE_ROPE
-   person_event SPRITE_POKE_BALL, 10, 16, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de7e, EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_REVIVE
-   person_event SPRITE_POKE_BALL, 27, 10, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de80, EVENT_MOUNT_MORTAR_1F_INSIDE_HYPER_POTION
-   person_event SPRITE_POKE_BALL, 20, 22, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de82, EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_POTION
-   person_event SPRITE_POKE_BALL, 19, 35, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de84, EVENT_MOUNT_MORTAR_1F_INSIDE_NUGGET
-   person_event SPRITE_SUPER_NERD, 43, 33, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacMiller, -1
-   person_event SPRITE_SUPER_NERD, 28, 24, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerSupernerdMarkus, -1
-   person_event SPRITE_POKE_BALL, 16, 8, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de86, EVENT_MOUNT_MORTAR_1F_INSIDE_IRON
-   person_event SPRITE_POKE_BALL, 17, 17, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de88, EVENT_MOUNT_MORTAR_1F_INSIDE_ULTRA_BALL
+   person_event SPRITE_BOULDER, 43, 21, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, MountMortar1FBoulder, -1
+   person_event SPRITE_POKE_BALL, 38, 35, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de7c, EVENT_MOUNT_MORTAR_1F_INSIDE_ESCAPE_ROPE
+   person_event SPRITE_POKE_BALL, 10, 16, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de7e, EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_REVIVE
+   person_event SPRITE_POKE_BALL, 27, 10, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de80, EVENT_MOUNT_MORTAR_1F_INSIDE_HYPER_POTION
+   person_event SPRITE_POKE_BALL, 20, 22, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de82, EVENT_MOUNT_MORTAR_1F_INSIDE_MAX_POTION
+   person_event SPRITE_POKE_BALL, 19, 35, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de84, EVENT_MOUNT_MORTAR_1F_INSIDE_NUGGET
+   person_event SPRITE_SUPER_NERD, 43, 33, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacMiller, -1
+   person_event SPRITE_SUPER_NERD, 28, 24, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerSupernerdMarkus, -1
+   person_event SPRITE_POKE_BALL, 16, 8, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7de86, EVENT_MOUNT_MORTAR_1F_INSIDE_IRON
+   person_event SPRITE_POKE_BALL, 17, 17, SPRITEMOVEFN_01, 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 f9c4271..51a87ad 100644
--- a/maps/MountMortar1FOutside.asm
+++ b/maps/MountMortar1FOutside.asm
@@ -40,5 +40,5 @@ MountMortar1FOutside_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKE_BALL, 15, 13, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ddf6, EVENT_MOUNT_MORTAR_1F_OUTSIDE_ETHER
-   person_event SPRITE_POKE_BALL, 18, 31, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ddf8, EVENT_MOUNT_MORTAR_1F_OUTSIDE_REVIVE
+   person_event SPRITE_POKE_BALL, 15, 13, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ddf6, EVENT_MOUNT_MORTAR_1F_OUTSIDE_ETHER
+   person_event SPRITE_POKE_BALL, 18, 31, SPRITEMOVEFN_01, 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 5580a35..6c3197a 100644
--- a/maps/MountMortar2FInside.asm
+++ b/maps/MountMortar2FInside.asm
@@ -6,7 +6,7 @@ MountMortar2FInside_MapScriptHeader:
    db 0
 
 TrainerSupernerdHugh:
    trainer EVENT_BEAT_SUPER_NERD_HUGH, SUPER_NERD, HUGH, SupernerdHughSeenText, SupernerdHughBeatenText, $0000, SupernerdHughScript
 
 SupernerdHughScript:
    talkaftercancel
@@ -76,10 +76,10 @@ MountMortar2FInside_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_POKE_BALL, 22, 28, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0de, EVENT_MOUNT_MORTAR_2F_INSIDE_MAX_POTION
-   person_event SPRITE_POKE_BALL, 33, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e0, EVENT_MOUNT_MORTAR_2F_INSIDE_RARE_CANDY
-   person_event SPRITE_POKE_BALL, 17, 19, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e2, EVENT_MOUNT_MORTAR_2F_INSIDE_TM_DEFENSE_CURL
-   person_event SPRITE_POKE_BALL, 5, 16, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e4, EVENT_MOUNT_MORTAR_2F_INSIDE_DRAGON_SCALE
-   person_event SPRITE_POKE_BALL, 11, 9, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e6, EVENT_MOUNT_MORTAR_2F_INSIDE_ELIXER
-   person_event SPRITE_POKE_BALL, 5, 28, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e8, EVENT_MOUNT_MORTAR_2F_INSIDE_ESCAPE_ROPE
-   person_event SPRITE_SUPER_NERD, 26, 13, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerSupernerdHugh, -1
+   person_event SPRITE_POKE_BALL, 22, 28, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0de, EVENT_MOUNT_MORTAR_2F_INSIDE_MAX_POTION
+   person_event SPRITE_POKE_BALL, 33, 2, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e0, EVENT_MOUNT_MORTAR_2F_INSIDE_RARE_CANDY
+   person_event SPRITE_POKE_BALL, 17, 19, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e2, EVENT_MOUNT_MORTAR_2F_INSIDE_TM_DEFENSE_CURL
+   person_event SPRITE_POKE_BALL, 5, 16, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e4, EVENT_MOUNT_MORTAR_2F_INSIDE_DRAGON_SCALE
+   person_event SPRITE_POKE_BALL, 11, 9, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e6, EVENT_MOUNT_MORTAR_2F_INSIDE_ELIXER
+   person_event SPRITE_POKE_BALL, 5, 28, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e0e8, EVENT_MOUNT_MORTAR_2F_INSIDE_ESCAPE_ROPE
+   person_event SPRITE_SUPER_NERD, 26, 13, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerSupernerdHugh, -1
diff --git a/maps/MountMortarB1F.asm b/maps/MountMortarB1F.asm
index 5ed95af..0c7ae8c 100644
--- a/maps/MountMortarB1F.asm
+++ b/maps/MountMortarB1F.asm
@@ -15,7 +15,7 @@ BlackBeltScript_0x7e1f6:
    writetext UnknownText_0x7e24d
    closetext
    loadmovesprites
    winlosstext UnknownText_0x7e2a9, $0000
    loadtrainer BLACKBELT_T, KIYO
    startbattle
    returnafterbattle
@@ -144,10 +144,10 @@ MountMortarB1F_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_POKE_BALL, 12, 29, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e240, EVENT_MOUNT_MORTAR_B1F_HYPER_POTION
-   person_event SPRITE_POKE_BALL, 16, 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e242, EVENT_MOUNT_MORTAR_B1F_CARBOS
-   person_event SPRITE_BOULDER, 10, 9, $19, 0, 0, -1, -1, 0, 0, 0, MountMortarB1FBoulder, -1
-   person_event SPRITE_BLACK_BELT, 4, 16, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BlackBeltScript_0x7e1f6, -1
-   person_event SPRITE_POKE_BALL, 24, 34, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e244, EVENT_MOUNT_MORTAR_B1F_FULL_RESTORE
-   person_event SPRITE_POKE_BALL, 3, 32, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e246, EVENT_MOUNT_MORTAR_B1F_MAX_ETHER
-   person_event SPRITE_POKE_BALL, 26, 21, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e248, EVENT_MOUNT_MORTAR_B1F_PP_UP
+   person_event SPRITE_POKE_BALL, 12, 29, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e240, EVENT_MOUNT_MORTAR_B1F_HYPER_POTION
+   person_event SPRITE_POKE_BALL, 16, 4, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e242, EVENT_MOUNT_MORTAR_B1F_CARBOS
+   person_event SPRITE_BOULDER, 10, 9, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, MountMortarB1FBoulder, -1
+   person_event SPRITE_BLACK_BELT, 4, 16, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BlackBeltScript_0x7e1f6, -1
+   person_event SPRITE_POKE_BALL, 24, 34, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e244, EVENT_MOUNT_MORTAR_B1F_FULL_RESTORE
+   person_event SPRITE_POKE_BALL, 3, 32, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7e246, EVENT_MOUNT_MORTAR_B1F_MAX_ETHER
+   person_event SPRITE_POKE_BALL, 26, 21, SPRITEMOVEFN_01, 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 f16f6af..ada363a 100644
--- a/maps/MoveDeletersHouse.asm
+++ b/maps/MoveDeletersHouse.asm
@@ -35,4 +35,4 @@ MoveDeletersHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_SUPER_NERD, 3, 2, $6, 0, 0, -1, -1, 0, 0, 0, MoveDeleter, -1
+   person_event SPRITE_SUPER_NERD, 3, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, MoveDeleter, -1
diff --git a/maps/MrFujisHouse.asm b/maps/MrFujisHouse.asm
index a3bc193..2874f7b 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, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x7e8ca, -1
-   person_event SPRITE_LASS, 4, 3, $2, 1, 1, -1, -1, 0, 0, 0, LassScript_0x7e8cd, -1
-   person_event SPRITE_RHYDON, 4, 7, $16, 0, 0, -1, -1, 0, 0, 0, MrFujisPsyduck, -1
-   person_event SPRITE_GROWLITHE, 5, 5, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, MrFujisNidorino, -1
-   person_event SPRITE_MOLTRES, 3, 1, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MrFujisPidgey, -1
+   person_event SPRITE_SUPER_NERD, 1, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x7e8ca, -1
+   person_event SPRITE_LASS, 4, 3, SPRITEMOVEFN_02, 1, 1, -1, -1, 0, 0, 0, LassScript_0x7e8cd, -1
+   person_event SPRITE_RHYDON, 4, 7, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, MrFujisPsyduck, -1
+   person_event SPRITE_GROWLITHE, 5, 5, SPRITEMOVEFN_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, MrFujisNidorino, -1
+   person_event SPRITE_MOLTRES, 3, 1, SPRITEMOVEFN_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 2600801..d06b3c7 100644
--- a/maps/MrPokemonsHouse.asm
+++ b/maps/MrPokemonsHouse.asm
@@ -3,8 +3,8 @@ MrPokemonsHouse_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x196e51, $0000
    dw UnknownScript_0x196e55, $0000
 
 .MapCallbacks:
    db 0
@@ -392,5 +392,5 @@ MrPokemonsHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_GENTLEMAN, 5, 3, $9, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x196e97, -1
-   person_event SPRITE_OAK, 5, 6, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MR_POKEMONS_HOUSE_OAK
+   person_event SPRITE_GENTLEMAN, 5, 3, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x196e97, -1
+   person_event SPRITE_OAK, 5, 6, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_MR_POKEMONS_HOUSE_OAK
diff --git a/maps/MrPsychicsHouse.asm b/maps/MrPsychicsHouse.asm
index 63177f8..9c2e2e9 100644
--- a/maps/MrPsychicsHouse.asm
+++ b/maps/MrPsychicsHouse.asm
@@ -63,4 +63,4 @@ MrPsychicsHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHING_GURU, 3, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, MrPsychic, -1
+   person_event SPRITE_FISHING_GURU, 3, 5, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, MrPsychic, -1
diff --git a/maps/NationalPark.asm b/maps/NationalPark.asm
index 3c326d1..4f5833a 100644
--- a/maps/NationalPark.asm
+++ b/maps/NationalPark.asm
@@ -56,7 +56,7 @@ GameboyKidScript_0x5c037:
    end
 
 TrainerSchoolboyJack1:
    trainer EVENT_BEAT_SCHOOLBOY_JACK, SCHOOLBOY, JACK1, SchoolboyJack1SeenText, SchoolboyJack1BeatenText, $0000, SchoolboyJack1Script
 
 SchoolboyJack1Script:
    writecode VAR_CALLERID, PHONE_SCHOOLBOY_JACK
@@ -86,7 +86,7 @@ UnknownScript_0x5c074:
 
 UnknownScript_0x5c088:
    scall UnknownScript_0x5c114
    winlosstext SchoolboyJack1BeatenText, $0000
    copybytetovar wJackFightCount
    if_equal 4, .Fight4
    if_equal 3, .Fight3
@@ -173,7 +173,7 @@ UnknownScript_0x5c114:
    end
 
 TrainerPokefanmWilliam:
    trainer EVENT_BEAT_POKEFANM_WILLIAM, POKEFANM, WILLIAM, PokefanmWilliamSeenText, PokefanmWilliamBeatenText, $0000, PokefanmWilliamScript
 
 PokefanmWilliamScript:
    talkaftercancel
@@ -184,7 +184,7 @@ PokefanmWilliamScript:
    end
 
 TrainerPokefanfBeverly1:
    trainer EVENT_BEAT_POKEFANF_BEVERLY, POKEFANF, BEVERLY1, PokefanfBeverly1SeenText, PokefanfBeverly1BeatenText, $0000, PokefanfBeverly1Script
 
 PokefanfBeverly1Script:
    writecode VAR_CALLERID, PHONE_POKEFAN_BEVERLY
@@ -263,7 +263,7 @@ UnknownScript_0x5c1ab:
    end
 
 TrainerLassKrise:
    trainer EVENT_BEAT_LASS_KRISE, LASS, KRISE, LassKriseSeenText, LassKriseBeatenText, $0000, LassKriseScript
 
 LassKriseScript:
    talkaftercancel
@@ -521,17 +521,17 @@ NationalPark_MapEventHeader:
 
 .PersonEvents:
    db 14
-   person_event SPRITE_LASS, 24, 15, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x5c002, -1
-   person_event SPRITE_POKEFAN_F, 4, 14, $6, 0, 0, -1, -1, 0, 0, 0, PokefanFScript_0x5c005, -1
-   person_event SPRITE_TEACHER, 40, 27, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x5c008, -1
-   person_event SPRITE_YOUNGSTER, 41, 11, $8, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x5c023, -1
-   person_event SPRITE_YOUNGSTER, 41, 10, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c026, -1
-   person_event SPRITE_TEACHER, 41, 17, $2, 2, 1, -1, -1, 0, 0, 0, TeacherScript_0x5c029, -1
-   person_event SPRITE_GROWLITHE, 40, 26, $16, 0, 0, -1, -1, 0, 0, 0, GrowlitheScript_0x5c02c, -1
-   person_event SPRITE_YOUNGSTER, 23, 27, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyJack1, -1
-   person_event SPRITE_POKEFAN_F, 29, 18, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerPokefanfBeverly1, -1
-   person_event SPRITE_POKEFAN_M, 9, 16, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerPokefanmWilliam, -1
-   person_event SPRITE_LASS, 14, 8, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerLassKrise, -1
-   person_event SPRITE_POKE_BALL, 12, 35, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c1cc, EVENT_NATIONAL_PARK_PARLYZ_HEAL
-   person_event SPRITE_GAMEBOY_KID, 6, 26, $6, 0, 0, -1, -1, 0, 0, 0, GameboyKidScript_0x5c037, -1
-   person_event SPRITE_POKE_BALL, 43, 1, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c1ce, EVENT_NATIONAL_PARK_TM_DIG
+   person_event SPRITE_LASS, 24, 15, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x5c002, -1
+   person_event SPRITE_POKEFAN_F, 4, 14, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, PokefanFScript_0x5c005, -1
+   person_event SPRITE_TEACHER, 40, 27, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x5c008, -1
+   person_event SPRITE_YOUNGSTER, 41, 11, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x5c023, -1
+   person_event SPRITE_YOUNGSTER, 41, 10, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c026, -1
+   person_event SPRITE_TEACHER, 41, 17, SPRITEMOVEFN_02, 2, 1, -1, -1, 0, 0, 0, TeacherScript_0x5c029, -1
+   person_event SPRITE_GROWLITHE, 40, 26, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, GrowlitheScript_0x5c02c, -1
+   person_event SPRITE_YOUNGSTER, 23, 27, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyJack1, -1
+   person_event SPRITE_POKEFAN_F, 29, 18, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerPokefanfBeverly1, -1
+   person_event SPRITE_POKEFAN_M, 9, 16, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerPokefanmWilliam, -1
+   person_event SPRITE_LASS, 14, 8, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerLassKrise, -1
+   person_event SPRITE_POKE_BALL, 12, 35, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c1cc, EVENT_NATIONAL_PARK_PARLYZ_HEAL
+   person_event SPRITE_GAMEBOY_KID, 6, 26, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, GameboyKidScript_0x5c037, -1
+   person_event SPRITE_POKE_BALL, 43, 1, SPRITEMOVEFN_01, 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 5e67aac..e0fd05f 100644
--- a/maps/NationalParkBugContest.asm
+++ b/maps/NationalParkBugContest.asm
@@ -230,15 +230,15 @@ NationalParkBugContest_MapEventHeader:
 
 .PersonEvents:
    db 12
-   person_event SPRITE_YOUNGSTER, 29, 19, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c8ec, EVENT_BUG_CATCHING_CONTESTANT_1A
-   person_event SPRITE_YOUNGSTER, 22, 28, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x5c8f4, EVENT_BUG_CATCHING_CONTESTANT_2A
-   person_event SPRITE_ROCKER, 18, 9, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, RockerScript_0x5c8fc, EVENT_BUG_CATCHING_CONTESTANT_3A
-   person_event SPRITE_POKEFAN_M, 13, 7, $4, 0, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x5c904, EVENT_BUG_CATCHING_CONTESTANT_4A
-   person_event SPRITE_YOUNGSTER, 9, 23, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c90c, EVENT_BUG_CATCHING_CONTESTANT_5A
-   person_event SPRITE_YOUNGSTER, 13, 27, $2, 3, 3, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x5c914, EVENT_BUG_CATCHING_CONTESTANT_6A
-   person_event SPRITE_LASS, 23, 7, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x5c91c, EVENT_BUG_CATCHING_CONTESTANT_7A
-   person_event SPRITE_YOUNGSTER, 27, 11, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c924, EVENT_BUG_CATCHING_CONTESTANT_8A
-   person_event SPRITE_YOUNGSTER, 8, 16, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x5c92c, EVENT_BUG_CATCHING_CONTESTANT_9A
-   person_event SPRITE_YOUNGSTER, 34, 17, $2, 3, 3, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x5c934, EVENT_BUG_CATCHING_CONTESTANT_10A
-   person_event SPRITE_POKE_BALL, 12, 35, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c945, EVENT_NATIONAL_PARK_PARLYZ_HEAL
-   person_event SPRITE_POKE_BALL, 43, 1, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c947, EVENT_NATIONAL_PARK_TM_DIG
+   person_event SPRITE_YOUNGSTER, 29, 19, SPRITEMOVEFN_02, 2, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c8ec, EVENT_BUG_CATCHING_CONTESTANT_1A
+   person_event SPRITE_YOUNGSTER, 22, 28, SPRITEMOVEFN_02, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x5c8f4, EVENT_BUG_CATCHING_CONTESTANT_2A
+   person_event SPRITE_ROCKER, 18, 9, SPRITEMOVEFN_07, 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, SPRITEMOVEFN_04, 0, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x5c904, EVENT_BUG_CATCHING_CONTESTANT_4A
+   person_event SPRITE_YOUNGSTER, 9, 23, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c90c, EVENT_BUG_CATCHING_CONTESTANT_5A
+   person_event SPRITE_YOUNGSTER, 13, 27, SPRITEMOVEFN_02, 3, 3, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x5c914, EVENT_BUG_CATCHING_CONTESTANT_6A
+   person_event SPRITE_LASS, 23, 7, SPRITEMOVEFN_05, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x5c91c, EVENT_BUG_CATCHING_CONTESTANT_7A
+   person_event SPRITE_YOUNGSTER, 27, 11, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5c924, EVENT_BUG_CATCHING_CONTESTANT_8A
+   person_event SPRITE_YOUNGSTER, 8, 16, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x5c92c, EVENT_BUG_CATCHING_CONTESTANT_9A
+   person_event SPRITE_YOUNGSTER, 34, 17, SPRITEMOVEFN_02, 3, 3, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x5c934, EVENT_BUG_CATCHING_CONTESTANT_10A
+   person_event SPRITE_POKE_BALL, 12, 35, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5c945, EVENT_NATIONAL_PARK_PARLYZ_HEAL
+   person_event SPRITE_POKE_BALL, 43, 1, SPRITEMOVEFN_01, 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 49788b9..f0ab81b 100644
--- a/maps/NewBarkTown.asm
+++ b/maps/NewBarkTown.asm
@@ -3,8 +3,8 @@ NewBarkTown_MapScriptHeader:
    db 2
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
 
 .MapCallbacks:
    db 1
@@ -305,6 +305,6 @@ NewBarkTown_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_TEACHER, 8, 6, $3, 0, 1, -1, -1, 0, 0, 0, TeacherScript_0x1a806f, -1
-   person_event SPRITE_FISHER, 9, 12, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a809b, -1
-   person_event SPRITE_SILVER, 2, 3, $9, 0, 0, -1, -1, 0, 0, 0, SilverScript_0x1a809e, EVENT_RIVAL_NEW_BARK_TOWN
+   person_event SPRITE_TEACHER, 8, 6, SPRITEMOVEFN_03, 0, 1, -1, -1, 0, 0, 0, TeacherScript_0x1a806f, -1
+   person_event SPRITE_FISHER, 9, 12, SPRITEMOVEFN_04, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a809b, -1
+   person_event SPRITE_SILVER, 2, 3, SPRITEMOVEFN_09, 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 b5f1f30..69b0608 100644
--- a/maps/OaksLab.asm
+++ b/maps/OaksLab.asm
@@ -283,7 +283,7 @@ OaksLab_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_OAK, 2, 4, $6, 0, 0, -1, -1, 0, 0, 0, Oak, -1
-   person_event SPRITE_SCIENTIST, 8, 1, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x19b40f, -1
-   person_event SPRITE_SCIENTIST, 9, 8, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x19b412, -1
-   person_event SPRITE_SCIENTIST, 4, 1, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x19b415, -1
+   person_event SPRITE_OAK, 2, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, Oak, -1
+   person_event SPRITE_SCIENTIST, 8, 1, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x19b40f, -1
+   person_event SPRITE_SCIENTIST, 9, 8, SPRITEMOVEFN_04, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x19b412, -1
+   person_event SPRITE_SCIENTIST, 4, 1, SPRITEMOVEFN_02, 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 94747e3..43c6d24 100644
--- a/maps/OlivineCafe.asm
+++ b/maps/OlivineCafe.asm
@@ -90,6 +90,6 @@ OlivineCafe_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_SAILOR, 3, 4, $8, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x9c8c1, -1
-   person_event SPRITE_FISHING_GURU, 3, 7, $4, 1, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x9c8d9, -1
-   person_event SPRITE_SAILOR, 6, 6, $7, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x9c8dc, -1
+   person_event SPRITE_SAILOR, 3, 4, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x9c8c1, -1
+   person_event SPRITE_FISHING_GURU, 3, 7, SPRITEMOVEFN_04, 1, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x9c8d9, -1
+   person_event SPRITE_SAILOR, 6, 6, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x9c8dc, -1
diff --git a/maps/OlivineCity.asm b/maps/OlivineCity.asm
index a3d67a0..f05bfdc 100644
--- a/maps/OlivineCity.asm
+++ b/maps/OlivineCity.asm
@@ -3,8 +3,8 @@ OlivineCity_MapScriptHeader:
    db 2
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
 
 .MapCallbacks:
    db 1
@@ -320,7 +320,7 @@ OlivineCity_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_SAILOR, 27, 26, $4, 1, 0, -1, -1, 0, 0, 0, SailorScript_0x1a88a3, -1
-   person_event SPRITE_STANDING_YOUNGSTER, 13, 20, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, StandingYoungsterScript_0x1a88a6, -1
-   person_event SPRITE_SAILOR, 21, 17, $2, 1, 1, -1, -1, 0, 0, 0, SailorScript_0x1a88ba, -1
-   person_event SPRITE_OLIVINE_RIVAL, 11, 10, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_OLIVINE_CITY
+   person_event SPRITE_SAILOR, 27, 26, SPRITEMOVEFN_04, 1, 0, -1, -1, 0, 0, 0, SailorScript_0x1a88a3, -1
+   person_event SPRITE_STANDING_YOUNGSTER, 13, 20, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, StandingYoungsterScript_0x1a88a6, -1
+   person_event SPRITE_SAILOR, 21, 17, SPRITEMOVEFN_02, 1, 1, -1, -1, 0, 0, 0, SailorScript_0x1a88ba, -1
+   person_event SPRITE_OLIVINE_RIVAL, 11, 10, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_OLIVINE_CITY
diff --git a/maps/OlivineGoodRodHouse.asm b/maps/OlivineGoodRodHouse.asm
index 3fea640..1a59718 100644
--- a/maps/OlivineGoodRodHouse.asm
+++ b/maps/OlivineGoodRodHouse.asm
@@ -96,4 +96,4 @@ OlivineGoodRodHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHING_GURU, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GoodRodGuru, -1
+   person_event SPRITE_FISHING_GURU, 3, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GoodRodGuru, -1
diff --git a/maps/OlivineGym.asm b/maps/OlivineGym.asm
index a1ae6dc..5539729 100644
--- a/maps/OlivineGym.asm
+++ b/maps/OlivineGym.asm
@@ -13,7 +13,7 @@ JasmineScript_0x9c12f:
    writetext UnknownText_0x9c1b9
    closetext
    loadmovesprites
    winlosstext UnknownText_0x9c2bb, $0000
    loadtrainer JASMINE, 1
    startbattle
    returnafterbattle
@@ -212,5 +212,5 @@ OlivineGym_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_JASMINE, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, JasmineScript_0x9c12f, EVENT_OLIVINE_GYM_JASMINE
-   person_event SPRITE_GYM_GUY, 13, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OlivineGymGuyScript, -1
+   person_event SPRITE_JASMINE, 3, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, JasmineScript_0x9c12f, EVENT_OLIVINE_GYM_JASMINE
+   person_event SPRITE_GYM_GUY, 13, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OlivineGymGuyScript, -1
diff --git a/maps/OlivineHouseBeta.asm b/maps/OlivineHouseBeta.asm
index 7e4f955..b6b2cb9 100644
--- a/maps/OlivineHouseBeta.asm
+++ b/maps/OlivineHouseBeta.asm
@@ -54,5 +54,5 @@ OlivineHouseBeta_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_TEACHER, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x9c58f, -1
-   person_event SPRITE_RHYDON, 4, 6, $4, 2, 0, -1, -1, 0, 0, 0, RhydonScript_0x9c592, -1
+   person_event SPRITE_TEACHER, 3, 2, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x9c58f, -1
+   person_event SPRITE_RHYDON, 4, 6, SPRITEMOVEFN_04, 2, 0, -1, -1, 0, 0, 0, RhydonScript_0x9c592, -1
diff --git a/maps/OlivineLighthouse1F.asm b/maps/OlivineLighthouse1F.asm
index 10fdf1b..8d4b57b 100644
--- a/maps/OlivineLighthouse1F.asm
+++ b/maps/OlivineLighthouse1F.asm
@@ -52,5 +52,5 @@ OlivineLighthouse1F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_SAILOR, 2, 8, $6, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x5ae67, -1
-   person_event SPRITE_POKEFAN_F, 9, 16, $4, 2, 0, -1, -1, 0, 0, 0, PokefanFScript_0x5ae6a, -1
+   person_event SPRITE_SAILOR, 2, 8, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x5ae67, -1
+   person_event SPRITE_POKEFAN_F, 9, 16, SPRITEMOVEFN_04, 2, 0, -1, -1, 0, 0, 0, PokefanFScript_0x5ae6a, -1
diff --git a/maps/OlivineLighthouse2F.asm b/maps/OlivineLighthouse2F.asm
index 7603357..d29774b 100644
--- a/maps/OlivineLighthouse2F.asm
+++ b/maps/OlivineLighthouse2F.asm
@@ -6,7 +6,7 @@ OlivineLighthouse2F_MapScriptHeader:
    db 0
 
 TrainerGentlemanAlfred:
    trainer EVENT_BEAT_GENTLEMAN_ALFRED, GENTLEMAN, ALFRED, GentlemanAlfredSeenText, GentlemanAlfredBeatenText, $0000, GentlemanAlfredScript
 
 GentlemanAlfredScript:
    talkaftercancel
@@ -17,7 +17,7 @@ GentlemanAlfredScript:
    end
 
 TrainerSailorHuey1:
    trainer EVENT_BEAT_SAILOR_HUEY, SAILOR, HUEY1, SailorHuey1SeenText, SailorHuey1BeatenText, $0000, SailorHuey1Script
 
 SailorHuey1Script:
    writecode VAR_CALLERID, PHONE_SAILOR_HUEY
@@ -45,7 +45,7 @@ UnknownScript_0x5afb3:
 
 UnknownScript_0x5afc7:
    scall UnknownScript_0x5b06b
    winlosstext SailorHuey1BeatenText, $0000
    copybytetovar wHueyFightCount
    if_equal 3, .Fight3
    if_equal 2, .Fight2
@@ -221,5 +221,5 @@ OlivineLighthouse2F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_SAILOR, 3, 9, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorHuey1, -1
-   person_event SPRITE_GENTLEMAN, 8, 17, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerGentlemanAlfred, -1
+   person_event SPRITE_SAILOR, 3, 9, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorHuey1, -1
+   person_event SPRITE_GENTLEMAN, 8, 17, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerGentlemanAlfred, -1
diff --git a/maps/OlivineLighthouse3F.asm b/maps/OlivineLighthouse3F.asm
index dd39a63..9f81a49 100644
--- a/maps/OlivineLighthouse3F.asm
+++ b/maps/OlivineLighthouse3F.asm
@@ -6,7 +6,7 @@ OlivineLighthouse3F_MapScriptHeader:
    db 0
 
 TrainerBird_keeperTheo:
    trainer EVENT_BEAT_BIRD_KEEPER_THEO, BIRD_KEEPER, THEO, Bird_keeperTheoSeenText, Bird_keeperTheoBeatenText, $0000, Bird_keeperTheoScript
 
 Bird_keeperTheoScript:
    talkaftercancel
@@ -17,7 +17,7 @@ Bird_keeperTheoScript:
    end
 
 TrainerGentlemanPreston:
    trainer EVENT_BEAT_GENTLEMAN_PRESTON, GENTLEMAN, PRESTON, GentlemanPrestonSeenText, GentlemanPrestonBeatenText, $0000, GentlemanPrestonScript
 
 GentlemanPrestonScript:
    talkaftercancel
@@ -28,7 +28,7 @@ GentlemanPrestonScript:
    end
 
 TrainerSailorTerrell:
    trainer EVENT_BEAT_SAILOR_TERRELL, SAILOR, TERRELL, SailorTerrellSeenText, SailorTerrellBeatenText, $0000, SailorTerrellScript
 
 SailorTerrellScript:
    talkaftercancel
@@ -130,7 +130,7 @@ OlivineLighthouse3F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_SAILOR, 2, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSailorTerrell, -1
-   person_event SPRITE_GENTLEMAN, 5, 13, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerGentlemanPreston, -1
-   person_event SPRITE_YOUNGSTER, 9, 3, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperTheo, -1
-   person_event SPRITE_POKE_BALL, 2, 8, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5b279, EVENT_OLIVINE_LIGHTHOUSE_3F_ETHER
+   person_event SPRITE_SAILOR, 2, 9, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSailorTerrell, -1
+   person_event SPRITE_GENTLEMAN, 5, 13, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerGentlemanPreston, -1
+   person_event SPRITE_YOUNGSTER, 9, 3, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperTheo, -1
+   person_event SPRITE_POKE_BALL, 2, 8, SPRITEMOVEFN_01, 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 6b66621..2be5e12 100644
--- a/maps/OlivineLighthouse4F.asm
+++ b/maps/OlivineLighthouse4F.asm
@@ -6,7 +6,7 @@ OlivineLighthouse4F_MapScriptHeader:
    db 0
 
 TrainerLassConnie:
    trainer EVENT_BEAT_LASS_CONNIE, LASS, CONNIE1, LassConnie1SeenText, LassConnie1BeatenText, $0000, LassConnie1Script
 
 LassConnie1Script:
    talkaftercancel
@@ -17,7 +17,7 @@ LassConnie1Script:
    end
 
 TrainerSailorKent:
    trainer EVENT_BEAT_SAILOR_KENT, SAILOR, KENT, SailorKentSeenText, SailorKentBeatenText, $0000, SailorKentScript
 
 SailorKentScript:
    talkaftercancel
@@ -102,5 +102,5 @@ OlivineLighthouse4F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_SAILOR, 14, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorKent, -1
-   person_event SPRITE_LASS, 2, 11, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerLassConnie, -1
+   person_event SPRITE_SAILOR, 14, 7, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorKent, -1
+   person_event SPRITE_LASS, 2, 11, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerLassConnie, -1
diff --git a/maps/OlivineLighthouse5F.asm b/maps/OlivineLighthouse5F.asm
index 4915ee4..378c25c 100644
--- a/maps/OlivineLighthouse5F.asm
+++ b/maps/OlivineLighthouse5F.asm
@@ -6,7 +6,7 @@ OlivineLighthouse5F_MapScriptHeader:
    db 0
 
 TrainerBird_keeperDenis:
    trainer EVENT_BEAT_BIRD_KEEPER_DENIS, BIRD_KEEPER, DENIS, Bird_keeperDenisSeenText, Bird_keeperDenisBeatenText, $0000, Bird_keeperDenisScript
 
 Bird_keeperDenisScript:
    talkaftercancel
@@ -17,7 +17,7 @@ Bird_keeperDenisScript:
    end
 
 TrainerSailorErnest:
    trainer EVENT_BEAT_SAILOR_ERNEST, SAILOR, ERNEST, SailorErnestSeenText, SailorErnestBeatenText, $0000, SailorErnestScript
 
 SailorErnestScript:
    talkaftercancel
@@ -107,8 +107,8 @@ OlivineLighthouse5F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_SAILOR, 11, 8, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorErnest, -1
-   person_event SPRITE_YOUNGSTER, 3, 8, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerBird_keeperDenis, -1
-   person_event SPRITE_POKE_BALL, 12, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x609aa, EVENT_OLIVINE_LIGHTHOUSE_5F_RARE_CANDY
-   person_event SPRITE_POKE_BALL, 15, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x609ac, EVENT_OLIVINE_LIGHTHOUSE_5F_SUPER_REPEL
-   person_event SPRITE_POKE_BALL, 13, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x609ae, EVENT_OLIVINE_LIGHTHOUSE_5F_TM_SWAGGER
+   person_event SPRITE_SAILOR, 11, 8, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSailorErnest, -1
+   person_event SPRITE_YOUNGSTER, 3, 8, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerBird_keeperDenis, -1
+   person_event SPRITE_POKE_BALL, 12, 15, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x609aa, EVENT_OLIVINE_LIGHTHOUSE_5F_RARE_CANDY
+   person_event SPRITE_POKE_BALL, 15, 6, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x609ac, EVENT_OLIVINE_LIGHTHOUSE_5F_SUPER_REPEL
+   person_event SPRITE_POKE_BALL, 13, 2, SPRITEMOVEFN_01, 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 71934fe..143b041 100644
--- a/maps/OlivineLighthouse6F.asm
+++ b/maps/OlivineLighthouse6F.asm
@@ -270,6 +270,6 @@ OlivineLighthouse6F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_JASMINE, 8, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, JasmineScript_0x60b91, EVENT_OLIVINE_LIGHTHOUSE_JASMINE
-   person_event SPRITE_MONSTER, 8, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MonsterScript_0x60c3a, -1
-   person_event SPRITE_POKE_BALL, 4, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x60c66, EVENT_OLIVINE_LIGHTHOUSE_6F_SUPER_POTION
+   person_event SPRITE_JASMINE, 8, 8, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, JasmineScript_0x60b91, EVENT_OLIVINE_LIGHTHOUSE_JASMINE
+   person_event SPRITE_MONSTER, 8, 9, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MonsterScript_0x60c3a, -1
+   person_event SPRITE_POKE_BALL, 4, 3, SPRITEMOVEFN_01, 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 3b0546e..f4c55ea 100644
--- a/maps/OlivineMart.asm
+++ b/maps/OlivineMart.asm
@@ -57,6 +57,6 @@ OlivineMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x9cac7, -1
-   person_event SPRITE_COOLTRAINER_F, 2, 6, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x9cace, -1
-   person_event SPRITE_LASS, 6, 1, $8, 0, 0, -1, -1, 0, 0, 0, LassScript_0x9cad1, -1
+   person_event SPRITE_CLERK, 3, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x9cac7, -1
+   person_event SPRITE_COOLTRAINER_F, 2, 6, SPRITEMOVEFN_05, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x9cace, -1
+   person_event SPRITE_LASS, 6, 1, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, LassScript_0x9cad1, -1
diff --git a/maps/OlivinePokeCenter1F.asm b/maps/OlivinePokeCenter1F.asm
index 63c8509..816775a 100644
--- a/maps/OlivinePokeCenter1F.asm
+++ b/maps/OlivinePokeCenter1F.asm
@@ -59,7 +59,7 @@ OlivinePokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x9c002, -1
-   person_event SPRITE_FISHING_GURU, 4, 8, $5, 0, 1, -1, -1, 0, 0, 0, FishingGuruScript_0x9c005, -1
-   person_event SPRITE_FISHER, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x9c008, -1
-   person_event SPRITE_TEACHER, 1, 7, $6, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x9c00b, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x9c002, -1
+   person_event SPRITE_FISHING_GURU, 4, 8, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, FishingGuruScript_0x9c005, -1
+   person_event SPRITE_FISHER, 3, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x9c008, -1
+   person_event SPRITE_TEACHER, 1, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x9c00b, -1
diff --git a/maps/OlivinePort.asm b/maps/OlivinePort.asm
index ab1307f..6ac458c 100644
--- a/maps/OlivinePort.asm
+++ b/maps/OlivinePort.asm
@@ -3,8 +3,8 @@ OlivinePort_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x748ac, $0000
    dw UnknownScript_0x748ad, $0000
 
 .MapCallbacks:
    db 0
@@ -397,10 +397,10 @@ OlivinePort_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_SAILOR, 23, 7, $7, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x748c0, EVENT_OLIVINE_PORT_SAILOR_AT_GANGWAY
-   person_event SPRITE_SAILOR, 15, 7, $7, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x749fe, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME
-   person_event SPRITE_SAILOR, 15, 6, $9, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x7499c, EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME
-   person_event SPRITE_FISHING_GURU, 14, 4, $7, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x74a01, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME
-   person_event SPRITE_FISHING_GURU, 14, 13, $7, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x74a0c, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME
-   person_event SPRITE_YOUNGSTER, 15, 4, $6, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x74a17, EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME
-   person_event SPRITE_COOLTRAINER_F, 15, 11, $6, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x74a22, EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME
+   person_event SPRITE_SAILOR, 23, 7, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x748c0, EVENT_OLIVINE_PORT_SAILOR_AT_GANGWAY
+   person_event SPRITE_SAILOR, 15, 7, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x749fe, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME
+   person_event SPRITE_SAILOR, 15, 6, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x7499c, EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME
+   person_event SPRITE_FISHING_GURU, 14, 4, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x74a01, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME
+   person_event SPRITE_FISHING_GURU, 14, 13, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, FishingGuruScript_0x74a0c, EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME
+   person_event SPRITE_YOUNGSTER, 15, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, YoungsterScript_0x74a17, EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME
+   person_event SPRITE_COOLTRAINER_F, 15, 11, SPRITEMOVEFN_06, 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 f5f95d3..37c42d9 100644
--- a/maps/OlivinePortPassage.asm
+++ b/maps/OlivinePortPassage.asm
@@ -36,4 +36,4 @@ OlivinePortPassage_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKEFAN_M, 1, 17, $8, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x76fac, EVENT_OLIVINE_PORT_PASSAGE_POKEFAN_M
+   person_event SPRITE_POKEFAN_M, 1, 17, SPRITEMOVEFN_08, 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 e968dd1..2f209b8 100644
--- a/maps/OlivinePunishmentSpeechHouse.asm
+++ b/maps/OlivinePunishmentSpeechHouse.asm
@@ -54,5 +54,5 @@ OlivinePunishmentSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKEFAN_M, 2, 1, $3, 0, 0, -1, -1, 0, 0, 0, OlivinePunishmentSpeechHouseDad, -1
-   person_event SPRITE_LASS, 5, 5, $5, 0, 2, -1, -1, 0, 0, 0, OlivinePunishmentSpeechHouseDaughter, -1
+   person_event SPRITE_POKEFAN_M, 2, 1, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, OlivinePunishmentSpeechHouseDad, -1
+   person_event SPRITE_LASS, 5, 5, SPRITEMOVEFN_05, 0, 2, -1, -1, 0, 0, 0, OlivinePunishmentSpeechHouseDaughter, -1
diff --git a/maps/OlivineVoltorbHouse.asm b/maps/OlivineVoltorbHouse.asm
index 717abfe..82a3037 100644
--- a/maps/OlivineVoltorbHouse.asm
+++ b/maps/OlivineVoltorbHouse.asm
@@ -35,4 +35,4 @@ OlivineVoltorbHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHING_GURU, 3, 2, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Tim, -1
+   person_event SPRITE_FISHING_GURU, 3, 2, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Tim, -1
diff --git a/maps/PalletTown.asm b/maps/PalletTown.asm
index efaae10..fc92d50 100644
--- a/maps/PalletTown.asm
+++ b/maps/PalletTown.asm
@@ -89,5 +89,5 @@ PalletTown_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_TEACHER, 8, 3, $2, 2, 2, -1, -1, 0, 0, 0, TeacherScript_0x1ac6d5, -1
-   person_event SPRITE_FISHER, 14, 12, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1ac6d8, -1
+   person_event SPRITE_TEACHER, 8, 3, SPRITEMOVEFN_02, 2, 2, -1, -1, 0, 0, 0, TeacherScript_0x1ac6d5, -1
+   person_event SPRITE_FISHER, 14, 12, SPRITEMOVEFN_05, 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 2b74bea..50e8348 100644
--- a/maps/PewterCity.asm
+++ b/maps/PewterCity.asm
@@ -174,8 +174,8 @@ PewterCity_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_COOLTRAINER_F, 11, 19, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x18c009, -1
-   person_event SPRITE_BUG_CATCHER, 29, 14, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x18c00c, -1
-   person_event SPRITE_GRAMPS, 17, 29, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x18c00f, -1
-   person_event SPRITE_FRUIT_TREE, 3, 32, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x18c03e, -1
-   person_event SPRITE_FRUIT_TREE, 3, 30, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x18c040, -1
+   person_event SPRITE_COOLTRAINER_F, 11, 19, SPRITEMOVEFN_02, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x18c009, -1
+   person_event SPRITE_BUG_CATCHER, 29, 14, SPRITEMOVEFN_02, 2, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, BugCatcherScript_0x18c00c, -1
+   person_event SPRITE_GRAMPS, 17, 29, SPRITEMOVEFN_05, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x18c00f, -1
+   person_event SPRITE_FRUIT_TREE, 3, 32, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x18c03e, -1
+   person_event SPRITE_FRUIT_TREE, 3, 30, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x18c040, -1
diff --git a/maps/PewterGym.asm b/maps/PewterGym.asm
index 3f5b734..cd12ded 100644
--- a/maps/PewterGym.asm
+++ b/maps/PewterGym.asm
@@ -13,7 +13,7 @@ BrockScript_0x1a2864:
    writetext UnknownText_0x1a28d0
    closetext
    loadmovesprites
    winlosstext UnknownText_0x1a29bb, $0000
    loadtrainer BROCK, 1
    startbattle
    returnafterbattle
@@ -36,7 +36,7 @@ BrockScript_0x1a2864:
    end
 
 TrainerCamperJerry:
    trainer EVENT_BEAT_CAMPER_JERRY, CAMPER, JERRY, CamperJerrySeenText, CamperJerryBeatenText, $0000, CamperJerryScript
 
 CamperJerryScript:
    talkaftercancel
@@ -222,6 +222,6 @@ PewterGym_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_BROCK, 1, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BrockScript_0x1a2864, -1
-   person_event SPRITE_YOUNGSTER, 5, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperJerry, -1
-   person_event SPRITE_GYM_GUY, 11, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 1, PewterGymGuyScript, -1
+   person_event SPRITE_BROCK, 1, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BrockScript_0x1a2864, -1
+   person_event SPRITE_YOUNGSTER, 5, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperJerry, -1
+   person_event SPRITE_GYM_GUY, 11, 6, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 1, PewterGymGuyScript, -1
diff --git a/maps/PewterMart.asm b/maps/PewterMart.asm
index 557f0d5..431b854 100644
--- a/maps/PewterMart.asm
+++ b/maps/PewterMart.asm
@@ -57,6 +57,6 @@ PewterMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x1a2dcb, -1
-   person_event SPRITE_YOUNGSTER, 2, 9, $5, 0, 2, -1, -1, 0, 0, 0, YoungsterScript_0x1a2dd2, -1
-   person_event SPRITE_SUPER_NERD, 6, 6, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a2dd5, -1
+   person_event SPRITE_CLERK, 3, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x1a2dcb, -1
+   person_event SPRITE_YOUNGSTER, 2, 9, SPRITEMOVEFN_05, 0, 2, -1, -1, 0, 0, 0, YoungsterScript_0x1a2dd2, -1
+   person_event SPRITE_SUPER_NERD, 6, 6, SPRITEMOVEFN_03, 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 773871d..9fa9c29 100644
--- a/maps/PewterNidoranSpeechHouse.asm
+++ b/maps/PewterNidoranSpeechHouse.asm
@@ -41,5 +41,5 @@ PewterNidoranSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_SUPER_NERD, 5, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x1a2807, -1
-   person_event SPRITE_GROWLITHE, 5, 4, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrowlitheScript_0x1a280a, -1
+   person_event SPRITE_SUPER_NERD, 5, 3, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x1a2807, -1
+   person_event SPRITE_GROWLITHE, 5, 4, SPRITEMOVEFN_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 0cbb4bb..2ae1d39 100644
--- a/maps/PewterPokeCenter1F.asm
+++ b/maps/PewterPokeCenter1F.asm
@@ -78,8 +78,8 @@ PewterPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x1a2ee7, -1
-   person_event SPRITE_TEACHER, 6, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a2eea, -1
-   person_event SPRITE_JIGGLYPUFF, 3, 1, $16, 0, 0, -1, -1, 0, 0, 0, JigglypuffScript_0x1a2eed, -1
-   person_event SPRITE_BUG_CATCHER, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BugCatcherScript_0x1a2ef7, -1
-   person_event SPRITE_POKEFAN_M, 2, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x1a2efa, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x1a2ee7, -1
+   person_event SPRITE_TEACHER, 6, 8, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a2eea, -1
+   person_event SPRITE_JIGGLYPUFF, 3, 1, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, JigglypuffScript_0x1a2eed, -1
+   person_event SPRITE_BUG_CATCHER, 3, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, BugCatcherScript_0x1a2ef7, -1
+   person_event SPRITE_POKEFAN_M, 2, 7, SPRITEMOVEFN_06, 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 1284ec3..575d782 100644
--- a/maps/PewterSnoozeSpeechHouse.asm
+++ b/maps/PewterSnoozeSpeechHouse.asm
@@ -36,4 +36,4 @@ PewterSnoozeSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_GRAMPS, 3, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x1a3059, -1
+   person_event SPRITE_GRAMPS, 3, 5, SPRITEMOVEFN_08, 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 9a6e307..cba746f 100644
--- a/maps/PokeCenter2F.asm
+++ b/maps/PokeCenter2F.asm
@@ -3,12 +3,12 @@ PokeCenter2F_MapScriptHeader:
    db 6
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
    dw .Trigger3, $0000
    dw .Trigger4, $0000
    dw .Trigger5, $0000
    dw .Trigger6, $0000
 
 .MapCallbacks:
    db 0
@@ -1040,7 +1040,7 @@ PokeCenter2F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_LINK_RECEPTIONIST, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LinkReceptionistScript_Trade, -1
-   person_event SPRITE_LINK_RECEPTIONIST, 2, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LinkReceptionistScript_Battle, -1
-   person_event SPRITE_LINK_RECEPTIONIST, 3, 13, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LinkReceptionistScript_TimeCapsule, -1
-   person_event SPRITE_OFFICER, 1, 1, $6, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x192c9a, EVENT_MYSTERY_GIFT_DELIVERY_GUY
+   person_event SPRITE_LINK_RECEPTIONIST, 2, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LinkReceptionistScript_Trade, -1
+   person_event SPRITE_LINK_RECEPTIONIST, 2, 9, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LinkReceptionistScript_Battle, -1
+   person_event SPRITE_LINK_RECEPTIONIST, 3, 13, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LinkReceptionistScript_TimeCapsule, -1
+   person_event SPRITE_OFFICER, 1, 1, SPRITEMOVEFN_06, 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 ef5130d..3945c1e 100644
--- a/maps/PokeSeersHouse.asm
+++ b/maps/PokeSeersHouse.asm
@@ -30,4 +30,4 @@ PokeSeersHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_GRANNY, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SeerScript, -1
+   person_event SPRITE_GRANNY, 3, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SeerScript, -1
diff --git a/maps/PokemonFanClub.asm b/maps/PokemonFanClub.asm
index 29d3cbb..c37b471 100644
--- a/maps/PokemonFanClub.asm
+++ b/maps/PokemonFanClub.asm
@@ -307,9 +307,9 @@ PokemonFanClub_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_GENTLEMAN, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x1917e9, -1
-   person_event SPRITE_RECEPTIONIST, 1, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x191821, -1
-   person_event SPRITE_FISHER, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x191824, -1
-   person_event SPRITE_TEACHER, 2, 7, $8, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x19186b, -1
-   person_event SPRITE_FAIRY, 4, 2, $6, 0, 0, -1, -1, 0, 0, 0, FairyScript_0x19186e, EVENT_VERMILION_FAN_CLUB_DOLL
-   person_event SPRITE_ODDISH, 3, 7, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OddishScript_0x191871, -1
+   person_event SPRITE_GENTLEMAN, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x1917e9, -1
+   person_event SPRITE_RECEPTIONIST, 1, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x191821, -1
+   person_event SPRITE_FISHER, 3, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x191824, -1
+   person_event SPRITE_TEACHER, 2, 7, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x19186b, -1
+   person_event SPRITE_FAIRY, 4, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, FairyScript_0x19186e, EVENT_VERMILION_FAN_CLUB_DOLL
+   person_event SPRITE_ODDISH, 3, 7, SPRITEMOVEFN_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 2057e2b..c20e61b 100644
--- a/maps/PowerPlant.asm
+++ b/maps/PowerPlant.asm
@@ -3,8 +3,8 @@ PowerPlant_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x188dc3, $0000
    dw UnknownScript_0x188dc4, $0000
 
 .MapCallbacks:
    db 0
@@ -401,10 +401,10 @@ PowerPlant_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_OFFICER, 14, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x188df5, -1
-   person_event SPRITE_GYM_GUY, 9, 2, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188e15, -1
-   person_event SPRITE_GYM_GUY, 11, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188e29, -1
-   person_event SPRITE_OFFICER, 3, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x188e3d, -1
-   person_event SPRITE_GYM_GUY, 2, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188e51, -1
-   person_event SPRITE_FISHER, 10, 14, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PowerPlantManager, -1
-   person_event SPRITE_GYM_GUY, 5, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188ecb, -1
+   person_event SPRITE_OFFICER, 14, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x188df5, -1
+   person_event SPRITE_GYM_GUY, 9, 2, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188e15, -1
+   person_event SPRITE_GYM_GUY, 11, 6, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188e29, -1
+   person_event SPRITE_OFFICER, 3, 9, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x188e3d, -1
+   person_event SPRITE_GYM_GUY, 2, 7, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GymGuyScript_0x188e51, -1
+   person_event SPRITE_FISHER, 10, 14, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PowerPlantManager, -1
+   person_event SPRITE_GYM_GUY, 5, 5, SPRITEMOVEFN_07, 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 f39a065..6f5cea2 100644
--- a/maps/RadioTower1F.asm
+++ b/maps/RadioTower1F.asm
@@ -178,7 +178,7 @@ YoungsterScript_0x5ce54:
    jumptextfaceplayer UnknownText_0x5d4ac
 
 TrainerGruntM3:
    trainer EVENT_BEAT_ROCKET_GRUNTM_3, GRUNTM, 3, GruntM3SeenText, GruntM3BeatenText, $0000, GruntM3Script
 
 GruntM3Script:
    talkaftercancel
@@ -484,9 +484,9 @@ RadioTower1F_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_RECEPTIONIST, 6, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x5cd29, -1
-   person_event SPRITE_LASS, 4, 16, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LassScript_0x5ce51, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_YOUNGSTER, 4, 15, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x5ce54, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_ROCKET, 1, 14, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM3, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_GENTLEMAN, 6, 8, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GentlemanScript_0x5cd3d, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_COOLTRAINER_F, 6, 12, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x5cdd5, EVENT_GOLDENROD_CITY_CIVILIANS
+   person_event SPRITE_RECEPTIONIST, 6, 5, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ReceptionistScript_0x5cd29, -1
+   person_event SPRITE_LASS, 4, 16, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LassScript_0x5ce51, EVENT_GOLDENROD_CITY_CIVILIANS
+   person_event SPRITE_YOUNGSTER, 4, 15, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x5ce54, EVENT_GOLDENROD_CITY_CIVILIANS
+   person_event SPRITE_ROCKET, 1, 14, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM3, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_GENTLEMAN, 6, 8, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GentlemanScript_0x5cd3d, EVENT_GOLDENROD_CITY_CIVILIANS
+   person_event SPRITE_COOLTRAINER_F, 6, 12, SPRITEMOVEFN_07, 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 6439214..8e16dd1 100644
--- a/maps/RadioTower2F.asm
+++ b/maps/RadioTower2F.asm
@@ -42,7 +42,7 @@ BlackBeltScript_0x5d722:
    jumptextfaceplayer UnknownText_0x5da44
 
 TrainerGruntM4:
    trainer EVENT_BEAT_ROCKET_GRUNTM_4, GRUNTM, 4, GruntM4SeenText, GruntM4BeatenText, $0000, GruntM4Script
 
 GruntM4Script:
    talkaftercancel
@@ -53,7 +53,7 @@ GruntM4Script:
    end
 
 TrainerGruntM5:
    trainer EVENT_BEAT_ROCKET_GRUNTM_5, GRUNTM, 5, GruntM5SeenText, GruntM5BeatenText, $0000, GruntM5Script
 
 GruntM5Script:
    talkaftercancel
@@ -64,7 +64,7 @@ GruntM5Script:
    end
 
 TrainerGruntM6:
    trainer EVENT_BEAT_ROCKET_GRUNTM_6, GRUNTM, 6, GruntM6SeenText, GruntM6BeatenText, $0000, GruntM6Script
 
 GruntM6Script:
    talkaftercancel
@@ -75,7 +75,7 @@ GruntM6Script:
    end
 
 TrainerGruntF2:
    trainer EVENT_BEAT_ROCKET_GRUNTF_2, GRUNTF, 2, GruntF2SeenText, GruntF2BeatenText, $0000, GruntF2Script
 
 GruntF2Script:
    talkaftercancel
@@ -720,14 +720,14 @@ RadioTower2F_MapEventHeader:
 
 .PersonEvents:
    db 11
-   person_event SPRITE_SUPER_NERD, 6, 6, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x5d6fe, EVENT_GOLDENROD_CITY_CIVILIANS
-   person_event SPRITE_TEACHER, 2, 17, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x5d701, -1
-   person_event SPRITE_ROCKET, 4, 1, $7, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM4, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 4, 8, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM5, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 1, 4, $6, 0, 0, -1, -1, 0, 2, 2, TrainerGruntM6, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET_GIRL, 5, 10, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerGruntF2, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_BLACK_BELT, 1, 0, $6, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x5d71f, EVENT_RADIO_TOWER_BLACKBELT_BLOCKS_STAIRS
-   person_event SPRITE_BLACK_BELT, 1, 1, $6, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x5d722, EVENT_RADIO_TOWER_CIVILIANS_AFTER
-   person_event SPRITE_JIGGLYPUFF, 1, 12, $16, 0, 0, -1, -1, 0, 0, 0, JigglypuffScript_0x5d715, -1
-   person_event SPRITE_BUENA, 5, 14, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Buena, -1
-   person_event SPRITE_RECEPTIONIST, 7, 12, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x5d8ff, EVENT_GOLDENROD_CITY_CIVILIANS
+   person_event SPRITE_SUPER_NERD, 6, 6, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x5d6fe, EVENT_GOLDENROD_CITY_CIVILIANS
+   person_event SPRITE_TEACHER, 2, 17, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x5d701, -1
+   person_event SPRITE_ROCKET, 4, 1, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM4, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET, 4, 8, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM5, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET, 1, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 2, 2, TrainerGruntM6, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET_GIRL, 5, 10, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerGruntF2, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_BLACK_BELT, 1, 0, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x5d71f, EVENT_RADIO_TOWER_BLACKBELT_BLOCKS_STAIRS
+   person_event SPRITE_BLACK_BELT, 1, 1, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x5d722, EVENT_RADIO_TOWER_CIVILIANS_AFTER
+   person_event SPRITE_JIGGLYPUFF, 1, 12, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, JigglypuffScript_0x5d715, -1
+   person_event SPRITE_BUENA, 5, 14, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Buena, -1
+   person_event SPRITE_RECEPTIONIST, 7, 12, SPRITEMOVEFN_09, 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 4329295..4df995a 100644
--- a/maps/RadioTower3F.asm
+++ b/maps/RadioTower3F.asm
@@ -77,7 +77,7 @@ UnknownScript_0x5e5a1:
    end
 
 TrainerGruntM7:
    trainer EVENT_BEAT_ROCKET_GRUNTM_7, GRUNTM, 7, GruntM7SeenText, GruntM7BeatenText, $0000, GruntM7Script
 
 GruntM7Script:
    talkaftercancel
@@ -88,7 +88,7 @@ GruntM7Script:
    end
 
 TrainerGruntM8:
    trainer EVENT_BEAT_ROCKET_GRUNTM_8, GRUNTM, 8, GruntM8SeenText, GruntM8BeatenText, $0000, GruntM8Script
 
 GruntM8Script:
    talkaftercancel
@@ -99,7 +99,7 @@ GruntM8Script:
    end
 
 TrainerGruntM9:
    trainer EVENT_BEAT_ROCKET_GRUNTM_9, GRUNTM, 9, GruntM9SeenText, GruntM9BeatenText, $0000, GruntM9Script
 
 GruntM9Script:
    talkaftercancel
@@ -110,7 +110,7 @@ GruntM9Script:
    end
 
 TrainerScientistMarc:
    trainer EVENT_BEAT_SCIENTIST_MARC, SCIENTIST, MARC, ScientistMarcSeenText, ScientistMarcBeatenText, $0000, ScientistMarcScript
 
 ScientistMarcScript:
    talkaftercancel
@@ -343,10 +343,10 @@ RadioTower3F_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_SUPER_NERD, 4, 7, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x5e553, EVENT_RADIO_TOWER_CIVILIANS_AFTER
-   person_event SPRITE_GYM_GUY, 4, 3, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GymGuyScript_0x5e556, -1
-   person_event SPRITE_COOLTRAINER_F, 3, 11, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x5e56a, -1
-   person_event SPRITE_ROCKET, 1, 5, $9, 0, 0, -1, -1, 0, 2, 2, TrainerGruntM7, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 2, 6, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM8, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 6, 16, $7, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM9, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_SCIENTIST, 6, 9, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerScientistMarc, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_SUPER_NERD, 4, 7, SPRITEMOVEFN_07, 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, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GymGuyScript_0x5e556, -1
+   person_event SPRITE_COOLTRAINER_F, 3, 11, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x5e56a, -1
+   person_event SPRITE_ROCKET, 1, 5, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 2, 2, TrainerGruntM7, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET, 2, 6, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM8, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET, 6, 16, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM9, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_SCIENTIST, 6, 9, SPRITEMOVEFN_07, 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 be4cd0c..f90fe14 100644
--- a/maps/RadioTower4F.asm
+++ b/maps/RadioTower4F.asm
@@ -47,7 +47,7 @@ GrowlitheScript_0x5ebb2:
    end
 
 TrainerGruntM10:
    trainer EVENT_BEAT_ROCKET_GRUNTM_10, GRUNTM, 10, GruntM10SeenText, GruntM10BeatenText, $0000, GruntM10Script
 
 GruntM10Script:
    talkaftercancel
@@ -58,7 +58,7 @@ GruntM10Script:
    end
 
 TrainerExecutivem2:
    trainer EVENT_BEAT_ROCKET_EXECUTIVEM_2, EXECUTIVEM, 2, Executivem2SeenText, Executivem2BeatenText, $0000, Executivem2Script
 
 Executivem2Script:
    talkaftercancel
@@ -69,7 +69,7 @@ Executivem2Script:
    end
 
 TrainerGruntF4:
    trainer EVENT_BEAT_ROCKET_GRUNTF_4, GRUNTF, 4, GruntF4SeenText, GruntF4BeatenText, $0000, GruntF4Script
 
 GruntF4Script:
    talkaftercancel
@@ -80,7 +80,7 @@ GruntF4Script:
    end
 
 TrainerScientistRich:
    trainer EVENT_BEAT_SCIENTIST_RICH, SCIENTIST, RICH, ScientistRichSeenText, ScientistRichBeatenText, $0000, ScientistRichScript
 
 ScientistRichScript:
    talkaftercancel
@@ -257,10 +257,10 @@ RadioTower4F_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_FISHER, 4, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x5eb82, EVENT_RADIO_TOWER_CIVILIANS_AFTER
-   person_event SPRITE_TEACHER, 6, 14, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x5eb85, -1
-   person_event SPRITE_GROWLITHE, 7, 12, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GrowlitheScript_0x5ebb2, -1
-   person_event SPRITE_ROCKET, 6, 5, $1f, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM10, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 1, 14, $8, 0, 2, -1, -1, 0, 2, 2, TrainerExecutivem2, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET_GIRL, 4, 12, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerGruntF4, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_SCIENTIST, 2, 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerScientistRich, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_FISHER, 4, 6, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x5eb82, EVENT_RADIO_TOWER_CIVILIANS_AFTER
+   person_event SPRITE_TEACHER, 6, 14, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x5eb85, -1
+   person_event SPRITE_GROWLITHE, 7, 12, SPRITEMOVEFN_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GrowlitheScript_0x5ebb2, -1
+   person_event SPRITE_ROCKET, 6, 5, SPRITEMOVEFN_1F, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM10, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET, 1, 14, SPRITEMOVEFN_08, 0, 2, -1, -1, 0, 2, 2, TrainerExecutivem2, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET_GIRL, 4, 12, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerGruntF4, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_SCIENTIST, 2, 4, SPRITEMOVEFN_08, 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 499e7fb..de3d5f7 100644
--- a/maps/RadioTower5F.asm
+++ b/maps/RadioTower5F.asm
@@ -3,9 +3,9 @@ RadioTower5F_MapScriptHeader:
    db 3
 
    ; triggers
    dw UnknownScript_0x6000e, $0000
    dw UnknownScript_0x6000f, $0000
    dw UnknownScript_0x60010, $0000
 
 .MapCallbacks:
    db 0
@@ -32,7 +32,7 @@ UnknownScript_0x60011:
    writetext UnknownText_0x60147
    closetext
    loadmovesprites
    winlosstext UnknownText_0x60223, $0000
    setlasttalked $2
    loadtrainer EXECUTIVEM, 3
    startbattle
@@ -63,7 +63,7 @@ UnknownScript_0x60054:
    end
 
 TrainerExecutivef1:
    trainer EVENT_BEAT_ROCKET_EXECUTIVEF_1, EXECUTIVEF, 1, Executivef1SeenText, Executivef1BeatenText, $0000, Executivef1Script
 
 Executivef1Script:
    talkaftercancel
@@ -81,7 +81,7 @@ UnknownScript_0x6006e:
    writetext UnknownText_0x603d1
    closetext
    loadmovesprites
    winlosstext UnknownText_0x604f3, $0000
    setlasttalked $3
    loadtrainer EXECUTIVEM, 1
    startbattle
@@ -439,8 +439,8 @@ RadioTower5F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_GENTLEMAN, 6, 3, $3, 0, 0, -1, -1, 0, 0, 0, Director, -1
-   person_event SPRITE_ROCKET, 5, 13, $8, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET_GIRL, 2, 17, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerExecutivef1, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKER, 5, 13, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Ben, EVENT_RADIO_TOWER_CIVILIANS_AFTER
-   person_event SPRITE_POKE_BALL, 5, 8, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x600fe, EVENT_RADIO_TOWER_5F_ULTRA_BALL
+   person_event SPRITE_GENTLEMAN, 6, 3, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, Director, -1
+   person_event SPRITE_ROCKET, 5, 13, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET_GIRL, 2, 17, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerExecutivef1, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKER, 5, 13, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, Ben, EVENT_RADIO_TOWER_CIVILIANS_AFTER
+   person_event SPRITE_POKE_BALL, 5, 8, SPRITEMOVEFN_01, 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 a3e23c6..2826705 100644
--- a/maps/RedsHouse1F.asm
+++ b/maps/RedsHouse1F.asm
@@ -3,7 +3,7 @@ RedsHouse1F_MapScriptHeader:
    db 1
 
    ; triggers
    dw .Trigger, $0000
 
 .MapCallbacks:
    db 0
@@ -94,4 +94,4 @@ RedsHouse1F_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_REDS_MOM, 3, 5, $8, 0, 0, -1, -1, 0, 0, 0, RedsMom, -1
+   person_event SPRITE_REDS_MOM, 3, 5, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, RedsMom, -1
diff --git a/maps/RockTunnel1F.asm b/maps/RockTunnel1F.asm
index 6f4c0f6..5c35584 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, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x743b5, EVENT_ROCK_TUNNEL_1F_ELIXER
-   person_event SPRITE_POKE_BALL, 15, 10, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x743b7, EVENT_ROCK_TUNNEL_1F_TM_STEEL_WING
+   person_event SPRITE_POKE_BALL, 18, 4, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x743b5, EVENT_ROCK_TUNNEL_1F_ELIXER
+   person_event SPRITE_POKE_BALL, 15, 10, SPRITEMOVEFN_01, 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 3f95471..5889d35 100644
--- a/maps/RockTunnelB1F.asm
+++ b/maps/RockTunnelB1F.asm
@@ -38,6 +38,6 @@ RockTunnelB1F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKE_BALL, 25, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x74409, EVENT_ROCK_TUNNEL_B1F_IRON
-   person_event SPRITE_POKE_BALL, 17, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7440b, EVENT_ROCK_TUNNEL_B1F_PP_UP
-   person_event SPRITE_POKE_BALL, 2, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7440d, EVENT_ROCK_TUNNEL_B1F_REVIVE
+   person_event SPRITE_POKE_BALL, 25, 7, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x74409, EVENT_ROCK_TUNNEL_B1F_IRON
+   person_event SPRITE_POKE_BALL, 17, 6, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7440b, EVENT_ROCK_TUNNEL_B1F_PP_UP
+   person_event SPRITE_POKE_BALL, 2, 15, SPRITEMOVEFN_01, 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 0c175e9..12434ea 100644
--- a/maps/Route1.asm
+++ b/maps/Route1.asm
@@ -6,7 +6,7 @@ Route1_MapScriptHeader:
    db 0
 
 TrainerSchoolboyDanny:
    trainer EVENT_BEAT_SCHOOLBOY_DANNY, SCHOOLBOY, DANNY, SchoolboyDannySeenText, SchoolboyDannyBeatenText, $0000, SchoolboyDannyScript
 
 SchoolboyDannyScript:
    talkaftercancel
@@ -17,7 +17,7 @@ SchoolboyDannyScript:
    end
 
 TrainerCooltrainerfQuinn:
    trainer EVENT_BEAT_COOLTRAINERF_QUINN, COOLTRAINERF, QUINN, CooltrainerfQuinnSeenText, CooltrainerfQuinnBeatenText, $0000, CooltrainerfQuinnScript
 
 CooltrainerfQuinnScript:
    talkaftercancel
@@ -91,6 +91,6 @@ Route1_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_YOUNGSTER, 12, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSchoolboyDanny, -1
-   person_event SPRITE_COOLTRAINER_F, 25, 9, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainerfQuinn, -1
-   person_event SPRITE_FRUIT_TREE, 7, 3, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1ac581, -1
+   person_event SPRITE_YOUNGSTER, 12, 4, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSchoolboyDanny, -1
+   person_event SPRITE_COOLTRAINER_F, 25, 9, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainerfQuinn, -1
+   person_event SPRITE_FRUIT_TREE, 7, 3, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1ac581, -1
diff --git a/maps/Route10PokeCenter1F.asm b/maps/Route10PokeCenter1F.asm
index 8374255..2ddca4e 100644
--- a/maps/Route10PokeCenter1F.asm
+++ b/maps/Route10PokeCenter1F.asm
@@ -92,7 +92,7 @@ Route10PokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x188bd4, -1
-   person_event SPRITE_GENTLEMAN, 6, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x188bd7, -1
-   person_event SPRITE_GYM_GUY, 2, 7, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GymGuyScript_0x188bda, -1
-   person_event SPRITE_COOLTRAINER_F, 3, 1, $6, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x188bee, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x188bd4, -1
+   person_event SPRITE_GENTLEMAN, 6, 7, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x188bd7, -1
+   person_event SPRITE_GYM_GUY, 2, 7, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GymGuyScript_0x188bda, -1
+   person_event SPRITE_COOLTRAINER_F, 3, 1, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x188bee, -1
diff --git a/maps/Route10South.asm b/maps/Route10South.asm
index 662509b..84e81eb 100644
--- a/maps/Route10South.asm
+++ b/maps/Route10South.asm
@@ -6,7 +6,7 @@ Route10South_MapScriptHeader:
    db 0
 
 TrainerHikerJim:
    trainer EVENT_BEAT_HIKER_JIM, HIKER, JIM, HikerJimSeenText, HikerJimBeatenText, $0000, HikerJimScript
 
 HikerJimScript:
    talkaftercancel
@@ -17,7 +17,7 @@ HikerJimScript:
    end
 
 TrainerPokefanmRobert:
    trainer EVENT_BEAT_POKEFANM_ROBERT, POKEFANM, ROBERT, PokefanmRobertSeenText, PokefanmRobertBeatenText, $0000, PokefanmRobertScript
 
 PokefanmRobertScript:
    talkaftercancel
@@ -88,5 +88,5 @@ Route10South_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKEFAN_M, 3, 17, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerJim, -1
-   person_event SPRITE_POKEFAN_M, 10, 8, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmRobert, -1
+   person_event SPRITE_POKEFAN_M, 3, 17, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerJim, -1
+   person_event SPRITE_POKEFAN_M, 10, 8, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmRobert, -1
diff --git a/maps/Route11.asm b/maps/Route11.asm
index c3ee336..ad0965b 100644
--- a/maps/Route11.asm
+++ b/maps/Route11.asm
@@ -6,7 +6,7 @@ Route11_MapScriptHeader:
    db 0
 
 TrainerYoungsterOwen:
    trainer EVENT_BEAT_YOUNGSTER_OWEN, YOUNGSTER, OWEN, YoungsterOwenSeenText, YoungsterOwenBeatenText, $0000, YoungsterOwenScript
 
 YoungsterOwenScript:
    talkaftercancel
@@ -17,7 +17,7 @@ YoungsterOwenScript:
    end
 
 TrainerYoungsterJason:
    trainer EVENT_BEAT_YOUNGSTER_JASON, YOUNGSTER, JASON, YoungsterJasonSeenText, YoungsterJasonBeatenText, $0000, YoungsterJasonScript
 
 YoungsterJasonScript:
    talkaftercancel
@@ -28,7 +28,7 @@ YoungsterJasonScript:
    end
 
 TrainerPsychicHerman:
    trainer EVENT_BEAT_PSYCHIC_HERMAN, PSYCHIC_T, HERMAN, PsychicHermanSeenText, PsychicHermanBeatenText, $0000, PsychicHermanScript
 
 PsychicHermanScript:
    talkaftercancel
@@ -39,7 +39,7 @@ PsychicHermanScript:
    end
 
 TrainerPsychicFidel:
    trainer EVENT_BEAT_PSYCHIC_FIDEL, PSYCHIC_T, FIDEL, PsychicFidelSeenText, PsychicFidelBeatenText, $0000, PsychicFidelScript
 
 PsychicFidelScript:
    talkaftercancel
@@ -156,8 +156,8 @@ Route11_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_YOUNGSTER, 14, 22, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterOwen, -1
-   person_event SPRITE_YOUNGSTER, 4, 20, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterJason, -1
-   person_event SPRITE_YOUNGSTER, 7, 28, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerPsychicHerman, -1
-   person_event SPRITE_YOUNGSTER, 6, 8, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicFidel, -1
-   person_event SPRITE_FRUIT_TREE, 2, 32, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x68055, -1
+   person_event SPRITE_YOUNGSTER, 14, 22, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterOwen, -1
+   person_event SPRITE_YOUNGSTER, 4, 20, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterJason, -1
+   person_event SPRITE_YOUNGSTER, 7, 28, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerPsychicHerman, -1
+   person_event SPRITE_YOUNGSTER, 6, 8, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicFidel, -1
+   person_event SPRITE_FRUIT_TREE, 2, 32, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x68055, -1
diff --git a/maps/Route12.asm b/maps/Route12.asm
index 8b7ebe9..6fd879a 100644
--- a/maps/Route12.asm
+++ b/maps/Route12.asm
@@ -6,7 +6,7 @@ Route12_MapScriptHeader:
    db 0
 
 TrainerFisherKyle:
    trainer EVENT_BEAT_FISHER_KYLE, FISHER, KYLE, FisherKyleSeenText, FisherKyleBeatenText, $0000, FisherKyleScript
 
 FisherKyleScript:
    talkaftercancel
@@ -17,7 +17,7 @@ FisherKyleScript:
    end
 
 TrainerFisherMartin:
    trainer EVENT_BEAT_FISHER_MARTIN, FISHER, MARTIN, FisherMartinSeenText, FisherMartinBeatenText, $0000, FisherMartinScript
 
 FisherMartinScript:
    talkaftercancel
@@ -28,7 +28,7 @@ FisherMartinScript:
    end
 
 TrainerFisherStephen:
    trainer EVENT_BEAT_FISHER_STEPHEN, FISHER, STEPHEN, FisherStephenSeenText, FisherStephenBeatenText, $0000, FisherStephenScript
 
 FisherStephenScript:
    talkaftercancel
@@ -39,7 +39,7 @@ FisherStephenScript:
    end
 
 TrainerFisherBarney:
    trainer EVENT_BEAT_FISHER_BARNEY, FISHER, BARNEY, FisherBarneySeenText, FisherBarneyBeatenText, $0000, FisherBarneyScript
 
 FisherBarneyScript:
    talkaftercancel
@@ -178,9 +178,9 @@ Route12_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_FISHER, 13, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherMartin, -1
-   person_event SPRITE_FISHER, 23, 14, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherStephen, -1
-   person_event SPRITE_FISHER, 38, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerFisherBarney, -1
-   person_event SPRITE_FISHER, 7, 6, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherKyle, -1
-   person_event SPRITE_POKE_BALL, 43, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a700b, EVENT_ROUTE_12_CALCIUM
-   person_event SPRITE_POKE_BALL, 51, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a700d, EVENT_ROUTE_12_NUGGET
+   person_event SPRITE_FISHER, 13, 5, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherMartin, -1
+   person_event SPRITE_FISHER, 23, 14, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherStephen, -1
+   person_event SPRITE_FISHER, 38, 10, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerFisherBarney, -1
+   person_event SPRITE_FISHER, 7, 6, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherKyle, -1
+   person_event SPRITE_POKE_BALL, 43, 5, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a700b, EVENT_ROUTE_12_CALCIUM
+   person_event SPRITE_POKE_BALL, 51, 5, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a700d, EVENT_ROUTE_12_NUGGET
diff --git a/maps/Route12SuperRodHouse.asm b/maps/Route12SuperRodHouse.asm
index bc4376e..ba25ab1 100644
--- a/maps/Route12SuperRodHouse.asm
+++ b/maps/Route12SuperRodHouse.asm
@@ -93,4 +93,4 @@ Route12SuperRodHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHING_GURU, 3, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FishingGuruScript_0x7f484, -1
+   person_event SPRITE_FISHING_GURU, 3, 5, SPRITEMOVEFN_06, 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 6314a69..1ddb39f 100644
--- a/maps/Route13.asm
+++ b/maps/Route13.asm
@@ -6,7 +6,7 @@ Route13_MapScriptHeader:
    db 0
 
 TrainerPokefanmAlex:
    trainer EVENT_BEAT_POKEFANM_ALEX, POKEFANM, ALEX, PokefanmAlexSeenText, PokefanmAlexBeatenText, $0000, PokefanmAlexScript
 
 PokefanmAlexScript:
    talkaftercancel
@@ -17,7 +17,7 @@ PokefanmAlexScript:
    end
 
 TrainerPokefanmJoshua:
    trainer EVENT_BEAT_POKEFANM_JOSHUA, POKEFANM, JOSHUA, PokefanmJoshuaSeenText, PokefanmJoshuaBeatenText, $0000, PokefanmJoshuaScript
 
 PokefanmJoshuaScript:
    talkaftercancel
@@ -28,7 +28,7 @@ PokefanmJoshuaScript:
    end
 
 TrainerBird_keeperPerry:
    trainer EVENT_BEAT_BIRD_KEEPER_PERRY, BIRD_KEEPER, PERRY, Bird_keeperPerrySeenText, Bird_keeperPerryBeatenText, $0000, Bird_keeperPerryScript
 
 Bird_keeperPerryScript:
    talkaftercancel
@@ -39,7 +39,7 @@ Bird_keeperPerryScript:
    end
 
 TrainerBird_keeperBret:
    trainer EVENT_BEAT_BIRD_KEEPER_BRET, BIRD_KEEPER, BRET, Bird_keeperBretSeenText, Bird_keeperBretBeatenText, $0000, Bird_keeperBretScript
 
 Bird_keeperBretScript:
    talkaftercancel
@@ -50,7 +50,7 @@ Bird_keeperBretScript:
    end
 
 TrainerHikerKenny:
    trainer EVENT_BEAT_HIKER_KENNY, HIKER, KENNY, HikerKennySeenText, HikerKennyBeatenText, $0000, HikerKennyScript
 
 HikerKennyScript:
    talkaftercancel
@@ -204,8 +204,8 @@ Route13_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_YOUNGSTER, 6, 42, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBird_keeperPerry, -1
-   person_event SPRITE_YOUNGSTER, 6, 43, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBird_keeperBret, -1
-   person_event SPRITE_POKEFAN_M, 8, 32, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmJoshua, -1
-   person_event SPRITE_POKEFAN_M, 10, 14, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerHikerKenny, -1
-   person_event SPRITE_POKEFAN_M, 6, 25, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerPokefanmAlex, -1
+   person_event SPRITE_YOUNGSTER, 6, 42, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBird_keeperPerry, -1
+   person_event SPRITE_YOUNGSTER, 6, 43, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerBird_keeperBret, -1
+   person_event SPRITE_POKEFAN_M, 8, 32, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmJoshua, -1
+   person_event SPRITE_POKEFAN_M, 10, 14, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerHikerKenny, -1
+   person_event SPRITE_POKEFAN_M, 6, 25, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerPokefanmAlex, -1
diff --git a/maps/Route14.asm b/maps/Route14.asm
index 0884356..7c34fc2 100644
--- a/maps/Route14.asm
+++ b/maps/Route14.asm
@@ -14,7 +14,7 @@ TeacherScript_0x1ad47f:
    end
 
 TrainerPokefanmCarter:
    trainer EVENT_BEAT_POKEFANM_CARTER, POKEFANM, CARTER, PokefanmCarterSeenText, PokefanmCarterBeatenText, $0000, PokefanmCarterScript
 
 PokefanmCarterScript:
    talkaftercancel
@@ -25,7 +25,7 @@ PokefanmCarterScript:
    end
 
 TrainerBird_keeperRoy:
    trainer EVENT_BEAT_BIRD_KEEPER_ROY, BIRD_KEEPER, ROY, Bird_keeperRoySeenText, Bird_keeperRoyBeatenText, $0000, Bird_keeperRoyScript
 
 Bird_keeperRoyScript:
    talkaftercancel
@@ -36,7 +36,7 @@ Bird_keeperRoyScript:
    end
 
 TrainerPokefanmTrevor:
    trainer EVENT_BEAT_POKEFANM_TREVOR, POKEFANM, TREVOR, PokefanmTrevorSeenText, PokefanmTrevorBeatenText, $0000, PokefanmTrevorScript
 
 PokefanmTrevorScript:
    talkaftercancel
@@ -124,7 +124,7 @@ Route14_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKEFAN_M, 15, 11, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmCarter, -1
-   person_event SPRITE_YOUNGSTER, 27, 11, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperRoy, -1
-   person_event SPRITE_POKEFAN_M, 11, 6, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmTrevor, -1
-   person_event SPRITE_TEACHER, 5, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 4, TeacherScript_0x1ad47f, -1
+   person_event SPRITE_POKEFAN_M, 15, 11, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmCarter, -1
+   person_event SPRITE_YOUNGSTER, 27, 11, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperRoy, -1
+   person_event SPRITE_POKEFAN_M, 11, 6, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmTrevor, -1
+   person_event SPRITE_TEACHER, 5, 7, SPRITEMOVEFN_05, 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 a5480c8..9432c44 100644
--- a/maps/Route15.asm
+++ b/maps/Route15.asm
@@ -6,7 +6,7 @@ Route15_MapScriptHeader:
    db 0
 
 TrainerTeacherColette:
    trainer EVENT_BEAT_TEACHER_COLETTE, TEACHER, COLETTE, TeacherColetteSeenText, TeacherColetteBeatenText, $0000, TeacherColetteScript
 
 TeacherColetteScript:
    talkaftercancel
@@ -17,7 +17,7 @@ TeacherColetteScript:
    end
 
 TrainerTeacherHillary:
    trainer EVENT_BEAT_TEACHER_HILLARY, TEACHER, HILLARY, TeacherHillarySeenText, TeacherHillaryBeatenText, $0000, TeacherHillaryScript
 
 TeacherHillaryScript:
    talkaftercancel
@@ -28,7 +28,7 @@ TeacherHillaryScript:
    end
 
 TrainerSchoolboyKipp:
    trainer EVENT_BEAT_SCHOOLBOY_KIP, SCHOOLBOY, KIPP, SchoolboyKippSeenText, SchoolboyKippBeatenText, $0000, SchoolboyKippScript
 
 SchoolboyKippScript:
    talkaftercancel
@@ -39,7 +39,7 @@ SchoolboyKippScript:
    end
 
 TrainerSchoolboyTommy:
    trainer EVENT_BEAT_SCHOOLBOY_TOMMY, SCHOOLBOY, TOMMY, SchoolboyTommySeenText, SchoolboyTommyBeatenText, $0000, SchoolboyTommyScript
 
 SchoolboyTommyScript:
    talkaftercancel
@@ -50,7 +50,7 @@ SchoolboyTommyScript:
    end
 
 TrainerSchoolboyJohnny:
    trainer EVENT_BEAT_SCHOOLBOY_JOHNNY, SCHOOLBOY, JOHNNY, SchoolboyJohnnySeenText, SchoolboyJohnnyBeatenText, $0000, SchoolboyJohnnyScript
 
 SchoolboyJohnnyScript:
    talkaftercancel
@@ -61,7 +61,7 @@ SchoolboyJohnnyScript:
    end
 
 TrainerSchoolboyBilly:
    trainer EVENT_BEAT_SCHOOLBOY_BILLY, SCHOOLBOY, BILLY, SchoolboyBillySeenText, SchoolboyBillyBeatenText, $0000, SchoolboyBillyScript
 
 SchoolboyBillyScript:
    talkaftercancel
@@ -210,10 +210,10 @@ Route15_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_YOUNGSTER, 10, 10, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSchoolboyKipp, -1
-   person_event SPRITE_YOUNGSTER, 13, 15, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyTommy, -1
-   person_event SPRITE_YOUNGSTER, 10, 33, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyJohnny, -1
-   person_event SPRITE_YOUNGSTER, 10, 27, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyBilly, -1
-   person_event SPRITE_TEACHER, 12, 30, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerTeacherColette, -1
-   person_event SPRITE_TEACHER, 10, 20, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerTeacherHillary, -1
-   person_event SPRITE_POKE_BALL, 5, 12, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1aa5e4, EVENT_ROUTE_15_PP_UP
+   person_event SPRITE_YOUNGSTER, 10, 10, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSchoolboyKipp, -1
+   person_event SPRITE_YOUNGSTER, 13, 15, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyTommy, -1
+   person_event SPRITE_YOUNGSTER, 10, 33, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyJohnny, -1
+   person_event SPRITE_YOUNGSTER, 10, 27, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyBilly, -1
+   person_event SPRITE_TEACHER, 12, 30, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerTeacherColette, -1
+   person_event SPRITE_TEACHER, 10, 20, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerTeacherHillary, -1
+   person_event SPRITE_POKE_BALL, 5, 12, SPRITEMOVEFN_01, 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 2ffb7ee..b13051d 100644
--- a/maps/Route15FuchsiaGate.asm
+++ b/maps/Route15FuchsiaGate.asm
@@ -35,4 +35,4 @@ Route15FuchsiaGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x19679e, -1
+   person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEFN_06, 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 aab16e3..e46b573 100644
--- a/maps/Route16FuchsiaSpeechHouse.asm
+++ b/maps/Route16FuchsiaSpeechHouse.asm
@@ -38,4 +38,4 @@ Route16FuchsiaSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_SUPER_NERD, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x73373, -1
+   person_event SPRITE_SUPER_NERD, 3, 2, SPRITEMOVEFN_06, 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 b2ad14e..e2e860b 100644
--- a/maps/Route16Gate.asm
+++ b/maps/Route16Gate.asm
@@ -3,7 +3,7 @@ Route16Gate_MapScriptHeader:
    db 1
 
    ; triggers
    dw UnknownScript_0x733e9, $0000
 
 .MapCallbacks:
    db 0
@@ -80,4 +80,4 @@ Route16Gate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x733ea, -1
+   person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEFN_06, 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 6543def..5518d86 100644
--- a/maps/Route17.asm
+++ b/maps/Route17.asm
@@ -15,7 +15,7 @@ UnknownScript_0x1ad0ab:
    return
 
 TrainerBikerCharles:
    trainer EVENT_BEAT_BIKER_CHARLES, BIKER, CHARLES, BikerCharlesSeenText, BikerCharlesBeatenText, $0000, BikerCharlesScript
 
 BikerCharlesScript:
    talkaftercancel
@@ -26,7 +26,7 @@ BikerCharlesScript:
    end
 
 TrainerBikerRiley:
    trainer EVENT_BEAT_BIKER_RILEY, BIKER, RILEY, BikerRileySeenText, BikerRileyBeatenText, $0000, BikerRileyScript
 
 BikerRileyScript:
    talkaftercancel
@@ -37,7 +37,7 @@ BikerRileyScript:
    end
 
 TrainerBikerJoel:
    trainer EVENT_BEAT_BIKER_JOEL, BIKER, JOEL, BikerJoelSeenText, BikerJoelBeatenText, $0000, BikerJoelScript
 
 BikerJoelScript:
    talkaftercancel
@@ -48,7 +48,7 @@ BikerJoelScript:
    end
 
 TrainerBikerGlenn:
    trainer EVENT_BEAT_BIKER_GLENN, BIKER, GLENN, BikerGlennSeenText, BikerGlennBeatenText, $0000, BikerGlennScript
 
 BikerGlennScript:
    talkaftercancel
@@ -150,7 +150,7 @@ Route17_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_BIKER, 17, 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerBikerRiley, -1
-   person_event SPRITE_BIKER, 68, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerBikerJoel, -1
-   person_event SPRITE_BIKER, 53, 3, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBikerGlenn, -1
-   person_event SPRITE_BIKER, 80, 6, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerBikerCharles, -1
+   person_event SPRITE_BIKER, 17, 4, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerBikerRiley, -1
+   person_event SPRITE_BIKER, 68, 9, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerBikerJoel, -1
+   person_event SPRITE_BIKER, 53, 3, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBikerGlenn, -1
+   person_event SPRITE_BIKER, 80, 6, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerBikerCharles, -1
diff --git a/maps/Route1718Gate.asm b/maps/Route1718Gate.asm
index c23d76d..7ef82c1 100644
--- a/maps/Route1718Gate.asm
+++ b/maps/Route1718Gate.asm
@@ -3,7 +3,7 @@ Route1718Gate_MapScriptHeader:
    db 1
 
    ; triggers
    dw UnknownScript_0x7360d, $0000
 
 .MapCallbacks:
    db 0
@@ -71,4 +71,4 @@ Route1718Gate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x7360e, -1
+   person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEFN_06, 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 00728f8..e895951 100644
--- a/maps/Route18.asm
+++ b/maps/Route18.asm
@@ -6,7 +6,7 @@ Route18_MapScriptHeader:
    db 0
 
 TrainerBird_keeperBoris:
    trainer EVENT_BEAT_BIRD_KEEPER_BORIS, BIRD_KEEPER, BORIS, Bird_keeperBorisSeenText, Bird_keeperBorisBeatenText, $0000, Bird_keeperBorisScript
 
 Bird_keeperBorisScript:
    talkaftercancel
@@ -17,7 +17,7 @@ Bird_keeperBorisScript:
    end
 
 TrainerBird_keeperBob:
    trainer EVENT_BEAT_BIRD_KEEPER_BOB, BIRD_KEEPER, BOB, Bird_keeperBobSeenText, Bird_keeperBobBeatenText, $0000, Bird_keeperBobScript
 
 Bird_keeperBobScript:
    talkaftercancel
@@ -91,5 +91,5 @@ Route18_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_YOUNGSTER, 12, 9, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperBoris, -1
-   person_event SPRITE_YOUNGSTER, 6, 13, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperBob, -1
+   person_event SPRITE_YOUNGSTER, 12, 9, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperBoris, -1
+   person_event SPRITE_YOUNGSTER, 6, 13, SPRITEMOVEFN_06, 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 beb87fd..6c58a16 100644
--- a/maps/Route19.asm
+++ b/maps/Route19.asm
@@ -22,7 +22,7 @@ Route19_MapScriptHeader:
    return
 
 TrainerSwimmerfDawn:
    trainer EVENT_BEAT_SWIMMERF_DAWN, SWIMMERF, DAWN, SwimmerfDawnSeenText, SwimmerfDawnBeatenText, $0000, SwimmerfDawnScript
 
 SwimmerfDawnScript:
    talkaftercancel
@@ -33,7 +33,7 @@ SwimmerfDawnScript:
    end
 
 TrainerSwimmermHarold:
    trainer EVENT_BEAT_SWIMMERM_HAROLD, SWIMMERM, HAROLD, SwimmermHaroldSeenText, SwimmermHaroldBeatenText, $0000, SwimmermHaroldScript
 
 SwimmermHaroldScript:
    talkaftercancel
@@ -44,7 +44,7 @@ SwimmermHaroldScript:
    end
 
 TrainerSwimmermJerome:
    trainer EVENT_BEAT_SWIMMERM_JEROME, SWIMMERM, JEROME, SwimmermJeromeSeenText, SwimmermJeromeBeatenText, $0000, SwimmermJeromeScript
 
 SwimmermJeromeScript:
    talkaftercancel
@@ -55,7 +55,7 @@ SwimmermJeromeScript:
    end
 
 TrainerSwimmermTucker:
    trainer EVENT_BEAT_SWIMMERM_TUCKER, SWIMMERM, TUCKER, SwimmermTuckerSeenText, SwimmermTuckerBeatenText, $0000, SwimmermTuckerScript
 
 SwimmermTuckerScript:
    talkaftercancel
@@ -247,9 +247,9 @@ Route19_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_SWIMMER_GIRL, 23, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerSwimmerfDawn, -1
-   person_event SPRITE_SWIMMER_GUY, 28, 13, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermHarold, -1
-   person_event SPRITE_SWIMMER_GUY, 17, 11, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermJerome, -1
-   person_event SPRITE_SWIMMER_GUY, 23, 8, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerSwimmermTucker, -1
-   person_event SPRITE_FISHER, 5, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 1, FisherScript_0x19ea4d, -1
-   person_event SPRITE_FISHER, 5, 11, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 1, FisherScript_0x19ea61, -1
+   person_event SPRITE_SWIMMER_GIRL, 23, 9, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 0, TrainerSwimmerfDawn, -1
+   person_event SPRITE_SWIMMER_GUY, 28, 13, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermHarold, -1
+   person_event SPRITE_SWIMMER_GUY, 17, 11, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermJerome, -1
+   person_event SPRITE_SWIMMER_GUY, 23, 8, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerSwimmermTucker, -1
+   person_event SPRITE_FISHER, 5, 9, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 1, FisherScript_0x19ea4d, -1
+   person_event SPRITE_FISHER, 5, 11, SPRITEMOVEFN_05, 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 1036a5f..87b4397 100644
--- a/maps/Route19FuchsiaGate.asm
+++ b/maps/Route19FuchsiaGate.asm
@@ -61,4 +61,4 @@ Route19FuchsiaGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x1ab3f6, -1
+   person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEFN_09, 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 79a72bf..96ef0cf 100644
--- a/maps/Route2.asm
+++ b/maps/Route2.asm
@@ -6,7 +6,7 @@ Route2_MapScriptHeader:
    db 0
 
 TrainerBug_catcherRob:
    trainer EVENT_BEAT_BUG_CATCHER_ROB, BUG_CATCHER, ROB, Bug_catcherRobSeenText, Bug_catcherRobBeatenText, $0000, Bug_catcherRobScript
 
 Bug_catcherRobScript:
    talkaftercancel
@@ -17,7 +17,7 @@ Bug_catcherRobScript:
    end
 
 TrainerBug_catcherEd:
    trainer EVENT_BEAT_BUG_CATCHER_ED, BUG_CATCHER, ED, Bug_catcherEdSeenText, Bug_catcherEdBeatenText, $0000, Bug_catcherEdScript
 
 Bug_catcherEdScript:
    talkaftercancel
@@ -28,7 +28,7 @@ Bug_catcherEdScript:
    end
 
 TrainerBug_catcherDoug:
    trainer EVENT_BEAT_BUG_CATCHER_DOUG, BUG_CATCHER, DOUG, Bug_catcherDougSeenText, Bug_catcherDougBeatenText, $0000, Bug_catcherDougScript
 
 Bug_catcherDougScript:
    talkaftercancel
@@ -162,11 +162,11 @@ Route2_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_BUG_CATCHER, 45, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 5, TrainerBug_catcherRob, -1
-   person_event SPRITE_BUG_CATCHER, 4, 6, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherEd, -1
-   person_event SPRITE_BUG_CATCHER, 40, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherDoug, -1
-   person_event SPRITE_POKE_BALL, 29, 0, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac2fe, EVENT_ROUTE_2_DIRE_HIT
-   person_event SPRITE_POKE_BALL, 23, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac300, EVENT_ROUTE_2_MAX_POTION
-   person_event SPRITE_POKE_BALL, 2, 19, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac302, EVENT_ROUTE_2_CARBOS
-   person_event SPRITE_POKE_BALL, 50, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac304, EVENT_ROUTE_2_ELIXER
-   person_event SPRITE_FRUIT_TREE, 14, 10, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1ac306, -1
+   person_event SPRITE_BUG_CATCHER, 45, 10, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 5, TrainerBug_catcherRob, -1
+   person_event SPRITE_BUG_CATCHER, 4, 6, SPRITEMOVEFN_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherEd, -1
+   person_event SPRITE_BUG_CATCHER, 40, 0, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherDoug, -1
+   person_event SPRITE_POKE_BALL, 29, 0, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac2fe, EVENT_ROUTE_2_DIRE_HIT
+   person_event SPRITE_POKE_BALL, 23, 2, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac300, EVENT_ROUTE_2_MAX_POTION
+   person_event SPRITE_POKE_BALL, 2, 19, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac302, EVENT_ROUTE_2_CARBOS
+   person_event SPRITE_POKE_BALL, 50, 14, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ac304, EVENT_ROUTE_2_ELIXER
+   person_event SPRITE_FRUIT_TREE, 14, 10, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1ac306, -1
diff --git a/maps/Route20.asm b/maps/Route20.asm
index e623138..0873c9c 100644
--- a/maps/Route20.asm
+++ b/maps/Route20.asm
@@ -14,7 +14,7 @@ Route20_MapScriptHeader:
    return
 
 TrainerSwimmerfNicole:
    trainer EVENT_BEAT_SWIMMERF_NICOLE, SWIMMERF, NICOLE, SwimmerfNicoleSeenText, SwimmerfNicoleBeatenText, $0000, SwimmerfNicoleScript
 
 SwimmerfNicoleScript:
    talkaftercancel
@@ -25,7 +25,7 @@ SwimmerfNicoleScript:
    end
 
 TrainerSwimmerfLori:
    trainer EVENT_BEAT_SWIMMERF_LORI, SWIMMERF, LORI, SwimmerfLoriSeenText, SwimmerfLoriBeatenText, $0000, SwimmerfLoriScript
 
 SwimmerfLoriScript:
    talkaftercancel
@@ -36,7 +36,7 @@ SwimmerfLoriScript:
    end
 
 TrainerSwimmermCameron:
    trainer EVENT_BEAT_SWIMMERM_CAMERON, SWIMMERM, CAMERON, SwimmermCameronSeenText, SwimmermCameronBeatenText, $0000, SwimmermCameronScript
 
 SwimmermCameronScript:
    talkaftercancel
@@ -127,6 +127,6 @@ Route20_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_SWIMMER_GIRL, 8, 52, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfNicole, -1
-   person_event SPRITE_SWIMMER_GIRL, 13, 45, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfLori, -1
-   person_event SPRITE_SWIMMER_GUY, 13, 12, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermCameron, -1
+   person_event SPRITE_SWIMMER_GIRL, 8, 52, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfNicole, -1
+   person_event SPRITE_SWIMMER_GIRL, 13, 45, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfLori, -1
+   person_event SPRITE_SWIMMER_GUY, 13, 12, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermCameron, -1
diff --git a/maps/Route21.asm b/maps/Route21.asm
index 15dd2d9..a1aeb83 100644
--- a/maps/Route21.asm
+++ b/maps/Route21.asm
@@ -6,7 +6,7 @@ Route21_MapScriptHeader:
    db 0
 
 TrainerSwimmermSeth:
    trainer EVENT_BEAT_SWIMMERM_SETH, SWIMMERM, SETH, SwimmermSethSeenText, SwimmermSethBeatenText, $0000, SwimmermSethScript
 
 SwimmermSethScript:
    talkaftercancel
@@ -17,7 +17,7 @@ SwimmermSethScript:
    end
 
 TrainerSwimmerfNikki:
    trainer EVENT_BEAT_SWIMMERF_NIKKI, SWIMMERF, NIKKI, SwimmerfNikkiSeenText, SwimmerfNikkiBeatenText, $0000, SwimmerfNikkiScript
 
 SwimmerfNikkiScript:
    talkaftercancel
@@ -28,7 +28,7 @@ SwimmerfNikkiScript:
    end
 
 TrainerFisherArnold:
    trainer EVENT_BEAT_FISHER_ARNOLD, FISHER, ARNOLD, FisherArnoldSeenText, FisherArnoldBeatenText, $0000, FisherArnoldScript
 
 FisherArnoldScript:
    talkaftercancel
@@ -99,6 +99,6 @@ Route21_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_SWIMMER_GIRL, 16, 11, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfNikki, -1
-   person_event SPRITE_SWIMMER_GUY, 30, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerSwimmermSeth, -1
-   person_event SPRITE_FISHER, 22, 14, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherArnold, -1
+   person_event SPRITE_SWIMMER_GIRL, 16, 11, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfNikki, -1
+   person_event SPRITE_SWIMMER_GUY, 30, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerSwimmermSeth, -1
+   person_event SPRITE_FISHER, 22, 14, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherArnold, -1
diff --git a/maps/Route24.asm b/maps/Route24.asm
index fffc4ca..0a35bce 100644
--- a/maps/Route24.asm
+++ b/maps/Route24.asm
@@ -130,4 +130,4 @@ Route24_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_ROCKET, 7, 8, $3, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x1adbfa, EVENT_ROUTE_24_ROCKET
+   person_event SPRITE_ROCKET, 7, 8, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x1adbfa, EVENT_ROUTE_24_ROCKET
diff --git a/maps/Route25.asm b/maps/Route25.asm
index 7b3fee4..cea7ecd 100644
--- a/maps/Route25.asm
+++ b/maps/Route25.asm
@@ -3,8 +3,8 @@ Route25_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x19ee9e, $0000
    dw UnknownScript_0x19ee9f, $0000
 
 .MapCallbacks:
    db 0
@@ -68,7 +68,7 @@ UnknownScript_0x19eee0:
    end
 
 TrainerSchoolboyDudley:
    trainer EVENT_BEAT_SCHOOLBOY_DUDLEY, SCHOOLBOY, DUDLEY, SchoolboyDudleySeenText, SchoolboyDudleyBeatenText, $0000, SchoolboyDudleyScript
 
 SchoolboyDudleyScript:
    talkaftercancel
@@ -79,7 +79,7 @@ SchoolboyDudleyScript:
    end
 
 TrainerLassEllen:
    trainer EVENT_BEAT_LASS_ELLEN, LASS, ELLEN, LassEllenSeenText, LassEllenBeatenText, $0000, LassEllenScript
 
 LassEllenScript:
    talkaftercancel
@@ -90,7 +90,7 @@ LassEllenScript:
    end
 
 TrainerSchoolboyJoe:
    trainer EVENT_BEAT_SCHOOLBOY_JOE, SCHOOLBOY, JOE, SchoolboyJoeSeenText, SchoolboyJoeBeatenText, $0000, SchoolboyJoeScript
 
 SchoolboyJoeScript:
    talkaftercancel
@@ -101,7 +101,7 @@ SchoolboyJoeScript:
    end
 
 TrainerLassLaura:
    trainer EVENT_BEAT_LASS_LAURA, LASS, LAURA, LassLauraSeenText, LassLauraBeatenText, $0000, LassLauraScript
 
 LassLauraScript:
    talkaftercancel
@@ -112,7 +112,7 @@ LassLauraScript:
    end
 
 TrainerCamperLloyd:
    trainer EVENT_BEAT_CAMPER_LLOYD, CAMPER, LLOYD, CamperLloydSeenText, CamperLloydBeatenText, $0000, CamperLloydScript
 
 CamperLloydScript:
    talkaftercancel
@@ -123,7 +123,7 @@ CamperLloydScript:
    end
 
 TrainerLassShannon:
    trainer EVENT_BEAT_LASS_SHANNON, LASS, SHANNON, LassShannonSeenText, LassShannonBeatenText, $0000, LassShannonScript
 
 LassShannonScript:
    talkaftercancel
@@ -134,7 +134,7 @@ LassShannonScript:
    end
 
 TrainerSupernerdPat:
    trainer EVENT_BEAT_SUPER_NERD_PAT, SUPER_NERD, PAT, SupernerdPatSeenText, SupernerdPatBeatenText, $0000, SupernerdPatScript
 
 SupernerdPatScript:
    talkaftercancel
@@ -160,7 +160,7 @@ UnknownScript_0x19efc7:
    writetext UnknownText_0x19f49d
    closetext
    loadmovesprites
    winlosstext UnknownText_0x19f4fd, $0000
    loadtrainer COOLTRAINERM, KEVIN
    startbattle
    returnafterbattle
@@ -439,14 +439,14 @@ Route25_MapEventHeader:
 
 .PersonEvents:
    db 11
-   person_event SPRITE_MISTY, 9, 46, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_ROUTE_25_MISTY_BOYFRIEND
-   person_event SPRITE_COOLTRAINER_M, 10, 46, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, EVENT_ROUTE_25_MISTY_BOYFRIEND
-   person_event SPRITE_YOUNGSTER, 8, 12, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyDudley, -1
-   person_event SPRITE_LASS, 11, 16, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerLassEllen, -1
-   person_event SPRITE_YOUNGSTER, 8, 21, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyJoe, -1
-   person_event SPRITE_LASS, 6, 22, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerLassLaura, -1
-   person_event SPRITE_YOUNGSTER, 4, 25, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerCamperLloyd, -1
-   person_event SPRITE_LASS, 11, 28, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerLassShannon, -1
-   person_event SPRITE_SUPER_NERD, 7, 31, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerSupernerdPat, -1
-   person_event SPRITE_COOLTRAINER_M, 8, 37, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x19efac, -1
-   person_event SPRITE_POKE_BALL, 4, 32, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19efe3, EVENT_ROUTE_25_PROTEIN
+   person_event SPRITE_MISTY, 9, 46, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_ROUTE_25_MISTY_BOYFRIEND
+   person_event SPRITE_COOLTRAINER_M, 10, 46, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, EVENT_ROUTE_25_MISTY_BOYFRIEND
+   person_event SPRITE_YOUNGSTER, 8, 12, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSchoolboyDudley, -1
+   person_event SPRITE_LASS, 11, 16, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerLassEllen, -1
+   person_event SPRITE_YOUNGSTER, 8, 21, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyJoe, -1
+   person_event SPRITE_LASS, 6, 22, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerLassLaura, -1
+   person_event SPRITE_YOUNGSTER, 4, 25, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerCamperLloyd, -1
+   person_event SPRITE_LASS, 11, 28, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerLassShannon, -1
+   person_event SPRITE_SUPER_NERD, 7, 31, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerSupernerdPat, -1
+   person_event SPRITE_COOLTRAINER_M, 8, 37, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x19efac, -1
+   person_event SPRITE_POKE_BALL, 4, 32, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19efe3, EVENT_ROUTE_25_PROTEIN
diff --git a/maps/Route26.asm b/maps/Route26.asm
index 8feb734..fb08ce3 100644
--- a/maps/Route26.asm
+++ b/maps/Route26.asm
@@ -6,7 +6,7 @@ Route26_MapScriptHeader:
    db 0
 
 TrainerCooltrainermJake:
    trainer EVENT_BEAT_COOLTRAINERM_JAKE, COOLTRAINERM, JAKE, CooltrainermJakeSeenText, CooltrainermJakeBeatenText, $0000, CooltrainermJakeScript
 
 CooltrainermJakeScript:
    talkaftercancel
@@ -17,7 +17,7 @@ CooltrainermJakeScript:
    end
 
 TrainerCooltrainermGaven3:
    trainer EVENT_BEAT_COOLTRAINERM_GAVEN, COOLTRAINERM, GAVEN3, CooltrainermGaven3SeenText, CooltrainermGaven3BeatenText, $0000, CooltrainermGaven3Script
 
 CooltrainermGaven3Script:
    writecode VAR_CALLERID, PHONE_COOLTRAINERM_GAVEN
@@ -47,7 +47,7 @@ UnknownScript_0x1a4d65:
 
 UnknownScript_0x1a4d79:
    scall UnknownScript_0x1a4dd7
    winlosstext CooltrainermGaven3BeatenText, $0000
    copybytetovar wGavenFightCount
    if_equal 2, .Fight2
    if_equal 1, .Fight1
@@ -110,7 +110,7 @@ UnknownScript_0x1a4dd7:
    end
 
 TrainerCooltrainerfJoyce:
    trainer EVENT_BEAT_COOLTRAINERF_JOYCE, COOLTRAINERF, JOYCE, CooltrainerfJoyceSeenText, CooltrainerfJoyceBeatenText, $0000, CooltrainerfJoyceScript
 
 CooltrainerfJoyceScript:
    talkaftercancel
@@ -121,7 +121,7 @@ CooltrainerfJoyceScript:
    end
 
 TrainerCooltrainerfBeth1:
    trainer EVENT_BEAT_COOLTRAINERF_BETH, COOLTRAINERF, BETH1, CooltrainerfBeth1SeenText, CooltrainerfBeth1BeatenText, $0000, CooltrainerfBeth1Script
 
 CooltrainerfBeth1Script:
    writecode VAR_CALLERID, PHONE_COOLTRAINERF_BETH
@@ -151,7 +151,7 @@ UnknownScript_0x1a4e21:
 
 UnknownScript_0x1a4e35:
    scall UnknownScript_0x1a4e93
    winlosstext CooltrainerfBeth1BeatenText, $0000
    copybytetovar wBethFightCount
    if_equal 2, .Fight2
    if_equal 1, .Fight1
@@ -214,7 +214,7 @@ UnknownScript_0x1a4e93:
    end
 
 TrainerPsychicRichard:
    trainer EVENT_BEAT_PSYCHIC_RICHARD, PSYCHIC_T, RICHARD, PsychicRichardSeenText, PsychicRichardBeatenText, $0000, PsychicRichardScript
 
 PsychicRichardScript:
    talkaftercancel
@@ -225,7 +225,7 @@ PsychicRichardScript:
    end
 
 TrainerFisherScott:
    trainer EVENT_BEAT_FISHER_SCOTT, FISHER, SCOTT, FisherScottSeenText, FisherScottBeatenText, $0000, FisherScottScript
 
 FisherScottScript:
    talkaftercancel
@@ -421,11 +421,11 @@ Route26_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_COOLTRAINER_M, 24, 14, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainermJake, -1
-   person_event SPRITE_COOLTRAINER_M, 38, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermGaven3, -1
-   person_event SPRITE_COOLTRAINER_F, 56, 10, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfJoyce, -1
-   person_event SPRITE_COOLTRAINER_F, 8, 5, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainerfBeth1, -1
-   person_event SPRITE_YOUNGSTER, 79, 13, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPsychicRichard, -1
-   person_event SPRITE_FISHER, 92, 10, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherScott, -1
-   person_event SPRITE_FRUIT_TREE, 54, 14, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a4ec2, -1
-   person_event SPRITE_POKE_BALL, 15, 9, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a4ec4, EVENT_ROUTE_26_MAX_ELIXER
+   person_event SPRITE_COOLTRAINER_M, 24, 14, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainermJake, -1
+   person_event SPRITE_COOLTRAINER_M, 38, 9, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermGaven3, -1
+   person_event SPRITE_COOLTRAINER_F, 56, 10, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfJoyce, -1
+   person_event SPRITE_COOLTRAINER_F, 8, 5, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainerfBeth1, -1
+   person_event SPRITE_YOUNGSTER, 79, 13, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPsychicRichard, -1
+   person_event SPRITE_FISHER, 92, 10, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherScott, -1
+   person_event SPRITE_FRUIT_TREE, 54, 14, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a4ec2, -1
+   person_event SPRITE_POKE_BALL, 15, 9, SPRITEMOVEFN_01, 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 b0a8a1c..98ff25f 100644
--- a/maps/Route26DayofWeekSiblingsHouse.asm
+++ b/maps/Route26DayofWeekSiblingsHouse.asm
@@ -84,4 +84,4 @@ Route26DayofWeekSiblingsHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKEDEX, 3, 3, $1, 0, 0, -1, -1, 0, 0, 0, PokedexScript_0x7b1e4, -1
+   person_event SPRITE_POKEDEX, 3, 3, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, PokedexScript_0x7b1e4, -1
diff --git a/maps/Route26HealSpeechHouse.asm b/maps/Route26HealSpeechHouse.asm
index 44e3e90..be50228 100644
--- a/maps/Route26HealSpeechHouse.asm
+++ b/maps/Route26HealSpeechHouse.asm
@@ -64,4 +64,4 @@ Route26HealSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_TEACHER, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7b125, -1
+   person_event SPRITE_TEACHER, 3, 2, SPRITEMOVEFN_06, 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 3a3d871..1a4d81e 100644
--- a/maps/Route27.asm
+++ b/maps/Route27.asm
@@ -3,8 +3,8 @@ Route27_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x1a0871, $0000
    dw UnknownScript_0x1a0872, $0000
 
 .MapCallbacks:
    db 0
@@ -40,7 +40,7 @@ FisherScript_0x1a089c:
    jumptextfaceplayer UnknownText_0x1a0a71
 
 TrainerPsychicGilbert:
    trainer EVENT_BEAT_PSYCHIC_GILBERT, PSYCHIC_T, GILBERT, PsychicGilbertSeenText, PsychicGilbertBeatenText, $0000, PsychicGilbertScript
 
 PsychicGilbertScript:
    talkaftercancel
@@ -51,7 +51,7 @@ PsychicGilbertScript:
    end
 
 TrainerBird_keeperJose2:
    trainer EVENT_BEAT_BIRD_KEEPER_JOSE2, BIRD_KEEPER, JOSE2, Bird_keeperJose2SeenText, Bird_keeperJose2BeatenText, $0000, Bird_keeperJose2Script
 
 Bird_keeperJose2Script:
    writecode VAR_CALLERID, PHONE_BIRDKEEPER_JOSE
@@ -83,7 +83,7 @@ UnknownScript_0x1a08eb:
 
 UnknownScript_0x1a08ff:
    scall UnknownScript_0x1a096f
    winlosstext Bird_keeperJose2BeatenText, $0000
    copybytetovar wJoseFightCount
    if_equal 2, .Fight2
    if_equal 1, .Fight1
@@ -164,7 +164,7 @@ UnknownScript_0x1a0977:
    end
 
 TrainerCooltrainermBlake:
    trainer EVENT_BEAT_COOLTRAINERM_BLAKE, COOLTRAINERM, BLAKE, CooltrainermBlakeSeenText, CooltrainermBlakeBeatenText, $0000, CooltrainermBlakeScript
 
 CooltrainermBlakeScript:
    talkaftercancel
@@ -175,7 +175,7 @@ CooltrainermBlakeScript:
    end
 
 TrainerCooltrainermBrian:
    trainer EVENT_BEAT_COOLTRAINERM_BRIAN, COOLTRAINERM, BRIAN, CooltrainermBrianSeenText, CooltrainermBrianBeatenText, $0000, CooltrainermBrianScript
 
 CooltrainermBrianScript:
    talkaftercancel
@@ -186,7 +186,7 @@ CooltrainermBrianScript:
    end
 
 TrainerCooltrainerfReena:
    trainer EVENT_BEAT_COOLTRAINERF_REENA, COOLTRAINERF, REENA1, CooltrainerfReena1SeenText, CooltrainerfReena1BeatenText, $0000, CooltrainerfReena1Script
 
 CooltrainerfReena1Script:
    writecode VAR_CALLERID, PHONE_COOLTRAINERF_REENA
@@ -216,7 +216,7 @@ UnknownScript_0x1a09d5:
 
 UnknownScript_0x1a09e9:
    scall UnknownScript_0x1a0a47
    winlosstext CooltrainerfReena1BeatenText, $0000
    copybytetovar wReenaFightCount
    if_equal 2, .Fight2
    if_equal 1, .Fight1
@@ -279,7 +279,7 @@ UnknownScript_0x1a0a47:
    end
 
 TrainerCooltrainerfMegan:
    trainer EVENT_BEAT_COOLTRAINERF_MEGAN, COOLTRAINERF, MEGAN, CooltrainerfMeganSeenText, CooltrainerfMeganBeatenText, $0000, CooltrainerfMeganScript
 
 CooltrainerfMeganScript:
    talkaftercancel
@@ -479,12 +479,12 @@ Route27_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_COOLTRAINER_M, 7, 48, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermBlake, -1
-   person_event SPRITE_COOLTRAINER_M, 6, 58, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainermBrian, -1
-   person_event SPRITE_COOLTRAINER_F, 10, 72, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainerfReena, -1
-   person_event SPRITE_COOLTRAINER_F, 6, 37, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainerfMegan, -1
-   person_event SPRITE_YOUNGSTER, 7, 65, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicGilbert, -1
-   person_event SPRITE_YOUNGSTER, 13, 58, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperJose2, -1
-   person_event SPRITE_POKE_BALL, 12, 60, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a0a62, EVENT_ROUTE_27_TM_SOLARBEAM
-   person_event SPRITE_POKE_BALL, 12, 53, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a0a64, EVENT_ROUTE_27_RARE_CANDY
-   person_event SPRITE_FISHER, 10, 21, $3, 0, 0, -1, -1, 0, 0, 3, FisherScript_0x1a089c, -1
+   person_event SPRITE_COOLTRAINER_M, 7, 48, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermBlake, -1
+   person_event SPRITE_COOLTRAINER_M, 6, 58, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainermBrian, -1
+   person_event SPRITE_COOLTRAINER_F, 10, 72, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerCooltrainerfReena, -1
+   person_event SPRITE_COOLTRAINER_F, 6, 37, SPRITEMOVEFN_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainerfMegan, -1
+   person_event SPRITE_YOUNGSTER, 7, 65, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicGilbert, -1
+   person_event SPRITE_YOUNGSTER, 13, 58, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperJose2, -1
+   person_event SPRITE_POKE_BALL, 12, 60, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a0a62, EVENT_ROUTE_27_TM_SOLARBEAM
+   person_event SPRITE_POKE_BALL, 12, 53, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a0a64, EVENT_ROUTE_27_RARE_CANDY
+   person_event SPRITE_FISHER, 10, 21, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 3, FisherScript_0x1a089c, -1
diff --git a/maps/Route27SandstormHouse.asm b/maps/Route27SandstormHouse.asm
index 9737ae9..4a837aa 100644
--- a/maps/Route27SandstormHouse.asm
+++ b/maps/Route27SandstormHouse.asm
@@ -109,4 +109,4 @@ Route27SandstormHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_GRANNY, 4, 2, $6, 0, 0, -1, -1, 0, 0, 0, SandstormHouseWoman, -1
+   person_event SPRITE_GRANNY, 4, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, SandstormHouseWoman, -1
diff --git a/maps/Route28FamousSpeechHouse.asm b/maps/Route28FamousSpeechHouse.asm
index a0f474b..ae7c41b 100644
--- a/maps/Route28FamousSpeechHouse.asm
+++ b/maps/Route28FamousSpeechHouse.asm
@@ -3,7 +3,7 @@ Route28FamousSpeechHouse_MapScriptHeader:
    db 1
 
    ; triggers
    dw .Trigger, $0000
 
 .MapCallbacks:
    db 0
@@ -87,5 +87,5 @@ Route28FamousSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_COOLTRAINER_F, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, Celebrity, -1
-   person_event SPRITE_MOLTRES, 5, 6, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CelebritysFearow, -1
+   person_event SPRITE_COOLTRAINER_F, 3, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, Celebrity, -1
+   person_event SPRITE_MOLTRES, 5, 6, SPRITEMOVEFN_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 0fa4f76..f8456b5 100644
--- a/maps/Route29.asm
+++ b/maps/Route29.asm
@@ -3,8 +3,8 @@ Route29_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x1a0f59, $0000
    dw UnknownScript_0x1a0f5a, $0000
 
 .MapCallbacks:
    db 1
@@ -430,11 +430,11 @@ Route29_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_COOLTRAINER_M, 12, 50, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x1a0ff1, -1
-   person_event SPRITE_YOUNGSTER, 16, 27, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a1028, -1
-   person_event SPRITE_TEACHER, 11, 15, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a102b, -1
-   person_event SPRITE_FRUIT_TREE, 2, 12, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a1089, -1
-   person_event SPRITE_FISHER, 3, 25, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x1a102e, -1
-   person_event SPRITE_COOLTRAINER_M, 4, 13, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x1a1031, -1
-   person_event SPRITE_TEACHER, 12, 29, $3, 0, 0, -1, -1, 0, 0, 0, TuscanyScript, EVENT_ROUTE_29_TUSCANY_OF_TUESDAY
-   person_event SPRITE_POKE_BALL, 2, 48, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a108b, EVENT_ROUTE_29_POTION
+   person_event SPRITE_COOLTRAINER_M, 12, 50, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x1a0ff1, -1
+   person_event SPRITE_YOUNGSTER, 16, 27, SPRITEMOVEFN_04, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a1028, -1
+   person_event SPRITE_TEACHER, 11, 15, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x1a102b, -1
+   person_event SPRITE_FRUIT_TREE, 2, 12, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a1089, -1
+   person_event SPRITE_FISHER, 3, 25, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x1a102e, -1
+   person_event SPRITE_COOLTRAINER_M, 4, 13, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x1a1031, -1
+   person_event SPRITE_TEACHER, 12, 29, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, TuscanyScript, EVENT_ROUTE_29_TUSCANY_OF_TUESDAY
+   person_event SPRITE_POKE_BALL, 2, 48, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a108b, EVENT_ROUTE_29_POTION
diff --git a/maps/Route2946Gate.asm b/maps/Route2946Gate.asm
index 513e8f2..c138a0b 100644
--- a/maps/Route2946Gate.asm
+++ b/maps/Route2946Gate.asm
@@ -51,5 +51,5 @@ Route2946Gate_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x7b5bb, -1
-   person_event SPRITE_YOUNGSTER, 4, 6, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x7b5be, -1
+   person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x7b5bb, -1
+   person_event SPRITE_YOUNGSTER, 4, 6, SPRITEMOVEFN_04, 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 a49673d..8aa24ef 100644
--- a/maps/Route2Gate.asm
+++ b/maps/Route2Gate.asm
@@ -41,4 +41,4 @@ Route2Gate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_SCIENTIST, 4, 6, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x9b952, -1
+   person_event SPRITE_SCIENTIST, 4, 6, SPRITEMOVEFN_04, 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 8910846..0c71d08 100644
--- a/maps/Route2NuggetSpeechHouse.asm
+++ b/maps/Route2NuggetSpeechHouse.asm
@@ -66,4 +66,4 @@ Route2NuggetSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHER, 4, 2, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FisherScript_0x9b847, -1
+   person_event SPRITE_FISHER, 4, 2, SPRITEMOVEFN_04, 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 8743543..3feda23 100644
--- a/maps/Route3.asm
+++ b/maps/Route3.asm
@@ -6,7 +6,7 @@ Route3_MapScriptHeader:
    db 0
 
 TrainerFirebreatherOtis:
    trainer EVENT_BEAT_FIREBREATHER_OTIS, FIREBREATHER, OTIS, FirebreatherOtisSeenText, FirebreatherOtisBeatenText, $0000, FirebreatherOtisScript
 
 FirebreatherOtisScript:
    talkaftercancel
@@ -17,7 +17,7 @@ FirebreatherOtisScript:
    end
 
 TrainerYoungsterWarren:
    trainer EVENT_BEAT_YOUNGSTER_WARREN, YOUNGSTER, WARREN, YoungsterWarrenSeenText, YoungsterWarrenBeatenText, $0000, YoungsterWarrenScript
 
 YoungsterWarrenScript:
    talkaftercancel
@@ -28,7 +28,7 @@ YoungsterWarrenScript:
    end
 
 TrainerYoungsterJimmy:
    trainer EVENT_BEAT_YOUNGSTER_JIMMY, YOUNGSTER, JIMMY, YoungsterJimmySeenText, YoungsterJimmyBeatenText, $0000, YoungsterJimmyScript
 
 YoungsterJimmyScript:
    talkaftercancel
@@ -39,7 +39,7 @@ YoungsterJimmyScript:
    end
 
 TrainerFirebreatherBurt:
    trainer EVENT_BEAT_FIREBREATHER_BURT, FIREBREATHER, BURT, FirebreatherBurtSeenText, FirebreatherBurtBeatenText, $0000, FirebreatherBurtScript
 
 FirebreatherBurtScript:
    talkaftercancel
@@ -143,7 +143,7 @@ Route3_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_FISHER, 12, 26, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerFirebreatherOtis, -1
-   person_event SPRITE_YOUNGSTER, 7, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterWarren, -1
-   person_event SPRITE_YOUNGSTER, 3, 16, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerYoungsterJimmy, -1
-   person_event SPRITE_FISHER, 5, 49, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerFirebreatherBurt, -1
+   person_event SPRITE_FISHER, 12, 26, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerFirebreatherOtis, -1
+   person_event SPRITE_YOUNGSTER, 7, 10, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterWarren, -1
+   person_event SPRITE_YOUNGSTER, 3, 16, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerYoungsterJimmy, -1
+   person_event SPRITE_FISHER, 5, 49, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerFirebreatherBurt, -1
diff --git a/maps/Route30.asm b/maps/Route30.asm
index 07667a7..13836a5 100644
--- a/maps/Route30.asm
+++ b/maps/Route30.asm
@@ -26,7 +26,7 @@ YoungsterScript_0x1a1673:
    end
 
 TrainerYoungsterJoey:
    trainer EVENT_BEAT_YOUNGSTER_JOEY, YOUNGSTER, JOEY1, YoungsterJoey1SeenText, YoungsterJoey1BeatenText, $0000, YoungsterJoey1Script
 
 YoungsterJoey1Script:
    writecode VAR_CALLERID, PHONE_YOUNGSTER_JOEY
@@ -56,7 +56,7 @@ UnknownScript_0x1a16cc:
 
 UnknownScript_0x1a16e0:
    scall UnknownScript_0x1a179b
    winlosstext YoungsterJoey1BeatenText, $0000
    copybytetovar wJoeyFightCount
    if_equal 4, .Fight4
    if_equal 3, .Fight3
@@ -173,7 +173,7 @@ UnknownScript_0x1a17a6:
    end
 
 TrainerYoungsterMikey:
    trainer EVENT_BEAT_YOUNGSTER_MIKEY, YOUNGSTER, MIKEY, YoungsterMikeySeenText, YoungsterMikeyBeatenText, $0000, YoungsterMikeyScript
 
 YoungsterMikeyScript:
    talkaftercancel
@@ -184,7 +184,7 @@ YoungsterMikeyScript:
    end
 
 TrainerBug_catcherDon:
    trainer EVENT_BEAT_BUG_CATCHER_DON, BUG_CATCHER, DON, Bug_catcherDonSeenText, Bug_catcherDonBeatenText, $0000, Bug_catcherDonScript
 
 Bug_catcherDonScript:
    talkaftercancel
@@ -416,14 +416,14 @@ Route30_MapEventHeader:
 
 .PersonEvents:
    db 11
-   person_event SPRITE_YOUNGSTER, 26, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x1a1673, EVENT_ROUTE_30_BATTLE
-   person_event SPRITE_YOUNGSTER, 28, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterJoey, EVENT_ROUTE_30_YOUNGSTER_JOEY
-   person_event SPRITE_YOUNGSTER, 23, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerYoungsterMikey, -1
-   person_event SPRITE_BUG_CATCHER, 7, 1, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherDon, -1
-   person_event SPRITE_YOUNGSTER, 30, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x1a17d2, -1
-   person_event SPRITE_MONSTER, 24, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_ROUTE_30_BATTLE
-   person_event SPRITE_MONSTER, 25, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_ROUTE_30_BATTLE
-   person_event SPRITE_FRUIT_TREE, 39, 5, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a17f7, -1
-   person_event SPRITE_FRUIT_TREE, 5, 11, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a17f9, -1
-   person_event SPRITE_COOLTRAINER_F, 13, 2, $6, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x1a17e6, -1
-   person_event SPRITE_POKE_BALL, 35, 8, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a17f5, EVENT_ROUTE_30_ANTIDOTE
+   person_event SPRITE_YOUNGSTER, 26, 5, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x1a1673, EVENT_ROUTE_30_BATTLE
+   person_event SPRITE_YOUNGSTER, 28, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterJoey, EVENT_ROUTE_30_YOUNGSTER_JOEY
+   person_event SPRITE_YOUNGSTER, 23, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerYoungsterMikey, -1
+   person_event SPRITE_BUG_CATCHER, 7, 1, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherDon, -1
+   person_event SPRITE_YOUNGSTER, 30, 7, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x1a17d2, -1
+   person_event SPRITE_MONSTER, 24, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_ROUTE_30_BATTLE
+   person_event SPRITE_MONSTER, 25, 5, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_ROUTE_30_BATTLE
+   person_event SPRITE_FRUIT_TREE, 39, 5, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a17f7, -1
+   person_event SPRITE_FRUIT_TREE, 5, 11, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a17f9, -1
+   person_event SPRITE_COOLTRAINER_F, 13, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, CooltrainerFScript_0x1a17e6, -1
+   person_event SPRITE_POKE_BALL, 35, 8, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a17f5, EVENT_ROUTE_30_ANTIDOTE
diff --git a/maps/Route30BerrySpeechHouse.asm b/maps/Route30BerrySpeechHouse.asm
index 3590efc..56a3604 100644
--- a/maps/Route30BerrySpeechHouse.asm
+++ b/maps/Route30BerrySpeechHouse.asm
@@ -62,4 +62,4 @@ Route30BerrySpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKEFAN_M, 3, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x196d64, -1
+   person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEFN_06, 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 8328591..9bf820e 100644
--- a/maps/Route31.asm
+++ b/maps/Route31.asm
@@ -19,7 +19,7 @@ UnknownScript_0x1a5443:
    return
 
 TrainerBug_catcherWade1:
    trainer EVENT_BEAT_BUG_CATCHER_WADE, BUG_CATCHER, WADE1, Bug_catcherWade1SeenText, Bug_catcherWade1BeatenText, $0000, Bug_catcherWade1Script
 
 Bug_catcherWade1Script:
    writecode VAR_CALLERID, PHONE_BUG_CATCHER_WADE
@@ -51,7 +51,7 @@ UnknownScript_0x1a547f:
 
 UnknownScript_0x1a5493:
    scall UnknownScript_0x1a5564
    winlosstext Bug_catcherWade1BeatenText, $0000
    copybytetovar wWadeFightCount
    if_equal 4, .Fight4
    if_equal 3, .Fight3
@@ -430,10 +430,10 @@ Route31_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_FISHER, 7, 17, $6, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1a5570, -1
-   person_event SPRITE_YOUNGSTER, 5, 9, $2, 1, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1a55ed, -1
-   person_event SPRITE_BUG_CATCHER, 13, 21, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 5, TrainerBug_catcherWade1, -1
-   person_event SPRITE_COOLTRAINER_M, 8, 33, $2, 1, 1, -1, -1, 0, 0, 0, CooltrainerMScript_0x1a55f6, -1
-   person_event SPRITE_FRUIT_TREE, 7, 16, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a55f9, -1
-   person_event SPRITE_POKE_BALL, 5, 29, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a55fb, EVENT_ROUTE_31_POTION
-   person_event SPRITE_POKE_BALL, 15, 19, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a55fd, EVENT_ROUTE_31_POKE_BALL
+   person_event SPRITE_FISHER, 7, 17, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1a5570, -1
+   person_event SPRITE_YOUNGSTER, 5, 9, SPRITEMOVEFN_02, 1, 1, -1, -1, 0, 0, 0, YoungsterScript_0x1a55ed, -1
+   person_event SPRITE_BUG_CATCHER, 13, 21, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 5, TrainerBug_catcherWade1, -1
+   person_event SPRITE_COOLTRAINER_M, 8, 33, SPRITEMOVEFN_02, 1, 1, -1, -1, 0, 0, 0, CooltrainerMScript_0x1a55f6, -1
+   person_event SPRITE_FRUIT_TREE, 7, 16, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a55f9, -1
+   person_event SPRITE_POKE_BALL, 5, 29, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a55fb, EVENT_ROUTE_31_POTION
+   person_event SPRITE_POKE_BALL, 15, 19, SPRITEMOVEFN_01, 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 83fd9ed..cf4ccf9 100644
--- a/maps/Route31VioletGate.asm
+++ b/maps/Route31VioletGate.asm
@@ -42,5 +42,5 @@ Route31VioletGate_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x197634, -1
-   person_event SPRITE_COOLTRAINER_F, 2, 1, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerFScript_0x197637, -1
+   person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x197634, -1
+   person_event SPRITE_COOLTRAINER_F, 2, 1, SPRITEMOVEFN_03, 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 9b4bfe5..f988c16 100644
--- a/maps/Route32.asm
+++ b/maps/Route32.asm
@@ -3,9 +3,9 @@ Route32_MapScriptHeader:
    db 3
 
    ; triggers
    dw UnknownScript_0x190460, $0000
    dw UnknownScript_0x190461, $0000
    dw UnknownScript_0x190462, $0000
 
 .MapCallbacks:
    db 1
@@ -133,7 +133,7 @@ UnknownScript_0x190503:
    end
 
 TrainerCamperRoland:
    trainer EVENT_BEAT_CAMPER_ROLAND, CAMPER, ROLAND, CamperRolandSeenText, CamperRolandBeatenText, $0000, CamperRolandScript
 
 CamperRolandScript:
    talkaftercancel
@@ -144,7 +144,7 @@ CamperRolandScript:
    end
 
 TrainerFisherJustin:
    trainer EVENT_BEAT_FISHER_JUSTIN, FISHER, JUSTIN, FisherJustinSeenText, FisherJustinBeatenText, $0000, FisherJustinScript
 
 FisherJustinScript:
    talkaftercancel
@@ -155,7 +155,7 @@ FisherJustinScript:
    end
 
 TrainerFisherRalph1:
    trainer EVENT_BEAT_FISHER_RALPH, FISHER, RALPH1, FisherRalph1SeenText, FisherRalph1BeatenText, $0000, FisherRalph1Script
 
 FisherRalph1Script:
    writecode VAR_CALLERID, PHONE_FISHER_RALPH
@@ -187,7 +187,7 @@ UnknownScript_0x190569:
 
 UnknownScript_0x19057d:
    scall UnknownScript_0x19060f
    winlosstext FisherRalph1BeatenText, $0000
    copybytetovar wRalphFightCount
    if_equal 4, .Fight4
    if_equal 3, .Fight3
@@ -280,7 +280,7 @@ UnknownScript_0x19060f:
    end
 
 TrainerFisherHenry:
    trainer EVENT_BEAT_FISHER_HENRY, FISHER, HENRY, FisherHenrySeenText, FisherHenryBeatenText, $0000, FisherHenryScript
 
 FisherHenryScript:
    talkaftercancel
@@ -291,7 +291,7 @@ FisherHenryScript:
    end
 
 TrainerPicnickerLiz1:
    trainer EVENT_BEAT_PICNICKER_LIZ, PICNICKER, LIZ1, PicnickerLiz1SeenText, PicnickerLiz1BeatenText, $0000, PicnickerLiz1Script
 
 PicnickerLiz1Script:
    writecode VAR_CALLERID, PHONE_PICNICKER_LIZ
@@ -321,7 +321,7 @@ UnknownScript_0x190659:
 
 UnknownScript_0x19066d:
    scall UnknownScript_0x1906f9
    winlosstext PicnickerLiz1BeatenText, $0000
    copybytetovar wLizFightCount
    if_equal 4, .Fight4
    if_equal 3, .Fight3
@@ -408,7 +408,7 @@ UnknownScript_0x1906f9:
    end
 
 TrainerYoungsterAlbert:
    trainer EVENT_BEAT_YOUNGSTER_ALBERT, YOUNGSTER, ALBERT, YoungsterAlbertSeenText, YoungsterAlbertBeatenText, $0000, YoungsterAlbertScript
 
 YoungsterAlbertScript:
    talkaftercancel
@@ -419,7 +419,7 @@ YoungsterAlbertScript:
    end
 
 TrainerYoungsterGordon:
    trainer EVENT_BEAT_YOUNGSTER_GORDON, YOUNGSTER, GORDON, YoungsterGordonSeenText, YoungsterGordonBeatenText, $0000, YoungsterGordonScript
 
 YoungsterGordonScript:
    talkaftercancel
@@ -430,7 +430,7 @@ YoungsterGordonScript:
    end
 
 TrainerBird_keeperPeter:
    trainer EVENT_BEAT_BIRD_KEEPER_PETER, BIRD_KEEPER, PETER, Bird_keeperPeterSeenText, Bird_keeperPeterBeatenText, $0000, Bird_keeperPeterScript
 
 Bird_keeperPeterScript:
    talkaftercancel
@@ -946,17 +946,17 @@ Route32_MapEventHeader:
 
 .PersonEvents:
    db 14
-   person_event SPRITE_FISHER, 49, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherJustin, -1
-   person_event SPRITE_FISHER, 56, 12, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherRalph1, -1
-   person_event SPRITE_FISHER, 48, 6, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherHenry, -1
-   person_event SPRITE_YOUNGSTER, 22, 12, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterAlbert, -1
-   person_event SPRITE_YOUNGSTER, 63, 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterGordon, -1
-   person_event SPRITE_YOUNGSTER, 45, 3, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperRoland, -1
-   person_event SPRITE_LASS, 30, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerLiz1, -1
-   person_event SPRITE_COOLTRAINER_M, 8, 19, $8, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x19046f, -1
-   person_event SPRITE_YOUNGSTER, 82, 11, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperPeter, -1
-   person_event SPRITE_FISHER, 70, 7, $6, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1904f2, EVENT_SLOWPOKE_WELL_ROCKETS
-   person_event SPRITE_POKE_BALL, 53, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x190773, EVENT_ROUTE_32_GREAT_BALL
-   person_event SPRITE_FISHER, 13, 15, $9, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1904ce, -1
-   person_event SPRITE_LASS, 67, 12, $8, 0, 0, -1, -1, 0, 0, 0, FriedaScript, EVENT_ROUTE_32_FRIEDA_OF_FRIDAY
-   person_event SPRITE_POKE_BALL, 30, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x190775, EVENT_ROUTE_32_REPEL
+   person_event SPRITE_FISHER, 49, 8, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherJustin, -1
+   person_event SPRITE_FISHER, 56, 12, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerFisherRalph1, -1
+   person_event SPRITE_FISHER, 48, 6, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherHenry, -1
+   person_event SPRITE_YOUNGSTER, 22, 12, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterAlbert, -1
+   person_event SPRITE_YOUNGSTER, 63, 4, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterGordon, -1
+   person_event SPRITE_YOUNGSTER, 45, 3, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperRoland, -1
+   person_event SPRITE_LASS, 30, 10, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerLiz1, -1
+   person_event SPRITE_COOLTRAINER_M, 8, 19, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x19046f, -1
+   person_event SPRITE_YOUNGSTER, 82, 11, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperPeter, -1
+   person_event SPRITE_FISHER, 70, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1904f2, EVENT_SLOWPOKE_WELL_ROCKETS
+   person_event SPRITE_POKE_BALL, 53, 6, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x190773, EVENT_ROUTE_32_GREAT_BALL
+   person_event SPRITE_FISHER, 13, 15, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1904ce, -1
+   person_event SPRITE_LASS, 67, 12, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, FriedaScript, EVENT_ROUTE_32_FRIEDA_OF_FRIDAY
+   person_event SPRITE_POKE_BALL, 30, 3, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x190775, EVENT_ROUTE_32_REPEL
diff --git a/maps/Route32PokeCenter1F.asm b/maps/Route32PokeCenter1F.asm
index 2ef9c76..bdf99ed 100644
--- a/maps/Route32PokeCenter1F.asm
+++ b/maps/Route32PokeCenter1F.asm
@@ -107,6 +107,6 @@ Route32PokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x69b52, -1
-   person_event SPRITE_FISHING_GURU, 4, 1, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x69b55, -1
-   person_event SPRITE_COOLTRAINER_F, 2, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x69b80, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x69b52, -1
+   person_event SPRITE_FISHING_GURU, 4, 1, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingGuruScript_0x69b55, -1
+   person_event SPRITE_COOLTRAINER_F, 2, 6, SPRITEMOVEFN_06, 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 2c48582..c291148 100644
--- a/maps/Route32RuinsofAlphGate.asm
+++ b/maps/Route32RuinsofAlphGate.asm
@@ -60,6 +60,6 @@ Route32RuinsofAlphGate_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x69a2d, -1
-   person_event SPRITE_POKEFAN_M, 2, 8, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x69a30, -1
-   person_event SPRITE_YOUNGSTER, 6, 1, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x69a33, -1
+   person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x69a2d, -1
+   person_event SPRITE_POKEFAN_M, 2, 8, SPRITEMOVEFN_04, 1, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x69a30, -1
+   person_event SPRITE_YOUNGSTER, 6, 1, SPRITEMOVEFN_07, 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 e24e1a3..fc44601 100644
--- a/maps/Route33.asm
+++ b/maps/Route33.asm
@@ -9,7 +9,7 @@ LassScript_0x1ac002:
    jumptextfaceplayer UnknownText_0x1ac1e7
 
 TrainerHikerAnthony:
    trainer EVENT_BEAT_HIKER_ANTHONY, HIKER, ANTHONY2, HikerAnthony2SeenText, HikerAnthony2BeatenText, $0000, HikerAnthony2Script
 
 HikerAnthony2Script:
    writecode VAR_CALLERID, PHONE_HIKER_ANTHONY
@@ -41,7 +41,7 @@ UnknownScript_0x1ac03d:
 
 UnknownScript_0x1ac051:
    scall UnknownScript_0x1ac0e3
    winlosstext HikerAnthony2BeatenText, $0000
    copybytetovar wAnthonyFightCount
    if_equal 4, .Fight4
    if_equal 3, .Fight3
@@ -206,6 +206,6 @@ Route33_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKEFAN_M, 13, 6, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerAnthony, -1
-   person_event SPRITE_LASS, 16, 13, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x1ac002, -1
-   person_event SPRITE_FRUIT_TREE, 16, 14, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1ac0ea, -1
+   person_event SPRITE_POKEFAN_M, 13, 6, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerAnthony, -1
+   person_event SPRITE_LASS, 16, 13, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x1ac002, -1
+   person_event SPRITE_FRUIT_TREE, 16, 14, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1ac0ea, -1
diff --git a/maps/Route34.asm b/maps/Route34.asm
index 7a9bae1..1709734 100644
--- a/maps/Route34.asm
+++ b/maps/Route34.asm
@@ -76,7 +76,7 @@ DaycareMon2Script_0x7806b:
    end
 
 TrainerCamperTodd1:
    trainer EVENT_BEAT_CAMPER_TODD, CAMPER, TODD1, CamperTodd1SeenText, CamperTodd1BeatenText, $0000, CamperTodd1Script
 
 CamperTodd1Script:
    writecode VAR_CALLERID, PHONE_CAMPER_TODD
@@ -108,7 +108,7 @@ UnknownScript_0x780a9:
 
 UnknownScript_0x780bd:
    scall UnknownScript_0x7814f
    winlosstext CamperTodd1BeatenText, $0000
    copybytetovar wToddFightCount
    if_equal 4, .Fight4
    if_equal 3, .Fight3
@@ -201,7 +201,7 @@ UnknownScript_0x7814f:
    end
 
 TrainerPicnickerGina1:
    trainer EVENT_BEAT_PICNICKER_GINA, PICNICKER, GINA1, PicnickerGina1SeenText, PicnickerGina1BeatenText, $0000, PicnickerGina1Script
 
 PicnickerGina1Script:
    writecode VAR_CALLERID, PHONE_PICNICKER_GINA
@@ -233,7 +233,7 @@ UnknownScript_0x7818b:
 
 UnknownScript_0x7819f:
    scall UnknownScript_0x78240
    winlosstext PicnickerGina1BeatenText, $0000
    copybytetovar wGinaFightCount
    if_equal 4, .Fight4
    if_equal 3, .Fight3
@@ -349,7 +349,7 @@ OfficerScript_0x7824c:
    writetext UnknownText_0x785e4
    closetext
    loadmovesprites
    winlosstext UnknownText_0x78609, $0000
    loadtrainer OFFICER, KEITH
    startbattle
    returnafterbattle
@@ -370,7 +370,7 @@ UnknownScript_0x78276:
    end
 
 TrainerYoungsterSamuel:
    trainer EVENT_BEAT_YOUNGSTER_SAMUEL, YOUNGSTER, SAMUEL, YoungsterSamuelSeenText, YoungsterSamuelBeatenText, $0000, YoungsterSamuelScript
 
 YoungsterSamuelScript:
    talkaftercancel
@@ -381,7 +381,7 @@ YoungsterSamuelScript:
    end
 
 TrainerYoungsterIan:
    trainer EVENT_BEAT_YOUNGSTER_IAN, YOUNGSTER, IAN, YoungsterIanSeenText, YoungsterIanBeatenText, $0000, YoungsterIanScript
 
 YoungsterIanScript:
    talkaftercancel
@@ -392,7 +392,7 @@ YoungsterIanScript:
    end
 
 TrainerPokefanmBrandon:
    trainer EVENT_BEAT_POKEFANM_BRANDON, POKEFANM, BRANDON, PokefanmBrandonSeenText, PokefanmBrandonBeatenText, $0000, PokefanmBrandonScript
 
 PokefanmBrandonScript:
    talkaftercancel
@@ -403,7 +403,7 @@ PokefanmBrandonScript:
    end
 
 TrainerCooltrainerfIrene:
    trainer EVENT_BEAT_COOLTRAINERF_IRENE, COOLTRAINERF, IRENE, CooltrainerfIreneSeenText, CooltrainerfIreneBeatenText, $0000, CooltrainerfIreneScript
 
 CooltrainerfIreneScript:
    talkaftercancel
@@ -422,7 +422,7 @@ UnknownScript_0x782d2:
    end
 
 TrainerCooltrainerfJenn:
    trainer EVENT_BEAT_COOLTRAINERF_JENN, COOLTRAINERF, JENN, CooltrainerfJennSeenText, CooltrainerfJennBeatenText, $0000, CooltrainerfJennScript
 
 CooltrainerfJennScript:
    talkaftercancel
@@ -441,7 +441,7 @@ UnknownScript_0x782f2:
    end
 
 TrainerCooltrainerfKate:
    trainer EVENT_BEAT_COOLTRAINERF_KATE, COOLTRAINERF, KATE, CooltrainerfKateSeenText, CooltrainerfKateBeatenText, $0000, CooltrainerfKateScript
 
 CooltrainerfKateScript:
    talkaftercancel
@@ -775,16 +775,16 @@ Route34_MapEventHeader:
 
 .PersonEvents:
    db 13
-   person_event SPRITE_YOUNGSTER, 7, 13, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerCamperTodd1, -1
-   person_event SPRITE_YOUNGSTER, 32, 15, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterSamuel, -1
-   person_event SPRITE_YOUNGSTER, 20, 11, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterIan, -1
-   person_event SPRITE_LASS, 26, 10, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPicnickerGina1, -1
-   person_event SPRITE_OFFICER, 11, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x7824c, -1
-   person_event SPRITE_POKEFAN_M, 28, 18, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmBrandon, -1
-   person_event SPRITE_GRAMPS, 16, 15, $6, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x7803d, EVENT_DAYCARE_MAN_ON_ROUTE_34
-   person_event SPRITE_DAYCARE_MON_1, 18, 14, $16, 2, 2, -1, -1, 0, 0, 0, DaycareMon1Script_0x78065, EVENT_DAYCARE_MON_1
-   person_event SPRITE_DAYCARE_MON_2, 19, 17, $16, 2, 2, -1, -1, 0, 0, 0, DaycareMon2Script_0x7806b, EVENT_DAYCARE_MON_2
-   person_event SPRITE_COOLTRAINER_F, 48, 11, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerCooltrainerfIrene, -1
-   person_event SPRITE_COOLTRAINER_F, 48, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfJenn, -1
-   person_event SPRITE_COOLTRAINER_F, 51, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainerfKate, -1
-   person_event SPRITE_POKE_BALL, 30, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7832b, EVENT_ROUTE_34_NUGGET
+   person_event SPRITE_YOUNGSTER, 7, 13, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerCamperTodd1, -1
+   person_event SPRITE_YOUNGSTER, 32, 15, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterSamuel, -1
+   person_event SPRITE_YOUNGSTER, 20, 11, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerYoungsterIan, -1
+   person_event SPRITE_LASS, 26, 10, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPicnickerGina1, -1
+   person_event SPRITE_OFFICER, 11, 9, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x7824c, -1
+   person_event SPRITE_POKEFAN_M, 28, 18, SPRITEMOVEFN_1E, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerPokefanmBrandon, -1
+   person_event SPRITE_GRAMPS, 16, 15, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x7803d, EVENT_DAYCARE_MAN_ON_ROUTE_34
+   person_event SPRITE_DAYCARE_MON_1, 18, 14, SPRITEMOVEFN_16, 2, 2, -1, -1, 0, 0, 0, DaycareMon1Script_0x78065, EVENT_DAYCARE_MON_1
+   person_event SPRITE_DAYCARE_MON_2, 19, 17, SPRITEMOVEFN_16, 2, 2, -1, -1, 0, 0, 0, DaycareMon2Script_0x7806b, EVENT_DAYCARE_MON_2
+   person_event SPRITE_COOLTRAINER_F, 48, 11, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerCooltrainerfIrene, -1
+   person_event SPRITE_COOLTRAINER_F, 48, 3, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfJenn, -1
+   person_event SPRITE_COOLTRAINER_F, 51, 6, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerCooltrainerfKate, -1
+   person_event SPRITE_POKE_BALL, 30, 7, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7832b, EVENT_ROUTE_34_NUGGET
diff --git a/maps/Route34IlexForestGate.asm b/maps/Route34IlexForestGate.asm
index 6f6cdd7..26d883b 100644
--- a/maps/Route34IlexForestGate.asm
+++ b/maps/Route34IlexForestGate.asm
@@ -152,7 +152,7 @@ Route34IlexForestGate_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_TEACHER, 3, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x62d63, EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_BEHIND_COUNTER
-   person_event SPRITE_BUTTERFREE, 4, 9, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ButterfreeScript_0x62d8a, -1
-   person_event SPRITE_LASS, 4, 3, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x62d94, EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS
-   person_event SPRITE_TEACHER, 7, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x62d63, EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_IN_WALKWAY
+   person_event SPRITE_TEACHER, 3, 9, SPRITEMOVEFN_08, 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, SPRITEMOVEFN_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ButterfreeScript_0x62d8a, -1
+   person_event SPRITE_LASS, 4, 3, SPRITEMOVEFN_04, 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, SPRITEMOVEFN_07, 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 6d2c677..e4d0f22 100644
--- a/maps/Route35.asm
+++ b/maps/Route35.asm
@@ -6,7 +6,7 @@ Route35_MapScriptHeader:
    db 0
 
 TrainerBird_keeperBryan:
    trainer EVENT_BEAT_BIRD_KEEPER_BRYAN, BIRD_KEEPER, BRYAN, Bird_keeperBryanSeenText, Bird_keeperBryanBeatenText, $0000, Bird_keeperBryanScript
 
 Bird_keeperBryanScript:
    talkaftercancel
@@ -17,7 +17,7 @@ Bird_keeperBryanScript:
    end
 
 TrainerJugglerIrwin:
    trainer EVENT_BEAT_JUGGLER_IRWIN, JUGGLER, IRWIN1, JugglerIrwin1SeenText, JugglerIrwin1BeatenText, $0000, JugglerIrwin1Script
 
 JugglerIrwin1Script:
    writecode VAR_CALLERID, PHONE_JUGGLER_IRWIN
@@ -72,7 +72,7 @@ UnknownScript_0x19c91b:
    end
 
 TrainerCamperIvan:
    trainer EVENT_BEAT_CAMPER_IVAN, CAMPER, IVAN, CamperIvanSeenText, CamperIvanBeatenText, $0000, CamperIvanScript
 
 CamperIvanScript:
    talkaftercancel
@@ -83,7 +83,7 @@ CamperIvanScript:
    end
 
 TrainerCamperElliot:
    trainer EVENT_BEAT_CAMPER_ELLIOT, CAMPER, ELLIOT, CamperElliotSeenText, CamperElliotBeatenText, $0000, CamperElliotScript
 
 CamperElliotScript:
    talkaftercancel
@@ -94,7 +94,7 @@ CamperElliotScript:
    end
 
 TrainerPicnickerBrooke:
    trainer EVENT_BEAT_PICNICKER_BROOKE, PICNICKER, BROOKE, PicnickerBrookeSeenText, PicnickerBrookeBeatenText, $0000, PicnickerBrookeScript
 
 PicnickerBrookeScript:
    talkaftercancel
@@ -105,7 +105,7 @@ PicnickerBrookeScript:
    end
 
 TrainerPicnickerKim:
    trainer EVENT_BEAT_PICNICKER_KIM, PICNICKER, KIM, PicnickerKimSeenText, PicnickerKimBeatenText, $0000, PicnickerKimScript
 
 PicnickerKimScript:
    talkaftercancel
@@ -116,7 +116,7 @@ PicnickerKimScript:
    end
 
 TrainerBug_catcherArnie1:
    trainer EVENT_BEAT_BUG_CATCHER_ARNIE, BUG_CATCHER, ARNIE1, Bug_catcherArnie1SeenText, Bug_catcherArnie1BeatenText, $0000, Bug_catcherArnie1Script
 
 Bug_catcherArnie1Script:
    writecode VAR_CALLERID, PHONE_BUG_CATCHER_ARNIE
@@ -148,7 +148,7 @@ UnknownScript_0x19c9a7:
 
 UnknownScript_0x19c9bb:
    scall UnknownScript_0x19c91b
    winlosstext Bug_catcherArnie1BeatenText, $0000
    copybytetovar wArnieFightCount
    if_equal 4, .Fight4
    if_equal 3, .Fight3
@@ -213,7 +213,7 @@ UnknownScript_0x19ca2f:
    end
 
 TrainerFirebreatherWalt:
    trainer EVENT_BEAT_FIREBREATHER_WALT, FIREBREATHER, WALT, FirebreatherWaltSeenText, FirebreatherWaltBeatenText, $0000, FirebreatherWaltScript
 
 FirebreatherWaltScript:
    talkaftercancel
@@ -234,7 +234,7 @@ OfficerScript_0x19ca49:
    writetext UnknownText_0x19ceea
    closetext
    loadmovesprites
    winlosstext UnknownText_0x19cf06, $0000
    loadtrainer OFFICER, DIRK
    startbattle
    returnafterbattle
@@ -469,14 +469,14 @@ Route35_MapEventHeader:
 
 .PersonEvents:
    db 11
-   person_event SPRITE_YOUNGSTER, 19, 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerCamperIvan, -1
-   person_event SPRITE_YOUNGSTER, 20, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperElliot, -1
-   person_event SPRITE_LASS, 20, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPicnickerBrooke, -1
-   person_event SPRITE_LASS, 26, 10, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerKim, -1
-   person_event SPRITE_YOUNGSTER, 28, 14, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerBird_keeperBryan, -1
-   person_event SPRITE_FISHER, 10, 2, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerFirebreatherWalt, -1
-   person_event SPRITE_BUG_CATCHER, 7, 16, $6, 0, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherArnie1, -1
-   person_event SPRITE_SUPER_NERD, 10, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerJugglerIrwin, -1
-   person_event SPRITE_OFFICER, 6, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x19ca49, -1
-   person_event SPRITE_FRUIT_TREE, 25, 2, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19ca7e, -1
-   person_event SPRITE_POKE_BALL, 16, 13, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19ca7c, EVENT_ROUTE_35_TM_ROLLOUT
+   person_event SPRITE_YOUNGSTER, 19, 4, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerCamperIvan, -1
+   person_event SPRITE_YOUNGSTER, 20, 8, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperElliot, -1
+   person_event SPRITE_LASS, 20, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPicnickerBrooke, -1
+   person_event SPRITE_LASS, 26, 10, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerKim, -1
+   person_event SPRITE_YOUNGSTER, 28, 14, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerBird_keeperBryan, -1
+   person_event SPRITE_FISHER, 10, 2, SPRITEMOVEFN_1E, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 2, TrainerFirebreatherWalt, -1
+   person_event SPRITE_BUG_CATCHER, 7, 16, SPRITEMOVEFN_06, 0, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerBug_catcherArnie1, -1
+   person_event SPRITE_SUPER_NERD, 10, 5, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerJugglerIrwin, -1
+   person_event SPRITE_OFFICER, 6, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x19ca49, -1
+   person_event SPRITE_FRUIT_TREE, 25, 2, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19ca7e, -1
+   person_event SPRITE_POKE_BALL, 16, 13, SPRITEMOVEFN_01, 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 5a0c370..1209e7d 100644
--- a/maps/Route35Goldenrodgate.asm
+++ b/maps/Route35Goldenrodgate.asm
@@ -209,6 +209,6 @@ Route35Goldenrodgate_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x69d37, -1
-   person_event SPRITE_POKEFAN_F, 4, 6, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x69dc6, -1
-   person_event SPRITE_FISHER, 2, 3, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x69dda, -1
+   person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x69d37, -1
+   person_event SPRITE_POKEFAN_F, 4, 6, SPRITEMOVEFN_04, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanFScript_0x69dc6, -1
+   person_event SPRITE_FISHER, 2, 3, SPRITEMOVEFN_03, 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 b631517..41c11f8 100644
--- a/maps/Route35NationalParkgate.asm
+++ b/maps/Route35NationalParkgate.asm
@@ -3,9 +3,9 @@ Route35NationalParkgate_MapScriptHeader:
    db 3
 
    ; triggers
    dw Route35NationalParkgate_Trigger1, $0000
    dw Route35NationalParkgate_Trigger2, $0000
    dw Route35NationalParkgate_Trigger3, $0000
 
 .MapCallbacks:
    db 2
@@ -458,6 +458,6 @@ Route35NationalParkgate_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_OFFICER, 1, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x6a204, EVENT_ROUTE_35_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY
-   person_event SPRITE_YOUNGSTER, 5, 6, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6a2d8, EVENT_ROUTE_35_NATIONAL_PARK_GATE_YOUNGSTER
-   person_event SPRITE_OFFICER, 3, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x6a2ca, EVENT_ROUTE_35_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY
+   person_event SPRITE_OFFICER, 1, 2, SPRITEMOVEFN_06, 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, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6a2d8, EVENT_ROUTE_35_NATIONAL_PARK_GATE_YOUNGSTER
+   person_event SPRITE_OFFICER, 3, 0, SPRITEMOVEFN_09, 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 ee24cb6..67ebd82 100644
--- a/maps/Route36.asm
+++ b/maps/Route36.asm
@@ -3,8 +3,8 @@ Route36_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x19400d, $0000
    dw UnknownScript_0x19400e, $0000
 
 .MapCallbacks:
    db 1
@@ -162,7 +162,7 @@ UnknownScript_0x1940ee:
    end
 
 TrainerSchoolboyAlan1:
    trainer EVENT_BEAT_SCHOOLBOY_ALAN, SCHOOLBOY, ALAN1, SchoolboyAlan1SeenText, SchoolboyAlan1BeatenText, $0000, SchoolboyAlan1Script
 
 SchoolboyAlan1Script:
    writecode VAR_CALLERID, PHONE_SCHOOLBOY_ALAN
@@ -194,7 +194,7 @@ UnknownScript_0x19412c:
 
 UnknownScript_0x194140:
    scall UnknownScript_0x1941e1
    winlosstext SchoolboyAlan1BeatenText, $0000
    copybytetovar wAlanFightCount
    if_equal 4, .Fight4
    if_equal 3, .Fight3
@@ -300,7 +300,7 @@ UnknownScript_0x1941e9:
    end
 
 TrainerPsychicMark:
    trainer EVENT_BEAT_PSYCHIC_MARK, PSYCHIC_T, MARK, PsychicMarkSeenText, PsychicMarkBeatenText, $0000, PsychicMarkScript
 
 PsychicMarkScript:
    talkaftercancel
@@ -679,12 +679,12 @@ Route36_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_YOUNGSTER, 13, 20, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicMark, -1
-   person_event SPRITE_YOUNGSTER, 14, 31, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerSchoolboyAlan1, -1
-   person_event SPRITE_WEIRD_TREE, 9, 35, $17, 0, 0, -1, -1, 0, 0, 0, WeirdTreeScript_0x19403c, EVENT_ROUTE_36_SUDOWOODO
-   person_event SPRITE_LASS, 8, 51, $5, 0, 2, -1, -1, 0, 0, 0, LassScript_0x1940e0, -1
-   person_event SPRITE_FISHER, 9, 44, $8, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1940b9, -1
-   person_event SPRITE_FRUIT_TREE, 4, 21, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x194247, -1
-   person_event SPRITE_YOUNGSTER, 6, 46, $2, 1, 1, -1, -1, 0, 0, 0, ArthurScript, EVENT_ROUTE_36_ARTHUR_OF_THURSDAY
-   person_event SPRITE_LASS, 12, 33, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x19408c, EVENT_FLORIA_AT_SUDOWOODO
-   person_event SPRITE_SUICUNE, 6, 21, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_SAW_SUICUNE_ON_ROUTE_36
+   person_event SPRITE_YOUNGSTER, 13, 20, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicMark, -1
+   person_event SPRITE_YOUNGSTER, 14, 31, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerSchoolboyAlan1, -1
+   person_event SPRITE_WEIRD_TREE, 9, 35, SPRITEMOVEFN_17, 0, 0, -1, -1, 0, 0, 0, WeirdTreeScript_0x19403c, EVENT_ROUTE_36_SUDOWOODO
+   person_event SPRITE_LASS, 8, 51, SPRITEMOVEFN_05, 0, 2, -1, -1, 0, 0, 0, LassScript_0x1940e0, -1
+   person_event SPRITE_FISHER, 9, 44, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, FisherScript_0x1940b9, -1
+   person_event SPRITE_FRUIT_TREE, 4, 21, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x194247, -1
+   person_event SPRITE_YOUNGSTER, 6, 46, SPRITEMOVEFN_02, 1, 1, -1, -1, 0, 0, 0, ArthurScript, EVENT_ROUTE_36_ARTHUR_OF_THURSDAY
+   person_event SPRITE_LASS, 12, 33, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x19408c, EVENT_FLORIA_AT_SUDOWOODO
+   person_event SPRITE_SUICUNE, 6, 21, SPRITEMOVEFN_01, 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 a157e00..f26e233 100644
--- a/maps/Route36NationalParkgate.asm
+++ b/maps/Route36NationalParkgate.asm
@@ -3,9 +3,9 @@ Route36NationalParkgate_MapScriptHeader:
    db 3
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
    dw .Trigger3, $0000
 
 .MapCallbacks:
    db 2
@@ -862,15 +862,15 @@ Route36NationalParkgate_MapEventHeader:
 
 .PersonEvents:
    db 12
-   person_event SPRITE_OFFICER, 3, 0, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, Route36OfficerScriptContest, EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY
-   person_event SPRITE_YOUNGSTER, 5, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6ad06, EVENT_BUG_CATCHING_CONTESTANT_1B
-   person_event SPRITE_YOUNGSTER, 5, 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6ad1a, EVENT_BUG_CATCHING_CONTESTANT_2B
-   person_event SPRITE_ROCKER, 6, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, RockerScript_0x6ad2e, EVENT_BUG_CATCHING_CONTESTANT_3B
-   person_event SPRITE_POKEFAN_M, 5, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x6ad42, EVENT_BUG_CATCHING_CONTESTANT_4B
-   person_event SPRITE_YOUNGSTER, 7, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6ad56, EVENT_BUG_CATCHING_CONTESTANT_5B
-   person_event SPRITE_YOUNGSTER, 6, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6ad6a, EVENT_BUG_CATCHING_CONTESTANT_6B
-   person_event SPRITE_LASS, 6, 3, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x6ad7e, EVENT_BUG_CATCHING_CONTESTANT_7B
-   person_event SPRITE_YOUNGSTER, 7, 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6ad92, EVENT_BUG_CATCHING_CONTESTANT_8B
-   person_event SPRITE_YOUNGSTER, 7, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6ada6, EVENT_BUG_CATCHING_CONTESTANT_9B
-   person_event SPRITE_YOUNGSTER, 6, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x6adba, EVENT_BUG_CATCHING_CONTESTANT_10B
-   person_event SPRITE_OFFICER, 2, 3, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, OfficerScript_0x6acf4, EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY
+   person_event SPRITE_OFFICER, 3, 0, SPRITEMOVEFN_06, 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, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6ad06, EVENT_BUG_CATCHING_CONTESTANT_1B
+   person_event SPRITE_YOUNGSTER, 5, 4, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6ad1a, EVENT_BUG_CATCHING_CONTESTANT_2B
+   person_event SPRITE_ROCKER, 6, 2, SPRITEMOVEFN_07, 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, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x6ad42, EVENT_BUG_CATCHING_CONTESTANT_4B
+   person_event SPRITE_YOUNGSTER, 7, 2, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6ad56, EVENT_BUG_CATCHING_CONTESTANT_5B
+   person_event SPRITE_YOUNGSTER, 6, 5, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6ad6a, EVENT_BUG_CATCHING_CONTESTANT_6B
+   person_event SPRITE_LASS, 6, 3, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x6ad7e, EVENT_BUG_CATCHING_CONTESTANT_7B
+   person_event SPRITE_YOUNGSTER, 7, 4, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x6ad92, EVENT_BUG_CATCHING_CONTESTANT_8B
+   person_event SPRITE_YOUNGSTER, 7, 6, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x6ada6, EVENT_BUG_CATCHING_CONTESTANT_9B
+   person_event SPRITE_YOUNGSTER, 6, 6, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x6adba, EVENT_BUG_CATCHING_CONTESTANT_10B
+   person_event SPRITE_OFFICER, 2, 3, SPRITEMOVEFN_06, 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 7d6dbbd..09e5cce 100644
--- a/maps/Route36RuinsofAlphgate.asm
+++ b/maps/Route36RuinsofAlphgate.asm
@@ -49,5 +49,5 @@ Route36RuinsofAlphgate_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x6aa1a, -1
-   person_event SPRITE_GRAMPS, 5, 7, $2, 2, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x6aa1d, -1
+   person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x6aa1a, -1
+   person_event SPRITE_GRAMPS, 5, 7, SPRITEMOVEFN_02, 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 a6e49b3..65f08f1 100644
--- a/maps/Route37.asm
+++ b/maps/Route37.asm
@@ -20,7 +20,7 @@ SunnyCallback:
    return
 
 TrainerTwinsAnnandanne1:
    trainer EVENT_BEAT_TWINS_ANN_AND_ANNE, TWINS, ANNANDANNE1, TwinsAnnandanne1SeenText, TwinsAnnandanne1BeatenText, $0000, TwinsAnnandanne1Script
 
 TwinsAnnandanne1Script:
    talkaftercancel
@@ -31,7 +31,7 @@ TwinsAnnandanne1Script:
    end
 
 TrainerTwinsAnnandanne2:
    trainer EVENT_BEAT_TWINS_ANN_AND_ANNE, TWINS, ANNANDANNE2, TwinsAnnandanne2SeenText, TwinsAnnandanne2BeatenText, $0000, TwinsAnnandanne2Script
 
 TwinsAnnandanne2Script:
    talkaftercancel
@@ -42,7 +42,7 @@ TwinsAnnandanne2Script:
    end
 
 TrainerPsychicGreg:
    trainer EVENT_BEAT_PSYCHIC_GREG, PSYCHIC_T, GREG, PsychicGregSeenText, PsychicGregBeatenText, $0000, PsychicGregScript
 
 PsychicGregScript:
    talkaftercancel
@@ -249,10 +249,10 @@ Route37_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_WEIRD_TREE, 12, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAnnandanne1, -1
-   person_event SPRITE_WEIRD_TREE, 12, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAnnandanne2, -1
-   person_event SPRITE_YOUNGSTER, 6, 6, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerPsychicGreg, -1
-   person_event SPRITE_FRUIT_TREE, 5, 13, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8e09, -1
-   person_event SPRITE_BUG_CATCHER, 8, 16, $2, 1, 1, -1, -1, 0, 0, 0, SunnyScript, EVENT_ROUTE_37_SUNNY_OF_SUNDAY
-   person_event SPRITE_FRUIT_TREE, 5, 16, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8e0b, -1
-   person_event SPRITE_FRUIT_TREE, 7, 15, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8e0d, -1
+   person_event SPRITE_WEIRD_TREE, 12, 6, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAnnandanne1, -1
+   person_event SPRITE_WEIRD_TREE, 12, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerTwinsAnnandanne2, -1
+   person_event SPRITE_YOUNGSTER, 6, 6, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerPsychicGreg, -1
+   person_event SPRITE_FRUIT_TREE, 5, 13, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8e09, -1
+   person_event SPRITE_BUG_CATCHER, 8, 16, SPRITEMOVEFN_02, 1, 1, -1, -1, 0, 0, 0, SunnyScript, EVENT_ROUTE_37_SUNNY_OF_SUNDAY
+   person_event SPRITE_FRUIT_TREE, 5, 16, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8e0b, -1
+   person_event SPRITE_FRUIT_TREE, 7, 15, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8e0d, -1
diff --git a/maps/Route38.asm b/maps/Route38.asm
index 4c6ffa6..3f71576 100644
--- a/maps/Route38.asm
+++ b/maps/Route38.asm
@@ -6,7 +6,7 @@ Route38_MapScriptHeader:
    db 0
 
 TrainerBird_keeperToby:
    trainer EVENT_BEAT_BIRD_KEEPER_TOBY, BIRD_KEEPER, TOBY, Bird_keeperTobySeenText, Bird_keeperTobyBeatenText, $0000, Bird_keeperTobyScript
 
 Bird_keeperTobyScript:
    talkaftercancel
@@ -17,7 +17,7 @@ Bird_keeperTobyScript:
    end
 
 TrainerSailorHarry:
    trainer EVENT_BEAT_SAILOR_HARRY, SAILOR, HARRY, SailorHarrySeenText, SailorHarryBeatenText, $0000, SailorHarryScript
 
 SailorHarryScript:
    talkaftercancel
@@ -28,7 +28,7 @@ SailorHarryScript:
    end
 
 TrainerLassDana1:
    trainer EVENT_BEAT_LASS_DANA, LASS, DANA1, LassDana1SeenText, LassDana1BeatenText, $0000, LassDana1Script
 
 LassDana1Script:
    writecode VAR_CALLERID, PHONE_LASS_DANA
@@ -60,7 +60,7 @@ UnknownScript_0x1a1d6e:
 
 UnknownScript_0x1a1d82:
    scall UnknownScript_0x1a1e23
    winlosstext LassDana1BeatenText, $0000
    copybytetovar wDanaFightCount
    if_equal 4, .Fight4
    if_equal 3, .Fight3
@@ -166,7 +166,7 @@ UnknownScript_0x1a1e2b:
    end
 
 TrainerSchoolboyChad1:
    trainer EVENT_BEAT_SCHOOLBOY_CHAD, SCHOOLBOY, CHAD1, SchoolboyChad1SeenText, SchoolboyChad1BeatenText, $0000, SchoolboyChad1Script
 
 SchoolboyChad1Script:
    writecode VAR_CALLERID, PHONE_SCHOOLBOY_CHAD
@@ -196,7 +196,7 @@ UnknownScript_0x1a1e61:
 
 UnknownScript_0x1a1e75:
    scall UnknownScript_0x1a1f01
    winlosstext SchoolboyChad1BeatenText, $0000
    copybytetovar wChadFightCount
    if_equal 4, .Fight4
    if_equal 3, .Fight3
@@ -283,7 +283,7 @@ UnknownScript_0x1a1f01:
    end
 
 TrainerBeautyValerie:
    trainer EVENT_BEAT_BEAUTY_VALERIE, BEAUTY, VALERIE, BeautyValerieSeenText, BeautyValerieBeatenText, $0000, BeautyValerieScript
 
 BeautyValerieScript:
    talkaftercancel
@@ -294,7 +294,7 @@ BeautyValerieScript:
    end
 
 TrainerBeautyOlivia:
    trainer EVENT_BEAT_BEAUTY_OLIVIA, BEAUTY, OLIVIA, BeautyOliviaSeenText, BeautyOliviaBeatenText, $0000, BeautyOliviaScript
 
 BeautyOliviaScript:
    talkaftercancel
@@ -482,10 +482,10 @@ Route38_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_STANDING_YOUNGSTER, 1, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyChad1, -1
-   person_event SPRITE_LASS, 3, 15, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerLassDana1, -1
-   person_event SPRITE_STANDING_YOUNGSTER, 15, 12, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBird_keeperToby, -1
-   person_event SPRITE_BUENA, 9, 19, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBeautyValerie, -1
-   person_event SPRITE_SAILOR, 5, 24, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerSailorHarry, -1
-   person_event SPRITE_FRUIT_TREE, 10, 12, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a1f33, -1
-   person_event SPRITE_BUENA, 8, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBeautyOlivia, -1
+   person_event SPRITE_STANDING_YOUNGSTER, 1, 4, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerSchoolboyChad1, -1
+   person_event SPRITE_LASS, 3, 15, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerLassDana1, -1
+   person_event SPRITE_STANDING_YOUNGSTER, 15, 12, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBird_keeperToby, -1
+   person_event SPRITE_BUENA, 9, 19, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBeautyValerie, -1
+   person_event SPRITE_SAILOR, 5, 24, SPRITEMOVEFN_1E, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerSailorHarry, -1
+   person_event SPRITE_FRUIT_TREE, 10, 12, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a1f33, -1
+   person_event SPRITE_BUENA, 8, 5, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerBeautyOlivia, -1
diff --git a/maps/Route38EcruteakGate.asm b/maps/Route38EcruteakGate.asm
index 1be28e2..01e1028 100644
--- a/maps/Route38EcruteakGate.asm
+++ b/maps/Route38EcruteakGate.asm
@@ -40,4 +40,4 @@ Route38EcruteakGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x9cbd7, -1
+   person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEFN_06, 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 2afc322..e526c56 100644
--- a/maps/Route39.asm
+++ b/maps/Route39.asm
@@ -14,7 +14,7 @@ TaurosScript_0x1a5af5:
    end
 
 TrainerPokefanmDerek1:
    trainer EVENT_BEAT_POKEFANM_DEREK, POKEFANM, DEREK1, PokefanmDerek1SeenText, PokefanmDerek1BeatenText, $0000, PokefanmDerek1Script
 
 PokefanmDerek1Script:
    writecode VAR_CALLERID, PHONE_POKEFANM_DEREK
@@ -93,7 +93,7 @@ UnknownScript_0x1a5b7e:
    end
 
 TrainerPokefanfRuth:
    trainer EVENT_BEAT_POKEFANF_RUTH, POKEFANF, RUTH, PokefanfRuthSeenText, PokefanfRuthBeatenText, $0000, PokefanfRuthScript
 
 PokefanfRuthScript:
    talkaftercancel
@@ -104,7 +104,7 @@ PokefanfRuthScript:
    end
 
 TrainerSailorEugene:
    trainer EVENT_BEAT_SAILOR_EUGENE, SAILOR, EUGENE, SailorEugeneSeenText, SailorEugeneBeatenText, $0000, SailorEugeneScript
 
 SailorEugeneScript:
    talkaftercancel
@@ -115,7 +115,7 @@ SailorEugeneScript:
    end
 
 TrainerPsychicNorman:
    trainer EVENT_BEAT_PSYCHIC_NORMAN, PSYCHIC_T, NORMAN, PsychicNormanSeenText, PsychicNormanBeatenText, $0000, PsychicNormanScript
 
 PsychicNormanScript:
    talkaftercancel
@@ -135,7 +135,7 @@ PokefanFScript_0x1a5bbe:
    writetext UnknownText_0x1a5ee8
    closetext
    loadmovesprites
    winlosstext UnknownText_0x1a5f17, $0000
    loadtrainer POKEFANF, JAIME
    startbattle
    returnafterbattle
@@ -353,13 +353,13 @@ Route39_MapEventHeader:
 
 .PersonEvents:
    db 10
-   person_event SPRITE_SAILOR, 29, 13, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerSailorEugene, -1
-   person_event SPRITE_POKEFAN_M, 22, 10, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerPokefanmDerek1, -1
-   person_event SPRITE_POKEFAN_F, 19, 11, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerPokefanfRuth, -1
-   person_event SPRITE_TAUROS, 12, 3, $16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
-   person_event SPRITE_TAUROS, 11, 6, $16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
-   person_event SPRITE_TAUROS, 15, 4, $16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
-   person_event SPRITE_TAUROS, 13, 8, $16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
-   person_event SPRITE_STANDING_YOUNGSTER, 7, 13, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerPsychicNorman, -1
-   person_event SPRITE_FRUIT_TREE, 3, 9, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a5bf4, -1
-   person_event SPRITE_POKEFAN_F, 22, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanFScript_0x1a5bbe, -1
+   person_event SPRITE_SAILOR, 29, 13, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerSailorEugene, -1
+   person_event SPRITE_POKEFAN_M, 22, 10, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerPokefanmDerek1, -1
+   person_event SPRITE_POKEFAN_F, 19, 11, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerPokefanfRuth, -1
+   person_event SPRITE_TAUROS, 12, 3, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
+   person_event SPRITE_TAUROS, 11, 6, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
+   person_event SPRITE_TAUROS, 15, 4, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
+   person_event SPRITE_TAUROS, 13, 8, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x1a5af5, -1
+   person_event SPRITE_STANDING_YOUNGSTER, 7, 13, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 1, TrainerPsychicNorman, -1
+   person_event SPRITE_FRUIT_TREE, 3, 9, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a5bf4, -1
+   person_event SPRITE_POKEFAN_F, 22, 4, SPRITEMOVEFN_06, 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 e2420e1..5dd4972 100644
--- a/maps/Route39Barn.asm
+++ b/maps/Route39Barn.asm
@@ -200,6 +200,6 @@ Route39Barn_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_TWIN, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, TwinScript_0x9cc76, -1
-   person_event SPRITE_TWIN, 3, 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x9cc90, -1
-   person_event SPRITE_TAUROS, 3, 3, $16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x9ccaa, -1
+   person_event SPRITE_TWIN, 3, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, TwinScript_0x9cc76, -1
+   person_event SPRITE_TWIN, 3, 4, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TwinScript_0x9cc90, -1
+   person_event SPRITE_TAUROS, 3, 3, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, TaurosScript_0x9ccaa, -1
diff --git a/maps/Route39Farmhouse.asm b/maps/Route39Farmhouse.asm
index 16ad6ca..37b1d05 100644
--- a/maps/Route39Farmhouse.asm
+++ b/maps/Route39Farmhouse.asm
@@ -207,5 +207,5 @@ Route39Farmhouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKEFAN_M, 2, 3, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanMScript_0x9ceb4, -1
-   person_event SPRITE_POKEFAN_F, 4, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanFScript_0x9cf0e, -1
+   person_event SPRITE_POKEFAN_M, 2, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, PokefanMScript_0x9ceb4, -1
+   person_event SPRITE_POKEFAN_F, 4, 5, SPRITEMOVEFN_08, 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 d0d8704..00f53e3 100644
--- a/maps/Route4.asm
+++ b/maps/Route4.asm
@@ -6,7 +6,7 @@ Route4_MapScriptHeader:
    db 0
 
 TrainerBird_keeperHank:
    trainer EVENT_BEAT_BIRD_KEEPER_HANK, BIRD_KEEPER, HANK, Bird_keeperHankSeenText, Bird_keeperHankBeatenText, $0000, Bird_keeperHankScript
 
 Bird_keeperHankScript:
    talkaftercancel
@@ -17,7 +17,7 @@ Bird_keeperHankScript:
    end
 
 TrainerPicnickerHope:
    trainer EVENT_BEAT_PICNICKER_HOPE, PICNICKER, HOPE, PicnickerHopeSeenText, PicnickerHopeBeatenText, $0000, PicnickerHopeScript
 
 PicnickerHopeScript:
    talkaftercancel
@@ -28,7 +28,7 @@ PicnickerHopeScript:
    end
 
 TrainerPicnickerSharon:
    trainer EVENT_BEAT_PICNICKER_SHARON, PICNICKER, SHARON, PicnickerSharonSeenText, PicnickerSharonBeatenText, $0000, PicnickerSharonScript
 
 PicnickerSharonScript:
    talkaftercancel
@@ -133,7 +133,7 @@ Route4_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_YOUNGSTER, 9, 17, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperHank, -1
-   person_event SPRITE_LASS, 8, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerPicnickerHope, -1
-   person_event SPRITE_LASS, 6, 21, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerPicnickerSharon, -1
-   person_event SPRITE_POKE_BALL, 3, 26, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1ae20f, EVENT_ROUTE_4_HP_UP
+   person_event SPRITE_YOUNGSTER, 9, 17, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperHank, -1
+   person_event SPRITE_LASS, 8, 9, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerPicnickerHope, -1
+   person_event SPRITE_LASS, 6, 21, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerPicnickerSharon, -1
+   person_event SPRITE_POKE_BALL, 3, 26, SPRITEMOVEFN_01, 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 09f92f1..8fed30e 100644
--- a/maps/Route40.asm
+++ b/maps/Route40.asm
@@ -21,7 +21,7 @@ MonicaCallback:
    return
 
 TrainerSwimmerfElaine:
    trainer EVENT_BEAT_SWIMMERF_ELAINE, SWIMMERF, ELAINE, SwimmerfElaineSeenText, SwimmerfElaineBeatenText, $0000, SwimmerfElaineScript
 
 SwimmerfElaineScript:
    talkaftercancel
@@ -32,7 +32,7 @@ SwimmerfElaineScript:
    end
 
 TrainerSwimmerfPaula:
    trainer EVENT_BEAT_SWIMMERF_PAULA, SWIMMERF, PAULA, SwimmerfPaulaSeenText, SwimmerfPaulaBeatenText, $0000, SwimmerfPaulaScript
 
 SwimmerfPaulaScript:
    talkaftercancel
@@ -43,7 +43,7 @@ SwimmerfPaulaScript:
    end
 
 TrainerSwimmermSimon:
    trainer EVENT_BEAT_SWIMMERM_SIMON, SWIMMERM, SIMON, SwimmermSimonSeenText, SwimmermSimonBeatenText, $0000, SwimmermSimonScript
 
 SwimmermSimonScript:
    talkaftercancel
@@ -54,7 +54,7 @@ SwimmermSimonScript:
    end
 
 TrainerSwimmermRandall:
    trainer EVENT_BEAT_SWIMMERM_RANDALL, SWIMMERM, RANDALL, SwimmermRandallSeenText, SwimmermRandallBeatenText, $0000, SwimmermRandallScript
 
 SwimmermRandallScript:
    talkaftercancel
@@ -344,15 +344,15 @@ Route40_MapEventHeader:
 
 .PersonEvents:
    db 12
-   person_event SPRITE_OLIVINE_RIVAL, 15, 14, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerSwimmermSimon, -1
-   person_event SPRITE_OLIVINE_RIVAL, 30, 18, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerSwimmermRandall, -1
-   person_event SPRITE_SWIMMER_GIRL, 19, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerSwimmerfElaine, -1
-   person_event SPRITE_SWIMMER_GIRL, 25, 10, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfPaula, -1
-   person_event SPRITE_ROCK, 11, 7, $18, 0, 0, -1, -1, 0, 0, 0, Route40Rock, -1
-   person_event SPRITE_ROCK, 9, 6, $18, 0, 0, -1, -1, 0, 0, 0, Route40Rock, -1
-   person_event SPRITE_ROCK, 8, 7, $18, 0, 0, -1, -1, 0, 0, 0, Route40Rock, -1
-   person_event SPRITE_LASS, 13, 11, $6, 0, 0, -1, -1, 0, 0, 0, LassScript_0x1a61c4, -1
-   person_event SPRITE_BUENA, 10, 8, $3, 0, 0, -1, -1, 0, 0, 0, MonicaScript, EVENT_ROUTE_40_MONICA_OF_MONDAY
-   person_event SPRITE_POKEFAN_M, 6, 7, $9, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x1a61c7, -1
-   person_event SPRITE_LASS, 4, 13, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x1a61d3, -1
-   person_event SPRITE_STANDING_YOUNGSTER, 9, 16, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, StandingYoungsterScript_0x1a61d6, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
+   person_event SPRITE_OLIVINE_RIVAL, 15, 14, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerSwimmermSimon, -1
+   person_event SPRITE_OLIVINE_RIVAL, 30, 18, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerSwimmermRandall, -1
+   person_event SPRITE_SWIMMER_GIRL, 19, 3, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerSwimmerfElaine, -1
+   person_event SPRITE_SWIMMER_GIRL, 25, 10, SPRITEMOVEFN_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfPaula, -1
+   person_event SPRITE_ROCK, 11, 7, SPRITEMOVEFN_18, 0, 0, -1, -1, 0, 0, 0, Route40Rock, -1
+   person_event SPRITE_ROCK, 9, 6, SPRITEMOVEFN_18, 0, 0, -1, -1, 0, 0, 0, Route40Rock, -1
+   person_event SPRITE_ROCK, 8, 7, SPRITEMOVEFN_18, 0, 0, -1, -1, 0, 0, 0, Route40Rock, -1
+   person_event SPRITE_LASS, 13, 11, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, LassScript_0x1a61c4, -1
+   person_event SPRITE_BUENA, 10, 8, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, MonicaScript, EVENT_ROUTE_40_MONICA_OF_MONDAY
+   person_event SPRITE_POKEFAN_M, 6, 7, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x1a61c7, -1
+   person_event SPRITE_LASS, 4, 13, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x1a61d3, -1
+   person_event SPRITE_STANDING_YOUNGSTER, 9, 16, SPRITEMOVEFN_03, 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 f99b652..0721b07 100644
--- a/maps/Route40BattleTowerGate.asm
+++ b/maps/Route40BattleTowerGate.asm
@@ -88,5 +88,5 @@ Route40BattleTowerGate_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_ROCKER, 3, 3, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, RockerScript_0x9f669, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
-   person_event SPRITE_TWIN, 5, 7, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TwinScript_0x9f66c, -1
+   person_event SPRITE_ROCKER, 3, 3, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, RockerScript_0x9f669, EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
+   person_event SPRITE_TWIN, 5, 7, SPRITEMOVEFN_04, 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 872fb53..47cffc8 100644
--- a/maps/Route41.asm
+++ b/maps/Route41.asm
@@ -6,7 +6,7 @@ Route41_MapScriptHeader:
    db 0
 
 TrainerSwimmerfKaylee:
    trainer EVENT_BEAT_SWIMMERF_KAYLEE, SWIMMERF, KAYLEE, SwimmerfKayleeSeenText, SwimmerfKayleeBeatenText, $0000, SwimmerfKayleeScript
 
 SwimmerfKayleeScript:
    talkaftercancel
@@ -17,7 +17,7 @@ SwimmerfKayleeScript:
    end
 
 TrainerSwimmerfSusie:
    trainer EVENT_BEAT_SWIMMERF_SUSIE, SWIMMERF, SUSIE, SwimmerfSusieSeenText, SwimmerfSusieBeatenText, $0000, SwimmerfSusieScript
 
 SwimmerfSusieScript:
    talkaftercancel
@@ -28,7 +28,7 @@ SwimmerfSusieScript:
    end
 
 TrainerSwimmerfDenise:
    trainer EVENT_BEAT_SWIMMERF_DENISE, SWIMMERF, DENISE, SwimmerfDeniseSeenText, SwimmerfDeniseBeatenText, $0000, SwimmerfDeniseScript
 
 SwimmerfDeniseScript:
    talkaftercancel
@@ -39,7 +39,7 @@ SwimmerfDeniseScript:
    end
 
 TrainerSwimmerfKara:
    trainer EVENT_BEAT_SWIMMERF_KARA, SWIMMERF, KARA, SwimmerfKaraSeenText, SwimmerfKaraBeatenText, $0000, SwimmerfKaraScript
 
 SwimmerfKaraScript:
    talkaftercancel
@@ -50,7 +50,7 @@ SwimmerfKaraScript:
    end
 
 TrainerSwimmerfWendy:
    trainer EVENT_BEAT_SWIMMERF_WENDY, SWIMMERF, WENDY, SwimmerfWendySeenText, SwimmerfWendyBeatenText, $0000, SwimmerfWendyScript
 
 SwimmerfWendyScript:
    talkaftercancel
@@ -61,7 +61,7 @@ SwimmerfWendyScript:
    end
 
 TrainerSwimmermCharlie:
    trainer EVENT_BEAT_SWIMMERM_CHARLIE, SWIMMERM, CHARLIE, SwimmermCharlieSeenText, SwimmermCharlieBeatenText, $0000, SwimmermCharlieScript
 
 SwimmermCharlieScript:
    talkaftercancel
@@ -72,7 +72,7 @@ SwimmermCharlieScript:
    end
 
 TrainerSwimmermGeorge:
    trainer EVENT_BEAT_SWIMMERM_GEORGE, SWIMMERM, GEORGE, SwimmermGeorgeSeenText, SwimmermGeorgeBeatenText, $0000, SwimmermGeorgeScript
 
 SwimmermGeorgeScript:
    talkaftercancel
@@ -83,7 +83,7 @@ SwimmermGeorgeScript:
    end
 
 TrainerSwimmermBerke:
    trainer EVENT_BEAT_SWIMMERM_BERKE, SWIMMERM, BERKE, SwimmermBerkeSeenText, SwimmermBerkeBeatenText, $0000, SwimmermBerkeScript
 
 SwimmermBerkeScript:
    talkaftercancel
@@ -94,7 +94,7 @@ SwimmermBerkeScript:
    end
 
 TrainerSwimmermKirk:
    trainer EVENT_BEAT_SWIMMERM_KIRK, SWIMMERM, KIRK, SwimmermKirkSeenText, SwimmermKirkBeatenText, $0000, SwimmermKirkScript
 
 SwimmermKirkScript:
    talkaftercancel
@@ -105,7 +105,7 @@ SwimmermKirkScript:
    end
 
 TrainerSwimmermMathew:
    trainer EVENT_BEAT_SWIMMERM_MATHEW, SWIMMERM, MATHEW, SwimmermMathewSeenText, SwimmermMathewBeatenText, $0000, SwimmermMathewScript
 
 SwimmermMathewScript:
    talkaftercancel
@@ -349,13 +349,13 @@ Route41_MapEventHeader:
 
 .PersonEvents:
    db 10
-   person_event SPRITE_OLIVINE_RIVAL, 6, 32, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermCharlie, -1
-   person_event SPRITE_OLIVINE_RIVAL, 8, 46, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermGeorge, -1
-   person_event SPRITE_OLIVINE_RIVAL, 26, 20, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermBerke, -1
-   person_event SPRITE_OLIVINE_RIVAL, 30, 32, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermKirk, -1
-   person_event SPRITE_OLIVINE_RIVAL, 46, 19, $1e, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermMathew, -1
-   person_event SPRITE_SWIMMER_GIRL, 4, 17, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfKaylee, -1
-   person_event SPRITE_SWIMMER_GIRL, 19, 23, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfSusie, -1
-   person_event SPRITE_SWIMMER_GIRL, 34, 27, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfDenise, -1
-   person_event SPRITE_SWIMMER_GIRL, 28, 44, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerSwimmerfKara, -1
-   person_event SPRITE_SWIMMER_GIRL, 50, 9, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerSwimmerfWendy, -1
+   person_event SPRITE_OLIVINE_RIVAL, 6, 32, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermCharlie, -1
+   person_event SPRITE_OLIVINE_RIVAL, 8, 46, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermGeorge, -1
+   person_event SPRITE_OLIVINE_RIVAL, 26, 20, SPRITEMOVEFN_1E, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermBerke, -1
+   person_event SPRITE_OLIVINE_RIVAL, 30, 32, SPRITEMOVEFN_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermKirk, -1
+   person_event SPRITE_OLIVINE_RIVAL, 46, 19, SPRITEMOVEFN_1E, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerSwimmermMathew, -1
+   person_event SPRITE_SWIMMER_GIRL, 4, 17, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfKaylee, -1
+   person_event SPRITE_SWIMMER_GIRL, 19, 23, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfSusie, -1
+   person_event SPRITE_SWIMMER_GIRL, 34, 27, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerSwimmerfDenise, -1
+   person_event SPRITE_SWIMMER_GIRL, 28, 44, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerSwimmerfKara, -1
+   person_event SPRITE_SWIMMER_GIRL, 50, 9, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerSwimmerfWendy, -1
diff --git a/maps/Route42.asm b/maps/Route42.asm
index 04a5088..b427b3d 100644
--- a/maps/Route42.asm
+++ b/maps/Route42.asm
@@ -3,8 +3,8 @@ Route42_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x1a9216, $0000
    dw UnknownScript_0x1a9217, $0000
 
 .MapCallbacks:
    db 0
@@ -28,7 +28,7 @@ UnknownScript_0x1a9218:
    end
 
 TrainerFisherTully1:
    trainer EVENT_BEAT_FISHER_TULLY, FISHER, TULLY1, FisherTully1SeenText, FisherTully1BeatenText, $0000, FisherTully1Script
 
 FisherTully1Script:
    writecode VAR_CALLERID, PHONE_FISHER_TULLY
@@ -60,7 +60,7 @@ UnknownScript_0x1a926b:
 
 UnknownScript_0x1a927f:
    scall UnknownScript_0x1a9309
    winlosstext FisherTully1BeatenText, $0000
    copybytetovar wTullyFightCount
    if_equal 3, .Fight3
    if_equal 2, .Fight2
@@ -154,7 +154,7 @@ UnknownScript_0x1a9311:
    end
 
 TrainerPokemaniacShane:
    trainer EVENT_BEAT_POKEMANIAC_SHANE, POKEMANIAC, SHANE, PokemaniacShaneSeenText, PokemaniacShaneBeatenText, $0000, PokemaniacShaneScript
 
 PokemaniacShaneScript:
    talkaftercancel
@@ -165,7 +165,7 @@ PokemaniacShaneScript:
    end
 
 TrainerHikerBenjamin:
    trainer EVENT_BEAT_HIKER_BENJAMIN, HIKER, BENJAMIN, HikerBenjaminSeenText, HikerBenjaminBeatenText, $0000, HikerBenjaminScript
 
 HikerBenjaminScript:
    talkaftercancel
@@ -336,12 +336,12 @@ Route42_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_FISHER, 10, 40, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherTully1, -1
-   person_event SPRITE_POKEFAN_M, 9, 51, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerBenjamin, -1
-   person_event SPRITE_SUPER_NERD, 8, 47, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacShane, -1
-   person_event SPRITE_FRUIT_TREE, 16, 27, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a934d, -1
-   person_event SPRITE_FRUIT_TREE, 16, 28, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a934f, -1
-   person_event SPRITE_FRUIT_TREE, 16, 29, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a9351, -1
-   person_event SPRITE_POKE_BALL, 4, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a9349, EVENT_ROUTE_42_ULTRA_BALL
-   person_event SPRITE_POKE_BALL, 8, 33, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a934b, EVENT_ROUTE_42_SUPER_POTION
-   person_event SPRITE_SUICUNE, 16, 26, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_SAW_SUICUNE_ON_ROUTE_42
+   person_event SPRITE_FISHER, 10, 40, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherTully1, -1
+   person_event SPRITE_POKEFAN_M, 9, 51, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerBenjamin, -1
+   person_event SPRITE_SUPER_NERD, 8, 47, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacShane, -1
+   person_event SPRITE_FRUIT_TREE, 16, 27, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a934d, -1
+   person_event SPRITE_FRUIT_TREE, 16, 28, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a934f, -1
+   person_event SPRITE_FRUIT_TREE, 16, 29, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a9351, -1
+   person_event SPRITE_POKE_BALL, 4, 6, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a9349, EVENT_ROUTE_42_ULTRA_BALL
+   person_event SPRITE_POKE_BALL, 8, 33, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a934b, EVENT_ROUTE_42_SUPER_POTION
+   person_event SPRITE_SUICUNE, 16, 26, SPRITEMOVEFN_01, 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 e23810d..31a9735 100644
--- a/maps/Route42EcruteakGate.asm
+++ b/maps/Route42EcruteakGate.asm
@@ -35,4 +35,4 @@ Route42EcruteakGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x19a4b5, -1
+   person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEFN_06, 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 a4fb28f..4535911 100644
--- a/maps/Route43.asm
+++ b/maps/Route43.asm
@@ -20,7 +20,7 @@ UnknownScript_0x19d05c:
    return
 
 TrainerCamperSpencer:
    trainer EVENT_BEAT_CAMPER_SPENCER, CAMPER, SPENCER, CamperSpencerSeenText, CamperSpencerBeatenText, $0000, CamperSpencerScript
 
 CamperSpencerScript:
    talkaftercancel
@@ -31,7 +31,7 @@ CamperSpencerScript:
    end
 
 TrainerPokemaniacBen:
    trainer EVENT_BEAT_POKEMANIAC_BEN, POKEMANIAC, BEN, PokemaniacBenSeenText, PokemaniacBenBeatenText, $0000, PokemaniacBenScript
 
 PokemaniacBenScript:
    talkaftercancel
@@ -42,7 +42,7 @@ PokemaniacBenScript:
    end
 
 TrainerPokemaniacBrent1:
    trainer EVENT_BEAT_POKEMANIAC_BRENT, POKEMANIAC, BRENT1, PokemaniacBrent1SeenText, PokemaniacBrent1BeatenText, $0000, PokemaniacBrent1Script
 
 PokemaniacBrent1Script:
    writecode VAR_CALLERID, PHONE_POKEMANIAC_BRENT
@@ -72,7 +72,7 @@ UnknownScript_0x19d0bb:
 
 UnknownScript_0x19d0cf:
    scall UnknownScript_0x19d144
    winlosstext PokemaniacBrent1BeatenText, $0000
    copybytetovar wBrentFightCount
    if_equal 3, .Fight3
    if_equal 2, .Fight2
@@ -147,7 +147,7 @@ UnknownScript_0x19d144:
    end
 
 TrainerPokemaniacRon:
    trainer EVENT_BEAT_POKEMANIAC_RON, POKEMANIAC, RON, PokemaniacRonSeenText, PokemaniacRonBeatenText, $0000, PokemaniacRonScript
 
 PokemaniacRonScript:
    talkaftercancel
@@ -158,7 +158,7 @@ PokemaniacRonScript:
    end
 
 TrainerFisherMarvin:
    trainer EVENT_BEAT_FISHER_MARVIN, FISHER, MARVIN, FisherMarvinSeenText, FisherMarvinBeatenText, $0000, FisherMarvinScript
 
 FisherMarvinScript:
    talkaftercancel
@@ -169,7 +169,7 @@ FisherMarvinScript:
    end
 
 TrainerPicnickerTiffany3:
    trainer EVENT_BEAT_PICNICKER_TIFFANY, PICNICKER, TIFFANY3, PicnickerTiffany3SeenText, PicnickerTiffany3BeatenText, $0000, PicnickerTiffany3Script
 
 PicnickerTiffany3Script:
    writecode VAR_CALLERID, PHONE_PICNICKER_TIFFANY
@@ -203,7 +203,7 @@ UnknownScript_0x19d1ad:
 
 UnknownScript_0x19d1c1:
    scall UnknownScript_0x19d251
    winlosstext PicnickerTiffany3BeatenText, $0000
    copybytetovar wTiffanyFightCount
    if_equal 3, .Fight3
    if_equal 2, .Fight2
@@ -516,11 +516,11 @@ Route43_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_SUPER_NERD, 5, 13, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPokemaniacBen, -1
-   person_event SPRITE_SUPER_NERD, 20, 13, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacBrent1, -1
-   person_event SPRITE_SUPER_NERD, 7, 14, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPokemaniacRon, -1
-   person_event SPRITE_FISHER, 16, 4, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerFisherMarvin, -1
-   person_event SPRITE_LASS, 25, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerTiffany3, -1
-   person_event SPRITE_YOUNGSTER, 40, 13, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperSpencer, -1
-   person_event SPRITE_FRUIT_TREE, 26, 1, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19d266, -1
-   person_event SPRITE_POKE_BALL, 32, 12, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19d268, EVENT_ROUTE_43_MAX_ETHER
+   person_event SPRITE_SUPER_NERD, 5, 13, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPokemaniacBen, -1
+   person_event SPRITE_SUPER_NERD, 20, 13, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacBrent1, -1
+   person_event SPRITE_SUPER_NERD, 7, 14, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPokemaniacRon, -1
+   person_event SPRITE_FISHER, 16, 4, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 4, TrainerFisherMarvin, -1
+   person_event SPRITE_LASS, 25, 9, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerTiffany3, -1
+   person_event SPRITE_YOUNGSTER, 40, 13, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperSpencer, -1
+   person_event SPRITE_FRUIT_TREE, 26, 1, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19d266, -1
+   person_event SPRITE_POKE_BALL, 32, 12, SPRITEMOVEFN_01, 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 4fe15be..0ab9ba1 100644
--- a/maps/Route43Gate.asm
+++ b/maps/Route43Gate.asm
@@ -3,8 +3,8 @@ Route43Gate_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x19abc5, $0000
    dw UnknownScript_0x19abc9, $0000
 
 .MapCallbacks:
    db 1
@@ -264,6 +264,6 @@ Route43Gate_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x19ac85, EVENT_LAKE_OF_RAGE_CIVILIANS
-   person_event SPRITE_ROCKET, 4, 2, $6, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x19ac82, EVENT_ROUTE_43_GATE_ROCKETS
-   person_event SPRITE_ROCKET, 4, 7, $7, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x19ac82, EVENT_ROUTE_43_GATE_ROCKETS
+   person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x19ac85, EVENT_LAKE_OF_RAGE_CIVILIANS
+   person_event SPRITE_ROCKET, 4, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x19ac82, EVENT_ROUTE_43_GATE_ROCKETS
+   person_event SPRITE_ROCKET, 4, 7, SPRITEMOVEFN_07, 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 588fa92..0f1354b 100644
--- a/maps/Route43MahoganyGate.asm
+++ b/maps/Route43MahoganyGate.asm
@@ -54,4 +54,4 @@ Route43MahoganyGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, OfficerScript_0x19ab0b, -1
+   person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEFN_09, 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 b2a08a7..3911a9d 100644
--- a/maps/Route44.asm
+++ b/maps/Route44.asm
@@ -6,7 +6,7 @@ Route44_MapScriptHeader:
    db 0
 
 TrainerBird_keeperVance1:
    trainer EVENT_BEAT_BIRD_KEEPER_VANCE, BIRD_KEEPER, VANCE1, Bird_keeperVance1SeenText, Bird_keeperVance1BeatenText, $0000, Bird_keeperVance1Script
 
 Bird_keeperVance1Script:
    writecode VAR_CALLERID, PHONE_BIRDKEEPER_VANCE
@@ -36,7 +36,7 @@ UnknownScript_0x19d856:
 
 UnknownScript_0x19d86a:
    scall UnknownScript_0x19d8f7
    winlosstext Bird_keeperVance1BeatenText, $0000
    copybytetovar wVanceFightCount
    if_equal 2, .Fight2
    if_equal 1, .Fight1
@@ -137,7 +137,7 @@ UnknownScript_0x19d90a:
    end
 
 TrainerPsychicPhil:
    trainer EVENT_BEAT_PSYCHIC_PHIL, PSYCHIC_T, PHIL, PsychicPhilSeenText, PsychicPhilBeatenText, $0000, PsychicPhilScript
 
 PsychicPhilScript:
    talkaftercancel
@@ -148,7 +148,7 @@ PsychicPhilScript:
    end
 
 TrainerFisherWilton1:
    trainer EVENT_BEAT_FISHER_WILTON, FISHER, WILTON1, FisherWilton1SeenText, FisherWilton1BeatenText, $0000, FisherWilton1Script
 
 FisherWilton1Script:
    writecode VAR_CALLERID, PHONE_FISHER_WILTON
@@ -180,7 +180,7 @@ UnknownScript_0x19d95a:
 
 UnknownScript_0x19d96e:
    scall UnknownScript_0x19d8f7
    winlosstext FisherWilton1BeatenText, $0000
    copybytetovar wWiltonFightCount
    if_equal 2, .Fight2
    if_equal 1, .Fight1
@@ -243,7 +243,7 @@ UnknownScript_0x19d9e7:
    jump UnknownScript_0x19d8ff
 
 TrainerFisherEdgar:
    trainer EVENT_BEAT_FISHER_EDGAR, FISHER, EDGAR, FisherEdgarSeenText, FisherEdgarBeatenText, $0000, FisherEdgarScript
 
 FisherEdgarScript:
    talkaftercancel
@@ -254,7 +254,7 @@ FisherEdgarScript:
    end
 
 TrainerCooltrainerfCybil:
    trainer EVENT_BEAT_COOLTRAINERF_CYBIL, COOLTRAINERF, CYBIL, CooltrainerfCybilSeenText, CooltrainerfCybilBeatenText, $0000, CooltrainerfCybilScript
 
 CooltrainerfCybilScript:
    talkaftercancel
@@ -265,7 +265,7 @@ CooltrainerfCybilScript:
    end
 
 TrainerPokemaniacZach:
    trainer EVENT_BEAT_POKEMANIAC_ZACH, POKEMANIAC, ZACH, PokemaniacZachSeenText, PokemaniacZachBeatenText, $0000, PokemaniacZachScript
 
 PokemaniacZachScript:
    talkaftercancel
@@ -276,7 +276,7 @@ PokemaniacZachScript:
    end
 
 TrainerCooltrainermAllen:
    trainer EVENT_BEAT_COOLTRAINERM_ALLEN, COOLTRAINERM, ALLEN, CooltrainermAllenSeenText, CooltrainermAllenBeatenText, $0000, CooltrainermAllenScript
 
 CooltrainermAllenScript:
    talkaftercancel
@@ -513,14 +513,14 @@ Route44_MapEventHeader:
 
 .PersonEvents:
    db 11
-   person_event SPRITE_FISHER, 3, 35, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherWilton1, -1
-   person_event SPRITE_FISHER, 13, 19, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherEdgar, -1
-   person_event SPRITE_YOUNGSTER, 9, 10, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicPhil, -1
-   person_event SPRITE_SUPER_NERD, 2, 43, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPokemaniacZach, -1
-   person_event SPRITE_YOUNGSTER, 5, 51, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerBird_keeperVance1, -1
-   person_event SPRITE_COOLTRAINER_M, 15, 41, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerCooltrainermAllen, -1
-   person_event SPRITE_COOLTRAINER_F, 14, 31, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerCooltrainerfCybil, -1
-   person_event SPRITE_FRUIT_TREE, 5, 9, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19da40, -1
-   person_event SPRITE_POKE_BALL, 8, 30, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19da42, EVENT_ROUTE_44_MAX_REVIVE
-   person_event SPRITE_POKE_BALL, 4, 45, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19da44, EVENT_ROUTE_44_ULTRA_BALL
-   person_event SPRITE_POKE_BALL, 9, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19da46, EVENT_ROUTE_44_MAX_REPEL
+   person_event SPRITE_FISHER, 3, 35, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherWilton1, -1
+   person_event SPRITE_FISHER, 13, 19, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerFisherEdgar, -1
+   person_event SPRITE_YOUNGSTER, 9, 10, SPRITEMOVEFN_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicPhil, -1
+   person_event SPRITE_SUPER_NERD, 2, 43, SPRITEMOVEFN_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPokemaniacZach, -1
+   person_event SPRITE_YOUNGSTER, 5, 51, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerBird_keeperVance1, -1
+   person_event SPRITE_COOLTRAINER_M, 15, 41, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerCooltrainermAllen, -1
+   person_event SPRITE_COOLTRAINER_F, 14, 31, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerCooltrainerfCybil, -1
+   person_event SPRITE_FRUIT_TREE, 5, 9, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19da40, -1
+   person_event SPRITE_POKE_BALL, 8, 30, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19da42, EVENT_ROUTE_44_MAX_REVIVE
+   person_event SPRITE_POKE_BALL, 4, 45, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19da44, EVENT_ROUTE_44_ULTRA_BALL
+   person_event SPRITE_POKE_BALL, 9, 14, SPRITEMOVEFN_01, 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 19f4312..8832eb4 100644
--- a/maps/Route45.asm
+++ b/maps/Route45.asm
@@ -6,7 +6,7 @@ Route45_MapScriptHeader:
    db 0
 
 TrainerBlackbeltKenji:
    trainer EVENT_BEAT_BLACKBELT_KENJI, BLACKBELT_T, KENJI3, BlackbeltKenji3SeenText, BlackbeltKenji3BeatenText, $0000, BlackbeltKenji3Script
 
 BlackbeltKenji3Script:
    writecode VAR_CALLERID, PHONE_BLACKBELT_KENJI
@@ -110,7 +110,7 @@ UnknownScript_0x19e146:
    end
 
 TrainerHikerErik:
    trainer EVENT_BEAT_HIKER_ERIK, HIKER, ERIK, HikerErikSeenText, HikerErikBeatenText, $0000, HikerErikScript
 
 HikerErikScript:
    talkaftercancel
@@ -121,7 +121,7 @@ HikerErikScript:
    end
 
 TrainerHikerMichael:
    trainer EVENT_BEAT_HIKER_MICHAEL, HIKER, MICHAEL, HikerMichaelSeenText, HikerMichaelBeatenText, $0000, HikerMichaelScript
 
 HikerMichaelScript:
    talkaftercancel
@@ -132,7 +132,7 @@ HikerMichaelScript:
    end
 
 TrainerHikerParry:
    trainer EVENT_BEAT_HIKER_PARRY, HIKER, PARRY3, HikerParry3SeenText, HikerParry3BeatenText, $0000, HikerParry3Script
 
 HikerParry3Script:
    writecode VAR_CALLERID, PHONE_HIKER_PARRY
@@ -162,7 +162,7 @@ UnknownScript_0x19e1a4:
 
 UnknownScript_0x19e1b8:
    scall UnknownScript_0x19e133
    winlosstext HikerParry3BeatenText, $0000
    copybytetovar wParryFightCount
    if_equal 2, .Fight2
    if_equal 1, .Fight1
@@ -218,7 +218,7 @@ UnknownScript_0x19e219:
    jump UnknownScript_0x19e127
 
 TrainerHikerTimothy:
    trainer EVENT_BEAT_HIKER_TIMOTHY, HIKER, TIMOTHY, HikerTimothySeenText, HikerTimothyBeatenText, $0000, HikerTimothyScript
 
 HikerTimothyScript:
    talkaftercancel
@@ -229,7 +229,7 @@ HikerTimothyScript:
    end
 
 TrainerCooltrainermRyan:
    trainer EVENT_BEAT_COOLTRAINERM_RYAN, COOLTRAINERM, RYAN, CooltrainermRyanSeenText, CooltrainermRyanBeatenText, $0000, CooltrainermRyanScript
 
 CooltrainermRyanScript:
    talkaftercancel
@@ -240,7 +240,7 @@ CooltrainermRyanScript:
    end
 
 TrainerCooltrainerfKelly:
    trainer EVENT_BEAT_COOLTRAINERF_KELLY, COOLTRAINERF, KELLY, CooltrainerfKellySeenText, CooltrainerfKellyBeatenText, $0000, CooltrainerfKellyScript
 
 CooltrainerfKellyScript:
    talkaftercancel
@@ -258,7 +258,7 @@ YoungsterScript_0x19e269:
    writetext UnknownText_0x19e87f
    closetext
    loadmovesprites
    winlosstext UnknownText_0x19e899, $0000
    loadtrainer CAMPER, QUENTIN
    startbattle
    returnafterbattle
@@ -535,16 +535,16 @@ Route45_MapEventHeader:
 
 .PersonEvents:
    db 13
-   person_event SPRITE_POKEFAN_M, 16, 10, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerHikerErik, -1
-   person_event SPRITE_POKEFAN_M, 65, 15, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerMichael, -1
-   person_event SPRITE_POKEFAN_M, 28, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerParry, -1
-   person_event SPRITE_POKEFAN_M, 65, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerHikerTimothy, -1
-   person_event SPRITE_BLACK_BELT, 50, 11, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBlackbeltKenji, -1
-   person_event SPRITE_COOLTRAINER_M, 18, 17, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainermRyan, -1
-   person_event SPRITE_COOLTRAINER_F, 36, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfKelly, -1
-   person_event SPRITE_FRUIT_TREE, 82, 16, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19e294, -1
-   person_event SPRITE_POKE_BALL, 51, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e296, EVENT_ROUTE_45_NUGGET
-   person_event SPRITE_POKE_BALL, 66, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e298, EVENT_ROUTE_45_REVIVE
-   person_event SPRITE_POKE_BALL, 20, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e29a, EVENT_ROUTE_45_ELIXER
-   person_event SPRITE_POKE_BALL, 33, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e29c, EVENT_ROUTE_45_MAX_POTION
-   person_event SPRITE_YOUNGSTER, 70, 4, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x19e269, -1
+   person_event SPRITE_POKEFAN_M, 16, 10, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerHikerErik, -1
+   person_event SPRITE_POKEFAN_M, 65, 15, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerMichael, -1
+   person_event SPRITE_POKEFAN_M, 28, 5, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerParry, -1
+   person_event SPRITE_POKEFAN_M, 65, 9, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerHikerTimothy, -1
+   person_event SPRITE_BLACK_BELT, 50, 11, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerBlackbeltKenji, -1
+   person_event SPRITE_COOLTRAINER_M, 18, 17, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainermRyan, -1
+   person_event SPRITE_COOLTRAINER_F, 36, 5, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfKelly, -1
+   person_event SPRITE_FRUIT_TREE, 82, 16, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x19e294, -1
+   person_event SPRITE_POKE_BALL, 51, 6, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e296, EVENT_ROUTE_45_NUGGET
+   person_event SPRITE_POKE_BALL, 66, 5, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e298, EVENT_ROUTE_45_REVIVE
+   person_event SPRITE_POKE_BALL, 20, 6, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e29a, EVENT_ROUTE_45_ELIXER
+   person_event SPRITE_POKE_BALL, 33, 7, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x19e29c, EVENT_ROUTE_45_MAX_POTION
+   person_event SPRITE_YOUNGSTER, 70, 4, SPRITEMOVEFN_03, 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 bda4cc9..aeb6f74 100644
--- a/maps/Route46.asm
+++ b/maps/Route46.asm
@@ -6,7 +6,7 @@ Route46_MapScriptHeader:
    db 0
 
 TrainerCamperTed:
    trainer EVENT_BEAT_CAMPER_TED, CAMPER, TED, CamperTedSeenText, CamperTedBeatenText, $0000, CamperTedScript
 
 CamperTedScript:
    talkaftercancel
@@ -17,7 +17,7 @@ CamperTedScript:
    end
 
 TrainerPicnickerErin1:
    trainer EVENT_BEAT_PICNICKER_ERIN, PICNICKER, ERIN1, PicnickerErin1SeenText, PicnickerErin1BeatenText, $0000, PicnickerErin1Script
 
 PicnickerErin1Script:
    writecode VAR_CALLERID, PHONE_PICNICKER_ERIN
@@ -47,7 +47,7 @@ UnknownScript_0x1a96c6:
 
 UnknownScript_0x1a96da:
    scall UnknownScript_0x1a9767
    winlosstext PicnickerErin1BeatenText, $0000
    copybytetovar wErinFightCount
    if_equal 2, .Fight2
    if_equal 1, .Fight1
@@ -140,7 +140,7 @@ UnknownScript_0x1a9772:
    end
 
 TrainerHikerBailey:
    trainer EVENT_BEAT_HIKER_BAILEY, HIKER, BAILEY, HikerBaileySeenText, HikerBaileyBeatenText, $0000, HikerBaileyScript
 
 HikerBaileyScript:
    talkaftercancel
@@ -261,9 +261,9 @@ Route46_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_POKEFAN_M, 19, 12, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerBailey, -1
-   person_event SPRITE_YOUNGSTER, 14, 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerCamperTed, -1
-   person_event SPRITE_LASS, 13, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerErin1, -1
-   person_event SPRITE_FRUIT_TREE, 5, 7, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a978f, -1
-   person_event SPRITE_FRUIT_TREE, 6, 8, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a9791, -1
-   person_event SPRITE_POKE_BALL, 15, 1, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a978d, EVENT_ROUTE_46_X_SPEED
+   person_event SPRITE_POKEFAN_M, 19, 12, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerBailey, -1
+   person_event SPRITE_YOUNGSTER, 14, 4, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerCamperTed, -1
+   person_event SPRITE_LASS, 13, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerPicnickerErin1, -1
+   person_event SPRITE_FRUIT_TREE, 5, 7, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a978f, -1
+   person_event SPRITE_FRUIT_TREE, 6, 8, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a9791, -1
+   person_event SPRITE_POKE_BALL, 15, 1, SPRITEMOVEFN_01, 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 2335dd3..96c3325 100644
--- a/maps/Route5.asm
+++ b/maps/Route5.asm
@@ -57,4 +57,4 @@ Route5_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKEFAN_M, 16, 17, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x1adb19, EVENT_ROUTE_5_6_POKEFAN_M_BLOCKS_UNDERGROUND_PATH
+   person_event SPRITE_POKEFAN_M, 16, 17, SPRITEMOVEFN_06, 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 200e4ec..855029c 100644
--- a/maps/Route5CleanseTagSpeechHouse.asm
+++ b/maps/Route5CleanseTagSpeechHouse.asm
@@ -75,5 +75,5 @@ Route5CleanseTagSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_GRANNY, 5, 2, $1f, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrannyScript_0x18b634, -1
-   person_event SPRITE_TEACHER, 3, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, TeacherScript_0x18b64f, -1
+   person_event SPRITE_GRANNY, 5, 2, SPRITEMOVEFN_1F, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrannyScript_0x18b634, -1
+   person_event SPRITE_TEACHER, 3, 5, SPRITEMOVEFN_08, 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 ee40d6d..1ce6d05 100644
--- a/maps/Route5SaffronCityGate.asm
+++ b/maps/Route5SaffronCityGate.asm
@@ -36,4 +36,4 @@ Route5SaffronCityGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x18b5b9, -1
+   person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEFN_09, 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 5029df0..d3c93cd 100644
--- a/maps/Route5UndergroundEntrance.asm
+++ b/maps/Route5UndergroundEntrance.asm
@@ -34,4 +34,4 @@ Route5UndergroundEntrance_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_TEACHER, 2, 2, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x18b555, -1
+   person_event SPRITE_TEACHER, 2, 2, SPRITEMOVEFN_02, 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 50b8990..de2a5c4 100644
--- a/maps/Route6.asm
+++ b/maps/Route6.asm
@@ -6,7 +6,7 @@ Route6_MapScriptHeader:
    db 0
 
 TrainerPokefanmRex:
    trainer EVENT_BEAT_POKEFANM_REX, POKEFANM, REX, PokefanmRexSeenText, PokefanmRexBeatenText, $0000, PokefanmRexScript
 
 PokefanmRexScript:
    talkaftercancel
@@ -17,7 +17,7 @@ PokefanmRexScript:
    end
 
 TrainerPokefanmAllan:
    trainer EVENT_BEAT_POKEFANM_ALLAN, POKEFANM, ALLAN, PokefanmAllanSeenText, PokefanmAllanBeatenText, $0000, PokefanmAllanScript
 
 PokefanmAllanScript:
    talkaftercancel
@@ -104,6 +104,6 @@ Route6_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKEFAN_M, 4, 17, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 2, PokefanMScript_0x1ad951, EVENT_ROUTE_5_6_POKEFAN_M_BLOCKS_UNDERGROUND_PATH
-   person_event SPRITE_POKEFAN_M, 12, 9, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerPokefanmRex, -1
-   person_event SPRITE_POKEFAN_M, 12, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerPokefanmAllan, -1
+   person_event SPRITE_POKEFAN_M, 4, 17, SPRITEMOVEFN_06, 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, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerPokefanmRex, -1
+   person_event SPRITE_POKEFAN_M, 12, 10, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerPokefanmAllan, -1
diff --git a/maps/Route6SaffronGate.asm b/maps/Route6SaffronGate.asm
index ab457f5..070f0be 100644
--- a/maps/Route6SaffronGate.asm
+++ b/maps/Route6SaffronGate.asm
@@ -3,7 +3,7 @@ Route6SaffronGate_MapScriptHeader:
    db 1
 
    ; triggers
    dw UnknownScript_0x1926e9, $0000
 
 .MapCallbacks:
    db 0
@@ -75,4 +75,4 @@ Route6SaffronGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 4, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x1926ea, -1
+   person_event SPRITE_OFFICER, 4, 0, SPRITEMOVEFN_09, 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 05b09f0..c3e268d 100644
--- a/maps/Route7SaffronGate.asm
+++ b/maps/Route7SaffronGate.asm
@@ -61,4 +61,4 @@ Route7SaffronGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x73518, -1
+   person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEFN_06, 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 c8dab80..cad14ef 100644
--- a/maps/Route8.asm
+++ b/maps/Route8.asm
@@ -6,7 +6,7 @@ Route8_MapScriptHeader:
    db 0
 
 TrainerBikerDwayne:
    trainer EVENT_BEAT_BIKER_DWAYNE, BIKER, DWAYNE, BikerDwayneSeenText, BikerDwayneBeatenText, $0000, BikerDwayneScript
 
 BikerDwayneScript:
    talkaftercancel
@@ -17,7 +17,7 @@ BikerDwayneScript:
    end
 
 TrainerBikerHarris:
    trainer EVENT_BEAT_BIKER_HARRIS, BIKER, HARRIS, BikerHarrisSeenText, BikerHarrisBeatenText, $0000, BikerHarrisScript
 
 BikerHarrisScript:
    talkaftercancel
@@ -28,7 +28,7 @@ BikerHarrisScript:
    end
 
 TrainerBikerZeke:
    trainer EVENT_BEAT_BIKER_ZEKE, BIKER, ZEKE, BikerZekeSeenText, BikerZekeBeatenText, $0000, BikerZekeScript
 
 BikerZekeScript:
    talkaftercancel
@@ -39,7 +39,7 @@ BikerZekeScript:
    end
 
 TrainerSupernerdSam:
    trainer EVENT_BEAT_SUPER_NERD_SAM, SUPER_NERD, SAM, SupernerdSamSeenText, SupernerdSamBeatenText, $0000, SupernerdSamScript
 
 SupernerdSamScript:
    talkaftercancel
@@ -50,7 +50,7 @@ SupernerdSamScript:
    end
 
 TrainerSupernerdTom:
    trainer EVENT_BEAT_SUPER_NERD_TOM, SUPER_NERD, TOM, SupernerdTomSeenText, SupernerdTomBeatenText, $0000, SupernerdTomScript
 
 SupernerdTomScript:
    talkaftercancel
@@ -183,9 +183,9 @@ Route8_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_BIKER, 8, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerBikerDwayne, -1
-   person_event SPRITE_BIKER, 9, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerBikerHarris, -1
-   person_event SPRITE_BIKER, 10, 10, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerBikerZeke, -1
-   person_event SPRITE_SUPER_NERD, 2, 23, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerSupernerdSam, -1
-   person_event SPRITE_SUPER_NERD, 12, 31, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerSupernerdTom, -1
-   person_event SPRITE_FRUIT_TREE, 5, 33, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x6c06c, -1
+   person_event SPRITE_BIKER, 8, 10, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 5, TrainerBikerDwayne, -1
+   person_event SPRITE_BIKER, 9, 10, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerBikerHarris, -1
+   person_event SPRITE_BIKER, 10, 10, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerBikerZeke, -1
+   person_event SPRITE_SUPER_NERD, 2, 23, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerSupernerdSam, -1
+   person_event SPRITE_SUPER_NERD, 12, 31, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerSupernerdTom, -1
+   person_event SPRITE_FRUIT_TREE, 5, 33, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x6c06c, -1
diff --git a/maps/Route8SaffronGate.asm b/maps/Route8SaffronGate.asm
index 607909e..deb58b6 100644
--- a/maps/Route8SaffronGate.asm
+++ b/maps/Route8SaffronGate.asm
@@ -35,4 +35,4 @@ Route8SaffronGate_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_OFFICER, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x7f416, -1
+   person_event SPRITE_OFFICER, 2, 5, SPRITEMOVEFN_06, 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 6f760ff..576e410 100644
--- a/maps/Route9.asm
+++ b/maps/Route9.asm
@@ -6,7 +6,7 @@ Route9_MapScriptHeader:
    db 0
 
 TrainerCamperDean:
    trainer EVENT_BEAT_CAMPER_DEAN, CAMPER, DEAN, CamperDeanSeenText, CamperDeanBeatenText, $0000, CamperDeanScript
 
 CamperDeanScript:
    talkaftercancel
@@ -17,7 +17,7 @@ CamperDeanScript:
    end
 
 TrainerPicnickerHeidi:
    trainer EVENT_BEAT_PICNICKER_HEIDI, PICNICKER, HEIDI, PicnickerHeidiSeenText, PicnickerHeidiBeatenText, $0000, PicnickerHeidiScript
 
 PicnickerHeidiScript:
    talkaftercancel
@@ -28,7 +28,7 @@ PicnickerHeidiScript:
    end
 
 TrainerCamperSid:
    trainer EVENT_BEAT_CAMPER_SID, CAMPER, SID, CamperSidSeenText, CamperSidBeatenText, $0000, CamperSidScript
 
 CamperSidScript:
    talkaftercancel
@@ -39,7 +39,7 @@ CamperSidScript:
    end
 
 TrainerPicnickerEdna:
    trainer EVENT_BEAT_PICNICKER_EDNA, PICNICKER, EDNA, PicnickerEdnaSeenText, PicnickerEdnaBeatenText, $0000, PicnickerEdnaScript
 
 PicnickerEdnaScript:
    talkaftercancel
@@ -50,7 +50,7 @@ PicnickerEdnaScript:
    end
 
 TrainerHikerTim:
    trainer EVENT_BEAT_HIKER_TIM, HIKER, TIM, HikerTimSeenText, HikerTimBeatenText, $0000, HikerTimScript
 
 HikerTimScript:
    talkaftercancel
@@ -61,7 +61,7 @@ HikerTimScript:
    end
 
 TrainerHikerSidney:
    trainer EVENT_BEAT_HIKER_SIDNEY, HIKER, SIDNEY, HikerSidneySeenText, HikerSidneyBeatenText, $0000, HikerSidneyScript
 
 HikerSidneyScript:
    talkaftercancel
@@ -216,9 +216,9 @@ Route9_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_YOUNGSTER, 11, 23, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperDean, -1
-   person_event SPRITE_LASS, 8, 39, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPicnickerHeidi, -1
-   person_event SPRITE_YOUNGSTER, 4, 11, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerCamperSid, -1
-   person_event SPRITE_LASS, 15, 12, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerEdna, -1
-   person_event SPRITE_POKEFAN_M, 3, 28, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerTim, -1
-   person_event SPRITE_POKEFAN_M, 15, 36, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerHikerSidney, -1
+   person_event SPRITE_YOUNGSTER, 11, 23, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerCamperDean, -1
+   person_event SPRITE_LASS, 8, 39, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 3, TrainerPicnickerHeidi, -1
+   person_event SPRITE_YOUNGSTER, 4, 11, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 5, TrainerCamperSid, -1
+   person_event SPRITE_LASS, 15, 12, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 1, TrainerPicnickerEdna, -1
+   person_event SPRITE_POKEFAN_M, 3, 28, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerTim, -1
+   person_event SPRITE_POKEFAN_M, 15, 36, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 4, TrainerHikerSidney, -1
diff --git a/maps/RuinsofAlphAerodactylChamber.asm b/maps/RuinsofAlphAerodactylChamber.asm
index f8ce706..397ef58 100644
--- a/maps/RuinsofAlphAerodactylChamber.asm
+++ b/maps/RuinsofAlphAerodactylChamber.asm
@@ -3,8 +3,8 @@ RuinsofAlphAerodactylChamber_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x58dad, $0000
    dw UnknownScript_0x58db8, $0000
 
 .MapCallbacks:
    db 1
diff --git a/maps/RuinsofAlphAerodactylItemRoom.asm b/maps/RuinsofAlphAerodactylItemRoom.asm
index 2ddcd70..abacc6e 100644
--- a/maps/RuinsofAlphAerodactylItemRoom.asm
+++ b/maps/RuinsofAlphAerodactylItemRoom.asm
@@ -47,7 +47,7 @@ RuinsofAlphAerodactylItemRoom_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKE_BALL, 6, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59ab6, EVENT_PICKED_UP_GOLD_BERRY_FROM_AERODACTYL_ITEM_ROOM
-   person_event SPRITE_POKE_BALL, 6, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59ab8, EVENT_PICKED_UP_MOON_STONE_FROM_AERODACTYL_ITEM_ROOM
-   person_event SPRITE_POKE_BALL, 4, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59aba, EVENT_PICKED_UP_HEAL_POWDER_FROM_AERODACTYL_ITEM_ROOM
-   person_event SPRITE_POKE_BALL, 4, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59abc, EVENT_PICKED_UP_ENERGY_ROOT_FROM_AERODACTYL_ITEM_ROOM
+   person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59ab6, EVENT_PICKED_UP_GOLD_BERRY_FROM_AERODACTYL_ITEM_ROOM
+   person_event SPRITE_POKE_BALL, 6, 5, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59ab8, EVENT_PICKED_UP_MOON_STONE_FROM_AERODACTYL_ITEM_ROOM
+   person_event SPRITE_POKE_BALL, 4, 2, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59aba, EVENT_PICKED_UP_HEAL_POWDER_FROM_AERODACTYL_ITEM_ROOM
+   person_event SPRITE_POKE_BALL, 4, 5, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59abc, EVENT_PICKED_UP_ENERGY_ROOT_FROM_AERODACTYL_ITEM_ROOM
diff --git a/maps/RuinsofAlphHoOhChamber.asm b/maps/RuinsofAlphHoOhChamber.asm
index 2007107..dccd966 100644
--- a/maps/RuinsofAlphHoOhChamber.asm
+++ b/maps/RuinsofAlphHoOhChamber.asm
@@ -3,8 +3,8 @@ RuinsofAlphHoOhChamber_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x5856d, $0000
    dw UnknownScript_0x5857b, $0000
 
 .MapCallbacks:
    db 1
diff --git a/maps/RuinsofAlphHoOhItemRoom.asm b/maps/RuinsofAlphHoOhItemRoom.asm
index c3af94b..25c86aa 100644
--- a/maps/RuinsofAlphHoOhItemRoom.asm
+++ b/maps/RuinsofAlphHoOhItemRoom.asm
@@ -47,7 +47,7 @@ RuinsofAlphHoOhItemRoom_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKE_BALL, 6, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59918, EVENT_PICKED_UP_GOLD_BERRY_FROM_HO_OH_ITEM_ROOM
-   person_event SPRITE_POKE_BALL, 6, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5991a, EVENT_PICKED_UP_MYSTERYBERRY_FROM_HO_OH_ITEM_ROOM
-   person_event SPRITE_POKE_BALL, 4, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5991c, EVENT_PICKED_UP_REVIVAL_HERB_FROM_HO_OH_ITEM_ROOM
-   person_event SPRITE_POKE_BALL, 4, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5991e, EVENT_PICKED_UP_CHARCOAL_FROM_HO_OH_ITEM_ROOM
+   person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59918, EVENT_PICKED_UP_GOLD_BERRY_FROM_HO_OH_ITEM_ROOM
+   person_event SPRITE_POKE_BALL, 6, 5, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5991a, EVENT_PICKED_UP_MYSTERYBERRY_FROM_HO_OH_ITEM_ROOM
+   person_event SPRITE_POKE_BALL, 4, 2, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5991c, EVENT_PICKED_UP_REVIVAL_HERB_FROM_HO_OH_ITEM_ROOM
+   person_event SPRITE_POKE_BALL, 4, 5, SPRITEMOVEFN_01, 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 ae8bed5..2d36abb 100644
--- a/maps/RuinsofAlphInnerChamber.asm
+++ b/maps/RuinsofAlphInnerChamber.asm
@@ -3,8 +3,8 @@ RuinsofAlphInnerChamber_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x58f69, $0000
    dw UnknownScript_0x58f6a, $0000
 
 .MapCallbacks:
    db 0
@@ -125,6 +125,6 @@ RuinsofAlphInnerChamber_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_FISHER, 7, 3, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x58f7d, EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS
-   person_event SPRITE_TEACHER, 13, 14, $2, 1, 1, -1, -1, 0, 0, 0, TeacherScript_0x58f80, EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS
-   person_event SPRITE_GRAMPS, 19, 11, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x58f83, EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS
+   person_event SPRITE_FISHER, 7, 3, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x58f7d, EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS
+   person_event SPRITE_TEACHER, 13, 14, SPRITEMOVEFN_02, 1, 1, -1, -1, 0, 0, 0, TeacherScript_0x58f80, EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS
+   person_event SPRITE_GRAMPS, 19, 11, SPRITEMOVEFN_07, 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 e20eaf7..d48cfb1 100644
--- a/maps/RuinsofAlphKabutoChamber.asm
+++ b/maps/RuinsofAlphKabutoChamber.asm
@@ -3,8 +3,8 @@ RuinsofAlphKabutoChamber_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x5872b, $0000
    dw UnknownScript_0x58736, $0000
 
 .MapCallbacks:
    db 1
@@ -284,5 +284,5 @@ RuinsofAlphKabutoChamber_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_RECEPTIONIST, 5, 5, $6, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x58769, EVENT_RUINS_OF_ALPH_KABUTO_CHAMBER_RECEPTIONIST
-   person_event SPRITE_SCIENTIST, 1, 3, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x587a8, -1
+   person_event SPRITE_RECEPTIONIST, 5, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, ReceptionistScript_0x58769, EVENT_RUINS_OF_ALPH_KABUTO_CHAMBER_RECEPTIONIST
+   person_event SPRITE_SCIENTIST, 1, 3, SPRITEMOVEFN_07, 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 02f9242..d27f5a8 100644
--- a/maps/RuinsofAlphKabutoItemRoom.asm
+++ b/maps/RuinsofAlphKabutoItemRoom.asm
@@ -47,7 +47,7 @@ RuinsofAlphKabutoItemRoom_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKE_BALL, 6, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a2, EVENT_PICKED_UP_BERRY_FROM_KABUTO_ITEM_ROOM
-   person_event SPRITE_POKE_BALL, 6, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a4, EVENT_PICKED_UP_PSNCUREBERRY_FROM_KABUTO_ITEM_ROOM
-   person_event SPRITE_POKE_BALL, 4, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a6, EVENT_PICKED_UP_HEAL_POWDER_FROM_KABUTO_ITEM_ROOM
-   person_event SPRITE_POKE_BALL, 4, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a8, EVENT_PICKED_UP_ENERGYPOWDER_FROM_KABUTO_ITEM_ROOM
+   person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a2, EVENT_PICKED_UP_BERRY_FROM_KABUTO_ITEM_ROOM
+   person_event SPRITE_POKE_BALL, 6, 5, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a4, EVENT_PICKED_UP_PSNCUREBERRY_FROM_KABUTO_ITEM_ROOM
+   person_event SPRITE_POKE_BALL, 4, 2, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a6, EVENT_PICKED_UP_HEAL_POWDER_FROM_KABUTO_ITEM_ROOM
+   person_event SPRITE_POKE_BALL, 4, 5, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x599a8, EVENT_PICKED_UP_ENERGYPOWDER_FROM_KABUTO_ITEM_ROOM
diff --git a/maps/RuinsofAlphOmanyteChamber.asm b/maps/RuinsofAlphOmanyteChamber.asm
index 3c0642a..4805ba9 100644
--- a/maps/RuinsofAlphOmanyteChamber.asm
+++ b/maps/RuinsofAlphOmanyteChamber.asm
@@ -3,8 +3,8 @@ RuinsofAlphOmanyteChamber_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x58be9, $0000
    dw UnknownScript_0x58bf7, $0000
 
 .MapCallbacks:
    db 1
diff --git a/maps/RuinsofAlphOmanyteItemRoom.asm b/maps/RuinsofAlphOmanyteItemRoom.asm
index 5fb6227..5a37501 100644
--- a/maps/RuinsofAlphOmanyteItemRoom.asm
+++ b/maps/RuinsofAlphOmanyteItemRoom.asm
@@ -47,7 +47,7 @@ RuinsofAlphOmanyteItemRoom_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKE_BALL, 6, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a2c, EVENT_PICKED_UP_MYSTERYBERRY_FROM_OMANYTE_ITEM_ROOM
-   person_event SPRITE_POKE_BALL, 6, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a2e, EVENT_PICKED_UP_MYSTIC_WATER_FROM_OMANYTE_ITEM_ROOM
-   person_event SPRITE_POKE_BALL, 4, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a30, EVENT_PICKED_UP_STARDUST_FROM_OMANYTE_ITEM_ROOM
-   person_event SPRITE_POKE_BALL, 4, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a32, EVENT_PICKED_UP_STAR_PIECE_FROM_OMANYTE_ITEM_ROOM
+   person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a2c, EVENT_PICKED_UP_MYSTERYBERRY_FROM_OMANYTE_ITEM_ROOM
+   person_event SPRITE_POKE_BALL, 6, 5, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a2e, EVENT_PICKED_UP_MYSTIC_WATER_FROM_OMANYTE_ITEM_ROOM
+   person_event SPRITE_POKE_BALL, 4, 2, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59a30, EVENT_PICKED_UP_STARDUST_FROM_OMANYTE_ITEM_ROOM
+   person_event SPRITE_POKE_BALL, 4, 5, SPRITEMOVEFN_01, 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 e4748d9..3ac707d 100644
--- a/maps/RuinsofAlphOutside.asm
+++ b/maps/RuinsofAlphOutside.asm
@@ -3,8 +3,8 @@ RuinsofAlphOutside_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x5800d, $0000
    dw UnknownScript_0x5800e, $0000
 
 .MapCallbacks:
    db 1
@@ -100,7 +100,7 @@ YoungsterScript_0x5807e:
    end
 
 TrainerPsychicNathan:
    trainer EVENT_BEAT_PSYCHIC_NATHAN, PSYCHIC_T, NATHAN, PsychicNathanSeenText, PsychicNathanBeatenText, $0000, PsychicNathanScript
 
 PsychicNathanScript:
    talkaftercancel
@@ -112,7 +112,7 @@ PsychicNathanScript:
 
 
 TrainerSuperNerdStan:
    trainer EVENT_BEAT_SUPER_NERD_STAN, SUPER_NERD, STAN, UnknownText_0x581e5, UnknownText_0x58217, $0000, UnknownScript_0x580a9
 
 UnknownScript_0x580a9:
    talkaftercancel
@@ -311,8 +311,8 @@ RuinsofAlphOutside_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_YOUNGSTER, 20, 4, $6, 0, 0, -1, -1, 0, 2, 1, TrainerPsychicNathan, -1
-   person_event SPRITE_SCIENTIST, 15, 11, $7, 0, 0, -1, -1, 0, 0, 0, ScientistScript_0x58043, EVENT_RUINS_OF_ALPH_OUTSIDE_SCIENTIST
-   person_event SPRITE_FISHER, 17, 13, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x58061, EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_FISHER
-   person_event SPRITE_YOUNGSTER, 11, 14, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, YoungsterScript_0x58076, EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_YOUNGSTERS
-   person_event SPRITE_YOUNGSTER, 8, 12, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x5807e, EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_YOUNGSTERS
+   person_event SPRITE_YOUNGSTER, 20, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 2, 1, TrainerPsychicNathan, -1
+   person_event SPRITE_SCIENTIST, 15, 11, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, ScientistScript_0x58043, EVENT_RUINS_OF_ALPH_OUTSIDE_SCIENTIST
+   person_event SPRITE_FISHER, 17, 13, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x58061, EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_FISHER
+   person_event SPRITE_YOUNGSTER, 11, 14, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, YoungsterScript_0x58076, EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_YOUNGSTERS
+   person_event SPRITE_YOUNGSTER, 8, 12, SPRITEMOVEFN_07, 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 47aa063..205185d 100644
--- a/maps/RuinsofAlphResearchCenter.asm
+++ b/maps/RuinsofAlphResearchCenter.asm
@@ -3,8 +3,8 @@ RuinsofAlphResearchCenter_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x59180, $0000
    dw UnknownScript_0x59181, $0000
 
 .MapCallbacks:
    db 1
@@ -412,6 +412,6 @@ RuinsofAlphResearchCenter_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_SCIENTIST, 5, 4, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x591e5, -1
-   person_event SPRITE_SCIENTIST, 2, 5, $2, 1, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x59214, -1
-   person_event SPRITE_SCIENTIST, 5, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x591d1, EVENT_RUINS_OF_ALPH_RESEARCH_CENTER_SCIENTIST
+   person_event SPRITE_SCIENTIST, 5, 4, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x591e5, -1
+   person_event SPRITE_SCIENTIST, 2, 5, SPRITEMOVEFN_02, 1, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x59214, -1
+   person_event SPRITE_SCIENTIST, 5, 2, SPRITEMOVEFN_07, 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 911da54..396aa31 100644
--- a/maps/SafariZoneWardensHome.asm
+++ b/maps/SafariZoneWardensHome.asm
@@ -94,4 +94,4 @@ SafariZoneWardensHome_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_LASS, 4, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, WardensGranddaughter, -1
+   person_event SPRITE_LASS, 4, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, WardensGranddaughter, -1
diff --git a/maps/SaffronCity.asm b/maps/SaffronCity.asm
index 363f930..a5fa856 100644
--- a/maps/SaffronCity.asm
+++ b/maps/SaffronCity.asm
@@ -295,11 +295,11 @@ SaffronCity_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_LASS, 14, 7, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LassScript_0x19932a, -1
-   person_event SPRITE_POKEFAN_M, 30, 19, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x19933e, -1
-   person_event SPRITE_COOLTRAINER_M, 7, 32, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerMScript_0x199352, -1
-   person_event SPRITE_COOLTRAINER_F, 24, 20, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x199355, -1
-   person_event SPRITE_FISHER, 12, 27, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x199358, -1
-   person_event SPRITE_YOUNGSTER, 19, 15, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x19936c, -1
-   person_event SPRITE_YOUNGSTER, 22, 35, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x19936f, -1
-   person_event SPRITE_LASS, 8, 19, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x199372, -1
+   person_event SPRITE_LASS, 14, 7, SPRITEMOVEFN_05, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, LassScript_0x19932a, -1
+   person_event SPRITE_POKEFAN_M, 30, 19, SPRITEMOVEFN_05, 0, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, PokefanMScript_0x19933e, -1
+   person_event SPRITE_COOLTRAINER_M, 7, 32, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerMScript_0x199352, -1
+   person_event SPRITE_COOLTRAINER_F, 24, 20, SPRITEMOVEFN_05, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x199355, -1
+   person_event SPRITE_FISHER, 12, 27, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x199358, -1
+   person_event SPRITE_YOUNGSTER, 19, 15, SPRITEMOVEFN_04, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x19936c, -1
+   person_event SPRITE_YOUNGSTER, 22, 35, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x19936f, -1
+   person_event SPRITE_LASS, 8, 19, SPRITEMOVEFN_03, 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 8e7bb10..dfd476b 100644
--- a/maps/SaffronGym.asm
+++ b/maps/SaffronGym.asm
@@ -13,7 +13,7 @@ SabrinaScript_0x189c2e:
    writetext UnknownText_0x189cdf
    closetext
    loadmovesprites
    winlosstext UnknownText_0x189df4, $0000
    loadtrainer SABRINA, 1
    startbattle
    returnafterbattle
@@ -39,7 +39,7 @@ SabrinaScript_0x189c2e:
    end
 
 TrainerMediumRebecca:
    trainer EVENT_BEAT_MEDIUM_REBECCA, MEDIUM, REBECCA, MediumRebeccaSeenText, MediumRebeccaBeatenText, $0000, MediumRebeccaScript
 
 MediumRebeccaScript:
    talkaftercancel
@@ -50,7 +50,7 @@ MediumRebeccaScript:
    end
 
 TrainerPsychicFranklin:
    trainer EVENT_BEAT_PSYCHIC_FRANKLIN, PSYCHIC_T, FRANKLIN, PsychicFranklinSeenText, PsychicFranklinBeatenText, $0000, PsychicFranklinScript
 
 PsychicFranklinScript:
    talkaftercancel
@@ -61,7 +61,7 @@ PsychicFranklinScript:
    end
 
 TrainerMediumDoris:
    trainer EVENT_BEAT_MEDIUM_DORIS, MEDIUM, DORIS, MediumDorisSeenText, MediumDorisBeatenText, $0000, MediumDorisScript
 
 MediumDorisScript:
    talkaftercancel
@@ -72,7 +72,7 @@ MediumDorisScript:
    end
 
 TrainerPsychicJared:
    trainer EVENT_BEAT_PSYCHIC_JARED, PSYCHIC_T, JARED, PsychicJaredSeenText, PsychicJaredBeatenText, $0000, PsychicJaredScript
 
 PsychicJaredScript:
    talkaftercancel
@@ -330,9 +330,9 @@ SaffronGym_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_SABRINA, 8, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SabrinaScript_0x189c2e, -1
-   person_event SPRITE_GRANNY, 16, 17, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerMediumRebecca, -1
-   person_event SPRITE_YOUNGSTER, 16, 3, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicFranklin, -1
-   person_event SPRITE_GRANNY, 4, 3, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerMediumDoris, -1
-   person_event SPRITE_YOUNGSTER, 4, 17, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPsychicJared, -1
-   person_event SPRITE_GYM_GUY, 14, 9, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SaffronGymGuyScript, -1
+   person_event SPRITE_SABRINA, 8, 9, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SabrinaScript_0x189c2e, -1
+   person_event SPRITE_GRANNY, 16, 17, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerMediumRebecca, -1
+   person_event SPRITE_YOUNGSTER, 16, 3, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPsychicFranklin, -1
+   person_event SPRITE_GRANNY, 4, 3, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerMediumDoris, -1
+   person_event SPRITE_YOUNGSTER, 4, 17, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPsychicJared, -1
+   person_event SPRITE_GYM_GUY, 14, 9, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SaffronGymGuyScript, -1
diff --git a/maps/SaffronMart.asm b/maps/SaffronMart.asm
index 6a68113..63d0f24 100644
--- a/maps/SaffronMart.asm
+++ b/maps/SaffronMart.asm
@@ -49,6 +49,6 @@ SaffronMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18a3bf, -1
-   person_event SPRITE_COOLTRAINER_M, 2, 7, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CooltrainerMScript_0x18a3c6, -1
-   person_event SPRITE_COOLTRAINER_F, 6, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, CooltrainerFScript_0x18a3c9, -1
+   person_event SPRITE_CLERK, 3, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x18a3bf, -1
+   person_event SPRITE_COOLTRAINER_M, 2, 7, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, CooltrainerMScript_0x18a3c6, -1
+   person_event SPRITE_COOLTRAINER_F, 6, 7, SPRITEMOVEFN_05, 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 125e796..4b957a3 100644
--- a/maps/SaffronPokeCenter1F.asm
+++ b/maps/SaffronPokeCenter1F.asm
@@ -123,7 +123,7 @@ SaffronPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18a47d, -1
-   person_event SPRITE_TEACHER, 2, 7, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x18a480, -1
-   person_event SPRITE_FISHER, 6, 8, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x18a48c, -1
-   person_event SPRITE_YOUNGSTER, 4, 1, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, YoungsterScript_0x18a4a0, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x18a47d, -1
+   person_event SPRITE_TEACHER, 2, 7, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, TeacherScript_0x18a480, -1
+   person_event SPRITE_FISHER, 6, 8, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x18a48c, -1
+   person_event SPRITE_YOUNGSTER, 4, 1, SPRITEMOVEFN_03, 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 55587b1..06306c6 100644
--- a/maps/SaffronTrainStation.asm
+++ b/maps/SaffronTrainStation.asm
@@ -3,7 +3,7 @@ SaffronTrainStation_MapScriptHeader:
    db 1
 
    ; triggers
    dw .Trigger1, $0000
 
 .MapCallbacks:
    db 0
@@ -231,7 +231,7 @@ SaffronTrainStation_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_OFFICER, 9, 9, $6, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x18a81e, -1
-   person_event SPRITE_GYM_GUY, 14, 10, $2, 1, 1, -1, -1, 0, 0, 0, GymGuyScript_0x18a875, -1
-   person_event SPRITE_TEACHER, 11, 6, $9, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x18a889, EVENT_SAFFRON_TRAIN_STATION_POPULATION
-   person_event SPRITE_LASS, 10, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x18a88c, EVENT_SAFFRON_TRAIN_STATION_POPULATION
+   person_event SPRITE_OFFICER, 9, 9, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x18a81e, -1
+   person_event SPRITE_GYM_GUY, 14, 10, SPRITEMOVEFN_02, 1, 1, -1, -1, 0, 0, 0, GymGuyScript_0x18a875, -1
+   person_event SPRITE_TEACHER, 11, 6, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x18a889, EVENT_SAFFRON_TRAIN_STATION_POPULATION
+   person_event SPRITE_LASS, 10, 6, SPRITEMOVEFN_07, 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 558a979..1e556ee 100644
--- a/maps/SeafoamGym.asm
+++ b/maps/SeafoamGym.asm
@@ -3,7 +3,7 @@ SeafoamGym_MapScriptHeader:
    db 1
 
    ; triggers
    dw UnknownScript_0x1ab4fa, $0000
 
 .MapCallbacks:
    db 0
@@ -19,7 +19,7 @@ BlaineScript_0x1ab4fb:
    writetext UnknownText_0x1ab548
    closetext
    loadmovesprites
    winlosstext UnknownText_0x1ab646, $0000
    loadtrainer BLAINE, 1
    startbattle
    iftrue .ReturnAfterBattle
@@ -171,5 +171,5 @@ SeafoamGym_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_BLAINE, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BlaineScript_0x1ab4fb, -1
-   person_event SPRITE_GYM_GUY, 5, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SeafoamGymGuyScript, EVENT_SEAFOAM_GYM_GYM_GUY
+   person_event SPRITE_BLAINE, 2, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BlaineScript_0x1ab4fb, -1
+   person_event SPRITE_GYM_GUY, 5, 6, SPRITEMOVEFN_07, 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 0acff40..e3fa187 100644
--- a/maps/SilphCo1F.asm
+++ b/maps/SilphCo1F.asm
@@ -68,5 +68,5 @@ SilphCo1F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_RECEPTIONIST, 2, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ReceptionistScript_0x18abe5, -1
-   person_event SPRITE_OFFICER, 1, 13, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OfficerScript_0x18abe8, -1
+   person_event SPRITE_RECEPTIONIST, 2, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ReceptionistScript_0x18abe5, -1
+   person_event SPRITE_OFFICER, 1, 13, SPRITEMOVEFN_06, 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 e421dd7..1b63a1b 100644
--- a/maps/SilverCaveItemRooms.asm
+++ b/maps/SilverCaveItemRooms.asm
@@ -28,5 +28,5 @@ SilverCaveItemRooms_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKE_BALL, 3, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c65e, EVENT_SILVER_CAVE_ITEM_ROOMS_MAX_REVIVE
-   person_event SPRITE_POKE_BALL, 11, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c660, EVENT_SILVER_CAVE_ITEM_ROOMS_FULL_RESTORE
+   person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c65e, EVENT_SILVER_CAVE_ITEM_ROOMS_MAX_REVIVE
+   person_event SPRITE_POKE_BALL, 11, 15, SPRITEMOVEFN_01, 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 1b53d49..2557e12 100644
--- a/maps/SilverCavePokeCenter1F.asm
+++ b/maps/SilverCavePokeCenter1F.asm
@@ -43,5 +43,5 @@ SilverCavePokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x1ae59a, -1
-   person_event SPRITE_GRANNY, 5, 1, $8, 1, 2, -1, -1, 0, 0, 0, GrannyScript_0x1ae59d, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x1ae59a, -1
+   person_event SPRITE_GRANNY, 5, 1, SPRITEMOVEFN_08, 1, 2, -1, -1, 0, 0, 0, GrannyScript_0x1ae59d, -1
diff --git a/maps/SilverCaveRoom1.asm b/maps/SilverCaveRoom1.asm
index 97546a7..bc012df 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, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c554, EVENT_SILVER_CAVE_ROOM_1_MAX_ELIXER
-   person_event SPRITE_POKE_BALL, 29, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c556, EVENT_SILVER_CAVE_ROOM_1_PROTEIN
-   person_event SPRITE_POKE_BALL, 30, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c558, EVENT_SILVER_CAVE_ROOM_1_ESCAPE_ROPE
-   person_event SPRITE_POKE_BALL, 18, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c55a, EVENT_SILVER_CAVE_ROOM_1_ULTRA_BALL
+   person_event SPRITE_POKE_BALL, 9, 4, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c554, EVENT_SILVER_CAVE_ROOM_1_MAX_ELIXER
+   person_event SPRITE_POKE_BALL, 29, 15, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c556, EVENT_SILVER_CAVE_ROOM_1_PROTEIN
+   person_event SPRITE_POKE_BALL, 30, 5, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c558, EVENT_SILVER_CAVE_ROOM_1_ESCAPE_ROPE
+   person_event SPRITE_POKE_BALL, 18, 7, SPRITEMOVEFN_01, 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 ff0e18d..5bb9ef9 100644
--- a/maps/SilverCaveRoom2.asm
+++ b/maps/SilverCaveRoom2.asm
@@ -38,6 +38,6 @@ SilverCaveRoom2_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKE_BALL, 10, 24, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c5b2, EVENT_SILVER_CAVE_ROOM_2_CALCIUM
-   person_event SPRITE_POKE_BALL, 24, 22, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c5b4, EVENT_SILVER_CAVE_ROOM_2_ULTRA_BALL
-   person_event SPRITE_POKE_BALL, 20, 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c5b6, EVENT_SILVER_CAVE_ROOM_2_PP_UP
+   person_event SPRITE_POKE_BALL, 10, 24, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c5b2, EVENT_SILVER_CAVE_ROOM_2_CALCIUM
+   person_event SPRITE_POKE_BALL, 24, 22, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c5b4, EVENT_SILVER_CAVE_ROOM_2_ULTRA_BALL
+   person_event SPRITE_POKE_BALL, 20, 4, SPRITEMOVEFN_01, 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 4b61090..2b0b11b 100644
--- a/maps/SilverCaveRoom3.asm
+++ b/maps/SilverCaveRoom3.asm
@@ -63,4 +63,4 @@ SilverCaveRoom3_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_RED, 10, 9, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, RedScript_0x18c603, EVENT_RED_IN_MT_SILVER
+   person_event SPRITE_RED, 10, 9, SPRITEMOVEFN_07, 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 9ace60a..c62c9ca 100644
--- a/maps/SlowpokeWellB1F.asm
+++ b/maps/SlowpokeWellB1F.asm
@@ -9,7 +9,7 @@ KurtScript_0x5a5d5:
    jumptextfaceplayer UnknownText_0x5a6b5
 
 TrainerGruntM29:
    trainer EVENT_BEAT_ROCKET_GRUNTM_29, GRUNTM, 29, GruntM29SeenText, GruntM29BeatenText, $0000, GruntM29Script
 
 GruntM29Script:
    talkaftercancel
@@ -20,7 +20,7 @@ GruntM29Script:
    end
 
 TrainerGruntM1:
    trainer EVENT_BEAT_ROCKET_GRUNTM_1, GRUNTM, 1, GruntM1SeenText, GruntM1BeatenText, $0000, GruntM1Script
 
 GruntM1Script:
    loadfont
@@ -63,7 +63,7 @@ GruntM1Script:
    end
 
 TrainerGruntM2:
    trainer EVENT_BEAT_ROCKET_GRUNTM_2, GRUNTM, 2, GruntM2SeenText, GruntM2BeatenText, $0000, GruntM2Script
 
 GruntM2Script:
    talkaftercancel
@@ -74,7 +74,7 @@ GruntM2Script:
    end
 
 TrainerGruntF1:
    trainer EVENT_BEAT_ROCKET_GRUNTF_1, GRUNTF, 1, GruntF1SeenText, GruntF1BeatenText, $0000, GruntF1Script
 
 GruntF1Script:
    talkaftercancel
@@ -326,12 +326,12 @@ SlowpokeWellB1F_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_ROCKET, 7, 15, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM29, EVENT_SLOWPOKE_WELL_ROCKETS
-   person_event SPRITE_ROCKET, 2, 5, $6, 0, 0, -1, -1, 0, 2, 1, TrainerGruntM1, EVENT_SLOWPOKE_WELL_ROCKETS
-   person_event SPRITE_ROCKET, 6, 5, $9, 0, 0, -1, -1, 0, 2, 2, TrainerGruntM2, EVENT_SLOWPOKE_WELL_ROCKETS
-   person_event SPRITE_ROCKET_GIRL, 4, 10, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerGruntF1, EVENT_SLOWPOKE_WELL_ROCKETS
-   person_event SPRITE_SLOWPOKE, 4, 7, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SlowpokeScript_0x5a681, EVENT_SLOWPOKE_WELL_SLOWPOKES
-   person_event SPRITE_SLOWPOKE, 2, 6, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SlowpokeScript_0x5a695, EVENT_SLOWPOKE_WELL_SLOWPOKES
-   person_event SPRITE_KURT, 14, 16, $7, 0, 0, -1, -1, 0, 0, 0, KurtScript_0x5a5d5, EVENT_SLOWPOKE_WELL_KURT
-   person_event SPRITE_BOULDER, 2, 3, $19, 0, 0, -1, -1, 0, 0, 0, SlowpokeWellB1FBoulder, -1
-   person_event SPRITE_POKE_BALL, 3, 10, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a6a3, EVENT_SLOWPOKE_WELL_B1F_SUPER_POTION
+   person_event SPRITE_ROCKET, 7, 15, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM29, EVENT_SLOWPOKE_WELL_ROCKETS
+   person_event SPRITE_ROCKET, 2, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 2, 1, TrainerGruntM1, EVENT_SLOWPOKE_WELL_ROCKETS
+   person_event SPRITE_ROCKET, 6, 5, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 2, 2, TrainerGruntM2, EVENT_SLOWPOKE_WELL_ROCKETS
+   person_event SPRITE_ROCKET_GIRL, 4, 10, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerGruntF1, EVENT_SLOWPOKE_WELL_ROCKETS
+   person_event SPRITE_SLOWPOKE, 4, 7, SPRITEMOVEFN_01, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SlowpokeScript_0x5a681, EVENT_SLOWPOKE_WELL_SLOWPOKES
+   person_event SPRITE_SLOWPOKE, 2, 6, SPRITEMOVEFN_01, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SlowpokeScript_0x5a695, EVENT_SLOWPOKE_WELL_SLOWPOKES
+   person_event SPRITE_KURT, 14, 16, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, KurtScript_0x5a5d5, EVENT_SLOWPOKE_WELL_KURT
+   person_event SPRITE_BOULDER, 2, 3, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, SlowpokeWellB1FBoulder, -1
+   person_event SPRITE_POKE_BALL, 3, 10, SPRITEMOVEFN_01, 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 fcf207b..d23b0c9 100644
--- a/maps/SlowpokeWellB2F.asm
+++ b/maps/SlowpokeWellB2F.asm
@@ -73,5 +73,5 @@ SlowpokeWellB2F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_GYM_GUY, 4, 5, $2, 2, 1, -1, -1, 0, 0, 1, GymGuyScript_0x5ad0b, -1
-   person_event SPRITE_POKE_BALL, 5, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5ad28, EVENT_SLOWPOKE_WELL_B2F_TM_RAIN_DANCE
+   person_event SPRITE_GYM_GUY, 4, 5, SPRITEMOVEFN_02, 2, 1, -1, -1, 0, 0, 1, GymGuyScript_0x5ad0b, -1
+   person_event SPRITE_POKE_BALL, 5, 15, SPRITEMOVEFN_01, 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 f315a3b..6462f8b 100644
--- a/maps/SoulHouse.asm
+++ b/maps/SoulHouse.asm
@@ -83,7 +83,7 @@ SoulHouse_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_GRAMPS, 2, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x7ec47, -1
-   person_event SPRITE_TEACHER, 3, 7, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7ec4a, -1
-   person_event SPRITE_LASS, 5, 2, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x7ec4d, -1
-   person_event SPRITE_GRANNY, 3, 1, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrannyScript_0x7ec50, -1
+   person_event SPRITE_GRAMPS, 2, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x7ec47, -1
+   person_event SPRITE_TEACHER, 3, 7, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, TeacherScript_0x7ec4a, -1
+   person_event SPRITE_LASS, 5, 2, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LassScript_0x7ec4d, -1
+   person_event SPRITE_GRANNY, 3, 1, SPRITEMOVEFN_07, 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 ee4eef4..ab460c3 100644
--- a/maps/SproutTower1F.asm
+++ b/maps/SproutTower1F.asm
@@ -18,7 +18,7 @@ TeacherScript_0x184507:
    jumptextfaceplayer UnknownText_0x18469d
 
 TrainerSageChow:
    trainer EVENT_BEAT_SAGE_CHOW, SAGE, CHOW, SageChowSeenText, SageChowBeatenText, $0000, SageChowScript
 
 SageChowScript:
    talkaftercancel
@@ -116,9 +116,9 @@ SproutTower1F_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_SAGE, 4, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SageScript_0x1844fe, -1
-   person_event SPRITE_SAGE, 7, 6, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SageScript_0x184501, -1
-   person_event SPRITE_GRANNY, 12, 11, $8, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x184504, -1
-   person_event SPRITE_TEACHER, 9, 9, $7, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x184507, -1
-   person_event SPRITE_SAGE, 5, 3, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSageChow, -1
-   person_event SPRITE_POKE_BALL, 7, 16, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18451e, EVENT_SPROUT_TOWER1F_PARLYZ_HEAL
+   person_event SPRITE_SAGE, 4, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SageScript_0x1844fe, -1
+   person_event SPRITE_SAGE, 7, 6, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SageScript_0x184501, -1
+   person_event SPRITE_GRANNY, 12, 11, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, GrannyScript_0x184504, -1
+   person_event SPRITE_TEACHER, 9, 9, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x184507, -1
+   person_event SPRITE_SAGE, 5, 3, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSageChow, -1
+   person_event SPRITE_POKE_BALL, 7, 16, SPRITEMOVEFN_01, 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 946f57d..3fef9b0 100644
--- a/maps/SproutTower2F.asm
+++ b/maps/SproutTower2F.asm
@@ -6,7 +6,7 @@ SproutTower2F_MapScriptHeader:
    db 0
 
 TrainerSageNico:
    trainer EVENT_BEAT_SAGE_NICO, SAGE, NICO, SageNicoSeenText, SageNicoBeatenText, $0000, SageNicoScript
 
 SageNicoScript:
    talkaftercancel
@@ -17,7 +17,7 @@ SageNicoScript:
    end
 
 TrainerSageEdmond:
    trainer EVENT_BEAT_SAGE_EDMOND, SAGE, EDMOND, SageEdmondSeenText, SageEdmondBeatenText, $0000, SageEdmondScript
 
 SageEdmondScript:
    talkaftercancel
@@ -99,6 +99,6 @@ SproutTower2F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_SAGE, 3, 12, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSageNico, -1
-   person_event SPRITE_SAGE, 14, 9, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerSageEdmond, -1
-   person_event SPRITE_POKE_BALL, 1, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1847a7, EVENT_SPROUT_TOWER2F_X_ACCURACY
+   person_event SPRITE_SAGE, 3, 12, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerSageNico, -1
+   person_event SPRITE_SAGE, 14, 9, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 5, TrainerSageEdmond, -1
+   person_event SPRITE_POKE_BALL, 1, 3, SPRITEMOVEFN_01, 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 7656bde..165f31e 100644
--- a/maps/SproutTower3F.asm
+++ b/maps/SproutTower3F.asm
@@ -3,8 +3,8 @@ SproutTower3F_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x184945, $0000
    dw UnknownScript_0x184946, $0000
 
 .MapCallbacks:
    db 0
@@ -64,7 +64,7 @@ SageLiScript:
    writetext SageLiSeenText
    closetext
    loadmovesprites
    winlosstext SageLiBeatenText, $0000
    loadtrainer SAGE, LI
    startbattle
    returnafterbattle
@@ -86,7 +86,7 @@ UnknownScript_0x1849d1:
    end
 
 TrainerSageJin:
    trainer EVENT_BEAT_SAGE_JIN, SAGE, JIN, SageJinSeenText, SageJinBeatenText, $0000, SageJinScript
 
 SageJinScript:
    talkaftercancel
@@ -97,7 +97,7 @@ SageJinScript:
    end
 
 TrainerSageTroy:
    trainer EVENT_BEAT_SAGE_TROY, SAGE, TROY, SageTroySeenText, SageTroyBeatenText, $0000, SageTroyScript
 
 SageTroyScript:
    talkaftercancel
@@ -108,7 +108,7 @@ SageTroyScript:
    end
 
 TrainerSageNeal:
    trainer EVENT_BEAT_SAGE_NEAL, SAGE, NEAL, SageNealSeenText, SageNealBeatenText, $0000, SageNealScript
 
 SageNealScript:
    talkaftercancel
@@ -345,10 +345,10 @@ SproutTower3F_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_SAGE, 13, 8, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSageJin, -1
-   person_event SPRITE_SAGE, 8, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerSageTroy, -1
-   person_event SPRITE_SAGE, 2, 10, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SageLiScript, -1
-   person_event SPRITE_SAGE, 11, 11, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSageNeal, -1
-   person_event SPRITE_POKE_BALL, 14, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x184a19, EVENT_SPROUT_TOWER_3F_POTION
-   person_event SPRITE_POKE_BALL, 1, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x184a1b, EVENT_SPROUT_TOWER_3F_ESCAPE_ROPE
-   person_event SPRITE_SILVER, 4, 10, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_SPROUT_TOWER
+   person_event SPRITE_SAGE, 13, 8, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSageJin, -1
+   person_event SPRITE_SAGE, 8, 8, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerSageTroy, -1
+   person_event SPRITE_SAGE, 2, 10, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SageLiScript, -1
+   person_event SPRITE_SAGE, 11, 11, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerSageNeal, -1
+   person_event SPRITE_POKE_BALL, 14, 6, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x184a19, EVENT_SPROUT_TOWER_3F_POTION
+   person_event SPRITE_POKE_BALL, 1, 14, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x184a1b, EVENT_SPROUT_TOWER_3F_ESCAPE_ROPE
+   person_event SPRITE_SILVER, 4, 10, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_SPROUT_TOWER
diff --git a/maps/TeamRocketBaseB1F.asm b/maps/TeamRocketBaseB1F.asm
index 3f7f1f3..ed4f4d0 100644
--- a/maps/TeamRocketBaseB1F.asm
+++ b/maps/TeamRocketBaseB1F.asm
@@ -3,7 +3,7 @@ TeamRocketBaseB1F_MapScriptHeader:
    db 1
 
    ; triggers
    dw UnknownScript_0x6c65a, $0000
 
 .MapCallbacks:
    db 1
@@ -233,7 +233,7 @@ TrainerCameraGrunt1:
    writetext CameraGrunt1SeenText
    closetext
    loadmovesprites
    winlosstext CameraGrunt1BeatenText, $0000
    setlasttalked $2
    loadtrainer GRUNTM, 20
    startbattle
@@ -246,7 +246,7 @@ TrainerCameraGrunt2:
    writetext CameraGrunt2SeenText
    closetext
    loadmovesprites
    winlosstext CameraGrunt2BeatenText, $0000
    setlasttalked $2
    loadtrainer GRUNTM, 21
    startbattle
@@ -478,7 +478,7 @@ NoExplodingTrap:
    end
 
 TrainerScientistJed:
    trainer EVENT_BEAT_SCIENTIST_JED, SCIENTIST, JED, ScientistJedSeenText, ScientistJedBeatenText, $0000, ScientistJedScript
 
 ScientistJedScript:
    talkaftercancel
@@ -489,7 +489,7 @@ ScientistJedScript:
    end
 
 TrainerGruntM16:
    trainer EVENT_BEAT_ROCKET_GRUNTM_16, GRUNTM, 16, GruntM16SeenText, GruntM16BeatenText, $0000, GruntM16Script
 
 GruntM16Script:
    talkaftercancel
@@ -786,9 +786,9 @@ TeamRocketBaseB1F_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_ROCKET, 0, 0, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_SECURITY_GRUNTS
-   person_event SPRITE_ROCKET, 4, 2, $9, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM16, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_SCIENTIST, 12, 18, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerScientistJed, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_POKE_BALL, 6, 27, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6cac4, EVENT_TEAM_ROCKET_BASE_B1F_HYPER_POTION
-   person_event SPRITE_POKE_BALL, 15, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6cac6, EVENT_TEAM_ROCKET_BASE_B1F_NUGGET
-   person_event SPRITE_POKE_BALL, 12, 21, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6cac8, EVENT_TEAM_ROCKET_BASE_B1F_GUARD_SPEC
+   person_event SPRITE_ROCKET, 0, 0, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_SECURITY_GRUNTS
+   person_event SPRITE_ROCKET, 4, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM16, EVENT_TEAM_ROCKET_BASE_POPULATION
+   person_event SPRITE_SCIENTIST, 12, 18, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerScientistJed, EVENT_TEAM_ROCKET_BASE_POPULATION
+   person_event SPRITE_POKE_BALL, 6, 27, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6cac4, EVENT_TEAM_ROCKET_BASE_B1F_HYPER_POTION
+   person_event SPRITE_POKE_BALL, 15, 14, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6cac6, EVENT_TEAM_ROCKET_BASE_B1F_NUGGET
+   person_event SPRITE_POKE_BALL, 12, 21, SPRITEMOVEFN_01, 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 b6363cb..5cb4c58 100644
--- a/maps/TeamRocketBaseB2F.asm
+++ b/maps/TeamRocketBaseB2F.asm
@@ -3,10 +3,10 @@ TeamRocketBaseB2F_MapScriptHeader:
    db 4
 
    ; triggers
    dw UnknownScript_0x6cf85, $0000
    dw UnknownScript_0x6cf86, $0000
    dw UnknownScript_0x6cf87, $0000
    dw UnknownScript_0x6cf88, $0000
 
 .MapCallbacks:
    db 1
@@ -84,7 +84,7 @@ UnknownScript_0x6cfac:
    loadmovesprites
    applymovement $2, MovementData_0x6d24a
    applymovement $3, MovementData_0x6d248
    winlosstext UnknownText_0x6d45c, $0000
    setlasttalked $3
    loadtrainer EXECUTIVEF, 2
    startbattle
@@ -178,7 +178,7 @@ UnknownScript_0x6d0be:
    end
 
 TrainerGruntM17:
    trainer EVENT_BEAT_ROCKET_GRUNTM_17, GRUNTM, 17, GruntM17SeenText, GruntM17BeatenText, $0000, GruntM17Script
 
 GruntM17Script:
    talkaftercancel
@@ -189,7 +189,7 @@ GruntM17Script:
    end
 
 TrainerGruntM18:
    trainer EVENT_BEAT_ROCKET_GRUNTM_18, GRUNTM, 18, GruntM18SeenText, GruntM18BeatenText, $0000, GruntM18Script
 
 GruntM18Script:
    talkaftercancel
@@ -200,7 +200,7 @@ GruntM18Script:
    end
 
 TrainerGruntM19:
    trainer EVENT_BEAT_ROCKET_GRUNTM_19, GRUNTM, 19, GruntM19SeenText, GruntM19BeatenText, $0000, GruntM19Script
 
 GruntM19Script:
    talkaftercancel
@@ -952,17 +952,17 @@ TeamRocketBaseB2F_MapEventHeader:
 
 .PersonEvents:
    db 14
-   person_event SPRITE_ROCKET, 16, 20, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_GRUNT_WITH_EXECUTIVE
-   person_event SPRITE_ROCKET_GIRL, 16, 20, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_EXECUTIVE
-   person_event SPRITE_LANCE, 13, 5, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_LANCE
-   person_event SPRITE_DRAGON, 13, 9, $9, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_DRAGONITE
-   person_event SPRITE_VOLTORB, 5, 7, $16, 0, 0, -1, -1, 0, 0, 0, VoltorbScript_0x6d101, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
-   person_event SPRITE_VOLTORB, 7, 7, $16, 0, 0, -1, -1, 0, 0, 0, VoltorbScript_0x6d12c, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
-   person_event SPRITE_VOLTORB, 9, 7, $16, 0, 0, -1, -1, 0, 0, 0, VoltorbScript_0x6d157, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
-   person_event SPRITE_VOLTORB, 5, 22, $16, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
-   person_event SPRITE_VOLTORB, 7, 22, $16, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
-   person_event SPRITE_VOLTORB, 9, 22, $16, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
-   person_event SPRITE_ROCKET, 13, 25, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM17, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_ROCKET, 1, 4, $a, 0, 0, -1, -1, 0, 2, 1, TrainerGruntM18, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_ROCKET, 14, 21, $8, 0, 0, -1, -1, 0, 2, 4, TrainerGruntM19, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_POKE_BALL, 10, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6d20d, EVENT_TEAM_ROCKET_BASE_B2F_TM_THIEF
+   person_event SPRITE_ROCKET, 16, 20, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_GRUNT_WITH_EXECUTIVE
+   person_event SPRITE_ROCKET_GIRL, 16, 20, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_EXECUTIVE
+   person_event SPRITE_LANCE, 13, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_LANCE
+   person_event SPRITE_DRAGON, 13, 9, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_DRAGONITE
+   person_event SPRITE_VOLTORB, 5, 7, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, VoltorbScript_0x6d101, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
+   person_event SPRITE_VOLTORB, 7, 7, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, VoltorbScript_0x6d12c, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
+   person_event SPRITE_VOLTORB, 9, 7, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, VoltorbScript_0x6d157, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
+   person_event SPRITE_VOLTORB, 5, 22, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
+   person_event SPRITE_VOLTORB, 7, 22, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
+   person_event SPRITE_VOLTORB, 9, 22, SPRITEMOVEFN_16, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
+   person_event SPRITE_ROCKET, 13, 25, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM17, EVENT_TEAM_ROCKET_BASE_POPULATION
+   person_event SPRITE_ROCKET, 1, 4, SPRITEMOVEFN_0A, 0, 0, -1, -1, 0, 2, 1, TrainerGruntM18, EVENT_TEAM_ROCKET_BASE_POPULATION
+   person_event SPRITE_ROCKET, 14, 21, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 2, 4, TrainerGruntM19, EVENT_TEAM_ROCKET_BASE_POPULATION
+   person_event SPRITE_POKE_BALL, 10, 3, SPRITEMOVEFN_01, 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 91b2a83..aed71a2 100644
--- a/maps/TeamRocketBaseB3F.asm
+++ b/maps/TeamRocketBaseB3F.asm
@@ -3,10 +3,10 @@ TeamRocketBaseB3F_MapScriptHeader:
    db 4
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
    dw .Trigger3, $0000
    dw .Trigger4, $0000
 
 .MapCallbacks:
    db 1
@@ -91,7 +91,7 @@ UnknownScript_0x6e056:
    closetext
    loadmovesprites
    applymovement $3, MovementData_0x6e142
    winlosstext UnknownText_0x6e511, $0000
    setlasttalked $3
    loadtrainer EXECUTIVEM, 4
    startbattle
@@ -117,7 +117,7 @@ MoltresScript_0x6e091:
    end
 
 TrainerGruntF5:
    trainer EVENT_BEAT_ROCKET_GRUNTF_5, GRUNTF, 5, GruntF5SeenText, GruntF5BeatenText, $0000, GruntF5Script
 
 GruntF5Script:
    talkaftercancel
@@ -129,7 +129,7 @@ GruntF5Script:
    end
 
 TrainerGruntM28:
    trainer EVENT_BEAT_ROCKET_GRUNTM_28, GRUNTM, 28, GruntM28SeenText, GruntM28BeatenText, $0000, GruntM28Script
 
 GruntM28Script:
    talkaftercancel
@@ -141,7 +141,7 @@ GruntM28Script:
    end
 
 TrainerScientistRoss:
    trainer EVENT_BEAT_SCIENTIST_ROSS, SCIENTIST, ROSS, ScientistRossSeenText, ScientistRossBeatenText, $0000, ScientistRossScript
 
 ScientistRossScript:
    talkaftercancel
@@ -152,7 +152,7 @@ ScientistRossScript:
    end
 
 TrainerScientistMitch:
    trainer EVENT_BEAT_SCIENTIST_MITCH, SCIENTIST, MITCH, ScientistMitchSeenText, ScientistMitchBeatenText, $0000, ScientistMitchScript
 
 ScientistMitchScript:
    talkaftercancel
@@ -587,17 +587,17 @@ TeamRocketBaseB3F_MapEventHeader:
 
 .PersonEvents:
    db 14
-   person_event SPRITE_LANCE, 14, 25, $6, 0, 0, -1, -1, 0, 0, 0, LanceScript_0x6dffc, EVENT_TEAM_ROCKET_BASE_B3F_LANCE_PASSWORDS
-   person_event SPRITE_ROCKET, 3, 8, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B3F_EXECUTIVE
-   person_event SPRITE_MOLTRES, 2, 7, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, MoltresScript_0x6e091, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_ROCKET_GIRL, 7, 21, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerGruntF5, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_ROCKET, 14, 5, $a, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM28, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_SCIENTIST, 11, 23, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerScientistRoss, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_SCIENTIST, 15, 11, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerScientistMitch, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_ROCKET, 14, 24, $6, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x6e048, EVENT_TEAM_ROCKET_BASE_POPULATION
-   person_event SPRITE_SILVER, 5, 4, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_TEAM_ROCKET_BASE
-   person_event SPRITE_POKE_BALL, 12, 1, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e120, EVENT_TEAM_ROCKET_BASE_B3F_PROTEIN
-   person_event SPRITE_POKE_BALL, 12, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e122, EVENT_TEAM_ROCKET_BASE_B3F_X_SPECIAL
-   person_event SPRITE_POKE_BALL, 9, 28, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e124, EVENT_TEAM_ROCKET_BASE_B3F_FULL_HEAL
-   person_event SPRITE_POKE_BALL, 2, 17, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e126, EVENT_TEAM_ROCKET_BASE_B3F_ICE_HEAL
-   person_event SPRITE_POKE_BALL, 10, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e128, EVENT_TEAM_ROCKET_BASE_B3F_ULTRA_BALL
+   person_event SPRITE_LANCE, 14, 25, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, LanceScript_0x6dffc, EVENT_TEAM_ROCKET_BASE_B3F_LANCE_PASSWORDS
+   person_event SPRITE_ROCKET, 3, 8, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B3F_EXECUTIVE
+   person_event SPRITE_MOLTRES, 2, 7, SPRITEMOVEFN_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, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 0, TrainerGruntF5, EVENT_TEAM_ROCKET_BASE_POPULATION
+   person_event SPRITE_ROCKET, 14, 5, SPRITEMOVEFN_0A, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM28, EVENT_TEAM_ROCKET_BASE_POPULATION
+   person_event SPRITE_SCIENTIST, 11, 23, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 0, TrainerScientistRoss, EVENT_TEAM_ROCKET_BASE_POPULATION
+   person_event SPRITE_SCIENTIST, 15, 11, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerScientistMitch, EVENT_TEAM_ROCKET_BASE_POPULATION
+   person_event SPRITE_ROCKET, 14, 24, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, RocketScript_0x6e048, EVENT_TEAM_ROCKET_BASE_POPULATION
+   person_event SPRITE_SILVER, 5, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_TEAM_ROCKET_BASE
+   person_event SPRITE_POKE_BALL, 12, 1, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e120, EVENT_TEAM_ROCKET_BASE_B3F_PROTEIN
+   person_event SPRITE_POKE_BALL, 12, 3, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e122, EVENT_TEAM_ROCKET_BASE_B3F_X_SPECIAL
+   person_event SPRITE_POKE_BALL, 9, 28, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e124, EVENT_TEAM_ROCKET_BASE_B3F_FULL_HEAL
+   person_event SPRITE_POKE_BALL, 2, 17, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x6e126, EVENT_TEAM_ROCKET_BASE_B3F_ICE_HEAL
+   person_event SPRITE_POKE_BALL, 10, 14, SPRITEMOVEFN_01, 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 c568f3f..3231514 100644
--- a/maps/TimeCapsule.asm
+++ b/maps/TimeCapsule.asm
@@ -3,8 +3,8 @@ TimeCapsule_MapScriptHeader:
    db 2
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
 
 .MapCallbacks:
    db 1
@@ -73,5 +73,5 @@ TimeCapsule_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_CHRIS, 4, 3, $9, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x19351a, EVENT_GAVE_KURT_APRICORNS
-   person_event SPRITE_CHRIS, 4, 6, $8, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x19351a, EVENT_RECEIVED_BALLS_FROM_KURT
+   person_event SPRITE_CHRIS, 4, 3, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x19351a, EVENT_GAVE_KURT_APRICORNS
+   person_event SPRITE_CHRIS, 4, 6, SPRITEMOVEFN_08, 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 f9bd586..a8b8e2b 100644
--- a/maps/TinTower1F.asm
+++ b/maps/TinTower1F.asm
@@ -3,8 +3,8 @@ TinTower1F_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x18502a, $0000
    dw UnknownScript_0x18502e, $0000
 
 .MapCallbacks:
    db 2
@@ -534,13 +534,13 @@ TinTower1F_MapEventHeader:
 
 .PersonEvents:
    db 10
-   person_event SPRITE_SUICUNE, 9, 9, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_TIN_TOWER_1F_SUICUNE
-   person_event SPRITE_RAIKOU, 9, 7, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, ObjectEvent, EVENT_TIN_TOWER_1F_RAIKOU
-   person_event SPRITE_ENTEI, 9, 12, $1, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_TIN_TOWER_1F_ENTEI
-   person_event SPRITE_SUPER_NERD, 3, 8, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x1851c8, EVENT_TIN_TOWER_1F_EUSINE
-   person_event SPRITE_SAGE, 9, 5, $3, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185173, EVENT_TIN_TOWER_1F_WISE_TRIO_1
-   person_event SPRITE_SAGE, 11, 11, $3, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185176, EVENT_TIN_TOWER_1F_WISE_TRIO_1
-   person_event SPRITE_SAGE, 6, 14, $3, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185179, EVENT_TIN_TOWER_1F_WISE_TRIO_1
-   person_event SPRITE_SAGE, 2, 4, $4, 1, 0, -1, -1, 0, 0, 0, SageScript_0x18517c, EVENT_TIN_TOWER_1F_WISE_TRIO_2
-   person_event SPRITE_SAGE, 1, 9, $6, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185188, EVENT_TIN_TOWER_1F_WISE_TRIO_2
-   person_event SPRITE_SAGE, 2, 14, $5, 0, 1, -1, -1, 0, 0, 0, SageScript_0x1851bc, EVENT_TIN_TOWER_1F_WISE_TRIO_2
+   person_event SPRITE_SUICUNE, 9, 9, SPRITEMOVEFN_01, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ObjectEvent, EVENT_TIN_TOWER_1F_SUICUNE
+   person_event SPRITE_RAIKOU, 9, 7, SPRITEMOVEFN_01, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, ObjectEvent, EVENT_TIN_TOWER_1F_RAIKOU
+   person_event SPRITE_ENTEI, 9, 12, SPRITEMOVEFN_01, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, EVENT_TIN_TOWER_1F_ENTEI
+   person_event SPRITE_SUPER_NERD, 3, 8, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SuperNerdScript_0x1851c8, EVENT_TIN_TOWER_1F_EUSINE
+   person_event SPRITE_SAGE, 9, 5, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185173, EVENT_TIN_TOWER_1F_WISE_TRIO_1
+   person_event SPRITE_SAGE, 11, 11, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185176, EVENT_TIN_TOWER_1F_WISE_TRIO_1
+   person_event SPRITE_SAGE, 6, 14, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185179, EVENT_TIN_TOWER_1F_WISE_TRIO_1
+   person_event SPRITE_SAGE, 2, 4, SPRITEMOVEFN_04, 1, 0, -1, -1, 0, 0, 0, SageScript_0x18517c, EVENT_TIN_TOWER_1F_WISE_TRIO_2
+   person_event SPRITE_SAGE, 1, 9, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, SageScript_0x185188, EVENT_TIN_TOWER_1F_WISE_TRIO_2
+   person_event SPRITE_SAGE, 2, 14, SPRITEMOVEFN_05, 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 308dac3..5644439 100644
--- a/maps/TinTower3F.asm
+++ b/maps/TinTower3F.asm
@@ -25,4 +25,4 @@ TinTower3F_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 14, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a37, EVENT_TIN_TOWER_3F_FULL_HEAL
+   person_event SPRITE_POKE_BALL, 14, 3, SPRITEMOVEFN_01, 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 9532ad7..ccecac1 100644
--- a/maps/TinTower4F.asm
+++ b/maps/TinTower4F.asm
@@ -38,6 +38,6 @@ TinTower4F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKE_BALL, 10, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a58, EVENT_TIN_TOWER_4F_ULTRA_BALL
-   person_event SPRITE_POKE_BALL, 14, 17, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a5a, EVENT_TIN_TOWER_4F_PP_UP
-   person_event SPRITE_POKE_BALL, 12, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a5c, EVENT_TIN_TOWER_4F_ESCAPE_ROPE
+   person_event SPRITE_POKE_BALL, 10, 14, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a58, EVENT_TIN_TOWER_4F_ULTRA_BALL
+   person_event SPRITE_POKE_BALL, 14, 17, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185a5a, EVENT_TIN_TOWER_4F_PP_UP
+   person_event SPRITE_POKE_BALL, 12, 2, SPRITEMOVEFN_01, 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 1425010..ea77e81 100644
--- a/maps/TinTower5F.asm
+++ b/maps/TinTower5F.asm
@@ -37,4 +37,4 @@ TinTower5F_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 9, 9, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185aa9, EVENT_TIN_TOWER_5F_RARE_CANDY
+   person_event SPRITE_POKE_BALL, 9, 9, SPRITEMOVEFN_01, 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 3084eea..6ba2c0e 100644
--- a/maps/TinTower6F.asm
+++ b/maps/TinTower6F.asm
@@ -25,4 +25,4 @@ TinTower6F_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 8, 8, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185ae4, EVENT_TIN_TOWER_6F_MAX_POTION
+   person_event SPRITE_POKE_BALL, 8, 8, SPRITEMOVEFN_01, 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 868539f..a38a182 100644
--- a/maps/TinTower7F.asm
+++ b/maps/TinTower7F.asm
@@ -28,4 +28,4 @@ TinTower7F_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 1, 16, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b05, EVENT_TIN_TOWER_7F_MAX_REVIVE
+   person_event SPRITE_POKE_BALL, 1, 16, SPRITEMOVEFN_01, 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 59cce2a..3dfff24 100644
--- a/maps/TinTower8F.asm
+++ b/maps/TinTower8F.asm
@@ -35,6 +35,6 @@ TinTower8F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKE_BALL, 13, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b35, EVENT_TIN_TOWER_8F_NUGGET
-   person_event SPRITE_POKE_BALL, 6, 11, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b37, EVENT_TIN_TOWER_8F_MAX_ELIXER
-   person_event SPRITE_POKE_BALL, 1, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b39, EVENT_TIN_TOWER_8F_FULL_RESTORE
+   person_event SPRITE_POKE_BALL, 13, 7, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b35, EVENT_TIN_TOWER_8F_NUGGET
+   person_event SPRITE_POKE_BALL, 6, 11, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b37, EVENT_TIN_TOWER_8F_MAX_ELIXER
+   person_event SPRITE_POKE_BALL, 1, 3, SPRITEMOVEFN_01, 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 c76deab..d2ee20e 100644
--- a/maps/TinTower9F.asm
+++ b/maps/TinTower9F.asm
@@ -38,4 +38,4 @@ TinTower9F_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 1, 9, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x185b88, EVENT_TIN_TOWER_9F_HP_UP
+   person_event SPRITE_POKE_BALL, 1, 9, SPRITEMOVEFN_01, 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 f9aaa2f..705c8e7 100644
--- a/maps/TinTowerRoof.asm
+++ b/maps/TinTowerRoof.asm
@@ -60,4 +60,4 @@ TinTowerRoof_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_HO_OH, 5, 9, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, HoOhScript_0x77244, EVENT_TIN_TOWER_ROOF_HO_OH
+   person_event SPRITE_HO_OH, 5, 9, SPRITEMOVEFN_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 7d6cc15..1c9db6c 100644
--- a/maps/TohjoFalls.asm
+++ b/maps/TohjoFalls.asm
@@ -25,4 +25,4 @@ TohjoFalls_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 6, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18db02, EVENT_TOHJO_FALLS_MOON_STONE
+   person_event SPRITE_POKE_BALL, 6, 2, SPRITEMOVEFN_01, 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 8df21cb..38a9d2a 100644
--- a/maps/TradeCenter.asm
+++ b/maps/TradeCenter.asm
@@ -3,8 +3,8 @@ TradeCenter_MapScriptHeader:
    db 2
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
 
 .MapCallbacks:
    db 1
@@ -73,5 +73,5 @@ TradeCenter_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_CHRIS, 4, 3, $9, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_GAVE_KURT_APRICORNS
-   person_event SPRITE_CHRIS, 4, 6, $8, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_RECEIVED_BALLS_FROM_KURT
+   person_event SPRITE_CHRIS, 4, 3, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ChrisScript_0x193499, EVENT_GAVE_KURT_APRICORNS
+   person_event SPRITE_CHRIS, 4, 6, SPRITEMOVEFN_08, 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 fbed606..a12748a 100644
--- a/maps/TrainerHouse1F.asm
+++ b/maps/TrainerHouse1F.asm
@@ -151,8 +151,8 @@ TrainerHouse1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_RECEPTIONIST, 11, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x9af67, -1
-   person_event SPRITE_COOLTRAINER_M, 11, 7, $7, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x9af6a, -1
-   person_event SPRITE_COOLTRAINER_F, 2, 6, $6, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x9af6d, -1
-   person_event SPRITE_YOUNGSTER, 8, 4, $5, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x9af70, -1
-   person_event SPRITE_GENTLEMAN, 4, 2, $9, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x9af73, -1
+   person_event SPRITE_RECEPTIONIST, 11, 0, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ReceptionistScript_0x9af67, -1
+   person_event SPRITE_COOLTRAINER_M, 11, 7, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x9af6a, -1
+   person_event SPRITE_COOLTRAINER_F, 2, 6, SPRITEMOVEFN_06, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerFScript_0x9af6d, -1
+   person_event SPRITE_YOUNGSTER, 8, 4, SPRITEMOVEFN_05, 0, 2, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x9af70, -1
+   person_event SPRITE_GENTLEMAN, 4, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x9af73, -1
diff --git a/maps/TrainerHouseB1F.asm b/maps/TrainerHouseB1F.asm
index 7f58cdf..9f4136c 100644
--- a/maps/TrainerHouseB1F.asm
+++ b/maps/TrainerHouseB1F.asm
@@ -3,7 +3,7 @@ TrainerHouseB1F_MapScriptHeader:
    db 1
 
    ; triggers
    dw UnknownScript_0x9b38a, $0000
 
 .MapCallbacks:
    db 0
@@ -42,14 +42,14 @@ UnknownScript_0x9b3aa:
    loadmovesprites
    special SpecialTrainerHouse
    iffalse UnknownScript_0x9b3dc
    winlosstext UnknownText_0x9b578, $0000
    setlasttalked $3
    loadtrainer CAL, CAL2
    startbattle
    returnafterbattle
    iffalse UnknownScript_0x9b3e8
 UnknownScript_0x9b3dc:
    winlosstext UnknownText_0x9b578, $0000
    setlasttalked $3
    loadtrainer CAL, CAL3
    startbattle
@@ -184,5 +184,5 @@ TrainerHouseB1F_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_RECEPTIONIST, 1, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, -1
-   person_event SPRITE_CHRIS, 11, 6, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, -1
+   person_event SPRITE_RECEPTIONIST, 1, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, ObjectEvent, -1
+   person_event SPRITE_CHRIS, 11, 6, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, ObjectEvent, -1
diff --git a/maps/UndergroundPathSwitchRoomEntrances.asm b/maps/UndergroundPathSwitchRoomEntrances.asm
index 63222b8..f826534 100644
--- a/maps/UndergroundPathSwitchRoomEntrances.asm
+++ b/maps/UndergroundPathSwitchRoomEntrances.asm
@@ -3,8 +3,8 @@ UndergroundPathSwitchRoomEntrances_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x7c9f5, $0000
    dw UnknownScript_0x7c9f6, $0000
 
 .MapCallbacks:
    db 1
@@ -166,7 +166,7 @@ UnknownScript_0x7cb29:
    end
 
 TrainerGruntM11:
    trainer EVENT_BEAT_ROCKET_GRUNTM_11, GRUNTM, 11, GruntM11SeenText, GruntM11BeatenText, $0000, GruntM11Script
 
 GruntM11Script:
    talkaftercancel
@@ -177,7 +177,7 @@ GruntM11Script:
    end
 
 TrainerGruntM25:
    trainer EVENT_BEAT_ROCKET_GRUNTM_25, GRUNTM, 25, GruntM25SeenText, GruntM25BeatenText, $0000, GruntM25Script
 
 GruntM25Script:
    talkaftercancel
@@ -188,7 +188,7 @@ GruntM25Script:
    end
 
 TrainerBurglarDuncan:
    trainer EVENT_BEAT_BURGLAR_DUNCAN, BURGLAR, DUNCAN, BurglarDuncanSeenText, BurglarDuncanBeatenText, $0000, BurglarDuncanScript
 
 BurglarDuncanScript:
    talkaftercancel
@@ -199,7 +199,7 @@ BurglarDuncanScript:
    end
 
 TrainerBurglarEddie:
    trainer EVENT_BEAT_BURGLAR_EDDIE, BURGLAR, EDDIE, BurglarEddieSeenText, BurglarEddieBeatenText, $0000, BurglarEddieScript
 
 BurglarEddieScript:
    talkaftercancel
@@ -210,7 +210,7 @@ BurglarEddieScript:
    end
 
 TrainerGruntM13:
    trainer EVENT_BEAT_ROCKET_GRUNTM_13, GRUNTM, 13, GruntM13SeenText, GruntM13BeatenText, $0000, GruntM13Script
 
 GruntM13Script:
    talkaftercancel
@@ -221,7 +221,7 @@ GruntM13Script:
    end
 
 TrainerGruntF3:
    trainer EVENT_BEAT_ROCKET_GRUNTF_3, GRUNTF, 3, GruntF3SeenText, GruntF3BeatenText, $0000, GruntF3Script
 
 GruntF3Script:
    talkaftercancel
@@ -923,14 +923,14 @@ UndergroundPathSwitchRoomEntrances_MapEventHeader:
 
 .PersonEvents:
    db 11
-   person_event SPRITE_PHARMACIST, 12, 9, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerBurglarDuncan, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_PHARMACIST, 8, 4, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerBurglarEddie, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 2, 17, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM13, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 2, 11, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM11, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 2, 3, $6, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM25, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET_GIRL, 12, 19, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerGruntF3, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_TEACHER, 27, 3, $6, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x7ca7d, -1
-   person_event SPRITE_SUPER_NERD, 27, 19, $6, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7ca7a, -1
-   person_event SPRITE_POKE_BALL, 12, 1, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ce7d, EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_SMOKE_BALL
-   person_event SPRITE_POKE_BALL, 9, 14, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ce7f, EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_FULL_HEAL
-   person_event SPRITE_SILVER, 3, 23, $6, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_UNDERGROUND_PATH
+   person_event SPRITE_PHARMACIST, 12, 9, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerBurglarDuncan, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_PHARMACIST, 8, 4, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 2, 2, TrainerBurglarEddie, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET, 2, 17, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM13, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET, 2, 11, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM11, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET, 2, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM25, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET_GIRL, 12, 19, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerGruntF3, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_TEACHER, 27, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x7ca7d, -1
+   person_event SPRITE_SUPER_NERD, 27, 19, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, SuperNerdScript_0x7ca7a, -1
+   person_event SPRITE_POKE_BALL, 12, 1, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ce7d, EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_SMOKE_BALL
+   person_event SPRITE_POKE_BALL, 9, 14, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7ce7f, EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_FULL_HEAL
+   person_event SPRITE_SILVER, 3, 23, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_UNDERGROUND_PATH
diff --git a/maps/UndergroundWarehouse.asm b/maps/UndergroundWarehouse.asm
index 3f73eed..53aa2c0 100644
--- a/maps/UndergroundWarehouse.asm
+++ b/maps/UndergroundWarehouse.asm
@@ -30,7 +30,7 @@ UndergroundWarehouse_MapScriptHeader:
    return
 
 TrainerGruntM24:
    trainer EVENT_BEAT_ROCKET_GRUNTM_24, GRUNTM, 24, GruntM24SeenText, GruntM24BeatenText, $0000, GruntM24Script
 
 GruntM24Script:
    talkaftercancel
@@ -41,7 +41,7 @@ GruntM24Script:
    end
 
 TrainerGruntM14:
    trainer EVENT_BEAT_ROCKET_GRUNTM_14, GRUNTM, 14, GruntM14SeenText, GruntM14BeatenText, $0000, GruntM14Script
 
 GruntM14Script:
    talkaftercancel
@@ -52,7 +52,7 @@ GruntM14Script:
    end
 
 TrainerGruntM15:
    trainer EVENT_BEAT_ROCKET_GRUNTM_15, GRUNTM, 15, GruntM15SeenText, GruntM15BeatenText, $0000, GruntM15Script
 
 GruntM15Script:
    talkaftercancel
@@ -222,10 +222,10 @@ UndergroundWarehouse_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_ROCKET, 8, 9, $7, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM24, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 15, 8, $7, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM14, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_ROCKET, 3, 14, $9, 0, 0, -1, -1, 0, 2, 4, TrainerGruntM15, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_GENTLEMAN, 8, 12, $3, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x7d9bf, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
-   person_event SPRITE_POKE_BALL, 15, 18, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d9e4, EVENT_UNDERGROUND_WAREHOUSE_MAX_ETHER
-   person_event SPRITE_POKE_BALL, 9, 13, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d9e6, EVENT_UNDERGROUND_WAREHOUSE_TM_SLEEP_TALK
-   person_event SPRITE_POKE_BALL, 1, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d9e8, EVENT_UNDERGROUND_WAREHOUSE_ULTRA_BALL
+   person_event SPRITE_ROCKET, 8, 9, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM24, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET, 15, 8, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 2, 3, TrainerGruntM14, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_ROCKET, 3, 14, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 2, 4, TrainerGruntM15, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_GENTLEMAN, 8, 12, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x7d9bf, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
+   person_event SPRITE_POKE_BALL, 15, 18, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d9e4, EVENT_UNDERGROUND_WAREHOUSE_MAX_ETHER
+   person_event SPRITE_POKE_BALL, 9, 13, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7d9e6, EVENT_UNDERGROUND_WAREHOUSE_TM_SLEEP_TALK
+   person_event SPRITE_POKE_BALL, 1, 2, SPRITEMOVEFN_01, 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 d663d2f..f5f9baa 100644
--- a/maps/UnionCave1F.asm
+++ b/maps/UnionCave1F.asm
@@ -6,7 +6,7 @@ UnionCave1F_MapScriptHeader:
    db 0
 
 TrainerPokemaniacLarry:
    trainer EVENT_BEAT_POKEMANIAC_LARRY, POKEMANIAC, LARRY, PokemaniacLarrySeenText, PokemaniacLarryBeatenText, $0000, PokemaniacLarryScript
 
 PokemaniacLarryScript:
    talkaftercancel
@@ -17,7 +17,7 @@ PokemaniacLarryScript:
    end
 
 TrainerHikerRussell:
    trainer EVENT_BEAT_HIKER_RUSSELL, HIKER, RUSSELL, HikerRussellSeenText, HikerRussellBeatenText, $0000, HikerRussellScript
 
 HikerRussellScript:
    talkaftercancel
@@ -28,7 +28,7 @@ HikerRussellScript:
    end
 
 TrainerHikerDaniel:
    trainer EVENT_BEAT_HIKER_DANIEL, HIKER, DANIEL, HikerDanielSeenText, HikerDanielBeatenText, $0000, HikerDanielScript
 
 HikerDanielScript:
    talkaftercancel
@@ -39,7 +39,7 @@ HikerDanielScript:
    end
 
 TrainerFirebreatherBill:
    trainer EVENT_BEAT_FIREBREATHER_BILL, FIREBREATHER, BILL, FirebreatherBillSeenText, FirebreatherBillBeatenText, $0000, FirebreatherBillScript
 
 FirebreatherBillScript:
    talkaftercancel
@@ -50,7 +50,7 @@ FirebreatherBillScript:
    end
 
 TrainerFirebreatherRay:
    trainer EVENT_BEAT_FIREBREATHER_RAY, FIREBREATHER, RAY, FirebreatherRaySeenText, FirebreatherRayBeatenText, $0000, FirebreatherRayScript
 
 FirebreatherRayScript:
    talkaftercancel
@@ -207,12 +207,12 @@ UnionCave1F_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_POKEFAN_M, 6, 3, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerDaniel, -1
-   person_event SPRITE_SUPER_NERD, 21, 4, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacLarry, -1
-   person_event SPRITE_POKEFAN_M, 8, 11, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerHikerRussell, -1
-   person_event SPRITE_FISHER, 27, 15, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerFirebreatherRay, -1
-   person_event SPRITE_FISHER, 19, 14, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerFirebreatherBill, -1
-   person_event SPRITE_POKE_BALL, 21, 17, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c00, EVENT_UNION_CAVE_1F_GREAT_BALL
-   person_event SPRITE_POKE_BALL, 2, 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c02, EVENT_UNION_CAVE_1F_X_ATTACK
-   person_event SPRITE_POKE_BALL, 17, 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c04, EVENT_UNION_CAVE_1F_POTION
-   person_event SPRITE_POKE_BALL, 33, 12, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c06, EVENT_UNION_CAVE_1F_AWAKENING
+   person_event SPRITE_POKEFAN_M, 6, 3, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerHikerDaniel, -1
+   person_event SPRITE_SUPER_NERD, 21, 4, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacLarry, -1
+   person_event SPRITE_POKEFAN_M, 8, 11, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 1, TrainerHikerRussell, -1
+   person_event SPRITE_FISHER, 27, 15, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerFirebreatherRay, -1
+   person_event SPRITE_FISHER, 19, 14, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 4, TrainerFirebreatherBill, -1
+   person_event SPRITE_POKE_BALL, 21, 17, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c00, EVENT_UNION_CAVE_1F_GREAT_BALL
+   person_event SPRITE_POKE_BALL, 2, 4, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c02, EVENT_UNION_CAVE_1F_X_ATTACK
+   person_event SPRITE_POKE_BALL, 17, 4, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x59c04, EVENT_UNION_CAVE_1F_POTION
+   person_event SPRITE_POKE_BALL, 33, 12, SPRITEMOVEFN_01, 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 44f6669..14439c8 100644
--- a/maps/UnionCaveB1F.asm
+++ b/maps/UnionCaveB1F.asm
@@ -6,7 +6,7 @@ UnionCaveB1F_MapScriptHeader:
    db 0
 
 TrainerPokemaniacAndrew:
    trainer EVENT_BEAT_POKEMANIAC_ANDREW, POKEMANIAC, ANDREW, PokemaniacAndrewSeenText, PokemaniacAndrewBeatenText, $0000, PokemaniacAndrewScript
 
 PokemaniacAndrewScript:
    talkaftercancel
@@ -17,7 +17,7 @@ PokemaniacAndrewScript:
    end
 
 TrainerPokemaniacCalvin:
    trainer EVENT_BEAT_POKEMANIAC_CALVIN, POKEMANIAC, CALVIN, PokemaniacCalvinSeenText, PokemaniacCalvinBeatenText, $0000, PokemaniacCalvinScript
 
 PokemaniacCalvinScript:
    talkaftercancel
@@ -28,7 +28,7 @@ PokemaniacCalvinScript:
    end
 
 TrainerHikerPhillip:
    trainer EVENT_BEAT_HIKER_PHILLIP, HIKER, PHILLIP, HikerPhillipSeenText, HikerPhillipBeatenText, $0000, HikerPhillipScript
 
 HikerPhillipScript:
    talkaftercancel
@@ -39,7 +39,7 @@ HikerPhillipScript:
    end
 
 TrainerHikerLeonard:
    trainer EVENT_BEAT_HIKER_LEONARD, HIKER, LEONARD, HikerLeonardSeenText, HikerLeonardBeatenText, $0000, HikerLeonardScript
 
 HikerLeonardScript:
    talkaftercancel
@@ -163,10 +163,10 @@ UnionCaveB1F_MapEventHeader:
 
 .PersonEvents:
    db 7
-   person_event SPRITE_POKEFAN_M, 4, 9, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerPhillip, -1
-   person_event SPRITE_POKEFAN_M, 7, 16, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerLeonard, -1
-   person_event SPRITE_SUPER_NERD, 32, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacAndrew, -1
-   person_event SPRITE_SUPER_NERD, 30, 17, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacCalvin, -1
-   person_event SPRITE_POKE_BALL, 16, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a016, EVENT_UNION_CAVE_B1F_TM_SWIFT
-   person_event SPRITE_BOULDER, 10, 7, $19, 0, 0, -1, -1, 0, 0, 0, UnionCaveB1FBoulder, -1
-   person_event SPRITE_POKE_BALL, 23, 17, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a018, EVENT_UNION_CAVE_B1F_X_DEFEND
+   person_event SPRITE_POKEFAN_M, 4, 9, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerPhillip, -1
+   person_event SPRITE_POKEFAN_M, 7, 16, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerHikerLeonard, -1
+   person_event SPRITE_SUPER_NERD, 32, 5, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacAndrew, -1
+   person_event SPRITE_SUPER_NERD, 30, 17, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacCalvin, -1
+   person_event SPRITE_POKE_BALL, 16, 2, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a016, EVENT_UNION_CAVE_B1F_TM_SWIFT
+   person_event SPRITE_BOULDER, 10, 7, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, UnionCaveB1FBoulder, -1
+   person_event SPRITE_POKE_BALL, 23, 17, SPRITEMOVEFN_01, 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 34f0b61..bce92a4 100644
--- a/maps/UnionCaveB2F.asm
+++ b/maps/UnionCaveB2F.asm
@@ -33,7 +33,7 @@ SurfScript_0x5a31f:
    end
 
 TrainerCooltrainermNick:
    trainer EVENT_BEAT_COOLTRAINERM_NICK, COOLTRAINERM, NICK, CooltrainermNickSeenText, CooltrainermNickBeatenText, $0000, CooltrainermNickScript
 
 CooltrainermNickScript:
    talkaftercancel
@@ -44,7 +44,7 @@ CooltrainermNickScript:
    end
 
 TrainerCooltrainerfGwen:
    trainer EVENT_BEAT_COOLTRAINERF_GWEN, COOLTRAINERF, GWEN, CooltrainerfGwenSeenText, CooltrainerfGwenBeatenText, $0000, CooltrainerfGwenScript
 
 CooltrainerfGwenScript:
    talkaftercancel
@@ -55,7 +55,7 @@ CooltrainerfGwenScript:
    end
 
 TrainerCooltrainerfEmma:
    trainer EVENT_BEAT_COOLTRAINERF_EMMA, COOLTRAINERF, EMMA, CooltrainerfEmmaSeenText, CooltrainerfEmmaBeatenText, $0000, CooltrainerfEmmaScript
 
 CooltrainerfEmmaScript:
    talkaftercancel
@@ -152,9 +152,9 @@ UnionCaveB2F_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_ROCKER, 19, 15, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermNick, -1
-   person_event SPRITE_COOLTRAINER_F, 13, 5, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfGwen, -1
-   person_event SPRITE_COOLTRAINER_F, 30, 3, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfEmma, -1
-   person_event SPRITE_POKE_BALL, 2, 16, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a36a, EVENT_UNION_CAVE_B2F_ELIXER
-   person_event SPRITE_POKE_BALL, 19, 12, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a36c, EVENT_UNION_CAVE_B2F_HYPER_POTION
-   person_event SPRITE_SURF, 31, 11, $24, 1, 1, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SurfScript_0x5a31f, EVENT_UNION_CAVE_B2F_LAPRAS
+   person_event SPRITE_ROCKER, 19, 15, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainermNick, -1
+   person_event SPRITE_COOLTRAINER_F, 13, 5, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 1, TrainerCooltrainerfGwen, -1
+   person_event SPRITE_COOLTRAINER_F, 30, 3, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerCooltrainerfEmma, -1
+   person_event SPRITE_POKE_BALL, 2, 16, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a36a, EVENT_UNION_CAVE_B2F_ELIXER
+   person_event SPRITE_POKE_BALL, 19, 12, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x5a36c, EVENT_UNION_CAVE_B2F_HYPER_POTION
+   person_event SPRITE_SURF, 31, 11, SPRITEMOVEFN_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 aeb998a..9f965d9 100644
--- a/maps/VermilionCity.asm
+++ b/maps/VermilionCity.asm
@@ -294,9 +294,9 @@ VermilionCity_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_TEACHER, 9, 18, $2, 1, 1, -1, -1, 0, 0, 0, TeacherScript_0x1aa983, -1
-   person_event SPRITE_GRAMPS, 6, 23, $9, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1aa986, -1
-   person_event SPRITE_MACHOP, 7, 26, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, VermilionMachop, -1
-   person_event SPRITE_SUPER_NERD, 16, 14, $2, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x1aa99b, -1
-   person_event SPRITE_BIG_SNORLAX, 8, 34, $15, 0, 0, -1, -1, 0, 0, 0, VermilionSnorlax, EVENT_VERMILION_CITY_SNORLAX
-   person_event SPRITE_POKEFAN_M, 12, 31, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, VermilionGymBadgeGuy, -1
+   person_event SPRITE_TEACHER, 9, 18, SPRITEMOVEFN_02, 1, 1, -1, -1, 0, 0, 0, TeacherScript_0x1aa983, -1
+   person_event SPRITE_GRAMPS, 6, 23, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, GrampsScript_0x1aa986, -1
+   person_event SPRITE_MACHOP, 7, 26, SPRITEMOVEFN_16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, VermilionMachop, -1
+   person_event SPRITE_SUPER_NERD, 16, 14, SPRITEMOVEFN_02, 1, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, SuperNerdScript_0x1aa99b, -1
+   person_event SPRITE_BIG_SNORLAX, 8, 34, SPRITEMOVEFN_15, 0, 0, -1, -1, 0, 0, 0, VermilionSnorlax, EVENT_VERMILION_CITY_SNORLAX
+   person_event SPRITE_POKEFAN_M, 12, 31, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, VermilionGymBadgeGuy, -1
diff --git a/maps/VermilionGym.asm b/maps/VermilionGym.asm
index 911f1e6..bee3656 100644
--- a/maps/VermilionGym.asm
+++ b/maps/VermilionGym.asm
@@ -13,7 +13,7 @@ SurgeScript_0x1920a5:
    writetext UnknownText_0x192142
    closetext
    loadmovesprites
    winlosstext UnknownText_0x192238, $0000
    loadtrainer LT_SURGE, 1
    startbattle
    returnafterbattle
@@ -38,7 +38,7 @@ SurgeScript_0x1920a5:
    end
 
 TrainerGentlemanGregory:
    trainer EVENT_BEAT_GENTLEMAN_GREGORY, GENTLEMAN, GREGORY, GentlemanGregorySeenText, GentlemanGregoryBeatenText, $0000, GentlemanGregoryScript
 
 GentlemanGregoryScript:
    talkaftercancel
@@ -49,7 +49,7 @@ GentlemanGregoryScript:
    end
 
 TrainerGuitaristVincent:
    trainer EVENT_BEAT_GUITARIST_VINCENT, GUITARIST, VINCENT, GuitaristVincentSeenText, GuitaristVincentBeatenText, $0000, GuitaristVincentScript
 
 GuitaristVincentScript:
    talkaftercancel
@@ -60,7 +60,7 @@ GuitaristVincentScript:
    end
 
 TrainerJugglerHorton:
    trainer EVENT_BEAT_JUGGLER_HORTON, JUGGLER, HORTON, JugglerHortonSeenText, JugglerHortonBeatenText, $0000, JugglerHortonScript
 
 JugglerHortonScript:
    talkaftercancel
@@ -287,8 +287,8 @@ VermilionGym_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_SURGE, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, SurgeScript_0x1920a5, -1
-   person_event SPRITE_GENTLEMAN, 8, 8, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerGentlemanGregory, -1
-   person_event SPRITE_ROCKER, 7, 4, $6, 0, 3, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerGuitaristVincent, -1
-   person_event SPRITE_SUPER_NERD, 10, 0, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerJugglerHorton, -1
-   person_event SPRITE_GYM_GUY, 15, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 1, VermilionGymGuyScript, -1
+   person_event SPRITE_SURGE, 2, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, SurgeScript_0x1920a5, -1
+   person_event SPRITE_GENTLEMAN, 8, 8, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerGentlemanGregory, -1
+   person_event SPRITE_ROCKER, 7, 4, SPRITEMOVEFN_06, 0, 3, -1, -1, (1 << 3) | PAL_OW_RED, 2, 3, TrainerGuitaristVincent, -1
+   person_event SPRITE_SUPER_NERD, 10, 0, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 4, TrainerJugglerHorton, -1
+   person_event SPRITE_GYM_GUY, 15, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 1, VermilionGymGuyScript, -1
diff --git a/maps/VermilionHouseDiglettsCaveSpeechHouse.asm b/maps/VermilionHouseDiglettsCaveSpeechHouse.asm
index 9aec5f3..e2f94d2 100644
--- a/maps/VermilionHouseDiglettsCaveSpeechHouse.asm
+++ b/maps/VermilionHouseDiglettsCaveSpeechHouse.asm
@@ -34,4 +34,4 @@ VermilionHouseDiglettsCaveSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_GENTLEMAN, 3, 1, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, GentlemanScript_0x192031, -1
+   person_event SPRITE_GENTLEMAN, 3, 1, SPRITEMOVEFN_04, 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 0081bac..08f516f 100644
--- a/maps/VermilionHouseFishingSpeechHouse.asm
+++ b/maps/VermilionHouseFishingSpeechHouse.asm
@@ -65,4 +65,4 @@ VermilionHouseFishingSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_FISHING_GURU, 4, 2, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingDude, -1
+   person_event SPRITE_FISHING_GURU, 4, 2, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FishingDude, -1
diff --git a/maps/VermilionMagnetTrainSpeechHouse.asm b/maps/VermilionMagnetTrainSpeechHouse.asm
index 6dbee12..3126726 100644
--- a/maps/VermilionMagnetTrainSpeechHouse.asm
+++ b/maps/VermilionMagnetTrainSpeechHouse.asm
@@ -48,5 +48,5 @@ VermilionMagnetTrainSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKEFAN_F, 3, 2, $8, 0, 0, -1, -1, 0, 0, 0, PokefanFScript_0x191eb7, -1
-   person_event SPRITE_YOUNGSTER, 3, 0, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x191eba, -1
+   person_event SPRITE_POKEFAN_F, 3, 2, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, PokefanFScript_0x191eb7, -1
+   person_event SPRITE_YOUNGSTER, 3, 0, SPRITEMOVEFN_0A, 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 21ea465..3070ce0 100644
--- a/maps/VermilionMart.asm
+++ b/maps/VermilionMart.asm
@@ -48,6 +48,6 @@ VermilionMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x191f7e, -1
-   person_event SPRITE_SUPER_NERD, 2, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x191f85, -1
-   person_event SPRITE_BUENA, 6, 8, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BuenaScript_0x191f88, -1
+   person_event SPRITE_CLERK, 3, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x191f7e, -1
+   person_event SPRITE_SUPER_NERD, 2, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x191f85, -1
+   person_event SPRITE_BUENA, 6, 8, SPRITEMOVEFN_05, 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 428c85d..971ee27 100644
--- a/maps/VermilionPokeCenter1F.asm
+++ b/maps/VermilionPokeCenter1F.asm
@@ -88,7 +88,7 @@ VermilionPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x191603, -1
-   person_event SPRITE_FISHING_GURU, 2, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FishingGuruScript_0x191606, -1
-   person_event SPRITE_SAILOR, 5, 6, $4, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x19161a, -1
-   person_event SPRITE_BUG_CATCHER, 5, 1, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugCatcherScript_0x19161d, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x191603, -1
+   person_event SPRITE_FISHING_GURU, 2, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FishingGuruScript_0x191606, -1
+   person_event SPRITE_SAILOR, 5, 6, SPRITEMOVEFN_04, 1, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, SailorScript_0x19161a, -1
+   person_event SPRITE_BUG_CATCHER, 5, 1, SPRITEMOVEFN_03, 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 93543dc..0b9fcc1 100644
--- a/maps/VermilionPort.asm
+++ b/maps/VermilionPort.asm
@@ -3,8 +3,8 @@ VermilionPort_MapScriptHeader:
    db 2
 
    ; triggers
    dw .Trigger1, $0000
    dw .Trigger2, $0000
 
 .MapCallbacks:
    db 1
@@ -317,6 +317,6 @@ VermilionPort_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_SAILOR, 17, 7, $7, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x74dc4, EVENT_VERMILION_PORT_SAILOR_AT_GANGWAY
-   person_event SPRITE_SAILOR, 11, 6, $9, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x74e97, -1
-   person_event SPRITE_SUPER_NERD, 11, 11, $5, 0, 2, -1, -1, 0, 0, 0, SuperNerdScript_0x74ee6, -1
+   person_event SPRITE_SAILOR, 17, 7, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x74dc4, EVENT_VERMILION_PORT_SAILOR_AT_GANGWAY
+   person_event SPRITE_SAILOR, 11, 6, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, SailorScript_0x74e97, -1
+   person_event SPRITE_SUPER_NERD, 11, 11, SPRITEMOVEFN_05, 0, 2, -1, -1, 0, 0, 0, SuperNerdScript_0x74ee6, -1
diff --git a/maps/VermilionPortPassage.asm b/maps/VermilionPortPassage.asm
index 2910622..a00fd5c 100644
--- a/maps/VermilionPortPassage.asm
+++ b/maps/VermilionPortPassage.asm
@@ -35,4 +35,4 @@ VermilionPortPassage_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_TEACHER, 1, 17, $8, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x7701a, -1
+   person_event SPRITE_TEACHER, 1, 17, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x7701a, -1
diff --git a/maps/VictoryRoad.asm b/maps/VictoryRoad.asm
index dbcfef7..b917d7a 100644
--- a/maps/VictoryRoad.asm
+++ b/maps/VictoryRoad.asm
@@ -3,8 +3,8 @@ VictoryRoad_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x74490, $0000
    dw UnknownScript_0x74491, $0000
 
 .MapCallbacks:
    db 0
@@ -263,9 +263,9 @@ VictoryRoad_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_SILVER, 13, 18, $7, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_VICTORY_ROAD
-   person_event SPRITE_POKE_BALL, 28, 3, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x74529, EVENT_VICTORY_ROAD_TM_EARTHQUAKE
-   person_event SPRITE_POKE_BALL, 48, 12, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7452b, EVENT_VICTORY_ROAD_MAX_REVIVE
-   person_event SPRITE_POKE_BALL, 29, 18, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7452d, EVENT_VICTORY_ROAD_FULL_RESTORE
-   person_event SPRITE_POKE_BALL, 48, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7452f, EVENT_VICTORY_ROAD_FULL_HEAL
-   person_event SPRITE_POKE_BALL, 38, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x74531, EVENT_VICTORY_ROAD_HP_UP
+   person_event SPRITE_SILVER, 13, 18, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, ObjectEvent, EVENT_RIVAL_VICTORY_ROAD
+   person_event SPRITE_POKE_BALL, 28, 3, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x74529, EVENT_VICTORY_ROAD_TM_EARTHQUAKE
+   person_event SPRITE_POKE_BALL, 48, 12, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7452b, EVENT_VICTORY_ROAD_MAX_REVIVE
+   person_event SPRITE_POKE_BALL, 29, 18, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7452d, EVENT_VICTORY_ROAD_FULL_RESTORE
+   person_event SPRITE_POKE_BALL, 48, 15, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7452f, EVENT_VICTORY_ROAD_FULL_HEAL
+   person_event SPRITE_POKE_BALL, 38, 7, SPRITEMOVEFN_01, 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 8562ccf..6fc0843 100644
--- a/maps/VictoryRoadGate.asm
+++ b/maps/VictoryRoadGate.asm
@@ -3,8 +3,8 @@ VictoryRoadGate_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x9b9fb, $0000
    dw UnknownScript_0x9b9fc, $0000
 
 .MapCallbacks:
    db 0
@@ -118,6 +118,6 @@ VictoryRoadGate_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_OFFICER, 11, 8, $9, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x9ba03, -1
-   person_event SPRITE_BLACK_BELT, 5, 7, $9, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x9ba21, EVENT_OPENED_MT_SILVER
-   person_event SPRITE_BLACK_BELT, 5, 12, $8, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x9ba24, EVENT_FOUGHT_SNORLAX
+   person_event SPRITE_OFFICER, 11, 8, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, OfficerScript_0x9ba03, -1
+   person_event SPRITE_BLACK_BELT, 5, 7, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x9ba21, EVENT_OPENED_MT_SILVER
+   person_event SPRITE_BLACK_BELT, 5, 12, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, BlackBeltScript_0x9ba24, EVENT_FOUGHT_SNORLAX
diff --git a/maps/VioletCity.asm b/maps/VioletCity.asm
index 18207d9..1e6ff89 100644
--- a/maps/VioletCity.asm
+++ b/maps/VioletCity.asm
@@ -301,11 +301,11 @@ VioletCity_MapEventHeader:
 
 .PersonEvents:
    db 8
-   person_event SPRITE_FISHER, 16, 13, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a83bb, EVENT_VIOLET_CITY_EARL
-   person_event SPRITE_LASS, 28, 28, $2, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x1a8403, -1
-   person_event SPRITE_SUPER_NERD, 14, 24, $2, 2, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a8406, -1
-   person_event SPRITE_GRAMPS, 20, 17, $5, 0, 1, -1, -1, 0, 0, 0, GrampsScript_0x1a8409, -1
-   person_event SPRITE_YOUNGSTER, 18, 5, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a840c, -1
-   person_event SPRITE_FRUIT_TREE, 29, 14, $1, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8425, -1
-   person_event SPRITE_POKE_BALL, 1, 4, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a8421, EVENT_VIOLET_CITY_PP_UP
-   person_event SPRITE_POKE_BALL, 5, 35, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a8423, EVENT_VIOLET_CITY_RARE_CANDY
+   person_event SPRITE_FISHER, 16, 13, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, FisherScript_0x1a83bb, EVENT_VIOLET_CITY_EARL
+   person_event SPRITE_LASS, 28, 28, SPRITEMOVEFN_02, 2, 2, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x1a8403, -1
+   person_event SPRITE_SUPER_NERD, 14, 24, SPRITEMOVEFN_02, 2, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, SuperNerdScript_0x1a8406, -1
+   person_event SPRITE_GRAMPS, 20, 17, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, GrampsScript_0x1a8409, -1
+   person_event SPRITE_YOUNGSTER, 18, 5, SPRITEMOVEFN_03, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a840c, -1
+   person_event SPRITE_FRUIT_TREE, 29, 14, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 0, 0, FruitTreeScript_0x1a8425, -1
+   person_event SPRITE_POKE_BALL, 1, 4, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x1a8421, EVENT_VIOLET_CITY_PP_UP
+   person_event SPRITE_POKE_BALL, 5, 35, SPRITEMOVEFN_01, 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 a3b0515..4654f1f 100644
--- a/maps/VioletGym.asm
+++ b/maps/VioletGym.asm
@@ -13,7 +13,7 @@ FalknerScript_0x683c2:
    writetext UnknownText_0x68473
    closetext
    loadmovesprites
    winlosstext UnknownText_0x6854a, $0000
    loadtrainer FALKNER, 1
    startbattle
    returnafterbattle
@@ -61,7 +61,7 @@ VioletGymTriggerRockets:
    jumpstd radiotowerrockets
 
 TrainerBird_keeperRod:
    trainer EVENT_BEAT_BIRD_KEEPER_ROD, BIRD_KEEPER, ROD, Bird_keeperRodSeenText, Bird_keeperRodBeatenText, $0000, Bird_keeperRodScript
 
 Bird_keeperRodScript:
    talkaftercancel
@@ -72,7 +72,7 @@ Bird_keeperRodScript:
    end
 
 TrainerBird_keeperAbe:
    trainer EVENT_BEAT_BIRD_KEEPER_ABE, BIRD_KEEPER, ABE, Bird_keeperAbeSeenText, Bird_keeperAbeBeatenText, $0000, Bird_keeperAbeScript
 
 Bird_keeperAbeScript:
    talkaftercancel
@@ -294,7 +294,7 @@ VioletGym_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_FALKNER, 1, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FalknerScript_0x683c2, -1
-   person_event SPRITE_YOUNGSTER, 6, 7, $8, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperRod, -1
-   person_event SPRITE_YOUNGSTER, 10, 2, $9, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperAbe, -1
-   person_event SPRITE_GYM_GUY, 13, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, VioletGymGuyScript, -1
+   person_event SPRITE_FALKNER, 1, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, FalknerScript_0x683c2, -1
+   person_event SPRITE_YOUNGSTER, 6, 7, SPRITEMOVEFN_08, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperRod, -1
+   person_event SPRITE_YOUNGSTER, 10, 2, SPRITEMOVEFN_09, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerBird_keeperAbe, -1
+   person_event SPRITE_GYM_GUY, 13, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, VioletGymGuyScript, -1
diff --git a/maps/VioletMart.asm b/maps/VioletMart.asm
index cd878e8..1c63cae 100644
--- a/maps/VioletMart.asm
+++ b/maps/VioletMart.asm
@@ -60,6 +60,6 @@ VioletMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x68295, -1
-   person_event SPRITE_GRANNY, 6, 7, $5, 0, 1, -1, -1, 0, 0, 0, GrannyScript_0x6829c, -1
-   person_event SPRITE_COOLTRAINER_M, 2, 5, $3, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x6829f, -1
+   person_event SPRITE_CLERK, 3, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x68295, -1
+   person_event SPRITE_GRANNY, 6, 7, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, GrannyScript_0x6829c, -1
+   person_event SPRITE_COOLTRAINER_M, 2, 5, SPRITEMOVEFN_03, 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 5447e30..232dca2 100644
--- a/maps/VioletNicknameSpeechHouse.asm
+++ b/maps/VioletNicknameSpeechHouse.asm
@@ -56,6 +56,6 @@ VioletNicknameSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_TEACHER, 3, 2, $9, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x693e9, -1
-   person_event SPRITE_LASS, 4, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x693ec, -1
-   person_event SPRITE_BIRD, 2, 5, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, BirdScript_0x693ef, -1
+   person_event SPRITE_TEACHER, 3, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, TeacherScript_0x693e9, -1
+   person_event SPRITE_LASS, 4, 6, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x693ec, -1
+   person_event SPRITE_BIRD, 2, 5, SPRITEMOVEFN_05, 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 134c561..cef27de 100644
--- a/maps/VioletOnixTradeHouse.asm
+++ b/maps/VioletOnixTradeHouse.asm
@@ -45,5 +45,5 @@ VioletOnixTradeHouse_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_POKEFAN_M, 3, 2, $3, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x6998d, -1
-   person_event SPRITE_YOUNGSTER, 5, 6, $4, 2, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x69990, -1
+   person_event SPRITE_POKEFAN_M, 3, 2, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, PokefanMScript_0x6998d, -1
+   person_event SPRITE_YOUNGSTER, 5, 6, SPRITEMOVEFN_04, 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 3172efb..253c6b5 100644
--- a/maps/VioletPokeCenter1F.asm
+++ b/maps/VioletPokeCenter1F.asm
@@ -226,8 +226,8 @@ VioletPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 5
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x694c9, -1
-   person_event SPRITE_GAMEBOY_KID, 6, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GameboyKidScript_0x69540, -1
-   person_event SPRITE_GENTLEMAN, 4, 1, $3, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x69543, -1
-   person_event SPRITE_YOUNGSTER, 1, 8, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x69546, -1
-   person_event SPRITE_SCIENTIST, 3, 4, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ScientistScript_0x694cc, EVENT_ELMS_AIDE_IN_VIOLET_POKEMON_CENTER
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x694c9, -1
+   person_event SPRITE_GAMEBOY_KID, 6, 7, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, GameboyKidScript_0x69540, -1
+   person_event SPRITE_GENTLEMAN, 4, 1, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, GentlemanScript_0x69543, -1
+   person_event SPRITE_YOUNGSTER, 1, 8, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, YoungsterScript_0x69546, -1
+   person_event SPRITE_SCIENTIST, 3, 4, SPRITEMOVEFN_06, 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 2ebd02c..763c308 100644
--- a/maps/ViridianCity.asm
+++ b/maps/ViridianCity.asm
@@ -237,7 +237,7 @@ ViridianCity_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_GRAMPS, 5, 18, $2, 2, 2, -1, -1, 0, 0, 0, GrampsScript_0x1a9a4c, -1
-   person_event SPRITE_GRAMPS, 8, 30, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x1a9a61, -1
-   person_event SPRITE_FISHER, 23, 6, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x1a9a75, -1
-   person_event SPRITE_YOUNGSTER, 21, 17, $2, 3, 3, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungsterScript_0x1a9a90, -1
+   person_event SPRITE_GRAMPS, 5, 18, SPRITEMOVEFN_02, 2, 2, -1, -1, 0, 0, 0, GrampsScript_0x1a9a4c, -1
+   person_event SPRITE_GRAMPS, 8, 30, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrampsScript_0x1a9a61, -1
+   person_event SPRITE_FISHER, 23, 6, SPRITEMOVEFN_06, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, FisherScript_0x1a9a75, -1
+   person_event SPRITE_YOUNGSTER, 21, 17, SPRITEMOVEFN_02, 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 2508938..8e8a54e 100644
--- a/maps/ViridianGym.asm
+++ b/maps/ViridianGym.asm
@@ -13,7 +13,7 @@ BlueScript_0x9aa26:
    writetext UnknownText_0x9aa7b
    closetext
    loadmovesprites
    winlosstext UnknownText_0x9abae, $0000
    loadtrainer BLUE, 1
    startbattle
    returnafterbattle
@@ -183,5 +183,5 @@ ViridianGym_MapEventHeader:
 
 .PersonEvents:
    db 2
-   person_event SPRITE_BLUE, 3, 5, $6, 0, 0, -1, -1, 0, 0, 0, BlueScript_0x9aa26, EVENT_VIRIDIAN_GYM_BLUE
-   person_event SPRITE_GYM_GUY, 13, 7, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, ViridianGymGuyScript, EVENT_VIRIDIAN_GYM_BLUE
+   person_event SPRITE_BLUE, 3, 5, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, BlueScript_0x9aa26, EVENT_VIRIDIAN_GYM_BLUE
+   person_event SPRITE_GYM_GUY, 13, 7, SPRITEMOVEFN_06, 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 8ca273c..1177c0c 100644
--- a/maps/ViridianMart.asm
+++ b/maps/ViridianMart.asm
@@ -48,6 +48,6 @@ ViridianMart_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_CLERK, 3, 1, $9, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x9b5e7, -1
-   person_event SPRITE_LASS, 2, 7, $5, 0, 2, -1, -1, 0, 0, 0, LassScript_0x9b5ee, -1
-   person_event SPRITE_COOLTRAINER_M, 6, 1, $7, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x9b5f1, -1
+   person_event SPRITE_CLERK, 3, 1, SPRITEMOVEFN_09, 0, 0, -1, -1, 0, 0, 0, ClerkScript_0x9b5e7, -1
+   person_event SPRITE_LASS, 2, 7, SPRITEMOVEFN_05, 0, 2, -1, -1, 0, 0, 0, LassScript_0x9b5ee, -1
+   person_event SPRITE_COOLTRAINER_M, 6, 1, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 0, 0, CooltrainerMScript_0x9b5f1, -1
diff --git a/maps/ViridianNicknameSpeechHouse.asm b/maps/ViridianNicknameSpeechHouse.asm
index c7aa1e0..6689a12 100644
--- a/maps/ViridianNicknameSpeechHouse.asm
+++ b/maps/ViridianNicknameSpeechHouse.asm
@@ -72,7 +72,7 @@ ViridianNicknameSpeechHouse_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_POKEFAN_M, 4, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x9ae3a, -1
-   person_event SPRITE_LASS, 4, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x9ae3d, -1
-   person_event SPRITE_MOLTRES, 2, 5, $16, 0, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MoltresScript_0x9ae40, -1
-   person_event SPRITE_GROWLITHE, 3, 6, $16, 0, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, GrowlitheScript_0x9ae4a, -1
+   person_event SPRITE_POKEFAN_M, 4, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, PokefanMScript_0x9ae3a, -1
+   person_event SPRITE_LASS, 4, 5, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, LassScript_0x9ae3d, -1
+   person_event SPRITE_MOLTRES, 2, 5, SPRITEMOVEFN_16, 0, 2, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, MoltresScript_0x9ae40, -1
+   person_event SPRITE_GROWLITHE, 3, 6, SPRITEMOVEFN_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 1c44183..0fdac5a 100644
--- a/maps/ViridianPokeCenter1F.asm
+++ b/maps/ViridianPokeCenter1F.asm
@@ -83,7 +83,7 @@ ViridianPokeCenter1F_MapEventHeader:
 
 .PersonEvents:
    db 4
-   person_event SPRITE_NURSE, 1, 3, $6, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x9b690, -1
-   person_event SPRITE_COOLTRAINER_M, 4, 8, $5, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x9b693, -1
-   person_event SPRITE_COOLTRAINER_F, 3, 5, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerFScript_0x9b6a7, -1
-   person_event SPRITE_BUG_CATCHER, 6, 1, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, BugCatcherScript_0x9b6aa, -1
+   person_event SPRITE_NURSE, 1, 3, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 0, 0, NurseScript_0x9b690, -1
+   person_event SPRITE_COOLTRAINER_M, 4, 8, SPRITEMOVEFN_05, 0, 1, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, CooltrainerMScript_0x9b693, -1
+   person_event SPRITE_COOLTRAINER_F, 3, 5, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, CooltrainerFScript_0x9b6a7, -1
+   person_event SPRITE_BUG_CATCHER, 6, 1, SPRITEMOVEFN_09, 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 0d1b786..7bc4b8d 100644
--- a/maps/WarehouseEntrance.asm
+++ b/maps/WarehouseEntrance.asm
@@ -105,7 +105,7 @@ WarehouseEntrance_MapScriptHeader:
    return
 
 TrainerSupernerdEric:
    trainer EVENT_BEAT_SUPER_NERD_ERIC, SUPER_NERD, ERIC, SupernerdEricSeenText, SupernerdEricBeatenText, $0000, SupernerdEricScript
 
 SupernerdEricScript:
    talkaftercancel
@@ -116,7 +116,7 @@ SupernerdEricScript:
    end
 
 TrainerSupernerdTeru:
    trainer EVENT_BEAT_SUPER_NERD_TERU, SUPER_NERD, TERU, SupernerdTeruSeenText, SupernerdTeruBeatenText, $0000, SupernerdTeruScript
 
 SupernerdTeruScript:
    talkaftercancel
@@ -127,7 +127,7 @@ SupernerdTeruScript:
    end
 
 TrainerPokemaniacIssac:
    trainer EVENT_BEAT_POKEMANIAC_ISSAC, POKEMANIAC, ISSAC, PokemaniacIssacSeenText, PokemaniacIssacBeatenText, $0000, PokemaniacIssacScript
 
 PokemaniacIssacScript:
    talkaftercancel
@@ -138,7 +138,7 @@ PokemaniacIssacScript:
    end
 
 TrainerPokemaniacDonald:
    trainer EVENT_BEAT_POKEMANIAC_DONALD, POKEMANIAC, DONALD, PokemaniacDonaldSeenText, PokemaniacDonaldBeatenText, $0000, PokemaniacDonaldScript
 
 PokemaniacDonaldScript:
    talkaftercancel
@@ -171,7 +171,7 @@ GrampsScript_0x7c146:
 .CheckMorn:
    checkmorn
    iffalse WarehouseEntranceScript_ShopClosed
    pokemart $2, $0000
    loadmovesprites
    end
 
@@ -669,12 +669,12 @@ WarehouseEntrance_MapEventHeader:
 
 .PersonEvents:
    db 9
-   person_event SPRITE_SUPER_NERD, 31, 5, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerSupernerdEric, -1
-   person_event SPRITE_SUPER_NERD, 9, 6, $7, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerSupernerdTeru, -1
-   person_event SPRITE_SUPER_NERD, 27, 3, $a, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPokemaniacIssac, -1
-   person_event SPRITE_SUPER_NERD, 6, 2, $9, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacDonald, -1
-   person_event SPRITE_POKE_BALL, 25, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7c306, EVENT_WAREHOUSE_ENTRANCE_COIN_CASE
-   person_event SPRITE_GRAMPS, 11, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x7c146, EVENT_WAREHOUSE_ENTRANCE_GRAMPS
-   person_event SPRITE_SUPER_NERD, 14, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, OlderHaircutBrotherScript, EVENT_WAREHOUSE_ENTRANCE_OLDER_HAIRCUT_BROTHER
-   person_event SPRITE_SUPER_NERD, 15, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungerHaircutBrotherScript, EVENT_WAREHOUSE_ENTRANCE_YOUNGER_HAIRCUT_BROTHER
-   person_event SPRITE_GRANNY, 21, 7, $8, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrannyScript_0x7c132, EVENT_WAREHOUSE_ENTRANCE_GRANNY
+   person_event SPRITE_SUPER_NERD, 31, 5, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 3, TrainerSupernerdEric, -1
+   person_event SPRITE_SUPER_NERD, 9, 6, SPRITEMOVEFN_07, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 2, 2, TrainerSupernerdTeru, -1
+   person_event SPRITE_SUPER_NERD, 27, 3, SPRITEMOVEFN_0A, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 2, TrainerPokemaniacIssac, -1
+   person_event SPRITE_SUPER_NERD, 6, 2, SPRITEMOVEFN_09, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 2, 3, TrainerPokemaniacDonald, -1
+   person_event SPRITE_POKE_BALL, 25, 7, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x7c306, EVENT_WAREHOUSE_ENTRANCE_COIN_CASE
+   person_event SPRITE_GRAMPS, 11, 7, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_BROWN, 0, 0, GrampsScript_0x7c146, EVENT_WAREHOUSE_ENTRANCE_GRAMPS
+   person_event SPRITE_SUPER_NERD, 14, 7, SPRITEMOVEFN_08, 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, SPRITEMOVEFN_08, 0, 0, -1, -1, (1 << 3) | PAL_OW_GREEN, 0, 0, YoungerHaircutBrotherScript, EVENT_WAREHOUSE_ENTRANCE_YOUNGER_HAIRCUT_BROTHER
+   person_event SPRITE_GRANNY, 21, 7, SPRITEMOVEFN_08, 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 bae2a02..70f4ee1 100644
--- a/maps/WhirlIslandB1F.asm
+++ b/maps/WhirlIslandB1F.asm
@@ -62,9 +62,9 @@ WhirlIslandB1F_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_POKE_BALL, 13, 7, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c410, EVENT_WHIRL_ISLAND_B1F_FULL_RESTORE
-   person_event SPRITE_POKE_BALL, 18, 2, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c412, EVENT_WHIRL_ISLAND_B1F_CARBOS
-   person_event SPRITE_POKE_BALL, 23, 33, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c414, EVENT_WHIRL_ISLAND_B1F_CALCIUM
-   person_event SPRITE_POKE_BALL, 8, 17, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c416, EVENT_WHIRL_ISLAND_B1F_NUGGET
-   person_event SPRITE_POKE_BALL, 26, 19, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c418, EVENT_WHIRL_ISLAND_B1F_ESCAPE_ROPE
-   person_event SPRITE_BOULDER, 26, 23, $19, 0, 0, -1, -1, 0, 0, 0, WhirlIslandB1FBoulder, -1
+   person_event SPRITE_POKE_BALL, 13, 7, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c410, EVENT_WHIRL_ISLAND_B1F_FULL_RESTORE
+   person_event SPRITE_POKE_BALL, 18, 2, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c412, EVENT_WHIRL_ISLAND_B1F_CARBOS
+   person_event SPRITE_POKE_BALL, 23, 33, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c414, EVENT_WHIRL_ISLAND_B1F_CALCIUM
+   person_event SPRITE_POKE_BALL, 8, 17, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c416, EVENT_WHIRL_ISLAND_B1F_NUGGET
+   person_event SPRITE_POKE_BALL, 26, 19, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c418, EVENT_WHIRL_ISLAND_B1F_ESCAPE_ROPE
+   person_event SPRITE_BOULDER, 26, 23, SPRITEMOVEFN_19, 0, 0, -1, -1, 0, 0, 0, WhirlIslandB1FBoulder, -1
diff --git a/maps/WhirlIslandB2F.asm b/maps/WhirlIslandB2F.asm
index 091dc6f..d86648d 100644
--- a/maps/WhirlIslandB2F.asm
+++ b/maps/WhirlIslandB2F.asm
@@ -33,6 +33,6 @@ WhirlIslandB2F_MapEventHeader:
 
 .PersonEvents:
    db 3
-   person_event SPRITE_POKE_BALL, 11, 10, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c4b8, EVENT_WHIRL_ISLAND_B2F_FULL_RESTORE
-   person_event SPRITE_POKE_BALL, 4, 6, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c4ba, EVENT_WHIRL_ISLAND_B2F_MAX_REVIVE
-   person_event SPRITE_POKE_BALL, 12, 5, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c4bc, EVENT_WHIRL_ISLAND_B2F_MAX_ELIXER
+   person_event SPRITE_POKE_BALL, 11, 10, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c4b8, EVENT_WHIRL_ISLAND_B2F_FULL_RESTORE
+   person_event SPRITE_POKE_BALL, 4, 6, SPRITEMOVEFN_01, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c4ba, EVENT_WHIRL_ISLAND_B2F_MAX_REVIVE
+   person_event SPRITE_POKE_BALL, 12, 5, SPRITEMOVEFN_01, 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 e92fac7..c4dc628 100644
--- a/maps/WhirlIslandLugiaChamber.asm
+++ b/maps/WhirlIslandLugiaChamber.asm
@@ -59,4 +59,4 @@ WhirlIslandLugiaChamber_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_LUGIA, 5, 9, $16, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, 0, 0, LugiaScript_0x18c518, EVENT_WHIRL_ISLAND_LUGIA_CHAMBER_LUGIA
+   person_event SPRITE_LUGIA, 5, 9, SPRITEMOVEFN_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 dce0357..2ba3274 100644
--- a/maps/WhirlIslandNE.asm
+++ b/maps/WhirlIslandNE.asm
@@ -26,4 +26,4 @@ WhirlIslandNE_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 11, 11, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c396, EVENT_WHIRL_ISLAND_NE_ULTRA_BALL
+   person_event SPRITE_POKE_BALL, 11, 11, SPRITEMOVEFN_01, 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 e8132d1..d688328 100644
--- a/maps/WhirlIslandSW.asm
+++ b/maps/WhirlIslandSW.asm
@@ -28,4 +28,4 @@ WhirlIslandSW_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_POKE_BALL, 2, 15, $1, 0, 0, -1, -1, 0, 1, 0, ItemFragment_0x18c3bc, EVENT_WHIRL_ISLAND_SW_ULTRA_BALL
+   person_event SPRITE_POKE_BALL, 2, 15, SPRITEMOVEFN_01, 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 6bc754d..28ad4df 100644
--- a/maps/WillsRoom.asm
+++ b/maps/WillsRoom.asm
@@ -3,8 +3,8 @@ WillsRoom_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x1804c6, $0000
    dw UnknownScript_0x1804ca, $0000
 
 .MapCallbacks:
    db 1
@@ -52,7 +52,7 @@ WillScript_0x1804f8:
    writetext UnknownText_0x180531
    closetext
    loadmovesprites
    winlosstext UnknownText_0x18062c, $0000
    loadtrainer WILL, 1
    startbattle
    returnafterbattle
@@ -148,4 +148,4 @@ WillsRoom_MapEventHeader:
 
 .PersonEvents:
    db 1
-   person_event SPRITE_WILL, 7, 5, $6, 0, 0, -1, -1, (1 << 3) | PAL_OW_RED, 0, 0, WillScript_0x1804f8, -1
+   person_event SPRITE_WILL, 7, 5, SPRITEMOVEFN_06, 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 783dd39..f7abb4f 100644
--- a/maps/WiseTriosRoom.asm
+++ b/maps/WiseTriosRoom.asm
@@ -3,8 +3,8 @@ WiseTriosRoom_MapScriptHeader:
    db 2
 
    ; triggers
    dw UnknownScript_0x98572, $0000
    dw UnknownScript_0x98573, $0000
 
 .MapCallbacks:
    db 1
@@ -66,7 +66,7 @@ UnknownScript_0x985a3:
    end
 
 TrainerSageGaku:
    trainer EVENT_BEAT_SAGE_GAKU, SAGE, GAKU, SageGakuSeenText, SageGakuBeatenText, $0000, SageGakuScript
 
 SageGakuScript:
    loadfont
@@ -76,7 +76,7 @@ SageGakuScript:
    end
 
 TrainerSageMasa:
    trainer EVENT_BEAT_SAGE_MASA, SAGE, MASA, SageMasaSeenText, SageMasaBeatenText, $0000, SageMasaScript
 
 SageMasaScript:
    loadfont
@@ -86,7 +86,7 @@ SageMasaScript:
    end
 
 TrainerSageKoji:
    trainer EVENT_BEAT_SAGE_KOJI, SAGE, KOJI, SageKojiSeenText, SageKojiBeatenText, $0000, SageKojiScript
 
 SageKojiScript:
    checkevent EVENT_KOJI_ALLOWS_YOU_PASSAGE_TO_TIN_TOWER
@@ -360,9 +360,9 @@ WiseTriosRoom_MapEventHeader:
 
 .PersonEvents:
    db 6
-   person_event SPRITE_SAGE, 2, 6, $3, 0, 0, -1, -1, 0, 0, 0, SageScript_0x9859a, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1
-   person_event SPRITE_SAGE, 7, 6, $5, 0, 1, -1, -1, 0, 0, 0, SageScript_0x9859d, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1
-   person_event SPRITE_SAGE, 5, 7, $8, 0, 0, -1, -1, 0, 0, 0, SageScript_0x985a0, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1
-   person_event SPRITE_SAGE, 2, 4, $6, 0, 0, -1, -1, 0, 2, 2, TrainerSageGaku, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2
-   person_event SPRITE_SAGE, 6, 4, $7, 0, 0, -1, -1, 0, 2, 2, TrainerSageMasa, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2
-   person_event SPRITE_SAGE, 4, 6, $8, 0, 0, -1, -1, 0, 2, 2, TrainerSageKoji, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2
+   person_event SPRITE_SAGE, 2, 6, SPRITEMOVEFN_03, 0, 0, -1, -1, 0, 0, 0, SageScript_0x9859a, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1
+   person_event SPRITE_SAGE, 7, 6, SPRITEMOVEFN_05, 0, 1, -1, -1, 0, 0, 0, SageScript_0x9859d, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1
+   person_event SPRITE_SAGE, 5, 7, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 0, 0, SageScript_0x985a0, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_1
+   person_event SPRITE_SAGE, 2, 4, SPRITEMOVEFN_06, 0, 0, -1, -1, 0, 2, 2, TrainerSageGaku, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2
+   person_event SPRITE_SAGE, 6, 4, SPRITEMOVEFN_07, 0, 0, -1, -1, 0, 2, 2, TrainerSageMasa, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2
+   person_event SPRITE_SAGE, 4, 6, SPRITEMOVEFN_08, 0, 0, -1, -1, 0, 2, 2, TrainerSageKoji, EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2
diff --git a/misc/mobile_22_2.asm b/misc/mobile_22_2.asm
index 6e9091f..b6c61ee 100644
--- a/misc/mobile_22_2.asm
+++ b/misc/mobile_22_2.asm
@@ -939,7 +939,7 @@ Function8b88c: ; 8b88c
    call Function8931b
    call Function8932d
    jr c, .asm_8b8a3
    ld hl, $0000
    add hl, bc
    ld d, h
    ld e, l
diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm
index b6664ca..0de6c5c 100644
--- a/misc/mobile_40.asm
+++ b/misc/mobile_40.asm
@@ -246,17 +246,17 @@ Function10016f: ; 10016f
 
 .asm_1001af
    ld a, $d7
    ld de, $0000
    jr .asm_1001d7
 
 .asm_1001b6
    ld a, $d5
    ld de, $0000
    jr .asm_1001d7
 
 .asm_1001bd
    ld a, $d6
    ld de, $0000
    jr .asm_1001d7
 
 .asm_1001c4
@@ -271,7 +271,7 @@ Function10016f: ; 10016f
 
 .asm_1001d2
    ld a, $d0
    ld de, $0000
 
 .asm_1001d7
    ld [wc300], a
@@ -645,7 +645,7 @@ Function100406: ; 100406
 Function10043a: ; 10043a
    push hl
    push bc
    ld de, $0000
 .asm_10043f
    ld a, [hli]
    add e
@@ -3636,7 +3636,7 @@ Function10177b: ; 10177b
    ld c, a
    ld b, $0
    ld a, [wcd3a]
    ld hl, $0000
    call AddNTimes
    ld e, l
    ld d, h
@@ -6666,7 +6666,7 @@ Function102cee: ; 102cee
    sub c
    ret z
    ld bc, $002f
    ld hl, $0000
    call AddNTimes
    push hl
    ld a, [wJumptableIndex]
@@ -7473,7 +7473,7 @@ Function10343c: ; 10343c
    call Function1034e0
 
 .asm_10345f
    ld bc, $0000
    call Function10350f
    ld bc, $0001
    call Function103487
diff --git a/misc/mobile_45.asm b/misc/mobile_45.asm
index 52a2a65..c978bff 100644
--- a/misc/mobile_45.asm
+++ b/misc/mobile_45.asm
@@ -14428,7 +14428,7 @@ Function11ad1b: ; 11ad1b
    ld a, [wcfa9]
    ld [wcd82], a
    dec a
-   ld [hConnectedMapWidth], a
+   ld [hMapObjectIndexBuffer2], a
    ld a, $10
    ld [wc3b7], a
    ld hl, Function8e83f
@@ -15521,7 +15521,7 @@ Function11b3d9: ; 11b3d9
    add [hl]
    cp e
    jr z, .asm_11b40d
    ld hl, $0000
    ld bc, $0070
    call AddNTimes
    ld e, l
@@ -16413,7 +16413,7 @@ Function11b98f: ; 11b98f
 ; 11ba38
 
 Function11ba38: ; 11ba38
-   callba Functione538
+   callba CheckCurPartyMonFainted
    ret c
    xor a
    ld [ScriptVar], a
diff --git a/wram.asm b/wram.asm
index 08de7d7..bde772d 100644
--- a/wram.asm
+++ b/wram.asm
@@ -1644,9 +1644,9 @@ NorthConnectionStripPointer:: ; d1ab
    ds 2
 NorthConnectionStripLocation:: ; d1ad
    ds 2
-NorthConnectionStripLength:: ; d1af
+NorthMapObjectIndexBuffer1:: ; d1af
    ds 1
-NorthConnectedMapWidth:: ; d1b0
+NorthMapObjectIndexBuffer2:: ; d1b0
    ds 1
 NorthConnectionStripYOffset:: ; d1b1
    ds 1
@@ -1664,9 +1664,9 @@ SouthConnectionStripPointer:: ; d1b7
    ds 2
 SouthConnectionStripLocation:: ; d1b9
    ds 2
-SouthConnectionStripLength:: ; d1bb
+SouthMapObjectIndexBuffer1:: ; d1bb
    ds 1
-SouthConnectedMapWidth:: ; d1bc
+SouthMapObjectIndexBuffer2:: ; d1bc
    ds 1
 SouthConnectionStripYOffset:: ; d1bd
    ds 1
-- 
2.5.3

Comments