From c7796024590fec48ac79756793c1a6e3b54daf8f Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 1 Jan 2019 15:06:23 -0500 Subject: Rename map files, labels, and constants to be consistent and work with Polished Map --- scripts/AgathasRoom.asm | 154 +++ scripts/BikeShop.asm | 147 +++ scripts/BillsHouse.asm | 214 +++++ scripts/BluesHouse.asm | 89 ++ scripts/BrunosRoom.asm | 151 +++ scripts/CeladonChiefHouse.asm | 20 + scripts/CeladonCity.asm | 132 +++ scripts/CeladonDiner.asm | 66 ++ scripts/CeladonGym.asm | 335 +++++++ scripts/CeladonHotel.asm | 19 + scripts/CeladonMansion1F.asm | 39 + scripts/CeladonMansion2F.asm | 10 + scripts/CeladonMansion3F.asm | 71 ++ scripts/CeladonMansionRoof.asm | 9 + scripts/CeladonMansionRoofHouse.asm | 21 + scripts/CeladonMart1F.asm | 19 + scripts/CeladonMart2F.asm | 21 + scripts/CeladonMart3F.asm | 108 +++ scripts/CeladonMart4F.asm | 20 + scripts/CeladonMart5F.asm | 21 + scripts/CeladonMartElevator.asm | 73 ++ scripts/CeladonMartRoof.asm | 255 +++++ scripts/CeladonPokecenter.asm | 23 + scripts/CeruleanBadgeHouse.asm | 109 +++ scripts/CeruleanCave1F.asm | 7 + scripts/CeruleanCave2F.asm | 7 + scripts/CeruleanCaveB1F.asm | 43 + scripts/CeruleanCity.asm | 453 +++++++++ scripts/CeruleanCity_2.asm | 16 + scripts/CeruleanGym.asm | 219 +++++ scripts/CeruleanMart.asm | 15 + scripts/CeruleanPokecenter.asm | 23 + scripts/CeruleanTradeHouse.asm | 17 + scripts/CeruleanTrashedHouse.asm | 39 + scripts/ChampionsRoom.asm | 298 ++++++ scripts/CinnabarGym.asm | 472 ++++++++++ scripts/CinnabarIsland.asm | 85 ++ scripts/CinnabarLab.asm | 30 + scripts/CinnabarLabFossilRoom.asm | 109 +++ scripts/CinnabarLabMetronomeRoom.asm | 62 ++ scripts/CinnabarLabTradeRoom.asm | 25 + scripts/CinnabarMart.asm | 15 + scripts/CinnabarPokecenter.asm | 23 + scripts/Colosseum.asm | 9 + scripts/CopycatsHouse1F.asm | 22 + scripts/CopycatsHouse2F.asm | 102 ++ scripts/Daycare.asm | 269 ++++++ scripts/DiglettsCave.asm | 5 + scripts/DiglettsCaveRoute11.asm | 12 + scripts/DiglettsCaveRoute2.asm | 11 + scripts/FightingDojo.asm | 323 +++++++ scripts/FuchsiaBillsGrandpasHouse.asm | 20 + scripts/FuchsiaCity.asm | 169 ++++ scripts/FuchsiaGoodRodHouse.asm | 75 ++ scripts/FuchsiaGym.asm | 329 +++++++ scripts/FuchsiaMart.asm | 15 + scripts/FuchsiaMeetingRoom.asm | 20 + scripts/FuchsiaPokecenter.asm | 23 + scripts/GameCorner.asm | 527 +++++++++++ scripts/GameCornerPrizeRoom.asm | 20 + scripts/HallOfFame.asm | 109 +++ scripts/IndigoPlateau.asm | 4 + scripts/IndigoPlateauLobby.asm | 36 + scripts/LancesRoom.asm | 162 ++++ scripts/LavenderCuboneHouse.asm | 35 + scripts/LavenderMart.asm | 32 + scripts/LavenderPokecenter.asm | 23 + scripts/LavenderTown.asm | 63 ++ scripts/LoreleisRoom.asm | 153 +++ scripts/MrFujisHouse.asm | 112 +++ scripts/MrPsychicsHouse.asm | 45 + scripts/MtMoon1F.asm | 224 +++++ scripts/MtMoonB1F.asm | 10 + scripts/MtMoonB2F.asm | 406 ++++++++ scripts/MtMoonPokecenter.asm | 94 ++ scripts/Museum1F.asm | 247 +++++ scripts/Museum2F.asm | 39 + scripts/NameRatersHouse.asm | 107 +++ scripts/OaksLab.asm | 1233 +++++++++++++++++++++++++ scripts/PalletTown.asm | 214 +++++ scripts/PewterCity.asm | 322 +++++++ scripts/PewterGym.asm | 228 +++++ scripts/PewterMart.asm | 28 + scripts/PewterNidoranHouse.asm | 23 + scripts/PewterPokecenter.asm | 84 ++ scripts/PewterSpeechHouse.asm | 14 + scripts/PokemonFanClub.asm | 173 ++++ scripts/PokemonMansion1F.asm | 134 +++ scripts/PokemonMansion2F.asm | 140 +++ scripts/PokemonMansion3F.asm | 151 +++ scripts/PokemonMansionB1F.asm | 130 +++ scripts/PokemonTower1F.asm | 29 + scripts/PokemonTower2F.asm | 188 ++++ scripts/PokemonTower3F.asm | 101 ++ scripts/PokemonTower4F.asm | 104 +++ scripts/PokemonTower5F.asm | 176 ++++ scripts/PokemonTower6F.asm | 212 +++++ scripts/PokemonTower7F.asm | 312 +++++++ scripts/PowerPlant.asm | 175 ++++ scripts/RedsHouse1F.asm | 69 ++ scripts/RedsHouse2F.asm | 24 + scripts/RockTunnel1F.asm | 213 +++++ scripts/RockTunnelB1F.asm | 241 +++++ scripts/RockTunnelPokecenter.asm | 23 + scripts/RocketHideoutB1F.asm | 189 ++++ scripts/RocketHideoutB2F.asm | 450 +++++++++ scripts/RocketHideoutB3F.asm | 206 +++++ scripts/RocketHideoutB4F.asm | 220 +++++ scripts/RocketHideoutElevator.asm | 85 ++ scripts/Route1.asm | 52 ++ scripts/Route10.asm | 198 ++++ scripts/Route11.asm | 302 ++++++ scripts/Route11Gate1F.asm | 9 + scripts/Route11Gate2F.asm | 76 ++ scripts/Route12.asm | 288 ++++++ scripts/Route12Gate1F.asm | 9 + scripts/Route12Gate2F.asm | 78 ++ scripts/Route12SuperRodHouse.asm | 57 ++ scripts/Route13.asm | 312 +++++++ scripts/Route14.asm | 302 ++++++ scripts/Route15.asm | 295 ++++++ scripts/Route15Gate1F.asm | 9 + scripts/Route15Gate2F.asm | 44 + scripts/Route16.asm | 259 ++++++ scripts/Route16FlyHouse.asm | 55 ++ scripts/Route16Gate1F.asm | 121 +++ scripts/Route16Gate2F.asm | 46 + scripts/Route17.asm | 327 +++++++ scripts/Route18.asm | 111 +++ scripts/Route18Gate1F.asm | 112 +++ scripts/Route18Gate2F.asm | 32 + scripts/Route19.asm | 302 ++++++ scripts/Route2.asm | 16 + scripts/Route20.asm | 353 +++++++ scripts/Route21.asm | 269 ++++++ scripts/Route22.asm | 445 +++++++++ scripts/Route22Gate.asm | 93 ++ scripts/Route23.asm | 236 +++++ scripts/Route24.asm | 319 +++++++ scripts/Route25.asm | 303 ++++++ scripts/Route2Gate.asm | 39 + scripts/Route2TradeHouse.asm | 17 + scripts/Route3.asm | 251 +++++ scripts/Route4.asm | 62 ++ scripts/Route5.asm | 9 + scripts/Route5Gate.asm | 117 +++ scripts/Route6.asm | 186 ++++ scripts/Route6Gate.asm | 70 ++ scripts/Route7.asm | 9 + scripts/Route7Gate.asm | 73 ++ scripts/Route8.asm | 274 ++++++ scripts/Route8Gate.asm | 70 ++ scripts/Route9.asm | 268 ++++++ scripts/SSAnne1F.asm | 15 + scripts/SSAnne1FRooms.asm | 163 ++++ scripts/SSAnne2F.asm | 216 +++++ scripts/SSAnne2FRooms.asm | 215 +++++ scripts/SSAnne3F.asm | 9 + scripts/SSAnneB1F.asm | 5 + scripts/SSAnneB1FRooms.asm | 201 ++++ scripts/SSAnneBow.asm | 88 ++ scripts/SSAnneCaptainsRoom.asm | 93 ++ scripts/SSAnneKitchen.asm | 72 ++ scripts/SafariZoneCenter.asm | 15 + scripts/SafariZoneCenterRestHouse.asm | 14 + scripts/SafariZoneEast.asm | 23 + scripts/SafariZoneEastRestHouse.asm | 20 + scripts/SafariZoneGate.asm | 293 ++++++ scripts/SafariZoneNorth.asm | 31 + scripts/SafariZoneNorthRestHouse.asm | 20 + scripts/SafariZoneSecretHouse.asm | 45 + scripts/SafariZoneWest.asm | 28 + scripts/SafariZoneWestRestHouse.asm | 20 + scripts/SaffronCity.asm | 122 +++ scripts/SaffronGym.asm | 358 +++++++ scripts/SaffronMart.asm | 15 + scripts/SaffronPidgeyHouse.asm | 27 + scripts/SaffronPokecenter.asm | 23 + scripts/SeafoamIslands1F.asm | 47 + scripts/SeafoamIslandsB1F.asm | 46 + scripts/SeafoamIslandsB2F.asm | 46 + scripts/SeafoamIslandsB3F.asm | 149 +++ scripts/SeafoamIslandsB4F.asm | 173 ++++ scripts/SilphCo10F.asm | 122 +++ scripts/SilphCo11F.asm | 405 ++++++++ scripts/SilphCo1F.asm | 16 + scripts/SilphCo2F.asm | 245 +++++ scripts/SilphCo3F.asm | 136 +++ scripts/SilphCo4F.asm | 199 ++++ scripts/SilphCo5F.asm | 221 +++++ scripts/SilphCo6F.asm | 220 +++++ scripts/SilphCo7F.asm | 527 +++++++++++ scripts/SilphCo8F.asm | 183 ++++ scripts/SilphCo9F.asm | 244 +++++ scripts/SilphCoElevator.asm | 88 ++ scripts/TradeCenter.asm | 38 + scripts/UndergroundPathNorthSouth.asm | 5 + scripts/UndergroundPathRoute5.asm | 18 + scripts/UndergroundPathRoute6.asm | 11 + scripts/UndergroundPathRoute7.asm | 11 + scripts/UndergroundPathRoute7Copy.asm | 24 + scripts/UndergroundPathRoute8.asm | 11 + scripts/UndergroundPathWestEast.asm | 5 + scripts/VermilionCity.asm | 257 ++++++ scripts/VermilionDock.asm | 215 +++++ scripts/VermilionGym.asm | 267 ++++++ scripts/VermilionMart.asm | 15 + scripts/VermilionOldRodHouse.asm | 57 ++ scripts/VermilionPidgeyHouse.asm | 24 + scripts/VermilionPokecenter.asm | 23 + scripts/VermilionTradeHouse.asm | 12 + scripts/VictoryRoad1F.asm | 103 +++ scripts/VictoryRoad2F.asm | 244 +++++ scripts/VictoryRoad3F.asm | 197 ++++ scripts/ViridianCity.asm | 327 +++++++ scripts/ViridianForest.asm | 144 +++ scripts/ViridianForestNorthGate.asm | 14 + scripts/ViridianForestSouthGate.asm | 14 + scripts/ViridianGym.asm | 496 ++++++++++ scripts/ViridianMart.asm | 94 ++ scripts/ViridianNicknameHouse.asm | 33 + scripts/ViridianPokecenter.asm | 23 + scripts/ViridianSchoolHouse.asm | 14 + scripts/WardensHouse.asm | 113 +++ scripts/agatha.asm | 154 --- scripts/bikeshop.asm | 147 --- scripts/billshouse.asm | 214 ----- scripts/blueshouse.asm | 89 -- scripts/bruno.asm | 151 --- scripts/celadoncity.asm | 132 --- scripts/celadondiner.asm | 66 -- scripts/celadongamecorner.asm | 527 ----------- scripts/celadongym.asm | 335 ------- scripts/celadonhotel.asm | 19 - scripts/celadonhouse.asm | 20 - scripts/celadonmansion1.asm | 39 - scripts/celadonmansion2.asm | 10 - scripts/celadonmansion3.asm | 71 -- scripts/celadonmansion4.asm | 9 - scripts/celadonmansion5.asm | 21 - scripts/celadonmart1.asm | 19 - scripts/celadonmart2.asm | 21 - scripts/celadonmart3.asm | 108 --- scripts/celadonmart4.asm | 20 - scripts/celadonmart5.asm | 21 - scripts/celadonmartelevator.asm | 73 -- scripts/celadonmartroof.asm | 255 ----- scripts/celadonpokecenter.asm | 23 - scripts/celadonprizeroom.asm | 20 - scripts/ceruleancity.asm | 453 --------- scripts/ceruleancity2.asm | 16 - scripts/ceruleangym.asm | 219 ----- scripts/ceruleanhouse1.asm | 17 - scripts/ceruleanhouse2.asm | 109 --- scripts/ceruleanhousetrashed.asm | 39 - scripts/ceruleanmart.asm | 15 - scripts/ceruleanpokecenter.asm | 23 - scripts/cinnabargym.asm | 472 ---------- scripts/cinnabarisland.asm | 85 -- scripts/cinnabarmart.asm | 15 - scripts/cinnabarpokecenter.asm | 23 - scripts/colosseum.asm | 9 - scripts/copycatshouse1f.asm | 22 - scripts/copycatshouse2f.asm | 102 -- scripts/daycarem.asm | 269 ------ scripts/diglettscave.asm | 5 - scripts/diglettscaveroute11.asm | 12 - scripts/diglettscaveroute2.asm | 11 - scripts/fanclub.asm | 173 ---- scripts/fightingdojo.asm | 323 ------- scripts/fuchsiacity.asm | 169 ---- scripts/fuchsiagym.asm | 329 ------- scripts/fuchsiahouse1.asm | 20 - scripts/fuchsiahouse2.asm | 113 --- scripts/fuchsiahouse3.asm | 75 -- scripts/fuchsiamart.asm | 15 - scripts/fuchsiameetingroom.asm | 20 - scripts/fuchsiapokecenter.asm | 23 - scripts/gary.asm | 298 ------ scripts/halloffameroom.asm | 109 --- scripts/indigoplateau.asm | 4 - scripts/indigoplateaulobby.asm | 36 - scripts/lab1.asm | 30 - scripts/lab2.asm | 25 - scripts/lab3.asm | 62 -- scripts/lab4.asm | 109 --- scripts/lance.asm | 162 ---- scripts/lavenderhouse1.asm | 112 --- scripts/lavenderhouse2.asm | 35 - scripts/lavendermart.asm | 32 - scripts/lavenderpokecenter.asm | 23 - scripts/lavendertown.asm | 63 -- scripts/lorelei.asm | 153 --- scripts/mansion1.asm | 134 --- scripts/mansion2.asm | 140 --- scripts/mansion3.asm | 151 --- scripts/mansion4.asm | 130 --- scripts/mtmoon1.asm | 224 ----- scripts/mtmoon2.asm | 10 - scripts/mtmoon3.asm | 406 -------- scripts/mtmoonpokecenter.asm | 94 -- scripts/museum1f.asm | 247 ----- scripts/museum2f.asm | 39 - scripts/namerater.asm | 107 --- scripts/oakslab.asm | 1233 ------------------------- scripts/pallettown.asm | 214 ----- scripts/pewtercity.asm | 322 ------- scripts/pewtergym.asm | 228 ----- scripts/pewterhouse1.asm | 23 - scripts/pewterhouse2.asm | 14 - scripts/pewtermart.asm | 28 - scripts/pewterpokecenter.asm | 84 -- scripts/pokemontower1.asm | 29 - scripts/pokemontower2.asm | 188 ---- scripts/pokemontower3.asm | 101 -- scripts/pokemontower4.asm | 104 --- scripts/pokemontower5.asm | 176 ---- scripts/pokemontower6.asm | 212 ----- scripts/pokemontower7.asm | 312 ------- scripts/powerplant.asm | 175 ---- scripts/redshouse1f.asm | 69 -- scripts/redshouse2f.asm | 24 - scripts/rockethideout1.asm | 189 ---- scripts/rockethideout2.asm | 450 --------- scripts/rockethideout3.asm | 206 ----- scripts/rockethideout4.asm | 220 ----- scripts/rockethideoutelevator.asm | 85 -- scripts/rocktunnel1.asm | 213 ----- scripts/rocktunnel2.asm | 241 ----- scripts/rocktunnelpokecenter.asm | 23 - scripts/route1.asm | 52 -- scripts/route10.asm | 198 ---- scripts/route11.asm | 302 ------ scripts/route11gate.asm | 9 - scripts/route11gateupstairs.asm | 76 -- scripts/route12.asm | 288 ------ scripts/route12gate.asm | 9 - scripts/route12gateupstairs.asm | 78 -- scripts/route12house.asm | 57 -- scripts/route13.asm | 312 ------- scripts/route14.asm | 302 ------ scripts/route15.asm | 295 ------ scripts/route15gate.asm | 9 - scripts/route15gateupstairs.asm | 44 - scripts/route16.asm | 259 ------ scripts/route16gate.asm | 121 --- scripts/route16gateupstairs.asm | 46 - scripts/route16house.asm | 55 -- scripts/route17.asm | 327 ------- scripts/route18.asm | 111 --- scripts/route18gate.asm | 112 --- scripts/route18gateupstairs.asm | 32 - scripts/route19.asm | 302 ------ scripts/route2.asm | 16 - scripts/route20.asm | 353 ------- scripts/route21.asm | 269 ------ scripts/route22.asm | 445 --------- scripts/route22gate.asm | 93 -- scripts/route23.asm | 236 ----- scripts/route24.asm | 319 ------- scripts/route25.asm | 303 ------ scripts/route2gate.asm | 39 - scripts/route2house.asm | 17 - scripts/route3.asm | 251 ----- scripts/route4.asm | 62 -- scripts/route5.asm | 9 - scripts/route5gate.asm | 117 --- scripts/route6.asm | 186 ---- scripts/route6gate.asm | 70 -- scripts/route7.asm | 9 - scripts/route7gate.asm | 73 -- scripts/route8.asm | 274 ------ scripts/route8gate.asm | 70 -- scripts/route9.asm | 268 ------ scripts/safarizonecenter.asm | 15 - scripts/safarizoneeast.asm | 23 - scripts/safarizoneentrance.asm | 293 ------ scripts/safarizonenorth.asm | 31 - scripts/safarizoneresthouse1.asm | 14 - scripts/safarizoneresthouse2.asm | 20 - scripts/safarizoneresthouse3.asm | 20 - scripts/safarizoneresthouse4.asm | 20 - scripts/safarizonesecrethouse.asm | 45 - scripts/safarizonewest.asm | 28 - scripts/saffroncity.asm | 122 --- scripts/saffrongym.asm | 358 ------- scripts/saffronhouse1.asm | 27 - scripts/saffronhouse2.asm | 45 - scripts/saffronmart.asm | 15 - scripts/saffronpokecenter.asm | 23 - scripts/school.asm | 14 - scripts/seafoamislands1.asm | 47 - scripts/seafoamislands2.asm | 46 - scripts/seafoamislands3.asm | 46 - scripts/seafoamislands4.asm | 149 --- scripts/seafoamislands5.asm | 173 ---- scripts/silphco1.asm | 16 - scripts/silphco10.asm | 122 --- scripts/silphco11.asm | 405 -------- scripts/silphco2.asm | 245 ----- scripts/silphco3.asm | 136 --- scripts/silphco4.asm | 199 ---- scripts/silphco5.asm | 221 ----- scripts/silphco6.asm | 220 ----- scripts/silphco7.asm | 527 ----------- scripts/silphco8.asm | 183 ---- scripts/silphco9.asm | 244 ----- scripts/silphcoelevator.asm | 88 -- scripts/ssanne1.asm | 15 - scripts/ssanne10.asm | 201 ---- scripts/ssanne2.asm | 216 ----- scripts/ssanne3.asm | 9 - scripts/ssanne4.asm | 5 - scripts/ssanne5.asm | 88 -- scripts/ssanne6.asm | 72 -- scripts/ssanne7.asm | 93 -- scripts/ssanne8.asm | 163 ---- scripts/ssanne9.asm | 215 ----- scripts/tradecenter.asm | 38 - scripts/undergroundpathentranceroute5.asm | 18 - scripts/undergroundpathentranceroute6.asm | 11 - scripts/undergroundpathentranceroute7.asm | 11 - scripts/undergroundpathentranceroute7copy.asm | 24 - scripts/undergroundpathentranceroute8.asm | 11 - scripts/undergroundpathns.asm | 5 - scripts/undergroundpathwe.asm | 5 - scripts/unknowndungeon1.asm | 7 - scripts/unknowndungeon2.asm | 7 - scripts/unknowndungeon3.asm | 43 - scripts/vermilioncity.asm | 257 ------ scripts/vermiliondock.asm | 215 ----- scripts/vermiliongym.asm | 267 ------ scripts/vermilionhouse1.asm | 24 - scripts/vermilionhouse2.asm | 57 -- scripts/vermilionhouse3.asm | 12 - scripts/vermilionmart.asm | 15 - scripts/vermilionpokecenter.asm | 23 - scripts/victoryroad1.asm | 103 --- scripts/victoryroad2.asm | 244 ----- scripts/victoryroad3.asm | 197 ---- scripts/viridiancity.asm | 327 ------- scripts/viridianforest.asm | 144 --- scripts/viridianforestentrance.asm | 14 - scripts/viridianforestexit.asm | 14 - scripts/viridiangym.asm | 496 ---------- scripts/viridianhouse.asm | 33 - scripts/viridianmart.asm | 93 -- scripts/viridianpokecenter.asm | 23 - 448 files changed, 28709 insertions(+), 28708 deletions(-) create mode 100755 scripts/AgathasRoom.asm create mode 100755 scripts/BikeShop.asm create mode 100755 scripts/BillsHouse.asm create mode 100755 scripts/BluesHouse.asm create mode 100755 scripts/BrunosRoom.asm create mode 100755 scripts/CeladonChiefHouse.asm create mode 100755 scripts/CeladonCity.asm create mode 100755 scripts/CeladonDiner.asm create mode 100755 scripts/CeladonGym.asm create mode 100755 scripts/CeladonHotel.asm create mode 100755 scripts/CeladonMansion1F.asm create mode 100755 scripts/CeladonMansion2F.asm create mode 100755 scripts/CeladonMansion3F.asm create mode 100755 scripts/CeladonMansionRoof.asm create mode 100755 scripts/CeladonMansionRoofHouse.asm create mode 100755 scripts/CeladonMart1F.asm create mode 100755 scripts/CeladonMart2F.asm create mode 100755 scripts/CeladonMart3F.asm create mode 100755 scripts/CeladonMart4F.asm create mode 100755 scripts/CeladonMart5F.asm create mode 100755 scripts/CeladonMartElevator.asm create mode 100755 scripts/CeladonMartRoof.asm create mode 100755 scripts/CeladonPokecenter.asm create mode 100755 scripts/CeruleanBadgeHouse.asm create mode 100755 scripts/CeruleanCave1F.asm create mode 100755 scripts/CeruleanCave2F.asm create mode 100755 scripts/CeruleanCaveB1F.asm create mode 100755 scripts/CeruleanCity.asm create mode 100755 scripts/CeruleanCity_2.asm create mode 100755 scripts/CeruleanGym.asm create mode 100755 scripts/CeruleanMart.asm create mode 100755 scripts/CeruleanPokecenter.asm create mode 100755 scripts/CeruleanTradeHouse.asm create mode 100755 scripts/CeruleanTrashedHouse.asm create mode 100755 scripts/ChampionsRoom.asm create mode 100755 scripts/CinnabarGym.asm create mode 100755 scripts/CinnabarIsland.asm create mode 100755 scripts/CinnabarLab.asm create mode 100755 scripts/CinnabarLabFossilRoom.asm create mode 100755 scripts/CinnabarLabMetronomeRoom.asm create mode 100755 scripts/CinnabarLabTradeRoom.asm create mode 100755 scripts/CinnabarMart.asm create mode 100755 scripts/CinnabarPokecenter.asm create mode 100755 scripts/Colosseum.asm create mode 100755 scripts/CopycatsHouse1F.asm create mode 100755 scripts/CopycatsHouse2F.asm create mode 100755 scripts/Daycare.asm create mode 100755 scripts/DiglettsCave.asm create mode 100755 scripts/DiglettsCaveRoute11.asm create mode 100755 scripts/DiglettsCaveRoute2.asm create mode 100755 scripts/FightingDojo.asm create mode 100755 scripts/FuchsiaBillsGrandpasHouse.asm create mode 100755 scripts/FuchsiaCity.asm create mode 100755 scripts/FuchsiaGoodRodHouse.asm create mode 100755 scripts/FuchsiaGym.asm create mode 100755 scripts/FuchsiaMart.asm create mode 100755 scripts/FuchsiaMeetingRoom.asm create mode 100755 scripts/FuchsiaPokecenter.asm create mode 100755 scripts/GameCorner.asm create mode 100755 scripts/GameCornerPrizeRoom.asm create mode 100755 scripts/HallOfFame.asm create mode 100755 scripts/IndigoPlateau.asm create mode 100755 scripts/IndigoPlateauLobby.asm create mode 100755 scripts/LancesRoom.asm create mode 100755 scripts/LavenderCuboneHouse.asm create mode 100755 scripts/LavenderMart.asm create mode 100755 scripts/LavenderPokecenter.asm create mode 100755 scripts/LavenderTown.asm create mode 100755 scripts/LoreleisRoom.asm create mode 100755 scripts/MrFujisHouse.asm create mode 100755 scripts/MrPsychicsHouse.asm create mode 100755 scripts/MtMoon1F.asm create mode 100755 scripts/MtMoonB1F.asm create mode 100755 scripts/MtMoonB2F.asm create mode 100755 scripts/MtMoonPokecenter.asm create mode 100755 scripts/Museum1F.asm create mode 100755 scripts/Museum2F.asm create mode 100755 scripts/NameRatersHouse.asm create mode 100755 scripts/OaksLab.asm create mode 100755 scripts/PalletTown.asm create mode 100755 scripts/PewterCity.asm create mode 100755 scripts/PewterGym.asm create mode 100755 scripts/PewterMart.asm create mode 100755 scripts/PewterNidoranHouse.asm create mode 100755 scripts/PewterPokecenter.asm create mode 100755 scripts/PewterSpeechHouse.asm create mode 100755 scripts/PokemonFanClub.asm create mode 100755 scripts/PokemonMansion1F.asm create mode 100755 scripts/PokemonMansion2F.asm create mode 100755 scripts/PokemonMansion3F.asm create mode 100755 scripts/PokemonMansionB1F.asm create mode 100755 scripts/PokemonTower1F.asm create mode 100755 scripts/PokemonTower2F.asm create mode 100755 scripts/PokemonTower3F.asm create mode 100755 scripts/PokemonTower4F.asm create mode 100755 scripts/PokemonTower5F.asm create mode 100755 scripts/PokemonTower6F.asm create mode 100755 scripts/PokemonTower7F.asm create mode 100755 scripts/PowerPlant.asm create mode 100755 scripts/RedsHouse1F.asm create mode 100755 scripts/RedsHouse2F.asm create mode 100755 scripts/RockTunnel1F.asm create mode 100755 scripts/RockTunnelB1F.asm create mode 100755 scripts/RockTunnelPokecenter.asm create mode 100755 scripts/RocketHideoutB1F.asm create mode 100755 scripts/RocketHideoutB2F.asm create mode 100755 scripts/RocketHideoutB3F.asm create mode 100755 scripts/RocketHideoutB4F.asm create mode 100755 scripts/RocketHideoutElevator.asm create mode 100755 scripts/Route1.asm create mode 100755 scripts/Route10.asm create mode 100755 scripts/Route11.asm create mode 100755 scripts/Route11Gate1F.asm create mode 100755 scripts/Route11Gate2F.asm create mode 100755 scripts/Route12.asm create mode 100755 scripts/Route12Gate1F.asm create mode 100755 scripts/Route12Gate2F.asm create mode 100755 scripts/Route12SuperRodHouse.asm create mode 100755 scripts/Route13.asm create mode 100755 scripts/Route14.asm create mode 100755 scripts/Route15.asm create mode 100755 scripts/Route15Gate1F.asm create mode 100755 scripts/Route15Gate2F.asm create mode 100755 scripts/Route16.asm create mode 100755 scripts/Route16FlyHouse.asm create mode 100755 scripts/Route16Gate1F.asm create mode 100755 scripts/Route16Gate2F.asm create mode 100755 scripts/Route17.asm create mode 100755 scripts/Route18.asm create mode 100755 scripts/Route18Gate1F.asm create mode 100755 scripts/Route18Gate2F.asm create mode 100755 scripts/Route19.asm create mode 100755 scripts/Route2.asm create mode 100755 scripts/Route20.asm create mode 100755 scripts/Route21.asm create mode 100755 scripts/Route22.asm create mode 100755 scripts/Route22Gate.asm create mode 100755 scripts/Route23.asm create mode 100755 scripts/Route24.asm create mode 100755 scripts/Route25.asm create mode 100755 scripts/Route2Gate.asm create mode 100755 scripts/Route2TradeHouse.asm create mode 100755 scripts/Route3.asm create mode 100755 scripts/Route4.asm create mode 100755 scripts/Route5.asm create mode 100755 scripts/Route5Gate.asm create mode 100755 scripts/Route6.asm create mode 100755 scripts/Route6Gate.asm create mode 100755 scripts/Route7.asm create mode 100755 scripts/Route7Gate.asm create mode 100755 scripts/Route8.asm create mode 100755 scripts/Route8Gate.asm create mode 100755 scripts/Route9.asm create mode 100755 scripts/SSAnne1F.asm create mode 100755 scripts/SSAnne1FRooms.asm create mode 100755 scripts/SSAnne2F.asm create mode 100755 scripts/SSAnne2FRooms.asm create mode 100755 scripts/SSAnne3F.asm create mode 100755 scripts/SSAnneB1F.asm create mode 100755 scripts/SSAnneB1FRooms.asm create mode 100755 scripts/SSAnneBow.asm create mode 100755 scripts/SSAnneCaptainsRoom.asm create mode 100755 scripts/SSAnneKitchen.asm create mode 100755 scripts/SafariZoneCenter.asm create mode 100755 scripts/SafariZoneCenterRestHouse.asm create mode 100755 scripts/SafariZoneEast.asm create mode 100755 scripts/SafariZoneEastRestHouse.asm create mode 100755 scripts/SafariZoneGate.asm create mode 100755 scripts/SafariZoneNorth.asm create mode 100755 scripts/SafariZoneNorthRestHouse.asm create mode 100755 scripts/SafariZoneSecretHouse.asm create mode 100755 scripts/SafariZoneWest.asm create mode 100755 scripts/SafariZoneWestRestHouse.asm create mode 100755 scripts/SaffronCity.asm create mode 100755 scripts/SaffronGym.asm create mode 100755 scripts/SaffronMart.asm create mode 100755 scripts/SaffronPidgeyHouse.asm create mode 100755 scripts/SaffronPokecenter.asm create mode 100755 scripts/SeafoamIslands1F.asm create mode 100755 scripts/SeafoamIslandsB1F.asm create mode 100755 scripts/SeafoamIslandsB2F.asm create mode 100755 scripts/SeafoamIslandsB3F.asm create mode 100755 scripts/SeafoamIslandsB4F.asm create mode 100755 scripts/SilphCo10F.asm create mode 100755 scripts/SilphCo11F.asm create mode 100755 scripts/SilphCo1F.asm create mode 100755 scripts/SilphCo2F.asm create mode 100755 scripts/SilphCo3F.asm create mode 100755 scripts/SilphCo4F.asm create mode 100755 scripts/SilphCo5F.asm create mode 100755 scripts/SilphCo6F.asm create mode 100755 scripts/SilphCo7F.asm create mode 100755 scripts/SilphCo8F.asm create mode 100755 scripts/SilphCo9F.asm create mode 100755 scripts/SilphCoElevator.asm create mode 100755 scripts/TradeCenter.asm create mode 100755 scripts/UndergroundPathNorthSouth.asm create mode 100755 scripts/UndergroundPathRoute5.asm create mode 100755 scripts/UndergroundPathRoute6.asm create mode 100755 scripts/UndergroundPathRoute7.asm create mode 100755 scripts/UndergroundPathRoute7Copy.asm create mode 100755 scripts/UndergroundPathRoute8.asm create mode 100755 scripts/UndergroundPathWestEast.asm create mode 100755 scripts/VermilionCity.asm create mode 100755 scripts/VermilionDock.asm create mode 100755 scripts/VermilionGym.asm create mode 100755 scripts/VermilionMart.asm create mode 100755 scripts/VermilionOldRodHouse.asm create mode 100755 scripts/VermilionPidgeyHouse.asm create mode 100755 scripts/VermilionPokecenter.asm create mode 100755 scripts/VermilionTradeHouse.asm create mode 100755 scripts/VictoryRoad1F.asm create mode 100755 scripts/VictoryRoad2F.asm create mode 100755 scripts/VictoryRoad3F.asm create mode 100755 scripts/ViridianCity.asm create mode 100755 scripts/ViridianForest.asm create mode 100755 scripts/ViridianForestNorthGate.asm create mode 100755 scripts/ViridianForestSouthGate.asm create mode 100755 scripts/ViridianGym.asm create mode 100755 scripts/ViridianMart.asm create mode 100755 scripts/ViridianNicknameHouse.asm create mode 100755 scripts/ViridianPokecenter.asm create mode 100755 scripts/ViridianSchoolHouse.asm create mode 100755 scripts/WardensHouse.asm delete mode 100755 scripts/agatha.asm delete mode 100755 scripts/bikeshop.asm delete mode 100755 scripts/billshouse.asm delete mode 100755 scripts/blueshouse.asm delete mode 100755 scripts/bruno.asm delete mode 100755 scripts/celadoncity.asm delete mode 100755 scripts/celadondiner.asm delete mode 100755 scripts/celadongamecorner.asm delete mode 100755 scripts/celadongym.asm delete mode 100755 scripts/celadonhotel.asm delete mode 100755 scripts/celadonhouse.asm delete mode 100755 scripts/celadonmansion1.asm delete mode 100755 scripts/celadonmansion2.asm delete mode 100755 scripts/celadonmansion3.asm delete mode 100755 scripts/celadonmansion4.asm delete mode 100755 scripts/celadonmansion5.asm delete mode 100755 scripts/celadonmart1.asm delete mode 100755 scripts/celadonmart2.asm delete mode 100755 scripts/celadonmart3.asm delete mode 100755 scripts/celadonmart4.asm delete mode 100755 scripts/celadonmart5.asm delete mode 100755 scripts/celadonmartelevator.asm delete mode 100755 scripts/celadonmartroof.asm delete mode 100755 scripts/celadonpokecenter.asm delete mode 100755 scripts/celadonprizeroom.asm delete mode 100755 scripts/ceruleancity.asm delete mode 100755 scripts/ceruleancity2.asm delete mode 100755 scripts/ceruleangym.asm delete mode 100755 scripts/ceruleanhouse1.asm delete mode 100755 scripts/ceruleanhouse2.asm delete mode 100755 scripts/ceruleanhousetrashed.asm delete mode 100755 scripts/ceruleanmart.asm delete mode 100755 scripts/ceruleanpokecenter.asm delete mode 100755 scripts/cinnabargym.asm delete mode 100755 scripts/cinnabarisland.asm delete mode 100755 scripts/cinnabarmart.asm delete mode 100755 scripts/cinnabarpokecenter.asm delete mode 100755 scripts/colosseum.asm delete mode 100755 scripts/copycatshouse1f.asm delete mode 100755 scripts/copycatshouse2f.asm delete mode 100755 scripts/daycarem.asm delete mode 100755 scripts/diglettscave.asm delete mode 100755 scripts/diglettscaveroute11.asm delete mode 100755 scripts/diglettscaveroute2.asm delete mode 100755 scripts/fanclub.asm delete mode 100755 scripts/fightingdojo.asm delete mode 100755 scripts/fuchsiacity.asm delete mode 100755 scripts/fuchsiagym.asm delete mode 100755 scripts/fuchsiahouse1.asm delete mode 100755 scripts/fuchsiahouse2.asm delete mode 100755 scripts/fuchsiahouse3.asm delete mode 100755 scripts/fuchsiamart.asm delete mode 100755 scripts/fuchsiameetingroom.asm delete mode 100755 scripts/fuchsiapokecenter.asm delete mode 100755 scripts/gary.asm delete mode 100755 scripts/halloffameroom.asm delete mode 100755 scripts/indigoplateau.asm delete mode 100755 scripts/indigoplateaulobby.asm delete mode 100755 scripts/lab1.asm delete mode 100755 scripts/lab2.asm delete mode 100755 scripts/lab3.asm delete mode 100755 scripts/lab4.asm delete mode 100755 scripts/lance.asm delete mode 100755 scripts/lavenderhouse1.asm delete mode 100755 scripts/lavenderhouse2.asm delete mode 100755 scripts/lavendermart.asm delete mode 100755 scripts/lavenderpokecenter.asm delete mode 100755 scripts/lavendertown.asm delete mode 100755 scripts/lorelei.asm delete mode 100755 scripts/mansion1.asm delete mode 100755 scripts/mansion2.asm delete mode 100755 scripts/mansion3.asm delete mode 100755 scripts/mansion4.asm delete mode 100755 scripts/mtmoon1.asm delete mode 100755 scripts/mtmoon2.asm delete mode 100755 scripts/mtmoon3.asm delete mode 100755 scripts/mtmoonpokecenter.asm delete mode 100755 scripts/museum1f.asm delete mode 100755 scripts/museum2f.asm delete mode 100755 scripts/namerater.asm delete mode 100755 scripts/oakslab.asm delete mode 100755 scripts/pallettown.asm delete mode 100755 scripts/pewtercity.asm delete mode 100755 scripts/pewtergym.asm delete mode 100755 scripts/pewterhouse1.asm delete mode 100755 scripts/pewterhouse2.asm delete mode 100755 scripts/pewtermart.asm delete mode 100755 scripts/pewterpokecenter.asm delete mode 100755 scripts/pokemontower1.asm delete mode 100755 scripts/pokemontower2.asm delete mode 100755 scripts/pokemontower3.asm delete mode 100755 scripts/pokemontower4.asm delete mode 100755 scripts/pokemontower5.asm delete mode 100755 scripts/pokemontower6.asm delete mode 100755 scripts/pokemontower7.asm delete mode 100755 scripts/powerplant.asm delete mode 100755 scripts/redshouse1f.asm delete mode 100755 scripts/redshouse2f.asm delete mode 100755 scripts/rockethideout1.asm delete mode 100755 scripts/rockethideout2.asm delete mode 100755 scripts/rockethideout3.asm delete mode 100755 scripts/rockethideout4.asm delete mode 100755 scripts/rockethideoutelevator.asm delete mode 100755 scripts/rocktunnel1.asm delete mode 100755 scripts/rocktunnel2.asm delete mode 100755 scripts/rocktunnelpokecenter.asm delete mode 100755 scripts/route1.asm delete mode 100755 scripts/route10.asm delete mode 100755 scripts/route11.asm delete mode 100755 scripts/route11gate.asm delete mode 100755 scripts/route11gateupstairs.asm delete mode 100755 scripts/route12.asm delete mode 100755 scripts/route12gate.asm delete mode 100755 scripts/route12gateupstairs.asm delete mode 100755 scripts/route12house.asm delete mode 100755 scripts/route13.asm delete mode 100755 scripts/route14.asm delete mode 100755 scripts/route15.asm delete mode 100755 scripts/route15gate.asm delete mode 100755 scripts/route15gateupstairs.asm delete mode 100755 scripts/route16.asm delete mode 100755 scripts/route16gate.asm delete mode 100755 scripts/route16gateupstairs.asm delete mode 100755 scripts/route16house.asm delete mode 100755 scripts/route17.asm delete mode 100755 scripts/route18.asm delete mode 100755 scripts/route18gate.asm delete mode 100755 scripts/route18gateupstairs.asm delete mode 100755 scripts/route19.asm delete mode 100755 scripts/route2.asm delete mode 100755 scripts/route20.asm delete mode 100755 scripts/route21.asm delete mode 100755 scripts/route22.asm delete mode 100755 scripts/route22gate.asm delete mode 100755 scripts/route23.asm delete mode 100755 scripts/route24.asm delete mode 100755 scripts/route25.asm delete mode 100755 scripts/route2gate.asm delete mode 100755 scripts/route2house.asm delete mode 100755 scripts/route3.asm delete mode 100755 scripts/route4.asm delete mode 100755 scripts/route5.asm delete mode 100755 scripts/route5gate.asm delete mode 100755 scripts/route6.asm delete mode 100755 scripts/route6gate.asm delete mode 100755 scripts/route7.asm delete mode 100755 scripts/route7gate.asm delete mode 100755 scripts/route8.asm delete mode 100755 scripts/route8gate.asm delete mode 100755 scripts/route9.asm delete mode 100755 scripts/safarizonecenter.asm delete mode 100755 scripts/safarizoneeast.asm delete mode 100755 scripts/safarizoneentrance.asm delete mode 100755 scripts/safarizonenorth.asm delete mode 100755 scripts/safarizoneresthouse1.asm delete mode 100755 scripts/safarizoneresthouse2.asm delete mode 100755 scripts/safarizoneresthouse3.asm delete mode 100755 scripts/safarizoneresthouse4.asm delete mode 100755 scripts/safarizonesecrethouse.asm delete mode 100755 scripts/safarizonewest.asm delete mode 100755 scripts/saffroncity.asm delete mode 100755 scripts/saffrongym.asm delete mode 100755 scripts/saffronhouse1.asm delete mode 100755 scripts/saffronhouse2.asm delete mode 100755 scripts/saffronmart.asm delete mode 100755 scripts/saffronpokecenter.asm delete mode 100755 scripts/school.asm delete mode 100755 scripts/seafoamislands1.asm delete mode 100755 scripts/seafoamislands2.asm delete mode 100755 scripts/seafoamislands3.asm delete mode 100755 scripts/seafoamislands4.asm delete mode 100755 scripts/seafoamislands5.asm delete mode 100755 scripts/silphco1.asm delete mode 100755 scripts/silphco10.asm delete mode 100755 scripts/silphco11.asm delete mode 100755 scripts/silphco2.asm delete mode 100755 scripts/silphco3.asm delete mode 100755 scripts/silphco4.asm delete mode 100755 scripts/silphco5.asm delete mode 100755 scripts/silphco6.asm delete mode 100755 scripts/silphco7.asm delete mode 100755 scripts/silphco8.asm delete mode 100755 scripts/silphco9.asm delete mode 100755 scripts/silphcoelevator.asm delete mode 100755 scripts/ssanne1.asm delete mode 100755 scripts/ssanne10.asm delete mode 100755 scripts/ssanne2.asm delete mode 100755 scripts/ssanne3.asm delete mode 100755 scripts/ssanne4.asm delete mode 100755 scripts/ssanne5.asm delete mode 100755 scripts/ssanne6.asm delete mode 100755 scripts/ssanne7.asm delete mode 100755 scripts/ssanne8.asm delete mode 100755 scripts/ssanne9.asm delete mode 100755 scripts/tradecenter.asm delete mode 100755 scripts/undergroundpathentranceroute5.asm delete mode 100755 scripts/undergroundpathentranceroute6.asm delete mode 100755 scripts/undergroundpathentranceroute7.asm delete mode 100755 scripts/undergroundpathentranceroute7copy.asm delete mode 100755 scripts/undergroundpathentranceroute8.asm delete mode 100755 scripts/undergroundpathns.asm delete mode 100755 scripts/undergroundpathwe.asm delete mode 100755 scripts/unknowndungeon1.asm delete mode 100755 scripts/unknowndungeon2.asm delete mode 100755 scripts/unknowndungeon3.asm delete mode 100755 scripts/vermilioncity.asm delete mode 100755 scripts/vermiliondock.asm delete mode 100755 scripts/vermiliongym.asm delete mode 100755 scripts/vermilionhouse1.asm delete mode 100755 scripts/vermilionhouse2.asm delete mode 100755 scripts/vermilionhouse3.asm delete mode 100755 scripts/vermilionmart.asm delete mode 100755 scripts/vermilionpokecenter.asm delete mode 100755 scripts/victoryroad1.asm delete mode 100755 scripts/victoryroad2.asm delete mode 100755 scripts/victoryroad3.asm delete mode 100755 scripts/viridiancity.asm delete mode 100755 scripts/viridianforest.asm delete mode 100755 scripts/viridianforestentrance.asm delete mode 100755 scripts/viridianforestexit.asm delete mode 100755 scripts/viridiangym.asm delete mode 100755 scripts/viridianhouse.asm delete mode 100755 scripts/viridianmart.asm delete mode 100755 scripts/viridianpokecenter.asm (limited to 'scripts') diff --git a/scripts/AgathasRoom.asm b/scripts/AgathasRoom.asm new file mode 100755 index 00000000..a1dba196 --- /dev/null +++ b/scripts/AgathasRoom.asm @@ -0,0 +1,154 @@ +AgathasRoom_Script: + call AgathaShowOrHideExitBlock + call EnableAutoTextBoxDrawing + ld hl, AgathaTrainerHeader0 + ld de, AgathasRoom_ScriptPointers + ld a, [wAgathasRoomCurScript] + call ExecuteCurMapScriptInTable + ld [wAgathasRoomCurScript], a + ret + +AgathaShowOrHideExitBlock: +; Blocks or clears the exit to the next room. + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + CheckEvent EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 + jr z, .blockExitToNextRoom + ld a, $e + jp .setExitBlock +.blockExitToNextRoom + ld a, $3b +.setExitBlock: + ld [wNewTileBlockID], a + lb bc, 0, 2 + predef_jump ReplaceTileBlock + +ResetAgathaScript: + xor a + ld [wAgathasRoomCurScript], a + ret + +AgathasRoom_ScriptPointers: + dw AgathaScript0 + dw DisplayEnemyTrainerTextAndStartBattle + dw AgathaScript2 + dw AgathaScript3 + dw AgathaScript4 + +AgathaScript4: + ret + +AgathaScriptWalkIntoRoom: +; Walk six steps upward. + ld hl, wSimulatedJoypadStatesEnd + ld a, D_UP + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ld a, $6 + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld a, $3 + ld [wAgathasRoomCurScript], a + ld [wCurMapScript], a + ret + +AgathaScript0: + ld hl, AgathaEntranceCoords + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + xor a + ld [hJoyPressed], a + ld [hJoyHeld], a + ld [wSimulatedJoypadStatesEnd], a + ld [wSimulatedJoypadStatesIndex], a + ld a, [wCoordIndex] + cp $3 ; Is player standing one tile above the exit? + jr c, .stopPlayerFromLeaving + CheckAndSetEvent EVENT_AUTOWALKED_INTO_AGATHAS_ROOM + jr z, AgathaScriptWalkIntoRoom +.stopPlayerFromLeaving + ld a, $2 + ld [hSpriteIndexOrTextID], a + call DisplayTextID ; "Don't run away!" + ld a, D_UP + ld [wSimulatedJoypadStatesEnd], a + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld a, $3 + ld [wAgathasRoomCurScript], a + ld [wCurMapScript], a + ret + +AgathaEntranceCoords: + db $0A,$04 + db $0A,$05 + db $0B,$04 + db $0B,$05 + db $FF + +AgathaScript3: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + call Delay3 + xor a + ld [wJoyIgnore], a + ld [wAgathasRoomCurScript], a + ld [wCurMapScript], a + ret + +AgathaScript2: + call EndTrainerBattle + ld a, [wIsInBattle] + cp $ff + jp z, ResetAgathaScript + ld a, $1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $1 + ld [wChampionsRoomCurScript], a + ret + +AgathasRoom_TextPointers: + dw AgathaText1 + dw AgathaDontRunAwayText + +AgathaTrainerHeader0: + dbEventFlagBit EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 + dw AgathaBeforeBattleText ; TextBeforeBattle + dw AgathaAfterBattleText ; TextAfterBattle + dw AgathaEndBattleText ; TextEndBattle + dw AgathaEndBattleText ; TextEndBattle + + db $ff + +AgathaText1: + TX_ASM + ld hl, AgathaTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +AgathaBeforeBattleText: + TX_FAR _AgathaBeforeBattleText + db "@" + +AgathaEndBattleText: + TX_FAR _AgathaEndBattleText + db "@" + +AgathaAfterBattleText: + TX_FAR _AgathaAfterBattleText + db "@" + +AgathaDontRunAwayText: + TX_FAR _AgathaDontRunAwayText + db "@" diff --git a/scripts/BikeShop.asm b/scripts/BikeShop.asm new file mode 100755 index 00000000..71149759 --- /dev/null +++ b/scripts/BikeShop.asm @@ -0,0 +1,147 @@ +BikeShop_Script: + jp EnableAutoTextBoxDrawing + +BikeShop_TextPointers: + dw BikeShopText1 + dw BikeShopText2 + dw BikeShopText3 + +BikeShopText1: + TX_ASM + CheckEvent EVENT_GOT_BICYCLE + jr z, .asm_260d4 + ld hl, BikeShopText_1d82f + call PrintText + jp .Done +.asm_260d4 + ld b, BIKE_VOUCHER + call IsItemInBag + jr z, .asm_41190 + ld hl, BikeShopText_1d81f + call PrintText + lb bc, BICYCLE, 1 + call GiveItem + jr nc, .BagFull + ld a, BIKE_VOUCHER + ld [$ffdb], a + callba RemoveItemByID + SetEvent EVENT_GOT_BICYCLE + ld hl, BikeShopText_1d824 + call PrintText + jr .Done +.BagFull + ld hl, BikeShopText_1d834 + call PrintText + jr .Done +.asm_41190 + ld hl, BikeShopText_1d810 + call PrintText + xor a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, $1 + ld [wMaxMenuItem], a + ld a, $2 + ld [wTopMenuItemY], a + ld a, $1 + ld [wTopMenuItemX], a + ld hl, wd730 + set 6, [hl] + coord hl, 0, 0 + ld b, $4 + ld c, $f + call TextBoxBorder + call UpdateSprites + coord hl, 2, 2 + ld de, BikeShopMenuText + call PlaceString + coord hl, 8, 3 + ld de, BikeShopMenuPrice + call PlaceString + ld hl, BikeShopText_1d815 + call PrintText + call HandleMenuInput + bit 1, a + jr nz, .cancel + ld hl, wd730 + res 6, [hl] + ld a, [wCurrentMenuItem] + and a + jr nz, .cancel + ld hl, BikeShopCantAffordText + call PrintText +.cancel + ld hl, BikeShopComeAgainText + call PrintText +.Done + jp TextScriptEnd + +BikeShopMenuText: + db "BICYCLE" + next "CANCEL@" + +BikeShopMenuPrice: + db "¥1000000@" + +BikeShopText_1d810: + TX_FAR _BikeShopText_1d810 + db "@" + +BikeShopText_1d815: + TX_FAR _BikeShopText_1d815 + db "@" + +BikeShopCantAffordText: + TX_FAR _BikeShopCantAffordText + db "@" + +BikeShopText_1d81f: + TX_FAR _BikeShopText_1d81f + db "@" + +BikeShopText_1d824: + TX_FAR _BikeShopText_1d824 + TX_SFX_KEY_ITEM + db "@" + +BikeShopComeAgainText: + TX_FAR _BikeShopComeAgainText + db "@" + +BikeShopText_1d82f: + TX_FAR _BikeShopText_1d82f + db "@" + +BikeShopText_1d834: + TX_FAR _BikeShopText_1d834 + db "@" + +BikeShopText2: + TX_ASM + ld hl, BikeShopText_1d843 + call PrintText + jp TextScriptEnd + +BikeShopText_1d843: + TX_FAR _BikeShopText_1d843 + db "@" + +BikeShopText3: + TX_ASM + CheckEvent EVENT_GOT_BICYCLE + ld hl, BikeShopText_1d861 + jr nz, .asm_34d2d + ld hl, BikeShopText_1d85c +.asm_34d2d + call PrintText + jp TextScriptEnd + +BikeShopText_1d85c: + TX_FAR _BikeShopText_1d85c + db "@" + +BikeShopText_1d861: + TX_FAR _BikeShopText_1d861 + db "@" diff --git a/scripts/BillsHouse.asm b/scripts/BillsHouse.asm new file mode 100755 index 00000000..74efc960 --- /dev/null +++ b/scripts/BillsHouse.asm @@ -0,0 +1,214 @@ +BillsHouse_Script: + call EnableAutoTextBoxDrawing + ld a, [wBillsHouseCurScript] + ld hl, BillsHouse_ScriptPointers + jp CallFunctionInTable + +BillsHouse_ScriptPointers: + dw BillsHouseScript0 + dw BillsHouseScript1 + dw BillsHouseScript2 + dw BillsHouseScript3 + dw BillsHouseScript4 + dw BillsHouseScript5 + +BillsHouseScript0: + ret + +BillsHouseScript1: + ld a, [wSpriteStateData1 + 9] + and a ; cp SPRITE_FACING_DOWN + ld de, MovementData_1e79c + jr nz, .notDown + ld de, MovementData_1e7a0 +.notDown + ld a, $1 + ld [H_SPRITEINDEX], a + call MoveSprite + ld a, $2 + ld [wBillsHouseCurScript], a + ret + +MovementData_1e79c: + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db $FF + +; make Bill walk around the player +MovementData_1e7a0: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_UP + db $FF + +BillsHouseScript2: + ld a, [wd730] + bit 0, a + ret nz + ld a, HS_BILL_POKEMON + ld [wMissableObjectIndex], a + predef HideObject + SetEvent EVENT_BILL_SAID_USE_CELL_SEPARATOR + xor a + ld [wJoyIgnore], a + ld a, $3 + ld [wBillsHouseCurScript], a + ret + +BillsHouseScript3: + CheckEvent EVENT_USED_CELL_SEPARATOR_ON_BILL + ret z + ld a, $f0 + ld [wJoyIgnore], a + ld a, $2 + ld [wSpriteIndex], a + ld a, $c + ld [$ffeb], a + ld a, $40 + ld [$ffec], a + ld a, $6 + ld [$ffed], a + ld a, $5 + ld [$ffee], a + call SetSpritePosition1 + ld a, HS_BILL_1 + ld [wMissableObjectIndex], a + predef ShowObject + ld c, 8 + call DelayFrames + ld a, $2 + ld [H_SPRITEINDEX], a + ld de, MovementData_1e807 + call MoveSprite + ld a, $4 + ld [wBillsHouseCurScript], a + ret + +MovementData_1e807: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db $FF + +BillsHouseScript4: + ld a, [wd730] + bit 0, a + ret nz + xor a + ld [wJoyIgnore], a + SetEvent EVENT_MET_BILL_2 ; this event seems redundant + SetEvent EVENT_MET_BILL + ld a, $0 + ld [wBillsHouseCurScript], a + ret + +BillsHouseScript5: + ld a, $4 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $0 + ld [wBillsHouseCurScript], a + ret + +BillsHouse_TextPointers: + dw BillsHouseText1 + dw BillsHouseText2 + dw BillsHouseText3 + dw BillsHouseText4 + +BillsHouseText4: + TX_BILLS_PC + +BillsHouseText1: + TX_ASM + ld hl, BillsHouseText_1e865 + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_1e85a +.asm_1e84d + ld hl, BillsHouseText_1e86a + call PrintText + ld a, $1 + ld [wBillsHouseCurScript], a + jr .asm_1e862 +.asm_1e85a + ld hl, BillsHouseText_1e86f + call PrintText + jr .asm_1e84d +.asm_1e862 + jp TextScriptEnd + +BillsHouseText_1e865: + TX_FAR _BillsHouseText_1e865 + db "@" + +BillsHouseText_1e86a: + TX_FAR _BillsHouseText_1e86a + db "@" + +BillsHouseText_1e86f: + TX_FAR _BillsHouseText_1e86f + db "@" + +BillsHouseText2: + TX_ASM + CheckEvent EVENT_GOT_SS_TICKET + jr nz, .asm_1e8a9 + ld hl, BillThankYouText + call PrintText + lb bc, S_S_TICKET, 1 + call GiveItem + jr nc, .BagFull + ld hl, SSTicketReceivedText + call PrintText + SetEvent EVENT_GOT_SS_TICKET + ld a, HS_CERULEAN_GUARD_1 + ld [wMissableObjectIndex], a + predef ShowObject + ld a, HS_CERULEAN_GUARD_2 + ld [wMissableObjectIndex], a + predef HideObject +.asm_1e8a9 + ld hl, BillsHouseText_1e8cb + call PrintText + jr .asm_1e8b7 +.BagFull + ld hl, SSTicketNoRoomText + call PrintText +.asm_1e8b7 + jp TextScriptEnd + +BillThankYouText: + TX_FAR _BillThankYouText + db "@" + +SSTicketReceivedText: + TX_FAR _SSTicketReceivedText + TX_SFX_KEY_ITEM + TX_BLINK + db "@" + +SSTicketNoRoomText: + TX_FAR _SSTicketNoRoomText + db "@" + +BillsHouseText_1e8cb: + TX_FAR _BillsHouseText_1e8cb + db "@" + +BillsHouseText3: + TX_ASM + ld hl, BillsHouseText_1e8da + call PrintText + jp TextScriptEnd + +BillsHouseText_1e8da: + TX_FAR _BillsHouseText_1e8da + db "@" diff --git a/scripts/BluesHouse.asm b/scripts/BluesHouse.asm new file mode 100755 index 00000000..f325049f --- /dev/null +++ b/scripts/BluesHouse.asm @@ -0,0 +1,89 @@ +BluesHouse_Script: + call EnableAutoTextBoxDrawing + ld hl, BluesHouse_ScriptPointers + ld a, [wBluesHouseCurScript] + jp CallFunctionInTable + +BluesHouse_ScriptPointers: + dw BluesHouseScript0 + dw BluesHouseScript1 + +BluesHouseScript0: + SetEvent EVENT_ENTERED_BLUES_HOUSE + + ; trigger the next script + ld a, 1 + ld [wBluesHouseCurScript], a + ret + +BluesHouseScript1: + ret + +BluesHouse_TextPointers: + dw BluesHouseText1 + dw BluesHouseText2 + dw BluesHouseText3 + +BluesHouseText1: + TX_ASM + CheckEvent EVENT_GOT_TOWN_MAP + jr nz, .GotMap + CheckEvent EVENT_GOT_POKEDEX + jr nz, .GiveMap + ld hl, DaisyInitialText + call PrintText + jr .done + +.GiveMap + ld hl, DaisyOfferMapText + call PrintText + lb bc, TOWN_MAP, 1 + call GiveItem + jr nc, .BagFull + ld a, HS_TOWN_MAP + ld [wMissableObjectIndex], a + predef HideObject ; hide table map object + ld hl, GotMapText + call PrintText + SetEvent EVENT_GOT_TOWN_MAP + jr .done + +.GotMap + ld hl, DaisyUseMapText + call PrintText + jr .done + +.BagFull + ld hl, DaisyBagFullText + call PrintText +.done + jp TextScriptEnd + +DaisyInitialText: + TX_FAR _DaisyInitialText + db "@" + +DaisyOfferMapText: + TX_FAR _DaisyOfferMapText + db "@" + +GotMapText: + TX_FAR _GotMapText + TX_SFX_KEY_ITEM + db "@" + +DaisyBagFullText: + TX_FAR _DaisyBagFullText + db "@" + +DaisyUseMapText: + TX_FAR _DaisyUseMapText + db "@" + +BluesHouseText2: ; Daisy, walking around + TX_FAR _BluesHouseText2 + db "@" + +BluesHouseText3: ; map on table + TX_FAR _BluesHouseText3 + db "@" diff --git a/scripts/BrunosRoom.asm b/scripts/BrunosRoom.asm new file mode 100755 index 00000000..3b6385b7 --- /dev/null +++ b/scripts/BrunosRoom.asm @@ -0,0 +1,151 @@ +BrunosRoom_Script: + call BrunoShowOrHideExitBlock + call EnableAutoTextBoxDrawing + ld hl, BrunoTrainerHeader0 + ld de, BrunosRoom_ScriptPointers + ld a, [wBrunosRoomCurScript] + call ExecuteCurMapScriptInTable + ld [wBrunosRoomCurScript], a + ret + +BrunoShowOrHideExitBlock: +; Blocks or clears the exit to the next room. + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + CheckEvent EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 + jr z, .blockExitToNextRoom + ld a, $5 + jp .setExitBlock +.blockExitToNextRoom + ld a, $24 +.setExitBlock + ld [wNewTileBlockID], a + lb bc, 0, 2 + predef_jump ReplaceTileBlock + +ResetBrunoScript: + xor a + ld [wBrunosRoomCurScript], a + ret + +BrunosRoom_ScriptPointers: + dw BrunoScript0 + dw DisplayEnemyTrainerTextAndStartBattle + dw BrunoScript2 + dw BrunoScript3 + dw BrunoScript4 + +BrunoScript4: + ret + +BrunoScriptWalkIntoRoom: +; Walk six steps upward. + ld hl, wSimulatedJoypadStatesEnd + ld a, D_UP + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ld a, $6 + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld a, $3 + ld [wBrunosRoomCurScript], a + ld [wCurMapScript], a + ret + +BrunoScript0: + ld hl, BrunoEntranceCoords + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + xor a + ld [hJoyPressed], a + ld [hJoyHeld], a + ld [wSimulatedJoypadStatesEnd], a + ld [wSimulatedJoypadStatesIndex], a + ld a, [wCoordIndex] + cp $3 ; Is player standing one tile above the exit? + jr c, .stopPlayerFromLeaving + CheckAndSetEvent EVENT_AUTOWALKED_INTO_BRUNOS_ROOM + jr z, BrunoScriptWalkIntoRoom +.stopPlayerFromLeaving + ld a, $2 + ld [hSpriteIndexOrTextID], a + call DisplayTextID ; "Don't run away!" + ld a, D_UP + ld [wSimulatedJoypadStatesEnd], a + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld a, $3 + ld [wBrunosRoomCurScript], a + ld [wCurMapScript], a + ret + +BrunoEntranceCoords: + db $0A,$04 + db $0A,$05 + db $0B,$04 + db $0B,$05 + db $FF + +BrunoScript3: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + call Delay3 + xor a + ld [wJoyIgnore], a + ld [wBrunosRoomCurScript], a + ld [wCurMapScript], a + ret + +BrunoScript2: + call EndTrainerBattle + ld a, [wIsInBattle] + cp $ff + jp z, ResetBrunoScript + ld a, $1 + ld [hSpriteIndexOrTextID], a + jp DisplayTextID + +BrunosRoom_TextPointers: + dw BrunoText1 + dw BrunoDontRunAwayText + +BrunoTrainerHeader0: + dbEventFlagBit EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 + dw BrunoBeforeBattleText ; TextBeforeBattle + dw BrunoAfterBattleText ; TextAfterBattle + dw BrunoEndBattleText ; TextEndBattle + dw BrunoEndBattleText ; TextEndBattle + + db $ff + +BrunoText1: + TX_ASM + ld hl, BrunoTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +BrunoBeforeBattleText: + TX_FAR _BrunoBeforeBattleText + db "@" + +BrunoEndBattleText: + TX_FAR _BrunoEndBattleText + db "@" + +BrunoAfterBattleText: + TX_FAR _BrunoAfterBattleText + db "@" + +BrunoDontRunAwayText: + TX_FAR _BrunoDontRunAwayText + db "@" diff --git a/scripts/CeladonChiefHouse.asm b/scripts/CeladonChiefHouse.asm new file mode 100755 index 00000000..fc37bd4d --- /dev/null +++ b/scripts/CeladonChiefHouse.asm @@ -0,0 +1,20 @@ +CeladonChiefHouse_Script: + call EnableAutoTextBoxDrawing + ret + +CeladonChiefHouse_TextPointers: + dw CeladonHouseText1 + dw CeladonHouseText2 + dw CeladonHouseText3 + +CeladonHouseText1: + TX_FAR _CeladonHouseText1 + db "@" + +CeladonHouseText2: + TX_FAR _CeladonHouseText2 + db "@" + +CeladonHouseText3: + TX_FAR _CeladonHouseText3 + db "@" diff --git a/scripts/CeladonCity.asm b/scripts/CeladonCity.asm new file mode 100755 index 00000000..e2d7d371 --- /dev/null +++ b/scripts/CeladonCity.asm @@ -0,0 +1,132 @@ +CeladonCity_Script: + call EnableAutoTextBoxDrawing + ResetEvents EVENT_1B8, EVENT_1BF + ResetEvent EVENT_67F + ret + +CeladonCity_TextPointers: + dw CeladonCityText1 + dw CeladonCityText2 + dw CeladonCityText3 + dw CeladonCityText4 + dw CeladonCityText5 + dw CeladonCityText6 + dw CeladonCityText7 + dw CeladonCityText8 + dw CeladonCityText9 + dw CeladonCityText10 + dw CeladonCityText11 + dw PokeCenterSignText + dw CeladonCityText13 + dw CeladonCityText14 + dw CeladonCityText15 + dw CeladonCityText16 + dw CeladonCityText17 + dw CeladonCityText18 + +CeladonCityText1: + TX_FAR _CeladonCityText1 + db "@" + +CeladonCityText2: + TX_FAR _CeladonCityText2 + db "@" + +CeladonCityText3: + TX_FAR _CeladonCityText3 + db "@" + +CeladonCityText4: + TX_FAR _CeladonCityText4 + db "@" + +CeladonCityText5: + TX_ASM + CheckEvent EVENT_GOT_TM41 + jr nz, .asm_7053f + ld hl, TM41PreText + call PrintText + lb bc, TM_41, 1 + call GiveItem + jr c, .Success + ld hl, TM41NoRoomText + call PrintText + jr .Done +.Success + ld hl, ReceivedTM41Text + call PrintText + SetEvent EVENT_GOT_TM41 + jr .Done +.asm_7053f + ld hl, TM41ExplanationText + call PrintText +.Done + jp TextScriptEnd + +TM41PreText: + TX_FAR _TM41PreText + db "@" + +ReceivedTM41Text: + TX_FAR _ReceivedTM41Text + TX_SFX_ITEM_1 + db "@" + +TM41ExplanationText: + TX_FAR _TM41ExplanationText + db "@" + +TM41NoRoomText: + TX_FAR _TM41NoRoomText + db "@" + +CeladonCityText6: + TX_FAR _CeladonCityText6 + db "@" + +CeladonCityText7: + TX_FAR _CeladonCityText7 + TX_ASM + ld a, POLIWRATH + call PlayCry + jp TextScriptEnd + +CeladonCityText8: + TX_FAR _CeladonCityText8 + db "@" + +CeladonCityText9: + TX_FAR _CeladonCityText9 + db "@" + +CeladonCityText10: + TX_FAR _CeladonCityText10 + db "@" + +CeladonCityText11: + TX_FAR _CeladonCityText11 + db "@" + +CeladonCityText13: + TX_FAR _CeladonCityText13 + db "@" + +CeladonCityText14: + TX_FAR _CeladonCityText14 + db "@" + +CeladonCityText15: + TX_FAR _CeladonCityText15 + db "@" + +CeladonCityText16: + TX_FAR _CeladonCityText16 + db "@" + +CeladonCityText17: + TX_FAR _CeladonCityText17 + db "@" + +CeladonCityText18: + TX_FAR _CeladonCityText18 + db "@" diff --git a/scripts/CeladonDiner.asm b/scripts/CeladonDiner.asm new file mode 100755 index 00000000..371205de --- /dev/null +++ b/scripts/CeladonDiner.asm @@ -0,0 +1,66 @@ +CeladonDiner_Script: + call EnableAutoTextBoxDrawing + ret + +CeladonDiner_TextPointers: + dw CeladonDinerText1 + dw CeladonDinerText2 + dw CeladonDinerText3 + dw CeladonDinerText4 + dw CeladonDinerText5 + +CeladonDinerText1: + TX_FAR _CeladonDinerText1 + db "@" + +CeladonDinerText2: + TX_FAR _CeladonDinerText2 + db "@" + +CeladonDinerText3: + TX_FAR _CeladonDinerText3 + db "@" + +CeladonDinerText4: + TX_FAR _CeladonDinerText4 + db "@" + +CeladonDinerText5: + TX_ASM + CheckEvent EVENT_GOT_COIN_CASE + jr nz, .asm_eb14d + ld hl, CeladonDinerText_491a7 + call PrintText + lb bc, COIN_CASE, 1 + call GiveItem + jr nc, .BagFull + SetEvent EVENT_GOT_COIN_CASE + ld hl, ReceivedCoinCaseText + call PrintText + jr .asm_68b61 +.BagFull + ld hl, CoinCaseNoRoomText + call PrintText + jr .asm_68b61 +.asm_eb14d + ld hl, CeladonDinerText_491b7 + call PrintText +.asm_68b61 + jp TextScriptEnd + +CeladonDinerText_491a7: + TX_FAR _CeladonDinerText_491a7 + db "@" + +ReceivedCoinCaseText: + TX_FAR _ReceivedCoinCaseText + TX_SFX_KEY_ITEM + db "@" + +CoinCaseNoRoomText: + TX_FAR _CoinCaseNoRoomText + db "@" + +CeladonDinerText_491b7: + TX_FAR _CeladonDinerText_491b7 + db "@" diff --git a/scripts/CeladonGym.asm b/scripts/CeladonGym.asm new file mode 100755 index 00000000..8ceb36ee --- /dev/null +++ b/scripts/CeladonGym.asm @@ -0,0 +1,335 @@ +CeladonGym_Script: + ld hl, wCurrentMapScriptFlags + bit 6, [hl] + res 6, [hl] + call nz, CeladonGymScript_48927 + call EnableAutoTextBoxDrawing + ld hl, CeladonGymTrainerHeader0 + ld de, CeladonGym_ScriptPointers + ld a, [wCeladonGymCurScript] + call ExecuteCurMapScriptInTable + ld [wCeladonGymCurScript], a + ret + +CeladonGymScript_48927: + ld hl, Gym4CityName + ld de, Gym4LeaderName + jp LoadGymLeaderAndCityName + +Gym4CityName: + db "CELADON CITY@" + +Gym4LeaderName: + db "ERIKA@" + +CeladonGymText_48943: + xor a + ld [wJoyIgnore], a + ld [wCeladonGymCurScript], a + ld [wCurMapScript], a + ret + +CeladonGym_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw CeladonGymScript3 + +CeladonGymScript3: + ld a, [wIsInBattle] + cp $ff + jp z, CeladonGymText_48943 + ld a, $f0 + ld [wJoyIgnore], a + +CeladonGymText_48963: + ld a, $9 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_BEAT_ERIKA + lb bc, TM_21, 1 + call GiveItem + jr nc, .BagFull + ld a, $a + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_GOT_TM21 + jr .asm_4898c +.BagFull + ld a, $b + ld [hSpriteIndexOrTextID], a + call DisplayTextID +.asm_4898c + ld hl, wObtainedBadges + set 3, [hl] + ld hl, wBeatGymFlags + set 3, [hl] + + ; deactivate gym trainers + SetEventRange EVENT_BEAT_CELADON_GYM_TRAINER_0, EVENT_BEAT_CELADON_GYM_TRAINER_6 + + jp CeladonGymText_48943 + +CeladonGym_TextPointers: + dw CeladonGymText1 + dw CeladonGymText2 + dw CeladonGymText3 + dw CeladonGymText4 + dw CeladonGymText5 + dw CeladonGymText6 + dw CeladonGymText7 + dw CeladonGymText8 + dw CeladonGymText9 + dw TM21Text + dw TM21NoRoomText + +CeladonGymTrainerHeader0: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_0 + dw CeladonGymBattleText2 ; TextBeforeBattle + dw CeladonGymAfterBattleText2 ; TextAfterBattle + dw CeladonGymEndBattleText2 ; TextEndBattle + dw CeladonGymEndBattleText2 ; TextEndBattle + +CeladonGymTrainerHeader1: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_1 + dw CeladonGymBattleText3 ; TextBeforeBattle + dw CeladonGymAfterBattleText3 ; TextAfterBattle + dw CeladonGymEndBattleText3 ; TextEndBattle + dw CeladonGymEndBattleText3 ; TextEndBattle + +CeladonGymTrainerHeader2: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_2 + dw CeladonGymBattleText4 ; TextBeforeBattle + dw CeladonGymAfterBattleText4 ; TextAfterBattle + dw CeladonGymEndBattleText4 ; TextEndBattle + dw CeladonGymEndBattleText4 ; TextEndBattle + +CeladonGymTrainerHeader3: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_3 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_3 + dw CeladonGymBattleText5 ; TextBeforeBattle + dw CeladonGymAfterBattleText5 ; TextAfterBattle + dw CeladonGymEndBattleText5 ; TextEndBattle + dw CeladonGymEndBattleText5 ; TextEndBattle + +CeladonGymTrainerHeader4: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_4 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_4 + dw CeladonGymBattleText6 ; TextBeforeBattle + dw CeladonGymAfterBattleText6 ; TextAfterBattle + dw CeladonGymEndBattleText6 ; TextEndBattle + dw CeladonGymEndBattleText6 ; TextEndBattle + +CeladonGymTrainerHeader5: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_5 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_5 + dw CeladonGymBattleText7 ; TextBeforeBattle + dw CeladonGymAfterBattleText7 ; TextAfterBattle + dw CeladonGymEndBattleText7 ; TextEndBattle + dw CeladonGymEndBattleText7 ; TextEndBattle + +CeladonGymTrainerHeader6: + dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_6, 1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_6, 1 + dw CeladonGymBattleText8 ; TextBeforeBattle + dw CeladonGymAfterBattleText8 ; TextAfterBattle + dw CeladonGymEndBattleText8 ; TextEndBattle + dw CeladonGymEndBattleText8 ; TextEndBattle + + db $ff + +CeladonGymText1: + TX_ASM + CheckEvent EVENT_BEAT_ERIKA + jr z, .asm_48a2d + CheckEventReuseA EVENT_GOT_TM21 + jr nz, .asm_48a25 + call z, CeladonGymText_48963 + call DisableWaitingAfterTextDisplay + jr .asm_48a5b +.asm_48a25 + ld hl, CeladonGymText_48a68 + call PrintText + jr .asm_48a5b +.asm_48a2d + ld hl, CeladonGymText_48a5e + call PrintText + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, CeladonGymText_48a63 + ld de, CeladonGymText_48a63 + call SaveEndBattleTextPointers + ld a, [H_SPRITEINDEX] + ld [wSpriteIndex], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $4 + ld [wGymLeaderNo], a + ld a, $3 + ld [wCeladonGymCurScript], a + ld [wCurMapScript], a +.asm_48a5b + jp TextScriptEnd + +CeladonGymText_48a5e: + TX_FAR _CeladonGymText_48a5e + db "@" + +CeladonGymText_48a63: + TX_FAR _CeladonGymText_48a63 + db "@" + +CeladonGymText_48a68: + TX_FAR _CeladonGymText_48a68 + db "@" + +CeladonGymText9: + TX_FAR _CeladonGymText9 + db "@" + +TM21Text: + TX_FAR _ReceivedTM21Text + TX_SFX_ITEM_1 + TX_FAR _TM21ExplanationText + db "@" + +TM21NoRoomText: + TX_FAR _TM21NoRoomText + db "@" + +CeladonGymText2: + TX_ASM + ld hl, CeladonGymTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +CeladonGymBattleText2: + TX_FAR _CeladonGymBattleText2 + db "@" + +CeladonGymEndBattleText2: + TX_FAR _CeladonGymEndBattleText2 + db "@" + +CeladonGymAfterBattleText2: + TX_FAR _CeladonGymAfterBattleText2 + db "@" + +CeladonGymText3: + TX_ASM + ld hl, CeladonGymTrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +CeladonGymBattleText3: + TX_FAR _CeladonGymBattleText3 + db "@" + +CeladonGymEndBattleText3: + TX_FAR _CeladonGymEndBattleText3 + db "@" + +CeladonGymAfterBattleText3: + TX_FAR _CeladonGymAfterBattleText3 + db "@" + +CeladonGymText4: + TX_ASM + ld hl, CeladonGymTrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +CeladonGymBattleText4: + TX_FAR _CeladonGymBattleText4 + db "@" + +CeladonGymEndBattleText4: + TX_FAR _CeladonGymEndBattleText4 + db "@" + +CeladonGymAfterBattleText4: + TX_FAR _CeladonGymAfterBattleText4 + db "@" + +CeladonGymText5: + TX_ASM + ld hl, CeladonGymTrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +CeladonGymBattleText5: + TX_FAR _CeladonGymBattleText5 + db "@" + +CeladonGymEndBattleText5: + TX_FAR _CeladonGymEndBattleText5 + db "@" + +CeladonGymAfterBattleText5: + TX_FAR _CeladonGymAfterBattleText5 + db "@" + +CeladonGymText6: + TX_ASM + ld hl, CeladonGymTrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +CeladonGymBattleText6: + TX_FAR _CeladonGymBattleText6 + db "@" + +CeladonGymEndBattleText6: + TX_FAR _CeladonGymEndBattleText6 + db "@" + +CeladonGymAfterBattleText6: + TX_FAR _CeladonGymAfterBattleText6 + db "@" + +CeladonGymText7: + TX_ASM + ld hl, CeladonGymTrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +CeladonGymBattleText7: + TX_FAR _CeladonGymBattleText7 + db "@" + +CeladonGymEndBattleText7: + TX_FAR _CeladonGymEndBattleText7 + db "@" + +CeladonGymAfterBattleText7: + TX_FAR _CeladonGymAfterBattleText7 + db "@" + +CeladonGymText8: + TX_ASM + ld hl, CeladonGymTrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +CeladonGymBattleText8: + TX_FAR _CeladonGymBattleText8 + db "@" + +CeladonGymEndBattleText8: + TX_FAR _CeladonGymEndBattleText8 + db "@" + +CeladonGymAfterBattleText8: + TX_FAR _CeladonGymAfterBattleText8 + db "@" diff --git a/scripts/CeladonHotel.asm b/scripts/CeladonHotel.asm new file mode 100755 index 00000000..ee4e140c --- /dev/null +++ b/scripts/CeladonHotel.asm @@ -0,0 +1,19 @@ +CeladonHotel_Script: + jp EnableAutoTextBoxDrawing + +CeladonHotel_TextPointers: + dw CeladonHotelText1 + dw CeladonHotelText2 + dw CeladonHotelText3 + +CeladonHotelText1: + TX_FAR _CeladonHotelText1 + db "@" + +CeladonHotelText2: + TX_FAR _CeladonHotelText2 + db "@" + +CeladonHotelText3: + TX_FAR _CeladonHotelText3 + db "@" diff --git a/scripts/CeladonMansion1F.asm b/scripts/CeladonMansion1F.asm new file mode 100755 index 00000000..41524983 --- /dev/null +++ b/scripts/CeladonMansion1F.asm @@ -0,0 +1,39 @@ +CeladonMansion1F_Script: + jp EnableAutoTextBoxDrawing + +CeladonMansion1F_TextPointers: + dw CeladonMansion1Text1 + dw CeladonMansion1Text2 + dw CeladonMansion1Text3 + dw CeladonMansion1Text4 + dw CeladonMansion1Text5 + +CeladonMansion1_486a1: + call PlayCry + jp TextScriptEnd + +CeladonMansion1Text1: + TX_FAR _CeladonMansion1Text1 + TX_ASM + ld a, MEOWTH + jp CeladonMansion1_486a1 + +CeladonMansion1Text2: + TX_FAR _CeladonMansion1Text2 + db "@" + +CeladonMansion1Text3: + TX_FAR _CeladonMansion1Text3 + TX_ASM + ld a, CLEFAIRY + jp CeladonMansion1_486a1 + +CeladonMansion1Text4: + TX_FAR _CeladonMansion1Text4 + TX_ASM + ld a, NIDORAN_F + jp CeladonMansion1_486a1 + +CeladonMansion1Text5: + TX_FAR _CeladonMansion1Text5 + db "@" diff --git a/scripts/CeladonMansion2F.asm b/scripts/CeladonMansion2F.asm new file mode 100755 index 00000000..9deb606d --- /dev/null +++ b/scripts/CeladonMansion2F.asm @@ -0,0 +1,10 @@ +CeladonMansion2F_Script: + call EnableAutoTextBoxDrawing + ret + +CeladonMansion2F_TextPointers: + dw CeladonMansion2Text1 + +CeladonMansion2Text1: + TX_FAR _CeladonMansion2Text1 + db "@" diff --git a/scripts/CeladonMansion3F.asm b/scripts/CeladonMansion3F.asm new file mode 100755 index 00000000..43832f63 --- /dev/null +++ b/scripts/CeladonMansion3F.asm @@ -0,0 +1,71 @@ +CeladonMansion3F_Script: + jp EnableAutoTextBoxDrawing + +CeladonMansion3F_TextPointers: + dw ProgrammerText + dw GraphicArtistText + dw WriterText + dw DirectorText + dw GameFreakPCText1 + dw GameFreakPCText2 + dw GameFreakPCText3 + dw GameFreakSignText + +ProgrammerText: + TX_FAR _ProgrammerText + db "@" + +GraphicArtistText: + TX_FAR _GraphicArtistText + db "@" + +WriterText: + TX_FAR _WriterText + db "@" + +DirectorText: + TX_ASM + + ; check pokédex + ld hl, wPokedexOwned + ld b, wPokedexOwnedEnd - wPokedexOwned + call CountSetBits + ld a, [wNumSetBits] + cp 150 + jr nc, .CompletedDex + ld hl, .GameDesigner + jr .done +.CompletedDex + ld hl, .CompletedDexText +.done + call PrintText + jp TextScriptEnd + +.GameDesigner + TX_FAR _GameDesignerText + db "@" + +.CompletedDexText + TX_FAR _CompletedDexText + TX_BLINK + TX_ASM + callab DisplayDiploma + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + jp TextScriptEnd + +GameFreakPCText1: + TX_FAR _CeladonMansion3Text5 + db "@" + +GameFreakPCText2: + TX_FAR _CeladonMansion3Text6 + db "@" + +GameFreakPCText3: + TX_FAR _CeladonMansion3Text7 + db "@" + +GameFreakSignText: + TX_FAR _CeladonMansion3Text8 + db "@" diff --git a/scripts/CeladonMansionRoof.asm b/scripts/CeladonMansionRoof.asm new file mode 100755 index 00000000..d5028537 --- /dev/null +++ b/scripts/CeladonMansionRoof.asm @@ -0,0 +1,9 @@ +CeladonMansionRoof_Script: + jp EnableAutoTextBoxDrawing + +CeladonMansionRoof_TextPointers: + dw CeladonMansion4Text1 + +CeladonMansion4Text1: + TX_FAR _CeladonMansion4Text1 + db "@" diff --git a/scripts/CeladonMansionRoofHouse.asm b/scripts/CeladonMansionRoofHouse.asm new file mode 100755 index 00000000..e519d506 --- /dev/null +++ b/scripts/CeladonMansionRoofHouse.asm @@ -0,0 +1,21 @@ +CeladonMansionRoofHouse_Script: + jp EnableAutoTextBoxDrawing + +CeladonMansionRoofHouse_TextPointers: + dw CeladonMansion5Text1 + dw CeladonMansion5Text2 + +CeladonMansion5Text1: + TX_FAR _CeladonMansion5Text1 + db "@" + +CeladonMansion5Text2: + TX_ASM + lb bc, EEVEE, 25 + call GivePokemon + jr nc, .asm_24365 + ld a, HS_CELADON_MANSION_EEVEE_GIFT + ld [wMissableObjectIndex], a + predef HideObject +.asm_24365 + jp TextScriptEnd diff --git a/scripts/CeladonMart1F.asm b/scripts/CeladonMart1F.asm new file mode 100755 index 00000000..8afd805a --- /dev/null +++ b/scripts/CeladonMart1F.asm @@ -0,0 +1,19 @@ +CeladonMart1F_Script: + jp EnableAutoTextBoxDrawing + +CeladonMart1F_TextPointers: + dw CeladonMart1Text1 + dw CeladonMart1Text2 + dw CeladonMart1Text3 + +CeladonMart1Text1: + TX_FAR _CeladonMart1Text1 + db "@" + +CeladonMart1Text2: + TX_FAR _CeladonMart1Text2 + db "@" + +CeladonMart1Text3: + TX_FAR _CeladonMart1Text3 + db "@" diff --git a/scripts/CeladonMart2F.asm b/scripts/CeladonMart2F.asm new file mode 100755 index 00000000..787c186e --- /dev/null +++ b/scripts/CeladonMart2F.asm @@ -0,0 +1,21 @@ +CeladonMart2F_Script: + jp EnableAutoTextBoxDrawing + +CeladonMart2F_TextPointers: + dw CeladonMart2Clerk1Text + dw CeladonMart2Clerk2Text + dw CeladonMart2Text3 + dw CeladonMart2Text4 + dw CeladonMart2Text5 + +CeladonMart2Text3: + TX_FAR _CeladonMart2Text3 + db "@" + +CeladonMart2Text4: + TX_FAR _CeladonMart2Text4 + db "@" + +CeladonMart2Text5: + TX_FAR _CeladonMart2Text5 + db "@" diff --git a/scripts/CeladonMart3F.asm b/scripts/CeladonMart3F.asm new file mode 100755 index 00000000..e7e216d9 --- /dev/null +++ b/scripts/CeladonMart3F.asm @@ -0,0 +1,108 @@ +CeladonMart3F_Script: + jp EnableAutoTextBoxDrawing + +CeladonMart3F_TextPointers: + dw CeladonMart3Text1 + dw CeladonMart3Text2 + dw CeladonMart3Text3 + dw CeladonMart3Text4 + dw CeladonMart3Text5 + dw CeladonMart3Text6 + dw CeladonMart3Text7 + dw CeladonMart3Text8 + dw CeladonMart3Text9 + dw CeladonMart3Text10 + dw CeladonMart3Text11 + dw CeladonMart3Text12 + dw CeladonMart3Text13 + dw CeladonMart3Text14 + dw CeladonMart3Text15 + dw CeladonMart3Text16 + dw CeladonMart3Text17 + +CeladonMart3Text1: + TX_ASM + CheckEvent EVENT_GOT_TM18 + jr nz, .asm_a5463 + ld hl, TM18PreReceiveText + call PrintText + lb bc, TM_18, 1 + call GiveItem + jr nc, .BagFull + SetEvent EVENT_GOT_TM18 + ld hl, ReceivedTM18Text + jr .asm_81359 +.BagFull + ld hl, TM18NoRoomText + jr .asm_81359 +.asm_a5463 + ld hl, TM18ExplanationText +.asm_81359 + call PrintText + jp TextScriptEnd + +TM18PreReceiveText: + TX_FAR _TM18PreReceiveText + db "@" + +ReceivedTM18Text: + TX_FAR _ReceivedTM18Text + TX_SFX_ITEM_1 + db "@" + +TM18ExplanationText: + TX_FAR _TM18ExplanationText + db "@" + +TM18NoRoomText: + TX_FAR _TM18NoRoomText + db "@" + +CeladonMart3Text2: + TX_FAR _CeladonMart3Text2 + db "@" + +CeladonMart3Text3: + TX_FAR _CeladonMart3Text3 + db "@" + +CeladonMart3Text4: + TX_FAR _CeladonMart3Text4 + db "@" + +CeladonMart3Text5: + TX_FAR _CeladonMart3Text5 + db "@" + +CeladonMart3Text12 +CeladonMart3Text10: +CeladonMart3Text8: +CeladonMart3Text6: + TX_FAR _CeladonMart3Text6 + db "@" + +CeladonMart3Text7: + TX_FAR _CeladonMart3Text7 + db "@" + +CeladonMart3Text9: + TX_FAR _CeladonMart3Text9 + db "@" + +CeladonMart3Text11: + TX_FAR _CeladonMart3Text11 + db "@" + +CeladonMart3Text13: + TX_FAR _CeladonMart3Text13 + db "@" + +CeladonMart3Text14: + TX_FAR _CeladonMart3Text14 + db "@" + +CeladonMart3Text17: +CeladonMart3Text16: +CeladonMart3Text15: + TX_FAR _CeladonMart3Text15 + db "@" diff --git a/scripts/CeladonMart4F.asm b/scripts/CeladonMart4F.asm new file mode 100755 index 00000000..20f817e9 --- /dev/null +++ b/scripts/CeladonMart4F.asm @@ -0,0 +1,20 @@ +CeladonMart4F_Script: + jp EnableAutoTextBoxDrawing + +CeladonMart4F_TextPointers: + dw CeladonMart4ClerkText + dw CeladonMart4Text2 + dw CeladonMart4Text3 + dw CeladonMart4Text4 + +CeladonMart4Text2: + TX_FAR _CeladonMart4Text2 + db "@" + +CeladonMart4Text3: + TX_FAR _CeladonMart4Text3 + db "@" + +CeladonMart4Text4: + TX_FAR _CeladonMart4Text4 + db "@" diff --git a/scripts/CeladonMart5F.asm b/scripts/CeladonMart5F.asm new file mode 100755 index 00000000..9f52f866 --- /dev/null +++ b/scripts/CeladonMart5F.asm @@ -0,0 +1,21 @@ +CeladonMart5F_Script: + jp EnableAutoTextBoxDrawing + +CeladonMart5F_TextPointers: + dw CeladonMart5Text1 + dw CeladonMart5Text2 + dw CeladonMart5Clerk1Text + dw CeladonMart5Clerk2Text + dw CeladonMart5Text5 + +CeladonMart5Text1: + TX_FAR _CeladonMart5Text1 + db "@" + +CeladonMart5Text2: + TX_FAR _CeladonMart5Text2 + db "@" + +CeladonMart5Text5: + TX_FAR _CeladonMart5Text5 + db "@" diff --git a/scripts/CeladonMartElevator.asm b/scripts/CeladonMartElevator.asm new file mode 100755 index 00000000..34b923f9 --- /dev/null +++ b/scripts/CeladonMartElevator.asm @@ -0,0 +1,73 @@ +CeladonMartElevator_Script: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + push hl + call nz, CeladonMartElevatorScript_4861c + pop hl + bit 7, [hl] + res 7, [hl] + call nz, CeladonMartElevatorScript_48654 + xor a + ld [wAutoTextBoxDrawingControl], a + inc a + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ret + +CeladonMartElevatorScript_4861c: + ld hl, wWarpEntries + ld a, [wWarpedFromWhichWarp] + ld b, a + ld a, [wWarpedFromWhichMap] + ld c, a + call CeladonMartElevatorScript_4862a + +CeladonMartElevatorScript_4862a: + inc hl + inc hl + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ret + +CeladonMartElevatorScript_48631: + ld hl, CeladonMartElevatorFloors + call LoadItemList + ld hl, CeladonMartElevatorWarpMaps + ld de, wElevatorWarpMaps + ld bc, CeladonMartElevatorWarpMapsEnd - CeladonMartElevatorWarpMaps + jp CopyData + +CeladonMartElevatorFloors: + db 5 ; number of elements in list + db FLOOR_1F + db FLOOR_2F + db FLOOR_3F + db FLOOR_4F + db FLOOR_5F + db $FF + +CeladonMartElevatorWarpMaps: +; first byte is warp number +; second byte is map number +; These specify where the player goes after getting out of the elevator. + db $05, CELADON_MART_1F + db $02, CELADON_MART_2F + db $02, CELADON_MART_3F + db $02, CELADON_MART_4F + db $02, CELADON_MART_5F +CeladonMartElevatorWarpMapsEnd: + +CeladonMartElevatorScript_48654: + jpba ShakeElevator + +CeladonMartElevator_TextPointers: + dw CeladonMartElevatorText1 + +CeladonMartElevatorText1: + TX_ASM + call CeladonMartElevatorScript_48631 + ld hl, CeladonMartElevatorWarpMaps + predef DisplayElevatorFloorMenu + jp TextScriptEnd diff --git a/scripts/CeladonMartRoof.asm b/scripts/CeladonMartRoof.asm new file mode 100755 index 00000000..35c740b2 --- /dev/null +++ b/scripts/CeladonMartRoof.asm @@ -0,0 +1,255 @@ +CeladonMartRoof_Script: + jp EnableAutoTextBoxDrawing + +CeladonMartRoofScript_GetDrinksInBag: +; construct a list of all drinks in the player's bag + xor a + ld [wFilteredBagItemsCount], a + ld de, wFilteredBagItems + ld hl, CeladonMartRoofDrinkList +.loop + ld a, [hli] + and a + jr z, .done + push hl + push de + ld [wd11e], a + ld b, a + predef GetQuantityOfItemInBag + pop de + pop hl + ld a, b + and a + jr z, .loop ; if the item isn't in the bag + ld a, [wd11e] + ld [de], a + inc de + push hl + ld hl, wFilteredBagItemsCount + inc [hl] + pop hl + jr .loop +.done + ld a, $ff + ld [de], a + ret + +CeladonMartRoofDrinkList: + db FRESH_WATER + db SODA_POP + db LEMONADE + db $00 + +CeladonMartRoofScript_GiveDrinkToGirl: + ld hl, wd730 + set 6, [hl] + ld hl, CeladonMartRoofText_484ee + call PrintText + xor a + ld [wCurrentMenuItem], a + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, [wFilteredBagItemsCount] + dec a + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a + ld a, [wFilteredBagItemsCount] + dec a + ld bc, 2 + ld hl, 3 + call AddNTimes + dec l + ld b, l + ld c, 12 + coord hl, 0, 0 + call TextBoxBorder + call UpdateSprites + call CeladonMartRoofScript_PrintDrinksInBag + ld hl, wd730 + res 6, [hl] + call HandleMenuInput + bit 1, a ; pressed b + ret nz + ld hl, wFilteredBagItems + ld a, [wCurrentMenuItem] + ld d, 0 + ld e, a + add hl, de + ld a, [hl] + ld [hItemToRemoveID], a + cp FRESH_WATER + jr z, .gaveFreshWater + cp SODA_POP + jr z, .gaveSodaPop +; gave Lemonade + CheckEvent EVENT_GOT_TM49 + jr nz, .alreadyGaveDrink + ld hl, CeladonMartRoofText_48515 + call PrintText + call RemoveItemByIDBank12 + lb bc, TM_49, 1 + call GiveItem + jr nc, .bagFull + ld hl, ReceivedTM49Text + call PrintText + SetEvent EVENT_GOT_TM49 + ret +.gaveSodaPop + CheckEvent EVENT_GOT_TM48 + jr nz, .alreadyGaveDrink + ld hl, CeladonMartRoofText_48504 + call PrintText + call RemoveItemByIDBank12 + lb bc, TM_48, 1 + call GiveItem + jr nc, .bagFull + ld hl, CeladonMartRoofText_4850a + call PrintText + SetEvent EVENT_GOT_TM48 + ret +.gaveFreshWater + CheckEvent EVENT_GOT_TM13 + jr nz, .alreadyGaveDrink + ld hl, CeladonMartRoofText_484f3 + call PrintText + call RemoveItemByIDBank12 + lb bc, TM_13, 1 + call GiveItem + jr nc, .bagFull + ld hl, CeladonMartRoofText_484f9 + call PrintText + SetEvent EVENT_GOT_TM13 + ret +.bagFull + ld hl, CeladonMartRoofText_48526 + jp PrintText +.alreadyGaveDrink + ld hl, CeladonMartRoofText_4852c + jp PrintText + +RemoveItemByIDBank12: + jpba RemoveItemByID + +CeladonMartRoofText_484ee: + TX_FAR _CeladonMartRoofText_484ee + db "@" + +CeladonMartRoofText_484f3: + TX_FAR _CeladonMartRoofText_484f3 + TX_WAIT + db "@" + +CeladonMartRoofText_484f9: + TX_FAR _CeladonMartRoofText_484f9 + TX_SFX_ITEM_1 + TX_FAR _CeladonMartRoofText_484fe + TX_WAIT + db "@" + +CeladonMartRoofText_48504: + TX_FAR _CeladonMartRoofText_48504 + TX_WAIT + db "@" + +CeladonMartRoofText_4850a: + TX_FAR _CeladonMartRoofText_4850a + TX_SFX_ITEM_1 + TX_FAR _CeladonMartRoofText_4850f + TX_WAIT + db "@" + +CeladonMartRoofText_48515: + TX_FAR _CeladonMartRoofText_48515 + TX_WAIT + db "@" + +ReceivedTM49Text: + TX_FAR _ReceivedTM49Text + TX_SFX_ITEM_1 + TX_FAR _CeladonMartRoofText_48520 + TX_WAIT + db "@" + +CeladonMartRoofText_48526: + TX_FAR _CeladonMartRoofText_48526 + TX_WAIT + db "@" + +CeladonMartRoofText_4852c: + TX_FAR _CeladonMartRoofText_4852c + TX_WAIT + db "@" + +CeladonMartRoofScript_PrintDrinksInBag: + ld hl, wFilteredBagItems + xor a + ld [hItemCounter], a +.loop + ld a, [hli] + cp $ff + ret z + push hl + ld [wd11e], a + call GetItemName + coord hl, 2, 2 + ld a, [hItemCounter] + ld bc, SCREEN_WIDTH * 2 + call AddNTimes + ld de, wcd6d + call PlaceString + ld hl, hItemCounter + inc [hl] + pop hl + jr .loop + +CeladonMartRoof_TextPointers: + dw CeladonMartRoofText1 + dw CeladonMartRoofText2 + dw CeladonMartRoofText5 + dw CeladonMartRoofText5 + dw CeladonMartRoofText5 + dw CeladonMartRoofText6 + +CeladonMartRoofText1: + TX_FAR _CeladonMartRoofText1 + db "@" + +CeladonMartRoofText2: + TX_ASM + call CeladonMartRoofScript_GetDrinksInBag + ld a, [wFilteredBagItemsCount] + and a + jr z, .noDrinksInBag + ld a, 1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, CeladonMartRoofText4 + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .done + call CeladonMartRoofScript_GiveDrinkToGirl + jr .done +.noDrinksInBag + ld hl, CeladonMartRoofText3 + call PrintText +.done + jp TextScriptEnd + +CeladonMartRoofText3: + TX_FAR _CeladonMartRoofText_48598 + db "@" + +CeladonMartRoofText4: + TX_FAR _CeladonMartRoofText4 + db "@" + +CeladonMartRoofText5: + TX_VENDING_MACHINE + +CeladonMartRoofText6: + TX_FAR _CeladonMartRoofText6 + db "@" diff --git a/scripts/CeladonPokecenter.asm b/scripts/CeladonPokecenter.asm new file mode 100755 index 00000000..b5efb7d5 --- /dev/null +++ b/scripts/CeladonPokecenter.asm @@ -0,0 +1,23 @@ +CeladonPokecenter_Script: + call Serial_TryEstablishingExternallyClockedConnection + jp EnableAutoTextBoxDrawing + +CeladonPokecenter_TextPointers: + dw CeladonHealNurseText + dw CeladonPokecenterText2 + dw CeladonPokecenterText3 + dw CeladonTradeNurseText + +CeladonTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST + +CeladonHealNurseText: + TX_POKECENTER_NURSE + +CeladonPokecenterText2: + TX_FAR _CeladonPokecenterText2 + db "@" + +CeladonPokecenterText3: + TX_FAR _CeladonPokecenterText3 + db "@" diff --git a/scripts/CeruleanBadgeHouse.asm b/scripts/CeruleanBadgeHouse.asm new file mode 100755 index 00000000..cab2bf23 --- /dev/null +++ b/scripts/CeruleanBadgeHouse.asm @@ -0,0 +1,109 @@ +CeruleanBadgeHouse_Script: + ld a, $1 + ld [wAutoTextBoxDrawingControl], a + dec a + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ret + +CeruleanBadgeHouse_TextPointers: + dw CeruleanHouse2Text1 + +CeruleanHouse2Text1: + TX_ASM + ld hl, CeruleanHouse2Text_74e77 + call PrintText + xor a + ld [wCurrentMenuItem], a + ld [wListScrollOffset], a +.asm_74e23 + ld hl, CeruleanHouse2Text_74e7c + call PrintText + ld hl, BadgeItemList + call LoadItemList + ld hl, wItemList + ld a, l + ld [wListPointer], a + ld a, h + ld [wListPointer + 1], a + xor a + ld [wPrintItemPrices], a + ld [wMenuItemToSwap], a + ld a, SPECIALLISTMENU + ld [wListMenuID], a + call DisplayListMenuID + jr c, .asm_74e60 + ld hl, TextPointers_74e86 + ld a, [wcf91] + sub $15 + add a + ld d, $0 + ld e, a + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + jr .asm_74e23 +.asm_74e60 + xor a + ld [wListScrollOffset], a + ld hl, CeruleanHouse2Text_74e81 + call PrintText + jp TextScriptEnd + +BadgeItemList: + db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF + +CeruleanHouse2Text_74e77: + TX_FAR _CeruleanHouse2Text_74e77 + db "@" + +CeruleanHouse2Text_74e7c: + TX_FAR _CeruleanHouse2Text_74e7c + db "@" + +CeruleanHouse2Text_74e81: + TX_FAR _CeruleanHouse2Text_74e81 + db "@" + +TextPointers_74e86: + dw CeruleanHouse2Text_74e96 + dw CeruleanHouse2Text_74e9b + dw CeruleanHouse2Text_74ea0 + dw CeruleanHouse2Text_74ea5 + dw CeruleanHouse2Text_74eaa + dw CeruleanHouse2Text_74eaf + dw CeruleanHouse2Text_74eb4 + dw CeruleanHouse2Text_74eb9 + +CeruleanHouse2Text_74e96: + TX_FAR _CeruleanHouse2Text_74e96 + db "@" + +CeruleanHouse2Text_74e9b: + TX_FAR _CeruleanHouse2Text_74e9b + db "@" + +CeruleanHouse2Text_74ea0: + TX_FAR _CeruleanHouse2Text_74ea0 + db "@" + +CeruleanHouse2Text_74ea5: + TX_FAR _CeruleanHouse2Text_74ea5 + db "@" + +CeruleanHouse2Text_74eaa: + TX_FAR _CeruleanHouse2Text_74eaa + db "@" + +CeruleanHouse2Text_74eaf: + TX_FAR _CeruleanHouse2Text_74eaf + db "@" + +CeruleanHouse2Text_74eb4: + TX_FAR _CeruleanHouse2Text_74eb4 + db "@" + +CeruleanHouse2Text_74eb9: + TX_FAR _CeruleanHouse2Text_74eb9 + db "@" diff --git a/scripts/CeruleanCave1F.asm b/scripts/CeruleanCave1F.asm new file mode 100755 index 00000000..6f5c7b13 --- /dev/null +++ b/scripts/CeruleanCave1F.asm @@ -0,0 +1,7 @@ +CeruleanCave1F_Script: + jp EnableAutoTextBoxDrawing + +CeruleanCave1F_TextPointers: + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText diff --git a/scripts/CeruleanCave2F.asm b/scripts/CeruleanCave2F.asm new file mode 100755 index 00000000..1bc8457b --- /dev/null +++ b/scripts/CeruleanCave2F.asm @@ -0,0 +1,7 @@ +CeruleanCave2F_Script: + jp EnableAutoTextBoxDrawing + +CeruleanCave2F_TextPointers: + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText diff --git a/scripts/CeruleanCaveB1F.asm b/scripts/CeruleanCaveB1F.asm new file mode 100755 index 00000000..a570ab18 --- /dev/null +++ b/scripts/CeruleanCaveB1F.asm @@ -0,0 +1,43 @@ +CeruleanCaveB1F_Script: + call EnableAutoTextBoxDrawing + ld hl, MewtwoTrainerHeader + ld de, CeruleanCaveB1F_ScriptPointers + ld a, [wCeruleanCaveB1FCurScript] + call ExecuteCurMapScriptInTable + ld [wCeruleanCaveB1FCurScript], a + ret + +CeruleanCaveB1F_ScriptPointers + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +CeruleanCaveB1F_TextPointers: + dw MewtwoText + dw PickUpItemText + dw PickUpItemText + +MewtwoTrainerHeader: + dbEventFlagBit EVENT_BEAT_MEWTWO + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MEWTWO + dw MewtwoBattleText ; TextBeforeBattle + dw MewtwoBattleText ; TextAfterBattle + dw MewtwoBattleText ; TextEndBattle + dw MewtwoBattleText ; TextEndBattle + + db $ff + +MewtwoText: + TX_ASM + ld hl, MewtwoTrainerHeader + call TalkToTrainer + jp TextScriptEnd + +MewtwoBattleText: + TX_FAR _MewtwoBattleText + TX_ASM + ld a, MEWTWO + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm new file mode 100755 index 00000000..117ec4da --- /dev/null +++ b/scripts/CeruleanCity.asm @@ -0,0 +1,453 @@ +CeruleanCity_Script: + call EnableAutoTextBoxDrawing + ld hl, CeruleanCity_ScriptPointers + ld a, [wCeruleanCityCurScript] + jp CallFunctionInTable + +CeruleanCityScript_1948c: + xor a + ld [wJoyIgnore], a + ld [wCeruleanCityCurScript], a + ld a, HS_CERULEAN_RIVAL + ld [wMissableObjectIndex], a + predef_jump HideObject + +CeruleanCity_ScriptPointers: + dw CeruleanCityScript0 + dw CeruleanCityScript1 + dw CeruleanCityScript2 + dw CeruleanCityScript3 + dw CeruleanCityScript4 + +CeruleanCityScript4: + ld a, [wIsInBattle] + cp $ff + jp z, CeruleanCityScript_1948c + ld a, $f0 + ld [wJoyIgnore], a + SetEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF + ld a, $2 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [wJoyIgnore], a + ld [wCeruleanCityCurScript], a + ret + +CeruleanCityScript0: + CheckEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF + jr nz, .asm_194f7 + ld hl, CeruleanCityCoords1 + call ArePlayerCoordsInArray + jr nc, .asm_194f7 + ld a, [wCoordIndex] + cp $1 + ld a, PLAYER_DIR_UP + ld b, SPRITE_FACING_DOWN + jr nz, .asm_194e6 + ld a, PLAYER_DIR_DOWN + ld b, SPRITE_FACING_UP +.asm_194e6 + ld [wPlayerMovingDirection], a + ld a, b + ld [wSpriteStateData1 + 2 * $10 + $9], a + call Delay3 + ld a, $2 + ld [hSpriteIndexOrTextID], a + jp DisplayTextID +.asm_194f7 + CheckEvent EVENT_BEAT_CERULEAN_RIVAL + ret nz + ld hl, CeruleanCityCoords2 + call ArePlayerCoordsInArray + ret nc + ld a, [wWalkBikeSurfState] + and a + jr z, .asm_19512 + ld a, $ff + ld [wNewSoundID], a + call PlaySound +.asm_19512 + ld c, BANK(Music_MeetRival) + ld a, MUSIC_MEET_RIVAL + call PlayMusic + xor a + ld [hJoyHeld], a + ld a, $f0 + ld [wJoyIgnore], a + ld a, [wXCoord] + cp $14 + jr z, .asm_19535 + ld a, $1 + ld [H_SPRITEINDEX], a + ld a, $5 + ld [H_SPRITEDATAOFFSET], a + call GetPointerWithinSpriteStateData2 + ld [hl], $19 +.asm_19535 + ld a, HS_CERULEAN_RIVAL + ld [wMissableObjectIndex], a + predef ShowObject + ld de, CeruleanCityMovement1 + ld a, $1 + ld [H_SPRITEINDEX], a + call MoveSprite + ld a, $1 + ld [wCeruleanCityCurScript], a + ret + +CeruleanCityCoords1: + db $07,$1e + db $09,$1e + db $ff + +CeruleanCityCoords2: + db $06,$14 + db $06,$15 + db $ff + +CeruleanCityMovement1: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +CeruleanCityScript_1955d: + ld a, 1 + ld [H_SPRITEINDEX], a + xor a ; SPRITE_FACING_DOWN + ld [hSpriteFacingDirection], a + jp SetSpriteFacingDirectionAndDelay ; face object + +CeruleanCityScript1: + ld a, [wd730] + bit 0, a + ret nz + xor a + ld [wJoyIgnore], a + ld a, $1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, CeruleanCityText_1966d + ld de, CeruleanCityText_19672 + call SaveEndBattleTextPointers + ld a, OPP_SONY1 + ld [wCurOpponent], a + + ; select which team to use during the encounter + ld a, [wRivalStarter] + cp STARTER2 + jr nz, .NotSquirtle + ld a, $7 + jr .done +.NotSquirtle + cp STARTER3 + jr nz, .Charmander + ld a, $8 + jr .done +.Charmander + ld a, $9 +.done + ld [wTrainerNo], a + + xor a + ld [hJoyHeld], a + call CeruleanCityScript_1955d + ld a, $2 + ld [wCeruleanCityCurScript], a + ret + +CeruleanCityScript2: + ld a, [wIsInBattle] + cp $ff + jp z, CeruleanCityScript_1948c + call CeruleanCityScript_1955d + ld a, $f0 + ld [wJoyIgnore], a + SetEvent EVENT_BEAT_CERULEAN_RIVAL + ld a, $1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $ff + ld [wNewSoundID], a + call PlaySound + callba Music_RivalAlternateStart + ld a, $1 + ld [H_SPRITEINDEX], a + call SetSpriteMovementBytesToFF + ld a, [wXCoord] + cp $14 + jr nz, .asm_195f0 + ld de, CeruleanCityMovement4 + jr .asm_195f3 +.asm_195f0 + ld de, CeruleanCityMovement3 +.asm_195f3 + ld a, $1 + ld [H_SPRITEINDEX], a + call MoveSprite + ld a, $3 + ld [wCeruleanCityCurScript], a + ret + +CeruleanCityMovement3: + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +CeruleanCityMovement4: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +CeruleanCityScript3: + ld a, [wd730] + bit 0, a + ret nz + ld a, HS_CERULEAN_RIVAL + ld [wMissableObjectIndex], a + predef HideObject + xor a + ld [wJoyIgnore], a + call PlayDefaultMusic + ld a, $0 + ld [wCeruleanCityCurScript], a + ret + +CeruleanCity_TextPointers: + dw CeruleanCityText1 + dw CeruleanCityText2 + dw CeruleanCityText3 + dw CeruleanCityText4 + dw CeruleanCityText5 + dw CeruleanCityText6 + dw CeruleanCityText7 + dw CeruleanCityText8 + dw CeruleanCityText9 + dw CeruleanCityText10 + dw CeruleanCityText11 + dw CeruleanCityText12 + dw CeruleanCityText13 + dw MartSignText + dw PokeCenterSignText + dw CeruleanCityText16 + dw CeruleanCityText17 + +CeruleanCityText1: + TX_ASM + CheckEvent EVENT_BEAT_CERULEAN_RIVAL + ; do pre-battle text + jr z, .PreBattleText + ; or talk about bill + ld hl, CeruleanCityText_19677 + call PrintText + jr .end +.PreBattleText + ld hl, CeruleanCityText_19668 + call PrintText +.end + jp TextScriptEnd + +CeruleanCityText_19668: + TX_FAR _CeruleanCityText_19668 + db "@" + +CeruleanCityText_1966d: + TX_FAR _CeruleanCityText_1966d + db "@" + +CeruleanCityText_19672: + TX_FAR _CeruleanCityText_19672 + db "@" + +CeruleanCityText_19677: + TX_FAR _CeruleanCityText_19677 + db "@" + +CeruleanCityText2: + TX_ASM + CheckEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF + jr nz, .asm_4ca20 + ld hl, CeruleanCityText_196d9 + call PrintText + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, CeruleanCityText_196ee + ld de, CeruleanCityText_196ee + call SaveEndBattleTextPointers + ld a, [hSpriteIndexOrTextID] + ld [wSpriteIndex], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $4 + ld [wCeruleanCityCurScript], a + jp TextScriptEnd +.asm_4ca20 + ld hl, CeruleanCityText_196f3 + call PrintText + lb bc, TM_28, 1 + call GiveItem + jr c, .Success + ld hl, TM28NoRoomText + call PrintText + jr .Done +.Success + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, ReceivedTM28Text + call PrintText + callba CeruleanHideRocket +.Done + jp TextScriptEnd + +CeruleanCityText_196d9: + TX_FAR _CeruleanCityText_196d9 + db "@" + +ReceivedTM28Text: + TX_FAR _ReceivedTM28Text + TX_SFX_ITEM_1 + TX_FAR _ReceivedTM28Text2 + TX_WAIT + db "@" + +TM28NoRoomText: + TX_FAR _TM28NoRoomText + db "@" + +CeruleanCityText_196ee: + TX_FAR _CeruleanCityText_196ee + db "@" + +CeruleanCityText_196f3: + TX_FAR _CeruleanCityText_196f3 + db "@" + +CeruleanCityText3: + TX_FAR _CeruleanCityText3 + db "@" + +CeruleanCityText4: + TX_FAR _CeruleanCityText4 + db "@" + +CeruleanCityText5: + TX_FAR _CeruleanCityText5 + db "@" + +CeruleanCityText11: +CeruleanCityText6: + TX_FAR _CeruleanCityText6 + db "@" + +CeruleanCityText7: + TX_ASM + ld a, [hRandomAdd] + cp 180 + jr c, .asm_e9fc9 + ld hl, CeruleanCityText_19730 + call PrintText + jr .asm_d486e +.asm_e9fc9 + cp 100 + jr c, .asm_df99b + ld hl, CeruleanCityText_19735 + call PrintText + jr .asm_d486e +.asm_df99b + ld hl, CeruleanCityText_1973a + call PrintText +.asm_d486e + jp TextScriptEnd + +CeruleanCityText_19730: + TX_FAR _CeruleanCityText_19730 + db "@" + +CeruleanCityText_19735: + TX_FAR _CeruleanCityText_19735 + db "@" + +CeruleanCityText_1973a: + TX_FAR _CeruleanCityText_1973a + db "@" + +CeruleanCityText8: + TX_ASM + ld a, [hRandomAdd] + cp 180 + jr c, .asm_e28da + ld hl, CeruleanCityText_1976f + call PrintText + jr .asm_f2f38 +.asm_e28da + cp 120 + jr c, .asm_15d08 + ld hl, CeruleanCityText_19774 + call PrintText + jr .asm_f2f38 +.asm_15d08 + cp 60 + jr c, .asm_d7fea + ld hl, CeruleanCityText_19779 + call PrintText + jr .asm_f2f38 +.asm_d7fea + ld hl, CeruleanCityText_1977e + call PrintText +.asm_f2f38 + jp TextScriptEnd + +CeruleanCityText_1976f: + TX_FAR _CeruleanCityText_1976f + db "@" + +CeruleanCityText_19774: + TX_FAR _CeruleanCityText_19774 + db "@" + +CeruleanCityText_19779: + TX_FAR _CeruleanCityText_19779 + db "@" + +CeruleanCityText_1977e: + TX_FAR _CeruleanCityText_1977e + db "@" + +CeruleanCityText9: + TX_FAR _CeruleanCityText9 + db "@" + +CeruleanCityText10: + TX_FAR _CeruleanCityText10 + db "@" + +CeruleanCityText12: + TX_FAR _CeruleanCityText12 + db "@" + +CeruleanCityText13: + TX_FAR _CeruleanCityText13 + db "@" + +CeruleanCityText16: + TX_FAR _CeruleanCityText16 + db "@" + +CeruleanCityText17: + TX_FAR _CeruleanCityText17 + db "@" diff --git a/scripts/CeruleanCity_2.asm b/scripts/CeruleanCity_2.asm new file mode 100755 index 00000000..53ace5c8 --- /dev/null +++ b/scripts/CeruleanCity_2.asm @@ -0,0 +1,16 @@ +CeruleanHideRocket: +; code similar to this appears in a lot of banks; this particular +; one is called after you beat the Rocket that gives you TM28 DIG. +; the screen then fades out, he disappears, and fades back in + call GBFadeOutToBlack + ld a, HS_CERULEAN_GUARD_1 + ld [wMissableObjectIndex], a + predef ShowObject + ld a, HS_CERULEAN_GUARD_2 + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_CERULEAN_ROCKET + ld [wMissableObjectIndex], a + predef HideObject + call GBFadeInFromBlack + ret diff --git a/scripts/CeruleanGym.asm b/scripts/CeruleanGym.asm new file mode 100755 index 00000000..7d152b4f --- /dev/null +++ b/scripts/CeruleanGym.asm @@ -0,0 +1,219 @@ +CeruleanGym_Script: + ld hl, wCurrentMapScriptFlags + bit 6, [hl] + res 6, [hl] + call nz, CeruleanGymScript_5c6d0 + call EnableAutoTextBoxDrawing + ld hl, CeruleanGymTrainerHeader0 + ld de, CeruleanGym_ScriptPointers + ld a, [wCeruleanGymCurScript] + call ExecuteCurMapScriptInTable + ld [wCeruleanGymCurScript], a + ret + +CeruleanGymScript_5c6d0: + ld hl, Gym2CityName + ld de, Gym2LeaderName + jp LoadGymLeaderAndCityName + +Gym2CityName: + db "CERULEAN CITY@" + +Gym2LeaderName: + db "MISTY@" + +CeruleanGymScript_5c6ed: + xor a + ld [wJoyIgnore], a + ld [wCeruleanGymCurScript], a + ld [wCurMapScript], a + ret + +CeruleanGym_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw CeruleanGymScript3 + +CeruleanGymScript3: + ld a, [wIsInBattle] + cp $ff + jp z, CeruleanGymScript_5c6ed + ld a, $f0 + ld [wJoyIgnore], a + +CeruleanGymScript_5c70d: + ld a, $5 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_BEAT_MISTY + lb bc, TM_11, 1 + call GiveItem + jr nc, .BagFull + ld a, $6 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_GOT_TM11 + jr .asm_5c736 +.BagFull + ld a, $7 + ld [hSpriteIndexOrTextID], a + call DisplayTextID +.asm_5c736 + ld hl, wObtainedBadges + set 1, [hl] + ld hl, wBeatGymFlags + set 1, [hl] + + ; deactivate gym trainers + SetEvents EVENT_BEAT_CERULEAN_GYM_TRAINER_0, EVENT_BEAT_CERULEAN_GYM_TRAINER_1 + + jp CeruleanGymScript_5c6ed + +CeruleanGym_TextPointers: + dw CeruleanGymText1 + dw CeruleanGymText2 + dw CeruleanGymText3 + dw CeruleanGymText4 + dw CeruleanGymText5 + dw CeruleanGymText6 + dw CeruleanGymText7 + +CeruleanGymTrainerHeader0: + dbEventFlagBit EVENT_BEAT_CERULEAN_GYM_TRAINER_0 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_CERULEAN_GYM_TRAINER_0 + dw CeruleanGymBattleText1 ; TextBeforeBattle + dw CeruleanGymAfterBattleText1 ; TextAfterBattle + dw CeruleanGymEndBattleText1 ; TextEndBattle + dw CeruleanGymEndBattleText1 ; TextEndBattle + +CeruleanGymTrainerHeader1: + dbEventFlagBit EVENT_BEAT_CERULEAN_GYM_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_CERULEAN_GYM_TRAINER_1 + dw CeruleanGymBattleText2 ; TextBeforeBattle + dw CeruleanGymAfterBattleText2 ; TextAfterBattle + dw CeruleanGymEndBattleText2 ; TextEndBattle + dw CeruleanGymEndBattleText2 ; TextEndBattle + + db $ff + +CeruleanGymText1: + TX_ASM + CheckEvent EVENT_BEAT_MISTY + jr z, .asm_5c78d + CheckEventReuseA EVENT_GOT_TM11 + jr nz, .asm_5c785 + call z, CeruleanGymScript_5c70d + call DisableWaitingAfterTextDisplay + jr .asm_5c7bb +.asm_5c785 + ld hl, CeruleanGymText_5c7c3 + call PrintText + jr .asm_5c7bb +.asm_5c78d + ld hl, CeruleanGymText_5c7be + call PrintText + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, CeruleanGymText_5c7d8 + ld de, CeruleanGymText_5c7d8 + call SaveEndBattleTextPointers + ld a, [H_SPRITEINDEX] + ld [wSpriteIndex], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $2 + ld [wGymLeaderNo], a + xor a + ld [hJoyHeld], a + ld a, $3 + ld [wCeruleanGymCurScript], a +.asm_5c7bb + jp TextScriptEnd + +CeruleanGymText_5c7be: + TX_FAR _CeruleanGymText_5c7be + db "@" + +CeruleanGymText_5c7c3: + TX_FAR _CeruleanGymText_5c7c3 + db "@" + +CeruleanGymText5: + TX_FAR _CeruleanGymText_5c7c8 + db "@" + +CeruleanGymText6: + TX_FAR _ReceivedTM11Text + TX_SFX_ITEM_1 + db "@" + +CeruleanGymText7: + TX_FAR _CeruleanGymText_5c7d3 + db "@" + +CeruleanGymText_5c7d8: + TX_FAR _CeruleanGymText_5c7d8 + TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded + TX_BLINK + db "@" + +CeruleanGymText2: + TX_ASM + ld hl, CeruleanGymTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +CeruleanGymBattleText1: + TX_FAR _CeruleanGymBattleText1 + db "@" + +CeruleanGymEndBattleText1: + TX_FAR _CeruleanGymEndBattleText1 + db "@" + +CeruleanGymAfterBattleText1: + TX_FAR _CeruleanGymAfterBattleText1 + db "@" + +CeruleanGymText3: + TX_ASM + ld hl, CeruleanGymTrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +CeruleanGymBattleText2: + TX_FAR _CeruleanGymBattleText2 + db "@" + +CeruleanGymEndBattleText2: + TX_FAR _CeruleanGymEndBattleText2 + db "@" + +CeruleanGymAfterBattleText2: + TX_FAR _CeruleanGymAfterBattleText2 + db "@" + +CeruleanGymText4: + TX_ASM + CheckEvent EVENT_BEAT_MISTY + jr nz, .asm_5c821 + ld hl, CeruleanGymText_5c82a + call PrintText + jr .asm_5c827 +.asm_5c821 + ld hl, CeruleanGymText_5c82f + call PrintText +.asm_5c827 + jp TextScriptEnd + +CeruleanGymText_5c82a: + TX_FAR _CeruleanGymText_5c82a + db "@" + +CeruleanGymText_5c82f: + TX_FAR _CeruleanGymText_5c82f + db "@" diff --git a/scripts/CeruleanMart.asm b/scripts/CeruleanMart.asm new file mode 100755 index 00000000..f812aadd --- /dev/null +++ b/scripts/CeruleanMart.asm @@ -0,0 +1,15 @@ +CeruleanMart_Script: + jp EnableAutoTextBoxDrawing + +CeruleanMart_TextPointers: + dw CeruleanCashierText + dw CeruleanMartText2 + dw CeruleanMartText3 + +CeruleanMartText2: + TX_FAR _CeruleanMartText2 + db "@" + +CeruleanMartText3: + TX_FAR _CeruleanMartText3 + db "@" diff --git a/scripts/CeruleanPokecenter.asm b/scripts/CeruleanPokecenter.asm new file mode 100755 index 00000000..82bd04f3 --- /dev/null +++ b/scripts/CeruleanPokecenter.asm @@ -0,0 +1,23 @@ +CeruleanPokecenter_Script: + call Serial_TryEstablishingExternallyClockedConnection + jp EnableAutoTextBoxDrawing + +CeruleanPokecenter_TextPointers: + dw CeruleanHealNurseText + dw CeruleanPokecenterText2 + dw CeruleanPokecenterText3 + dw CeruleanTradeNurseText + +CeruleanTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST + +CeruleanHealNurseText: + TX_POKECENTER_NURSE + +CeruleanPokecenterText2: + TX_FAR _CeruleanPokecenterText2 + db "@" + +CeruleanPokecenterText3: + TX_FAR _CeruleanPokecenterText3 + db "@" diff --git a/scripts/CeruleanTradeHouse.asm b/scripts/CeruleanTradeHouse.asm new file mode 100755 index 00000000..f80da19a --- /dev/null +++ b/scripts/CeruleanTradeHouse.asm @@ -0,0 +1,17 @@ +CeruleanTradeHouse_Script: + jp EnableAutoTextBoxDrawing + +CeruleanTradeHouse_TextPointers: + dw CeruleanHouse1Text1 + dw CeruleanHouse1Text2 + +CeruleanHouse1Text1: + TX_FAR _CeruleanHouse1Text1 + db "@" + +CeruleanHouse1Text2: + TX_ASM + ld a, $6 + ld [wWhichTrade], a + predef DoInGameTradeDialogue + jp TextScriptEnd diff --git a/scripts/CeruleanTrashedHouse.asm b/scripts/CeruleanTrashedHouse.asm new file mode 100755 index 00000000..f249ef01 --- /dev/null +++ b/scripts/CeruleanTrashedHouse.asm @@ -0,0 +1,39 @@ +CeruleanTrashedHouse_Script: + call EnableAutoTextBoxDrawing + ret + +CeruleanTrashedHouse_TextPointers: + dw CeruleanHouseTrashedText1 + dw CeruleanHouseTrashedText2 + dw CeruleanHouseTrashedText3 + +CeruleanHouseTrashedText1: + TX_ASM + ld b, $e4 + predef GetQuantityOfItemInBag + and b + jr z, .asm_f8734 + ld hl, CeruleanHouseTrashedText_1d6b0 + call PrintText + jr .asm_8dfe9 +.asm_f8734 + ld hl, CeruleanHouseTrashedText_1d6ab + call PrintText +.asm_8dfe9 + jp TextScriptEnd + +CeruleanHouseTrashedText_1d6ab: + TX_FAR _CeruleanTrashedText_1d6ab + db "@" + +CeruleanHouseTrashedText_1d6b0: + TX_FAR _CeruleanTrashedText_1d6b0 + db "@" + +CeruleanHouseTrashedText2: + TX_FAR _CeruleanHouseTrashedText2 + db "@" + +CeruleanHouseTrashedText3: + TX_FAR _CeruleanHouseTrashedText3 + db "@" diff --git a/scripts/ChampionsRoom.asm b/scripts/ChampionsRoom.asm new file mode 100755 index 00000000..e3cdc6d2 --- /dev/null +++ b/scripts/ChampionsRoom.asm @@ -0,0 +1,298 @@ +ChampionsRoom_Script: + call EnableAutoTextBoxDrawing + ld hl, ChampionsRoom_ScriptPointers + ld a, [wChampionsRoomCurScript] + jp CallFunctionInTable + +ResetGaryScript: + xor a + ld [wJoyIgnore], a + ld [wChampionsRoomCurScript], a + ret + +ChampionsRoom_ScriptPointers: + dw GaryScript0 + dw GaryScript1 + dw GaryScript2 + dw GaryScript3 + dw GaryScript4 + dw GaryScript5 + dw GaryScript6 + dw GaryScript7 + dw GaryScript8 + dw GaryScript9 + dw GaryScript10 + +GaryScript0: + ret + +GaryScript1: + ld a, $ff + ld [wJoyIgnore], a + ld hl, wSimulatedJoypadStatesEnd + ld de, GaryEntrance_RLEMovement + call DecodeRLEList + dec a + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld a, $2 + ld [wChampionsRoomCurScript], a + ret + +GaryEntrance_RLEMovement: + db D_UP,1 + db D_RIGHT,1 + db D_UP,3 + db $ff + +GaryScript2: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + call Delay3 + xor a + ld [wJoyIgnore], a + ld hl, wOptions + res 7, [hl] ; Turn on battle animations to make the battle feel more epic. + ld a, $1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call Delay3 + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, GaryDefeatedText + ld de, GaryVictoryText + call SaveEndBattleTextPointers + ld a, OPP_SONY3 + ld [wCurOpponent], a + + ; select which team to use during the encounter + ld a, [wRivalStarter] + cp STARTER2 + jr nz, .NotStarter2 + ld a, $1 + jr .saveTrainerId +.NotStarter2 + cp STARTER3 + jr nz, .NotStarter3 + ld a, $2 + jr .saveTrainerId +.NotStarter3 + ld a, $3 +.saveTrainerId + ld [wTrainerNo], a + + xor a + ld [hJoyHeld], a + ld a, $3 + ld [wChampionsRoomCurScript], a + ret + +GaryScript3: + ld a, [wIsInBattle] + cp $ff + jp z, ResetGaryScript + call UpdateSprites + SetEvent EVENT_BEAT_CHAMPION_RIVAL + ld a, $f0 + ld [wJoyIgnore], a + ld a, $1 + ld [hSpriteIndexOrTextID], a + call GaryScript_760c8 + ld a, $1 + ld [H_SPRITEINDEX], a + call SetSpriteMovementBytesToFF + ld a, $4 + ld [wChampionsRoomCurScript], a + ret + +GaryScript4: + callba Music_Cities1AlternateTempo + ld a, $2 + ld [hSpriteIndexOrTextID], a + call GaryScript_760c8 + ld a, $2 + ld [H_SPRITEINDEX], a + call SetSpriteMovementBytesToFF + ld de, OakEntranceAfterVictoryMovement + ld a, $2 + ld [H_SPRITEINDEX], a + call MoveSprite + ld a, HS_CHAMPIONS_ROOM_OAK + ld [wMissableObjectIndex], a + predef ShowObject + ld a, $5 + ld [wChampionsRoomCurScript], a + ret + +OakEntranceAfterVictoryMovement: + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db $FF + +GaryScript5: + ld a, [wd730] + bit 0, a + ret nz + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a + ld a, $1 + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_LEFT + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, $2 + ld [H_SPRITEINDEX], a + xor a ; SPRITE_FACING_DOWN + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, $3 + ld [hSpriteIndexOrTextID], a + call GaryScript_760c8 + ld a, $6 + ld [wChampionsRoomCurScript], a + ret + +GaryScript6: + ld a, $2 + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_RIGHT + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, $4 + ld [hSpriteIndexOrTextID], a + call GaryScript_760c8 + ld a, $7 + ld [wChampionsRoomCurScript], a + ret + +GaryScript7: + ld a, $2 + ld [H_SPRITEINDEX], a + xor a ; SPRITE_FACING_DOWN + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, $5 + ld [hSpriteIndexOrTextID], a + call GaryScript_760c8 + ld de, OakExitGaryRoomMovement + ld a, $2 + ld [H_SPRITEINDEX], a + call MoveSprite + ld a, $8 + ld [wChampionsRoomCurScript], a + ret + +OakExitGaryRoomMovement: + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db $FF + +GaryScript8: + ld a, [wd730] + bit 0, a + ret nz + ld a, HS_CHAMPIONS_ROOM_OAK + ld [wMissableObjectIndex], a + predef HideObject + ld a, $9 + ld [wChampionsRoomCurScript], a + ret + +GaryScript9: + ld a, $ff + ld [wJoyIgnore], a + ld hl, wSimulatedJoypadStatesEnd + ld de, WalkToHallOfFame_RLEMovment + call DecodeRLEList + dec a + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld a, $a + ld [wChampionsRoomCurScript], a + ret + +WalkToHallOfFame_RLEMovment: + db D_UP,4 + db D_LEFT,1 + db $ff + +GaryScript10: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + xor a + ld [wJoyIgnore], a + ld a, $0 + ld [wChampionsRoomCurScript], a + ret + +GaryScript_760c8: + ld a, $f0 + ld [wJoyIgnore], a + call DisplayTextID + ld a, $ff + ld [wJoyIgnore], a + ret + +ChampionsRoom_TextPointers: + dw GaryText1 + dw GaryText2 + dw GaryText3 + dw GaryText4 + dw GaryText5 + +GaryText1: + TX_ASM + CheckEvent EVENT_BEAT_CHAMPION_RIVAL + ld hl, GaryChampionIntroText + jr z, .printText + ld hl, GaryText_76103 +.printText + call PrintText + jp TextScriptEnd + +GaryChampionIntroText: + TX_FAR _GaryChampionIntroText + db "@" + +GaryDefeatedText: + TX_FAR _GaryDefeatedText + db "@" + +GaryVictoryText: + TX_FAR _GaryVictoryText + db "@" + +GaryText_76103: + TX_FAR _GaryText_76103 + db "@" + +GaryText2: + TX_FAR _GaryText2 + db "@" + +GaryText3: + TX_ASM + ld a, [wPlayerStarter] + ld [wd11e], a + call GetMonName + ld hl, GaryText_76120 + call PrintText + jp TextScriptEnd + +GaryText_76120: + TX_FAR _GaryText_76120 + db "@" + +GaryText4: + TX_FAR _GaryText_76125 + db "@" + +GaryText5: + TX_FAR _GaryText_7612a + db "@" diff --git a/scripts/CinnabarGym.asm b/scripts/CinnabarGym.asm new file mode 100755 index 00000000..295bd63d --- /dev/null +++ b/scripts/CinnabarGym.asm @@ -0,0 +1,472 @@ +CinnabarGym_Script: + call CinnabarGymScript_75759 + call EnableAutoTextBoxDrawing + ld hl, CinnabarGym_ScriptPointers + ld a, [wCinnabarGymCurScript] + jp CallFunctionInTable + +CinnabarGymScript_75759: + ld hl, wCurrentMapScriptFlags + bit 6, [hl] + res 6, [hl] + push hl + call nz, CinnabarGymScript_75772 + pop hl + bit 5, [hl] + res 5, [hl] + call nz, UpdateCinnabarGymGateTileBlocks + ResetEvent EVENT_2A7 + ret +CinnabarGymScript_75772: + ld hl, Gym7CityName + ld de, Gym7LeaderName + jp LoadGymLeaderAndCityName + +Gym7CityName: + db "CINNABAR ISLAND@" +Gym7LeaderName: + db "BLAINE@" + +CinnabarGymScript_75792: + xor a + ld [wJoyIgnore], a + ld [wCinnabarGymCurScript], a + ld [wCurMapScript], a + ld [wOpponentAfterWrongAnswer], a + ret + +CinnabarGymScript_757a0: + ld a, [hSpriteIndexOrTextID] + ld [wTrainerHeaderFlagBit], a + ret + +CinnabarGym_ScriptPointers: + dw CinnabarGymScript0 + dw CinnabarGymScript1 + dw CinnabarGymScript2 + dw CinnabarGymScript3 + +CinnabarGymScript0: + ld a, [wOpponentAfterWrongAnswer] + and a + ret z + ld [H_SPRITEINDEX], a + cp $4 + jr nz, .asm_757c3 + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + ld de, MovementData_757d7 + jr .asm_757cb +.asm_757c3 + ld de, MovementData_757da + ld a, PLAYER_DIR_RIGHT + ld [wPlayerMovingDirection], a +.asm_757cb + call MoveSprite + ld a, $1 + ld [wCinnabarGymCurScript], a + ld [wCurMapScript], a + ret + +MovementData_757d7: + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_UP + db $FF + +MovementData_757da: + db NPC_MOVEMENT_LEFT + db $FF + +CinnabarGymScript1: + ld a, [wd730] + bit 0, a + ret nz + xor a + ld [wJoyIgnore], a + ld a, [wOpponentAfterWrongAnswer] + ld [wTrainerHeaderFlagBit], a + ld [hSpriteIndexOrTextID], a + jp DisplayTextID + +CinnabarGymFlagAction: + predef_jump FlagActionPredef + +CinnabarGymScript2: + ld a, [wIsInBattle] + cp $ff + jp z, CinnabarGymScript_75792 + ld a, [wTrainerHeaderFlagBit] + ld [$ffdb], a + AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 + ld c, a + ld b, FLAG_TEST + EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0 + call CinnabarGymFlagAction + ld a, c + and a + jr nz, .asm_7581b + call WaitForSoundToFinish + ld a, SFX_GO_INSIDE + call PlaySound + call WaitForSoundToFinish +.asm_7581b + ld a, [wTrainerHeaderFlagBit] + ld [$ffdb], a + AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 + ld c, a + ld b, FLAG_SET + EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0 + call CinnabarGymFlagAction + ld a, [wTrainerHeaderFlagBit] + sub $2 + AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 + ld c, a + ld b, FLAG_SET + EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED + call CinnabarGymFlagAction + call UpdateCinnabarGymGateTileBlocks + xor a + ld [wJoyIgnore], a + ld [wOpponentAfterWrongAnswer], a + ld a, $0 + ld [wCinnabarGymCurScript], a + ld [wCurMapScript], a + ret + +CinnabarGymScript3: + ld a, [wIsInBattle] + cp $ff + jp z, CinnabarGymScript_75792 + ld a, $f0 + ld [wJoyIgnore], a +CinnabarGymScript3_75857: + ld a, $a + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_BEAT_BLAINE + lb bc, TM_38, 1 + call GiveItem + jr nc, .BagFull + ld a, $b + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_GOT_TM38 + jr .asm_75880 +.BagFull + ld a, $c + ld [hSpriteIndexOrTextID], a + call DisplayTextID +.asm_75880 + ld hl, wObtainedBadges + set 6, [hl] + ld hl, wBeatGymFlags + set 6, [hl] + + ; deactivate gym trainers + SetEventRange EVENT_BEAT_CINNABAR_GYM_TRAINER_0, EVENT_BEAT_CINNABAR_GYM_TRAINER_6 + + ld hl, wCurrentMapScriptFlags + set 5, [hl] + + jp CinnabarGymScript_75792 + +CinnabarGym_TextPointers: + dw CinnabarGymText1 + dw CinnabarGymText2 + dw CinnabarGymText3 + dw CinnabarGymText4 + dw CinnabarGymText5 + dw CinnabarGymText6 + dw CinnabarGymText7 + dw CinnabarGymText8 + dw CinnabarGymText9 + dw BlaineBadgeText + dw ReceivedTM38Text + dw TM38NoRoomText + +CinnabarGymScript_758b7: + ld a, [hSpriteIndexOrTextID] + ld [wSpriteIndex], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld a, [wSpriteIndex] + cp $1 + jr z, .asm_758d4 + ld a, $2 + jr .asm_758d6 +.asm_758d4 + ld a, $3 +.asm_758d6 + ld [wCinnabarGymCurScript], a + ld [wCurMapScript], a + jp TextScriptEnd + +CinnabarGymText1: + TX_ASM + CheckEvent EVENT_BEAT_BLAINE + jr z, .asm_d9332 + CheckEventReuseA EVENT_GOT_TM38 + jr nz, .asm_3012f + call z, CinnabarGymScript3_75857 + call DisableWaitingAfterTextDisplay + jp TextScriptEnd +.asm_3012f + ld hl, BlaineFireBlastText + call PrintText + jp TextScriptEnd +.asm_d9332 + ld hl, BlaineBattleText + call PrintText + ld hl, BlaineEndBattleText + ld de, BlaineEndBattleText + call SaveEndBattleTextPointers + ld a, $7 + ld [wGymLeaderNo], a + jp CinnabarGymScript_758b7 + +BlaineBattleText: + TX_FAR _BlaineBattleText + db "@" + +BlaineEndBattleText: + TX_FAR _BlaineEndBattleText + TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded + TX_WAIT + db "@" + +BlaineFireBlastText: + TX_FAR _BlaineFireBlastText + db "@" + +BlaineBadgeText: + TX_FAR _BlaineBadgeText + db "@" + +ReceivedTM38Text: + TX_FAR _ReceivedTM38Text + TX_SFX_ITEM_1 + TX_FAR _TM38ExplanationText + db "@" + +TM38NoRoomText: + TX_FAR _TM38NoRoomText + db "@" + +CinnabarGymText2: + TX_ASM + call CinnabarGymScript_757a0 + CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_0 + jr nz, .asm_46bb4 + ld hl, CinnabarGymText_7595f + call PrintText + ld hl, CinnabarGymText_75964 + ld de, CinnabarGymText_75964 + call SaveEndBattleTextPointers + jp CinnabarGymScript_758b7 +.asm_46bb4 + ld hl, CinnabarGymText_75969 + call PrintText + jp TextScriptEnd + +CinnabarGymText_7595f: + TX_FAR _CinnabarGymText_7595f + db "@" + +CinnabarGymText_75964: + TX_FAR _CinnabarGymText_75964 + db "@" + +CinnabarGymText_75969: + TX_FAR _CinnabarGymText_75969 + db "@" + +CinnabarGymText3: + TX_ASM + call CinnabarGymScript_757a0 + CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_1 + jr nz, .asm_4b406 + ld hl, CinnabarGymText_75994 + call PrintText + ld hl, CinnabarGymText_75999 + ld de, CinnabarGymText_75999 + call SaveEndBattleTextPointers + jp CinnabarGymScript_758b7 +.asm_4b406 + ld hl, CinnabarGymText_7599e + call PrintText + jp TextScriptEnd + +CinnabarGymText_75994: + TX_FAR _CinnabarGymText_75994 + db "@" + +CinnabarGymText_75999: + TX_FAR _CinnabarGymText_75999 + db "@" + +CinnabarGymText_7599e: + TX_FAR _CinnabarGymText_7599e + db "@" + +CinnabarGymText4: + TX_ASM + call CinnabarGymScript_757a0 + CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_2 + jr nz, .asm_c0673 + ld hl, CinnabarGymText_759c9 + call PrintText + ld hl, CinnabarGymText_759ce + ld de, CinnabarGymText_759ce + call SaveEndBattleTextPointers + jp CinnabarGymScript_758b7 +.asm_c0673 + ld hl, CinnabarGymText_759d3 + call PrintText + jp TextScriptEnd + +CinnabarGymText_759c9: + TX_FAR _CinnabarGymText_759c9 + db "@" + +CinnabarGymText_759ce: + TX_FAR _CinnabarGymText_759ce + db "@" + +CinnabarGymText_759d3: + TX_FAR _CinnabarGymText_759d3 + db "@" + +CinnabarGymText5: + TX_ASM + call CinnabarGymScript_757a0 + CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_3 + jr nz, .asm_5cfd7 + ld hl, CinnabarGymText_759fe + call PrintText + ld hl, CinnabarGymText_75a03 + ld de, CinnabarGymText_75a03 + call SaveEndBattleTextPointers + jp CinnabarGymScript_758b7 +.asm_5cfd7 + ld hl, CinnabarGymText_75a08 + call PrintText + jp TextScriptEnd + +CinnabarGymText_759fe: + TX_FAR _CinnabarGymText_759fe + db "@" + +CinnabarGymText_75a03: + TX_FAR _CinnabarGymText_75a03 + db "@" + +CinnabarGymText_75a08: + TX_FAR _CinnabarGymText_75a08 + db "@" + +CinnabarGymText6: + TX_ASM + call CinnabarGymScript_757a0 + CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_4 + jr nz, .asm_776b4 + ld hl, CinnabarGymText_75a33 + call PrintText + ld hl, CinnabarGymText_75a38 + ld de, CinnabarGymText_75a38 + call SaveEndBattleTextPointers + jp CinnabarGymScript_758b7 +.asm_776b4 + ld hl, CinnabarGymText_75a3d + call PrintText + jp TextScriptEnd + +CinnabarGymText_75a33: + TX_FAR _CinnabarGymText_75a33 + db "@" + +CinnabarGymText_75a38: + TX_FAR _CinnabarGymText_75a38 + db "@" + +CinnabarGymText_75a3d: + TX_FAR _CinnabarGymText_75a3d + db "@" + +CinnabarGymText7: + TX_ASM + call CinnabarGymScript_757a0 + CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_5 + jr nz, .asm_2f755 + ld hl, CinnabarGymText_75a68 + call PrintText + ld hl, CinnabarGymText_75a6d + ld de, CinnabarGymText_75a6d + call SaveEndBattleTextPointers + jp CinnabarGymScript_758b7 +.asm_2f755 + ld hl, CinnabarGymText_75a72 + call PrintText + jp TextScriptEnd + +CinnabarGymText_75a68: + TX_FAR _CinnabarGymText_75a68 + db "@" + +CinnabarGymText_75a6d: + TX_FAR _CinnabarGymText_75a6d + db "@" + +CinnabarGymText_75a72: + TX_FAR _CinnabarGymText_75a72 + db "@" + +CinnabarGymText8: + TX_ASM + call CinnabarGymScript_757a0 + CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_6 + jr nz, .asm_d87be + ld hl, CinnabarGymText_75a9d + call PrintText + ld hl, CinnabarGymText_75aa2 + ld de, CinnabarGymText_75aa2 + call SaveEndBattleTextPointers + jp CinnabarGymScript_758b7 +.asm_d87be + ld hl, CinnabarGymText_75aa7 + call PrintText + jp TextScriptEnd + +CinnabarGymText_75a9d: + TX_FAR _CinnabarGymText_75a9d + db "@" + +CinnabarGymText_75aa2: + TX_FAR _CinnabarGymText_75aa2 + db "@" + +CinnabarGymText_75aa7: + TX_FAR _CinnabarGymText_75aa7 + db "@" + +CinnabarGymText9: + TX_ASM + CheckEvent EVENT_BEAT_BLAINE + jr nz, .asm_627d9 + ld hl, CinnabarGymText_75ac2 + jr .asm_0b11d +.asm_627d9 + ld hl, CinnabarGymText_75ac7 +.asm_0b11d + call PrintText + jp TextScriptEnd + +CinnabarGymText_75ac2: + TX_FAR _CinnabarGymText_75ac2 + db "@" + +CinnabarGymText_75ac7: + TX_FAR _CinnabarGymText_75ac7 + db "@" diff --git a/scripts/CinnabarIsland.asm b/scripts/CinnabarIsland.asm new file mode 100755 index 00000000..b6346a9c --- /dev/null +++ b/scripts/CinnabarIsland.asm @@ -0,0 +1,85 @@ +CinnabarIsland_Script: + call EnableAutoTextBoxDrawing + ld hl, wCurrentMapScriptFlags + set 5, [hl] + ResetEvent EVENT_MANSION_SWITCH_ON + ResetEvent EVENT_LAB_STILL_REVIVING_FOSSIL + ld hl, CinnabarIsland_ScriptPointers + ld a, [wCinnabarIslandCurScript] + jp CallFunctionInTable + +CinnabarIsland_ScriptPointers: + dw CinnabarIslandScript0 + dw CinnabarIslandScript1 + +CinnabarIslandScript0: + ld b, SECRET_KEY + call IsItemInBag + ret nz + ld a, [wYCoord] + cp $4 + ret nz + ld a, [wXCoord] + cp $12 + ret nz + ld a, PLAYER_DIR_UP + ld [wPlayerMovingDirection], a + ld a, $8 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [hJoyHeld], a + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + ld a, D_DOWN + ld [wSimulatedJoypadStatesEnd], a + call StartSimulatingJoypadStates + xor a + ld [wSpriteStateData1 + 9], a + ld [wJoyIgnore], a + ld a, $1 + ld [wCinnabarIslandCurScript], a + ret + +CinnabarIslandScript1: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + call Delay3 + ld a, $0 + ld [wCinnabarIslandCurScript], a + ret + +CinnabarIsland_TextPointers: + dw CinnabarIslandText1 + dw CinnabarIslandText2 + dw CinnabarIslandText3 + dw MartSignText + dw PokeCenterSignText + dw CinnabarIslandText6 + dw CinnabarIslandText7 + dw CinnabarIslandText8 + +CinnabarIslandText8: + TX_FAR _CinnabarIslandText8 + db "@" + +CinnabarIslandText1: + TX_FAR _CinnabarIslandText1 + db "@" + +CinnabarIslandText2: + TX_FAR _CinnabarIslandText2 + db "@" + +CinnabarIslandText3: + TX_FAR _CinnabarIslandText3 + db "@" + +CinnabarIslandText6: + TX_FAR _CinnabarIslandText6 + db "@" + +CinnabarIslandText7: + TX_FAR _CinnabarIslandText7 + db "@" diff --git a/scripts/CinnabarLab.asm b/scripts/CinnabarLab.asm new file mode 100755 index 00000000..aab3324b --- /dev/null +++ b/scripts/CinnabarLab.asm @@ -0,0 +1,30 @@ +CinnabarLab_Script: + call EnableAutoTextBoxDrawing + ret + +CinnabarLab_TextPointers: + dw Lab1Text1 + dw Lab1Text2 + dw Lab1Text3 + dw Lab1Text4 + dw Lab1Text5 + +Lab1Text1: + TX_FAR _Lab1Text1 + db "@" + +Lab1Text2: + TX_FAR _Lab1Text2 + db "@" + +Lab1Text3: + TX_FAR _Lab1Text3 + db "@" + +Lab1Text4: + TX_FAR _Lab1Text4 + db "@" + +Lab1Text5: + TX_FAR _Lab1Text5 + db "@" diff --git a/scripts/CinnabarLabFossilRoom.asm b/scripts/CinnabarLabFossilRoom.asm new file mode 100755 index 00000000..f5f03a19 --- /dev/null +++ b/scripts/CinnabarLabFossilRoom.asm @@ -0,0 +1,109 @@ +CinnabarLabFossilRoom_Script: + jp EnableAutoTextBoxDrawing + +CinnabarLabFossilRoom_TextPointers: + dw Lab4Text1 + dw Lab4Text2 + +Lab4Script_GetFossilsInBag: +; construct a list of all fossils in the player's bag + xor a + ld [wFilteredBagItemsCount], a + ld de, wFilteredBagItems + ld hl, FossilsList +.loop + ld a, [hli] + and a + jr z, .done + push hl + push de + ld [wd11e], a + ld b, a + predef GetQuantityOfItemInBag + pop de + pop hl + ld a, b + and a + jr z, .loop + + ; A fossil's in the bag + ld a, [wd11e] + ld [de], a + inc de + push hl + ld hl, wFilteredBagItemsCount + inc [hl] + pop hl + jr .loop +.done + ld a, $ff + ld [de], a + ret + +FossilsList: + db DOME_FOSSIL + db HELIX_FOSSIL + db OLD_AMBER + db $00 + +Lab4Text1: + TX_ASM + CheckEvent EVENT_GAVE_FOSSIL_TO_LAB + jr nz, .asm_75d96 + ld hl, Lab4Text_75dc6 + call PrintText + call Lab4Script_GetFossilsInBag + ld a, [wFilteredBagItemsCount] + and a + jr z, .asm_75d8d + callba GiveFossilToCinnabarLab + jr .asm_75d93 +.asm_75d8d + ld hl, Lab4Text_75dcb + call PrintText +.asm_75d93 + jp TextScriptEnd +.asm_75d96 + CheckEventAfterBranchReuseA EVENT_LAB_STILL_REVIVING_FOSSIL, EVENT_GAVE_FOSSIL_TO_LAB + jr z, .asm_75da2 + ld hl, Lab4Text_75dd0 + call PrintText + jr .asm_75d93 +.asm_75da2 + call LoadFossilItemAndMonNameBank1D + ld hl, Lab4Text_75dd5 + call PrintText + SetEvent EVENT_LAB_HANDING_OVER_FOSSIL_MON + ld a, [wFossilMon] + ld b, a + ld c, 30 + call GivePokemon + jr nc, .asm_75d93 + ResetEvents EVENT_GAVE_FOSSIL_TO_LAB, EVENT_LAB_STILL_REVIVING_FOSSIL, EVENT_LAB_HANDING_OVER_FOSSIL_MON + jr .asm_75d93 + +Lab4Text_75dc6: + TX_FAR _Lab4Text_75dc6 + db "@" + +Lab4Text_75dcb: + TX_FAR _Lab4Text_75dcb + db "@" + +Lab4Text_75dd0: + TX_FAR _Lab4Text_75dd0 + db "@" + +Lab4Text_75dd5: + TX_FAR _Lab4Text_75dd5 + db "@" + +Lab4Text2: + TX_ASM + ld a, $3 + ld [wWhichTrade], a + predef DoInGameTradeDialogue + jp TextScriptEnd + +LoadFossilItemAndMonNameBank1D: + jpba LoadFossilItemAndMonName diff --git a/scripts/CinnabarLabMetronomeRoom.asm b/scripts/CinnabarLabMetronomeRoom.asm new file mode 100755 index 00000000..6eddceae --- /dev/null +++ b/scripts/CinnabarLabMetronomeRoom.asm @@ -0,0 +1,62 @@ +CinnabarLabMetronomeRoom_Script: + jp EnableAutoTextBoxDrawing + +CinnabarLabMetronomeRoom_TextPointers: + dw Lab3Text1 + dw Lab3Text2 + dw Lab3Text3 + dw Lab3Text4 + dw Lab3Text5 + +Lab3Text1: + TX_ASM + CheckEvent EVENT_GOT_TM35 + jr nz, .asm_e551a + ld hl, TM35PreReceiveText + call PrintText + lb bc, TM_35, 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedTM35Text + call PrintText + SetEvent EVENT_GOT_TM35 + jr .asm_eb896 +.BagFull + ld hl, TM35NoRoomText + call PrintText + jr .asm_eb896 +.asm_e551a + ld hl, TM35ExplanationText + call PrintText +.asm_eb896 + jp TextScriptEnd + +TM35PreReceiveText: + TX_FAR _TM35PreReceiveText + db "@" + +ReceivedTM35Text: + TX_FAR _ReceivedTM35Text + TX_SFX_ITEM_1 + db "@" + +TM35ExplanationText: + TX_FAR _TM35ExplanationText + db "@" + +TM35NoRoomText: + TX_FAR _TM35NoRoomText + db "@" + +Lab3Text2: + TX_FAR _Lab3Text2 + db "@" + +Lab3Text4: +Lab3Text3: + TX_FAR _Lab3Text3 + db "@" + +Lab3Text5: + TX_FAR _Lab3Text5 + db "@" diff --git a/scripts/CinnabarLabTradeRoom.asm b/scripts/CinnabarLabTradeRoom.asm new file mode 100755 index 00000000..6093ae14 --- /dev/null +++ b/scripts/CinnabarLabTradeRoom.asm @@ -0,0 +1,25 @@ +CinnabarLabTradeRoom_Script: + jp EnableAutoTextBoxDrawing + +CinnabarLabTradeRoom_TextPointers: + dw Lab2Text1 + dw Lab2Text2 + dw Lab2Text3 + +Lab2Text1: + TX_FAR _Lab2Text1 + db "@" + +Lab2Text2: + TX_ASM + ld a, $7 + ld [wWhichTrade], a + jr Lab2DoTrade + +Lab2Text3: + TX_ASM + ld a, $8 + ld [wWhichTrade], a +Lab2DoTrade: + predef DoInGameTradeDialogue + jp TextScriptEnd diff --git a/scripts/CinnabarMart.asm b/scripts/CinnabarMart.asm new file mode 100755 index 00000000..898948c7 --- /dev/null +++ b/scripts/CinnabarMart.asm @@ -0,0 +1,15 @@ +CinnabarMart_Script: + jp EnableAutoTextBoxDrawing + +CinnabarMart_TextPointers: + dw CinnabarCashierText + dw CinnabarMartText2 + dw CinnabarMartText3 + +CinnabarMartText2: + TX_FAR _CinnabarMartText2 + db "@" + +CinnabarMartText3: + TX_FAR _CinnabarMartText3 + db "@" diff --git a/scripts/CinnabarPokecenter.asm b/scripts/CinnabarPokecenter.asm new file mode 100755 index 00000000..a6184bb0 --- /dev/null +++ b/scripts/CinnabarPokecenter.asm @@ -0,0 +1,23 @@ +CinnabarPokecenter_Script: + call Serial_TryEstablishingExternallyClockedConnection + jp EnableAutoTextBoxDrawing + +CinnabarPokecenter_TextPointers: + dw CinnabarHealNurseText + dw CinnabarPokecenterText2 + dw CinnabarPokecenterText3 + dw CinnabarTradeNurseText + +CinnabarHealNurseText: + TX_POKECENTER_NURSE + +CinnabarPokecenterText2: + TX_FAR _CinnabarPokecenterText2 + db "@" + +CinnabarPokecenterText3: + TX_FAR _CinnabarPokecenterText3 + db "@" + +CinnabarTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/Colosseum.asm b/scripts/Colosseum.asm new file mode 100755 index 00000000..8cc6b056 --- /dev/null +++ b/scripts/Colosseum.asm @@ -0,0 +1,9 @@ +Colosseum_Script: + jp TradeCenter_Script + +Colosseum_TextPointers: + dw ColosseumText1 + +ColosseumText1: + TX_FAR _ColosseumText1 + db "@" diff --git a/scripts/CopycatsHouse1F.asm b/scripts/CopycatsHouse1F.asm new file mode 100755 index 00000000..a86625fc --- /dev/null +++ b/scripts/CopycatsHouse1F.asm @@ -0,0 +1,22 @@ +CopycatsHouse1F_Script: + jp EnableAutoTextBoxDrawing + +CopycatsHouse1F_TextPointers: + dw CopycatsHouse1FText1 + dw CopycatsHouse1FText2 + dw CopycatsHouse1FText3 + +CopycatsHouse1FText1: + TX_FAR _CopycatsHouse1FText1 + db "@" + +CopycatsHouse1FText2: + TX_FAR _CopycatsHouse1FText2 + db "@" + +CopycatsHouse1FText3: + TX_FAR _CopycatsHouse1FText3 + TX_ASM + ld a, CHANSEY + call PlayCry + jp TextScriptEnd diff --git a/scripts/CopycatsHouse2F.asm b/scripts/CopycatsHouse2F.asm new file mode 100755 index 00000000..b43234c3 --- /dev/null +++ b/scripts/CopycatsHouse2F.asm @@ -0,0 +1,102 @@ +CopycatsHouse2F_Script: + jp EnableAutoTextBoxDrawing + +CopycatsHouse2F_TextPointers: + dw CopycatsHouse2FText1 + dw CopycatsHouse2FText2 + dw CopycatsHouse2FText3 + dw CopycatsHouse2FText4 + dw CopycatsHouse2FText5 + dw CopycatsHouse2FText6 + dw CopycatsHouse2FText7 + +CopycatsHouse2FText1: + TX_ASM + CheckEvent EVENT_GOT_TM31 + jr nz, .asm_7ccf3 + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, CopycatsHouse2FText_5ccd4 + call PrintText + ld b, POKE_DOLL + call IsItemInBag + jr z, .asm_62ecd + ld hl, TM31PreReceiveText + call PrintText + lb bc, TM_31, 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedTM31Text + call PrintText + ld a, POKE_DOLL + ld [$ffdb], a + callba RemoveItemByID + SetEvent EVENT_GOT_TM31 + jr .asm_62ecd +.BagFull + ld hl, TM31NoRoomText + call PrintText + jr .asm_62ecd +.asm_7ccf3 + ld hl, TM31ExplanationText2 + call PrintText +.asm_62ecd + jp TextScriptEnd + +CopycatsHouse2FText_5ccd4: + TX_FAR _CopycatsHouse2FText_5ccd4 + db "@" + +TM31PreReceiveText: + TX_FAR _TM31PreReceiveText + db "@" + +ReceivedTM31Text: + TX_FAR _ReceivedTM31Text + TX_SFX_ITEM_1 +TM31ExplanationText1: + TX_FAR _TM31ExplanationText1 + TX_WAIT + db "@" + +TM31ExplanationText2: + TX_FAR _TM31ExplanationText2 + db "@" + +TM31NoRoomText: + TX_FAR _TM31NoRoomText + TX_WAIT + db "@" + +CopycatsHouse2FText2: + TX_FAR _CopycatsHouse2FText2 + db "@" + +CopycatsHouse2FText5: +CopycatsHouse2FText4: +CopycatsHouse2FText3: + TX_FAR _CopycatsHouse2FText3 + db "@" + +CopycatsHouse2FText6: + TX_FAR _CopycatsHouse2FText6 + db "@" + +CopycatsHouse2FText7: + TX_ASM + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ld hl, CopycatsHouse2FText_5cd1c + jr nz, .notUp + ld hl, CopycatsHouse2FText_5cd17 +.notUp + call PrintText + jp TextScriptEnd + +CopycatsHouse2FText_5cd17: + TX_FAR _CopycatsHouse2FText_5cd17 + db "@" + +CopycatsHouse2FText_5cd1c: + TX_FAR _CopycatsHouse2FText_5cd1c + db "@" diff --git a/scripts/Daycare.asm b/scripts/Daycare.asm new file mode 100755 index 00000000..81cf5534 --- /dev/null +++ b/scripts/Daycare.asm @@ -0,0 +1,269 @@ +Daycare_Script: + jp EnableAutoTextBoxDrawing + +Daycare_TextPointers: + dw DayCareMText1 + +DayCareMText1: + TX_ASM + call SaveScreenTilesToBuffer2 + ld a, [wDayCareInUse] + and a + jp nz, .daycareInUse + ld hl, DayCareIntroText + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + ld hl, DayCareComeAgainText + jp nz, .done + ld a, [wPartyCount] + dec a + ld hl, DayCareOnlyHaveOneMonText + jp z, .done + ld hl, DayCareWhichMonText + call PrintText + xor a + ld [wUpdateSpritesEnabled], a + ld [wPartyMenuTypeOrMessageID], a + ld [wMenuItemToSwap], a + call DisplayPartyMenu + push af + call GBPalWhiteOutWithDelay3 + call RestoreScreenTilesAndReloadTilePatterns + call LoadGBPal + pop af + ld hl, DayCareAllRightThenText + jp c, .done + callab KnowsHMMove + ld hl, DayCareCantAcceptMonWithHMText + jp c, .done + xor a + ld [wPartyAndBillsPCSavedMenuItem], a + ld a, [wWhichPokemon] + ld hl, wPartyMonNicks + call GetPartyMonName + ld hl, DayCareWillLookAfterMonText + call PrintText + ld a, 1 + ld [wDayCareInUse], a + ld a, PARTY_TO_DAYCARE + ld [wMoveMonType], a + call MoveMon + xor a + ld [wRemoveMonFromBox], a + call RemovePokemon + ld a, [wcf91] + call PlayCry + ld hl, DayCareComeSeeMeInAWhileText + jp .done + +.daycareInUse + xor a + ld hl, wDayCareMonName + call GetPartyMonName + ld a, DAYCARE_DATA + ld [wMonDataLocation], a + call LoadMonData + callab CalcLevelFromExperience + ld a, d + cp MAX_LEVEL + jr c, .skipCalcExp + + ld d, MAX_LEVEL + callab CalcExperience + ld hl, wDayCareMonExp + ld a, [hExperience] + ld [hli], a + ld a, [hExperience + 1] + ld [hli], a + ld a, [hExperience + 2] + ld [hl], a + ld d, MAX_LEVEL + +.skipCalcExp + xor a + ld [wDayCareNumLevelsGrown], a + ld hl, wDayCareMonBoxLevel + ld a, [hl] + ld [wDayCareStartLevel], a + cp d + ld [hl], d + ld hl, DayCareMonNeedsMoreTimeText + jr z, .next + ld a, [wDayCareStartLevel] + ld b, a + ld a, d + sub b + ld [wDayCareNumLevelsGrown], a + ld hl, DayCareMonHasGrownText + +.next + call PrintText + ld a, [wPartyCount] + cp PARTY_LENGTH + ld hl, DayCareNoRoomForMonText + jp z, .leaveMonInDayCare + ld de, wDayCareTotalCost + xor a + ld [de], a + inc de + ld [de], a + ld hl, wDayCarePerLevelCost + ld a, $1 + ld [hli], a + ld [hl], $0 + ld a, [wDayCareNumLevelsGrown] + inc a + ld b, a + ld c, 2 +.calcPriceLoop + push hl + push de + push bc + predef AddBCDPredef + pop bc + pop de + pop hl + dec b + jr nz, .calcPriceLoop + ld hl, DayCareOweMoneyText + call PrintText + ld a, MONEY_BOX + ld [wTextBoxID], a + call DisplayTextBoxID + call YesNoChoice + ld hl, DayCareAllRightThenText + ld a, [wCurrentMenuItem] + and a + jp nz, .leaveMonInDayCare + ld hl, wDayCareTotalCost + ld [hMoney], a + ld a, [hli] + ld [hMoney + 1], a + ld a, [hl] + ld [hMoney + 2], a + call HasEnoughMoney + jr nc, .enoughMoney + ld hl, DayCareNotEnoughMoneyText + jp .leaveMonInDayCare + +.enoughMoney + xor a + ld [wDayCareInUse], a + ld hl, wDayCareNumLevelsGrown + ld [hli], a + inc hl + ld de, wPlayerMoney + 2 + ld c, $3 + predef SubBCDPredef + ld a, SFX_PURCHASE + call PlaySoundWaitForCurrent + ld a, MONEY_BOX + ld [wTextBoxID], a + call DisplayTextBoxID + ld hl, DayCareHeresYourMonText + call PrintText + ld a, DAYCARE_TO_PARTY + ld [wMoveMonType], a + call MoveMon + ld a, [wDayCareMonSpecies] + ld [wcf91], a + ld a, [wPartyCount] + dec a + push af + ld bc, wPartyMon2 - wPartyMon1 + push bc + ld hl, wPartyMon1Moves + call AddNTimes + ld d, h + ld e, l + ld a, 1 + ld [wLearningMovesFromDayCare], a + predef WriteMonMoves + pop bc + pop af + +; set mon's HP to max + ld hl, wPartyMon1HP + call AddNTimes + ld d, h + ld e, l + ld bc, wPartyMon1MaxHP - wPartyMon1HP + add hl, bc + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + + ld a, [wcf91] + call PlayCry + ld hl, DayCareGotMonBackText + jr .done + +.leaveMonInDayCare + ld a, [wDayCareStartLevel] + ld [wDayCareMonBoxLevel], a + +.done + call PrintText + jp TextScriptEnd + +DayCareIntroText: + TX_FAR _DayCareIntroText + db "@" + +DayCareWhichMonText: + TX_FAR _DayCareWhichMonText + db "@" + +DayCareWillLookAfterMonText: + TX_FAR _DayCareWillLookAfterMonText + db "@" + +DayCareComeSeeMeInAWhileText: + TX_FAR _DayCareComeSeeMeInAWhileText + db "@" + +DayCareMonHasGrownText: + TX_FAR _DayCareMonHasGrownText + db "@" + +DayCareOweMoneyText: + TX_FAR _DayCareOweMoneyText + db "@" + +DayCareGotMonBackText: + TX_FAR _DayCareGotMonBackText + db "@" + +DayCareMonNeedsMoreTimeText: + TX_FAR _DayCareMonNeedsMoreTimeText + db "@" + +DayCareAllRightThenText: + TX_FAR _DayCareAllRightThenText +DayCareComeAgainText: + TX_FAR _DayCareComeAgainText + db "@" + +DayCareNoRoomForMonText: + TX_FAR _DayCareNoRoomForMonText + db "@" + +DayCareOnlyHaveOneMonText: + TX_FAR _DayCareOnlyHaveOneMonText + db "@" + +DayCareCantAcceptMonWithHMText: + TX_FAR _DayCareCantAcceptMonWithHMText + db "@" + +DayCareHeresYourMonText: + TX_FAR _DayCareHeresYourMonText + db "@" + +DayCareNotEnoughMoneyText: + TX_FAR _DayCareNotEnoughMoneyText + db "@" diff --git a/scripts/DiglettsCave.asm b/scripts/DiglettsCave.asm new file mode 100755 index 00000000..1d7b23f9 --- /dev/null +++ b/scripts/DiglettsCave.asm @@ -0,0 +1,5 @@ +DiglettsCave_Script: + jp EnableAutoTextBoxDrawing + +DiglettsCave_TextPointers: + db "@" diff --git a/scripts/DiglettsCaveRoute11.asm b/scripts/DiglettsCaveRoute11.asm new file mode 100755 index 00000000..54c3112e --- /dev/null +++ b/scripts/DiglettsCaveRoute11.asm @@ -0,0 +1,12 @@ +DiglettsCaveRoute11_Script: + call EnableAutoTextBoxDrawing + ld a, ROUTE_11 + ld [wLastMap], a + ret + +DiglettsCaveRoute11_TextPointers: + dw DiglettsCaveEntranceRoute11Text1 + +DiglettsCaveEntranceRoute11Text1: + TX_FAR _DiglettsCaveEntRoute11Text1 + db "@" diff --git a/scripts/DiglettsCaveRoute2.asm b/scripts/DiglettsCaveRoute2.asm new file mode 100755 index 00000000..5fe7777c --- /dev/null +++ b/scripts/DiglettsCaveRoute2.asm @@ -0,0 +1,11 @@ +DiglettsCaveRoute2_Script: + ld a, ROUTE_2 + ld [wLastMap], a + jp EnableAutoTextBoxDrawing + +DiglettsCaveRoute2_TextPointers: + dw DiglettsCaveRoute2Text1 + +DiglettsCaveRoute2Text1: + TX_FAR _DiglettsCaveRoute2Text1 + db "@" diff --git a/scripts/FightingDojo.asm b/scripts/FightingDojo.asm new file mode 100755 index 00000000..fc691dba --- /dev/null +++ b/scripts/FightingDojo.asm @@ -0,0 +1,323 @@ +FightingDojo_Script: + call EnableAutoTextBoxDrawing + ld hl, FightingDojoTrainerHeader0 + ld de, FightingDojo_ScriptPointers + ld a, [wFightingDojoCurScript] + call ExecuteCurMapScriptInTable + ld [wFightingDojoCurScript], a + ret + +FightingDojoScript_5cd70: + xor a + ld [wJoyIgnore], a + ld [wFightingDojoCurScript], a + ld [wCurMapScript], a + ret + +FightingDojo_ScriptPointers: + dw FightingDojoScript1 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw FightingDojoScript3 + +FightingDojoScript1: + CheckEvent EVENT_DEFEATED_FIGHTING_DOJO + ret nz + call CheckFightingMapTrainers + ld a, [wTrainerHeaderFlagBit] + and a + ret nz + CheckEvent EVENT_BEAT_KARATE_MASTER + ret nz + xor a + ld [hJoyHeld], a + ld [wcf0d], a + ld a, [wYCoord] + cp $3 + ret nz + ld a, [wXCoord] + cp $4 + ret nz + ld a, $1 + ld [wcf0d], a + ld a, PLAYER_DIR_RIGHT + ld [wPlayerMovingDirection], a + ld a, $1 + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_LEFT + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, $1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ret + +FightingDojoScript3: + ld a, [wIsInBattle] + cp $ff + jp z, FightingDojoScript_5cd70 + ld a, [wcf0d] + and a + jr z, .asm_5cde4 + ld a, PLAYER_DIR_RIGHT + ld [wPlayerMovingDirection], a + ld a, $1 + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_LEFT + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + +.asm_5cde4 + ld a, $f0 + ld [wJoyIgnore], a + SetEventRange EVENT_BEAT_KARATE_MASTER, EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 + ld a, $8 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [wJoyIgnore], a + ld [wFightingDojoCurScript], a + ld [wCurMapScript], a + ret + +FightingDojo_TextPointers: + dw FightingDojoText1 + dw FightingDojoText2 + dw FightingDojoText3 + dw FightingDojoText4 + dw FightingDojoText5 + dw FightingDojoText6 + dw FightingDojoText7 + dw FightingDojoText8 + +FightingDojoTrainerHeader0: + dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 + dw FightingDojoBattleText1 ; TextBeforeBattle + dw FightingDojoAfterBattleText1 ; TextAfterBattle + dw FightingDojoEndBattleText1 ; TextEndBattle + dw FightingDojoEndBattleText1 ; TextEndBattle + +FightingDojoTrainerHeader1: + dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 + dw FightingDojoBattleText2 ; TextBeforeBattle + dw FightingDojoAfterBattleText2 ; TextAfterBattle + dw FightingDojoEndBattleText2 ; TextEndBattle + dw FightingDojoEndBattleText2 ; TextEndBattle + +FightingDojoTrainerHeader2: + dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 + dw FightingDojoBattleText3 ; TextBeforeBattle + dw FightingDojoAfterBattleText3 ; TextAfterBattle + dw FightingDojoEndBattleText3 ; TextEndBattle + dw FightingDojoEndBattleText3 ; TextEndBattle + +FightingDojoTrainerHeader3: + dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 + dw FightingDojoBattleText4 ; TextBeforeBattle + dw FightingDojoAfterBattleText4 ; TextAfterBattle + dw FightingDojoEndBattleText4 ; TextEndBattle + dw FightingDojoEndBattleText4 ; TextEndBattle + + db $ff + +FightingDojoText1: + TX_ASM + CheckEvent EVENT_DEFEATED_FIGHTING_DOJO + jp nz, .continue1 + CheckEventReuseA EVENT_BEAT_KARATE_MASTER + jp nz, .continue2 + ld hl, FightingDojoText_5ce8e + call PrintText + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, FightingDojoText_5ce93 + ld de, FightingDojoText_5ce93 + call SaveEndBattleTextPointers + ld a, [hSpriteIndexOrTextID] + ld [wSpriteIndex], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $3 + ld [wFightingDojoCurScript], a + ld [wCurMapScript], a + jr .asm_9dba4 +.continue1 + ld hl, FightingDojoText_5ce9d + call PrintText + jr .asm_9dba4 +.continue2 + ld hl, FightingDojoText8 + call PrintText +.asm_9dba4 + jp TextScriptEnd + +FightingDojoText_5ce8e: + TX_FAR _FightingDojoText_5ce8e + db "@" + +FightingDojoText_5ce93: + TX_FAR _FightingDojoText_5ce93 + db "@" + +FightingDojoText8: + TX_FAR _FightingDojoText_5ce98 + db "@" + +FightingDojoText_5ce9d: + TX_FAR _FightingDojoText_5ce9d + db "@" + +FightingDojoText2: + TX_ASM + ld hl, FightingDojoTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +FightingDojoBattleText1: + TX_FAR _FightingDojoBattleText1 + db "@" + +FightingDojoEndBattleText1: + TX_FAR _FightingDojoEndBattleText1 + db "@" + +FightingDojoAfterBattleText1: + TX_FAR _FightingDojoAfterBattleText1 + db "@" + +FightingDojoText3: + TX_ASM + ld hl, FightingDojoTrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +FightingDojoBattleText2: + TX_FAR _FightingDojoBattleText2 + db "@" + +FightingDojoEndBattleText2: + TX_FAR _FightingDojoEndBattleText2 + db "@" + +FightingDojoAfterBattleText2: + TX_FAR _FightingDojoAfterBattleText2 + db "@" + +FightingDojoText4: + TX_ASM + ld hl, FightingDojoTrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +FightingDojoBattleText3: + TX_FAR _FightingDojoBattleText3 + db "@" + +FightingDojoEndBattleText3: + TX_FAR _FightingDojoEndBattleText3 + db "@" + +FightingDojoAfterBattleText3: + TX_FAR _FightingDojoAfterBattleText3 + db "@" + +FightingDojoText5: + TX_ASM + ld hl, FightingDojoTrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +FightingDojoBattleText4: + TX_FAR _FightingDojoBattleText4 + db "@" + +FightingDojoEndBattleText4: + TX_FAR _FightingDojoEndBattleText4 + db "@" + +FightingDojoAfterBattleText4: + TX_FAR _FightingDojoAfterBattleText4 + db "@" + +FightingDojoText6: +; Hitmonlee Poké Ball + TX_ASM + CheckEitherEventSet EVENT_GOT_HITMONLEE, EVENT_GOT_HITMONCHAN + jr z, .GetMon + ld hl, OtherHitmonText + call PrintText + jr .done +.GetMon + ld a, HITMONLEE + call DisplayPokedex + ld hl, WantHitmonleeText + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .done + ld a, [wcf91] + ld b, a + ld c, 30 + call GivePokemon + jr nc, .done + + ; once Poké Ball is taken, hide sprite + ld a, HS_FIGHTING_DOJO_GIFT_1 + ld [wMissableObjectIndex], a + predef HideObject + SetEvents EVENT_GOT_HITMONLEE, EVENT_DEFEATED_FIGHTING_DOJO +.done + jp TextScriptEnd + +WantHitmonleeText: + TX_FAR _WantHitmonleeText + db "@" + +FightingDojoText7: +; Hitmonchan Poké Ball + TX_ASM + CheckEitherEventSet EVENT_GOT_HITMONLEE, EVENT_GOT_HITMONCHAN + jr z, .GetMon + ld hl, OtherHitmonText + call PrintText + jr .done +.GetMon + ld a, HITMONCHAN + call DisplayPokedex + ld hl, WantHitmonchanText + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .done + ld a, [wcf91] + ld b, a + ld c, 30 + call GivePokemon + jr nc, .done + SetEvents EVENT_GOT_HITMONCHAN, EVENT_DEFEATED_FIGHTING_DOJO + + ; once Poké Ball is taken, hide sprite + ld a, HS_FIGHTING_DOJO_GIFT_2 + ld [wMissableObjectIndex], a + predef HideObject +.done + jp TextScriptEnd + +WantHitmonchanText: + TX_FAR _WantHitmonchanText + db "@" + +OtherHitmonText: + TX_FAR _OtherHitmonText + db "@" diff --git a/scripts/FuchsiaBillsGrandpasHouse.asm b/scripts/FuchsiaBillsGrandpasHouse.asm new file mode 100755 index 00000000..ca5f2c16 --- /dev/null +++ b/scripts/FuchsiaBillsGrandpasHouse.asm @@ -0,0 +1,20 @@ +FuchsiaBillsGrandpasHouse_Script: + call EnableAutoTextBoxDrawing + ret + +FuchsiaBillsGrandpasHouse_TextPointers: + dw FuchsiaHouse1Text1 + dw FuchsiaHouse1Text2 + dw FuchsiaHouse1Text3 + +FuchsiaHouse1Text1: + TX_FAR _FuchsiaHouse1Text1 + db "@" + +FuchsiaHouse1Text2: + TX_FAR _FuchsiaHouse1Text2 + db "@" + +FuchsiaHouse1Text3: + TX_FAR _FuchsiaHouse1Text3 + db "@" diff --git a/scripts/FuchsiaCity.asm b/scripts/FuchsiaCity.asm new file mode 100755 index 00000000..d3f0ce32 --- /dev/null +++ b/scripts/FuchsiaCity.asm @@ -0,0 +1,169 @@ +FuchsiaCity_Script: + jp EnableAutoTextBoxDrawing + +FuchsiaCity_TextPointers: + dw FuchsiaCityText1 + dw FuchsiaCityText2 + dw FuchsiaCityText3 + dw FuchsiaCityText4 + dw FuchsiaCityText5 + dw FuchsiaCityText6 + dw FuchsiaCityText7 + dw FuchsiaCityText8 + dw FuchsiaCityText9 + dw FuchsiaCityText10 + dw FuchsiaCityText11 + dw FuchsiaCityText12 + dw FuchsiaCityText13 + dw MartSignText + dw PokeCenterSignText + dw FuchsiaCityText16 + dw FuchsiaCityText17 + dw FuchsiaCityText18 + dw FuchsiaCityText19 + dw FuchsiaCityText20 + dw FuchsiaCityText21 + dw FuchsiaCityText22 + dw FuchsiaCityText23 + dw FuchsiaCityText24 + +FuchsiaCityText1: + TX_FAR _FuchsiaCityText1 + db "@" + +FuchsiaCityText2: + TX_FAR _FuchsiaCityText2 + db "@" + +FuchsiaCityText3: + TX_FAR _FuchsiaCityText3 + db "@" + +FuchsiaCityText4: + TX_FAR _FuchsiaCityText4 + db "@" + +FuchsiaCityText5: +FuchsiaCityText6: +FuchsiaCityText7: +FuchsiaCityText8: +FuchsiaCityText9: +FuchsiaCityText10: + TX_FAR _FuchsiaCityText5 + db "@" + +FuchsiaCityText12: +FuchsiaCityText11: + TX_FAR _FuchsiaCityText11 + db "@" + +FuchsiaCityText13: + TX_FAR _FuchsiaCityText13 + db "@" + +FuchsiaCityText16: + TX_FAR _FuchsiaCityText16 + db "@" + +FuchsiaCityText17: + TX_FAR _FuchsiaCityText17 + db "@" + +FuchsiaCityText18: + TX_FAR _FuchsiaCityText18 + db "@" + +FuchsiaCityText19: + TX_ASM + ld hl, FuchsiaCityChanseyText + call PrintText + ld a, CHANSEY + call DisplayPokedex + jp TextScriptEnd + +FuchsiaCityChanseyText: + TX_FAR _FuchsiaCityChanseyText + db "@" + +FuchsiaCityText20: + TX_ASM + ld hl, FuchsiaCityVoltorbText + call PrintText + ld a, VOLTORB + call DisplayPokedex + jp TextScriptEnd + +FuchsiaCityVoltorbText: + TX_FAR _FuchsiaCityVoltorbText + db "@" + +FuchsiaCityText21: + TX_ASM + ld hl, FuchsiaCityKangaskhanText + call PrintText + ld a, KANGASKHAN + call DisplayPokedex + jp TextScriptEnd + +FuchsiaCityKangaskhanText: + TX_FAR _FuchsiaCityKangaskhanText + db "@" + +FuchsiaCityText22: + TX_ASM + ld hl, FuchsiaCitySlowpokeText + call PrintText + ld a, SLOWPOKE + call DisplayPokedex + jp TextScriptEnd + +FuchsiaCitySlowpokeText: + TX_FAR _FuchsiaCitySlowpokeText + db "@" + +FuchsiaCityText23: + TX_ASM + ld hl, FuchsiaCityLaprasText + call PrintText + ld a, LAPRAS + call DisplayPokedex + jp TextScriptEnd + +FuchsiaCityLaprasText: + TX_FAR _FuchsiaCityLaprasText + db "@" + +FuchsiaCityText24: + TX_ASM + CheckEvent EVENT_GOT_DOME_FOSSIL + jr nz, .asm_3b4e8 + CheckEventReuseA EVENT_GOT_HELIX_FOSSIL + jr nz, .asm_667d5 + ld hl, FuchsiaCityText_19b2a + call PrintText + jr .asm_4343f +.asm_3b4e8 + ld hl, FuchsiaCityOmanyteText + call PrintText + ld a, OMANYTE + jr .asm_81556 +.asm_667d5 + ld hl, FuchsiaCityKabutoText + call PrintText + ld a, KABUTO +.asm_81556 + call DisplayPokedex +.asm_4343f + jp TextScriptEnd + +FuchsiaCityOmanyteText: + TX_FAR _FuchsiaCityOmanyteText + db "@" + +FuchsiaCityKabutoText: + TX_FAR _FuchsiaCityKabutoText + db "@" + +FuchsiaCityText_19b2a: + TX_FAR _FuchsiaCityText_19b2a + db "@" diff --git a/scripts/FuchsiaGoodRodHouse.asm b/scripts/FuchsiaGoodRodHouse.asm new file mode 100755 index 00000000..93a20e80 --- /dev/null +++ b/scripts/FuchsiaGoodRodHouse.asm @@ -0,0 +1,75 @@ +FuchsiaGoodRodHouse_Script: + jp EnableAutoTextBoxDrawing + +FuchsiaGoodRodHouse_TextPointers: + dw FuchsiaHouse3Text1 + +FuchsiaHouse3Text1: + TX_ASM + ld a, [wd728] + bit 4, a + jr nz, .after + + ld hl, FuchsiaHouse3Text_561bd + call PrintText + + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .refused + + lb bc, GOOD_ROD, 1 + call GiveItem + jr nc, .full + + ld hl, wd728 + set 4, [hl] + + ld hl, FuchsiaHouse3Text_561c2 + jr .talk + +.full + ld hl, FuchsiaHouse3Text_5621c + jr .talk + +.refused + ld hl, FuchsiaHouse3Text_56212 + jr .talk + +.after + ld hl, FuchsiaHouse3Text_56217 + +.talk + call PrintText + jp TextScriptEnd + +FuchsiaHouse3Text_561bd: + TX_FAR _FuchsiaHouse3Text_561bd + db "@" + +FuchsiaHouse3Text_561c2: + TX_FAR _FuchsiaHouse3Text_561c2 + TX_SFX_ITEM_1 + db "@" + +UnusedText_561c8: + para "つり こそ" + line "おとこの ロマン だ!" + + para "へぼいつりざおは" + line "コイキングしか つれ なんだが" + line "この いいつりざおなら" + line "もっと いいもんが つれるんじゃ!" + done + +FuchsiaHouse3Text_56212: + TX_FAR _FuchsiaHouse3Text_56212 + db "@" + +FuchsiaHouse3Text_56217: + TX_FAR _FuchsiaHouse3Text_56217 + db "@" + +FuchsiaHouse3Text_5621c: + TX_FAR _FuchsiaHouse3Text_5621c + db "@" diff --git a/scripts/FuchsiaGym.asm b/scripts/FuchsiaGym.asm new file mode 100755 index 00000000..c856c93b --- /dev/null +++ b/scripts/FuchsiaGym.asm @@ -0,0 +1,329 @@ +FuchsiaGym_Script: + call FuchsiaGymScript_75453 + call EnableAutoTextBoxDrawing + ld hl, FuchsiaGymTrainerHeader0 + ld de, FuchsiaGym_ScriptPointers + ld a, [wFuchsiaGymCurScript] + call ExecuteCurMapScriptInTable + ld [wFuchsiaGymCurScript], a + ret + +FuchsiaGymScript_75453: + ld hl, wCurrentMapScriptFlags + bit 6, [hl] + res 6, [hl] + ret z + ld hl, Gym5CityName + ld de, Gym5LeaderName + call LoadGymLeaderAndCityName + ret + +Gym5CityName: + db "FUCHSIA CITY@" +Gym5LeaderName: + db "KOGA@" + +FuchsiaGymScript_75477: + xor a + ld [wJoyIgnore], a + ld [wFuchsiaGymCurScript], a + ld [wCurMapScript], a + ret + +FuchsiaGym_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw FuchsiaGymScript3 + +FuchsiaGymScript3: + ld a, [wIsInBattle] + cp $ff + jp z, FuchsiaGymScript_75477 + ld a, $f0 + ld [wJoyIgnore], a +FuchsiaGymScript3_75497: + ld a, $9 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_BEAT_KOGA + lb bc, TM_06, 1 + call GiveItem + jr nc, .BagFull + ld a, $a + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_GOT_TM06 + jr .asm_754c0 +.BagFull + ld a, $b + ld [hSpriteIndexOrTextID], a + call DisplayTextID +.asm_754c0 + ld hl, wObtainedBadges + set 4, [hl] + ld hl, wBeatGymFlags + set 4, [hl] + + ; deactivate gym trainers + SetEventRange EVENT_BEAT_FUCHSIA_GYM_TRAINER_0, EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 + + jp FuchsiaGymScript_75477 + +FuchsiaGym_TextPointers: + dw FuchsiaGymText1 + dw FuchsiaGymText2 + dw FuchsiaGymText3 + dw FuchsiaGymText4 + dw FuchsiaGymText5 + dw FuchsiaGymText6 + dw FuchsiaGymText7 + dw FuchsiaGymText8 + dw FuchsiaGymText9 + dw FuchsiaGymText10 + dw FuchsiaGymText11 + +FuchsiaGymTrainerHeader0: + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 + dw FuchsiaGymBattleText1 ; TextBeforeBattle + dw FuchsiaGymAfterBattleText1 ; TextAfterBattle + dw FuchsiaGymEndBattleText1 ; TextEndBattle + dw FuchsiaGymEndBattleText1 ; TextEndBattle + +FuchsiaGymTrainerHeader1: + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_1 + dw FuchsiaGymBattleText2 ; TextBeforeBattle + dw FuchsiaGymAfterBattleText2 ; TextAfterBattle + dw FuchsiaGymEndBattleText2 ; TextEndBattle + dw FuchsiaGymEndBattleText2 ; TextEndBattle + +FuchsiaGymTrainerHeader2: + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 + dw FuchsiaGymBattleText3 ; TextBeforeBattle + dw FuchsiaGymAfterBattleText3 ; TextAfterBattle + dw FuchsiaGymEndBattleText3 ; TextEndBattle + dw FuchsiaGymEndBattleText3 ; TextEndBattle + +FuchsiaGymTrainerHeader3: + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 + dw FuchsiaGymBattleText4 ; TextBeforeBattle + dw FuchsiaGymAfterBattleText4 ; TextAfterBattle + dw FuchsiaGymEndBattleText4 ; TextEndBattle + dw FuchsiaGymEndBattleText4 ; TextEndBattle + +FuchsiaGymTrainerHeader4: + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 + dw FuchsiaGymBattleText5 ; TextBeforeBattle + dw FuchsiaGymAfterBattleText5 ; TextAfterBattle + dw FuchsiaGymEndBattleText5 ; TextEndBattle + dw FuchsiaGymEndBattleText5 ; TextEndBattle + +FuchsiaGymTrainerHeader5: + dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 + dw FuchsiaGymBattleText6 ; TextBeforeBattle + dw FuchsiaGymAfterBattleText6 ; TextAfterBattle + dw FuchsiaGymEndBattleText6 ; TextEndBattle + dw FuchsiaGymEndBattleText6 ; TextEndBattle + + db $ff + +FuchsiaGymText1: + TX_ASM + CheckEvent EVENT_BEAT_KOGA + jr z, .asm_181b6 + CheckEventReuseA EVENT_GOT_TM06 + jr nz, .asm_adc3b + call z, FuchsiaGymScript3_75497 + call DisableWaitingAfterTextDisplay + jr .asm_e84c6 +.asm_adc3b + ld hl, KogaExplainToxicText + call PrintText + jr .asm_e84c6 +.asm_181b6 + ld hl, KogaBeforeBattleText + call PrintText + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, KogaAfterBattleText + ld de, KogaAfterBattleText + call SaveEndBattleTextPointers + ld a, [H_SPRITEINDEX] + ld [wSpriteIndex], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $5 + ld [wGymLeaderNo], a + xor a + ld [hJoyHeld], a + ld a, $3 + ld [wFuchsiaGymCurScript], a +.asm_e84c6 + jp TextScriptEnd + +KogaBeforeBattleText: + TX_FAR _KogaBeforeBattleText + db "@" + +KogaAfterBattleText: + TX_FAR _KogaAfterBattleText + db "@" + +KogaExplainToxicText: + TX_FAR _KogaExplainToxicText + db "@" + +FuchsiaGymText9: + TX_FAR _FuchsiaGymText9 + db "@" + +FuchsiaGymText10: + TX_FAR _ReceivedTM06Text + TX_SFX_KEY_ITEM + +TM06ExplanationText: + TX_FAR _TM06ExplanationText + db "@" + +FuchsiaGymText11: + TX_FAR _TM06NoRoomText + db "@" + +FuchsiaGymText2: + TX_ASM + ld hl, FuchsiaGymTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +FuchsiaGymBattleText1: + TX_FAR _FuchsiaGymBattleText1 + db "@" + +FuchsiaGymEndBattleText1: + TX_FAR _FuchsiaGymEndBattleText1 + db "@" + +FuchsiaGymAfterBattleText1: + TX_FAR _FuchsiaGymAfterBattleText1 + db "@" + +FuchsiaGymText3: + TX_ASM + ld hl, FuchsiaGymTrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +FuchsiaGymBattleText2: + TX_FAR _FuchsiaGymBattleText2 + db "@" + +FuchsiaGymEndBattleText2: + TX_FAR _FuchsiaGymEndBattleText2 + db "@" + +FuchsiaGymAfterBattleText2: + TX_FAR _FuchsiaGymAfterBattleText2 + db "@" + +FuchsiaGymText4: + TX_ASM + ld hl, FuchsiaGymTrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +FuchsiaGymBattleText3: + TX_FAR _FuchsiaGymBattleText3 + db "@" + +FuchsiaGymEndBattleText3: + TX_FAR _FuchsiaGymEndBattleText3 + db "@" + +FuchsiaGymAfterBattleText3: + TX_FAR _FuchsiaGymAfterBattleText3 + db "@" + +FuchsiaGymText5: + TX_ASM + ld hl, FuchsiaGymTrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +FuchsiaGymBattleText4: + TX_FAR _FuchsiaGymBattleText4 + db "@" + +FuchsiaGymEndBattleText4: + TX_FAR _FuchsiaGymEndBattleText4 + db "@" + +FuchsiaGymAfterBattleText4: + TX_FAR _FuchsiaGymAfterBattleText4 + db "@" + +FuchsiaGymText6: + TX_ASM + ld hl, FuchsiaGymTrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +FuchsiaGymBattleText5: + TX_FAR _FuchsiaGymBattleText5 + db "@" + +FuchsiaGymEndBattleText5: + TX_FAR _FuchsiaGymEndBattleText5 + db "@" + +FuchsiaGymAfterBattleText5: + TX_FAR _FuchsiaGymAfterBattleText5 + db "@" + +FuchsiaGymText7: + TX_ASM + ld hl, FuchsiaGymTrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +FuchsiaGymBattleText6: + TX_FAR _FuchsiaGymBattleText6 + db "@" + +FuchsiaGymEndBattleText6: + TX_FAR _FuchsiaGymEndBattleText6 + db "@" + +FuchsiaGymAfterBattleText6: + TX_FAR _FuchsiaGymAfterBattleText6 + db "@" + +FuchsiaGymText8: + TX_ASM + CheckEvent EVENT_BEAT_KOGA + ld hl, FuchsiaGymText_75653 + jr nz, .asm_50671 + ld hl, FuchsiaGymText_7564e +.asm_50671 + call PrintText + jp TextScriptEnd + +FuchsiaGymText_7564e: + TX_FAR _FuchsiaGymText_7564e + db "@" + +FuchsiaGymText_75653: + TX_FAR _FuchsiaGymText_75653 + db "@" diff --git a/scripts/FuchsiaMart.asm b/scripts/FuchsiaMart.asm new file mode 100755 index 00000000..f17cac49 --- /dev/null +++ b/scripts/FuchsiaMart.asm @@ -0,0 +1,15 @@ +FuchsiaMart_Script: + jp EnableAutoTextBoxDrawing + +FuchsiaMart_TextPointers: + dw FuchsiaCashierText + dw FuchsiaMartText2 + dw FuchsiaMartText3 + +FuchsiaMartText2: + TX_FAR _FuchsiaMartText2 + db "@" + +FuchsiaMartText3: + TX_FAR _FuchsiaMartText3 + db "@" diff --git a/scripts/FuchsiaMeetingRoom.asm b/scripts/FuchsiaMeetingRoom.asm new file mode 100755 index 00000000..95ac12fa --- /dev/null +++ b/scripts/FuchsiaMeetingRoom.asm @@ -0,0 +1,20 @@ +FuchsiaMeetingRoom_Script: + call EnableAutoTextBoxDrawing + ret + +FuchsiaMeetingRoom_TextPointers: + dw FuchsiaMeetingRoomText1 + dw FuchsiaMeetingRoomText2 + dw FuchsiaMeetingRoomText3 + +FuchsiaMeetingRoomText1: + TX_FAR _FuchsiaMeetingRoomText1 + db "@" + +FuchsiaMeetingRoomText2: + TX_FAR _FuchsiaMeetingRoomText2 + db "@" + +FuchsiaMeetingRoomText3: + TX_FAR _FuchsiaMeetingRoomText3 + db "@" diff --git a/scripts/FuchsiaPokecenter.asm b/scripts/FuchsiaPokecenter.asm new file mode 100755 index 00000000..182ec8c3 --- /dev/null +++ b/scripts/FuchsiaPokecenter.asm @@ -0,0 +1,23 @@ +FuchsiaPokecenter_Script: + call Serial_TryEstablishingExternallyClockedConnection + jp EnableAutoTextBoxDrawing + +FuchsiaPokecenter_TextPointers: + dw FuchsiaHealNurseText + dw FuchsiaPokecenterText2 + dw FuchsiaPokecenterText3 + dw FuchsiaTradeNurseText + +FuchsiaHealNurseText: + TX_POKECENTER_NURSE + +FuchsiaPokecenterText2: + TX_FAR _FuchsiaPokecenterText1 + db "@" + +FuchsiaPokecenterText3: + TX_FAR _FuchsiaPokecenterText3 + db "@" + +FuchsiaTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/GameCorner.asm b/scripts/GameCorner.asm new file mode 100755 index 00000000..265508e0 --- /dev/null +++ b/scripts/GameCorner.asm @@ -0,0 +1,527 @@ +GameCorner_Script: + call CeladonGameCornerScript_48bcf + call CeladonGameCornerScript_48bec + call EnableAutoTextBoxDrawing + ld hl, GameCorner_ScriptPointers + ld a, [wGameCornerCurScript] + jp CallFunctionInTable + +CeladonGameCornerScript_48bcf: + ld hl, wCurrentMapScriptFlags + bit 6, [hl] + res 6, [hl] + ret z + call Random + ld a, [hRandomAdd] + cp $7 + jr nc, .asm_48be2 + ld a, $8 +.asm_48be2 + srl a + srl a + srl a + ld [wLuckySlotHiddenObjectIndex], a + ret + +CeladonGameCornerScript_48bec: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + CheckEvent EVENT_FOUND_ROCKET_HIDEOUT + ret nz + ld a, $2a + ld [wNewTileBlockID], a + lb bc, 2, 8 + predef_jump ReplaceTileBlock + +CeladonGameCornerScript_48c07: + xor a + ld [wJoyIgnore], a + ld [wGameCornerCurScript], a + ld [wCurMapScript], a + ret + +GameCorner_ScriptPointers: + dw CeladonGameCornerScript0 + dw CeladonGameCornerScript1 + dw CeladonGameCornerScript2 + +CeladonGameCornerScript0: + ret + +CeladonGameCornerScript1: + ld a, [wIsInBattle] + cp $ff + jp z, CeladonGameCornerScript_48c07 + ld a, $f0 + ld [wJoyIgnore], a + ld a, $d + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $b + ld [H_SPRITEINDEX], a + call SetSpriteMovementBytesToFF + ld de, MovementData_48c5a + ld a, [wYCoord] + cp $6 + jr nz, .asm_48c43 + ld de, MovementData_48c63 + jr .asm_48c4d +.asm_48c43 + ld a, [wXCoord] + cp $8 + jr nz, .asm_48c4d + ld de, MovementData_48c63 +.asm_48c4d + ld a, $b + ld [H_SPRITEINDEX], a + call MoveSprite + ld a, $2 + ld [wGameCornerCurScript], a + ret + +MovementData_48c5a: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF + +MovementData_48c63: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF + +CeladonGameCornerScript2: + ld a, [wd730] + bit 0, a + ret nz + xor a + ld [wJoyIgnore], a + ld a, HS_GAME_CORNER_ROCKET + ld [wMissableObjectIndex], a + predef HideObject + ld hl, wCurrentMapScriptFlags + set 5, [hl] + set 6, [hl] + ld a, $0 + ld [wGameCornerCurScript], a + ret + +GameCorner_TextPointers: + dw CeladonGameCornerText1 + dw CeladonGameCornerText2 + dw CeladonGameCornerText3 + dw CeladonGameCornerText4 + dw CeladonGameCornerText5 + dw CeladonGameCornerText6 + dw CeladonGameCornerText7 + dw CeladonGameCornerText8 + dw CeladonGameCornerText9 + dw CeladonGameCornerText10 + dw CeladonGameCornerText11 + dw CeladonGameCornerText12 + dw CeladonGameCornerText13 + +CeladonGameCornerText1: + TX_FAR _CeladonGameCornerText1 + db "@" + +CeladonGameCornerText2: + TX_ASM + call CeladonGameCornerScript_48f1e + ld hl, CeladonGameCornerText_48d22 + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_48d0f + ld b, COIN_CASE + call IsItemInBag + jr z, .asm_48d19 + call Has9990Coins + jr nc, .asm_48d14 + xor a + ld [hMoney], a + ld [hMoney + 2], a + ld a, $10 + ld [hMoney + 1], a + call HasEnoughMoney + jr nc, .asm_48cdb + ld hl, CeladonGameCornerText_48d31 + jr .asm_48d1c +.asm_48cdb + xor a + ld [hMoney], a + ld [hMoney + 2], a + ld a, $10 + ld [hMoney + 1], a + ld hl, hMoney + 2 + ld de, wPlayerMoney + 2 + ld c, $3 + predef SubBCDPredef + xor a + ld [hUnusedCoinsByte], a + ld [hCoins], a + ld a, $50 + ld [hCoins + 1], a + ld de, wPlayerCoins + 1 + ld hl, hCoins + 1 + ld c, $2 + predef AddBCDPredef + call CeladonGameCornerScript_48f1e + ld hl, CeladonGameCornerText_48d27 + jr .asm_48d1c +.asm_48d0f + ld hl, CeladonGameCornerText_48d2c + jr .asm_48d1c +.asm_48d14 + ld hl, CeladonGameCornerText_48d36 + jr .asm_48d1c +.asm_48d19 + ld hl, CeladonGameCornerText_48d3b +.asm_48d1c + call PrintText + jp TextScriptEnd + +CeladonGameCornerText_48d22: + TX_FAR _CeladonGameCornerText_48d22 + db "@" + +CeladonGameCornerText_48d27: + TX_FAR _CeladonGameCornerText_48d27 + db "@" + +CeladonGameCornerText_48d2c: + TX_FAR _CeladonGameCornerText_48d2c + db "@" + +CeladonGameCornerText_48d31: + TX_FAR _CeladonGameCornerText_48d31 + db "@" + +CeladonGameCornerText_48d36: + TX_FAR _CeladonGameCornerText_48d36 + db "@" + +CeladonGameCornerText_48d3b: + TX_FAR _CeladonGameCornerText_48d3b + db "@" + +CeladonGameCornerText3: + TX_FAR _CeladonGameCornerText3 + db "@" + +CeladonGameCornerText4: + TX_FAR _CeladonGameCornerText4 + db "@" + +CeladonGameCornerText5: + TX_ASM + CheckEvent EVENT_GOT_10_COINS + jr nz, .asm_48d89 + ld hl, CeladonGameCornerText_48d9c + call PrintText + ld b, COIN_CASE + call IsItemInBag + jr z, .asm_48d93 + call Has9990Coins + jr nc, .asm_48d8e + xor a + ld [hUnusedCoinsByte], a + ld [hCoins], a + ld a, $10 + ld [hCoins + 1], a + ld de, wPlayerCoins + 1 + ld hl, hCoins + 1 + ld c, $2 + predef AddBCDPredef + SetEvent EVENT_GOT_10_COINS + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, Received10CoinsText + jr .asm_48d96 +.asm_48d89 + ld hl, CeladonGameCornerText_48dac + jr .asm_48d96 +.asm_48d8e + ld hl, CeladonGameCornerText_48da7 + jr .asm_48d96 +.asm_48d93 + ld hl, CeladonGameCornerText_48f19 +.asm_48d96 + call PrintText + jp TextScriptEnd + +CeladonGameCornerText_48d9c: + TX_FAR _CeladonGameCornerText_48d9c + db "@" + +Received10CoinsText: + TX_FAR _Received10CoinsText + TX_SFX_ITEM_1 + db "@" + +CeladonGameCornerText_48da7: + TX_FAR _CeladonGameCornerText_48da7 + db "@" + +CeladonGameCornerText_48dac: + TX_FAR _CeladonGameCornerText_48dac + db "@" + +CeladonGameCornerText6: + TX_FAR _CeladonGameCornerText6 + db "@" + +CeladonGameCornerText7: + TX_ASM + CheckEvent EVENT_BEAT_ERIKA + ld hl, CeladonGameCornerText_48dca + jr z, .asm_48dc4 + ld hl, CeladonGameCornerText_48dcf +.asm_48dc4 + call PrintText + jp TextScriptEnd + +CeladonGameCornerText_48dca: + TX_FAR _CeladonGameCornerText_48dca + db "@" + +CeladonGameCornerText_48dcf: + TX_FAR _CeladonGameCornerText_48dcf + db "@" + +CeladonGameCornerText8: + TX_FAR _CeladonGameCornerText8 + db "@" + +CeladonGameCornerText9: + TX_ASM + CheckEvent EVENT_GOT_20_COINS_2 + jr nz, .asm_48e13 + ld hl, CeladonGameCornerText_48e26 + call PrintText + ld b, COIN_CASE + call IsItemInBag + jr z, .asm_48e1d + call Has9990Coins + jr nc, .asm_48e18 + xor a + ld [hUnusedCoinsByte], a + ld [hCoins], a + ld a, $20 + ld [hCoins + 1], a + ld de, wPlayerCoins + 1 + ld hl, hCoins + 1 + ld c, $2 + predef AddBCDPredef + SetEvent EVENT_GOT_20_COINS_2 + ld hl, Received20CoinsText + jr .asm_48e20 +.asm_48e13 + ld hl, CeladonGameCornerText_48e36 + jr .asm_48e20 +.asm_48e18 + ld hl, CeladonGameCornerText_48e31 + jr .asm_48e20 +.asm_48e1d + ld hl, CeladonGameCornerText_48f19 +.asm_48e20 + call PrintText + jp TextScriptEnd + +CeladonGameCornerText_48e26: + TX_FAR _CeladonGameCornerText_48e26 + db "@" + +Received20CoinsText: + TX_FAR _Received20CoinsText + TX_SFX_ITEM_1 + db "@" + +CeladonGameCornerText_48e31: + TX_FAR _CeladonGameCornerText_48e31 + db "@" + +CeladonGameCornerText_48e36: + TX_FAR _CeladonGameCornerText_48e36 + db "@" + +CeladonGameCornerText10: + TX_ASM + CheckEvent EVENT_GOT_20_COINS + jr nz, .asm_48e75 + ld hl, CeladonGameCornerText_48e88 + call PrintText + ld b, COIN_CASE + call IsItemInBag + jr z, .asm_48e7f + call Has9990Coins + jr z, .asm_48e7a + xor a + ld [hUnusedCoinsByte], a + ld [hCoins], a + ld a, $20 + ld [hCoins + 1], a + ld de, wPlayerCoins + 1 + ld hl, hCoins + 1 + ld c, $2 + predef AddBCDPredef + SetEvent EVENT_GOT_20_COINS + ld hl, CeladonGameCornerText_48e8d + jr .asm_48e82 +.asm_48e75 + ld hl, CeladonGameCornerText_48e98 + jr .asm_48e82 +.asm_48e7a + ld hl, CeladonGameCornerText_48e93 + jr .asm_48e82 +.asm_48e7f + ld hl, CeladonGameCornerText_48f19 +.asm_48e82 + call PrintText + jp TextScriptEnd + +CeladonGameCornerText_48e88: + TX_FAR _CeladonGameCornerText_48e88 + db "@" + +CeladonGameCornerText_48e8d: + TX_FAR _CeladonGameCornerText_48e8d + TX_SFX_ITEM_1 + db "@" + +CeladonGameCornerText_48e93: + TX_FAR _CeladonGameCornerText_48e93 + db "@" + +CeladonGameCornerText_48e98: + TX_FAR _CeladonGameCornerText_48e98 + db "@" + +CeladonGameCornerText11: + TX_ASM + ld hl, CeladonGameCornerText_48ece + call PrintText + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, CeladonGameCornerText_48ed3 + ld de, CeladonGameCornerText_48ed3 + call SaveEndBattleTextPointers + ld a, [H_SPRITEINDEX] + ld [wSpriteIndex], a + call EngageMapTrainer + call InitBattleEnemyParameters + xor a + ld [hJoyHeld], a + ld [hJoyPressed], a + ld [hJoyReleased], a + ld a, $1 + ld [wGameCornerCurScript], a + jp TextScriptEnd + +CeladonGameCornerText_48ece: + TX_FAR _CeladonGameCornerText_48ece + db "@" + +CeladonGameCornerText_48ed3: + TX_FAR _CeladonGameCornerText_48ed3 + db "@" + +CeladonGameCornerText13: + TX_FAR _CeladonGameCornerText_48ed8 + db "@" + +CeladonGameCornerText12: + TX_ASM + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, CeladonGameCornerText_48f09 + call PrintText + call WaitForSoundToFinish + ld a, SFX_GO_INSIDE + call PlaySound + call WaitForSoundToFinish + SetEvent EVENT_FOUND_ROCKET_HIDEOUT + ld a, $43 + ld [wNewTileBlockID], a + lb bc, 2, 8 + predef ReplaceTileBlock + jp TextScriptEnd + +CeladonGameCornerText_48f09: + TX_FAR _CeladonGameCornerText_48f09 + TX_ASM + ld a, SFX_SWITCH + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +CeladonGameCornerText_48f19: + TX_FAR _CeladonGameCornerText_48f19 + db "@" + +CeladonGameCornerScript_48f1e: + ld hl, wd730 + set 6, [hl] + coord hl, 11, 0 + ld b, $5 + ld c, $7 + call TextBoxBorder + call UpdateSprites + coord hl, 12, 1 + ld b, 4 + ld c, 7 + call ClearScreenArea + coord hl, 12, 2 + ld de, GameCornerMoneyText + call PlaceString + coord hl, 12, 3 + ld de, GameCornerBlankText1 + call PlaceString + coord hl, 12, 3 + ld de, wPlayerMoney + ld c, $a3 + call PrintBCDNumber + coord hl, 12, 4 + ld de, GameCornerCoinText + call PlaceString + coord hl, 12, 5 + ld de, GameCornerBlankText2 + call PlaceString + coord hl, 15, 5 + ld de, wPlayerCoins + ld c, $82 + call PrintBCDNumber + ld hl, wd730 + res 6, [hl] + ret + +GameCornerMoneyText: + db "MONEY@" + +GameCornerCoinText: + db "COIN@" + +GameCornerBlankText1: + db " @" + +GameCornerBlankText2: + db " @" + +Has9990Coins: + ld a, $99 + ld [hCoins], a + ld a, $90 + ld [hCoins + 1], a + jp HasEnoughCoins diff --git a/scripts/GameCornerPrizeRoom.asm b/scripts/GameCornerPrizeRoom.asm new file mode 100755 index 00000000..e6cf6f0d --- /dev/null +++ b/scripts/GameCornerPrizeRoom.asm @@ -0,0 +1,20 @@ +GameCornerPrizeRoom_Script: + jp EnableAutoTextBoxDrawing + +GameCornerPrizeRoom_TextPointers: + dw CeladonPrizeRoomText1 + dw CeladonPrizeRoomText2 + dw CeladonPrizeRoomText3 + dw CeladonPrizeRoomText3 + dw CeladonPrizeRoomText3 + +CeladonPrizeRoomText1: + TX_FAR _CeladonPrizeRoomText1 + db "@" + +CeladonPrizeRoomText2: + TX_FAR _CeladonPrizeRoomText2 + db "@" + +CeladonPrizeRoomText3: + TX_PRIZE_VENDOR diff --git a/scripts/HallOfFame.asm b/scripts/HallOfFame.asm new file mode 100755 index 00000000..511c9754 --- /dev/null +++ b/scripts/HallOfFame.asm @@ -0,0 +1,109 @@ +HallOfFame_Script: + call EnableAutoTextBoxDrawing + ld hl, HallOfFame_ScriptPointers + ld a, [wHallOfFameCurScript] + jp CallFunctionInTable + +HallofFameRoomScript_5a4aa: + xor a + ld [wJoyIgnore], a + ld [wHallOfFameCurScript], a + ret + +HallOfFame_ScriptPointers: + dw HallofFameRoomScript0 + dw HallofFameRoomScript1 + dw HallofFameRoomScript2 + dw HallofFameRoomScript3 + +HallofFameRoomScript3: + ret + +HallofFameRoomScript2: + call Delay3 + ld a, [wLetterPrintingDelayFlags] + push af + xor a + ld [wJoyIgnore], a + predef HallOfFamePC + pop af + ld [wLetterPrintingDelayFlags], a + ld hl, wFlags_D733 + res 1, [hl] + inc hl + set 0, [hl] + xor a + ld hl, wLoreleisRoomCurScript + ld [hli], a ; wLoreleisRoomCurScript + ld [hli], a ; wBrunosRoomCurScript + ld [hl], a ; wAgathasRoomCurScript + ld [wLancesRoomCurScript], a + ld [wHallOfFameCurScript], a + ; Elite 4 events + ResetEventRange ELITE4_EVENTS_START, ELITE4_CHAMPION_EVENTS_END, 1 + xor a + ld [wHallOfFameCurScript], a + ld a, PALLET_TOWN + ld [wLastBlackoutMap], a + callba SaveSAVtoSRAM + ld b, 5 +.delayLoop + ld c, 600 / 5 + call DelayFrames + dec b + jr nz, .delayLoop + call WaitForTextScrollButtonPress + jp Init + +HallofFameRoomScript0: + ld a, $ff + ld [wJoyIgnore], a + ld hl, wSimulatedJoypadStatesEnd + ld de, RLEMovement5a528 + call DecodeRLEList + dec a + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld a, $1 + ld [wHallOfFameCurScript], a + ret + +RLEMovement5a528: + db D_UP,$5 + db $ff + +HallofFameRoomScript1: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + ld a, PLAYER_DIR_RIGHT + ld [wPlayerMovingDirection], a + ld a, $1 + ld [H_SPRITEINDEX], a + call SetSpriteMovementBytesToFF + ld a, SPRITE_FACING_LEFT + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + call Delay3 + xor a + ld [wJoyIgnore], a + inc a ; PLAYER_DIR_RIGHT + ld [wPlayerMovingDirection], a + ld a, $1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $ff + ld [wJoyIgnore], a + ld a, HS_UNKNOWN_DUNGEON_GUY + ld [wMissableObjectIndex], a + predef HideObject + ld a, $2 + ld [wHallOfFameCurScript], a + ret + +HallOfFame_TextPointers: + dw HallofFameRoomText1 + +HallofFameRoomText1: + TX_FAR _HallofFameRoomText1 + db "@" diff --git a/scripts/IndigoPlateau.asm b/scripts/IndigoPlateau.asm new file mode 100755 index 00000000..86f38b2a --- /dev/null +++ b/scripts/IndigoPlateau.asm @@ -0,0 +1,4 @@ +IndigoPlateau_Script: + ret + +IndigoPlateau_TextPointers: diff --git a/scripts/IndigoPlateauLobby.asm b/scripts/IndigoPlateauLobby.asm new file mode 100755 index 00000000..f83c0ba4 --- /dev/null +++ b/scripts/IndigoPlateauLobby.asm @@ -0,0 +1,36 @@ +IndigoPlateauLobby_Script: + call Serial_TryEstablishingExternallyClockedConnection + call EnableAutoTextBoxDrawing + ld hl, wCurrentMapScriptFlags + bit 6, [hl] + res 6, [hl] + ret z + ResetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH + ld hl, wBeatLorelei + bit 1, [hl] + res 1, [hl] + ret z + ; Elite 4 events + ResetEventRange ELITE4_EVENTS_START, EVENT_LANCES_ROOM_LOCK_DOOR + ret + +IndigoPlateauLobby_TextPointers: + dw IndigoHealNurseText + dw IndigoPlateauLobbyText2 + dw IndigoPlateauLobbyText3 + dw IndigoCashierText + dw IndigoTradeNurseText + +IndigoHealNurseText: + TX_POKECENTER_NURSE + +IndigoPlateauLobbyText2: + TX_FAR _IndigoPlateauLobbyText2 + db "@" + +IndigoPlateauLobbyText3: + TX_FAR _IndigoPlateauLobbyText3 + db "@" + +IndigoTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/LancesRoom.asm b/scripts/LancesRoom.asm new file mode 100755 index 00000000..5e19ea7d --- /dev/null +++ b/scripts/LancesRoom.asm @@ -0,0 +1,162 @@ +LancesRoom_Script: + call LanceShowOrHideEntranceBlocks + call EnableAutoTextBoxDrawing + ld hl, LanceTrainerHeader0 + ld de, LancesRoom_ScriptPointers + ld a, [wLancesRoomCurScript] + call ExecuteCurMapScriptInTable + ld [wLancesRoomCurScript], a + ret + +LanceShowOrHideEntranceBlocks: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + CheckEvent EVENT_LANCES_ROOM_LOCK_DOOR + jr nz, .closeEntrance + ; open entrance + ld a, $31 + ld b, $32 + jp LanceSetEntranceBlocks +.closeEntrance + ld a, $72 + ld b, $73 + +LanceSetEntranceBlocks: +; Replaces the tile blocks so the player can't leave. + push bc + ld [wNewTileBlockID], a + lb bc, 6, 2 + call LanceSetEntranceBlock + pop bc + ld a, b + ld [wNewTileBlockID], a + lb bc, 6, 3 + +LanceSetEntranceBlock: + predef_jump ReplaceTileBlock + +ResetLanceScript: + xor a + ld [wLancesRoomCurScript], a + ret + +LancesRoom_ScriptPointers: + dw LanceScript0 + dw DisplayEnemyTrainerTextAndStartBattle + dw LanceScript2 + dw LanceScript3 + dw LanceScript4 + +LanceScript4: + ret + +LanceScript0: + CheckEvent EVENT_BEAT_LANCE + ret nz + ld hl, LanceTriggerMovementCoords + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + xor a + ld [hJoyHeld], a + ld a, [wCoordIndex] + cp $3 ; Is player standing next to Lance's sprite? + jr nc, .notStandingNextToLance + ld a, $1 + ld [hSpriteIndexOrTextID], a + jp DisplayTextID +.notStandingNextToLance + cp $5 ; Is player standing on the entrance staircase? + jr z, WalkToLance + CheckAndSetEvent EVENT_LANCES_ROOM_LOCK_DOOR + ret nz + ld hl, wCurrentMapScriptFlags + set 5, [hl] + ld a, SFX_GO_INSIDE + call PlaySound + jp LanceShowOrHideEntranceBlocks + +LanceTriggerMovementCoords: + db $01,$05 + db $02,$06 + db $0B,$05 + db $0B,$06 + db $10,$18 + db $FF + +LanceScript2: + call EndTrainerBattle + ld a, [wIsInBattle] + cp $ff + jp z, ResetLanceScript + ld a, $1 + ld [hSpriteIndexOrTextID], a + jp DisplayTextID + +WalkToLance: +; Moves the player down the hallway to Lance's room. + ld a, $ff + ld [wJoyIgnore], a + ld hl, wSimulatedJoypadStatesEnd + ld de, WalkToLance_RLEList + call DecodeRLEList + dec a + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld a, $3 + ld [wLancesRoomCurScript], a + ld [wCurMapScript], a + ret + +WalkToLance_RLEList: + db D_UP, $0C + db D_LEFT, $0C + db D_DOWN, $07 + db D_LEFT, $06 + db $FF + +LanceScript3: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + call Delay3 + xor a + ld [wJoyIgnore], a + ld [wLancesRoomCurScript], a + ld [wCurMapScript], a + ret + +LancesRoom_TextPointers: + dw LanceText1 + +LanceTrainerHeader0: + dbEventFlagBit EVENT_BEAT_LANCES_ROOM_TRAINER_0 + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_LANCES_ROOM_TRAINER_0 + dw LanceBeforeBattleText ; TextBeforeBattle + dw LanceAfterBattleText ; TextAfterBattle + dw LanceEndBattleText ; TextEndBattle + dw LanceEndBattleText ; TextEndBattle + + db $ff + +LanceText1: + TX_ASM + ld hl, LanceTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +LanceBeforeBattleText: + TX_FAR _LanceBeforeBattleText + db "@" + +LanceEndBattleText: + TX_FAR _LanceEndBattleText + db "@" + +LanceAfterBattleText: + TX_FAR _LanceAfterBattleText + TX_ASM + SetEvent EVENT_BEAT_LANCE + jp TextScriptEnd diff --git a/scripts/LavenderCuboneHouse.asm b/scripts/LavenderCuboneHouse.asm new file mode 100755 index 00000000..ff5aa732 --- /dev/null +++ b/scripts/LavenderCuboneHouse.asm @@ -0,0 +1,35 @@ +LavenderCuboneHouse_Script: + call EnableAutoTextBoxDrawing + ret + +LavenderCuboneHouse_TextPointers: + dw LavenderHouse2Text1 + dw LavenderHouse2Text2 + +LavenderHouse2Text1: + TX_FAR _LavenderHouse2Text1 + TX_ASM + ld a, CUBONE + call PlayCry + jp TextScriptEnd + +LavenderHouse2Text2: + TX_ASM + CheckEvent EVENT_RESCUED_MR_FUJI + jr nz, .asm_65711 + ld hl, LavenderHouse2Text_1d9dc + call PrintText + jr .asm_64be1 +.asm_65711 + ld hl, LavenderHouse2Text_1d9e1 + call PrintText +.asm_64be1 + jp TextScriptEnd + +LavenderHouse2Text_1d9dc: + TX_FAR _LavenderHouse2Text_1d9dc + db "@" + +LavenderHouse2Text_1d9e1: + TX_FAR _LavenderHouse2Text_1d9e1 + db "@" diff --git a/scripts/LavenderMart.asm b/scripts/LavenderMart.asm new file mode 100755 index 00000000..47330e5d --- /dev/null +++ b/scripts/LavenderMart.asm @@ -0,0 +1,32 @@ +LavenderMart_Script: + jp EnableAutoTextBoxDrawing + +LavenderMart_TextPointers: + dw LavenderCashierText + dw LavenderMartText2 + dw LavenderMartText3 + +LavenderMartText2: + TX_FAR _LavenderMartText2 + db "@" + +LavenderMartText3: + TX_ASM + CheckEvent EVENT_RESCUED_MR_FUJI + jr nz, .Nugget + ld hl, .ReviveText + call PrintText + jr .done +.Nugget + ld hl, .NuggetText + call PrintText +.done + jp TextScriptEnd + +.ReviveText + TX_FAR _LavenderMartReviveText + db "@" + +.NuggetText + TX_FAR _LavenderMartNuggetText + db "@" diff --git a/scripts/LavenderPokecenter.asm b/scripts/LavenderPokecenter.asm new file mode 100755 index 00000000..10482fef --- /dev/null +++ b/scripts/LavenderPokecenter.asm @@ -0,0 +1,23 @@ +LavenderPokecenter_Script: + call Serial_TryEstablishingExternallyClockedConnection + jp EnableAutoTextBoxDrawing + +LavenderPokecenter_TextPointers: + dw LavenderHealNurseText + dw LavenderPokecenterText2 + dw LavenderPokecenterText3 + dw LavenderTradeNurseText + +LavenderTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST + +LavenderHealNurseText: + TX_POKECENTER_NURSE + +LavenderPokecenterText2: + TX_FAR _LavenderPokecenterText2 + db "@" + +LavenderPokecenterText3: + TX_FAR _LavenderPokecenterText3 + db "@" diff --git a/scripts/LavenderTown.asm b/scripts/LavenderTown.asm new file mode 100755 index 00000000..c23996e9 --- /dev/null +++ b/scripts/LavenderTown.asm @@ -0,0 +1,63 @@ +LavenderTown_Script: + jp EnableAutoTextBoxDrawing + +LavenderTown_TextPointers: + dw LavenderTownText1 + dw LavenderTownText2 + dw LavenderTownText3 + dw LavenderTownText4 + dw LavenderTownText5 + dw MartSignText + dw PokeCenterSignText + dw LavenderTownText8 + dw LavenderTownText9 + +LavenderTownText1: + TX_ASM + ld hl, LavenderTownText_4413c + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + ld hl, LavenderTownText_44146 + jr nz, .asm_40831 + ld hl, LavenderTownText_44141 +.asm_40831 + call PrintText + jp TextScriptEnd + +LavenderTownText_4413c: + TX_FAR _LavenderTownText_4413c + db "@" + +LavenderTownText_44141: + TX_FAR _LavenderTownText_44141 + db "@" + +LavenderTownText_44146: + TX_FAR _LavenderTownText_44146 + db "@" + +LavenderTownText2: + TX_FAR _LavenderTownText2 + db "@" + +LavenderTownText3: + TX_FAR _LavenderTownText3 + db "@" + +LavenderTownText4: + TX_FAR _LavenderTownText4 + db "@" + +LavenderTownText5: + TX_FAR _LavenderTownText5 + db "@" + +LavenderTownText8: + TX_FAR _LavenderTownText8 + db "@" + +LavenderTownText9: + TX_FAR _LavenderTownText9 + db "@" diff --git a/scripts/LoreleisRoom.asm b/scripts/LoreleisRoom.asm new file mode 100755 index 00000000..81142377 --- /dev/null +++ b/scripts/LoreleisRoom.asm @@ -0,0 +1,153 @@ +LoreleisRoom_Script: + call LoreleiShowOrHideExitBlock + call EnableAutoTextBoxDrawing + ld hl, LoreleiTrainerHeader0 + ld de, LoreleisRoom_ScriptPointers + ld a, [wLoreleisRoomCurScript] + call ExecuteCurMapScriptInTable + ld [wLoreleisRoomCurScript], a + ret + +LoreleiShowOrHideExitBlock: +; Blocks or clears the exit to the next room. + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + ld hl, wBeatLorelei + set 1, [hl] + CheckEvent EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 + jr z, .blockExitToNextRoom + ld a, $5 + jr .setExitBlock +.blockExitToNextRoom + ld a, $24 +.setExitBlock + ld [wNewTileBlockID], a + lb bc, 0, 2 + predef_jump ReplaceTileBlock + +ResetLoreleiScript: + xor a + ld [wLoreleisRoomCurScript], a + ret + +LoreleisRoom_ScriptPointers: + dw LoreleiScript0 + dw DisplayEnemyTrainerTextAndStartBattle + dw LoreleiScript2 + dw LoreleiScript3 + dw LoreleiScript4 + +LoreleiScript4: + ret + +LoreleiScriptWalkIntoRoom: +; Walk six steps upward. + ld hl, wSimulatedJoypadStatesEnd + ld a, D_UP + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ld a, $6 + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld a, $3 + ld [wLoreleisRoomCurScript], a + ld [wCurMapScript], a + ret + +LoreleiScript0: + ld hl, LoreleiEntranceCoords + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + xor a + ld [hJoyPressed], a + ld [hJoyHeld], a + ld [wSimulatedJoypadStatesEnd], a + ld [wSimulatedJoypadStatesIndex], a + ld a, [wCoordIndex] + cp $3 ; Is player standing one tile above the exit? + jr c, .stopPlayerFromLeaving + CheckAndSetEvent EVENT_AUTOWALKED_INTO_LORELEIS_ROOM + jr z, LoreleiScriptWalkIntoRoom +.stopPlayerFromLeaving + ld a, $2 + ld [hSpriteIndexOrTextID], a + call DisplayTextID ; "Don't run away!" + ld a, D_UP + ld [wSimulatedJoypadStatesEnd], a + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld a, $3 + ld [wLoreleisRoomCurScript], a + ld [wCurMapScript], a + ret + +LoreleiEntranceCoords: + db $0A,$04 + db $0A,$05 + db $0B,$04 + db $0B,$05 + db $FF + +LoreleiScript3: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + call Delay3 + xor a + ld [wJoyIgnore], a + ld [wLoreleisRoomCurScript], a + ld [wCurMapScript], a + ret + +LoreleiScript2: + call EndTrainerBattle + ld a, [wIsInBattle] + cp $ff + jp z, ResetLoreleiScript + ld a, $1 + ld [hSpriteIndexOrTextID], a + jp DisplayTextID + +LoreleisRoom_TextPointers: + dw LoreleiText1 + dw LoreleiDontRunAwayText + +LoreleiTrainerHeader0: + dbEventFlagBit EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 + dw LoreleiBeforeBattleText ; TextBeforeBattle + dw LoreleiAfterBattleText ; TextAfterBattle + dw LoreleiEndBattleText ; TextEndBattle + dw LoreleiEndBattleText ; TextEndBattle + + db $ff + +LoreleiText1: + TX_ASM + ld hl, LoreleiTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +LoreleiBeforeBattleText: + TX_FAR _LoreleiBeforeBattleText + db "@" + +LoreleiEndBattleText: + TX_FAR _LoreleiEndBattleText + db "@" + +LoreleiAfterBattleText: + TX_FAR _LoreleiAfterBattleText + db "@" + +LoreleiDontRunAwayText: + TX_FAR _LoreleiDontRunAwayText + db "@" diff --git a/scripts/MrFujisHouse.asm b/scripts/MrFujisHouse.asm new file mode 100755 index 00000000..98190cd8 --- /dev/null +++ b/scripts/MrFujisHouse.asm @@ -0,0 +1,112 @@ +MrFujisHouse_Script: + call EnableAutoTextBoxDrawing + ret + +MrFujisHouse_TextPointers: + dw LavenderHouse1Text1 + dw LavenderHouse1Text2 + dw LavenderHouse1Text3 + dw LavenderHouse1Text4 + dw LavenderHouse1Text5 + dw LavenderHouse1Text6 + +LavenderHouse1Text1: + TX_ASM + CheckEvent EVENT_RESCUED_MR_FUJI + jr nz, .asm_72e5d + ld hl, LavenderHouse1Text_1d8d1 + call PrintText + jr .asm_6957f +.asm_72e5d + ld hl, LavenderHouse1Text_1d8d6 + call PrintText +.asm_6957f + jp TextScriptEnd + +LavenderHouse1Text_1d8d1: + TX_FAR _LavenderHouse1Text_1d8d1 + db "@" + +LavenderHouse1Text_1d8d6: + TX_FAR _LavenderHouse1Text_1d8d6 + db "@" + +LavenderHouse1Text2: + TX_ASM + CheckEvent EVENT_RESCUED_MR_FUJI + jr nz, .asm_06470 + ld hl, LavenderHouse1Text_1d8f4 + call PrintText + jr .asm_3d208 +.asm_06470 + ld hl, LavenderHouse1Text_1d8f9 + call PrintText +.asm_3d208 + jp TextScriptEnd + +LavenderHouse1Text_1d8f4: + TX_FAR _LavenderHouse1Text_1d8f4 + db "@" + +LavenderHouse1Text_1d8f9: + TX_FAR _LavenderHouse1Text_1d8f9 + db "@" + +LavenderHouse1Text3: + TX_FAR _LavenderHouse1Text3 + TX_ASM + ld a, PSYDUCK + call PlayCry + jp TextScriptEnd + +LavenderHouse1Text4: + TX_FAR _LavenderHouse1Text4 + TX_ASM + ld a, NIDORINO + call PlayCry + jp TextScriptEnd + +LavenderHouse1Text5: + TX_ASM + CheckEvent EVENT_GOT_POKE_FLUTE + jr nz, .asm_15ac2 + ld hl, LavenderHouse1Text_1d94c + call PrintText + lb bc, POKE_FLUTE, 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedFluteText + call PrintText + SetEvent EVENT_GOT_POKE_FLUTE + jr .asm_da749 +.BagFull + ld hl, FluteNoRoomText + call PrintText + jr .asm_da749 +.asm_15ac2 + ld hl, MrFujiAfterFluteText + call PrintText +.asm_da749 + jp TextScriptEnd + +LavenderHouse1Text_1d94c: + TX_FAR _LavenderHouse1Text_1d94c + db "@" + +ReceivedFluteText: + TX_FAR _ReceivedFluteText + TX_SFX_KEY_ITEM + TX_FAR _FluteExplanationText + db "@" + +FluteNoRoomText: + TX_FAR _FluteNoRoomText + db "@" + +MrFujiAfterFluteText: + TX_FAR _MrFujiAfterFluteText + db "@" + +LavenderHouse1Text6: + TX_FAR _LavenderHouse1Text6 + db "@" diff --git a/scripts/MrPsychicsHouse.asm b/scripts/MrPsychicsHouse.asm new file mode 100755 index 00000000..7d4f54c0 --- /dev/null +++ b/scripts/MrPsychicsHouse.asm @@ -0,0 +1,45 @@ +MrPsychicsHouse_Script: + jp EnableAutoTextBoxDrawing + +MrPsychicsHouse_TextPointers: + dw SaffronHouse2Text1 + +SaffronHouse2Text1: + TX_ASM + CheckEvent EVENT_GOT_TM29 + jr nz, .asm_9e72b + ld hl, TM29PreReceiveText + call PrintText + lb bc, TM_29, 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedTM29Text + call PrintText + SetEvent EVENT_GOT_TM29 + jr .asm_fe4e1 +.BagFull + ld hl, TM29NoRoomText + call PrintText + jr .asm_fe4e1 +.asm_9e72b + ld hl, TM29ExplanationText + call PrintText +.asm_fe4e1 + jp TextScriptEnd + +TM29PreReceiveText: + TX_FAR _TM29PreReceiveText + db "@" + +ReceivedTM29Text: + TX_FAR _ReceivedTM29Text + TX_SFX_ITEM_1 + db "@" + +TM29ExplanationText: + TX_FAR _TM29ExplanationText + db "@" + +TM29NoRoomText: + TX_FAR _TM29NoRoomText + db "@" diff --git a/scripts/MtMoon1F.asm b/scripts/MtMoon1F.asm new file mode 100755 index 00000000..b05b3f60 --- /dev/null +++ b/scripts/MtMoon1F.asm @@ -0,0 +1,224 @@ +MtMoon1F_Script: + call EnableAutoTextBoxDrawing + ld hl, MtMoon1TrainerHeader0 + ld de, MtMoon1F_ScriptPointers + ld a, [wMtMoon1FCurScript] + call ExecuteCurMapScriptInTable + ld [wMtMoon1FCurScript], a + ret + +MtMoon1F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +MtMoon1F_TextPointers: + dw MtMoon1Text1 + dw MtMoon1Text2 + dw MtMoon1Text3 + dw MtMoon1Text4 + dw MtMoon1Text5 + dw MtMoon1Text6 + dw MtMoon1Text7 + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw MtMoon1Text14 + +MtMoon1TrainerHeader0: + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_0 + dw MtMoon1BattleText2 ; TextBeforeBattle + dw MtMoon1AfterBattleText2 ; TextAfterBattle + dw MtMoon1EndBattleText2 ; TextEndBattle + dw MtMoon1EndBattleText2 ; TextEndBattle + +MtMoon1TrainerHeader1: + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_1 + dw MtMoon1BattleText3 ; TextBeforeBattle + dw MtMoon1AfterBattleText3 ; TextAfterBattle + dw MtMoon1EndBattleText3 ; TextEndBattle + dw MtMoon1EndBattleText3 ; TextEndBattle + +MtMoon1TrainerHeader2: + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_2 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_2 + dw MtMoon1BattleText4 ; TextBeforeBattle + dw MtMoon1AfterBattleText4 ; TextAfterBattle + dw MtMoon1EndBattleText4 ; TextEndBattle + dw MtMoon1EndBattleText4 ; TextEndBattle + +MtMoon1TrainerHeader3: + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_3 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_3 + dw MtMoon1BattleText5 ; TextBeforeBattle + dw MtMoon1AfterBattleText5 ; TextAfterBattle + dw MtMoon1EndBattleText5 ; TextEndBattle + dw MtMoon1EndBattleText5 ; TextEndBattle + +MtMoon1TrainerHeader4: + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_4 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_4 + dw MtMoon1BattleText6 ; TextBeforeBattle + dw MtMoon1AfterBattleText6 ; TextAfterBattle + dw MtMoon1EndBattleText6 ; TextEndBattle + dw MtMoon1EndBattleText6 ; TextEndBattle + +MtMoon1TrainerHeader5: + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_5 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_5 + dw MtMoon1BattleText7 ; TextBeforeBattle + dw MtMoon1AfterBattleText7 ; TextAfterBattle + dw MtMoon1EndBattleText7 ; TextEndBattle + dw MtMoon1EndBattleText7 ; TextEndBattle + +MtMoon1TrainerHeader6: + dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_6 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_6 + dw MtMoon1BattleText8 ; TextBeforeBattle + dw MtMoon1AfterBattleText8 ; TextAfterBattle + dw MtMoon1EndBattleText8 ; TextEndBattle + dw MtMoon1EndBattleText8 ; TextEndBattle + + db $ff + +MtMoon1Text1: + TX_ASM + ld hl, MtMoon1TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +MtMoon1Text2: + TX_ASM + ld hl, MtMoon1TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +MtMoon1Text3: + TX_ASM + ld hl, MtMoon1TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +MtMoon1Text4: + TX_ASM + ld hl, MtMoon1TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +MtMoon1Text5: + TX_ASM + ld hl, MtMoon1TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +MtMoon1Text6: + TX_ASM + ld hl, MtMoon1TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +MtMoon1Text7: + TX_ASM + ld hl, MtMoon1TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +MtMoon1BattleText2: + TX_FAR _MtMoon1BattleText2 + db "@" + +MtMoon1EndBattleText2: + TX_FAR _MtMoon1EndBattleText2 + db "@" + +MtMoon1AfterBattleText2: + TX_FAR _MtMoon1AfterBattleText2 + db "@" + +MtMoon1BattleText3: + TX_FAR _MtMoon1BattleText3 + db "@" + +MtMoon1EndBattleText3: + TX_FAR _MtMoon1EndBattleText3 + db "@" + +MtMoon1AfterBattleText3: + TX_FAR _MtMoon1AfterBattleText3 + db "@" + +MtMoon1BattleText4: + TX_FAR _MtMoon1BattleText4 + db "@" + +MtMoon1EndBattleText4: + TX_FAR _MtMoon1EndBattleText4 + db "@" + +MtMoon1AfterBattleText4: + TX_FAR _MtMoon1AfterBattleText4 + db "@" + +MtMoon1BattleText5: + TX_FAR _MtMoon1BattleText5 + db "@" + +MtMoon1EndBattleText5: + TX_FAR _MtMoon1EndBattleText5 + db "@" + +MtMoon1AfterBattleText5: + TX_FAR _MtMoon1AfterBattleText5 + db "@" + +MtMoon1BattleText6: + TX_FAR _MtMoon1BattleText6 + db "@" + +MtMoon1EndBattleText6: + TX_FAR _MtMoon1EndBattleText6 + db "@" + +MtMoon1AfterBattleText6: + TX_FAR _MtMoon1AfterBattleText6 + db "@" + +MtMoon1BattleText7: + TX_FAR _MtMoon1BattleText7 + db "@" + +MtMoon1EndBattleText7: + TX_FAR _MtMoon1EndBattleText7 + db "@" + +MtMoon1AfterBattleText7: + TX_FAR _MtMoon1AfterBattleText7 + db "@" + +MtMoon1BattleText8: + TX_FAR _MtMoon1BattleText8 + db "@" + +MtMoon1EndBattleText8: + TX_FAR _MtMoon1EndBattleText8 + db "@" + +MtMoon1AfterBattleText8: + TX_FAR _MtMoon1AfterBattleText8 + db "@" + +MtMoon1Text14: + TX_FAR _MtMoon1Text14 + db "@" diff --git a/scripts/MtMoonB1F.asm b/scripts/MtMoonB1F.asm new file mode 100755 index 00000000..779812c3 --- /dev/null +++ b/scripts/MtMoonB1F.asm @@ -0,0 +1,10 @@ +MtMoonB1F_Script: + call EnableAutoTextBoxDrawing + ret + +MtMoonB1F_TextPointers: + dw MtMoonText1 + +MtMoonText1: + TX_FAR _MtMoonText1 + db "@" diff --git a/scripts/MtMoonB2F.asm b/scripts/MtMoonB2F.asm new file mode 100755 index 00000000..863d9d22 --- /dev/null +++ b/scripts/MtMoonB2F.asm @@ -0,0 +1,406 @@ +MtMoonB2F_Script: + call EnableAutoTextBoxDrawing + ld hl, MtMoon3TrainerHeader0 + ld de, MtMoonB2F_ScriptPointers + ld a, [wMtMoonB2FCurScript] + call ExecuteCurMapScriptInTable + ld [wMtMoonB2FCurScript], a + CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD + ret z + ld hl, CoordsData_49d37 + call ArePlayerCoordsInArray + jr nc, .asm_49d31 + ld hl, wd72e + set 4, [hl] + ret +.asm_49d31 + ld hl, wd72e + res 4, [hl] + ret + +CoordsData_49d37: + db $05,$0B + db $05,$0C + db $05,$0D + db $05,$0E + db $06,$0B + db $06,$0C + db $06,$0D + db $06,$0E + db $07,$0B + db $07,$0C + db $07,$0D + db $07,$0E + db $08,$0B + db $08,$0C + db $08,$0D + db $08,$0E + db $FF + +MtMoon3Script_49d58: + xor a + ld [wJoyIgnore], a + ld [wMtMoonB2FCurScript], a + ld [wCurMapScript], a + ret + +MtMoonB2F_ScriptPointers: + dw MtMoon3Script0 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw MtMoon3Script3 + dw MtMoon3Script4 + dw MtMoon3Script5 + +MtMoon3Script0: + CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD + jp nz, MtMoon3Script_49d91 + ld a, [wYCoord] + cp $8 + jp nz, MtMoon3Script_49d91 + ld a, [wXCoord] + cp $d + jp nz, MtMoon3Script_49d91 + xor a + ld [hJoyHeld], a + ld a, $1 + ld [hSpriteIndexOrTextID], a + jp DisplayTextID + +MtMoon3Script_49d91: + CheckEitherEventSet EVENT_GOT_DOME_FOSSIL, EVENT_GOT_HELIX_FOSSIL + jp z, CheckFightingMapTrainers + ret + +MtMoon3Script3: + ld a, [wIsInBattle] + cp $ff + jp z, MtMoon3Script_49d58 + call UpdateSprites + call Delay3 + SetEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD + xor a + ld [wJoyIgnore], a + ld a, $0 + ld [wMtMoonB2FCurScript], a + ld [wCurMapScript], a + ret + +MtMoon3Script4: + ld a, $1 + ld [H_SPRITEINDEX], a + call SetSpriteMovementBytesToFF + ld hl, CoordsData_49dea + call ArePlayerCoordsInArray + jr c, .asm_49dd7 + ld hl, CoordsData_49df1 + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + ld de, MovementData_49df9 + jr .asm_49dda +.asm_49dd7 + ld de, MovementData_49df8 +.asm_49dda + ld a, $1 + ld [H_SPRITEINDEX], a + call MoveSprite + ld a, $5 + ld [wMtMoonB2FCurScript], a + ld [wCurMapScript], a + ret + +CoordsData_49dea: + db $07,$0C + db $06,$0B + db $05,$0C + db $FF + +CoordsData_49df1: + db $07,$0D + db $06,$0E + db $05,$0E + db $FF + +MovementData_49df8: + db NPC_MOVEMENT_RIGHT + +MovementData_49df9: + db NPC_MOVEMENT_UP,$FF + +MtMoon3Script5: + ld a, [wd730] + bit 0, a + ret nz + ld a, $f0 + ld [wJoyIgnore], a + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, $a + ld [hSpriteIndexOrTextID], a + call DisplayTextID + CheckEvent EVENT_GOT_DOME_FOSSIL + jr z, .asm_49e1d + ld a, HS_MT_MOON_B2F_FOSSIL_2 + jr .asm_49e1f +.asm_49e1d + ld a, HS_MT_MOON_B2F_FOSSIL_1 +.asm_49e1f + ld [wMissableObjectIndex], a + predef HideObject + xor a + ld [wJoyIgnore], a + ld a, $0 + ld [wMtMoonB2FCurScript], a + ld [wCurMapScript], a + ret + +MtMoonB2F_TextPointers: + dw MtMoon3Text1 + dw MtMoon3Text2 + dw MtMoon3Text3 + dw MtMoon3Text4 + dw MtMoon3Text5 + dw MtMoon3Text6 + dw MtMoon3Text7 + dw PickUpItemText + dw PickUpItemText + dw MtMoon3Text_49f99 + +MtMoon3TrainerHeader0: + dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_0 + dw MtMoon3BattleText2 ; TextBeforeBattle + dw MtMoon3AfterBattleText2 ; TextAfterBattle + dw MtMoon3EndBattleText2 ; TextEndBattle + dw MtMoon3EndBattleText2 ; TextEndBattle + +MtMoon3TrainerHeader1: + dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_1 + dw MtMoon3BattleText3 ; TextBeforeBattle + dw MtMoon3AfterBattleText3 ; TextAfterBattle + dw MtMoon3EndBattleText3 ; TextEndBattle + dw MtMoon3EndBattleText3 ; TextEndBattle + +MtMoon3TrainerHeader2: + dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_2 + dw MtMoon3BattleText4 ; TextBeforeBattle + dw MtMoon3AfterBattleText4 ; TextAfterBattle + dw MtMoon3EndBattleText4 ; TextEndBattle + dw MtMoon3EndBattleText4 ; TextEndBattle + +MtMoon3TrainerHeader3: + dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_3 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_3 + dw MtMoon3BattleText5 ; TextBeforeBattle + dw MtMoon3AfterBattleText5 ; TextAfterBattle + dw MtMoon3EndBattleText5 ; TextEndBattle + dw MtMoon3EndBattleText5 ; TextEndBattle + + db $ff + +MtMoon3Text1: + TX_ASM + CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD + jr z, .asm_49e8d + and $c0 + jr nz, .asm_49eb8 + ld hl, MtMoon3Text_49f8f + call PrintText + jr .asm_49ebe +.asm_49e8d + ld hl, MtMoon3Text_49f85 + call PrintText + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, MtMoon3Text_49f8a + ld de, MtMoon3Text_49f8a + call SaveEndBattleTextPointers + ld a, [H_SPRITEINDEX] + ld [wSpriteIndex], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $3 + ld [wMtMoonB2FCurScript], a + ld [wCurMapScript], a + jr .asm_49ebe +.asm_49eb8 + ld hl, MtMoon3Text_49f94 + call PrintText +.asm_49ebe + jp TextScriptEnd + +MtMoon3Text2: + TX_ASM + ld hl, MtMoon3TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +MtMoon3Text3: + TX_ASM + ld hl, MtMoon3TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +MtMoon3Text4: + TX_ASM + ld hl, MtMoon3TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +MtMoon3Text5: + TX_ASM + ld hl, MtMoon3TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +MtMoon3Text6: + TX_ASM + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, MtMoon3Text_49f24 + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_49f21 + lb bc, DOME_FOSSIL, 1 + call GiveItem + jp nc, MtMoon3Script_49f76 + call MtMoon3Script_49f69 + ld a, HS_MT_MOON_B2F_FOSSIL_1 + ld [wMissableObjectIndex], a + predef HideObject + SetEvent EVENT_GOT_DOME_FOSSIL + ld a, $4 + ld [wMtMoonB2FCurScript], a + ld [wCurMapScript], a +.asm_49f21 + jp TextScriptEnd + +MtMoon3Text_49f24: + TX_FAR _MtMoon3Text_49f24 + db "@" + +MtMoon3Text7: + TX_ASM + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, MtMoon3Text_49f64 + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_49f61 + lb bc, HELIX_FOSSIL, 1 + call GiveItem + jp nc, MtMoon3Script_49f76 + call MtMoon3Script_49f69 + ld a, HS_MT_MOON_B2F_FOSSIL_2 + ld [wMissableObjectIndex], a + predef HideObject + SetEvent EVENT_GOT_HELIX_FOSSIL + ld a, $4 + ld [wMtMoonB2FCurScript], a + ld [wCurMapScript], a +.asm_49f61 + jp TextScriptEnd + +MtMoon3Text_49f64: + TX_FAR _MtMoon3Text_49f64 + db "@" + +MtMoon3Script_49f69: + ld hl, MtMoon3Text_49f6f + jp PrintText + +MtMoon3Text_49f6f: + TX_FAR _MtMoon3Text_49f6f + TX_SFX_KEY_ITEM + TX_WAIT + db "@" + +MtMoon3Script_49f76: + ld hl, MtMoon3Text_49f7f + call PrintText + jp TextScriptEnd + +MtMoon3Text_49f7f: + TX_FAR _MtMoon3Text_49f7f + TX_WAIT + db "@" + +MtMoon3Text_49f85: + TX_FAR _MtMoon3Text_49f85 + db "@" + +MtMoon3Text_49f8a: + TX_FAR _MtMoon3Text_49f8a + db "@" + +MtMoon3Text_49f8f: + TX_FAR _MtMoon3Text_49f8f + db "@" + +MtMoon3Text_49f94: + TX_FAR _MtMoon3Text_49f94 + db "@" + +MtMoon3Text_49f99: + TX_FAR _MtMoon3Text_49f99 + TX_SFX_KEY_ITEM + db "@" + +MtMoon3BattleText2: + TX_FAR _MtMoon3BattleText2 + db "@" + +MtMoon3EndBattleText2: + TX_FAR _MtMoon3EndBattleText2 + db "@" + +MtMoon3AfterBattleText2: + TX_FAR _MtMoon3AfterBattleText2 + db "@" + +MtMoon3BattleText3: + TX_FAR _MtMoon3BattleText3 + db "@" + +MtMoon3EndBattleText3: + TX_FAR _MtMoon3EndBattleText3 + db "@" + +MtMoon3AfterBattleText3: + TX_FAR _MtMoon3AfterBattleText3 + db "@" + +MtMoon3BattleText4: + TX_FAR _MtMoon3BattleText4 + db "@" + +MtMoon3EndBattleText4: + TX_FAR _MtMoon3EndBattleText4 + db "@" + +MtMoon3AfterBattleText4: + TX_FAR _MtMoon3AfterBattleText4 + db "@" + +MtMoon3BattleText5: + TX_FAR _MtMoon3BattleText5 + db "@" + +MtMoon3EndBattleText5: + TX_FAR _MtMoon3EndBattleText5 + db "@" + +MtMoon3AfterBattleText5: + TX_FAR _MtMoon3AfterBattleText5 + db "@" diff --git a/scripts/MtMoonPokecenter.asm b/scripts/MtMoonPokecenter.asm new file mode 100755 index 00000000..969031db --- /dev/null +++ b/scripts/MtMoonPokecenter.asm @@ -0,0 +1,94 @@ +MtMoonPokecenter_Script: + call Serial_TryEstablishingExternallyClockedConnection + jp EnableAutoTextBoxDrawing + +MtMoonPokecenter_TextPointers: + dw MtMoonHealNurseText + dw MtMoonPokecenterText2 + dw MtMoonPokecenterText3 + dw MagikarpSalesmanText + dw MtMoonPokecenterText5 + dw MtMoonTradeNurseText + +MtMoonHealNurseText: + db $ff + +MtMoonPokecenterText2: + TX_FAR _MtMoonPokecenterText1 + db "@" + +MtMoonPokecenterText3: + TX_FAR _MtMoonPokecenterText3 + db "@" + +MagikarpSalesmanText: + TX_ASM + CheckEvent EVENT_BOUGHT_MAGIKARP, 1 + jp c, .alreadyBoughtMagikarp + ld hl, .Text1 + call PrintText + ld a, MONEY_BOX + ld [wTextBoxID], a + call DisplayTextBoxID + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jp nz, .choseNo + ld [hMoney], a + ld [hMoney + 2], a + ld a, $5 + ld [hMoney + 1], a + call HasEnoughMoney + jr nc, .enoughMoney + ld hl, .NoMoneyText + jr .printText +.enoughMoney + lb bc, MAGIKARP, 5 + call GivePokemon + jr nc, .done + xor a + ld [wPriceTemp], a + ld [wPriceTemp + 2], a + ld a, $5 + ld [wPriceTemp + 1], a + ld hl, wPriceTemp + 2 + ld de, wPlayerMoney + 2 + ld c, $3 + predef SubBCDPredef + ld a, MONEY_BOX + ld [wTextBoxID], a + call DisplayTextBoxID + SetEvent EVENT_BOUGHT_MAGIKARP + jr .done +.choseNo + ld hl, .RefuseText + jr .printText +.alreadyBoughtMagikarp + ld hl, .Text2 +.printText + call PrintText +.done + jp TextScriptEnd + +.Text1 + TX_FAR _MagikarpSalesmanText1 + db "@" + +.RefuseText + TX_FAR _MagikarpSalesmanNoText + db "@" + +.NoMoneyText + TX_FAR _MagikarpSalesmanNoMoneyText + db "@" + +.Text2 + TX_FAR _MagikarpSalesmanText2 + db "@" + +MtMoonPokecenterText5: + TX_FAR _MtMoonPokecenterText5 + db "@" + +MtMoonTradeNurseText: + db $f6 diff --git a/scripts/Museum1F.asm b/scripts/Museum1F.asm new file mode 100755 index 00000000..712f1fc4 --- /dev/null +++ b/scripts/Museum1F.asm @@ -0,0 +1,247 @@ +Museum1F_Script: + ld a, $1 + ld [wAutoTextBoxDrawingControl], a + xor a + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, Museum1F_ScriptPointers + ld a, [wMuseum1FCurScript] + jp CallFunctionInTable + +Museum1F_ScriptPointers: + dw Museum1FScript0 + dw Museum1FScript1 + +Museum1FScript0: + ld a, [wYCoord] + cp $4 + ret nz + ld a, [wXCoord] + cp $9 + jr z, .asm_5c120 + ld a, [wXCoord] + cp $a + ret nz +.asm_5c120 + xor a + ld [hJoyHeld], a + ld a, $1 + ld [hSpriteIndexOrTextID], a + jp DisplayTextID + +Museum1FScript1: + ret + +Museum1F_TextPointers: + dw Museum1FText1 + dw Museum1FText2 + dw Museum1FText3 + dw Museum1FText4 + dw Museum1FText5 + +Museum1FText1: + TX_ASM + ld a, [wYCoord] + cp $4 + jr nz, .asm_8774b + ld a, [wXCoord] + cp $d + jp z, Museum1FScript_5c1f9 + jr .asm_b8709 +.asm_8774b + cp $3 + jr nz, .asm_d49e7 + ld a, [wXCoord] + cp $c + jp z, Museum1FScript_5c1f9 +.asm_d49e7 + CheckEvent EVENT_BOUGHT_MUSEUM_TICKET + jr nz, .asm_31a16 + ld hl, Museum1FText_5c23d + call PrintText + jp Museum1FScriptEnd +.asm_b8709 + CheckEvent EVENT_BOUGHT_MUSEUM_TICKET + jr z, .asm_3ded4 +.asm_31a16 + ld hl, Museum1FText_5c242 + call PrintText + jp Museum1FScriptEnd +.asm_3ded4 + ld a, MONEY_BOX + ld [wTextBoxID], a + call DisplayTextBoxID + xor a + ld [hJoyHeld], a + ld hl, Museum1FText_5c21f + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_de133 + xor a + ld [hMoney], a + ld [hMoney + 1], a + ld a, $50 + ld [hMoney + 2], a + call HasEnoughMoney + jr nc, .asm_0f3e3 + ld hl, Museum1FText_5c229 + call PrintText + jp .asm_de133 +.asm_0f3e3 + ld hl, Museum1FText_5c224 + call PrintText + SetEvent EVENT_BOUGHT_MUSEUM_TICKET + xor a + ld [wPriceTemp], a + ld [wPriceTemp + 1], a + ld a, $50 + ld [wPriceTemp + 2], a + ld hl, wPriceTemp + 2 + ld de, wPlayerMoney + 2 + ld c, $3 + predef SubBCDPredef + ld a, MONEY_BOX + ld [wTextBoxID], a + call DisplayTextBoxID + ld a, SFX_PURCHASE + call PlaySoundWaitForCurrent + call WaitForSoundToFinish + jr .asm_0b094 +.asm_de133 + ld hl, Museum1FText_5c21a + call PrintText + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + ld a, D_DOWN + ld [wSimulatedJoypadStatesEnd], a + call StartSimulatingJoypadStates + call UpdateSprites + jr Museum1FScriptEnd +.asm_0b094 + ld a, $1 + ld [wMuseum1FCurScript], a + jr Museum1FScriptEnd + +Museum1FScript_5c1f9: + ld hl, Museum1FText_5c22e + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + cp $0 + jr nz, .asm_d1144 + ld hl, Museum1FText_5c233 + call PrintText + jr Museum1FScriptEnd +.asm_d1144 + ld hl, Museum1FText_5c238 + call PrintText +Museum1FScriptEnd: + jp TextScriptEnd + +Museum1FText_5c21a: + TX_FAR _Museum1FText_5c21a + db "@" + +Museum1FText_5c21f: + TX_FAR _Museum1FText_5c21f + db "@" + +Museum1FText_5c224: + TX_FAR _Museum1FText_5c224 + db "@" + +Museum1FText_5c229: + TX_FAR _Museum1FText_5c229 + db "@" + +Museum1FText_5c22e: + TX_FAR _Museum1FText_5c22e + db "@" + +Museum1FText_5c233: + TX_FAR _Museum1FText_5c233 + db "@" + +Museum1FText_5c238: + TX_FAR _Museum1FText_5c238 + db "@" + +Museum1FText_5c23d: + TX_FAR _Museum1FText_5c23d + db "@" + +Museum1FText_5c242: + TX_FAR _Museum1FText_5c242 + db "@" + +Museum1FText2: + TX_ASM + ld hl, Museum1FText_5c251 + call PrintText + jp TextScriptEnd + +Museum1FText_5c251: + TX_FAR _Museum1FText_5c251 + db "@" + +Museum1FText3: + TX_ASM + CheckEvent EVENT_GOT_OLD_AMBER + jr nz, .asm_5c285 + ld hl, Museum1FText_5c28e + call PrintText + lb bc, OLD_AMBER, 1 + call GiveItem + jr nc, .BagFull + SetEvent EVENT_GOT_OLD_AMBER + ld a, HS_OLD_AMBER + ld [wMissableObjectIndex], a + predef HideObject + ld hl, ReceivedOldAmberText + jr .asm_5c288 +.BagFull + ld hl, Museum1FText_5c29e + jr .asm_5c288 +.asm_5c285 + ld hl, Museum1FText_5c299 +.asm_5c288 + call PrintText + jp TextScriptEnd + +Museum1FText_5c28e: + TX_FAR _Museum1FText_5c28e + db "@" + +ReceivedOldAmberText: + TX_FAR _ReceivedOldAmberText + TX_SFX_ITEM_1 + db "@" + +Museum1FText_5c299: + TX_FAR _Museum1FText_5c299 + db "@" + +Museum1FText_5c29e: + TX_FAR _Museum1FText_5c29e + db "@" + +Museum1FText4: + TX_ASM + ld hl, Museum1FText_5c2ad + call PrintText + jp TextScriptEnd + +Museum1FText_5c2ad: + TX_FAR _Museum1FText_5c2ad + db "@" + +Museum1FText5: + TX_ASM + ld hl, Museum1FText_5c2bc + call PrintText + jp TextScriptEnd + +Museum1FText_5c2bc: + TX_FAR _Museum1FText_5c2bc + db "@" diff --git a/scripts/Museum2F.asm b/scripts/Museum2F.asm new file mode 100755 index 00000000..ce4d3d81 --- /dev/null +++ b/scripts/Museum2F.asm @@ -0,0 +1,39 @@ +Museum2F_Script: + jp EnableAutoTextBoxDrawing + +Museum2F_TextPointers: + dw Museum2FText1 + dw Museum2FText2 + dw Museum2FText3 + dw Museum2FText4 + dw Museum2FText5 + dw Museum2FText6 + dw Museum2FText7 + +Museum2FText1: + TX_FAR _Museum2FText1 + db "@" + +Museum2FText2: + TX_FAR _Museum2FText2 + db "@" + +Museum2FText3: + TX_FAR _Museum2FText3 + db "@" + +Museum2FText4: + TX_FAR _Museum2FText4 + db "@" + +Museum2FText5: + TX_FAR _Museum2FText5 + db "@" + +Museum2FText6: + TX_FAR _Museum2FText6 + db "@" + +Museum2FText7: + TX_FAR _Museum2FText7 + db "@" diff --git a/scripts/NameRatersHouse.asm b/scripts/NameRatersHouse.asm new file mode 100755 index 00000000..323cb360 --- /dev/null +++ b/scripts/NameRatersHouse.asm @@ -0,0 +1,107 @@ +NameRatersHouse_Script: + jp EnableAutoTextBoxDrawing + +NameRaterScript_1da15: + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + ret + +NameRaterScript_1da20: + ld hl, wPartyMonOT + ld bc, NAME_LENGTH + ld a, [wWhichPokemon] + call AddNTimes + ld de, wPlayerName + ld c, NAME_LENGTH + call .asm_1da47 + jr c, .asm_1da52 + ld hl, wPartyMon1OTID + ld bc, wPartyMon2 - wPartyMon1 + ld a, [wWhichPokemon] + call AddNTimes + ld de, wPlayerID + ld c, $2 +.asm_1da47 + ld a, [de] + cp [hl] + jr nz, .asm_1da52 + inc hl + inc de + dec c + jr nz, .asm_1da47 + and a + ret +.asm_1da52 + scf + ret + +NameRatersHouse_TextPointers: + dw NameRaterText1 + +NameRaterText1: + TX_ASM + call SaveScreenTilesToBuffer2 + ld hl, NameRaterText_1dab3 + call NameRaterScript_1da15 + jr nz, .asm_1daae + ld hl, NameRaterText_1dab8 + call PrintText + xor a + ld [wPartyMenuTypeOrMessageID], a + ld [wUpdateSpritesEnabled], a + ld [wMenuItemToSwap], a + call DisplayPartyMenu + push af + call GBPalWhiteOutWithDelay3 + call RestoreScreenTilesAndReloadTilePatterns + call LoadGBPal + pop af + jr c, .asm_1daae + call GetPartyMonName2 + call NameRaterScript_1da20 + ld hl, NameRaterText_1dad1 + jr c, .asm_1daa8 + ld hl, NameRaterText_1dabd + call NameRaterScript_1da15 + jr nz, .asm_1daae + ld hl, NameRaterText_1dac2 + call PrintText + callba DisplayNameRaterScreen + jr c, .asm_1daae + ld hl, NameRaterText_1dac7 +.asm_1daa8 + call PrintText + jp TextScriptEnd +.asm_1daae + ld hl, NameRaterText_1dacc + jr .asm_1daa8 + +NameRaterText_1dab3: + TX_FAR _NameRaterText_1dab3 + db "@" + +NameRaterText_1dab8: + TX_FAR _NameRaterText_1dab8 + db "@" + +NameRaterText_1dabd: + TX_FAR _NameRaterText_1dabd + db "@" + +NameRaterText_1dac2: + TX_FAR _NameRaterText_1dac2 + db "@" + +NameRaterText_1dac7: + TX_FAR _NameRaterText_1dac7 + db "@" + +NameRaterText_1dacc: + TX_FAR _NameRaterText_1dacc + db "@" + +NameRaterText_1dad1: + TX_FAR _NameRaterText_1dad1 + db "@" diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm new file mode 100755 index 00000000..364b157b --- /dev/null +++ b/scripts/OaksLab.asm @@ -0,0 +1,1233 @@ +OaksLab_Script: + CheckEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 + call nz, OaksLabScript_1d076 + ld a, $1 + ld [wAutoTextBoxDrawingControl], a + xor a + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, OaksLab_ScriptPointers + ld a, [wOaksLabCurScript] + jp CallFunctionInTable + +OaksLab_ScriptPointers: + dw OaksLabScript0 + dw OaksLabScript1 + dw OaksLabScript2 + dw OaksLabScript3 + dw OaksLabScript4 + dw OaksLabScript5 + dw OaksLabScript6 + dw OaksLabScript7 + dw OaksLabScript8 + dw OaksLabScript9 + dw OaksLabScript10 + dw OaksLabScript11 + dw OaksLabScript12 + dw OaksLabScript13 + dw OaksLabScript14 + dw OaksLabScript15 + dw OaksLabScript16 + dw OaksLabScript17 + dw OaksLabScript18 + +OaksLabScript0: + CheckEvent EVENT_OAK_APPEARED_IN_PALLET + ret z + ld a, [wNPCMovementScriptFunctionNum] + and a + ret nz + ld a, HS_OAKS_LAB_OAK_2 + ld [wMissableObjectIndex], a + predef ShowObject + ld hl, wd72e + res 4, [hl] + + ld a, $1 + ld [wOaksLabCurScript], a + ret + +OaksLabScript1: + ld a, $8 + ld [H_SPRITEINDEX], a + ld de, OakEntryMovement + call MoveSprite + + ld a, $2 + ld [wOaksLabCurScript], a + ret + +OakEntryMovement: + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db $FF + +OaksLabScript2: + ld a, [wd730] + bit 0, a + ret nz + ld a, HS_OAKS_LAB_OAK_2 + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_OAKS_LAB_OAK_1 + ld [wMissableObjectIndex], a + predef ShowObject + + ld a, $3 + ld [wOaksLabCurScript], a + ret + +OaksLabScript3: + call Delay3 + ld hl, wSimulatedJoypadStatesEnd + ld de, PlayerEntryMovementRLE + call DecodeRLEList + dec a + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld a, $1 + ld [H_SPRITEINDEX], a + xor a + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, $5 + ld [H_SPRITEINDEX], a + xor a + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + + ld a, $4 + ld [wOaksLabCurScript], a + ret + +PlayerEntryMovementRLE: + db D_UP,$8 + db $ff + +OaksLabScript4: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + SetEvent EVENT_FOLLOWED_OAK_INTO_LAB + SetEvent EVENT_FOLLOWED_OAK_INTO_LAB_2 + ld a, $1 + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_UP + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + call UpdateSprites + ld hl, wFlags_D733 + res 1, [hl] + call PlayDefaultMusic + + ld a, $5 + ld [wOaksLabCurScript], a + ret + +OaksLabScript5: + ld a, $fc + ld [wJoyIgnore], a + ld a, $11 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call Delay3 + ld a, $12 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call Delay3 + ld a, $13 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call Delay3 + ld a, $14 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_OAK_ASKED_TO_CHOOSE_MON + xor a + ld [wJoyIgnore], a + + ld a, $6 + ld [wOaksLabCurScript], a + ret + +OaksLabScript6: + ld a, [wYCoord] + cp $6 + ret nz + ld a, $5 + ld [H_SPRITEINDEX], a + xor a ; SPRITE_FACING_DOWN + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, $1 + ld [H_SPRITEINDEX], a + xor a + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + call UpdateSprites + ld a, $c + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + ld a, D_UP + ld [wSimulatedJoypadStatesEnd], a + call StartSimulatingJoypadStates + ld a, PLAYER_DIR_UP + ld [wPlayerMovingDirection], a + + ld a, $7 + ld [wOaksLabCurScript], a + ret + +OaksLabScript7: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + call Delay3 + + ld a, $6 + ld [wOaksLabCurScript], a + ret + +OaksLabScript8: + ld a, [wPlayerStarter] + cp STARTER1 + jr z, .Charmander + cp STARTER2 + jr z, .Squirtle + jr .Bulbasaur +.Charmander + ld de, .MiddleBallMovement1 + ld a, [wYCoord] + cp $4 ; is the player standing below the table? + jr z, .asm_1ccf3 + ld de, .MiddleBallMovement2 + jr .asm_1ccf3 + +.MiddleBallMovement1 + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_UP + db $FF + +.MiddleBallMovement2 + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF + +.Squirtle + ld de, .RightBallMovement1 + ld a, [wYCoord] + cp $4 ; is the player standing below the table? + jr z, .asm_1ccf3 + ld de, .RightBallMovement2 + jr .asm_1ccf3 + +.RightBallMovement1 + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_UP + db $FF + +.RightBallMovement2 + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF + +.Bulbasaur + ld de, .LeftBallMovement1 + ld a, [wXCoord] + cp $9 ; is the player standing to the right of the table? + jr nz, .asm_1ccf3 + push hl + ld a, $1 + ld [H_SPRITEINDEX], a + ld a, $4 + ld [H_SPRITEDATAOFFSET], a + call GetPointerWithinSpriteStateData1 + push hl + ld [hl], $4c + inc hl + inc hl + ld [hl], $0 + pop hl + inc h + ld [hl], $8 + inc hl + ld [hl], $9 + ld de, .LeftBallMovement2 ; the rival is not currently onscreen, so account for that + pop hl + jr .asm_1ccf3 + +.LeftBallMovement1 + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT ; not yet terminated! +.LeftBallMovement2 + db NPC_MOVEMENT_RIGHT + db $FF + +.asm_1ccf3 + ld a, $1 + ld [H_SPRITEINDEX], a + call MoveSprite + + ld a, $9 + ld [wOaksLabCurScript], a + ret + +OaksLabScript9: + ld a, [wd730] + bit 0, a + ret nz + ld a, $fc + ld [wJoyIgnore], a + ld a, $1 + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_UP + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, $d + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, [wRivalStarterBallSpriteIndex] + cp $2 + jr nz, .asm_1cd28 + ld a, HS_STARTER_BALL_1 + jr .asm_1cd32 +.asm_1cd28 + cp $3 + jr nz, .asm_1cd30 + ld a, HS_STARTER_BALL_2 + jr .asm_1cd32 +.asm_1cd30 + ld a, HS_STARTER_BALL_3 +.asm_1cd32 + ld [wMissableObjectIndex], a + predef HideObject + call Delay3 + ld a, [wRivalStarterTemp] + ld [wRivalStarter], a + ld [wcf91], a + ld [wd11e], a + call GetMonName + ld a, $1 + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_UP + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, $e + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_GOT_STARTER + xor a + ld [wJoyIgnore], a + + ld a, $a + ld [wOaksLabCurScript], a + ret + +OaksLabScript10: + ld a, [wYCoord] + cp $6 + ret nz + ld a, $1 + ld [H_SPRITEINDEX], a + xor a ; SPRITE_FACING_DOWN + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, PLAYER_DIR_UP + ld [wPlayerMovingDirection], a + ld c, BANK(Music_MeetRival) + ld a, MUSIC_MEET_RIVAL + call PlayMusic + ld a, $f + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $1 + ld [hNPCPlayerRelativePosPerspective], a + ld a, $1 + swap a + ld [hNPCSpriteOffset], a + predef CalcPositionOfPlayerRelativeToNPC + ld a, [hNPCPlayerYDistance] + dec a + ld [hNPCPlayerYDistance], a + predef FindPathToPlayer + ld de, wNPCMovementDirections2 + ld a, $1 + ld [H_SPRITEINDEX], a + call MoveSprite + + ld a, $b + ld [wOaksLabCurScript], a + ret + +OaksLabScript11: + ld a, [wd730] + bit 0, a + ret nz + + ; define which team rival uses, and fight it + ld a, OPP_SONY1 + ld [wCurOpponent], a + ld a, [wRivalStarter] + cp STARTER2 + jr nz, .NotSquirtle + ld a, $1 + jr .done +.NotSquirtle + cp STARTER3 + jr nz, .Charmander + ld a, $2 + jr .done +.Charmander + ld a, $3 +.done + ld [wTrainerNo], a + ld a, $1 + ld [wSpriteIndex], a + call GetSpritePosition1 + ld hl, OaksLabText_1d3be + ld de, OaksLabText_1d3c3 + call SaveEndBattleTextPointers + ld hl, wd72d + set 6, [hl] + set 7, [hl] + xor a + ld [wJoyIgnore], a + ld a, PLAYER_DIR_UP + ld [wPlayerMovingDirection], a + ld a, $c + ld [wOaksLabCurScript], a + ret + +OaksLabScript12: + ld a, $f0 + ld [wJoyIgnore], a + ld a, PLAYER_DIR_UP + ld [wPlayerMovingDirection], a + call UpdateSprites + ld a, $1 + ld [wSpriteIndex], a + call SetSpritePosition1 + ld a, $1 + ld [H_SPRITEINDEX], a + xor a ; SPRITE_FACING_DOWN + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + predef HealParty + SetEvent EVENT_BATTLED_RIVAL_IN_OAKS_LAB + + ld a, $d + ld [wOaksLabCurScript], a + ret + +OaksLabScript13: + ld c, 20 + call DelayFrames + ld a, $10 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + callba Music_RivalAlternateStart + ld a, $1 + ld [H_SPRITEINDEX], a + ld de, .RivalExitMovement + call MoveSprite + ld a, [wXCoord] + cp $4 + ; move left or right depending on where the player is standing + jr nz, .moveLeft + ld a, NPC_MOVEMENT_RIGHT + jr .next +.moveLeft + ld a, NPC_MOVEMENT_LEFT +.next + ld [wNPCMovementDirections], a + + ld a, $e + ld [wOaksLabCurScript], a + ret + +.RivalExitMovement + db $E0 ; change sprite facing direction + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +OaksLabScript14: + ld a, [wd730] + bit 0, a + jr nz, .asm_1ce8c + ld a, HS_OAKS_LAB_RIVAL + ld [wMissableObjectIndex], a + predef HideObject + xor a + ld [wJoyIgnore], a + call PlayDefaultMusic ; reset to map music + ld a, $12 + ld [wOaksLabCurScript], a + jr .done +; make the player keep facing the rival as he walks away +.asm_1ce8c + ld a, [wNPCNumScriptedSteps] + cp $5 + jr nz, .asm_1cea8 + ld a, [wXCoord] + cp $4 + jr nz, .asm_1cea1 + ld a, SPRITE_FACING_RIGHT + ld [wSpriteStateData1 + 9], a + jr .done +.asm_1cea1 + ld a, SPRITE_FACING_LEFT + ld [wSpriteStateData1 + 9], a + jr .done +.asm_1cea8 + cp $4 + ret nz + xor a ; ld a, SPRITE_FACING_DOWN + ld [wSpriteStateData1 + 9], a +.done + ret + +OaksLabScript15: + xor a + ld [hJoyHeld], a + call EnableAutoTextBoxDrawing + ld a, $ff + ld [wNewSoundID], a + call PlaySound + callba Music_RivalAlternateStart + ld a, $15 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call OaksLabScript_1d02b + ld a, HS_OAKS_LAB_RIVAL + ld [wMissableObjectIndex], a + predef ShowObject + ld a, [wNPCMovementDirections2Index] + ld [wSavedNPCMovementDirections2Index], a + ld b, 0 + ld c, a + ld hl, wNPCMovementDirections2 + ld a, NPC_MOVEMENT_UP + call FillMemory + ld [hl], $ff + ld a, $1 + ld [H_SPRITEINDEX], a + ld de, wNPCMovementDirections2 + call MoveSprite + + ld a, $10 + ld [wOaksLabCurScript], a + ret + +OaksLabScript_1cefd: + ld a, $1 + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_UP + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, $8 + ld [H_SPRITEINDEX], a + xor a ; SPRITE_FACING_DOWN + ld [hSpriteFacingDirection], a + jp SetSpriteFacingDirectionAndDelay + +OaksLabScript16: + ld a, [wd730] + bit 0, a + ret nz + call EnableAutoTextBoxDrawing + call PlayDefaultMusic + ld a, $fc + ld [wJoyIgnore], a + call OaksLabScript_1cefd + ld a, $16 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call DelayFrame + call OaksLabScript_1cefd + ld a, $17 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call DelayFrame + call OaksLabScript_1cefd + ld a, $18 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call DelayFrame + ld a, $19 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call Delay3 + ld a, HS_POKEDEX_1 + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_POKEDEX_2 + ld [wMissableObjectIndex], a + predef HideObject + call OaksLabScript_1cefd + ld a, $1a + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $1 + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_RIGHT + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + call Delay3 + ld a, $1b + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_GOT_POKEDEX + SetEvent EVENT_OAK_GOT_PARCEL + ld a, HS_LYING_OLD_MAN + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_OLD_MAN + ld [wMissableObjectIndex], a + predef ShowObject + ld a, [wSavedNPCMovementDirections2Index] + ld b, 0 + ld c, a + ld hl, wNPCMovementDirections2 + xor a ; NPC_MOVEMENT_DOWN + call FillMemory + ld [hl], $ff + ld a, $ff + ld [wNewSoundID], a + call PlaySound + callba Music_RivalAlternateStart + ld a, $1 + ld [H_SPRITEINDEX], a + ld de, wNPCMovementDirections2 + call MoveSprite + + ld a, $11 + ld [wOaksLabCurScript], a + ret + +OaksLabScript17: + ld a, [wd730] + bit 0, a + ret nz + call PlayDefaultMusic + ld a, HS_OAKS_LAB_RIVAL + ld [wMissableObjectIndex], a + predef HideObject + SetEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE + ResetEventReuseHL EVENT_2ND_ROUTE22_RIVAL_BATTLE + SetEventReuseHL EVENT_ROUTE22_RIVAL_WANTS_BATTLE + ld a, HS_ROUTE_22_RIVAL_1 + ld [wMissableObjectIndex], a + predef ShowObject + ld a, $5 + ld [wPalletTownCurScript], a + xor a + ld [wJoyIgnore], a + + ld a, $12 + ld [wOaksLabCurScript], a + ret + +OaksLabScript18: + ret + +OaksLabScript_RemoveParcel: + ld hl, wBagItems + ld bc, $0000 +.loop + ld a, [hli] + cp $ff + ret z + cp OAKS_PARCEL + jr z, .foundParcel + inc hl + inc c + jr .loop +.foundParcel + ld hl, wNumBagItems + ld a, c + ld [wWhichPokemon], a + ld a, $1 + ld [wItemQuantity], a + jp RemoveItemFromInventory + +OaksLabScript_1d02b: + ld a, $7c + ld [$ffeb], a + ld a, $8 + ld [$ffee], a + ld a, [wYCoord] + cp $3 + jr nz, .asm_1d045 + ld a, $4 + ld [wNPCMovementDirections2Index], a + ld a, $30 + ld b, $b + jr .asm_1d068 +.asm_1d045 + cp $1 + jr nz, .asm_1d054 + ld a, $2 + ld [wNPCMovementDirections2Index], a + ld a, $30 + ld b, $9 + jr .asm_1d068 +.asm_1d054 + ld a, $3 + ld [wNPCMovementDirections2Index], a + ld b, $a + ld a, [wXCoord] + cp $4 + jr nz, .asm_1d066 + ld a, $40 + jr .asm_1d068 +.asm_1d066 + ld a, $20 +.asm_1d068 + ld [$ffec], a + ld a, b + ld [$ffed], a + ld a, $1 + ld [wSpriteIndex], a + call SetSpritePosition1 + ret + +OaksLabScript_1d076: + ld hl, OaksLab_TextPointers2 + ld a, l + ld [wMapTextPtr], a + ld a, h + ld [wMapTextPtr+1], a + ret + +OaksLab_TextPointers: + dw OaksLabText1 + dw OaksLabText2 + dw OaksLabText3 + dw OaksLabText4 + dw OaksLabText5 + dw OaksLabText6 + dw OaksLabText7 + dw OaksLabText8 + dw OaksLabText9 + dw OaksLabText10 + dw OaksLabText11 + dw OaksLabText12 + dw OaksLabText13 + dw OaksLabText14 + dw OaksLabText15 + dw OaksLabText16 + dw OaksLabText17 + dw OaksLabText18 + dw OaksLabText19 + dw OaksLabText20 + dw OaksLabText21 + dw OaksLabText22 + dw OaksLabText23 + dw OaksLabText24 + dw OaksLabText25 + dw OaksLabText26 + dw OaksLabText27 + +OaksLab_TextPointers2: + dw OaksLabText1 + dw OaksLabText2 + dw OaksLabText3 + dw OaksLabText4 + dw OaksLabText5 + dw OaksLabText6 + dw OaksLabText7 + dw OaksLabText8 + dw OaksLabText9 + dw OaksLabText10 + dw OaksLabText11 + +OaksLabText1: + TX_ASM + CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB_2 + jr nz, .asm_1d0de + ld hl, OaksLabGaryText1 + call PrintText + jr .asm_1d0f0 +.asm_1d0de + bit 2, a + jr nz, .asm_1d0ea + ld hl, OaksLabText40 + call PrintText + jr .asm_1d0f0 +.asm_1d0ea + ld hl, OaksLabText41 + call PrintText +.asm_1d0f0 + jp TextScriptEnd + +OaksLabGaryText1: + TX_FAR _OaksLabGaryText1 + db "@" + +OaksLabText40: + TX_FAR _OaksLabText40 + db "@" + +OaksLabText41: + TX_FAR _OaksLabText41 + db "@" + +OaksLabText2: + TX_ASM + ld a, STARTER2 + ld [wRivalStarterTemp], a + ld a, $3 + ld [wRivalStarterBallSpriteIndex], a + ld a, STARTER1 + ld b, $2 + jr OaksLabScript_1d133 + +OaksLabText3: + TX_ASM + ld a, STARTER3 + ld [wRivalStarterTemp], a + ld a, $4 + ld [wRivalStarterBallSpriteIndex], a + ld a, STARTER2 + ld b, $3 + jr OaksLabScript_1d133 + +OaksLabText4: + TX_ASM + ld a, STARTER1 + ld [wRivalStarterTemp], a + ld a, $2 + ld [wRivalStarterBallSpriteIndex], a + ld a, STARTER3 + ld b, $4 + +OaksLabScript_1d133: + ld [wcf91], a + ld [wd11e], a + ld a, b + ld [wSpriteIndex], a + CheckEvent EVENT_GOT_STARTER + jp nz, OaksLabScript_1d22d + CheckEventReuseA EVENT_OAK_ASKED_TO_CHOOSE_MON + jr nz, OaksLabScript_1d157 + ld hl, OaksLabText39 + call PrintText + jp TextScriptEnd + +OaksLabText39: + TX_FAR _OaksLabText39 + db "@" + +OaksLabScript_1d157: + ld a, $5 + ld [H_SPRITEINDEX], a + ld a, $9 + ld [H_SPRITEDATAOFFSET], a + call GetPointerWithinSpriteStateData1 + ld [hl], SPRITE_FACING_DOWN + ld a, $1 + ld [H_SPRITEINDEX], a + ld a, $9 + ld [H_SPRITEDATAOFFSET], a + call GetPointerWithinSpriteStateData1 + ld [hl], SPRITE_FACING_RIGHT + ld hl, wd730 + set 6, [hl] + predef StarterDex + ld hl, wd730 + res 6, [hl] + call ReloadMapData + ld c, 10 + call DelayFrames + ld a, [wSpriteIndex] + cp $2 + jr z, OaksLabLookAtCharmander + cp $3 + jr z, OaksLabLookAtSquirtle + jr OaksLabLookAtBulbasaur + +OaksLabLookAtCharmander: + ld hl, OaksLabCharmanderText + jr OaksLabMonChoiceMenu +OaksLabCharmanderText: + TX_FAR _OaksLabCharmanderText + db "@" + +OaksLabLookAtSquirtle: + ld hl, OaksLabSquirtleText + jr OaksLabMonChoiceMenu +OaksLabSquirtleText: + TX_FAR _OaksLabSquirtleText + db "@" + +OaksLabLookAtBulbasaur: + ld hl, OaksLabBulbasaurText + jr OaksLabMonChoiceMenu +OaksLabBulbasaurText: + TX_FAR _OaksLabBulbasaurText + db "@" + +OaksLabMonChoiceMenu: + call PrintText + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + call YesNoChoice ; yes/no menu + ld a, [wCurrentMenuItem] + and a + jr nz, OaksLabMonChoiceEnd + ld a, [wcf91] + ld [wPlayerStarter], a + ld [wd11e], a + call GetMonName + ld a, [wSpriteIndex] + cp $2 + jr nz, .asm_1d1db + ld a, HS_STARTER_BALL_1 + jr .asm_1d1e5 +.asm_1d1db + cp $3 + jr nz, .asm_1d1e3 + ld a, HS_STARTER_BALL_2 + jr .asm_1d1e5 +.asm_1d1e3 + ld a, HS_STARTER_BALL_3 +.asm_1d1e5 + ld [wMissableObjectIndex], a + predef HideObject + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, OaksLabMonEnergeticText + call PrintText + ld hl, OaksLabReceivedMonText + call PrintText + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a + ld a, 5 + ld [wCurEnemyLVL], a + ld a, [wcf91] + ld [wd11e], a + call AddPartyMon + ld hl, wd72e + set 3, [hl] + ld a, $fc + ld [wJoyIgnore], a + ld a, $8 + ld [wOaksLabCurScript], a +OaksLabMonChoiceEnd: + jp TextScriptEnd + +OaksLabMonEnergeticText: + TX_FAR _OaksLabMonEnergeticText + db "@" + +OaksLabReceivedMonText: + TX_FAR _OaksLabReceivedMonText + TX_SFX_KEY_ITEM + db "@" + +OaksLabScript_1d22d: + ld a, $5 + ld [H_SPRITEINDEX], a + ld a, $9 + ld [H_SPRITEDATAOFFSET], a + call GetPointerWithinSpriteStateData1 + ld [hl], $0 + ld hl, OaksLabLastMonText + call PrintText + jp TextScriptEnd + +OaksLabLastMonText: + TX_FAR _OaksLabLastMonText + db "@" + +OaksLabText32: +OaksLabText5: + TX_ASM + CheckEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS + jr nz, .asm_1d266 + ld hl, wPokedexOwned + ld b, wPokedexOwnedEnd - wPokedexOwned + call CountSetBits + ld a, [wNumSetBits] + cp 2 + jr c, .asm_1d279 + CheckEvent EVENT_GOT_POKEDEX + jr z, .asm_1d279 +.asm_1d266 + ld hl, OaksLabText_1d31d + call PrintText + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + predef DisplayDexRating + jp .asm_1d2ed +.asm_1d279 + ld b, POKE_BALL + call IsItemInBag + jr nz, .asm_1d2e7 + CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE + jr nz, .asm_1d2d0 + CheckEvent EVENT_GOT_POKEDEX + jr nz, .asm_1d2c8 + CheckEventReuseA EVENT_BATTLED_RIVAL_IN_OAKS_LAB + jr nz, .asm_1d2a9 + ld a, [wd72e] + bit 3, a + jr nz, .asm_1d2a1 + ld hl, OaksLabText_1d2f0 + call PrintText + jr .asm_1d2ed +.asm_1d2a1 + ld hl, OaksLabText_1d2f5 + call PrintText + jr .asm_1d2ed +.asm_1d2a9 + ld b, OAKS_PARCEL + call IsItemInBag + jr nz, .asm_1d2b8 + ld hl, OaksLabText_1d2fa + call PrintText + jr .asm_1d2ed +.asm_1d2b8 + ld hl, OaksLabDeliverParcelText + call PrintText + call OaksLabScript_RemoveParcel + ld a, $f + ld [wOaksLabCurScript], a + jr .asm_1d2ed +.asm_1d2c8 + ld hl, OaksLabAroundWorldText + call PrintText + jr .asm_1d2ed +.asm_1d2d0 + CheckAndSetEvent EVENT_GOT_POKEBALLS_FROM_OAK + jr nz, .asm_1d2e7 + lb bc, POKE_BALL, 5 + call GiveItem + ld hl, OaksLabGivePokeballsText + call PrintText + jr .asm_1d2ed +.asm_1d2e7 + ld hl, OaksLabPleaseVisitText + call PrintText +.asm_1d2ed + jp TextScriptEnd + +OaksLabText_1d2f0: + TX_FAR _OaksLabText_1d2f0 + db "@" + +OaksLabText_1d2f5: + TX_FAR _OaksLabText_1d2f5 + db "@" + +OaksLabText_1d2fa: + TX_FAR _OaksLabText_1d2fa + db "@" + +OaksLabDeliverParcelText: + TX_FAR _OaksLabDeliverParcelText1 + TX_SFX_KEY_ITEM + TX_FAR _OaksLabDeliverParcelText2 + db "@" + +OaksLabAroundWorldText: + TX_FAR _OaksLabAroundWorldText + db "@" + +OaksLabGivePokeballsText: + TX_FAR _OaksLabGivePokeballsText1 + TX_SFX_KEY_ITEM + TX_FAR _OaksLabGivePokeballsText2 + db "@" + +OaksLabPleaseVisitText: + TX_FAR _OaksLabPleaseVisitText + db "@" + +OaksLabText_1d31d: + TX_FAR _OaksLabText_1d31d + db "@" + +OaksLabText7: +OaksLabText6: + TX_ASM + ld hl, OaksLabText_1d32c + call PrintText + jp TextScriptEnd + +OaksLabText_1d32c: + TX_FAR _OaksLabText_1d32c + db "@" + +OaksLabText8: + TX_FAR _OaksLabText8 + db "@" + +OaksLabText9: + TX_ASM + ld hl, OaksLabText_1d340 + call PrintText + jp TextScriptEnd + +OaksLabText_1d340: + TX_FAR _OaksLabText_1d340 + db "@" + +OaksLabText17: + TX_ASM + ld hl, OaksLabRivalWaitingText + call PrintText + jp TextScriptEnd + +OaksLabRivalWaitingText: + TX_FAR _OaksLabRivalWaitingText + db "@" + +OaksLabText18: + TX_ASM + ld hl, OaksLabChooseMonText + call PrintText + jp TextScriptEnd + +OaksLabChooseMonText: + TX_FAR _OaksLabChooseMonText + db "@" + +OaksLabText19: + TX_ASM + ld hl, OaksLabRivalInterjectionText + call PrintText + jp TextScriptEnd + +OaksLabRivalInterjectionText: + TX_FAR _OaksLabRivalInterjectionText + db "@" + +OaksLabText20: + TX_ASM + ld hl, OaksLabBePatientText + call PrintText + jp TextScriptEnd + +OaksLabBePatientText: + TX_FAR _OaksLabBePatientText + db "@" + +OaksLabText12: + TX_ASM + ld hl, OaksLabLeavingText + call PrintText + jp TextScriptEnd + +OaksLabLeavingText: + TX_FAR _OaksLabLeavingText + db "@" + +OaksLabText13: + TX_ASM + ld hl, OaksLabRivalPickingMonText + call PrintText + jp TextScriptEnd + +OaksLabRivalPickingMonText: + TX_FAR _OaksLabRivalPickingMonText + db "@" + +OaksLabText14: + TX_ASM + ld hl, OaksLabRivalReceivedMonText + call PrintText + jp TextScriptEnd + +OaksLabRivalReceivedMonText: + TX_FAR _OaksLabRivalReceivedMonText + TX_SFX_KEY_ITEM + db "@" + +OaksLabText15: + TX_ASM + ld hl, OaksLabRivalChallengeText + call PrintText + jp TextScriptEnd + +OaksLabRivalChallengeText: + TX_FAR _OaksLabRivalChallengeText + db "@" + +OaksLabText_1d3be: + TX_FAR _OaksLabText_1d3be + db "@" + +OaksLabText_1d3c3: + TX_FAR _OaksLabText_1d3c3 + db "@" + +OaksLabText16: + TX_ASM + ld hl, OaksLabRivalToughenUpText + call PrintText + jp TextScriptEnd + +OaksLabRivalToughenUpText: + TX_FAR _OaksLabRivalToughenUpText + db "@" + +OaksLabText21: + TX_FAR _OaksLabText21 + db "@" + +OaksLabText22: + TX_FAR _OaksLabText22 + db "@" + +OaksLabText23: + TX_FAR _OaksLabText23 + db "@" + +OaksLabText24: + TX_FAR _OaksLabText24 + db "@" + +OaksLabText25: + TX_FAR _OaksLabText25 + TX_SFX_KEY_ITEM + db "@" + +OaksLabText26: + TX_FAR _OaksLabText26 + db "@" + +OaksLabText27: + TX_FAR _OaksLabText27 + db "@" + +OaksLabText11: +OaksLabText10: + TX_ASM + ld hl, OaksLabText_1d405 + call PrintText + jp TextScriptEnd + +OaksLabText_1d405: + TX_FAR _OaksLabText_1d405 + db "@" diff --git a/scripts/PalletTown.asm b/scripts/PalletTown.asm new file mode 100755 index 00000000..5ad7d40f --- /dev/null +++ b/scripts/PalletTown.asm @@ -0,0 +1,214 @@ +PalletTown_Script: + CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK + jr z, .next + SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS +.next + call EnableAutoTextBoxDrawing + ld hl, PalletTown_ScriptPointers + ld a, [wPalletTownCurScript] + jp CallFunctionInTable + +PalletTown_ScriptPointers: + dw PalletTownScript0 + dw PalletTownScript1 + dw PalletTownScript2 + dw PalletTownScript3 + dw PalletTownScript4 + dw PalletTownScript5 + dw PalletTownScript6 + +PalletTownScript0: + CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB + ret nz + ld a, [wYCoord] + cp 1 ; is player near north exit? + ret nz + xor a + ld [hJoyHeld], a + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + ld a, $FF + call PlaySound ; stop music + ld a, BANK(Music_MeetProfOak) + ld c, a + ld a, MUSIC_MEET_PROF_OAK ; “oak appears” music + call PlayMusic + ld a, $FC + ld [wJoyIgnore], a + SetEvent EVENT_OAK_APPEARED_IN_PALLET + + ; trigger the next script + ld a, 1 + ld [wPalletTownCurScript], a + ret + +PalletTownScript1: + xor a + ld [wcf0d], a + ld a, 1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $FF + ld [wJoyIgnore], a + ld a, HS_PALLET_TOWN_OAK + ld [wMissableObjectIndex], a + predef ShowObject + + ; trigger the next script + ld a, 2 + ld [wPalletTownCurScript], a + ret + +PalletTownScript2: + ld a, 1 + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_UP + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + call Delay3 + ld a, 1 + ld [wYCoord], a + ld a, 1 + ld [hNPCPlayerRelativePosPerspective], a + ld a, 1 + swap a + ld [hNPCSpriteOffset], a + predef CalcPositionOfPlayerRelativeToNPC + ld hl, hNPCPlayerYDistance + dec [hl] + predef FindPathToPlayer ; load Oak’s movement into wNPCMovementDirections2 + ld de, wNPCMovementDirections2 + ld a, 1 ; oak + ld [H_SPRITEINDEX], a + call MoveSprite + ld a, $FF + ld [wJoyIgnore], a + + ; trigger the next script + ld a, 3 + ld [wPalletTownCurScript], a + ret + +PalletTownScript3: + ld a, [wd730] + bit 0, a + ret nz + xor a ; ld a, SPRITE_FACING_DOWN + ld [wSpriteStateData1 + 9], a + ld a, 1 + ld [wcf0d], a + ld a, $FC + ld [wJoyIgnore], a + ld a, 1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID +; set up movement script that causes the player to follow Oak to his lab + ld a, $FF + ld [wJoyIgnore], a + ld a, 1 + ld [wSpriteIndex], a + xor a + ld [wNPCMovementScriptFunctionNum], a + ld a, 1 + ld [wNPCMovementScriptPointerTableNum], a + ld a, [H_LOADEDROMBANK] + ld [wNPCMovementScriptBank], a + + ; trigger the next script + ld a, 4 + ld [wPalletTownCurScript], a + ret + +PalletTownScript4: + ld a, [wNPCMovementScriptPointerTableNum] + and a ; is the movement script over? + ret nz + + ; trigger the next script + ld a, 5 + ld [wPalletTownCurScript], a + ret + +PalletTownScript5: + CheckEvent EVENT_DAISY_WALKING + jr nz, .next + CheckBothEventsSet EVENT_GOT_TOWN_MAP, EVENT_ENTERED_BLUES_HOUSE, 1 + jr nz, .next + SetEvent EVENT_DAISY_WALKING + ld a, HS_DAISY_SITTING + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_DAISY_WALKING + ld [wMissableObjectIndex], a + predef_jump ShowObject +.next + CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK + ret z + SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 +PalletTownScript6: + ret + +PalletTown_TextPointers: + dw PalletTownText1 + dw PalletTownText2 + dw PalletTownText3 + dw PalletTownText4 + dw PalletTownText5 + dw PalletTownText6 + dw PalletTownText7 + +PalletTownText1: + TX_ASM + ld a, [wcf0d] + and a + jr nz, .next + ld a, 1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, OakAppearsText + jr .done +.next + ld hl, OakWalksUpText +.done + call PrintText + jp TextScriptEnd + +OakAppearsText: + TX_FAR _OakAppearsText + TX_ASM + ld c, 10 + call DelayFrames + xor a + ld [wEmotionBubbleSpriteIndex], a ; player's sprite + ld [wWhichEmotionBubble], a ; EXCLAMATION_BUBBLE + predef EmotionBubble + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + jp TextScriptEnd + +OakWalksUpText: + TX_FAR _OakWalksUpText + db "@" + +PalletTownText2: ; girl + TX_FAR _PalletTownText2 + db "@" + +PalletTownText3: ; fat man + TX_FAR _PalletTownText3 + db "@" + +PalletTownText4: ; sign by lab + TX_FAR _PalletTownText4 + db "@" + +PalletTownText5: ; sign by fence + TX_FAR _PalletTownText5 + db "@" + +PalletTownText6: ; sign by Red’s house + TX_FAR _PalletTownText6 + db "@" + +PalletTownText7: ; sign by Blue’s house + TX_FAR _PalletTownText7 + db "@" diff --git a/scripts/PewterCity.asm b/scripts/PewterCity.asm new file mode 100755 index 00000000..dcc449c1 --- /dev/null +++ b/scripts/PewterCity.asm @@ -0,0 +1,322 @@ +PewterCity_Script: + call EnableAutoTextBoxDrawing + ld hl, PewterCity_ScriptPointers + ld a, [wPewterCityCurScript] + jp CallFunctionInTable + +PewterCity_ScriptPointers: + dw PewterCityScript0 + dw PewterCityScript1 + dw PewterCityScript2 + dw PewterCityScript3 + dw PewterCityScript4 + dw PewterCityScript5 + dw PewterCityScript6 + +PewterCityScript0: + xor a + ld [wMuseum1FCurScript], a + ResetEvent EVENT_BOUGHT_MUSEUM_TICKET + call PewterCityScript_1925e + ret + +PewterCityScript_1925e: + CheckEvent EVENT_BEAT_BROCK + ret nz + ld hl, CoordsData_19277 + call ArePlayerCoordsInArray + ret nc + ld a, $f0 + ld [wJoyIgnore], a + ld a, $5 + ld [hSpriteIndexOrTextID], a + jp DisplayTextID + +CoordsData_19277: + db $11,$23 + db $11,$24 + db $12,$25 + db $13,$25 + db $ff + +PewterCityScript1: + ld a, [wNPCMovementScriptPointerTableNum] + and a + ret nz + ld a, $3 + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_UP + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, ($3 << 4) | SPRITE_FACING_UP + ld [hSpriteImageIndex], a + call SetSpriteImageIndexAfterSettingFacingDirection + call PlayDefaultMusic + ld hl, wFlags_0xcd60 + set 4, [hl] + ld a, $d + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $3c + ld [$ffeb], a + ld a, $30 + ld [$ffec], a + ld a, $c + ld [$ffed], a + ld a, $11 + ld [$ffee], a + ld a, $3 + ld [wSpriteIndex], a + call SetSpritePosition1 + ld a, $3 + ld [H_SPRITEINDEX], a + ld de, MovementData_PewterMuseumGuyExit + call MoveSprite + ld a, $2 + ld [wPewterCityCurScript], a + ret + +MovementData_PewterMuseumGuyExit: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +PewterCityScript2: + ld a, [wd730] + bit 0, a + ret nz + ld a, HS_MUSEUM_GUY + ld [wMissableObjectIndex], a + predef HideObject + ld a, $3 + ld [wPewterCityCurScript], a + ret + +PewterCityScript3: + ld a, $3 + ld [wSpriteIndex], a + call SetSpritePosition2 + ld a, HS_MUSEUM_GUY + ld [wMissableObjectIndex], a + predef ShowObject + xor a + ld [wJoyIgnore], a + ld a, $0 + ld [wPewterCityCurScript], a + ret + +PewterCityScript4: + ld a, [wNPCMovementScriptPointerTableNum] + and a + ret nz + ld a, $5 + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_LEFT + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, ($1 << 4) | SPRITE_FACING_LEFT + ld [hSpriteImageIndex], a + call SetSpriteImageIndexAfterSettingFacingDirection + call PlayDefaultMusic + ld hl, wFlags_0xcd60 + set 4, [hl] + ld a, $e + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $3c + ld [$ffeb], a + ld a, $40 + ld [$ffec], a + ld a, $16 + ld [$ffed], a + ld a, $10 + ld [$ffee], a + ld a, $5 + ld [wSpriteIndex], a + call SetSpritePosition1 + ld a, $5 + ld [H_SPRITEINDEX], a + ld de, MovementData_PewterGymGuyExit + call MoveSprite + ld a, $5 + ld [wPewterCityCurScript], a + ret + +MovementData_PewterGymGuyExit: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF + +PewterCityScript5: + ld a, [wd730] + bit 0, a + ret nz + ld a, HS_GYM_GUY + ld [wMissableObjectIndex], a + predef HideObject + ld a, $6 + ld [wPewterCityCurScript], a + ret + +PewterCityScript6: + ld a, $5 + ld [wSpriteIndex], a + call SetSpritePosition2 + ld a, HS_GYM_GUY + ld [wMissableObjectIndex], a + predef ShowObject + xor a + ld [wJoyIgnore], a + ld a, $0 + ld [wPewterCityCurScript], a + ret + +PewterCity_TextPointers: + dw PewterCityText1 + dw PewterCityText2 + dw PewterCityText3 + dw PewterCityText4 + dw PewterCityText5 + dw PewterCityText6 + dw PewterCityText7 + dw MartSignText + dw PokeCenterSignText + dw PewterCityText10 + dw PewterCityText11 + dw PewterCityText12 + dw PewterCityText13 + dw PewterCityText14 + +PewterCityText1: + TX_FAR _PewterCityText1 + db "@" + +PewterCityText2: + TX_FAR _PewterCityText2 + db "@" + +PewterCityText3: + TX_ASM + ld hl, PewterCityText_193f1 + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_193c9 + ld hl, PewterCityText_193f6 + call PrintText + jr .asm_193ee +.asm_193c9 + ld hl, PewterCityText_193fb + call PrintText + xor a + ld [hJoyPressed], a + ld [hJoyHeld], a + ld [wNPCMovementScriptFunctionNum], a + ld a, $2 + ld [wNPCMovementScriptPointerTableNum], a + ld a, [H_LOADEDROMBANK] + ld [wNPCMovementScriptBank], a + ld a, $3 + ld [wSpriteIndex], a + call GetSpritePosition2 + ld a, $1 + ld [wPewterCityCurScript], a +.asm_193ee + jp TextScriptEnd + +PewterCityText_193f1: + TX_FAR _PewterCityText_193f1 + db "@" + +PewterCityText_193f6: + TX_FAR _PewterCityText_193f6 + db "@" + +PewterCityText_193fb: + TX_FAR _PewterCityText_193fb + db "@" + +PewterCityText13: + TX_FAR _PewterCityText13 + db "@" + +PewterCityText4: + TX_ASM + ld hl, PewterCityText_19427 + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + cp $0 + jr nz, .asm_1941e + ld hl, PewterCityText_1942c + call PrintText + jr .asm_19424 +.asm_1941e + ld hl, PewterCityText_19431 + call PrintText +.asm_19424 + jp TextScriptEnd + +PewterCityText_19427: + TX_FAR _PewterCityText_19427 + db "@" + +PewterCityText_1942c: + TX_FAR _PewterCityText_1942c + db "@" + +PewterCityText_19431: + TX_FAR _PewterCityText_19431 + db "@" + +PewterCityText5: + TX_ASM + ld hl, PewterCityText_1945d + call PrintText + xor a + ld [hJoyHeld], a + ld [wNPCMovementScriptFunctionNum], a + ld a, $3 + ld [wNPCMovementScriptPointerTableNum], a + ld a, [H_LOADEDROMBANK] + ld [wNPCMovementScriptBank], a + ld a, $5 + ld [wSpriteIndex], a + call GetSpritePosition2 + ld a, $4 + ld [wPewterCityCurScript], a + jp TextScriptEnd + +PewterCityText_1945d: + TX_FAR _PewterCityText_1945d + db "@" + +PewterCityText14: + TX_FAR _PewterCityText14 + db "@" + +PewterCityText6: + TX_FAR _PewterCityText6 + db "@" + +PewterCityText7: + TX_FAR _PewterCityText7 + db "@" + +PewterCityText10: + TX_FAR _PewterCityText10 + db "@" + +PewterCityText11: + TX_FAR _PewterCityText11 + db "@" + +PewterCityText12: + TX_FAR _PewterCityText12 + db "@" diff --git a/scripts/PewterGym.asm b/scripts/PewterGym.asm new file mode 100755 index 00000000..6dd24b08 --- /dev/null +++ b/scripts/PewterGym.asm @@ -0,0 +1,228 @@ +PewterGym_Script: + ld hl, wCurrentMapScriptFlags + bit 6, [hl] + res 6, [hl] + call nz, PewterGymScript_5c3a4 + call EnableAutoTextBoxDrawing + ld hl, PewterGymTrainerHeader0 + ld de, PewterGym_ScriptPointers + ld a, [wPewterGymCurScript] + call ExecuteCurMapScriptInTable + ld [wPewterGymCurScript], a + ret + +PewterGymScript_5c3a4: + ld hl, Gym1CityName + ld de, Gym1LeaderName + jp LoadGymLeaderAndCityName + +Gym1CityName: + db "PEWTER CITY@" + +Gym1LeaderName: + db "BROCK@" + +PewterGymScript_5c3bf: + xor a + ld [wJoyIgnore], a + ld [wPewterGymCurScript], a + ld [wCurMapScript], a + ret + +PewterGym_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw PewterGymScript3 + +PewterGymScript3: + ld a, [wIsInBattle] + cp $ff + jp z, PewterGymScript_5c3bf + ld a, $f0 + ld [wJoyIgnore], a + +PewterGymScript_5c3df: + ld a, $4 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_BEAT_BROCK + lb bc, TM_34, 1 + call GiveItem + jr nc, .BagFull + ld a, $5 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_GOT_TM34 + jr .asm_5c408 +.BagFull + ld a, $6 + ld [hSpriteIndexOrTextID], a + call DisplayTextID +.asm_5c408 + ld hl, wObtainedBadges + set 0, [hl] + ld hl, wBeatGymFlags + set 0, [hl] + + ld a, HS_GYM_GUY + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_ROUTE_22_RIVAL_1 + ld [wMissableObjectIndex], a + predef HideObject + + ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE + + ; deactivate gym trainers + SetEvent EVENT_BEAT_PEWTER_GYM_TRAINER_0 + + jp PewterGymScript_5c3bf + +PewterGym_TextPointers: + dw PewterGymText1 + dw PewterGymText2 + dw PewterGymText3 + dw PewterGymText4 + dw PewterGymText5 + dw PewterGymText6 + +PewterGymTrainerHeader0: + dbEventFlagBit EVENT_BEAT_PEWTER_GYM_TRAINER_0 + db ($5 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_PEWTER_GYM_TRAINER_0 + dw PewterGymBattleText1 ; TextBeforeBattle + dw PewterGymAfterBattleText1 ; TextAfterBattle + dw PewterGymEndBattleText1 ; TextEndBattle + dw PewterGymEndBattleText1 ; TextEndBattle + + db $ff + +PewterGymText1: + TX_ASM + CheckEvent EVENT_BEAT_BROCK + jr z, .asm_5c46a + CheckEventReuseA EVENT_GOT_TM34 + jr nz, .asm_5c462 + call z, PewterGymScript_5c3df + call DisableWaitingAfterTextDisplay + jr .asm_5c49b +.asm_5c462 + ld hl, PewterGymText_5c4a3 + call PrintText + jr .asm_5c49b +.asm_5c46a + ld hl, PewterGymText_5c49e + call PrintText + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, PewterGymText_5c4bc + ld de, PewterGymText_5c4bc + call SaveEndBattleTextPointers + ld a, [H_SPRITEINDEX] + ld [wSpriteIndex], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $1 + ld [wGymLeaderNo], a + xor a + ld [hJoyHeld], a + ld a, $3 + ld [wPewterGymCurScript], a + ld [wCurMapScript], a +.asm_5c49b + jp TextScriptEnd + +PewterGymText_5c49e: + TX_FAR _PewterGymText_5c49e + db "@" + +PewterGymText_5c4a3: + TX_FAR _PewterGymText_5c4a3 + db "@" + +PewterGymText4: + TX_FAR _TM34PreReceiveText + db "@" + +PewterGymText5: + TX_FAR _ReceivedTM34Text + TX_SFX_ITEM_1 + TX_FAR _TM34ExplanationText + db "@" + +PewterGymText6: + TX_FAR _TM34NoRoomText + db "@" + +PewterGymText_5c4bc: + TX_FAR _PewterGymText_5c4bc + TX_SFX_LEVEL_UP ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded + TX_FAR _PewterGymText_5c4c1 + db "@" + +PewterGymText2: + TX_ASM + ld hl, PewterGymTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +PewterGymBattleText1: + TX_FAR _PewterGymBattleText1 + db "@" + +PewterGymEndBattleText1: + TX_FAR _PewterGymEndBattleText1 + db "@" + +PewterGymAfterBattleText1: + TX_FAR _PewterGymAfterBattleText1 + db "@" + +PewterGymText3: + TX_ASM + ld a, [wBeatGymFlags] + bit 0, a + jr nz, .asm_5c50c + ld hl, PewterGymText_5c515 + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_5c4fe + ld hl, PewterGymText_5c51a + call PrintText + jr .asm_5c504 +.asm_5c4fe + ld hl, PewterGymText_5c524 + call PrintText +.asm_5c504 + ld hl, PewterGymText_5c51f + call PrintText + jr .asm_5c512 +.asm_5c50c + ld hl, PewterGymText_5c529 + call PrintText +.asm_5c512 + jp TextScriptEnd + +PewterGymText_5c515: + TX_FAR _PewterGymText_5c515 + db "@" + +PewterGymText_5c51a: + TX_FAR _PewterGymText_5c51a + db "@" + +PewterGymText_5c51f: + TX_FAR _PewterGymText_5c51f + db "@" + +PewterGymText_5c524: + TX_FAR _PewterGymText_5c524 + db "@" + +PewterGymText_5c529: + TX_FAR _PewterGymText_5c529 + db "@" diff --git a/scripts/PewterMart.asm b/scripts/PewterMart.asm new file mode 100755 index 00000000..c71f8413 --- /dev/null +++ b/scripts/PewterMart.asm @@ -0,0 +1,28 @@ +PewterMart_Script: + call EnableAutoTextBoxDrawing + ld a, $1 + ld [wAutoTextBoxDrawingControl], a + ret + +PewterMart_TextPointers: + dw PewterCashierText + dw PewterMartText2 + dw PewterMartText3 + +PewterMartText2: + TX_ASM + ld hl, .Text + call PrintText + jp TextScriptEnd +.Text + TX_FAR _PewterMartText2 + db "@" + +PewterMartText3: + TX_ASM + ld hl, .Text + call PrintText + jp TextScriptEnd +.Text + TX_FAR _PewterMartText3 + db "@" diff --git a/scripts/PewterNidoranHouse.asm b/scripts/PewterNidoranHouse.asm new file mode 100755 index 00000000..a4e85e08 --- /dev/null +++ b/scripts/PewterNidoranHouse.asm @@ -0,0 +1,23 @@ +PewterNidoranHouse_Script: + jp EnableAutoTextBoxDrawing + +PewterNidoranHouse_TextPointers: + dw PewterHouse1Text1 + dw PewterHouse1Text2 + dw PewterHouse1Text3 + +PewterHouse1Text1: + TX_FAR _PewterHouse1Text1 + TX_ASM + ld a, NIDORAN_M + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + +PewterHouse1Text2: + TX_FAR _PewterHouse1Text2 + db "@" + +PewterHouse1Text3: + TX_FAR _PewterHouse1Text3 + db "@" diff --git a/scripts/PewterPokecenter.asm b/scripts/PewterPokecenter.asm new file mode 100755 index 00000000..68115050 --- /dev/null +++ b/scripts/PewterPokecenter.asm @@ -0,0 +1,84 @@ +PewterPokecenter_Script: + call Serial_TryEstablishingExternallyClockedConnection + jp EnableAutoTextBoxDrawing + +PewterPokecenter_TextPointers: + dw PewterHealNurseText + dw PewterPokecenterText2 + dw PewterJigglypuffText + dw PewterTradeNurseText + +PewterHealNurseText: + TX_POKECENTER_NURSE + +PewterPokecenterText2: + TX_FAR _PewterPokecenterText2 + db "@" + +PewterJigglypuffText: + TX_ASM + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, .Text + call PrintText + StopAllMusic + ld c, 32 + call DelayFrames + ld hl, JigglypuffFacingDirections + ld de, wJigglypuffFacingDirections + ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections + call CopyData + + ld a, [wSprite03StateData1ImageIndex] + ld hl, wJigglypuffFacingDirections +.findMatchingFacingDirectionLoop + cp [hl] + inc hl + jr nz, .findMatchingFacingDirectionLoop + dec hl + push hl + ld c, BANK(Music_JigglypuffSong) + ld a, MUSIC_JIGGLYPUFF_SONG + call PlayMusic + pop hl +.loop + ld a, [hl] + ld [wSprite03StateData1ImageIndex], a + +; rotate the array + push hl + ld hl, wJigglypuffFacingDirections + ld de, wJigglypuffFacingDirections - 1 + ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections + call CopyData + ld a, [wJigglypuffFacingDirections - 1] + ld [wJigglypuffFacingDirections + 3], a + pop hl + + ld c, 24 + call DelayFrames + + ld a, [wChannelSoundIDs] + ld b, a + ld a, [wChannelSoundIDs + Ch1] + or b + jr nz, .loop + + ld c, 48 + call DelayFrames + call PlayDefaultMusic + jp TextScriptEnd + +.Text + TX_FAR _PewterJigglypuffText + db "@" + +JigglypuffFacingDirections: + db $30 | SPRITE_FACING_DOWN + db $30 | SPRITE_FACING_LEFT + db $30 | SPRITE_FACING_UP + db $30 | SPRITE_FACING_RIGHT +JigglypuffFacingDirectionsEnd: + +PewterTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/PewterSpeechHouse.asm b/scripts/PewterSpeechHouse.asm new file mode 100755 index 00000000..943e1759 --- /dev/null +++ b/scripts/PewterSpeechHouse.asm @@ -0,0 +1,14 @@ +PewterSpeechHouse_Script: + jp EnableAutoTextBoxDrawing + +PewterSpeechHouse_TextPointers: + dw PewterHouse2Text1 + dw PewterHouse2Text2 + +PewterHouse2Text1: + TX_FAR _PewterHouse2Text1 + db "@" + +PewterHouse2Text2: + TX_FAR _PewterHouse2Text2 + db "@" diff --git a/scripts/PokemonFanClub.asm b/scripts/PokemonFanClub.asm new file mode 100755 index 00000000..673d6011 --- /dev/null +++ b/scripts/PokemonFanClub.asm @@ -0,0 +1,173 @@ +PokemonFanClub_Script: + jp EnableAutoTextBoxDrawing + +FanClubBikeInBag: +; check if any bike paraphernalia in bag + CheckEvent EVENT_GOT_BIKE_VOUCHER + ret nz + ld b, BICYCLE + call IsItemInBag + ret nz + ld b, BIKE_VOUCHER + jp IsItemInBag + +PokemonFanClub_TextPointers: + dw FanClubText1 + dw FanClubText2 + dw FanClubText3 + dw FanClubText4 + dw FanClubText5 + dw FanClubText6 + dw FanClubText7 + dw FanClubText8 + +FanClubText1: +; pikachu fan + TX_ASM + CheckEvent EVENT_PIKACHU_FAN_BOAST + jr nz, .mineisbetter + ld hl, .normaltext + call PrintText + SetEvent EVENT_SEEL_FAN_BOAST + jr .done +.mineisbetter + ld hl, .bettertext + call PrintText + ResetEvent EVENT_PIKACHU_FAN_BOAST +.done + jp TextScriptEnd + +.normaltext + TX_FAR PikachuFanText + db "@" + +.bettertext + TX_FAR PikachuFanBetterText + db "@" + +FanClubText2: +; seel fan + TX_ASM + CheckEvent EVENT_SEEL_FAN_BOAST + jr nz, .mineisbetter + ld hl, .normaltext + call PrintText + SetEvent EVENT_PIKACHU_FAN_BOAST + jr .done +.mineisbetter + ld hl, .bettertext + call PrintText + ResetEvent EVENT_SEEL_FAN_BOAST +.done + jp TextScriptEnd + +.normaltext + TX_FAR SeelFanText + db "@" + +.bettertext + TX_FAR SeelFanBetterText + db "@" + +FanClubText3: +; pikachu + TX_ASM + ld hl, .text + call PrintText + ld a, PIKACHU + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + +.text + TX_FAR FanClubPikachuText + db "@" + +FanClubText4: +; seel + TX_ASM + ld hl, .text + call PrintText + ld a, SEEL + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + +.text + TX_FAR FanClubSeelText + db "@" + +FanClubText5: +; chair + TX_ASM + call FanClubBikeInBag + jr nz, .nothingleft + + ld hl, .meetchairtext + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .nothanks + + ; tell the story + ld hl, .storytext + call PrintText + lb bc, BIKE_VOUCHER, 1 + call GiveItem + jr nc, .BagFull + ld hl, .receivedvouchertext + call PrintText + SetEvent EVENT_GOT_BIKE_VOUCHER + jr .done +.BagFull + ld hl, .bagfulltext + call PrintText + jr .done +.nothanks + ld hl, .nostorytext + call PrintText + jr .done +.nothingleft + ld hl, .finaltext + call PrintText +.done + jp TextScriptEnd + +.meetchairtext + TX_FAR FanClubMeetChairText + db "@" + +.storytext + TX_FAR FanClubChairStoryText + db "@" + +.receivedvouchertext + TX_FAR ReceivedBikeVoucherText + TX_SFX_KEY_ITEM + TX_FAR ExplainBikeVoucherText + db "@" + +.nostorytext + TX_FAR FanClubNoStoryText + db "@" + +.finaltext + TX_FAR FanClubChairFinalText + db "@" + +.bagfulltext + TX_FAR FanClubBagFullText + db "@" + +FanClubText6: + TX_FAR _FanClubText6 + db "@" + +FanClubText7: + TX_FAR _FanClubText7 + db "@" + +FanClubText8: + TX_FAR _FanClubText8 + db "@" diff --git a/scripts/PokemonMansion1F.asm b/scripts/PokemonMansion1F.asm new file mode 100755 index 00000000..41f40635 --- /dev/null +++ b/scripts/PokemonMansion1F.asm @@ -0,0 +1,134 @@ +PokemonMansion1F_Script: + call Mansion1Subscript1 + call EnableAutoTextBoxDrawing + ld hl, Mansion1TrainerHeader0 + ld de, PokemonMansion1F_ScriptPointers + ld a, [wPokemonMansion1FCurScript] + call ExecuteCurMapScriptInTable + ld [wPokemonMansion1FCurScript], a + ret + +Mansion1Subscript1: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + CheckEvent EVENT_MANSION_SWITCH_ON + jr nz, .asm_442ec + lb bc, 6, 12 + call Mansion1Script_4430b + lb bc, 3, 8 + call Mansion1Script_44304 + lb bc, 8, 10 + call Mansion1Script_44304 + lb bc, 13, 13 + jp Mansion1Script_44304 +.asm_442ec + lb bc, 6, 12 + call Mansion1Script_44304 + lb bc, 3, 8 + call Mansion1Script_4430b + lb bc, 8, 10 + call Mansion1Script_4430b + lb bc, 13, 13 + jp Mansion1Script_4430b + +Mansion1Script_44304: + ld a, $2d + ld [wNewTileBlockID], a + jr Mansion1ReplaceBlock + +Mansion1Script_4430b: + ld a, $e + ld [wNewTileBlockID], a +Mansion1ReplaceBlock: + predef ReplaceTileBlock + ret + +Mansion1Script_Switches: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + xor a + ld [hJoyHeld], a + ld a, $4 + ld [hSpriteIndexOrTextID], a + jp DisplayTextID + +PokemonMansion1F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +PokemonMansion1F_TextPointers: + dw Mansion1Text1 + dw PickUpItemText + dw PickUpItemText + dw Mansion1Text4 + +Mansion1TrainerHeader0: + dbEventFlagBit EVENT_BEAT_MANSION_1_TRAINER_0 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MANSION_1_TRAINER_0 + dw Mansion1BattleText2 ; TextBeforeBattle + dw Mansion1AfterBattleText2 ; TextAfterBattle + dw Mansion1EndBattleText2 ; TextEndBattle + dw Mansion1EndBattleText2 ; TextEndBattle + + db $ff + +Mansion1Text1: + TX_ASM + ld hl, Mansion1TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Mansion1BattleText2: + TX_FAR _Mansion1BattleText2 + db "@" + +Mansion1EndBattleText2: + TX_FAR _Mansion1EndBattleText2 + db "@" + +Mansion1AfterBattleText2: + TX_FAR _Mansion1AfterBattleText2 + db "@" + +Mansion1Text4: + TX_ASM + ld hl, MansionSwitchText + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_4438c + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, wCurrentMapScriptFlags + set 5, [hl] + ld hl, MansionSwitchPressedText + call PrintText + ld a, SFX_GO_INSIDE + call PlaySound + CheckAndSetEvent EVENT_MANSION_SWITCH_ON + jr z, .asm_44392 + ResetEventReuseHL EVENT_MANSION_SWITCH_ON + jr .asm_44392 +.asm_4438c + ld hl, MansionSwitchNotPressedText + call PrintText +.asm_44392 + jp TextScriptEnd + +MansionSwitchText: + TX_FAR _MansionSwitchText + db "@" + +MansionSwitchPressedText: + TX_FAR _MansionSwitchPressedText + db "@" + +MansionSwitchNotPressedText: + TX_FAR _MansionSwitchNotPressedText + db "@" diff --git a/scripts/PokemonMansion2F.asm b/scripts/PokemonMansion2F.asm new file mode 100755 index 00000000..a7b90bcd --- /dev/null +++ b/scripts/PokemonMansion2F.asm @@ -0,0 +1,140 @@ +PokemonMansion2F_Script: + call Mansion2Script_51fee + call EnableAutoTextBoxDrawing + ld hl, Mansion2TrainerHeader0 + ld de, PokemonMansion2F_ScriptPointers + ld a, [wPokemonMansion2FCurScript] + call ExecuteCurMapScriptInTable + ld [wPokemonMansion2FCurScript], a + ret + +Mansion2Script_51fee: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + CheckEvent EVENT_MANSION_SWITCH_ON + jr nz, .asm_52016 + ld a, $e + lb bc, 2, 4 + call Mansion2Script_5202f + ld a, $54 + lb bc, 4, 9 + call Mansion2Script_5202f + ld a, $5f + lb bc, 11, 3 + call Mansion2Script_5202f + ret +.asm_52016 + ld a, $5f + lb bc, 2, 4 + call Mansion2Script_5202f + ld a, $e + lb bc, 4, 9 + call Mansion2Script_5202f + ld a, $e + lb bc, 11, 3 + call Mansion2Script_5202f + ret + +Mansion2Script_5202f: + ld [wNewTileBlockID], a + predef_jump ReplaceTileBlock + +Mansion2Script_Switches: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + xor a + ld [hJoyHeld], a + ld a, $5 + ld [hSpriteIndexOrTextID], a + jp DisplayTextID + +PokemonMansion2F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +PokemonMansion2F_TextPointers: + dw Mansion2Text1 + dw PickUpItemText + dw Mansion2Text3 + dw Mansion2Text4 + dw Mansion2Text5 + +Mansion2TrainerHeader0: + dbEventFlagBit EVENT_BEAT_MANSION_2_TRAINER_0 + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MANSION_2_TRAINER_0 + dw Mansion2BattleText1 ; TextBeforeBattle + dw Mansion2AfterBattleText1 ; TextAfterBattle + dw Mansion2EndBattleText1 ; TextEndBattle + dw Mansion2EndBattleText1 ; TextEndBattle + + db $ff + +Mansion2Text1: + TX_ASM + ld hl, Mansion2TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Mansion2BattleText1: + TX_FAR _Mansion2BattleText1 + db "@" + +Mansion2EndBattleText1: + TX_FAR _Mansion2EndBattleText1 + db "@" + +Mansion2AfterBattleText1: + TX_FAR _Mansion2AfterBattleText1 + db "@" + +Mansion2Text3: + TX_FAR _Mansion2Text3 + db "@" + +Mansion2Text4: + TX_FAR _Mansion2Text4 + db "@" + +Mansion3Text6: +Mansion2Text5: + TX_ASM + ld hl, Mansion2Text_520c2 + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_520b9 + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, wCurrentMapScriptFlags + set 5, [hl] + ld hl, Mansion2Text_520c7 + call PrintText + ld a, SFX_GO_INSIDE + call PlaySound + CheckAndSetEvent EVENT_MANSION_SWITCH_ON + jr z, .asm_520bf + ResetEventReuseHL EVENT_MANSION_SWITCH_ON + jr .asm_520bf +.asm_520b9 + ld hl, Mansion2Text_520cc + call PrintText +.asm_520bf + jp TextScriptEnd + +Mansion2Text_520c2: + TX_FAR _Mansion2Text_520c2 + db "@" + +Mansion2Text_520c7: + TX_FAR _Mansion2Text_520c7 + db "@" + +Mansion2Text_520cc: + TX_FAR _Mansion2Text_520cc + db "@" diff --git a/scripts/PokemonMansion3F.asm b/scripts/PokemonMansion3F.asm new file mode 100755 index 00000000..3edc7bfd --- /dev/null +++ b/scripts/PokemonMansion3F.asm @@ -0,0 +1,151 @@ +PokemonMansion3F_Script: + call Mansion3Script_52204 + call EnableAutoTextBoxDrawing + ld hl, Mansion3TrainerHeader0 + ld de, PokemonMansion3F_ScriptPointers + ld a, [wPokemonMansion3FCurScript] + call ExecuteCurMapScriptInTable + ld [wPokemonMansion3FCurScript], a + ret + +Mansion3Script_52204: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + CheckEvent EVENT_MANSION_SWITCH_ON + jr nz, .asm_52224 + ld a, $e + ld bc, $207 + call Mansion2Script_5202f + ld a, $5f + ld bc, $507 + call Mansion2Script_5202f + ret +.asm_52224 + ld a, $5f + ld bc, $207 + call Mansion2Script_5202f + ld a, $e + ld bc, $507 + call Mansion2Script_5202f + ret + +PokemonMansion3F_ScriptPointers: + dw Mansion3Script0 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Mansion3Script0: + ld hl, CoordsData_52254 + call Mansion3Script_5225b + ld a, [wWhichDungeonWarp] + and a + jp z, CheckFightingMapTrainers + cp $3 + ld a, $a5 + jr nz, .asm_52250 + ld a, $d6 +.asm_52250 + ld [wDungeonWarpDestinationMap], a + ret + +CoordsData_52254: + db $0E,$10 + db $0E,$11 + db $0E,$13 + db $FF + +Mansion3Script_5225b: + xor a + ld [wWhichDungeonWarp], a + ld a, [wd72d] + bit 4, a + ret nz + call ArePlayerCoordsInArray + ret nc + ld a, [wCoordIndex] + ld [wWhichDungeonWarp], a + ld hl, wd72d + set 4, [hl] + ld hl, wd732 + set 4, [hl] + ret + +Mansion3Script_Switches: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + xor a + ld [hJoyHeld], a + ld a, $6 + ld [hSpriteIndexOrTextID], a + jp DisplayTextID + +PokemonMansion3F_TextPointers: + dw Mansion3Text1 + dw Mansion3Text2 + dw PickUpItemText + dw PickUpItemText + dw Mansion3Text5 + dw Mansion3Text6 + +Mansion3TrainerHeader0: + dbEventFlagBit EVENT_BEAT_MANSION_3_TRAINER_0 + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MANSION_3_TRAINER_0 + dw Mansion3BattleText1 ; TextBeforeBattle + dw Mansion3AfterBattleText1 ; TextAfterBattle + dw Mansion3EndBattleText1 ; TextEndBattle + dw Mansion3EndBattleText1 ; TextEndBattle + +Mansion3TrainerHeader1: + dbEventFlagBit EVENT_BEAT_MANSION_3_TRAINER_1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MANSION_3_TRAINER_1 + dw Mansion3BattleText2 ; TextBeforeBattle + dw Mansion3AfterBattleText2 ; TextAfterBattle + dw Mansion3EndBattleText2 ; TextEndBattle + dw Mansion3EndBattleText2 ; TextEndBattle + + db $ff + +Mansion3Text1: + TX_ASM + ld hl, Mansion3TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Mansion3Text2: + TX_ASM + ld hl, Mansion3TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Mansion3BattleText1: + TX_FAR _Mansion3BattleText1 + db "@" + +Mansion3EndBattleText1: + TX_FAR _Mansion3EndBattleText1 + db "@" + +Mansion3AfterBattleText1: + TX_FAR _Mansion3AfterBattleText1 + db "@" + +Mansion3BattleText2: + TX_FAR _Mansion3BattleText2 + db "@" + +Mansion3EndBattleText2: + TX_FAR _Mansion3EndBattleText2 + db "@" + +Mansion3AfterBattleText2: + TX_FAR _Mansion3AfterBattleText2 + db "@" + +Mansion3Text5: + TX_FAR _Mansion3Text5 + db "@" diff --git a/scripts/PokemonMansionB1F.asm b/scripts/PokemonMansionB1F.asm new file mode 100755 index 00000000..887b4762 --- /dev/null +++ b/scripts/PokemonMansionB1F.asm @@ -0,0 +1,130 @@ +PokemonMansionB1F_Script: + call Mansion4Script_523cf + call EnableAutoTextBoxDrawing + ld hl, Mansion4TrainerHeader0 + ld de, PokemonMansionB1F_ScriptPointers + ld a, [wPokemonMansionB1FCurScript] + call ExecuteCurMapScriptInTable + ld [wPokemonMansionB1FCurScript], a + ret + +Mansion4Script_523cf: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + CheckEvent EVENT_MANSION_SWITCH_ON + jr nz, .asm_523ff + ld a, $e + ld bc, $80d + call Mansion2Script_5202f + ld a, $e + ld bc, $b06 + call Mansion2Script_5202f + ld a, $5f + ld bc, $304 + call Mansion2Script_5202f + ld a, $54 + ld bc, $808 + call Mansion2Script_5202f + ret +.asm_523ff + ld a, $2d + ld bc, $80d + call Mansion2Script_5202f + ld a, $5f + ld bc, $b06 + call Mansion2Script_5202f + ld a, $e + ld bc, $304 + call Mansion2Script_5202f + ld a, $e + ld bc, $808 + call Mansion2Script_5202f + ret + +Mansion4Script_Switches: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + xor a + ld [hJoyHeld], a + ld a, $9 + ld [hSpriteIndexOrTextID], a + jp DisplayTextID + +PokemonMansionB1F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +PokemonMansionB1F_TextPointers: + dw Mansion4Text1 + dw Mansion4Text2 + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw Mansion4Text7 + dw PickUpItemText + dw Mansion3Text6 + +Mansion4TrainerHeader0: + dbEventFlagBit EVENT_BEAT_MANSION_4_TRAINER_0 + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MANSION_4_TRAINER_0 + dw Mansion4BattleText1 ; TextBeforeBattle + dw Mansion4AfterBattleText1 ; TextAfterBattle + dw Mansion4EndBattleText1 ; TextEndBattle + dw Mansion4EndBattleText1 ; TextEndBattle + +Mansion4TrainerHeader1: + dbEventFlagBit EVENT_BEAT_MANSION_4_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MANSION_4_TRAINER_1 + dw Mansion4BattleText2 ; TextBeforeBattle + dw Mansion4AfterBattleText2 ; TextAfterBattle + dw Mansion4EndBattleText2 ; TextEndBattle + dw Mansion4EndBattleText2 ; TextEndBattle + + db $ff + +Mansion4Text1: + TX_ASM + ld hl, Mansion4TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Mansion4Text2: + TX_ASM + ld hl, Mansion4TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Mansion4BattleText1: + TX_FAR _Mansion4BattleText1 + db "@" + +Mansion4EndBattleText1: + TX_FAR _Mansion4EndBattleText1 + db "@" + +Mansion4AfterBattleText1: + TX_FAR _Mansion4AfterBattleText1 + db "@" + +Mansion4BattleText2: + TX_FAR _Mansion4BattleText2 + db "@" + +Mansion4EndBattleText2: + TX_FAR _Mansion4EndBattleText2 + db "@" + +Mansion4AfterBattleText2: + TX_FAR _Mansion4AfterBattleText2 + db "@" + +Mansion4Text7: + TX_FAR _Mansion4Text7 + db "@" diff --git a/scripts/PokemonTower1F.asm b/scripts/PokemonTower1F.asm new file mode 100755 index 00000000..66b5505c --- /dev/null +++ b/scripts/PokemonTower1F.asm @@ -0,0 +1,29 @@ +PokemonTower1F_Script: + jp EnableAutoTextBoxDrawing + +PokemonTower1F_TextPointers: + dw PokemonTower1Text1 + dw PokemonTower1Text2 + dw PokemonTower1Text3 + dw PokemonTower1Text4 + dw PokemonTower1Text5 + +PokemonTower1Text1: + TX_FAR _PokemonTower1Text1 + db "@" + +PokemonTower1Text2: + TX_FAR _PokemonTower1Text2 + db "@" + +PokemonTower1Text3: + TX_FAR _PokemonTower1Text3 + db "@" + +PokemonTower1Text4: + TX_FAR _PokemonTower1Text4 + db "@" + +PokemonTower1Text5: + TX_FAR _PokemonTower1Text5 + db "@" diff --git a/scripts/PokemonTower2F.asm b/scripts/PokemonTower2F.asm new file mode 100755 index 00000000..81f4c0b3 --- /dev/null +++ b/scripts/PokemonTower2F.asm @@ -0,0 +1,188 @@ +PokemonTower2F_Script: + call EnableAutoTextBoxDrawing + ld hl, PokemonTower2F_ScriptPointers + ld a, [wPokemonTower2FCurScript] + jp CallFunctionInTable + +PokemonTower2Script_604fe: + xor a + ld [wJoyIgnore], a + ld [wPokemonTower2FCurScript], a + ld [wCurMapScript], a + ret + +PokemonTower2F_ScriptPointers: + dw PokemonTower2Script0 + dw PokemonTower2Script1 + dw PokemonTower2Script2 + +PokemonTower2Script0: + CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL + ret nz + ld hl, CoordsData_6055e + call ArePlayerCoordsInArray + ret nc + ld a, $ff + ld [wNewSoundID], a + call PlaySound + ld c, BANK(Music_MeetRival) + ld a, MUSIC_MEET_RIVAL + call PlayMusic + ResetEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT + ld a, [wCoordIndex] + cp $1 + ld a, PLAYER_DIR_UP + ld b, SPRITE_FACING_DOWN + jr nz, .asm_60544 +; the rival is on the left side and the player is on the right side + SetEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT + ld a, PLAYER_DIR_LEFT + ld b, SPRITE_FACING_RIGHT +.asm_60544 + ld [wPlayerMovingDirection], a + ld a, $1 + ld [H_SPRITEINDEX], a + ld a, b + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, $1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [hJoyHeld], a + ld [hJoyPressed], a + ret + +CoordsData_6055e: + db $05,$0F + db $06,$0E + db $0F ; isn't this supposed to end in $ff? + +PokemonTower2Script1: + ld a, [wIsInBattle] + cp $ff + jp z, PokemonTower2Script_604fe + ld a, $f0 + ld [wJoyIgnore], a + SetEvent EVENT_BEAT_POKEMON_TOWER_RIVAL + ld a, $1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld de, MovementData_605b2 + CheckEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT + jr nz, .asm_60589 + ld de, MovementData_605a9 +.asm_60589 + ld a, $1 + ld [H_SPRITEINDEX], a + call MoveSprite + ld a, $ff + ld [wNewSoundID], a + call PlaySound + callba Music_RivalAlternateStart + ld a, $2 + ld [wPokemonTower2FCurScript], a + ld [wCurMapScript], a + ret + +MovementData_605a9: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF + +MovementData_605b2: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +PokemonTower2Script2: + ld a, [wd730] + bit 0, a + ret nz + ld a, HS_POKEMON_TOWER_2F_RIVAL + ld [wMissableObjectIndex], a + predef HideObject + xor a + ld [wJoyIgnore], a + call PlayDefaultMusic + ld a, $0 + ld [wPokemonTower2FCurScript], a + ld [wCurMapScript], a + ret + +PokemonTower2F_TextPointers: + dw PokemonTower2Text1 + dw PokemonTower2Text2 + +PokemonTower2Text1: + TX_ASM + CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL + jr z, .asm_16f24 + ld hl, PokemonTower2Text_6063c + call PrintText + jr .asm_41852 +.asm_16f24 + ld hl, PokemonTower2Text_6062d + call PrintText + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, PokemonTower2Text_60632 + ld de, PokemonTower2Text_60637 + call SaveEndBattleTextPointers + ld a, OPP_SONY2 + ld [wCurOpponent], a + + ; select which team to use during the encounter + ld a, [wRivalStarter] + cp STARTER2 + jr nz, .NotSquirtle + ld a, $4 + jr .done +.NotSquirtle + cp STARTER3 + jr nz, .Charmander + ld a, $5 + jr .done +.Charmander + ld a, $6 +.done + ld [wTrainerNo], a + + ld a, $1 + ld [wPokemonTower2FCurScript], a + ld [wCurMapScript], a +.asm_41852 + jp TextScriptEnd + +PokemonTower2Text_6062d: + TX_FAR _PokemonTower2Text_6062d + db "@" + +PokemonTower2Text_60632: + TX_FAR _PokemonTower2Text_60632 + db "@" + +PokemonTower2Text_60637: + TX_FAR _PokemonTower2Text_60637 + db "@" + +PokemonTower2Text_6063c: + TX_FAR _PokemonTower2Text_6063c + db "@" + +PokemonTower2Text2: + TX_FAR _PokemonTower2Text2 + db "@" diff --git a/scripts/PokemonTower3F.asm b/scripts/PokemonTower3F.asm new file mode 100755 index 00000000..7d8f63e9 --- /dev/null +++ b/scripts/PokemonTower3F.asm @@ -0,0 +1,101 @@ +PokemonTower3F_Script: + call EnableAutoTextBoxDrawing + ld hl, PokemonTower3TrainerHeader0 + ld de, PokemonTower3F_ScriptPointers + ld a, [wPokemonTower3FCurScript] + call ExecuteCurMapScriptInTable + ld [wPokemonTower3FCurScript], a + ret + +PokemonTower3F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +PokemonTower3F_TextPointers: + dw PokemonTower3Text1 + dw PokemonTower3Text2 + dw PokemonTower3Text3 + dw PickUpItemText + +PokemonTower3TrainerHeader0: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 + dw PokemonTower3BattleText1 ; TextBeforeBattle + dw PokemonTower3AfterBattleText1 ; TextAfterBattle + dw PokemonTower3EndBattleText1 ; TextEndBattle + dw PokemonTower3EndBattleText1 ; TextEndBattle + +PokemonTower3TrainerHeader1: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 + dw PokemonTower3BattleText2 ; TextBeforeBattle + dw PokemonTower3AfterBattleText2 ; TextAfterBattle + dw PokemonTower3EndBattleText2 ; TextEndBattle + dw PokemonTower3EndBattleText2 ; TextEndBattle + +PokemonTower3TrainerHeader2: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 + dw PokemonTower3BattleText3 ; TextBeforeBattle + dw PokemonTower3AfterBattleText3 ; TextAfterBattle + dw PokemonTower3EndBattleText3 ; TextEndBattle + dw PokemonTower3EndBattleText3 ; TextEndBattle + db $ff + +PokemonTower3Text1: + TX_ASM + ld hl, PokemonTower3TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower3Text2: + TX_ASM + ld hl, PokemonTower3TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower3Text3: + TX_ASM + ld hl, PokemonTower3TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower3BattleText1: + TX_FAR _PokemonTower3BattleText1 + db "@" + +PokemonTower3EndBattleText1: + TX_FAR _PokemonTower3EndBattleText1 + db "@" + +PokemonTower3AfterBattleText1: + TX_FAR _PokemonTower3AfterBattleText1 + db "@" + +PokemonTower3BattleText2: + TX_FAR _PokemonTower3BattleText2 + db "@" + +PokemonTower3EndBattleText2: + TX_FAR _PokemonTower3EndBattleText2 + db "@" + +PokemonTower3AfterBattleText2: + TX_FAR _PokemonTower3AfterBattleText2 + db "@" + +PokemonTower3BattleText3: + TX_FAR _PokemonTower3BattleText3 + db "@" + +PokemonTower3EndBattleText3: + TX_FAR _PokemonTower3EndBattleText3 + db "@" + +PokemonTower3AfterBattleText3: + TX_FAR _PokemonTower3AfterBattleText3 + db "@" diff --git a/scripts/PokemonTower4F.asm b/scripts/PokemonTower4F.asm new file mode 100755 index 00000000..b8e0d772 --- /dev/null +++ b/scripts/PokemonTower4F.asm @@ -0,0 +1,104 @@ +PokemonTower4F_Script: + call EnableAutoTextBoxDrawing + ld hl, PokemonTower4TrainerHeader0 + ld de, PokemonTower4F_ScriptPointers + ld a, [wPokemonTower4FCurScript] + call ExecuteCurMapScriptInTable + ld [wPokemonTower4FCurScript], a + ret + +PokemonTower4F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +PokemonTower4F_TextPointers: + dw PokemonTower4Text1 + dw PokemonTower4Text2 + dw PokemonTower4Text3 + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + +PokemonTower4TrainerHeader0: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 + dw PokemonTower4BattleText1 ; TextBeforeBattle + dw PokemonTower4AfterBattleText1 ; TextAfterBattle + dw PokemonTower4EndBattleText1 ; TextEndBattle + dw PokemonTower4EndBattleText1 ; TextEndBattle + +PokemonTower4TrainerHeader1: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 + dw PokemonTower4BattleText2 ; TextBeforeBattle + dw PokemonTower4AfterBattleText2 ; TextAfterBattle + dw PokemonTower4EndBattleText2 ; TextEndBattle + dw PokemonTower4EndBattleText2 ; TextEndBattle + +PokemonTower4TrainerHeader2: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 + dw PokemonTower4BattleText3 ; TextBeforeBattle + dw PokemonTower4AfterBattleText3 ; TextAfterBattle + dw PokemonTower4EndBattleText3 ; TextEndBattle + dw PokemonTower4EndBattleText3 ; TextEndBattle + + db $ff + +PokemonTower4Text1: + TX_ASM + ld hl, PokemonTower4TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower4Text2: + TX_ASM + ld hl, PokemonTower4TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower4Text3: + TX_ASM + ld hl, PokemonTower4TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower4BattleText1: + TX_FAR _PokemonTower4BattleText1 + db "@" + +PokemonTower4EndBattleText1: + TX_FAR _PokemonTower4EndBattleText1 + db "@" + +PokemonTower4AfterBattleText1: + TX_FAR _PokemonTower4AfterBattleText1 + db "@" + +PokemonTower4BattleText2: + TX_FAR _PokemonTower4BattleText2 + db "@" + +PokemonTower4EndBattleText2: + TX_FAR _PokemonTower4EndBattleText2 + db "@" + +PokemonTower4AfterBattleText2: + TX_FAR _PokemonTower4AfterBattleText2 + db "@" + +PokemonTower4BattleText3: + TX_FAR _PokemonTower4BattleText3 + db "@" + +PokemonTower4EndBattleText3: + TX_FAR _PokemonTower4EndBattleText3 + db "@" + +PokemonTower4AfterBattleText3: + TX_FAR _PokemonTower4AfterBattleText3 + db "@" diff --git a/scripts/PokemonTower5F.asm b/scripts/PokemonTower5F.asm new file mode 100755 index 00000000..299261e9 --- /dev/null +++ b/scripts/PokemonTower5F.asm @@ -0,0 +1,176 @@ +PokemonTower5F_Script: + call EnableAutoTextBoxDrawing + ld hl, PokemonTower5TrainerHeader0 + ld de, PokemonTower5F_ScriptPointers + ld a, [wPokemonTower5FCurScript] + call ExecuteCurMapScriptInTable + ld [wPokemonTower5FCurScript], a + ret + +PokemonTower5F_ScriptPointers: + dw PokemonTower5Script0 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +PokemonTower5Script0: + ld hl, CoordsData_60992 + call ArePlayerCoordsInArray + jr c, .asm_60960 + ld hl, wd72e + res 4, [hl] + ResetEvent EVENT_IN_PURIFIED_ZONE + jp CheckFightingMapTrainers +.asm_60960 + CheckAndSetEvent EVENT_IN_PURIFIED_ZONE + ret nz + xor a + ld [hJoyHeld], a + ld a, $f0 + ld [wJoyIgnore], a + ld hl, wd72e + set 4, [hl] + predef HealParty + call GBFadeOutToWhite + call Delay3 + call Delay3 + call GBFadeInFromWhite + ld a, $7 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [wJoyIgnore], a + ret + +CoordsData_60992: + db $08,$0A + db $08,$0B + db $09,$0A + db $09,$0B + db $FF + +PokemonTower5F_TextPointers: + dw PokemonTower5Text1 + dw PokemonTower5Text2 + dw PokemonTower5Text3 + dw PokemonTower5Text4 + dw PokemonTower5Text5 + dw PickUpItemText + dw PokemonTower5Text7 + +PokemonTower5TrainerHeader0: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 + dw PokemonTower5BattleText1 ; TextBeforeBattle + dw PokemonTower5AfterBattleText1 ; TextAfterBattle + dw PokemonTower5EndBattleText1 ; TextEndBattle + dw PokemonTower5EndBattleText1 ; TextEndBattle + +PokemonTower5TrainerHeader1: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 + dw PokemonTower5BattleText2 ; TextBeforeBattle + dw PokemonTower5AfterBattleText2 ; TextAfterBattle + dw PokemonTower5EndBattleText2 ; TextEndBattle + dw PokemonTower5EndBattleText2 ; TextEndBattle + +PokemonTower5TrainerHeader2: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 + dw PokemonTower5BattleText3 ; TextBeforeBattle + dw PokemonTower5AfterBattleText3 ; TextAfterBattle + dw PokemonTower5EndBattleText3 ; TextEndBattle + dw PokemonTower5EndBattleText3 ; TextEndBattle + +PokemonTower5TrainerHeader3: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 + dw PokemonTower5BattleText4 ; TextBeforeBattle + dw PokemonTower5AfterBattleText4 ; TextAfterBattle + dw PokemonTower5EndBattleText4 ; TextEndBattle + dw PokemonTower5EndBattleText4 ; TextEndBattle + + db $ff + +PokemonTower5Text1: + TX_FAR _PokemonTower5Text1 + db "@" + +PokemonTower5Text2: + TX_ASM + ld hl, PokemonTower5TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower5BattleText1: + TX_FAR _PokemonTower5BattleText1 + db "@" + +PokemonTower5EndBattleText1: + TX_FAR _PokemonTower5EndBattleText1 + db "@" + +PokemonTower5AfterBattleText1: + TX_FAR _PokemonTower5AfterBattleText1 + db "@" + +PokemonTower5Text3: + TX_ASM + ld hl, PokemonTower5TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower5BattleText2: + TX_FAR _PokemonTower5BattleText2 + db "@" + +PokemonTower5EndBattleText2: + TX_FAR _PokemonTower5EndBattleText2 + db "@" + +PokemonTower5AfterBattleText2: + TX_FAR _PokemonTower5AfterBattleText2 + db "@" + +PokemonTower5Text4: + TX_ASM + ld hl, PokemonTower5TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower5BattleText3: + TX_FAR _PokemonTower5BattleText3 + db "@" + +PokemonTower5EndBattleText3: + TX_FAR _PokemonTower5EndBattleText3 + db "@" + +PokemonTower5AfterBattleText3: + TX_FAR _PokemonTower5AfterBattleText3 + db "@" + +PokemonTower5Text5: + TX_ASM + ld hl, PokemonTower5TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower5BattleText4: + TX_FAR _PokemonTower5BattleText4 + db "@" + +PokemonTower5EndBattleText4: + TX_FAR _PokemonTower5EndBattleText4 + db "@" + +PokemonTower5AfterBattleText4: + TX_FAR _PokemonTower5AfterBattleText4 + db "@" + +PokemonTower5Text7: + TX_FAR _PokemonTower5Text7 + db "@" diff --git a/scripts/PokemonTower6F.asm b/scripts/PokemonTower6F.asm new file mode 100755 index 00000000..14c07c48 --- /dev/null +++ b/scripts/PokemonTower6F.asm @@ -0,0 +1,212 @@ +PokemonTower6F_Script: + call EnableAutoTextBoxDrawing + ld hl, PokemonTower6TrainerHeader0 + ld de, PokemonTower6F_ScriptPointers + ld a, [wPokemonTower6FCurScript] + call ExecuteCurMapScriptInTable + ld [wPokemonTower6FCurScript], a + ret + +PokemonTower6Script_60b02: + xor a + ld [wJoyIgnore], a + ld [wPokemonTower6FCurScript], a + ld [wCurMapScript], a + ret + +PokemonTower6F_ScriptPointers: + dw PokemonTower6Script0 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw PokemonTower6Script3 + dw PokemonTower6Script4 + +PokemonTower6Script0: + CheckEvent EVENT_BEAT_GHOST_MAROWAK + jp nz, CheckFightingMapTrainers + ld hl, CoordsData_60b45 + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + xor a + ld [hJoyHeld], a + ld a, $6 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, MAROWAK + ld [wCurOpponent], a + ld a, 30 + ld [wCurEnemyLVL], a + ld a, $4 + ld [wPokemonTower6FCurScript], a + ld [wCurMapScript], a + ret + +CoordsData_60b45: + db $10,$0A,$FF + +PokemonTower6Script4: + ld a, [wIsInBattle] + cp $ff + jp z, PokemonTower6Script_60b02 + ld a, $ff + ld [wJoyIgnore], a + ld a, [wd72d] + bit 6, a + ret nz + call UpdateSprites + ld a, $f0 + ld [wJoyIgnore], a + ld a, [wBattleResult] + and a + jr nz, .asm_60b82 + SetEvent EVENT_BEAT_GHOST_MAROWAK + ld a, $7 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [wJoyIgnore], a + ld a, $0 + ld [wPokemonTower6FCurScript], a + ld [wCurMapScript], a + ret +.asm_60b82 + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + ld a, $10 + ld [wSimulatedJoypadStatesEnd], a + xor a + ld [wSpriteStateData2 + $06], a + ld [wOverrideSimulatedJoypadStatesMask], a + ld hl, wd730 + set 7, [hl] + ld a, $3 + ld [wPokemonTower6FCurScript], a + ld [wCurMapScript], a + ret + +PokemonTower6Script3: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + call Delay3 + xor a + ld [wPokemonTower6FCurScript], a + ld [wCurMapScript], a + ret + +PokemonTower6F_TextPointers: + dw PokemonTower6Text1 + dw PokemonTower6Text2 + dw PokemonTower6Text3 + dw PickUpItemText + dw PickUpItemText + dw PokemonTower6Text6 + dw PokemonTower6Text7 + +PokemonTower6TrainerHeader0: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 + dw PokemonTower6BattleText1 ; TextBeforeBattle + dw PokemonTower6AfterBattleText1 ; TextAfterBattle + dw PokemonTower6EndBattleText1 ; TextEndBattle + dw PokemonTower6EndBattleText1 ; TextEndBattle + +PokemonTower6TrainerHeader1: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 + dw PokemonTower6BattleText2 ; TextBeforeBattle + dw PokemonTower6AfterBattleText2 ; TextAfterBattle + dw PokemonTower6EndBattleText2 ; TextEndBattle + dw PokemonTower6EndBattleText2 ; TextEndBattle + +PokemonTower6TrainerHeader2: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 + dw PokemonTower6BattleText3 ; TextBeforeBattle + dw PokemonTower6AfterBattleText3 ; TextAfterBattle + dw PokemonTower6EndBattleText3 ; TextEndBattle + dw PokemonTower6EndBattleText3 ; TextEndBattle + + db $ff + +PokemonTower6Text1: + TX_ASM + ld hl, PokemonTower6TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower6Text2: + TX_ASM + ld hl, PokemonTower6TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower6Text3: + TX_ASM + ld hl, PokemonTower6TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower6Text7: + TX_ASM + ld hl, PokemonTower2Text_60c1f + call PrintText + ld a, MAROWAK + call PlayCry + call WaitForSoundToFinish + ld c, 30 + call DelayFrames + ld hl, PokemonTower2Text_60c24 + call PrintText + jp TextScriptEnd + +PokemonTower2Text_60c1f: + TX_FAR _PokemonTower2Text_60c1f + db "@" + +PokemonTower2Text_60c24: + TX_FAR _PokemonTower2Text_60c24 + db "@" + +PokemonTower6BattleText1: + TX_FAR _PokemonTower6BattleText1 + db "@" + +PokemonTower6EndBattleText1: + TX_FAR _PokemonTower6EndBattleText1 + db "@" + +PokemonTower6AfterBattleText1: + TX_FAR _PokemonTower6AfterBattleText1 + db "@" + +PokemonTower6BattleText2: + TX_FAR _PokemonTower6BattleText2 + db "@" + +PokemonTower6EndBattleText2: + TX_FAR _PokemonTower6EndBattleText2 + db "@" + +PokemonTower6AfterBattleText2: + TX_FAR _PokemonTower6AfterBattleText2 + db "@" + +PokemonTower6BattleText3: + TX_FAR _PokemonTower6BattleText3 + db "@" + +PokemonTower6EndBattleText3: + TX_FAR _PokemonTower6EndBattleText3 + db "@" + +PokemonTower6AfterBattleText3: + TX_FAR _PokemonTower6AfterBattleText3 + db "@" + +PokemonTower6Text6: + TX_FAR _PokemonTower6Text6 + db "@" diff --git a/scripts/PokemonTower7F.asm b/scripts/PokemonTower7F.asm new file mode 100755 index 00000000..4b2a1827 --- /dev/null +++ b/scripts/PokemonTower7F.asm @@ -0,0 +1,312 @@ +PokemonTower7F_Script: + call EnableAutoTextBoxDrawing + ld hl, PokemonTower7TrainerHeader0 + ld de, PokemonTower7F_ScriptPointers + ld a, [wPokemonTower7FCurScript] + call ExecuteCurMapScriptInTable + ld [wPokemonTower7FCurScript], a + ret + +PokemonTower7Script_60d18: + xor a + ld [wJoyIgnore], a + ld [wPokemonTower7FCurScript], a + ld [wCurMapScript], a + ret + +PokemonTower7F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw PokemonTower7Script2 + dw PokemonTower7Script3 + dw PokemonTower7Script4 + +PokemonTower7Script2: + ld hl, wFlags_0xcd60 + res 0, [hl] + ld a, [wIsInBattle] + cp $ff + jp z, PokemonTower7Script_60d18 + call EndTrainerBattle + ld a, $f0 + ld [wJoyIgnore], a + ld a, [wSpriteIndex] + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call PokemonTower7Script_60db6 + ld a, $3 + ld [wPokemonTower7FCurScript], a + ld [wCurMapScript], a + ret + +PokemonTower7Script3: + ld a, [wd730] + bit 0, a + ret nz + ld hl, wMissableObjectList + ld a, [wSpriteIndex] + ld b, a +.missableObjectsListLoop + ld a, [hli] + cp b ; search for sprite ID in missing objects list + ld a, [hli] + jr nz, .missableObjectsListLoop + ld [wMissableObjectIndex], a ; remove missable object + predef HideObject + xor a + ld [wJoyIgnore], a + ld [wSpriteIndex], a + ld [wTrainerHeaderFlagBit], a + ld [wUnusedDA38], a + ld a, $0 + ld [wPokemonTower7FCurScript], a + ld [wCurMapScript], a + ret + +PokemonTower7Script4: + ld a, $ff + ld [wJoyIgnore], a + ld a, HS_POKEMON_TOWER_7F_MR_FUJI + ld [wMissableObjectIndex], a + predef HideObject + ld a, SPRITE_FACING_UP + ld [wSpriteStateData1 + 9], a + ld a, MR_FUJIS_HOUSE + ld [hWarpDestinationMap], a + ld a, $1 + ld [wDestinationWarpID], a + ld a, LAVENDER_TOWN + ld [wLastMap], a + ld hl, wd72d + set 3, [hl] + ld a, $0 + ld [wPokemonTower7FCurScript], a + ld [wCurMapScript], a + ret + +PokemonTower7Script_60db6: + ld hl, CoordsData_60de3 + ld a, [wSpriteIndex] + dec a + swap a + ld d, $0 + ld e, a + add hl, de + ld a, [wYCoord] + ld b, a + ld a, [wXCoord] + ld c, a +.asm_60dcb + ld a, [hli] + cp b + jr nz, .asm_60dde + ld a, [hli] + cp c + jr nz, .asm_60ddf + ld a, [hli] + ld d, [hl] + ld e, a + ld a, [wSpriteIndex] + ld [H_SPRITEINDEX], a + jp MoveSprite +.asm_60dde + inc hl +.asm_60ddf + inc hl + inc hl + jr .asm_60dcb + +CoordsData_60de3: + db $0C,$09 + dw MovementData_60e13 + db $0B,$0A + dw MovementData_60e1b + db $0B,$0B + dw MovementData_60e22 + db $0B,$0C + dw MovementData_60e22 + db $0A,$0C + dw MovementData_60e28 + db $09,$0B + dw MovementData_60e30 + db $09,$0A + dw MovementData_60e22 + db $09,$09 + dw MovementData_60e22 + db $08,$09 + dw MovementData_60e37 + db $07,$0A + dw MovementData_60e22 + db $07,$0B + dw MovementData_60e22 + db $07,$0C + dw MovementData_60e22 + +MovementData_60e13: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_LEFT + db $FF + +MovementData_60e1b: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +MovementData_60e22: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +MovementData_60e28: + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +MovementData_60e30: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +MovementData_60e37: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +PokemonTower7F_TextPointers: + dw PokemonTower7Text1 + dw PokemonTower7Text2 + dw PokemonTower7Text3 + dw PokemonTower7FujiText + +PokemonTower7TrainerHeader0: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 + dw PokemonTower7BattleText1 ; TextBeforeBattle + dw PokemonTower7AfterBattleText1 ; TextAfterBattle + dw PokemonTower7EndBattleText1 ; TextEndBattle + dw PokemonTower7EndBattleText1 ; TextEndBattle + +PokemonTower7TrainerHeader1: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 + dw PokemonTower7BattleText2 ; TextBeforeBattle + dw PokemonTower7AfterBattleText2 ; TextAfterBattle + dw PokemonTower7EndBattleText2 ; TextEndBattle + dw PokemonTower7EndBattleText2 ; TextEndBattle + +PokemonTower7TrainerHeader2: + dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 + dw PokemonTower7BattleText3 ; TextBeforeBattle + dw PokemonTower7AfterBattleText3 ; TextAfterBattle + dw PokemonTower7EndBattleText3 ; TextEndBattle + dw PokemonTower7EndBattleText3 ; TextEndBattle + + db $ff + +PokemonTower7Text1: + TX_ASM + ld hl, PokemonTower7TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower7Text2: + TX_ASM + ld hl, PokemonTower7TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower7Text3: + TX_ASM + ld hl, PokemonTower7TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower7FujiText: + TX_ASM + ld hl, TowerRescueFujiText + call PrintText + SetEvent EVENT_RESCUED_MR_FUJI + SetEvent EVENT_RESCUED_MR_FUJI_2 + ld a, HS_MR_FUJIS_HOUSE_MR_FUJI + ld [wMissableObjectIndex], a + predef ShowObject + ld a, HS_SAFFRON_CITY_E + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_SAFFRON_CITY_F + ld [wMissableObjectIndex], a + predef ShowObject + ld a, $4 + ld [wPokemonTower7FCurScript], a + ld [wCurMapScript], a + jp TextScriptEnd + +TowerRescueFujiText: + TX_FAR _TowerRescueFujiText + db "@" + +PokemonTower7BattleText1: + TX_FAR _PokemonTower7BattleText1 + db "@" + +PokemonTower7EndBattleText1: + TX_FAR _PokemonTower7EndBattleText1 + db "@" + +PokemonTower7AfterBattleText1: + TX_FAR _PokemonTower7AfterBattleText1 + db "@" + +PokemonTower7BattleText2: + TX_FAR _PokemonTower7BattleText2 + db "@" + +PokemonTower7EndBattleText2: + TX_FAR _PokemonTower7EndBattleText2 + db "@" + +PokemonTower7AfterBattleText2: + TX_FAR _PokemonTower7AfterBattleText2 + db "@" + +PokemonTower7BattleText3: + TX_FAR _PokemonTower7BattleText3 + db "@" + +PokemonTower7EndBattleText3: + TX_FAR _PokemonTower7EndBattleText3 + db "@" + +PokemonTower7AfterBattleText3: + TX_FAR _PokemonTower7AfterBattleText3 + db "@" diff --git a/scripts/PowerPlant.asm b/scripts/PowerPlant.asm new file mode 100755 index 00000000..35b4893f --- /dev/null +++ b/scripts/PowerPlant.asm @@ -0,0 +1,175 @@ +PowerPlant_Script: + call EnableAutoTextBoxDrawing + ld hl, Voltorb0TrainerHeader + ld de, PowerPlant_ScriptPointers + ld a, [wPowerPlantCurScript] + call ExecuteCurMapScriptInTable + ld [wPowerPlantCurScript], a + ret + +PowerPlant_ScriptPointers + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +PowerPlant_TextPointers: + dw Voltorb0Text + dw Voltorb1Text + dw Voltorb2Text + dw Voltorb3Text + dw Voltorb4Text + dw Voltorb5Text + dw Voltorb6Text + dw Voltorb7Text + dw ZapdosText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + +Voltorb0TrainerHeader: + dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_0 + db 0 ; view range + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_0 + dw VoltorbBattleText ; TextBeforeBattle + dw VoltorbBattleText ; TextAfterBattle + dw VoltorbBattleText ; TextEndBattle + dw VoltorbBattleText ; TextEndBattle + +Voltorb1TrainerHeader: + dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_1 + db 0 ; view range + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_1 + dw VoltorbBattleText ; TextBeforeBattle + dw VoltorbBattleText ; TextAfterBattle + dw VoltorbBattleText ; TextEndBattle + dw VoltorbBattleText ; TextEndBattle + +Voltorb2TrainerHeader: + dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_2 + db 0 ; view range + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_2 + dw VoltorbBattleText ; TextBeforeBattle + dw VoltorbBattleText ; TextAfterBattle + dw VoltorbBattleText ; TextEndBattle + dw VoltorbBattleText ; TextEndBattle + +Voltorb3TrainerHeader: + dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_3 + db 0 ; view range + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_3 + dw VoltorbBattleText ; TextBeforeBattle + dw VoltorbBattleText ; TextAfterBattle + dw VoltorbBattleText ; TextEndBattle + dw VoltorbBattleText ; TextEndBattle + +Voltorb4TrainerHeader: + dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_4 + db 0 ; view range + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_4 + dw VoltorbBattleText ; TextBeforeBattle + dw VoltorbBattleText ; TextAfterBattle + dw VoltorbBattleText ; TextEndBattle + dw VoltorbBattleText ; TextEndBattle + +Voltorb5TrainerHeader: + dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_5 + db 0 ; view range + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_5 + dw VoltorbBattleText ; TextBeforeBattle + dw VoltorbBattleText ; TextAfterBattle + dw VoltorbBattleText ; TextEndBattle + dw VoltorbBattleText ; TextEndBattle + +Voltorb6TrainerHeader: + dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_6 + db 0 ; view range + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_6 + dw VoltorbBattleText ; TextBeforeBattle + dw VoltorbBattleText ; TextAfterBattle + dw VoltorbBattleText ; TextEndBattle + dw VoltorbBattleText ; TextEndBattle + +Voltorb7TrainerHeader: + dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_7, 1 + db 0 ; view range + dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_7, 1 + dw VoltorbBattleText ; TextBeforeBattle + dw VoltorbBattleText ; TextAfterBattle + dw VoltorbBattleText ; TextEndBattle + dw VoltorbBattleText ; TextEndBattle + +ZapdosTrainerHeader: + dbEventFlagBit EVENT_BEAT_ZAPDOS, 1 + db 0 ; view range + dwEventFlagAddress EVENT_BEAT_ZAPDOS, 1 + dw ZapdosBattleText ; TextBeforeBattle + dw ZapdosBattleText ; TextAfterBattle + dw ZapdosBattleText ; TextEndBattle + dw ZapdosBattleText ; TextEndBattle + + db $ff + +InitVoltorbBattle: + call TalkToTrainer + ld a, [wCurMapScript] + ld [wPowerPlantCurScript], a + jp TextScriptEnd + +Voltorb0Text: + TX_ASM + ld hl, Voltorb0TrainerHeader + jr InitVoltorbBattle + +Voltorb1Text: + TX_ASM + ld hl, Voltorb1TrainerHeader + jr InitVoltorbBattle + +Voltorb2Text: + TX_ASM + ld hl, Voltorb2TrainerHeader + jr InitVoltorbBattle + +Voltorb3Text: + TX_ASM + ld hl, Voltorb3TrainerHeader + jr InitVoltorbBattle + +Voltorb4Text: + TX_ASM + ld hl, Voltorb4TrainerHeader + jr InitVoltorbBattle + +Voltorb5Text: + TX_ASM + ld hl, Voltorb5TrainerHeader + jr InitVoltorbBattle + +Voltorb6Text: + TX_ASM + ld hl, Voltorb6TrainerHeader + jr InitVoltorbBattle + +Voltorb7Text: + TX_ASM + ld hl, Voltorb7TrainerHeader + jr InitVoltorbBattle + +ZapdosText: + TX_ASM + ld hl, ZapdosTrainerHeader + jr InitVoltorbBattle + +VoltorbBattleText: + TX_FAR _VoltorbBattleText + db "@" + +ZapdosBattleText: + TX_FAR _ZapdosBattleText + TX_ASM + ld a, ZAPDOS + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd diff --git a/scripts/RedsHouse1F.asm b/scripts/RedsHouse1F.asm new file mode 100755 index 00000000..b982d71c --- /dev/null +++ b/scripts/RedsHouse1F.asm @@ -0,0 +1,69 @@ +RedsHouse1F_Script: + jp EnableAutoTextBoxDrawing + +RedsHouse1F_TextPointers: + dw RedsHouse1FText1 + dw RedsHouse1FText2 + +RedsHouse1FText1: ; Mom + TX_ASM + ld a, [wd72e] + bit 3, a + jr nz, .heal ; if player has received a Pokémon from Oak, heal team + ld hl, MomWakeUpText + call PrintText + jr .done +.heal + call MomHealPokemon +.done + jp TextScriptEnd + +MomWakeUpText: + TX_FAR _MomWakeUpText + db "@" + +MomHealPokemon: + ld hl, MomHealText1 + call PrintText + call GBFadeOutToWhite + call ReloadMapData + predef HealParty + ld a, MUSIC_PKMN_HEALED + ld [wNewSoundID], a + call PlaySound +.next + ld a, [wChannelSoundIDs] + cp MUSIC_PKMN_HEALED + jr z, .next + ld a, [wMapMusicSoundID] + ld [wNewSoundID], a + call PlaySound + call GBFadeInFromWhite + ld hl, MomHealText2 + jp PrintText + +MomHealText1: + TX_FAR _MomHealText1 + db "@" +MomHealText2: + TX_FAR _MomHealText2 + db "@" + +RedsHouse1FText2: ; TV + TX_ASM + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ld hl, TVWrongSideText + jr nz, .notUp + ld hl, StandByMeText +.notUp + call PrintText + jp TextScriptEnd + +StandByMeText: + TX_FAR _StandByMeText + db "@" + +TVWrongSideText: + TX_FAR _TVWrongSideText + db "@" diff --git a/scripts/RedsHouse2F.asm b/scripts/RedsHouse2F.asm new file mode 100755 index 00000000..5ec86678 --- /dev/null +++ b/scripts/RedsHouse2F.asm @@ -0,0 +1,24 @@ +RedsHouse2F_Script: + call EnableAutoTextBoxDrawing + ld hl, RedsHouse2F_ScriptPointers + ld a, [wRedsHouse2FCurScript] + jp CallFunctionInTable + +RedsHouse2F_ScriptPointers: + dw RedsHouse2FScript0 + dw RedsHouse2FScript1 + +RedsHouse2FScript0: + xor a + ld [hJoyHeld], a + ld a, PLAYER_DIR_UP + ld [wPlayerMovingDirection], a + ld a, 1 + ld [wRedsHouse2FCurScript], a + ret + +RedsHouse2FScript1: + ret + +RedsHouse2F_TextPointers: + db "@" diff --git a/scripts/RockTunnel1F.asm b/scripts/RockTunnel1F.asm new file mode 100755 index 00000000..94620d96 --- /dev/null +++ b/scripts/RockTunnel1F.asm @@ -0,0 +1,213 @@ +RockTunnel1F_Script: + call EnableAutoTextBoxDrawing + ld hl, RockTunnel1TrainerHeader0 + ld de, RockTunnel1F_ScriptPointers + ld a, [wRockTunnel1FCurScript] + call ExecuteCurMapScriptInTable + ld [wRockTunnel1FCurScript], a + ret + +RockTunnel1F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +RockTunnel1F_TextPointers: + dw RockTunnel1Text1 + dw RockTunnel1Text2 + dw RockTunnel1Text3 + dw RockTunnel1Text4 + dw RockTunnel1Text5 + dw RockTunnel1Text6 + dw RockTunnel1Text7 + dw RockTunnel1Text8 + +RockTunnel1TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0 + dw RockTunnel1BattleText1 ; TextBeforeBattle + dw RockTunnel1AfterBattleText1 ; TextAfterBattle + dw RockTunnel1EndBattleText1 ; TextEndBattle + dw RockTunnel1EndBattleText1 ; TextEndBattle + +RockTunnel1TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 + dw RockTunnel1BattleText2 ; TextBeforeBattle + dw RockTunnel1AfterBattleText2 ; TextAfterBattle + dw RockTunnel1EndBattleText2 ; TextEndBattle + dw RockTunnel1EndBattleText2 ; TextEndBattle + +RockTunnel1TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 + dw RockTunnel1BattleText3 ; TextBeforeBattle + dw RockTunnel1AfterBattleText3 ; TextAfterBattle + dw RockTunnel1EndBattleText3 ; TextEndBattle + dw RockTunnel1EndBattleText3 ; TextEndBattle + +RockTunnel1TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 + dw RockTunnel1BattleText4 ; TextBeforeBattle + dw RockTunnel1AfterBattleText4 ; TextAfterBattle + dw RockTunnel1EndBattleText4 ; TextEndBattle + dw RockTunnel1EndBattleText4 ; TextEndBattle + +RockTunnel1TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 + dw RockTunnel1BattleText5 ; TextBeforeBattle + dw RockTunnel1AfterBattleText5 ; TextAfterBattle + dw RockTunnel1EndBattleText5 ; TextEndBattle + dw RockTunnel1EndBattleText5 ; TextEndBattle + +RockTunnel1TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 + dw RockTunnel1BattleText6 ; TextBeforeBattle + dw RockTunnel1AfterBattleText6 ; TextAfterBattle + dw RockTunnel1EndBattleText6 ; TextEndBattle + dw RockTunnel1EndBattleText6 ; TextEndBattle + +RockTunnel1TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 + dw RockTunnel1BattleText7 ; TextBeforeBattle + dw RockTunnel1AfterBattleText7 ; TextAfterBattle + dw RockTunnel1EndBattleText7 ; TextEndBattle + dw RockTunnel1EndBattleText7 ; TextEndBattle + + db $ff + +RockTunnel1Text1: + TX_ASM + ld hl, RockTunnel1TrainerHeader0 + jr RockTunnel1TalkToTrainer + +RockTunnel1Text2: + TX_ASM + ld hl, RockTunnel1TrainerHeader1 + jr RockTunnel1TalkToTrainer + +RockTunnel1Text3: + TX_ASM + ld hl, RockTunnel1TrainerHeader2 + jr RockTunnel1TalkToTrainer + +RockTunnel1Text4: + TX_ASM + ld hl, RockTunnel1TrainerHeader3 + jr RockTunnel1TalkToTrainer + +RockTunnel1Text5: + TX_ASM + ld hl, RockTunnel1TrainerHeader4 + jr RockTunnel1TalkToTrainer + +RockTunnel1Text6: + TX_ASM + ld hl, RockTunnel1TrainerHeader5 + jr RockTunnel1TalkToTrainer + +RockTunnel1Text7: + TX_ASM + ld hl, RockTunnel1TrainerHeader6 +RockTunnel1TalkToTrainer: + call TalkToTrainer + jp TextScriptEnd + +RockTunnel1BattleText1: + TX_FAR _RockTunnel1BattleText1 + db "@" + +RockTunnel1EndBattleText1: + TX_FAR _RockTunnel1EndBattleText1 + db "@" + +RockTunnel1AfterBattleText1: + TX_FAR _RockTunnel1AfterBattleText1 + db "@" + +RockTunnel1BattleText2: + TX_FAR _RockTunnel1BattleText2 + db "@" + +RockTunnel1EndBattleText2: + TX_FAR _RockTunnel1EndBattleText2 + db "@" + +RockTunnel1AfterBattleText2: + TX_FAR _RockTunnel1AfterBattleText2 + db "@" + +RockTunnel1BattleText3: + TX_FAR _RockTunnel1BattleText3 + db "@" + +RockTunnel1EndBattleText3: + TX_FAR _RockTunnel1EndBattleText3 + db "@" + +RockTunnel1AfterBattleText3: + TX_FAR _RockTunnel1AfterBattleText3 + db "@" + +RockTunnel1BattleText4: + TX_FAR _RockTunnel1BattleText4 + db "@" + +RockTunnel1EndBattleText4: + TX_FAR _RockTunnel1EndBattleText4 + db "@" + +RockTunnel1AfterBattleText4: + TX_FAR _RockTunnel1AfterBattleText4 + db "@" + +RockTunnel1BattleText5: + TX_FAR _RockTunnel1BattleText5 + db "@" + +RockTunnel1EndBattleText5: + TX_FAR _RockTunnel1EndBattleText5 + db "@" + +RockTunnel1AfterBattleText5: + TX_FAR _RockTunnel1AfterBattleText5 + db "@" + +RockTunnel1BattleText6: + TX_FAR _RockTunnel1BattleText6 + db "@" + +RockTunnel1EndBattleText6: + TX_FAR _RockTunnel1EndBattleText6 + db "@" + +RockTunnel1AfterBattleText6: + TX_FAR _RockTunnel1AfterBattleText6 + db "@" + +RockTunnel1BattleText7: + TX_FAR _RockTunnel1BattleText7 + db "@" + +RockTunnel1EndBattleText7: + TX_FAR _RockTunnel1EndBattleText7 + db "@" + +RockTunnel1AfterBattleText7: + TX_FAR _RockTunnel1AfterBattleText7 + db "@" + +RockTunnel1Text8: + TX_FAR _RockTunnel1Text8 + db "@" diff --git a/scripts/RockTunnelB1F.asm b/scripts/RockTunnelB1F.asm new file mode 100755 index 00000000..7e6fcc8b --- /dev/null +++ b/scripts/RockTunnelB1F.asm @@ -0,0 +1,241 @@ +RockTunnelB1F_Script: + call EnableAutoTextBoxDrawing + ld hl, RockTunnel2TrainerHeader0 + ld de, RockTunnelB1F_ScriptPointers + ld a, [wRockTunnelB1FCurScript] + call ExecuteCurMapScriptInTable + ld [wRockTunnelB1FCurScript], a + ret + +RockTunnelB1F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +RockTunnelB1F_TextPointers: + dw RockTunnel2Text1 + dw RockTunnel2Text2 + dw RockTunnel2Text3 + dw RockTunnel2Text4 + dw RockTunnel2Text5 + dw RockTunnel2Text6 + dw RockTunnel2Text7 + dw RockTunnel2Text8 + +RockTunnel2TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 + dw RockTunnel2BattleText2 ; TextBeforeBattle + dw RockTunnel2AfterBattleText2 ; TextAfterBattle + dw RockTunnel2EndBattleText2 ; TextEndBattle + dw RockTunnel2EndBattleText2 ; TextEndBattle + +RockTunnel2TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1 + dw RockTunnel2BattleText3 ; TextBeforeBattle + dw RockTunnel2AfterBattleText3 ; TextAfterBattle + dw RockTunnel2EndBattleText3 ; TextEndBattle + dw RockTunnel2EndBattleText3 ; TextEndBattle + +RockTunnel2TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 + dw RockTunnel2BattleText4 ; TextBeforeBattle + dw RockTunnel2AfterBattleText4 ; TextAfterBattle + dw RockTunnel2EndBattleText4 ; TextEndBattle + dw RockTunnel2EndBattleText4 ; TextEndBattle + +RockTunnel2TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 + dw RockTunnel2BattleText5 ; TextBeforeBattle + dw RockTunnel2AfterBattleText5 ; TextAfterBattle + dw RockTunnel2EndBattleText5 ; TextEndBattle + dw RockTunnel2EndBattleText5 ; TextEndBattle + +RockTunnel2TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 + dw RockTunnel2BattleText6 ; TextBeforeBattle + dw RockTunnel2AfterBattleText6 ; TextAfterBattle + dw RockTunnel2EndBattleText6 ; TextEndBattle + dw RockTunnel2EndBattleText6 ; TextEndBattle + +RockTunnel2TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 + dw RockTunnel2BattleText7 ; TextBeforeBattle + dw RockTunnel2AfterBattleText7 ; TextAfterBattle + dw RockTunnel2EndBattleText7 ; TextEndBattle + dw RockTunnel2EndBattleText7 ; TextEndBattle + +RockTunnel2TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 + dw RockTunnel2BattleText8 ; TextBeforeBattle + dw RockTunnel2AfterBattleText8 ; TextAfterBattle + dw RockTunnel2EndBattleText8 ; TextEndBattle + dw RockTunnel2EndBattleText8 ; TextEndBattle + +RockTunnel2TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7, 1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7, 1 + dw RockTunnel2BattleText9 ; TextBeforeBattle + dw RockTunnel2AfterBattleText9 ; TextAfterBattle + dw RockTunnel2EndBattleText9 ; TextEndBattle + dw RockTunnel2EndBattleText9 ; TextEndBattle + + db $ff + +RockTunnel2Text1: + TX_ASM + ld hl, RockTunnel2TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2Text2: + TX_ASM + ld hl, RockTunnel2TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2Text3: + TX_ASM + ld hl, RockTunnel2TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2Text4: + TX_ASM + ld hl, RockTunnel2TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2Text5: + TX_ASM + ld hl, RockTunnel2TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2Text6: + TX_ASM + ld hl, RockTunnel2TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2Text7: + TX_ASM + ld hl, RockTunnel2TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2Text8: + TX_ASM + ld hl, RockTunnel2TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2BattleText2: + TX_FAR _RockTunnel2BattleText2 + db "@" + +RockTunnel2EndBattleText2: + TX_FAR _RockTunnel2EndBattleText2 + db "@" + +RockTunnel2AfterBattleText2: + TX_FAR _RockTunnel2AfterBattleText2 + db "@" + +RockTunnel2BattleText3: + TX_FAR _RockTunnel2BattleText3 + db "@" + +RockTunnel2EndBattleText3: + TX_FAR _RockTunnel2EndBattleText3 + db "@" + +RockTunnel2AfterBattleText3: + TX_FAR _RockTunnel2AfterBattleText3 + db "@" + +RockTunnel2BattleText4: + TX_FAR _RockTunnel2BattleText4 + db "@" + +RockTunnel2EndBattleText4: + TX_FAR _RockTunnel2EndBattleText4 + db "@" + +RockTunnel2AfterBattleText4: + TX_FAR _RockTunnel2AfterBattleText4 + db "@" + +RockTunnel2BattleText5: + TX_FAR _RockTunnel2BattleText5 + db "@" + +RockTunnel2EndBattleText5: + TX_FAR _RockTunnel2EndBattleText5 + db "@" + +RockTunnel2AfterBattleText5: + TX_FAR _RockTunnel2AfterBattleText5 + db "@" + +RockTunnel2BattleText6: + TX_FAR _RockTunnel2BattleText6 + db "@" + +RockTunnel2EndBattleText6: + TX_FAR _RockTunnel2EndBattleText6 + db "@" + +RockTunnel2AfterBattleText6: + TX_FAR _RockTunnel2AfterBattleText6 + db "@" + +RockTunnel2BattleText7: + TX_FAR _RockTunnel2BattleText7 + db "@" + +RockTunnel2EndBattleText7: + TX_FAR _RockTunnel2EndBattleText7 + db "@" + +RockTunnel2AfterBattleText7: + TX_FAR _RockTunnel2AfterBattleText7 + db "@" + +RockTunnel2BattleText8: + TX_FAR _RockTunnel2BattleText8 + db "@" + +RockTunnel2EndBattleText8: + TX_FAR _RockTunnel2EndBattleText8 + db "@" + +RockTunnel2AfterBattleText8: + TX_FAR _RockTunnel2AfterBattleText8 + db "@" + +RockTunnel2BattleText9: + TX_FAR _RockTunnel2BattleText9 + db "@" + +RockTunnel2EndBattleText9: + TX_FAR _RockTunnel2EndBattleText9 + db "@" + +RockTunnel2AfterBattleText9: + TX_FAR _RockTunnel2AfterBattleText9 + db "@" diff --git a/scripts/RockTunnelPokecenter.asm b/scripts/RockTunnelPokecenter.asm new file mode 100755 index 00000000..cbcd6318 --- /dev/null +++ b/scripts/RockTunnelPokecenter.asm @@ -0,0 +1,23 @@ +RockTunnelPokecenter_Script: + call Serial_TryEstablishingExternallyClockedConnection + jp EnableAutoTextBoxDrawing + +RockTunnelPokecenter_TextPointers: + dw RockTunnelHealNurseText + dw RockTunnelPokecenterText2 + dw RockTunnelPokecenterText3 + dw RockTunnelTradeNurseText + +RockTunnelHealNurseText: + db $ff + +RockTunnelPokecenterText2: + TX_FAR _RockTunnelPokecenterText2 + db "@" + +RockTunnelPokecenterText3: + TX_FAR _RockTunnelPokecenterText3 + db "@" + +RockTunnelTradeNurseText: + db $f6 diff --git a/scripts/RocketHideoutB1F.asm b/scripts/RocketHideoutB1F.asm new file mode 100755 index 00000000..0cbddb49 --- /dev/null +++ b/scripts/RocketHideoutB1F.asm @@ -0,0 +1,189 @@ +RocketHideoutB1F_Script: + call RocketHideout1Script_44be0 + call EnableAutoTextBoxDrawing + ld hl, RocketHideout1TrainerHeader0 + ld de, RocketHideoutB1F_ScriptPointers + ld a, [wRocketHideoutB1FCurScript] + call ExecuteCurMapScriptInTable + ld [wRocketHideoutB1FCurScript], a + ret + +RocketHideout1Script_44be0: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + CheckEvent EVENT_677 + jr nz, .asm_44c01 + CheckEventReuseA EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 + jr nz, .asm_44bf7 + ld a, $54 + jr .asm_44c03 +.asm_44bf7 + ld a, SFX_GO_INSIDE + call PlaySound + CheckEventHL EVENT_677 +.asm_44c01 + ld a, $e +.asm_44c03 + ld [wNewTileBlockID], a + lb bc, 8, 12 + predef_jump ReplaceTileBlock + +RocketHideoutB1F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +RocketHideoutB1F_TextPointers: + dw RocketHideout1Text1 + dw RocketHideout1Text2 + dw RocketHideout1Text3 + dw RocketHideout1Text4 + dw RocketHideout1Text5 + dw PickUpItemText + dw PickUpItemText + +RocketHideout1TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 + dw RocketHideout1BattleText2 ; TextBeforeBattle + dw RocketHideout1AfterBattleTxt2 ; TextAfterBattle + dw RocketHideout1EndBattleText2 ; TextEndBattle + dw RocketHideout1EndBattleText2 ; TextEndBattle + +RocketHideout1TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1 + dw RocketHideout1BattleText3 ; TextBeforeBattle + dw RocketHideout1AfterBattleTxt3 ; TextAfterBattle + dw RocketHideout1EndBattleText3 ; TextEndBattle + dw RocketHideout1EndBattleText3 ; TextEndBattle + +RocketHideout1TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 + dw RocketHideout1BattleText4 ; TextBeforeBattle + dw RocketHideout1AfterBattleTxt4 ; TextAfterBattle + dw RocketHideout1EndBattleText4 ; TextEndBattle + dw RocketHideout1EndBattleText4 ; TextEndBattle + +RocketHideout1TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 + dw RocketHideout1BattleText5 ; TextBeforeBattle + dw RocketHideout1AfterBattleTxt5 ; TextAfterBattle + dw RocketHideout1EndBattleText5 ; TextEndBattle + dw RocketHideout1EndBattleText5 ; TextEndBattle + +RocketHideout1TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 + dw RocketHideout1BattleText6 ; TextBeforeBattle + dw RocketHideout1AfterBattleTxt6 ; TextAfterBattle + dw RocketHideout1EndBattleText6 ; TextEndBattle + dw RocketHideout1EndBattleText6 ; TextEndBattle + + db $ff + +RocketHideout1Text1: + TX_ASM + ld hl, RocketHideout1TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout1Text2: + TX_ASM + ld hl, RocketHideout1TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout1Text3: + TX_ASM + ld hl, RocketHideout1TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout1Text4: + TX_ASM + ld hl, RocketHideout1TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout1Text5: + TX_ASM + ld hl, RocketHideout1TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout1EndBattleText6: + TX_FAR _RocketHideout1EndBattleText6 + TX_ASM + SetEvent EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 + ld hl, RocketHideout1Text_44c9f + ret + +RocketHideout1Text_44c9f: + TX_BLINK + db "@" + +RocketHideout1BattleText2: + TX_FAR _RocketHideout1BattleText2 + db "@" + +RocketHideout1EndBattleText2: + TX_FAR _RocketHideout1EndBattleText2 + db "@" + +RocketHideout1AfterBattleTxt2: + TX_FAR _RocketHideout1AfterBattleTxt2 + db "@" + +RocketHideout1BattleText3: + TX_FAR _RocketHideout1BattleText3 + db "@" + +RocketHideout1EndBattleText3: + TX_FAR _RocketHideout1EndBattleText3 + db "@" + +RocketHideout1AfterBattleTxt3: + TX_FAR _RocketHideout1AfterBattleTxt3 + db "@" + +RocketHideout1BattleText4: + TX_FAR _RocketHideout1BattleText4 + db "@" + +RocketHideout1EndBattleText4: + TX_FAR _RocketHideout1EndBattleText4 + db "@" + +RocketHideout1AfterBattleTxt4: + TX_FAR _RocketHideout1AfterBattleTxt4 + db "@" + +RocketHideout1BattleText5: + TX_FAR _RocketHideout1BattleText5 + db "@" + +RocketHideout1EndBattleText5: + TX_FAR _RocketHideout1EndBattleText5 + db "@" + +RocketHideout1AfterBattleTxt5: + TX_FAR _RocketHideout1AfterBattleTxt5 + db "@" + +RocketHideout1BattleText6: + TX_FAR _RocketHideout1BattleText6 + db "@" + +RocketHideout1AfterBattleTxt6: + TX_FAR _RocketHideout1AfterBattleTxt6 + db "@" diff --git a/scripts/RocketHideoutB2F.asm b/scripts/RocketHideoutB2F.asm new file mode 100755 index 00000000..1b487df2 --- /dev/null +++ b/scripts/RocketHideoutB2F.asm @@ -0,0 +1,450 @@ +RocketHideoutB2F_Script: + call EnableAutoTextBoxDrawing + ld hl, RocketHideout2TrainerHeader0 + ld de, RocketHideoutB2F_ScriptPointers + ld a, [wRocketHideoutB2FCurScript] + call ExecuteCurMapScriptInTable + ld [wRocketHideoutB2FCurScript], a + ret + +RocketHideoutB2F_ScriptPointers: + dw RocketHideout2Script0 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw RocketHideout2Script3 + +RocketHideout2Script0: + ld a, [wYCoord] + ld b, a + ld a, [wXCoord] + ld c, a + ld hl, RocketHideout2ArrowTilePlayerMovement + call DecodeArrowMovementRLE + cp $ff + jp z, CheckFightingMapTrainers + ld hl, wd736 + set 7, [hl] + call StartSimulatingJoypadStates + ld a, SFX_ARROW_TILES + call PlaySound + ld a, $ff + ld [wJoyIgnore], a + ld a, $3 + ld [wCurMapScript], a + ret + +;format: +;db y,x +;dw pointer to movement +RocketHideout2ArrowTilePlayerMovement: + db $9,$4 + dw RocketHideout2ArrowMovement1 + db $b,$4 + dw RocketHideout2ArrowMovement2 + db $f,$4 + dw RocketHideout2ArrowMovement3 + db $10,$4 + dw RocketHideout2ArrowMovement4 + db $13,$4 + dw RocketHideout2ArrowMovement1 + db $16,$4 + dw RocketHideout2ArrowMovement5 + db $e,$5 + dw RocketHideout2ArrowMovement6 + db $16,$6 + dw RocketHideout2ArrowMovement7 + db $18,$6 + dw RocketHideout2ArrowMovement8 + db $9,$8 + dw RocketHideout2ArrowMovement9 + db $c,$8 + dw RocketHideout2ArrowMovement10 + db $f,$8 + dw RocketHideout2ArrowMovement8 + db $13,$8 + dw RocketHideout2ArrowMovement9 + db $17,$8 + dw RocketHideout2ArrowMovement11 + db $e,$9 + dw RocketHideout2ArrowMovement12 + db $16,$9 + dw RocketHideout2ArrowMovement12 + db $9,$a + dw RocketHideout2ArrowMovement13 + db $a,$a + dw RocketHideout2ArrowMovement14 + db $f,$a + dw RocketHideout2ArrowMovement15 + db $11,$a + dw RocketHideout2ArrowMovement16 + db $13,$a + dw RocketHideout2ArrowMovement17 + db $19,$a + dw RocketHideout2ArrowMovement2 + db $e,$b + dw RocketHideout2ArrowMovement18 + db $10,$b + dw RocketHideout2ArrowMovement19 + db $12,$b + dw RocketHideout2ArrowMovement12 + db $9,$c + dw RocketHideout2ArrowMovement20 + db $b,$c + dw RocketHideout2ArrowMovement21 + db $d,$c + dw RocketHideout2ArrowMovement22 + db $11,$c + dw RocketHideout2ArrowMovement23 + db $a,$d + dw RocketHideout2ArrowMovement24 + db $c,$d + dw RocketHideout2ArrowMovement25 + db $10,$d + dw RocketHideout2ArrowMovement26 + db $12,$d + dw RocketHideout2ArrowMovement27 + db $13,$d + dw RocketHideout2ArrowMovement28 + db $16,$d + dw RocketHideout2ArrowMovement29 + db $17,$d + dw RocketHideout2ArrowMovement30 + db $11,$e + dw RocketHideout2ArrowMovement31 + db $10,$f + dw RocketHideout2ArrowMovement12 + db $e,$10 + dw RocketHideout2ArrowMovement32 + db $10,$10 + dw RocketHideout2ArrowMovement33 + db $12,$10 + dw RocketHideout2ArrowMovement34 + db $a,$11 + dw RocketHideout2ArrowMovement35 + db $b,$11 + dw RocketHideout2ArrowMovement36 + db $FF + +;format: direction, count +;each list is read starting from the $FF and working backwards +RocketHideout2ArrowMovement1: + db D_LEFT,$02 + db $FF + +RocketHideout2ArrowMovement2: + db D_RIGHT,$04 + db $FF + +RocketHideout2ArrowMovement3: + db D_UP,$04 + db D_RIGHT,$04 + db $FF + +RocketHideout2ArrowMovement4: + db D_UP,$04 + db D_RIGHT,$04 + db D_UP,$01 + db $FF + +RocketHideout2ArrowMovement5: + db D_LEFT,$02 + db D_UP,$03 + db $FF + +RocketHideout2ArrowMovement6: + db D_DOWN,$02 + db D_RIGHT,$04 + db $FF + +RocketHideout2ArrowMovement7: + db D_UP,$02 + db $FF + +RocketHideout2ArrowMovement8: + db D_UP,$04 + db $FF + +RocketHideout2ArrowMovement9: + db D_LEFT,$06 + db $FF + +RocketHideout2ArrowMovement10: + db D_UP,$01 + db $FF + +RocketHideout2ArrowMovement11: + db D_LEFT,$06 + db D_UP,$04 + db $FF + +RocketHideout2ArrowMovement12: + db D_DOWN,$02 + db $FF + +RocketHideout2ArrowMovement13: + db D_LEFT,$08 + db $FF + +RocketHideout2ArrowMovement14: + db D_LEFT,$08 + db D_UP,$01 + db $FF + +RocketHideout2ArrowMovement15: + db D_LEFT,$08 + db D_UP,$06 + db $FF + +RocketHideout2ArrowMovement16: + db D_UP,$02 + db D_RIGHT,$04 + db $FF + +RocketHideout2ArrowMovement17: + db D_UP,$02 + db D_RIGHT,$04 + db D_UP,$02 + db $FF + +RocketHideout2ArrowMovement18: + db D_DOWN,$02 + db D_RIGHT,$04 + db D_DOWN,$02 + db $FF + +RocketHideout2ArrowMovement19: + db D_DOWN,$02 + db D_RIGHT,$04 + db $FF + +RocketHideout2ArrowMovement20: + db D_LEFT,$0A + db $FF + +RocketHideout2ArrowMovement21: + db D_LEFT,$0A + db D_UP,$02 + db $FF + +RocketHideout2ArrowMovement22: + db D_LEFT,$0A + db D_UP,$04 + db $FF + +RocketHideout2ArrowMovement23: + db D_UP,$02 + db D_RIGHT,$02 + db $FF + +RocketHideout2ArrowMovement24: + db D_RIGHT,$01 + db D_DOWN,$02 + db $FF + +RocketHideout2ArrowMovement25: + db D_RIGHT,$01 + db $FF + +RocketHideout2ArrowMovement26: + db D_DOWN,$02 + db D_RIGHT,$02 + db $FF + +RocketHideout2ArrowMovement27: + db D_DOWN,$02 + db D_LEFT,$02 + db $FF + +RocketHideout2ArrowMovement28: + db D_UP,$02 + db D_RIGHT,$04 + db D_UP,$02 + db D_LEFT,$03 + db $FF + +RocketHideout2ArrowMovement29: + db D_DOWN,$02 + db D_LEFT,$04 + db $FF + +RocketHideout2ArrowMovement30: + db D_LEFT,$06 + db D_UP,$04 + db D_LEFT,$05 + db $FF + +RocketHideout2ArrowMovement31: + db D_UP,$02 + db $FF + +RocketHideout2ArrowMovement32: + db D_UP,$01 + db $FF + +RocketHideout2ArrowMovement33: + db D_UP,$03 + db $FF + +RocketHideout2ArrowMovement34: + db D_UP,$05 + db $FF + +RocketHideout2ArrowMovement35: + db D_RIGHT,$01 + db D_DOWN,$02 + db D_LEFT,$04 + db $FF + +RocketHideout2ArrowMovement36: + db D_LEFT,$0A + db D_UP,$02 + db D_LEFT,$05 + db $FF + +RocketHideout2Script3: + ld a, [wSimulatedJoypadStatesIndex] + and a + jr nz, LoadSpinnerArrowTiles + xor a + ld [wJoyIgnore], a + ld hl, wd736 + res 7, [hl] + ld a, $0 + ld [wCurMapScript], a + ret + +LoadSpinnerArrowTiles: + ld a, [wSpriteStateData1 + 2] + srl a + srl a + ld hl, SpinnerPlayerFacingDirections + ld c, a + ld b, $0 + add hl, bc + ld a, [hl] + ld [wSpriteStateData1 + 2], a + ld a, [wCurMapTileset] + cp FACILITY + ld hl, FacilitySpinnerArrows + jr z, .asm_44ff6 + ld hl, GymSpinnerArrows +.asm_44ff6 + ld a, [wSimulatedJoypadStatesIndex] + bit 0, a + jr nz, .asm_45001 + ld de, $18 + add hl, de +.asm_45001 + ld a, $4 + ld bc, $0 +.asm_45006 + push af + push hl + push bc + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld h, [hl] + ld l, a + call CopyVideoData + pop bc + ld a, $6 + add c + ld c, a + pop hl + pop af + dec a + jr nz, .asm_45006 + ret + +spinner: MACRO +; \1: source +; \2: offset (BANK() chokes on literals) +; \3: length +; \4: dest + dw \1 + \2 + db \3, BANK(\1) + dw \4 +ENDM + +FacilitySpinnerArrows: +FACILITY_SPINNER EQU $20 * $10 +vFacilitySpinner EQU vTileset + FACILITY_SPINNER + + spinner SpinnerArrowAnimTiles, $00, 1, vFacilitySpinner + spinner SpinnerArrowAnimTiles, $10, 1, vFacilitySpinner + $10 + spinner SpinnerArrowAnimTiles, $20, 1, vFacilitySpinner + $100 + spinner SpinnerArrowAnimTiles, $30, 1, vFacilitySpinner + $110 + spinner Facility_GFX, FACILITY_SPINNER + $000, 1, vFacilitySpinner + spinner Facility_GFX, FACILITY_SPINNER + $010, 1, vFacilitySpinner + $10 + spinner Facility_GFX, FACILITY_SPINNER + $100, 1, vFacilitySpinner + $100 + spinner Facility_GFX, FACILITY_SPINNER + $110, 1, vFacilitySpinner + $110 + +GymSpinnerArrows: +GYM_SPINNER EQU $3c * $10 +vGymSpinner EQU vTileset + GYM_SPINNER + + spinner SpinnerArrowAnimTiles, $10, 1, vGymSpinner + spinner SpinnerArrowAnimTiles, $30, 1, vGymSpinner + $10 + spinner SpinnerArrowAnimTiles, $00, 1, vGymSpinner + $100 + spinner SpinnerArrowAnimTiles, $20, 1, vGymSpinner + $110 + spinner Gym_GFX, GYM_SPINNER + $000, 1, vGymSpinner + spinner Gym_GFX, GYM_SPINNER + $010, 1, vGymSpinner + $10 + spinner Gym_GFX, GYM_SPINNER + $100, 1, vGymSpinner + $100 + spinner Gym_GFX, GYM_SPINNER + $110, 1, vGymSpinner + $110 + +SpinnerPlayerFacingDirections: +; This isn't the order of the facing directions. Rather, it's a list of +; the facing directions that come next. For example, when the player is +; facing down (00), the next facing direction is left (08). + db $08 ; down -> left + db $0C ; up -> right + db $04 ; left -> up + db $00 ; right -> down + +; these tiles are the animation for the tiles that push the player in dungeons like Rocket HQ +SpinnerArrowAnimTiles: + INCBIN "gfx/spinner_arrow.2bpp" + +RocketHideoutB2F_TextPointers: + dw RocketHideout2Text1 + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + +RocketHideout2TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 + dw RocketHideout2BattleText2 ; TextBeforeBattle + dw RocketHideout2AfterBattleTxt2 ; TextAfterBattle + dw RocketHideout2EndBattleText2 ; TextEndBattle + dw RocketHideout2EndBattleText2 ; TextEndBattle + + db $ff + +RocketHideout2Text1: + TX_ASM + ld hl, RocketHideout2TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout2BattleText2: + TX_FAR _RocketHideout2BattleText2 + db "@" + +RocketHideout2EndBattleText2: + TX_FAR _RocketHideout2EndBattleText2 + db "@" + +RocketHideout2AfterBattleTxt2: + TX_FAR _RocketHideout2AfterBattleTxt2 + db "@" diff --git a/scripts/RocketHideoutB3F.asm b/scripts/RocketHideoutB3F.asm new file mode 100755 index 00000000..4dd537b3 --- /dev/null +++ b/scripts/RocketHideoutB3F.asm @@ -0,0 +1,206 @@ +RocketHideoutB3F_Script: + call EnableAutoTextBoxDrawing + ld hl, RocketHideout3TrainerHeader0 + ld de, RocketHideoutB3F_ScriptPointers + ld a, [wRocketHideoutB3FCurScript] + call ExecuteCurMapScriptInTable + ld [wRocketHideoutB3FCurScript], a + ret + +RocketHideoutB3F_ScriptPointers: + dw RocketHideout3Script0 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw RocketHideout3Script3 + +RocketHideout3Script0: + ld a, [wYCoord] + ld b, a + ld a, [wXCoord] + ld c, a + ld hl, RocketHideout3ArrowTilePlayerMovement + call DecodeArrowMovementRLE + cp $ff + jp z, CheckFightingMapTrainers + ld hl, wd736 + set 7, [hl] + call StartSimulatingJoypadStates + ld a, SFX_ARROW_TILES + call PlaySound + ld a, $ff + ld [wJoyIgnore], a + ld a, $3 + ld [wCurMapScript], a + ret + +;format: +;db y,x +;dw pointer to movement +RocketHideout3ArrowTilePlayerMovement: + db $d,$a + dw RocketHideout3ArrowMovement6 + db $13,$a + dw RocketHideout3ArrowMovement1 + db $12,$b + dw RocketHideout3ArrowMovement2 + db $b,$c + dw RocketHideout3ArrowMovement3 + db $11,$c + dw RocketHideout3ArrowMovement4 + db $14,$c + dw RocketHideout3ArrowMovement5 + db $10,$d + dw RocketHideout3ArrowMovement6 + db $b,$e + dw RocketHideout3ArrowMovement7 + db $f,$e + dw RocketHideout3ArrowMovement6 + db $11,$e + dw RocketHideout3ArrowMovement8 + db $13,$e + dw RocketHideout3ArrowMovement9 + db $10,$f + dw RocketHideout3ArrowMovement7 + db $12,$f + dw RocketHideout3ArrowMovement10 + db $d,$10 + dw RocketHideout3ArrowMovement11 + db $c,$11 + dw RocketHideout3ArrowMovement10 + db $10,$12 + dw RocketHideout3ArrowMovement12 + db $FF + +;format: direction, count +;each list is read starting from the $FF and working backwards +RocketHideout3ArrowMovement1: + db D_RIGHT,$04 + db D_UP,$04 + db D_RIGHT,$04 + db $FF + +RocketHideout3ArrowMovement2: + db D_DOWN,$04 + db D_RIGHT,$04 + db $FF + +RocketHideout3ArrowMovement3: + db D_LEFT,$02 + db $FF + +RocketHideout3ArrowMovement4: + db D_RIGHT,$04 + db D_UP,$02 + db D_RIGHT,$02 + db $FF + +RocketHideout3ArrowMovement5: + db D_RIGHT,$04 + db D_UP,$02 + db D_RIGHT,$02 + db D_UP,$03 + db $FF + +RocketHideout3ArrowMovement6: + db D_RIGHT,$04 + db $FF + +RocketHideout3ArrowMovement7: + db D_RIGHT,$02 + db $FF + +RocketHideout3ArrowMovement8: + db D_RIGHT,$04 + db D_UP,$02 + db $FF + +RocketHideout3ArrowMovement9: + db D_RIGHT,$04 + db D_UP,$04 + db $FF + +RocketHideout3ArrowMovement10: + db D_DOWN,$04 + db $FF + +RocketHideout3ArrowMovement11: + db D_UP,$02 + db $FF + +RocketHideout3ArrowMovement12: + db D_UP,$01 + db $FF + +RocketHideout3Script3: + ld a, [wSimulatedJoypadStatesIndex] + and a + jp nz, LoadSpinnerArrowTiles + xor a + ld [wJoyIgnore], a + ld hl, wd736 + res 7, [hl] + ld a, $0 + ld [wCurMapScript], a + ret + +RocketHideoutB3F_TextPointers: + dw RocketHideout3Text1 + dw RocketHideout3Text2 + dw PickUpItemText + dw PickUpItemText + +RocketHideout3TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 + dw RocketHideout3BattleText2 ; TextBeforeBattle + dw RocketHideout3AfterBattleTxt2 ; TextAfterBattle + dw RocketHideout3EndBattleText2 ; TextEndBattle + dw RocketHideout3EndBattleText2 ; TextEndBattle + +RocketHideout3TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1 + dw RocketHideout3BattleTxt ; TextBeforeBattle + dw RocketHideout3AfterBattleText3 ; TextAfterBattle + dw RocketHideout3EndBattleText3 ; TextEndBattle + dw RocketHideout3EndBattleText3 ; TextEndBattle + + db $ff + +RocketHideout3Text1: + TX_ASM + ld hl, RocketHideout3TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout3BattleText2: + TX_FAR _RocketHideout3BattleText2 + db "@" + +RocketHideout3EndBattleText2: + TX_FAR _RocketHideout3EndBattleText2 + db "@" + +RocketHideout3AfterBattleTxt2: + TX_FAR _RocketHideout3AfterBattleTxt2 + db "@" + +RocketHideout3Text2: + TX_ASM + ld hl, RocketHideout3TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout3BattleTxt: + TX_FAR _RocketHideout3BattleTxt + db "@" + +RocketHideout3EndBattleText3: + TX_FAR _RocketHideout3EndBattleText3 + db "@" + +RocketHideout3AfterBattleText3: + TX_FAR _RocketHide3AfterBattleText3 + db "@" diff --git a/scripts/RocketHideoutB4F.asm b/scripts/RocketHideoutB4F.asm new file mode 100755 index 00000000..b2ce21f4 --- /dev/null +++ b/scripts/RocketHideoutB4F.asm @@ -0,0 +1,220 @@ +RocketHideoutB4F_Script: + call RocketHideout4Script_45473 + call EnableAutoTextBoxDrawing + ld hl, RocketHideout4TrainerHeader0 + ld de, RocketHideoutB4F_ScriptPointers + ld a, [wRocketHideoutB4FCurScript] + call ExecuteCurMapScriptInTable + ld [wRocketHideoutB4FCurScript], a + ret + +RocketHideout4Script_45473: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + CheckEvent EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED + jr nz, .asm_45496 + CheckBothEventsSet EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0, EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1, 1 + jr z, .asm_4548c + ld a, $2d + jr .asm_45498 +.asm_4548c + ld a, SFX_GO_INSIDE + call PlaySound + SetEvent EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED +.asm_45496 + ld a, $e +.asm_45498 + ld [wNewTileBlockID], a + lb bc, 5, 12 + predef_jump ReplaceTileBlock + +RocketHideout4Script_454a3: + xor a + ld [wJoyIgnore], a + ld [wRocketHideoutB4FCurScript], a + ld [wCurMapScript], a + ret + +RocketHideoutB4F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw RocketHideout4Script3 + +RocketHideout4Script3: + ld a, [wIsInBattle] + cp $ff + jp z, RocketHideout4Script_454a3 + call UpdateSprites + ld a, $f0 + ld [wJoyIgnore], a + SetEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI + ld a, $a + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call GBFadeOutToBlack + ld a, HS_ROCKET_HIDEOUT_B4F_GIOVANNI + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_ROCKET_HIDEOUT_B4F_ITEM_4 + ld [wMissableObjectIndex], a + predef ShowObject + call UpdateSprites + call GBFadeInFromBlack + xor a + ld [wJoyIgnore], a + ld hl, wCurrentMapScriptFlags + set 5, [hl] + ld a, $0 + ld [wRocketHideoutB4FCurScript], a + ld [wCurMapScript], a + ret + +RocketHideoutB4F_TextPointers: + dw RocketHideout4Text1 + dw RocketHideout4Text2 + dw RocketHideout4Text3 + dw RocketHideout4Text4 + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw RocketHideout4Text10 + +RocketHideout4TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 + dw RocketHideout4BattleText2 ; TextBeforeBattle + dw RocketHideout4AfterBattleText2 ; TextAfterBattle + dw RocketHideout4EndBattleText2 ; TextEndBattle + dw RocketHideout4EndBattleText2 ; TextEndBattle + +RocketHideout4TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1 + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1 + dw RocketHideout4BattleText3 ; TextBeforeBattle + dw RocketHideout4AfterBattleText3 ; TextAfterBattle + dw RocketHideout4EndBattleText3 ; TextEndBattle + dw RocketHideout4EndBattleText3 ; TextEndBattle + +RocketHideout4TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 + db ($1 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 + dw RocketHideout4BattleText4 ; TextBeforeBattle + dw RocketHideout4AfterBattleText4 ; TextAfterBattle + dw RocketHideout4EndBattleText4 ; TextEndBattle + dw RocketHideout4EndBattleText4 ; TextEndBattle + + db $ff + +RocketHideout4Text1: + TX_ASM + CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI + jp nz, .asm_545571 + ld hl, RocketHideout4Text_4557a + call PrintText + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, RocketHideout4Text_4557f + ld de, RocketHideout4Text_4557f + call SaveEndBattleTextPointers + ld a, [H_SPRITEINDEX] + ld [wSpriteIndex], a + call EngageMapTrainer + call InitBattleEnemyParameters + xor a + ld [hJoyHeld], a + ld a, $3 + ld [wRocketHideoutB4FCurScript], a + ld [wCurMapScript], a + jr .asm_209f0 +.asm_545571 + ld hl, RocketHideout4Text10 + call PrintText +.asm_209f0 + jp TextScriptEnd + +RocketHideout4Text_4557a: + TX_FAR _RocketHideout4Text_4557a + db "@" + +RocketHideout4Text_4557f: + TX_FAR _RocketHideout4Text_4557f + db "@" + +RocketHideout4Text10: + TX_FAR _RocketHideout4Text_45584 + db "@" + +RocketHideout4Text2: + TX_ASM + ld hl, RocketHideout4TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout4BattleText2: + TX_FAR _RocketHideout4BattleText2 + db "@" + +RocketHideout4EndBattleText2: + TX_FAR _RocketHideout4EndBattleText2 + db "@" + +RocketHideout4AfterBattleText2: + TX_FAR _RocketHide4AfterBattleText2 + db "@" + +RocketHideout4Text3: + TX_ASM + ld hl, RocketHideout4TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout4BattleText3: + TX_FAR _RocketHideout4BattleText3 + db "@" + +RocketHideout4EndBattleText3: + TX_FAR _RocketHideout4EndBattleText3 + db "@" + +RocketHideout4AfterBattleText3: + TX_FAR _RocketHide4AfterBattleText3 + db "@" + +RocketHideout4Text4: + TX_ASM + ld hl, RocketHideout4TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout4BattleText4: + TX_FAR _RocketHideout4BattleText4 + db "@" + +RocketHideout4EndBattleText4: + TX_FAR _RocketHideout4EndBattleText4 + db "@" + +RocketHideout4AfterBattleText4: + TX_ASM + ld hl, RocketHideout4Text_455ec + call PrintText + CheckAndSetEvent EVENT_ROCKET_DROPPED_LIFT_KEY + jr nz, .asm_455e9 + ld a, HS_ROCKET_HIDEOUT_B4F_ITEM_5 + ld [wMissableObjectIndex], a + predef ShowObject +.asm_455e9 + jp TextScriptEnd + +RocketHideout4Text_455ec: + TX_FAR _RocketHideout4Text_455ec + db "@" diff --git a/scripts/RocketHideoutElevator.asm b/scripts/RocketHideoutElevator.asm new file mode 100755 index 00000000..9525db3a --- /dev/null +++ b/scripts/RocketHideoutElevator.asm @@ -0,0 +1,85 @@ +RocketHideoutElevator_Script: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + push hl + call nz, RocketHideoutElevatorScript_4572c + pop hl + bit 7, [hl] + res 7, [hl] + call nz, RocketHideoutElevatorScript_4575f + xor a + ld [wAutoTextBoxDrawingControl], a + inc a + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ret + +RocketHideoutElevatorScript_4572c: + ld hl, wWarpEntries + ld a, [wWarpedFromWhichWarp] + ld b, a + ld a, [wWarpedFromWhichMap] + ld c, a + call RocketHideoutElevatorScript_4573a + +RocketHideoutElevatorScript_4573a: + inc hl + inc hl + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ret + +RocketHideoutElevatorScript_45741: + ld hl, RocketHideoutElavatorFloors + call LoadItemList + ld hl, RocketHideoutElevatorWarpMaps + ld de, wElevatorWarpMaps + ld bc, RocketHideoutElevatorWarpMapsEnd - RocketHideoutElevatorWarpMaps + call CopyData + ret + +RocketHideoutElavatorFloors: + db $03 ; num elements in list + db FLOOR_B1F + db FLOOR_B2F + db FLOOR_B4F + db $FF ; terminator + +RocketHideoutElevatorWarpMaps: +; first byte is warp number +; second byte is map number +; These specify where the player goes after getting out of the elevator. + db $04, ROCKET_HIDEOUT_B1F + db $04, ROCKET_HIDEOUT_B2F + db $02, ROCKET_HIDEOUT_B4F +RocketHideoutElevatorWarpMapsEnd: + +RocketHideoutElevatorScript_4575f: + call Delay3 + callba ShakeElevator + ret + +RocketHideoutElevator_TextPointers: + dw RocketHideoutElevatorText1 + +RocketHideoutElevatorText1: + TX_ASM + ld b, LIFT_KEY + call IsItemInBag + jr z, .asm_45782 + call RocketHideoutElevatorScript_45741 + ld hl, RocketHideoutElevatorWarpMaps + predef DisplayElevatorFloorMenu + jr .asm_45788 +.asm_45782 + ld hl, RocketHideoutElevatorText_4578b + call PrintText +.asm_45788 + jp TextScriptEnd + +RocketHideoutElevatorText_4578b: + TX_FAR _RocketElevatorText_4578b + TX_WAIT + db "@" diff --git a/scripts/Route1.asm b/scripts/Route1.asm new file mode 100755 index 00000000..e733b54d --- /dev/null +++ b/scripts/Route1.asm @@ -0,0 +1,52 @@ +Route1_Script: + jp EnableAutoTextBoxDrawing + +Route1_TextPointers: + dw Route1Text1 + dw Route1Text2 + dw Route1Text3 + +Route1Text1: + TX_ASM + CheckAndSetEvent EVENT_GOT_POTION_SAMPLE + jr nz, .asm_1cada + ld hl, Route1ViridianMartSampleText + call PrintText + lb bc, POTION, 1 + call GiveItem + jr nc, .BagFull + ld hl, Route1Text_1cae8 + jr .asm_1cadd +.BagFull + ld hl, Route1Text_1caf3 + jr .asm_1cadd +.asm_1cada + ld hl, Route1Text_1caee +.asm_1cadd + call PrintText + jp TextScriptEnd + +Route1ViridianMartSampleText: + TX_FAR _Route1ViridianMartSampleText + db "@" + +Route1Text_1cae8: + TX_FAR _Route1Text_1cae8 + TX_SFX_ITEM_1 + db "@" + +Route1Text_1caee: + TX_FAR _Route1Text_1caee + db "@" + +Route1Text_1caf3: + TX_FAR _Route1Text_1caf3 + db "@" + +Route1Text2: + TX_FAR _Route1Text2 + db "@" + +Route1Text3: + TX_FAR _Route1Text3 + db "@" diff --git a/scripts/Route10.asm b/scripts/Route10.asm new file mode 100755 index 00000000..3fffa2c0 --- /dev/null +++ b/scripts/Route10.asm @@ -0,0 +1,198 @@ +Route10_Script: + call EnableAutoTextBoxDrawing + ld hl, Route10TrainerHeader0 + ld de, Route10_ScriptPointers + ld a, [wRoute10CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute10CurScript], a + ret + +Route10_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Route10_TextPointers: + dw Route10Text1 + dw Route10Text2 + dw Route10Text3 + dw Route10Text4 + dw Route10Text5 + dw Route10Text6 + dw Route10Text7 + dw PokeCenterSignText + dw Route10Text9 + dw Route10Text10 + +Route10TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_0 + dw Route10BattleText1 ; TextBeforeBattle + dw Route10AfterBattleText1 ; TextAfterBattle + dw Route10EndBattleText1 ; TextEndBattle + dw Route10EndBattleText1 ; TextEndBattle + +Route10TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_1 + dw Route10BattleText2 ; TextBeforeBattle + dw Route10AfterBattleText2 ; TextAfterBattle + dw Route10EndBattleText2 ; TextEndBattle + dw Route10EndBattleText2 ; TextEndBattle + +Route10TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_2 + dw Route10BattleText3 ; TextBeforeBattle + dw Route10AfterBattleText3 ; TextAfterBattle + dw Route10EndBattleText3 ; TextEndBattle + dw Route10EndBattleText3 ; TextEndBattle + +Route10TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_3 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_3 + dw Route10BattleText4 ; TextBeforeBattle + dw Route10AfterBattleText4 ; TextAfterBattle + dw Route10EndBattleText4 ; TextEndBattle + dw Route10EndBattleText4 ; TextEndBattle + +Route10TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_4 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_4 + dw Route10BattleText5 ; TextBeforeBattle + dw Route10AfterBattleText5 ; TextAfterBattle + dw Route10EndBattleText5 ; TextEndBattle + dw Route10EndBattleText5 ; TextEndBattle + +Route10TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_5 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_5 + dw Route10BattleText6 ; TextBeforeBattle + dw Route10AfterBattleText6 ; TextAfterBattle + dw Route10EndBattleText6 ; TextEndBattle + dw Route10EndBattleText6 ; TextEndBattle + + db $ff + +Route10Text1: + TX_ASM + ld hl, Route10TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route10BattleText1: + TX_FAR _Route10BattleText1 + db "@" + +Route10EndBattleText1: + TX_FAR _Route10EndBattleText1 + db "@" + +Route10AfterBattleText1: + TX_FAR _Route10AfterBattleText1 + db "@" + +Route10Text2: + TX_ASM + ld hl, Route10TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route10BattleText2: + TX_FAR _Route10BattleText2 + db "@" + +Route10EndBattleText2: + TX_FAR _Route10EndBattleText2 + db "@" + +Route10AfterBattleText2: + TX_FAR _Route10AfterBattleText2 + db "@" + +Route10Text3: + TX_ASM + ld hl, Route10TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route10BattleText3: + TX_FAR _Route10BattleText3 + db "@" + +Route10EndBattleText3: + TX_FAR _Route10EndBattleText3 + db "@" + +Route10AfterBattleText3: + TX_FAR _Route10AfterBattleText3 + db "@" + +Route10Text4: + TX_ASM + ld hl, Route10TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route10BattleText4: + TX_FAR _Route10BattleText4 + db "@" + +Route10EndBattleText4: + TX_FAR _Route10EndBattleText4 + db "@" + +Route10AfterBattleText4: + TX_FAR _Route10AfterBattleText4 + db "@" + +Route10Text5: + TX_ASM + ld hl, Route10TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route10BattleText5: + TX_FAR _Route10BattleText5 + db "@" + +Route10EndBattleText5: + TX_FAR _Route10EndBattleText5 + db "@" + +Route10AfterBattleText5: + TX_FAR _Route10AfterBattleText5 + db "@" + +Route10Text6: + TX_ASM + ld hl, Route10TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route10BattleText6: + TX_FAR _Route10BattleText6 + db "@" + +Route10EndBattleText6: + TX_FAR _Route10EndBattleText6 + db "@" + +Route10AfterBattleText6: + TX_FAR _Route10AfterBattleText6 + db "@" + +Route10Text9: +Route10Text7: + TX_FAR _Route10Text7 ; _Route10Text9 + db "@" + +Route10Text10: + TX_FAR _Route10Text10 + db "@" diff --git a/scripts/Route11.asm b/scripts/Route11.asm new file mode 100755 index 00000000..891237cc --- /dev/null +++ b/scripts/Route11.asm @@ -0,0 +1,302 @@ +Route11_Script: + call EnableAutoTextBoxDrawing + ld hl, Route11TrainerHeader0 + ld de, Route11_ScriptPointers + ld a, [wRoute11CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute11CurScript], a + ret + +Route11_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Route11_TextPointers: + dw Route11Text1 + dw Route11Text2 + dw Route11Text3 + dw Route11Text4 + dw Route11Text5 + dw Route11Text6 + dw Route11Text7 + dw Route11Text8 + dw Route11Text9 + dw Route11Text10 + dw Route11Text11 + +Route11TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_0 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_0 + dw Route11BattleText1 ; TextBeforeBattle + dw Route11AfterBattleText1 ; TextAfterBattle + dw Route11EndBattleText1 ; TextEndBattle + dw Route11EndBattleText1 ; TextEndBattle + +Route11TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_1 + dw Route11BattleText2 ; TextBeforeBattle + dw Route11AfterBattleText2 ; TextAfterBattle + dw Route11EndBattleText2 ; TextEndBattle + dw Route11EndBattleText2 ; TextEndBattle + +Route11TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_2 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_2 + dw Route11BattleText3 ; TextBeforeBattle + dw Route11AfterBattleText3 ; TextAfterBattle + dw Route11EndBattleText3 ; TextEndBattle + dw Route11EndBattleText3 ; TextEndBattle + +Route11TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_3 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_3 + dw Route11BattleText4 ; TextBeforeBattle + dw Route11AfterBattleText4 ; TextAfterBattle + dw Route11EndBattleText4 ; TextEndBattle + dw Route11EndBattleText4 ; TextEndBattle + +Route11TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_4 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_4 + dw Route11BattleText5 ; TextBeforeBattle + dw Route11AfterBattleText5 ; TextAfterBattle + dw Route11EndBattleText5 ; TextEndBattle + dw Route11EndBattleText5 ; TextEndBattle + +Route11TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_5 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_5 + dw Route11BattleText6 ; TextBeforeBattle + dw Route11AfterBattleText6 ; TextAfterBattle + dw Route11EndBattleText6 ; TextEndBattle + dw Route11EndBattleText6 ; TextEndBattle + +Route11TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_6 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_6 + dw Route11BattleText7 ; TextBeforeBattle + dw Route11AfterBattleText7 ; TextAfterBattle + dw Route11EndBattleText7 ; TextEndBattle + dw Route11EndBattleText7 ; TextEndBattle + +Route11TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_7, 1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_7, 1 + dw Route11BattleText8 ; TextBeforeBattle + dw Route11AfterBattleText8 ; TextAfterBattle + dw Route11EndBattleText8 ; TextEndBattle + dw Route11EndBattleText8 ; TextEndBattle + +Route11TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_8, 1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_8, 1 + dw Route11BattleText9 ; TextBeforeBattle + dw Route11AfterBattleText9 ; TextAfterBattle + dw Route11EndBattleText9 ; TextEndBattle + dw Route11EndBattleText9 ; TextEndBattle + +Route11TrainerHeader9: + dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_9, 1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_9, 1 + dw Route11BattleText10 ; TextBeforeBattle + dw Route11AfterBattleText10 ; TextAfterBattle + dw Route11EndBattleText10 ; TextEndBattle + dw Route11EndBattleText10 ; TextEndBattle + + db $ff + +Route11Text1: + TX_ASM + ld hl, Route11TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText1: + TX_FAR _Route11BattleText1 + db "@" + +Route11EndBattleText1: + TX_FAR _Route11EndBattleText1 + db "@" + +Route11AfterBattleText1: + TX_FAR _Route11AfterBattleText1 + db "@" + +Route11Text2: + TX_ASM + ld hl, Route11TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText2: + TX_FAR _Route11BattleText2 + db "@" + +Route11EndBattleText2: + TX_FAR _Route11EndBattleText2 + db "@" + +Route11AfterBattleText2: + TX_FAR _Route11AfterBattleText2 + db "@" + +Route11Text3: + TX_ASM + ld hl, Route11TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText3: + TX_FAR _Route11BattleText3 + db "@" + +Route11EndBattleText3: + TX_FAR _Route11EndBattleText3 + db "@" + +Route11AfterBattleText3: + TX_FAR _Route11AfterBattleText3 + db "@" + +Route11Text4: + TX_ASM + ld hl, Route11TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText4: + TX_FAR _Route11BattleText4 + db "@" + +Route11EndBattleText4: + TX_FAR _Route11EndBattleText4 + db "@" + +Route11AfterBattleText4: + TX_FAR _Route11AfterBattleText4 + db "@" + +Route11Text5: + TX_ASM + ld hl, Route11TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText5: + TX_FAR _Route11BattleText5 + db "@" + +Route11EndBattleText5: + TX_FAR _Route11EndBattleText5 + db "@" + +Route11AfterBattleText5: + TX_FAR _Route11AfterBattleText5 + db "@" + +Route11Text6: + TX_ASM + ld hl, Route11TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText6: + TX_FAR _Route11BattleText6 + db "@" + +Route11EndBattleText6: + TX_FAR _Route11EndBattleText6 + db "@" + +Route11AfterBattleText6: + TX_FAR _Route11AfterBattleText6 + db "@" + +Route11Text7: + TX_ASM + ld hl, Route11TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText7: + TX_FAR _Route11BattleText7 + db "@" + +Route11EndBattleText7: + TX_FAR _Route11EndBattleText7 + db "@" + +Route11AfterBattleText7: + TX_FAR _Route11AfterBattleText7 + db "@" + +Route11Text8: + TX_ASM + ld hl, Route11TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText8: + TX_FAR _Route11BattleText8 + db "@" + +Route11EndBattleText8: + TX_FAR _Route11EndBattleText8 + db "@" + +Route11AfterBattleText8: + TX_FAR _Route11AfterBattleText8 + db "@" + +Route11Text9: + TX_ASM + ld hl, Route11TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText9: + TX_FAR _Route11BattleText9 + db "@" + +Route11EndBattleText9: + TX_FAR _Route11EndBattleText9 + db "@" + +Route11AfterBattleText9: + TX_FAR _Route11AfterBattleText9 + db "@" + +Route11Text10: + TX_ASM + ld hl, Route11TrainerHeader9 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText10: + TX_FAR _Route11BattleText10 + db "@" + +Route11EndBattleText10: + TX_FAR _Route11EndBattleText10 + db "@" + +Route11AfterBattleText10: + TX_FAR _Route11AfterBattleText10 + db "@" + +Route11Text11: + TX_FAR _Route11Text11 + db "@" diff --git a/scripts/Route11Gate1F.asm b/scripts/Route11Gate1F.asm new file mode 100755 index 00000000..8e5f6c03 --- /dev/null +++ b/scripts/Route11Gate1F.asm @@ -0,0 +1,9 @@ +Route11Gate1F_Script: + jp EnableAutoTextBoxDrawing + +Route11Gate1F_TextPointers: + dw Route11GateText1 + +Route11GateText1: + TX_FAR _Route11GateText1 + db "@" diff --git a/scripts/Route11Gate2F.asm b/scripts/Route11Gate2F.asm new file mode 100755 index 00000000..c140937d --- /dev/null +++ b/scripts/Route11Gate2F.asm @@ -0,0 +1,76 @@ +Route11Gate2F_Script: + jp DisableAutoTextBoxDrawing + +Route11Gate2F_TextPointers: + dw Route11GateUpstairsText1 + dw Route11GateUpstairsText2 + dw Route11GateUpstairsText3 + dw Route11GateUpstairsText4 + +Route11GateUpstairsText1: + TX_ASM + xor a + ld [wWhichTrade], a + predef DoInGameTradeDialogue +Route11GateUpstairsScriptEnd: + jp TextScriptEnd + +Route11GateUpstairsText2: + TX_ASM + CheckEvent EVENT_GOT_ITEMFINDER, 1 + jr c, .asm_4949b + ld a, 30 ; pokemon needed + ld [hOaksAideRequirement], a + ld a, ITEMFINDER ; oak's aide reward + ld [hOaksAideRewardItem], a + ld [wd11e], a + call GetItemName + ld h, d + ld l, e + ld de, wOaksAideRewardItemName + ld bc, ITEM_NAME_LENGTH + call CopyData + predef OaksAideScript + ld a, [hOaksAideResult] + dec a + jr nz, .asm_494a1 + SetEvent EVENT_GOT_ITEMFINDER +.asm_4949b + ld hl, Route11GateUpstairsText_494a3 + call PrintText +.asm_494a1 + jr Route11GateUpstairsScriptEnd + +Route11GateUpstairsText_494a3: + TX_FAR _Route11GateUpstairsText_494a3 + db "@" + +Route11GateUpstairsText3: + TX_ASM + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + jp nz, GateUpstairsScript_PrintIfFacingUp + CheckEvent EVENT_BEAT_ROUTE12_SNORLAX + ld hl, BinocularsSnorlaxText + jr z, .print + ld hl, BinocularsNoSnorlaxText +.print + call PrintText + jp TextScriptEnd + +BinocularsSnorlaxText: + TX_FAR _BinocularsSnorlaxText + db "@" + +BinocularsNoSnorlaxText: + TX_FAR _BinocularsNoSnorlaxText + db "@" + +Route11GateUpstairsText4: + TX_ASM + ld hl, Route11GateUpstairsText_494d5 + jp GateUpstairsScript_PrintIfFacingUp + +Route11GateUpstairsText_494d5: + TX_FAR _Route11GateUpstairsText_494d5 + db "@" diff --git a/scripts/Route12.asm b/scripts/Route12.asm new file mode 100755 index 00000000..510e7727 --- /dev/null +++ b/scripts/Route12.asm @@ -0,0 +1,288 @@ +Route12_Script: + call EnableAutoTextBoxDrawing + ld hl, Route12TrainerHeader0 + ld de, Route12_ScriptPointers + ld a, [wRoute12CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute12CurScript], a + ret + +Route12Script_59606: + xor a + ld [wJoyIgnore], a + ld [wRoute12CurScript], a + ld [wCurMapScript], a + ret + +Route12_ScriptPointers: + dw Route12Script0 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw Route12Script3 + +Route12Script0: + CheckEventHL EVENT_BEAT_ROUTE12_SNORLAX + jp nz, CheckFightingMapTrainers + CheckEventReuseHL EVENT_FIGHT_ROUTE12_SNORLAX + ResetEventReuseHL EVENT_FIGHT_ROUTE12_SNORLAX + jp z, CheckFightingMapTrainers + ld a, $d + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, SNORLAX + ld [wCurOpponent], a + ld a, 30 + ld [wCurEnemyLVL], a + ld a, HS_ROUTE_12_SNORLAX + ld [wMissableObjectIndex], a + predef HideObject + ld a, $3 + ld [wRoute12CurScript], a + ld [wCurMapScript], a + ret + +Route12Script3: + ld a, [wIsInBattle] + cp $ff + jr z, Route12Script_59606 + call UpdateSprites + ld a, [wBattleResult] + cp $2 + jr z, .asm_59664 + ld a, $e + ld [hSpriteIndexOrTextID], a + call DisplayTextID +.asm_59664 + SetEvent EVENT_BEAT_ROUTE12_SNORLAX + call Delay3 + ld a, $0 + ld [wRoute12CurScript], a + ld [wCurMapScript], a + ret + +Route12_TextPointers: + dw Route12Text1 + dw Route12Text2 + dw Route12Text3 + dw Route12Text4 + dw Route12Text5 + dw Route12Text6 + dw Route12Text7 + dw Route12Text8 + dw PickUpItemText + dw PickUpItemText + dw Route12Text11 + dw Route12Text12 + dw Route12Text13 + dw Route12Text14 + +Route12TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_0 + dw Route12BattleText1 ; TextBeforeBattle + dw Route12AfterBattleText1 ; TextAfterBattle + dw Route12EndBattleText1 ; TextEndBattle + dw Route12EndBattleText1 ; TextEndBattle + +Route12TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_1 + dw Route12BattleText2 ; TextBeforeBattle + dw Route12AfterBattleText2 ; TextAfterBattle + dw Route12EndBattleText2 ; TextEndBattle + dw Route12EndBattleText2 ; TextEndBattle + +Route12TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_2 + dw Route12BattleText3 ; TextBeforeBattle + dw Route12AfterBattleText3 ; TextAfterBattle + dw Route12EndBattleText3 ; TextEndBattle + dw Route12EndBattleText3 ; TextEndBattle + +Route12TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_3 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_3 + dw Route12BattleText4 ; TextBeforeBattle + dw Route12AfterBattleText4 ; TextAfterBattle + dw Route12EndBattleText4 ; TextEndBattle + dw Route12EndBattleText4 ; TextEndBattle + +Route12TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_4 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_4 + dw Route12BattleText5 ; TextBeforeBattle + dw Route12AfterBattleText5 ; TextAfterBattle + dw Route12EndBattleText5 ; TextEndBattle + dw Route12EndBattleText5 ; TextEndBattle + +Route12TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_5 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_5 + dw Route12BattleText6 ; TextBeforeBattle + dw Route12AfterBattleText6 ; TextAfterBattle + dw Route12EndBattleText6 ; TextEndBattle + dw Route12EndBattleText6 ; TextEndBattle + +Route12TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_6, 1 + db ($1 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_6, 1 + dw Route12BattleText7 ; TextBeforeBattle + dw Route12AfterBattleText7 ; TextAfterBattle + dw Route12EndBattleText7 ; TextEndBattle + dw Route12EndBattleText7 ; TextEndBattle + + db $ff + +Route12Text1: + TX_FAR _Route12Text1 + db "@" + +Route12Text13: + TX_FAR _Route12Text13 + db "@" + +Route12Text14: + TX_FAR _Route12Text14 + db "@" + +Route12Text2: + TX_ASM + ld hl, Route12TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route12BattleText1: + TX_FAR _Route12BattleText1 + db "@" + +Route12EndBattleText1: + TX_FAR _Route12EndBattleText1 + db "@" + +Route12AfterBattleText1: + TX_FAR _Route12AfterBattleText1 + db "@" + +Route12Text3: + TX_ASM + ld hl, Route12TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route12BattleText2: + TX_FAR _Route12BattleText2 + db "@" + +Route12EndBattleText2: + TX_FAR _Route12EndBattleText2 + db "@" + +Route12AfterBattleText2: + TX_FAR _Route12AfterBattleText2 + db "@" + +Route12Text4: + TX_ASM + ld hl, Route12TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route12BattleText3: + TX_FAR _Route12BattleText3 + db "@" + +Route12EndBattleText3: + TX_FAR _Route12EndBattleText3 + db "@" + +Route12AfterBattleText3: + TX_FAR _Route12AfterBattleText3 + db "@" + +Route12Text5: + TX_ASM + ld hl, Route12TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route12BattleText4: + TX_FAR _Route12BattleText4 + db "@" + +Route12EndBattleText4: + TX_FAR _Route12EndBattleText4 + db "@" + +Route12AfterBattleText4: + TX_FAR _Route12AfterBattleText4 + db "@" + +Route12Text6: + TX_ASM + ld hl, Route12TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route12BattleText5: + TX_FAR _Route12BattleText5 + db "@" + +Route12EndBattleText5: + TX_FAR _Route12EndBattleText5 + db "@" + +Route12AfterBattleText5: + TX_FAR _Route12AfterBattleText5 + db "@" + +Route12Text7: + TX_ASM + ld hl, Route12TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route12BattleText6: + TX_FAR _Route12BattleText6 + db "@" + +Route12EndBattleText6: + TX_FAR _Route12EndBattleText6 + db "@" + +Route12AfterBattleText6: + TX_FAR _Route12AfterBattleText6 + db "@" + +Route12Text8: + TX_ASM + ld hl, Route12TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route12BattleText7: + TX_FAR _Route12BattleText7 + db "@" + +Route12EndBattleText7: + TX_FAR _Route12EndBattleText7 + db "@" + +Route12AfterBattleText7: + TX_FAR _Route12AfterBattleText7 + db "@" + +Route12Text11: + TX_FAR _Route12Text11 + db "@" + +Route12Text12: + TX_FAR _Route12Text12 + db "@" diff --git a/scripts/Route12Gate1F.asm b/scripts/Route12Gate1F.asm new file mode 100755 index 00000000..52d427ee --- /dev/null +++ b/scripts/Route12Gate1F.asm @@ -0,0 +1,9 @@ +Route12Gate1F_Script: + jp EnableAutoTextBoxDrawing + +Route12Gate1F_TextPointers: + dw Route12GateText1 + +Route12GateText1: + TX_FAR _Route12GateText1 + db "@" diff --git a/scripts/Route12Gate2F.asm b/scripts/Route12Gate2F.asm new file mode 100755 index 00000000..0cc2768b --- /dev/null +++ b/scripts/Route12Gate2F.asm @@ -0,0 +1,78 @@ +Route12Gate2F_Script: + jp DisableAutoTextBoxDrawing + +Route12Gate2F_TextPointers: + dw Route12GateUpstairsText1 + dw Route12GateUpstairsText2 + dw Route12GateUpstairsText3 + +Route12GateUpstairsText1: + TX_ASM + CheckEvent EVENT_GOT_TM39, 1 + jr c, .asm_0ad3c + ld hl, TM39PreReceiveText + call PrintText + lb bc, TM_39, 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedTM39Text + call PrintText + SetEvent EVENT_GOT_TM39 + jr .asm_4ba56 +.BagFull + ld hl, TM39NoRoomText + call PrintText + jr .asm_4ba56 +.asm_0ad3c + ld hl, TM39ExplanationText + call PrintText +.asm_4ba56 + jp TextScriptEnd + +TM39PreReceiveText: + TX_FAR _TM39PreReceiveText + db "@" + +ReceivedTM39Text: + TX_FAR _ReceivedTM39Text + TX_SFX_ITEM_1 + db "@" + +TM39ExplanationText: + TX_FAR _TM39ExplanationText + db "@" + +TM39NoRoomText: + TX_FAR _TM39NoRoomText + db "@" + +Route12GateUpstairsText2: + TX_ASM + ld hl, Route12GateUpstairsText_495b8 + jp GateUpstairsScript_PrintIfFacingUp + +Route12GateUpstairsText_495b8: + TX_FAR _Route12GateUpstairsText_495b8 + db "@" + +Route12GateUpstairsText3: + TX_ASM + ld hl, Route12GateUpstairsText_495c4 + jp GateUpstairsScript_PrintIfFacingUp + +Route12GateUpstairsText_495c4: + TX_FAR _Route12GateUpstairsText_495c4 + db "@" + +GateUpstairsScript_PrintIfFacingUp: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + jr z, .up + ld a, $1 + jr .done +.up + call PrintText + xor a +.done + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + jp TextScriptEnd diff --git a/scripts/Route12SuperRodHouse.asm b/scripts/Route12SuperRodHouse.asm new file mode 100755 index 00000000..de8ed8f0 --- /dev/null +++ b/scripts/Route12SuperRodHouse.asm @@ -0,0 +1,57 @@ +Route12SuperRodHouse_Script: + jp EnableAutoTextBoxDrawing + +Route12SuperRodHouse_TextPointers: + dw Route12HouseText1 + +Route12HouseText1: + TX_ASM + ld a, [wd728] + bit 5, a + jr nz, .asm_b4cad + ld hl, Route12HouseText_564c0 + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_a2d76 + lb bc, SUPER_ROD, 1 + call GiveItem + jr nc, .BagFull + ld hl, wd728 + set 5, [hl] + ld hl, Route12HouseText_564c5 + jr .asm_df984 +.BagFull + ld hl, Route12HouseText_564d9 + jr .asm_df984 +.asm_a2d76 + ld hl, Route12HouseText_564cf + jr .asm_df984 +.asm_b4cad + ld hl, Route12HouseText_564d4 +.asm_df984 + call PrintText + jp TextScriptEnd + +Route12HouseText_564c0: + TX_FAR _Route12HouseText_564c0 + db "@" + +Route12HouseText_564c5: + TX_FAR _Route12HouseText_564c5 + TX_SFX_ITEM_1 + TX_FAR _Route12HouseText_564ca + db "@" + +Route12HouseText_564cf: + TX_FAR _Route12HouseText_564cf + db "@" + +Route12HouseText_564d4: + TX_FAR _Route12HouseText_564d4 + db "@" + +Route12HouseText_564d9: + TX_FAR _Route12HouseText_564d9 + db "@" diff --git a/scripts/Route13.asm b/scripts/Route13.asm new file mode 100755 index 00000000..8f92147e --- /dev/null +++ b/scripts/Route13.asm @@ -0,0 +1,312 @@ +Route13_Script: + call EnableAutoTextBoxDrawing + ld hl, Route13TrainerHeader0 + ld de, Route13_ScriptPointers + ld a, [wRoute13CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute13CurScript], a + ret + +Route13_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Route13_TextPointers: + dw Route13Text1 + dw Route13Text2 + dw Route13Text3 + dw Route13Text4 + dw Route13Text5 + dw Route13Text6 + dw Route13Text7 + dw Route13Text8 + dw Route13Text9 + dw Route13Text10 + dw Route13Text11 + dw Route13Text12 + dw Route13Text13 + +Route13TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_0 + dw Route13BattleText2 ; TextBeforeBattle + dw Route13AfterBattleText2 ; TextAfterBattle + dw Route13EndBattleText2 ; TextEndBattle + dw Route13EndBattleText2 ; TextEndBattle + +Route13TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_1 + dw Route13BattleText3 ; TextBeforeBattle + dw Route13AfterBattleText3 ; TextAfterBattle + dw Route13EndBattleText3 ; TextEndBattle + dw Route13EndBattleText3 ; TextEndBattle + +Route13TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_2 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_2 + dw Route13BattleText4 ; TextBeforeBattle + dw Route13AfterBattleText4 ; TextAfterBattle + dw Route13EndBattleText4 ; TextEndBattle + dw Route13EndBattleText4 ; TextEndBattle + +Route13TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_3 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_3 + dw Route13BattleText5 ; TextBeforeBattle + dw Route13AfterBattleText5 ; TextAfterBattle + dw Route13EndBattleText5 ; TextEndBattle + dw Route13EndBattleText5 ; TextEndBattle + +Route13TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_4 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_4 + dw Route13BattleText6 ; TextBeforeBattle + dw Route13AfterBattleText6 ; TextAfterBattle + dw Route13EndBattleText6 ; TextEndBattle + dw Route13EndBattleText6 ; TextEndBattle + +Route13TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_5 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_5 + dw Route13BattleText7 ; TextBeforeBattle + dw Route13AfterBattleText7 ; TextAfterBattle + dw Route13EndBattleText7 ; TextEndBattle + dw Route13EndBattleText7 ; TextEndBattle + +Route13TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_6 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_6 + dw Route13BattleText8 ; TextBeforeBattle + dw Route13AfterBattleText8 ; TextAfterBattle + dw Route13EndBattleText8 ; TextEndBattle + dw Route13EndBattleText8 ; TextEndBattle + +Route13TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_7, 1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_7, 1 + dw Route13BattleText9 ; TextBeforeBattle + dw Route13AfterBattleText9 ; TextAfterBattle + dw Route13EndBattleText9 ; TextEndBattle + dw Route13EndBattleText9 ; TextEndBattle + +Route13TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_8, 1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_8, 1 + dw Route13BattleText10 ; TextBeforeBattle + dw Route13AfterBattleText10 ; TextAfterBattle + dw Route13EndBattleText10 ; TextEndBattle + dw Route13EndBattleText10 ; TextEndBattle + +Route13TrainerHeader9: + dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_9, 1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_9, 1 + dw Route13BattleText11 ; TextBeforeBattle + dw Route13AfterBattleText11 ; TextAfterBattle + dw Route13EndBattleText11 ; TextEndBattle + dw Route13EndBattleText11 ; TextEndBattle + + db $ff + +Route13Text1: + TX_ASM + ld hl, Route13TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText2: + TX_FAR _Route13BattleText2 + db "@" + +Route13EndBattleText2: + TX_FAR _Route13EndBattleText2 + db "@" + +Route13AfterBattleText2: + TX_FAR _Route13AfterBattleText2 + db "@" + +Route13Text2: + TX_ASM + ld hl, Route13TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText3: + TX_FAR _Route13BattleText3 + db "@" + +Route13EndBattleText3: + TX_FAR _Route13EndBattleText3 + db "@" + +Route13AfterBattleText3: + TX_FAR _Route13AfterBattleText3 + db "@" + +Route13Text3: + TX_ASM + ld hl, Route13TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText4: + TX_FAR _Route13BattleText4 + db "@" + +Route13EndBattleText4: + TX_FAR _Route13EndBattleText4 + db "@" + +Route13AfterBattleText4: + TX_FAR _Route13AfterBattleText4 + db "@" + +Route13Text4: + TX_ASM + ld hl, Route13TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText5: + TX_FAR _Route13BattleText5 + db "@" + +Route13EndBattleText5: + TX_FAR _Route13EndBattleText5 + db "@" + +Route13AfterBattleText5: + TX_FAR _Route13AfterBattleText5 + db "@" + +Route13Text5: + TX_ASM + ld hl, Route13TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText6: + TX_FAR _Route13BattleText6 + db "@" + +Route13EndBattleText6: + TX_FAR _Route13EndBattleText6 + db "@" + +Route13AfterBattleText6: + TX_FAR _Route13AfterBattleText6 + db "@" + +Route13Text6: + TX_ASM + ld hl, Route13TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText7: + TX_FAR _Route13BattleText7 + db "@" + +Route13EndBattleText7: + TX_FAR _Route13EndBattleText7 + db "@" + +Route13AfterBattleText7: + TX_FAR _Route13AfterBattleText7 + db "@" + +Route13Text7: + TX_ASM + ld hl, Route13TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText8: + TX_FAR _Route13BattleText8 + db "@" + +Route13EndBattleText8: + TX_FAR _Route13EndBattleText8 + db "@" + +Route13AfterBattleText8: + TX_FAR _Route13AfterBattleText8 + db "@" + +Route13Text8: + TX_ASM + ld hl, Route13TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText9: + TX_FAR _Route13BattleText9 + db "@" + +Route13EndBattleText9: + TX_FAR _Route13EndBattleText9 + db "@" + +Route13AfterBattleText9: + TX_FAR _Route13AfterBattleText9 + db "@" + +Route13Text9: + TX_ASM + ld hl, Route13TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText10: + TX_FAR _Route13BattleText10 + db "@" + +Route13EndBattleText10: + TX_FAR _Route13EndBattleText10 + db "@" + +Route13AfterBattleText10: + TX_FAR _Route13AfterBattleText10 + db "@" + +Route13Text10: + TX_ASM + ld hl, Route13TrainerHeader9 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText11: + TX_FAR _Route13BattleText11 + db "@" + +Route13EndBattleText11: + TX_FAR _Route13EndBattleText11 + db "@" + +Route13AfterBattleText11: + TX_FAR _Route13AfterBattleText11 + db "@" + +Route13Text11: + TX_FAR _Route13Text11 + db "@" + +Route13Text12: + TX_FAR _Route13Text12 + db "@" + +Route13Text13: + TX_FAR _Route13Text13 + db "@" diff --git a/scripts/Route14.asm b/scripts/Route14.asm new file mode 100755 index 00000000..fdc84d74 --- /dev/null +++ b/scripts/Route14.asm @@ -0,0 +1,302 @@ +Route14_Script: + call EnableAutoTextBoxDrawing + ld hl, Route14TrainerHeader0 + ld de, Route14_ScriptPointers + ld a, [wRoute14CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute14CurScript], a + ret + +Route14_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Route14_TextPointers: + dw Route14Text1 + dw Route14Text2 + dw Route14Text3 + dw Route14Text4 + dw Route14Text5 + dw Route14Text6 + dw Route14Text7 + dw Route14Text8 + dw Route14Text9 + dw Route14Text10 + dw Route14Text11 + +Route14TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_0 + dw Route14BattleText1 ; TextBeforeBattle + dw Route14AfterBattleText1 ; TextAfterBattle + dw Route14EndBattleText1 ; TextEndBattle + dw Route14EndBattleText1 ; TextEndBattle + +Route14TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_1 + dw Route14BattleText2 ; TextBeforeBattle + dw Route14AfterBattleText2 ; TextAfterBattle + dw Route14EndBattleText2 ; TextEndBattle + dw Route14EndBattleText2 ; TextEndBattle + +Route14TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_2 + dw Route14BattleText3 ; TextBeforeBattle + dw Route14AfterBattleText3 ; TextAfterBattle + dw Route14EndBattleText3 ; TextEndBattle + dw Route14EndBattleText3 ; TextEndBattle + +Route14TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_3 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_3 + dw Route14BattleText4 ; TextBeforeBattle + dw Route14AfterBattleText4 ; TextAfterBattle + dw Route14EndBattleText4 ; TextEndBattle + dw Route14EndBattleText4 ; TextEndBattle + +Route14TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_4 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_4 + dw Route14BattleText5 ; TextBeforeBattle + dw Route14AfterBattleText5 ; TextAfterBattle + dw Route14EndBattleText5 ; TextEndBattle + dw Route14EndBattleText5 ; TextEndBattle + +Route14TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_5 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_5 + dw Route14BattleText6 ; TextBeforeBattle + dw Route14AfterBattleText6 ; TextAfterBattle + dw Route14EndBattleText6 ; TextEndBattle + dw Route14EndBattleText6 ; TextEndBattle + +Route14TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_6 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_6 + dw Route14BattleText7 ; TextBeforeBattle + dw Route14AfterBattleText7 ; TextAfterBattle + dw Route14EndBattleText7 ; TextEndBattle + dw Route14EndBattleText7 ; TextEndBattle + +Route14TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_7, 1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_7, 1 + dw Route14BattleText8 ; TextBeforeBattle + dw Route14AfterBattleText8 ; TextAfterBattle + dw Route14EndBattleText8 ; TextEndBattle + dw Route14EndBattleText8 ; TextEndBattle + +Route14TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_8, 1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_8, 1 + dw Route14BattleText9 ; TextBeforeBattle + dw Route14AfterBattleText9 ; TextAfterBattle + dw Route14EndBattleText9 ; TextEndBattle + dw Route14EndBattleText9 ; TextEndBattle + +Route14TrainerHeader9: + dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_9, 1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_9, 1 + dw Route14BattleText10 ; TextBeforeBattle + dw Route14AfterBattleText10 ; TextAfterBattle + dw Route14EndBattleText10 ; TextEndBattle + dw Route14EndBattleText10 ; TextEndBattle + + db $ff + +Route14Text1: + TX_ASM + ld hl, Route14TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText1: + TX_FAR _Route14BattleText1 + db "@" + +Route14EndBattleText1: + TX_FAR _Route14EndBattleText1 + db "@" + +Route14AfterBattleText1: + TX_FAR _Route14AfterBattleText1 + db "@" + +Route14Text2: + TX_ASM + ld hl, Route14TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText2: + TX_FAR _Route14BattleText2 + db "@" + +Route14EndBattleText2: + TX_FAR _Route14EndBattleText2 + db "@" + +Route14AfterBattleText2: + TX_FAR _Route14AfterBattleText2 + db "@" + +Route14Text3: + TX_ASM + ld hl, Route14TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText3: + TX_FAR _Route14BattleText3 + db "@" + +Route14EndBattleText3: + TX_FAR _Route14EndBattleText3 + db "@" + +Route14AfterBattleText3: + TX_FAR _Route14AfterBattleText3 + db "@" + +Route14Text4: + TX_ASM + ld hl, Route14TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText4: + TX_FAR _Route14BattleText4 + db "@" + +Route14EndBattleText4: + TX_FAR _Route14EndBattleText4 + db "@" + +Route14AfterBattleText4: + TX_FAR _Route14AfterBattleText4 + db "@" + +Route14Text5: + TX_ASM + ld hl, Route14TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText5: + TX_FAR _Route14BattleText5 + db "@" + +Route14EndBattleText5: + TX_FAR _Route14EndBattleText5 + db "@" + +Route14AfterBattleText5: + TX_FAR _Route14AfterBattleText5 + db "@" + +Route14Text6: + TX_ASM + ld hl, Route14TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText6: + TX_FAR _Route14BattleText6 + db "@" + +Route14EndBattleText6: + TX_FAR _Route14EndBattleText6 + db "@" + +Route14AfterBattleText6: + TX_FAR _Route14AfterBattleText6 + db "@" + +Route14Text7: + TX_ASM + ld hl, Route14TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText7: + TX_FAR _Route14BattleText7 + db "@" + +Route14EndBattleText7: + TX_FAR _Route14EndBattleText7 + db "@" + +Route14AfterBattleText7: + TX_FAR _Route14AfterBattleText7 + db "@" + +Route14Text8: + TX_ASM + ld hl, Route14TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText8: + TX_FAR _Route14BattleText8 + db "@" + +Route14EndBattleText8: + TX_FAR _Route14EndBattleText8 + db "@" + +Route14AfterBattleText8: + TX_FAR _Route14AfterBattleText8 + db "@" + +Route14Text9: + TX_ASM + ld hl, Route14TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText9: + TX_FAR _Route14BattleText9 + db "@" + +Route14EndBattleText9: + TX_FAR _Route14EndBattleText9 + db "@" + +Route14AfterBattleText9: + TX_FAR _Route14AfterBattleText9 + db "@" + +Route14Text10: + TX_ASM + ld hl, Route14TrainerHeader9 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText10: + TX_FAR _Route14BattleText10 + db "@" + +Route14EndBattleText10: + TX_FAR _Route14EndBattleText10 + db "@" + +Route14AfterBattleText10: + TX_FAR _Route14AfterBattleText10 + db "@" + +Route14Text11: + TX_FAR _Route14Text11 + db "@" diff --git a/scripts/Route15.asm b/scripts/Route15.asm new file mode 100755 index 00000000..d973eb9c --- /dev/null +++ b/scripts/Route15.asm @@ -0,0 +1,295 @@ +Route15_Script: + call EnableAutoTextBoxDrawing + ld hl, Route15TrainerHeader0 + ld de, Route15_ScriptPointers + ld a, [wRoute15CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute15CurScript], a + ret + +Route15_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Route15_TextPointers: + dw Route15Text1 + dw Route15Text2 + dw Route15Text3 + dw Route15Text4 + dw Route15Text5 + dw Route15Text6 + dw Route15Text7 + dw Route15Text8 + dw Route15Text9 + dw Route15Text10 + dw PickUpItemText + dw Route15Text12 + +Route15TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_0 + dw Route15BattleText1 ; TextBeforeBattle + dw Route15AfterBattleText1 ; TextAfterBattle + dw Route15EndBattleText1 ; TextEndBattle + dw Route15EndBattleText1 ; TextEndBattle + +Route15TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_1 + dw Route15BattleText2 ; TextBeforeBattle + dw Route15AfterBattleText2 ; TextAfterBattle + dw Route15EndBattleText2 ; TextEndBattle + dw Route15EndBattleText2 ; TextEndBattle + +Route15TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_2 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_2 + dw Route15BattleText3 ; TextBeforeBattle + dw Route15AfterBattleText3 ; TextAfterBattle + dw Route15EndBattleText3 ; TextEndBattle + dw Route15EndBattleText3 ; TextEndBattle + +Route15TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_3 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_3 + dw Route15BattleText4 ; TextBeforeBattle + dw Route15AfterBattleText4 ; TextAfterBattle + dw Route15EndBattleText4 ; TextEndBattle + dw Route15EndBattleText4 ; TextEndBattle + +Route15TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_4 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_4 + dw Route15BattleText5 ; TextBeforeBattle + dw Route15AfterBattleText5 ; TextAfterBattle + dw Route15EndBattleText5 ; TextEndBattle + dw Route15EndBattleText5 ; TextEndBattle + +Route15TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_5 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_5 + dw Route15BattleText6 ; TextBeforeBattle + dw Route15AfterBattleText6 ; TextAfterBattle + dw Route15EndBattleText6 ; TextEndBattle + dw Route15EndBattleText6 ; TextEndBattle + +Route15TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_6 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_6 + dw Route15BattleText7 ; TextBeforeBattle + dw Route15AfterBattleText7 ; TextAfterBattle + dw Route15EndBattleText7 ; TextEndBattle + dw Route15EndBattleText7 ; TextEndBattle + +Route15TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_7, 1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_7, 1 + dw Route15BattleText8 ; TextBeforeBattle + dw Route15AfterBattleText8 ; TextAfterBattle + dw Route15EndBattleText8 ; TextEndBattle + dw Route15EndBattleText8 ; TextEndBattle + +Route15TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_8, 1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_8, 1 + dw Route15BattleText9 ; TextBeforeBattle + dw Route15AfterBattleText9 ; TextAfterBattle + dw Route15EndBattleText9 ; TextEndBattle + dw Route15EndBattleText9 ; TextEndBattle + +Route15TrainerHeader9: + dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_9, 1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_9, 1 + dw Route15BattleText10 ; TextBeforeBattle + dw Route15AfterBattleText10 ; TextAfterBattle + dw Route15EndBattleText10 ; TextEndBattle + dw Route15EndBattleText10 ; TextEndBattle + + db $ff + +Route15Text1: + TX_ASM + ld hl, Route15TrainerHeader0 + jr Route15TalkToTrainer + +Route15Text2: + TX_ASM + ld hl, Route15TrainerHeader1 + jr Route15TalkToTrainer + +Route15Text3: + TX_ASM + ld hl, Route15TrainerHeader2 + jr Route15TalkToTrainer + +Route15Text4: + TX_ASM + ld hl, Route15TrainerHeader3 + jr Route15TalkToTrainer + +Route15Text5: + TX_ASM + ld hl, Route15TrainerHeader4 + jr Route15TalkToTrainer + +Route15Text6: + TX_ASM + ld hl, Route15TrainerHeader5 + jr Route15TalkToTrainer + +Route15Text7: + TX_ASM + ld hl, Route15TrainerHeader6 + jr Route15TalkToTrainer + +Route15Text8: + TX_ASM + ld hl, Route15TrainerHeader7 + jr Route15TalkToTrainer + +Route15Text9: + TX_ASM + ld hl, Route15TrainerHeader8 + jr Route15TalkToTrainer + +Route15Text10: + TX_ASM + ld hl, Route15TrainerHeader9 +Route15TalkToTrainer: + call TalkToTrainer + jp TextScriptEnd + +Route15BattleText1: + TX_FAR _Route15BattleText1 + db "@" + +Route15EndBattleText1: + TX_FAR _Route15EndBattleText1 + db "@" + +Route15AfterBattleText1: + TX_FAR _Route15AfterBattleText1 + db "@" + +Route15BattleText2: + TX_FAR _Route15BattleText2 + db "@" + +Route15EndBattleText2: + TX_FAR _Route15EndBattleText2 + db "@" + +Route15AfterBattleText2: + TX_FAR _Route15AfterBattleText2 + db "@" + +Route15BattleText3: + TX_FAR _Route15BattleText3 + db "@" + +Route15EndBattleText3: + TX_FAR _Route15EndBattleText3 + db "@" + +Route15AfterBattleText3: + TX_FAR _Route15AfterBattleText3 + db "@" + +Route15BattleText4: + TX_FAR _Route15BattleText4 + db "@" + +Route15EndBattleText4: + TX_FAR _Route15EndBattleText4 + db "@" + +Route15AfterBattleText4: + TX_FAR _Route15AfterBattleText4 + db "@" + +Route15BattleText5: + TX_FAR _Route15BattleText5 + db "@" + +Route15EndBattleText5: + TX_FAR _Route15EndBattleText5 + db "@" + +Route15AfterBattleText5: + TX_FAR _Route15AfterBattleText5 + db "@" + +Route15BattleText6: + TX_FAR _Route15BattleText6 + db "@" + +Route15EndBattleText6: + TX_FAR _Route15EndBattleText6 + db "@" + +Route15AfterBattleText6: + TX_FAR _Route15AfterBattleText6 + db "@" + +Route15BattleText7: + TX_FAR _Route15BattleText7 + db "@" + +Route15EndBattleText7: + TX_FAR _Route15EndBattleText7 + db "@" + +Route15AfterBattleText7: + TX_FAR _Route15AfterBattleText7 + db "@" + +Route15BattleText8: + TX_FAR _Route15BattleText8 + db "@" + +Route15EndBattleText8: + TX_FAR _Route15EndBattleText8 + db "@" + +Route15AfterBattleText8: + TX_FAR _Route15AfterBattleText8 + db "@" + +Route15BattleText9: + TX_FAR _Route15BattleText9 + db "@" + +Route15EndBattleText9: + TX_FAR _Route15EndBattleText9 + db "@" + +Route15AfterBattleText9: + TX_FAR _Route15AfterBattleText9 + db "@" + +Route15BattleText10: + TX_FAR _Route15BattleText10 + db "@" + +Route15EndBattleText10: + TX_FAR _Route15EndBattleText10 + db "@" + +Route15AfterBattleText10: + TX_FAR _Route15AfterBattleText10 + db "@" + +Route15Text12: + TX_FAR _Route15Text12 + db "@" diff --git a/scripts/Route15Gate1F.asm b/scripts/Route15Gate1F.asm new file mode 100755 index 00000000..910eb2a5 --- /dev/null +++ b/scripts/Route15Gate1F.asm @@ -0,0 +1,9 @@ +Route15Gate1F_Script: + jp EnableAutoTextBoxDrawing + +Route15Gate1F_TextPointers: + dw Route15GateText1 + +Route15GateText1: + TX_FAR _Route15GateText1 + db "@" diff --git a/scripts/Route15Gate2F.asm b/scripts/Route15Gate2F.asm new file mode 100755 index 00000000..83763762 --- /dev/null +++ b/scripts/Route15Gate2F.asm @@ -0,0 +1,44 @@ +Route15Gate2F_Script: + jp DisableAutoTextBoxDrawing + +Route15Gate2F_TextPointers: + dw Route15GateUpstairsText1 + dw Route15GateUpstairsText2 + +Route15GateUpstairsText1: + TX_ASM + CheckEvent EVENT_GOT_EXP_ALL + jr nz, .asm_49683 + ld a, 50 ; pokemon needed + ld [hOaksAideRequirement], a + ld a, EXP_ALL ; oak's aide reward + ld [hOaksAideRewardItem], a + ld [wd11e], a + call GetItemName + ld hl, wcd6d + ld de, wOaksAideRewardItemName + ld bc, ITEM_NAME_LENGTH + call CopyData + predef OaksAideScript + ld a, [hOaksAideResult] + cp $1 + jr nz, .asm_49689 + SetEvent EVENT_GOT_EXP_ALL +.asm_49683 + ld hl, Route15GateUpstairsText_4968c + call PrintText +.asm_49689 + jp TextScriptEnd + +Route15GateUpstairsText_4968c: + TX_FAR _Route15GateUpstairsText_4968c + db "@" + +Route15GateUpstairsText2: + TX_ASM + ld hl, Route15GateUpstairsText_49698 + jp GateUpstairsScript_PrintIfFacingUp + +Route15GateUpstairsText_49698: + TX_FAR _Route15GateUpstairsText_49698 + db "@" diff --git a/scripts/Route16.asm b/scripts/Route16.asm new file mode 100755 index 00000000..54f83380 --- /dev/null +++ b/scripts/Route16.asm @@ -0,0 +1,259 @@ +Route16_Script: + call EnableAutoTextBoxDrawing + ld hl, Route16TrainerHeader0 + ld de, Route16_ScriptPointers + ld a, [wRoute16CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute16CurScript], a + ret + +Route16Script_59946: + xor a + ld [wJoyIgnore], a + ld [wRoute16CurScript], a + ld [wCurMapScript], a + ret + +Route16_ScriptPointers: + dw Route16Script0 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw Route16Script3 + +Route16Script0: + CheckEventHL EVENT_BEAT_ROUTE16_SNORLAX + jp nz, CheckFightingMapTrainers + CheckEventReuseHL EVENT_FIGHT_ROUTE16_SNORLAX + ResetEventReuseHL EVENT_FIGHT_ROUTE16_SNORLAX + jp z, CheckFightingMapTrainers + ld a, $a + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, SNORLAX + ld [wCurOpponent], a + ld a, 30 + ld [wCurEnemyLVL], a + ld a, HS_ROUTE_16_SNORLAX + ld [wMissableObjectIndex], a + predef HideObject + call UpdateSprites + ld a, $3 + ld [wRoute16CurScript], a + ld [wCurMapScript], a + ret + +Route16Script3: + ld a, [wIsInBattle] + cp $ff + jp z, Route16Script_59946 + call UpdateSprites + ld a, [wBattleResult] + cp $2 + jr z, .asm_599a8 + ld a, $b + ld [hSpriteIndexOrTextID], a + call DisplayTextID +.asm_599a8 + SetEvent EVENT_BEAT_ROUTE16_SNORLAX + call Delay3 + ld a, $0 + ld [wRoute16CurScript], a + ld [wCurMapScript], a + ret + +Route16_TextPointers: + dw Route16Text1 + dw Route16Text2 + dw Route16Text3 + dw Route16Text4 + dw Route16Text5 + dw Route16Text6 + dw Route16Text7 + dw Route16Text8 + dw Route16Text9 + dw Route16Text10 + dw Route16Text11 + +Route16TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_0 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_0 + dw Route16BattleText1 ; TextBeforeBattle + dw Route16AfterBattleText1 ; TextAfterBattle + dw Route16EndBattleText1 ; TextEndBattle + dw Route16EndBattleText1 ; TextEndBattle + +Route16TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_1 + dw Route16BattleText2 ; TextBeforeBattle + dw Route16AfterBattleText2 ; TextAfterBattle + dw Route16EndBattleText2 ; TextEndBattle + dw Route16EndBattleText2 ; TextEndBattle + +Route16TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_2 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_2 + dw Route16BattleText3 ; TextBeforeBattle + dw Route16AfterBattleText3 ; TextAfterBattle + dw Route16EndBattleText3 ; TextEndBattle + dw Route16EndBattleText3 ; TextEndBattle + +Route16TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_3 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_3 + dw Route16BattleText4 ; TextBeforeBattle + dw Route16AfterBattleText4 ; TextAfterBattle + dw Route16EndBattleText4 ; TextEndBattle + dw Route16EndBattleText4 ; TextEndBattle + +Route16TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_4 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_4 + dw Route16BattleText5 ; TextBeforeBattle + dw Route16AfterBattleText5 ; TextAfterBattle + dw Route16EndBattleText5 ; TextEndBattle + dw Route16EndBattleText5 ; TextEndBattle + +Route16TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_5 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_5 + dw Route16BattleText6 ; TextBeforeBattle + dw Route16AfterBattleText6 ; TextAfterBattle + dw Route16EndBattleText6 ; TextEndBattle + dw Route16EndBattleText6 ; TextEndBattle + + db $ff + +Route16Text1: + TX_ASM + ld hl, Route16TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route16BattleText1: + TX_FAR _Route16BattleText1 + db "@" + +Route16EndBattleText1: + TX_FAR _Route16EndBattleText1 + db "@" + +Route16AfterBattleText1: + TX_FAR _Route16AfterBattleText1 + db "@" + +Route16Text2: + TX_ASM + ld hl, Route16TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route16BattleText2: + TX_FAR _Route16BattleText2 + db "@" + +Route16EndBattleText2: + TX_FAR _Route16EndBattleText2 + db "@" + +Route16AfterBattleText2: + TX_FAR _Route16AfterBattleText2 + db "@" + +Route16Text3: + TX_ASM + ld hl, Route16TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route16BattleText3: + TX_FAR _Route16BattleText3 + db "@" + +Route16EndBattleText3: + TX_FAR _Route16EndBattleText3 + db "@" + +Route16AfterBattleText3: + TX_FAR _Route16AfterBattleText3 + db "@" + +Route16Text4: + TX_ASM + ld hl, Route16TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route16BattleText4: + TX_FAR _Route16BattleText4 + db "@" + +Route16EndBattleText4: + TX_FAR _Route16EndBattleText4 + db "@" + +Route16AfterBattleText4: + TX_FAR _Route16AfterBattleText4 + db "@" + +Route16Text5: + TX_ASM + ld hl, Route16TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route16BattleText5: + TX_FAR _Route16BattleText5 + db "@" + +Route16EndBattleText5: + TX_FAR _Route16EndBattleText5 + db "@" + +Route16AfterBattleText5: + TX_FAR _Route16AfterBattleText5 + db "@" + +Route16Text6: + TX_ASM + ld hl, Route16TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route16BattleText6: + TX_FAR _Route16BattleText6 + db "@" + +Route16EndBattleText6: + TX_FAR _Route16EndBattleText6 + db "@" + +Route16AfterBattleText6: + TX_FAR _Route16AfterBattleText6 + db "@" + +Route16Text7: + TX_FAR _Route16Text7 + db "@" + +Route16Text10: + TX_FAR _Route16Text10 + db "@" + +Route16Text11: + TX_FAR _Route16Text11 + db "@" + +Route16Text8: + TX_FAR _Route16Text8 + db "@" + +Route16Text9: + TX_FAR _Route16Text9 + db "@" diff --git a/scripts/Route16FlyHouse.asm b/scripts/Route16FlyHouse.asm new file mode 100755 index 00000000..1d74ac80 --- /dev/null +++ b/scripts/Route16FlyHouse.asm @@ -0,0 +1,55 @@ +Route16FlyHouse_Script: + jp EnableAutoTextBoxDrawing + +Route16FlyHouse_TextPointers: + dw Route16HouseText1 + dw Route16HouseText2 + +Route16HouseText1: + TX_ASM + CheckEvent EVENT_GOT_HM02 + ld hl, HM02ExplanationText + jr nz, .asm_13616 + ld hl, Route16HouseText3 + call PrintText + lb bc, HM_02, 1 + call GiveItem + jr nc, .BagFull + SetEvent EVENT_GOT_HM02 + ld hl, ReceivedHM02Text + jr .asm_13616 +.BagFull + ld hl, HM02NoRoomText +.asm_13616 + call PrintText + jp TextScriptEnd + +Route16HouseText3: + TX_FAR _Route16HouseText3 + db "@" + +ReceivedHM02Text: + TX_FAR _ReceivedHM02Text + TX_SFX_KEY_ITEM + db "@" + +HM02ExplanationText: + TX_FAR _HM02ExplanationText + db "@" + +HM02NoRoomText: + TX_FAR _HM02NoRoomText + db "@" + +Route16HouseText2: + TX_ASM + ld hl, Route16HouseText_1e652 + call PrintText + ld a, FEAROW + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + +Route16HouseText_1e652: + TX_FAR _Route16HouseText_1e652 + db "@" diff --git a/scripts/Route16Gate1F.asm b/scripts/Route16Gate1F.asm new file mode 100755 index 00000000..f814d209 --- /dev/null +++ b/scripts/Route16Gate1F.asm @@ -0,0 +1,121 @@ +Route16Gate1F_Script: + ld hl, wd732 + res 5, [hl] + call EnableAutoTextBoxDrawing + ld a, [wRoute16Gate1FCurScript] + ld hl, Route16Gate1F_ScriptPointers + jp CallFunctionInTable + +Route16Gate1F_ScriptPointers: + dw Route16GateScript0 + dw Route16GateScript1 + dw Route16GateScript2 + dw Route16GateScript3 + +Route16GateScript0: + call Route16GateScript_49755 + ret nz + ld hl, CoordsData_49714 + call ArePlayerCoordsInArray + ret nc + ld a, $3 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [hJoyHeld], a + ld a, [wCoordIndex] + cp $1 + jr z, .asm_4970e + ld a, [wCoordIndex] + dec a + ld [wSimulatedJoypadStatesIndex], a + ld b, $0 + ld c, a + ld a, D_UP + ld hl, wSimulatedJoypadStatesEnd + call FillMemory + call StartSimulatingJoypadStates + ld a, $1 + ld [wRoute16Gate1FCurScript], a + ret +.asm_4970e + ld a, $2 + ld [wRoute16Gate1FCurScript], a + ret + +CoordsData_49714: + db $07,$04 + db $08,$04 + db $09,$04 + db $0A,$04 + db $FF + +Route16GateScript1: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + ld a, $f0 + ld [wJoyIgnore], a + +Route16GateScript2: + ld a, $1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + ld a, D_RIGHT + ld [wSimulatedJoypadStatesEnd], a + call StartSimulatingJoypadStates + ld a, $3 + ld [wRoute16Gate1FCurScript], a + ret + +Route16GateScript3: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + xor a + ld [wJoyIgnore], a + ld hl, wd730 + res 7, [hl] + ld a, $0 + ld [wRoute16Gate1FCurScript], a + ret + +Route16GateScript_49755: + ld b, BICYCLE + jp IsItemInBag + +Route16Gate1F_TextPointers: + dw Route16GateText1 + dw Route16GateText2 + dw Route16GateText3 + +Route16GateText1: + TX_ASM + call Route16GateScript_49755 + jr z, .asm_0bdf3 + ld hl, Route16GateText_4977c + call PrintText + jr .asm_56c9d +.asm_0bdf3 + ld hl, Route16GateText_49777 + call PrintText +.asm_56c9d + jp TextScriptEnd + +Route16GateText_49777: + TX_FAR _Route16GateText_49777 + db "@" + +Route16GateText_4977c: + TX_FAR _Route16GateText_4977c + db "@" + +Route16GateText3: + TX_FAR _Route16GateText_49781 + db "@" + +Route16GateText2: + TX_FAR _Route16GateText2 + db "@" diff --git a/scripts/Route16Gate2F.asm b/scripts/Route16Gate2F.asm new file mode 100755 index 00000000..643a5ec7 --- /dev/null +++ b/scripts/Route16Gate2F.asm @@ -0,0 +1,46 @@ +Route16Gate2F_Script: + jp DisableAutoTextBoxDrawing + +Route16Gate2F_TextPointers: + dw Route16GateUpstairsText1 + dw Route16GateUpstairsText2 + dw Route16GateUpstairsText3 + dw Route16GateUpstairsText4 + +Route16GateUpstairsText1: + TX_ASM + ld hl, Route16GateUpstairsText_49820 + call PrintText + jp TextScriptEnd + +Route16GateUpstairsText_49820: + TX_FAR _Route16GateUpstairsText_49820 + db "@" + +Route16GateUpstairsText2: + TX_ASM + ld hl, Route16GateUpstairsText_4982f + call PrintText + jp TextScriptEnd + +Route16GateUpstairsText_4982f: + TX_FAR _Route16GateUpstairsText_4982f + db "@" + +Route16GateUpstairsText3: + TX_ASM + ld hl, Route16GateUpstairsText_4983b + jp GateUpstairsScript_PrintIfFacingUp + +Route16GateUpstairsText_4983b: + TX_FAR _Route16GateUpstairsText_4983b + db "@" + +Route16GateUpstairsText4: + TX_ASM + ld hl, Route16GateUpstairsText_49847 + jp GateUpstairsScript_PrintIfFacingUp + +Route16GateUpstairsText_49847: + TX_FAR _Route16GateUpstairsText_49847 + db "@" diff --git a/scripts/Route17.asm b/scripts/Route17.asm new file mode 100755 index 00000000..dd92ac44 --- /dev/null +++ b/scripts/Route17.asm @@ -0,0 +1,327 @@ +Route17_Script: + call EnableAutoTextBoxDrawing + ld hl, Route17TrainerHeader0 + ld de, Route17_ScriptPointers + ld a, [wRoute17CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute17CurScript], a + ret + +Route17_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Route17_TextPointers: + dw Route17Text1 + dw Route17Text2 + dw Route17Text3 + dw Route17Text4 + dw Route17Text5 + dw Route17Text6 + dw Route17Text7 + dw Route17Text8 + dw Route17Text9 + dw Route17Text10 + dw Route17Text11 + dw Route17Text12 + dw Route17Text13 + dw Route17Text14 + dw Route17Text15 + dw Route17Text16 + +Route17TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_0 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_0 + dw Route17BattleText1 ; TextBeforeBattle + dw Route17AfterBattleText1 ; TextAfterBattle + dw Route17EndBattleText1 ; TextEndBattle + dw Route17EndBattleText1 ; TextEndBattle + +Route17TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_1 + dw Route17BattleText2 ; TextBeforeBattle + dw Route17AfterBattleText2 ; TextAfterBattle + dw Route17EndBattleText2 ; TextEndBattle + dw Route17EndBattleText2 ; TextEndBattle + +Route17TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_2 + dw Route17BattleText3 ; TextBeforeBattle + dw Route17AfterBattleText3 ; TextAfterBattle + dw Route17EndBattleText3 ; TextEndBattle + dw Route17EndBattleText3 ; TextEndBattle + +Route17TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_3 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_3 + dw Route17BattleText4 ; TextBeforeBattle + dw Route17AfterBattleText4 ; TextAfterBattle + dw Route17EndBattleText4 ; TextEndBattle + dw Route17EndBattleText4 ; TextEndBattle + +Route17TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_4 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_4 + dw Route17BattleText5 ; TextBeforeBattle + dw Route17AfterBattleText5 ; TextAfterBattle + dw Route17EndBattleText5 ; TextEndBattle + dw Route17EndBattleText5 ; TextEndBattle + +Route17TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_5 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_5 + dw Route17BattleText6 ; TextBeforeBattle + dw Route17AfterBattleText6 ; TextAfterBattle + dw Route17EndBattleText6 ; TextEndBattle + dw Route17EndBattleText6 ; TextEndBattle + +Route17TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_6 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_6 + dw Route17BattleText7 ; TextBeforeBattle + dw Route17AfterBattleText7 ; TextAfterBattle + dw Route17EndBattleText7 ; TextEndBattle + dw Route17EndBattleText7 ; TextEndBattle + +Route17TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_7, 1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_7, 1 + dw Route17BattleText8 ; TextBeforeBattle + dw Route17AfterBattleText8 ; TextAfterBattle + dw Route17EndBattleText8 ; TextEndBattle + dw Route17EndBattleText8 ; TextEndBattle + +Route17TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_8, 1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_8, 1 + dw Route17BattleText9 ; TextBeforeBattle + dw Route17AfterBattleText9 ; TextAfterBattle + dw Route17EndBattleText9 ; TextEndBattle + dw Route17EndBattleText9 ; TextEndBattle + +Route17TrainerHeader9: + dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_9, 1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_9, 1 + dw Route17BattleText10 ; TextBeforeBattle + dw Route17AfterBattleText10 ; TextAfterBattle + dw Route17EndBattleText10 ; TextEndBattle + dw Route17EndBattleText10 ; TextEndBattle + + db $ff + +Route17Text1: + TX_ASM + ld hl, Route17TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText1: + TX_FAR _Route17BattleText1 + db "@" + +Route17EndBattleText1: + TX_FAR _Route17EndBattleText1 + db "@" + +Route17AfterBattleText1: + TX_FAR _Route17AfterBattleText1 + db "@" + +Route17Text2: + TX_ASM + ld hl, Route17TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText2: + TX_FAR _Route17BattleText2 + db "@" + +Route17EndBattleText2: + TX_FAR _Route17EndBattleText2 + db "@" + +Route17AfterBattleText2: + TX_FAR _Route17AfterBattleText2 + db "@" + +Route17Text3: + TX_ASM + ld hl, Route17TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText3: + TX_FAR _Route17BattleText3 + db "@" + +Route17EndBattleText3: + TX_FAR _Route17EndBattleText3 + db "@" + +Route17AfterBattleText3: + TX_FAR _Route17AfterBattleText3 + db "@" + +Route17Text4: + TX_ASM + ld hl, Route17TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText4: + TX_FAR _Route17BattleText4 + db "@" + +Route17EndBattleText4: + TX_FAR _Route17EndBattleText4 + db "@" + +Route17AfterBattleText4: + TX_FAR _Route17AfterBattleText4 + db "@" + +Route17Text5: + TX_ASM + ld hl, Route17TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText5: + TX_FAR _Route17BattleText5 + db "@" + +Route17EndBattleText5: + TX_FAR _Route17EndBattleText5 + db "@" + +Route17AfterBattleText5: + TX_FAR _Route17AfterBattleText5 + db "@" + +Route17Text6: + TX_ASM + ld hl, Route17TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText6: + TX_FAR _Route17BattleText6 + db "@" + +Route17EndBattleText6: + TX_FAR _Route17EndBattleText6 + db "@" + +Route17AfterBattleText6: + TX_FAR _Route17AfterBattleText6 + db "@" + +Route17Text7: + TX_ASM + ld hl, Route17TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText7: + TX_FAR _Route17BattleText7 + db "@" + +Route17EndBattleText7: + TX_FAR _Route17EndBattleText7 + db "@" + +Route17AfterBattleText7: + TX_FAR _Route17AfterBattleText7 + db "@" + +Route17Text8: + TX_ASM + ld hl, Route17TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText8: + TX_FAR _Route17BattleText8 + db "@" + +Route17EndBattleText8: + TX_FAR _Route17EndBattleText8 + db "@" + +Route17AfterBattleText8: + TX_FAR _Route17AfterBattleText8 + db "@" + +Route17Text9: + TX_ASM + ld hl, Route17TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText9: + TX_FAR _Route17BattleText9 + db "@" + +Route17EndBattleText9: + TX_FAR _Route17EndBattleText9 + db "@" + +Route17AfterBattleText9: + TX_FAR _Route17AfterBattleText9 + db "@" + +Route17Text10: + TX_ASM + ld hl, Route17TrainerHeader9 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText10: + TX_FAR _Route17BattleText10 + db "@" + +Route17EndBattleText10: + TX_FAR _Route17EndBattleText10 + db "@" + +Route17AfterBattleText10: + TX_FAR _Route17AfterBattleText10 + db "@" + +Route17Text11: + TX_FAR _Route17Text11 + db "@" + +Route17Text12: + TX_FAR _Route17Text12 + db "@" + +Route17Text13: + TX_FAR _Route17Text13 + db "@" + +Route17Text14: + TX_FAR _Route17Text14 + db "@" + +Route17Text15: + TX_FAR _Route17Text15 + db "@" + +Route17Text16: + TX_FAR _Route17Text16 + db "@" diff --git a/scripts/Route18.asm b/scripts/Route18.asm new file mode 100755 index 00000000..022d41be --- /dev/null +++ b/scripts/Route18.asm @@ -0,0 +1,111 @@ +Route18_Script: + call EnableAutoTextBoxDrawing + ld hl, Route18TrainerHeader0 + ld de, Route18_ScriptPointers + ld a, [wRoute18CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute18CurScript], a + ret + +Route18_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Route18_TextPointers: + dw Route18Text1 + dw Route18Text2 + dw Route18Text3 + dw Route18Text4 + dw Route18Text5 + +Route18TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_0 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_0 + dw Route18BattleText1 ; TextBeforeBattle + dw Route18AfterBattleText1 ; TextAfterBattle + dw Route18EndBattleText1 ; TextEndBattle + dw Route18EndBattleText1 ; TextEndBattle + +Route18TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_1 + dw Route18BattleText2 ; TextBeforeBattle + dw Route18AfterBattleText2 ; TextAfterBattle + dw Route18EndBattleText2 ; TextEndBattle + dw Route18EndBattleText2 ; TextEndBattle + +Route18TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_2 + dw Route18BattleText3 ; TextBeforeBattle + dw Route18AfterBattleText3 ; TextAfterBattle + dw Route18EndBattleText3 ; TextEndBattle + dw Route18EndBattleText3 ; TextEndBattle + + db $ff + +Route18Text1: + TX_ASM + ld hl, Route18TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route18BattleText1: + TX_FAR _Route18BattleText1 + db "@" + +Route18EndBattleText1: + TX_FAR _Route18EndBattleText1 + db "@" + +Route18AfterBattleText1: + TX_FAR _Route18AfterBattleText1 + db "@" + +Route18Text2: + TX_ASM + ld hl, Route18TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route18BattleText2: + TX_FAR _Route18BattleText2 + db "@" + +Route18EndBattleText2: + TX_FAR _Route18EndBattleText2 + db "@" + +Route18AfterBattleText2: + TX_FAR _Route18AfterBattleText2 + db "@" + +Route18Text3: + TX_ASM + ld hl, Route18TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route18BattleText3: + TX_FAR _Route18BattleText3 + db "@" + +Route18EndBattleText3: + TX_FAR _Route18EndBattleText3 + db "@" + +Route18AfterBattleText3: + TX_FAR _Route18AfterBattleText3 + db "@" + +Route18Text4: + TX_FAR _Route18Text4 + db "@" + +Route18Text5: + TX_FAR _Route18Text5 + db "@" diff --git a/scripts/Route18Gate1F.asm b/scripts/Route18Gate1F.asm new file mode 100755 index 00000000..812cb3e0 --- /dev/null +++ b/scripts/Route18Gate1F.asm @@ -0,0 +1,112 @@ +Route18Gate1F_Script: + ld hl, wd732 + res 5, [hl] + call EnableAutoTextBoxDrawing + ld a, [wRoute18Gate1FCurScript] + ld hl, Route18Gate1F_ScriptPointers + jp CallFunctionInTable + +Route18Gate1F_ScriptPointers: + dw Route18GateScript0 + dw Route18GateScript1 + dw Route18GateScript2 + dw Route18GateScript3 + +Route18GateScript0: + call Route16GateScript_49755 + ret nz + ld hl, CoordsData_498cc + call ArePlayerCoordsInArray + ret nc + ld a, $2 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [hJoyHeld], a + ld a, [wCoordIndex] + cp $1 + jr z, .asm_498c6 + ld a, [wCoordIndex] + dec a + ld [wSimulatedJoypadStatesIndex], a + ld b, 0 + ld c, a + ld a, D_UP + ld hl, wSimulatedJoypadStatesEnd + call FillMemory + call StartSimulatingJoypadStates + ld a, $1 + ld [wRoute18Gate1FCurScript], a + ret +.asm_498c6 + ld a, $2 + ld [wRoute18Gate1FCurScript], a + ret + +CoordsData_498cc: + db $03,$04 + db $04,$04 + db $05,$04 + db $06,$04 + db $FF + +Route18GateScript1: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + ld a, $f0 + ld [wJoyIgnore], a + +Route18GateScript2: + ld a, $1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + ld a, D_RIGHT + ld [wSimulatedJoypadStatesEnd], a + call StartSimulatingJoypadStates + ld a, $3 + ld [wRoute18Gate1FCurScript], a + ret + +Route18GateScript3: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + xor a + ld [wJoyIgnore], a + ld hl, wd730 + res 7, [hl] + ld a, $0 + ld [wRoute18Gate1FCurScript], a + ret + +Route18Gate1F_TextPointers: + dw Route18GateText1 + dw Route18GateText2 + +Route18GateText1: + TX_ASM + call Route16GateScript_49755 + jr z, .asm_3c84d + ld hl, Route18GateText_4992d + call PrintText + jr .asm_a8410 +.asm_3c84d + ld hl, Route18GateText_49928 + call PrintText +.asm_a8410 + jp TextScriptEnd + +Route18GateText_49928: + TX_FAR _Route18GateText_49928 + db "@" + +Route18GateText_4992d: + TX_FAR _Route18GateText_4992d + db "@" + +Route18GateText2: + TX_FAR _Route18GateText_49932 + db "@" diff --git a/scripts/Route18Gate2F.asm b/scripts/Route18Gate2F.asm new file mode 100755 index 00000000..6987a099 --- /dev/null +++ b/scripts/Route18Gate2F.asm @@ -0,0 +1,32 @@ +Route18Gate2F_Script: + jp DisableAutoTextBoxDrawing + +Route18Gate2F_TextPointers: + dw Route18GateUpstairsText1 + dw Route18GateUpstairsText2 + dw Route18GateUpstairsText3 + +Route18GateUpstairsText1: + TX_ASM + ld a, $5 + ld [wWhichTrade], a + predef DoInGameTradeDialogue + jp TextScriptEnd + +Route18GateUpstairsText2: + TX_ASM + ld hl, Route18GateUpstairsText_49993 + jp GateUpstairsScript_PrintIfFacingUp + +Route18GateUpstairsText_49993: + TX_FAR _Route18GateUpstairsText_49993 + db "@" + +Route18GateUpstairsText3: + TX_ASM + ld hl, Route18GateUpstairsText_4999f + jp GateUpstairsScript_PrintIfFacingUp + +Route18GateUpstairsText_4999f: + TX_FAR _Route18GateUpstairsText_4999f + db "@" diff --git a/scripts/Route19.asm b/scripts/Route19.asm new file mode 100755 index 00000000..6f603e05 --- /dev/null +++ b/scripts/Route19.asm @@ -0,0 +1,302 @@ +Route19_Script: + call EnableAutoTextBoxDrawing + ld hl, Route19TrainerHeader0 + ld de, Route19_ScriptPointers + ld a, [wRoute19CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute19CurScript], a + ret + +Route19_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Route19_TextPointers: + dw Route19Text1 + dw Route19Text2 + dw Route19Text3 + dw Route19Text4 + dw Route19Text5 + dw Route19Text6 + dw Route19Text7 + dw Route19Text8 + dw Route19Text9 + dw Route19Text10 + dw Route19Text11 + +Route19TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_0 + dw Route19BattleText1 ; TextBeforeBattle + dw Route19AfterBattleText1 ; TextAfterBattle + dw Route19EndBattleText1 ; TextEndBattle + dw Route19EndBattleText1 ; TextEndBattle + +Route19TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_1 + dw Route19BattleText2 ; TextBeforeBattle + dw Route19AfterBattleText2 ; TextAfterBattle + dw Route19EndBattleText2 ; TextEndBattle + dw Route19EndBattleText2 ; TextEndBattle + +Route19TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_2 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_2 + dw Route19BattleText3 ; TextBeforeBattle + dw Route19AfterBattleText3 ; TextAfterBattle + dw Route19EndBattleText3 ; TextEndBattle + dw Route19EndBattleText3 ; TextEndBattle + +Route19TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_3 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_3 + dw Route19BattleText4 ; TextBeforeBattle + dw Route19AfterBattleText4 ; TextAfterBattle + dw Route19EndBattleText4 ; TextEndBattle + dw Route19EndBattleText4 ; TextEndBattle + +Route19TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_4 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_4 + dw Route19BattleText5 ; TextBeforeBattle + dw Route19AfterBattleText5 ; TextAfterBattle + dw Route19EndBattleText5 ; TextEndBattle + dw Route19EndBattleText5 ; TextEndBattle + +Route19TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_5 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_5 + dw Route19BattleText6 ; TextBeforeBattle + dw Route19AfterBattleText6 ; TextAfterBattle + dw Route19EndBattleText6 ; TextEndBattle + dw Route19EndBattleText6 ; TextEndBattle + +Route19TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_6 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_6 + dw Route19BattleText7 ; TextBeforeBattle + dw Route19AfterBattleText7 ; TextAfterBattle + dw Route19EndBattleText7 ; TextEndBattle + dw Route19EndBattleText7 ; TextEndBattle + +Route19TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_7, 1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_7, 1 + dw Route19BattleText8 ; TextBeforeBattle + dw Route19AfterBattleText8 ; TextAfterBattle + dw Route19EndBattleText8 ; TextEndBattle + dw Route19EndBattleText8 ; TextEndBattle + +Route19TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_8, 1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_8, 1 + dw Route19BattleText9 ; TextBeforeBattle + dw Route19AfterBattleText9 ; TextAfterBattle + dw Route19EndBattleText9 ; TextEndBattle + dw Route19EndBattleText9 ; TextEndBattle + +Route19TrainerHeader9: + dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_9, 1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_9, 1 + dw Route19BattleText10 ; TextBeforeBattle + dw Route19AfterBattleText10 ; TextAfterBattle + dw Route19EndBattleText10 ; TextEndBattle + dw Route19EndBattleText10 ; TextEndBattle + + db $ff + +Route19Text1: + TX_ASM + ld hl, Route19TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route19Text2: + TX_ASM + ld hl, Route19TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route19Text3: + TX_ASM + ld hl, Route19TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route19Text4: + TX_ASM + ld hl, Route19TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route19Text5: + TX_ASM + ld hl, Route19TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route19Text6: + TX_ASM + ld hl, Route19TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route19Text7: + TX_ASM + ld hl, Route19TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route19Text8: + TX_ASM + ld hl, Route19TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route19Text9: + TX_ASM + ld hl, Route19TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route19Text10: + TX_ASM + ld hl, Route19TrainerHeader9 + call TalkToTrainer + jp TextScriptEnd + +Route19BattleText1: + TX_FAR _Route19BattleText1 + db "@" + +Route19EndBattleText1: + TX_FAR _Route19EndBattleText1 + db "@" + +Route19AfterBattleText1: + TX_FAR _Route19AfterBattleText1 + db "@" + +Route19BattleText2: + TX_FAR _Route19BattleText2 + db "@" + +Route19EndBattleText2: + TX_FAR _Route19EndBattleText2 + db "@" + +Route19AfterBattleText2: + TX_FAR _Route19AfterBattleText2 + db "@" + +Route19BattleText3: + TX_FAR _Route19BattleText3 + db "@" + +Route19EndBattleText3: + TX_FAR _Route19EndBattleText3 + db "@" + +Route19AfterBattleText3: + TX_FAR _Route19AfterBattleText3 + db "@" + +Route19BattleText4: + TX_FAR _Route19BattleText4 + db "@" + +Route19EndBattleText4: + TX_FAR _Route19EndBattleText4 + db "@" + +Route19AfterBattleText4: + TX_FAR _Route19AfterBattleText4 + db "@" + +Route19BattleText5: + TX_FAR _Route19BattleText5 + db "@" + +Route19EndBattleText5: + TX_FAR _Route19EndBattleText5 + db "@" + +Route19AfterBattleText5: + TX_FAR _Route19AfterBattleText5 + db "@" + +Route19BattleText6: + TX_FAR _Route19BattleText6 + db "@" + +Route19EndBattleText6: + TX_FAR _Route19EndBattleText6 + db "@" + +Route19AfterBattleText6: + TX_FAR _Route19AfterBattleText6 + db "@" + +Route19BattleText7: + TX_FAR _Route19BattleText7 + db "@" + +Route19EndBattleText7: + TX_FAR _Route19EndBattleText7 + db "@" + +Route19AfterBattleText7: + TX_FAR _Route19AfterBattleText7 + db "@" + +Route19BattleText8: + TX_FAR _Route19BattleText8 + db "@" + +Route19EndBattleText8: + TX_FAR _Route19EndBattleText8 + db "@" + +Route19AfterBattleText8: + TX_FAR _Route19AfterBattleText8 + db "@" + +Route19BattleText9: + TX_FAR _Route19BattleText9 + db "@" + +Route19EndBattleText9: + TX_FAR _Route19EndBattleText9 + db "@" + +Route19AfterBattleText9: + TX_FAR _Route19AfterBattleText9 + db "@" + +Route19BattleText10: + TX_FAR _Route19BattleText10 + db "@" + +Route19EndBattleText10: + TX_FAR _Route19EndBattleText10 + db "@" + +Route19AfterBattleText10: + TX_FAR _Route19AfterBattleText10 + db "@" + +Route19Text11: + TX_FAR _Route19Text11 + db "@" diff --git a/scripts/Route2.asm b/scripts/Route2.asm new file mode 100755 index 00000000..f4b1c8c4 --- /dev/null +++ b/scripts/Route2.asm @@ -0,0 +1,16 @@ +Route2_Script: + jp EnableAutoTextBoxDrawing + +Route2_TextPointers: + dw PickUpItemText + dw PickUpItemText + dw Route2Text3 + dw Route2Text4 + +Route2Text3: + TX_FAR _Route2Text3 + db "@" + +Route2Text4: + TX_FAR _Route2Text4 + db "@" diff --git a/scripts/Route20.asm b/scripts/Route20.asm new file mode 100755 index 00000000..081a723e --- /dev/null +++ b/scripts/Route20.asm @@ -0,0 +1,353 @@ +Route20_Script: + CheckAndResetEvent EVENT_IN_SEAFOAM_ISLANDS + call nz, Route20Script_50cc6 + call EnableAutoTextBoxDrawing + ld hl, Route20TrainerHeader0 + ld de, Route20_ScriptPointers + ld a, [wRoute20CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute20CurScript], a + ret + +Route20Script_50cc6: + CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE + jr z, .asm_50cef + ld a, HS_SEAFOAM_ISLANDS_1F_BOULDER_1 + call Route20Script_50d0c + ld a, HS_SEAFOAM_ISLANDS_1F_BOULDER_2 + call Route20Script_50d0c + ld hl, .MissableObjectIDs +.asm_50cdc + ld a, [hli] + cp $ff + jr z, .asm_50cef + push hl + call Route20Script_50d14 + pop hl + jr .asm_50cdc + +.MissableObjectIDs: + db HS_SEAFOAM_ISLANDS_B1F_BOULDER_1 + db HS_SEAFOAM_ISLANDS_B1F_BOULDER_2 + db HS_SEAFOAM_ISLANDS_B2F_BOULDER_1 + db HS_SEAFOAM_ISLANDS_B2F_BOULDER_2 + db HS_SEAFOAM_ISLANDS_B3F_BOULDER_3 + db HS_SEAFOAM_ISLANDS_B3F_BOULDER_4 + db $FF + +.asm_50cef + CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE + ret z + ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_1 + call Route20Script_50d0c + ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_2 + call Route20Script_50d0c + ld a, HS_SEAFOAM_ISLANDS_B4F_BOULDER_1 + call Route20Script_50d14 + ld a, HS_SEAFOAM_ISLANDS_B4F_BOULDER_2 + call Route20Script_50d14 + ret + +Route20Script_50d0c: + ld [wMissableObjectIndex], a + predef_jump ShowObject + +Route20Script_50d14: + ld [wMissableObjectIndex], a + predef_jump HideObject + +Route20_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Route20_TextPointers: + dw Route20Text1 + dw Route20Text2 + dw Route20Text3 + dw Route20Text4 + dw Route20Text5 + dw Route20Text6 + dw Route20Text7 + dw Route20Text8 + dw Route20Text9 + dw Route20Text10 + dw Route20Text11 + dw Route20Text12 + +Route20TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_0 + dw Route20BattleText1 ; TextBeforeBattle + dw Route20AfterBattleText1 ; TextAfterBattle + dw Route20EndBattleText1 ; TextEndBattle + dw Route20EndBattleText1 ; TextEndBattle + +Route20TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_1 + dw Route20BattleText2 ; TextBeforeBattle + dw Route20AfterBattleText2 ; TextAfterBattle + dw Route20EndBattleText2 ; TextEndBattle + dw Route20EndBattleText2 ; TextEndBattle + +Route20TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_2 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_2 + dw Route20BattleText3 ; TextBeforeBattle + dw Route20AfterBattleText3 ; TextAfterBattle + dw Route20EndBattleText3 ; TextEndBattle + dw Route20EndBattleText3 ; TextEndBattle + +Route20TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_3 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_3 + dw Route20BattleText4 ; TextBeforeBattle + dw Route20AfterBattleText4 ; TextAfterBattle + dw Route20EndBattleText4 ; TextEndBattle + dw Route20EndBattleText4 ; TextEndBattle + +Route20TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_4 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_4 + dw Route20BattleText5 ; TextBeforeBattle + dw Route20AfterBattleText5 ; TextAfterBattle + dw Route20EndBattleText5 ; TextEndBattle + dw Route20EndBattleText5 ; TextEndBattle + +Route20TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_5 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_5 + dw Route20BattleText6 ; TextBeforeBattle + dw Route20AfterBattleText6 ; TextAfterBattle + dw Route20EndBattleText6 ; TextEndBattle + dw Route20EndBattleText6 ; TextEndBattle + +Route20TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_6 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_6 + dw Route20BattleText7 ; TextBeforeBattle + dw Route20AfterBattleText7 ; TextAfterBattle + dw Route20EndBattleText7 ; TextEndBattle + dw Route20EndBattleText7 ; TextEndBattle + +Route20TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_7, 1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_7, 1 + dw Route20BattleText8 ; TextBeforeBattle + dw Route20AfterBattleText8 ; TextAfterBattle + dw Route20EndBattleText8 ; TextEndBattle + dw Route20EndBattleText8 ; TextEndBattle + +Route20TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_8, 1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_8, 1 + dw Route20BattleText9 ; TextBeforeBattle + dw Route20AfterBattleText9 ; TextAfterBattle + dw Route20EndBattleText9 ; TextEndBattle + dw Route20EndBattleText9 ; TextEndBattle + +Route20TrainerHeader9: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_9, 1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_9, 1 + dw Route20BattleText10 ; TextBeforeBattle + dw Route20AfterBattleText10 ; TextAfterBattle + dw Route20EndBattleText10 ; TextEndBattle + dw Route20EndBattleText10 ; TextEndBattle + + db $ff + +Route20Text1: + TX_ASM + ld hl, Route20TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route20Text2: + TX_ASM + ld hl, Route20TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route20Text3: + TX_ASM + ld hl, Route20TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route20Text4: + TX_ASM + ld hl, Route20TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route20Text5: + TX_ASM + ld hl, Route20TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route20Text6: + TX_ASM + ld hl, Route20TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route20Text7: + TX_ASM + ld hl, Route20TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route20Text8: + TX_ASM + ld hl, Route20TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route20Text9: + TX_ASM + ld hl, Route20TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route20Text10: + TX_ASM + ld hl, Route20TrainerHeader9 + call TalkToTrainer + jp TextScriptEnd + +Route20BattleText1: + TX_FAR _Route20BattleText1 + db "@" + +Route20EndBattleText1: + TX_FAR _Route20EndBattleText1 + db "@" + +Route20AfterBattleText1: + TX_FAR _Route20AfterBattleText1 + db "@" + +Route20BattleText2: + TX_FAR _Route20BattleText2 + db "@" + +Route20EndBattleText2: + TX_FAR _Route20EndBattleText2 + db "@" + +Route20AfterBattleText2: + TX_FAR _Route20AfterBattleText2 + db "@" + +Route20BattleText3: + TX_FAR _Route20BattleText3 + db "@" + +Route20EndBattleText3: + TX_FAR _Route20EndBattleText3 + db "@" + +Route20AfterBattleText3: + TX_FAR _Route20AfterBattleText3 + db "@" + +Route20BattleText4: + TX_FAR _Route20BattleText4 + db "@" + +Route20EndBattleText4: + TX_FAR _Route20EndBattleText4 + db "@" + +Route20AfterBattleText4: + TX_FAR _Route20AfterBattleText4 + db "@" + +Route20BattleText5: + TX_FAR _Route20BattleText5 + db "@" + +Route20EndBattleText5: + TX_FAR _Route20EndBattleText5 + db "@" + +Route20AfterBattleText5: + TX_FAR _Route20AfterBattleText5 + db "@" + +Route20BattleText6: + TX_FAR _Route20BattleText6 + db "@" + +Route20EndBattleText6: + TX_FAR _Route20EndBattleText6 + db "@" + +Route20AfterBattleText6: + TX_FAR _Route20AfterBattleText6 + db "@" + +Route20BattleText7: + TX_FAR _Route20BattleText7 + db "@" + +Route20EndBattleText7: + TX_FAR _Route20EndBattleText7 + db "@" + +Route20AfterBattleText7: + TX_FAR _Route20AfterBattleText7 + db "@" + +Route20BattleText8: + TX_FAR _Route20BattleText8 + db "@" + +Route20EndBattleText8: + TX_FAR _Route20EndBattleText8 + db "@" + +Route20AfterBattleText8: + TX_FAR _Route20AfterBattleText8 + db "@" + +Route20BattleText9: + TX_FAR _Route20BattleText9 + db "@" + +Route20EndBattleText9: + TX_FAR _Route20EndBattleText9 + db "@" + +Route20AfterBattleText9: + TX_FAR _Route20AfterBattleText9 + db "@" + +Route20BattleText10: + TX_FAR _Route20BattleText10 + db "@" + +Route20EndBattleText10: + TX_FAR _Route20EndBattleText10 + db "@" + +Route20AfterBattleText10: + TX_FAR _Route20AfterBattleText10 + db "@" + +Route20Text12: +Route20Text11: + TX_FAR _Route20Text11 + db "@" diff --git a/scripts/Route21.asm b/scripts/Route21.asm new file mode 100755 index 00000000..15dacd5d --- /dev/null +++ b/scripts/Route21.asm @@ -0,0 +1,269 @@ +Route21_Script: + call EnableAutoTextBoxDrawing + ld hl, Route21TrainerHeader0 + ld de, Route21_ScriptPointers + ld a, [wRoute21CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute21CurScript], a + ret + +Route21_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Route21_TextPointers: + dw Route21Text1 + dw Route21Text2 + dw Route21Text3 + dw Route21Text4 + dw Route21Text5 + dw Route21Text6 + dw Route21Text7 + dw Route21Text8 + dw Route21Text9 + +Route21TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_0 + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_0 + dw Route21BattleText1 ; TextBeforeBattle + dw Route21AfterBattleText1 ; TextAfterBattle + dw Route21EndBattleText1 ; TextEndBattle + dw Route21EndBattleText1 ; TextEndBattle + +Route21TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_1 + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_1 + dw Route21BattleText2 ; TextBeforeBattle + dw Route21AfterBattleText2 ; TextAfterBattle + dw Route21EndBattleText2 ; TextEndBattle + dw Route21EndBattleText2 ; TextEndBattle + +Route21TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_2 + dw Route21BattleText3 ; TextBeforeBattle + dw Route21AfterBattleText3 ; TextAfterBattle + dw Route21EndBattleText3 ; TextEndBattle + dw Route21EndBattleText3 ; TextEndBattle + +Route21TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_3 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_3 + dw Route21BattleText4 ; TextBeforeBattle + dw Route21AfterBattleText4 ; TextAfterBattle + dw Route21EndBattleText4 ; TextEndBattle + dw Route21EndBattleText4 ; TextEndBattle + +Route21TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_4 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_4 + dw Route21BattleText5 ; TextBeforeBattle + dw Route21AfterBattleText5 ; TextAfterBattle + dw Route21EndBattleText5 ; TextEndBattle + dw Route21EndBattleText5 ; TextEndBattle + +Route21TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_5 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_5 + dw Route21BattleText6 ; TextBeforeBattle + dw Route21AfterBattleText6 ; TextAfterBattle + dw Route21EndBattleText6 ; TextEndBattle + dw Route21EndBattleText6 ; TextEndBattle + +Route21TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_6 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_6 + dw Route21BattleText7 ; TextBeforeBattle + dw Route21AfterBattleText7 ; TextAfterBattle + dw Route21EndBattleText7 ; TextEndBattle + dw Route21EndBattleText7 ; TextEndBattle + +Route21TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_7, 1 + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_7, 1 + dw Route21BattleText8 ; TextBeforeBattle + dw Route21AfterBattleText8 ; TextAfterBattle + dw Route21EndBattleText8 ; TextEndBattle + dw Route21EndBattleText8 ; TextEndBattle + +Route21TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_8, 1 + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_8, 1 + dw Route21BattleText9 ; TextBeforeBattle + dw Route21AfterBattleText9 ; TextAfterBattle + dw Route21EndBattleText9 ; TextEndBattle + dw Route21EndBattleText9 ; TextEndBattle + + db $ff + +Route21Text1: + TX_ASM + ld hl, Route21TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route21Text2: + TX_ASM + ld hl, Route21TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route21Text3: + TX_ASM + ld hl, Route21TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route21Text4: + TX_ASM + ld hl, Route21TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route21Text5: + TX_ASM + ld hl, Route21TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route21Text6: + TX_ASM + ld hl, Route21TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route21Text7: + TX_ASM + ld hl, Route21TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route21Text8: + TX_ASM + ld hl, Route21TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route21Text9: + TX_ASM + ld hl, Route21TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route21BattleText1: + TX_FAR _Route21BattleText1 + db "@" + +Route21EndBattleText1: + TX_FAR _Route21EndBattleText1 + db "@" + +Route21AfterBattleText1: + TX_FAR _Route21AfterBattleText1 + db "@" + +Route21BattleText2: + TX_FAR _Route21BattleText2 + db "@" + +Route21EndBattleText2: + TX_FAR _Route21EndBattleText2 + db "@" + +Route21AfterBattleText2: + TX_FAR _Route21AfterBattleText2 + db "@" + +Route21BattleText3: + TX_FAR _Route21BattleText3 + db "@" + +Route21EndBattleText3: + TX_FAR _Route21EndBattleText3 + db "@" + +Route21AfterBattleText3: + TX_FAR _Route21AfterBattleText3 + db "@" + +Route21BattleText4: + TX_FAR _Route21BattleText4 + db "@" + +Route21EndBattleText4: + TX_FAR _Route21EndBattleText4 + db "@" + +Route21AfterBattleText4: + TX_FAR _Route21AfterBattleText4 + db "@" + +Route21BattleText5: + TX_FAR _Route21BattleText5 + db "@" + +Route21EndBattleText5: + TX_FAR _Route21EndBattleText5 + db "@" + +Route21AfterBattleText5: + TX_FAR _Route21AfterBattleText5 + db "@" + +Route21BattleText6: + TX_FAR _Route21BattleText6 + db "@" + +Route21EndBattleText6: + TX_FAR _Route21EndBattleText6 + db "@" + +Route21AfterBattleText6: + TX_FAR _Route21AfterBattleText6 + db "@" + +Route21BattleText7: + TX_FAR _Route21BattleText7 + db "@" + +Route21EndBattleText7: + TX_FAR _Route21EndBattleText7 + db "@" + +Route21AfterBattleText7: + TX_FAR _Route21AfterBattleText7 + db "@" + +Route21BattleText8: + TX_FAR _Route21BattleText8 + db "@" + +Route21EndBattleText8: + TX_FAR _Route21EndBattleText8 + db "@" + +Route21AfterBattleText8: + TX_FAR _Route21AfterBattleText8 + db "@" + +Route21BattleText9: + TX_FAR _Route21BattleText9 + db "@" + +Route21EndBattleText9: + TX_FAR _Route21EndBattleText9 + db "@" + +Route21AfterBattleText9: + TX_FAR _Route21AfterBattleText9 + db "@" diff --git a/scripts/Route22.asm b/scripts/Route22.asm new file mode 100755 index 00000000..7226e509 --- /dev/null +++ b/scripts/Route22.asm @@ -0,0 +1,445 @@ +Route22_Script: + call EnableAutoTextBoxDrawing + ld hl, Route22_ScriptPointers + ld a, [wRoute22CurScript] + jp CallFunctionInTable + +Route22_ScriptPointers: + dw Route22Script0 + dw Route22Script1 + dw Route22Script2 + dw Route22Script3 + dw Route22Script4 + dw Route22Script5 + dw Route22Script6 + dw Route22Script7 + +Route22Script_50ece: + xor a + ld [wJoyIgnore], a + ld [wRoute22CurScript], a +Route22Script7: + ret + +Route22Script_50ed6: + ld a, [wRivalStarter] + ld b, a +.asm_50eda + ld a, [hli] + cp b + jr z, .asm_50ee1 + inc hl + jr .asm_50eda +.asm_50ee1 + ld a, [hl] + ld [wTrainerNo], a + ret + +Route22MoveRivalSprite: + ld de, Route22RivalMovementData + ld a, [wcf0d] + cp $1 + jr z, .asm_50ef1 + inc de +.asm_50ef1 + call MoveSprite + ld a, SPRITE_FACING_RIGHT + ld [hSpriteFacingDirection], a + jp SetSpriteFacingDirectionAndDelay + +Route22RivalMovementData: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF + +Route22Script0: + CheckEvent EVENT_ROUTE22_RIVAL_WANTS_BATTLE + ret z + ld hl, .Route22RivalBattleCoords + call ArePlayerCoordsInArray + ret nc + ld a, [wCoordIndex] + ld [wcf0d], a + xor a + ld [hJoyHeld], a + ld a, $f0 + ld [wJoyIgnore], a + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a + CheckEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE + jr nz, .firstRivalBattle + CheckEventReuseA EVENT_2ND_ROUTE22_RIVAL_BATTLE ; is this the rival at the end of the game? + jp nz, Route22Script_5104e + ret + +.Route22RivalBattleCoords + db $04, $1D + db $05, $1D + db $FF + +.firstRivalBattle + ld a, $1 + ld [wEmotionBubbleSpriteIndex], a + xor a ; EXCLAMATION_BUBBLE + ld [wWhichEmotionBubble], a + predef EmotionBubble + ld a, [wWalkBikeSurfState] + and a + jr z, .asm_50f4e + ld a, $ff + ld [wNewSoundID], a + call PlaySound +.asm_50f4e + ld c, BANK(Music_MeetRival) + ld a, MUSIC_MEET_RIVAL + call PlayMusic + ld a, $1 + ld [H_SPRITEINDEX], a + call Route22MoveRivalSprite + ld a, $1 + ld [wRoute22CurScript], a + ret + +Route22Script1: + ld a, [wd730] + bit 0, a + ret nz + ld a, [wcf0d] + cp $1 + jr nz, .asm_50f78 + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_UP + jr .asm_50f7a +.asm_50f78 + ld a, SPRITE_FACING_RIGHT +.asm_50f7a + ld [hSpriteFacingDirection], a + ld a, $1 + ld [H_SPRITEINDEX], a + call SetSpriteFacingDirectionAndDelay + xor a + ld [wJoyIgnore], a + ld a, $1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, Route22RivalDefeatedText1 + ld de, Route22Text_511bc + call SaveEndBattleTextPointers + ld a, OPP_SONY1 + ld [wCurOpponent], a + ld hl, StarterMons_50faf + call Route22Script_50ed6 + ld a, $2 + ld [wRoute22CurScript], a + ret + +StarterMons_50faf: +; starter the rival picked, rival trainer number + db STARTER2,$04 + db STARTER3,$05 + db STARTER1,$06 + +Route22Script2: + ld a, [wIsInBattle] + cp $ff + jp z, Route22Script_50ece + ld a, [wSpriteStateData1 + 9] + and a ; cp SPRITE_FACING_DOWN + jr nz, .notDown + ld a, SPRITE_FACING_UP + jr .done +.notDown + ld a, SPRITE_FACING_RIGHT +.done + ld [hSpriteFacingDirection], a + ld a, $1 + ld [H_SPRITEINDEX], a + call SetSpriteFacingDirectionAndDelay + ld a, $f0 + ld [wJoyIgnore], a + SetEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE + ld a, $1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $ff + ld [wNewSoundID], a + call PlaySound + callba Music_RivalAlternateStart + ld a, [wcf0d] + cp $1 + jr nz, .asm_50fff + call Route22Script_51008 + jr .asm_51002 +.asm_50fff + call Route22Script_5100d +.asm_51002 + ld a, $3 + ld [wRoute22CurScript], a + ret + +Route22Script_51008: + ld de, Route22RivalExitMovementData1 + jr Route22MoveRival1 + +Route22Script_5100d: + ld de, Route22RivalExitMovementData2 +Route22MoveRival1: + ld a, $1 + ld [H_SPRITEINDEX], a + jp MoveSprite + +Route22RivalExitMovementData1: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +Route22RivalExitMovementData2: + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +Route22Script3: + ld a, [wd730] + bit 0, a + ret nz + xor a + ld [wJoyIgnore], a + ld a, HS_ROUTE_22_RIVAL_1 + ld [wMissableObjectIndex], a + predef HideObject + call PlayDefaultMusic + ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE + ld a, $0 + ld [wRoute22CurScript], a + ret + +Route22Script_5104e: + ld a, $2 + ld [wEmotionBubbleSpriteIndex], a + xor a ; EXCLAMATION_BUBBLE + ld [wWhichEmotionBubble], a + predef EmotionBubble + ld a, [wWalkBikeSurfState] + and a + jr z, .skipYVisibilityTesta + ld a, $ff + ld [wNewSoundID], a + call PlaySound +.skipYVisibilityTesta + ld a, $ff + ld [wNewSoundID], a + call PlaySound + callba Music_RivalAlternateTempo + ld a, $2 + ld [H_SPRITEINDEX], a + call Route22MoveRivalSprite + ld a, $4 + ld [wRoute22CurScript], a + ret + +Route22Script4: + ld a, [wd730] + bit 0, a + ret nz + ld a, $2 + ld [H_SPRITEINDEX], a + ld a, [wcf0d] + cp $1 + jr nz, .asm_510a1 + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_UP + jr .asm_510a8 +.asm_510a1 + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_RIGHT +.asm_510a8 + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + xor a + ld [wJoyIgnore], a + ld a, $2 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, Route22RivalDefeatedText2 + ld de, Route22Text_511d0 + call SaveEndBattleTextPointers + ld a, OPP_SONY2 + ld [wCurOpponent], a + ld hl, StarterMons_510d9 + call Route22Script_50ed6 + ld a, $5 + ld [wRoute22CurScript], a + ret + +StarterMons_510d9: + db STARTER2,$0a + db STARTER3,$0b + db STARTER1,$0c + +Route22Script5: + ld a, [wIsInBattle] + cp $ff + jp z, Route22Script_50ece + ld a, $2 + ld [H_SPRITEINDEX], a + ld a, [wcf0d] + cp $1 + jr nz, .asm_510fb + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_UP + jr .asm_51102 +.asm_510fb + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_RIGHT +.asm_51102 + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, $f0 + ld [wJoyIgnore], a + SetEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE + ld a, $2 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $ff + ld [wNewSoundID], a + call PlaySound + callba Music_RivalAlternateStartAndTempo + ld a, [wcf0d] + cp $1 + jr nz, .asm_51134 + call Route22Script_5113d + jr .asm_51137 +.asm_51134 + call Route22Script_51142 +.asm_51137 + ld a, $6 + ld [wRoute22CurScript], a + ret + +Route22Script_5113d: + ld de, MovementData_5114c + jr Route22MoveRival2 + +Route22Script_51142: + ld de, MovementData_5114d +Route22MoveRival2: + ld a, $2 + ld [H_SPRITEINDEX], a + jp MoveSprite + +MovementData_5114c: + db NPC_MOVEMENT_LEFT + +MovementData_5114d: + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_LEFT + db $FF + +Route22Script6: + ld a, [wd730] + bit 0, a + ret nz + xor a + ld [wJoyIgnore], a + ld a, HS_ROUTE_22_RIVAL_2 + ld [wMissableObjectIndex], a + predef HideObject + call PlayDefaultMusic + ResetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE + ld a, $7 + ld [wRoute22CurScript], a + ret + +Route22_TextPointers: + dw Route22Text1 + dw Route22Text2 + dw Route22FrontGateText + +Route22Text1: + TX_ASM + CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE + jr z, .asm_5118b + ld hl, Route22RivalAfterBattleText1 + call PrintText + jr .asm_51191 +.asm_5118b + ld hl, Route22RivalBeforeBattleText1 + call PrintText +.asm_51191 + jp TextScriptEnd + +Route22Text2: + TX_ASM + CheckEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE + jr z, .asm_511a4 + ld hl, Route22RivalAfterBattleText2 + call PrintText + jr .asm_511aa +.asm_511a4 + ld hl, Route22RivalBeforeBattleText2 + call PrintText +.asm_511aa + jp TextScriptEnd + +Route22RivalBeforeBattleText1: + TX_FAR _Route22RivalBeforeBattleText1 + db "@" + +Route22RivalAfterBattleText1: + TX_FAR _Route22RivalAfterBattleText1 + db "@" + +Route22RivalDefeatedText1: + TX_FAR _Route22RivalDefeatedText1 + db "@" + +Route22Text_511bc: + TX_FAR _Route22Text_511bc + db "@" + +Route22RivalBeforeBattleText2: + TX_FAR _Route22RivalBeforeBattleText2 + db "@" + +Route22RivalAfterBattleText2: + TX_FAR _Route22RivalAfterBattleText2 + db "@" + +Route22RivalDefeatedText2: + TX_FAR _Route22RivalDefeatedText2 + db "@" + +Route22Text_511d0: + TX_FAR _Route22Text_511d0 + db "@" + +Route22FrontGateText: + TX_FAR _Route22FrontGateText + db "@" diff --git a/scripts/Route22Gate.asm b/scripts/Route22Gate.asm new file mode 100755 index 00000000..86b1220d --- /dev/null +++ b/scripts/Route22Gate.asm @@ -0,0 +1,93 @@ +Route22Gate_Script: + call EnableAutoTextBoxDrawing + ld hl, Route22Gate_ScriptPointers + ld a, [wRoute22GateCurScript] + call CallFunctionInTable + ld a, [wYCoord] + cp $4 + ld a, ROUTE_23 + jr c, .asm_1e69a + ld a, ROUTE_22 +.asm_1e69a + ld [wLastMap], a + ret + +Route22Gate_ScriptPointers: + dw Route22GateScript0 + dw Route22GateScript1 + dw Route22GateScript2 + +Route22GateScript0: + ld hl, Route22GateScriptCoords + call ArePlayerCoordsInArray + ret nc + xor a + ld [hJoyHeld], a + ld a, $1 + ld [hSpriteIndexOrTextID], a + jp DisplayTextID + +Route22GateScriptCoords: + db 2,4 + db 2,5 + db $ff + +Route22GateScript_1e6ba: + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + ld a, D_DOWN + ld [wSimulatedJoypadStatesEnd], a + ld [wSpriteStateData1 + 9], a + ld [wJoyIgnore], a + jp StartSimulatingJoypadStates + +Route22GateScript1: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + xor a + ld [wJoyIgnore], a + call Delay3 + ld a, $0 + ld [wRoute22GateCurScript], a +Route22GateScript2: + ret + +Route22Gate_TextPointers: + dw Route22GateText1 + +Route22GateText1: + TX_ASM + ld a, [wObtainedBadges] + bit 0, a + jr nz, .asm_1e6f6 + ld hl, Route22GateText_1e704 + call PrintText + call Route22GateScript_1e6ba + ld a, $1 + jr .asm_1e6fe +.asm_1e6f6 + ld hl, Route22GateText_1e71a + call PrintText + ld a, $2 +.asm_1e6fe + ld [wRoute22GateCurScript], a + jp TextScriptEnd + +Route22GateText_1e704: + TX_FAR _Route22GateText_1e704 + TX_ASM + ld a, SFX_DENIED + call PlaySoundWaitForCurrent + call WaitForSoundToFinish + ld hl, Route22GateText_1e715 + ret + +Route22GateText_1e715: + TX_FAR _Route22GateText_1e715 + db "@" + +Route22GateText_1e71a: + TX_FAR _Route22GateText_1e71a + TX_SFX_ITEM_1 + db "@" diff --git a/scripts/Route23.asm b/scripts/Route23.asm new file mode 100755 index 00000000..e91e2c98 --- /dev/null +++ b/scripts/Route23.asm @@ -0,0 +1,236 @@ +Route23_Script: + call Route23Script_511e9 + call EnableAutoTextBoxDrawing + ld hl, Route23_ScriptPointers + ld a, [wRoute23CurScript] + jp CallFunctionInTable + +Route23Script_511e9: + ld hl, wCurrentMapScriptFlags + bit 6, [hl] + res 6, [hl] + ret z + ResetEvents EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2 + ResetEvents EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1, EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 + ld a, HS_VICTORY_ROAD_3F_BOULDER + ld [wMissableObjectIndex], a + predef ShowObject + ld a, HS_VICTORY_ROAD_2F_BOULDER + ld [wMissableObjectIndex], a + predef_jump HideObject + +Route23_ScriptPointers: + dw Route23Script0 + dw Route23Script1 + dw Route23Script2 + +Route23Script0: + ld hl, YCoordsData_51255 + ld a, [wYCoord] + ld b, a + ld e, $0 + EventFlagBit c, EVENT_PASSED_EARTHBADGE_CHECK + 1, EVENT_PASSED_CASCADEBADGE_CHECK +.asm_51224 + ld a, [hli] + cp $ff + ret z + inc e + dec c + cp b + jr nz, .asm_51224 + cp $23 + jr nz, .asm_51237 + ld a, [wXCoord] + cp $e + ret nc +.asm_51237 + ld a, e + ld [hSpriteIndexOrTextID], a + ld a, c + ld [wWhichBadge], a + ld b, FLAG_TEST + EventFlagAddress hl, EVENT_PASSED_CASCADEBADGE_CHECK + predef FlagActionPredef + ld a, c + and a + ret nz + call Route23Script_5125d + call DisplayTextID + xor a + ld [hJoyHeld], a + ret + +YCoordsData_51255: + db $23,$38,$55,$60,$69,$77,$88,$FF + +Route23Script_5125d: + ld hl, BadgeTextPointers + ld a, [wWhichBadge] + ld c, a + ld b, 0 + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld de, wcd6d +.copyTextLoop + ld a, [hli] + ld [de], a + inc de + cp "@" + jr nz, .copyTextLoop + ret + +BadgeTextPointers: + dw CascadeBadgeText + dw ThunderBadgeText + dw RainbowBadgeText + dw SoulBadgeText + dw MarshBadgeText + dw VolcanoBadgeText + dw EarthBadgeText + +EarthBadgeText: + db "EARTHBADGE@" + +VolcanoBadgeText: + db "VOLCANOBADGE@" + +MarshBadgeText: + db "MARSHBADGE@" + +SoulBadgeText: + db "SOULBADGE@" + +RainbowBadgeText: + db "RAINBOWBADGE@" + +ThunderBadgeText: + db "THUNDERBADGE@" + +CascadeBadgeText: + db "CASCADEBADGE@" + +Route23Script_512d8: + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + ld a, D_DOWN + ld [wSimulatedJoypadStatesEnd], a + xor a + ld [wSpriteStateData1 + 9], a + ld [wJoyIgnore], a + jp StartSimulatingJoypadStates + +Route23Script1: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz +Route23Script2: + ld a, $0 + ld [wRoute23CurScript], a + ret + +Route23_TextPointers: + dw Route23Text1 + dw Route23Text2 + dw Route23Text3 + dw Route23Text4 + dw Route23Text5 + dw Route23Text6 + dw Route23Text7 + dw Route23Text8 + +Route23Text1: + TX_ASM + EventFlagBit a, EVENT_PASSED_EARTHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK + call Route23Script_51346 + jp TextScriptEnd + +Route23Text2: + TX_ASM + EventFlagBit a, EVENT_PASSED_VOLCANOBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK + call Route23Script_51346 + jp TextScriptEnd + +Route23Text3: + TX_ASM + EventFlagBit a, EVENT_PASSED_MARSHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK + call Route23Script_51346 + jp TextScriptEnd + +Route23Text4: + TX_ASM + EventFlagBit a, EVENT_PASSED_SOULBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK + call Route23Script_51346 + jp TextScriptEnd + +Route23Text5: + TX_ASM + EventFlagBit a, EVENT_PASSED_RAINBOWBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK + call Route23Script_51346 + jp TextScriptEnd + +Route23Text6: + TX_ASM + EventFlagBit a, EVENT_PASSED_THUNDERBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK + call Route23Script_51346 + jp TextScriptEnd + +Route23Text7: + TX_ASM + EventFlagBit a, EVENT_PASSED_CASCADEBADGE_CHECK + call Route23Script_51346 + jp TextScriptEnd + +Route23Script_51346: + ld [wWhichBadge], a + call Route23Script_5125d + ld a, [wWhichBadge] + inc a + ld c, a + ld b, FLAG_TEST + ld hl, wObtainedBadges + predef FlagActionPredef + ld a, c + and a + jr nz, .asm_5136e + ld hl, VictoryRoadGuardText1 + call PrintText + call Route23Script_512d8 + ld a, $1 + ld [wRoute23CurScript], a + ret +.asm_5136e + ld hl, VictoryRoadGuardText2 + call PrintText + ld a, [wWhichBadge] + ld c, a + ld b, FLAG_SET + EventFlagAddress hl, EVENT_PASSED_CASCADEBADGE_CHECK + predef FlagActionPredef + ld a, $2 + ld [wRoute23CurScript], a + ret + +Route23Script_51388: + ld hl, VictoryRoadGuardText2 + jp PrintText + +VictoryRoadGuardText1: + TX_FAR _VictoryRoadGuardText1 + TX_ASM + ld a, SFX_DENIED + call PlaySoundWaitForCurrent + call WaitForSoundToFinish + jp TextScriptEnd + +VictoryRoadGuardText2: + TX_FAR _VictoryRoadGuardText2 + TX_SFX_ITEM_1 + TX_FAR _VictoryRoadGuardText_513a3 + db "@" + +Route23Text8: + TX_FAR _Route23Text8 + db "@" diff --git a/scripts/Route24.asm b/scripts/Route24.asm new file mode 100755 index 00000000..a8e16e7d --- /dev/null +++ b/scripts/Route24.asm @@ -0,0 +1,319 @@ +Route24_Script: + call EnableAutoTextBoxDrawing + ld hl, Route24TrainerHeader0 + ld de, Route24_ScriptPointers + ld a, [wRoute24CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute24CurScript], a + ret + +Route24Script_513c0: + xor a + ld [wJoyIgnore], a + ld [wRoute24CurScript], a + ld [wCurMapScript], a + ret + +Route24_ScriptPointers: + dw Route24Script0 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw Route24Script3 + dw Route24Script4 + +Route24Script0: + CheckEvent EVENT_GOT_NUGGET + jp nz, CheckFightingMapTrainers + ld hl, CoordsData_5140e + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + xor a + ld [hJoyHeld], a + ld a, $1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + CheckAndResetEvent EVENT_NUGGET_REWARD_AVAILABLE + ret z + ld a, D_DOWN + ld [wSimulatedJoypadStatesEnd], a + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld a, $4 + ld [wRoute24CurScript], a + ld [wCurMapScript], a + ret + +CoordsData_5140e: + db $0F,$0A,$FF + +Route24Script4: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + call Delay3 + ld a, $0 + ld [wRoute24CurScript], a + ld [wCurMapScript], a + ret + +Route24Script3: + ld a, [wIsInBattle] + cp $ff + jp z, Route24Script_513c0 + call UpdateSprites + ld a, $f0 + ld [wJoyIgnore], a + SetEvent EVENT_BEAT_ROUTE24_ROCKET + ld a, $1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [wJoyIgnore], a + ld a, $0 + ld [wRoute24CurScript], a + ld [wCurMapScript], a + ret + +Route24_TextPointers: + dw Route24Text1 + dw Route24Text2 + dw Route24Text3 + dw Route24Text4 + dw Route24Text5 + dw Route24Text6 + dw Route24Text7 + dw PickUpItemText + +Route24TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_0 + dw Route24BattleText1 ; TextBeforeBattle + dw Route24AfterBattleText1 ; TextAfterBattle + dw Route24EndBattleText1 ; TextEndBattle + dw Route24EndBattleText1 ; TextEndBattle + +Route24TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_1 + db ($1 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_1 + dw Route24BattleText2 ; TextBeforeBattle + dw Route24AfterBattleText2 ; TextAfterBattle + dw Route24EndBattleText2 ; TextEndBattle + dw Route24EndBattleText2 ; TextEndBattle + +Route24TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_2 + db ($1 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_2 + dw Route24BattleText3 ; TextBeforeBattle + dw Route24AfterBattleText3 ; TextAfterBattle + dw Route24EndBattleText3 ; TextEndBattle + dw Route24EndBattleText3 ; TextEndBattle + +Route24TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_3 + db ($1 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_3 + dw Route24BattleText4 ; TextBeforeBattle + dw Route24AfterBattleText4 ; TextAfterBattle + dw Route24EndBattleText4 ; TextEndBattle + dw Route24EndBattleText4 ; TextEndBattle + +Route24TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_4 + db ($1 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_4 + dw Route24BattleText5 ; TextBeforeBattle + dw Route24AfterBattleText5 ; TextAfterBattle + dw Route24EndBattleText5 ; TextEndBattle + dw Route24EndBattleText5 ; TextEndBattle + +Route24TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_5 + db ($1 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_5 + dw Route24BattleText6 ; TextBeforeBattle + dw Route24AfterBattleText6 ; TextAfterBattle + dw Route24EndBattleText6 ; TextEndBattle + dw Route24EndBattleText6 ; TextEndBattle + + db $ff + +Route24Text1: + TX_ASM + ResetEvent EVENT_NUGGET_REWARD_AVAILABLE + CheckEvent EVENT_GOT_NUGGET + jr nz, .asm_514f9 + ld hl, Route24Text_51510 + call PrintText + lb bc, NUGGET, 1 + call GiveItem + jr nc, .BagFull + SetEvent EVENT_GOT_NUGGET + ld hl, Route24Text_5151a + call PrintText + ld hl, Route24Text_51526 + call PrintText + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, Route24Text_5152b + ld de, Route24Text_5152b + call SaveEndBattleTextPointers + ld a, [hSpriteIndexOrTextID] + ld [wSpriteIndex], a + call EngageMapTrainer + call InitBattleEnemyParameters + xor a + ld [hJoyHeld], a + ld a, $3 + ld [wRoute24CurScript], a + ld [wCurMapScript], a + jp TextScriptEnd +.asm_514f9 + ld hl, Route24Text_51530 + call PrintText + jp TextScriptEnd +.BagFull + ld hl, Route24Text_51521 + call PrintText + SetEvent EVENT_NUGGET_REWARD_AVAILABLE + jp TextScriptEnd + +Route24Text_51510: + TX_FAR _Route24Text_51510 + TX_SFX_ITEM_1 + TX_FAR _Route24Text_51515 + db "@" + +Route24Text_5151a: + TX_FAR _Route24Text_5151a + TX_SFX_ITEM_1 + TX_BLINK + db "@" + +Route24Text_51521: + TX_FAR _Route24Text_51521 + db "@" + +Route24Text_51526: + TX_FAR _Route24Text_51526 + db "@" + +Route24Text_5152b: + TX_FAR _Route24Text_5152b + db "@" + +Route24Text_51530: + TX_FAR _Route24Text_51530 + db "@" + +Route24Text2: + TX_ASM + ld hl, Route24TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route24Text3: + TX_ASM + ld hl, Route24TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route24Text4: + TX_ASM + ld hl, Route24TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route24Text5: + TX_ASM + ld hl, Route24TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route24Text6: + TX_ASM + ld hl, Route24TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route24Text7: + TX_ASM + ld hl, Route24TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route24BattleText1: + TX_FAR _Route24BattleText1 + db "@" + +Route24EndBattleText1: + TX_FAR _Route24EndBattleText1 + db "@" + +Route24AfterBattleText1: + TX_FAR _Route24AfterBattleText1 + db "@" + +Route24BattleText2: + TX_FAR _Route24BattleText2 + db "@" + +Route24EndBattleText2: + TX_FAR _Route24EndBattleText2 + db "@" + +Route24AfterBattleText2: + TX_FAR _Route24AfterBattleText2 + db "@" + +Route24BattleText3: + TX_FAR _Route24BattleText3 + db "@" + +Route24EndBattleText3: + TX_FAR _Route24EndBattleText3 + db "@" + +Route24AfterBattleText3: + TX_FAR _Route24AfterBattleText3 + db "@" + +Route24BattleText4: + TX_FAR _Route24BattleText4 + db "@" + +Route24EndBattleText4: + TX_FAR _Route24EndBattleText4 + db "@" + +Route24AfterBattleText4: + TX_FAR _Route24AfterBattleText4 + db "@" + +Route24BattleText5: + TX_FAR _Route24BattleText5 + db "@" + +Route24EndBattleText5: + TX_FAR _Route24EndBattleText5 + db "@" + +Route24AfterBattleText5: + TX_FAR _Route24AfterBattleText5 + db "@" + +Route24BattleText6: + TX_FAR _Route24BattleText6 + db "@" + +Route24EndBattleText6: + TX_FAR _Route24EndBattleText6 + db "@" + +Route24AfterBattleText6: + TX_FAR _Route24AfterBattleText6 + db "@" diff --git a/scripts/Route25.asm b/scripts/Route25.asm new file mode 100755 index 00000000..7166919d --- /dev/null +++ b/scripts/Route25.asm @@ -0,0 +1,303 @@ +Route25_Script: + call Route25Script_515e1 + call EnableAutoTextBoxDrawing + ld hl, Route25TrainerHeader0 + ld de, Route25_ScriptPointers + ld a, [wRoute25CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute25CurScript], a + ret + +Route25Script_515e1: + ld hl, wCurrentMapScriptFlags + bit 6, [hl] + res 6, [hl] + ret z + CheckEventHL EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING + ret nz + CheckEventReuseHL EVENT_MET_BILL_2 + jr nz, .asm_515ff + ResetEventReuseHL EVENT_BILL_SAID_USE_CELL_SEPARATOR + ld a, HS_BILL_POKEMON + ld [wMissableObjectIndex], a + predef_jump ShowObject +.asm_515ff + CheckEventAfterBranchReuseHL EVENT_GOT_SS_TICKET, EVENT_MET_BILL_2 + ret z + SetEventReuseHL EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING + ld a, HS_NUGGET_BRIDGE_GUY + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_BILL_1 + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_BILL_2 + ld [wMissableObjectIndex], a + predef_jump ShowObject + +Route25_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Route25_TextPointers: + dw Route25Text1 + dw Route25Text2 + dw Route25Text3 + dw Route25Text4 + dw Route25Text5 + dw Route25Text6 + dw Route25Text7 + dw Route25Text8 + dw Route25Text9 + dw PickUpItemText + dw Route25Text11 + +Route25TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_0 + dw Route25BattleText1 ; TextBeforeBattle + dw Route25AfterBattleText1 ; TextAfterBattle + dw Route25EndBattleText1 ; TextEndBattle + dw Route25EndBattleText1 ; TextEndBattle + +Route25TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_1 + dw Route25BattleText2 ; TextBeforeBattle + dw Route25AfterBattleText2 ; TextAfterBattle + dw Route25EndBattleText2 ; TextEndBattle + dw Route25EndBattleText2 ; TextEndBattle + +Route25TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_2 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_2 + dw Route25BattleText3 ; TextBeforeBattle + dw Route25AfterBattleText3 ; TextAfterBattle + dw Route25EndBattleText3 ; TextEndBattle + dw Route25EndBattleText3 ; TextEndBattle + +Route25TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_3 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_3 + dw Route25BattleText4 ; TextBeforeBattle + dw Route25AfterBattleText4 ; TextAfterBattle + dw Route25EndBattleText4 ; TextEndBattle + dw Route25EndBattleText4 ; TextEndBattle + +Route25TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_4 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_4 + dw Route25BattleText5 ; TextBeforeBattle + dw Route25AfterBattleText5 ; TextAfterBattle + dw Route25EndBattleText5 ; TextEndBattle + dw Route25EndBattleText5 ; TextEndBattle + +Route25TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_5 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_5 + dw Route25BattleText6 ; TextBeforeBattle + dw Route25AfterBattleText6 ; TextAfterBattle + dw Route25EndBattleText6 ; TextEndBattle + dw Route25EndBattleText6 ; TextEndBattle + +Route25TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_6 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_6 + dw Route25BattleText7 ; TextBeforeBattle + dw Route25AfterBattleText7 ; TextAfterBattle + dw Route25EndBattleText7 ; TextEndBattle + dw Route25EndBattleText7 ; TextEndBattle + +Route25TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_7, 1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_7, 1 + dw Route25BattleText8 ; TextBeforeBattle + dw Route25AfterBattleText8 ; TextAfterBattle + dw Route25EndBattleText8 ; TextEndBattle + dw Route25EndBattleText8 ; TextEndBattle + +Route25TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_8, 1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_8, 1 + dw Route25BattleText9 ; TextBeforeBattle + dw Route25AfterBattleText9 ; TextAfterBattle + dw Route25EndBattleText9 ; TextEndBattle + dw Route25EndBattleText9 ; TextEndBattle + + db $ff + +Route25Text1: + TX_ASM + ld hl, Route25TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route25Text2: + TX_ASM + ld hl, Route25TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route25Text3: + TX_ASM + ld hl, Route25TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route25Text4: + TX_ASM + ld hl, Route25TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route25Text5: + TX_ASM + ld hl, Route25TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route25Text6: + TX_ASM + ld hl, Route25TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route25Text7: + TX_ASM + ld hl, Route25TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route25Text8: + TX_ASM + ld hl, Route25TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route25Text9: + TX_ASM + ld hl, Route25TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route25BattleText1: + TX_FAR _Route25BattleText1 + db "@" + +Route25EndBattleText1: + TX_FAR _Route25EndBattleText1 + db "@" + +Route25AfterBattleText1: + TX_FAR _Route25AfterBattleText1 + db "@" + +Route25BattleText2: + TX_FAR _Route25BattleText2 + db "@" + +Route25EndBattleText2: + TX_FAR _Route25EndBattleText2 + db "@" + +Route25AfterBattleText2: + TX_FAR _Route25AfterBattleText2 + db "@" + +Route25BattleText3: + TX_FAR _Route25BattleText3 + db "@" + +Route25EndBattleText3: + TX_FAR _Route25EndBattleText3 + db "@" + +Route25AfterBattleText3: + TX_FAR _Route25AfterBattleText3 + db "@" + +Route25BattleText4: + TX_FAR _Route25BattleText4 + db "@" + +Route25EndBattleText4: + TX_FAR _Route25EndBattleText4 + db "@" + +Route25AfterBattleText4: + TX_FAR _Route25AfterBattleText4 + db "@" + +Route25BattleText5: + TX_FAR _Route25BattleText5 + db "@" + +Route25EndBattleText5: + TX_FAR _Route25EndBattleText5 + db "@" + +Route25AfterBattleText5: + TX_FAR _Route25AfterBattleText5 + db "@" + +Route25BattleText6: + TX_FAR _Route25BattleText6 + db "@" + +Route25EndBattleText6: + TX_FAR _Route25EndBattleText6 + db "@" + +Route25AfterBattleText6: + TX_FAR _Route25AfterBattleText6 + db "@" + +Route25BattleText7: + TX_FAR _Route25BattleText7 + db "@" + +Route25EndBattleText7: + TX_FAR _Route25EndBattleText7 + db "@" + +Route25AfterBattleText7: + TX_FAR _Route25AfterBattleText7 + db "@" + +Route25BattleText8: + TX_FAR _Route25BattleText8 + db "@" + +Route25EndBattleText8: + TX_FAR _Route25EndBattleText8 + db "@" + +Route25AfterBattleText8: + TX_FAR _Route25AfterBattleText8 + db "@" + +Route25BattleText9: + TX_FAR _Route25BattleText9 + db "@" + +Route25EndBattleText9: + TX_FAR _Route25EndBattleText9 + db "@" + +Route25AfterBattleText9: + TX_FAR _Route25AfterBattleText9 + db "@" + +Route25Text11: + TX_FAR _Route25Text11 + db "@" diff --git a/scripts/Route2Gate.asm b/scripts/Route2Gate.asm new file mode 100755 index 00000000..70d93814 --- /dev/null +++ b/scripts/Route2Gate.asm @@ -0,0 +1,39 @@ +Route2Gate_Script: + jp EnableAutoTextBoxDrawing + +Route2Gate_TextPointers: + dw Route2GateText1 + dw Route2GateText2 + +Route2GateText1: + TX_ASM + CheckEvent EVENT_GOT_HM05 + jr nz, .asm_5d60d + ld a, 10 ; pokemon needed + ld [hOaksAideRequirement], a + ld a, HM_05 ; oak's aide reward + ld [hOaksAideRewardItem], a + ld [wd11e], a + call GetItemName + ld hl, wcd6d + ld de, wOaksAideRewardItemName + ld bc, ITEM_NAME_LENGTH + call CopyData + predef OaksAideScript + ld a, [hOaksAideResult] + cp $1 + jr nz, .asm_5d613 + SetEvent EVENT_GOT_HM05 +.asm_5d60d + ld hl, Route2GateText_5d616 + call PrintText +.asm_5d613 + jp TextScriptEnd + +Route2GateText_5d616: + TX_FAR _Route2GateText_5d616 + db "@" + +Route2GateText2: + TX_FAR _Route2GateText2 + db "@" diff --git a/scripts/Route2TradeHouse.asm b/scripts/Route2TradeHouse.asm new file mode 100755 index 00000000..a89e2fe9 --- /dev/null +++ b/scripts/Route2TradeHouse.asm @@ -0,0 +1,17 @@ +Route2TradeHouse_Script: + jp EnableAutoTextBoxDrawing + +Route2TradeHouse_TextPointers: + dw Route2HouseText1 + dw Route2HouseText2 + +Route2HouseText1: + TX_FAR _Route2HouseText1 + db "@" + +Route2HouseText2: + TX_ASM + ld a, $1 + ld [wWhichTrade], a + predef DoInGameTradeDialogue + jp TextScriptEnd diff --git a/scripts/Route3.asm b/scripts/Route3.asm new file mode 100755 index 00000000..d55831bf --- /dev/null +++ b/scripts/Route3.asm @@ -0,0 +1,251 @@ +Route3_Script: + call EnableAutoTextBoxDrawing + ld hl, Route3TrainerHeader0 + ld de, Route3_ScriptPointers + ld a, [wRoute3CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute3CurScript], a + ret + +Route3_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Route3_TextPointers: + dw Route3Text1 + dw Route3Text2 + dw Route3Text3 + dw Route3Text4 + dw Route3Text5 + dw Route3Text6 + dw Route3Text7 + dw Route3Text8 + dw Route3Text9 + dw Route3Text10 + +Route3TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_0 + dw Route3BattleText1 ; TextBeforeBattle + dw Route3AfterBattleText1 ; TextAfterBattle + dw Route3EndBattleText1 ; TextEndBattle + dw Route3EndBattleText1 ; TextEndBattle + +Route3TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_1 + dw Route3BattleText2 ; TextBeforeBattle + dw Route3AfterBattleText2 ; TextAfterBattle + dw Route3EndBattleText2 ; TextEndBattle + dw Route3EndBattleText2 ; TextEndBattle + +Route3TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_2 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_2 + dw Route3BattleText3 ; TextBeforeBattle + dw Route3AfterBattleText3 ; TextAfterBattle + dw Route3EndBattleText3 ; TextEndBattle + dw Route3EndBattleText3 ; TextEndBattle + +Route3TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_3 + db ($1 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_3 + dw Route3BattleText4 ; TextBeforeBattle + dw Route3AfterBattleText4 ; TextAfterBattle + dw Route3EndBattleText4 ; TextEndBattle + dw Route3EndBattleText4 ; TextEndBattle + +Route3TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_4 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_4 + dw Route3BattleText5 ; TextBeforeBattle + dw Route3AfterBattleText5 ; TextAfterBattle + dw Route3EndBattleText5 ; TextEndBattle + dw Route3EndBattleText5 ; TextEndBattle + +Route3TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_5 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_5 + dw Route3BattleText6 ; TextBeforeBattle + dw Route3AfterBattleText6 ; TextAfterBattle + dw Route3EndBattleText6 ; TextEndBattle + dw Route3EndBattleText6 ; TextEndBattle + +Route3TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_6, 1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_6, 1 + dw Route3BattleText7 ; TextBeforeBattle + dw Route3AfterBattleText7 ; TextAfterBattle + dw Route3EndBattleText7 ; TextEndBattle + dw Route3EndBattleText7 ; TextEndBattle + +Route3TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_7, 1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_7, 1 + dw Route3BattleText8 ; TextBeforeBattle + dw Route3AfterBattleText8 ; TextAfterBattle + dw Route3EndBattleText8 ; TextEndBattle + dw Route3EndBattleText8 ; TextEndBattle + + db $ff + +Route3Text1: + TX_FAR _Route3Text1 + db "@" + +Route3Text2: + TX_ASM + ld hl, Route3TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route3BattleText1: + TX_FAR _Route3BattleText1 + db "@" + +Route3EndBattleText1: + TX_FAR _Route3EndBattleText1 + db "@" + +Route3AfterBattleText1: + TX_FAR _Route3AfterBattleText1 + db "@" + +Route3Text3: + TX_ASM + ld hl, Route3TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route3BattleText2: + TX_FAR _Route3BattleText2 + db "@" + +Route3EndBattleText2: + TX_FAR _Route3EndBattleText2 + db "@" + +Route3AfterBattleText2: + TX_FAR _Route3AfterBattleText2 + db "@" + +Route3Text4: + TX_ASM + ld hl, Route3TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route3BattleText3: + TX_FAR _Route3BattleText3 + db "@" + +Route3EndBattleText3: + TX_FAR _Route3EndBattleText3 + db "@" + +Route3AfterBattleText3: + TX_FAR _Route3AfterBattleText3 + db "@" + +Route3Text5: + TX_ASM + ld hl, Route3TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route3BattleText4: + TX_FAR _Route3BattleText4 + db "@" + +Route3EndBattleText4: + TX_FAR _Route3EndBattleText4 + db "@" + +Route3AfterBattleText4: + TX_FAR _Route3AfterBattleText4 + db "@" + +Route3Text6: + TX_ASM + ld hl, Route3TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route3BattleText5: + TX_FAR _Route3BattleText5 + db "@" + +Route3EndBattleText5: + TX_FAR _Route3EndBattleText5 + db "@" + +Route3AfterBattleText5: + TX_FAR _Route3AfterBattleText5 + db "@" + +Route3Text7: + TX_ASM + ld hl, Route3TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route3BattleText6: + TX_FAR _Route3BattleText6 + db "@" + +Route3EndBattleText6: + TX_FAR _Route3EndBattleText6 + db "@" + +Route3AfterBattleText6: + TX_FAR _Route3AfterBattleText6 + db "@" + +Route3Text8: + TX_ASM + ld hl, Route3TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route3BattleText7: + TX_FAR _Route3BattleText7 + db "@" + +Route3EndBattleText7: + TX_FAR _Route3EndBattleText7 + db "@" + +Route3AfterBattleText7: + TX_FAR _Route3AfterBattleText7 + db "@" + +Route3Text9: + TX_ASM + ld hl, Route3TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route3BattleText8: + TX_FAR _Route3BattleText8 + db "@" + +Route3EndBattleText8: + TX_FAR _Route3EndBattleText8 + db "@" + +Route3AfterBattleText8: + TX_FAR _Route3AfterBattleText8 + db "@" + +Route3Text10: + TX_FAR _Route3Text10 + db "@" diff --git a/scripts/Route4.asm b/scripts/Route4.asm new file mode 100755 index 00000000..9b04a47a --- /dev/null +++ b/scripts/Route4.asm @@ -0,0 +1,62 @@ +Route4_Script: + call EnableAutoTextBoxDrawing + ld hl, Route4TrainerHeader0 + ld de, Route4_ScriptPointers + ld a, [wRoute4CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute4CurScript], a + ret + +Route4_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Route4_TextPointers: + dw Route4Text1 + dw Route4Text2 + dw PickUpItemText + dw PokeCenterSignText + dw Route4Text5 + dw Route4Text6 + +Route4TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_4_TRAINER_0 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_4_TRAINER_0 + dw Route4BattleText1 ; TextBeforeBattle + dw Route4AfterBattleText1 ; TextAfterBattle + dw Route4EndBattleText1 ; TextEndBattle + dw Route4EndBattleText1 ; TextEndBattle + + db $ff + +Route4Text1: + TX_FAR _Route4Text1 + db "@" + +Route4Text2: + TX_ASM + ld hl, Route4TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route4BattleText1: + TX_FAR _Route4BattleText1 + db "@" + +Route4EndBattleText1: + TX_FAR _Route4EndBattleText1 + db "@" + +Route4AfterBattleText1: + TX_FAR _Route4AfterBattleText1 + db "@" + +Route4Text5: + TX_FAR _Route4Text5 + db "@" + +Route4Text6: + TX_FAR _Route4Text6 + db "@" diff --git a/scripts/Route5.asm b/scripts/Route5.asm new file mode 100755 index 00000000..1b2bd242 --- /dev/null +++ b/scripts/Route5.asm @@ -0,0 +1,9 @@ +Route5_Script: + jp EnableAutoTextBoxDrawing + +Route5_TextPointers: + dw Route5Text1 + +Route5Text1: + TX_FAR _Route5Text1 + db "@" diff --git a/scripts/Route5Gate.asm b/scripts/Route5Gate.asm new file mode 100755 index 00000000..bc763dfd --- /dev/null +++ b/scripts/Route5Gate.asm @@ -0,0 +1,117 @@ +Route5Gate_Script: + call EnableAutoTextBoxDrawing + ld a, [wRoute5GateCurScript] + ld hl, Route5Gate_ScriptPointers + jp CallFunctionInTable + +Route5Gate_ScriptPointers: + dw Route5GateScript0 + dw Route5GateScript1 + +Route5GateScript_1df43: + ld a, D_UP + ld [wSimulatedJoypadStatesEnd], a + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + jp StartSimulatingJoypadStates + +Route5GateScript0: + ld a, [wd728] + bit 6, a + ret nz + ld hl, CoordsData_1df8f + call ArePlayerCoordsInArray + ret nc + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a + xor a + ld [hJoyHeld], a + callba RemoveGuardDrink + ld a, [$ffdb] + and a + jr nz, .asm_1df82 + ld a, $2 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call Route5GateScript_1df43 + ld a, $1 + ld [wRoute5GateCurScript], a + ret +.asm_1df82 + ld a, $3 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld hl, wd728 + set 6, [hl] + ret + +CoordsData_1df8f: + db 3,3 + db 3,4 + db $ff + +Route5GateScript1: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + call Delay3 + xor a + ld [wJoyIgnore], a + ld [wRoute5GateCurScript], a + ret + +Route5Gate_TextPointers: + dw Route5GateText1 + dw Route5GateText2 + dw Route5GateText3 + +Route8GateText1: +Route7GateText1: +Route6GateText1: +Route5GateText1: + TX_ASM + ld a, [wd728] + bit 6, a + jr nz, .asm_88856 + callba RemoveGuardDrink + ld a, [$ffdb] + and a + jr nz, .asm_768a2 + ld hl, Route5GateText2 + call PrintText + call Route5GateScript_1df43 + ld a, $1 + ld [wRoute5GateCurScript], a + jp TextScriptEnd +.asm_768a2 + ld hl, Route5GateText3 + call PrintText + ld hl, wd728 + set 6, [hl] + jp TextScriptEnd +.asm_88856 + ld hl, SaffronGateText_1dff6 + call PrintText + jp TextScriptEnd + +Route8GateText2: +Route7GateText2: +Route6GateText2: +Route5GateText2: + TX_FAR _SaffronGateText_1dfe7 + db "@" + +Route8GateText3: +Route7GateText3: +Route6GateText3: +Route5GateText3: + TX_FAR _SaffronGateText_8aaa9 + TX_SFX_KEY_ITEM + TX_FAR _SaffronGateText_1dff1 + db "@" + +SaffronGateText_1dff6: + TX_FAR _SaffronGateText_1dff6 + db "@" + + diff --git a/scripts/Route6.asm b/scripts/Route6.asm new file mode 100755 index 00000000..9f43b800 --- /dev/null +++ b/scripts/Route6.asm @@ -0,0 +1,186 @@ +Route6_Script: + call EnableAutoTextBoxDrawing + ld hl, Route6TrainerHeader0 + ld de, Route6_ScriptPointers + ld a, [wRoute6CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute6CurScript], a + ret + +Route6_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Route6_TextPointers: + dw Route6Text1 + dw Route6Text2 + dw Route6Text3 + dw Route6Text4 + dw Route6Text5 + dw Route6Text6 + dw Route6Text7 + +Route6TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_0 + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_0 + dw Route6BattleText1 ; TextBeforeBattle + dw Route6AfterBattleText1 ; TextAfterBattle + dw Route6EndBattleText1 ; TextEndBattle + dw Route6EndBattleText1 ; TextEndBattle + +Route6TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_1 + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_1 + dw Route6BattleText2 ; TextBeforeBattle + dw Route6AfterBattleText1 ; TextAfterBattle + dw Route6EndBattleText2 ; TextEndBattle + dw Route6EndBattleText2 ; TextEndBattle + +Route6TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_2 + dw Route6BattleText3 ; TextBeforeBattle + dw Route6AfterBattleText3 ; TextAfterBattle + dw Route6EndBattleText3 ; TextEndBattle + dw Route6EndBattleText3 ; TextEndBattle + +Route6TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_3 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_3 + dw Route6BattleText4 ; TextBeforeBattle + dw Route6AfterBattleText4 ; TextAfterBattle + dw Route6EndBattleText4 ; TextEndBattle + dw Route6EndBattleText4 ; TextEndBattle + +Route6TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_4 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_4 + dw Route6BattleText5 ; TextBeforeBattle + dw Route6AfterBattleText5 ; TextAfterBattle + dw Route6EndBattleText5 ; TextEndBattle + dw Route6EndBattleText5 ; TextEndBattle + +Route6TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_5 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_5 + dw Route6BattleText6 ; TextBeforeBattle + dw Route6AfterBattleText6 ; TextAfterBattle + dw Route6EndBattleText6 ; TextEndBattle + dw Route6EndBattleText6 ; TextEndBattle + + db $ff + +Route6Text1: + TX_ASM + ld hl, Route6TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route6BattleText1: + TX_FAR _Route6BattleText1 + db "@" + +Route6EndBattleText1: + TX_FAR _Route6EndBattleText1 + db "@" + +Route6AfterBattleText1: + TX_FAR _Route6AfterBattleText1 + db "@" + +Route6Text2: + TX_ASM + ld hl, Route6TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route6BattleText2: + TX_FAR _Route6BattleText2 + db "@" + +Route6EndBattleText2: + TX_FAR _Route6EndBattleText2 + db "@" + +Route6Text3: + TX_ASM + ld hl, Route6TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route6BattleText3: + TX_FAR _Route6BattleText3 + db "@" + +Route6EndBattleText3: + TX_FAR _Route6EndBattleText3 + db "@" + +Route6AfterBattleText3: + TX_FAR _Route6AfterBattleText3 + db "@" + +Route6Text4: + TX_ASM + ld hl, Route6TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route6BattleText4: + TX_FAR _Route6BattleText4 + db "@" + +Route6EndBattleText4: + TX_FAR _Route6EndBattleText4 + db "@" + +Route6AfterBattleText4: + TX_FAR _Route6AfterBattleText4 + db "@" + +Route6Text5: + TX_ASM + ld hl, Route6TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route6BattleText5: + TX_FAR _Route6BattleText5 + db "@" + +Route6EndBattleText5: + TX_FAR _Route6EndBattleText5 + db "@" + +Route6AfterBattleText5: + TX_FAR _Route6AfterBattleText5 + db "@" + +Route6Text6: + TX_ASM + ld hl, Route6TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route6BattleText6: + TX_FAR _Route6BattleText6 + db "@" + +Route6EndBattleText6: + TX_FAR _Route6EndBattleText6 + db "@" + +Route6AfterBattleText6: + TX_FAR _Route6AfterBattleText6 + db "@" + +Route6Text7: + TX_FAR _Route6Text7 + db "@" diff --git a/scripts/Route6Gate.asm b/scripts/Route6Gate.asm new file mode 100755 index 00000000..348f61ac --- /dev/null +++ b/scripts/Route6Gate.asm @@ -0,0 +1,70 @@ +Route6Gate_Script: + call EnableAutoTextBoxDrawing + ld hl, Route6Gate_ScriptPointers + ld a, [wRoute6GateCurScript] + call CallFunctionInTable + ret + +Route6Gate_ScriptPointers: + dw Route6GateScript0 + dw Route6GateScript1 + +Route6GateScript0: + ld a, [wd728] + bit 6, a + ret nz + ld hl, CoordsData_1e08c + call ArePlayerCoordsInArray + ret nc + ld a, PLAYER_DIR_RIGHT + ld [wPlayerMovingDirection], a + xor a + ld [hJoyHeld], a + callba RemoveGuardDrink + ld a, [$ffdb] + and a + jr nz, .asm_1e080 + ld a, $2 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call Route6GateScript_1e0a1 + ld a, $1 + ld [wRoute6GateCurScript], a + ret +.asm_1e080 + ld hl, wd728 + set 6, [hl] + ld a, $3 + ld [hSpriteIndexOrTextID], a + jp DisplayTextID + +CoordsData_1e08c: + db $02,$03 + db $02,$04,$FF + +Route6GateScript1: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + call Delay3 + xor a + ld [wJoyIgnore], a + ld [wRoute6GateCurScript], a + ret + +Route6GateScript_1e0a1: + ld hl, wd730 + set 7, [hl] + ld a, $80 + ld [wSimulatedJoypadStatesEnd], a + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + xor a + ld [wSpriteStateData2 + $06], a + ld [wOverrideSimulatedJoypadStatesMask], a + ret + +Route6Gate_TextPointers: + dw Route6GateText1 + dw Route6GateText2 + dw Route6GateText3 diff --git a/scripts/Route7.asm b/scripts/Route7.asm new file mode 100755 index 00000000..55774553 --- /dev/null +++ b/scripts/Route7.asm @@ -0,0 +1,9 @@ +Route7_Script: + jp EnableAutoTextBoxDrawing + +Route7_TextPointers: + dw Route7Text1 + +Route7Text1: + TX_FAR _Route7Text1 + db "@" diff --git a/scripts/Route7Gate.asm b/scripts/Route7Gate.asm new file mode 100755 index 00000000..724172c5 --- /dev/null +++ b/scripts/Route7Gate.asm @@ -0,0 +1,73 @@ +Route7Gate_Script: + call EnableAutoTextBoxDrawing + ld a, [wRoute7GateCurScript] + ld hl, Route7Gate_ScriptPointers + call CallFunctionInTable + ret + +Route7Gate_ScriptPointers: + dw Route7GateScript0 + dw Route7GateScript1 + +Route7GateScript_1e111: + ld hl, wd730 + set 7, [hl] + ld a, $20 + ld [wSimulatedJoypadStatesEnd], a + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + xor a + ld [wSpriteStateData2 + $06], a + ld [wOverrideSimulatedJoypadStatesMask], a + ret + +Route7GateScript0: + ld a, [wd728] + bit 6, a + ret nz + ld hl, CoordsData_1e167 + call ArePlayerCoordsInArray + ret nc + ld a, PLAYER_DIR_UP + ld [wPlayerMovingDirection], a + xor a + ld [hJoyHeld], a + callba RemoveGuardDrink + ld a, [$ffdb] + and a + jr nz, .asm_1e15a + ld a, $2 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call Route7GateScript_1e111 + ld a, $1 + ld [wRoute7GateCurScript], a + ret +.asm_1e15a + ld a, $3 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld hl, wd728 + set 6, [hl] + ret + +CoordsData_1e167: + db 3,3 + db 4,3 + db $ff + +Route7GateScript1: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + call Delay3 + xor a + ld [wJoyIgnore], a + ld [wRoute7GateCurScript], a + ld [wCurMapScript], a + ret + +Route7Gate_TextPointers: + dw Route7GateText1 + dw Route7GateText2 + dw Route7GateText3 diff --git a/scripts/Route8.asm b/scripts/Route8.asm new file mode 100755 index 00000000..f3388505 --- /dev/null +++ b/scripts/Route8.asm @@ -0,0 +1,274 @@ +Route8_Script: + call EnableAutoTextBoxDrawing + ld hl, Route8TrainerHeader0 + ld de, Route8_ScriptPointers + ld a, [wRoute8CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute8CurScript], a + ret + +Route8_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Route8_TextPointers: + dw Route8Text1 + dw Route8Text2 + dw Route8Text3 + dw Route8Text4 + dw Route8Text5 + dw Route8Text6 + dw Route8Text7 + dw Route8Text8 + dw Route8Text9 + dw Route8Text10 + +Route8TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_0 + dw Route8BattleText1 ; TextBeforeBattle + dw Route8AfterBattleText1 ; TextAfterBattle + dw Route8EndBattleText1 ; TextEndBattle + dw Route8EndBattleText1 ; TextEndBattle + +Route8TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_1 + dw Route8BattleText2 ; TextBeforeBattle + dw Route8AfterBattleText2 ; TextAfterBattle + dw Route8EndBattleText2 ; TextEndBattle + dw Route8EndBattleText2 ; TextEndBattle + +Route8TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_2 + dw Route8BattleText3 ; TextBeforeBattle + dw Route8AfterBattleText3 ; TextAfterBattle + dw Route8EndBattleText3 ; TextEndBattle + dw Route8EndBattleText3 ; TextEndBattle + +Route8TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_3 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_3 + dw Route8BattleText4 ; TextBeforeBattle + dw Route8AfterBattleText4 ; TextAfterBattle + dw Route8EndBattleText4 ; TextEndBattle + dw Route8EndBattleText4 ; TextEndBattle + +Route8TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_4 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_4 + dw Route8BattleText5 ; TextBeforeBattle + dw Route8AfterBattleText5 ; TextAfterBattle + dw Route8EndBattleText5 ; TextEndBattle + dw Route8EndBattleText5 ; TextEndBattle + +Route8TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_5 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_5 + dw Route8BattleText6 ; TextBeforeBattle + dw Route8AfterBattleText6 ; TextAfterBattle + dw Route8EndBattleText6 ; TextEndBattle + dw Route8EndBattleText6 ; TextEndBattle + +Route8TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_6 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_6 + dw Route8BattleText7 ; TextBeforeBattle + dw Route8AfterBattleText7 ; TextAfterBattle + dw Route8EndBattleText7 ; TextEndBattle + dw Route8EndBattleText7 ; TextEndBattle + +Route8TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_7, 1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_7, 1 + dw Route8BattleText8 ; TextBeforeBattle + dw Route8AfterBattleText8 ; TextAfterBattle + dw Route8EndBattleText8 ; TextEndBattle + dw Route8EndBattleText8 ; TextEndBattle + +Route8TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_8, 1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_8, 1 + dw Route8BattleText9 ; TextBeforeBattle + dw Route8AfterBattleText9 ; TextAfterBattle + dw Route8EndBattleText9 ; TextEndBattle + dw Route8EndBattleText9 ; TextEndBattle + + db $ff + +Route8Text1: + TX_ASM + ld hl, Route8TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText1: + TX_FAR _Route8BattleText1 + db "@" + +Route8EndBattleText1: + TX_FAR _Route8EndBattleText1 + db "@" + +Route8AfterBattleText1: + TX_FAR _Route8AfterBattleText1 + db "@" + +Route8Text2: + TX_ASM + ld hl, Route8TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText2: + TX_FAR _Route8BattleText2 + db "@" + +Route8EndBattleText2: + TX_FAR _Route8EndBattleText2 + db "@" + +Route8AfterBattleText2: + TX_FAR _Route8AfterBattleText2 + db "@" + +Route8Text3: + TX_ASM + ld hl, Route8TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText3: + TX_FAR _Route8BattleText3 + db "@" + +Route8EndBattleText3: + TX_FAR _Route8EndBattleText3 + db "@" + +Route8AfterBattleText3: + TX_FAR _Route8AfterBattleText3 + db "@" + +Route8Text4: + TX_ASM + ld hl, Route8TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText4: + TX_FAR _Route8BattleText4 + db "@" + +Route8EndBattleText4: + TX_FAR _Route8EndBattleText4 + db "@" + +Route8AfterBattleText4: + TX_FAR _Route8AfterBattleText4 + db "@" + +Route8Text5: + TX_ASM + ld hl, Route8TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText5: + TX_FAR _Route8BattleText5 + db "@" + +Route8EndBattleText5: + TX_FAR _Route8EndBattleText5 + db "@" + +Route8AfterBattleText5: + TX_FAR _Route8AfterBattleText5 + db "@" + +Route8Text6: + TX_ASM + ld hl, Route8TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText6: + TX_FAR _Route8BattleText6 + db "@" + +Route8EndBattleText6: + TX_FAR _Route8EndBattleText6 + db "@" + +Route8AfterBattleText6: + TX_FAR _Route8AfterBattleText6 + db "@" + +Route8Text7: + TX_ASM + ld hl, Route8TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText7: + TX_FAR _Route8BattleText7 + db "@" + +Route8EndBattleText7: + TX_FAR _Route8EndBattleText7 + db "@" + +Route8AfterBattleText7: + TX_FAR _Route8AfterBattleText7 + db "@" + +Route8Text8: + TX_ASM + ld hl, Route8TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText8: + TX_FAR _Route8BattleText8 + db "@" + +Route8EndBattleText8: + TX_FAR _Route8EndBattleText8 + db "@" + +Route8AfterBattleText8: + TX_FAR _Route8AfterBattleText8 + db "@" + +Route8Text9: + TX_ASM + ld hl, Route8TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText9: + TX_FAR _Route8BattleText9 + db "@" + +Route8EndBattleText9: + TX_FAR _Route8EndBattleText9 + db "@" + +Route8AfterBattleText9: + TX_FAR _Route8AfterBattleText9 + db "@" + +Route8Text10: + TX_FAR _Route8Text10 + db "@" diff --git a/scripts/Route8Gate.asm b/scripts/Route8Gate.asm new file mode 100755 index 00000000..8ecea68e --- /dev/null +++ b/scripts/Route8Gate.asm @@ -0,0 +1,70 @@ +Route8Gate_Script: + call EnableAutoTextBoxDrawing + ld hl, Route8Gate_ScriptPointers + ld a, [wRoute8GateCurScript] + jp CallFunctionInTable + +Route8Gate_ScriptPointers: + dw Route8GateScript0 + dw Route8GateScript1 + +Route8GateScript_1e1d7: + ld hl, wd730 + set 7, [hl] + ld a, $10 + ld [wSimulatedJoypadStatesEnd], a + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + xor a + ld [wSpriteStateData2 + $06], a + ld [wOverrideSimulatedJoypadStatesMask], a + ret + +Route8GateScript0: + ld a, [wd728] + bit 6, a + ret nz + ld hl, CoordsData_1e22c + call ArePlayerCoordsInArray + ret nc + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a + xor a + ld [hJoyHeld], a + callba RemoveGuardDrink + ld a, [$ffdb] + and a + jr nz, .asm_1e220 + ld a, $2 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call Route8GateScript_1e1d7 + ld a, $1 + ld [wRoute8GateCurScript], a + ret +.asm_1e220 + ld hl, wd728 + set 6, [hl] + ld a, $3 + ld [hSpriteIndexOrTextID], a + jp DisplayTextID + +CoordsData_1e22c: + db 3,2 + db 4,2 + db $ff + +Route8GateScript1: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + call Delay3 + xor a + ld [wJoyIgnore], a + ld [wRoute8GateCurScript], a + ret + +Route8Gate_TextPointers: + dw Route8GateText1 + dw Route8GateText2 + dw Route8GateText3 diff --git a/scripts/Route9.asm b/scripts/Route9.asm new file mode 100755 index 00000000..a18096f0 --- /dev/null +++ b/scripts/Route9.asm @@ -0,0 +1,268 @@ +Route9_Script: + call EnableAutoTextBoxDrawing + ld hl, Route9TrainerHeader0 + ld de, Route9_ScriptPointers + ld a, [wRoute9CurScript] + call ExecuteCurMapScriptInTable + ld [wRoute9CurScript], a + ret + +Route9_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +Route9_TextPointers: + dw Route9Text1 + dw Route9Text2 + dw Route9Text3 + dw Route9Text4 + dw Route9Text5 + dw Route9Text6 + dw Route9Text7 + dw Route9Text8 + dw Route9Text9 + dw PickUpItemText + dw Route9Text11 + +Route9TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_0 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_0 + dw Route9BattleText1 ; TextBeforeBattle + dw Route9AfterBattleText1 ; TextAfterBattle + dw Route9EndBattleText1 ; TextEndBattle + dw Route9EndBattleText1 ; TextEndBattle + +Route9TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_1 + dw Route9BattleText2 ; TextBeforeBattle + dw Route9AfterBattleText2 ; TextAfterBattle + dw Route9EndBattleText2 ; TextEndBattle + dw Route9EndBattleText2 ; TextEndBattle + +Route9TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_2 + dw Route9BattleText3 ; TextBeforeBattle + dw Route9AfterBattleText3 ; TextAfterBattle + dw Route9EndBattleText3 ; TextEndBattle + dw Route9EndBattleText3 ; TextEndBattle + +Route9TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_3 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_3 + dw Route9BattleText4 ; TextBeforeBattle + dw Route9AfterBattleText4 ; TextAfterBattle + dw Route9EndBattleText4 ; TextEndBattle + dw Route9EndBattleText4 ; TextEndBattle + +Route9TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_4 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_4 + dw Route9BattleText5 ; TextBeforeBattle + dw Route9AfterBattleText5 ; TextAfterBattle + dw Route9EndBattleText5 ; TextEndBattle + dw Route9EndBattleText5 ; TextEndBattle + +Route9TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_5 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_5 + dw Route9BattleText6 ; TextBeforeBattle + dw Route9AfterBattleText6 ; TextAfterBattle + dw Route9EndBattleText6 ; TextEndBattle + dw Route9EndBattleText6 ; TextEndBattle + +Route9TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_6 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_6 + dw Route9BattleText7 ; TextBeforeBattle + dw Route9AfterBattleText7 ; TextAfterBattle + dw Route9EndBattleText7 ; TextEndBattle + dw Route9EndBattleText7 ; TextEndBattle + +Route9TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_7, 1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_7, 1 + dw Route9BattleText8 ; TextBeforeBattle + dw Route9AfterBattleText8 ; TextAfterBattle + dw Route9EndBattleText8 ; TextEndBattle + dw Route9EndBattleText8 ; TextEndBattle + +Route9TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_8, 1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_8, 1 + dw Route9BattleText9 ; TextBeforeBattle + dw Route9AfterBattleText9 ; TextAfterBattle + dw Route9EndBattleText9 ; TextEndBattle + dw Route9EndBattleText9 ; TextEndBattle + + db $ff + +Route9Text1: + TX_ASM + ld hl, Route9TrainerHeader0 + jr Route9TalkToTrainer + +Route9Text2: + TX_ASM + ld hl, Route9TrainerHeader1 + jr Route9TalkToTrainer + +Route9Text3: + TX_ASM + ld hl, Route9TrainerHeader2 + jr Route9TalkToTrainer + +Route9Text4: + TX_ASM + ld hl, Route9TrainerHeader3 + jr Route9TalkToTrainer + +Route9Text5: + TX_ASM + ld hl, Route9TrainerHeader4 + jr Route9TalkToTrainer + +Route9Text6: + TX_ASM + ld hl, Route9TrainerHeader5 + jr Route9TalkToTrainer + +Route9Text7: + TX_ASM + ld hl, Route9TrainerHeader6 + jr Route9TalkToTrainer + +Route9Text8: + TX_ASM + ld hl, Route9TrainerHeader7 + jr Route9TalkToTrainer + +Route9Text9: + TX_ASM + ld hl, Route9TrainerHeader8 +Route9TalkToTrainer: + call TalkToTrainer + jp TextScriptEnd + +Route9BattleText1: + TX_FAR _Route9BattleText1 + db "@" + +Route9EndBattleText1: + TX_FAR _Route9EndBattleText1 + db "@" + +Route9AfterBattleText1: + TX_FAR _Route9AfterBattleText1 + db "@" + +Route9BattleText2: + TX_FAR _Route9BattleText2 + db "@" + +Route9EndBattleText2: + TX_FAR _Route9EndBattleText2 + db "@" + +Route9AfterBattleText2: + TX_FAR _Route9AfterBattleText2 + db "@" + +Route9BattleText3: + TX_FAR _Route9BattleText3 + db "@" + +Route9EndBattleText3: + TX_FAR _Route9EndBattleText3 + db "@" + +Route9AfterBattleText3: + TX_FAR _Route9AfterBattleText3 + db "@" + +Route9BattleText4: + TX_FAR _Route9BattleText4 + db "@" + +Route9EndBattleText4: + TX_FAR _Route9EndBattleText4 + db "@" + +Route9AfterBattleText4: + TX_FAR _Route9AfterBattleText4 + db "@" + +Route9BattleText5: + TX_FAR _Route9BattleText5 + db "@" + +Route9EndBattleText5: + TX_FAR _Route9EndBattleText5 + db "@" + +Route9AfterBattleText5: + TX_FAR _Route9AfterBattleText5 + db "@" + +Route9BattleText6: + TX_FAR _Route9BattleText6 + db "@" + +Route9EndBattleText6: + TX_FAR _Route9EndBattleText6 + db "@" + +Route9AfterBattleText6: + TX_FAR _Route9AfterBattleText6 + db "@" + +Route9BattleText7: + TX_FAR _Route9BattleText7 + db "@" + +Route9EndBattleText7: + TX_FAR _Route9EndBattleText7 + db "@" + +Route9AfterBattleText7: + TX_FAR _Route9AfterBattleText7 + db "@" + +Route9BattleText8: + TX_FAR _Route9BattleText8 + db "@" + +Route9EndBattleText8: + TX_FAR _Route9EndBattleText8 + db "@" + +Route9AfterBattleText8: + TX_FAR _Route9AfterBattleText8 + db "@" + +Route9BattleText9: + TX_FAR _Route9BattleText9 + db "@" + +Route9EndBattleText9: + TX_FAR _Route9EndBattleText9 + db "@" + +Route9AfterBattleText9: + TX_FAR _Route9AfterBattleText9 + db "@" + +Route9Text11: + TX_FAR _Route9Text11 + db "@" diff --git a/scripts/SSAnne1F.asm b/scripts/SSAnne1F.asm new file mode 100755 index 00000000..5cace6ee --- /dev/null +++ b/scripts/SSAnne1F.asm @@ -0,0 +1,15 @@ +SSAnne1F_Script: + call EnableAutoTextBoxDrawing + ret + +SSAnne1F_TextPointers: + dw SSAnne1Text1 + dw SSAnne1Text2 + +SSAnne1Text1: + TX_FAR _SSAnne1Text1 + db "@" + +SSAnne1Text2: + TX_FAR _SSAnne1Text2 + db "@" diff --git a/scripts/SSAnne1FRooms.asm b/scripts/SSAnne1FRooms.asm new file mode 100755 index 00000000..2371f286 --- /dev/null +++ b/scripts/SSAnne1FRooms.asm @@ -0,0 +1,163 @@ +SSAnne1FRooms_Script: + call EnableAutoTextBoxDrawing + ld hl, SSAnne8TrainerHeader0 + ld de, SSAnne1FRooms_ScriptPointers + ld a, [wSSAnne1FRoomsCurScript] + call ExecuteCurMapScriptInTable + ld [wSSAnne1FRoomsCurScript], a + ret + +SSAnne1FRooms_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +SSAnne1FRooms_TextPointers: + dw SSAnne8Text1 + dw SSAnne8Text2 + dw SSAnne8Text3 + dw SSAnne8Text4 + dw SSAnne8Text5 + dw SSAnne8Text6 + dw SSAnne8Text7 + dw SSAnne8Text8 + dw SSAnne8Text9 + dw PickUpItemText + dw SSAnne8Text11 + +SSAnne8TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_0 + dw SSAnne8BattleText1 ; TextBeforeBattle + dw SSAnne8AfterBattleText1 ; TextAfterBattle + dw SSAnne8EndBattleText1 ; TextEndBattle + dw SSAnne8EndBattleText1 ; TextEndBattle + +SSAnne8TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_1 + dw SSAnne8BattleText2 ; TextBeforeBattle + dw SSAnne8AfterBattleText2 ; TextAfterBattle + dw SSAnne8EndBattleText2 ; TextEndBattle + dw SSAnne8EndBattleText2 ; TextEndBattle + +SSAnne8TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_2 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_2 + dw SSAnne8BattleText3 ; TextBeforeBattle + dw SSAnne8AfterBattleText3 ; TextAfterBattle + dw SSAnne8EndBattleText3 ; TextEndBattle + dw SSAnne8EndBattleText3 ; TextEndBattle + +SSAnne8TrainerHeader3: + dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_3 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_3 + dw SSAnne8BattleText4 ; TextBeforeBattle + dw SSAnne8AfterBattleText4 ; TextAfterBattle + dw SSAnne8EndBattleText4 ; TextEndBattle + dw SSAnne8EndBattleText4 ; TextEndBattle + + db $ff + +SSAnne8Text1: + TX_ASM + ld hl, SSAnne8TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SSAnne8Text2: + TX_ASM + ld hl, SSAnne8TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SSAnne8Text3: + TX_ASM + ld hl, SSAnne8TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SSAnne8Text4: + TX_ASM + ld hl, SSAnne8TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SSAnne8Text8: + TX_FAR _SSAnne8Text8 + TX_ASM + ld a, WIGGLYTUFF + call PlayCry + jp TextScriptEnd + +SSAnne8BattleText1: + TX_FAR _SSAnne8BattleText1 + db "@" + +SSAnne8EndBattleText1: + TX_FAR _SSAnne8EndBattleText1 + db "@" + +SSAnne8AfterBattleText1: + TX_FAR _SSAnne8AfterBattleText1 + db "@" + +SSAnne8BattleText2: + TX_FAR _SSAnne8BattleText2 + db "@" + +SSAnne8EndBattleText2: + TX_FAR _SSAnne8EndBattleText2 + db "@" + +SSAnne8AfterBattleText2: + TX_FAR _SSAnne8AfterBattleText2 + db "@" + +SSAnne8BattleText3: + TX_FAR _SSAnne8BattleText3 + db "@" + +SSAnne8EndBattleText3: + TX_FAR _SSAnne8EndBattleText3 + db "@" + +SSAnne8AfterBattleText3: + TX_FAR _SSAnne8AfterBattleText3 + db "@" + +SSAnne8BattleText4: + TX_FAR _SSAnne8BattleText4 + db "@" + +SSAnne8EndBattleText4: + TX_FAR _SSAnne8EndBattleText4 + db "@" + +SSAnne8AfterBattleText4: + TX_FAR _SSAnne8AfterBattleText4 + db "@" + +SSAnne8Text5: + TX_FAR _SSAnne8Text5 + db "@" + +SSAnne8Text6: + TX_FAR _SSAnne8Text6 + db "@" + +SSAnne8Text7: + TX_FAR _SSAnne8Text7 + db "@" + +SSAnne8Text9: + TX_FAR _SSAnne8Text9 + db "@" + +SSAnne8Text11: + TX_FAR _SSAnne8Text11 + db "@" diff --git a/scripts/SSAnne2F.asm b/scripts/SSAnne2F.asm new file mode 100755 index 00000000..ba900748 --- /dev/null +++ b/scripts/SSAnne2F.asm @@ -0,0 +1,216 @@ +SSAnne2F_Script: + call EnableAutoTextBoxDrawing + ld hl, SSAnne2F_ScriptPointers + ld a, [wSSAnne2FCurScript] + jp CallFunctionInTable + +SSAnne2Script_613ab: + xor a + ld [wJoyIgnore], a + ld [wSSAnne2FCurScript], a + ret + +SSAnne2F_ScriptPointers: + dw SSAnne2Script0 + dw SSAnne2Script1 + dw SSAnne2Script2 + dw SSAnne2Script3 + dw SSAnne2Script4 + +SSAnne2Script4: + ret + +SSAnne2Script0: + ld hl, CoordsData_61411 + call ArePlayerCoordsInArray + ret nc + ld a, $ff + ld [wNewSoundID], a + call PlaySound + ld c, BANK(Music_MeetRival) + ld a, MUSIC_MEET_RIVAL + call PlayMusic + ld a, [wCoordIndex] + ld [$ffdb], a + ld a, HS_SS_ANNE_2F_RIVAL + ld [wMissableObjectIndex], a + predef ShowObject + call Delay3 + ld a, $2 + ld [H_SPRITEINDEX], a + call SetSpriteMovementBytesToFF + xor a + ld [hJoyHeld], a + ld a, $f0 + ld [wJoyIgnore], a + ld a, [$ffdb] + cp $2 + jr nz, .asm_61400 + ld de, MovementData_6140c + jr .asm_61403 +.asm_61400 + ld de, MovementData_6140d +.asm_61403 + call MoveSprite + ld a, $1 + ld [wSSAnne2FCurScript], a + ret + +MovementData_6140c: + db NPC_MOVEMENT_DOWN + +MovementData_6140d: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +CoordsData_61411: + db $08,$24 + db $08,$25 + db $FF + +SSAnne2Script_61416: + ld a, [wXCoord] + cp $25 + jr nz, .asm_61426 + ld a, PLAYER_DIR_LEFT + ld [wPlayerMovingDirection], a + ld a, SPRITE_FACING_RIGHT + jr .asm_61427 +.asm_61426 + xor a ; SPRITE_FACING_DOWN +.asm_61427 + ld [hSpriteFacingDirection], a + ld a, $2 + ld [H_SPRITEINDEX], a + jp SetSpriteFacingDirectionAndDelay + +SSAnne2Script1: + ld a, [wd730] + bit 0, a + ret nz + call SSAnne2Script_61416 + xor a + ld [wJoyIgnore], a + ld a, $2 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call Delay3 + ld a, OPP_SONY2 + ld [wCurOpponent], a + + ; select which team to use during the encounter + ld a, [wRivalStarter] + cp STARTER2 + jr nz, .NotSquirtle + ld a, $1 + jr .done +.NotSquirtle + cp STARTER3 + jr nz, .Charmander + ld a, $2 + jr .done +.Charmander + ld a, $3 +.done + ld [wTrainerNo], a + + call SSAnne2Script_61416 + ld a, $2 + ld [wSSAnne2FCurScript], a + ret + +SSAnne2Script2: + ld a, [wIsInBattle] + cp $ff + jp z, SSAnne2Script_613ab + call SSAnne2Script_61416 + ld a, $f0 + ld [wJoyIgnore], a + ld a, $3 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $2 + ld [H_SPRITEINDEX], a + call SetSpriteMovementBytesToFF + ld a, [wXCoord] + cp $25 + jr nz, .asm_61497 + ld de, MovementData_614b9 + jr .asm_6149a +.asm_61497 + ld de, MovementData_614b7 +.asm_6149a + ld a, $2 + ld [H_SPRITEINDEX], a + call MoveSprite + ld a, $ff + ld [wNewSoundID], a + call PlaySound + callba Music_RivalAlternateStart + ld a, $3 + ld [wSSAnne2FCurScript], a + ret + +MovementData_614b7: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + +MovementData_614b9: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +SSAnne2Script3: + ld a, [wd730] + bit 0, a + ret nz + xor a + ld [wJoyIgnore], a + ld a, HS_SS_ANNE_2F_RIVAL + ld [wMissableObjectIndex], a + predef HideObject + call PlayDefaultMusic + ld a, $4 + ld [wSSAnne2FCurScript], a + ret + +SSAnne2F_TextPointers: + dw SSAnne2Text1 + dw SSAnne2Text2 + dw SSAnne2Text3 + +SSAnne2Text1: + TX_FAR _SSAnne2Text1 + db "@" + +SSAnne2Text2: + TX_ASM + ld hl, SSAnneRivalBeforeBattleText + call PrintText + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, SSAnneRivalDefeatedText + ld de, SSAnneRivalWonText + call SaveEndBattleTextPointers + jp TextScriptEnd + +SSAnneRivalBeforeBattleText: + TX_FAR _SSAnneRivalBeforeBattleText + db "@" + +SSAnneRivalDefeatedText: + TX_FAR _SSAnneRivalDefeatedText + db "@" + +SSAnneRivalWonText: + TX_FAR _SSAnneRivalWonText + db "@" + +SSAnne2Text3: + TX_FAR _SSAnneRivalCaptainText + db "@" diff --git a/scripts/SSAnne2FRooms.asm b/scripts/SSAnne2FRooms.asm new file mode 100755 index 00000000..a79e1be8 --- /dev/null +++ b/scripts/SSAnne2FRooms.asm @@ -0,0 +1,215 @@ +SSAnne2FRooms_Script: + ld a, $1 + ld [wAutoTextBoxDrawingControl], a + xor a + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, SSAnne9TrainerHeader0 + ld de, SSAnne2FRooms_ScriptPointers + ld a, [wSSAnne2FRoomsCurScript] + call ExecuteCurMapScriptInTable + ld [wSSAnne2FRoomsCurScript], a + ret + +SSAnne2FRooms_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +SSAnne2FRooms_TextPointers: + dw SSAnne9Text1 + dw SSAnne9Text2 + dw SSAnne9Text3 + dw SSAnne9Text4 + dw SSAnne9Text5 + dw PickUpItemText + dw SSAnne9Text7 + dw SSAnne9Text8 + dw PickUpItemText + dw SSAnne9Text10 + dw SSAnne9Text11 + dw SSAnne9Text12 + dw SSAnne9Text13 + +SSAnne9TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_0 + dw SSAnne9BattleText1 ; TextBeforeBattle + dw SSAnne9AfterBattleText1 ; TextAfterBattle + dw SSAnne9EndBattleText1 ; TextEndBattle + dw SSAnne9EndBattleText1 ; TextEndBattle + +SSAnne9TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_1 + dw SSAnne9BattleText2 ; TextBeforeBattle + dw SSAnne9AfterBattleText2 ; TextAfterBattle + dw SSAnne9EndBattleText2 ; TextEndBattle + dw SSAnne9EndBattleText2 ; TextEndBattle + +SSAnne9TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_2 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_2 + dw SSAnne9BattleText3 ; TextBeforeBattle + dw SSAnne9AfterBattleText3 ; TextAfterBattle + dw SSAnne9EndBattleText3 ; TextEndBattle + dw SSAnne9EndBattleText3 ; TextEndBattle + +SSAnne9TrainerHeader3: + dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_3 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_3 + dw SSAnne9BattleText4 ; TextBeforeBattle + dw SSAnne9AfterBattleText4 ; TextAfterBattle + dw SSAnne9EndBattleText4 ; TextEndBattle + dw SSAnne9EndBattleText4 ; TextEndBattle + + db $ff + +SSAnne9Text1: + TX_ASM + ld hl, SSAnne9TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SSAnne9Text2: + TX_ASM + ld hl, SSAnne9TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SSAnne9Text3: + TX_ASM + ld hl, SSAnne9TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SSAnne9Text4: + TX_ASM + ld hl, SSAnne9TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SSAnne9Text5: + TX_ASM + call SaveScreenTilesToBuffer1 + ld hl, SSAnne9Text_61bf2 + call PrintText + call LoadScreenTilesFromBuffer1 + ld a, SNORLAX + call DisplayPokedex + jp TextScriptEnd + +SSAnne9Text_61bf2: + TX_FAR _SSAnne9Text_61bf2 + db "@" + +SSAnne9Text7: + TX_ASM + ld hl, SSAnne9Text_61c01 + call PrintText + jp TextScriptEnd + +SSAnne9Text_61c01: + TX_FAR _SSAnne9Text_61c01 + db "@" + +SSAnne9Text8: + TX_ASM + ld hl, SSAnne9Text_61c10 + call PrintText + jp TextScriptEnd + +SSAnne9Text_61c10: + TX_FAR _SSAnne9Text_61c10 + db "@" + +SSAnne9Text10: + TX_ASM + ld hl, SSAnne9Text_61c1f + call PrintText + jp TextScriptEnd + +SSAnne9Text_61c1f: + TX_FAR _SSAnne9Text_61c1f + db "@" + +SSAnne9Text11: + TX_ASM + ld hl, SSAnne9Text_61c2e + call PrintText + jp TextScriptEnd + +SSAnne9Text_61c2e: + TX_FAR _SSAnne9Text_61c2e + db "@" + +SSAnne9Text12: + TX_ASM + ld hl, SSAnne9Text_61c3d + call PrintText + jp TextScriptEnd + +SSAnne9Text_61c3d: + TX_FAR _SSAnne9Text_61c3d + db "@" + +SSAnne9Text13: + TX_ASM + ld hl, SSAnne9Text_61c4c + call PrintText + jp TextScriptEnd + +SSAnne9Text_61c4c: + TX_FAR _SSAnne9Text_61c4c + db "@" + +SSAnne9BattleText1: + TX_FAR _SSAnne9BattleText1 + db "@" + +SSAnne9EndBattleText1: + TX_FAR _SSAnne9EndBattleText1 + db "@" + +SSAnne9AfterBattleText1: + TX_FAR _SSAnne9AfterBattleText1 + db "@" + +SSAnne9BattleText2: + TX_FAR _SSAnne9BattleText2 + db "@" + +SSAnne9EndBattleText2: + TX_FAR _SSAnne9EndBattleText2 + db "@" + +SSAnne9AfterBattleText2: + TX_FAR _SSAnne9AfterBattleText2 + db "@" + +SSAnne9BattleText3: + TX_FAR _SSAnne9BattleText3 + db "@" + +SSAnne9EndBattleText3: + TX_FAR _SSAnne9EndBattleText3 + db "@" + +SSAnne9AfterBattleText3: + TX_FAR _SSAnne9AfterBattleText3 + db "@" + +SSAnne9BattleText4: + TX_FAR _SSAnne9BattleText4 + db "@" + +SSAnne9EndBattleText4: + TX_FAR _SSAnne9EndBattleText4 + db "@" + +SSAnne9AfterBattleText4: + TX_FAR _SSAnne9AfterBattleText4 + db "@" diff --git a/scripts/SSAnne3F.asm b/scripts/SSAnne3F.asm new file mode 100755 index 00000000..5da0e0c7 --- /dev/null +++ b/scripts/SSAnne3F.asm @@ -0,0 +1,9 @@ +SSAnne3F_Script: + jp EnableAutoTextBoxDrawing + +SSAnne3F_TextPointers: + dw SSAnne3Text1 + +SSAnne3Text1: + TX_FAR _SSAnne3Text1 + db "@" diff --git a/scripts/SSAnneB1F.asm b/scripts/SSAnneB1F.asm new file mode 100755 index 00000000..25df076f --- /dev/null +++ b/scripts/SSAnneB1F.asm @@ -0,0 +1,5 @@ +SSAnneB1F_Script: + jp EnableAutoTextBoxDrawing + +SSAnneB1F_TextPointers: + db "@" diff --git a/scripts/SSAnneB1FRooms.asm b/scripts/SSAnneB1FRooms.asm new file mode 100755 index 00000000..3777852c --- /dev/null +++ b/scripts/SSAnneB1FRooms.asm @@ -0,0 +1,201 @@ +SSAnneB1FRooms_Script: + call EnableAutoTextBoxDrawing + ld hl, SSAnne10TrainerHeader0 + ld de, SSAnneB1FRooms_ScriptPointers + ld a, [wSSAnneB1FRoomsCurScript] + call ExecuteCurMapScriptInTable + ld [wSSAnneB1FRoomsCurScript], a + ret + +SSAnneB1FRooms_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +SSAnneB1FRooms_TextPointers: + dw SSAnne10Text1 + dw SSAnne10Text2 + dw SSAnne10Text3 + dw SSAnne10Text4 + dw SSAnne10Text5 + dw SSAnne10Text6 + dw SSAnne10Text7 + dw SSAnne10Text8 + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + +SSAnne10TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_0 + dw SSAnne10BattleText1 ; TextBeforeBattle + dw SSAnne10AfterBattleText1 ; TextAfterBattle + dw SSAnne10EndBattleText1 ; TextEndBattle + dw SSAnne10EndBattleText1 ; TextEndBattle + +SSAnne10TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_1 + dw SSAnne10BattleText2 ; TextBeforeBattle + dw SSAnne10AfterBattleText2 ; TextAfterBattle + dw SSAnne10EndBattleText2 ; TextEndBattle + dw SSAnne10EndBattleText2 ; TextEndBattle + +SSAnne10TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_2 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_2 + dw SSAnne10BattleText3 ; TextBeforeBattle + dw SSAnne10AfterBattleText3 ; TextAfterBattle + dw SSAnne10EndBattleText3 ; TextEndBattle + dw SSAnne10EndBattleText3 ; TextEndBattle + +SSAnne10TrainerHeader3: + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_3 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_3 + dw SSAnne10BattleText4 ; TextBeforeBattle + dw SSAnne10AfterBattleText4 ; TextAfterBattle + dw SSAnne10EndBattleText4 ; TextEndBattle + dw SSAnne10EndBattleText4 ; TextEndBattle + +SSAnne10TrainerHeader4: + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_4 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_4 + dw SSAnne10BattleText5 ; TextBeforeBattle + dw SSAnne10AfterBattleText5 ; TextAfterBattle + dw SSAnne10EndBattleText5 ; TextEndBattle + dw SSAnne10EndBattleText5 ; TextEndBattle + +SSAnne10TrainerHeader5: + dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_5 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_5 + dw SSAnne10BattleText6 ; TextBeforeBattle + dw SSAnne10AfterBattleText6 ; TextAfterBattle + dw SSAnne10EndBattleText6 ; TextEndBattle + dw SSAnne10EndBattleText6 ; TextEndBattle + + db $ff + +SSAnne10Text1: + TX_ASM + ld hl, SSAnne10TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SSAnne10Text2: + TX_ASM + ld hl, SSAnne10TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SSAnne10Text3: + TX_ASM + ld hl, SSAnne10TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SSAnne10Text4: + TX_ASM + ld hl, SSAnne10TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SSAnne10Text5: + TX_ASM + ld hl, SSAnne10TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +SSAnne10Text6: + TX_ASM + ld hl, SSAnne10TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +SSAnne10Text8: + TX_FAR _SSAnne10Text8 + TX_ASM + ld a, MACHOKE + call PlayCry + jp TextScriptEnd + +SSAnne10BattleText1: + TX_FAR _SSAnne10BattleText1 + db "@" + +SSAnne10EndBattleText1: + TX_FAR _SSAnne10EndBattleText1 + db "@" + +SSAnne10AfterBattleText1: + TX_FAR _SSAnne10AfterBattleText1 + db "@" + +SSAnne10BattleText2: + TX_FAR _SSAnne10BattleText2 + db "@" + +SSAnne10EndBattleText2: + TX_FAR _SSAnne10EndBattleText2 + db "@" + +SSAnne10AfterBattleText2: + TX_FAR _SSAnne10AfterBattleText2 + db "@" + +SSAnne10BattleText3: + TX_FAR _SSAnne10BattleText3 + db "@" + +SSAnne10EndBattleText3: + TX_FAR _SSAnne10EndBattleText3 + db "@" + +SSAnne10AfterBattleText3: + TX_FAR _SSAnne10AfterBattleText3 + db "@" + +SSAnne10BattleText4: + TX_FAR _SSAnne10BattleText4 + db "@" + +SSAnne10EndBattleText4: + TX_FAR _SSAnne10EndBattleText4 + db "@" + +SSAnne10AfterBattleText4: + TX_FAR _SSAnne10AfterBattleText4 + db "@" + +SSAnne10BattleText5: + TX_FAR _SSAnne10BattleText5 + db "@" + +SSAnne10EndBattleText5: + TX_FAR _SSAnne10EndBattleText5 + db "@" + +SSAnne10AfterBattleText5: + TX_FAR _SSAnne10AfterBattleText5 + db "@" + +SSAnne10BattleText6: + TX_FAR _SSAnne10BattleText6 + db "@" + +SSAnne10EndBattleText6: + TX_FAR _SSAnne10EndBattleText6 + db "@" + +SSAnne10AfterBattleText6: + TX_FAR _SSAnne10AfterBattleText6 + db "@" + +SSAnne10Text7: + TX_FAR _SSAnne10Text7 + db "@" diff --git a/scripts/SSAnneBow.asm b/scripts/SSAnneBow.asm new file mode 100755 index 00000000..4569f0f8 --- /dev/null +++ b/scripts/SSAnneBow.asm @@ -0,0 +1,88 @@ +SSAnneBow_Script: + call EnableAutoTextBoxDrawing + ld hl, SSAnne5TrainerHeader0 + ld de, SSAnneBow_ScriptPointers + ld a, [wSSAnneBowCurScript] + call ExecuteCurMapScriptInTable + ld [wSSAnneBowCurScript], a + ret + +SSAnneBow_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +SSAnneBow_TextPointers: + dw SSAnne5Text1 + dw SSAnne5Text2 + dw SSAnne5Text3 + dw SSAnne5Text4 + dw SSAnne5Text5 + +SSAnne5TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SS_ANNE_5_TRAINER_0 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SS_ANNE_5_TRAINER_0 + dw SSAnne5BattleText1 ; TextBeforeBattle + dw SSAnne5AfterBattleText1 ; TextAfterBattle + dw SSAnne5EndBattleText1 ; TextEndBattle + dw SSAnne5EndBattleText1 ; TextEndBattle + +SSAnne5TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SS_ANNE_5_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SS_ANNE_5_TRAINER_1 + dw SSAnne5BattleText2 ; TextBeforeBattle + dw SSAnne5AfterBattleText2 ; TextAfterBattle + dw SSAnne5EndBattleText2 ; TextEndBattle + dw SSAnne5EndBattleText2 ; TextEndBattle + + db $ff + +SSAnne5Text1: + TX_FAR _SSAnne5Text1 + db "@" + +SSAnne5Text2: + TX_FAR _SSAnne5Text2 + db "@" + +SSAnne5Text3: + TX_FAR _SSAnne5Text3 + db "@" + +SSAnne5Text4: + TX_ASM + ld hl, SSAnne5TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SSAnne5BattleText1: + TX_FAR _SSAnne5BattleText1 + db "@" + +SSAnne5EndBattleText1: + TX_FAR _SSAnne5EndBattleText1 + db "@" + +SSAnne5AfterBattleText1: + TX_FAR _SSAnne5AfterBattleText1 + db "@" + +SSAnne5Text5: + TX_ASM + ld hl, SSAnne5TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SSAnne5BattleText2: + TX_FAR _SSAnne5BattleText2 + db "@" + +SSAnne5EndBattleText2: + TX_FAR _SSAnne5EndBattleText2 + db "@" + +SSAnne5AfterBattleText2: + TX_FAR _SSAnne5AfterBattleText2 + db "@" diff --git a/scripts/SSAnneCaptainsRoom.asm b/scripts/SSAnneCaptainsRoom.asm new file mode 100755 index 00000000..de0272e4 --- /dev/null +++ b/scripts/SSAnneCaptainsRoom.asm @@ -0,0 +1,93 @@ +SSAnneCaptainsRoom_Script: + call SSAnne7Script_6189b + jp EnableAutoTextBoxDrawing + +SSAnne7Script_6189b: + CheckEvent EVENT_RUBBED_CAPTAINS_BACK + ret nz + ld hl, wd72d + set 5, [hl] + ret + +SSAnneCaptainsRoom_TextPointers: + dw SSAnne7Text1 + dw SSAnne7Text2 + dw SSAnne7Text3 + +SSAnne7Text1: + TX_ASM + CheckEvent EVENT_GOT_HM01 + jr nz, .asm_797c4 + ld hl, SSAnne7RubText + call PrintText + ld hl, ReceivingHM01Text + call PrintText + lb bc, HM_01, 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedHM01Text + call PrintText + SetEvent EVENT_GOT_HM01 + jr .asm_0faf5 +.BagFull + ld hl, HM01NoRoomText + call PrintText + ld hl, wd72d + set 5, [hl] + jr .asm_0faf5 +.asm_797c4 + ld hl, SSAnne7Text_61932 + call PrintText +.asm_0faf5 + jp TextScriptEnd + +SSAnne7RubText: + TX_FAR _SSAnne7RubText + TX_ASM + ld a, [wAudioROMBank] + cp BANK(Audio3_UpdateMusic) + ld [wAudioSavedROMBank], a + jr nz, .asm_61908 + ld a, $ff + ld [wNewSoundID], a + call PlaySound + ld a, Bank(Music_PkmnHealed) + ld [wAudioROMBank], a +.asm_61908 + ld a, MUSIC_PKMN_HEALED + ld [wNewSoundID], a + call PlaySound +.asm_61910 + ld a, [wChannelSoundIDs] + cp MUSIC_PKMN_HEALED + jr z, .asm_61910 + call PlayDefaultMusic + SetEvent EVENT_RUBBED_CAPTAINS_BACK + ld hl, wd72d + res 5, [hl] + jp TextScriptEnd + +ReceivingHM01Text: + TX_FAR _ReceivingHM01Text + db "@" + +ReceivedHM01Text: + TX_FAR _ReceivedHM01Text + TX_SFX_KEY_ITEM + db "@" + +SSAnne7Text_61932: + TX_FAR _SSAnne7Text_61932 + db "@" + +HM01NoRoomText: + TX_FAR _HM01NoRoomText + db "@" + +SSAnne7Text2: + TX_FAR _SSAnne7Text2 + db "@" + +SSAnne7Text3: + TX_FAR _SSAnne7Text3 + db "@" diff --git a/scripts/SSAnneKitchen.asm b/scripts/SSAnneKitchen.asm new file mode 100755 index 00000000..137706a0 --- /dev/null +++ b/scripts/SSAnneKitchen.asm @@ -0,0 +1,72 @@ +SSAnneKitchen_Script: + call EnableAutoTextBoxDrawing + ret + +SSAnneKitchen_TextPointers: + dw SSAnne6Text1 + dw SSAnne6Text2 + dw SSAnne6Text3 + dw SSAnne6Text4 + dw SSAnne6Text5 + dw SSAnne6Text6 + dw SSAnne6Text7 + +SSAnne6Text1: + TX_FAR _SSAnne6Text1 + db "@" + +SSAnne6Text2: + TX_FAR _SSAnne6Text2 + db "@" + +SSAnne6Text3: + TX_FAR _SSAnne6Text3 + db "@" + +SSAnne6Text4: + TX_FAR _SSAnne6Text4 + db "@" + +SSAnne6Text5: + TX_FAR _SSAnne6Text5 + db "@" + +SSAnne6Text6: + TX_FAR _SSAnne6Text6 + db "@" + +SSAnne6Text7: + TX_ASM + ld hl, SSAnne6Text_61807 + call PrintText + ld a, [hRandomAdd] + bit 7, a + jr z, .asm_93eb1 + ld hl, SSAnne6Text_6180c + jr .asm_63292 +.asm_93eb1 + bit 4, a + jr z, .asm_7436c + ld hl, SSAnne6Text_61811 + jr .asm_63292 +.asm_7436c + ld hl, SSAnne6Text_61816 +.asm_63292 + call PrintText + jp TextScriptEnd + +SSAnne6Text_61807: + TX_FAR _SSAnne6Text_61807 + db "@" + +SSAnne6Text_6180c: + TX_FAR _SSAnne6Text_6180c + db "@" + +SSAnne6Text_61811: + TX_FAR _SSAnne6Text_61811 + db "@" + +SSAnne6Text_61816: + TX_FAR _SSAnne6Text_61816 + db "@" diff --git a/scripts/SafariZoneCenter.asm b/scripts/SafariZoneCenter.asm new file mode 100755 index 00000000..0a266887 --- /dev/null +++ b/scripts/SafariZoneCenter.asm @@ -0,0 +1,15 @@ +SafariZoneCenter_Script: + jp EnableAutoTextBoxDrawing + +SafariZoneCenter_TextPointers: + dw PickUpItemText + dw SafariZoneCenterText2 + dw SafariZoneCenterText3 + +SafariZoneCenterText2: + TX_FAR _SafariZoneCenterText2 + db "@" + +SafariZoneCenterText3: + TX_FAR _SafariZoneCenterText3 + db "@" diff --git a/scripts/SafariZoneCenterRestHouse.asm b/scripts/SafariZoneCenterRestHouse.asm new file mode 100755 index 00000000..a652644b --- /dev/null +++ b/scripts/SafariZoneCenterRestHouse.asm @@ -0,0 +1,14 @@ +SafariZoneCenterRestHouse_Script: + jp EnableAutoTextBoxDrawing + +SafariZoneCenterRestHouse_TextPointers: + dw SafariZoneRestHouse1Text1 + dw SafariZoneRestHouse1Text2 + +SafariZoneRestHouse1Text1: + TX_FAR _SafariZoneRestHouse1Text1 + db "@" + +SafariZoneRestHouse1Text2: + TX_FAR _SafariZoneRestHouse1Text2 + db "@" diff --git a/scripts/SafariZoneEast.asm b/scripts/SafariZoneEast.asm new file mode 100755 index 00000000..7f4a5543 --- /dev/null +++ b/scripts/SafariZoneEast.asm @@ -0,0 +1,23 @@ +SafariZoneEast_Script: + jp EnableAutoTextBoxDrawing + +SafariZoneEast_TextPointers: + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw SafariZoneEastText5 + dw SafariZoneEastText6 + dw SafariZoneEastText7 + +SafariZoneEastText5: + TX_FAR _SafariZoneEastText5 + db "@" + +SafariZoneEastText6: + TX_FAR _SafariZoneEastText6 + db "@" + +SafariZoneEastText7: + TX_FAR _SafariZoneEastText7 + db "@" diff --git a/scripts/SafariZoneEastRestHouse.asm b/scripts/SafariZoneEastRestHouse.asm new file mode 100755 index 00000000..24141459 --- /dev/null +++ b/scripts/SafariZoneEastRestHouse.asm @@ -0,0 +1,20 @@ +SafariZoneEastRestHouse_Script: + call EnableAutoTextBoxDrawing + ret + +SafariZoneEastRestHouse_TextPointers: + dw SafariZoneRestHouse3Text1 + dw SafariZoneRestHouse3Text2 + dw SafariZoneRestHouse3Text3 + +SafariZoneRestHouse3Text1: + TX_FAR _SafariZoneRestHouse3Text1 + db "@" + +SafariZoneRestHouse3Text2: + TX_FAR _SafariZoneRestHouse3Text2 + db "@" + +SafariZoneRestHouse3Text3: + TX_FAR _SafariZoneRestHouse3Text3 + db "@" diff --git a/scripts/SafariZoneGate.asm b/scripts/SafariZoneGate.asm new file mode 100755 index 00000000..f3de556b --- /dev/null +++ b/scripts/SafariZoneGate.asm @@ -0,0 +1,293 @@ +SafariZoneGate_Script: + call EnableAutoTextBoxDrawing + ld hl, SafariZoneGate_ScriptPointers + ld a, [wSafariZoneGateCurScript] + jp CallFunctionInTable + +SafariZoneGate_ScriptPointers: + dw .SafariZoneEntranceScript0 + dw .SafariZoneEntranceScript1 + dw .SafariZoneEntranceScript2 + dw .SafariZoneEntranceScript3 + dw .SafariZoneEntranceScript4 + dw .SafariZoneEntranceScript5 + dw .SafariZoneEntranceScript6 + +.SafariZoneEntranceScript0 + ld hl, .CoordsData_75221 + call ArePlayerCoordsInArray + ret nc + ld a, $3 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $ff + ld [wJoyIgnore], a + xor a + ld [hJoyHeld], a + ld a, SPRITE_FACING_RIGHT + ld [wSpriteStateData1 + 9], a + ld a, [wCoordIndex] + cp $1 + jr z, .asm_7520f + ld a, $2 + ld [wSafariZoneGateCurScript], a + ret +.asm_7520f + ld a, D_RIGHT + ld c, $1 + call SafariZoneEntranceAutoWalk + ld a, $f0 + ld [wJoyIgnore], a + ld a, $1 + ld [wSafariZoneGateCurScript], a + ret + +.CoordsData_75221: + db $02,$03 + db $02,$04 + db $FF + +.SafariZoneEntranceScript1 + call SafariZoneEntranceScript_752b4 + ret nz +.SafariZoneEntranceScript2 + xor a + ld [hJoyHeld], a + ld [wJoyIgnore], a + call UpdateSprites + ld a, $4 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $ff + ld [wJoyIgnore], a + ret + +.SafariZoneEntranceScript3 + call SafariZoneEntranceScript_752b4 + ret nz + xor a + ld [wJoyIgnore], a + ld a, $5 + ld [wSafariZoneGateCurScript], a + ret + +.SafariZoneEntranceScript5 + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + CheckAndResetEvent EVENT_SAFARI_GAME_OVER + jr z, .asm_7527f + ResetEventReuseHL EVENT_IN_SAFARI_ZONE + call UpdateSprites + ld a, $f0 + ld [wJoyIgnore], a + ld a, $6 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [wNumSafariBalls], a + ld a, D_DOWN + ld c, $3 + call SafariZoneEntranceAutoWalk + ld a, $4 + ld [wSafariZoneGateCurScript], a + jr .asm_75286 +.asm_7527f + ld a, $5 + ld [hSpriteIndexOrTextID], a + call DisplayTextID +.asm_75286 + ret + +.SafariZoneEntranceScript4 + call SafariZoneEntranceScript_752b4 + ret nz + xor a + ld [wJoyIgnore], a + ld a, $0 + ld [wSafariZoneGateCurScript], a + ret + +.SafariZoneEntranceScript6 + call SafariZoneEntranceScript_752b4 + ret nz + call Delay3 + ld a, [wcf0d] + ld [wSafariZoneGateCurScript], a + ret + +SafariZoneEntranceAutoWalk: + push af + ld b, 0 + ld a, c + ld [wSimulatedJoypadStatesIndex], a + ld hl, wSimulatedJoypadStatesEnd + pop af + call FillMemory + jp StartSimulatingJoypadStates + +SafariZoneEntranceScript_752b4: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret + +SafariZoneGate_TextPointers: + dw .SafariZoneEntranceText1 + dw .SafariZoneEntranceText2 + dw .SafariZoneEntranceText1 + dw .SafariZoneEntranceText4 + dw .SafariZoneEntranceText5 + dw .SafariZoneEntranceText6 + +.SafariZoneEntranceText1 + TX_FAR _SafariZoneEntranceText1 + db "@" + +.SafariZoneEntranceText4 + TX_FAR SafariZoneEntranceText_9e6e4 + TX_ASM + ld a, MONEY_BOX + ld [wTextBoxID], a + call DisplayTextBoxID + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jp nz, .PleaseComeAgain + xor a + ld [hMoney], a + ld a, $05 + ld [hMoney + 1], a + ld a, $00 + ld [hMoney + 2], a + call HasEnoughMoney + jr nc, .success + ld hl, .NotEnoughMoneyText + call PrintText + jr .CantPayWalkDown + +.success + xor a + ld [wPriceTemp], a + ld a, $05 + ld [wPriceTemp + 1], a + ld a, $00 + ld [wPriceTemp + 2], a + ld hl, wPriceTemp + 2 + ld de, wPlayerMoney + 2 + ld c, 3 + predef SubBCDPredef + ld a, MONEY_BOX + ld [wTextBoxID], a + call DisplayTextBoxID + ld hl, .MakePaymentText + call PrintText + ld a, 30 + ld [wNumSafariBalls], a + ld a, 502 / $100 + ld [wSafariSteps], a + ld a, 502 % $100 + ld [wSafariSteps + 1], a + ld a, D_UP + ld c, 3 + call SafariZoneEntranceAutoWalk + SetEvent EVENT_IN_SAFARI_ZONE + ResetEventReuseHL EVENT_SAFARI_GAME_OVER + ld a, 3 + ld [wSafariZoneGateCurScript], a + jr .done + +.PleaseComeAgain + ld hl, .PleaseComeAgainText + call PrintText +.CantPayWalkDown + ld a, D_DOWN + ld c, 1 + call SafariZoneEntranceAutoWalk + ld a, 4 + ld [wSafariZoneGateCurScript], a +.done + jp TextScriptEnd + +.MakePaymentText + TX_FAR SafariZoneEntranceText_9e747 + TX_SFX_ITEM_1 + TX_FAR _SafariZoneEntranceText_75360 + db "@" + +.PleaseComeAgainText + TX_FAR _SafariZoneEntranceText_75365 + db "@" + +.NotEnoughMoneyText + TX_FAR _SafariZoneEntranceText_7536a + db "@" + +.SafariZoneEntranceText5 + TX_FAR SafariZoneEntranceText_9e814 + TX_ASM + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_7539c + ld hl, .SafariZoneEntranceText_753bb + call PrintText + xor a + ld [wSpriteStateData1 + 9], a + ld a, D_DOWN + ld c, $3 + call SafariZoneEntranceAutoWalk + ResetEvents EVENT_SAFARI_GAME_OVER, EVENT_IN_SAFARI_ZONE + ld a, $0 + ld [wcf0d], a + jr .asm_753b3 +.asm_7539c + ld hl, .SafariZoneEntranceText_753c0 + call PrintText + ld a, SPRITE_FACING_UP + ld [wSpriteStateData1 + 9], a + ld a, D_UP + ld c, $1 + call SafariZoneEntranceAutoWalk + ld a, $5 + ld [wcf0d], a +.asm_753b3 + ld a, $6 + ld [wSafariZoneGateCurScript], a + jp TextScriptEnd + +.SafariZoneEntranceText_753bb + TX_FAR _SafariZoneEntranceText_753bb + db "@" + +.SafariZoneEntranceText_753c0 + TX_FAR _SafariZoneEntranceText_753c0 + db "@" + +.SafariZoneEntranceText6 + TX_FAR _SafariZoneEntranceText_753c5 + db "@" + +.SafariZoneEntranceText2 + TX_ASM + ld hl, .FirstTimeQuestionText + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + ld hl, .RegularText + jr nz, .Explanation + ld hl, .ExplanationText +.Explanation + call PrintText + jp TextScriptEnd + +.FirstTimeQuestionText + TX_FAR _SafariZoneEntranceText_753e6 + db "@" + +.ExplanationText + TX_FAR _SafariZoneEntranceText_753eb + db "@" + +.RegularText + TX_FAR _SafariZoneEntranceText_753f0 + db "@" diff --git a/scripts/SafariZoneNorth.asm b/scripts/SafariZoneNorth.asm new file mode 100755 index 00000000..734328b4 --- /dev/null +++ b/scripts/SafariZoneNorth.asm @@ -0,0 +1,31 @@ +SafariZoneNorth_Script: + jp EnableAutoTextBoxDrawing + +SafariZoneNorth_TextPointers: + dw PickUpItemText + dw PickUpItemText + dw SafariZoneNorthText3 + dw SafariZoneNorthText4 + dw SafariZoneNorthText5 + dw SafariZoneNorthText6 + dw SafariZoneNorthText7 + +SafariZoneNorthText3: + TX_FAR _SafariZoneNorthText3 + db "@" + +SafariZoneNorthText4: + TX_FAR _SafariZoneNorthText4 + db "@" + +SafariZoneNorthText5: + TX_FAR _SafariZoneNorthText5 + db "@" + +SafariZoneNorthText6: + TX_FAR _SafariZoneNorthText6 + db "@" + +SafariZoneNorthText7: + TX_FAR _SafariZoneNorthText7 + db "@" diff --git a/scripts/SafariZoneNorthRestHouse.asm b/scripts/SafariZoneNorthRestHouse.asm new file mode 100755 index 00000000..fdc438f4 --- /dev/null +++ b/scripts/SafariZoneNorthRestHouse.asm @@ -0,0 +1,20 @@ +SafariZoneNorthRestHouse_Script: + call EnableAutoTextBoxDrawing + ret + +SafariZoneNorthRestHouse_TextPointers: + dw SafariZoneRestHouse4Text1 + dw SafariZoneRestHouse4Text2 + dw SafariZoneRestHouse4Text3 + +SafariZoneRestHouse4Text1: + TX_FAR _SafariZoneRestHouse4Text1 + db "@" + +SafariZoneRestHouse4Text2: + TX_FAR _SafariZoneRestHouse4Text2 + db "@" + +SafariZoneRestHouse4Text3: + TX_FAR _SafariZoneRestHouse4Text3 + db "@" diff --git a/scripts/SafariZoneSecretHouse.asm b/scripts/SafariZoneSecretHouse.asm new file mode 100755 index 00000000..2d9b2305 --- /dev/null +++ b/scripts/SafariZoneSecretHouse.asm @@ -0,0 +1,45 @@ +SafariZoneSecretHouse_Script: + jp EnableAutoTextBoxDrawing + +SafariZoneSecretHouse_TextPointers: + dw SafariZoneSecretHouseText1 + +SafariZoneSecretHouseText1: + TX_ASM + CheckEvent EVENT_GOT_HM03 + jr nz, .asm_20a9b + ld hl, SafariZoneSecretHouseText_4a350 + call PrintText + lb bc, HM_03, 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedHM03Text + call PrintText + SetEvent EVENT_GOT_HM03 + jr .asm_8f1fc +.BagFull + ld hl, HM03NoRoomText + call PrintText + jr .asm_8f1fc +.asm_20a9b + ld hl, HM03ExplanationText + call PrintText +.asm_8f1fc + jp TextScriptEnd + +SafariZoneSecretHouseText_4a350: + TX_FAR _SecretHouseText_4a350 + db "@" + +ReceivedHM03Text: + TX_FAR _ReceivedHM03Text + TX_SFX_ITEM_1 + db "@" + +HM03ExplanationText: + TX_FAR _HM03ExplanationText + db "@" + +HM03NoRoomText: + TX_FAR _HM03NoRoomText + db "@" diff --git a/scripts/SafariZoneWest.asm b/scripts/SafariZoneWest.asm new file mode 100755 index 00000000..483a92ee --- /dev/null +++ b/scripts/SafariZoneWest.asm @@ -0,0 +1,28 @@ +SafariZoneWest_Script: + jp EnableAutoTextBoxDrawing + +SafariZoneWest_TextPointers: + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw SafariZoneWestText5 + dw SafariZoneWestText6 + dw SafariZoneWestText7 + dw SafariZoneWestText8 + +SafariZoneWestText5: + TX_FAR _SafariZoneWestText5 + db "@" + +SafariZoneWestText6: + TX_FAR _SafariZoneWestText6 + db "@" + +SafariZoneWestText7: + TX_FAR _SafariZoneWestText7 + db "@" + +SafariZoneWestText8: + TX_FAR _SafariZoneWestText8 + db "@" diff --git a/scripts/SafariZoneWestRestHouse.asm b/scripts/SafariZoneWestRestHouse.asm new file mode 100755 index 00000000..371bd56c --- /dev/null +++ b/scripts/SafariZoneWestRestHouse.asm @@ -0,0 +1,20 @@ +SafariZoneWestRestHouse_Script: + call EnableAutoTextBoxDrawing + ret + +SafariZoneWestRestHouse_TextPointers: + dw SafariZoneRestHouse2Text1 + dw SafariZoneRestHouse2Text2 + dw SafariZoneRestHouse2Text3 + +SafariZoneRestHouse2Text1: + TX_FAR _SafariZoneRestHouse2Text1 + db "@" + +SafariZoneRestHouse2Text2: + TX_FAR _SafariZoneRestHouse2Text2 + db "@" + +SafariZoneRestHouse2Text3: + TX_FAR _SafariZoneRestHouse2Text3 + db "@" diff --git a/scripts/SaffronCity.asm b/scripts/SaffronCity.asm new file mode 100755 index 00000000..02e6e2bb --- /dev/null +++ b/scripts/SaffronCity.asm @@ -0,0 +1,122 @@ +SaffronCity_Script: + jp EnableAutoTextBoxDrawing + +SaffronCity_TextPointers: + dw SaffronCityText1 + dw SaffronCityText2 + dw SaffronCityText3 + dw SaffronCityText4 + dw SaffronCityText5 + dw SaffronCityText6 + dw SaffronCityText7 + dw SaffronCityText8 + dw SaffronCityText9 + dw SaffronCityText10 + dw SaffronCityText11 + dw SaffronCityText12 + dw SaffronCityText13 + dw SaffronCityText14 + dw SaffronCityText15 + dw SaffronCityText16 + dw SaffronCityText17 + dw SaffronCityText18 + dw MartSignText + dw SaffronCityText20 + dw SaffronCityText21 + dw SaffronCityText22 + dw PokeCenterSignText + dw SaffronCityText24 + dw SaffronCityText25 + +SaffronCityText1: + TX_FAR _SaffronCityText1 + db "@" + +SaffronCityText2: + TX_FAR _SaffronCityText2 + db "@" + +SaffronCityText3: + TX_FAR _SaffronCityText3 + db "@" + +SaffronCityText4: + TX_FAR _SaffronCityText4 + db "@" + +SaffronCityText5: + TX_FAR _SaffronCityText5 + db "@" + +SaffronCityText6: + TX_FAR _SaffronCityText6 + db "@" + +SaffronCityText7: + TX_FAR _SaffronCityText7 + db "@" + +SaffronCityText8: + TX_FAR _SaffronCityText8 + db "@" + +SaffronCityText9: + TX_FAR _SaffronCityText9 + db "@" + +SaffronCityText10: + TX_FAR _SaffronCityText10 + db "@" + +SaffronCityText11: + TX_FAR _SaffronCityText11 + db "@" + +SaffronCityText12: + TX_FAR _SaffronCityText12 + TX_CRY_PIDGEOT + db "@" + +SaffronCityText13: + TX_FAR _SaffronCityText13 + db "@" + +SaffronCityText14: + TX_FAR _SaffronCityText14 + db "@" + +SaffronCityText15: + TX_FAR _SaffronCityText15 + db "@" + +SaffronCityText16: + TX_FAR _SaffronCityText16 + db "@" + +SaffronCityText17: + TX_FAR _SaffronCityText17 + db "@" + +SaffronCityText18: + TX_FAR _SaffronCityText18 + db "@" + +SaffronCityText20: + TX_FAR _SaffronCityText20 + db "@" + +SaffronCityText21: + TX_FAR _SaffronCityText21 + db "@" + +SaffronCityText22: + TX_FAR _SaffronCityText22 + db "@" + +SaffronCityText24: + TX_FAR _SaffronCityText24 + db "@" + +SaffronCityText25: + TX_FAR _SaffronCityText25 + db "@" diff --git a/scripts/SaffronGym.asm b/scripts/SaffronGym.asm new file mode 100755 index 00000000..e51763e5 --- /dev/null +++ b/scripts/SaffronGym.asm @@ -0,0 +1,358 @@ +SaffronGym_Script: + ld hl, wCurrentMapScriptFlags + bit 6, [hl] + res 6, [hl] + call nz, .extra + call EnableAutoTextBoxDrawing + ld hl, SaffronGymTrainerHeader0 + ld de, SaffronGym_ScriptPointers + ld a, [wSaffronGymCurScript] + call ExecuteCurMapScriptInTable + ld [wSaffronGymCurScript], a + ret + +.extra + ld hl, Gym6CityName + ld de, Gym6LeaderName + jp LoadGymLeaderAndCityName + +Gym6CityName: + db "SAFFRON CITY@" + +Gym6LeaderName: + db "SABRINA@" + +SaffronGymText_5d048: + xor a + ld [wJoyIgnore], a + ld [wSaffronGymCurScript], a + ld [wCurMapScript], a + ret + +SaffronGym_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw SaffronGymScript3 + +SaffronGymScript3: + ld a, [wIsInBattle] + cp $ff + jp z, SaffronGymText_5d048 + ld a, $f0 + ld [wJoyIgnore], a + +SaffronGymText_5d068: + ld a, $a + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_BEAT_SABRINA + lb bc, TM_46, 1 + call GiveItem + jr nc, .BagFull + ld a, $b + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_GOT_TM46 + jr .asm_5d091 +.BagFull + ld a, $c + ld [hSpriteIndexOrTextID], a + call DisplayTextID +.asm_5d091 + ld hl, wObtainedBadges + set 5, [hl] + ld hl, wBeatGymFlags + set 5, [hl] + + ; deactivate gym trainers + SetEventRange EVENT_BEAT_SAFFRON_GYM_TRAINER_0, EVENT_BEAT_SAFFRON_GYM_TRAINER_6 + + jp SaffronGymText_5d048 + +SaffronGym_TextPointers: + dw SaffronGymText1 + dw SaffronGymText2 + dw SaffronGymText3 + dw SaffronGymText4 + dw SaffronGymText5 + dw SaffronGymText6 + dw SaffronGymText7 + dw SaffronGymText8 + dw SaffronGymText9 + dw SaffronGymText10 + dw SaffronGymText11 + dw SaffronGymText12 + +SaffronGymTrainerHeader0: + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_0 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_0 + dw SaffronGymBattleText1 ; TextBeforeBattle + dw SaffronGymAfterBattleText1 ; TextAfterBattle + dw SaffronGymEndBattleText1 ; TextEndBattle + dw SaffronGymEndBattleText1 ; TextEndBattle + +SaffronGymTrainerHeader1: + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_1 + dw SaffronGymBattleText2 ; TextBeforeBattle + dw SaffronGymAfterBattleText2 ; TextAfterBattle + dw SaffronGymEndBattleText2 ; TextEndBattle + dw SaffronGymEndBattleText2 ; TextEndBattle + +SaffronGymTrainerHeader2: + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_2 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_2 + dw SaffronGymBattleText3 ; TextBeforeBattle + dw SaffronGymAfterBattleText3 ; TextAfterBattle + dw SaffronGymEndBattleText3 ; TextEndBattle + dw SaffronGymEndBattleText3 ; TextEndBattle + +SaffronGymTrainerHeader3: + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_3 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_3 + dw SaffronGymBattleText4 ; TextBeforeBattle + dw SaffronGymAfterBattleText4 ; TextAfterBattle + dw SaffronGymEndBattleText4 ; TextEndBattle + dw SaffronGymEndBattleText4 ; TextEndBattle + +SaffronGymTrainerHeader4: + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_4 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_4 + dw SaffronGymBattleText5 ; TextBeforeBattle + dw SaffronGymAfterBattleText5 ; TextAfterBattle + dw SaffronGymEndBattleText5 ; TextEndBattle + dw SaffronGymEndBattleText5 ; TextEndBattle + +SaffronGymTrainerHeader5: + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_5 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_5 + dw SaffronGymBattleText6 ; TextBeforeBattle + dw SaffronGymAfterBattleText6 ; TextAfterBattle + dw SaffronGymEndBattleText6 ; TextEndBattle + dw SaffronGymEndBattleText6 ; TextEndBattle + +SaffronGymTrainerHeader6: + dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1 + dw SaffronGymBattleText7 ; TextBeforeBattle + dw SaffronGymAfterBattleText7 ; TextAfterBattle + dw SaffronGymEndBattleText7 ; TextEndBattle + dw SaffronGymEndBattleText7 ; TextEndBattle + + db $ff + +SaffronGymText1: + TX_ASM + CheckEvent EVENT_BEAT_SABRINA + jr z, .asm_5d134 + CheckEventReuseA EVENT_GOT_TM46 + jr nz, .asm_5d12c + call z, SaffronGymText_5d068 + call DisableWaitingAfterTextDisplay + jr .asm_5d15f +.asm_5d12c + ld hl, SaffronGymText_5d16e + call PrintText + jr .asm_5d15f +.asm_5d134 + ld hl, SaffronGymText_5d162 + call PrintText + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, SaffronGymText_5d167 + ld de, SaffronGymText_5d167 + call SaveEndBattleTextPointers + ld a, [H_SPRITEINDEX] + ld [wSpriteIndex], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $6 + ld [wGymLeaderNo], a + ld a, $3 + ld [wSaffronGymCurScript], a +.asm_5d15f + jp TextScriptEnd + +SaffronGymText_5d162: + TX_FAR _SaffronGymText_5d162 + db "@" + +SaffronGymText_5d167: + TX_FAR _SaffronGymText_5d167 + TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded + TX_BLINK + db "@" + +SaffronGymText_5d16e: + TX_FAR _SaffronGymText_5d16e + db "@" + +SaffronGymText10: + TX_FAR _SaffronGymText_5d173 + db "@" + +SaffronGymText11: + TX_FAR ReceivedTM46Text + TX_SFX_ITEM_1 + TX_FAR _TM46ExplanationText + db "@" + +SaffronGymText12: + TX_FAR _TM46NoRoomText + db "@" + +SaffronGymText2: + TX_ASM + ld hl, SaffronGymTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText3: + TX_ASM + ld hl, SaffronGymTrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText4: + TX_ASM + ld hl, SaffronGymTrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText5: + TX_ASM + ld hl, SaffronGymTrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText6: + TX_ASM + ld hl, SaffronGymTrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText7: + TX_ASM + ld hl, SaffronGymTrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText8: + TX_ASM + ld hl, SaffronGymTrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText9: + TX_ASM + CheckEvent EVENT_BEAT_SABRINA + jr nz, .asm_5d1dd + ld hl, SaffronGymText_5d1e6 + call PrintText + jr .asm_5d1e3 +.asm_5d1dd + ld hl, SaffronGymText_5d1eb + call PrintText +.asm_5d1e3 + jp TextScriptEnd + +SaffronGymText_5d1e6: + TX_FAR _SaffronGymText_5d1e6 + db "@" + +SaffronGymText_5d1eb: + TX_FAR _SaffronGymText_5d1eb + db "@" + +SaffronGymBattleText1: + TX_FAR _SaffronGymBattleText1 + db "@" + +SaffronGymEndBattleText1: + TX_FAR _SaffronGymEndBattleText1 + db "@" + +SaffronGymAfterBattleText1: + TX_FAR _SaffronGymAfterBattleText1 + db "@" + +SaffronGymBattleText2: + TX_FAR _SaffronGymBattleText2 + db "@" + +SaffronGymEndBattleText2: + TX_FAR _SaffronGymEndBattleText2 + db "@" + +SaffronGymAfterBattleText2: + TX_FAR _SaffronGymAfterBattleText2 + db "@" + +SaffronGymBattleText3: + TX_FAR _SaffronGymBattleText3 + db "@" + +SaffronGymEndBattleText3: + TX_FAR _SaffronGymEndBattleText3 + db "@" + +SaffronGymAfterBattleText3: + TX_FAR _SaffronGymAfterBattleText3 + db "@" + +SaffronGymBattleText4: + TX_FAR _SaffronGymBattleText4 + db "@" + +SaffronGymEndBattleText4: + TX_FAR _SaffronGymEndBattleText4 + db "@" + +SaffronGymAfterBattleText4: + TX_FAR _SaffronGymAfterBattleText4 + db "@" + +SaffronGymBattleText5: + TX_FAR _SaffronGymBattleText5 + db "@" + +SaffronGymEndBattleText5: + TX_FAR _SaffronGymEndBattleText5 + db "@" + +SaffronGymAfterBattleText5: + TX_FAR _SaffronGymAfterBattleText5 + db "@" + +SaffronGymBattleText6: + TX_FAR _SaffronGymBattleText6 + db "@" + +SaffronGymEndBattleText6: + TX_FAR _SaffronGymEndBattleText6 + db "@" + +SaffronGymAfterBattleText6: + TX_FAR _SaffronGymAfterBattleText6 + db "@" + +SaffronGymBattleText7: + TX_FAR _SaffronGymBattleText7 + db "@" + +SaffronGymEndBattleText7: + TX_FAR _SaffronGymEndBattleText7 + db "@" + +SaffronGymAfterBattleText7: + TX_FAR _SaffronGymAfterBattleText7 + db "@" diff --git a/scripts/SaffronMart.asm b/scripts/SaffronMart.asm new file mode 100755 index 00000000..ebb3cddf --- /dev/null +++ b/scripts/SaffronMart.asm @@ -0,0 +1,15 @@ +SaffronMart_Script: + jp EnableAutoTextBoxDrawing + +SaffronMart_TextPointers: + dw SaffronCashierText + dw SaffronMartText2 + dw SaffronMartText3 + +SaffronMartText2: + TX_FAR _SaffronMartText2 + db "@" + +SaffronMartText3: + TX_FAR _SaffronMartText3 + db "@" diff --git a/scripts/SaffronPidgeyHouse.asm b/scripts/SaffronPidgeyHouse.asm new file mode 100755 index 00000000..f38fbfdb --- /dev/null +++ b/scripts/SaffronPidgeyHouse.asm @@ -0,0 +1,27 @@ +SaffronPidgeyHouse_Script: + jp EnableAutoTextBoxDrawing + +SaffronPidgeyHouse_TextPointers: + dw SaffronHouse1Text1 + dw SaffronHouse1Text2 + dw SaffronHouse1Text3 + dw SaffronHouse1Text4 + +SaffronHouse1Text1: + TX_FAR _SaffronHouse1Text1 + db "@" + +SaffronHouse1Text2: + TX_FAR _SaffronHouse1Text2 + TX_ASM + ld a, PIDGEY + call PlayCry + jp TextScriptEnd + +SaffronHouse1Text3: + TX_FAR _SaffronHouse1Text3 + db "@" + +SaffronHouse1Text4: + TX_FAR _SaffronHouse1Text4 + db "@" diff --git a/scripts/SaffronPokecenter.asm b/scripts/SaffronPokecenter.asm new file mode 100755 index 00000000..a1d73628 --- /dev/null +++ b/scripts/SaffronPokecenter.asm @@ -0,0 +1,23 @@ +SaffronPokecenter_Script: + call Serial_TryEstablishingExternallyClockedConnection + jp EnableAutoTextBoxDrawing + +SaffronPokecenter_TextPointers: + dw SaffronHealNurseText + dw SaffronPokecenterText2 + dw SaffronPokecenterText3 + dw SaffronTradeNurseText + +SaffronHealNurseText: + TX_POKECENTER_NURSE + +SaffronPokecenterText2: + TX_FAR _SaffronPokecenterText2 + db "@" + +SaffronPokecenterText3: + TX_FAR _SaffronPokecenterText3 + db "@" + +SaffronTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/SeafoamIslands1F.asm b/scripts/SeafoamIslands1F.asm new file mode 100755 index 00000000..dc3b8599 --- /dev/null +++ b/scripts/SeafoamIslands1F.asm @@ -0,0 +1,47 @@ +SeafoamIslands1F_Script: + call EnableAutoTextBoxDrawing + SetEvent EVENT_IN_SEAFOAM_ISLANDS + ld hl, wFlags_0xcd60 + bit 7, [hl] + res 7, [hl] + jr z, .asm_4483b + ld hl, Seafoam1HolesCoords + call CheckBoulderCoords + ret nc + EventFlagAddress hl, EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE + ld a, [wCoordIndex] + cp $1 + jr nz, .asm_44819 + SetEventReuseHL EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE + ld a, HS_SEAFOAM_ISLANDS_1F_BOULDER_1 + ld [wObjectToHide], a + ld a, HS_SEAFOAM_ISLANDS_B1F_BOULDER_1 + ld [wObjectToShow], a + jr .asm_44825 +.asm_44819 + SetEventAfterBranchReuseHL EVENT_SEAFOAM1_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE + ld a, HS_SEAFOAM_ISLANDS_1F_BOULDER_2 + ld [wObjectToHide], a + ld a, HS_SEAFOAM_ISLANDS_B1F_BOULDER_2 + ld [wObjectToShow], a +.asm_44825 + ld a, [wObjectToHide] + ld [wMissableObjectIndex], a + predef HideObject + ld a, [wObjectToShow] + ld [wMissableObjectIndex], a + predef_jump ShowObject +.asm_4483b + ld a, $9f + ld [wDungeonWarpDestinationMap], a + ld hl, Seafoam1HolesCoords + jp IsPlayerOnDungeonWarp + +Seafoam1HolesCoords: + db $06,$11 + db $06,$18 + db $ff + +SeafoamIslands1F_TextPointers: + dw BoulderText + dw BoulderText diff --git a/scripts/SeafoamIslandsB1F.asm b/scripts/SeafoamIslandsB1F.asm new file mode 100755 index 00000000..876c0837 --- /dev/null +++ b/scripts/SeafoamIslandsB1F.asm @@ -0,0 +1,46 @@ +SeafoamIslandsB1F_Script: + call EnableAutoTextBoxDrawing + ld hl, wFlags_0xcd60 + bit 7, [hl] + res 7, [hl] + jr z, .asm_46362 + ld hl, Seafoam2HolesCoords + call CheckBoulderCoords + ret nc + EventFlagAddress hl, EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE + ld a, [wCoordIndex] + cp $1 + jr nz, .asm_46340 + SetEventReuseHL EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE + ld a, HS_SEAFOAM_ISLANDS_B1F_BOULDER_1 + ld [wObjectToHide], a + ld a, HS_SEAFOAM_ISLANDS_B2F_BOULDER_1 + ld [wObjectToShow], a + jr .asm_4634c +.asm_46340 + SetEventAfterBranchReuseHL EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE + ld a, HS_SEAFOAM_ISLANDS_B1F_BOULDER_2 + ld [wObjectToHide], a + ld a, HS_SEAFOAM_ISLANDS_B2F_BOULDER_2 + ld [wObjectToShow], a +.asm_4634c + ld a, [wObjectToHide] + ld [wMissableObjectIndex], a + predef HideObject + ld a, [wObjectToShow] + ld [wMissableObjectIndex], a + predef_jump ShowObject +.asm_46362 + ld a, $a0 + ld [wDungeonWarpDestinationMap], a + ld hl, Seafoam2HolesCoords + jp IsPlayerOnDungeonWarp + +Seafoam2HolesCoords: + db $06,$12 + db $06,$17 + db $ff + +SeafoamIslandsB1F_TextPointers: + dw BoulderText + dw BoulderText diff --git a/scripts/SeafoamIslandsB2F.asm b/scripts/SeafoamIslandsB2F.asm new file mode 100755 index 00000000..c0141a3e --- /dev/null +++ b/scripts/SeafoamIslandsB2F.asm @@ -0,0 +1,46 @@ +SeafoamIslandsB2F_Script: + call EnableAutoTextBoxDrawing + ld hl, wFlags_0xcd60 + bit 7, [hl] + res 7, [hl] + jr z, .asm_4649e + ld hl, Seafoam3HolesCoords + call CheckBoulderCoords + ret nc + EventFlagAddress hl, EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE + ld a, [wCoordIndex] + cp $1 + jr nz, .asm_4647c + SetEventReuseHL EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE + ld a, HS_SEAFOAM_ISLANDS_B2F_BOULDER_1 + ld [wObjectToHide], a + ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_3 + ld [wObjectToShow], a + jr .asm_46488 +.asm_4647c + SetEventAfterBranchReuseHL EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE + ld a, HS_SEAFOAM_ISLANDS_B2F_BOULDER_2 + ld [wObjectToHide], a + ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_4 + ld [wObjectToShow], a +.asm_46488 + ld a, [wObjectToHide] + ld [wMissableObjectIndex], a + predef HideObject + ld a, [wObjectToShow] + ld [wMissableObjectIndex], a + predef_jump ShowObject +.asm_4649e + ld a, $a1 + ld [wDungeonWarpDestinationMap], a + ld hl, Seafoam3HolesCoords + jp IsPlayerOnDungeonWarp + +Seafoam3HolesCoords: + db $06,$13 + db $06,$16 + db $ff + +SeafoamIslandsB2F_TextPointers: + dw BoulderText + dw BoulderText diff --git a/scripts/SeafoamIslandsB3F.asm b/scripts/SeafoamIslandsB3F.asm new file mode 100755 index 00000000..7343b17d --- /dev/null +++ b/scripts/SeafoamIslandsB3F.asm @@ -0,0 +1,149 @@ +SeafoamIslandsB3F_Script: + call EnableAutoTextBoxDrawing + ld hl, wFlags_0xcd60 + bit 7, [hl] + res 7, [hl] + jr z, .asm_465dc + ld hl, Seafoam4HolesCoords + call CheckBoulderCoords + ret nc + EventFlagAddress hl, EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE + ld a, [wCoordIndex] + cp $1 + jr nz, .asm_465b8 + SetEventReuseHL EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE + ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_1 + ld [wObjectToHide], a + ld a, HS_SEAFOAM_ISLANDS_B4F_BOULDER_1 + ld [wObjectToShow], a + jr .asm_465c4 +.asm_465b8 + SetEventAfterBranchReuseHL EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE + ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_2 + ld [wObjectToHide], a + ld a, HS_SEAFOAM_ISLANDS_B4F_BOULDER_2 + ld [wObjectToShow], a +.asm_465c4 + ld a, [wObjectToHide] + ld [wMissableObjectIndex], a + predef HideObject + ld a, [wObjectToShow] + ld [wMissableObjectIndex], a + predef ShowObject + jr .asm_465ed +.asm_465dc + ld a, $a2 + ld [wDungeonWarpDestinationMap], a + ld hl, Seafoam4HolesCoords + call IsPlayerOnDungeonWarp + ld a, [wd732] + bit 4, a + ret nz +.asm_465ed + ld hl, SeafoamIslandsB3F_ScriptPointers + ld a, [wSeafoamIslandsB3FCurScript] + jp CallFunctionInTable + +Seafoam4HolesCoords: + db $10,$03 + db $10,$06 + db $ff + +SeafoamIslandsB3F_ScriptPointers: + dw SeafoamIslands4Script0 + dw SeafoamIslands4Script1 + dw SeafoamIslands4Script2 + dw SeafoamIslands4Script3 + +SeafoamIslands4Script0: + CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE + ret z + ld a, [wYCoord] + cp $8 + ret nz + ld a, [wXCoord] + cp $f + ret nz + ld hl, wSimulatedJoypadStatesEnd + ld de, RLEMovement46632 + call DecodeRLEList + dec a + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld hl, wFlags_D733 + set 2, [hl] + ld a, $1 + ld [wSeafoamIslandsB3FCurScript], a + ret + +RLEMovement46632: + db D_DOWN,6 + db D_RIGHT,5 + db D_DOWN,3 + db $ff + +SeafoamIslands4Script1: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + ld a, $0 + ld [wSeafoamIslandsB3FCurScript], a + ret + +SeafoamIslands4Script2: + CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE + ret z + ld a, [wXCoord] + cp $12 + jr z, .asm_4665e + cp $13 + ld a, $0 + jr nz, .asm_4667b + ld de, RLEData_4667f + jr .asm_46661 +.asm_4665e + ld de, RLEData_46688 +.asm_46661 + ld hl, wSimulatedJoypadStatesEnd + call DecodeRLEList + dec a + ld [wSimulatedJoypadStatesIndex], a + xor a + ld [wSpriteStateData2 + $06], a + ld hl, wd730 + set 7, [hl] + ld hl, wFlags_D733 + set 2, [hl] + ld a, $3 +.asm_4667b + ld [wSeafoamIslandsB3FCurScript], a + ret + +RLEData_4667f: + db D_DOWN,$06 + db D_RIGHT,$02 + db D_DOWN,$04 + db D_LEFT,$01 + db $FF + +RLEData_46688: + db D_DOWN,$06 + db D_RIGHT,$02 + db D_DOWN,$04 + db $FF + +SeafoamIslands4Script3: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + ld a, $0 + ld [wSeafoamIslandsB3FCurScript], a + ret + +SeafoamIslandsB3F_TextPointers: + dw BoulderText + dw BoulderText + dw BoulderText + dw BoulderText + dw BoulderText + dw BoulderText diff --git a/scripts/SeafoamIslandsB4F.asm b/scripts/SeafoamIslandsB4F.asm new file mode 100755 index 00000000..d08628d0 --- /dev/null +++ b/scripts/SeafoamIslandsB4F.asm @@ -0,0 +1,173 @@ +SeafoamIslandsB4F_Script: + call EnableAutoTextBoxDrawing + ld a, [wSeafoamIslandsB4FCurScript] + ld hl, SeafoamIslandsB4F_ScriptPointers + jp CallFunctionInTable + +SeafoamIslands5Script_467a5: + xor a + ld [wSeafoamIslandsB4FCurScript], a + ld [wJoyIgnore], a + ret + +SeafoamIslandsB4F_ScriptPointers: + dw SeafoamIslands5Script0 + dw SeafoamIslands5Script1 + dw SeafoamIslands5Script2 + dw SeafoamIslands5Script3 + dw SeafoamIslands5Script4 + +SeafoamIslands5Script4: + ld a, [wIsInBattle] + cp $ff + jr z, SeafoamIslands5Script_467a5 + call EndTrainerBattle + ld a, $0 + ld [wSeafoamIslandsB4FCurScript], a + ret + +SeafoamIslands5Script0: + CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE + ret z + ld hl, .Coords + call ArePlayerCoordsInArray + ret nc + ld a, [wCoordIndex] + cp $3 + jr nc, .asm_467e6 + ld a, NPC_MOVEMENT_UP + ld [wSimulatedJoypadStatesEnd + 1], a + ld a, 2 + jr .asm_467e8 +.asm_467e6 + ld a, 1 +.asm_467e8 + ld [wSimulatedJoypadStatesIndex], a + ld a, D_UP + ld [wSimulatedJoypadStatesEnd], a + call StartSimulatingJoypadStates + ld hl, wFlags_D733 + res 2, [hl] + ld a, $1 + ld [wSeafoamIslandsB4FCurScript], a + ret + +.Coords + db $11,$14 + db $11,$15 + db $10,$14 + db $10,$15 + db $FF + +SeafoamIslands5Script1: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + xor a + ld [wJoyIgnore], a + ld a, $0 + ld [wSeafoamIslandsB4FCurScript], a + ret + +SeafoamIslands5Script2: + CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE + ld a, $0 + jr z, .asm_46849 + ld hl, .Coords + call ArePlayerCoordsInArray + ld a, $0 + jr nc, .asm_46849 + ld a, [wCoordIndex] + cp $1 + jr nz, .asm_46837 + ld de, RLEMovementData_46859 + jr .asm_4683a +.asm_46837 + ld de, RLEMovementData_46852 +.asm_4683a + ld hl, wSimulatedJoypadStatesEnd + call DecodeRLEList + dec a + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld a, $3 +.asm_46849 + ld [wSeafoamIslandsB4FCurScript], a + ret + +.Coords + db $0E,$04 + db $0E,$05 + db $FF + +RLEMovementData_46852: + db D_UP,$03 + db D_RIGHT,$02 + db D_UP,$01 + db $FF + +RLEMovementData_46859: + db D_UP,$03 + db D_RIGHT,$03 + db D_UP,$01 + db $FF + +SeafoamIslands5Script3: + ld a, [wSimulatedJoypadStatesIndex] + ld b, a + cp $1 + call z, SeaFoamIslands5Script_46872 + ld a, b + and a + ret nz + ld a, $0 + ld [wSeafoamIslandsB4FCurScript], a + ret + +SeaFoamIslands5Script_46872: + xor a + ld [wWalkBikeSurfState], a + ld [wWalkBikeSurfStateCopy], a + jp ForceBikeOrSurf + +SeafoamIslandsB4F_TextPointers: + dw BoulderText + dw BoulderText + dw ArticunoText + dw SeafoamIslands5Text4 + dw SeafoamIslands5Text5 + +ArticunoTrainerHeader: + dbEventFlagBit EVENT_BEAT_ARTICUNO + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_ARTICUNO + dw ArticunoBattleText ; TextBeforeBattle + dw ArticunoBattleText ; TextAfterBattle + dw ArticunoBattleText ; TextEndBattle + dw ArticunoBattleText ; TextEndBattle + + db $ff + +ArticunoText: + TX_ASM + ld hl, ArticunoTrainerHeader + call TalkToTrainer + ld a, $4 + ld [wSeafoamIslandsB4FCurScript], a + jp TextScriptEnd + +ArticunoBattleText: + TX_FAR _ArticunoBattleText + TX_ASM + ld a, ARTICUNO + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + +SeafoamIslands5Text4: + TX_FAR _SeafoamIslands5Text4 + db "@" + +SeafoamIslands5Text5: + TX_FAR _SeafoamIslands5Text5 + db "@" diff --git a/scripts/SilphCo10F.asm b/scripts/SilphCo10F.asm new file mode 100755 index 00000000..40506682 --- /dev/null +++ b/scripts/SilphCo10F.asm @@ -0,0 +1,122 @@ +SilphCo10F_Script: + call SilphCo10Script_5a14f + call EnableAutoTextBoxDrawing + ld hl, SilphCo10TrainerHeader0 + ld de, SilphCo10F_ScriptPointers + ld a, [wSilphCo10FCurScript] + call ExecuteCurMapScriptInTable + ld [wSilphCo10FCurScript], a + ret + +SilphCo10Script_5a14f: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + ld hl, SilphCo10GateCoords + call SilphCo2Script_59d43 + call SilphCo10Text_5a176 + CheckEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR + ret nz + ld a, $54 + ld [wNewTileBlockID], a + lb bc, 4, 5 + predef_jump ReplaceTileBlock + +SilphCo10GateCoords: + db $04,$05 + db $FF + +SilphCo10Text_5a176: + ld a, [$ffe0] + and a + ret z + SetEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR + ret + +SilphCo10F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +SilphCo10F_TextPointers: + dw SilphCo10Text1 + dw SilphCo10Text2 + dw SilphCo10Text3 + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + +SilphCo10TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_10F_TRAINER_0 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_10F_TRAINER_0 + dw SilphCo10BattleText1 ; TextBeforeBattle + dw SilphCo10AfterBattleText1 ; TextAfterBattle + dw SilphCo10EndBattleText1 ; TextEndBattle + dw SilphCo10EndBattleText1 ; TextEndBattle + +SilphCo10TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_10F_TRAINER_1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_10F_TRAINER_1 + dw SilphCo10BattleText2 ; TextBeforeBattle + dw SilphCo10AfterBattleText2 ; TextAfterBattle + dw SilphCo10EndBattleText2 ; TextEndBattle + dw SilphCo10EndBattleText2 ; TextEndBattle + + db $ff + +SilphCo10Text1: + TX_ASM + ld hl, SilphCo10TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo10Text2: + TX_ASM + ld hl, SilphCo10TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo10Text3: + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + ld hl, SilphCo10Text_5a1d8 + jr nz, .asm_cf85f + ld hl, SilphCo10Text_5a1d3 +.asm_cf85f + call PrintText + jp TextScriptEnd + +SilphCo10Text_5a1d3: + TX_FAR _SilphCo10Text_5a1d3 + db "@" + +SilphCo10Text_5a1d8: + TX_FAR _SilphCo10Text_5a1d8 + db "@" + +SilphCo10BattleText1: + TX_FAR _SilphCo10BattleText1 + db "@" + +SilphCo10EndBattleText1: + TX_FAR _SilphCo10EndBattleText1 + db "@" + +SilphCo10AfterBattleText1: + TX_FAR _SilphCo10AfterBattleText1 + db "@" + +SilphCo10BattleText2: + TX_FAR _SilphCo10BattleText2 + db "@" + +SilphCo10EndBattleText2: + TX_FAR _SilphCo10EndBattleText2 + db "@" + +SilphCo10AfterBattleText2: + TX_FAR _SilphCo10AfterBattleText2 + db "@" diff --git a/scripts/SilphCo11F.asm b/scripts/SilphCo11F.asm new file mode 100755 index 00000000..483082a1 --- /dev/null +++ b/scripts/SilphCo11F.asm @@ -0,0 +1,405 @@ +SilphCo11F_Script: + call SilphCo11Script_62110 + call EnableAutoTextBoxDrawing + ld hl, SilphCo11TrainerHeader0 + ld de, SilphCo11F_ScriptPointers + ld a, [wSilphCo11FCurScript] + call ExecuteCurMapScriptInTable + ld [wSilphCo11FCurScript], a + ret + +SilphCo11Script_62110: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + ld hl, SilphCo11GateCoords + call SilphCo11Script_62137 + call SilphCo11Script_62163 + CheckEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR + ret nz + ld a, $20 + ld [wNewTileBlockID], a + lb bc, 6, 3 + predef_jump ReplaceTileBlock + +SilphCo11GateCoords: + db $06,$03 + db $FF + +SilphCo11Script_62137: + push hl + ld hl, wCardKeyDoorY + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + xor a + ld [$ffe0], a + pop hl +.asm_62143 + ld a, [hli] + cp $ff + jr z, .asm_6215f + push hl + ld hl, $ffe0 + inc [hl] + pop hl + cp b + jr z, .asm_62154 + inc hl + jr .asm_62143 +.asm_62154 + ld a, [hli] + cp c + jr nz, .asm_62143 + ld hl, wCardKeyDoorY + xor a + ld [hli], a + ld [hl], a + ret +.asm_6215f + xor a + ld [$ffe0], a + ret + +SilphCo11Script_62163: + ld a, [$ffe0] + and a + ret z + SetEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR + ret + +SilphCo11Script_6216d: + ld hl, MissableObjectIDs_6219b +.asm_62170 + ld a, [hli] + cp $ff + jr z, .asm_62181 + push hl + ld [wMissableObjectIndex], a + predef HideObject + pop hl + jr .asm_62170 +.asm_62181 + ld hl, MissableObjectIDs_62194 +.asm_62184 + ld a, [hli] + cp $ff + ret z + push hl + ld [wMissableObjectIndex], a + predef ShowObject + pop hl + jr .asm_62184 + +MissableObjectIDs_62194: + db HS_SAFFRON_CITY_8 + db HS_SAFFRON_CITY_9 + db HS_SAFFRON_CITY_A + db HS_SAFFRON_CITY_B + db HS_SAFFRON_CITY_C + db HS_SAFFRON_CITY_D + db $FF + +MissableObjectIDs_6219b: + db HS_SAFFRON_CITY_1 + db HS_SAFFRON_CITY_2 + db HS_SAFFRON_CITY_3 + db HS_SAFFRON_CITY_4 + db HS_SAFFRON_CITY_5 + db HS_SAFFRON_CITY_6 + db HS_SAFFRON_CITY_7 + db HS_SAFFRON_CITY_E + db HS_SAFFRON_CITY_F + db HS_SILPH_CO_2F_2 + db HS_SILPH_CO_2F_3 + db HS_SILPH_CO_2F_4 + db HS_SILPH_CO_2F_5 + db HS_SILPH_CO_3F_1 + db HS_SILPH_CO_3F_2 + db HS_SILPH_CO_4F_1 + db HS_SILPH_CO_4F_2 + db HS_SILPH_CO_4F_3 + db HS_SILPH_CO_5F_1 + db HS_SILPH_CO_5F_2 + db HS_SILPH_CO_5F_3 + db HS_SILPH_CO_5F_4 + db HS_SILPH_CO_6F_1 + db HS_SILPH_CO_6F_2 + db HS_SILPH_CO_6F_3 + db HS_SILPH_CO_7F_1 + db HS_SILPH_CO_7F_2 + db HS_SILPH_CO_7F_3 + db HS_SILPH_CO_7F_4 + db HS_SILPH_CO_8F_1 + db HS_SILPH_CO_8F_2 + db HS_SILPH_CO_8F_3 + db HS_SILPH_CO_9F_1 + db HS_SILPH_CO_9F_2 + db HS_SILPH_CO_9F_3 + db HS_SILPH_CO_10F_1 + db HS_SILPH_CO_10F_2 + db HS_SILPH_CO_11F_1 + db HS_SILPH_CO_11F_2 + db HS_SILPH_CO_11F_3 + db $FF + +SilphCo11Script_621c4: + xor a + ld [wJoyIgnore], a + +SilphCo11Script_621c8: + ld [wSilphCo11FCurScript], a + ld [wCurMapScript], a + ret + +SilphCo11F_ScriptPointers: + dw SilphCo11Script0 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw SilphCo11Script3 + dw SilphCo11Script4 + dw SilphCo11Script5 + +SilphCo11Script0: + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + ret nz + ld hl, CoordsData_62211 + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + ld a, [wCoordIndex] + ld [wcf0d], a + xor a + ld [hJoyHeld], a + ld a, $f0 + ld [wJoyIgnore], a + ld a, $3 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $3 + ld [H_SPRITEINDEX], a + call SetSpriteMovementBytesToFF + ld de, MovementData_62216 + call MoveSprite + ld a, $3 + jp SilphCo11Script_621c8 + +CoordsData_62211: + db $0D,$06 + db $0C,$07 + db $FF + +MovementData_62216: + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db NPC_MOVEMENT_DOWN + db $FF + +SilphCo11Script_6221a: + ld [wPlayerMovingDirection], a + ld a, $3 + ld [H_SPRITEINDEX], a + ld a, b + ld [hSpriteFacingDirection], a + jp SetSpriteFacingDirectionAndDelay + +SilphCo11Script5: + ld a, [wIsInBattle] + cp $ff + jp z, SilphCo11Script_621c4 + ld a, [wcf0d] + cp $1 + jr z, .asm_6223c + ld a, PLAYER_DIR_LEFT + ld b, SPRITE_FACING_RIGHT + jr .asm_62240 +.asm_6223c + ld a, PLAYER_DIR_UP + ld b, SPRITE_FACING_DOWN +.asm_62240 + call SilphCo11Script_6221a + ld a, $f0 + ld [wJoyIgnore], a + ld a, $6 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call GBFadeOutToBlack + call SilphCo11Script_6216d + call UpdateSprites + call Delay3 + call GBFadeInFromBlack + SetEvent EVENT_BEAT_SILPH_CO_GIOVANNI + xor a + ld [wJoyIgnore], a + jp SilphCo11Script_621c8 + +SilphCo11Script3: + ld a, [wd730] + bit 0, a + ret nz + ld a, $3 + ld [H_SPRITEINDEX], a + call SetSpriteMovementBytesToFF + ld a, [wcf0d] + cp $1 + jr z, .asm_62284 + ld a, PLAYER_DIR_LEFT + ld b, SPRITE_FACING_RIGHT + jr .asm_62288 +.asm_62284 + ld a, PLAYER_DIR_UP + ld b, SPRITE_FACING_DOWN +.asm_62288 + call SilphCo11Script_6221a + call Delay3 + ld a, $4 + jp SilphCo11Script_621c8 + +SilphCo11Script4: + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, SilphCo10Text_62330 + ld de, SilphCo10Text_62330 + call SaveEndBattleTextPointers + ld a, [H_SPRITEINDEX] + ld [wSpriteIndex], a + call EngageMapTrainer + call InitBattleEnemyParameters + xor a + ld [wJoyIgnore], a + ld a, $5 + jp SilphCo11Script_621c8 + +SilphCo11F_TextPointers: + dw SilphCo11Text1 + dw SilphCo11Text2 + dw SilphCo11Text3 + dw SilphCo11Text4 + dw SilphCo11Text5 + dw SilphCo11Text6 + +SilphCo11TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_0 + dw SilphCo11BattleText1 ; TextBeforeBattle + dw SilphCo11AfterBattleText1 ; TextAfterBattle + dw SilphCo11EndBattleText1 ; TextEndBattle + dw SilphCo11EndBattleText1 ; TextEndBattle + +SilphCo11TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_1 + dw SilphCo11BattleText2 ; TextBeforeBattle + dw SilphCo11AfterBattleText2 ; TextAfterBattle + dw SilphCo11EndBattleText2 ; TextEndBattle + dw SilphCo11EndBattleText2 ; TextEndBattle + + db $ff + +SilphCo11Text1: + TX_ASM + CheckEvent EVENT_GOT_MASTER_BALL + jp nz, .asm_62308 + ld hl, SilphCoPresidentText + call PrintText + lb bc, MASTER_BALL, 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedSilphCoMasterBallText + call PrintText + SetEvent EVENT_GOT_MASTER_BALL + jr .asm_6230e +.BagFull + ld hl, SilphCoMasterBallNoRoomText + call PrintText + jr .asm_6230e +.asm_62308 + ld hl, SilphCo10Text_6231c + call PrintText +.asm_6230e + jp TextScriptEnd + +SilphCoPresidentText: + TX_FAR _SilphCoPresidentText + db "@" + +ReceivedSilphCoMasterBallText: + TX_FAR _ReceivedSilphCoMasterBallText + TX_SFX_KEY_ITEM + db "@" + +SilphCo10Text_6231c: + TX_FAR _SilphCo10Text_6231c + db "@" + +SilphCoMasterBallNoRoomText: + TX_FAR _SilphCoMasterBallNoRoomText + db "@" + +SilphCo11Text2: + TX_FAR _SilphCo11Text2 + db "@" + +SilphCo11Text3: + TX_FAR _SilphCo11Text3 + db "@" + +SilphCo10Text_62330: + TX_FAR _SilphCo10Text_62330 + db "@" + +SilphCo11Text6: + TX_FAR _SilphCo10Text_62335 + db "@" + +SilphCo11Text4: + TX_ASM + ld hl, SilphCo11TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo11BattleText1: + TX_FAR _SilphCo11BattleText1 + db "@" + +SilphCo11EndBattleText1: + TX_FAR _SilphCo11EndBattleText1 + db "@" + +SilphCo11AfterBattleText1: + TX_FAR _SilphCo11AfterBattleText1 + db "@" + +SilphCo11Text5: + TX_ASM + ld hl, SilphCo11TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo11BattleText2: + TX_FAR _SilphCo11BattleText2 + db "@" + +SilphCo11EndBattleText2: + TX_FAR _SilphCo11EndBattleText2 + db "@" + +SilphCo11AfterBattleText2: + TX_FAR _SilphCo11AfterBattleText2 + db "@" + +SilphCo10Text_6236c: + TX_ASM + ld hl, SilphCo10Text_6237b + call PrintText + ld a, PORYGON + call DisplayPokedex + jp TextScriptEnd + +SilphCo10Text_6237b: + TX_FAR _SilphCo10Text_6237b + db "@" diff --git a/scripts/SilphCo1F.asm b/scripts/SilphCo1F.asm new file mode 100755 index 00000000..6ccaa29c --- /dev/null +++ b/scripts/SilphCo1F.asm @@ -0,0 +1,16 @@ +SilphCo1F_Script: + call EnableAutoTextBoxDrawing + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + ret z + CheckAndSetEvent EVENT_SILPH_CO_RECEPTIONIST_AT_DESK + ret nz + ld a, HS_SILPH_CO_1F_RECEPTIONIST + ld [wMissableObjectIndex], a + predef_jump ShowObject + +SilphCo1F_TextPointers: + dw SilphCo1Text1 + +SilphCo1Text1: + TX_FAR _SilphCo1Text1 + db "@" diff --git a/scripts/SilphCo2F.asm b/scripts/SilphCo2F.asm new file mode 100755 index 00000000..5fd542cb --- /dev/null +++ b/scripts/SilphCo2F.asm @@ -0,0 +1,245 @@ +SilphCo2F_Script: + call SilphCo2Script_59d07 + call EnableAutoTextBoxDrawing + ld hl, SilphCo2TrainerHeader0 + ld de, SilphCo2F_ScriptPointers + ld a, [wSilphCo2FCurScript] + call ExecuteCurMapScriptInTable + ld [wSilphCo2FCurScript], a + ret + +SilphCo2Script_59d07: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + ld hl, SilphCo2GateCoords + call SilphCo2Script_59d43 + call SilphCo2Script_59d6f + CheckEvent EVENT_SILPH_CO_2_UNLOCKED_DOOR1 + jr nz, .asm_59d2e + push af + ld a, $54 + ld [wNewTileBlockID], a + lb bc, 2, 2 + predef ReplaceTileBlock + pop af +.asm_59d2e + CheckEventAfterBranchReuseA EVENT_SILPH_CO_2_UNLOCKED_DOOR2, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 + ret nz + ld a, $54 + ld [wNewTileBlockID], a + lb bc, 5, 2 + predef_jump ReplaceTileBlock + +SilphCo2GateCoords: + db $02,$02 + db $05,$02 + db $FF + +SilphCo2Script_59d43: + push hl + ld hl, wCardKeyDoorY + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + xor a + ld [$ffe0], a + pop hl +.asm_59d4f + ld a, [hli] + cp $ff + jr z, .asm_59d6b + push hl + ld hl, $ffe0 + inc [hl] + pop hl + cp b + jr z, .asm_59d60 + inc hl + jr .asm_59d4f +.asm_59d60 + ld a, [hli] + cp c + jr nz, .asm_59d4f + ld hl, wCardKeyDoorY + xor a + ld [hli], a + ld [hl], a + ret +.asm_59d6b + xor a + ld [$ffe0], a + ret + +SilphCo2Script_59d6f: + EventFlagAddress hl, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 + ld a, [$ffe0] + and a + ret z + cp $1 + jr nz, .next + SetEventReuseHL EVENT_SILPH_CO_2_UNLOCKED_DOOR1 + ret +.next + SetEventAfterBranchReuseHL EVENT_SILPH_CO_2_UNLOCKED_DOOR2, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 + ret + +SilphCo2F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +SilphCo2F_TextPointers: + dw SilphCo2Text1 + dw SilphCo2Text2 + dw SilphCo2Text3 + dw SilphCo2Text4 + dw SilphCo2Text5 + +SilphCo2TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_0 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_0 + dw SilphCo2BattleText1 ; TextBeforeBattle + dw SilphCo2AfterBattleText1 ; TextAfterBattle + dw SilphCo2EndBattleText1 ; TextEndBattle + dw SilphCo2EndBattleText1 ; TextEndBattle + +SilphCo2TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_1 + dw SilphCo2BattleText2 ; TextBeforeBattle + dw SilphCo2AfterBattleText2 ; TextAfterBattle + dw SilphCo2EndBattleText2 ; TextEndBattle + dw SilphCo2EndBattleText2 ; TextEndBattle + +SilphCo2TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_2 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_2 + dw SilphCo2BattleText3 ; TextBeforeBattle + dw SilphCo2AfterBattleText3 ; TextAfterBattle + dw SilphCo2EndBattleText3 ; TextEndBattle + dw SilphCo2EndBattleText3 ; TextEndBattle + +SilphCo2TrainerHeader3: + dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_3 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_3 + dw SilphCo2BattleText4 ; TextBeforeBattle + dw SilphCo2AfterBattleText4 ; TextAfterBattle + dw SilphCo2EndBattleText4 ; TextEndBattle + dw SilphCo2EndBattleText4 ; TextEndBattle + + db $ff + +SilphCo2Text1: + TX_ASM + CheckEvent EVENT_GOT_TM36 + jr nz, .asm_59de4 + ld hl, SilphCo2Text_59ded + call PrintText + lb bc, TM_36, 1 + call GiveItem + ld hl, TM36NoRoomText + jr nc, .asm_59de7 + SetEvent EVENT_GOT_TM36 + ld hl, ReceivedTM36Text + jr .asm_59de7 +.asm_59de4 + ld hl, TM36ExplanationText +.asm_59de7 + call PrintText + jp TextScriptEnd + +SilphCo2Text_59ded: + TX_FAR _SilphCo2Text_59ded + db "@" + +ReceivedTM36Text: + TX_FAR _ReceivedTM36Text + TX_SFX_ITEM_1 + db "@" + +TM36ExplanationText: + TX_FAR _TM36ExplanationText + db "@" + +TM36NoRoomText: + TX_FAR _TM36NoRoomText + db "@" + +SilphCo2Text2: + TX_ASM + ld hl, SilphCo2TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo2Text3: + TX_ASM + ld hl, SilphCo2TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo2Text4: + TX_ASM + ld hl, SilphCo2TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SilphCo2Text5: + TX_ASM + ld hl, SilphCo2TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SilphCo2BattleText1: + TX_FAR _SilphCo2BattleText1 + db "@" + +SilphCo2EndBattleText1: + TX_FAR _SilphCo2EndBattleText1 + db "@" + +SilphCo2AfterBattleText1: + TX_FAR _SilphCo2AfterBattleText1 + db "@" + +SilphCo2BattleText2: + TX_FAR _SilphCo2BattleText2 + db "@" + +SilphCo2EndBattleText2: + TX_FAR _SilphCo2EndBattleText2 + db "@" + +SilphCo2AfterBattleText2: + TX_FAR _SilphCo2AfterBattleText2 + db "@" + +SilphCo2BattleText3: + TX_FAR _SilphCo2BattleText3 + db "@" + +SilphCo2EndBattleText3: + TX_FAR _SilphCo2EndBattleText3 + db "@" + +SilphCo2AfterBattleText3: + TX_FAR _SilphCo2AfterBattleText3 + db "@" + +SilphCo2BattleText4: + TX_FAR _SilphCo2BattleText4 + db "@" + +SilphCo2EndBattleText4: + TX_FAR _SilphCo2EndBattleText4 + db "@" + +SilphCo2AfterBattleText4: + TX_FAR _SilphCo2AfterBattleText4 + db "@" diff --git a/scripts/SilphCo3F.asm b/scripts/SilphCo3F.asm new file mode 100755 index 00000000..42b5d611 --- /dev/null +++ b/scripts/SilphCo3F.asm @@ -0,0 +1,136 @@ +SilphCo3F_Script: + call SilphCo3Script_59f71 + call EnableAutoTextBoxDrawing + ld hl, SilphCo3TrainerHeader0 + ld de, SilphCo3F_ScriptPointers + ld a, [wSilphCo3FCurScript] + call ExecuteCurMapScriptInTable + ld [wSilphCo3FCurScript], a + ret + +SilphCo3Script_59f71: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + ld hl, SilphCo3GateCoords + call SilphCo2Script_59d43 + call SilphCo3Script_59fad + CheckEvent EVENT_SILPH_CO_3_UNLOCKED_DOOR1 + jr nz, .asm_59f98 + push af + ld a, $5f + ld [wNewTileBlockID], a + lb bc, 4, 4 + predef ReplaceTileBlock + pop af +.asm_59f98 + CheckEventAfterBranchReuseA EVENT_SILPH_CO_3_UNLOCKED_DOOR2, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 + ret nz + ld a, $5f + ld [wNewTileBlockID], a + lb bc, 4, 8 + predef_jump ReplaceTileBlock + +SilphCo3GateCoords: + db $04,$04 + db $04,$08 + db $FF + +SilphCo3Script_59fad: + EventFlagAddress hl, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 + ld a, [$ffe0] + and a + ret z + cp $1 + jr nz, .next + SetEventReuseHL EVENT_SILPH_CO_3_UNLOCKED_DOOR1 + ret +.next + SetEventAfterBranchReuseHL EVENT_SILPH_CO_3_UNLOCKED_DOOR2, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 + ret + +SilphCo3F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +SilphCo3F_TextPointers: + dw SilphCo3Text1 + dw SilphCo3Text2 + dw SilphCo3Text3 + dw PickUpItemText + +SilphCo3TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_3F_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_3F_TRAINER_0 + dw SilphCo3BattleText1 ; TextBeforeBattle + dw SilphCo3AfterBattleText1 ; TextAfterBattle + dw SilphCo3EndBattleText1 ; TextEndBattle + dw SilphCo3EndBattleText1 ; TextEndBattle + +SilphCo3TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_3F_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_3F_TRAINER_1 + dw SilphCo3BattleText2 ; TextBeforeBattle + dw SilphCo3AfterBattleText2 ; TextAfterBattle + dw SilphCo3EndBattleText2 ; TextEndBattle + dw SilphCo3EndBattleText2 ; TextEndBattle + + db $ff + +SilphCo3Text1: + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + ld hl, SilphCo3Text_59ffe + jr nz, .asm_59fee + ld hl, SilphCo3Text_59ff9 +.asm_59fee + call PrintText + jp TextScriptEnd + +SilphCo3Text_59ff9: + TX_FAR _SilphCo3Text_59ff9 + db "@" + +SilphCo3Text_59ffe: + TX_FAR _SilphCo3Text_59ffe + db "@" + +SilphCo3Text2: + TX_ASM + ld hl, SilphCo3TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo3BattleText1: + TX_FAR _SilphCo3BattleText1 + db "@" + +SilphCo3EndBattleText1: + TX_FAR _SilphCo3EndBattleText1 + db "@" + +SilphCo3AfterBattleText1: + TX_FAR _SilphCo3AfterBattleText1 + db "@" + +SilphCo3Text3: + TX_ASM + ld hl, SilphCo3TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo3BattleText2: + TX_FAR _SilphCo3BattleText2 + db "@" + +SilphCo3EndBattleText2: + TX_FAR _SilphCo3EndBattleText2 + db "@" + +SilphCo3AfterBattleText2: + TX_FAR _SilphCo3AfterBattleText2 + db "@" diff --git a/scripts/SilphCo4F.asm b/scripts/SilphCo4F.asm new file mode 100755 index 00000000..7d5072f6 --- /dev/null +++ b/scripts/SilphCo4F.asm @@ -0,0 +1,199 @@ +SilphCo4F_Script: + call SilphCo4Script_19d21 + call EnableAutoTextBoxDrawing + ld hl, SilphCo4TrainerHeader0 + ld de, SilphCo4F_ScriptPointers + ld a, [wSilphCo4FCurScript] + call ExecuteCurMapScriptInTable + ld [wSilphCo4FCurScript], a + ret + +SilphCo4Script_19d21: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + ld hl, SilphCo4GateCoords + call SilphCo4Script_19d5d + call SilphCo4Script_19d89 + CheckEvent EVENT_SILPH_CO_4_UNLOCKED_DOOR1 + jr nz, .asm_19d48 + push af + ld a, $54 + ld [wNewTileBlockID], a + lb bc, 6, 2 + predef ReplaceTileBlock + pop af +.asm_19d48 + CheckEventAfterBranchReuseA EVENT_SILPH_CO_4_UNLOCKED_DOOR2, EVENT_SILPH_CO_4_UNLOCKED_DOOR1 + ret nz + ld a, $54 + ld [wNewTileBlockID], a + lb bc, 4, 6 + predef_jump ReplaceTileBlock + +SilphCo4GateCoords: + db $06,$02 + db $04,$06 + db $FF + +SilphCo4Script_19d5d: + push hl + ld hl, wCardKeyDoorY + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + xor a + ld [$ffe0], a + pop hl +.asm_19d69 + ld a, [hli] + cp $ff + jr z, .asm_19d85 + push hl + ld hl, $ffe0 + inc [hl] + pop hl + cp b + jr z, .asm_19d7a + inc hl + jr .asm_19d69 +.asm_19d7a + ld a, [hli] + cp c + jr nz, .asm_19d69 + ld hl, wCardKeyDoorY + xor a + ld [hli], a + ld [hl], a + ret +.asm_19d85 + xor a + ld [$ffe0], a + ret + +SilphCo4Script_19d89: + EventFlagAddress hl, EVENT_SILPH_CO_4_UNLOCKED_DOOR1 + ld a, [$ffe0] + and a + ret z + cp $1 + jr nz, .next + SetEventReuseHL EVENT_SILPH_CO_4_UNLOCKED_DOOR1 + ret +.next + SetEventAfterBranchReuseHL EVENT_SILPH_CO_4_UNLOCKED_DOOR2, EVENT_SILPH_CO_4_UNLOCKED_DOOR1 + ret + +SilphCo4F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +SilphCo4F_TextPointers: + dw SilphCo4Text1 + dw SilphCo4Text2 + dw SilphCo4Text3 + dw SilphCo4Text4 + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + +SilphCo4TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_0 + dw SilphCo4BattleText2 ; TextBeforeBattle + dw SilphCo4AfterBattleText2 ; TextAfterBattle + dw SilphCo4EndBattleText2 ; TextEndBattle + dw SilphCo4EndBattleText2 ; TextEndBattle + +SilphCo4TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_1 + dw SilphCo4BattleText3 ; TextBeforeBattle + dw SilphCo4AfterBattleText3 ; TextAfterBattle + dw SilphCo4EndBattleText3 ; TextEndBattle + dw SilphCo4EndBattleText3 ; TextEndBattle + +SilphCo4TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_2 + dw SilphCo4BattleText4 ; TextBeforeBattle + dw SilphCo4AfterBattleText4 ; TextAfterBattle + dw SilphCo4EndBattleText4 ; TextEndBattle + dw SilphCo4EndBattleText4 ; TextEndBattle + + db $ff + +SilphCo4Text1: + TX_ASM + ld hl, SilphCo4Text_19de0 + ld de, SilphCo4Text_19de5 + call SilphCo6Script_1a22f + jp TextScriptEnd + +SilphCo4Text_19de0: + TX_FAR _SilphCo4Text_19de0 + db "@" + +SilphCo4Text_19de5: + TX_FAR _SilphCo4Text_19de5 + db "@" + +SilphCo4Text2: + TX_ASM + ld hl, SilphCo4TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo4BattleText2: + TX_FAR _SilphCo4BattleText2 + db "@" + +SilphCo4EndBattleText2: + TX_FAR _SilphCo4EndBattleText2 + db "@" + +SilphCo4AfterBattleText2: + TX_FAR _SilphCo4AfterBattleText2 + db "@" + +SilphCo4Text3: + TX_ASM + ld hl, SilphCo4TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo4BattleText3: + TX_FAR _SilphCo4BattleText3 + db "@" + +SilphCo4EndBattleText3: + TX_FAR _SilphCo4EndBattleText3 + db "@" + +SilphCo4AfterBattleText3: + TX_FAR _SilphCo4AfterBattleText3 + db "@" + +SilphCo4Text4: + TX_ASM + ld hl, SilphCo4TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SilphCo4BattleText4: + TX_FAR _SilphCo4BattleText4 + db "@" + +SilphCo4EndBattleText4: + TX_FAR _SilphCo4EndBattleText4 + db "@" + +SilphCo4AfterBattleText4: + TX_FAR _SilphCo4AfterBattleText4 + db "@" diff --git a/scripts/SilphCo5F.asm b/scripts/SilphCo5F.asm new file mode 100755 index 00000000..d9deda5b --- /dev/null +++ b/scripts/SilphCo5F.asm @@ -0,0 +1,221 @@ +SilphCo5F_Script: + call SilphCo5Script_19f4d + call EnableAutoTextBoxDrawing + ld hl, SilphCo5TrainerHeader0 + ld de, SilphCo5F_ScriptPointers + ld a, [wSilphCo5FCurScript] + call ExecuteCurMapScriptInTable + ld [wSilphCo5FCurScript], a + ret + +SilphCo5Script_19f4d: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + ld hl, SilphCo5GateCoords + call SilphCo4Script_19d5d + call SilphCo5Script_19f9e + CheckEvent EVENT_SILPH_CO_5_UNLOCKED_DOOR1 + jr nz, .asm_19f74 + push af + ld a, $5f + ld [wNewTileBlockID], a + lb bc, 2, 3 + predef ReplaceTileBlock + pop af +.asm_19f74 + CheckEventAfterBranchReuseA EVENT_SILPH_CO_5_UNLOCKED_DOOR2, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 + jr nz, .asm_19f87 + push af + ld a, $5f + ld [wNewTileBlockID], a + lb bc, 6, 3 + predef ReplaceTileBlock + pop af +.asm_19f87 + CheckEventAfterBranchReuseA EVENT_SILPH_CO_5_UNLOCKED_DOOR3, EVENT_SILPH_CO_5_UNLOCKED_DOOR2 + ret nz + ld a, $5f + ld [wNewTileBlockID], a + lb bc, 5, 7 + predef_jump ReplaceTileBlock + +SilphCo5GateCoords: + db $02,$03 + db $06,$03 + db $05,$07 + db $FF + +SilphCo5Script_19f9e: + EventFlagAddress hl, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 + ld a, [$ffe0] + and a + ret z + cp $1 + jr nz, .next1 + SetEventReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR1 + ret +.next1 + cp $2 + jr nz, .next2 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR2, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 + ret +.next2 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR3, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 + ret + +SilphCo5F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +SilphCo5F_TextPointers: + dw SilphCo5Text1 + dw SilphCo5Text2 + dw SilphCo5Text3 + dw SilphCo5Text4 + dw SilphCo5Text5 + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw SilphCo5Text9 + dw SilphCo5Text10 + dw SilphCo5Text11 + +SilphCo5TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_0 + db ($1 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_0 + dw SilphCo5BattleText2 ; TextBeforeBattle + dw SilphCo5AfterBattleText2 ; TextAfterBattle + dw SilphCo5EndBattleText2 ; TextEndBattle + dw SilphCo5EndBattleText2 ; TextEndBattle + +SilphCo5TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_1 + dw SilphCo5BattleText3 ; TextBeforeBattle + dw SilphCo5AfterBattleText3 ; TextAfterBattle + dw SilphCo5EndBattleText3 ; TextEndBattle + dw SilphCo5EndBattleText3 ; TextEndBattle + +SilphCo5TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_2 + dw SilphCo5BattleText4 ; TextBeforeBattle + dw SilphCo5AfterBattleText4 ; TextAfterBattle + dw SilphCo5EndBattleText4 ; TextEndBattle + dw SilphCo5EndBattleText4 ; TextEndBattle + +SilphCo5TrainerHeader3: + dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_3 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_3 + dw SilphCo5BattleText5 ; TextBeforeBattle + dw SilphCo5AfterBattleText5 ; TextAfterBattle + dw SilphCo5EndBattleText5 ; TextEndBattle + dw SilphCo5EndBattleText5 ; TextEndBattle + + db $ff + +SilphCo5Text1: + TX_ASM + ld hl, SilphCo5Text_1a010 + ld de, SilphCo5Text_1a015 + call SilphCo6Script_1a22f + jp TextScriptEnd + +SilphCo5Text_1a010: + TX_FAR _SilphCo5Text_1a010 + db "@" + +SilphCo5Text_1a015: + TX_FAR _SilphCo5Text_1a015 + db "@" + +SilphCo5Text2: + TX_ASM + ld hl, SilphCo5TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo5BattleText2: + TX_FAR _SilphCo5BattleText2 + db "@" + +SilphCo5EndBattleText2: + TX_FAR _SilphCo5EndBattleText2 + db "@" + +SilphCo5AfterBattleText2: + TX_FAR _SilphCo5AfterBattleText2 + db "@" + +SilphCo5Text3: + TX_ASM + ld hl, SilphCo5TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo5BattleText3: + TX_FAR _SilphCo5BattleText3 + db "@" + +SilphCo5EndBattleText3: + TX_FAR _SilphCo5EndBattleText3 + db "@" + +SilphCo5AfterBattleText3: + TX_FAR _SilphCo5AfterBattleText3 + db "@" + +SilphCo5Text4: + TX_ASM + ld hl, SilphCo5TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SilphCo5BattleText4: + TX_FAR _SilphCo5BattleText4 + db "@" + +SilphCo5EndBattleText4: + TX_FAR _SilphCo5EndBattleText4 + db "@" + +SilphCo5AfterBattleText4: + TX_FAR _SilphCo5AfterBattleText4 + db "@" + +SilphCo5Text5: + TX_ASM + ld hl, SilphCo5TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SilphCo5BattleText5: + TX_FAR _SilphCo5BattleText5 + db "@" + +SilphCo5EndBattleText5: + TX_FAR _SilphCo5EndBattleText5 + db "@" + +SilphCo5AfterBattleText5: + TX_FAR _SilphCo5AfterBattleText5 + db "@" + +SilphCo5Text9: + TX_FAR _SilphCo5Text9 + db "@" + +SilphCo5Text10: + TX_FAR _SilphCo5Text10 + db "@" + +SilphCo5Text11: + TX_FAR _SilphCo5Text11 + db "@" diff --git a/scripts/SilphCo6F.asm b/scripts/SilphCo6F.asm new file mode 100755 index 00000000..ddbcba79 --- /dev/null +++ b/scripts/SilphCo6F.asm @@ -0,0 +1,220 @@ +SilphCo6F_Script: + call SilphCo6Script_1a1bf + call EnableAutoTextBoxDrawing + ld hl, SilphCo6TrainerHeader0 + ld de, SilphCo6F_ScriptPointers + ld a, [wSilphCo6FCurScript] + call ExecuteCurMapScriptInTable + ld [wSilphCo6FCurScript], a + ret + +SilphCo6Script_1a1bf: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + ld hl, SilphCo6GateCoords + call SilphCo4Script_19d5d + call SilphCo6Script_1a1e6 + CheckEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR + ret nz + ld a, $5f + ld [wNewTileBlockID], a + lb bc, 6, 2 + predef_jump ReplaceTileBlock + +SilphCo6GateCoords: + db $06,$02 + db $FF + +SilphCo6Script_1a1e6: + ld a, [$ffe0] + and a + ret z + SetEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR + ret + +SilphCo6F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +SilphCo6F_TextPointers: + dw SilphCo6Text1 + dw SilphCo6Text2 + dw SilphCo6Text3 + dw SilphCo6Text4 + dw SilphCo6Text5 + dw SilphCo6Text6 + dw SilphCo6Text7 + dw SilphCo6Text8 + dw PickUpItemText + dw PickUpItemText + +SilphCo6TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_0 + dw SilphCo6BattleText2 ; TextBeforeBattle + dw SilphCo6AfterBattleText2 ; TextAfterBattle + dw SilphCo6EndBattleText2 ; TextEndBattle + dw SilphCo6EndBattleText2 ; TextEndBattle + +SilphCo6TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_1 + dw SilphCo6BattleText3 ; TextBeforeBattle + dw SilphCo6AfterBattleText3 ; TextAfterBattle + dw SilphCo6EndBattleText3 ; TextEndBattle + dw SilphCo6EndBattleText3 ; TextEndBattle + +SilphCo6TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_2, 1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_2, 1 + dw SilphCo6BattleText4 ; TextBeforeBattle + dw SilphCo6AfterBattleText4 ; TextAfterBattle + dw SilphCo6EndBattleText4 ; TextEndBattle + dw SilphCo6EndBattleText4 ; TextEndBattle + + db $ff + +SilphCo6Script_1a22f: + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + jr nz, .asm_1a238 + jr .asm_1a23a +.asm_1a238 + ld h, d + ld l, e +.asm_1a23a + jp PrintText + +SilphCo6Text1: + TX_ASM + ld hl, SilphCo6Text_1a24a + ld de, SilphCo6Text_1a24f + call SilphCo6Script_1a22f + jp TextScriptEnd + +SilphCo6Text_1a24a: + TX_FAR _SilphCo6Text_1a24a + db "@" + +SilphCo6Text_1a24f: + TX_FAR _SilphCo6Text_1a24f + db "@" + +SilphCo6Text2: + TX_ASM + ld hl, SilphCo6Text_1a261 + ld de, SilphCo6Text_1a266 + call SilphCo6Script_1a22f + jp TextScriptEnd + +SilphCo6Text_1a261: + TX_FAR _SilphCo6Text_1a261 + db "@" + +SilphCo6Text_1a266: + TX_FAR _SilphCo6Text_1a266 + db "@" + +SilphCo6Text3: + TX_ASM + ld hl, SilphCo6Text_1a278 + ld de, SilphCo6Text_1a27d + call SilphCo6Script_1a22f + jp TextScriptEnd + +SilphCo6Text_1a278: + TX_FAR _SilphCo6Text_1a278 + db "@" + +SilphCo6Text_1a27d: + TX_FAR _SilphCo6Text_1a27d + db "@" + +SilphCo6Text4: + TX_ASM + ld hl, SilphCo6Text_1a28f + ld de, SilphCo6Text_1a294 + call SilphCo6Script_1a22f + jp TextScriptEnd + +SilphCo6Text_1a28f: + TX_FAR _SilphCo6Text_1a28f + db "@" + +SilphCo6Text_1a294: + TX_FAR _SilphCo6Text_1a294 + db "@" + +SilphCo6Text5: + TX_ASM + ld hl, SilphCo6Text_1a2a6 + ld de, SilphCo6Text_1a2ab + call SilphCo6Script_1a22f + jp TextScriptEnd + +SilphCo6Text_1a2a6: + TX_FAR _SilphCo6Text_1a2a6 + db "@" + +SilphCo6Text_1a2ab: + TX_FAR _SilphCo6Text_1a2ab + db "@" + +SilphCo6Text6: + TX_ASM + ld hl, SilphCo6TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo6BattleText2: + TX_FAR _SilphCo6BattleText2 + db "@" + +SilphCo6EndBattleText2: + TX_FAR _SilphCo6EndBattleText2 + db "@" + +SilphCo6AfterBattleText2: + TX_FAR _SilphCo6AfterBattleText2 + db "@" + +SilphCo6Text7: + TX_ASM + ld hl, SilphCo6TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo6BattleText3: + TX_FAR _SilphCo6BattleText3 + db "@" + +SilphCo6EndBattleText3: + TX_FAR _SilphCo6EndBattleText3 + db "@" + +SilphCo6AfterBattleText3: + TX_FAR _SilphCo6AfterBattleText3 + db "@" + +SilphCo6Text8: + TX_ASM + ld hl, SilphCo6TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SilphCo6BattleText4: + TX_FAR _SilphCo6BattleText4 + db "@" + +SilphCo6EndBattleText4: + TX_FAR _SilphCo6EndBattleText4 + db "@" + +SilphCo6AfterBattleText4: + TX_FAR _SilphCo6AfterBattleText4 + db "@" diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm new file mode 100755 index 00000000..e7594663 --- /dev/null +++ b/scripts/SilphCo7F.asm @@ -0,0 +1,527 @@ +SilphCo7F_Script: + call SilphCo7Script_51b77 + call EnableAutoTextBoxDrawing + ld hl, SilphCo7TrainerHeader0 + ld de, SilphCo7F_ScriptPointers + ld a, [wSilphCo7FCurScript] + call ExecuteCurMapScriptInTable + ld [wSilphCo7FCurScript], a + ret + +SilphCo7Script_51b77: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + ld hl, SilphCo7GateCoords + call SilphCo7Text_51bc8 + call SilphCo7Text_51bf4 + CheckEvent EVENT_SILPH_CO_7_UNLOCKED_DOOR1 + jr nz, .asm_51b9e + push af + ld a, $54 + ld [wNewTileBlockID], a + lb bc, 3, 5 + predef ReplaceTileBlock + pop af +.asm_51b9e + CheckEventAfterBranchReuseA EVENT_SILPH_CO_7_UNLOCKED_DOOR2, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 + jr nz, .asm_51bb1 + push af + ld a, $54 + ld [wNewTileBlockID], a + lb bc, 2, 10 + predef ReplaceTileBlock + pop af +.asm_51bb1 + CheckEventAfterBranchReuseA EVENT_SILPH_CO_7_UNLOCKED_DOOR3, EVENT_SILPH_CO_7_UNLOCKED_DOOR2 + ret nz + ld a, $54 + ld [wNewTileBlockID], a + lb bc, 6, 10 + predef_jump ReplaceTileBlock + +SilphCo7GateCoords: + db $03,$05 + db $02,$0A + db $06,$0A + db $FF + +SilphCo7Text_51bc8: + push hl + ld hl, wCardKeyDoorY + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + xor a + ld [$ffe0], a + pop hl +.asm_51bd4 + ld a, [hli] + cp $ff + jr z, .asm_51bf0 + push hl + ld hl, $ffe0 + inc [hl] + pop hl + cp b + jr z, .asm_51be5 + inc hl + jr .asm_51bd4 +.asm_51be5 + ld a, [hli] + cp c + jr nz, .asm_51bd4 + ld hl, wCardKeyDoorY + xor a + ld [hli], a + ld [hl], a + ret +.asm_51bf0 + xor a + ld [$ffe0], a + ret + +SilphCo7Text_51bf4: + EventFlagAddress hl, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 + ld a, [$ffe0] + and a + ret z + cp $1 + jr nz, .next1 + SetEventReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR1 + ret +.next1 + cp $2 + jr nz, .next2 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR2, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 + ret +.next2 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR3, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 + ret + +SilphCo7Text_51c0c: + xor a + ld [wJoyIgnore], a + +SilphCo7Text_51c10: + ld [wSilphCo7FCurScript], a + ld [wCurMapScript], a + ret + +SilphCo7F_ScriptPointers: + dw SilphCo7Script0 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw SilphCo7Script3 + dw SilphCo7Script4 + dw SilphCo7Script5 + +SilphCo7Script0: + CheckEvent EVENT_BEAT_SILPH_CO_RIVAL + jp nz, CheckFightingMapTrainers + ld hl, CoordsData_51c78 + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + xor a + ld [hJoyHeld], a + ld a, $f0 + ld [wJoyIgnore], a + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + ld a, $ff + ld [wNewSoundID], a + call PlaySound + ld c, BANK(Music_MeetRival) + ld a, MUSIC_MEET_RIVAL + call PlayMusic + ld a, $9 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $9 + ld [H_SPRITEINDEX], a + call SetSpriteMovementBytesToFF + ld de, MovementData_51c7d + ld a, [wCoordIndex] + ld [wcf0d], a + cp $1 + jr z, .asm_51c6c + inc de +.asm_51c6c + ld a, $9 + ld [H_SPRITEINDEX], a + call MoveSprite + ld a, $3 + jp SilphCo7Text_51c10 + +CoordsData_51c78: + db $02,$03 + db $03,$03 + db $FF + +MovementData_51c7d: + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db $FF + +SilphCo7Script3: + ld a, [wd730] + bit 0, a + ret nz + xor a + ld [wJoyIgnore], a + ld a, $d + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call Delay3 + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, SilphCo7Text14 + ld de, SilphCo7Text_51ecd + call SaveEndBattleTextPointers + ld a, OPP_SONY2 + ld [wCurOpponent], a + ld a, [wRivalStarter] + cp STARTER2 + jr nz, .asm_51cb6 + ld a, $7 + jr .asm_51cc0 +.asm_51cb6 + cp STARTER3 + jr nz, .asm_51cbe + ld a, $8 + jr .asm_51cc0 +.asm_51cbe + ld a, $9 +.asm_51cc0 + ld [wTrainerNo], a + ld a, $4 + jp SilphCo7Text_51c10 + +SilphCo7Script4: + ld a, [wIsInBattle] + cp $ff + jp z, SilphCo7Text_51c0c + ld a, $f0 + ld [wJoyIgnore], a + SetEvent EVENT_BEAT_SILPH_CO_RIVAL + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + ld a, $9 + ld [H_SPRITEINDEX], a + ld a, SPRITE_FACING_UP + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, $f + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $ff + ld [wNewSoundID], a + call PlaySound + callba Music_RivalAlternateStart + ld de, MovementData_51d1d + ld a, [wcf0d] + cp $1 + jr nz, .asm_51d0e + ld de, MovementData_51d1a +.asm_51d0e + ld a, $9 + ld [H_SPRITEINDEX], a + call MoveSprite + ld a, $5 + jp SilphCo7Text_51c10 + +MovementData_51d1a: + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db $FF + +MovementData_51d1d: + db NPC_MOVEMENT_LEFT + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_UP + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_RIGHT + db NPC_MOVEMENT_DOWN + db $FF + +SilphCo7Script5: + ld a, [wd730] + bit 0, a + ret nz + ld a, HS_SILPH_CO_7F_RIVAL + ld [wMissableObjectIndex], a + predef HideObject + call PlayDefaultMusic + xor a + ld [wJoyIgnore], a + jp SilphCo7Text_51c10 + +SilphCo7F_TextPointers: + dw SilphCo7Text1 + dw SilphCo7Text2 + dw SilphCo7Text3 + dw SilphCo7Text4 + dw SilphCo7Text5 + dw SilphCo7Text6 + dw SilphCo7Text7 + dw SilphCo7Text8 + dw SilphCo7Text9 + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw SilphCo7Text13 + dw SilphCo7Text14 + dw SilphCo7Text15 + +SilphCo7TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_0 + dw SilphCo7BattleText1 ; TextBeforeBattle + dw SilphCo7AfterBattleText1 ; TextAfterBattle + dw SilphCo7EndBattleText1 ; TextEndBattle + dw SilphCo7EndBattleText1 ; TextEndBattle + +SilphCo7TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_1 + dw SilphCo7BattleText2 ; TextBeforeBattle + dw SilphCo7AfterBattleText2 ; TextAfterBattle + dw SilphCo7EndBattleText2 ; TextEndBattle + dw SilphCo7EndBattleText2 ; TextEndBattle + +SilphCo7TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_2 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_2 + dw SilphCo7BattleText3 ; TextBeforeBattle + dw SilphCo7AfterBattleText3 ; TextAfterBattle + dw SilphCo7EndBattleText3 ; TextEndBattle + dw SilphCo7EndBattleText3 ; TextEndBattle + +SilphCo7TrainerHeader3: + dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 1 + dw SilphCo7BattleText4 ; TextBeforeBattle + dw SilphCo7AfterBattleText4 ; TextAfterBattle + dw SilphCo7EndBattleText4 ; TextEndBattle + dw SilphCo7EndBattleText4 ; TextEndBattle + + db $ff + +SilphCo7Text1: +; lapras guy + TX_ASM + ld a, [wd72e] + bit 0, a ; got lapras? + jr z, .givelapras + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + jr nz, .savedsilph + ld hl, .LaprasGuyText + call PrintText + jr .done +.givelapras + ld hl, .MeetLaprasGuyText + call PrintText + lb bc, LAPRAS, 15 + call GivePokemon + jr nc, .done + ld a, [wSimulatedJoypadStatesEnd] + and a + call z, WaitForTextScrollButtonPress + call EnableAutoTextBoxDrawing + ld hl, .HeresYourLaprasText + call PrintText + ld hl, wd72e + set 0, [hl] + jr .done +.savedsilph + ld hl, .LaprasGuySavedText + call PrintText +.done + jp TextScriptEnd + +.MeetLaprasGuyText + TX_FAR _MeetLaprasGuyText + db "@" + +.HeresYourLaprasText + TX_FAR _HeresYourLaprasText + db "@" + +.LaprasGuyText + TX_FAR _LaprasGuyText + db "@" + +.LaprasGuySavedText + TX_FAR _LaprasGuySavedText + db "@" + +SilphCo7Text2: + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + jr nz, .savedsilph + ld hl, .rockettext + call PrintText + jr .done +.savedsilph + ld hl, .savedtext + call PrintText +.done + jp TextScriptEnd + +.rockettext + TX_FAR _SilphCo7Text_51e00 + db "@" + +.savedtext + TX_FAR _CanceledMasterBallText + db "@" + +SilphCo7Text3: + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + jr nz, .savedsilph + ld hl, .rockettext + call PrintText + jr .done +.savedsilph + ld hl, .savedtext + call PrintText +.done + jp TextScriptEnd + +.rockettext + TX_FAR _SilphCo7Text_51e23 + db "@" + +.savedtext + TX_FAR _SilphCo7Text_51e28 + db "@" + +SilphCo7Text4: + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + jr nz, .savedsilph + ld hl, .rockettext + call PrintText + jr .done +.savedsilph + ld hl, .savedtext + call PrintText +.done + jp TextScriptEnd + +.rockettext + TX_FAR _SilphCo7Text_51e46 + db "@" + +.savedtext + TX_FAR _SilphCo7Text_51e4b + db "@" + +SilphCo7Text5: + TX_ASM + ld hl, SilphCo7TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo7BattleText1: + TX_FAR _SilphCo7BattleText1 + db "@" + +SilphCo7EndBattleText1: + TX_FAR _SilphCo7EndBattleText1 + db "@" + +SilphCo7AfterBattleText1: + TX_FAR _SilphCo7AfterBattleText1 + db "@" + +SilphCo7Text6: + TX_ASM + ld hl, SilphCo7TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo7BattleText2: + TX_FAR _SilphCo7BattleText2 + db "@" + +SilphCo7EndBattleText2: + TX_FAR _SilphCo7EndBattleText2 + db "@" + +SilphCo7AfterBattleText2: + TX_FAR _SilphCo7AfterBattleText2 + db "@" + +SilphCo7Text7: + TX_ASM + ld hl, SilphCo7TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SilphCo7BattleText3: + TX_FAR _SilphCo7BattleText3 + db "@" + +SilphCo7EndBattleText3: + TX_FAR _SilphCo7EndBattleText3 + db "@" + +SilphCo7AfterBattleText3: + TX_FAR _SilphCo7AfterBattleText3 + db "@" + +SilphCo7Text8: + TX_ASM + ld hl, SilphCo7TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SilphCo7BattleText4: + TX_FAR _SilphCo7BattleText4 + db "@" + +SilphCo7EndBattleText4: + TX_FAR _SilphCo7EndBattleText4 + db "@" + +SilphCo7AfterBattleText4: + TX_FAR _SilphCo7AfterBattleText4 + db "@" + +SilphCo7Text9: + TX_ASM + ld hl, SilphCo7Text_51ebe + call PrintText + jp TextScriptEnd + +SilphCo7Text_51ebe: + TX_FAR _SilphCo7Text_51ebe + db "@" + +SilphCo7Text13: + TX_FAR _SilphCo7Text_51ec3 + db "@" + +SilphCo7Text14: + TX_FAR _SilphCo7Text_51ec8 + db "@" + +SilphCo7Text_51ecd: + TX_FAR _SilphCo7Text_51ecd + db "@" + +SilphCo7Text15: + TX_FAR _SilphCo7Text_51ed2 + db "@" diff --git a/scripts/SilphCo8F.asm b/scripts/SilphCo8F.asm new file mode 100755 index 00000000..ce6579f7 --- /dev/null +++ b/scripts/SilphCo8F.asm @@ -0,0 +1,183 @@ +SilphCo8F_Script: + call SilphCo8Script_5651a + call EnableAutoTextBoxDrawing + ld hl, SilphCo8TrainerHeader0 + ld de, SilphCo8F_ScriptPointers + ld a, [wSilphCo8FCurScript] + call ExecuteCurMapScriptInTable + ld [wSilphCo8FCurScript], a + ret + +SilphCo8Script_5651a: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + ld hl, SilphCo8GateCoords + call SilphCo8Script_56541 + call SilphCo8Script_5656d + CheckEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR + ret nz + ld a, $5f + ld [wNewTileBlockID], a + lb bc, 4, 3 + predef_jump ReplaceTileBlock + +SilphCo8GateCoords: + db $04,$03 + db $FF + +SilphCo8Script_56541: + push hl + ld hl, wCardKeyDoorY + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + xor a + ld [$ffe0], a + pop hl +.asm_5654d + ld a, [hli] + cp $ff + jr z, .asm_56569 + push hl + ld hl, $ffe0 + inc [hl] + pop hl + cp b + jr z, .asm_5655e + inc hl + jr .asm_5654d +.asm_5655e + ld a, [hli] + cp c + jr nz, .asm_5654d + ld hl, wCardKeyDoorY + xor a + ld [hli], a + ld [hl], a + ret +.asm_56569 + xor a + ld [$ffe0], a + ret + +SilphCo8Script_5656d: + ld a, [$ffe0] + and a + ret z + SetEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR + ret + +SilphCo8F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +SilphCo8F_TextPointers: + dw SilphCo8Text1 + dw SilphCo8Text2 + dw SilphCo8Text3 + dw SilphCo8Text4 + +SilphCo8TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_0 + dw SilphCo8BattleText1 ; TextBeforeBattle + dw SilphCo8AfterBattleText1 ; TextAfterBattle + dw SilphCo8EndBattleText1 ; TextEndBattle + dw SilphCo8EndBattleText1 ; TextEndBattle + +SilphCo8TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_1 + dw SilphCo8BattleText2 ; TextBeforeBattle + dw SilphCo8AfterBattleText2 ; TextAfterBattle + dw SilphCo8EndBattleText2 ; TextEndBattle + dw SilphCo8EndBattleText2 ; TextEndBattle + +SilphCo8TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_2 + dw SilphCo8BattleText3 ; TextBeforeBattle + dw SilphCo8AfterBattleText3 ; TextAfterBattle + dw SilphCo8EndBattleText3 ; TextEndBattle + dw SilphCo8EndBattleText3 ; TextEndBattle + + db $ff + +SilphCo8Text1: + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + ld hl, SilphCo8Text_565c3 + jr nz, .asm_565b8 + ld hl, SilphCo8Text_565be +.asm_565b8 + call PrintText + jp TextScriptEnd + +SilphCo8Text_565be: + TX_FAR _SilphCo8Text_565be + db "@" + +SilphCo8Text_565c3: + TX_FAR _SilphCo8Text_565c3 + db "@" + +SilphCo8Text2: + TX_ASM + ld hl, SilphCo8TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo8Text3: + TX_ASM + ld hl, SilphCo8TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo8Text4: + TX_ASM + ld hl, SilphCo8TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SilphCo8BattleText1: + TX_FAR _SilphCo8BattleText1 + db "@" + +SilphCo8EndBattleText1: + TX_FAR _SilphCo8EndBattleText1 + db "@" + +SilphCo8AfterBattleText1: + TX_FAR _SilphCo8AfterBattleText1 + db "@" + +SilphCo8BattleText2: + TX_FAR _SilphCo8BattleText2 + db "@" + +SilphCo8EndBattleText2: + TX_FAR _SilphCo8EndBattleText2 + db "@" + +SilphCo8AfterBattleText2: + TX_FAR _SilphCo8AfterBattleText2 + db "@" + +SilphCo8BattleText3: + TX_FAR _SilphCo8BattleText3 + db "@" + +SilphCo8EndBattleText3: + TX_FAR _SilphCo8EndBattleText3 + db "@" + +SilphCo8AfterBattleText3: + TX_FAR _SilphCo8AfterBattleText3 + db "@" diff --git a/scripts/SilphCo9F.asm b/scripts/SilphCo9F.asm new file mode 100755 index 00000000..66291e98 --- /dev/null +++ b/scripts/SilphCo9F.asm @@ -0,0 +1,244 @@ +SilphCo9F_Script: + call SilphCo9Script_5d7d1 + call EnableAutoTextBoxDrawing + ld hl, SilphCo9TrainerHeader0 + ld de, SilphCo9F_ScriptPointers + ld a, [wSilphCo9FCurScript] + call ExecuteCurMapScriptInTable + ld [wSilphCo9FCurScript], a + ret + +SilphCo9Script_5d7d1: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + ld hl, SilphCo9GateCoords + call SilphCo9Script_5d837 + call SilphCo9Script_5d863 + CheckEvent EVENT_SILPH_CO_9_UNLOCKED_DOOR1 + jr nz, .asm_5d7f8 + push af + ld a, $5f + ld [wNewTileBlockID], a + lb bc, 4, 1 + predef ReplaceTileBlock + pop af +.asm_5d7f8 + CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR2, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 + jr nz, .asm_5d80b + push af + ld a, $54 + ld [wNewTileBlockID], a + lb bc, 2, 9 + predef ReplaceTileBlock + pop af +.asm_5d80b + CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR3, EVENT_SILPH_CO_9_UNLOCKED_DOOR2 + jr nz, .asm_5d81e + push af + ld a, $54 + ld [wNewTileBlockID], a + lb bc, 5, 9 + predef ReplaceTileBlock + pop af +.asm_5d81e + CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR4, EVENT_SILPH_CO_9_UNLOCKED_DOOR3 + ret nz + ld a, $5f + ld [wNewTileBlockID], a + lb bc, 6, 5 + predef_jump ReplaceTileBlock + +SilphCo9GateCoords: + db $04,$01 + db $02,$09 + db $05,$09 + db $06,$05 + db $FF + +SilphCo9Script_5d837: + push hl + ld hl, wCardKeyDoorY + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + xor a + ld [$ffe0], a + pop hl +.asm_5d843 + ld a, [hli] + cp $ff + jr z, .asm_5d85f + push hl + ld hl, $ffe0 + inc [hl] + pop hl + cp b + jr z, .asm_5d854 + inc hl + jr .asm_5d843 +.asm_5d854 + ld a, [hli] + cp c + jr nz, .asm_5d843 + ld hl, wCardKeyDoorY + xor a + ld [hli], a + ld [hl], a + ret +.asm_5d85f + xor a + ld [$ffe0], a + ret + +SilphCo9Script_5d863: + EventFlagAddress hl, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 + ld a, [$ffe0] + and a + ret z + cp $1 + jr nz, .next1 + SetEventReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR1 + ret +.next1 + cp $2 + jr nz, .next2 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR2, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 + ret +.next2 + cp $3 + jr nz, .next3 + SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR3, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 + ret +.next3 + cp $4 + ret nz + SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR4, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 + ret + +SilphCo9F_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +SilphCo9F_TextPointers: + dw SilphCo9Text1 + dw SilphCo9Text2 + dw SilphCo9Text3 + dw SilphCo9Text4 + +SilphCo9TrainerHeader0: + dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_0 + dw SilphCo9BattleText1 ; TextBeforeBattle + dw SilphCo9AfterBattleText1 ; TextAfterBattle + dw SilphCo9EndBattleText1 ; TextEndBattle + dw SilphCo9EndBattleText1 ; TextEndBattle + +SilphCo9TrainerHeader1: + dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_1 + dw SilphCo9BattleText2 ; TextBeforeBattle + dw SilphCo9AfterBattleText2 ; TextAfterBattle + dw SilphCo9EndBattleText2 ; TextEndBattle + dw SilphCo9EndBattleText2 ; TextEndBattle + +SilphCo9TrainerHeader2: + dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_2 + dw SilphCo9BattleText3 ; TextBeforeBattle + dw SilphCo9AfterBattleText3 ; TextAfterBattle + dw SilphCo9EndBattleText3 ; TextEndBattle + dw SilphCo9EndBattleText3 ; TextEndBattle + + db $ff + +SilphCo9Text1: + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + jr nz, .asm_5d8dc + ld hl, SilphCo9Text_5d8e5 + call PrintText + predef HealParty + call GBFadeOutToWhite + call Delay3 + call GBFadeInFromWhite + ld hl, SilphCo9Text_5d8ea + call PrintText + jr .asm_5d8e2 +.asm_5d8dc + ld hl, SilphCo9Text_5d8ef + call PrintText +.asm_5d8e2 + jp TextScriptEnd + +SilphCo9Text_5d8e5: + TX_FAR _SilphCo9Text_5d8e5 + db "@" + +SilphCo9Text_5d8ea: + TX_FAR _SilphCo9Text_5d8ea + db "@" + +SilphCo9Text_5d8ef: + TX_FAR _SilphCo9Text_5d8ef + db "@" + +SilphCo9Text2: + TX_ASM + ld hl, SilphCo9TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo9Text3: + TX_ASM + ld hl, SilphCo9TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo9Text4: + TX_ASM + ld hl, SilphCo9TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SilphCo9BattleText1: + TX_FAR _SilphCo9BattleText1 + db "@" + +SilphCo9EndBattleText1: + TX_FAR _SilphCo9EndBattleText1 + db "@" + +SilphCo9AfterBattleText1: + TX_FAR _SilphCo9AfterBattleText1 + db "@" + +SilphCo9BattleText2: + TX_FAR _SilphCo9BattleText2 + db "@" + +SilphCo9EndBattleText2: + TX_FAR _SilphCo9EndBattleText2 + db "@" + +SilphCo9AfterBattleText2: + TX_FAR _SilphCo9AfterBattleText2 + db "@" + +SilphCo9BattleText3: + TX_FAR _SilphCo9BattleText3 + db "@" + +SilphCo9EndBattleText3: + TX_FAR _SilphCo9EndBattleText3 + db "@" + +SilphCo9AfterBattleText3: + TX_FAR _SilphCo9AfterBattleText3 + db "@" diff --git a/scripts/SilphCoElevator.asm b/scripts/SilphCoElevator.asm new file mode 100755 index 00000000..49de6b27 --- /dev/null +++ b/scripts/SilphCoElevator.asm @@ -0,0 +1,88 @@ +SilphCoElevator_Script: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + push hl + call nz, SilphCoElevatorScript_457dc + pop hl + bit 7, [hl] + res 7, [hl] + call nz, SilphCoElevatorScript_45827 + xor a + ld [wAutoTextBoxDrawingControl], a + inc a + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ret + +SilphCoElevatorScript_457dc: + ld hl, wWarpEntries + ld a, [wWarpedFromWhichWarp] + ld b, a + ld a, [wWarpedFromWhichMap] + ld c, a + call SilphCoElevatorScript_457ea + +SilphCoElevatorScript_457ea: + inc hl + inc hl + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ret + +SilphCoElevatorScript_457f1: + ld hl, SilphCoElevatorFloors + call LoadItemList + ld hl, SilphCoElevatorWarpMaps + ld de, wElevatorWarpMaps + ld bc, SilphCoElevatorWarpMapsEnd - SilphCoElevatorWarpMaps + call CopyData + ret + +SilphCoElevatorFloors: + db $0B ; num elements in list + db FLOOR_1F + db FLOOR_2F + db FLOOR_3F + db FLOOR_4F + db FLOOR_5F + db FLOOR_6F + db FLOOR_7F + db FLOOR_8F + db FLOOR_9F + db FLOOR_10F + db FLOOR_11F + db $FF ; terminator + +SilphCoElevatorWarpMaps: +; first byte is warp number +; second byte is map number +; These specify where the player goes after getting out of the elevator. + db $03, SILPH_CO_1F + db $02, SILPH_CO_2F + db $02, SILPH_CO_3F + db $02, SILPH_CO_4F + db $02, SILPH_CO_5F + db $02, SILPH_CO_6F + db $02, SILPH_CO_7F + db $02, SILPH_CO_8F + db $02, SILPH_CO_9F + db $02, SILPH_CO_10F + db $01, SILPH_CO_11F +SilphCoElevatorWarpMapsEnd: + +SilphCoElevatorScript_45827: + call Delay3 + callba ShakeElevator + ret + +SilphCoElevator_TextPointers: + dw SilphCoElevatorText1 + +SilphCoElevatorText1: + TX_ASM + call SilphCoElevatorScript_457f1 + ld hl, SilphCoElevatorWarpMaps + predef DisplayElevatorFloorMenu + jp TextScriptEnd diff --git a/scripts/TradeCenter.asm b/scripts/TradeCenter.asm new file mode 100755 index 00000000..ddb3061e --- /dev/null +++ b/scripts/TradeCenter.asm @@ -0,0 +1,38 @@ +TradeCenter_Script: + call EnableAutoTextBoxDrawing + ld a, [hSerialConnectionStatus] + cp USING_INTERNAL_CLOCK + ld a, SPRITE_FACING_LEFT + jr z, .next + ld a, SPRITE_FACING_RIGHT +.next + ld [hSpriteFacingDirection], a + ld a, $1 + ld [H_SPRITEINDEX], a + call SetSpriteFacingDirection + ld hl, wd72d + bit 0, [hl] + set 0, [hl] + ret nz + ld hl, wSpriteStateData2 + $14 + ld a, $8 + ld [hli], a + ld a, $a + ld [hl], a + ld a, SPRITE_FACING_LEFT + ld [wSpriteStateData1 + $19], a + ld a, [hSerialConnectionStatus] + cp USING_INTERNAL_CLOCK + ret z + ld a, $7 + ld [wSpriteStateData2 + $15], a + ld a, SPRITE_FACING_RIGHT + ld [wSpriteStateData1 + $19], a + ret + +TradeCenter_TextPointers: + dw TradeCenterText1 + +TradeCenterText1: + TX_FAR _TradeCenterText1 + db "@" diff --git a/scripts/UndergroundPathNorthSouth.asm b/scripts/UndergroundPathNorthSouth.asm new file mode 100755 index 00000000..52b3d8bf --- /dev/null +++ b/scripts/UndergroundPathNorthSouth.asm @@ -0,0 +1,5 @@ +UndergroundPathNorthSouth_Script: + jp EnableAutoTextBoxDrawing + +UndergroundPathNorthSouth_TextPointers: + db "@" diff --git a/scripts/UndergroundPathRoute5.asm b/scripts/UndergroundPathRoute5.asm new file mode 100755 index 00000000..23d72569 --- /dev/null +++ b/scripts/UndergroundPathRoute5.asm @@ -0,0 +1,18 @@ +UndergroundPathRoute5_Script: + ld a, ROUTE_5 + ld [wLastMap], a + ret + +UndergroundPathEntranceRoute5_5d6af: + db "@" + +UndergroundPathRoute5_TextPointers: + dw UndergroundPathEntranceRoute5Text1 + +UndergroundPathEntranceRoute5Text1: + TX_ASM + ld a, $9 + ld [wWhichTrade], a + predef DoInGameTradeDialogue + ld hl, UndergroundPathEntranceRoute5_5d6af + ret diff --git a/scripts/UndergroundPathRoute6.asm b/scripts/UndergroundPathRoute6.asm new file mode 100755 index 00000000..0a690518 --- /dev/null +++ b/scripts/UndergroundPathRoute6.asm @@ -0,0 +1,11 @@ +UndergroundPathRoute6_Script: + ld a, ROUTE_6 + ld [wLastMap], a + jp EnableAutoTextBoxDrawing + +UndergroundPathRoute6_TextPointers: + dw UndergroundPathEntranceRoute6Text1 + +UndergroundPathEntranceRoute6Text1: + TX_FAR _UndergrdTunnelEntRoute6Text1 + db "@" diff --git a/scripts/UndergroundPathRoute7.asm b/scripts/UndergroundPathRoute7.asm new file mode 100755 index 00000000..3a1f14c7 --- /dev/null +++ b/scripts/UndergroundPathRoute7.asm @@ -0,0 +1,11 @@ +UndergroundPathRoute7_Script: + ld a, ROUTE_7 + ld [wLastMap], a + jp EnableAutoTextBoxDrawing + +UndergroundPathRoute7_TextPointers: + dw UndergroundPathEntranceRoute7Text1 + +UndergroundPathEntranceRoute7Text1: + TX_FAR _UndergroundPathEntRoute7Text1 + db "@" diff --git a/scripts/UndergroundPathRoute7Copy.asm b/scripts/UndergroundPathRoute7Copy.asm new file mode 100755 index 00000000..8a494caf --- /dev/null +++ b/scripts/UndergroundPathRoute7Copy.asm @@ -0,0 +1,24 @@ +UndergroundPathRoute7Copy_Script: + ld a, ROUTE_7 + ld [wLastMap], a + ret + +UndergroundPathRoute7Copy_TextPointers: + dw UGPathRoute7EntranceUnusedText_5d773 + dw UGPathRoute7EntranceUnusedText_5d77d + +UGPathRoute7EntranceUnusedText_5d773: + TX_FAR _UGPathRoute7EntranceUnusedText_5d773 + db "@" + +UGPathRoute7EntranceUnusedText_5d778: + TX_FAR _UGPathRoute7EntranceUnusedText_5d778 + db "@" + +UGPathRoute7EntranceUnusedText_5d77d: + TX_FAR _UGPathRoute7EntranceUnusedText_5d77d + db "@" + +UGPathRoute7EntranceUnusedText_5d782: + TX_FAR _UGPathRoute7EntranceUnusedText_5d782 + db "@" diff --git a/scripts/UndergroundPathRoute8.asm b/scripts/UndergroundPathRoute8.asm new file mode 100755 index 00000000..ab0a9977 --- /dev/null +++ b/scripts/UndergroundPathRoute8.asm @@ -0,0 +1,11 @@ +UndergroundPathRoute8_Script: + ld a, ROUTE_8 + ld [wLastMap], a + jp EnableAutoTextBoxDrawing + +UndergroundPathRoute8_TextPointers: + dw UndergroundPathEntranceRoute8Text1 + +UndergroundPathEntranceRoute8Text1: + TX_FAR _UndergroundPathEntRoute8Text1 + db "@" diff --git a/scripts/UndergroundPathWestEast.asm b/scripts/UndergroundPathWestEast.asm new file mode 100755 index 00000000..cb1a7bd8 --- /dev/null +++ b/scripts/UndergroundPathWestEast.asm @@ -0,0 +1,5 @@ +UndergroundPathWestEast_Script: + jp EnableAutoTextBoxDrawing + +UndergroundPathWestEast_TextPointers: + db "@" diff --git a/scripts/VermilionCity.asm b/scripts/VermilionCity.asm new file mode 100755 index 00000000..1ac81521 --- /dev/null +++ b/scripts/VermilionCity.asm @@ -0,0 +1,257 @@ +VermilionCity_Script: + call EnableAutoTextBoxDrawing + ld hl, wCurrentMapScriptFlags + bit 6, [hl] + res 6, [hl] + push hl + call nz, VermilionCityScript_197cb + pop hl + bit 5, [hl] + res 5, [hl] + call nz, VermilionCityScript_197c0 + ld hl, VermilionCity_ScriptPointers + ld a, [wVermilionCityCurScript] + jp CallFunctionInTable + +VermilionCityScript_197c0: + call Random + ld a, [$ffd4] + and $e + ld [wFirstLockTrashCanIndex], a + ret + +VermilionCityScript_197cb: + CheckEventHL EVENT_SS_ANNE_LEFT + ret z + CheckEventReuseHL EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT + SetEventReuseHL EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT + ret nz + ld a, $2 + ld [wVermilionCityCurScript], a + ret + +VermilionCity_ScriptPointers: + dw VermilionCityScript0 + dw VermilionCityScript1 + dw VermilionCityScript2 + dw VermilionCityScript3 + dw VermilionCityScript4 + +VermilionCityScript0: + ld a, [wSpriteStateData1 + 9] + and a ; cp SPRITE_FACING_DOWN + ret nz + ld hl, CoordsData_19823 + call ArePlayerCoordsInArray + ret nc + xor a + ld [hJoyHeld], a + ld [wcf0d], a + ld a, $3 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + CheckEvent EVENT_SS_ANNE_LEFT + jr nz, .asm_19810 + ld b, S_S_TICKET + predef GetQuantityOfItemInBag + ld a, b + and a + ret nz +.asm_19810 + ld a, D_UP + ld [wSimulatedJoypadStatesEnd], a + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld a, $1 + ld [wVermilionCityCurScript], a + ret + +CoordsData_19823: + db $1e,$12 + db $ff + +VermilionCityScript4: + ld hl, CoordsData_19823 + call ArePlayerCoordsInArray + ret c + ld a, $0 + ld [wVermilionCityCurScript], a + ret + +VermilionCityScript2: + ld a, $ff + ld [wJoyIgnore], a + ld a, D_UP + ld [wSimulatedJoypadStatesEnd], a + ld [wSimulatedJoypadStatesEnd + 1], a + ld a, 2 + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld a, $3 + ld [wVermilionCityCurScript], a + ret + +VermilionCityScript3: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + xor a + ld [wJoyIgnore], a + ld [hJoyHeld], a + ld a, $0 + ld [wVermilionCityCurScript], a + ret + +VermilionCityScript1: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + ld c, 10 + call DelayFrames + ld a, $0 + ld [wVermilionCityCurScript], a + ret + +VermilionCity_TextPointers: + dw VermilionCityText1 + dw VermilionCityText2 + dw VermilionCityText3 + dw VermilionCityText4 + dw VermilionCityText5 + dw VermilionCityText6 + dw VermilionCityText7 + dw VermilionCityText8 + dw MartSignText + dw PokeCenterSignText + dw VermilionCityText11 + dw VermilionCityText12 + dw VermilionCityText13 + +VermilionCityText1: + TX_FAR _VermilionCityText1 + db "@" + +VermilionCityText2: + TX_ASM + CheckEvent EVENT_SS_ANNE_LEFT + jr nz, .asm_1989e + ld hl, VermilionCityText_198a7 + call PrintText + jr .asm_198a4 +.asm_1989e + ld hl, VermilionCityText_198ac + call PrintText +.asm_198a4 + jp TextScriptEnd + +VermilionCityText_198a7: + TX_FAR _VermilionCityText_198a7 + db "@" + +VermilionCityText_198ac: + TX_FAR _VermilionCityText_198ac + db "@" + +VermilionCityText3: + TX_ASM + CheckEvent EVENT_SS_ANNE_LEFT + jr nz, .asm_198f6 + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_RIGHT + jr z, .asm_198c8 + ld hl, VermilionCityCoords1 + call ArePlayerCoordsInArray + jr nc, .asm_198d0 +.asm_198c8 + ld hl, SSAnneWelcomeText4 + call PrintText + jr .asm_198fc +.asm_198d0 + ld hl, SSAnneWelcomeText9 + call PrintText + ld b, S_S_TICKET + predef GetQuantityOfItemInBag + ld a, b + and a + jr nz, .asm_198e9 + ld hl, SSAnneNoTicketText + call PrintText + jr .asm_198fc +.asm_198e9 + ld hl, SSAnneFlashedTicketText + call PrintText + ld a, $4 + ld [wVermilionCityCurScript], a + jr .asm_198fc +.asm_198f6 + ld hl, SSAnneNotHereText + call PrintText +.asm_198fc + jp TextScriptEnd + +VermilionCityCoords1: + db $1d,$13 + db $1f,$13 + db $ff + +SSAnneWelcomeText4: + TX_FAR _SSAnneWelcomeText4 + db "@" + +SSAnneWelcomeText9: + TX_FAR _SSAnneWelcomeText9 + db "@" + +SSAnneFlashedTicketText: + TX_FAR _SSAnneFlashedTicketText + db "@" + +SSAnneNoTicketText: + TX_FAR _SSAnneNoTicketText + db "@" + +SSAnneNotHereText: + TX_FAR _SSAnneNotHereText + db "@" + +VermilionCityText4: + TX_FAR _VermilionCityText4 + db "@" + +VermilionCityText5: + TX_FAR _VermilionCityText5 + TX_ASM + ld a, MACHOP + call PlayCry + call WaitForSoundToFinish + ld hl, VermilionCityText14 + ret + +VermilionCityText14: + TX_FAR _VermilionCityText14 + db "@" + +VermilionCityText6: + TX_FAR _VermilionCityText6 + db "@" + +VermilionCityText7: + TX_FAR _VermilionCityText7 + db "@" + +VermilionCityText8: + TX_FAR _VermilionCityText8 + db "@" + +VermilionCityText11: + TX_FAR _VermilionCityText11 + db "@" + +VermilionCityText12: + TX_FAR _VermilionCityText12 + db "@" + +VermilionCityText13: + TX_FAR _VermilionCityText13 + db "@" diff --git a/scripts/VermilionDock.asm b/scripts/VermilionDock.asm new file mode 100755 index 00000000..65b66c52 --- /dev/null +++ b/scripts/VermilionDock.asm @@ -0,0 +1,215 @@ +VermilionDock_Script: + call EnableAutoTextBoxDrawing + CheckEventHL EVENT_STARTED_WALKING_OUT_OF_DOCK + jr nz, .asm_1db8d + CheckEventReuseHL EVENT_GOT_HM01 + ret z + ld a, [wDestinationWarpID] + cp $1 + ret nz + CheckEventReuseHL EVENT_SS_ANNE_LEFT + jp z, VermilionDock_1db9b + SetEventReuseHL EVENT_STARTED_WALKING_OUT_OF_DOCK + call Delay3 + ld hl, wd730 + set 7, [hl] + ld hl, wSimulatedJoypadStatesEnd + ld a, D_UP + ld [hli], a + ld [hli], a + ld [hl], a + ld a, $3 + ld [wSimulatedJoypadStatesIndex], a + xor a + ld [wSpriteStateData2 + $06], a + ld [wOverrideSimulatedJoypadStatesMask], a + dec a + ld [wJoyIgnore], a + ret +.asm_1db8d + CheckEventAfterBranchReuseHL EVENT_WALKED_OUT_OF_DOCK, EVENT_STARTED_WALKING_OUT_OF_DOCK + ret nz + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + ld [wJoyIgnore], a + SetEventReuseHL EVENT_WALKED_OUT_OF_DOCK + ret + +VermilionDock_1db9b: + SetEventForceReuseHL EVENT_SS_ANNE_LEFT + ld a, $ff + ld [wJoyIgnore], a + ld [wNewSoundID], a + call PlaySound + ld c, BANK(Music_Surfing) + ld a, MUSIC_SURFING + call PlayMusic + callba LoadSmokeTileFourTimes + xor a + ld [wSpriteStateData1 + 2], a + ld c, 120 + call DelayFrames + ld b, $9c + call CopyScreenTileBufferToVRAM + coord hl, 0, 10 + ld bc, SCREEN_WIDTH * 6 + ld a, $14 ; water tile + call FillMemory + ld a, 1 + ld [H_AUTOBGTRANSFERENABLED], a + call Delay3 + xor a + ld [H_AUTOBGTRANSFERENABLED], a + ld [wSSAnneSmokeDriftAmount], a + ld [rOBP1], a + ld a, 88 + ld [wSSAnneSmokeX], a + ld hl, wMapViewVRAMPointer + ld c, [hl] + inc hl + ld b, [hl] + push bc + push hl + ld a, SFX_SS_ANNE_HORN + call PlaySoundWaitForCurrent + ld a, $ff + ld [wUpdateSpritesEnabled], a + ld d, $0 + ld e, $8 +.asm_1dbfa + ld hl, $0002 + add hl, bc + ld a, l + ld [wMapViewVRAMPointer], a + ld a, h + ld [wMapViewVRAMPointer + 1], a + push hl + push de + call ScheduleEastColumnRedraw + call VermilionDock_EmitSmokePuff + pop de + ld b, $10 +.asm_1dc11 + call VermilionDock_AnimSmokePuffDriftRight + ld c, $8 +.asm_1dc16 + call VermilionDock_1dc7c + dec c + jr nz, .asm_1dc16 + inc d + dec b + jr nz, .asm_1dc11 + pop bc + dec e + jr nz, .asm_1dbfa + xor a + ld [rWY], a + ld [hWY], a + call VermilionDock_EraseSSAnne + ld a, $90 + ld [hWY], a + ld a, $1 + ld [wUpdateSpritesEnabled], a + pop hl + pop bc + ld [hl], b + dec hl + ld [hl], c + call LoadPlayerSpriteGraphics + ld hl, wNumberOfWarps + dec [hl] + ret + +VermilionDock_AnimSmokePuffDriftRight: + push bc + push de + ld hl, wOAMBuffer + $11 + ld a, [wSSAnneSmokeDriftAmount] + swap a + ld c, a + ld de, 4 +.loop + inc [hl] + inc [hl] + add hl, de + dec c + jr nz, .loop + pop de + pop bc + ret + +VermilionDock_EmitSmokePuff: +; new smoke puff above the S.S. Anne's front smokestack + ld a, [wSSAnneSmokeX] + sub 16 + ld [wSSAnneSmokeX], a + ld c, a + ld b, 100 ; Y + ld a, [wSSAnneSmokeDriftAmount] + inc a + ld [wSSAnneSmokeDriftAmount], a + ld a, $1 + ld de, VermilionDockOAMBlock + call WriteOAMBlock + ret + +VermilionDockOAMBlock: + db $fc, $10 + db $fd, $10 + db $fe, $10 + db $ff, $10 + +VermilionDock_1dc7c: + ld h, d + ld l, $50 + call .asm_1dc86 + ld h, $0 + ld l, $80 +.asm_1dc86 + ld a, [rLY] + cp l + jr nz, .asm_1dc86 + ld a, h + ld [rSCX], a +.asm_1dc8e + ld a, [rLY] + cp h + jr z, .asm_1dc8e + ret + +VermilionDock_EraseSSAnne: +; Fill the area the S.S. Anne occupies in BG map 0 with water tiles. + ld hl, wVermilionDockTileMapBuffer + ld bc, (5 * BG_MAP_WIDTH) + SCREEN_WIDTH + ld a, $14 ; water tile + call FillMemory + ld hl, vBGMap0 + 10 * BG_MAP_WIDTH + ld de, wVermilionDockTileMapBuffer + ld bc, (6 * BG_MAP_WIDTH) / 16 + call CopyVideoData + +; Replace the blocks of the lower half of the ship with water blocks. This +; leaves the upper half alone, but that doesn't matter because replacing any of +; the blocks is unnecessary because the blocks the ship occupies are south of +; the player and won't be redrawn when the player automatically walks north and +; exits the map. This code could be removed without affecting anything. + overworldMapCoord hl, 5, 2, VERMILION_DOCK_WIDTH + ld a, $d ; water block + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + + ld a, SFX_SS_ANNE_HORN + call PlaySound + ld c, 120 + call DelayFrames + ret + +VermilionDock_TextPointers: + dw VermilionDockText1 + +VermilionDockText1: + TX_FAR _VermilionDockText1 + db "@" diff --git a/scripts/VermilionGym.asm b/scripts/VermilionGym.asm new file mode 100755 index 00000000..5755628c --- /dev/null +++ b/scripts/VermilionGym.asm @@ -0,0 +1,267 @@ +VermilionGym_Script: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + push hl + call nz, VermilionGymScript_5ca4c + pop hl + bit 6, [hl] + res 6, [hl] + call nz, VermilionGymScript_5ca6d + call EnableAutoTextBoxDrawing + ld hl, VermilionGymTrainerHeader0 + ld de, VermilionGym_ScriptPointers + ld a, [wVermilionGymCurScript] + call ExecuteCurMapScriptInTable + ld [wVermilionGymCurScript], a + ret + +VermilionGymScript_5ca4c: + ld hl, Gym3CityName + ld de, Gym3LeaderName + jp LoadGymLeaderAndCityName + +Gym3CityName: + db "VERMILION CITY@" + +Gym3LeaderName: + db "LT.SURGE@" + +VermilionGymScript_5ca6d: + CheckEvent EVENT_2ND_LOCK_OPENED + jr nz, .asm_5ca78 + ld a, $24 + jr .asm_5ca7f +.asm_5ca78 + ld a, SFX_GO_INSIDE + call PlaySound + ld a, $5 +.asm_5ca7f + ld [wNewTileBlockID], a + lb bc, 2, 2 + predef_jump ReplaceTileBlock + +VermilionGymScript_5ca8a: + xor a + ld [wJoyIgnore], a + ld [wVermilionGymCurScript], a + ld [wCurMapScript], a + ret + +VermilionGym_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw VermilionGymScript3 + +VermilionGymScript3: + ld a, [wIsInBattle] + cp $ff + jp z, VermilionGymScript_5ca8a + ld a, $f0 + ld [wJoyIgnore], a + +VermilionGymScript_5caaa: + ld a, $6 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_BEAT_LT_SURGE + lb bc, TM_24, 1 + call GiveItem + jr nc, .BagFull + ld a, $7 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_GOT_TM24 + jr .asm_5cad3 +.BagFull + ld a, $8 + ld [hSpriteIndexOrTextID], a + call DisplayTextID +.asm_5cad3 + ld hl, wObtainedBadges + set 2, [hl] + ld hl, wBeatGymFlags + set 2, [hl] + + ; deactivate gym trainers + SetEventRange EVENT_BEAT_VERMILION_GYM_TRAINER_0, EVENT_BEAT_VERMILION_GYM_TRAINER_2 + + jp VermilionGymScript_5ca8a + +VermilionGym_TextPointers: + dw VermilionGymText1 + dw VermilionGymText2 + dw VermilionGymText3 + dw VermilionGymText4 + dw VermilionGymText5 + dw VermilionGymText6 + dw VermilionGymText7 + dw VermilionGymText8 + +VermilionGymTrainerHeader0: + dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_0 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_0 + dw VermilionGymBattleText1 ; TextBeforeBattle + dw VermilionGymAfterBattleText1 ; TextAfterBattle + dw VermilionGymEndBattleText1 ; TextEndBattle + dw VermilionGymEndBattleText1 ; TextEndBattle + +VermilionGymTrainerHeader1: + dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_1 + dw VermilionGymBattleText2 ; TextBeforeBattle + dw VermilionGymAfterBattleText2 ; TextAfterBattle + dw VermilionGymEndBattleText2 ; TextEndBattle + dw VermilionGymEndBattleText2 ; TextEndBattle + +VermilionGymTrainerHeader2: + dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_2 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_2 + dw VermilionGymBattleText3 ; TextBeforeBattle + dw VermilionGymAfterBattleText3 ; TextAfterBattle + dw VermilionGymEndBattleText3 ; TextEndBattle + dw VermilionGymEndBattleText3 ; TextEndBattle + + db $ff + +VermilionGymText1: + TX_ASM + CheckEvent EVENT_BEAT_LT_SURGE + jr z, .asm_5cb39 + CheckEventReuseA EVENT_GOT_TM24 + jr nz, .asm_5cb31 + call z, VermilionGymScript_5caaa + call DisableWaitingAfterTextDisplay + jr .asm_5cb6a +.asm_5cb31 + ld hl, VermilionGymText_5cb72 + call PrintText + jr .asm_5cb6a +.asm_5cb39 + ld hl, VermilionGymText_5cb6d + call PrintText + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, ReceivedThunderbadgeText + ld de, ReceivedThunderbadgeText + call SaveEndBattleTextPointers + ld a, [H_SPRITEINDEX] + ld [wSpriteIndex], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $3 + ld [wGymLeaderNo], a + xor a + ld [hJoyHeld], a + ld a, $3 + ld [wVermilionGymCurScript], a + ld [wCurMapScript], a +.asm_5cb6a + jp TextScriptEnd + +VermilionGymText_5cb6d: + TX_FAR _VermilionGymText_5cb6d + db "@" + +VermilionGymText_5cb72: + TX_FAR _VermilionGymText_5cb72 + db "@" + +VermilionGymText6: + TX_FAR _VermilionGymText_5cb77 + db "@" + +VermilionGymText7: + TX_FAR _ReceivedTM24Text + TX_SFX_KEY_ITEM + TX_FAR _TM24ExplanationText + db "@" + +VermilionGymText8: + TX_FAR _TM24NoRoomText + db "@" + +ReceivedThunderbadgeText: + TX_FAR _ReceivedThunderbadgeText + db "@" + +VermilionGymText2: + TX_ASM + ld hl, VermilionGymTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +VermilionGymBattleText1: + TX_FAR _VermilionGymBattleText1 + db "@" + +VermilionGymEndBattleText1: + TX_FAR _VermilionGymEndBattleText1 + db "@" + +VermilionGymAfterBattleText1: + TX_FAR _VermilionGymAfterBattleText1 + db "@" + +VermilionGymText3: + TX_ASM + ld hl, VermilionGymTrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +VermilionGymBattleText2: + TX_FAR _VermilionGymBattleText2 + db "@" + +VermilionGymEndBattleText2: + TX_FAR _VermilionGymEndBattleText2 + db "@" + +VermilionGymAfterBattleText2: + TX_FAR _VermilionGymAfterBattleText2 + db "@" + +VermilionGymText4: + TX_ASM + ld hl, VermilionGymTrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +VermilionGymBattleText3: + TX_FAR _VermilionGymBattleText3 + db "@" + +VermilionGymEndBattleText3: + TX_FAR _VermilionGymEndBattleText3 + db "@" + +VermilionGymAfterBattleText3: + TX_FAR _VermilionGymAfterBattleText3 + db "@" + +VermilionGymText5: + TX_ASM + ld a, [wBeatGymFlags] + bit 2, a + jr nz, .asm_5cbeb + ld hl, VermilionGymText_5cbf4 + call PrintText + jr .asm_5cbf1 +.asm_5cbeb + ld hl, VermilionGymText_5cbf9 + call PrintText +.asm_5cbf1 + jp TextScriptEnd + +VermilionGymText_5cbf4: + TX_FAR _VermilionGymText_5cbf4 + db "@" + +VermilionGymText_5cbf9: + TX_FAR _VermilionGymText_5cbf9 + db "@" diff --git a/scripts/VermilionMart.asm b/scripts/VermilionMart.asm new file mode 100755 index 00000000..00ba0c26 --- /dev/null +++ b/scripts/VermilionMart.asm @@ -0,0 +1,15 @@ +VermilionMart_Script: + jp EnableAutoTextBoxDrawing + +VermilionMart_TextPointers: + dw VermilionCashierText + dw VermilionMartText2 + dw VermilionMartText3 + +VermilionMartText2: + TX_FAR _VermilionMartText2 + db "@" + +VermilionMartText3: + TX_FAR _VermilionMartText3 + db "@" diff --git a/scripts/VermilionOldRodHouse.asm b/scripts/VermilionOldRodHouse.asm new file mode 100755 index 00000000..772158ff --- /dev/null +++ b/scripts/VermilionOldRodHouse.asm @@ -0,0 +1,57 @@ +VermilionOldRodHouse_Script: + jp EnableAutoTextBoxDrawing + +VermilionOldRodHouse_TextPointers: + dw VermilionHouse2Text1 + +VermilionHouse2Text1: + TX_ASM + ld a, [wd728] + bit 3, a + jr nz, .asm_03ef5 + ld hl, VermilionHouse2Text_560b1 + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_eb1b7 + lb bc, OLD_ROD, 1 + call GiveItem + jr nc, .BagFull + ld hl, wd728 + set 3, [hl] + ld hl, VermilionHouse2Text_560b6 + jr .asm_5dd95 +.BagFull + ld hl, VermilionHouse2Text_560ca + jr .asm_5dd95 +.asm_eb1b7 + ld hl, VermilionHouse2Text_560c0 + jr .asm_5dd95 +.asm_03ef5 + ld hl, VermilionHouse2Text_560c5 +.asm_5dd95 + call PrintText + jp TextScriptEnd + +VermilionHouse2Text_560b1: + TX_FAR _VermilionHouse2Text_560b1 + db "@" + +VermilionHouse2Text_560b6: + TX_FAR _VermilionHouse2Text_560b6 + TX_SFX_ITEM_1 + TX_FAR _VermilionHouse2Text_560bb + db "@" + +VermilionHouse2Text_560c0: + TX_FAR _VermilionHouse2Text_560c0 + db "@" + +VermilionHouse2Text_560c5: + TX_FAR _VermilionHouse2Text_560c5 + db "@" + +VermilionHouse2Text_560ca: + TX_FAR _VermilionHouse2Text_560ca + db "@" diff --git a/scripts/VermilionPidgeyHouse.asm b/scripts/VermilionPidgeyHouse.asm new file mode 100755 index 00000000..5004d367 --- /dev/null +++ b/scripts/VermilionPidgeyHouse.asm @@ -0,0 +1,24 @@ +VermilionPidgeyHouse_Script: + call EnableAutoTextBoxDrawing + ret + +VermilionPidgeyHouse_TextPointers: + dw VermilionHouse1Text1 + dw VermilionHouse1Text2 + dw VermilionHouse1Text3 + +VermilionHouse1Text1: + TX_FAR _VermilionHouse1Text1 + db "@" + +VermilionHouse1Text2: + TX_FAR _VermilionHouse1Text2 + TX_ASM + ld a, PIDGEY + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + +VermilionHouse1Text3: + TX_FAR _VermilionHouse1Text3 + db "@" diff --git a/scripts/VermilionPokecenter.asm b/scripts/VermilionPokecenter.asm new file mode 100755 index 00000000..60b28c57 --- /dev/null +++ b/scripts/VermilionPokecenter.asm @@ -0,0 +1,23 @@ +VermilionPokecenter_Script: + call Serial_TryEstablishingExternallyClockedConnection + jp EnableAutoTextBoxDrawing + +VermilionPokecenter_TextPointers: + dw VermilionHealNurseText + dw VermilionPokecenterText2 + dw VermilionPokecenterText3 + dw VermilionTradeNurseText + +VermilionHealNurseText: + TX_POKECENTER_NURSE + +VermilionPokecenterText2: + TX_FAR _VermilionPokecenterText2 + db "@" + +VermilionPokecenterText3: + TX_FAR _VermilionPokecenterText3 + db "@" + +VermilionTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/VermilionTradeHouse.asm b/scripts/VermilionTradeHouse.asm new file mode 100755 index 00000000..828e3716 --- /dev/null +++ b/scripts/VermilionTradeHouse.asm @@ -0,0 +1,12 @@ +VermilionTradeHouse_Script: + jp EnableAutoTextBoxDrawing + +VermilionTradeHouse_TextPointers: + dw VermilionHouse3Text1 + +VermilionHouse3Text1: + TX_ASM + ld a, $4 + ld [wWhichTrade], a + predef DoInGameTradeDialogue + jp TextScriptEnd diff --git a/scripts/VictoryRoad1F.asm b/scripts/VictoryRoad1F.asm new file mode 100755 index 00000000..0a2588a7 --- /dev/null +++ b/scripts/VictoryRoad1F.asm @@ -0,0 +1,103 @@ +VictoryRoad1F_Script: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + call nz, .next + call EnableAutoTextBoxDrawing + ld hl, VictoryRoad1TrainerHeader0 + ld de, VictoryRoad1F_ScriptPointers + ld a, [wVictoryRoad1FCurScript] + call ExecuteCurMapScriptInTable + ld [wVictoryRoad1FCurScript], a + ret +.next + CheckEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH + ret z + ld a, $1d + ld [wNewTileBlockID], a + lb bc, 6, 4 + predef_jump ReplaceTileBlock + +VictoryRoad1F_ScriptPointers: + dw VictoryRoad1Script0 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +VictoryRoad1Script0: + CheckEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH + jp nz, CheckFightingMapTrainers + ld hl, CoordsData_5da5c + call CheckBoulderCoords + jp nc, CheckFightingMapTrainers + ld hl, wCurrentMapScriptFlags + set 5, [hl] + SetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH + ret + +CoordsData_5da5c: + db $0D,$11,$FF + +VictoryRoad1F_TextPointers: + dw VictoryRoad1Text1 + dw VictoryRoad1Text2 + dw PickUpItemText + dw PickUpItemText + dw BoulderText + dw BoulderText + dw BoulderText + +VictoryRoad1TrainerHeader0: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 + dw VictoryRoad1BattleText1 ; TextBeforeBattle + dw VictoryRoad1AfterBattleText1 ; TextAfterBattle + dw VictoryRoad1EndBattleText1 ; TextEndBattle + dw VictoryRoad1EndBattleText1 ; TextEndBattle + +VictoryRoad1TrainerHeader1: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 + dw VictoryRoad1BattleText2 ; TextBeforeBattle + dw VictoryRoad1AfterBattleText2 ; TextAfterBattle + dw VictoryRoad1EndBattleText2 ; TextEndBattle + dw VictoryRoad1EndBattleText2 ; TextEndBattle + + db $ff + +VictoryRoad1Text1: + TX_ASM + ld hl, VictoryRoad1TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad1Text2: + TX_ASM + ld hl, VictoryRoad1TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad1BattleText1: + TX_FAR _VictoryRoad1BattleText1 + db "@" + +VictoryRoad1EndBattleText1: + TX_FAR _VictoryRoad1EndBattleText1 + db "@" + +VictoryRoad1AfterBattleText1: + TX_FAR _VictoryRoad1AfterBattleText1 + db "@" + +VictoryRoad1BattleText2: + TX_FAR _VictoryRoad1BattleText2 + db "@" + +VictoryRoad1EndBattleText2: + TX_FAR _VictoryRoad1EndBattleText2 + db "@" + +VictoryRoad1AfterBattleText2: + TX_FAR _VictoryRoad1AfterBattleText2 + db "@" diff --git a/scripts/VictoryRoad2F.asm b/scripts/VictoryRoad2F.asm new file mode 100755 index 00000000..9dfb05ed --- /dev/null +++ b/scripts/VictoryRoad2F.asm @@ -0,0 +1,244 @@ +VictoryRoad2F_Script: + ld hl, wCurrentMapScriptFlags + bit 6, [hl] + res 6, [hl] + call nz, VictoryRoad2Script_517c4 + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + call nz, VictoryRoad2Script_517c9 + call EnableAutoTextBoxDrawing + ld hl, VictoryRoad2TrainerHeader0 + ld de, VictoryRoad2F_ScriptPointers + ld a, [wVictoryRoad2FCurScript] + call ExecuteCurMapScriptInTable + ld [wVictoryRoad2FCurScript], a + ret + +VictoryRoad2Script_517c4: + ResetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH + +VictoryRoad2Script_517c9: + CheckEvent EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 + jr z, .asm_517da + push af + ld a, $15 + lb bc, 4, 3 + call VictoryRoad2Script_517e2 + pop af +.asm_517da + bit 7, a + ret z + ld a, $1d + lb bc, 7, 11 + +VictoryRoad2Script_517e2: + ld [wNewTileBlockID], a + predef ReplaceTileBlock + ret + +VictoryRoad2F_ScriptPointers: + dw VictoryRoad2Script0 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +VictoryRoad2Script0: + ld hl, CoordsData_51816 + call CheckBoulderCoords + jp nc, CheckFightingMapTrainers + EventFlagAddress hl, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 + ld a, [wCoordIndex] + cp $2 + jr z, .asm_5180b + CheckEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 + SetEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 + ret nz + jr .asm_51810 +.asm_5180b + CheckEventAfterBranchReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 + SetEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2 + ret nz +.asm_51810 + ld hl, wCurrentMapScriptFlags + set 5, [hl] + ret + +CoordsData_51816: + db $10,$01 + db $10,$09 + db $FF + +VictoryRoad2F_TextPointers: + dw VictoryRoad2Text1 + dw VictoryRoad2Text2 + dw VictoryRoad2Text3 + dw VictoryRoad2Text4 + dw VictoryRoad2Text5 + dw MoltresText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw BoulderText + dw BoulderText + dw BoulderText + +VictoryRoad2TrainerHeader0: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 + dw VictoryRoad2BattleText1 ; TextBeforeBattle + dw VictoryRoad2AfterBattleText1 ; TextAfterBattle + dw VictoryRoad2EndBattleText1 ; TextEndBattle + dw VictoryRoad2EndBattleText1 ; TextEndBattle + +VictoryRoad2TrainerHeader1: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1 + dw VictoryRoad2BattleText2 ; TextBeforeBattle + dw VictoryRoad2AfterBattleText2 ; TextAfterBattle + dw VictoryRoad2EndBattleText2 ; TextEndBattle + dw VictoryRoad2EndBattleText2 ; TextEndBattle + +VictoryRoad2TrainerHeader2: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 + dw VictoryRoad2BattleText3 ; TextBeforeBattle + dw VictoryRoad2AfterBattleText3 ; TextAfterBattle + dw VictoryRoad2EndBattleText3 ; TextEndBattle + dw VictoryRoad2EndBattleText3 ; TextEndBattle + +VictoryRoad2TrainerHeader3: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 + db ($1 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 + dw VictoryRoad2BattleText4 ; TextBeforeBattle + dw VictoryRoad2AfterBattleText4 ; TextAfterBattle + dw VictoryRoad2EndBattleText4 ; TextEndBattle + dw VictoryRoad2EndBattleText4 ; TextEndBattle + +VictoryRoad2TrainerHeader4: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 + dw VictoryRoad2BattleText5 ; TextBeforeBattle + dw VictoryRoad2AfterBattleText5 ; TextAfterBattle + dw VictoryRoad2EndBattleText5 ; TextEndBattle + dw VictoryRoad2EndBattleText5 ; TextEndBattle + +MoltresTrainerHeader: + dbEventFlagBit EVENT_BEAT_MOLTRES + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_MOLTRES + dw MoltresBattleText ; TextBeforeBattle + dw MoltresBattleText ; TextAfterBattle + dw MoltresBattleText ; TextEndBattle + dw MoltresBattleText ; TextEndBattle + + db $ff + +VictoryRoad2Text1: + TX_ASM + ld hl, VictoryRoad2TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad2Text2: + TX_ASM + ld hl, VictoryRoad2TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad2Text3: + TX_ASM + ld hl, VictoryRoad2TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad2Text4: + TX_ASM + ld hl, VictoryRoad2TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad2Text5: + TX_ASM + ld hl, VictoryRoad2TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +MoltresText: + TX_ASM + ld hl, MoltresTrainerHeader + call TalkToTrainer + jp TextScriptEnd + +MoltresBattleText: + TX_FAR _MoltresBattleText + TX_ASM + ld a, MOLTRES + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + +VictoryRoad2BattleText1: + TX_FAR _VictoryRoad2BattleText1 + db "@" + +VictoryRoad2EndBattleText1: + TX_FAR _VictoryRoad2EndBattleText1 + db "@" + +VictoryRoad2AfterBattleText1: + TX_FAR _VictoryRoad2AfterBattleText1 + db "@" + +VictoryRoad2BattleText2: + TX_FAR _VictoryRoad2BattleText2 + db "@" + +VictoryRoad2EndBattleText2: + TX_FAR _VictoryRoad2EndBattleText2 + db "@" + +VictoryRoad2AfterBattleText2: + TX_FAR _VictoryRoad2AfterBattleText2 + db "@" + +VictoryRoad2BattleText3: + TX_FAR _VictoryRoad2BattleText3 + db "@" + +VictoryRoad2EndBattleText3: + TX_FAR _VictoryRoad2EndBattleText3 + db "@" + +VictoryRoad2AfterBattleText3: + TX_FAR _VictoryRoad2AfterBattleText3 + db "@" + +VictoryRoad2BattleText4: + TX_FAR _VictoryRoad2BattleText4 + db "@" + +VictoryRoad2EndBattleText4: + TX_FAR _VictoryRoad2EndBattleText4 + db "@" + +VictoryRoad2AfterBattleText4: + TX_FAR _VictoryRoad2AfterBattleText4 + db "@" + +VictoryRoad2BattleText5: + TX_FAR _VictoryRoad2BattleText5 + db "@" + +VictoryRoad2EndBattleText5: + TX_FAR _VictoryRoad2EndBattleText5 + db "@" + +VictoryRoad2AfterBattleText5: + TX_FAR _VictoryRoad2AfterBattleText5 + db "@" diff --git a/scripts/VictoryRoad3F.asm b/scripts/VictoryRoad3F.asm new file mode 100755 index 00000000..d145c4a1 --- /dev/null +++ b/scripts/VictoryRoad3F.asm @@ -0,0 +1,197 @@ +VictoryRoad3F_Script: + call VictoryRoad3Script_44996 + call EnableAutoTextBoxDrawing + ld hl, VictoryRoad3TrainerHeader0 + ld de, VictoryRoad3F_ScriptPointers + ld a, [wVictoryRoad3FCurScript] + call ExecuteCurMapScriptInTable + ld [wVictoryRoad3FCurScript], a + ret + +VictoryRoad3Script_44996: + ld hl, wCurrentMapScriptFlags + bit 5, [hl] + res 5, [hl] + ret z + CheckEventHL EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 + ret z + ld a, $1d + ld [wNewTileBlockID], a + lb bc, 5, 3 + predef_jump ReplaceTileBlock + +VictoryRoad3F_ScriptPointers: + dw VictoryRoad3Script0 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +VictoryRoad3Script0: + ld hl, wFlags_0xcd60 + bit 7, [hl] + res 7, [hl] + jp z, .asm_449fe + ld hl, .coordsData_449f9 + call CheckBoulderCoords + jp nc, .asm_449fe + ld a, [wCoordIndex] + cp $1 + jr nz, .asm_449dc + ld hl, wCurrentMapScriptFlags + set 5, [hl] + SetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 + ret +.asm_449dc + CheckAndSetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 + jr nz, .asm_449fe + ld a, HS_VICTORY_ROAD_3F_BOULDER + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_VICTORY_ROAD_2F_BOULDER + ld [wMissableObjectIndex], a + predef_jump ShowObject + +.coordsData_449f9: + db $05,$03 + db $0F,$17 + db $FF + +.asm_449fe + ld a, VICTORY_ROAD_2F + ld [wDungeonWarpDestinationMap], a + ld hl, .coordsData_449f9 + call IsPlayerOnDungeonWarp + ld a, [wCoordIndex] + cp $1 + jr nz, .asm_44a1b + ld hl, wd72d + res 4, [hl] + ld hl, wd732 + res 4, [hl] + ret +.asm_44a1b + ld a, [wd72d] + bit 4, a + jp z, CheckFightingMapTrainers + ret + +VictoryRoad3F_TextPointers: + dw VictoryRoad3Text1 + dw VictoryRoad3Text2 + dw VictoryRoad3Text3 + dw VictoryRoad3Text4 + dw PickUpItemText + dw PickUpItemText + dw BoulderText + dw BoulderText + dw BoulderText + dw BoulderText + +VictoryRoad3TrainerHeader0: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 + db ($1 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 + dw VictoryRoad3BattleText2 ; TextBeforeBattle + dw VictoryRoad3AfterBattleText2 ; TextAfterBattle + dw VictoryRoad3EndBattleText2 ; TextEndBattle + dw VictoryRoad3EndBattleText2 ; TextEndBattle + +VictoryRoad3TrainerHeader1: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1 + dw VictoryRoad3BattleText3 ; TextBeforeBattle + dw VictoryRoad3AfterBattleText3 ; TextAfterBattle + dw VictoryRoad3EndBattleText3 ; TextEndBattle + dw VictoryRoad3EndBattleText3 ; TextEndBattle + +VictoryRoad3TrainerHeader2: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 + dw VictoryRoad3BattleText4 ; TextBeforeBattle + dw VictoryRoad3AfterBattleText4 ; TextAfterBattle + dw VictoryRoad3EndBattleText4 ; TextEndBattle + dw VictoryRoad3EndBattleText4 ; TextEndBattle + +VictoryRoad3TrainerHeader3: + dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 + dw VictoryRoad3BattleText5 ; TextBeforeBattle + dw VictoryRoad3AfterBattleText5 ; TextAfterBattle + dw VictoryRoad3EndBattleText5 ; TextEndBattle + dw VictoryRoad3EndBattleText5 ; TextEndBattle + + db $ff + +VictoryRoad3Text1: + TX_ASM + ld hl, VictoryRoad3TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad3Text2: + TX_ASM + ld hl, VictoryRoad3TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad3Text3: + TX_ASM + ld hl, VictoryRoad3TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad3Text4: + TX_ASM + ld hl, VictoryRoad3TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad3BattleText2: + TX_FAR _VictoryRoad3BattleText2 + db "@" + +VictoryRoad3EndBattleText2: + TX_FAR _VictoryRoad3EndBattleText2 + db "@" + +VictoryRoad3AfterBattleText2: + TX_FAR _VictoryRoad3AfterBattleText2 + db "@" + +VictoryRoad3BattleText3: + TX_FAR _VictoryRoad3BattleText3 + db "@" + +VictoryRoad3EndBattleText3: + TX_FAR _VictoryRoad3EndBattleText3 + db "@" + +VictoryRoad3AfterBattleText3: + TX_FAR _VictoryRoad3AfterBattleText3 + db "@" + +VictoryRoad3BattleText4: + TX_FAR _VictoryRoad3BattleText4 + db "@" + +VictoryRoad3EndBattleText4: + TX_FAR _VictoryRoad3EndBattleText4 + db "@" + +VictoryRoad3AfterBattleText4: + TX_FAR _VictoryRoad3AfterBattleText4 + db "@" + +VictoryRoad3BattleText5: + TX_FAR _VictoryRoad3BattleText5 + db "@" + +VictoryRoad3EndBattleText5: + TX_FAR _VictoryRoad3EndBattleText5 + db "@" + +VictoryRoad3AfterBattleText5: + TX_FAR _VictoryRoad3AfterBattleText5 + db "@" diff --git a/scripts/ViridianCity.asm b/scripts/ViridianCity.asm new file mode 100755 index 00000000..b70927b2 --- /dev/null +++ b/scripts/ViridianCity.asm @@ -0,0 +1,327 @@ +ViridianCity_Script: + call EnableAutoTextBoxDrawing + ld hl, ViridianCity_ScriptPointers + ld a, [wViridianCityCurScript] + jp CallFunctionInTable + +ViridianCity_ScriptPointers: + dw ViridianCityScript0 + dw ViridianCityScript1 + dw ViridianCityScript2 + dw ViridianCityScript3 + +ViridianCityScript0: + call ViridianCityScript_1900b + jp ViridianCityScript_1903d + +ViridianCityScript_1900b: + CheckEvent EVENT_VIRIDIAN_GYM_OPEN + ret nz + ld a, [wObtainedBadges] + cp %01111111 + jr nz, .asm_1901e + SetEvent EVENT_VIRIDIAN_GYM_OPEN + ret +.asm_1901e + ld a, [wYCoord] + cp $8 + ret nz + ld a, [wXCoord] + cp $20 + ret nz + ld a, $e + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [hJoyHeld], a + call ViridianCityScript_190cf + ld a, $3 + ld [wViridianCityCurScript], a + ret + +ViridianCityScript_1903d: + CheckEvent EVENT_GOT_POKEDEX + ret nz + ld a, [wYCoord] + cp $9 + ret nz + ld a, [wXCoord] + cp $13 + ret nz + ld a, $5 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [hJoyHeld], a + call ViridianCityScript_190cf + ld a, $3 + ld [wViridianCityCurScript], a + ret + +ViridianCityScript1: + ld a, [wSpriteStateData1 + $34] + ld [$ffeb], a + ld a, [wSpriteStateData1 + $36] + ld [$ffec], a + ld a, [wSpriteStateData2 + $34] + ld [$ffed], a + ld a, [wSpriteStateData2 + $35] + ld [$ffee], a + xor a + ld [wListScrollOffset], a + + ; set up battle for Old Man + ld a, BATTLE_TYPE_OLD_MAN + ld [wBattleType], a + ld a, 5 + ld [wCurEnemyLVL], a + ld a, WEEDLE + ld [wCurOpponent], a + ld a, $2 + ld [wViridianCityCurScript], a + ret + +ViridianCityScript2: + ld a, [$ffeb] + ld [wSpriteStateData1 + $34], a + ld a, [$ffec] + ld [wSpriteStateData1 + $36], a + ld a, [$ffed] + ld [wSpriteStateData2 + $34], a + ld a, [$ffee] + ld [wSpriteStateData2 + $35], a + call UpdateSprites + call Delay3 + xor a + ld [wJoyIgnore], a + ld a, $f + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [wBattleType], a + ld [wJoyIgnore], a + ld a, $0 + ld [wViridianCityCurScript], a + ret + +ViridianCityScript3: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + call Delay3 + ld a, 0 + ld [wViridianCityCurScript], a + ret + +ViridianCityScript_190cf: + call StartSimulatingJoypadStates + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + ld a, D_DOWN + ld [wSimulatedJoypadStatesEnd], a + xor a + ld [wSpriteStateData1 + 9], a + ld [wJoyIgnore], a + ret + +ViridianCity_TextPointers: + dw ViridianCityText1 + dw ViridianCityText2 + dw ViridianCityText3 + dw ViridianCityText4 + dw ViridianCityText5 + dw ViridianCityText6 + dw ViridianCityText7 + dw ViridianCityText8 + dw ViridianCityText9 + dw ViridianCityText10 + dw MartSignText + dw PokeCenterSignText + dw ViridianCityText13 + dw ViridianCityText14 + dw ViridianCityText15 + +ViridianCityText1: + TX_FAR _ViridianCityText1 + db "@" + +ViridianCityText2: + TX_ASM + ld a, [wObtainedBadges] + cp %01111111 + ld hl, ViridianCityText_19127 + jr z, .asm_ae9fe + CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI + jr nz, .asm_ae9fe + ld hl, ViridianCityText_19122 +.asm_ae9fe + call PrintText + jp TextScriptEnd + +ViridianCityText_19122: + TX_FAR _ViridianCityText_19122 + db "@" + +ViridianCityText_19127: + TX_FAR _ViridianCityText_19127 + db "@" + +ViridianCityText3: + TX_ASM + ld hl, ViridianCityText_1914d + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_6dfea + ld hl, ViridianCityText_19157 + call PrintText + jr .asm_d611f +.asm_6dfea + ld hl, ViridianCityText_19152 + call PrintText +.asm_d611f + jp TextScriptEnd + +ViridianCityText_1914d: + TX_FAR _ViridianCityText_1914d + db "@" + +ViridianCityText_19152: + TX_FAR _ViridianCityText_19152 + db "@" + +ViridianCityText_19157: + TX_FAR _ViridianCityText_19157 + db "@" + +ViridianCityText4: + TX_ASM + CheckEvent EVENT_GOT_POKEDEX + jr nz, .asm_83894 + ld hl, ViridianCityText_19175 + call PrintText + jr .asm_700a6 +.asm_83894 + ld hl, ViridianCityText_1917a + call PrintText +.asm_700a6 + jp TextScriptEnd + +ViridianCityText_19175: + TX_FAR _ViridianCityText_19175 + db "@" + +ViridianCityText_1917a: + TX_FAR _ViridianCityText_1917a + db "@" + +ViridianCityText5: + TX_ASM + ld hl, ViridianCityText_19191 + call PrintText + call ViridianCityScript_190cf + ld a, $3 + ld [wViridianCityCurScript], a + jp TextScriptEnd + +ViridianCityText_19191: + TX_FAR _ViridianCityText_19191 + db "@" + +ViridianCityText6: + TX_ASM + CheckEvent EVENT_GOT_TM42 + jr nz, .asm_4e5a0 + ld hl, ViridianCityText_191ca + call PrintText + lb bc, TM_42, 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedTM42Text + call PrintText + SetEvent EVENT_GOT_TM42 + jr .asm_3c73c +.BagFull + ld hl, TM42NoRoomText + call PrintText + jr .asm_3c73c +.asm_4e5a0 + ld hl, TM42Explanation + call PrintText +.asm_3c73c + jp TextScriptEnd + +ViridianCityText_191ca: + TX_FAR _ViridianCityText_191ca + db "@" + +ReceivedTM42Text: + TX_FAR _ReceivedTM42Text + TX_SFX_ITEM_2 + db "@" + +TM42Explanation: + TX_FAR _TM42Explanation + db "@" + +TM42NoRoomText: + TX_FAR _TM42NoRoomText + db "@" + +ViridianCityText7: + TX_ASM + ld hl, ViridianCityText_1920a + call PrintText + ld c, 2 + call DelayFrames + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr z, .asm_42f68 + ld hl, ViridianCityText_1920f + call PrintText + ld a, $1 + ld [wViridianCityCurScript], a + jr .asm_2413a +.asm_42f68 + ld hl, ViridianCityText_19214 + call PrintText +.asm_2413a + jp TextScriptEnd + +ViridianCityText_1920a: + TX_FAR _ViridianCityText_1920a + db "@" + +ViridianCityText_1920f: + TX_FAR _ViridianCityText_1920f + db "@" + +ViridianCityText_19214: + TX_FAR _ViridianCityText_19214 + db "@" + +ViridianCityText15: + TX_FAR _ViridianCityText_19219 + db "@" + +ViridianCityText8: + TX_FAR _ViridianCityText8 + db "@" + +ViridianCityText9: + TX_FAR _ViridianCityText9 + db "@" + +ViridianCityText10: + TX_FAR _ViridianCityText10 + db "@" + +ViridianCityText13: + TX_FAR _ViridianCityText13 + db "@" + +ViridianCityText14: + TX_FAR _ViridianCityText14 + db "@" diff --git a/scripts/ViridianForest.asm b/scripts/ViridianForest.asm new file mode 100755 index 00000000..acd26b8a --- /dev/null +++ b/scripts/ViridianForest.asm @@ -0,0 +1,144 @@ +ViridianForest_Script: + call EnableAutoTextBoxDrawing + ld hl, ViridianForestTrainerHeader0 + ld de, ViridianForest_ScriptPointers + ld a, [wViridianForestCurScript] + call ExecuteCurMapScriptInTable + ld [wViridianForestCurScript], a + ret + +ViridianForest_ScriptPointers: + dw CheckFightingMapTrainers + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + +ViridianForest_TextPointers: + dw ViridianForestText1 + dw ViridianForestText2 + dw ViridianForestText3 + dw ViridianForestText4 + dw PickUpItemText + dw PickUpItemText + dw PickUpItemText + dw ViridianForestText8 + dw ViridianForestText9 + dw ViridianForestText10 + dw ViridianForestText11 + dw ViridianForestText12 + dw ViridianForestText13 + dw ViridianForestText14 + +ViridianForestTrainerHeader0: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 + dw ViridianForestBattleText1 ; TextBeforeBattle + dw ViridianForestAfterBattleText1 ; TextAfterBattle + dw ViridianForestEndBattleText1 ; TextEndBattle + dw ViridianForestEndBattleText1 ; TextEndBattle + +ViridianForestTrainerHeader1: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 + dw ViridianForestBattleText2 ; TextBeforeBattle + dw ViridianForestAfterBattleText2 ; TextAfterBattle + dw ViridianForestEndBattleText2 ; TextEndBattle + dw ViridianForestEndBattleText2 ; TextEndBattle + +ViridianForestTrainerHeader2: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 + db ($1 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 + dw ViridianForestBattleText3 ; TextBeforeBattle + dw ViridianForestAfterBattleText3 ; TextAfterBattle + dw ViridianForestEndBattleText3 ; TextEndBattle + dw ViridianForestEndBattleText3 ; TextEndBattle + + db $ff + +ViridianForestText1: + TX_FAR _ViridianForestText1 + db "@" + +ViridianForestText2: + TX_ASM + ld hl, ViridianForestTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +ViridianForestText3: + TX_ASM + ld hl, ViridianForestTrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +ViridianForestText4: + TX_ASM + ld hl, ViridianForestTrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +ViridianForestBattleText1: + TX_FAR _ViridianForestBattleText1 + db "@" + +ViridianForestEndBattleText1: + TX_FAR _ViridianForestEndBattleText1 + db "@" + +ViridianForestAfterBattleText1: + TX_FAR _ViridianFrstAfterBattleText1 + db "@" + +ViridianForestBattleText2: + TX_FAR _ViridianForestBattleText2 + db "@" + +ViridianForestEndBattleText2: + TX_FAR _ViridianForestEndBattleText2 + db "@" + +ViridianForestAfterBattleText2: + TX_FAR _ViridianFrstAfterBattleText2 + db "@" + +ViridianForestBattleText3: + TX_FAR _ViridianForestBattleText3 + db "@" + +ViridianForestEndBattleText3: + TX_FAR _ViridianForestEndBattleText3 + db "@" + +ViridianForestAfterBattleText3: + TX_FAR _ViridianFrstAfterBattleText3 + db "@" + +ViridianForestText8: + TX_FAR _ViridianForestText8 + db "@" + +ViridianForestText9: + TX_FAR _ViridianForestText9 + db "@" + +ViridianForestText10: + TX_FAR _ViridianForestText10 + db "@" + +ViridianForestText11: + TX_FAR _ViridianForestText11 + db "@" + +ViridianForestText12: + TX_FAR _ViridianForestText12 + db "@" + +ViridianForestText13: + TX_FAR _ViridianForestText13 + db "@" + +ViridianForestText14: + TX_FAR _ViridianForestText14 + db "@" diff --git a/scripts/ViridianForestNorthGate.asm b/scripts/ViridianForestNorthGate.asm new file mode 100755 index 00000000..e421bf5b --- /dev/null +++ b/scripts/ViridianForestNorthGate.asm @@ -0,0 +1,14 @@ +ViridianForestNorthGate_Script: + jp EnableAutoTextBoxDrawing + +ViridianForestNorthGate_TextPointers: + dw ViridianForestExitText1 + dw ViridianForestExitText2 + +ViridianForestExitText1: + TX_FAR _ViridianForestExitText1 + db "@" + +ViridianForestExitText2: + TX_FAR _ViridianForestExitText2 + db "@" diff --git a/scripts/ViridianForestSouthGate.asm b/scripts/ViridianForestSouthGate.asm new file mode 100755 index 00000000..397f0eca --- /dev/null +++ b/scripts/ViridianForestSouthGate.asm @@ -0,0 +1,14 @@ +ViridianForestSouthGate_Script: + jp EnableAutoTextBoxDrawing + +ViridianForestSouthGate_TextPointers: + dw ViridianForestEntranceText1 + dw ViridianForestEntranceText2 + +ViridianForestEntranceText1: + TX_FAR _ViridianForestEntranceText1 + db "@" + +ViridianForestEntranceText2: + TX_FAR _ViridianForestEntranceText2 + db "@" diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm new file mode 100755 index 00000000..44966fef --- /dev/null +++ b/scripts/ViridianGym.asm @@ -0,0 +1,496 @@ +ViridianGym_Script: + ld hl, Gym8CityName + ld de, Gym8LeaderName + call LoadGymLeaderAndCityName + call EnableAutoTextBoxDrawing + ld hl, ViridianGymTrainerHeader0 + ld de, ViridianGym_ScriptPointers + ld a, [wViridianGymCurScript] + call ExecuteCurMapScriptInTable + ld [wViridianGymCurScript], a + ret + +Gym8CityName: + db "VIRIDIAN CITY@" +Gym8LeaderName: + db "GIOVANNI@" + +ViridianGymScript_748d6: + xor a + ld [wJoyIgnore], a + ld [wViridianGymCurScript], a + ld [wCurMapScript], a + ret + +ViridianGym_ScriptPointers: + dw ViridianGymScript0 + dw DisplayEnemyTrainerTextAndStartBattle + dw EndTrainerBattle + dw ViridianGymScript3 + dw ViridianGymScript4 + +ViridianGymScript0: + ld a, [wYCoord] + ld b, a + ld a, [wXCoord] + ld c, a + ld hl, ViridianGymArrowTilePlayerMovement + call DecodeArrowMovementRLE + cp $ff + jp z, CheckFightingMapTrainers + call StartSimulatingJoypadStates + ld hl, wd736 + set 7, [hl] + ld a, SFX_ARROW_TILES + call PlaySound + ld a, $ff + ld [wJoyIgnore], a + ld a, $4 + ld [wCurMapScript], a + ret + +;format: +;db y,x +;dw pointer to movement +ViridianGymArrowTilePlayerMovement: + db $b,$13 + dw ViridianGymArrowMovement1 + db $1,$13 + dw ViridianGymArrowMovement2 + db $2,$12 + dw ViridianGymArrowMovement3 + db $2,$b + dw ViridianGymArrowMovement4 + db $a,$10 + dw ViridianGymArrowMovement5 + db $6,$4 + dw ViridianGymArrowMovement6 + db $d,$5 + dw ViridianGymArrowMovement7 + db $e,$4 + dw ViridianGymArrowMovement8 + db $f,$0 + dw ViridianGymArrowMovement9 + db $f,$1 + dw ViridianGymArrowMovement10 + db $10,$d + dw ViridianGymArrowMovement11 + db $11,$d + dw ViridianGymArrowMovement12 + db $FF + +;format: direction, count +ViridianGymArrowMovement1: + db D_UP,$09,$FF + +ViridianGymArrowMovement2: + db D_LEFT,$08,$FF + +ViridianGymArrowMovement3: + db D_DOWN,$09,$FF + +ViridianGymArrowMovement4: + db D_RIGHT,$06,$FF + +ViridianGymArrowMovement5: + db D_DOWN,$02,$FF + +ViridianGymArrowMovement6: + db D_DOWN,$07,$FF + +ViridianGymArrowMovement7: + db D_RIGHT,$08,$FF + +ViridianGymArrowMovement8: + db D_RIGHT,$09,$FF + +ViridianGymArrowMovement9: + db D_UP,$08,$FF + +ViridianGymArrowMovement10: + db D_UP,$06,$FF + +ViridianGymArrowMovement11: + db D_LEFT,$06,$FF + +ViridianGymArrowMovement12: + db D_LEFT,$0C,$FF + +ViridianGymScript4: + ld a, [wSimulatedJoypadStatesIndex] + and a + jr nz, .asm_74980 + xor a + ld [wJoyIgnore], a + ld hl, wd736 + res 7, [hl] + ld a, $0 + ld [wCurMapScript], a + ret +.asm_74980 + jpba LoadSpinnerArrowTiles + +ViridianGymScript3: + ld a, [wIsInBattle] + cp $ff + jp z, ViridianGymScript_748d6 + ld a, $f0 + ld [wJoyIgnore], a +ViridianGymScript3_74995: + ld a, $c + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI + lb bc, TM_27, 1 + call GiveItem + jr nc, .BagFull + ld a, $d + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_GOT_TM27 + jr .asm_749be +.BagFull + ld a, $e + ld [hSpriteIndexOrTextID], a + call DisplayTextID +.asm_749be + ld hl, wObtainedBadges + set 7, [hl] + ld hl, wBeatGymFlags + set 7, [hl] + + ; deactivate gym trainers + SetEventRange EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0, EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7 + + ld a, HS_ROUTE_22_RIVAL_2 + ld [wMissableObjectIndex], a + predef ShowObject + SetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE + jp ViridianGymScript_748d6 + +ViridianGym_TextPointers: + dw ViridianGymText1 + dw ViridianGymText2 + dw ViridianGymText3 + dw ViridianGymText4 + dw ViridianGymText5 + dw ViridianGymText6 + dw ViridianGymText7 + dw ViridianGymText8 + dw ViridianGymText9 + dw ViridianGymText10 + dw PickUpItemText + dw ViridianGymText12 + dw ViridianGymText13 + dw ViridianGymText14 + +ViridianGymTrainerHeader0: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 + dw ViridianGymBattleText1 ; TextBeforeBattle + dw ViridianGymAfterBattleText1 ; TextAfterBattle + dw ViridianGymEndBattleText1 ; TextEndBattle + dw ViridianGymEndBattleText1 ; TextEndBattle + +ViridianGymTrainerHeader1: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 + dw ViridianGymBattleText2 ; TextBeforeBattle + dw ViridianGymAfterBattleText2 ; TextAfterBattle + dw ViridianGymEndBattleText2 ; TextEndBattle + dw ViridianGymEndBattleText2 ; TextEndBattle + +ViridianGymTrainerHeader2: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 + dw ViridianGymBattleText3 ; TextBeforeBattle + dw ViridianGymAfterBattleText3 ; TextAfterBattle + dw ViridianGymEndBattleText3 ; TextEndBattle + dw ViridianGymEndBattleText3 ; TextEndBattle + +ViridianGymTrainerHeader3: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 + db ($2 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 + dw ViridianGymBattleText4 ; TextBeforeBattle + dw ViridianGymAfterBattleText4 ; TextAfterBattle + dw ViridianGymEndBattleText4 ; TextEndBattle + dw ViridianGymEndBattleText4 ; TextEndBattle + +ViridianGymTrainerHeader4: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 + dw ViridianGymBattleText5 ; TextBeforeBattle + dw ViridianGymAfterBattleText5 ; TextAfterBattle + dw ViridianGymEndBattleText5 ; TextEndBattle + dw ViridianGymEndBattleText5 ; TextEndBattle + +ViridianGymTrainerHeader5: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 + dw ViridianGymBattleText6 ; TextBeforeBattle + dw ViridianGymAfterBattleText6 ; TextAfterBattle + dw ViridianGymEndBattleText6 ; TextEndBattle + dw ViridianGymEndBattleText6 ; TextEndBattle + +ViridianGymTrainerHeader6: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1 + db ($3 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1 + dw ViridianGymBattleText7 ; TextBeforeBattle + dw ViridianGymAfterBattleText7 ; TextAfterBattle + dw ViridianGymEndBattleText7 ; TextEndBattle + dw ViridianGymEndBattleText7 ; TextEndBattle + +ViridianGymTrainerHeader7: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1 + dw ViridianGymBattleText8 ; TextBeforeBattle + dw ViridianGymAfterBattleText8 ; TextAfterBattle + dw ViridianGymEndBattleText8 ; TextEndBattle + dw ViridianGymEndBattleText8 ; TextEndBattle + + db $ff + +ViridianGymText1: + TX_ASM + CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI + jr z, .asm_6de66 + CheckEventReuseA EVENT_GOT_TM27 + jr nz, .asm_9fc95 + call z, ViridianGymScript3_74995 + call DisableWaitingAfterTextDisplay + jr .asm_6dff7 +.asm_9fc95 + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, ViridianGymText_74ad9 + call PrintText + call GBFadeOutToBlack + ld a, HS_VIRIDIAN_GYM_GIOVANNI + ld [wMissableObjectIndex], a + predef HideObject + call UpdateSprites + call Delay3 + call GBFadeInFromBlack + jr .asm_6dff7 +.asm_6de66 + ld hl, ViridianGymText_74ace + call PrintText + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, ViridianGymText_74ad3 + ld de, ViridianGymText_74ad3 + call SaveEndBattleTextPointers + ld a, [H_SPRITEINDEX] + ld [wSpriteIndex], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $8 + ld [wGymLeaderNo], a + ld a, $3 + ld [wViridianGymCurScript], a +.asm_6dff7 + jp TextScriptEnd + +ViridianGymText_74ace: + TX_FAR _ViridianGymText_74ace + db "@" + +ViridianGymText_74ad3: + TX_FAR _ViridianGymText_74ad3 + TX_SFX_LEVEL_UP ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded + db "@" + +ViridianGymText_74ad9: + TX_FAR _ViridianGymText_74ad9 + TX_WAIT + db "@" + +ViridianGymText12: + TX_FAR _ViridianGymText12 + db "@" + +ViridianGymText13: + TX_FAR _ReceivedTM27Text + TX_SFX_ITEM_1 + +TM27ExplanationText: + TX_FAR _TM27ExplanationText + db "@" + +ViridianGymText14: + TX_FAR _TM27NoRoomText + db "@" + +ViridianGymText2: + TX_ASM + ld hl, ViridianGymTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +ViridianGymBattleText1: + TX_FAR _ViridianGymBattleText1 + db "@" + +ViridianGymEndBattleText1: + TX_FAR _ViridianGymEndBattleText1 + db "@" + +ViridianGymAfterBattleText1: + TX_FAR _ViridianGymAfterBattleText1 + db "@" + +ViridianGymText3: + TX_ASM + ld hl, ViridianGymTrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +ViridianGymBattleText2: + TX_FAR _ViridianGymBattleText2 + db "@" + +ViridianGymEndBattleText2: + TX_FAR _ViridianGymEndBattleText2 + db "@" + +ViridianGymAfterBattleText2: + TX_FAR _ViridianGymAfterBattleText2 + db "@" + +ViridianGymText4: + TX_ASM + ld hl, ViridianGymTrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +ViridianGymBattleText3: + TX_FAR _ViridianGymBattleText3 + db "@" + +ViridianGymEndBattleText3: + TX_FAR _ViridianGymEndBattleText3 + db "@" + +ViridianGymAfterBattleText3: + TX_FAR _ViridianGymAfterBattleText3 + db "@" + +ViridianGymText5: + TX_ASM + ld hl, ViridianGymTrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +ViridianGymBattleText4: + TX_FAR _ViridianGymBattleText4 + db "@" + +ViridianGymEndBattleText4: + TX_FAR _ViridianGymEndBattleText4 + db "@" + +ViridianGymAfterBattleText4: + TX_FAR _ViridianGymAfterBattleText4 + db "@" + +ViridianGymText6: + TX_ASM + ld hl, ViridianGymTrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +ViridianGymBattleText5: + TX_FAR _ViridianGymBattleText5 + db "@" + +ViridianGymEndBattleText5: + TX_FAR _ViridianGymEndBattleText5 + db "@" + +ViridianGymAfterBattleText5: + TX_FAR _ViridianGymAfterBattleText5 + db "@" + +ViridianGymText7: + TX_ASM + ld hl, ViridianGymTrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +ViridianGymBattleText6: + TX_FAR _ViridianGymBattleText6 + db "@" + +ViridianGymEndBattleText6: + TX_FAR _ViridianGymEndBattleText6 + db "@" + +ViridianGymAfterBattleText6: + TX_FAR _ViridianGymAfterBattleText6 + db "@" + +ViridianGymText8: + TX_ASM + ld hl, ViridianGymTrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +ViridianGymBattleText7: + TX_FAR _ViridianGymBattleText7 + db "@" + +ViridianGymEndBattleText7: + TX_FAR _ViridianGymEndBattleText7 + db "@" + +ViridianGymAfterBattleText7: + TX_FAR _ViridianGymAfterBattleText7 + db "@" + +ViridianGymText9: + TX_ASM + ld hl, ViridianGymTrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +ViridianGymBattleText8: + TX_FAR _ViridianGymBattleText8 + db "@" + +ViridianGymEndBattleText8: + TX_FAR _ViridianGymEndBattleText8 + db "@" + +ViridianGymAfterBattleText8: + TX_FAR _ViridianGymAfterBattleText8 + db "@" + +ViridianGymText10: + TX_ASM + CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI + jr nz, .asm_1abd1 + ld hl, ViridianGymText_74bd4 + call PrintText + jr .asm_6064d +.asm_1abd1 + ld hl, ViridianGymText_74bd9 + call PrintText +.asm_6064d + jp TextScriptEnd + +ViridianGymText_74bd4: + TX_FAR _ViridianGymText_74bd4 + db "@" + +ViridianGymText_74bd9: + TX_FAR _ViridianGymText_74bd9 + db "@" diff --git a/scripts/ViridianMart.asm b/scripts/ViridianMart.asm new file mode 100755 index 00000000..b90d331c --- /dev/null +++ b/scripts/ViridianMart.asm @@ -0,0 +1,94 @@ +ViridianMart_Script: + call ViridianMartScript_1d47d + call EnableAutoTextBoxDrawing + ld hl, ViridianMart_ScriptPointers + ld a, [wViridianMartCurScript] + jp CallFunctionInTable + +ViridianMartScript_1d47d: + CheckEvent EVENT_OAK_GOT_PARCEL + jr nz, .asm_1d489 + ld hl, ViridianMart_TextPointers + jr .asm_1d48c +.asm_1d489 + ld hl, ViridianMart_TextPointers2 +.asm_1d48c + ld a, l + ld [wMapTextPtr], a + ld a, h + ld [wMapTextPtr+1], a + ret + +ViridianMart_ScriptPointers: + dw ViridianMartScript0 + dw ViridianMartScript1 + dw ViridianMartScript2 + +ViridianMartScript0: + call UpdateSprites + ld a, $4 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld hl, wSimulatedJoypadStatesEnd + ld de, RLEMovement1d4bb + call DecodeRLEList + dec a + ld [wSimulatedJoypadStatesIndex], a + call StartSimulatingJoypadStates + ld a, $1 + ld [wViridianMartCurScript], a + ret + +RLEMovement1d4bb: + db D_LEFT, $01 + db D_UP, $02 + db $ff + +ViridianMartScript1: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + call Delay3 + ld a, $5 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + lb bc, OAKS_PARCEL, 1 + call GiveItem + SetEvent EVENT_GOT_OAKS_PARCEL + ld a, $2 + ld [wViridianMartCurScript], a + ; fallthrough +ViridianMartScript2: + ret + +ViridianMart_TextPointers: + dw ViridianMartText1 + dw ViridianMartText2 + dw ViridianMartText3 + dw ViridianMartText4 + dw ViridianMartText5 +ViridianMart_TextPointers2: + dw ViridianCashierText + dw ViridianMartText2 + dw ViridianMartText3 + +ViridianMartText1: + TX_FAR _ViridianMartText1 + db "@" + +ViridianMartText4: + TX_FAR _ViridianMartText4 + db "@" + +ViridianMartText5: + TX_FAR ViridianMartParcelQuestText + TX_SFX_KEY_ITEM + db "@" + +ViridianMartText2: + TX_FAR _ViridianMartText2 + db "@" + +ViridianMartText3: + TX_FAR _ViridianMartText3 + db "@" diff --git a/scripts/ViridianNicknameHouse.asm b/scripts/ViridianNicknameHouse.asm new file mode 100755 index 00000000..000fe82b --- /dev/null +++ b/scripts/ViridianNicknameHouse.asm @@ -0,0 +1,33 @@ +ViridianNicknameHouse_Script: + jp EnableAutoTextBoxDrawing + +ViridianNicknameHouse_TextPointers: + dw ViridianHouseText1 + dw ViridianHouseText2 + dw ViridianHouseText3 + dw ViridianHouseText4 + +ViridianHouseText1: + TX_FAR _ViridianHouseText1 + db "@" + +ViridianHouseText2: + TX_FAR _ViridianHouseText2 + db "@" + +ViridianHouseText3: + TX_ASM + ld hl, ViridianHouseText_1d5b1 + call PrintText + ld a, SPEAROW + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + +ViridianHouseText_1d5b1: + TX_FAR _ViridianHouseText_1d5b1 + db "@" + +ViridianHouseText4: + TX_FAR _ViridianHouseText4 + db "@" diff --git a/scripts/ViridianPokecenter.asm b/scripts/ViridianPokecenter.asm new file mode 100755 index 00000000..14c25b9f --- /dev/null +++ b/scripts/ViridianPokecenter.asm @@ -0,0 +1,23 @@ +ViridianPokecenter_Script: + call Serial_TryEstablishingExternallyClockedConnection + jp EnableAutoTextBoxDrawing + +ViridianPokecenter_TextPointers: + dw ViridianHealNurseText + dw ViridianPokeCenterText2 + dw ViridianPokeCenterText3 + dw ViridianTradeNurseText + +ViridianHealNurseText: + TX_POKECENTER_NURSE + +ViridianPokeCenterText2: + TX_FAR _ViridianPokeCenterText2 + db "@" + +ViridianPokeCenterText3: + TX_FAR _ViridianPokeCenterText3 + db "@" + +ViridianTradeNurseText: + TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/ViridianSchoolHouse.asm b/scripts/ViridianSchoolHouse.asm new file mode 100755 index 00000000..2d9579b7 --- /dev/null +++ b/scripts/ViridianSchoolHouse.asm @@ -0,0 +1,14 @@ +ViridianSchoolHouse_Script: + jp EnableAutoTextBoxDrawing + +ViridianSchoolHouse_TextPointers: + dw SchoolText1 + dw SchoolText2 + +SchoolText1: + TX_FAR _SchoolText1 + db "@" + +SchoolText2: + TX_FAR _SchoolText2 + db "@" diff --git a/scripts/WardensHouse.asm b/scripts/WardensHouse.asm new file mode 100755 index 00000000..69e199c9 --- /dev/null +++ b/scripts/WardensHouse.asm @@ -0,0 +1,113 @@ +WardensHouse_Script: + jp EnableAutoTextBoxDrawing + +WardensHouse_TextPointers: + dw FuchsiaHouse2Text1 + dw PickUpItemText + dw BoulderText + dw FuchsiaHouse2Text4 + dw FuchsiaHouse2Text5 + +FuchsiaHouse2Text1: + TX_ASM + CheckEvent EVENT_GOT_HM04 + jr nz, .subtract + ld b, GOLD_TEETH + call IsItemInBag + jr nz, .asm_3f30f + CheckEvent EVENT_GAVE_GOLD_TEETH + jr nz, .asm_60cba + ld hl, WardenGibberishText1 + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + ld hl, WardenGibberishText3 + jr nz, .asm_61238 + ld hl, WardenGibberishText2 +.asm_61238 + call PrintText + jr .asm_52039 +.asm_3f30f + ld hl, WardenTeethText1 + call PrintText + ld a, GOLD_TEETH + ld [$ffdb], a + callba RemoveItemByID + SetEvent EVENT_GAVE_GOLD_TEETH +.asm_60cba + ld hl, WardenThankYouText + call PrintText + lb bc, HM_04, 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedHM04Text + call PrintText + SetEvent EVENT_GOT_HM04 + jr .asm_52039 +.subtract + ld hl, HM04ExplanationText + call PrintText + jr .asm_52039 +.BagFull + ld hl, HM04NoRoomText + call PrintText +.asm_52039 + jp TextScriptEnd + +WardenGibberishText1: + TX_FAR _WardenGibberishText1 + db "@" + +WardenGibberishText2: + TX_FAR _WardenGibberishText2 + db "@" + +WardenGibberishText3: + TX_FAR _WardenGibberishText3 + db "@" + +WardenTeethText1: + TX_FAR _WardenTeethText1 + TX_SFX_ITEM_1 + +WardenTeethText2: + TX_FAR _WardenTeethText2 + db "@" + +WardenThankYouText: + TX_FAR _WardenThankYouText + db "@" + +ReceivedHM04Text: + TX_FAR _ReceivedHM04Text + TX_SFX_ITEM_1 + db "@" + +HM04ExplanationText: + TX_FAR _HM04ExplanationText + db "@" + +HM04NoRoomText: + TX_FAR _HM04NoRoomText + db "@" + +FuchsiaHouse2Text5: +FuchsiaHouse2Text4: + TX_ASM + ld a, [H_SPRITEINDEX] + cp $4 + ld hl, FuchsiaHouse2Text_7517b + jr nz, .asm_4c9a2 + ld hl, FuchsiaHouse2Text_75176 +.asm_4c9a2 + call PrintText + jp TextScriptEnd + +FuchsiaHouse2Text_75176: + TX_FAR _FuchsiaHouse2Text_75176 + db "@" + +FuchsiaHouse2Text_7517b: + TX_FAR _FuchsiaHouse2Text_7517b + db "@" diff --git a/scripts/agatha.asm b/scripts/agatha.asm deleted file mode 100755 index 88d6a8de..00000000 --- a/scripts/agatha.asm +++ /dev/null @@ -1,154 +0,0 @@ -AgathaScript: - call AgathaShowOrHideExitBlock - call EnableAutoTextBoxDrawing - ld hl, AgathaTrainerHeader0 - ld de, AgathaScriptPointers - ld a, [wAgathaCurScript] - call ExecuteCurMapScriptInTable - ld [wAgathaCurScript], a - ret - -AgathaShowOrHideExitBlock: -; Blocks or clears the exit to the next room. - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - CheckEvent EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 - jr z, .blockExitToNextRoom - ld a, $e - jp .setExitBlock -.blockExitToNextRoom - ld a, $3b -.setExitBlock: - ld [wNewTileBlockID], a - lb bc, 0, 2 - predef_jump ReplaceTileBlock - -ResetAgathaScript: - xor a - ld [wAgathaCurScript], a - ret - -AgathaScriptPointers: - dw AgathaScript0 - dw DisplayEnemyTrainerTextAndStartBattle - dw AgathaScript2 - dw AgathaScript3 - dw AgathaScript4 - -AgathaScript4: - ret - -AgathaScriptWalkIntoRoom: -; Walk six steps upward. - ld hl, wSimulatedJoypadStatesEnd - ld a, D_UP - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld a, $6 - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld a, $3 - ld [wAgathaCurScript], a - ld [wCurMapScript], a - ret - -AgathaScript0: - ld hl, AgathaEntranceCoords - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - xor a - ld [hJoyPressed], a - ld [hJoyHeld], a - ld [wSimulatedJoypadStatesEnd], a - ld [wSimulatedJoypadStatesIndex], a - ld a, [wCoordIndex] - cp $3 ; Is player standing one tile above the exit? - jr c, .stopPlayerFromLeaving - CheckAndSetEvent EVENT_AUTOWALKED_INTO_AGATHAS_ROOM - jr z, AgathaScriptWalkIntoRoom -.stopPlayerFromLeaving - ld a, $2 - ld [hSpriteIndexOrTextID], a - call DisplayTextID ; "Don't run away!" - ld a, D_UP - ld [wSimulatedJoypadStatesEnd], a - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld a, $3 - ld [wAgathaCurScript], a - ld [wCurMapScript], a - ret - -AgathaEntranceCoords: - db $0A,$04 - db $0A,$05 - db $0B,$04 - db $0B,$05 - db $FF - -AgathaScript3: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - call Delay3 - xor a - ld [wJoyIgnore], a - ld [wAgathaCurScript], a - ld [wCurMapScript], a - ret - -AgathaScript2: - call EndTrainerBattle - ld a, [wIsInBattle] - cp $ff - jp z, ResetAgathaScript - ld a, $1 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $1 - ld [wGaryCurScript], a - ret - -AgathaTextPointers: - dw AgathaText1 - dw AgathaDontRunAwayText - -AgathaTrainerHeader0: - dbEventFlagBit EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 - dw AgathaBeforeBattleText ; TextBeforeBattle - dw AgathaAfterBattleText ; TextAfterBattle - dw AgathaEndBattleText ; TextEndBattle - dw AgathaEndBattleText ; TextEndBattle - - db $ff - -AgathaText1: - TX_ASM - ld hl, AgathaTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -AgathaBeforeBattleText: - TX_FAR _AgathaBeforeBattleText - db "@" - -AgathaEndBattleText: - TX_FAR _AgathaEndBattleText - db "@" - -AgathaAfterBattleText: - TX_FAR _AgathaAfterBattleText - db "@" - -AgathaDontRunAwayText: - TX_FAR _AgathaDontRunAwayText - db "@" diff --git a/scripts/bikeshop.asm b/scripts/bikeshop.asm deleted file mode 100755 index 4d6853be..00000000 --- a/scripts/bikeshop.asm +++ /dev/null @@ -1,147 +0,0 @@ -BikeShopScript: - jp EnableAutoTextBoxDrawing - -BikeShopTextPointers: - dw BikeShopText1 - dw BikeShopText2 - dw BikeShopText3 - -BikeShopText1: - TX_ASM - CheckEvent EVENT_GOT_BICYCLE - jr z, .asm_260d4 - ld hl, BikeShopText_1d82f - call PrintText - jp .Done -.asm_260d4 - ld b, BIKE_VOUCHER - call IsItemInBag - jr z, .asm_41190 - ld hl, BikeShopText_1d81f - call PrintText - lb bc, BICYCLE, 1 - call GiveItem - jr nc, .BagFull - ld a, BIKE_VOUCHER - ld [$ffdb], a - callba RemoveItemByID - SetEvent EVENT_GOT_BICYCLE - ld hl, BikeShopText_1d824 - call PrintText - jr .Done -.BagFull - ld hl, BikeShopText_1d834 - call PrintText - jr .Done -.asm_41190 - ld hl, BikeShopText_1d810 - call PrintText - xor a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, $1 - ld [wMaxMenuItem], a - ld a, $2 - ld [wTopMenuItemY], a - ld a, $1 - ld [wTopMenuItemX], a - ld hl, wd730 - set 6, [hl] - coord hl, 0, 0 - ld b, $4 - ld c, $f - call TextBoxBorder - call UpdateSprites - coord hl, 2, 2 - ld de, BikeShopMenuText - call PlaceString - coord hl, 8, 3 - ld de, BikeShopMenuPrice - call PlaceString - ld hl, BikeShopText_1d815 - call PrintText - call HandleMenuInput - bit 1, a - jr nz, .cancel - ld hl, wd730 - res 6, [hl] - ld a, [wCurrentMenuItem] - and a - jr nz, .cancel - ld hl, BikeShopCantAffordText - call PrintText -.cancel - ld hl, BikeShopComeAgainText - call PrintText -.Done - jp TextScriptEnd - -BikeShopMenuText: - db "BICYCLE" - next "CANCEL@" - -BikeShopMenuPrice: - db "¥1000000@" - -BikeShopText_1d810: - TX_FAR _BikeShopText_1d810 - db "@" - -BikeShopText_1d815: - TX_FAR _BikeShopText_1d815 - db "@" - -BikeShopCantAffordText: - TX_FAR _BikeShopCantAffordText - db "@" - -BikeShopText_1d81f: - TX_FAR _BikeShopText_1d81f - db "@" - -BikeShopText_1d824: - TX_FAR _BikeShopText_1d824 - TX_SFX_KEY_ITEM - db "@" - -BikeShopComeAgainText: - TX_FAR _BikeShopComeAgainText - db "@" - -BikeShopText_1d82f: - TX_FAR _BikeShopText_1d82f - db "@" - -BikeShopText_1d834: - TX_FAR _BikeShopText_1d834 - db "@" - -BikeShopText2: - TX_ASM - ld hl, BikeShopText_1d843 - call PrintText - jp TextScriptEnd - -BikeShopText_1d843: - TX_FAR _BikeShopText_1d843 - db "@" - -BikeShopText3: - TX_ASM - CheckEvent EVENT_GOT_BICYCLE - ld hl, BikeShopText_1d861 - jr nz, .asm_34d2d - ld hl, BikeShopText_1d85c -.asm_34d2d - call PrintText - jp TextScriptEnd - -BikeShopText_1d85c: - TX_FAR _BikeShopText_1d85c - db "@" - -BikeShopText_1d861: - TX_FAR _BikeShopText_1d861 - db "@" diff --git a/scripts/billshouse.asm b/scripts/billshouse.asm deleted file mode 100755 index 2b60ef8c..00000000 --- a/scripts/billshouse.asm +++ /dev/null @@ -1,214 +0,0 @@ -BillsHouseScript: - call EnableAutoTextBoxDrawing - ld a, [wBillsHouseCurScript] - ld hl, BillsHouseScriptPointers - jp CallFunctionInTable - -BillsHouseScriptPointers: - dw BillsHouseScript0 - dw BillsHouseScript1 - dw BillsHouseScript2 - dw BillsHouseScript3 - dw BillsHouseScript4 - dw BillsHouseScript5 - -BillsHouseScript0: - ret - -BillsHouseScript1: - ld a, [wSpriteStateData1 + 9] - and a ; cp SPRITE_FACING_DOWN - ld de, MovementData_1e79c - jr nz, .notDown - ld de, MovementData_1e7a0 -.notDown - ld a, $1 - ld [H_SPRITEINDEX], a - call MoveSprite - ld a, $2 - ld [wBillsHouseCurScript], a - ret - -MovementData_1e79c: - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_UP - db $FF - -; make Bill walk around the player -MovementData_1e7a0: - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_LEFT - db NPC_MOVEMENT_UP - db $FF - -BillsHouseScript2: - ld a, [wd730] - bit 0, a - ret nz - ld a, HS_BILL_POKEMON - ld [wMissableObjectIndex], a - predef HideObject - SetEvent EVENT_BILL_SAID_USE_CELL_SEPARATOR - xor a - ld [wJoyIgnore], a - ld a, $3 - ld [wBillsHouseCurScript], a - ret - -BillsHouseScript3: - CheckEvent EVENT_USED_CELL_SEPARATOR_ON_BILL - ret z - ld a, $f0 - ld [wJoyIgnore], a - ld a, $2 - ld [wSpriteIndex], a - ld a, $c - ld [$ffeb], a - ld a, $40 - ld [$ffec], a - ld a, $6 - ld [$ffed], a - ld a, $5 - ld [$ffee], a - call SetSpritePosition1 - ld a, HS_BILL_1 - ld [wMissableObjectIndex], a - predef ShowObject - ld c, 8 - call DelayFrames - ld a, $2 - ld [H_SPRITEINDEX], a - ld de, MovementData_1e807 - call MoveSprite - ld a, $4 - ld [wBillsHouseCurScript], a - ret - -MovementData_1e807: - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_DOWN - db $FF - -BillsHouseScript4: - ld a, [wd730] - bit 0, a - ret nz - xor a - ld [wJoyIgnore], a - SetEvent EVENT_MET_BILL_2 ; this event seems redundant - SetEvent EVENT_MET_BILL - ld a, $0 - ld [wBillsHouseCurScript], a - ret - -BillsHouseScript5: - ld a, $4 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $0 - ld [wBillsHouseCurScript], a - ret - -BillsHouseTextPointers: - dw BillsHouseText1 - dw BillsHouseText2 - dw BillsHouseText3 - dw BillsHouseText4 - -BillsHouseText4: - TX_BILLS_PC - -BillsHouseText1: - TX_ASM - ld hl, BillsHouseText_1e865 - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .asm_1e85a -.asm_1e84d - ld hl, BillsHouseText_1e86a - call PrintText - ld a, $1 - ld [wBillsHouseCurScript], a - jr .asm_1e862 -.asm_1e85a - ld hl, BillsHouseText_1e86f - call PrintText - jr .asm_1e84d -.asm_1e862 - jp TextScriptEnd - -BillsHouseText_1e865: - TX_FAR _BillsHouseText_1e865 - db "@" - -BillsHouseText_1e86a: - TX_FAR _BillsHouseText_1e86a - db "@" - -BillsHouseText_1e86f: - TX_FAR _BillsHouseText_1e86f - db "@" - -BillsHouseText2: - TX_ASM - CheckEvent EVENT_GOT_SS_TICKET - jr nz, .asm_1e8a9 - ld hl, BillThankYouText - call PrintText - lb bc, S_S_TICKET, 1 - call GiveItem - jr nc, .BagFull - ld hl, SSTicketReceivedText - call PrintText - SetEvent EVENT_GOT_SS_TICKET - ld a, HS_CERULEAN_GUARD_1 - ld [wMissableObjectIndex], a - predef ShowObject - ld a, HS_CERULEAN_GUARD_2 - ld [wMissableObjectIndex], a - predef HideObject -.asm_1e8a9 - ld hl, BillsHouseText_1e8cb - call PrintText - jr .asm_1e8b7 -.BagFull - ld hl, SSTicketNoRoomText - call PrintText -.asm_1e8b7 - jp TextScriptEnd - -BillThankYouText: - TX_FAR _BillThankYouText - db "@" - -SSTicketReceivedText: - TX_FAR _SSTicketReceivedText - TX_SFX_KEY_ITEM - TX_BLINK - db "@" - -SSTicketNoRoomText: - TX_FAR _SSTicketNoRoomText - db "@" - -BillsHouseText_1e8cb: - TX_FAR _BillsHouseText_1e8cb - db "@" - -BillsHouseText3: - TX_ASM - ld hl, BillsHouseText_1e8da - call PrintText - jp TextScriptEnd - -BillsHouseText_1e8da: - TX_FAR _BillsHouseText_1e8da - db "@" diff --git a/scripts/blueshouse.asm b/scripts/blueshouse.asm deleted file mode 100755 index 2b72ef97..00000000 --- a/scripts/blueshouse.asm +++ /dev/null @@ -1,89 +0,0 @@ -BluesHouseScript: - call EnableAutoTextBoxDrawing - ld hl, BluesHouseScriptPointers - ld a, [wBluesHouseCurScript] - jp CallFunctionInTable - -BluesHouseScriptPointers: - dw BluesHouseScript0 - dw BluesHouseScript1 - -BluesHouseScript0: - SetEvent EVENT_ENTERED_BLUES_HOUSE - - ; trigger the next script - ld a, 1 - ld [wBluesHouseCurScript], a - ret - -BluesHouseScript1: - ret - -BluesHouseTextPointers: - dw BluesHouseText1 - dw BluesHouseText2 - dw BluesHouseText3 - -BluesHouseText1: - TX_ASM - CheckEvent EVENT_GOT_TOWN_MAP - jr nz, .GotMap - CheckEvent EVENT_GOT_POKEDEX - jr nz, .GiveMap - ld hl, DaisyInitialText - call PrintText - jr .done - -.GiveMap - ld hl, DaisyOfferMapText - call PrintText - lb bc, TOWN_MAP, 1 - call GiveItem - jr nc, .BagFull - ld a, HS_TOWN_MAP - ld [wMissableObjectIndex], a - predef HideObject ; hide table map object - ld hl, GotMapText - call PrintText - SetEvent EVENT_GOT_TOWN_MAP - jr .done - -.GotMap - ld hl, DaisyUseMapText - call PrintText - jr .done - -.BagFull - ld hl, DaisyBagFullText - call PrintText -.done - jp TextScriptEnd - -DaisyInitialText: - TX_FAR _DaisyInitialText - db "@" - -DaisyOfferMapText: - TX_FAR _DaisyOfferMapText - db "@" - -GotMapText: - TX_FAR _GotMapText - TX_SFX_KEY_ITEM - db "@" - -DaisyBagFullText: - TX_FAR _DaisyBagFullText - db "@" - -DaisyUseMapText: - TX_FAR _DaisyUseMapText - db "@" - -BluesHouseText2: ; Daisy, walking around - TX_FAR _BluesHouseText2 - db "@" - -BluesHouseText3: ; map on table - TX_FAR _BluesHouseText3 - db "@" diff --git a/scripts/bruno.asm b/scripts/bruno.asm deleted file mode 100755 index 02ceebf2..00000000 --- a/scripts/bruno.asm +++ /dev/null @@ -1,151 +0,0 @@ -BrunoScript: - call BrunoShowOrHideExitBlock - call EnableAutoTextBoxDrawing - ld hl, BrunoTrainerHeader0 - ld de, BrunoScriptPointers - ld a, [wBrunoCurScript] - call ExecuteCurMapScriptInTable - ld [wBrunoCurScript], a - ret - -BrunoShowOrHideExitBlock: -; Blocks or clears the exit to the next room. - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - CheckEvent EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 - jr z, .blockExitToNextRoom - ld a, $5 - jp .setExitBlock -.blockExitToNextRoom - ld a, $24 -.setExitBlock - ld [wNewTileBlockID], a - lb bc, 0, 2 - predef_jump ReplaceTileBlock - -ResetBrunoScript: - xor a - ld [wBrunoCurScript], a - ret - -BrunoScriptPointers: - dw BrunoScript0 - dw DisplayEnemyTrainerTextAndStartBattle - dw BrunoScript2 - dw BrunoScript3 - dw BrunoScript4 - -BrunoScript4: - ret - -BrunoScriptWalkIntoRoom: -; Walk six steps upward. - ld hl, wSimulatedJoypadStatesEnd - ld a, D_UP - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld a, $6 - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld a, $3 - ld [wBrunoCurScript], a - ld [wCurMapScript], a - ret - -BrunoScript0: - ld hl, BrunoEntranceCoords - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - xor a - ld [hJoyPressed], a - ld [hJoyHeld], a - ld [wSimulatedJoypadStatesEnd], a - ld [wSimulatedJoypadStatesIndex], a - ld a, [wCoordIndex] - cp $3 ; Is player standing one tile above the exit? - jr c, .stopPlayerFromLeaving - CheckAndSetEvent EVENT_AUTOWALKED_INTO_BRUNOS_ROOM - jr z, BrunoScriptWalkIntoRoom -.stopPlayerFromLeaving - ld a, $2 - ld [hSpriteIndexOrTextID], a - call DisplayTextID ; "Don't run away!" - ld a, D_UP - ld [wSimulatedJoypadStatesEnd], a - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld a, $3 - ld [wBrunoCurScript], a - ld [wCurMapScript], a - ret - -BrunoEntranceCoords: - db $0A,$04 - db $0A,$05 - db $0B,$04 - db $0B,$05 - db $FF - -BrunoScript3: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - call Delay3 - xor a - ld [wJoyIgnore], a - ld [wBrunoCurScript], a - ld [wCurMapScript], a - ret - -BrunoScript2: - call EndTrainerBattle - ld a, [wIsInBattle] - cp $ff - jp z, ResetBrunoScript - ld a, $1 - ld [hSpriteIndexOrTextID], a - jp DisplayTextID - -BrunoTextPointers: - dw BrunoText1 - dw BrunoDontRunAwayText - -BrunoTrainerHeader0: - dbEventFlagBit EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 - dw BrunoBeforeBattleText ; TextBeforeBattle - dw BrunoAfterBattleText ; TextAfterBattle - dw BrunoEndBattleText ; TextEndBattle - dw BrunoEndBattleText ; TextEndBattle - - db $ff - -BrunoText1: - TX_ASM - ld hl, BrunoTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -BrunoBeforeBattleText: - TX_FAR _BrunoBeforeBattleText - db "@" - -BrunoEndBattleText: - TX_FAR _BrunoEndBattleText - db "@" - -BrunoAfterBattleText: - TX_FAR _BrunoAfterBattleText - db "@" - -BrunoDontRunAwayText: - TX_FAR _BrunoDontRunAwayText - db "@" diff --git a/scripts/celadoncity.asm b/scripts/celadoncity.asm deleted file mode 100755 index 6ef679dc..00000000 --- a/scripts/celadoncity.asm +++ /dev/null @@ -1,132 +0,0 @@ -CeladonCityScript: - call EnableAutoTextBoxDrawing - ResetEvents EVENT_1B8, EVENT_1BF - ResetEvent EVENT_67F - ret - -CeladonCityTextPointers: - dw CeladonCityText1 - dw CeladonCityText2 - dw CeladonCityText3 - dw CeladonCityText4 - dw CeladonCityText5 - dw CeladonCityText6 - dw CeladonCityText7 - dw CeladonCityText8 - dw CeladonCityText9 - dw CeladonCityText10 - dw CeladonCityText11 - dw PokeCenterSignText - dw CeladonCityText13 - dw CeladonCityText14 - dw CeladonCityText15 - dw CeladonCityText16 - dw CeladonCityText17 - dw CeladonCityText18 - -CeladonCityText1: - TX_FAR _CeladonCityText1 - db "@" - -CeladonCityText2: - TX_FAR _CeladonCityText2 - db "@" - -CeladonCityText3: - TX_FAR _CeladonCityText3 - db "@" - -CeladonCityText4: - TX_FAR _CeladonCityText4 - db "@" - -CeladonCityText5: - TX_ASM - CheckEvent EVENT_GOT_TM41 - jr nz, .asm_7053f - ld hl, TM41PreText - call PrintText - lb bc, TM_41, 1 - call GiveItem - jr c, .Success - ld hl, TM41NoRoomText - call PrintText - jr .Done -.Success - ld hl, ReceivedTM41Text - call PrintText - SetEvent EVENT_GOT_TM41 - jr .Done -.asm_7053f - ld hl, TM41ExplanationText - call PrintText -.Done - jp TextScriptEnd - -TM41PreText: - TX_FAR _TM41PreText - db "@" - -ReceivedTM41Text: - TX_FAR _ReceivedTM41Text - TX_SFX_ITEM_1 - db "@" - -TM41ExplanationText: - TX_FAR _TM41ExplanationText - db "@" - -TM41NoRoomText: - TX_FAR _TM41NoRoomText - db "@" - -CeladonCityText6: - TX_FAR _CeladonCityText6 - db "@" - -CeladonCityText7: - TX_FAR _CeladonCityText7 - TX_ASM - ld a, POLIWRATH - call PlayCry - jp TextScriptEnd - -CeladonCityText8: - TX_FAR _CeladonCityText8 - db "@" - -CeladonCityText9: - TX_FAR _CeladonCityText9 - db "@" - -CeladonCityText10: - TX_FAR _CeladonCityText10 - db "@" - -CeladonCityText11: - TX_FAR _CeladonCityText11 - db "@" - -CeladonCityText13: - TX_FAR _CeladonCityText13 - db "@" - -CeladonCityText14: - TX_FAR _CeladonCityText14 - db "@" - -CeladonCityText15: - TX_FAR _CeladonCityText15 - db "@" - -CeladonCityText16: - TX_FAR _CeladonCityText16 - db "@" - -CeladonCityText17: - TX_FAR _CeladonCityText17 - db "@" - -CeladonCityText18: - TX_FAR _CeladonCityText18 - db "@" diff --git a/scripts/celadondiner.asm b/scripts/celadondiner.asm deleted file mode 100755 index 6fd594f7..00000000 --- a/scripts/celadondiner.asm +++ /dev/null @@ -1,66 +0,0 @@ -CeladonDinerScript: - call EnableAutoTextBoxDrawing - ret - -CeladonDinerTextPointers: - dw CeladonDinerText1 - dw CeladonDinerText2 - dw CeladonDinerText3 - dw CeladonDinerText4 - dw CeladonDinerText5 - -CeladonDinerText1: - TX_FAR _CeladonDinerText1 - db "@" - -CeladonDinerText2: - TX_FAR _CeladonDinerText2 - db "@" - -CeladonDinerText3: - TX_FAR _CeladonDinerText3 - db "@" - -CeladonDinerText4: - TX_FAR _CeladonDinerText4 - db "@" - -CeladonDinerText5: - TX_ASM - CheckEvent EVENT_GOT_COIN_CASE - jr nz, .asm_eb14d - ld hl, CeladonDinerText_491a7 - call PrintText - lb bc, COIN_CASE, 1 - call GiveItem - jr nc, .BagFull - SetEvent EVENT_GOT_COIN_CASE - ld hl, ReceivedCoinCaseText - call PrintText - jr .asm_68b61 -.BagFull - ld hl, CoinCaseNoRoomText - call PrintText - jr .asm_68b61 -.asm_eb14d - ld hl, CeladonDinerText_491b7 - call PrintText -.asm_68b61 - jp TextScriptEnd - -CeladonDinerText_491a7: - TX_FAR _CeladonDinerText_491a7 - db "@" - -ReceivedCoinCaseText: - TX_FAR _ReceivedCoinCaseText - TX_SFX_KEY_ITEM - db "@" - -CoinCaseNoRoomText: - TX_FAR _CoinCaseNoRoomText - db "@" - -CeladonDinerText_491b7: - TX_FAR _CeladonDinerText_491b7 - db "@" diff --git a/scripts/celadongamecorner.asm b/scripts/celadongamecorner.asm deleted file mode 100755 index cc81b076..00000000 --- a/scripts/celadongamecorner.asm +++ /dev/null @@ -1,527 +0,0 @@ -CeladonGameCornerScript: - call CeladonGameCornerScript_48bcf - call CeladonGameCornerScript_48bec - call EnableAutoTextBoxDrawing - ld hl, CeladonGameCornerScriptPointers - ld a, [wCeladonGameCornerCurScript] - jp CallFunctionInTable - -CeladonGameCornerScript_48bcf: - ld hl, wCurrentMapScriptFlags - bit 6, [hl] - res 6, [hl] - ret z - call Random - ld a, [hRandomAdd] - cp $7 - jr nc, .asm_48be2 - ld a, $8 -.asm_48be2 - srl a - srl a - srl a - ld [wLuckySlotHiddenObjectIndex], a - ret - -CeladonGameCornerScript_48bec: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - CheckEvent EVENT_FOUND_ROCKET_HIDEOUT - ret nz - ld a, $2a - ld [wNewTileBlockID], a - lb bc, 2, 8 - predef_jump ReplaceTileBlock - -CeladonGameCornerScript_48c07: - xor a - ld [wJoyIgnore], a - ld [wCeladonGameCornerCurScript], a - ld [wCurMapScript], a - ret - -CeladonGameCornerScriptPointers: - dw CeladonGameCornerScript0 - dw CeladonGameCornerScript1 - dw CeladonGameCornerScript2 - -CeladonGameCornerScript0: - ret - -CeladonGameCornerScript1: - ld a, [wIsInBattle] - cp $ff - jp z, CeladonGameCornerScript_48c07 - ld a, $f0 - ld [wJoyIgnore], a - ld a, $d - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $b - ld [H_SPRITEINDEX], a - call SetSpriteMovementBytesToFF - ld de, MovementData_48c5a - ld a, [wYCoord] - cp $6 - jr nz, .asm_48c43 - ld de, MovementData_48c63 - jr .asm_48c4d -.asm_48c43 - ld a, [wXCoord] - cp $8 - jr nz, .asm_48c4d - ld de, MovementData_48c63 -.asm_48c4d - ld a, $b - ld [H_SPRITEINDEX], a - call MoveSprite - ld a, $2 - ld [wCeladonGameCornerCurScript], a - ret - -MovementData_48c5a: - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db $FF - -MovementData_48c63: - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db $FF - -CeladonGameCornerScript2: - ld a, [wd730] - bit 0, a - ret nz - xor a - ld [wJoyIgnore], a - ld a, HS_GAME_CORNER_ROCKET - ld [wMissableObjectIndex], a - predef HideObject - ld hl, wCurrentMapScriptFlags - set 5, [hl] - set 6, [hl] - ld a, $0 - ld [wCeladonGameCornerCurScript], a - ret - -CeladonGameCornerTextPointers: - dw CeladonGameCornerText1 - dw CeladonGameCornerText2 - dw CeladonGameCornerText3 - dw CeladonGameCornerText4 - dw CeladonGameCornerText5 - dw CeladonGameCornerText6 - dw CeladonGameCornerText7 - dw CeladonGameCornerText8 - dw CeladonGameCornerText9 - dw CeladonGameCornerText10 - dw CeladonGameCornerText11 - dw CeladonGameCornerText12 - dw CeladonGameCornerText13 - -CeladonGameCornerText1: - TX_FAR _CeladonGameCornerText1 - db "@" - -CeladonGameCornerText2: - TX_ASM - call CeladonGameCornerScript_48f1e - ld hl, CeladonGameCornerText_48d22 - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .asm_48d0f - ld b, COIN_CASE - call IsItemInBag - jr z, .asm_48d19 - call Has9990Coins - jr nc, .asm_48d14 - xor a - ld [hMoney], a - ld [hMoney + 2], a - ld a, $10 - ld [hMoney + 1], a - call HasEnoughMoney - jr nc, .asm_48cdb - ld hl, CeladonGameCornerText_48d31 - jr .asm_48d1c -.asm_48cdb - xor a - ld [hMoney], a - ld [hMoney + 2], a - ld a, $10 - ld [hMoney + 1], a - ld hl, hMoney + 2 - ld de, wPlayerMoney + 2 - ld c, $3 - predef SubBCDPredef - xor a - ld [hUnusedCoinsByte], a - ld [hCoins], a - ld a, $50 - ld [hCoins + 1], a - ld de, wPlayerCoins + 1 - ld hl, hCoins + 1 - ld c, $2 - predef AddBCDPredef - call CeladonGameCornerScript_48f1e - ld hl, CeladonGameCornerText_48d27 - jr .asm_48d1c -.asm_48d0f - ld hl, CeladonGameCornerText_48d2c - jr .asm_48d1c -.asm_48d14 - ld hl, CeladonGameCornerText_48d36 - jr .asm_48d1c -.asm_48d19 - ld hl, CeladonGameCornerText_48d3b -.asm_48d1c - call PrintText - jp TextScriptEnd - -CeladonGameCornerText_48d22: - TX_FAR _CeladonGameCornerText_48d22 - db "@" - -CeladonGameCornerText_48d27: - TX_FAR _CeladonGameCornerText_48d27 - db "@" - -CeladonGameCornerText_48d2c: - TX_FAR _CeladonGameCornerText_48d2c - db "@" - -CeladonGameCornerText_48d31: - TX_FAR _CeladonGameCornerText_48d31 - db "@" - -CeladonGameCornerText_48d36: - TX_FAR _CeladonGameCornerText_48d36 - db "@" - -CeladonGameCornerText_48d3b: - TX_FAR _CeladonGameCornerText_48d3b - db "@" - -CeladonGameCornerText3: - TX_FAR _CeladonGameCornerText3 - db "@" - -CeladonGameCornerText4: - TX_FAR _CeladonGameCornerText4 - db "@" - -CeladonGameCornerText5: - TX_ASM - CheckEvent EVENT_GOT_10_COINS - jr nz, .asm_48d89 - ld hl, CeladonGameCornerText_48d9c - call PrintText - ld b, COIN_CASE - call IsItemInBag - jr z, .asm_48d93 - call Has9990Coins - jr nc, .asm_48d8e - xor a - ld [hUnusedCoinsByte], a - ld [hCoins], a - ld a, $10 - ld [hCoins + 1], a - ld de, wPlayerCoins + 1 - ld hl, hCoins + 1 - ld c, $2 - predef AddBCDPredef - SetEvent EVENT_GOT_10_COINS - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, Received10CoinsText - jr .asm_48d96 -.asm_48d89 - ld hl, CeladonGameCornerText_48dac - jr .asm_48d96 -.asm_48d8e - ld hl, CeladonGameCornerText_48da7 - jr .asm_48d96 -.asm_48d93 - ld hl, CeladonGameCornerText_48f19 -.asm_48d96 - call PrintText - jp TextScriptEnd - -CeladonGameCornerText_48d9c: - TX_FAR _CeladonGameCornerText_48d9c - db "@" - -Received10CoinsText: - TX_FAR _Received10CoinsText - TX_SFX_ITEM_1 - db "@" - -CeladonGameCornerText_48da7: - TX_FAR _CeladonGameCornerText_48da7 - db "@" - -CeladonGameCornerText_48dac: - TX_FAR _CeladonGameCornerText_48dac - db "@" - -CeladonGameCornerText6: - TX_FAR _CeladonGameCornerText6 - db "@" - -CeladonGameCornerText7: - TX_ASM - CheckEvent EVENT_BEAT_ERIKA - ld hl, CeladonGameCornerText_48dca - jr z, .asm_48dc4 - ld hl, CeladonGameCornerText_48dcf -.asm_48dc4 - call PrintText - jp TextScriptEnd - -CeladonGameCornerText_48dca: - TX_FAR _CeladonGameCornerText_48dca - db "@" - -CeladonGameCornerText_48dcf: - TX_FAR _CeladonGameCornerText_48dcf - db "@" - -CeladonGameCornerText8: - TX_FAR _CeladonGameCornerText8 - db "@" - -CeladonGameCornerText9: - TX_ASM - CheckEvent EVENT_GOT_20_COINS_2 - jr nz, .asm_48e13 - ld hl, CeladonGameCornerText_48e26 - call PrintText - ld b, COIN_CASE - call IsItemInBag - jr z, .asm_48e1d - call Has9990Coins - jr nc, .asm_48e18 - xor a - ld [hUnusedCoinsByte], a - ld [hCoins], a - ld a, $20 - ld [hCoins + 1], a - ld de, wPlayerCoins + 1 - ld hl, hCoins + 1 - ld c, $2 - predef AddBCDPredef - SetEvent EVENT_GOT_20_COINS_2 - ld hl, Received20CoinsText - jr .asm_48e20 -.asm_48e13 - ld hl, CeladonGameCornerText_48e36 - jr .asm_48e20 -.asm_48e18 - ld hl, CeladonGameCornerText_48e31 - jr .asm_48e20 -.asm_48e1d - ld hl, CeladonGameCornerText_48f19 -.asm_48e20 - call PrintText - jp TextScriptEnd - -CeladonGameCornerText_48e26: - TX_FAR _CeladonGameCornerText_48e26 - db "@" - -Received20CoinsText: - TX_FAR _Received20CoinsText - TX_SFX_ITEM_1 - db "@" - -CeladonGameCornerText_48e31: - TX_FAR _CeladonGameCornerText_48e31 - db "@" - -CeladonGameCornerText_48e36: - TX_FAR _CeladonGameCornerText_48e36 - db "@" - -CeladonGameCornerText10: - TX_ASM - CheckEvent EVENT_GOT_20_COINS - jr nz, .asm_48e75 - ld hl, CeladonGameCornerText_48e88 - call PrintText - ld b, COIN_CASE - call IsItemInBag - jr z, .asm_48e7f - call Has9990Coins - jr z, .asm_48e7a - xor a - ld [hUnusedCoinsByte], a - ld [hCoins], a - ld a, $20 - ld [hCoins + 1], a - ld de, wPlayerCoins + 1 - ld hl, hCoins + 1 - ld c, $2 - predef AddBCDPredef - SetEvent EVENT_GOT_20_COINS - ld hl, CeladonGameCornerText_48e8d - jr .asm_48e82 -.asm_48e75 - ld hl, CeladonGameCornerText_48e98 - jr .asm_48e82 -.asm_48e7a - ld hl, CeladonGameCornerText_48e93 - jr .asm_48e82 -.asm_48e7f - ld hl, CeladonGameCornerText_48f19 -.asm_48e82 - call PrintText - jp TextScriptEnd - -CeladonGameCornerText_48e88: - TX_FAR _CeladonGameCornerText_48e88 - db "@" - -CeladonGameCornerText_48e8d: - TX_FAR _CeladonGameCornerText_48e8d - TX_SFX_ITEM_1 - db "@" - -CeladonGameCornerText_48e93: - TX_FAR _CeladonGameCornerText_48e93 - db "@" - -CeladonGameCornerText_48e98: - TX_FAR _CeladonGameCornerText_48e98 - db "@" - -CeladonGameCornerText11: - TX_ASM - ld hl, CeladonGameCornerText_48ece - call PrintText - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, CeladonGameCornerText_48ed3 - ld de, CeladonGameCornerText_48ed3 - call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] - ld [wSpriteIndex], a - call EngageMapTrainer - call InitBattleEnemyParameters - xor a - ld [hJoyHeld], a - ld [hJoyPressed], a - ld [hJoyReleased], a - ld a, $1 - ld [wCeladonGameCornerCurScript], a - jp TextScriptEnd - -CeladonGameCornerText_48ece: - TX_FAR _CeladonGameCornerText_48ece - db "@" - -CeladonGameCornerText_48ed3: - TX_FAR _CeladonGameCornerText_48ed3 - db "@" - -CeladonGameCornerText13: - TX_FAR _CeladonGameCornerText_48ed8 - db "@" - -CeladonGameCornerText12: - TX_ASM - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, CeladonGameCornerText_48f09 - call PrintText - call WaitForSoundToFinish - ld a, SFX_GO_INSIDE - call PlaySound - call WaitForSoundToFinish - SetEvent EVENT_FOUND_ROCKET_HIDEOUT - ld a, $43 - ld [wNewTileBlockID], a - lb bc, 2, 8 - predef ReplaceTileBlock - jp TextScriptEnd - -CeladonGameCornerText_48f09: - TX_FAR _CeladonGameCornerText_48f09 - TX_ASM - ld a, SFX_SWITCH - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -CeladonGameCornerText_48f19: - TX_FAR _CeladonGameCornerText_48f19 - db "@" - -CeladonGameCornerScript_48f1e: - ld hl, wd730 - set 6, [hl] - coord hl, 11, 0 - ld b, $5 - ld c, $7 - call TextBoxBorder - call UpdateSprites - coord hl, 12, 1 - ld b, 4 - ld c, 7 - call ClearScreenArea - coord hl, 12, 2 - ld de, GameCornerMoneyText - call PlaceString - coord hl, 12, 3 - ld de, GameCornerBlankText1 - call PlaceString - coord hl, 12, 3 - ld de, wPlayerMoney - ld c, $a3 - call PrintBCDNumber - coord hl, 12, 4 - ld de, GameCornerCoinText - call PlaceString - coord hl, 12, 5 - ld de, GameCornerBlankText2 - call PlaceString - coord hl, 15, 5 - ld de, wPlayerCoins - ld c, $82 - call PrintBCDNumber - ld hl, wd730 - res 6, [hl] - ret - -GameCornerMoneyText: - db "MONEY@" - -GameCornerCoinText: - db "COIN@" - -GameCornerBlankText1: - db " @" - -GameCornerBlankText2: - db " @" - -Has9990Coins: - ld a, $99 - ld [hCoins], a - ld a, $90 - ld [hCoins + 1], a - jp HasEnoughCoins diff --git a/scripts/celadongym.asm b/scripts/celadongym.asm deleted file mode 100755 index ae7e6846..00000000 --- a/scripts/celadongym.asm +++ /dev/null @@ -1,335 +0,0 @@ -CeladonGymScript: - ld hl, wCurrentMapScriptFlags - bit 6, [hl] - res 6, [hl] - call nz, CeladonGymScript_48927 - call EnableAutoTextBoxDrawing - ld hl, CeladonGymTrainerHeader0 - ld de, CeladonGymScriptPointers - ld a, [wCeladonGymCurScript] - call ExecuteCurMapScriptInTable - ld [wCeladonGymCurScript], a - ret - -CeladonGymScript_48927: - ld hl, Gym4CityName - ld de, Gym4LeaderName - jp LoadGymLeaderAndCityName - -Gym4CityName: - db "CELADON CITY@" - -Gym4LeaderName: - db "ERIKA@" - -CeladonGymText_48943: - xor a - ld [wJoyIgnore], a - ld [wCeladonGymCurScript], a - ld [wCurMapScript], a - ret - -CeladonGymScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw CeladonGymScript3 - -CeladonGymScript3: - ld a, [wIsInBattle] - cp $ff - jp z, CeladonGymText_48943 - ld a, $f0 - ld [wJoyIgnore], a - -CeladonGymText_48963: - ld a, $9 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_BEAT_ERIKA - lb bc, TM_21, 1 - call GiveItem - jr nc, .BagFull - ld a, $a - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_GOT_TM21 - jr .asm_4898c -.BagFull - ld a, $b - ld [hSpriteIndexOrTextID], a - call DisplayTextID -.asm_4898c - ld hl, wObtainedBadges - set 3, [hl] - ld hl, wBeatGymFlags - set 3, [hl] - - ; deactivate gym trainers - SetEventRange EVENT_BEAT_CELADON_GYM_TRAINER_0, EVENT_BEAT_CELADON_GYM_TRAINER_6 - - jp CeladonGymText_48943 - -CeladonGymTextPointers: - dw CeladonGymText1 - dw CeladonGymText2 - dw CeladonGymText3 - dw CeladonGymText4 - dw CeladonGymText5 - dw CeladonGymText6 - dw CeladonGymText7 - dw CeladonGymText8 - dw CeladonGymText9 - dw TM21Text - dw TM21NoRoomText - -CeladonGymTrainerHeader0: - dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_0 - dw CeladonGymBattleText2 ; TextBeforeBattle - dw CeladonGymAfterBattleText2 ; TextAfterBattle - dw CeladonGymEndBattleText2 ; TextEndBattle - dw CeladonGymEndBattleText2 ; TextEndBattle - -CeladonGymTrainerHeader1: - dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_1 - dw CeladonGymBattleText3 ; TextBeforeBattle - dw CeladonGymAfterBattleText3 ; TextAfterBattle - dw CeladonGymEndBattleText3 ; TextEndBattle - dw CeladonGymEndBattleText3 ; TextEndBattle - -CeladonGymTrainerHeader2: - dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_2 - dw CeladonGymBattleText4 ; TextBeforeBattle - dw CeladonGymAfterBattleText4 ; TextAfterBattle - dw CeladonGymEndBattleText4 ; TextEndBattle - dw CeladonGymEndBattleText4 ; TextEndBattle - -CeladonGymTrainerHeader3: - dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_3 - dw CeladonGymBattleText5 ; TextBeforeBattle - dw CeladonGymAfterBattleText5 ; TextAfterBattle - dw CeladonGymEndBattleText5 ; TextEndBattle - dw CeladonGymEndBattleText5 ; TextEndBattle - -CeladonGymTrainerHeader4: - dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_4 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_4 - dw CeladonGymBattleText6 ; TextBeforeBattle - dw CeladonGymAfterBattleText6 ; TextAfterBattle - dw CeladonGymEndBattleText6 ; TextEndBattle - dw CeladonGymEndBattleText6 ; TextEndBattle - -CeladonGymTrainerHeader5: - dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_5 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_5 - dw CeladonGymBattleText7 ; TextBeforeBattle - dw CeladonGymAfterBattleText7 ; TextAfterBattle - dw CeladonGymEndBattleText7 ; TextEndBattle - dw CeladonGymEndBattleText7 ; TextEndBattle - -CeladonGymTrainerHeader6: - dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_6, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_6, 1 - dw CeladonGymBattleText8 ; TextBeforeBattle - dw CeladonGymAfterBattleText8 ; TextAfterBattle - dw CeladonGymEndBattleText8 ; TextEndBattle - dw CeladonGymEndBattleText8 ; TextEndBattle - - db $ff - -CeladonGymText1: - TX_ASM - CheckEvent EVENT_BEAT_ERIKA - jr z, .asm_48a2d - CheckEventReuseA EVENT_GOT_TM21 - jr nz, .asm_48a25 - call z, CeladonGymText_48963 - call DisableWaitingAfterTextDisplay - jr .asm_48a5b -.asm_48a25 - ld hl, CeladonGymText_48a68 - call PrintText - jr .asm_48a5b -.asm_48a2d - ld hl, CeladonGymText_48a5e - call PrintText - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, CeladonGymText_48a63 - ld de, CeladonGymText_48a63 - call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] - ld [wSpriteIndex], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $4 - ld [wGymLeaderNo], a - ld a, $3 - ld [wCeladonGymCurScript], a - ld [wCurMapScript], a -.asm_48a5b - jp TextScriptEnd - -CeladonGymText_48a5e: - TX_FAR _CeladonGymText_48a5e - db "@" - -CeladonGymText_48a63: - TX_FAR _CeladonGymText_48a63 - db "@" - -CeladonGymText_48a68: - TX_FAR _CeladonGymText_48a68 - db "@" - -CeladonGymText9: - TX_FAR _CeladonGymText9 - db "@" - -TM21Text: - TX_FAR _ReceivedTM21Text - TX_SFX_ITEM_1 - TX_FAR _TM21ExplanationText - db "@" - -TM21NoRoomText: - TX_FAR _TM21NoRoomText - db "@" - -CeladonGymText2: - TX_ASM - ld hl, CeladonGymTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -CeladonGymBattleText2: - TX_FAR _CeladonGymBattleText2 - db "@" - -CeladonGymEndBattleText2: - TX_FAR _CeladonGymEndBattleText2 - db "@" - -CeladonGymAfterBattleText2: - TX_FAR _CeladonGymAfterBattleText2 - db "@" - -CeladonGymText3: - TX_ASM - ld hl, CeladonGymTrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -CeladonGymBattleText3: - TX_FAR _CeladonGymBattleText3 - db "@" - -CeladonGymEndBattleText3: - TX_FAR _CeladonGymEndBattleText3 - db "@" - -CeladonGymAfterBattleText3: - TX_FAR _CeladonGymAfterBattleText3 - db "@" - -CeladonGymText4: - TX_ASM - ld hl, CeladonGymTrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -CeladonGymBattleText4: - TX_FAR _CeladonGymBattleText4 - db "@" - -CeladonGymEndBattleText4: - TX_FAR _CeladonGymEndBattleText4 - db "@" - -CeladonGymAfterBattleText4: - TX_FAR _CeladonGymAfterBattleText4 - db "@" - -CeladonGymText5: - TX_ASM - ld hl, CeladonGymTrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -CeladonGymBattleText5: - TX_FAR _CeladonGymBattleText5 - db "@" - -CeladonGymEndBattleText5: - TX_FAR _CeladonGymEndBattleText5 - db "@" - -CeladonGymAfterBattleText5: - TX_FAR _CeladonGymAfterBattleText5 - db "@" - -CeladonGymText6: - TX_ASM - ld hl, CeladonGymTrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -CeladonGymBattleText6: - TX_FAR _CeladonGymBattleText6 - db "@" - -CeladonGymEndBattleText6: - TX_FAR _CeladonGymEndBattleText6 - db "@" - -CeladonGymAfterBattleText6: - TX_FAR _CeladonGymAfterBattleText6 - db "@" - -CeladonGymText7: - TX_ASM - ld hl, CeladonGymTrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -CeladonGymBattleText7: - TX_FAR _CeladonGymBattleText7 - db "@" - -CeladonGymEndBattleText7: - TX_FAR _CeladonGymEndBattleText7 - db "@" - -CeladonGymAfterBattleText7: - TX_FAR _CeladonGymAfterBattleText7 - db "@" - -CeladonGymText8: - TX_ASM - ld hl, CeladonGymTrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -CeladonGymBattleText8: - TX_FAR _CeladonGymBattleText8 - db "@" - -CeladonGymEndBattleText8: - TX_FAR _CeladonGymEndBattleText8 - db "@" - -CeladonGymAfterBattleText8: - TX_FAR _CeladonGymAfterBattleText8 - db "@" diff --git a/scripts/celadonhotel.asm b/scripts/celadonhotel.asm deleted file mode 100755 index 23b9eb55..00000000 --- a/scripts/celadonhotel.asm +++ /dev/null @@ -1,19 +0,0 @@ -CeladonHotelScript: - jp EnableAutoTextBoxDrawing - -CeladonHotelTextPointers: - dw CeladonHotelText1 - dw CeladonHotelText2 - dw CeladonHotelText3 - -CeladonHotelText1: - TX_FAR _CeladonHotelText1 - db "@" - -CeladonHotelText2: - TX_FAR _CeladonHotelText2 - db "@" - -CeladonHotelText3: - TX_FAR _CeladonHotelText3 - db "@" diff --git a/scripts/celadonhouse.asm b/scripts/celadonhouse.asm deleted file mode 100755 index 7f2778d1..00000000 --- a/scripts/celadonhouse.asm +++ /dev/null @@ -1,20 +0,0 @@ -CeladonHouseScript: - call EnableAutoTextBoxDrawing - ret - -CeladonHouseTextPointers: - dw CeladonHouseText1 - dw CeladonHouseText2 - dw CeladonHouseText3 - -CeladonHouseText1: - TX_FAR _CeladonHouseText1 - db "@" - -CeladonHouseText2: - TX_FAR _CeladonHouseText2 - db "@" - -CeladonHouseText3: - TX_FAR _CeladonHouseText3 - db "@" diff --git a/scripts/celadonmansion1.asm b/scripts/celadonmansion1.asm deleted file mode 100755 index f6ef7669..00000000 --- a/scripts/celadonmansion1.asm +++ /dev/null @@ -1,39 +0,0 @@ -CeladonMansion1Script: - jp EnableAutoTextBoxDrawing - -CeladonMansion1TextPointers: - dw CeladonMansion1Text1 - dw CeladonMansion1Text2 - dw CeladonMansion1Text3 - dw CeladonMansion1Text4 - dw CeladonMansion1Text5 - -CeladonMansion1_486a1: - call PlayCry - jp TextScriptEnd - -CeladonMansion1Text1: - TX_FAR _CeladonMansion1Text1 - TX_ASM - ld a, MEOWTH - jp CeladonMansion1_486a1 - -CeladonMansion1Text2: - TX_FAR _CeladonMansion1Text2 - db "@" - -CeladonMansion1Text3: - TX_FAR _CeladonMansion1Text3 - TX_ASM - ld a, CLEFAIRY - jp CeladonMansion1_486a1 - -CeladonMansion1Text4: - TX_FAR _CeladonMansion1Text4 - TX_ASM - ld a, NIDORAN_F - jp CeladonMansion1_486a1 - -CeladonMansion1Text5: - TX_FAR _CeladonMansion1Text5 - db "@" diff --git a/scripts/celadonmansion2.asm b/scripts/celadonmansion2.asm deleted file mode 100755 index 520615d4..00000000 --- a/scripts/celadonmansion2.asm +++ /dev/null @@ -1,10 +0,0 @@ -CeladonMansion2Script: - call EnableAutoTextBoxDrawing - ret - -CeladonMansion2TextPointers: - dw CeladonMansion2Text1 - -CeladonMansion2Text1: - TX_FAR _CeladonMansion2Text1 - db "@" diff --git a/scripts/celadonmansion3.asm b/scripts/celadonmansion3.asm deleted file mode 100755 index a1fe048b..00000000 --- a/scripts/celadonmansion3.asm +++ /dev/null @@ -1,71 +0,0 @@ -CeladonMansion3Script: - jp EnableAutoTextBoxDrawing - -CeladonMansion3TextPointers: - dw ProgrammerText - dw GraphicArtistText - dw WriterText - dw DirectorText - dw GameFreakPCText1 - dw GameFreakPCText2 - dw GameFreakPCText3 - dw GameFreakSignText - -ProgrammerText: - TX_FAR _ProgrammerText - db "@" - -GraphicArtistText: - TX_FAR _GraphicArtistText - db "@" - -WriterText: - TX_FAR _WriterText - db "@" - -DirectorText: - TX_ASM - - ; check pokédex - ld hl, wPokedexOwned - ld b, wPokedexOwnedEnd - wPokedexOwned - call CountSetBits - ld a, [wNumSetBits] - cp 150 - jr nc, .CompletedDex - ld hl, .GameDesigner - jr .done -.CompletedDex - ld hl, .CompletedDexText -.done - call PrintText - jp TextScriptEnd - -.GameDesigner - TX_FAR _GameDesignerText - db "@" - -.CompletedDexText - TX_FAR _CompletedDexText - TX_BLINK - TX_ASM - callab DisplayDiploma - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - jp TextScriptEnd - -GameFreakPCText1: - TX_FAR _CeladonMansion3Text5 - db "@" - -GameFreakPCText2: - TX_FAR _CeladonMansion3Text6 - db "@" - -GameFreakPCText3: - TX_FAR _CeladonMansion3Text7 - db "@" - -GameFreakSignText: - TX_FAR _CeladonMansion3Text8 - db "@" diff --git a/scripts/celadonmansion4.asm b/scripts/celadonmansion4.asm deleted file mode 100755 index 80d887e9..00000000 --- a/scripts/celadonmansion4.asm +++ /dev/null @@ -1,9 +0,0 @@ -CeladonMansion4Script: - jp EnableAutoTextBoxDrawing - -CeladonMansion4TextPointers: - dw CeladonMansion4Text1 - -CeladonMansion4Text1: - TX_FAR _CeladonMansion4Text1 - db "@" diff --git a/scripts/celadonmansion5.asm b/scripts/celadonmansion5.asm deleted file mode 100755 index 197a0f54..00000000 --- a/scripts/celadonmansion5.asm +++ /dev/null @@ -1,21 +0,0 @@ -CeladonMansion5Script: - jp EnableAutoTextBoxDrawing - -CeladonMansion5TextPointers: - dw CeladonMansion5Text1 - dw CeladonMansion5Text2 - -CeladonMansion5Text1: - TX_FAR _CeladonMansion5Text1 - db "@" - -CeladonMansion5Text2: - TX_ASM - lb bc, EEVEE, 25 - call GivePokemon - jr nc, .asm_24365 - ld a, HS_CELADON_MANSION_5_GIFT - ld [wMissableObjectIndex], a - predef HideObject -.asm_24365 - jp TextScriptEnd diff --git a/scripts/celadonmart1.asm b/scripts/celadonmart1.asm deleted file mode 100755 index 0f67972b..00000000 --- a/scripts/celadonmart1.asm +++ /dev/null @@ -1,19 +0,0 @@ -CeladonMart1Script: - jp EnableAutoTextBoxDrawing - -CeladonMart1TextPointers: - dw CeladonMart1Text1 - dw CeladonMart1Text2 - dw CeladonMart1Text3 - -CeladonMart1Text1: - TX_FAR _CeladonMart1Text1 - db "@" - -CeladonMart1Text2: - TX_FAR _CeladonMart1Text2 - db "@" - -CeladonMart1Text3: - TX_FAR _CeladonMart1Text3 - db "@" diff --git a/scripts/celadonmart2.asm b/scripts/celadonmart2.asm deleted file mode 100755 index c438d6e1..00000000 --- a/scripts/celadonmart2.asm +++ /dev/null @@ -1,21 +0,0 @@ -CeladonMart2Script: - jp EnableAutoTextBoxDrawing - -CeladonMart2TextPointers: - dw CeladonMart2Clerk1Text - dw CeladonMart2Clerk2Text - dw CeladonMart2Text3 - dw CeladonMart2Text4 - dw CeladonMart2Text5 - -CeladonMart2Text3: - TX_FAR _CeladonMart2Text3 - db "@" - -CeladonMart2Text4: - TX_FAR _CeladonMart2Text4 - db "@" - -CeladonMart2Text5: - TX_FAR _CeladonMart2Text5 - db "@" diff --git a/scripts/celadonmart3.asm b/scripts/celadonmart3.asm deleted file mode 100755 index 6af58f21..00000000 --- a/scripts/celadonmart3.asm +++ /dev/null @@ -1,108 +0,0 @@ -CeladonMart3Script: - jp EnableAutoTextBoxDrawing - -CeladonMart3TextPointers: - dw CeladonMart3Text1 - dw CeladonMart3Text2 - dw CeladonMart3Text3 - dw CeladonMart3Text4 - dw CeladonMart3Text5 - dw CeladonMart3Text6 - dw CeladonMart3Text7 - dw CeladonMart3Text8 - dw CeladonMart3Text9 - dw CeladonMart3Text10 - dw CeladonMart3Text11 - dw CeladonMart3Text12 - dw CeladonMart3Text13 - dw CeladonMart3Text14 - dw CeladonMart3Text15 - dw CeladonMart3Text16 - dw CeladonMart3Text17 - -CeladonMart3Text1: - TX_ASM - CheckEvent EVENT_GOT_TM18 - jr nz, .asm_a5463 - ld hl, TM18PreReceiveText - call PrintText - lb bc, TM_18, 1 - call GiveItem - jr nc, .BagFull - SetEvent EVENT_GOT_TM18 - ld hl, ReceivedTM18Text - jr .asm_81359 -.BagFull - ld hl, TM18NoRoomText - jr .asm_81359 -.asm_a5463 - ld hl, TM18ExplanationText -.asm_81359 - call PrintText - jp TextScriptEnd - -TM18PreReceiveText: - TX_FAR _TM18PreReceiveText - db "@" - -ReceivedTM18Text: - TX_FAR _ReceivedTM18Text - TX_SFX_ITEM_1 - db "@" - -TM18ExplanationText: - TX_FAR _TM18ExplanationText - db "@" - -TM18NoRoomText: - TX_FAR _TM18NoRoomText - db "@" - -CeladonMart3Text2: - TX_FAR _CeladonMart3Text2 - db "@" - -CeladonMart3Text3: - TX_FAR _CeladonMart3Text3 - db "@" - -CeladonMart3Text4: - TX_FAR _CeladonMart3Text4 - db "@" - -CeladonMart3Text5: - TX_FAR _CeladonMart3Text5 - db "@" - -CeladonMart3Text12 -CeladonMart3Text10: -CeladonMart3Text8: -CeladonMart3Text6: - TX_FAR _CeladonMart3Text6 - db "@" - -CeladonMart3Text7: - TX_FAR _CeladonMart3Text7 - db "@" - -CeladonMart3Text9: - TX_FAR _CeladonMart3Text9 - db "@" - -CeladonMart3Text11: - TX_FAR _CeladonMart3Text11 - db "@" - -CeladonMart3Text13: - TX_FAR _CeladonMart3Text13 - db "@" - -CeladonMart3Text14: - TX_FAR _CeladonMart3Text14 - db "@" - -CeladonMart3Text17: -CeladonMart3Text16: -CeladonMart3Text15: - TX_FAR _CeladonMart3Text15 - db "@" diff --git a/scripts/celadonmart4.asm b/scripts/celadonmart4.asm deleted file mode 100755 index 18049dc0..00000000 --- a/scripts/celadonmart4.asm +++ /dev/null @@ -1,20 +0,0 @@ -CeladonMart4Script: - jp EnableAutoTextBoxDrawing - -CeladonMart4TextPointers: - dw CeladonMart4ClerkText - dw CeladonMart4Text2 - dw CeladonMart4Text3 - dw CeladonMart4Text4 - -CeladonMart4Text2: - TX_FAR _CeladonMart4Text2 - db "@" - -CeladonMart4Text3: - TX_FAR _CeladonMart4Text3 - db "@" - -CeladonMart4Text4: - TX_FAR _CeladonMart4Text4 - db "@" diff --git a/scripts/celadonmart5.asm b/scripts/celadonmart5.asm deleted file mode 100755 index 7b7371a7..00000000 --- a/scripts/celadonmart5.asm +++ /dev/null @@ -1,21 +0,0 @@ -CeladonMart5Script: - jp EnableAutoTextBoxDrawing - -CeladonMart5TextPointers: - dw CeladonMart5Text1 - dw CeladonMart5Text2 - dw CeladonMart5Clerk1Text - dw CeladonMart5Clerk2Text - dw CeladonMart5Text5 - -CeladonMart5Text1: - TX_FAR _CeladonMart5Text1 - db "@" - -CeladonMart5Text2: - TX_FAR _CeladonMart5Text2 - db "@" - -CeladonMart5Text5: - TX_FAR _CeladonMart5Text5 - db "@" diff --git a/scripts/celadonmartelevator.asm b/scripts/celadonmartelevator.asm deleted file mode 100755 index 60e5210c..00000000 --- a/scripts/celadonmartelevator.asm +++ /dev/null @@ -1,73 +0,0 @@ -CeladonMartElevatorScript: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - push hl - call nz, CeladonMartElevatorScript_4861c - pop hl - bit 7, [hl] - res 7, [hl] - call nz, CeladonMartElevatorScript_48654 - xor a - ld [wAutoTextBoxDrawingControl], a - inc a - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ret - -CeladonMartElevatorScript_4861c: - ld hl, wWarpEntries - ld a, [wWarpedFromWhichWarp] - ld b, a - ld a, [wWarpedFromWhichMap] - ld c, a - call CeladonMartElevatorScript_4862a - -CeladonMartElevatorScript_4862a: - inc hl - inc hl - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ret - -CeladonMartElevatorScript_48631: - ld hl, CeladonMartElevatorFloors - call LoadItemList - ld hl, CeladonMartElevatorWarpMaps - ld de, wElevatorWarpMaps - ld bc, CeladonMartElevatorWarpMapsEnd - CeladonMartElevatorWarpMaps - jp CopyData - -CeladonMartElevatorFloors: - db 5 ; number of elements in list - db FLOOR_1F - db FLOOR_2F - db FLOOR_3F - db FLOOR_4F - db FLOOR_5F - db $FF - -CeladonMartElevatorWarpMaps: -; first byte is warp number -; second byte is map number -; These specify where the player goes after getting out of the elevator. - db $05, CELADON_MART_1 - db $02, CELADON_MART_2 - db $02, CELADON_MART_3 - db $02, CELADON_MART_4 - db $02, CELADON_MART_5 -CeladonMartElevatorWarpMapsEnd: - -CeladonMartElevatorScript_48654: - jpba ShakeElevator - -CeladonMartElevatorTextPointers: - dw CeladonMartElevatorText1 - -CeladonMartElevatorText1: - TX_ASM - call CeladonMartElevatorScript_48631 - ld hl, CeladonMartElevatorWarpMaps - predef DisplayElevatorFloorMenu - jp TextScriptEnd diff --git a/scripts/celadonmartroof.asm b/scripts/celadonmartroof.asm deleted file mode 100755 index 9034e8fc..00000000 --- a/scripts/celadonmartroof.asm +++ /dev/null @@ -1,255 +0,0 @@ -CeladonMartRoofScript: - jp EnableAutoTextBoxDrawing - -CeladonMartRoofScript_GetDrinksInBag: -; construct a list of all drinks in the player's bag - xor a - ld [wFilteredBagItemsCount], a - ld de, wFilteredBagItems - ld hl, CeladonMartRoofDrinkList -.loop - ld a, [hli] - and a - jr z, .done - push hl - push de - ld [wd11e], a - ld b, a - predef GetQuantityOfItemInBag - pop de - pop hl - ld a, b - and a - jr z, .loop ; if the item isn't in the bag - ld a, [wd11e] - ld [de], a - inc de - push hl - ld hl, wFilteredBagItemsCount - inc [hl] - pop hl - jr .loop -.done - ld a, $ff - ld [de], a - ret - -CeladonMartRoofDrinkList: - db FRESH_WATER - db SODA_POP - db LEMONADE - db $00 - -CeladonMartRoofScript_GiveDrinkToGirl: - ld hl, wd730 - set 6, [hl] - ld hl, CeladonMartRoofText_484ee - call PrintText - xor a - ld [wCurrentMenuItem], a - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, [wFilteredBagItemsCount] - dec a - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a - ld a, [wFilteredBagItemsCount] - dec a - ld bc, 2 - ld hl, 3 - call AddNTimes - dec l - ld b, l - ld c, 12 - coord hl, 0, 0 - call TextBoxBorder - call UpdateSprites - call CeladonMartRoofScript_PrintDrinksInBag - ld hl, wd730 - res 6, [hl] - call HandleMenuInput - bit 1, a ; pressed b - ret nz - ld hl, wFilteredBagItems - ld a, [wCurrentMenuItem] - ld d, 0 - ld e, a - add hl, de - ld a, [hl] - ld [hItemToRemoveID], a - cp FRESH_WATER - jr z, .gaveFreshWater - cp SODA_POP - jr z, .gaveSodaPop -; gave Lemonade - CheckEvent EVENT_GOT_TM49 - jr nz, .alreadyGaveDrink - ld hl, CeladonMartRoofText_48515 - call PrintText - call RemoveItemByIDBank12 - lb bc, TM_49, 1 - call GiveItem - jr nc, .bagFull - ld hl, ReceivedTM49Text - call PrintText - SetEvent EVENT_GOT_TM49 - ret -.gaveSodaPop - CheckEvent EVENT_GOT_TM48 - jr nz, .alreadyGaveDrink - ld hl, CeladonMartRoofText_48504 - call PrintText - call RemoveItemByIDBank12 - lb bc, TM_48, 1 - call GiveItem - jr nc, .bagFull - ld hl, CeladonMartRoofText_4850a - call PrintText - SetEvent EVENT_GOT_TM48 - ret -.gaveFreshWater - CheckEvent EVENT_GOT_TM13 - jr nz, .alreadyGaveDrink - ld hl, CeladonMartRoofText_484f3 - call PrintText - call RemoveItemByIDBank12 - lb bc, TM_13, 1 - call GiveItem - jr nc, .bagFull - ld hl, CeladonMartRoofText_484f9 - call PrintText - SetEvent EVENT_GOT_TM13 - ret -.bagFull - ld hl, CeladonMartRoofText_48526 - jp PrintText -.alreadyGaveDrink - ld hl, CeladonMartRoofText_4852c - jp PrintText - -RemoveItemByIDBank12: - jpba RemoveItemByID - -CeladonMartRoofText_484ee: - TX_FAR _CeladonMartRoofText_484ee - db "@" - -CeladonMartRoofText_484f3: - TX_FAR _CeladonMartRoofText_484f3 - TX_WAIT - db "@" - -CeladonMartRoofText_484f9: - TX_FAR _CeladonMartRoofText_484f9 - TX_SFX_ITEM_1 - TX_FAR _CeladonMartRoofText_484fe - TX_WAIT - db "@" - -CeladonMartRoofText_48504: - TX_FAR _CeladonMartRoofText_48504 - TX_WAIT - db "@" - -CeladonMartRoofText_4850a: - TX_FAR _CeladonMartRoofText_4850a - TX_SFX_ITEM_1 - TX_FAR _CeladonMartRoofText_4850f - TX_WAIT - db "@" - -CeladonMartRoofText_48515: - TX_FAR _CeladonMartRoofText_48515 - TX_WAIT - db "@" - -ReceivedTM49Text: - TX_FAR _ReceivedTM49Text - TX_SFX_ITEM_1 - TX_FAR _CeladonMartRoofText_48520 - TX_WAIT - db "@" - -CeladonMartRoofText_48526: - TX_FAR _CeladonMartRoofText_48526 - TX_WAIT - db "@" - -CeladonMartRoofText_4852c: - TX_FAR _CeladonMartRoofText_4852c - TX_WAIT - db "@" - -CeladonMartRoofScript_PrintDrinksInBag: - ld hl, wFilteredBagItems - xor a - ld [hItemCounter], a -.loop - ld a, [hli] - cp $ff - ret z - push hl - ld [wd11e], a - call GetItemName - coord hl, 2, 2 - ld a, [hItemCounter] - ld bc, SCREEN_WIDTH * 2 - call AddNTimes - ld de, wcd6d - call PlaceString - ld hl, hItemCounter - inc [hl] - pop hl - jr .loop - -CeladonMartRoofTextPointers: - dw CeladonMartRoofText1 - dw CeladonMartRoofText2 - dw CeladonMartRoofText5 - dw CeladonMartRoofText5 - dw CeladonMartRoofText5 - dw CeladonMartRoofText6 - -CeladonMartRoofText1: - TX_FAR _CeladonMartRoofText1 - db "@" - -CeladonMartRoofText2: - TX_ASM - call CeladonMartRoofScript_GetDrinksInBag - ld a, [wFilteredBagItemsCount] - and a - jr z, .noDrinksInBag - ld a, 1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, CeladonMartRoofText4 - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .done - call CeladonMartRoofScript_GiveDrinkToGirl - jr .done -.noDrinksInBag - ld hl, CeladonMartRoofText3 - call PrintText -.done - jp TextScriptEnd - -CeladonMartRoofText3: - TX_FAR _CeladonMartRoofText_48598 - db "@" - -CeladonMartRoofText4: - TX_FAR _CeladonMartRoofText4 - db "@" - -CeladonMartRoofText5: - TX_VENDING_MACHINE - -CeladonMartRoofText6: - TX_FAR _CeladonMartRoofText6 - db "@" diff --git a/scripts/celadonpokecenter.asm b/scripts/celadonpokecenter.asm deleted file mode 100755 index bd91af20..00000000 --- a/scripts/celadonpokecenter.asm +++ /dev/null @@ -1,23 +0,0 @@ -CeladonPokecenterScript: - call Serial_TryEstablishingExternallyClockedConnection - jp EnableAutoTextBoxDrawing - -CeladonPokecenterTextPointers: - dw CeladonHealNurseText - dw CeladonPokecenterText2 - dw CeladonPokecenterText3 - dw CeladonTradeNurseText - -CeladonTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST - -CeladonHealNurseText: - TX_POKECENTER_NURSE - -CeladonPokecenterText2: - TX_FAR _CeladonPokecenterText2 - db "@" - -CeladonPokecenterText3: - TX_FAR _CeladonPokecenterText3 - db "@" diff --git a/scripts/celadonprizeroom.asm b/scripts/celadonprizeroom.asm deleted file mode 100755 index a07ce162..00000000 --- a/scripts/celadonprizeroom.asm +++ /dev/null @@ -1,20 +0,0 @@ -CeladonPrizeRoomScript: - jp EnableAutoTextBoxDrawing - -CeladonPrizeRoomTextPointers: - dw CeladonPrizeRoomText1 - dw CeladonPrizeRoomText2 - dw CeladonPrizeRoomText3 - dw CeladonPrizeRoomText3 - dw CeladonPrizeRoomText3 - -CeladonPrizeRoomText1: - TX_FAR _CeladonPrizeRoomText1 - db "@" - -CeladonPrizeRoomText2: - TX_FAR _CeladonPrizeRoomText2 - db "@" - -CeladonPrizeRoomText3: - TX_PRIZE_VENDOR diff --git a/scripts/ceruleancity.asm b/scripts/ceruleancity.asm deleted file mode 100755 index 555e75f1..00000000 --- a/scripts/ceruleancity.asm +++ /dev/null @@ -1,453 +0,0 @@ -CeruleanCityScript: - call EnableAutoTextBoxDrawing - ld hl, CeruleanCityScriptPointers - ld a, [wCeruleanCityCurScript] - jp CallFunctionInTable - -CeruleanCityScript_1948c: - xor a - ld [wJoyIgnore], a - ld [wCeruleanCityCurScript], a - ld a, HS_CERULEAN_RIVAL - ld [wMissableObjectIndex], a - predef_jump HideObject - -CeruleanCityScriptPointers: - dw CeruleanCityScript0 - dw CeruleanCityScript1 - dw CeruleanCityScript2 - dw CeruleanCityScript3 - dw CeruleanCityScript4 - -CeruleanCityScript4: - ld a, [wIsInBattle] - cp $ff - jp z, CeruleanCityScript_1948c - ld a, $f0 - ld [wJoyIgnore], a - SetEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF - ld a, $2 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [wJoyIgnore], a - ld [wCeruleanCityCurScript], a - ret - -CeruleanCityScript0: - CheckEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF - jr nz, .asm_194f7 - ld hl, CeruleanCityCoords1 - call ArePlayerCoordsInArray - jr nc, .asm_194f7 - ld a, [wCoordIndex] - cp $1 - ld a, PLAYER_DIR_UP - ld b, SPRITE_FACING_DOWN - jr nz, .asm_194e6 - ld a, PLAYER_DIR_DOWN - ld b, SPRITE_FACING_UP -.asm_194e6 - ld [wPlayerMovingDirection], a - ld a, b - ld [wSpriteStateData1 + 2 * $10 + $9], a - call Delay3 - ld a, $2 - ld [hSpriteIndexOrTextID], a - jp DisplayTextID -.asm_194f7 - CheckEvent EVENT_BEAT_CERULEAN_RIVAL - ret nz - ld hl, CeruleanCityCoords2 - call ArePlayerCoordsInArray - ret nc - ld a, [wWalkBikeSurfState] - and a - jr z, .asm_19512 - ld a, $ff - ld [wNewSoundID], a - call PlaySound -.asm_19512 - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic - xor a - ld [hJoyHeld], a - ld a, $f0 - ld [wJoyIgnore], a - ld a, [wXCoord] - cp $14 - jr z, .asm_19535 - ld a, $1 - ld [H_SPRITEINDEX], a - ld a, $5 - ld [H_SPRITEDATAOFFSET], a - call GetPointerWithinSpriteStateData2 - ld [hl], $19 -.asm_19535 - ld a, HS_CERULEAN_RIVAL - ld [wMissableObjectIndex], a - predef ShowObject - ld de, CeruleanCityMovement1 - ld a, $1 - ld [H_SPRITEINDEX], a - call MoveSprite - ld a, $1 - ld [wCeruleanCityCurScript], a - ret - -CeruleanCityCoords1: - db $07,$1e - db $09,$1e - db $ff - -CeruleanCityCoords2: - db $06,$14 - db $06,$15 - db $ff - -CeruleanCityMovement1: - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -CeruleanCityScript_1955d: - ld a, 1 - ld [H_SPRITEINDEX], a - xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a - jp SetSpriteFacingDirectionAndDelay ; face object - -CeruleanCityScript1: - ld a, [wd730] - bit 0, a - ret nz - xor a - ld [wJoyIgnore], a - ld a, $1 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, CeruleanCityText_1966d - ld de, CeruleanCityText_19672 - call SaveEndBattleTextPointers - ld a, OPP_SONY1 - ld [wCurOpponent], a - - ; select which team to use during the encounter - ld a, [wRivalStarter] - cp STARTER2 - jr nz, .NotSquirtle - ld a, $7 - jr .done -.NotSquirtle - cp STARTER3 - jr nz, .Charmander - ld a, $8 - jr .done -.Charmander - ld a, $9 -.done - ld [wTrainerNo], a - - xor a - ld [hJoyHeld], a - call CeruleanCityScript_1955d - ld a, $2 - ld [wCeruleanCityCurScript], a - ret - -CeruleanCityScript2: - ld a, [wIsInBattle] - cp $ff - jp z, CeruleanCityScript_1948c - call CeruleanCityScript_1955d - ld a, $f0 - ld [wJoyIgnore], a - SetEvent EVENT_BEAT_CERULEAN_RIVAL - ld a, $1 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $ff - ld [wNewSoundID], a - call PlaySound - callba Music_RivalAlternateStart - ld a, $1 - ld [H_SPRITEINDEX], a - call SetSpriteMovementBytesToFF - ld a, [wXCoord] - cp $14 - jr nz, .asm_195f0 - ld de, CeruleanCityMovement4 - jr .asm_195f3 -.asm_195f0 - ld de, CeruleanCityMovement3 -.asm_195f3 - ld a, $1 - ld [H_SPRITEINDEX], a - call MoveSprite - ld a, $3 - ld [wCeruleanCityCurScript], a - ret - -CeruleanCityMovement3: - db NPC_MOVEMENT_LEFT - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -CeruleanCityMovement4: - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -CeruleanCityScript3: - ld a, [wd730] - bit 0, a - ret nz - ld a, HS_CERULEAN_RIVAL - ld [wMissableObjectIndex], a - predef HideObject - xor a - ld [wJoyIgnore], a - call PlayDefaultMusic - ld a, $0 - ld [wCeruleanCityCurScript], a - ret - -CeruleanCityTextPointers: - dw CeruleanCityText1 - dw CeruleanCityText2 - dw CeruleanCityText3 - dw CeruleanCityText4 - dw CeruleanCityText5 - dw CeruleanCityText6 - dw CeruleanCityText7 - dw CeruleanCityText8 - dw CeruleanCityText9 - dw CeruleanCityText10 - dw CeruleanCityText11 - dw CeruleanCityText12 - dw CeruleanCityText13 - dw MartSignText - dw PokeCenterSignText - dw CeruleanCityText16 - dw CeruleanCityText17 - -CeruleanCityText1: - TX_ASM - CheckEvent EVENT_BEAT_CERULEAN_RIVAL - ; do pre-battle text - jr z, .PreBattleText - ; or talk about bill - ld hl, CeruleanCityText_19677 - call PrintText - jr .end -.PreBattleText - ld hl, CeruleanCityText_19668 - call PrintText -.end - jp TextScriptEnd - -CeruleanCityText_19668: - TX_FAR _CeruleanCityText_19668 - db "@" - -CeruleanCityText_1966d: - TX_FAR _CeruleanCityText_1966d - db "@" - -CeruleanCityText_19672: - TX_FAR _CeruleanCityText_19672 - db "@" - -CeruleanCityText_19677: - TX_FAR _CeruleanCityText_19677 - db "@" - -CeruleanCityText2: - TX_ASM - CheckEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF - jr nz, .asm_4ca20 - ld hl, CeruleanCityText_196d9 - call PrintText - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, CeruleanCityText_196ee - ld de, CeruleanCityText_196ee - call SaveEndBattleTextPointers - ld a, [hSpriteIndexOrTextID] - ld [wSpriteIndex], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $4 - ld [wCeruleanCityCurScript], a - jp TextScriptEnd -.asm_4ca20 - ld hl, CeruleanCityText_196f3 - call PrintText - lb bc, TM_28, 1 - call GiveItem - jr c, .Success - ld hl, TM28NoRoomText - call PrintText - jr .Done -.Success - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, ReceivedTM28Text - call PrintText - callba CeruleanHideRocket -.Done - jp TextScriptEnd - -CeruleanCityText_196d9: - TX_FAR _CeruleanCityText_196d9 - db "@" - -ReceivedTM28Text: - TX_FAR _ReceivedTM28Text - TX_SFX_ITEM_1 - TX_FAR _ReceivedTM28Text2 - TX_WAIT - db "@" - -TM28NoRoomText: - TX_FAR _TM28NoRoomText - db "@" - -CeruleanCityText_196ee: - TX_FAR _CeruleanCityText_196ee - db "@" - -CeruleanCityText_196f3: - TX_FAR _CeruleanCityText_196f3 - db "@" - -CeruleanCityText3: - TX_FAR _CeruleanCityText3 - db "@" - -CeruleanCityText4: - TX_FAR _CeruleanCityText4 - db "@" - -CeruleanCityText5: - TX_FAR _CeruleanCityText5 - db "@" - -CeruleanCityText11: -CeruleanCityText6: - TX_FAR _CeruleanCityText6 - db "@" - -CeruleanCityText7: - TX_ASM - ld a, [hRandomAdd] - cp 180 - jr c, .asm_e9fc9 - ld hl, CeruleanCityText_19730 - call PrintText - jr .asm_d486e -.asm_e9fc9 - cp 100 - jr c, .asm_df99b - ld hl, CeruleanCityText_19735 - call PrintText - jr .asm_d486e -.asm_df99b - ld hl, CeruleanCityText_1973a - call PrintText -.asm_d486e - jp TextScriptEnd - -CeruleanCityText_19730: - TX_FAR _CeruleanCityText_19730 - db "@" - -CeruleanCityText_19735: - TX_FAR _CeruleanCityText_19735 - db "@" - -CeruleanCityText_1973a: - TX_FAR _CeruleanCityText_1973a - db "@" - -CeruleanCityText8: - TX_ASM - ld a, [hRandomAdd] - cp 180 - jr c, .asm_e28da - ld hl, CeruleanCityText_1976f - call PrintText - jr .asm_f2f38 -.asm_e28da - cp 120 - jr c, .asm_15d08 - ld hl, CeruleanCityText_19774 - call PrintText - jr .asm_f2f38 -.asm_15d08 - cp 60 - jr c, .asm_d7fea - ld hl, CeruleanCityText_19779 - call PrintText - jr .asm_f2f38 -.asm_d7fea - ld hl, CeruleanCityText_1977e - call PrintText -.asm_f2f38 - jp TextScriptEnd - -CeruleanCityText_1976f: - TX_FAR _CeruleanCityText_1976f - db "@" - -CeruleanCityText_19774: - TX_FAR _CeruleanCityText_19774 - db "@" - -CeruleanCityText_19779: - TX_FAR _CeruleanCityText_19779 - db "@" - -CeruleanCityText_1977e: - TX_FAR _CeruleanCityText_1977e - db "@" - -CeruleanCityText9: - TX_FAR _CeruleanCityText9 - db "@" - -CeruleanCityText10: - TX_FAR _CeruleanCityText10 - db "@" - -CeruleanCityText12: - TX_FAR _CeruleanCityText12 - db "@" - -CeruleanCityText13: - TX_FAR _CeruleanCityText13 - db "@" - -CeruleanCityText16: - TX_FAR _CeruleanCityText16 - db "@" - -CeruleanCityText17: - TX_FAR _CeruleanCityText17 - db "@" diff --git a/scripts/ceruleancity2.asm b/scripts/ceruleancity2.asm deleted file mode 100755 index 53ace5c8..00000000 --- a/scripts/ceruleancity2.asm +++ /dev/null @@ -1,16 +0,0 @@ -CeruleanHideRocket: -; code similar to this appears in a lot of banks; this particular -; one is called after you beat the Rocket that gives you TM28 DIG. -; the screen then fades out, he disappears, and fades back in - call GBFadeOutToBlack - ld a, HS_CERULEAN_GUARD_1 - ld [wMissableObjectIndex], a - predef ShowObject - ld a, HS_CERULEAN_GUARD_2 - ld [wMissableObjectIndex], a - predef HideObject - ld a, HS_CERULEAN_ROCKET - ld [wMissableObjectIndex], a - predef HideObject - call GBFadeInFromBlack - ret diff --git a/scripts/ceruleangym.asm b/scripts/ceruleangym.asm deleted file mode 100755 index b82b89f6..00000000 --- a/scripts/ceruleangym.asm +++ /dev/null @@ -1,219 +0,0 @@ -CeruleanGymScript: - ld hl, wCurrentMapScriptFlags - bit 6, [hl] - res 6, [hl] - call nz, CeruleanGymScript_5c6d0 - call EnableAutoTextBoxDrawing - ld hl, CeruleanGymTrainerHeader0 - ld de, CeruleanGymScriptPointers - ld a, [wCeruleanGymCurScript] - call ExecuteCurMapScriptInTable - ld [wCeruleanGymCurScript], a - ret - -CeruleanGymScript_5c6d0: - ld hl, Gym2CityName - ld de, Gym2LeaderName - jp LoadGymLeaderAndCityName - -Gym2CityName: - db "CERULEAN CITY@" - -Gym2LeaderName: - db "MISTY@" - -CeruleanGymScript_5c6ed: - xor a - ld [wJoyIgnore], a - ld [wCeruleanGymCurScript], a - ld [wCurMapScript], a - ret - -CeruleanGymScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw CeruleanGymScript3 - -CeruleanGymScript3: - ld a, [wIsInBattle] - cp $ff - jp z, CeruleanGymScript_5c6ed - ld a, $f0 - ld [wJoyIgnore], a - -CeruleanGymScript_5c70d: - ld a, $5 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_BEAT_MISTY - lb bc, TM_11, 1 - call GiveItem - jr nc, .BagFull - ld a, $6 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_GOT_TM11 - jr .asm_5c736 -.BagFull - ld a, $7 - ld [hSpriteIndexOrTextID], a - call DisplayTextID -.asm_5c736 - ld hl, wObtainedBadges - set 1, [hl] - ld hl, wBeatGymFlags - set 1, [hl] - - ; deactivate gym trainers - SetEvents EVENT_BEAT_CERULEAN_GYM_TRAINER_0, EVENT_BEAT_CERULEAN_GYM_TRAINER_1 - - jp CeruleanGymScript_5c6ed - -CeruleanGymTextPointers: - dw CeruleanGymText1 - dw CeruleanGymText2 - dw CeruleanGymText3 - dw CeruleanGymText4 - dw CeruleanGymText5 - dw CeruleanGymText6 - dw CeruleanGymText7 - -CeruleanGymTrainerHeader0: - dbEventFlagBit EVENT_BEAT_CERULEAN_GYM_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CERULEAN_GYM_TRAINER_0 - dw CeruleanGymBattleText1 ; TextBeforeBattle - dw CeruleanGymAfterBattleText1 ; TextAfterBattle - dw CeruleanGymEndBattleText1 ; TextEndBattle - dw CeruleanGymEndBattleText1 ; TextEndBattle - -CeruleanGymTrainerHeader1: - dbEventFlagBit EVENT_BEAT_CERULEAN_GYM_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CERULEAN_GYM_TRAINER_1 - dw CeruleanGymBattleText2 ; TextBeforeBattle - dw CeruleanGymAfterBattleText2 ; TextAfterBattle - dw CeruleanGymEndBattleText2 ; TextEndBattle - dw CeruleanGymEndBattleText2 ; TextEndBattle - - db $ff - -CeruleanGymText1: - TX_ASM - CheckEvent EVENT_BEAT_MISTY - jr z, .asm_5c78d - CheckEventReuseA EVENT_GOT_TM11 - jr nz, .asm_5c785 - call z, CeruleanGymScript_5c70d - call DisableWaitingAfterTextDisplay - jr .asm_5c7bb -.asm_5c785 - ld hl, CeruleanGymText_5c7c3 - call PrintText - jr .asm_5c7bb -.asm_5c78d - ld hl, CeruleanGymText_5c7be - call PrintText - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, CeruleanGymText_5c7d8 - ld de, CeruleanGymText_5c7d8 - call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] - ld [wSpriteIndex], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $2 - ld [wGymLeaderNo], a - xor a - ld [hJoyHeld], a - ld a, $3 - ld [wCeruleanGymCurScript], a -.asm_5c7bb - jp TextScriptEnd - -CeruleanGymText_5c7be: - TX_FAR _CeruleanGymText_5c7be - db "@" - -CeruleanGymText_5c7c3: - TX_FAR _CeruleanGymText_5c7c3 - db "@" - -CeruleanGymText5: - TX_FAR _CeruleanGymText_5c7c8 - db "@" - -CeruleanGymText6: - TX_FAR _ReceivedTM11Text - TX_SFX_ITEM_1 - db "@" - -CeruleanGymText7: - TX_FAR _CeruleanGymText_5c7d3 - db "@" - -CeruleanGymText_5c7d8: - TX_FAR _CeruleanGymText_5c7d8 - TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded - TX_BLINK - db "@" - -CeruleanGymText2: - TX_ASM - ld hl, CeruleanGymTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -CeruleanGymBattleText1: - TX_FAR _CeruleanGymBattleText1 - db "@" - -CeruleanGymEndBattleText1: - TX_FAR _CeruleanGymEndBattleText1 - db "@" - -CeruleanGymAfterBattleText1: - TX_FAR _CeruleanGymAfterBattleText1 - db "@" - -CeruleanGymText3: - TX_ASM - ld hl, CeruleanGymTrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -CeruleanGymBattleText2: - TX_FAR _CeruleanGymBattleText2 - db "@" - -CeruleanGymEndBattleText2: - TX_FAR _CeruleanGymEndBattleText2 - db "@" - -CeruleanGymAfterBattleText2: - TX_FAR _CeruleanGymAfterBattleText2 - db "@" - -CeruleanGymText4: - TX_ASM - CheckEvent EVENT_BEAT_MISTY - jr nz, .asm_5c821 - ld hl, CeruleanGymText_5c82a - call PrintText - jr .asm_5c827 -.asm_5c821 - ld hl, CeruleanGymText_5c82f - call PrintText -.asm_5c827 - jp TextScriptEnd - -CeruleanGymText_5c82a: - TX_FAR _CeruleanGymText_5c82a - db "@" - -CeruleanGymText_5c82f: - TX_FAR _CeruleanGymText_5c82f - db "@" diff --git a/scripts/ceruleanhouse1.asm b/scripts/ceruleanhouse1.asm deleted file mode 100755 index 181a22c3..00000000 --- a/scripts/ceruleanhouse1.asm +++ /dev/null @@ -1,17 +0,0 @@ -CeruleanHouse1Script: - jp EnableAutoTextBoxDrawing - -CeruleanHouse1TextPointers: - dw CeruleanHouse1Text1 - dw CeruleanHouse1Text2 - -CeruleanHouse1Text1: - TX_FAR _CeruleanHouse1Text1 - db "@" - -CeruleanHouse1Text2: - TX_ASM - ld a, $6 - ld [wWhichTrade], a - predef DoInGameTradeDialogue - jp TextScriptEnd diff --git a/scripts/ceruleanhouse2.asm b/scripts/ceruleanhouse2.asm deleted file mode 100755 index e83c2194..00000000 --- a/scripts/ceruleanhouse2.asm +++ /dev/null @@ -1,109 +0,0 @@ -CeruleanHouse2Script: - ld a, $1 - ld [wAutoTextBoxDrawingControl], a - dec a - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ret - -CeruleanHouse2TextPointers: - dw CeruleanHouse2Text1 - -CeruleanHouse2Text1: - TX_ASM - ld hl, CeruleanHouse2Text_74e77 - call PrintText - xor a - ld [wCurrentMenuItem], a - ld [wListScrollOffset], a -.asm_74e23 - ld hl, CeruleanHouse2Text_74e7c - call PrintText - ld hl, BadgeItemList - call LoadItemList - ld hl, wItemList - ld a, l - ld [wListPointer], a - ld a, h - ld [wListPointer + 1], a - xor a - ld [wPrintItemPrices], a - ld [wMenuItemToSwap], a - ld a, SPECIALLISTMENU - ld [wListMenuID], a - call DisplayListMenuID - jr c, .asm_74e60 - ld hl, TextPointers_74e86 - ld a, [wcf91] - sub $15 - add a - ld d, $0 - ld e, a - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call PrintText - jr .asm_74e23 -.asm_74e60 - xor a - ld [wListScrollOffset], a - ld hl, CeruleanHouse2Text_74e81 - call PrintText - jp TextScriptEnd - -BadgeItemList: - db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF - -CeruleanHouse2Text_74e77: - TX_FAR _CeruleanHouse2Text_74e77 - db "@" - -CeruleanHouse2Text_74e7c: - TX_FAR _CeruleanHouse2Text_74e7c - db "@" - -CeruleanHouse2Text_74e81: - TX_FAR _CeruleanHouse2Text_74e81 - db "@" - -TextPointers_74e86: - dw CeruleanHouse2Text_74e96 - dw CeruleanHouse2Text_74e9b - dw CeruleanHouse2Text_74ea0 - dw CeruleanHouse2Text_74ea5 - dw CeruleanHouse2Text_74eaa - dw CeruleanHouse2Text_74eaf - dw CeruleanHouse2Text_74eb4 - dw CeruleanHouse2Text_74eb9 - -CeruleanHouse2Text_74e96: - TX_FAR _CeruleanHouse2Text_74e96 - db "@" - -CeruleanHouse2Text_74e9b: - TX_FAR _CeruleanHouse2Text_74e9b - db "@" - -CeruleanHouse2Text_74ea0: - TX_FAR _CeruleanHouse2Text_74ea0 - db "@" - -CeruleanHouse2Text_74ea5: - TX_FAR _CeruleanHouse2Text_74ea5 - db "@" - -CeruleanHouse2Text_74eaa: - TX_FAR _CeruleanHouse2Text_74eaa - db "@" - -CeruleanHouse2Text_74eaf: - TX_FAR _CeruleanHouse2Text_74eaf - db "@" - -CeruleanHouse2Text_74eb4: - TX_FAR _CeruleanHouse2Text_74eb4 - db "@" - -CeruleanHouse2Text_74eb9: - TX_FAR _CeruleanHouse2Text_74eb9 - db "@" diff --git a/scripts/ceruleanhousetrashed.asm b/scripts/ceruleanhousetrashed.asm deleted file mode 100755 index da848b7c..00000000 --- a/scripts/ceruleanhousetrashed.asm +++ /dev/null @@ -1,39 +0,0 @@ -CeruleanHouseTrashedScript: - call EnableAutoTextBoxDrawing - ret - -CeruleanHouseTrashedTextPointers: - dw CeruleanHouseTrashedText1 - dw CeruleanHouseTrashedText2 - dw CeruleanHouseTrashedText3 - -CeruleanHouseTrashedText1: - TX_ASM - ld b, $e4 - predef GetQuantityOfItemInBag - and b - jr z, .asm_f8734 - ld hl, CeruleanHouseTrashedText_1d6b0 - call PrintText - jr .asm_8dfe9 -.asm_f8734 - ld hl, CeruleanHouseTrashedText_1d6ab - call PrintText -.asm_8dfe9 - jp TextScriptEnd - -CeruleanHouseTrashedText_1d6ab: - TX_FAR _CeruleanTrashedText_1d6ab - db "@" - -CeruleanHouseTrashedText_1d6b0: - TX_FAR _CeruleanTrashedText_1d6b0 - db "@" - -CeruleanHouseTrashedText2: - TX_FAR _CeruleanHouseTrashedText2 - db "@" - -CeruleanHouseTrashedText3: - TX_FAR _CeruleanHouseTrashedText3 - db "@" diff --git a/scripts/ceruleanmart.asm b/scripts/ceruleanmart.asm deleted file mode 100755 index 76d83f90..00000000 --- a/scripts/ceruleanmart.asm +++ /dev/null @@ -1,15 +0,0 @@ -CeruleanMartScript: - jp EnableAutoTextBoxDrawing - -CeruleanMartTextPointers: - dw CeruleanCashierText - dw CeruleanMartText2 - dw CeruleanMartText3 - -CeruleanMartText2: - TX_FAR _CeruleanMartText2 - db "@" - -CeruleanMartText3: - TX_FAR _CeruleanMartText3 - db "@" diff --git a/scripts/ceruleanpokecenter.asm b/scripts/ceruleanpokecenter.asm deleted file mode 100755 index b758f497..00000000 --- a/scripts/ceruleanpokecenter.asm +++ /dev/null @@ -1,23 +0,0 @@ -CeruleanPokecenterScript: - call Serial_TryEstablishingExternallyClockedConnection - jp EnableAutoTextBoxDrawing - -CeruleanPokecenterTextPointers: - dw CeruleanHealNurseText - dw CeruleanPokecenterText2 - dw CeruleanPokecenterText3 - dw CeruleanTradeNurseText - -CeruleanTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST - -CeruleanHealNurseText: - TX_POKECENTER_NURSE - -CeruleanPokecenterText2: - TX_FAR _CeruleanPokecenterText2 - db "@" - -CeruleanPokecenterText3: - TX_FAR _CeruleanPokecenterText3 - db "@" diff --git a/scripts/cinnabargym.asm b/scripts/cinnabargym.asm deleted file mode 100755 index 8af7bbd3..00000000 --- a/scripts/cinnabargym.asm +++ /dev/null @@ -1,472 +0,0 @@ -CinnabarGymScript: - call CinnabarGymScript_75759 - call EnableAutoTextBoxDrawing - ld hl, CinnabarGymScriptPointers - ld a, [wCinnabarGymCurScript] - jp CallFunctionInTable - -CinnabarGymScript_75759: - ld hl, wCurrentMapScriptFlags - bit 6, [hl] - res 6, [hl] - push hl - call nz, CinnabarGymScript_75772 - pop hl - bit 5, [hl] - res 5, [hl] - call nz, UpdateCinnabarGymGateTileBlocks - ResetEvent EVENT_2A7 - ret -CinnabarGymScript_75772: - ld hl, Gym7CityName - ld de, Gym7LeaderName - jp LoadGymLeaderAndCityName - -Gym7CityName: - db "CINNABAR ISLAND@" -Gym7LeaderName: - db "BLAINE@" - -CinnabarGymScript_75792: - xor a - ld [wJoyIgnore], a - ld [wCinnabarGymCurScript], a - ld [wCurMapScript], a - ld [wOpponentAfterWrongAnswer], a - ret - -CinnabarGymScript_757a0: - ld a, [hSpriteIndexOrTextID] - ld [wTrainerHeaderFlagBit], a - ret - -CinnabarGymScriptPointers: - dw CinnabarGymScript0 - dw CinnabarGymScript1 - dw CinnabarGymScript2 - dw CinnabarGymScript3 - -CinnabarGymScript0: - ld a, [wOpponentAfterWrongAnswer] - and a - ret z - ld [H_SPRITEINDEX], a - cp $4 - jr nz, .asm_757c3 - ld a, PLAYER_DIR_DOWN - ld [wPlayerMovingDirection], a - ld de, MovementData_757d7 - jr .asm_757cb -.asm_757c3 - ld de, MovementData_757da - ld a, PLAYER_DIR_RIGHT - ld [wPlayerMovingDirection], a -.asm_757cb - call MoveSprite - ld a, $1 - ld [wCinnabarGymCurScript], a - ld [wCurMapScript], a - ret - -MovementData_757d7: - db NPC_MOVEMENT_LEFT - db NPC_MOVEMENT_UP - db $FF - -MovementData_757da: - db NPC_MOVEMENT_LEFT - db $FF - -CinnabarGymScript1: - ld a, [wd730] - bit 0, a - ret nz - xor a - ld [wJoyIgnore], a - ld a, [wOpponentAfterWrongAnswer] - ld [wTrainerHeaderFlagBit], a - ld [hSpriteIndexOrTextID], a - jp DisplayTextID - -CinnabarGymFlagAction: - predef_jump FlagActionPredef - -CinnabarGymScript2: - ld a, [wIsInBattle] - cp $ff - jp z, CinnabarGymScript_75792 - ld a, [wTrainerHeaderFlagBit] - ld [$ffdb], a - AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 - ld c, a - ld b, FLAG_TEST - EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0 - call CinnabarGymFlagAction - ld a, c - and a - jr nz, .asm_7581b - call WaitForSoundToFinish - ld a, SFX_GO_INSIDE - call PlaySound - call WaitForSoundToFinish -.asm_7581b - ld a, [wTrainerHeaderFlagBit] - ld [$ffdb], a - AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 - ld c, a - ld b, FLAG_SET - EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0 - call CinnabarGymFlagAction - ld a, [wTrainerHeaderFlagBit] - sub $2 - AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 - ld c, a - ld b, FLAG_SET - EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED - call CinnabarGymFlagAction - call UpdateCinnabarGymGateTileBlocks - xor a - ld [wJoyIgnore], a - ld [wOpponentAfterWrongAnswer], a - ld a, $0 - ld [wCinnabarGymCurScript], a - ld [wCurMapScript], a - ret - -CinnabarGymScript3: - ld a, [wIsInBattle] - cp $ff - jp z, CinnabarGymScript_75792 - ld a, $f0 - ld [wJoyIgnore], a -CinnabarGymScript3_75857: - ld a, $a - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_BEAT_BLAINE - lb bc, TM_38, 1 - call GiveItem - jr nc, .BagFull - ld a, $b - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_GOT_TM38 - jr .asm_75880 -.BagFull - ld a, $c - ld [hSpriteIndexOrTextID], a - call DisplayTextID -.asm_75880 - ld hl, wObtainedBadges - set 6, [hl] - ld hl, wBeatGymFlags - set 6, [hl] - - ; deactivate gym trainers - SetEventRange EVENT_BEAT_CINNABAR_GYM_TRAINER_0, EVENT_BEAT_CINNABAR_GYM_TRAINER_6 - - ld hl, wCurrentMapScriptFlags - set 5, [hl] - - jp CinnabarGymScript_75792 - -CinnabarGymTextPointers: - dw CinnabarGymText1 - dw CinnabarGymText2 - dw CinnabarGymText3 - dw CinnabarGymText4 - dw CinnabarGymText5 - dw CinnabarGymText6 - dw CinnabarGymText7 - dw CinnabarGymText8 - dw CinnabarGymText9 - dw BlaineBadgeText - dw ReceivedTM38Text - dw TM38NoRoomText - -CinnabarGymScript_758b7: - ld a, [hSpriteIndexOrTextID] - ld [wSpriteIndex], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld a, [wSpriteIndex] - cp $1 - jr z, .asm_758d4 - ld a, $2 - jr .asm_758d6 -.asm_758d4 - ld a, $3 -.asm_758d6 - ld [wCinnabarGymCurScript], a - ld [wCurMapScript], a - jp TextScriptEnd - -CinnabarGymText1: - TX_ASM - CheckEvent EVENT_BEAT_BLAINE - jr z, .asm_d9332 - CheckEventReuseA EVENT_GOT_TM38 - jr nz, .asm_3012f - call z, CinnabarGymScript3_75857 - call DisableWaitingAfterTextDisplay - jp TextScriptEnd -.asm_3012f - ld hl, BlaineFireBlastText - call PrintText - jp TextScriptEnd -.asm_d9332 - ld hl, BlaineBattleText - call PrintText - ld hl, BlaineEndBattleText - ld de, BlaineEndBattleText - call SaveEndBattleTextPointers - ld a, $7 - ld [wGymLeaderNo], a - jp CinnabarGymScript_758b7 - -BlaineBattleText: - TX_FAR _BlaineBattleText - db "@" - -BlaineEndBattleText: - TX_FAR _BlaineEndBattleText - TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded - TX_WAIT - db "@" - -BlaineFireBlastText: - TX_FAR _BlaineFireBlastText - db "@" - -BlaineBadgeText: - TX_FAR _BlaineBadgeText - db "@" - -ReceivedTM38Text: - TX_FAR _ReceivedTM38Text - TX_SFX_ITEM_1 - TX_FAR _TM38ExplanationText - db "@" - -TM38NoRoomText: - TX_FAR _TM38NoRoomText - db "@" - -CinnabarGymText2: - TX_ASM - call CinnabarGymScript_757a0 - CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_0 - jr nz, .asm_46bb4 - ld hl, CinnabarGymText_7595f - call PrintText - ld hl, CinnabarGymText_75964 - ld de, CinnabarGymText_75964 - call SaveEndBattleTextPointers - jp CinnabarGymScript_758b7 -.asm_46bb4 - ld hl, CinnabarGymText_75969 - call PrintText - jp TextScriptEnd - -CinnabarGymText_7595f: - TX_FAR _CinnabarGymText_7595f - db "@" - -CinnabarGymText_75964: - TX_FAR _CinnabarGymText_75964 - db "@" - -CinnabarGymText_75969: - TX_FAR _CinnabarGymText_75969 - db "@" - -CinnabarGymText3: - TX_ASM - call CinnabarGymScript_757a0 - CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_1 - jr nz, .asm_4b406 - ld hl, CinnabarGymText_75994 - call PrintText - ld hl, CinnabarGymText_75999 - ld de, CinnabarGymText_75999 - call SaveEndBattleTextPointers - jp CinnabarGymScript_758b7 -.asm_4b406 - ld hl, CinnabarGymText_7599e - call PrintText - jp TextScriptEnd - -CinnabarGymText_75994: - TX_FAR _CinnabarGymText_75994 - db "@" - -CinnabarGymText_75999: - TX_FAR _CinnabarGymText_75999 - db "@" - -CinnabarGymText_7599e: - TX_FAR _CinnabarGymText_7599e - db "@" - -CinnabarGymText4: - TX_ASM - call CinnabarGymScript_757a0 - CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_2 - jr nz, .asm_c0673 - ld hl, CinnabarGymText_759c9 - call PrintText - ld hl, CinnabarGymText_759ce - ld de, CinnabarGymText_759ce - call SaveEndBattleTextPointers - jp CinnabarGymScript_758b7 -.asm_c0673 - ld hl, CinnabarGymText_759d3 - call PrintText - jp TextScriptEnd - -CinnabarGymText_759c9: - TX_FAR _CinnabarGymText_759c9 - db "@" - -CinnabarGymText_759ce: - TX_FAR _CinnabarGymText_759ce - db "@" - -CinnabarGymText_759d3: - TX_FAR _CinnabarGymText_759d3 - db "@" - -CinnabarGymText5: - TX_ASM - call CinnabarGymScript_757a0 - CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_3 - jr nz, .asm_5cfd7 - ld hl, CinnabarGymText_759fe - call PrintText - ld hl, CinnabarGymText_75a03 - ld de, CinnabarGymText_75a03 - call SaveEndBattleTextPointers - jp CinnabarGymScript_758b7 -.asm_5cfd7 - ld hl, CinnabarGymText_75a08 - call PrintText - jp TextScriptEnd - -CinnabarGymText_759fe: - TX_FAR _CinnabarGymText_759fe - db "@" - -CinnabarGymText_75a03: - TX_FAR _CinnabarGymText_75a03 - db "@" - -CinnabarGymText_75a08: - TX_FAR _CinnabarGymText_75a08 - db "@" - -CinnabarGymText6: - TX_ASM - call CinnabarGymScript_757a0 - CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_4 - jr nz, .asm_776b4 - ld hl, CinnabarGymText_75a33 - call PrintText - ld hl, CinnabarGymText_75a38 - ld de, CinnabarGymText_75a38 - call SaveEndBattleTextPointers - jp CinnabarGymScript_758b7 -.asm_776b4 - ld hl, CinnabarGymText_75a3d - call PrintText - jp TextScriptEnd - -CinnabarGymText_75a33: - TX_FAR _CinnabarGymText_75a33 - db "@" - -CinnabarGymText_75a38: - TX_FAR _CinnabarGymText_75a38 - db "@" - -CinnabarGymText_75a3d: - TX_FAR _CinnabarGymText_75a3d - db "@" - -CinnabarGymText7: - TX_ASM - call CinnabarGymScript_757a0 - CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_5 - jr nz, .asm_2f755 - ld hl, CinnabarGymText_75a68 - call PrintText - ld hl, CinnabarGymText_75a6d - ld de, CinnabarGymText_75a6d - call SaveEndBattleTextPointers - jp CinnabarGymScript_758b7 -.asm_2f755 - ld hl, CinnabarGymText_75a72 - call PrintText - jp TextScriptEnd - -CinnabarGymText_75a68: - TX_FAR _CinnabarGymText_75a68 - db "@" - -CinnabarGymText_75a6d: - TX_FAR _CinnabarGymText_75a6d - db "@" - -CinnabarGymText_75a72: - TX_FAR _CinnabarGymText_75a72 - db "@" - -CinnabarGymText8: - TX_ASM - call CinnabarGymScript_757a0 - CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_6 - jr nz, .asm_d87be - ld hl, CinnabarGymText_75a9d - call PrintText - ld hl, CinnabarGymText_75aa2 - ld de, CinnabarGymText_75aa2 - call SaveEndBattleTextPointers - jp CinnabarGymScript_758b7 -.asm_d87be - ld hl, CinnabarGymText_75aa7 - call PrintText - jp TextScriptEnd - -CinnabarGymText_75a9d: - TX_FAR _CinnabarGymText_75a9d - db "@" - -CinnabarGymText_75aa2: - TX_FAR _CinnabarGymText_75aa2 - db "@" - -CinnabarGymText_75aa7: - TX_FAR _CinnabarGymText_75aa7 - db "@" - -CinnabarGymText9: - TX_ASM - CheckEvent EVENT_BEAT_BLAINE - jr nz, .asm_627d9 - ld hl, CinnabarGymText_75ac2 - jr .asm_0b11d -.asm_627d9 - ld hl, CinnabarGymText_75ac7 -.asm_0b11d - call PrintText - jp TextScriptEnd - -CinnabarGymText_75ac2: - TX_FAR _CinnabarGymText_75ac2 - db "@" - -CinnabarGymText_75ac7: - TX_FAR _CinnabarGymText_75ac7 - db "@" diff --git a/scripts/cinnabarisland.asm b/scripts/cinnabarisland.asm deleted file mode 100755 index 8549042f..00000000 --- a/scripts/cinnabarisland.asm +++ /dev/null @@ -1,85 +0,0 @@ -CinnabarIslandScript: - call EnableAutoTextBoxDrawing - ld hl, wCurrentMapScriptFlags - set 5, [hl] - ResetEvent EVENT_MANSION_SWITCH_ON - ResetEvent EVENT_LAB_STILL_REVIVING_FOSSIL - ld hl, CinnabarIslandScriptPointers - ld a, [wCinnabarIslandCurScript] - jp CallFunctionInTable - -CinnabarIslandScriptPointers: - dw CinnabarIslandScript0 - dw CinnabarIslandScript1 - -CinnabarIslandScript0: - ld b, SECRET_KEY - call IsItemInBag - ret nz - ld a, [wYCoord] - cp $4 - ret nz - ld a, [wXCoord] - cp $12 - ret nz - ld a, PLAYER_DIR_UP - ld [wPlayerMovingDirection], a - ld a, $8 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [hJoyHeld], a - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - ld a, D_DOWN - ld [wSimulatedJoypadStatesEnd], a - call StartSimulatingJoypadStates - xor a - ld [wSpriteStateData1 + 9], a - ld [wJoyIgnore], a - ld a, $1 - ld [wCinnabarIslandCurScript], a - ret - -CinnabarIslandScript1: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - call Delay3 - ld a, $0 - ld [wCinnabarIslandCurScript], a - ret - -CinnabarIslandTextPointers: - dw CinnabarIslandText1 - dw CinnabarIslandText2 - dw CinnabarIslandText3 - dw MartSignText - dw PokeCenterSignText - dw CinnabarIslandText6 - dw CinnabarIslandText7 - dw CinnabarIslandText8 - -CinnabarIslandText8: - TX_FAR _CinnabarIslandText8 - db "@" - -CinnabarIslandText1: - TX_FAR _CinnabarIslandText1 - db "@" - -CinnabarIslandText2: - TX_FAR _CinnabarIslandText2 - db "@" - -CinnabarIslandText3: - TX_FAR _CinnabarIslandText3 - db "@" - -CinnabarIslandText6: - TX_FAR _CinnabarIslandText6 - db "@" - -CinnabarIslandText7: - TX_FAR _CinnabarIslandText7 - db "@" diff --git a/scripts/cinnabarmart.asm b/scripts/cinnabarmart.asm deleted file mode 100755 index 55b82cf0..00000000 --- a/scripts/cinnabarmart.asm +++ /dev/null @@ -1,15 +0,0 @@ -CinnabarMartScript: - jp EnableAutoTextBoxDrawing - -CinnabarMartTextPointers: - dw CinnabarCashierText - dw CinnabarMartText2 - dw CinnabarMartText3 - -CinnabarMartText2: - TX_FAR _CinnabarMartText2 - db "@" - -CinnabarMartText3: - TX_FAR _CinnabarMartText3 - db "@" diff --git a/scripts/cinnabarpokecenter.asm b/scripts/cinnabarpokecenter.asm deleted file mode 100755 index 2f6d5791..00000000 --- a/scripts/cinnabarpokecenter.asm +++ /dev/null @@ -1,23 +0,0 @@ -CinnabarPokecenterScript: - call Serial_TryEstablishingExternallyClockedConnection - jp EnableAutoTextBoxDrawing - -CinnabarPokecenterTextPointers: - dw CinnabarHealNurseText - dw CinnabarPokecenterText2 - dw CinnabarPokecenterText3 - dw CinnabarTradeNurseText - -CinnabarHealNurseText: - TX_POKECENTER_NURSE - -CinnabarPokecenterText2: - TX_FAR _CinnabarPokecenterText2 - db "@" - -CinnabarPokecenterText3: - TX_FAR _CinnabarPokecenterText3 - db "@" - -CinnabarTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/colosseum.asm b/scripts/colosseum.asm deleted file mode 100755 index bdfa3c44..00000000 --- a/scripts/colosseum.asm +++ /dev/null @@ -1,9 +0,0 @@ -ColosseumScript: - jp TradeCenterScript - -ColosseumTextPointers: - dw ColosseumText1 - -ColosseumText1: - TX_FAR _ColosseumText1 - db "@" diff --git a/scripts/copycatshouse1f.asm b/scripts/copycatshouse1f.asm deleted file mode 100755 index 25cd0fc2..00000000 --- a/scripts/copycatshouse1f.asm +++ /dev/null @@ -1,22 +0,0 @@ -CopycatsHouse1FScript: - jp EnableAutoTextBoxDrawing - -CopycatsHouse1FTextPointers: - dw CopycatsHouse1FText1 - dw CopycatsHouse1FText2 - dw CopycatsHouse1FText3 - -CopycatsHouse1FText1: - TX_FAR _CopycatsHouse1FText1 - db "@" - -CopycatsHouse1FText2: - TX_FAR _CopycatsHouse1FText2 - db "@" - -CopycatsHouse1FText3: - TX_FAR _CopycatsHouse1FText3 - TX_ASM - ld a, CHANSEY - call PlayCry - jp TextScriptEnd diff --git a/scripts/copycatshouse2f.asm b/scripts/copycatshouse2f.asm deleted file mode 100755 index 87946b8f..00000000 --- a/scripts/copycatshouse2f.asm +++ /dev/null @@ -1,102 +0,0 @@ -CopycatsHouse2FScript: - jp EnableAutoTextBoxDrawing - -CopycatsHouse2FTextPointers: - dw CopycatsHouse2FText1 - dw CopycatsHouse2FText2 - dw CopycatsHouse2FText3 - dw CopycatsHouse2FText4 - dw CopycatsHouse2FText5 - dw CopycatsHouse2FText6 - dw CopycatsHouse2FText7 - -CopycatsHouse2FText1: - TX_ASM - CheckEvent EVENT_GOT_TM31 - jr nz, .asm_7ccf3 - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, CopycatsHouse2FText_5ccd4 - call PrintText - ld b, POKE_DOLL - call IsItemInBag - jr z, .asm_62ecd - ld hl, TM31PreReceiveText - call PrintText - lb bc, TM_31, 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedTM31Text - call PrintText - ld a, POKE_DOLL - ld [$ffdb], a - callba RemoveItemByID - SetEvent EVENT_GOT_TM31 - jr .asm_62ecd -.BagFull - ld hl, TM31NoRoomText - call PrintText - jr .asm_62ecd -.asm_7ccf3 - ld hl, TM31ExplanationText2 - call PrintText -.asm_62ecd - jp TextScriptEnd - -CopycatsHouse2FText_5ccd4: - TX_FAR _CopycatsHouse2FText_5ccd4 - db "@" - -TM31PreReceiveText: - TX_FAR _TM31PreReceiveText - db "@" - -ReceivedTM31Text: - TX_FAR _ReceivedTM31Text - TX_SFX_ITEM_1 -TM31ExplanationText1: - TX_FAR _TM31ExplanationText1 - TX_WAIT - db "@" - -TM31ExplanationText2: - TX_FAR _TM31ExplanationText2 - db "@" - -TM31NoRoomText: - TX_FAR _TM31NoRoomText - TX_WAIT - db "@" - -CopycatsHouse2FText2: - TX_FAR _CopycatsHouse2FText2 - db "@" - -CopycatsHouse2FText5: -CopycatsHouse2FText4: -CopycatsHouse2FText3: - TX_FAR _CopycatsHouse2FText3 - db "@" - -CopycatsHouse2FText6: - TX_FAR _CopycatsHouse2FText6 - db "@" - -CopycatsHouse2FText7: - TX_ASM - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ld hl, CopycatsHouse2FText_5cd1c - jr nz, .notUp - ld hl, CopycatsHouse2FText_5cd17 -.notUp - call PrintText - jp TextScriptEnd - -CopycatsHouse2FText_5cd17: - TX_FAR _CopycatsHouse2FText_5cd17 - db "@" - -CopycatsHouse2FText_5cd1c: - TX_FAR _CopycatsHouse2FText_5cd1c - db "@" diff --git a/scripts/daycarem.asm b/scripts/daycarem.asm deleted file mode 100755 index 60daa3d5..00000000 --- a/scripts/daycarem.asm +++ /dev/null @@ -1,269 +0,0 @@ -DayCareMScript: - jp EnableAutoTextBoxDrawing - -DayCareMTextPointers: - dw DayCareMText1 - -DayCareMText1: - TX_ASM - call SaveScreenTilesToBuffer2 - ld a, [wDayCareInUse] - and a - jp nz, .daycareInUse - ld hl, DayCareIntroText - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - ld hl, DayCareComeAgainText - jp nz, .done - ld a, [wPartyCount] - dec a - ld hl, DayCareOnlyHaveOneMonText - jp z, .done - ld hl, DayCareWhichMonText - call PrintText - xor a - ld [wUpdateSpritesEnabled], a - ld [wPartyMenuTypeOrMessageID], a - ld [wMenuItemToSwap], a - call DisplayPartyMenu - push af - call GBPalWhiteOutWithDelay3 - call RestoreScreenTilesAndReloadTilePatterns - call LoadGBPal - pop af - ld hl, DayCareAllRightThenText - jp c, .done - callab KnowsHMMove - ld hl, DayCareCantAcceptMonWithHMText - jp c, .done - xor a - ld [wPartyAndBillsPCSavedMenuItem], a - ld a, [wWhichPokemon] - ld hl, wPartyMonNicks - call GetPartyMonName - ld hl, DayCareWillLookAfterMonText - call PrintText - ld a, 1 - ld [wDayCareInUse], a - ld a, PARTY_TO_DAYCARE - ld [wMoveMonType], a - call MoveMon - xor a - ld [wRemoveMonFromBox], a - call RemovePokemon - ld a, [wcf91] - call PlayCry - ld hl, DayCareComeSeeMeInAWhileText - jp .done - -.daycareInUse - xor a - ld hl, wDayCareMonName - call GetPartyMonName - ld a, DAYCARE_DATA - ld [wMonDataLocation], a - call LoadMonData - callab CalcLevelFromExperience - ld a, d - cp MAX_LEVEL - jr c, .skipCalcExp - - ld d, MAX_LEVEL - callab CalcExperience - ld hl, wDayCareMonExp - ld a, [hExperience] - ld [hli], a - ld a, [hExperience + 1] - ld [hli], a - ld a, [hExperience + 2] - ld [hl], a - ld d, MAX_LEVEL - -.skipCalcExp - xor a - ld [wDayCareNumLevelsGrown], a - ld hl, wDayCareMonBoxLevel - ld a, [hl] - ld [wDayCareStartLevel], a - cp d - ld [hl], d - ld hl, DayCareMonNeedsMoreTimeText - jr z, .next - ld a, [wDayCareStartLevel] - ld b, a - ld a, d - sub b - ld [wDayCareNumLevelsGrown], a - ld hl, DayCareMonHasGrownText - -.next - call PrintText - ld a, [wPartyCount] - cp PARTY_LENGTH - ld hl, DayCareNoRoomForMonText - jp z, .leaveMonInDayCare - ld de, wDayCareTotalCost - xor a - ld [de], a - inc de - ld [de], a - ld hl, wDayCarePerLevelCost - ld a, $1 - ld [hli], a - ld [hl], $0 - ld a, [wDayCareNumLevelsGrown] - inc a - ld b, a - ld c, 2 -.calcPriceLoop - push hl - push de - push bc - predef AddBCDPredef - pop bc - pop de - pop hl - dec b - jr nz, .calcPriceLoop - ld hl, DayCareOweMoneyText - call PrintText - ld a, MONEY_BOX - ld [wTextBoxID], a - call DisplayTextBoxID - call YesNoChoice - ld hl, DayCareAllRightThenText - ld a, [wCurrentMenuItem] - and a - jp nz, .leaveMonInDayCare - ld hl, wDayCareTotalCost - ld [hMoney], a - ld a, [hli] - ld [hMoney + 1], a - ld a, [hl] - ld [hMoney + 2], a - call HasEnoughMoney - jr nc, .enoughMoney - ld hl, DayCareNotEnoughMoneyText - jp .leaveMonInDayCare - -.enoughMoney - xor a - ld [wDayCareInUse], a - ld hl, wDayCareNumLevelsGrown - ld [hli], a - inc hl - ld de, wPlayerMoney + 2 - ld c, $3 - predef SubBCDPredef - ld a, SFX_PURCHASE - call PlaySoundWaitForCurrent - ld a, MONEY_BOX - ld [wTextBoxID], a - call DisplayTextBoxID - ld hl, DayCareHeresYourMonText - call PrintText - ld a, DAYCARE_TO_PARTY - ld [wMoveMonType], a - call MoveMon - ld a, [wDayCareMonSpecies] - ld [wcf91], a - ld a, [wPartyCount] - dec a - push af - ld bc, wPartyMon2 - wPartyMon1 - push bc - ld hl, wPartyMon1Moves - call AddNTimes - ld d, h - ld e, l - ld a, 1 - ld [wLearningMovesFromDayCare], a - predef WriteMonMoves - pop bc - pop af - -; set mon's HP to max - ld hl, wPartyMon1HP - call AddNTimes - ld d, h - ld e, l - ld bc, wPartyMon1MaxHP - wPartyMon1HP - add hl, bc - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - - ld a, [wcf91] - call PlayCry - ld hl, DayCareGotMonBackText - jr .done - -.leaveMonInDayCare - ld a, [wDayCareStartLevel] - ld [wDayCareMonBoxLevel], a - -.done - call PrintText - jp TextScriptEnd - -DayCareIntroText: - TX_FAR _DayCareIntroText - db "@" - -DayCareWhichMonText: - TX_FAR _DayCareWhichMonText - db "@" - -DayCareWillLookAfterMonText: - TX_FAR _DayCareWillLookAfterMonText - db "@" - -DayCareComeSeeMeInAWhileText: - TX_FAR _DayCareComeSeeMeInAWhileText - db "@" - -DayCareMonHasGrownText: - TX_FAR _DayCareMonHasGrownText - db "@" - -DayCareOweMoneyText: - TX_FAR _DayCareOweMoneyText - db "@" - -DayCareGotMonBackText: - TX_FAR _DayCareGotMonBackText - db "@" - -DayCareMonNeedsMoreTimeText: - TX_FAR _DayCareMonNeedsMoreTimeText - db "@" - -DayCareAllRightThenText: - TX_FAR _DayCareAllRightThenText -DayCareComeAgainText: - TX_FAR _DayCareComeAgainText - db "@" - -DayCareNoRoomForMonText: - TX_FAR _DayCareNoRoomForMonText - db "@" - -DayCareOnlyHaveOneMonText: - TX_FAR _DayCareOnlyHaveOneMonText - db "@" - -DayCareCantAcceptMonWithHMText: - TX_FAR _DayCareCantAcceptMonWithHMText - db "@" - -DayCareHeresYourMonText: - TX_FAR _DayCareHeresYourMonText - db "@" - -DayCareNotEnoughMoneyText: - TX_FAR _DayCareNotEnoughMoneyText - db "@" diff --git a/scripts/diglettscave.asm b/scripts/diglettscave.asm deleted file mode 100755 index 593b12a6..00000000 --- a/scripts/diglettscave.asm +++ /dev/null @@ -1,5 +0,0 @@ -DiglettsCaveScript: - jp EnableAutoTextBoxDrawing - -DiglettsCaveTextPointers: - db "@" diff --git a/scripts/diglettscaveroute11.asm b/scripts/diglettscaveroute11.asm deleted file mode 100755 index d97a8446..00000000 --- a/scripts/diglettscaveroute11.asm +++ /dev/null @@ -1,12 +0,0 @@ -DiglettsCaveEntranceRoute11Script: - call EnableAutoTextBoxDrawing - ld a, ROUTE_11 - ld [wLastMap], a - ret - -DiglettsCaveEntranceRoute11TextPointers: - dw DiglettsCaveEntranceRoute11Text1 - -DiglettsCaveEntranceRoute11Text1: - TX_FAR _DiglettsCaveEntRoute11Text1 - db "@" diff --git a/scripts/diglettscaveroute2.asm b/scripts/diglettscaveroute2.asm deleted file mode 100755 index 9f061daa..00000000 --- a/scripts/diglettscaveroute2.asm +++ /dev/null @@ -1,11 +0,0 @@ -DiglettsCaveRoute2Script: - ld a, ROUTE_2 - ld [wLastMap], a - jp EnableAutoTextBoxDrawing - -DiglettsCaveRoute2TextPointers: - dw DiglettsCaveRoute2Text1 - -DiglettsCaveRoute2Text1: - TX_FAR _DiglettsCaveRoute2Text1 - db "@" diff --git a/scripts/fanclub.asm b/scripts/fanclub.asm deleted file mode 100755 index b6d65586..00000000 --- a/scripts/fanclub.asm +++ /dev/null @@ -1,173 +0,0 @@ -FanClubScript: - jp EnableAutoTextBoxDrawing - -FanClubBikeInBag: -; check if any bike paraphernalia in bag - CheckEvent EVENT_GOT_BIKE_VOUCHER - ret nz - ld b, BICYCLE - call IsItemInBag - ret nz - ld b, BIKE_VOUCHER - jp IsItemInBag - -FanClubTextPointers: - dw FanClubText1 - dw FanClubText2 - dw FanClubText3 - dw FanClubText4 - dw FanClubText5 - dw FanClubText6 - dw FanClubText7 - dw FanClubText8 - -FanClubText1: -; pikachu fan - TX_ASM - CheckEvent EVENT_PIKACHU_FAN_BOAST - jr nz, .mineisbetter - ld hl, .normaltext - call PrintText - SetEvent EVENT_SEEL_FAN_BOAST - jr .done -.mineisbetter - ld hl, .bettertext - call PrintText - ResetEvent EVENT_PIKACHU_FAN_BOAST -.done - jp TextScriptEnd - -.normaltext - TX_FAR PikachuFanText - db "@" - -.bettertext - TX_FAR PikachuFanBetterText - db "@" - -FanClubText2: -; seel fan - TX_ASM - CheckEvent EVENT_SEEL_FAN_BOAST - jr nz, .mineisbetter - ld hl, .normaltext - call PrintText - SetEvent EVENT_PIKACHU_FAN_BOAST - jr .done -.mineisbetter - ld hl, .bettertext - call PrintText - ResetEvent EVENT_SEEL_FAN_BOAST -.done - jp TextScriptEnd - -.normaltext - TX_FAR SeelFanText - db "@" - -.bettertext - TX_FAR SeelFanBetterText - db "@" - -FanClubText3: -; pikachu - TX_ASM - ld hl, .text - call PrintText - ld a, PIKACHU - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -.text - TX_FAR FanClubPikachuText - db "@" - -FanClubText4: -; seel - TX_ASM - ld hl, .text - call PrintText - ld a, SEEL - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -.text - TX_FAR FanClubSeelText - db "@" - -FanClubText5: -; chair - TX_ASM - call FanClubBikeInBag - jr nz, .nothingleft - - ld hl, .meetchairtext - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .nothanks - - ; tell the story - ld hl, .storytext - call PrintText - lb bc, BIKE_VOUCHER, 1 - call GiveItem - jr nc, .BagFull - ld hl, .receivedvouchertext - call PrintText - SetEvent EVENT_GOT_BIKE_VOUCHER - jr .done -.BagFull - ld hl, .bagfulltext - call PrintText - jr .done -.nothanks - ld hl, .nostorytext - call PrintText - jr .done -.nothingleft - ld hl, .finaltext - call PrintText -.done - jp TextScriptEnd - -.meetchairtext - TX_FAR FanClubMeetChairText - db "@" - -.storytext - TX_FAR FanClubChairStoryText - db "@" - -.receivedvouchertext - TX_FAR ReceivedBikeVoucherText - TX_SFX_KEY_ITEM - TX_FAR ExplainBikeVoucherText - db "@" - -.nostorytext - TX_FAR FanClubNoStoryText - db "@" - -.finaltext - TX_FAR FanClubChairFinalText - db "@" - -.bagfulltext - TX_FAR FanClubBagFullText - db "@" - -FanClubText6: - TX_FAR _FanClubText6 - db "@" - -FanClubText7: - TX_FAR _FanClubText7 - db "@" - -FanClubText8: - TX_FAR _FanClubText8 - db "@" diff --git a/scripts/fightingdojo.asm b/scripts/fightingdojo.asm deleted file mode 100755 index 5c7704f5..00000000 --- a/scripts/fightingdojo.asm +++ /dev/null @@ -1,323 +0,0 @@ -FightingDojoScript: - call EnableAutoTextBoxDrawing - ld hl, FightingDojoTrainerHeader0 - ld de, FightingDojoScriptPointers - ld a, [wFightingDojoCurScript] - call ExecuteCurMapScriptInTable - ld [wFightingDojoCurScript], a - ret - -FightingDojoScript_5cd70: - xor a - ld [wJoyIgnore], a - ld [wFightingDojoCurScript], a - ld [wCurMapScript], a - ret - -FightingDojoScriptPointers: - dw FightingDojoScript1 - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw FightingDojoScript3 - -FightingDojoScript1: - CheckEvent EVENT_DEFEATED_FIGHTING_DOJO - ret nz - call CheckFightingMapTrainers - ld a, [wTrainerHeaderFlagBit] - and a - ret nz - CheckEvent EVENT_BEAT_KARATE_MASTER - ret nz - xor a - ld [hJoyHeld], a - ld [wcf0d], a - ld a, [wYCoord] - cp $3 - ret nz - ld a, [wXCoord] - cp $4 - ret nz - ld a, $1 - ld [wcf0d], a - ld a, PLAYER_DIR_RIGHT - ld [wPlayerMovingDirection], a - ld a, $1 - ld [H_SPRITEINDEX], a - ld a, SPRITE_FACING_LEFT - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, $1 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ret - -FightingDojoScript3: - ld a, [wIsInBattle] - cp $ff - jp z, FightingDojoScript_5cd70 - ld a, [wcf0d] - and a - jr z, .asm_5cde4 - ld a, PLAYER_DIR_RIGHT - ld [wPlayerMovingDirection], a - ld a, $1 - ld [H_SPRITEINDEX], a - ld a, SPRITE_FACING_LEFT - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - -.asm_5cde4 - ld a, $f0 - ld [wJoyIgnore], a - SetEventRange EVENT_BEAT_KARATE_MASTER, EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 - ld a, $8 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [wJoyIgnore], a - ld [wFightingDojoCurScript], a - ld [wCurMapScript], a - ret - -FightingDojoTextPointers: - dw FightingDojoText1 - dw FightingDojoText2 - dw FightingDojoText3 - dw FightingDojoText4 - dw FightingDojoText5 - dw FightingDojoText6 - dw FightingDojoText7 - dw FightingDojoText8 - -FightingDojoTrainerHeader0: - dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 - dw FightingDojoBattleText1 ; TextBeforeBattle - dw FightingDojoAfterBattleText1 ; TextAfterBattle - dw FightingDojoEndBattleText1 ; TextEndBattle - dw FightingDojoEndBattleText1 ; TextEndBattle - -FightingDojoTrainerHeader1: - dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 - dw FightingDojoBattleText2 ; TextBeforeBattle - dw FightingDojoAfterBattleText2 ; TextAfterBattle - dw FightingDojoEndBattleText2 ; TextEndBattle - dw FightingDojoEndBattleText2 ; TextEndBattle - -FightingDojoTrainerHeader2: - dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 - dw FightingDojoBattleText3 ; TextBeforeBattle - dw FightingDojoAfterBattleText3 ; TextAfterBattle - dw FightingDojoEndBattleText3 ; TextEndBattle - dw FightingDojoEndBattleText3 ; TextEndBattle - -FightingDojoTrainerHeader3: - dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 - dw FightingDojoBattleText4 ; TextBeforeBattle - dw FightingDojoAfterBattleText4 ; TextAfterBattle - dw FightingDojoEndBattleText4 ; TextEndBattle - dw FightingDojoEndBattleText4 ; TextEndBattle - - db $ff - -FightingDojoText1: - TX_ASM - CheckEvent EVENT_DEFEATED_FIGHTING_DOJO - jp nz, .continue1 - CheckEventReuseA EVENT_BEAT_KARATE_MASTER - jp nz, .continue2 - ld hl, FightingDojoText_5ce8e - call PrintText - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, FightingDojoText_5ce93 - ld de, FightingDojoText_5ce93 - call SaveEndBattleTextPointers - ld a, [hSpriteIndexOrTextID] - ld [wSpriteIndex], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $3 - ld [wFightingDojoCurScript], a - ld [wCurMapScript], a - jr .asm_9dba4 -.continue1 - ld hl, FightingDojoText_5ce9d - call PrintText - jr .asm_9dba4 -.continue2 - ld hl, FightingDojoText8 - call PrintText -.asm_9dba4 - jp TextScriptEnd - -FightingDojoText_5ce8e: - TX_FAR _FightingDojoText_5ce8e - db "@" - -FightingDojoText_5ce93: - TX_FAR _FightingDojoText_5ce93 - db "@" - -FightingDojoText8: - TX_FAR _FightingDojoText_5ce98 - db "@" - -FightingDojoText_5ce9d: - TX_FAR _FightingDojoText_5ce9d - db "@" - -FightingDojoText2: - TX_ASM - ld hl, FightingDojoTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -FightingDojoBattleText1: - TX_FAR _FightingDojoBattleText1 - db "@" - -FightingDojoEndBattleText1: - TX_FAR _FightingDojoEndBattleText1 - db "@" - -FightingDojoAfterBattleText1: - TX_FAR _FightingDojoAfterBattleText1 - db "@" - -FightingDojoText3: - TX_ASM - ld hl, FightingDojoTrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -FightingDojoBattleText2: - TX_FAR _FightingDojoBattleText2 - db "@" - -FightingDojoEndBattleText2: - TX_FAR _FightingDojoEndBattleText2 - db "@" - -FightingDojoAfterBattleText2: - TX_FAR _FightingDojoAfterBattleText2 - db "@" - -FightingDojoText4: - TX_ASM - ld hl, FightingDojoTrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -FightingDojoBattleText3: - TX_FAR _FightingDojoBattleText3 - db "@" - -FightingDojoEndBattleText3: - TX_FAR _FightingDojoEndBattleText3 - db "@" - -FightingDojoAfterBattleText3: - TX_FAR _FightingDojoAfterBattleText3 - db "@" - -FightingDojoText5: - TX_ASM - ld hl, FightingDojoTrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -FightingDojoBattleText4: - TX_FAR _FightingDojoBattleText4 - db "@" - -FightingDojoEndBattleText4: - TX_FAR _FightingDojoEndBattleText4 - db "@" - -FightingDojoAfterBattleText4: - TX_FAR _FightingDojoAfterBattleText4 - db "@" - -FightingDojoText6: -; Hitmonlee Poké Ball - TX_ASM - CheckEitherEventSet EVENT_GOT_HITMONLEE, EVENT_GOT_HITMONCHAN - jr z, .GetMon - ld hl, OtherHitmonText - call PrintText - jr .done -.GetMon - ld a, HITMONLEE - call DisplayPokedex - ld hl, WantHitmonleeText - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .done - ld a, [wcf91] - ld b, a - ld c, 30 - call GivePokemon - jr nc, .done - - ; once Poké Ball is taken, hide sprite - ld a, HS_FIGHTING_DOJO_GIFT_1 - ld [wMissableObjectIndex], a - predef HideObject - SetEvents EVENT_GOT_HITMONLEE, EVENT_DEFEATED_FIGHTING_DOJO -.done - jp TextScriptEnd - -WantHitmonleeText: - TX_FAR _WantHitmonleeText - db "@" - -FightingDojoText7: -; Hitmonchan Poké Ball - TX_ASM - CheckEitherEventSet EVENT_GOT_HITMONLEE, EVENT_GOT_HITMONCHAN - jr z, .GetMon - ld hl, OtherHitmonText - call PrintText - jr .done -.GetMon - ld a, HITMONCHAN - call DisplayPokedex - ld hl, WantHitmonchanText - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .done - ld a, [wcf91] - ld b, a - ld c, 30 - call GivePokemon - jr nc, .done - SetEvents EVENT_GOT_HITMONCHAN, EVENT_DEFEATED_FIGHTING_DOJO - - ; once Poké Ball is taken, hide sprite - ld a, HS_FIGHTING_DOJO_GIFT_2 - ld [wMissableObjectIndex], a - predef HideObject -.done - jp TextScriptEnd - -WantHitmonchanText: - TX_FAR _WantHitmonchanText - db "@" - -OtherHitmonText: - TX_FAR _OtherHitmonText - db "@" diff --git a/scripts/fuchsiacity.asm b/scripts/fuchsiacity.asm deleted file mode 100755 index 74d7ee30..00000000 --- a/scripts/fuchsiacity.asm +++ /dev/null @@ -1,169 +0,0 @@ -FuchsiaCityScript: - jp EnableAutoTextBoxDrawing - -FuchsiaCityTextPointers: - dw FuchsiaCityText1 - dw FuchsiaCityText2 - dw FuchsiaCityText3 - dw FuchsiaCityText4 - dw FuchsiaCityText5 - dw FuchsiaCityText6 - dw FuchsiaCityText7 - dw FuchsiaCityText8 - dw FuchsiaCityText9 - dw FuchsiaCityText10 - dw FuchsiaCityText11 - dw FuchsiaCityText12 - dw FuchsiaCityText13 - dw MartSignText - dw PokeCenterSignText - dw FuchsiaCityText16 - dw FuchsiaCityText17 - dw FuchsiaCityText18 - dw FuchsiaCityText19 - dw FuchsiaCityText20 - dw FuchsiaCityText21 - dw FuchsiaCityText22 - dw FuchsiaCityText23 - dw FuchsiaCityText24 - -FuchsiaCityText1: - TX_FAR _FuchsiaCityText1 - db "@" - -FuchsiaCityText2: - TX_FAR _FuchsiaCityText2 - db "@" - -FuchsiaCityText3: - TX_FAR _FuchsiaCityText3 - db "@" - -FuchsiaCityText4: - TX_FAR _FuchsiaCityText4 - db "@" - -FuchsiaCityText5: -FuchsiaCityText6: -FuchsiaCityText7: -FuchsiaCityText8: -FuchsiaCityText9: -FuchsiaCityText10: - TX_FAR _FuchsiaCityText5 - db "@" - -FuchsiaCityText12: -FuchsiaCityText11: - TX_FAR _FuchsiaCityText11 - db "@" - -FuchsiaCityText13: - TX_FAR _FuchsiaCityText13 - db "@" - -FuchsiaCityText16: - TX_FAR _FuchsiaCityText16 - db "@" - -FuchsiaCityText17: - TX_FAR _FuchsiaCityText17 - db "@" - -FuchsiaCityText18: - TX_FAR _FuchsiaCityText18 - db "@" - -FuchsiaCityText19: - TX_ASM - ld hl, FuchsiaCityChanseyText - call PrintText - ld a, CHANSEY - call DisplayPokedex - jp TextScriptEnd - -FuchsiaCityChanseyText: - TX_FAR _FuchsiaCityChanseyText - db "@" - -FuchsiaCityText20: - TX_ASM - ld hl, FuchsiaCityVoltorbText - call PrintText - ld a, VOLTORB - call DisplayPokedex - jp TextScriptEnd - -FuchsiaCityVoltorbText: - TX_FAR _FuchsiaCityVoltorbText - db "@" - -FuchsiaCityText21: - TX_ASM - ld hl, FuchsiaCityKangaskhanText - call PrintText - ld a, KANGASKHAN - call DisplayPokedex - jp TextScriptEnd - -FuchsiaCityKangaskhanText: - TX_FAR _FuchsiaCityKangaskhanText - db "@" - -FuchsiaCityText22: - TX_ASM - ld hl, FuchsiaCitySlowpokeText - call PrintText - ld a, SLOWPOKE - call DisplayPokedex - jp TextScriptEnd - -FuchsiaCitySlowpokeText: - TX_FAR _FuchsiaCitySlowpokeText - db "@" - -FuchsiaCityText23: - TX_ASM - ld hl, FuchsiaCityLaprasText - call PrintText - ld a, LAPRAS - call DisplayPokedex - jp TextScriptEnd - -FuchsiaCityLaprasText: - TX_FAR _FuchsiaCityLaprasText - db "@" - -FuchsiaCityText24: - TX_ASM - CheckEvent EVENT_GOT_DOME_FOSSIL - jr nz, .asm_3b4e8 - CheckEventReuseA EVENT_GOT_HELIX_FOSSIL - jr nz, .asm_667d5 - ld hl, FuchsiaCityText_19b2a - call PrintText - jr .asm_4343f -.asm_3b4e8 - ld hl, FuchsiaCityOmanyteText - call PrintText - ld a, OMANYTE - jr .asm_81556 -.asm_667d5 - ld hl, FuchsiaCityKabutoText - call PrintText - ld a, KABUTO -.asm_81556 - call DisplayPokedex -.asm_4343f - jp TextScriptEnd - -FuchsiaCityOmanyteText: - TX_FAR _FuchsiaCityOmanyteText - db "@" - -FuchsiaCityKabutoText: - TX_FAR _FuchsiaCityKabutoText - db "@" - -FuchsiaCityText_19b2a: - TX_FAR _FuchsiaCityText_19b2a - db "@" diff --git a/scripts/fuchsiagym.asm b/scripts/fuchsiagym.asm deleted file mode 100755 index 3628ebc0..00000000 --- a/scripts/fuchsiagym.asm +++ /dev/null @@ -1,329 +0,0 @@ -FuchsiaGymScript: - call FuchsiaGymScript_75453 - call EnableAutoTextBoxDrawing - ld hl, FuchsiaGymTrainerHeader0 - ld de, FuchsiaGymScriptPointers - ld a, [wFuchsiaGymCurScript] - call ExecuteCurMapScriptInTable - ld [wFuchsiaGymCurScript], a - ret - -FuchsiaGymScript_75453: - ld hl, wCurrentMapScriptFlags - bit 6, [hl] - res 6, [hl] - ret z - ld hl, Gym5CityName - ld de, Gym5LeaderName - call LoadGymLeaderAndCityName - ret - -Gym5CityName: - db "FUCHSIA CITY@" -Gym5LeaderName: - db "KOGA@" - -FuchsiaGymScript_75477: - xor a - ld [wJoyIgnore], a - ld [wFuchsiaGymCurScript], a - ld [wCurMapScript], a - ret - -FuchsiaGymScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw FuchsiaGymScript3 - -FuchsiaGymScript3: - ld a, [wIsInBattle] - cp $ff - jp z, FuchsiaGymScript_75477 - ld a, $f0 - ld [wJoyIgnore], a -FuchsiaGymScript3_75497: - ld a, $9 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_BEAT_KOGA - lb bc, TM_06, 1 - call GiveItem - jr nc, .BagFull - ld a, $a - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_GOT_TM06 - jr .asm_754c0 -.BagFull - ld a, $b - ld [hSpriteIndexOrTextID], a - call DisplayTextID -.asm_754c0 - ld hl, wObtainedBadges - set 4, [hl] - ld hl, wBeatGymFlags - set 4, [hl] - - ; deactivate gym trainers - SetEventRange EVENT_BEAT_FUCHSIA_GYM_TRAINER_0, EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 - - jp FuchsiaGymScript_75477 - -FuchsiaGymTextPointers: - dw FuchsiaGymText1 - dw FuchsiaGymText2 - dw FuchsiaGymText3 - dw FuchsiaGymText4 - dw FuchsiaGymText5 - dw FuchsiaGymText6 - dw FuchsiaGymText7 - dw FuchsiaGymText8 - dw FuchsiaGymText9 - dw FuchsiaGymText10 - dw FuchsiaGymText11 - -FuchsiaGymTrainerHeader0: - dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 - dw FuchsiaGymBattleText1 ; TextBeforeBattle - dw FuchsiaGymAfterBattleText1 ; TextAfterBattle - dw FuchsiaGymEndBattleText1 ; TextEndBattle - dw FuchsiaGymEndBattleText1 ; TextEndBattle - -FuchsiaGymTrainerHeader1: - dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_1 - dw FuchsiaGymBattleText2 ; TextBeforeBattle - dw FuchsiaGymAfterBattleText2 ; TextAfterBattle - dw FuchsiaGymEndBattleText2 ; TextEndBattle - dw FuchsiaGymEndBattleText2 ; TextEndBattle - -FuchsiaGymTrainerHeader2: - dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 - dw FuchsiaGymBattleText3 ; TextBeforeBattle - dw FuchsiaGymAfterBattleText3 ; TextAfterBattle - dw FuchsiaGymEndBattleText3 ; TextEndBattle - dw FuchsiaGymEndBattleText3 ; TextEndBattle - -FuchsiaGymTrainerHeader3: - dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 - dw FuchsiaGymBattleText4 ; TextBeforeBattle - dw FuchsiaGymAfterBattleText4 ; TextAfterBattle - dw FuchsiaGymEndBattleText4 ; TextEndBattle - dw FuchsiaGymEndBattleText4 ; TextEndBattle - -FuchsiaGymTrainerHeader4: - dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 - dw FuchsiaGymBattleText5 ; TextBeforeBattle - dw FuchsiaGymAfterBattleText5 ; TextAfterBattle - dw FuchsiaGymEndBattleText5 ; TextEndBattle - dw FuchsiaGymEndBattleText5 ; TextEndBattle - -FuchsiaGymTrainerHeader5: - dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 - dw FuchsiaGymBattleText6 ; TextBeforeBattle - dw FuchsiaGymAfterBattleText6 ; TextAfterBattle - dw FuchsiaGymEndBattleText6 ; TextEndBattle - dw FuchsiaGymEndBattleText6 ; TextEndBattle - - db $ff - -FuchsiaGymText1: - TX_ASM - CheckEvent EVENT_BEAT_KOGA - jr z, .asm_181b6 - CheckEventReuseA EVENT_GOT_TM06 - jr nz, .asm_adc3b - call z, FuchsiaGymScript3_75497 - call DisableWaitingAfterTextDisplay - jr .asm_e84c6 -.asm_adc3b - ld hl, KogaExplainToxicText - call PrintText - jr .asm_e84c6 -.asm_181b6 - ld hl, KogaBeforeBattleText - call PrintText - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, KogaAfterBattleText - ld de, KogaAfterBattleText - call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] - ld [wSpriteIndex], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $5 - ld [wGymLeaderNo], a - xor a - ld [hJoyHeld], a - ld a, $3 - ld [wFuchsiaGymCurScript], a -.asm_e84c6 - jp TextScriptEnd - -KogaBeforeBattleText: - TX_FAR _KogaBeforeBattleText - db "@" - -KogaAfterBattleText: - TX_FAR _KogaAfterBattleText - db "@" - -KogaExplainToxicText: - TX_FAR _KogaExplainToxicText - db "@" - -FuchsiaGymText9: - TX_FAR _FuchsiaGymText9 - db "@" - -FuchsiaGymText10: - TX_FAR _ReceivedTM06Text - TX_SFX_KEY_ITEM - -TM06ExplanationText: - TX_FAR _TM06ExplanationText - db "@" - -FuchsiaGymText11: - TX_FAR _TM06NoRoomText - db "@" - -FuchsiaGymText2: - TX_ASM - ld hl, FuchsiaGymTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -FuchsiaGymBattleText1: - TX_FAR _FuchsiaGymBattleText1 - db "@" - -FuchsiaGymEndBattleText1: - TX_FAR _FuchsiaGymEndBattleText1 - db "@" - -FuchsiaGymAfterBattleText1: - TX_FAR _FuchsiaGymAfterBattleText1 - db "@" - -FuchsiaGymText3: - TX_ASM - ld hl, FuchsiaGymTrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -FuchsiaGymBattleText2: - TX_FAR _FuchsiaGymBattleText2 - db "@" - -FuchsiaGymEndBattleText2: - TX_FAR _FuchsiaGymEndBattleText2 - db "@" - -FuchsiaGymAfterBattleText2: - TX_FAR _FuchsiaGymAfterBattleText2 - db "@" - -FuchsiaGymText4: - TX_ASM - ld hl, FuchsiaGymTrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -FuchsiaGymBattleText3: - TX_FAR _FuchsiaGymBattleText3 - db "@" - -FuchsiaGymEndBattleText3: - TX_FAR _FuchsiaGymEndBattleText3 - db "@" - -FuchsiaGymAfterBattleText3: - TX_FAR _FuchsiaGymAfterBattleText3 - db "@" - -FuchsiaGymText5: - TX_ASM - ld hl, FuchsiaGymTrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -FuchsiaGymBattleText4: - TX_FAR _FuchsiaGymBattleText4 - db "@" - -FuchsiaGymEndBattleText4: - TX_FAR _FuchsiaGymEndBattleText4 - db "@" - -FuchsiaGymAfterBattleText4: - TX_FAR _FuchsiaGymAfterBattleText4 - db "@" - -FuchsiaGymText6: - TX_ASM - ld hl, FuchsiaGymTrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -FuchsiaGymBattleText5: - TX_FAR _FuchsiaGymBattleText5 - db "@" - -FuchsiaGymEndBattleText5: - TX_FAR _FuchsiaGymEndBattleText5 - db "@" - -FuchsiaGymAfterBattleText5: - TX_FAR _FuchsiaGymAfterBattleText5 - db "@" - -FuchsiaGymText7: - TX_ASM - ld hl, FuchsiaGymTrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -FuchsiaGymBattleText6: - TX_FAR _FuchsiaGymBattleText6 - db "@" - -FuchsiaGymEndBattleText6: - TX_FAR _FuchsiaGymEndBattleText6 - db "@" - -FuchsiaGymAfterBattleText6: - TX_FAR _FuchsiaGymAfterBattleText6 - db "@" - -FuchsiaGymText8: - TX_ASM - CheckEvent EVENT_BEAT_KOGA - ld hl, FuchsiaGymText_75653 - jr nz, .asm_50671 - ld hl, FuchsiaGymText_7564e -.asm_50671 - call PrintText - jp TextScriptEnd - -FuchsiaGymText_7564e: - TX_FAR _FuchsiaGymText_7564e - db "@" - -FuchsiaGymText_75653: - TX_FAR _FuchsiaGymText_75653 - db "@" diff --git a/scripts/fuchsiahouse1.asm b/scripts/fuchsiahouse1.asm deleted file mode 100755 index 95e59503..00000000 --- a/scripts/fuchsiahouse1.asm +++ /dev/null @@ -1,20 +0,0 @@ -FuchsiaHouse1Script: - call EnableAutoTextBoxDrawing - ret - -FuchsiaHouse1TextPointers: - dw FuchsiaHouse1Text1 - dw FuchsiaHouse1Text2 - dw FuchsiaHouse1Text3 - -FuchsiaHouse1Text1: - TX_FAR _FuchsiaHouse1Text1 - db "@" - -FuchsiaHouse1Text2: - TX_FAR _FuchsiaHouse1Text2 - db "@" - -FuchsiaHouse1Text3: - TX_FAR _FuchsiaHouse1Text3 - db "@" diff --git a/scripts/fuchsiahouse2.asm b/scripts/fuchsiahouse2.asm deleted file mode 100755 index 6d49fb2f..00000000 --- a/scripts/fuchsiahouse2.asm +++ /dev/null @@ -1,113 +0,0 @@ -FuchsiaHouse2Script: - jp EnableAutoTextBoxDrawing - -FuchsiaHouse2TextPointers: - dw FuchsiaHouse2Text1 - dw PickUpItemText - dw BoulderText - dw FuchsiaHouse2Text4 - dw FuchsiaHouse2Text5 - -FuchsiaHouse2Text1: - TX_ASM - CheckEvent EVENT_GOT_HM04 - jr nz, .subtract - ld b, GOLD_TEETH - call IsItemInBag - jr nz, .asm_3f30f - CheckEvent EVENT_GAVE_GOLD_TEETH - jr nz, .asm_60cba - ld hl, WardenGibberishText1 - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - ld hl, WardenGibberishText3 - jr nz, .asm_61238 - ld hl, WardenGibberishText2 -.asm_61238 - call PrintText - jr .asm_52039 -.asm_3f30f - ld hl, WardenTeethText1 - call PrintText - ld a, GOLD_TEETH - ld [$ffdb], a - callba RemoveItemByID - SetEvent EVENT_GAVE_GOLD_TEETH -.asm_60cba - ld hl, WardenThankYouText - call PrintText - lb bc, HM_04, 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedHM04Text - call PrintText - SetEvent EVENT_GOT_HM04 - jr .asm_52039 -.subtract - ld hl, HM04ExplanationText - call PrintText - jr .asm_52039 -.BagFull - ld hl, HM04NoRoomText - call PrintText -.asm_52039 - jp TextScriptEnd - -WardenGibberishText1: - TX_FAR _WardenGibberishText1 - db "@" - -WardenGibberishText2: - TX_FAR _WardenGibberishText2 - db "@" - -WardenGibberishText3: - TX_FAR _WardenGibberishText3 - db "@" - -WardenTeethText1: - TX_FAR _WardenTeethText1 - TX_SFX_ITEM_1 - -WardenTeethText2: - TX_FAR _WardenTeethText2 - db "@" - -WardenThankYouText: - TX_FAR _WardenThankYouText - db "@" - -ReceivedHM04Text: - TX_FAR _ReceivedHM04Text - TX_SFX_ITEM_1 - db "@" - -HM04ExplanationText: - TX_FAR _HM04ExplanationText - db "@" - -HM04NoRoomText: - TX_FAR _HM04NoRoomText - db "@" - -FuchsiaHouse2Text5: -FuchsiaHouse2Text4: - TX_ASM - ld a, [H_SPRITEINDEX] - cp $4 - ld hl, FuchsiaHouse2Text_7517b - jr nz, .asm_4c9a2 - ld hl, FuchsiaHouse2Text_75176 -.asm_4c9a2 - call PrintText - jp TextScriptEnd - -FuchsiaHouse2Text_75176: - TX_FAR _FuchsiaHouse2Text_75176 - db "@" - -FuchsiaHouse2Text_7517b: - TX_FAR _FuchsiaHouse2Text_7517b - db "@" diff --git a/scripts/fuchsiahouse3.asm b/scripts/fuchsiahouse3.asm deleted file mode 100755 index 586d62f5..00000000 --- a/scripts/fuchsiahouse3.asm +++ /dev/null @@ -1,75 +0,0 @@ -FuchsiaHouse3Script: - jp EnableAutoTextBoxDrawing - -FuchsiaHouse3TextPointers: - dw FuchsiaHouse3Text1 - -FuchsiaHouse3Text1: - TX_ASM - ld a, [wd728] - bit 4, a - jr nz, .after - - ld hl, FuchsiaHouse3Text_561bd - call PrintText - - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .refused - - lb bc, GOOD_ROD, 1 - call GiveItem - jr nc, .full - - ld hl, wd728 - set 4, [hl] - - ld hl, FuchsiaHouse3Text_561c2 - jr .talk - -.full - ld hl, FuchsiaHouse3Text_5621c - jr .talk - -.refused - ld hl, FuchsiaHouse3Text_56212 - jr .talk - -.after - ld hl, FuchsiaHouse3Text_56217 - -.talk - call PrintText - jp TextScriptEnd - -FuchsiaHouse3Text_561bd: - TX_FAR _FuchsiaHouse3Text_561bd - db "@" - -FuchsiaHouse3Text_561c2: - TX_FAR _FuchsiaHouse3Text_561c2 - TX_SFX_ITEM_1 - db "@" - -UnusedText_561c8: - para "つり こそ" - line "おとこの ロマン だ!" - - para "へぼいつりざおは" - line "コイキングしか つれ なんだが" - line "この いいつりざおなら" - line "もっと いいもんが つれるんじゃ!" - done - -FuchsiaHouse3Text_56212: - TX_FAR _FuchsiaHouse3Text_56212 - db "@" - -FuchsiaHouse3Text_56217: - TX_FAR _FuchsiaHouse3Text_56217 - db "@" - -FuchsiaHouse3Text_5621c: - TX_FAR _FuchsiaHouse3Text_5621c - db "@" diff --git a/scripts/fuchsiamart.asm b/scripts/fuchsiamart.asm deleted file mode 100755 index 96df9290..00000000 --- a/scripts/fuchsiamart.asm +++ /dev/null @@ -1,15 +0,0 @@ -FuchsiaMartScript: - jp EnableAutoTextBoxDrawing - -FuchsiaMartTextPointers: - dw FuchsiaCashierText - dw FuchsiaMartText2 - dw FuchsiaMartText3 - -FuchsiaMartText2: - TX_FAR _FuchsiaMartText2 - db "@" - -FuchsiaMartText3: - TX_FAR _FuchsiaMartText3 - db "@" diff --git a/scripts/fuchsiameetingroom.asm b/scripts/fuchsiameetingroom.asm deleted file mode 100755 index 7995a49b..00000000 --- a/scripts/fuchsiameetingroom.asm +++ /dev/null @@ -1,20 +0,0 @@ -FuchsiaMeetingRoomScript: - call EnableAutoTextBoxDrawing - ret - -FuchsiaMeetingRoomTextPointers: - dw FuchsiaMeetingRoomText1 - dw FuchsiaMeetingRoomText2 - dw FuchsiaMeetingRoomText3 - -FuchsiaMeetingRoomText1: - TX_FAR _FuchsiaMeetingRoomText1 - db "@" - -FuchsiaMeetingRoomText2: - TX_FAR _FuchsiaMeetingRoomText2 - db "@" - -FuchsiaMeetingRoomText3: - TX_FAR _FuchsiaMeetingRoomText3 - db "@" diff --git a/scripts/fuchsiapokecenter.asm b/scripts/fuchsiapokecenter.asm deleted file mode 100755 index a6111e84..00000000 --- a/scripts/fuchsiapokecenter.asm +++ /dev/null @@ -1,23 +0,0 @@ -FuchsiaPokecenterScript: - call Serial_TryEstablishingExternallyClockedConnection - jp EnableAutoTextBoxDrawing - -FuchsiaPokecenterTextPointers: - dw FuchsiaHealNurseText - dw FuchsiaPokecenterText2 - dw FuchsiaPokecenterText3 - dw FuchsiaTradeNurseText - -FuchsiaHealNurseText: - TX_POKECENTER_NURSE - -FuchsiaPokecenterText2: - TX_FAR _FuchsiaPokecenterText1 - db "@" - -FuchsiaPokecenterText3: - TX_FAR _FuchsiaPokecenterText3 - db "@" - -FuchsiaTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/gary.asm b/scripts/gary.asm deleted file mode 100755 index 1fe65fb0..00000000 --- a/scripts/gary.asm +++ /dev/null @@ -1,298 +0,0 @@ -GaryScript: - call EnableAutoTextBoxDrawing - ld hl, GaryScriptPointers - ld a, [wGaryCurScript] - jp CallFunctionInTable - -ResetGaryScript: - xor a - ld [wJoyIgnore], a - ld [wGaryCurScript], a - ret - -GaryScriptPointers: - dw GaryScript0 - dw GaryScript1 - dw GaryScript2 - dw GaryScript3 - dw GaryScript4 - dw GaryScript5 - dw GaryScript6 - dw GaryScript7 - dw GaryScript8 - dw GaryScript9 - dw GaryScript10 - -GaryScript0: - ret - -GaryScript1: - ld a, $ff - ld [wJoyIgnore], a - ld hl, wSimulatedJoypadStatesEnd - ld de, GaryEntrance_RLEMovement - call DecodeRLEList - dec a - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld a, $2 - ld [wGaryCurScript], a - ret - -GaryEntrance_RLEMovement: - db D_UP,1 - db D_RIGHT,1 - db D_UP,3 - db $ff - -GaryScript2: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - call Delay3 - xor a - ld [wJoyIgnore], a - ld hl, wOptions - res 7, [hl] ; Turn on battle animations to make the battle feel more epic. - ld a, $1 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call Delay3 - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, GaryDefeatedText - ld de, GaryVictoryText - call SaveEndBattleTextPointers - ld a, OPP_SONY3 - ld [wCurOpponent], a - - ; select which team to use during the encounter - ld a, [wRivalStarter] - cp STARTER2 - jr nz, .NotStarter2 - ld a, $1 - jr .saveTrainerId -.NotStarter2 - cp STARTER3 - jr nz, .NotStarter3 - ld a, $2 - jr .saveTrainerId -.NotStarter3 - ld a, $3 -.saveTrainerId - ld [wTrainerNo], a - - xor a - ld [hJoyHeld], a - ld a, $3 - ld [wGaryCurScript], a - ret - -GaryScript3: - ld a, [wIsInBattle] - cp $ff - jp z, ResetGaryScript - call UpdateSprites - SetEvent EVENT_BEAT_CHAMPION_RIVAL - ld a, $f0 - ld [wJoyIgnore], a - ld a, $1 - ld [hSpriteIndexOrTextID], a - call GaryScript_760c8 - ld a, $1 - ld [H_SPRITEINDEX], a - call SetSpriteMovementBytesToFF - ld a, $4 - ld [wGaryCurScript], a - ret - -GaryScript4: - callba Music_Cities1AlternateTempo - ld a, $2 - ld [hSpriteIndexOrTextID], a - call GaryScript_760c8 - ld a, $2 - ld [H_SPRITEINDEX], a - call SetSpriteMovementBytesToFF - ld de, OakEntranceAfterVictoryMovement - ld a, $2 - ld [H_SPRITEINDEX], a - call MoveSprite - ld a, HS_CHAMPIONS_ROOM_OAK - ld [wMissableObjectIndex], a - predef ShowObject - ld a, $5 - ld [wGaryCurScript], a - ret - -OakEntranceAfterVictoryMovement: - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_UP - db $FF - -GaryScript5: - ld a, [wd730] - bit 0, a - ret nz - ld a, PLAYER_DIR_LEFT - ld [wPlayerMovingDirection], a - ld a, $1 - ld [H_SPRITEINDEX], a - ld a, SPRITE_FACING_LEFT - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, $2 - ld [H_SPRITEINDEX], a - xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, $3 - ld [hSpriteIndexOrTextID], a - call GaryScript_760c8 - ld a, $6 - ld [wGaryCurScript], a - ret - -GaryScript6: - ld a, $2 - ld [H_SPRITEINDEX], a - ld a, SPRITE_FACING_RIGHT - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, $4 - ld [hSpriteIndexOrTextID], a - call GaryScript_760c8 - ld a, $7 - ld [wGaryCurScript], a - ret - -GaryScript7: - ld a, $2 - ld [H_SPRITEINDEX], a - xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, $5 - ld [hSpriteIndexOrTextID], a - call GaryScript_760c8 - ld de, OakExitGaryRoomMovement - ld a, $2 - ld [H_SPRITEINDEX], a - call MoveSprite - ld a, $8 - ld [wGaryCurScript], a - ret - -OakExitGaryRoomMovement: - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_UP - db $FF - -GaryScript8: - ld a, [wd730] - bit 0, a - ret nz - ld a, HS_CHAMPIONS_ROOM_OAK - ld [wMissableObjectIndex], a - predef HideObject - ld a, $9 - ld [wGaryCurScript], a - ret - -GaryScript9: - ld a, $ff - ld [wJoyIgnore], a - ld hl, wSimulatedJoypadStatesEnd - ld de, WalkToHallOfFame_RLEMovment - call DecodeRLEList - dec a - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld a, $a - ld [wGaryCurScript], a - ret - -WalkToHallOfFame_RLEMovment: - db D_UP,4 - db D_LEFT,1 - db $ff - -GaryScript10: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - xor a - ld [wJoyIgnore], a - ld a, $0 - ld [wGaryCurScript], a - ret - -GaryScript_760c8: - ld a, $f0 - ld [wJoyIgnore], a - call DisplayTextID - ld a, $ff - ld [wJoyIgnore], a - ret - -GaryTextPointers: - dw GaryText1 - dw GaryText2 - dw GaryText3 - dw GaryText4 - dw GaryText5 - -GaryText1: - TX_ASM - CheckEvent EVENT_BEAT_CHAMPION_RIVAL - ld hl, GaryChampionIntroText - jr z, .printText - ld hl, GaryText_76103 -.printText - call PrintText - jp TextScriptEnd - -GaryChampionIntroText: - TX_FAR _GaryChampionIntroText - db "@" - -GaryDefeatedText: - TX_FAR _GaryDefeatedText - db "@" - -GaryVictoryText: - TX_FAR _GaryVictoryText - db "@" - -GaryText_76103: - TX_FAR _GaryText_76103 - db "@" - -GaryText2: - TX_FAR _GaryText2 - db "@" - -GaryText3: - TX_ASM - ld a, [wPlayerStarter] - ld [wd11e], a - call GetMonName - ld hl, GaryText_76120 - call PrintText - jp TextScriptEnd - -GaryText_76120: - TX_FAR _GaryText_76120 - db "@" - -GaryText4: - TX_FAR _GaryText_76125 - db "@" - -GaryText5: - TX_FAR _GaryText_7612a - db "@" diff --git a/scripts/halloffameroom.asm b/scripts/halloffameroom.asm deleted file mode 100755 index 94e64431..00000000 --- a/scripts/halloffameroom.asm +++ /dev/null @@ -1,109 +0,0 @@ -HallofFameRoomScript: - call EnableAutoTextBoxDrawing - ld hl, HallofFameRoomScriptPointers - ld a, [wHallOfFameRoomCurScript] - jp CallFunctionInTable - -HallofFameRoomScript_5a4aa: - xor a - ld [wJoyIgnore], a - ld [wHallOfFameRoomCurScript], a - ret - -HallofFameRoomScriptPointers: - dw HallofFameRoomScript0 - dw HallofFameRoomScript1 - dw HallofFameRoomScript2 - dw HallofFameRoomScript3 - -HallofFameRoomScript3: - ret - -HallofFameRoomScript2: - call Delay3 - ld a, [wLetterPrintingDelayFlags] - push af - xor a - ld [wJoyIgnore], a - predef HallOfFamePC - pop af - ld [wLetterPrintingDelayFlags], a - ld hl, wFlags_D733 - res 1, [hl] - inc hl - set 0, [hl] - xor a - ld hl, wLoreleiCurScript - ld [hli], a - ld [hli], a - ld [hl], a - ld [wLanceCurScript], a - ld [wHallOfFameRoomCurScript], a - ; Elite 4 events - ResetEventRange ELITE4_EVENTS_START, ELITE4_CHAMPION_EVENTS_END, 1 - xor a - ld [wHallOfFameRoomCurScript], a - ld a, PALLET_TOWN - ld [wLastBlackoutMap], a - callba SaveSAVtoSRAM - ld b, 5 -.delayLoop - ld c, 600 / 5 - call DelayFrames - dec b - jr nz, .delayLoop - call WaitForTextScrollButtonPress - jp Init - -HallofFameRoomScript0: - ld a, $ff - ld [wJoyIgnore], a - ld hl, wSimulatedJoypadStatesEnd - ld de, RLEMovement5a528 - call DecodeRLEList - dec a - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld a, $1 - ld [wHallOfFameRoomCurScript], a - ret - -RLEMovement5a528: - db D_UP,$5 - db $ff - -HallofFameRoomScript1: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - ld a, PLAYER_DIR_RIGHT - ld [wPlayerMovingDirection], a - ld a, $1 - ld [H_SPRITEINDEX], a - call SetSpriteMovementBytesToFF - ld a, SPRITE_FACING_LEFT - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - call Delay3 - xor a - ld [wJoyIgnore], a - inc a ; PLAYER_DIR_RIGHT - ld [wPlayerMovingDirection], a - ld a, $1 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $ff - ld [wJoyIgnore], a - ld a, HS_UNKNOWN_DUNGEON_GUY - ld [wMissableObjectIndex], a - predef HideObject - ld a, $2 - ld [wHallOfFameRoomCurScript], a - ret - -HallofFameRoomTextPointers: - dw HallofFameRoomText1 - -HallofFameRoomText1: - TX_FAR _HallofFameRoomText1 - db "@" diff --git a/scripts/indigoplateau.asm b/scripts/indigoplateau.asm deleted file mode 100755 index 6a6fdb6c..00000000 --- a/scripts/indigoplateau.asm +++ /dev/null @@ -1,4 +0,0 @@ -IndigoPlateauScript: - ret - -IndigoPlateauTextPointers: diff --git a/scripts/indigoplateaulobby.asm b/scripts/indigoplateaulobby.asm deleted file mode 100755 index c26f6f0c..00000000 --- a/scripts/indigoplateaulobby.asm +++ /dev/null @@ -1,36 +0,0 @@ -IndigoPlateauLobbyScript: - call Serial_TryEstablishingExternallyClockedConnection - call EnableAutoTextBoxDrawing - ld hl, wCurrentMapScriptFlags - bit 6, [hl] - res 6, [hl] - ret z - ResetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH - ld hl, wBeatLorelei - bit 1, [hl] - res 1, [hl] - ret z - ; Elite 4 events - ResetEventRange ELITE4_EVENTS_START, EVENT_LANCES_ROOM_LOCK_DOOR - ret - -IndigoPlateauLobbyTextPointers: - dw IndigoHealNurseText - dw IndigoPlateauLobbyText2 - dw IndigoPlateauLobbyText3 - dw IndigoCashierText - dw IndigoTradeNurseText - -IndigoHealNurseText: - TX_POKECENTER_NURSE - -IndigoPlateauLobbyText2: - TX_FAR _IndigoPlateauLobbyText2 - db "@" - -IndigoPlateauLobbyText3: - TX_FAR _IndigoPlateauLobbyText3 - db "@" - -IndigoTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/lab1.asm b/scripts/lab1.asm deleted file mode 100755 index 5b08f4f2..00000000 --- a/scripts/lab1.asm +++ /dev/null @@ -1,30 +0,0 @@ -Lab1Script: - call EnableAutoTextBoxDrawing - ret - -Lab1TextPointers: - dw Lab1Text1 - dw Lab1Text2 - dw Lab1Text3 - dw Lab1Text4 - dw Lab1Text5 - -Lab1Text1: - TX_FAR _Lab1Text1 - db "@" - -Lab1Text2: - TX_FAR _Lab1Text2 - db "@" - -Lab1Text3: - TX_FAR _Lab1Text3 - db "@" - -Lab1Text4: - TX_FAR _Lab1Text4 - db "@" - -Lab1Text5: - TX_FAR _Lab1Text5 - db "@" diff --git a/scripts/lab2.asm b/scripts/lab2.asm deleted file mode 100755 index ed9ef1b4..00000000 --- a/scripts/lab2.asm +++ /dev/null @@ -1,25 +0,0 @@ -Lab2Script: - jp EnableAutoTextBoxDrawing - -Lab2TextPointers: - dw Lab2Text1 - dw Lab2Text2 - dw Lab2Text3 - -Lab2Text1: - TX_FAR _Lab2Text1 - db "@" - -Lab2Text2: - TX_ASM - ld a, $7 - ld [wWhichTrade], a - jr Lab2DoTrade - -Lab2Text3: - TX_ASM - ld a, $8 - ld [wWhichTrade], a -Lab2DoTrade: - predef DoInGameTradeDialogue - jp TextScriptEnd diff --git a/scripts/lab3.asm b/scripts/lab3.asm deleted file mode 100755 index b533d162..00000000 --- a/scripts/lab3.asm +++ /dev/null @@ -1,62 +0,0 @@ -Lab3Script: - jp EnableAutoTextBoxDrawing - -Lab3TextPointers: - dw Lab3Text1 - dw Lab3Text2 - dw Lab3Text3 - dw Lab3Text4 - dw Lab3Text5 - -Lab3Text1: - TX_ASM - CheckEvent EVENT_GOT_TM35 - jr nz, .asm_e551a - ld hl, TM35PreReceiveText - call PrintText - lb bc, TM_35, 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedTM35Text - call PrintText - SetEvent EVENT_GOT_TM35 - jr .asm_eb896 -.BagFull - ld hl, TM35NoRoomText - call PrintText - jr .asm_eb896 -.asm_e551a - ld hl, TM35ExplanationText - call PrintText -.asm_eb896 - jp TextScriptEnd - -TM35PreReceiveText: - TX_FAR _TM35PreReceiveText - db "@" - -ReceivedTM35Text: - TX_FAR _ReceivedTM35Text - TX_SFX_ITEM_1 - db "@" - -TM35ExplanationText: - TX_FAR _TM35ExplanationText - db "@" - -TM35NoRoomText: - TX_FAR _TM35NoRoomText - db "@" - -Lab3Text2: - TX_FAR _Lab3Text2 - db "@" - -Lab3Text4: -Lab3Text3: - TX_FAR _Lab3Text3 - db "@" - -Lab3Text5: - TX_FAR _Lab3Text5 - db "@" diff --git a/scripts/lab4.asm b/scripts/lab4.asm deleted file mode 100755 index 7d0db339..00000000 --- a/scripts/lab4.asm +++ /dev/null @@ -1,109 +0,0 @@ -Lab4Script: - jp EnableAutoTextBoxDrawing - -Lab4TextPointers: - dw Lab4Text1 - dw Lab4Text2 - -Lab4Script_GetFossilsInBag: -; construct a list of all fossils in the player's bag - xor a - ld [wFilteredBagItemsCount], a - ld de, wFilteredBagItems - ld hl, FossilsList -.loop - ld a, [hli] - and a - jr z, .done - push hl - push de - ld [wd11e], a - ld b, a - predef GetQuantityOfItemInBag - pop de - pop hl - ld a, b - and a - jr z, .loop - - ; A fossil's in the bag - ld a, [wd11e] - ld [de], a - inc de - push hl - ld hl, wFilteredBagItemsCount - inc [hl] - pop hl - jr .loop -.done - ld a, $ff - ld [de], a - ret - -FossilsList: - db DOME_FOSSIL - db HELIX_FOSSIL - db OLD_AMBER - db $00 - -Lab4Text1: - TX_ASM - CheckEvent EVENT_GAVE_FOSSIL_TO_LAB - jr nz, .asm_75d96 - ld hl, Lab4Text_75dc6 - call PrintText - call Lab4Script_GetFossilsInBag - ld a, [wFilteredBagItemsCount] - and a - jr z, .asm_75d8d - callba GiveFossilToCinnabarLab - jr .asm_75d93 -.asm_75d8d - ld hl, Lab4Text_75dcb - call PrintText -.asm_75d93 - jp TextScriptEnd -.asm_75d96 - CheckEventAfterBranchReuseA EVENT_LAB_STILL_REVIVING_FOSSIL, EVENT_GAVE_FOSSIL_TO_LAB - jr z, .asm_75da2 - ld hl, Lab4Text_75dd0 - call PrintText - jr .asm_75d93 -.asm_75da2 - call LoadFossilItemAndMonNameBank1D - ld hl, Lab4Text_75dd5 - call PrintText - SetEvent EVENT_LAB_HANDING_OVER_FOSSIL_MON - ld a, [wFossilMon] - ld b, a - ld c, 30 - call GivePokemon - jr nc, .asm_75d93 - ResetEvents EVENT_GAVE_FOSSIL_TO_LAB, EVENT_LAB_STILL_REVIVING_FOSSIL, EVENT_LAB_HANDING_OVER_FOSSIL_MON - jr .asm_75d93 - -Lab4Text_75dc6: - TX_FAR _Lab4Text_75dc6 - db "@" - -Lab4Text_75dcb: - TX_FAR _Lab4Text_75dcb - db "@" - -Lab4Text_75dd0: - TX_FAR _Lab4Text_75dd0 - db "@" - -Lab4Text_75dd5: - TX_FAR _Lab4Text_75dd5 - db "@" - -Lab4Text2: - TX_ASM - ld a, $3 - ld [wWhichTrade], a - predef DoInGameTradeDialogue - jp TextScriptEnd - -LoadFossilItemAndMonNameBank1D: - jpba LoadFossilItemAndMonName diff --git a/scripts/lance.asm b/scripts/lance.asm deleted file mode 100755 index a0b0e6e7..00000000 --- a/scripts/lance.asm +++ /dev/null @@ -1,162 +0,0 @@ -LanceScript: - call LanceShowOrHideEntranceBlocks - call EnableAutoTextBoxDrawing - ld hl, LanceTrainerHeader0 - ld de, LanceScriptPointers - ld a, [wLanceCurScript] - call ExecuteCurMapScriptInTable - ld [wLanceCurScript], a - ret - -LanceShowOrHideEntranceBlocks: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - CheckEvent EVENT_LANCES_ROOM_LOCK_DOOR - jr nz, .closeEntrance - ; open entrance - ld a, $31 - ld b, $32 - jp LanceSetEntranceBlocks -.closeEntrance - ld a, $72 - ld b, $73 - -LanceSetEntranceBlocks: -; Replaces the tile blocks so the player can't leave. - push bc - ld [wNewTileBlockID], a - lb bc, 6, 2 - call LanceSetEntranceBlock - pop bc - ld a, b - ld [wNewTileBlockID], a - lb bc, 6, 3 - -LanceSetEntranceBlock: - predef_jump ReplaceTileBlock - -ResetLanceScript: - xor a - ld [wLanceCurScript], a - ret - -LanceScriptPointers: - dw LanceScript0 - dw DisplayEnemyTrainerTextAndStartBattle - dw LanceScript2 - dw LanceScript3 - dw LanceScript4 - -LanceScript4: - ret - -LanceScript0: - CheckEvent EVENT_BEAT_LANCE - ret nz - ld hl, LanceTriggerMovementCoords - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - xor a - ld [hJoyHeld], a - ld a, [wCoordIndex] - cp $3 ; Is player standing next to Lance's sprite? - jr nc, .notStandingNextToLance - ld a, $1 - ld [hSpriteIndexOrTextID], a - jp DisplayTextID -.notStandingNextToLance - cp $5 ; Is player standing on the entrance staircase? - jr z, WalkToLance - CheckAndSetEvent EVENT_LANCES_ROOM_LOCK_DOOR - ret nz - ld hl, wCurrentMapScriptFlags - set 5, [hl] - ld a, SFX_GO_INSIDE - call PlaySound - jp LanceShowOrHideEntranceBlocks - -LanceTriggerMovementCoords: - db $01,$05 - db $02,$06 - db $0B,$05 - db $0B,$06 - db $10,$18 - db $FF - -LanceScript2: - call EndTrainerBattle - ld a, [wIsInBattle] - cp $ff - jp z, ResetLanceScript - ld a, $1 - ld [hSpriteIndexOrTextID], a - jp DisplayTextID - -WalkToLance: -; Moves the player down the hallway to Lance's room. - ld a, $ff - ld [wJoyIgnore], a - ld hl, wSimulatedJoypadStatesEnd - ld de, WalkToLance_RLEList - call DecodeRLEList - dec a - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld a, $3 - ld [wLanceCurScript], a - ld [wCurMapScript], a - ret - -WalkToLance_RLEList: - db D_UP, $0C - db D_LEFT, $0C - db D_DOWN, $07 - db D_LEFT, $06 - db $FF - -LanceScript3: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - call Delay3 - xor a - ld [wJoyIgnore], a - ld [wLanceCurScript], a - ld [wCurMapScript], a - ret - -LanceTextPointers: - dw LanceText1 - -LanceTrainerHeader0: - dbEventFlagBit EVENT_BEAT_LANCES_ROOM_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_LANCES_ROOM_TRAINER_0 - dw LanceBeforeBattleText ; TextBeforeBattle - dw LanceAfterBattleText ; TextAfterBattle - dw LanceEndBattleText ; TextEndBattle - dw LanceEndBattleText ; TextEndBattle - - db $ff - -LanceText1: - TX_ASM - ld hl, LanceTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -LanceBeforeBattleText: - TX_FAR _LanceBeforeBattleText - db "@" - -LanceEndBattleText: - TX_FAR _LanceEndBattleText - db "@" - -LanceAfterBattleText: - TX_FAR _LanceAfterBattleText - TX_ASM - SetEvent EVENT_BEAT_LANCE - jp TextScriptEnd diff --git a/scripts/lavenderhouse1.asm b/scripts/lavenderhouse1.asm deleted file mode 100755 index 91b9286b..00000000 --- a/scripts/lavenderhouse1.asm +++ /dev/null @@ -1,112 +0,0 @@ -LavenderHouse1Script: - call EnableAutoTextBoxDrawing - ret - -LavenderHouse1TextPointers: - dw LavenderHouse1Text1 - dw LavenderHouse1Text2 - dw LavenderHouse1Text3 - dw LavenderHouse1Text4 - dw LavenderHouse1Text5 - dw LavenderHouse1Text6 - -LavenderHouse1Text1: - TX_ASM - CheckEvent EVENT_RESCUED_MR_FUJI - jr nz, .asm_72e5d - ld hl, LavenderHouse1Text_1d8d1 - call PrintText - jr .asm_6957f -.asm_72e5d - ld hl, LavenderHouse1Text_1d8d6 - call PrintText -.asm_6957f - jp TextScriptEnd - -LavenderHouse1Text_1d8d1: - TX_FAR _LavenderHouse1Text_1d8d1 - db "@" - -LavenderHouse1Text_1d8d6: - TX_FAR _LavenderHouse1Text_1d8d6 - db "@" - -LavenderHouse1Text2: - TX_ASM - CheckEvent EVENT_RESCUED_MR_FUJI - jr nz, .asm_06470 - ld hl, LavenderHouse1Text_1d8f4 - call PrintText - jr .asm_3d208 -.asm_06470 - ld hl, LavenderHouse1Text_1d8f9 - call PrintText -.asm_3d208 - jp TextScriptEnd - -LavenderHouse1Text_1d8f4: - TX_FAR _LavenderHouse1Text_1d8f4 - db "@" - -LavenderHouse1Text_1d8f9: - TX_FAR _LavenderHouse1Text_1d8f9 - db "@" - -LavenderHouse1Text3: - TX_FAR _LavenderHouse1Text3 - TX_ASM - ld a, PSYDUCK - call PlayCry - jp TextScriptEnd - -LavenderHouse1Text4: - TX_FAR _LavenderHouse1Text4 - TX_ASM - ld a, NIDORINO - call PlayCry - jp TextScriptEnd - -LavenderHouse1Text5: - TX_ASM - CheckEvent EVENT_GOT_POKE_FLUTE - jr nz, .asm_15ac2 - ld hl, LavenderHouse1Text_1d94c - call PrintText - lb bc, POKE_FLUTE, 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedFluteText - call PrintText - SetEvent EVENT_GOT_POKE_FLUTE - jr .asm_da749 -.BagFull - ld hl, FluteNoRoomText - call PrintText - jr .asm_da749 -.asm_15ac2 - ld hl, MrFujiAfterFluteText - call PrintText -.asm_da749 - jp TextScriptEnd - -LavenderHouse1Text_1d94c: - TX_FAR _LavenderHouse1Text_1d94c - db "@" - -ReceivedFluteText: - TX_FAR _ReceivedFluteText - TX_SFX_KEY_ITEM - TX_FAR _FluteExplanationText - db "@" - -FluteNoRoomText: - TX_FAR _FluteNoRoomText - db "@" - -MrFujiAfterFluteText: - TX_FAR _MrFujiAfterFluteText - db "@" - -LavenderHouse1Text6: - TX_FAR _LavenderHouse1Text6 - db "@" diff --git a/scripts/lavenderhouse2.asm b/scripts/lavenderhouse2.asm deleted file mode 100755 index b531c047..00000000 --- a/scripts/lavenderhouse2.asm +++ /dev/null @@ -1,35 +0,0 @@ -LavenderHouse2Script: - call EnableAutoTextBoxDrawing - ret - -LavenderHouse2TextPointers: - dw LavenderHouse2Text1 - dw LavenderHouse2Text2 - -LavenderHouse2Text1: - TX_FAR _LavenderHouse2Text1 - TX_ASM - ld a, CUBONE - call PlayCry - jp TextScriptEnd - -LavenderHouse2Text2: - TX_ASM - CheckEvent EVENT_RESCUED_MR_FUJI - jr nz, .asm_65711 - ld hl, LavenderHouse2Text_1d9dc - call PrintText - jr .asm_64be1 -.asm_65711 - ld hl, LavenderHouse2Text_1d9e1 - call PrintText -.asm_64be1 - jp TextScriptEnd - -LavenderHouse2Text_1d9dc: - TX_FAR _LavenderHouse2Text_1d9dc - db "@" - -LavenderHouse2Text_1d9e1: - TX_FAR _LavenderHouse2Text_1d9e1 - db "@" diff --git a/scripts/lavendermart.asm b/scripts/lavendermart.asm deleted file mode 100755 index 51b64992..00000000 --- a/scripts/lavendermart.asm +++ /dev/null @@ -1,32 +0,0 @@ -LavenderMartScript: - jp EnableAutoTextBoxDrawing - -LavenderMartTextPointers: - dw LavenderCashierText - dw LavenderMartText2 - dw LavenderMartText3 - -LavenderMartText2: - TX_FAR _LavenderMartText2 - db "@" - -LavenderMartText3: - TX_ASM - CheckEvent EVENT_RESCUED_MR_FUJI - jr nz, .Nugget - ld hl, .ReviveText - call PrintText - jr .done -.Nugget - ld hl, .NuggetText - call PrintText -.done - jp TextScriptEnd - -.ReviveText - TX_FAR _LavenderMartReviveText - db "@" - -.NuggetText - TX_FAR _LavenderMartNuggetText - db "@" diff --git a/scripts/lavenderpokecenter.asm b/scripts/lavenderpokecenter.asm deleted file mode 100755 index 61d0b887..00000000 --- a/scripts/lavenderpokecenter.asm +++ /dev/null @@ -1,23 +0,0 @@ -LavenderPokecenterScript: - call Serial_TryEstablishingExternallyClockedConnection - jp EnableAutoTextBoxDrawing - -LavenderPokecenterTextPointers: - dw LavenderHealNurseText - dw LavenderPokecenterText2 - dw LavenderPokecenterText3 - dw LavenderTradeNurseText - -LavenderTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST - -LavenderHealNurseText: - TX_POKECENTER_NURSE - -LavenderPokecenterText2: - TX_FAR _LavenderPokecenterText2 - db "@" - -LavenderPokecenterText3: - TX_FAR _LavenderPokecenterText3 - db "@" diff --git a/scripts/lavendertown.asm b/scripts/lavendertown.asm deleted file mode 100755 index daf490b1..00000000 --- a/scripts/lavendertown.asm +++ /dev/null @@ -1,63 +0,0 @@ -LavenderTownScript: - jp EnableAutoTextBoxDrawing - -LavenderTownTextPointers: - dw LavenderTownText1 - dw LavenderTownText2 - dw LavenderTownText3 - dw LavenderTownText4 - dw LavenderTownText5 - dw MartSignText - dw PokeCenterSignText - dw LavenderTownText8 - dw LavenderTownText9 - -LavenderTownText1: - TX_ASM - ld hl, LavenderTownText_4413c - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - ld hl, LavenderTownText_44146 - jr nz, .asm_40831 - ld hl, LavenderTownText_44141 -.asm_40831 - call PrintText - jp TextScriptEnd - -LavenderTownText_4413c: - TX_FAR _LavenderTownText_4413c - db "@" - -LavenderTownText_44141: - TX_FAR _LavenderTownText_44141 - db "@" - -LavenderTownText_44146: - TX_FAR _LavenderTownText_44146 - db "@" - -LavenderTownText2: - TX_FAR _LavenderTownText2 - db "@" - -LavenderTownText3: - TX_FAR _LavenderTownText3 - db "@" - -LavenderTownText4: - TX_FAR _LavenderTownText4 - db "@" - -LavenderTownText5: - TX_FAR _LavenderTownText5 - db "@" - -LavenderTownText8: - TX_FAR _LavenderTownText8 - db "@" - -LavenderTownText9: - TX_FAR _LavenderTownText9 - db "@" diff --git a/scripts/lorelei.asm b/scripts/lorelei.asm deleted file mode 100755 index ec29847a..00000000 --- a/scripts/lorelei.asm +++ /dev/null @@ -1,153 +0,0 @@ -LoreleiScript: - call LoreleiShowOrHideExitBlock - call EnableAutoTextBoxDrawing - ld hl, LoreleiTrainerHeader0 - ld de, LoreleiScriptPointers - ld a, [wLoreleiCurScript] - call ExecuteCurMapScriptInTable - ld [wLoreleiCurScript], a - ret - -LoreleiShowOrHideExitBlock: -; Blocks or clears the exit to the next room. - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - ld hl, wBeatLorelei - set 1, [hl] - CheckEvent EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 - jr z, .blockExitToNextRoom - ld a, $5 - jr .setExitBlock -.blockExitToNextRoom - ld a, $24 -.setExitBlock - ld [wNewTileBlockID], a - lb bc, 0, 2 - predef_jump ReplaceTileBlock - -ResetLoreleiScript: - xor a - ld [wLoreleiCurScript], a - ret - -LoreleiScriptPointers: - dw LoreleiScript0 - dw DisplayEnemyTrainerTextAndStartBattle - dw LoreleiScript2 - dw LoreleiScript3 - dw LoreleiScript4 - -LoreleiScript4: - ret - -LoreleiScriptWalkIntoRoom: -; Walk six steps upward. - ld hl, wSimulatedJoypadStatesEnd - ld a, D_UP - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld a, $6 - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld a, $3 - ld [wLoreleiCurScript], a - ld [wCurMapScript], a - ret - -LoreleiScript0: - ld hl, LoreleiEntranceCoords - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - xor a - ld [hJoyPressed], a - ld [hJoyHeld], a - ld [wSimulatedJoypadStatesEnd], a - ld [wSimulatedJoypadStatesIndex], a - ld a, [wCoordIndex] - cp $3 ; Is player standing one tile above the exit? - jr c, .stopPlayerFromLeaving - CheckAndSetEvent EVENT_AUTOWALKED_INTO_LORELEIS_ROOM - jr z, LoreleiScriptWalkIntoRoom -.stopPlayerFromLeaving - ld a, $2 - ld [hSpriteIndexOrTextID], a - call DisplayTextID ; "Don't run away!" - ld a, D_UP - ld [wSimulatedJoypadStatesEnd], a - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld a, $3 - ld [wLoreleiCurScript], a - ld [wCurMapScript], a - ret - -LoreleiEntranceCoords: - db $0A,$04 - db $0A,$05 - db $0B,$04 - db $0B,$05 - db $FF - -LoreleiScript3: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - call Delay3 - xor a - ld [wJoyIgnore], a - ld [wLoreleiCurScript], a - ld [wCurMapScript], a - ret - -LoreleiScript2: - call EndTrainerBattle - ld a, [wIsInBattle] - cp $ff - jp z, ResetLoreleiScript - ld a, $1 - ld [hSpriteIndexOrTextID], a - jp DisplayTextID - -LoreleiTextPointers: - dw LoreleiText1 - dw LoreleiDontRunAwayText - -LoreleiTrainerHeader0: - dbEventFlagBit EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 - dw LoreleiBeforeBattleText ; TextBeforeBattle - dw LoreleiAfterBattleText ; TextAfterBattle - dw LoreleiEndBattleText ; TextEndBattle - dw LoreleiEndBattleText ; TextEndBattle - - db $ff - -LoreleiText1: - TX_ASM - ld hl, LoreleiTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -LoreleiBeforeBattleText: - TX_FAR _LoreleiBeforeBattleText - db "@" - -LoreleiEndBattleText: - TX_FAR _LoreleiEndBattleText - db "@" - -LoreleiAfterBattleText: - TX_FAR _LoreleiAfterBattleText - db "@" - -LoreleiDontRunAwayText: - TX_FAR _LoreleiDontRunAwayText - db "@" diff --git a/scripts/mansion1.asm b/scripts/mansion1.asm deleted file mode 100755 index 2fdc18c6..00000000 --- a/scripts/mansion1.asm +++ /dev/null @@ -1,134 +0,0 @@ -Mansion1Script: - call Mansion1Subscript1 - call EnableAutoTextBoxDrawing - ld hl, Mansion1TrainerHeader0 - ld de, Mansion1ScriptPointers - ld a, [wMansion1CurScript] - call ExecuteCurMapScriptInTable - ld [wMansion1CurScript], a - ret - -Mansion1Subscript1: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - CheckEvent EVENT_MANSION_SWITCH_ON - jr nz, .asm_442ec - lb bc, 6, 12 - call Mansion1Script_4430b - lb bc, 3, 8 - call Mansion1Script_44304 - lb bc, 8, 10 - call Mansion1Script_44304 - lb bc, 13, 13 - jp Mansion1Script_44304 -.asm_442ec - lb bc, 6, 12 - call Mansion1Script_44304 - lb bc, 3, 8 - call Mansion1Script_4430b - lb bc, 8, 10 - call Mansion1Script_4430b - lb bc, 13, 13 - jp Mansion1Script_4430b - -Mansion1Script_44304: - ld a, $2d - ld [wNewTileBlockID], a - jr Mansion1ReplaceBlock - -Mansion1Script_4430b: - ld a, $e - ld [wNewTileBlockID], a -Mansion1ReplaceBlock: - predef ReplaceTileBlock - ret - -Mansion1Script_Switches: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - xor a - ld [hJoyHeld], a - ld a, $4 - ld [hSpriteIndexOrTextID], a - jp DisplayTextID - -Mansion1ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Mansion1TextPointers: - dw Mansion1Text1 - dw PickUpItemText - dw PickUpItemText - dw Mansion1Text4 - -Mansion1TrainerHeader0: - dbEventFlagBit EVENT_BEAT_MANSION_1_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MANSION_1_TRAINER_0 - dw Mansion1BattleText2 ; TextBeforeBattle - dw Mansion1AfterBattleText2 ; TextAfterBattle - dw Mansion1EndBattleText2 ; TextEndBattle - dw Mansion1EndBattleText2 ; TextEndBattle - - db $ff - -Mansion1Text1: - TX_ASM - ld hl, Mansion1TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Mansion1BattleText2: - TX_FAR _Mansion1BattleText2 - db "@" - -Mansion1EndBattleText2: - TX_FAR _Mansion1EndBattleText2 - db "@" - -Mansion1AfterBattleText2: - TX_FAR _Mansion1AfterBattleText2 - db "@" - -Mansion1Text4: - TX_ASM - ld hl, MansionSwitchText - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .asm_4438c - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, wCurrentMapScriptFlags - set 5, [hl] - ld hl, MansionSwitchPressedText - call PrintText - ld a, SFX_GO_INSIDE - call PlaySound - CheckAndSetEvent EVENT_MANSION_SWITCH_ON - jr z, .asm_44392 - ResetEventReuseHL EVENT_MANSION_SWITCH_ON - jr .asm_44392 -.asm_4438c - ld hl, MansionSwitchNotPressedText - call PrintText -.asm_44392 - jp TextScriptEnd - -MansionSwitchText: - TX_FAR _MansionSwitchText - db "@" - -MansionSwitchPressedText: - TX_FAR _MansionSwitchPressedText - db "@" - -MansionSwitchNotPressedText: - TX_FAR _MansionSwitchNotPressedText - db "@" diff --git a/scripts/mansion2.asm b/scripts/mansion2.asm deleted file mode 100755 index ddc1ff7a..00000000 --- a/scripts/mansion2.asm +++ /dev/null @@ -1,140 +0,0 @@ -Mansion2Script: - call Mansion2Script_51fee - call EnableAutoTextBoxDrawing - ld hl, Mansion2TrainerHeader0 - ld de, Mansion2ScriptPointers - ld a, [wMansion2CurScript] - call ExecuteCurMapScriptInTable - ld [wMansion2CurScript], a - ret - -Mansion2Script_51fee: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - CheckEvent EVENT_MANSION_SWITCH_ON - jr nz, .asm_52016 - ld a, $e - lb bc, 2, 4 - call Mansion2Script_5202f - ld a, $54 - lb bc, 4, 9 - call Mansion2Script_5202f - ld a, $5f - lb bc, 11, 3 - call Mansion2Script_5202f - ret -.asm_52016 - ld a, $5f - lb bc, 2, 4 - call Mansion2Script_5202f - ld a, $e - lb bc, 4, 9 - call Mansion2Script_5202f - ld a, $e - lb bc, 11, 3 - call Mansion2Script_5202f - ret - -Mansion2Script_5202f: - ld [wNewTileBlockID], a - predef_jump ReplaceTileBlock - -Mansion2Script_Switches: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - xor a - ld [hJoyHeld], a - ld a, $5 - ld [hSpriteIndexOrTextID], a - jp DisplayTextID - -Mansion2ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Mansion2TextPointers: - dw Mansion2Text1 - dw PickUpItemText - dw Mansion2Text3 - dw Mansion2Text4 - dw Mansion2Text5 - -Mansion2TrainerHeader0: - dbEventFlagBit EVENT_BEAT_MANSION_2_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MANSION_2_TRAINER_0 - dw Mansion2BattleText1 ; TextBeforeBattle - dw Mansion2AfterBattleText1 ; TextAfterBattle - dw Mansion2EndBattleText1 ; TextEndBattle - dw Mansion2EndBattleText1 ; TextEndBattle - - db $ff - -Mansion2Text1: - TX_ASM - ld hl, Mansion2TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Mansion2BattleText1: - TX_FAR _Mansion2BattleText1 - db "@" - -Mansion2EndBattleText1: - TX_FAR _Mansion2EndBattleText1 - db "@" - -Mansion2AfterBattleText1: - TX_FAR _Mansion2AfterBattleText1 - db "@" - -Mansion2Text3: - TX_FAR _Mansion2Text3 - db "@" - -Mansion2Text4: - TX_FAR _Mansion2Text4 - db "@" - -Mansion3Text6: -Mansion2Text5: - TX_ASM - ld hl, Mansion2Text_520c2 - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .asm_520b9 - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, wCurrentMapScriptFlags - set 5, [hl] - ld hl, Mansion2Text_520c7 - call PrintText - ld a, SFX_GO_INSIDE - call PlaySound - CheckAndSetEvent EVENT_MANSION_SWITCH_ON - jr z, .asm_520bf - ResetEventReuseHL EVENT_MANSION_SWITCH_ON - jr .asm_520bf -.asm_520b9 - ld hl, Mansion2Text_520cc - call PrintText -.asm_520bf - jp TextScriptEnd - -Mansion2Text_520c2: - TX_FAR _Mansion2Text_520c2 - db "@" - -Mansion2Text_520c7: - TX_FAR _Mansion2Text_520c7 - db "@" - -Mansion2Text_520cc: - TX_FAR _Mansion2Text_520cc - db "@" diff --git a/scripts/mansion3.asm b/scripts/mansion3.asm deleted file mode 100755 index abe76df8..00000000 --- a/scripts/mansion3.asm +++ /dev/null @@ -1,151 +0,0 @@ -Mansion3Script: - call Mansion3Script_52204 - call EnableAutoTextBoxDrawing - ld hl, Mansion3TrainerHeader0 - ld de, Mansion3ScriptPointers - ld a, [wMansion3CurScript] - call ExecuteCurMapScriptInTable - ld [wMansion3CurScript], a - ret - -Mansion3Script_52204: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - CheckEvent EVENT_MANSION_SWITCH_ON - jr nz, .asm_52224 - ld a, $e - ld bc, $207 - call Mansion2Script_5202f - ld a, $5f - ld bc, $507 - call Mansion2Script_5202f - ret -.asm_52224 - ld a, $5f - ld bc, $207 - call Mansion2Script_5202f - ld a, $e - ld bc, $507 - call Mansion2Script_5202f - ret - -Mansion3ScriptPointers: - dw Mansion3Script0 - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Mansion3Script0: - ld hl, CoordsData_52254 - call Mansion3Script_5225b - ld a, [wWhichDungeonWarp] - and a - jp z, CheckFightingMapTrainers - cp $3 - ld a, $a5 - jr nz, .asm_52250 - ld a, $d6 -.asm_52250 - ld [wDungeonWarpDestinationMap], a - ret - -CoordsData_52254: - db $0E,$10 - db $0E,$11 - db $0E,$13 - db $FF - -Mansion3Script_5225b: - xor a - ld [wWhichDungeonWarp], a - ld a, [wd72d] - bit 4, a - ret nz - call ArePlayerCoordsInArray - ret nc - ld a, [wCoordIndex] - ld [wWhichDungeonWarp], a - ld hl, wd72d - set 4, [hl] - ld hl, wd732 - set 4, [hl] - ret - -Mansion3Script_Switches: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - xor a - ld [hJoyHeld], a - ld a, $6 - ld [hSpriteIndexOrTextID], a - jp DisplayTextID - -Mansion3TextPointers: - dw Mansion3Text1 - dw Mansion3Text2 - dw PickUpItemText - dw PickUpItemText - dw Mansion3Text5 - dw Mansion3Text6 - -Mansion3TrainerHeader0: - dbEventFlagBit EVENT_BEAT_MANSION_3_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MANSION_3_TRAINER_0 - dw Mansion3BattleText1 ; TextBeforeBattle - dw Mansion3AfterBattleText1 ; TextAfterBattle - dw Mansion3EndBattleText1 ; TextEndBattle - dw Mansion3EndBattleText1 ; TextEndBattle - -Mansion3TrainerHeader1: - dbEventFlagBit EVENT_BEAT_MANSION_3_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MANSION_3_TRAINER_1 - dw Mansion3BattleText2 ; TextBeforeBattle - dw Mansion3AfterBattleText2 ; TextAfterBattle - dw Mansion3EndBattleText2 ; TextEndBattle - dw Mansion3EndBattleText2 ; TextEndBattle - - db $ff - -Mansion3Text1: - TX_ASM - ld hl, Mansion3TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Mansion3Text2: - TX_ASM - ld hl, Mansion3TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Mansion3BattleText1: - TX_FAR _Mansion3BattleText1 - db "@" - -Mansion3EndBattleText1: - TX_FAR _Mansion3EndBattleText1 - db "@" - -Mansion3AfterBattleText1: - TX_FAR _Mansion3AfterBattleText1 - db "@" - -Mansion3BattleText2: - TX_FAR _Mansion3BattleText2 - db "@" - -Mansion3EndBattleText2: - TX_FAR _Mansion3EndBattleText2 - db "@" - -Mansion3AfterBattleText2: - TX_FAR _Mansion3AfterBattleText2 - db "@" - -Mansion3Text5: - TX_FAR _Mansion3Text5 - db "@" diff --git a/scripts/mansion4.asm b/scripts/mansion4.asm deleted file mode 100755 index de8a5d58..00000000 --- a/scripts/mansion4.asm +++ /dev/null @@ -1,130 +0,0 @@ -Mansion4Script: - call Mansion4Script_523cf - call EnableAutoTextBoxDrawing - ld hl, Mansion4TrainerHeader0 - ld de, Mansion4ScriptPointers - ld a, [wMansion4CurScript] - call ExecuteCurMapScriptInTable - ld [wMansion4CurScript], a - ret - -Mansion4Script_523cf: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - CheckEvent EVENT_MANSION_SWITCH_ON - jr nz, .asm_523ff - ld a, $e - ld bc, $80d - call Mansion2Script_5202f - ld a, $e - ld bc, $b06 - call Mansion2Script_5202f - ld a, $5f - ld bc, $304 - call Mansion2Script_5202f - ld a, $54 - ld bc, $808 - call Mansion2Script_5202f - ret -.asm_523ff - ld a, $2d - ld bc, $80d - call Mansion2Script_5202f - ld a, $5f - ld bc, $b06 - call Mansion2Script_5202f - ld a, $e - ld bc, $304 - call Mansion2Script_5202f - ld a, $e - ld bc, $808 - call Mansion2Script_5202f - ret - -Mansion4Script_Switches: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - xor a - ld [hJoyHeld], a - ld a, $9 - ld [hSpriteIndexOrTextID], a - jp DisplayTextID - -Mansion4ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Mansion4TextPointers: - dw Mansion4Text1 - dw Mansion4Text2 - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw Mansion4Text7 - dw PickUpItemText - dw Mansion3Text6 - -Mansion4TrainerHeader0: - dbEventFlagBit EVENT_BEAT_MANSION_4_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MANSION_4_TRAINER_0 - dw Mansion4BattleText1 ; TextBeforeBattle - dw Mansion4AfterBattleText1 ; TextAfterBattle - dw Mansion4EndBattleText1 ; TextEndBattle - dw Mansion4EndBattleText1 ; TextEndBattle - -Mansion4TrainerHeader1: - dbEventFlagBit EVENT_BEAT_MANSION_4_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MANSION_4_TRAINER_1 - dw Mansion4BattleText2 ; TextBeforeBattle - dw Mansion4AfterBattleText2 ; TextAfterBattle - dw Mansion4EndBattleText2 ; TextEndBattle - dw Mansion4EndBattleText2 ; TextEndBattle - - db $ff - -Mansion4Text1: - TX_ASM - ld hl, Mansion4TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Mansion4Text2: - TX_ASM - ld hl, Mansion4TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Mansion4BattleText1: - TX_FAR _Mansion4BattleText1 - db "@" - -Mansion4EndBattleText1: - TX_FAR _Mansion4EndBattleText1 - db "@" - -Mansion4AfterBattleText1: - TX_FAR _Mansion4AfterBattleText1 - db "@" - -Mansion4BattleText2: - TX_FAR _Mansion4BattleText2 - db "@" - -Mansion4EndBattleText2: - TX_FAR _Mansion4EndBattleText2 - db "@" - -Mansion4AfterBattleText2: - TX_FAR _Mansion4AfterBattleText2 - db "@" - -Mansion4Text7: - TX_FAR _Mansion4Text7 - db "@" diff --git a/scripts/mtmoon1.asm b/scripts/mtmoon1.asm deleted file mode 100755 index 5ee3d025..00000000 --- a/scripts/mtmoon1.asm +++ /dev/null @@ -1,224 +0,0 @@ -MtMoon1Script: - call EnableAutoTextBoxDrawing - ld hl, MtMoon1TrainerHeader0 - ld de, MtMoon1ScriptPointers - ld a, [wMtMoon1CurScript] - call ExecuteCurMapScriptInTable - ld [wMtMoon1CurScript], a - ret - -MtMoon1ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -MtMoon1TextPointers: - dw MtMoon1Text1 - dw MtMoon1Text2 - dw MtMoon1Text3 - dw MtMoon1Text4 - dw MtMoon1Text5 - dw MtMoon1Text6 - dw MtMoon1Text7 - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw MtMoon1Text14 - -MtMoon1TrainerHeader0: - dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_0 - dw MtMoon1BattleText2 ; TextBeforeBattle - dw MtMoon1AfterBattleText2 ; TextAfterBattle - dw MtMoon1EndBattleText2 ; TextEndBattle - dw MtMoon1EndBattleText2 ; TextEndBattle - -MtMoon1TrainerHeader1: - dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_1 - dw MtMoon1BattleText3 ; TextBeforeBattle - dw MtMoon1AfterBattleText3 ; TextAfterBattle - dw MtMoon1EndBattleText3 ; TextEndBattle - dw MtMoon1EndBattleText3 ; TextEndBattle - -MtMoon1TrainerHeader2: - dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_2 - dw MtMoon1BattleText4 ; TextBeforeBattle - dw MtMoon1AfterBattleText4 ; TextAfterBattle - dw MtMoon1EndBattleText4 ; TextEndBattle - dw MtMoon1EndBattleText4 ; TextEndBattle - -MtMoon1TrainerHeader3: - dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_3 - dw MtMoon1BattleText5 ; TextBeforeBattle - dw MtMoon1AfterBattleText5 ; TextAfterBattle - dw MtMoon1EndBattleText5 ; TextEndBattle - dw MtMoon1EndBattleText5 ; TextEndBattle - -MtMoon1TrainerHeader4: - dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_4 - dw MtMoon1BattleText6 ; TextBeforeBattle - dw MtMoon1AfterBattleText6 ; TextAfterBattle - dw MtMoon1EndBattleText6 ; TextEndBattle - dw MtMoon1EndBattleText6 ; TextEndBattle - -MtMoon1TrainerHeader5: - dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_5 - dw MtMoon1BattleText7 ; TextBeforeBattle - dw MtMoon1AfterBattleText7 ; TextAfterBattle - dw MtMoon1EndBattleText7 ; TextEndBattle - dw MtMoon1EndBattleText7 ; TextEndBattle - -MtMoon1TrainerHeader6: - dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_6 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_6 - dw MtMoon1BattleText8 ; TextBeforeBattle - dw MtMoon1AfterBattleText8 ; TextAfterBattle - dw MtMoon1EndBattleText8 ; TextEndBattle - dw MtMoon1EndBattleText8 ; TextEndBattle - - db $ff - -MtMoon1Text1: - TX_ASM - ld hl, MtMoon1TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -MtMoon1Text2: - TX_ASM - ld hl, MtMoon1TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -MtMoon1Text3: - TX_ASM - ld hl, MtMoon1TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -MtMoon1Text4: - TX_ASM - ld hl, MtMoon1TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -MtMoon1Text5: - TX_ASM - ld hl, MtMoon1TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -MtMoon1Text6: - TX_ASM - ld hl, MtMoon1TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -MtMoon1Text7: - TX_ASM - ld hl, MtMoon1TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -MtMoon1BattleText2: - TX_FAR _MtMoon1BattleText2 - db "@" - -MtMoon1EndBattleText2: - TX_FAR _MtMoon1EndBattleText2 - db "@" - -MtMoon1AfterBattleText2: - TX_FAR _MtMoon1AfterBattleText2 - db "@" - -MtMoon1BattleText3: - TX_FAR _MtMoon1BattleText3 - db "@" - -MtMoon1EndBattleText3: - TX_FAR _MtMoon1EndBattleText3 - db "@" - -MtMoon1AfterBattleText3: - TX_FAR _MtMoon1AfterBattleText3 - db "@" - -MtMoon1BattleText4: - TX_FAR _MtMoon1BattleText4 - db "@" - -MtMoon1EndBattleText4: - TX_FAR _MtMoon1EndBattleText4 - db "@" - -MtMoon1AfterBattleText4: - TX_FAR _MtMoon1AfterBattleText4 - db "@" - -MtMoon1BattleText5: - TX_FAR _MtMoon1BattleText5 - db "@" - -MtMoon1EndBattleText5: - TX_FAR _MtMoon1EndBattleText5 - db "@" - -MtMoon1AfterBattleText5: - TX_FAR _MtMoon1AfterBattleText5 - db "@" - -MtMoon1BattleText6: - TX_FAR _MtMoon1BattleText6 - db "@" - -MtMoon1EndBattleText6: - TX_FAR _MtMoon1EndBattleText6 - db "@" - -MtMoon1AfterBattleText6: - TX_FAR _MtMoon1AfterBattleText6 - db "@" - -MtMoon1BattleText7: - TX_FAR _MtMoon1BattleText7 - db "@" - -MtMoon1EndBattleText7: - TX_FAR _MtMoon1EndBattleText7 - db "@" - -MtMoon1AfterBattleText7: - TX_FAR _MtMoon1AfterBattleText7 - db "@" - -MtMoon1BattleText8: - TX_FAR _MtMoon1BattleText8 - db "@" - -MtMoon1EndBattleText8: - TX_FAR _MtMoon1EndBattleText8 - db "@" - -MtMoon1AfterBattleText8: - TX_FAR _MtMoon1AfterBattleText8 - db "@" - -MtMoon1Text14: - TX_FAR _MtMoon1Text14 - db "@" diff --git a/scripts/mtmoon2.asm b/scripts/mtmoon2.asm deleted file mode 100755 index 6d1e5339..00000000 --- a/scripts/mtmoon2.asm +++ /dev/null @@ -1,10 +0,0 @@ -MtMoon2Script: - call EnableAutoTextBoxDrawing - ret - -MtMoon2TextPointers: - dw MtMoonText1 - -MtMoonText1: - TX_FAR _MtMoonText1 - db "@" diff --git a/scripts/mtmoon3.asm b/scripts/mtmoon3.asm deleted file mode 100755 index 60cd1ab8..00000000 --- a/scripts/mtmoon3.asm +++ /dev/null @@ -1,406 +0,0 @@ -MtMoon3Script: - call EnableAutoTextBoxDrawing - ld hl, MtMoon3TrainerHeader0 - ld de, MtMoon3ScriptPointers - ld a, [wMtMoon3CurScript] - call ExecuteCurMapScriptInTable - ld [wMtMoon3CurScript], a - CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD - ret z - ld hl, CoordsData_49d37 - call ArePlayerCoordsInArray - jr nc, .asm_49d31 - ld hl, wd72e - set 4, [hl] - ret -.asm_49d31 - ld hl, wd72e - res 4, [hl] - ret - -CoordsData_49d37: - db $05,$0B - db $05,$0C - db $05,$0D - db $05,$0E - db $06,$0B - db $06,$0C - db $06,$0D - db $06,$0E - db $07,$0B - db $07,$0C - db $07,$0D - db $07,$0E - db $08,$0B - db $08,$0C - db $08,$0D - db $08,$0E - db $FF - -MtMoon3Script_49d58: - xor a - ld [wJoyIgnore], a - ld [wMtMoon3CurScript], a - ld [wCurMapScript], a - ret - -MtMoon3ScriptPointers: - dw MtMoon3Script0 - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw MtMoon3Script3 - dw MtMoon3Script4 - dw MtMoon3Script5 - -MtMoon3Script0: - CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD - jp nz, MtMoon3Script_49d91 - ld a, [wYCoord] - cp $8 - jp nz, MtMoon3Script_49d91 - ld a, [wXCoord] - cp $d - jp nz, MtMoon3Script_49d91 - xor a - ld [hJoyHeld], a - ld a, $1 - ld [hSpriteIndexOrTextID], a - jp DisplayTextID - -MtMoon3Script_49d91: - CheckEitherEventSet EVENT_GOT_DOME_FOSSIL, EVENT_GOT_HELIX_FOSSIL - jp z, CheckFightingMapTrainers - ret - -MtMoon3Script3: - ld a, [wIsInBattle] - cp $ff - jp z, MtMoon3Script_49d58 - call UpdateSprites - call Delay3 - SetEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD - xor a - ld [wJoyIgnore], a - ld a, $0 - ld [wMtMoon3CurScript], a - ld [wCurMapScript], a - ret - -MtMoon3Script4: - ld a, $1 - ld [H_SPRITEINDEX], a - call SetSpriteMovementBytesToFF - ld hl, CoordsData_49dea - call ArePlayerCoordsInArray - jr c, .asm_49dd7 - ld hl, CoordsData_49df1 - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - ld de, MovementData_49df9 - jr .asm_49dda -.asm_49dd7 - ld de, MovementData_49df8 -.asm_49dda - ld a, $1 - ld [H_SPRITEINDEX], a - call MoveSprite - ld a, $5 - ld [wMtMoon3CurScript], a - ld [wCurMapScript], a - ret - -CoordsData_49dea: - db $07,$0C - db $06,$0B - db $05,$0C - db $FF - -CoordsData_49df1: - db $07,$0D - db $06,$0E - db $05,$0E - db $FF - -MovementData_49df8: - db NPC_MOVEMENT_RIGHT - -MovementData_49df9: - db NPC_MOVEMENT_UP,$FF - -MtMoon3Script5: - ld a, [wd730] - bit 0, a - ret nz - ld a, $f0 - ld [wJoyIgnore], a - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld a, $a - ld [hSpriteIndexOrTextID], a - call DisplayTextID - CheckEvent EVENT_GOT_DOME_FOSSIL - jr z, .asm_49e1d - ld a, HS_MT_MOON_3_FOSSIL_2 - jr .asm_49e1f -.asm_49e1d - ld a, HS_MT_MOON_3_FOSSIL_1 -.asm_49e1f - ld [wMissableObjectIndex], a - predef HideObject - xor a - ld [wJoyIgnore], a - ld a, $0 - ld [wMtMoon3CurScript], a - ld [wCurMapScript], a - ret - -MtMoon3TextPointers: - dw MtMoon3Text1 - dw MtMoon3Text2 - dw MtMoon3Text3 - dw MtMoon3Text4 - dw MtMoon3Text5 - dw MtMoon3Text6 - dw MtMoon3Text7 - dw PickUpItemText - dw PickUpItemText - dw MtMoon3Text_49f99 - -MtMoon3TrainerHeader0: - dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_0 - dw MtMoon3BattleText2 ; TextBeforeBattle - dw MtMoon3AfterBattleText2 ; TextAfterBattle - dw MtMoon3EndBattleText2 ; TextEndBattle - dw MtMoon3EndBattleText2 ; TextEndBattle - -MtMoon3TrainerHeader1: - dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_1 - dw MtMoon3BattleText3 ; TextBeforeBattle - dw MtMoon3AfterBattleText3 ; TextAfterBattle - dw MtMoon3EndBattleText3 ; TextEndBattle - dw MtMoon3EndBattleText3 ; TextEndBattle - -MtMoon3TrainerHeader2: - dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_2 - dw MtMoon3BattleText4 ; TextBeforeBattle - dw MtMoon3AfterBattleText4 ; TextAfterBattle - dw MtMoon3EndBattleText4 ; TextEndBattle - dw MtMoon3EndBattleText4 ; TextEndBattle - -MtMoon3TrainerHeader3: - dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_3 - dw MtMoon3BattleText5 ; TextBeforeBattle - dw MtMoon3AfterBattleText5 ; TextAfterBattle - dw MtMoon3EndBattleText5 ; TextEndBattle - dw MtMoon3EndBattleText5 ; TextEndBattle - - db $ff - -MtMoon3Text1: - TX_ASM - CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD - jr z, .asm_49e8d - and $c0 - jr nz, .asm_49eb8 - ld hl, MtMoon3Text_49f8f - call PrintText - jr .asm_49ebe -.asm_49e8d - ld hl, MtMoon3Text_49f85 - call PrintText - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, MtMoon3Text_49f8a - ld de, MtMoon3Text_49f8a - call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] - ld [wSpriteIndex], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $3 - ld [wMtMoon3CurScript], a - ld [wCurMapScript], a - jr .asm_49ebe -.asm_49eb8 - ld hl, MtMoon3Text_49f94 - call PrintText -.asm_49ebe - jp TextScriptEnd - -MtMoon3Text2: - TX_ASM - ld hl, MtMoon3TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -MtMoon3Text3: - TX_ASM - ld hl, MtMoon3TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -MtMoon3Text4: - TX_ASM - ld hl, MtMoon3TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -MtMoon3Text5: - TX_ASM - ld hl, MtMoon3TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -MtMoon3Text6: - TX_ASM - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, MtMoon3Text_49f24 - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .asm_49f21 - lb bc, DOME_FOSSIL, 1 - call GiveItem - jp nc, MtMoon3Script_49f76 - call MtMoon3Script_49f69 - ld a, HS_MT_MOON_3_FOSSIL_1 - ld [wMissableObjectIndex], a - predef HideObject - SetEvent EVENT_GOT_DOME_FOSSIL - ld a, $4 - ld [wMtMoon3CurScript], a - ld [wCurMapScript], a -.asm_49f21 - jp TextScriptEnd - -MtMoon3Text_49f24: - TX_FAR _MtMoon3Text_49f24 - db "@" - -MtMoon3Text7: - TX_ASM - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, MtMoon3Text_49f64 - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .asm_49f61 - lb bc, HELIX_FOSSIL, 1 - call GiveItem - jp nc, MtMoon3Script_49f76 - call MtMoon3Script_49f69 - ld a, HS_MT_MOON_3_FOSSIL_2 - ld [wMissableObjectIndex], a - predef HideObject - SetEvent EVENT_GOT_HELIX_FOSSIL - ld a, $4 - ld [wMtMoon3CurScript], a - ld [wCurMapScript], a -.asm_49f61 - jp TextScriptEnd - -MtMoon3Text_49f64: - TX_FAR _MtMoon3Text_49f64 - db "@" - -MtMoon3Script_49f69: - ld hl, MtMoon3Text_49f6f - jp PrintText - -MtMoon3Text_49f6f: - TX_FAR _MtMoon3Text_49f6f - TX_SFX_KEY_ITEM - TX_WAIT - db "@" - -MtMoon3Script_49f76: - ld hl, MtMoon3Text_49f7f - call PrintText - jp TextScriptEnd - -MtMoon3Text_49f7f: - TX_FAR _MtMoon3Text_49f7f - TX_WAIT - db "@" - -MtMoon3Text_49f85: - TX_FAR _MtMoon3Text_49f85 - db "@" - -MtMoon3Text_49f8a: - TX_FAR _MtMoon3Text_49f8a - db "@" - -MtMoon3Text_49f8f: - TX_FAR _MtMoon3Text_49f8f - db "@" - -MtMoon3Text_49f94: - TX_FAR _MtMoon3Text_49f94 - db "@" - -MtMoon3Text_49f99: - TX_FAR _MtMoon3Text_49f99 - TX_SFX_KEY_ITEM - db "@" - -MtMoon3BattleText2: - TX_FAR _MtMoon3BattleText2 - db "@" - -MtMoon3EndBattleText2: - TX_FAR _MtMoon3EndBattleText2 - db "@" - -MtMoon3AfterBattleText2: - TX_FAR _MtMoon3AfterBattleText2 - db "@" - -MtMoon3BattleText3: - TX_FAR _MtMoon3BattleText3 - db "@" - -MtMoon3EndBattleText3: - TX_FAR _MtMoon3EndBattleText3 - db "@" - -MtMoon3AfterBattleText3: - TX_FAR _MtMoon3AfterBattleText3 - db "@" - -MtMoon3BattleText4: - TX_FAR _MtMoon3BattleText4 - db "@" - -MtMoon3EndBattleText4: - TX_FAR _MtMoon3EndBattleText4 - db "@" - -MtMoon3AfterBattleText4: - TX_FAR _MtMoon3AfterBattleText4 - db "@" - -MtMoon3BattleText5: - TX_FAR _MtMoon3BattleText5 - db "@" - -MtMoon3EndBattleText5: - TX_FAR _MtMoon3EndBattleText5 - db "@" - -MtMoon3AfterBattleText5: - TX_FAR _MtMoon3AfterBattleText5 - db "@" diff --git a/scripts/mtmoonpokecenter.asm b/scripts/mtmoonpokecenter.asm deleted file mode 100755 index b5edee8d..00000000 --- a/scripts/mtmoonpokecenter.asm +++ /dev/null @@ -1,94 +0,0 @@ -MtMoonPokecenterScript: - call Serial_TryEstablishingExternallyClockedConnection - jp EnableAutoTextBoxDrawing - -MtMoonPokecenterTextPointers: - dw MtMoonHealNurseText - dw MtMoonPokecenterText2 - dw MtMoonPokecenterText3 - dw MagikarpSalesmanText - dw MtMoonPokecenterText5 - dw MtMoonTradeNurseText - -MtMoonHealNurseText: - db $ff - -MtMoonPokecenterText2: - TX_FAR _MtMoonPokecenterText1 - db "@" - -MtMoonPokecenterText3: - TX_FAR _MtMoonPokecenterText3 - db "@" - -MagikarpSalesmanText: - TX_ASM - CheckEvent EVENT_BOUGHT_MAGIKARP, 1 - jp c, .alreadyBoughtMagikarp - ld hl, .Text1 - call PrintText - ld a, MONEY_BOX - ld [wTextBoxID], a - call DisplayTextBoxID - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jp nz, .choseNo - ld [hMoney], a - ld [hMoney + 2], a - ld a, $5 - ld [hMoney + 1], a - call HasEnoughMoney - jr nc, .enoughMoney - ld hl, .NoMoneyText - jr .printText -.enoughMoney - lb bc, MAGIKARP, 5 - call GivePokemon - jr nc, .done - xor a - ld [wPriceTemp], a - ld [wPriceTemp + 2], a - ld a, $5 - ld [wPriceTemp + 1], a - ld hl, wPriceTemp + 2 - ld de, wPlayerMoney + 2 - ld c, $3 - predef SubBCDPredef - ld a, MONEY_BOX - ld [wTextBoxID], a - call DisplayTextBoxID - SetEvent EVENT_BOUGHT_MAGIKARP - jr .done -.choseNo - ld hl, .RefuseText - jr .printText -.alreadyBoughtMagikarp - ld hl, .Text2 -.printText - call PrintText -.done - jp TextScriptEnd - -.Text1 - TX_FAR _MagikarpSalesmanText1 - db "@" - -.RefuseText - TX_FAR _MagikarpSalesmanNoText - db "@" - -.NoMoneyText - TX_FAR _MagikarpSalesmanNoMoneyText - db "@" - -.Text2 - TX_FAR _MagikarpSalesmanText2 - db "@" - -MtMoonPokecenterText5: - TX_FAR _MtMoonPokecenterText5 - db "@" - -MtMoonTradeNurseText: - db $f6 diff --git a/scripts/museum1f.asm b/scripts/museum1f.asm deleted file mode 100755 index 35bfb446..00000000 --- a/scripts/museum1f.asm +++ /dev/null @@ -1,247 +0,0 @@ -Museum1FScript: - ld a, $1 - ld [wAutoTextBoxDrawingControl], a - xor a - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, Museum1FScriptPointers - ld a, [wMuseum1fCurScript] - jp CallFunctionInTable - -Museum1FScriptPointers: - dw Museum1FScript0 - dw Museum1FScript1 - -Museum1FScript0: - ld a, [wYCoord] - cp $4 - ret nz - ld a, [wXCoord] - cp $9 - jr z, .asm_5c120 - ld a, [wXCoord] - cp $a - ret nz -.asm_5c120 - xor a - ld [hJoyHeld], a - ld a, $1 - ld [hSpriteIndexOrTextID], a - jp DisplayTextID - -Museum1FScript1: - ret - -Museum1FTextPointers: - dw Museum1FText1 - dw Museum1FText2 - dw Museum1FText3 - dw Museum1FText4 - dw Museum1FText5 - -Museum1FText1: - TX_ASM - ld a, [wYCoord] - cp $4 - jr nz, .asm_8774b - ld a, [wXCoord] - cp $d - jp z, Museum1FScript_5c1f9 - jr .asm_b8709 -.asm_8774b - cp $3 - jr nz, .asm_d49e7 - ld a, [wXCoord] - cp $c - jp z, Museum1FScript_5c1f9 -.asm_d49e7 - CheckEvent EVENT_BOUGHT_MUSEUM_TICKET - jr nz, .asm_31a16 - ld hl, Museum1FText_5c23d - call PrintText - jp Museum1FScriptEnd -.asm_b8709 - CheckEvent EVENT_BOUGHT_MUSEUM_TICKET - jr z, .asm_3ded4 -.asm_31a16 - ld hl, Museum1FText_5c242 - call PrintText - jp Museum1FScriptEnd -.asm_3ded4 - ld a, MONEY_BOX - ld [wTextBoxID], a - call DisplayTextBoxID - xor a - ld [hJoyHeld], a - ld hl, Museum1FText_5c21f - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .asm_de133 - xor a - ld [hMoney], a - ld [hMoney + 1], a - ld a, $50 - ld [hMoney + 2], a - call HasEnoughMoney - jr nc, .asm_0f3e3 - ld hl, Museum1FText_5c229 - call PrintText - jp .asm_de133 -.asm_0f3e3 - ld hl, Museum1FText_5c224 - call PrintText - SetEvent EVENT_BOUGHT_MUSEUM_TICKET - xor a - ld [wPriceTemp], a - ld [wPriceTemp + 1], a - ld a, $50 - ld [wPriceTemp + 2], a - ld hl, wPriceTemp + 2 - ld de, wPlayerMoney + 2 - ld c, $3 - predef SubBCDPredef - ld a, MONEY_BOX - ld [wTextBoxID], a - call DisplayTextBoxID - ld a, SFX_PURCHASE - call PlaySoundWaitForCurrent - call WaitForSoundToFinish - jr .asm_0b094 -.asm_de133 - ld hl, Museum1FText_5c21a - call PrintText - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - ld a, D_DOWN - ld [wSimulatedJoypadStatesEnd], a - call StartSimulatingJoypadStates - call UpdateSprites - jr Museum1FScriptEnd -.asm_0b094 - ld a, $1 - ld [wMuseum1fCurScript], a - jr Museum1FScriptEnd - -Museum1FScript_5c1f9: - ld hl, Museum1FText_5c22e - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - cp $0 - jr nz, .asm_d1144 - ld hl, Museum1FText_5c233 - call PrintText - jr Museum1FScriptEnd -.asm_d1144 - ld hl, Museum1FText_5c238 - call PrintText -Museum1FScriptEnd: - jp TextScriptEnd - -Museum1FText_5c21a: - TX_FAR _Museum1FText_5c21a - db "@" - -Museum1FText_5c21f: - TX_FAR _Museum1FText_5c21f - db "@" - -Museum1FText_5c224: - TX_FAR _Museum1FText_5c224 - db "@" - -Museum1FText_5c229: - TX_FAR _Museum1FText_5c229 - db "@" - -Museum1FText_5c22e: - TX_FAR _Museum1FText_5c22e - db "@" - -Museum1FText_5c233: - TX_FAR _Museum1FText_5c233 - db "@" - -Museum1FText_5c238: - TX_FAR _Museum1FText_5c238 - db "@" - -Museum1FText_5c23d: - TX_FAR _Museum1FText_5c23d - db "@" - -Museum1FText_5c242: - TX_FAR _Museum1FText_5c242 - db "@" - -Museum1FText2: - TX_ASM - ld hl, Museum1FText_5c251 - call PrintText - jp TextScriptEnd - -Museum1FText_5c251: - TX_FAR _Museum1FText_5c251 - db "@" - -Museum1FText3: - TX_ASM - CheckEvent EVENT_GOT_OLD_AMBER - jr nz, .asm_5c285 - ld hl, Museum1FText_5c28e - call PrintText - lb bc, OLD_AMBER, 1 - call GiveItem - jr nc, .BagFull - SetEvent EVENT_GOT_OLD_AMBER - ld a, HS_OLD_AMBER - ld [wMissableObjectIndex], a - predef HideObject - ld hl, ReceivedOldAmberText - jr .asm_5c288 -.BagFull - ld hl, Museum1FText_5c29e - jr .asm_5c288 -.asm_5c285 - ld hl, Museum1FText_5c299 -.asm_5c288 - call PrintText - jp TextScriptEnd - -Museum1FText_5c28e: - TX_FAR _Museum1FText_5c28e - db "@" - -ReceivedOldAmberText: - TX_FAR _ReceivedOldAmberText - TX_SFX_ITEM_1 - db "@" - -Museum1FText_5c299: - TX_FAR _Museum1FText_5c299 - db "@" - -Museum1FText_5c29e: - TX_FAR _Museum1FText_5c29e - db "@" - -Museum1FText4: - TX_ASM - ld hl, Museum1FText_5c2ad - call PrintText - jp TextScriptEnd - -Museum1FText_5c2ad: - TX_FAR _Museum1FText_5c2ad - db "@" - -Museum1FText5: - TX_ASM - ld hl, Museum1FText_5c2bc - call PrintText - jp TextScriptEnd - -Museum1FText_5c2bc: - TX_FAR _Museum1FText_5c2bc - db "@" diff --git a/scripts/museum2f.asm b/scripts/museum2f.asm deleted file mode 100755 index 6ee8d72a..00000000 --- a/scripts/museum2f.asm +++ /dev/null @@ -1,39 +0,0 @@ -Museum2FScript: - jp EnableAutoTextBoxDrawing - -Museum2FTextPointers: - dw Museum2FText1 - dw Museum2FText2 - dw Museum2FText3 - dw Museum2FText4 - dw Museum2FText5 - dw Museum2FText6 - dw Museum2FText7 - -Museum2FText1: - TX_FAR _Museum2FText1 - db "@" - -Museum2FText2: - TX_FAR _Museum2FText2 - db "@" - -Museum2FText3: - TX_FAR _Museum2FText3 - db "@" - -Museum2FText4: - TX_FAR _Museum2FText4 - db "@" - -Museum2FText5: - TX_FAR _Museum2FText5 - db "@" - -Museum2FText6: - TX_FAR _Museum2FText6 - db "@" - -Museum2FText7: - TX_FAR _Museum2FText7 - db "@" diff --git a/scripts/namerater.asm b/scripts/namerater.asm deleted file mode 100755 index 160948ac..00000000 --- a/scripts/namerater.asm +++ /dev/null @@ -1,107 +0,0 @@ -NameRaterScript: - jp EnableAutoTextBoxDrawing - -NameRaterScript_1da15: - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - ret - -NameRaterScript_1da20: - ld hl, wPartyMonOT - ld bc, NAME_LENGTH - ld a, [wWhichPokemon] - call AddNTimes - ld de, wPlayerName - ld c, NAME_LENGTH - call .asm_1da47 - jr c, .asm_1da52 - ld hl, wPartyMon1OTID - ld bc, wPartyMon2 - wPartyMon1 - ld a, [wWhichPokemon] - call AddNTimes - ld de, wPlayerID - ld c, $2 -.asm_1da47 - ld a, [de] - cp [hl] - jr nz, .asm_1da52 - inc hl - inc de - dec c - jr nz, .asm_1da47 - and a - ret -.asm_1da52 - scf - ret - -NameRaterTextPointers: - dw NameRaterText1 - -NameRaterText1: - TX_ASM - call SaveScreenTilesToBuffer2 - ld hl, NameRaterText_1dab3 - call NameRaterScript_1da15 - jr nz, .asm_1daae - ld hl, NameRaterText_1dab8 - call PrintText - xor a - ld [wPartyMenuTypeOrMessageID], a - ld [wUpdateSpritesEnabled], a - ld [wMenuItemToSwap], a - call DisplayPartyMenu - push af - call GBPalWhiteOutWithDelay3 - call RestoreScreenTilesAndReloadTilePatterns - call LoadGBPal - pop af - jr c, .asm_1daae - call GetPartyMonName2 - call NameRaterScript_1da20 - ld hl, NameRaterText_1dad1 - jr c, .asm_1daa8 - ld hl, NameRaterText_1dabd - call NameRaterScript_1da15 - jr nz, .asm_1daae - ld hl, NameRaterText_1dac2 - call PrintText - callba DisplayNameRaterScreen - jr c, .asm_1daae - ld hl, NameRaterText_1dac7 -.asm_1daa8 - call PrintText - jp TextScriptEnd -.asm_1daae - ld hl, NameRaterText_1dacc - jr .asm_1daa8 - -NameRaterText_1dab3: - TX_FAR _NameRaterText_1dab3 - db "@" - -NameRaterText_1dab8: - TX_FAR _NameRaterText_1dab8 - db "@" - -NameRaterText_1dabd: - TX_FAR _NameRaterText_1dabd - db "@" - -NameRaterText_1dac2: - TX_FAR _NameRaterText_1dac2 - db "@" - -NameRaterText_1dac7: - TX_FAR _NameRaterText_1dac7 - db "@" - -NameRaterText_1dacc: - TX_FAR _NameRaterText_1dacc - db "@" - -NameRaterText_1dad1: - TX_FAR _NameRaterText_1dad1 - db "@" diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm deleted file mode 100755 index aa84fab9..00000000 --- a/scripts/oakslab.asm +++ /dev/null @@ -1,1233 +0,0 @@ -OaksLabScript: - CheckEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 - call nz, OaksLabScript_1d076 - ld a, $1 - ld [wAutoTextBoxDrawingControl], a - xor a - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, OaksLabScriptPointers - ld a, [wOaksLabCurScript] - jp CallFunctionInTable - -OaksLabScriptPointers: - dw OaksLabScript0 - dw OaksLabScript1 - dw OaksLabScript2 - dw OaksLabScript3 - dw OaksLabScript4 - dw OaksLabScript5 - dw OaksLabScript6 - dw OaksLabScript7 - dw OaksLabScript8 - dw OaksLabScript9 - dw OaksLabScript10 - dw OaksLabScript11 - dw OaksLabScript12 - dw OaksLabScript13 - dw OaksLabScript14 - dw OaksLabScript15 - dw OaksLabScript16 - dw OaksLabScript17 - dw OaksLabScript18 - -OaksLabScript0: - CheckEvent EVENT_OAK_APPEARED_IN_PALLET - ret z - ld a, [wNPCMovementScriptFunctionNum] - and a - ret nz - ld a, HS_OAKS_LAB_OAK_2 - ld [wMissableObjectIndex], a - predef ShowObject - ld hl, wd72e - res 4, [hl] - - ld a, $1 - ld [wOaksLabCurScript], a - ret - -OaksLabScript1: - ld a, $8 - ld [H_SPRITEINDEX], a - ld de, OakEntryMovement - call MoveSprite - - ld a, $2 - ld [wOaksLabCurScript], a - ret - -OakEntryMovement: - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_UP - db $FF - -OaksLabScript2: - ld a, [wd730] - bit 0, a - ret nz - ld a, HS_OAKS_LAB_OAK_2 - ld [wMissableObjectIndex], a - predef HideObject - ld a, HS_OAKS_LAB_OAK_1 - ld [wMissableObjectIndex], a - predef ShowObject - - ld a, $3 - ld [wOaksLabCurScript], a - ret - -OaksLabScript3: - call Delay3 - ld hl, wSimulatedJoypadStatesEnd - ld de, PlayerEntryMovementRLE - call DecodeRLEList - dec a - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld a, $1 - ld [H_SPRITEINDEX], a - xor a - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, $5 - ld [H_SPRITEINDEX], a - xor a - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - - ld a, $4 - ld [wOaksLabCurScript], a - ret - -PlayerEntryMovementRLE: - db D_UP,$8 - db $ff - -OaksLabScript4: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - SetEvent EVENT_FOLLOWED_OAK_INTO_LAB - SetEvent EVENT_FOLLOWED_OAK_INTO_LAB_2 - ld a, $1 - ld [H_SPRITEINDEX], a - ld a, SPRITE_FACING_UP - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - call UpdateSprites - ld hl, wFlags_D733 - res 1, [hl] - call PlayDefaultMusic - - ld a, $5 - ld [wOaksLabCurScript], a - ret - -OaksLabScript5: - ld a, $fc - ld [wJoyIgnore], a - ld a, $11 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call Delay3 - ld a, $12 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call Delay3 - ld a, $13 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call Delay3 - ld a, $14 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_OAK_ASKED_TO_CHOOSE_MON - xor a - ld [wJoyIgnore], a - - ld a, $6 - ld [wOaksLabCurScript], a - ret - -OaksLabScript6: - ld a, [wYCoord] - cp $6 - ret nz - ld a, $5 - ld [H_SPRITEINDEX], a - xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, $1 - ld [H_SPRITEINDEX], a - xor a - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - call UpdateSprites - ld a, $c - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - ld a, D_UP - ld [wSimulatedJoypadStatesEnd], a - call StartSimulatingJoypadStates - ld a, PLAYER_DIR_UP - ld [wPlayerMovingDirection], a - - ld a, $7 - ld [wOaksLabCurScript], a - ret - -OaksLabScript7: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - call Delay3 - - ld a, $6 - ld [wOaksLabCurScript], a - ret - -OaksLabScript8: - ld a, [wPlayerStarter] - cp STARTER1 - jr z, .Charmander - cp STARTER2 - jr z, .Squirtle - jr .Bulbasaur -.Charmander - ld de, .MiddleBallMovement1 - ld a, [wYCoord] - cp $4 ; is the player standing below the table? - jr z, .asm_1ccf3 - ld de, .MiddleBallMovement2 - jr .asm_1ccf3 - -.MiddleBallMovement1 - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_UP - db $FF - -.MiddleBallMovement2 - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db $FF - -.Squirtle - ld de, .RightBallMovement1 - ld a, [wYCoord] - cp $4 ; is the player standing below the table? - jr z, .asm_1ccf3 - ld de, .RightBallMovement2 - jr .asm_1ccf3 - -.RightBallMovement1 - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_UP - db $FF - -.RightBallMovement2 - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db $FF - -.Bulbasaur - ld de, .LeftBallMovement1 - ld a, [wXCoord] - cp $9 ; is the player standing to the right of the table? - jr nz, .asm_1ccf3 - push hl - ld a, $1 - ld [H_SPRITEINDEX], a - ld a, $4 - ld [H_SPRITEDATAOFFSET], a - call GetPointerWithinSpriteStateData1 - push hl - ld [hl], $4c - inc hl - inc hl - ld [hl], $0 - pop hl - inc h - ld [hl], $8 - inc hl - ld [hl], $9 - ld de, .LeftBallMovement2 ; the rival is not currently onscreen, so account for that - pop hl - jr .asm_1ccf3 - -.LeftBallMovement1 - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT ; not yet terminated! -.LeftBallMovement2 - db NPC_MOVEMENT_RIGHT - db $FF - -.asm_1ccf3 - ld a, $1 - ld [H_SPRITEINDEX], a - call MoveSprite - - ld a, $9 - ld [wOaksLabCurScript], a - ret - -OaksLabScript9: - ld a, [wd730] - bit 0, a - ret nz - ld a, $fc - ld [wJoyIgnore], a - ld a, $1 - ld [H_SPRITEINDEX], a - ld a, SPRITE_FACING_UP - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, $d - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, [wRivalStarterBallSpriteIndex] - cp $2 - jr nz, .asm_1cd28 - ld a, HS_STARTER_BALL_1 - jr .asm_1cd32 -.asm_1cd28 - cp $3 - jr nz, .asm_1cd30 - ld a, HS_STARTER_BALL_2 - jr .asm_1cd32 -.asm_1cd30 - ld a, HS_STARTER_BALL_3 -.asm_1cd32 - ld [wMissableObjectIndex], a - predef HideObject - call Delay3 - ld a, [wRivalStarterTemp] - ld [wRivalStarter], a - ld [wcf91], a - ld [wd11e], a - call GetMonName - ld a, $1 - ld [H_SPRITEINDEX], a - ld a, SPRITE_FACING_UP - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, $e - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_GOT_STARTER - xor a - ld [wJoyIgnore], a - - ld a, $a - ld [wOaksLabCurScript], a - ret - -OaksLabScript10: - ld a, [wYCoord] - cp $6 - ret nz - ld a, $1 - ld [H_SPRITEINDEX], a - xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, PLAYER_DIR_UP - ld [wPlayerMovingDirection], a - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic - ld a, $f - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $1 - ld [hNPCPlayerRelativePosPerspective], a - ld a, $1 - swap a - ld [hNPCSpriteOffset], a - predef CalcPositionOfPlayerRelativeToNPC - ld a, [hNPCPlayerYDistance] - dec a - ld [hNPCPlayerYDistance], a - predef FindPathToPlayer - ld de, wNPCMovementDirections2 - ld a, $1 - ld [H_SPRITEINDEX], a - call MoveSprite - - ld a, $b - ld [wOaksLabCurScript], a - ret - -OaksLabScript11: - ld a, [wd730] - bit 0, a - ret nz - - ; define which team rival uses, and fight it - ld a, OPP_SONY1 - ld [wCurOpponent], a - ld a, [wRivalStarter] - cp STARTER2 - jr nz, .NotSquirtle - ld a, $1 - jr .done -.NotSquirtle - cp STARTER3 - jr nz, .Charmander - ld a, $2 - jr .done -.Charmander - ld a, $3 -.done - ld [wTrainerNo], a - ld a, $1 - ld [wSpriteIndex], a - call GetSpritePosition1 - ld hl, OaksLabText_1d3be - ld de, OaksLabText_1d3c3 - call SaveEndBattleTextPointers - ld hl, wd72d - set 6, [hl] - set 7, [hl] - xor a - ld [wJoyIgnore], a - ld a, PLAYER_DIR_UP - ld [wPlayerMovingDirection], a - ld a, $c - ld [wOaksLabCurScript], a - ret - -OaksLabScript12: - ld a, $f0 - ld [wJoyIgnore], a - ld a, PLAYER_DIR_UP - ld [wPlayerMovingDirection], a - call UpdateSprites - ld a, $1 - ld [wSpriteIndex], a - call SetSpritePosition1 - ld a, $1 - ld [H_SPRITEINDEX], a - xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - predef HealParty - SetEvent EVENT_BATTLED_RIVAL_IN_OAKS_LAB - - ld a, $d - ld [wOaksLabCurScript], a - ret - -OaksLabScript13: - ld c, 20 - call DelayFrames - ld a, $10 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - callba Music_RivalAlternateStart - ld a, $1 - ld [H_SPRITEINDEX], a - ld de, .RivalExitMovement - call MoveSprite - ld a, [wXCoord] - cp $4 - ; move left or right depending on where the player is standing - jr nz, .moveLeft - ld a, NPC_MOVEMENT_RIGHT - jr .next -.moveLeft - ld a, NPC_MOVEMENT_LEFT -.next - ld [wNPCMovementDirections], a - - ld a, $e - ld [wOaksLabCurScript], a - ret - -.RivalExitMovement - db $E0 ; change sprite facing direction - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -OaksLabScript14: - ld a, [wd730] - bit 0, a - jr nz, .asm_1ce8c - ld a, HS_OAKS_LAB_RIVAL - ld [wMissableObjectIndex], a - predef HideObject - xor a - ld [wJoyIgnore], a - call PlayDefaultMusic ; reset to map music - ld a, $12 - ld [wOaksLabCurScript], a - jr .done -; make the player keep facing the rival as he walks away -.asm_1ce8c - ld a, [wNPCNumScriptedSteps] - cp $5 - jr nz, .asm_1cea8 - ld a, [wXCoord] - cp $4 - jr nz, .asm_1cea1 - ld a, SPRITE_FACING_RIGHT - ld [wSpriteStateData1 + 9], a - jr .done -.asm_1cea1 - ld a, SPRITE_FACING_LEFT - ld [wSpriteStateData1 + 9], a - jr .done -.asm_1cea8 - cp $4 - ret nz - xor a ; ld a, SPRITE_FACING_DOWN - ld [wSpriteStateData1 + 9], a -.done - ret - -OaksLabScript15: - xor a - ld [hJoyHeld], a - call EnableAutoTextBoxDrawing - ld a, $ff - ld [wNewSoundID], a - call PlaySound - callba Music_RivalAlternateStart - ld a, $15 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call OaksLabScript_1d02b - ld a, HS_OAKS_LAB_RIVAL - ld [wMissableObjectIndex], a - predef ShowObject - ld a, [wNPCMovementDirections2Index] - ld [wSavedNPCMovementDirections2Index], a - ld b, 0 - ld c, a - ld hl, wNPCMovementDirections2 - ld a, NPC_MOVEMENT_UP - call FillMemory - ld [hl], $ff - ld a, $1 - ld [H_SPRITEINDEX], a - ld de, wNPCMovementDirections2 - call MoveSprite - - ld a, $10 - ld [wOaksLabCurScript], a - ret - -OaksLabScript_1cefd: - ld a, $1 - ld [H_SPRITEINDEX], a - ld a, SPRITE_FACING_UP - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, $8 - ld [H_SPRITEINDEX], a - xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a - jp SetSpriteFacingDirectionAndDelay - -OaksLabScript16: - ld a, [wd730] - bit 0, a - ret nz - call EnableAutoTextBoxDrawing - call PlayDefaultMusic - ld a, $fc - ld [wJoyIgnore], a - call OaksLabScript_1cefd - ld a, $16 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call DelayFrame - call OaksLabScript_1cefd - ld a, $17 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call DelayFrame - call OaksLabScript_1cefd - ld a, $18 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call DelayFrame - ld a, $19 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call Delay3 - ld a, HS_POKEDEX_1 - ld [wMissableObjectIndex], a - predef HideObject - ld a, HS_POKEDEX_2 - ld [wMissableObjectIndex], a - predef HideObject - call OaksLabScript_1cefd - ld a, $1a - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $1 - ld [H_SPRITEINDEX], a - ld a, SPRITE_FACING_RIGHT - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - call Delay3 - ld a, $1b - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_GOT_POKEDEX - SetEvent EVENT_OAK_GOT_PARCEL - ld a, HS_LYING_OLD_MAN - ld [wMissableObjectIndex], a - predef HideObject - ld a, HS_OLD_MAN - ld [wMissableObjectIndex], a - predef ShowObject - ld a, [wSavedNPCMovementDirections2Index] - ld b, 0 - ld c, a - ld hl, wNPCMovementDirections2 - xor a ; NPC_MOVEMENT_DOWN - call FillMemory - ld [hl], $ff - ld a, $ff - ld [wNewSoundID], a - call PlaySound - callba Music_RivalAlternateStart - ld a, $1 - ld [H_SPRITEINDEX], a - ld de, wNPCMovementDirections2 - call MoveSprite - - ld a, $11 - ld [wOaksLabCurScript], a - ret - -OaksLabScript17: - ld a, [wd730] - bit 0, a - ret nz - call PlayDefaultMusic - ld a, HS_OAKS_LAB_RIVAL - ld [wMissableObjectIndex], a - predef HideObject - SetEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE - ResetEventReuseHL EVENT_2ND_ROUTE22_RIVAL_BATTLE - SetEventReuseHL EVENT_ROUTE22_RIVAL_WANTS_BATTLE - ld a, HS_ROUTE_22_RIVAL_1 - ld [wMissableObjectIndex], a - predef ShowObject - ld a, $5 - ld [wPalletTownCurScript], a - xor a - ld [wJoyIgnore], a - - ld a, $12 - ld [wOaksLabCurScript], a - ret - -OaksLabScript18: - ret - -OaksLabScript_RemoveParcel: - ld hl, wBagItems - ld bc, $0000 -.loop - ld a, [hli] - cp $ff - ret z - cp OAKS_PARCEL - jr z, .foundParcel - inc hl - inc c - jr .loop -.foundParcel - ld hl, wNumBagItems - ld a, c - ld [wWhichPokemon], a - ld a, $1 - ld [wItemQuantity], a - jp RemoveItemFromInventory - -OaksLabScript_1d02b: - ld a, $7c - ld [$ffeb], a - ld a, $8 - ld [$ffee], a - ld a, [wYCoord] - cp $3 - jr nz, .asm_1d045 - ld a, $4 - ld [wNPCMovementDirections2Index], a - ld a, $30 - ld b, $b - jr .asm_1d068 -.asm_1d045 - cp $1 - jr nz, .asm_1d054 - ld a, $2 - ld [wNPCMovementDirections2Index], a - ld a, $30 - ld b, $9 - jr .asm_1d068 -.asm_1d054 - ld a, $3 - ld [wNPCMovementDirections2Index], a - ld b, $a - ld a, [wXCoord] - cp $4 - jr nz, .asm_1d066 - ld a, $40 - jr .asm_1d068 -.asm_1d066 - ld a, $20 -.asm_1d068 - ld [$ffec], a - ld a, b - ld [$ffed], a - ld a, $1 - ld [wSpriteIndex], a - call SetSpritePosition1 - ret - -OaksLabScript_1d076: - ld hl, OaksLabTextPointers2 - ld a, l - ld [wMapTextPtr], a - ld a, h - ld [wMapTextPtr+1], a - ret - -OaksLabTextPointers: - dw OaksLabText1 - dw OaksLabText2 - dw OaksLabText3 - dw OaksLabText4 - dw OaksLabText5 - dw OaksLabText6 - dw OaksLabText7 - dw OaksLabText8 - dw OaksLabText9 - dw OaksLabText10 - dw OaksLabText11 - dw OaksLabText12 - dw OaksLabText13 - dw OaksLabText14 - dw OaksLabText15 - dw OaksLabText16 - dw OaksLabText17 - dw OaksLabText18 - dw OaksLabText19 - dw OaksLabText20 - dw OaksLabText21 - dw OaksLabText22 - dw OaksLabText23 - dw OaksLabText24 - dw OaksLabText25 - dw OaksLabText26 - dw OaksLabText27 - -OaksLabTextPointers2: - dw OaksLabText1 - dw OaksLabText2 - dw OaksLabText3 - dw OaksLabText4 - dw OaksLabText5 - dw OaksLabText6 - dw OaksLabText7 - dw OaksLabText8 - dw OaksLabText9 - dw OaksLabText10 - dw OaksLabText11 - -OaksLabText1: - TX_ASM - CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB_2 - jr nz, .asm_1d0de - ld hl, OaksLabGaryText1 - call PrintText - jr .asm_1d0f0 -.asm_1d0de - bit 2, a - jr nz, .asm_1d0ea - ld hl, OaksLabText40 - call PrintText - jr .asm_1d0f0 -.asm_1d0ea - ld hl, OaksLabText41 - call PrintText -.asm_1d0f0 - jp TextScriptEnd - -OaksLabGaryText1: - TX_FAR _OaksLabGaryText1 - db "@" - -OaksLabText40: - TX_FAR _OaksLabText40 - db "@" - -OaksLabText41: - TX_FAR _OaksLabText41 - db "@" - -OaksLabText2: - TX_ASM - ld a, STARTER2 - ld [wRivalStarterTemp], a - ld a, $3 - ld [wRivalStarterBallSpriteIndex], a - ld a, STARTER1 - ld b, $2 - jr OaksLabScript_1d133 - -OaksLabText3: - TX_ASM - ld a, STARTER3 - ld [wRivalStarterTemp], a - ld a, $4 - ld [wRivalStarterBallSpriteIndex], a - ld a, STARTER2 - ld b, $3 - jr OaksLabScript_1d133 - -OaksLabText4: - TX_ASM - ld a, STARTER1 - ld [wRivalStarterTemp], a - ld a, $2 - ld [wRivalStarterBallSpriteIndex], a - ld a, STARTER3 - ld b, $4 - -OaksLabScript_1d133: - ld [wcf91], a - ld [wd11e], a - ld a, b - ld [wSpriteIndex], a - CheckEvent EVENT_GOT_STARTER - jp nz, OaksLabScript_1d22d - CheckEventReuseA EVENT_OAK_ASKED_TO_CHOOSE_MON - jr nz, OaksLabScript_1d157 - ld hl, OaksLabText39 - call PrintText - jp TextScriptEnd - -OaksLabText39: - TX_FAR _OaksLabText39 - db "@" - -OaksLabScript_1d157: - ld a, $5 - ld [H_SPRITEINDEX], a - ld a, $9 - ld [H_SPRITEDATAOFFSET], a - call GetPointerWithinSpriteStateData1 - ld [hl], SPRITE_FACING_DOWN - ld a, $1 - ld [H_SPRITEINDEX], a - ld a, $9 - ld [H_SPRITEDATAOFFSET], a - call GetPointerWithinSpriteStateData1 - ld [hl], SPRITE_FACING_RIGHT - ld hl, wd730 - set 6, [hl] - predef StarterDex - ld hl, wd730 - res 6, [hl] - call ReloadMapData - ld c, 10 - call DelayFrames - ld a, [wSpriteIndex] - cp $2 - jr z, OaksLabLookAtCharmander - cp $3 - jr z, OaksLabLookAtSquirtle - jr OaksLabLookAtBulbasaur - -OaksLabLookAtCharmander: - ld hl, OaksLabCharmanderText - jr OaksLabMonChoiceMenu -OaksLabCharmanderText: - TX_FAR _OaksLabCharmanderText - db "@" - -OaksLabLookAtSquirtle: - ld hl, OaksLabSquirtleText - jr OaksLabMonChoiceMenu -OaksLabSquirtleText: - TX_FAR _OaksLabSquirtleText - db "@" - -OaksLabLookAtBulbasaur: - ld hl, OaksLabBulbasaurText - jr OaksLabMonChoiceMenu -OaksLabBulbasaurText: - TX_FAR _OaksLabBulbasaurText - db "@" - -OaksLabMonChoiceMenu: - call PrintText - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - call YesNoChoice ; yes/no menu - ld a, [wCurrentMenuItem] - and a - jr nz, OaksLabMonChoiceEnd - ld a, [wcf91] - ld [wPlayerStarter], a - ld [wd11e], a - call GetMonName - ld a, [wSpriteIndex] - cp $2 - jr nz, .asm_1d1db - ld a, HS_STARTER_BALL_1 - jr .asm_1d1e5 -.asm_1d1db - cp $3 - jr nz, .asm_1d1e3 - ld a, HS_STARTER_BALL_2 - jr .asm_1d1e5 -.asm_1d1e3 - ld a, HS_STARTER_BALL_3 -.asm_1d1e5 - ld [wMissableObjectIndex], a - predef HideObject - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, OaksLabMonEnergeticText - call PrintText - ld hl, OaksLabReceivedMonText - call PrintText - xor a ; PLAYER_PARTY_DATA - ld [wMonDataLocation], a - ld a, 5 - ld [wCurEnemyLVL], a - ld a, [wcf91] - ld [wd11e], a - call AddPartyMon - ld hl, wd72e - set 3, [hl] - ld a, $fc - ld [wJoyIgnore], a - ld a, $8 - ld [wOaksLabCurScript], a -OaksLabMonChoiceEnd: - jp TextScriptEnd - -OaksLabMonEnergeticText: - TX_FAR _OaksLabMonEnergeticText - db "@" - -OaksLabReceivedMonText: - TX_FAR _OaksLabReceivedMonText - TX_SFX_KEY_ITEM - db "@" - -OaksLabScript_1d22d: - ld a, $5 - ld [H_SPRITEINDEX], a - ld a, $9 - ld [H_SPRITEDATAOFFSET], a - call GetPointerWithinSpriteStateData1 - ld [hl], $0 - ld hl, OaksLabLastMonText - call PrintText - jp TextScriptEnd - -OaksLabLastMonText: - TX_FAR _OaksLabLastMonText - db "@" - -OaksLabText32: -OaksLabText5: - TX_ASM - CheckEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS - jr nz, .asm_1d266 - ld hl, wPokedexOwned - ld b, wPokedexOwnedEnd - wPokedexOwned - call CountSetBits - ld a, [wNumSetBits] - cp 2 - jr c, .asm_1d279 - CheckEvent EVENT_GOT_POKEDEX - jr z, .asm_1d279 -.asm_1d266 - ld hl, OaksLabText_1d31d - call PrintText - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - predef DisplayDexRating - jp .asm_1d2ed -.asm_1d279 - ld b, POKE_BALL - call IsItemInBag - jr nz, .asm_1d2e7 - CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE - jr nz, .asm_1d2d0 - CheckEvent EVENT_GOT_POKEDEX - jr nz, .asm_1d2c8 - CheckEventReuseA EVENT_BATTLED_RIVAL_IN_OAKS_LAB - jr nz, .asm_1d2a9 - ld a, [wd72e] - bit 3, a - jr nz, .asm_1d2a1 - ld hl, OaksLabText_1d2f0 - call PrintText - jr .asm_1d2ed -.asm_1d2a1 - ld hl, OaksLabText_1d2f5 - call PrintText - jr .asm_1d2ed -.asm_1d2a9 - ld b, OAKS_PARCEL - call IsItemInBag - jr nz, .asm_1d2b8 - ld hl, OaksLabText_1d2fa - call PrintText - jr .asm_1d2ed -.asm_1d2b8 - ld hl, OaksLabDeliverParcelText - call PrintText - call OaksLabScript_RemoveParcel - ld a, $f - ld [wOaksLabCurScript], a - jr .asm_1d2ed -.asm_1d2c8 - ld hl, OaksLabAroundWorldText - call PrintText - jr .asm_1d2ed -.asm_1d2d0 - CheckAndSetEvent EVENT_GOT_POKEBALLS_FROM_OAK - jr nz, .asm_1d2e7 - lb bc, POKE_BALL, 5 - call GiveItem - ld hl, OaksLabGivePokeballsText - call PrintText - jr .asm_1d2ed -.asm_1d2e7 - ld hl, OaksLabPleaseVisitText - call PrintText -.asm_1d2ed - jp TextScriptEnd - -OaksLabText_1d2f0: - TX_FAR _OaksLabText_1d2f0 - db "@" - -OaksLabText_1d2f5: - TX_FAR _OaksLabText_1d2f5 - db "@" - -OaksLabText_1d2fa: - TX_FAR _OaksLabText_1d2fa - db "@" - -OaksLabDeliverParcelText: - TX_FAR _OaksLabDeliverParcelText1 - TX_SFX_KEY_ITEM - TX_FAR _OaksLabDeliverParcelText2 - db "@" - -OaksLabAroundWorldText: - TX_FAR _OaksLabAroundWorldText - db "@" - -OaksLabGivePokeballsText: - TX_FAR _OaksLabGivePokeballsText1 - TX_SFX_KEY_ITEM - TX_FAR _OaksLabGivePokeballsText2 - db "@" - -OaksLabPleaseVisitText: - TX_FAR _OaksLabPleaseVisitText - db "@" - -OaksLabText_1d31d: - TX_FAR _OaksLabText_1d31d - db "@" - -OaksLabText7: -OaksLabText6: - TX_ASM - ld hl, OaksLabText_1d32c - call PrintText - jp TextScriptEnd - -OaksLabText_1d32c: - TX_FAR _OaksLabText_1d32c - db "@" - -OaksLabText8: - TX_FAR _OaksLabText8 - db "@" - -OaksLabText9: - TX_ASM - ld hl, OaksLabText_1d340 - call PrintText - jp TextScriptEnd - -OaksLabText_1d340: - TX_FAR _OaksLabText_1d340 - db "@" - -OaksLabText17: - TX_ASM - ld hl, OaksLabRivalWaitingText - call PrintText - jp TextScriptEnd - -OaksLabRivalWaitingText: - TX_FAR _OaksLabRivalWaitingText - db "@" - -OaksLabText18: - TX_ASM - ld hl, OaksLabChooseMonText - call PrintText - jp TextScriptEnd - -OaksLabChooseMonText: - TX_FAR _OaksLabChooseMonText - db "@" - -OaksLabText19: - TX_ASM - ld hl, OaksLabRivalInterjectionText - call PrintText - jp TextScriptEnd - -OaksLabRivalInterjectionText: - TX_FAR _OaksLabRivalInterjectionText - db "@" - -OaksLabText20: - TX_ASM - ld hl, OaksLabBePatientText - call PrintText - jp TextScriptEnd - -OaksLabBePatientText: - TX_FAR _OaksLabBePatientText - db "@" - -OaksLabText12: - TX_ASM - ld hl, OaksLabLeavingText - call PrintText - jp TextScriptEnd - -OaksLabLeavingText: - TX_FAR _OaksLabLeavingText - db "@" - -OaksLabText13: - TX_ASM - ld hl, OaksLabRivalPickingMonText - call PrintText - jp TextScriptEnd - -OaksLabRivalPickingMonText: - TX_FAR _OaksLabRivalPickingMonText - db "@" - -OaksLabText14: - TX_ASM - ld hl, OaksLabRivalReceivedMonText - call PrintText - jp TextScriptEnd - -OaksLabRivalReceivedMonText: - TX_FAR _OaksLabRivalReceivedMonText - TX_SFX_KEY_ITEM - db "@" - -OaksLabText15: - TX_ASM - ld hl, OaksLabRivalChallengeText - call PrintText - jp TextScriptEnd - -OaksLabRivalChallengeText: - TX_FAR _OaksLabRivalChallengeText - db "@" - -OaksLabText_1d3be: - TX_FAR _OaksLabText_1d3be - db "@" - -OaksLabText_1d3c3: - TX_FAR _OaksLabText_1d3c3 - db "@" - -OaksLabText16: - TX_ASM - ld hl, OaksLabRivalToughenUpText - call PrintText - jp TextScriptEnd - -OaksLabRivalToughenUpText: - TX_FAR _OaksLabRivalToughenUpText - db "@" - -OaksLabText21: - TX_FAR _OaksLabText21 - db "@" - -OaksLabText22: - TX_FAR _OaksLabText22 - db "@" - -OaksLabText23: - TX_FAR _OaksLabText23 - db "@" - -OaksLabText24: - TX_FAR _OaksLabText24 - db "@" - -OaksLabText25: - TX_FAR _OaksLabText25 - TX_SFX_KEY_ITEM - db "@" - -OaksLabText26: - TX_FAR _OaksLabText26 - db "@" - -OaksLabText27: - TX_FAR _OaksLabText27 - db "@" - -OaksLabText11: -OaksLabText10: - TX_ASM - ld hl, OaksLabText_1d405 - call PrintText - jp TextScriptEnd - -OaksLabText_1d405: - TX_FAR _OaksLabText_1d405 - db "@" diff --git a/scripts/pallettown.asm b/scripts/pallettown.asm deleted file mode 100755 index 5b2d2a35..00000000 --- a/scripts/pallettown.asm +++ /dev/null @@ -1,214 +0,0 @@ -PalletTownScript: - CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK - jr z, .next - SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS -.next - call EnableAutoTextBoxDrawing - ld hl, PalletTownScriptPointers - ld a, [wPalletTownCurScript] - jp CallFunctionInTable - -PalletTownScriptPointers: - dw PalletTownScript0 - dw PalletTownScript1 - dw PalletTownScript2 - dw PalletTownScript3 - dw PalletTownScript4 - dw PalletTownScript5 - dw PalletTownScript6 - -PalletTownScript0: - CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB - ret nz - ld a, [wYCoord] - cp 1 ; is player near north exit? - ret nz - xor a - ld [hJoyHeld], a - ld a, PLAYER_DIR_DOWN - ld [wPlayerMovingDirection], a - ld a, $FF - call PlaySound ; stop music - ld a, BANK(Music_MeetProfOak) - ld c, a - ld a, MUSIC_MEET_PROF_OAK ; “oak appears” music - call PlayMusic - ld a, $FC - ld [wJoyIgnore], a - SetEvent EVENT_OAK_APPEARED_IN_PALLET - - ; trigger the next script - ld a, 1 - ld [wPalletTownCurScript], a - ret - -PalletTownScript1: - xor a - ld [wcf0d], a - ld a, 1 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $FF - ld [wJoyIgnore], a - ld a, HS_PALLET_TOWN_OAK - ld [wMissableObjectIndex], a - predef ShowObject - - ; trigger the next script - ld a, 2 - ld [wPalletTownCurScript], a - ret - -PalletTownScript2: - ld a, 1 - ld [H_SPRITEINDEX], a - ld a, SPRITE_FACING_UP - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - call Delay3 - ld a, 1 - ld [wYCoord], a - ld a, 1 - ld [hNPCPlayerRelativePosPerspective], a - ld a, 1 - swap a - ld [hNPCSpriteOffset], a - predef CalcPositionOfPlayerRelativeToNPC - ld hl, hNPCPlayerYDistance - dec [hl] - predef FindPathToPlayer ; load Oak’s movement into wNPCMovementDirections2 - ld de, wNPCMovementDirections2 - ld a, 1 ; oak - ld [H_SPRITEINDEX], a - call MoveSprite - ld a, $FF - ld [wJoyIgnore], a - - ; trigger the next script - ld a, 3 - ld [wPalletTownCurScript], a - ret - -PalletTownScript3: - ld a, [wd730] - bit 0, a - ret nz - xor a ; ld a, SPRITE_FACING_DOWN - ld [wSpriteStateData1 + 9], a - ld a, 1 - ld [wcf0d], a - ld a, $FC - ld [wJoyIgnore], a - ld a, 1 - ld [hSpriteIndexOrTextID], a - call DisplayTextID -; set up movement script that causes the player to follow Oak to his lab - ld a, $FF - ld [wJoyIgnore], a - ld a, 1 - ld [wSpriteIndex], a - xor a - ld [wNPCMovementScriptFunctionNum], a - ld a, 1 - ld [wNPCMovementScriptPointerTableNum], a - ld a, [H_LOADEDROMBANK] - ld [wNPCMovementScriptBank], a - - ; trigger the next script - ld a, 4 - ld [wPalletTownCurScript], a - ret - -PalletTownScript4: - ld a, [wNPCMovementScriptPointerTableNum] - and a ; is the movement script over? - ret nz - - ; trigger the next script - ld a, 5 - ld [wPalletTownCurScript], a - ret - -PalletTownScript5: - CheckEvent EVENT_DAISY_WALKING - jr nz, .next - CheckBothEventsSet EVENT_GOT_TOWN_MAP, EVENT_ENTERED_BLUES_HOUSE, 1 - jr nz, .next - SetEvent EVENT_DAISY_WALKING - ld a, HS_DAISY_SITTING - ld [wMissableObjectIndex], a - predef HideObject - ld a, HS_DAISY_WALKING - ld [wMissableObjectIndex], a - predef_jump ShowObject -.next - CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK - ret z - SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 -PalletTownScript6: - ret - -PalletTownTextPointers: - dw PalletTownText1 - dw PalletTownText2 - dw PalletTownText3 - dw PalletTownText4 - dw PalletTownText5 - dw PalletTownText6 - dw PalletTownText7 - -PalletTownText1: - TX_ASM - ld a, [wcf0d] - and a - jr nz, .next - ld a, 1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, OakAppearsText - jr .done -.next - ld hl, OakWalksUpText -.done - call PrintText - jp TextScriptEnd - -OakAppearsText: - TX_FAR _OakAppearsText - TX_ASM - ld c, 10 - call DelayFrames - xor a - ld [wEmotionBubbleSpriteIndex], a ; player's sprite - ld [wWhichEmotionBubble], a ; EXCLAMATION_BUBBLE - predef EmotionBubble - ld a, PLAYER_DIR_DOWN - ld [wPlayerMovingDirection], a - jp TextScriptEnd - -OakWalksUpText: - TX_FAR _OakWalksUpText - db "@" - -PalletTownText2: ; girl - TX_FAR _PalletTownText2 - db "@" - -PalletTownText3: ; fat man - TX_FAR _PalletTownText3 - db "@" - -PalletTownText4: ; sign by lab - TX_FAR _PalletTownText4 - db "@" - -PalletTownText5: ; sign by fence - TX_FAR _PalletTownText5 - db "@" - -PalletTownText6: ; sign by Red’s house - TX_FAR _PalletTownText6 - db "@" - -PalletTownText7: ; sign by Blue’s house - TX_FAR _PalletTownText7 - db "@" diff --git a/scripts/pewtercity.asm b/scripts/pewtercity.asm deleted file mode 100755 index 80acede8..00000000 --- a/scripts/pewtercity.asm +++ /dev/null @@ -1,322 +0,0 @@ -PewterCityScript: - call EnableAutoTextBoxDrawing - ld hl, PewterCityScriptPointers - ld a, [wPewterCityCurScript] - jp CallFunctionInTable - -PewterCityScriptPointers: - dw PewterCityScript0 - dw PewterCityScript1 - dw PewterCityScript2 - dw PewterCityScript3 - dw PewterCityScript4 - dw PewterCityScript5 - dw PewterCityScript6 - -PewterCityScript0: - xor a - ld [wMuseum1fCurScript], a - ResetEvent EVENT_BOUGHT_MUSEUM_TICKET - call PewterCityScript_1925e - ret - -PewterCityScript_1925e: - CheckEvent EVENT_BEAT_BROCK - ret nz - ld hl, CoordsData_19277 - call ArePlayerCoordsInArray - ret nc - ld a, $f0 - ld [wJoyIgnore], a - ld a, $5 - ld [hSpriteIndexOrTextID], a - jp DisplayTextID - -CoordsData_19277: - db $11,$23 - db $11,$24 - db $12,$25 - db $13,$25 - db $ff - -PewterCityScript1: - ld a, [wNPCMovementScriptPointerTableNum] - and a - ret nz - ld a, $3 - ld [H_SPRITEINDEX], a - ld a, SPRITE_FACING_UP - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, ($3 << 4) | SPRITE_FACING_UP - ld [hSpriteImageIndex], a - call SetSpriteImageIndexAfterSettingFacingDirection - call PlayDefaultMusic - ld hl, wFlags_0xcd60 - set 4, [hl] - ld a, $d - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $3c - ld [$ffeb], a - ld a, $30 - ld [$ffec], a - ld a, $c - ld [$ffed], a - ld a, $11 - ld [$ffee], a - ld a, $3 - ld [wSpriteIndex], a - call SetSpritePosition1 - ld a, $3 - ld [H_SPRITEINDEX], a - ld de, MovementData_PewterMuseumGuyExit - call MoveSprite - ld a, $2 - ld [wPewterCityCurScript], a - ret - -MovementData_PewterMuseumGuyExit: - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -PewterCityScript2: - ld a, [wd730] - bit 0, a - ret nz - ld a, HS_MUSEUM_GUY - ld [wMissableObjectIndex], a - predef HideObject - ld a, $3 - ld [wPewterCityCurScript], a - ret - -PewterCityScript3: - ld a, $3 - ld [wSpriteIndex], a - call SetSpritePosition2 - ld a, HS_MUSEUM_GUY - ld [wMissableObjectIndex], a - predef ShowObject - xor a - ld [wJoyIgnore], a - ld a, $0 - ld [wPewterCityCurScript], a - ret - -PewterCityScript4: - ld a, [wNPCMovementScriptPointerTableNum] - and a - ret nz - ld a, $5 - ld [H_SPRITEINDEX], a - ld a, SPRITE_FACING_LEFT - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, ($1 << 4) | SPRITE_FACING_LEFT - ld [hSpriteImageIndex], a - call SetSpriteImageIndexAfterSettingFacingDirection - call PlayDefaultMusic - ld hl, wFlags_0xcd60 - set 4, [hl] - ld a, $e - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $3c - ld [$ffeb], a - ld a, $40 - ld [$ffec], a - ld a, $16 - ld [$ffed], a - ld a, $10 - ld [$ffee], a - ld a, $5 - ld [wSpriteIndex], a - call SetSpritePosition1 - ld a, $5 - ld [H_SPRITEINDEX], a - ld de, MovementData_PewterGymGuyExit - call MoveSprite - ld a, $5 - ld [wPewterCityCurScript], a - ret - -MovementData_PewterGymGuyExit: - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db $FF - -PewterCityScript5: - ld a, [wd730] - bit 0, a - ret nz - ld a, HS_GYM_GUY - ld [wMissableObjectIndex], a - predef HideObject - ld a, $6 - ld [wPewterCityCurScript], a - ret - -PewterCityScript6: - ld a, $5 - ld [wSpriteIndex], a - call SetSpritePosition2 - ld a, HS_GYM_GUY - ld [wMissableObjectIndex], a - predef ShowObject - xor a - ld [wJoyIgnore], a - ld a, $0 - ld [wPewterCityCurScript], a - ret - -PewterCityTextPointers: - dw PewterCityText1 - dw PewterCityText2 - dw PewterCityText3 - dw PewterCityText4 - dw PewterCityText5 - dw PewterCityText6 - dw PewterCityText7 - dw MartSignText - dw PokeCenterSignText - dw PewterCityText10 - dw PewterCityText11 - dw PewterCityText12 - dw PewterCityText13 - dw PewterCityText14 - -PewterCityText1: - TX_FAR _PewterCityText1 - db "@" - -PewterCityText2: - TX_FAR _PewterCityText2 - db "@" - -PewterCityText3: - TX_ASM - ld hl, PewterCityText_193f1 - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .asm_193c9 - ld hl, PewterCityText_193f6 - call PrintText - jr .asm_193ee -.asm_193c9 - ld hl, PewterCityText_193fb - call PrintText - xor a - ld [hJoyPressed], a - ld [hJoyHeld], a - ld [wNPCMovementScriptFunctionNum], a - ld a, $2 - ld [wNPCMovementScriptPointerTableNum], a - ld a, [H_LOADEDROMBANK] - ld [wNPCMovementScriptBank], a - ld a, $3 - ld [wSpriteIndex], a - call GetSpritePosition2 - ld a, $1 - ld [wPewterCityCurScript], a -.asm_193ee - jp TextScriptEnd - -PewterCityText_193f1: - TX_FAR _PewterCityText_193f1 - db "@" - -PewterCityText_193f6: - TX_FAR _PewterCityText_193f6 - db "@" - -PewterCityText_193fb: - TX_FAR _PewterCityText_193fb - db "@" - -PewterCityText13: - TX_FAR _PewterCityText13 - db "@" - -PewterCityText4: - TX_ASM - ld hl, PewterCityText_19427 - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - cp $0 - jr nz, .asm_1941e - ld hl, PewterCityText_1942c - call PrintText - jr .asm_19424 -.asm_1941e - ld hl, PewterCityText_19431 - call PrintText -.asm_19424 - jp TextScriptEnd - -PewterCityText_19427: - TX_FAR _PewterCityText_19427 - db "@" - -PewterCityText_1942c: - TX_FAR _PewterCityText_1942c - db "@" - -PewterCityText_19431: - TX_FAR _PewterCityText_19431 - db "@" - -PewterCityText5: - TX_ASM - ld hl, PewterCityText_1945d - call PrintText - xor a - ld [hJoyHeld], a - ld [wNPCMovementScriptFunctionNum], a - ld a, $3 - ld [wNPCMovementScriptPointerTableNum], a - ld a, [H_LOADEDROMBANK] - ld [wNPCMovementScriptBank], a - ld a, $5 - ld [wSpriteIndex], a - call GetSpritePosition2 - ld a, $4 - ld [wPewterCityCurScript], a - jp TextScriptEnd - -PewterCityText_1945d: - TX_FAR _PewterCityText_1945d - db "@" - -PewterCityText14: - TX_FAR _PewterCityText14 - db "@" - -PewterCityText6: - TX_FAR _PewterCityText6 - db "@" - -PewterCityText7: - TX_FAR _PewterCityText7 - db "@" - -PewterCityText10: - TX_FAR _PewterCityText10 - db "@" - -PewterCityText11: - TX_FAR _PewterCityText11 - db "@" - -PewterCityText12: - TX_FAR _PewterCityText12 - db "@" diff --git a/scripts/pewtergym.asm b/scripts/pewtergym.asm deleted file mode 100755 index 2cfee6c0..00000000 --- a/scripts/pewtergym.asm +++ /dev/null @@ -1,228 +0,0 @@ -PewterGymScript: - ld hl, wCurrentMapScriptFlags - bit 6, [hl] - res 6, [hl] - call nz, PewterGymScript_5c3a4 - call EnableAutoTextBoxDrawing - ld hl, PewterGymTrainerHeader0 - ld de, PewterGymScriptPointers - ld a, [wPewterGymCurScript] - call ExecuteCurMapScriptInTable - ld [wPewterGymCurScript], a - ret - -PewterGymScript_5c3a4: - ld hl, Gym1CityName - ld de, Gym1LeaderName - jp LoadGymLeaderAndCityName - -Gym1CityName: - db "PEWTER CITY@" - -Gym1LeaderName: - db "BROCK@" - -PewterGymScript_5c3bf: - xor a - ld [wJoyIgnore], a - ld [wPewterGymCurScript], a - ld [wCurMapScript], a - ret - -PewterGymScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw PewterGymScript3 - -PewterGymScript3: - ld a, [wIsInBattle] - cp $ff - jp z, PewterGymScript_5c3bf - ld a, $f0 - ld [wJoyIgnore], a - -PewterGymScript_5c3df: - ld a, $4 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_BEAT_BROCK - lb bc, TM_34, 1 - call GiveItem - jr nc, .BagFull - ld a, $5 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_GOT_TM34 - jr .asm_5c408 -.BagFull - ld a, $6 - ld [hSpriteIndexOrTextID], a - call DisplayTextID -.asm_5c408 - ld hl, wObtainedBadges - set 0, [hl] - ld hl, wBeatGymFlags - set 0, [hl] - - ld a, HS_GYM_GUY - ld [wMissableObjectIndex], a - predef HideObject - ld a, HS_ROUTE_22_RIVAL_1 - ld [wMissableObjectIndex], a - predef HideObject - - ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE - - ; deactivate gym trainers - SetEvent EVENT_BEAT_PEWTER_GYM_TRAINER_0 - - jp PewterGymScript_5c3bf - -PewterGymTextPointers: - dw PewterGymText1 - dw PewterGymText2 - dw PewterGymText3 - dw PewterGymText4 - dw PewterGymText5 - dw PewterGymText6 - -PewterGymTrainerHeader0: - dbEventFlagBit EVENT_BEAT_PEWTER_GYM_TRAINER_0 - db ($5 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_PEWTER_GYM_TRAINER_0 - dw PewterGymBattleText1 ; TextBeforeBattle - dw PewterGymAfterBattleText1 ; TextAfterBattle - dw PewterGymEndBattleText1 ; TextEndBattle - dw PewterGymEndBattleText1 ; TextEndBattle - - db $ff - -PewterGymText1: - TX_ASM - CheckEvent EVENT_BEAT_BROCK - jr z, .asm_5c46a - CheckEventReuseA EVENT_GOT_TM34 - jr nz, .asm_5c462 - call z, PewterGymScript_5c3df - call DisableWaitingAfterTextDisplay - jr .asm_5c49b -.asm_5c462 - ld hl, PewterGymText_5c4a3 - call PrintText - jr .asm_5c49b -.asm_5c46a - ld hl, PewterGymText_5c49e - call PrintText - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, PewterGymText_5c4bc - ld de, PewterGymText_5c4bc - call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] - ld [wSpriteIndex], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $1 - ld [wGymLeaderNo], a - xor a - ld [hJoyHeld], a - ld a, $3 - ld [wPewterGymCurScript], a - ld [wCurMapScript], a -.asm_5c49b - jp TextScriptEnd - -PewterGymText_5c49e: - TX_FAR _PewterGymText_5c49e - db "@" - -PewterGymText_5c4a3: - TX_FAR _PewterGymText_5c4a3 - db "@" - -PewterGymText4: - TX_FAR _TM34PreReceiveText - db "@" - -PewterGymText5: - TX_FAR _ReceivedTM34Text - TX_SFX_ITEM_1 - TX_FAR _TM34ExplanationText - db "@" - -PewterGymText6: - TX_FAR _TM34NoRoomText - db "@" - -PewterGymText_5c4bc: - TX_FAR _PewterGymText_5c4bc - TX_SFX_LEVEL_UP ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded - TX_FAR _PewterGymText_5c4c1 - db "@" - -PewterGymText2: - TX_ASM - ld hl, PewterGymTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -PewterGymBattleText1: - TX_FAR _PewterGymBattleText1 - db "@" - -PewterGymEndBattleText1: - TX_FAR _PewterGymEndBattleText1 - db "@" - -PewterGymAfterBattleText1: - TX_FAR _PewterGymAfterBattleText1 - db "@" - -PewterGymText3: - TX_ASM - ld a, [wBeatGymFlags] - bit 0, a - jr nz, .asm_5c50c - ld hl, PewterGymText_5c515 - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .asm_5c4fe - ld hl, PewterGymText_5c51a - call PrintText - jr .asm_5c504 -.asm_5c4fe - ld hl, PewterGymText_5c524 - call PrintText -.asm_5c504 - ld hl, PewterGymText_5c51f - call PrintText - jr .asm_5c512 -.asm_5c50c - ld hl, PewterGymText_5c529 - call PrintText -.asm_5c512 - jp TextScriptEnd - -PewterGymText_5c515: - TX_FAR _PewterGymText_5c515 - db "@" - -PewterGymText_5c51a: - TX_FAR _PewterGymText_5c51a - db "@" - -PewterGymText_5c51f: - TX_FAR _PewterGymText_5c51f - db "@" - -PewterGymText_5c524: - TX_FAR _PewterGymText_5c524 - db "@" - -PewterGymText_5c529: - TX_FAR _PewterGymText_5c529 - db "@" diff --git a/scripts/pewterhouse1.asm b/scripts/pewterhouse1.asm deleted file mode 100755 index 8fa8dc3c..00000000 --- a/scripts/pewterhouse1.asm +++ /dev/null @@ -1,23 +0,0 @@ -PewterHouse1Script: - jp EnableAutoTextBoxDrawing - -PewterHouse1TextPointers: - dw PewterHouse1Text1 - dw PewterHouse1Text2 - dw PewterHouse1Text3 - -PewterHouse1Text1: - TX_FAR _PewterHouse1Text1 - TX_ASM - ld a, NIDORAN_M - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -PewterHouse1Text2: - TX_FAR _PewterHouse1Text2 - db "@" - -PewterHouse1Text3: - TX_FAR _PewterHouse1Text3 - db "@" diff --git a/scripts/pewterhouse2.asm b/scripts/pewterhouse2.asm deleted file mode 100755 index e3bbe01e..00000000 --- a/scripts/pewterhouse2.asm +++ /dev/null @@ -1,14 +0,0 @@ -PewterHouse2Script: - jp EnableAutoTextBoxDrawing - -PewterHouse2TextPointers: - dw PewterHouse2Text1 - dw PewterHouse2Text2 - -PewterHouse2Text1: - TX_FAR _PewterHouse2Text1 - db "@" - -PewterHouse2Text2: - TX_FAR _PewterHouse2Text2 - db "@" diff --git a/scripts/pewtermart.asm b/scripts/pewtermart.asm deleted file mode 100755 index d5281704..00000000 --- a/scripts/pewtermart.asm +++ /dev/null @@ -1,28 +0,0 @@ -PewterMartScript: - call EnableAutoTextBoxDrawing - ld a, $1 - ld [wAutoTextBoxDrawingControl], a - ret - -PewterMartTextPointers: - dw PewterCashierText - dw PewterMartText2 - dw PewterMartText3 - -PewterMartText2: - TX_ASM - ld hl, .Text - call PrintText - jp TextScriptEnd -.Text - TX_FAR _PewterMartText2 - db "@" - -PewterMartText3: - TX_ASM - ld hl, .Text - call PrintText - jp TextScriptEnd -.Text - TX_FAR _PewterMartText3 - db "@" diff --git a/scripts/pewterpokecenter.asm b/scripts/pewterpokecenter.asm deleted file mode 100755 index 4dd63559..00000000 --- a/scripts/pewterpokecenter.asm +++ /dev/null @@ -1,84 +0,0 @@ -PewterPokecenterScript: - call Serial_TryEstablishingExternallyClockedConnection - jp EnableAutoTextBoxDrawing - -PewterPokecenterTextPointers: - dw PewterHealNurseText - dw PewterPokecenterText2 - dw PewterJigglypuffText - dw PewterTradeNurseText - -PewterHealNurseText: - TX_POKECENTER_NURSE - -PewterPokecenterText2: - TX_FAR _PewterPokecenterText2 - db "@" - -PewterJigglypuffText: - TX_ASM - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, .Text - call PrintText - StopAllMusic - ld c, 32 - call DelayFrames - ld hl, JigglypuffFacingDirections - ld de, wJigglypuffFacingDirections - ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections - call CopyData - - ld a, [wSprite03StateData1ImageIndex] - ld hl, wJigglypuffFacingDirections -.findMatchingFacingDirectionLoop - cp [hl] - inc hl - jr nz, .findMatchingFacingDirectionLoop - dec hl - push hl - ld c, BANK(Music_JigglypuffSong) - ld a, MUSIC_JIGGLYPUFF_SONG - call PlayMusic - pop hl -.loop - ld a, [hl] - ld [wSprite03StateData1ImageIndex], a - -; rotate the array - push hl - ld hl, wJigglypuffFacingDirections - ld de, wJigglypuffFacingDirections - 1 - ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections - call CopyData - ld a, [wJigglypuffFacingDirections - 1] - ld [wJigglypuffFacingDirections + 3], a - pop hl - - ld c, 24 - call DelayFrames - - ld a, [wChannelSoundIDs] - ld b, a - ld a, [wChannelSoundIDs + Ch1] - or b - jr nz, .loop - - ld c, 48 - call DelayFrames - call PlayDefaultMusic - jp TextScriptEnd - -.Text - TX_FAR _PewterJigglypuffText - db "@" - -JigglypuffFacingDirections: - db $30 | SPRITE_FACING_DOWN - db $30 | SPRITE_FACING_LEFT - db $30 | SPRITE_FACING_UP - db $30 | SPRITE_FACING_RIGHT -JigglypuffFacingDirectionsEnd: - -PewterTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/pokemontower1.asm b/scripts/pokemontower1.asm deleted file mode 100755 index 6d9d1b3f..00000000 --- a/scripts/pokemontower1.asm +++ /dev/null @@ -1,29 +0,0 @@ -PokemonTower1Script: - jp EnableAutoTextBoxDrawing - -PokemonTower1TextPointers: - dw PokemonTower1Text1 - dw PokemonTower1Text2 - dw PokemonTower1Text3 - dw PokemonTower1Text4 - dw PokemonTower1Text5 - -PokemonTower1Text1: - TX_FAR _PokemonTower1Text1 - db "@" - -PokemonTower1Text2: - TX_FAR _PokemonTower1Text2 - db "@" - -PokemonTower1Text3: - TX_FAR _PokemonTower1Text3 - db "@" - -PokemonTower1Text4: - TX_FAR _PokemonTower1Text4 - db "@" - -PokemonTower1Text5: - TX_FAR _PokemonTower1Text5 - db "@" diff --git a/scripts/pokemontower2.asm b/scripts/pokemontower2.asm deleted file mode 100755 index 383b175d..00000000 --- a/scripts/pokemontower2.asm +++ /dev/null @@ -1,188 +0,0 @@ -PokemonTower2Script: - call EnableAutoTextBoxDrawing - ld hl, PokemonTower2ScriptPointers - ld a, [wPokemonTower2CurScript] - jp CallFunctionInTable - -PokemonTower2Script_604fe: - xor a - ld [wJoyIgnore], a - ld [wPokemonTower2CurScript], a - ld [wCurMapScript], a - ret - -PokemonTower2ScriptPointers: - dw PokemonTower2Script0 - dw PokemonTower2Script1 - dw PokemonTower2Script2 - -PokemonTower2Script0: - CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL - ret nz - ld hl, CoordsData_6055e - call ArePlayerCoordsInArray - ret nc - ld a, $ff - ld [wNewSoundID], a - call PlaySound - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic - ResetEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT - ld a, [wCoordIndex] - cp $1 - ld a, PLAYER_DIR_UP - ld b, SPRITE_FACING_DOWN - jr nz, .asm_60544 -; the rival is on the left side and the player is on the right side - SetEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT - ld a, PLAYER_DIR_LEFT - ld b, SPRITE_FACING_RIGHT -.asm_60544 - ld [wPlayerMovingDirection], a - ld a, $1 - ld [H_SPRITEINDEX], a - ld a, b - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, $1 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [hJoyHeld], a - ld [hJoyPressed], a - ret - -CoordsData_6055e: - db $05,$0F - db $06,$0E - db $0F ; isn't this supposed to end in $ff? - -PokemonTower2Script1: - ld a, [wIsInBattle] - cp $ff - jp z, PokemonTower2Script_604fe - ld a, $f0 - ld [wJoyIgnore], a - SetEvent EVENT_BEAT_POKEMON_TOWER_RIVAL - ld a, $1 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld de, MovementData_605b2 - CheckEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT - jr nz, .asm_60589 - ld de, MovementData_605a9 -.asm_60589 - ld a, $1 - ld [H_SPRITEINDEX], a - call MoveSprite - ld a, $ff - ld [wNewSoundID], a - call PlaySound - callba Music_RivalAlternateStart - ld a, $2 - ld [wPokemonTower2CurScript], a - ld [wCurMapScript], a - ret - -MovementData_605a9: - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db $FF - -MovementData_605b2: - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -PokemonTower2Script2: - ld a, [wd730] - bit 0, a - ret nz - ld a, HS_POKEMONTOWER_2_RIVAL - ld [wMissableObjectIndex], a - predef HideObject - xor a - ld [wJoyIgnore], a - call PlayDefaultMusic - ld a, $0 - ld [wPokemonTower2CurScript], a - ld [wCurMapScript], a - ret - -PokemonTower2TextPointers: - dw PokemonTower2Text1 - dw PokemonTower2Text2 - -PokemonTower2Text1: - TX_ASM - CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL - jr z, .asm_16f24 - ld hl, PokemonTower2Text_6063c - call PrintText - jr .asm_41852 -.asm_16f24 - ld hl, PokemonTower2Text_6062d - call PrintText - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, PokemonTower2Text_60632 - ld de, PokemonTower2Text_60637 - call SaveEndBattleTextPointers - ld a, OPP_SONY2 - ld [wCurOpponent], a - - ; select which team to use during the encounter - ld a, [wRivalStarter] - cp STARTER2 - jr nz, .NotSquirtle - ld a, $4 - jr .done -.NotSquirtle - cp STARTER3 - jr nz, .Charmander - ld a, $5 - jr .done -.Charmander - ld a, $6 -.done - ld [wTrainerNo], a - - ld a, $1 - ld [wPokemonTower2CurScript], a - ld [wCurMapScript], a -.asm_41852 - jp TextScriptEnd - -PokemonTower2Text_6062d: - TX_FAR _PokemonTower2Text_6062d - db "@" - -PokemonTower2Text_60632: - TX_FAR _PokemonTower2Text_60632 - db "@" - -PokemonTower2Text_60637: - TX_FAR _PokemonTower2Text_60637 - db "@" - -PokemonTower2Text_6063c: - TX_FAR _PokemonTower2Text_6063c - db "@" - -PokemonTower2Text2: - TX_FAR _PokemonTower2Text2 - db "@" diff --git a/scripts/pokemontower3.asm b/scripts/pokemontower3.asm deleted file mode 100755 index 6027b450..00000000 --- a/scripts/pokemontower3.asm +++ /dev/null @@ -1,101 +0,0 @@ -PokemonTower3Script: - call EnableAutoTextBoxDrawing - ld hl, PokemonTower3TrainerHeader0 - ld de, PokemonTower3ScriptPointers - ld a, [wPokemonTower3CurScript] - call ExecuteCurMapScriptInTable - ld [wPokemonTower3CurScript], a - ret - -PokemonTower3ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -PokemonTower3TextPointers: - dw PokemonTower3Text1 - dw PokemonTower3Text2 - dw PokemonTower3Text3 - dw PickUpItemText - -PokemonTower3TrainerHeader0: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 - dw PokemonTower3BattleText1 ; TextBeforeBattle - dw PokemonTower3AfterBattleText1 ; TextAfterBattle - dw PokemonTower3EndBattleText1 ; TextEndBattle - dw PokemonTower3EndBattleText1 ; TextEndBattle - -PokemonTower3TrainerHeader1: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 - dw PokemonTower3BattleText2 ; TextBeforeBattle - dw PokemonTower3AfterBattleText2 ; TextAfterBattle - dw PokemonTower3EndBattleText2 ; TextEndBattle - dw PokemonTower3EndBattleText2 ; TextEndBattle - -PokemonTower3TrainerHeader2: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 - dw PokemonTower3BattleText3 ; TextBeforeBattle - dw PokemonTower3AfterBattleText3 ; TextAfterBattle - dw PokemonTower3EndBattleText3 ; TextEndBattle - dw PokemonTower3EndBattleText3 ; TextEndBattle - db $ff - -PokemonTower3Text1: - TX_ASM - ld hl, PokemonTower3TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower3Text2: - TX_ASM - ld hl, PokemonTower3TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower3Text3: - TX_ASM - ld hl, PokemonTower3TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower3BattleText1: - TX_FAR _PokemonTower3BattleText1 - db "@" - -PokemonTower3EndBattleText1: - TX_FAR _PokemonTower3EndBattleText1 - db "@" - -PokemonTower3AfterBattleText1: - TX_FAR _PokemonTower3AfterBattleText1 - db "@" - -PokemonTower3BattleText2: - TX_FAR _PokemonTower3BattleText2 - db "@" - -PokemonTower3EndBattleText2: - TX_FAR _PokemonTower3EndBattleText2 - db "@" - -PokemonTower3AfterBattleText2: - TX_FAR _PokemonTower3AfterBattleText2 - db "@" - -PokemonTower3BattleText3: - TX_FAR _PokemonTower3BattleText3 - db "@" - -PokemonTower3EndBattleText3: - TX_FAR _PokemonTower3EndBattleText3 - db "@" - -PokemonTower3AfterBattleText3: - TX_FAR _PokemonTower3AfterBattleText3 - db "@" diff --git a/scripts/pokemontower4.asm b/scripts/pokemontower4.asm deleted file mode 100755 index a8307c01..00000000 --- a/scripts/pokemontower4.asm +++ /dev/null @@ -1,104 +0,0 @@ -PokemonTower4Script: - call EnableAutoTextBoxDrawing - ld hl, PokemonTower4TrainerHeader0 - ld de, PokemonTower4ScriptPointers - ld a, [wPokemonTower4CurScript] - call ExecuteCurMapScriptInTable - ld [wPokemonTower4CurScript], a - ret - -PokemonTower4ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -PokemonTower4TextPointers: - dw PokemonTower4Text1 - dw PokemonTower4Text2 - dw PokemonTower4Text3 - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - -PokemonTower4TrainerHeader0: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 - dw PokemonTower4BattleText1 ; TextBeforeBattle - dw PokemonTower4AfterBattleText1 ; TextAfterBattle - dw PokemonTower4EndBattleText1 ; TextEndBattle - dw PokemonTower4EndBattleText1 ; TextEndBattle - -PokemonTower4TrainerHeader1: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 - dw PokemonTower4BattleText2 ; TextBeforeBattle - dw PokemonTower4AfterBattleText2 ; TextAfterBattle - dw PokemonTower4EndBattleText2 ; TextEndBattle - dw PokemonTower4EndBattleText2 ; TextEndBattle - -PokemonTower4TrainerHeader2: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 - dw PokemonTower4BattleText3 ; TextBeforeBattle - dw PokemonTower4AfterBattleText3 ; TextAfterBattle - dw PokemonTower4EndBattleText3 ; TextEndBattle - dw PokemonTower4EndBattleText3 ; TextEndBattle - - db $ff - -PokemonTower4Text1: - TX_ASM - ld hl, PokemonTower4TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower4Text2: - TX_ASM - ld hl, PokemonTower4TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower4Text3: - TX_ASM - ld hl, PokemonTower4TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower4BattleText1: - TX_FAR _PokemonTower4BattleText1 - db "@" - -PokemonTower4EndBattleText1: - TX_FAR _PokemonTower4EndBattleText1 - db "@" - -PokemonTower4AfterBattleText1: - TX_FAR _PokemonTower4AfterBattleText1 - db "@" - -PokemonTower4BattleText2: - TX_FAR _PokemonTower4BattleText2 - db "@" - -PokemonTower4EndBattleText2: - TX_FAR _PokemonTower4EndBattleText2 - db "@" - -PokemonTower4AfterBattleText2: - TX_FAR _PokemonTower4AfterBattleText2 - db "@" - -PokemonTower4BattleText3: - TX_FAR _PokemonTower4BattleText3 - db "@" - -PokemonTower4EndBattleText3: - TX_FAR _PokemonTower4EndBattleText3 - db "@" - -PokemonTower4AfterBattleText3: - TX_FAR _PokemonTower4AfterBattleText3 - db "@" diff --git a/scripts/pokemontower5.asm b/scripts/pokemontower5.asm deleted file mode 100755 index 9a13f286..00000000 --- a/scripts/pokemontower5.asm +++ /dev/null @@ -1,176 +0,0 @@ -PokemonTower5Script: - call EnableAutoTextBoxDrawing - ld hl, PokemonTower5TrainerHeader0 - ld de, PokemonTower5ScriptPointers - ld a, [wPokemonTower5CurScript] - call ExecuteCurMapScriptInTable - ld [wPokemonTower5CurScript], a - ret - -PokemonTower5ScriptPointers: - dw PokemonTower5Script0 - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -PokemonTower5Script0: - ld hl, CoordsData_60992 - call ArePlayerCoordsInArray - jr c, .asm_60960 - ld hl, wd72e - res 4, [hl] - ResetEvent EVENT_IN_PURIFIED_ZONE - jp CheckFightingMapTrainers -.asm_60960 - CheckAndSetEvent EVENT_IN_PURIFIED_ZONE - ret nz - xor a - ld [hJoyHeld], a - ld a, $f0 - ld [wJoyIgnore], a - ld hl, wd72e - set 4, [hl] - predef HealParty - call GBFadeOutToWhite - call Delay3 - call Delay3 - call GBFadeInFromWhite - ld a, $7 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [wJoyIgnore], a - ret - -CoordsData_60992: - db $08,$0A - db $08,$0B - db $09,$0A - db $09,$0B - db $FF - -PokemonTower5TextPointers: - dw PokemonTower5Text1 - dw PokemonTower5Text2 - dw PokemonTower5Text3 - dw PokemonTower5Text4 - dw PokemonTower5Text5 - dw PickUpItemText - dw PokemonTower5Text7 - -PokemonTower5TrainerHeader0: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 - dw PokemonTower5BattleText1 ; TextBeforeBattle - dw PokemonTower5AfterBattleText1 ; TextAfterBattle - dw PokemonTower5EndBattleText1 ; TextEndBattle - dw PokemonTower5EndBattleText1 ; TextEndBattle - -PokemonTower5TrainerHeader1: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 - dw PokemonTower5BattleText2 ; TextBeforeBattle - dw PokemonTower5AfterBattleText2 ; TextAfterBattle - dw PokemonTower5EndBattleText2 ; TextEndBattle - dw PokemonTower5EndBattleText2 ; TextEndBattle - -PokemonTower5TrainerHeader2: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 - dw PokemonTower5BattleText3 ; TextBeforeBattle - dw PokemonTower5AfterBattleText3 ; TextAfterBattle - dw PokemonTower5EndBattleText3 ; TextEndBattle - dw PokemonTower5EndBattleText3 ; TextEndBattle - -PokemonTower5TrainerHeader3: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 - dw PokemonTower5BattleText4 ; TextBeforeBattle - dw PokemonTower5AfterBattleText4 ; TextAfterBattle - dw PokemonTower5EndBattleText4 ; TextEndBattle - dw PokemonTower5EndBattleText4 ; TextEndBattle - - db $ff - -PokemonTower5Text1: - TX_FAR _PokemonTower5Text1 - db "@" - -PokemonTower5Text2: - TX_ASM - ld hl, PokemonTower5TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower5BattleText1: - TX_FAR _PokemonTower5BattleText1 - db "@" - -PokemonTower5EndBattleText1: - TX_FAR _PokemonTower5EndBattleText1 - db "@" - -PokemonTower5AfterBattleText1: - TX_FAR _PokemonTower5AfterBattleText1 - db "@" - -PokemonTower5Text3: - TX_ASM - ld hl, PokemonTower5TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower5BattleText2: - TX_FAR _PokemonTower5BattleText2 - db "@" - -PokemonTower5EndBattleText2: - TX_FAR _PokemonTower5EndBattleText2 - db "@" - -PokemonTower5AfterBattleText2: - TX_FAR _PokemonTower5AfterBattleText2 - db "@" - -PokemonTower5Text4: - TX_ASM - ld hl, PokemonTower5TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower5BattleText3: - TX_FAR _PokemonTower5BattleText3 - db "@" - -PokemonTower5EndBattleText3: - TX_FAR _PokemonTower5EndBattleText3 - db "@" - -PokemonTower5AfterBattleText3: - TX_FAR _PokemonTower5AfterBattleText3 - db "@" - -PokemonTower5Text5: - TX_ASM - ld hl, PokemonTower5TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower5BattleText4: - TX_FAR _PokemonTower5BattleText4 - db "@" - -PokemonTower5EndBattleText4: - TX_FAR _PokemonTower5EndBattleText4 - db "@" - -PokemonTower5AfterBattleText4: - TX_FAR _PokemonTower5AfterBattleText4 - db "@" - -PokemonTower5Text7: - TX_FAR _PokemonTower5Text7 - db "@" diff --git a/scripts/pokemontower6.asm b/scripts/pokemontower6.asm deleted file mode 100755 index c3118f62..00000000 --- a/scripts/pokemontower6.asm +++ /dev/null @@ -1,212 +0,0 @@ -PokemonTower6Script: - call EnableAutoTextBoxDrawing - ld hl, PokemonTower6TrainerHeader0 - ld de, PokemonTower6ScriptPointers - ld a, [wPokemonTower6CurScript] - call ExecuteCurMapScriptInTable - ld [wPokemonTower6CurScript], a - ret - -PokemonTower6Script_60b02: - xor a - ld [wJoyIgnore], a - ld [wPokemonTower6CurScript], a - ld [wCurMapScript], a - ret - -PokemonTower6ScriptPointers: - dw PokemonTower6Script0 - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw PokemonTower6Script3 - dw PokemonTower6Script4 - -PokemonTower6Script0: - CheckEvent EVENT_BEAT_GHOST_MAROWAK - jp nz, CheckFightingMapTrainers - ld hl, CoordsData_60b45 - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - xor a - ld [hJoyHeld], a - ld a, $6 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, MAROWAK - ld [wCurOpponent], a - ld a, 30 - ld [wCurEnemyLVL], a - ld a, $4 - ld [wPokemonTower6CurScript], a - ld [wCurMapScript], a - ret - -CoordsData_60b45: - db $10,$0A,$FF - -PokemonTower6Script4: - ld a, [wIsInBattle] - cp $ff - jp z, PokemonTower6Script_60b02 - ld a, $ff - ld [wJoyIgnore], a - ld a, [wd72d] - bit 6, a - ret nz - call UpdateSprites - ld a, $f0 - ld [wJoyIgnore], a - ld a, [wBattleResult] - and a - jr nz, .asm_60b82 - SetEvent EVENT_BEAT_GHOST_MAROWAK - ld a, $7 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [wJoyIgnore], a - ld a, $0 - ld [wPokemonTower6CurScript], a - ld [wCurMapScript], a - ret -.asm_60b82 - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - ld a, $10 - ld [wSimulatedJoypadStatesEnd], a - xor a - ld [wSpriteStateData2 + $06], a - ld [wOverrideSimulatedJoypadStatesMask], a - ld hl, wd730 - set 7, [hl] - ld a, $3 - ld [wPokemonTower6CurScript], a - ld [wCurMapScript], a - ret - -PokemonTower6Script3: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - call Delay3 - xor a - ld [wPokemonTower6CurScript], a - ld [wCurMapScript], a - ret - -PokemonTower6TextPointers: - dw PokemonTower6Text1 - dw PokemonTower6Text2 - dw PokemonTower6Text3 - dw PickUpItemText - dw PickUpItemText - dw PokemonTower6Text6 - dw PokemonTower6Text7 - -PokemonTower6TrainerHeader0: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 - dw PokemonTower6BattleText1 ; TextBeforeBattle - dw PokemonTower6AfterBattleText1 ; TextAfterBattle - dw PokemonTower6EndBattleText1 ; TextEndBattle - dw PokemonTower6EndBattleText1 ; TextEndBattle - -PokemonTower6TrainerHeader1: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 - dw PokemonTower6BattleText2 ; TextBeforeBattle - dw PokemonTower6AfterBattleText2 ; TextAfterBattle - dw PokemonTower6EndBattleText2 ; TextEndBattle - dw PokemonTower6EndBattleText2 ; TextEndBattle - -PokemonTower6TrainerHeader2: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 - dw PokemonTower6BattleText3 ; TextBeforeBattle - dw PokemonTower6AfterBattleText3 ; TextAfterBattle - dw PokemonTower6EndBattleText3 ; TextEndBattle - dw PokemonTower6EndBattleText3 ; TextEndBattle - - db $ff - -PokemonTower6Text1: - TX_ASM - ld hl, PokemonTower6TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower6Text2: - TX_ASM - ld hl, PokemonTower6TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower6Text3: - TX_ASM - ld hl, PokemonTower6TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower6Text7: - TX_ASM - ld hl, PokemonTower2Text_60c1f - call PrintText - ld a, MAROWAK - call PlayCry - call WaitForSoundToFinish - ld c, 30 - call DelayFrames - ld hl, PokemonTower2Text_60c24 - call PrintText - jp TextScriptEnd - -PokemonTower2Text_60c1f: - TX_FAR _PokemonTower2Text_60c1f - db "@" - -PokemonTower2Text_60c24: - TX_FAR _PokemonTower2Text_60c24 - db "@" - -PokemonTower6BattleText1: - TX_FAR _PokemonTower6BattleText1 - db "@" - -PokemonTower6EndBattleText1: - TX_FAR _PokemonTower6EndBattleText1 - db "@" - -PokemonTower6AfterBattleText1: - TX_FAR _PokemonTower6AfterBattleText1 - db "@" - -PokemonTower6BattleText2: - TX_FAR _PokemonTower6BattleText2 - db "@" - -PokemonTower6EndBattleText2: - TX_FAR _PokemonTower6EndBattleText2 - db "@" - -PokemonTower6AfterBattleText2: - TX_FAR _PokemonTower6AfterBattleText2 - db "@" - -PokemonTower6BattleText3: - TX_FAR _PokemonTower6BattleText3 - db "@" - -PokemonTower6EndBattleText3: - TX_FAR _PokemonTower6EndBattleText3 - db "@" - -PokemonTower6AfterBattleText3: - TX_FAR _PokemonTower6AfterBattleText3 - db "@" - -PokemonTower6Text6: - TX_FAR _PokemonTower6Text6 - db "@" diff --git a/scripts/pokemontower7.asm b/scripts/pokemontower7.asm deleted file mode 100755 index 88c62c53..00000000 --- a/scripts/pokemontower7.asm +++ /dev/null @@ -1,312 +0,0 @@ -PokemonTower7Script: - call EnableAutoTextBoxDrawing - ld hl, PokemonTower7TrainerHeader0 - ld de, PokemonTower7ScriptPointers - ld a, [wPokemonTower7CurScript] - call ExecuteCurMapScriptInTable - ld [wPokemonTower7CurScript], a - ret - -PokemonTower7Script_60d18: - xor a - ld [wJoyIgnore], a - ld [wPokemonTower7CurScript], a - ld [wCurMapScript], a - ret - -PokemonTower7ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw PokemonTower7Script2 - dw PokemonTower7Script3 - dw PokemonTower7Script4 - -PokemonTower7Script2: - ld hl, wFlags_0xcd60 - res 0, [hl] - ld a, [wIsInBattle] - cp $ff - jp z, PokemonTower7Script_60d18 - call EndTrainerBattle - ld a, $f0 - ld [wJoyIgnore], a - ld a, [wSpriteIndex] - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call PokemonTower7Script_60db6 - ld a, $3 - ld [wPokemonTower7CurScript], a - ld [wCurMapScript], a - ret - -PokemonTower7Script3: - ld a, [wd730] - bit 0, a - ret nz - ld hl, wMissableObjectList - ld a, [wSpriteIndex] - ld b, a -.missableObjectsListLoop - ld a, [hli] - cp b ; search for sprite ID in missing objects list - ld a, [hli] - jr nz, .missableObjectsListLoop - ld [wMissableObjectIndex], a ; remove missable object - predef HideObject - xor a - ld [wJoyIgnore], a - ld [wSpriteIndex], a - ld [wTrainerHeaderFlagBit], a - ld [wUnusedDA38], a - ld a, $0 - ld [wPokemonTower7CurScript], a - ld [wCurMapScript], a - ret - -PokemonTower7Script4: - ld a, $ff - ld [wJoyIgnore], a - ld a, HS_POKEMONTOWER_7_MR_FUJI - ld [wMissableObjectIndex], a - predef HideObject - ld a, SPRITE_FACING_UP - ld [wSpriteStateData1 + 9], a - ld a, LAVENDER_HOUSE_1 - ld [hWarpDestinationMap], a - ld a, $1 - ld [wDestinationWarpID], a - ld a, LAVENDER_TOWN - ld [wLastMap], a - ld hl, wd72d - set 3, [hl] - ld a, $0 - ld [wPokemonTower7CurScript], a - ld [wCurMapScript], a - ret - -PokemonTower7Script_60db6: - ld hl, CoordsData_60de3 - ld a, [wSpriteIndex] - dec a - swap a - ld d, $0 - ld e, a - add hl, de - ld a, [wYCoord] - ld b, a - ld a, [wXCoord] - ld c, a -.asm_60dcb - ld a, [hli] - cp b - jr nz, .asm_60dde - ld a, [hli] - cp c - jr nz, .asm_60ddf - ld a, [hli] - ld d, [hl] - ld e, a - ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a - jp MoveSprite -.asm_60dde - inc hl -.asm_60ddf - inc hl - inc hl - jr .asm_60dcb - -CoordsData_60de3: - db $0C,$09 - dw MovementData_60e13 - db $0B,$0A - dw MovementData_60e1b - db $0B,$0B - dw MovementData_60e22 - db $0B,$0C - dw MovementData_60e22 - db $0A,$0C - dw MovementData_60e28 - db $09,$0B - dw MovementData_60e30 - db $09,$0A - dw MovementData_60e22 - db $09,$09 - dw MovementData_60e22 - db $08,$09 - dw MovementData_60e37 - db $07,$0A - dw MovementData_60e22 - db $07,$0B - dw MovementData_60e22 - db $07,$0C - dw MovementData_60e22 - -MovementData_60e13: - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_LEFT - db $FF - -MovementData_60e1b: - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -MovementData_60e22: - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -MovementData_60e28: - db NPC_MOVEMENT_LEFT - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -MovementData_60e30: - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_LEFT - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -MovementData_60e37: - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -PokemonTower7TextPointers: - dw PokemonTower7Text1 - dw PokemonTower7Text2 - dw PokemonTower7Text3 - dw PokemonTower7FujiText - -PokemonTower7TrainerHeader0: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 - dw PokemonTower7BattleText1 ; TextBeforeBattle - dw PokemonTower7AfterBattleText1 ; TextAfterBattle - dw PokemonTower7EndBattleText1 ; TextEndBattle - dw PokemonTower7EndBattleText1 ; TextEndBattle - -PokemonTower7TrainerHeader1: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 - dw PokemonTower7BattleText2 ; TextBeforeBattle - dw PokemonTower7AfterBattleText2 ; TextAfterBattle - dw PokemonTower7EndBattleText2 ; TextEndBattle - dw PokemonTower7EndBattleText2 ; TextEndBattle - -PokemonTower7TrainerHeader2: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 - dw PokemonTower7BattleText3 ; TextBeforeBattle - dw PokemonTower7AfterBattleText3 ; TextAfterBattle - dw PokemonTower7EndBattleText3 ; TextEndBattle - dw PokemonTower7EndBattleText3 ; TextEndBattle - - db $ff - -PokemonTower7Text1: - TX_ASM - ld hl, PokemonTower7TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower7Text2: - TX_ASM - ld hl, PokemonTower7TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower7Text3: - TX_ASM - ld hl, PokemonTower7TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower7FujiText: - TX_ASM - ld hl, TowerRescueFujiText - call PrintText - SetEvent EVENT_RESCUED_MR_FUJI - SetEvent EVENT_RESCUED_MR_FUJI_2 - ld a, HS_LAVENDER_HOUSE_1_MR_FUJI - ld [wMissableObjectIndex], a - predef ShowObject - ld a, HS_SAFFRON_CITY_E - ld [wMissableObjectIndex], a - predef HideObject - ld a, HS_SAFFRON_CITY_F - ld [wMissableObjectIndex], a - predef ShowObject - ld a, $4 - ld [wPokemonTower7CurScript], a - ld [wCurMapScript], a - jp TextScriptEnd - -TowerRescueFujiText: - TX_FAR _TowerRescueFujiText - db "@" - -PokemonTower7BattleText1: - TX_FAR _PokemonTower7BattleText1 - db "@" - -PokemonTower7EndBattleText1: - TX_FAR _PokemonTower7EndBattleText1 - db "@" - -PokemonTower7AfterBattleText1: - TX_FAR _PokemonTower7AfterBattleText1 - db "@" - -PokemonTower7BattleText2: - TX_FAR _PokemonTower7BattleText2 - db "@" - -PokemonTower7EndBattleText2: - TX_FAR _PokemonTower7EndBattleText2 - db "@" - -PokemonTower7AfterBattleText2: - TX_FAR _PokemonTower7AfterBattleText2 - db "@" - -PokemonTower7BattleText3: - TX_FAR _PokemonTower7BattleText3 - db "@" - -PokemonTower7EndBattleText3: - TX_FAR _PokemonTower7EndBattleText3 - db "@" - -PokemonTower7AfterBattleText3: - TX_FAR _PokemonTower7AfterBattleText3 - db "@" diff --git a/scripts/powerplant.asm b/scripts/powerplant.asm deleted file mode 100755 index 5391585d..00000000 --- a/scripts/powerplant.asm +++ /dev/null @@ -1,175 +0,0 @@ -PowerPlantScript: - call EnableAutoTextBoxDrawing - ld hl, Voltorb0TrainerHeader - ld de, .ScriptPointers - ld a, [wPowerPlantCurScript] - call ExecuteCurMapScriptInTable - ld [wPowerPlantCurScript], a - ret - -.ScriptPointers - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -PowerPlantTextPointers: - dw Voltorb0Text - dw Voltorb1Text - dw Voltorb2Text - dw Voltorb3Text - dw Voltorb4Text - dw Voltorb5Text - dw Voltorb6Text - dw Voltorb7Text - dw ZapdosText - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - -Voltorb0TrainerHeader: - dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_0 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_0 - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - -Voltorb1TrainerHeader: - dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_1 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_1 - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - -Voltorb2TrainerHeader: - dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_2 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_2 - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - -Voltorb3TrainerHeader: - dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_3 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_3 - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - -Voltorb4TrainerHeader: - dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_4 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_4 - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - -Voltorb5TrainerHeader: - dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_5 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_5 - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - -Voltorb6TrainerHeader: - dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_6 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_6 - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - -Voltorb7TrainerHeader: - dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_7, 1 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_7, 1 - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - -ZapdosTrainerHeader: - dbEventFlagBit EVENT_BEAT_ZAPDOS, 1 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_ZAPDOS, 1 - dw ZapdosBattleText ; TextBeforeBattle - dw ZapdosBattleText ; TextAfterBattle - dw ZapdosBattleText ; TextEndBattle - dw ZapdosBattleText ; TextEndBattle - - db $ff - -InitVoltorbBattle: - call TalkToTrainer - ld a, [wCurMapScript] - ld [wPowerPlantCurScript], a - jp TextScriptEnd - -Voltorb0Text: - TX_ASM - ld hl, Voltorb0TrainerHeader - jr InitVoltorbBattle - -Voltorb1Text: - TX_ASM - ld hl, Voltorb1TrainerHeader - jr InitVoltorbBattle - -Voltorb2Text: - TX_ASM - ld hl, Voltorb2TrainerHeader - jr InitVoltorbBattle - -Voltorb3Text: - TX_ASM - ld hl, Voltorb3TrainerHeader - jr InitVoltorbBattle - -Voltorb4Text: - TX_ASM - ld hl, Voltorb4TrainerHeader - jr InitVoltorbBattle - -Voltorb5Text: - TX_ASM - ld hl, Voltorb5TrainerHeader - jr InitVoltorbBattle - -Voltorb6Text: - TX_ASM - ld hl, Voltorb6TrainerHeader - jr InitVoltorbBattle - -Voltorb7Text: - TX_ASM - ld hl, Voltorb7TrainerHeader - jr InitVoltorbBattle - -ZapdosText: - TX_ASM - ld hl, ZapdosTrainerHeader - jr InitVoltorbBattle - -VoltorbBattleText: - TX_FAR _VoltorbBattleText - db "@" - -ZapdosBattleText: - TX_FAR _ZapdosBattleText - TX_ASM - ld a, ZAPDOS - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd diff --git a/scripts/redshouse1f.asm b/scripts/redshouse1f.asm deleted file mode 100755 index 59323b8e..00000000 --- a/scripts/redshouse1f.asm +++ /dev/null @@ -1,69 +0,0 @@ -RedsHouse1FScript: - jp EnableAutoTextBoxDrawing - -RedsHouse1FTextPointers: - dw RedsHouse1FText1 - dw RedsHouse1FText2 - -RedsHouse1FText1: ; Mom - TX_ASM - ld a, [wd72e] - bit 3, a - jr nz, .heal ; if player has received a Pokémon from Oak, heal team - ld hl, MomWakeUpText - call PrintText - jr .done -.heal - call MomHealPokemon -.done - jp TextScriptEnd - -MomWakeUpText: - TX_FAR _MomWakeUpText - db "@" - -MomHealPokemon: - ld hl, MomHealText1 - call PrintText - call GBFadeOutToWhite - call ReloadMapData - predef HealParty - ld a, MUSIC_PKMN_HEALED - ld [wNewSoundID], a - call PlaySound -.next - ld a, [wChannelSoundIDs] - cp MUSIC_PKMN_HEALED - jr z, .next - ld a, [wMapMusicSoundID] - ld [wNewSoundID], a - call PlaySound - call GBFadeInFromWhite - ld hl, MomHealText2 - jp PrintText - -MomHealText1: - TX_FAR _MomHealText1 - db "@" -MomHealText2: - TX_FAR _MomHealText2 - db "@" - -RedsHouse1FText2: ; TV - TX_ASM - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ld hl, TVWrongSideText - jr nz, .notUp - ld hl, StandByMeText -.notUp - call PrintText - jp TextScriptEnd - -StandByMeText: - TX_FAR _StandByMeText - db "@" - -TVWrongSideText: - TX_FAR _TVWrongSideText - db "@" diff --git a/scripts/redshouse2f.asm b/scripts/redshouse2f.asm deleted file mode 100755 index 0ec59077..00000000 --- a/scripts/redshouse2f.asm +++ /dev/null @@ -1,24 +0,0 @@ -RedsHouse2FScript: - call EnableAutoTextBoxDrawing - ld hl, RedsHouse2FScriptPointers - ld a, [wRedsHouse2CurScript] - jp CallFunctionInTable - -RedsHouse2FScriptPointers: - dw RedsHouse2FScript0 - dw RedsHouse2FScript1 - -RedsHouse2FScript0: - xor a - ld [hJoyHeld], a - ld a, PLAYER_DIR_UP - ld [wPlayerMovingDirection], a - ld a, 1 - ld [wRedsHouse2CurScript], a - ret - -RedsHouse2FScript1: - ret - -RedsHouse2FTextPointers: - db "@" diff --git a/scripts/rockethideout1.asm b/scripts/rockethideout1.asm deleted file mode 100755 index 88b3a7e9..00000000 --- a/scripts/rockethideout1.asm +++ /dev/null @@ -1,189 +0,0 @@ -RocketHideout1Script: - call RocketHideout1Script_44be0 - call EnableAutoTextBoxDrawing - ld hl, RocketHideout1TrainerHeader0 - ld de, RocketHideout1ScriptPointers - ld a, [wRocketHideout1CurScript] - call ExecuteCurMapScriptInTable - ld [wRocketHideout1CurScript], a - ret - -RocketHideout1Script_44be0: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - CheckEvent EVENT_677 - jr nz, .asm_44c01 - CheckEventReuseA EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 - jr nz, .asm_44bf7 - ld a, $54 - jr .asm_44c03 -.asm_44bf7 - ld a, SFX_GO_INSIDE - call PlaySound - CheckEventHL EVENT_677 -.asm_44c01 - ld a, $e -.asm_44c03 - ld [wNewTileBlockID], a - lb bc, 8, 12 - predef_jump ReplaceTileBlock - -RocketHideout1ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -RocketHideout1TextPointers: - dw RocketHideout1Text1 - dw RocketHideout1Text2 - dw RocketHideout1Text3 - dw RocketHideout1Text4 - dw RocketHideout1Text5 - dw PickUpItemText - dw PickUpItemText - -RocketHideout1TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 - dw RocketHideout1BattleText2 ; TextBeforeBattle - dw RocketHideout1AfterBattleTxt2 ; TextAfterBattle - dw RocketHideout1EndBattleText2 ; TextEndBattle - dw RocketHideout1EndBattleText2 ; TextEndBattle - -RocketHideout1TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1 - dw RocketHideout1BattleText3 ; TextBeforeBattle - dw RocketHideout1AfterBattleTxt3 ; TextAfterBattle - dw RocketHideout1EndBattleText3 ; TextEndBattle - dw RocketHideout1EndBattleText3 ; TextEndBattle - -RocketHideout1TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 - dw RocketHideout1BattleText4 ; TextBeforeBattle - dw RocketHideout1AfterBattleTxt4 ; TextAfterBattle - dw RocketHideout1EndBattleText4 ; TextEndBattle - dw RocketHideout1EndBattleText4 ; TextEndBattle - -RocketHideout1TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 - dw RocketHideout1BattleText5 ; TextBeforeBattle - dw RocketHideout1AfterBattleTxt5 ; TextAfterBattle - dw RocketHideout1EndBattleText5 ; TextEndBattle - dw RocketHideout1EndBattleText5 ; TextEndBattle - -RocketHideout1TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 - dw RocketHideout1BattleText6 ; TextBeforeBattle - dw RocketHideout1AfterBattleTxt6 ; TextAfterBattle - dw RocketHideout1EndBattleText6 ; TextEndBattle - dw RocketHideout1EndBattleText6 ; TextEndBattle - - db $ff - -RocketHideout1Text1: - TX_ASM - ld hl, RocketHideout1TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout1Text2: - TX_ASM - ld hl, RocketHideout1TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout1Text3: - TX_ASM - ld hl, RocketHideout1TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout1Text4: - TX_ASM - ld hl, RocketHideout1TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout1Text5: - TX_ASM - ld hl, RocketHideout1TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout1EndBattleText6: - TX_FAR _RocketHideout1EndBattleText6 - TX_ASM - SetEvent EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 - ld hl, RocketHideout1Text_44c9f - ret - -RocketHideout1Text_44c9f: - TX_BLINK - db "@" - -RocketHideout1BattleText2: - TX_FAR _RocketHideout1BattleText2 - db "@" - -RocketHideout1EndBattleText2: - TX_FAR _RocketHideout1EndBattleText2 - db "@" - -RocketHideout1AfterBattleTxt2: - TX_FAR _RocketHideout1AfterBattleTxt2 - db "@" - -RocketHideout1BattleText3: - TX_FAR _RocketHideout1BattleText3 - db "@" - -RocketHideout1EndBattleText3: - TX_FAR _RocketHideout1EndBattleText3 - db "@" - -RocketHideout1AfterBattleTxt3: - TX_FAR _RocketHideout1AfterBattleTxt3 - db "@" - -RocketHideout1BattleText4: - TX_FAR _RocketHideout1BattleText4 - db "@" - -RocketHideout1EndBattleText4: - TX_FAR _RocketHideout1EndBattleText4 - db "@" - -RocketHideout1AfterBattleTxt4: - TX_FAR _RocketHideout1AfterBattleTxt4 - db "@" - -RocketHideout1BattleText5: - TX_FAR _RocketHideout1BattleText5 - db "@" - -RocketHideout1EndBattleText5: - TX_FAR _RocketHideout1EndBattleText5 - db "@" - -RocketHideout1AfterBattleTxt5: - TX_FAR _RocketHideout1AfterBattleTxt5 - db "@" - -RocketHideout1BattleText6: - TX_FAR _RocketHideout1BattleText6 - db "@" - -RocketHideout1AfterBattleTxt6: - TX_FAR _RocketHideout1AfterBattleTxt6 - db "@" diff --git a/scripts/rockethideout2.asm b/scripts/rockethideout2.asm deleted file mode 100755 index c5f026d5..00000000 --- a/scripts/rockethideout2.asm +++ /dev/null @@ -1,450 +0,0 @@ -RocketHideout2Script: - call EnableAutoTextBoxDrawing - ld hl, RocketHideout2TrainerHeader0 - ld de, RocketHideout2ScriptPointers - ld a, [wRocketHideout2CurScript] - call ExecuteCurMapScriptInTable - ld [wRocketHideout2CurScript], a - ret - -RocketHideout2ScriptPointers: - dw RocketHideout2Script0 - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw RocketHideout2Script3 - -RocketHideout2Script0: - ld a, [wYCoord] - ld b, a - ld a, [wXCoord] - ld c, a - ld hl, RocketHideout2ArrowTilePlayerMovement - call DecodeArrowMovementRLE - cp $ff - jp z, CheckFightingMapTrainers - ld hl, wd736 - set 7, [hl] - call StartSimulatingJoypadStates - ld a, SFX_ARROW_TILES - call PlaySound - ld a, $ff - ld [wJoyIgnore], a - ld a, $3 - ld [wCurMapScript], a - ret - -;format: -;db y,x -;dw pointer to movement -RocketHideout2ArrowTilePlayerMovement: - db $9,$4 - dw RocketHideout2ArrowMovement1 - db $b,$4 - dw RocketHideout2ArrowMovement2 - db $f,$4 - dw RocketHideout2ArrowMovement3 - db $10,$4 - dw RocketHideout2ArrowMovement4 - db $13,$4 - dw RocketHideout2ArrowMovement1 - db $16,$4 - dw RocketHideout2ArrowMovement5 - db $e,$5 - dw RocketHideout2ArrowMovement6 - db $16,$6 - dw RocketHideout2ArrowMovement7 - db $18,$6 - dw RocketHideout2ArrowMovement8 - db $9,$8 - dw RocketHideout2ArrowMovement9 - db $c,$8 - dw RocketHideout2ArrowMovement10 - db $f,$8 - dw RocketHideout2ArrowMovement8 - db $13,$8 - dw RocketHideout2ArrowMovement9 - db $17,$8 - dw RocketHideout2ArrowMovement11 - db $e,$9 - dw RocketHideout2ArrowMovement12 - db $16,$9 - dw RocketHideout2ArrowMovement12 - db $9,$a - dw RocketHideout2ArrowMovement13 - db $a,$a - dw RocketHideout2ArrowMovement14 - db $f,$a - dw RocketHideout2ArrowMovement15 - db $11,$a - dw RocketHideout2ArrowMovement16 - db $13,$a - dw RocketHideout2ArrowMovement17 - db $19,$a - dw RocketHideout2ArrowMovement2 - db $e,$b - dw RocketHideout2ArrowMovement18 - db $10,$b - dw RocketHideout2ArrowMovement19 - db $12,$b - dw RocketHideout2ArrowMovement12 - db $9,$c - dw RocketHideout2ArrowMovement20 - db $b,$c - dw RocketHideout2ArrowMovement21 - db $d,$c - dw RocketHideout2ArrowMovement22 - db $11,$c - dw RocketHideout2ArrowMovement23 - db $a,$d - dw RocketHideout2ArrowMovement24 - db $c,$d - dw RocketHideout2ArrowMovement25 - db $10,$d - dw RocketHideout2ArrowMovement26 - db $12,$d - dw RocketHideout2ArrowMovement27 - db $13,$d - dw RocketHideout2ArrowMovement28 - db $16,$d - dw RocketHideout2ArrowMovement29 - db $17,$d - dw RocketHideout2ArrowMovement30 - db $11,$e - dw RocketHideout2ArrowMovement31 - db $10,$f - dw RocketHideout2ArrowMovement12 - db $e,$10 - dw RocketHideout2ArrowMovement32 - db $10,$10 - dw RocketHideout2ArrowMovement33 - db $12,$10 - dw RocketHideout2ArrowMovement34 - db $a,$11 - dw RocketHideout2ArrowMovement35 - db $b,$11 - dw RocketHideout2ArrowMovement36 - db $FF - -;format: direction, count -;each list is read starting from the $FF and working backwards -RocketHideout2ArrowMovement1: - db D_LEFT,$02 - db $FF - -RocketHideout2ArrowMovement2: - db D_RIGHT,$04 - db $FF - -RocketHideout2ArrowMovement3: - db D_UP,$04 - db D_RIGHT,$04 - db $FF - -RocketHideout2ArrowMovement4: - db D_UP,$04 - db D_RIGHT,$04 - db D_UP,$01 - db $FF - -RocketHideout2ArrowMovement5: - db D_LEFT,$02 - db D_UP,$03 - db $FF - -RocketHideout2ArrowMovement6: - db D_DOWN,$02 - db D_RIGHT,$04 - db $FF - -RocketHideout2ArrowMovement7: - db D_UP,$02 - db $FF - -RocketHideout2ArrowMovement8: - db D_UP,$04 - db $FF - -RocketHideout2ArrowMovement9: - db D_LEFT,$06 - db $FF - -RocketHideout2ArrowMovement10: - db D_UP,$01 - db $FF - -RocketHideout2ArrowMovement11: - db D_LEFT,$06 - db D_UP,$04 - db $FF - -RocketHideout2ArrowMovement12: - db D_DOWN,$02 - db $FF - -RocketHideout2ArrowMovement13: - db D_LEFT,$08 - db $FF - -RocketHideout2ArrowMovement14: - db D_LEFT,$08 - db D_UP,$01 - db $FF - -RocketHideout2ArrowMovement15: - db D_LEFT,$08 - db D_UP,$06 - db $FF - -RocketHideout2ArrowMovement16: - db D_UP,$02 - db D_RIGHT,$04 - db $FF - -RocketHideout2ArrowMovement17: - db D_UP,$02 - db D_RIGHT,$04 - db D_UP,$02 - db $FF - -RocketHideout2ArrowMovement18: - db D_DOWN,$02 - db D_RIGHT,$04 - db D_DOWN,$02 - db $FF - -RocketHideout2ArrowMovement19: - db D_DOWN,$02 - db D_RIGHT,$04 - db $FF - -RocketHideout2ArrowMovement20: - db D_LEFT,$0A - db $FF - -RocketHideout2ArrowMovement21: - db D_LEFT,$0A - db D_UP,$02 - db $FF - -RocketHideout2ArrowMovement22: - db D_LEFT,$0A - db D_UP,$04 - db $FF - -RocketHideout2ArrowMovement23: - db D_UP,$02 - db D_RIGHT,$02 - db $FF - -RocketHideout2ArrowMovement24: - db D_RIGHT,$01 - db D_DOWN,$02 - db $FF - -RocketHideout2ArrowMovement25: - db D_RIGHT,$01 - db $FF - -RocketHideout2ArrowMovement26: - db D_DOWN,$02 - db D_RIGHT,$02 - db $FF - -RocketHideout2ArrowMovement27: - db D_DOWN,$02 - db D_LEFT,$02 - db $FF - -RocketHideout2ArrowMovement28: - db D_UP,$02 - db D_RIGHT,$04 - db D_UP,$02 - db D_LEFT,$03 - db $FF - -RocketHideout2ArrowMovement29: - db D_DOWN,$02 - db D_LEFT,$04 - db $FF - -RocketHideout2ArrowMovement30: - db D_LEFT,$06 - db D_UP,$04 - db D_LEFT,$05 - db $FF - -RocketHideout2ArrowMovement31: - db D_UP,$02 - db $FF - -RocketHideout2ArrowMovement32: - db D_UP,$01 - db $FF - -RocketHideout2ArrowMovement33: - db D_UP,$03 - db $FF - -RocketHideout2ArrowMovement34: - db D_UP,$05 - db $FF - -RocketHideout2ArrowMovement35: - db D_RIGHT,$01 - db D_DOWN,$02 - db D_LEFT,$04 - db $FF - -RocketHideout2ArrowMovement36: - db D_LEFT,$0A - db D_UP,$02 - db D_LEFT,$05 - db $FF - -RocketHideout2Script3: - ld a, [wSimulatedJoypadStatesIndex] - and a - jr nz, LoadSpinnerArrowTiles - xor a - ld [wJoyIgnore], a - ld hl, wd736 - res 7, [hl] - ld a, $0 - ld [wCurMapScript], a - ret - -LoadSpinnerArrowTiles: - ld a, [wSpriteStateData1 + 2] - srl a - srl a - ld hl, SpinnerPlayerFacingDirections - ld c, a - ld b, $0 - add hl, bc - ld a, [hl] - ld [wSpriteStateData1 + 2], a - ld a, [wCurMapTileset] - cp FACILITY - ld hl, FacilitySpinnerArrows - jr z, .asm_44ff6 - ld hl, GymSpinnerArrows -.asm_44ff6 - ld a, [wSimulatedJoypadStatesIndex] - bit 0, a - jr nz, .asm_45001 - ld de, $18 - add hl, de -.asm_45001 - ld a, $4 - ld bc, $0 -.asm_45006 - push af - push hl - push bc - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld h, [hl] - ld l, a - call CopyVideoData - pop bc - ld a, $6 - add c - ld c, a - pop hl - pop af - dec a - jr nz, .asm_45006 - ret - -spinner: MACRO -; \1: source -; \2: offset (BANK() chokes on literals) -; \3: length -; \4: dest - dw \1 + \2 - db \3, BANK(\1) - dw \4 -ENDM - -FacilitySpinnerArrows: -FACILITY_SPINNER EQU $20 * $10 -vFacilitySpinner EQU vTileset + FACILITY_SPINNER - - spinner SpinnerArrowAnimTiles, $00, 1, vFacilitySpinner - spinner SpinnerArrowAnimTiles, $10, 1, vFacilitySpinner + $10 - spinner SpinnerArrowAnimTiles, $20, 1, vFacilitySpinner + $100 - spinner SpinnerArrowAnimTiles, $30, 1, vFacilitySpinner + $110 - spinner Facility_GFX, FACILITY_SPINNER + $000, 1, vFacilitySpinner - spinner Facility_GFX, FACILITY_SPINNER + $010, 1, vFacilitySpinner + $10 - spinner Facility_GFX, FACILITY_SPINNER + $100, 1, vFacilitySpinner + $100 - spinner Facility_GFX, FACILITY_SPINNER + $110, 1, vFacilitySpinner + $110 - -GymSpinnerArrows: -GYM_SPINNER EQU $3c * $10 -vGymSpinner EQU vTileset + GYM_SPINNER - - spinner SpinnerArrowAnimTiles, $10, 1, vGymSpinner - spinner SpinnerArrowAnimTiles, $30, 1, vGymSpinner + $10 - spinner SpinnerArrowAnimTiles, $00, 1, vGymSpinner + $100 - spinner SpinnerArrowAnimTiles, $20, 1, vGymSpinner + $110 - spinner Gym_GFX, GYM_SPINNER + $000, 1, vGymSpinner - spinner Gym_GFX, GYM_SPINNER + $010, 1, vGymSpinner + $10 - spinner Gym_GFX, GYM_SPINNER + $100, 1, vGymSpinner + $100 - spinner Gym_GFX, GYM_SPINNER + $110, 1, vGymSpinner + $110 - -SpinnerPlayerFacingDirections: -; This isn't the order of the facing directions. Rather, it's a list of -; the facing directions that come next. For example, when the player is -; facing down (00), the next facing direction is left (08). - db $08 ; down -> left - db $0C ; up -> right - db $04 ; left -> up - db $00 ; right -> down - -; these tiles are the animation for the tiles that push the player in dungeons like Rocket HQ -SpinnerArrowAnimTiles: - INCBIN "gfx/spinner_arrow.2bpp" - -RocketHideout2TextPointers: - dw RocketHideout2Text1 - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - -RocketHideout2TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 - dw RocketHideout2BattleText2 ; TextBeforeBattle - dw RocketHideout2AfterBattleTxt2 ; TextAfterBattle - dw RocketHideout2EndBattleText2 ; TextEndBattle - dw RocketHideout2EndBattleText2 ; TextEndBattle - - db $ff - -RocketHideout2Text1: - TX_ASM - ld hl, RocketHideout2TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout2BattleText2: - TX_FAR _RocketHideout2BattleText2 - db "@" - -RocketHideout2EndBattleText2: - TX_FAR _RocketHideout2EndBattleText2 - db "@" - -RocketHideout2AfterBattleTxt2: - TX_FAR _RocketHideout2AfterBattleTxt2 - db "@" diff --git a/scripts/rockethideout3.asm b/scripts/rockethideout3.asm deleted file mode 100755 index 00a61568..00000000 --- a/scripts/rockethideout3.asm +++ /dev/null @@ -1,206 +0,0 @@ -RocketHideout3Script: - call EnableAutoTextBoxDrawing - ld hl, RocketHideout3TrainerHeader0 - ld de, RocketHideout3ScriptPointers - ld a, [wRocketHideout3CurScript] - call ExecuteCurMapScriptInTable - ld [wRocketHideout3CurScript], a - ret - -RocketHideout3ScriptPointers: - dw RocketHideout3Script0 - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw RocketHideout3Script3 - -RocketHideout3Script0: - ld a, [wYCoord] - ld b, a - ld a, [wXCoord] - ld c, a - ld hl, RocketHideout3ArrowTilePlayerMovement - call DecodeArrowMovementRLE - cp $ff - jp z, CheckFightingMapTrainers - ld hl, wd736 - set 7, [hl] - call StartSimulatingJoypadStates - ld a, SFX_ARROW_TILES - call PlaySound - ld a, $ff - ld [wJoyIgnore], a - ld a, $3 - ld [wCurMapScript], a - ret - -;format: -;db y,x -;dw pointer to movement -RocketHideout3ArrowTilePlayerMovement: - db $d,$a - dw RocketHideout3ArrowMovement6 - db $13,$a - dw RocketHideout3ArrowMovement1 - db $12,$b - dw RocketHideout3ArrowMovement2 - db $b,$c - dw RocketHideout3ArrowMovement3 - db $11,$c - dw RocketHideout3ArrowMovement4 - db $14,$c - dw RocketHideout3ArrowMovement5 - db $10,$d - dw RocketHideout3ArrowMovement6 - db $b,$e - dw RocketHideout3ArrowMovement7 - db $f,$e - dw RocketHideout3ArrowMovement6 - db $11,$e - dw RocketHideout3ArrowMovement8 - db $13,$e - dw RocketHideout3ArrowMovement9 - db $10,$f - dw RocketHideout3ArrowMovement7 - db $12,$f - dw RocketHideout3ArrowMovement10 - db $d,$10 - dw RocketHideout3ArrowMovement11 - db $c,$11 - dw RocketHideout3ArrowMovement10 - db $10,$12 - dw RocketHideout3ArrowMovement12 - db $FF - -;format: direction, count -;each list is read starting from the $FF and working backwards -RocketHideout3ArrowMovement1: - db D_RIGHT,$04 - db D_UP,$04 - db D_RIGHT,$04 - db $FF - -RocketHideout3ArrowMovement2: - db D_DOWN,$04 - db D_RIGHT,$04 - db $FF - -RocketHideout3ArrowMovement3: - db D_LEFT,$02 - db $FF - -RocketHideout3ArrowMovement4: - db D_RIGHT,$04 - db D_UP,$02 - db D_RIGHT,$02 - db $FF - -RocketHideout3ArrowMovement5: - db D_RIGHT,$04 - db D_UP,$02 - db D_RIGHT,$02 - db D_UP,$03 - db $FF - -RocketHideout3ArrowMovement6: - db D_RIGHT,$04 - db $FF - -RocketHideout3ArrowMovement7: - db D_RIGHT,$02 - db $FF - -RocketHideout3ArrowMovement8: - db D_RIGHT,$04 - db D_UP,$02 - db $FF - -RocketHideout3ArrowMovement9: - db D_RIGHT,$04 - db D_UP,$04 - db $FF - -RocketHideout3ArrowMovement10: - db D_DOWN,$04 - db $FF - -RocketHideout3ArrowMovement11: - db D_UP,$02 - db $FF - -RocketHideout3ArrowMovement12: - db D_UP,$01 - db $FF - -RocketHideout3Script3: - ld a, [wSimulatedJoypadStatesIndex] - and a - jp nz, LoadSpinnerArrowTiles - xor a - ld [wJoyIgnore], a - ld hl, wd736 - res 7, [hl] - ld a, $0 - ld [wCurMapScript], a - ret - -RocketHideout3TextPointers: - dw RocketHideout3Text1 - dw RocketHideout3Text2 - dw PickUpItemText - dw PickUpItemText - -RocketHideout3TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 - dw RocketHideout3BattleText2 ; TextBeforeBattle - dw RocketHideout3AfterBattleTxt2 ; TextAfterBattle - dw RocketHideout3EndBattleText2 ; TextEndBattle - dw RocketHideout3EndBattleText2 ; TextEndBattle - -RocketHideout3TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1 - dw RocketHideout3BattleTxt ; TextBeforeBattle - dw RocketHideout3AfterBattleText3 ; TextAfterBattle - dw RocketHideout3EndBattleText3 ; TextEndBattle - dw RocketHideout3EndBattleText3 ; TextEndBattle - - db $ff - -RocketHideout3Text1: - TX_ASM - ld hl, RocketHideout3TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout3BattleText2: - TX_FAR _RocketHideout3BattleText2 - db "@" - -RocketHideout3EndBattleText2: - TX_FAR _RocketHideout3EndBattleText2 - db "@" - -RocketHideout3AfterBattleTxt2: - TX_FAR _RocketHideout3AfterBattleTxt2 - db "@" - -RocketHideout3Text2: - TX_ASM - ld hl, RocketHideout3TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout3BattleTxt: - TX_FAR _RocketHideout3BattleTxt - db "@" - -RocketHideout3EndBattleText3: - TX_FAR _RocketHideout3EndBattleText3 - db "@" - -RocketHideout3AfterBattleText3: - TX_FAR _RocketHide3AfterBattleText3 - db "@" diff --git a/scripts/rockethideout4.asm b/scripts/rockethideout4.asm deleted file mode 100755 index e8361988..00000000 --- a/scripts/rockethideout4.asm +++ /dev/null @@ -1,220 +0,0 @@ -RocketHideout4Script: - call RocketHideout4Script_45473 - call EnableAutoTextBoxDrawing - ld hl, RocketHideout4TrainerHeader0 - ld de, RocketHideout4ScriptPointers - ld a, [wRocketHideout4CurScript] - call ExecuteCurMapScriptInTable - ld [wRocketHideout4CurScript], a - ret - -RocketHideout4Script_45473: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - CheckEvent EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED - jr nz, .asm_45496 - CheckBothEventsSet EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0, EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1, 1 - jr z, .asm_4548c - ld a, $2d - jr .asm_45498 -.asm_4548c - ld a, SFX_GO_INSIDE - call PlaySound - SetEvent EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED -.asm_45496 - ld a, $e -.asm_45498 - ld [wNewTileBlockID], a - lb bc, 5, 12 - predef_jump ReplaceTileBlock - -RocketHideout4Script_454a3: - xor a - ld [wJoyIgnore], a - ld [wRocketHideout4CurScript], a - ld [wCurMapScript], a - ret - -RocketHideout4ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw RocketHideout4Script3 - -RocketHideout4Script3: - ld a, [wIsInBattle] - cp $ff - jp z, RocketHideout4Script_454a3 - call UpdateSprites - ld a, $f0 - ld [wJoyIgnore], a - SetEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI - ld a, $a - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call GBFadeOutToBlack - ld a, HS_ROCKET_HIDEOUT_4_GIOVANNI - ld [wMissableObjectIndex], a - predef HideObject - ld a, HS_ROCKET_HIDEOUT_4_ITEM_4 - ld [wMissableObjectIndex], a - predef ShowObject - call UpdateSprites - call GBFadeInFromBlack - xor a - ld [wJoyIgnore], a - ld hl, wCurrentMapScriptFlags - set 5, [hl] - ld a, $0 - ld [wRocketHideout4CurScript], a - ld [wCurMapScript], a - ret - -RocketHideout4TextPointers: - dw RocketHideout4Text1 - dw RocketHideout4Text2 - dw RocketHideout4Text3 - dw RocketHideout4Text4 - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw RocketHideout4Text10 - -RocketHideout4TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 - dw RocketHideout4BattleText2 ; TextBeforeBattle - dw RocketHideout4AfterBattleText2 ; TextAfterBattle - dw RocketHideout4EndBattleText2 ; TextEndBattle - dw RocketHideout4EndBattleText2 ; TextEndBattle - -RocketHideout4TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1 - dw RocketHideout4BattleText3 ; TextBeforeBattle - dw RocketHideout4AfterBattleText3 ; TextAfterBattle - dw RocketHideout4EndBattleText3 ; TextEndBattle - dw RocketHideout4EndBattleText3 ; TextEndBattle - -RocketHideout4TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 - dw RocketHideout4BattleText4 ; TextBeforeBattle - dw RocketHideout4AfterBattleText4 ; TextAfterBattle - dw RocketHideout4EndBattleText4 ; TextEndBattle - dw RocketHideout4EndBattleText4 ; TextEndBattle - - db $ff - -RocketHideout4Text1: - TX_ASM - CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI - jp nz, .asm_545571 - ld hl, RocketHideout4Text_4557a - call PrintText - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, RocketHideout4Text_4557f - ld de, RocketHideout4Text_4557f - call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] - ld [wSpriteIndex], a - call EngageMapTrainer - call InitBattleEnemyParameters - xor a - ld [hJoyHeld], a - ld a, $3 - ld [wRocketHideout4CurScript], a - ld [wCurMapScript], a - jr .asm_209f0 -.asm_545571 - ld hl, RocketHideout4Text10 - call PrintText -.asm_209f0 - jp TextScriptEnd - -RocketHideout4Text_4557a: - TX_FAR _RocketHideout4Text_4557a - db "@" - -RocketHideout4Text_4557f: - TX_FAR _RocketHideout4Text_4557f - db "@" - -RocketHideout4Text10: - TX_FAR _RocketHideout4Text_45584 - db "@" - -RocketHideout4Text2: - TX_ASM - ld hl, RocketHideout4TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout4BattleText2: - TX_FAR _RocketHideout4BattleText2 - db "@" - -RocketHideout4EndBattleText2: - TX_FAR _RocketHideout4EndBattleText2 - db "@" - -RocketHideout4AfterBattleText2: - TX_FAR _RocketHide4AfterBattleText2 - db "@" - -RocketHideout4Text3: - TX_ASM - ld hl, RocketHideout4TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout4BattleText3: - TX_FAR _RocketHideout4BattleText3 - db "@" - -RocketHideout4EndBattleText3: - TX_FAR _RocketHideout4EndBattleText3 - db "@" - -RocketHideout4AfterBattleText3: - TX_FAR _RocketHide4AfterBattleText3 - db "@" - -RocketHideout4Text4: - TX_ASM - ld hl, RocketHideout4TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout4BattleText4: - TX_FAR _RocketHideout4BattleText4 - db "@" - -RocketHideout4EndBattleText4: - TX_FAR _RocketHideout4EndBattleText4 - db "@" - -RocketHideout4AfterBattleText4: - TX_ASM - ld hl, RocketHideout4Text_455ec - call PrintText - CheckAndSetEvent EVENT_ROCKET_DROPPED_LIFT_KEY - jr nz, .asm_455e9 - ld a, HS_ROCKET_HIDEOUT_4_ITEM_5 - ld [wMissableObjectIndex], a - predef ShowObject -.asm_455e9 - jp TextScriptEnd - -RocketHideout4Text_455ec: - TX_FAR _RocketHideout4Text_455ec - db "@" diff --git a/scripts/rockethideoutelevator.asm b/scripts/rockethideoutelevator.asm deleted file mode 100755 index aed0f0cf..00000000 --- a/scripts/rockethideoutelevator.asm +++ /dev/null @@ -1,85 +0,0 @@ -RocketHideoutElevatorScript: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - push hl - call nz, RocketHideoutElevatorScript_4572c - pop hl - bit 7, [hl] - res 7, [hl] - call nz, RocketHideoutElevatorScript_4575f - xor a - ld [wAutoTextBoxDrawingControl], a - inc a - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ret - -RocketHideoutElevatorScript_4572c: - ld hl, wWarpEntries - ld a, [wWarpedFromWhichWarp] - ld b, a - ld a, [wWarpedFromWhichMap] - ld c, a - call RocketHideoutElevatorScript_4573a - -RocketHideoutElevatorScript_4573a: - inc hl - inc hl - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ret - -RocketHideoutElevatorScript_45741: - ld hl, RocketHideoutElavatorFloors - call LoadItemList - ld hl, RocketHideoutElevatorWarpMaps - ld de, wElevatorWarpMaps - ld bc, RocketHideoutElevatorWarpMapsEnd - RocketHideoutElevatorWarpMaps - call CopyData - ret - -RocketHideoutElavatorFloors: - db $03 ; num elements in list - db FLOOR_B1F - db FLOOR_B2F - db FLOOR_B4F - db $FF ; terminator - -RocketHideoutElevatorWarpMaps: -; first byte is warp number -; second byte is map number -; These specify where the player goes after getting out of the elevator. - db $04, ROCKET_HIDEOUT_1 - db $04, ROCKET_HIDEOUT_2 - db $02, ROCKET_HIDEOUT_4 -RocketHideoutElevatorWarpMapsEnd: - -RocketHideoutElevatorScript_4575f: - call Delay3 - callba ShakeElevator - ret - -RocketHideoutElevatorTextPointers: - dw RocketHideoutElevatorText1 - -RocketHideoutElevatorText1: - TX_ASM - ld b, LIFT_KEY - call IsItemInBag - jr z, .asm_45782 - call RocketHideoutElevatorScript_45741 - ld hl, RocketHideoutElevatorWarpMaps - predef DisplayElevatorFloorMenu - jr .asm_45788 -.asm_45782 - ld hl, RocketHideoutElevatorText_4578b - call PrintText -.asm_45788 - jp TextScriptEnd - -RocketHideoutElevatorText_4578b: - TX_FAR _RocketElevatorText_4578b - TX_WAIT - db "@" diff --git a/scripts/rocktunnel1.asm b/scripts/rocktunnel1.asm deleted file mode 100755 index 390330e8..00000000 --- a/scripts/rocktunnel1.asm +++ /dev/null @@ -1,213 +0,0 @@ -RockTunnel1Script: - call EnableAutoTextBoxDrawing - ld hl, RockTunnel1TrainerHeader0 - ld de, RockTunnel1ScriptPointers - ld a, [wRockTunnel1CurScript] - call ExecuteCurMapScriptInTable - ld [wRockTunnel1CurScript], a - ret - -RockTunnel1ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -RockTunnel1TextPointers: - dw RockTunnel1Text1 - dw RockTunnel1Text2 - dw RockTunnel1Text3 - dw RockTunnel1Text4 - dw RockTunnel1Text5 - dw RockTunnel1Text6 - dw RockTunnel1Text7 - dw RockTunnel1Text8 - -RockTunnel1TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0 - dw RockTunnel1BattleText1 ; TextBeforeBattle - dw RockTunnel1AfterBattleText1 ; TextAfterBattle - dw RockTunnel1EndBattleText1 ; TextEndBattle - dw RockTunnel1EndBattleText1 ; TextEndBattle - -RockTunnel1TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 - dw RockTunnel1BattleText2 ; TextBeforeBattle - dw RockTunnel1AfterBattleText2 ; TextAfterBattle - dw RockTunnel1EndBattleText2 ; TextEndBattle - dw RockTunnel1EndBattleText2 ; TextEndBattle - -RockTunnel1TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 - dw RockTunnel1BattleText3 ; TextBeforeBattle - dw RockTunnel1AfterBattleText3 ; TextAfterBattle - dw RockTunnel1EndBattleText3 ; TextEndBattle - dw RockTunnel1EndBattleText3 ; TextEndBattle - -RockTunnel1TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 - dw RockTunnel1BattleText4 ; TextBeforeBattle - dw RockTunnel1AfterBattleText4 ; TextAfterBattle - dw RockTunnel1EndBattleText4 ; TextEndBattle - dw RockTunnel1EndBattleText4 ; TextEndBattle - -RockTunnel1TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 - dw RockTunnel1BattleText5 ; TextBeforeBattle - dw RockTunnel1AfterBattleText5 ; TextAfterBattle - dw RockTunnel1EndBattleText5 ; TextEndBattle - dw RockTunnel1EndBattleText5 ; TextEndBattle - -RockTunnel1TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 - dw RockTunnel1BattleText6 ; TextBeforeBattle - dw RockTunnel1AfterBattleText6 ; TextAfterBattle - dw RockTunnel1EndBattleText6 ; TextEndBattle - dw RockTunnel1EndBattleText6 ; TextEndBattle - -RockTunnel1TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 - dw RockTunnel1BattleText7 ; TextBeforeBattle - dw RockTunnel1AfterBattleText7 ; TextAfterBattle - dw RockTunnel1EndBattleText7 ; TextEndBattle - dw RockTunnel1EndBattleText7 ; TextEndBattle - - db $ff - -RockTunnel1Text1: - TX_ASM - ld hl, RockTunnel1TrainerHeader0 - jr RockTunnel1TalkToTrainer - -RockTunnel1Text2: - TX_ASM - ld hl, RockTunnel1TrainerHeader1 - jr RockTunnel1TalkToTrainer - -RockTunnel1Text3: - TX_ASM - ld hl, RockTunnel1TrainerHeader2 - jr RockTunnel1TalkToTrainer - -RockTunnel1Text4: - TX_ASM - ld hl, RockTunnel1TrainerHeader3 - jr RockTunnel1TalkToTrainer - -RockTunnel1Text5: - TX_ASM - ld hl, RockTunnel1TrainerHeader4 - jr RockTunnel1TalkToTrainer - -RockTunnel1Text6: - TX_ASM - ld hl, RockTunnel1TrainerHeader5 - jr RockTunnel1TalkToTrainer - -RockTunnel1Text7: - TX_ASM - ld hl, RockTunnel1TrainerHeader6 -RockTunnel1TalkToTrainer: - call TalkToTrainer - jp TextScriptEnd - -RockTunnel1BattleText1: - TX_FAR _RockTunnel1BattleText1 - db "@" - -RockTunnel1EndBattleText1: - TX_FAR _RockTunnel1EndBattleText1 - db "@" - -RockTunnel1AfterBattleText1: - TX_FAR _RockTunnel1AfterBattleText1 - db "@" - -RockTunnel1BattleText2: - TX_FAR _RockTunnel1BattleText2 - db "@" - -RockTunnel1EndBattleText2: - TX_FAR _RockTunnel1EndBattleText2 - db "@" - -RockTunnel1AfterBattleText2: - TX_FAR _RockTunnel1AfterBattleText2 - db "@" - -RockTunnel1BattleText3: - TX_FAR _RockTunnel1BattleText3 - db "@" - -RockTunnel1EndBattleText3: - TX_FAR _RockTunnel1EndBattleText3 - db "@" - -RockTunnel1AfterBattleText3: - TX_FAR _RockTunnel1AfterBattleText3 - db "@" - -RockTunnel1BattleText4: - TX_FAR _RockTunnel1BattleText4 - db "@" - -RockTunnel1EndBattleText4: - TX_FAR _RockTunnel1EndBattleText4 - db "@" - -RockTunnel1AfterBattleText4: - TX_FAR _RockTunnel1AfterBattleText4 - db "@" - -RockTunnel1BattleText5: - TX_FAR _RockTunnel1BattleText5 - db "@" - -RockTunnel1EndBattleText5: - TX_FAR _RockTunnel1EndBattleText5 - db "@" - -RockTunnel1AfterBattleText5: - TX_FAR _RockTunnel1AfterBattleText5 - db "@" - -RockTunnel1BattleText6: - TX_FAR _RockTunnel1BattleText6 - db "@" - -RockTunnel1EndBattleText6: - TX_FAR _RockTunnel1EndBattleText6 - db "@" - -RockTunnel1AfterBattleText6: - TX_FAR _RockTunnel1AfterBattleText6 - db "@" - -RockTunnel1BattleText7: - TX_FAR _RockTunnel1BattleText7 - db "@" - -RockTunnel1EndBattleText7: - TX_FAR _RockTunnel1EndBattleText7 - db "@" - -RockTunnel1AfterBattleText7: - TX_FAR _RockTunnel1AfterBattleText7 - db "@" - -RockTunnel1Text8: - TX_FAR _RockTunnel1Text8 - db "@" diff --git a/scripts/rocktunnel2.asm b/scripts/rocktunnel2.asm deleted file mode 100755 index 4385b5f7..00000000 --- a/scripts/rocktunnel2.asm +++ /dev/null @@ -1,241 +0,0 @@ -RockTunnel2Script: - call EnableAutoTextBoxDrawing - ld hl, RockTunnel2TrainerHeader0 - ld de, RockTunnel2ScriptPointers - ld a, [wRockTunnel2CurScript] - call ExecuteCurMapScriptInTable - ld [wRockTunnel2CurScript], a - ret - -RockTunnel2ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -RockTunnel2TextPointers: - dw RockTunnel2Text1 - dw RockTunnel2Text2 - dw RockTunnel2Text3 - dw RockTunnel2Text4 - dw RockTunnel2Text5 - dw RockTunnel2Text6 - dw RockTunnel2Text7 - dw RockTunnel2Text8 - -RockTunnel2TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 - dw RockTunnel2BattleText2 ; TextBeforeBattle - dw RockTunnel2AfterBattleText2 ; TextAfterBattle - dw RockTunnel2EndBattleText2 ; TextEndBattle - dw RockTunnel2EndBattleText2 ; TextEndBattle - -RockTunnel2TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1 - dw RockTunnel2BattleText3 ; TextBeforeBattle - dw RockTunnel2AfterBattleText3 ; TextAfterBattle - dw RockTunnel2EndBattleText3 ; TextEndBattle - dw RockTunnel2EndBattleText3 ; TextEndBattle - -RockTunnel2TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 - dw RockTunnel2BattleText4 ; TextBeforeBattle - dw RockTunnel2AfterBattleText4 ; TextAfterBattle - dw RockTunnel2EndBattleText4 ; TextEndBattle - dw RockTunnel2EndBattleText4 ; TextEndBattle - -RockTunnel2TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 - dw RockTunnel2BattleText5 ; TextBeforeBattle - dw RockTunnel2AfterBattleText5 ; TextAfterBattle - dw RockTunnel2EndBattleText5 ; TextEndBattle - dw RockTunnel2EndBattleText5 ; TextEndBattle - -RockTunnel2TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 - dw RockTunnel2BattleText6 ; TextBeforeBattle - dw RockTunnel2AfterBattleText6 ; TextAfterBattle - dw RockTunnel2EndBattleText6 ; TextEndBattle - dw RockTunnel2EndBattleText6 ; TextEndBattle - -RockTunnel2TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 - dw RockTunnel2BattleText7 ; TextBeforeBattle - dw RockTunnel2AfterBattleText7 ; TextAfterBattle - dw RockTunnel2EndBattleText7 ; TextEndBattle - dw RockTunnel2EndBattleText7 ; TextEndBattle - -RockTunnel2TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 - dw RockTunnel2BattleText8 ; TextBeforeBattle - dw RockTunnel2AfterBattleText8 ; TextAfterBattle - dw RockTunnel2EndBattleText8 ; TextEndBattle - dw RockTunnel2EndBattleText8 ; TextEndBattle - -RockTunnel2TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7, 1 - dw RockTunnel2BattleText9 ; TextBeforeBattle - dw RockTunnel2AfterBattleText9 ; TextAfterBattle - dw RockTunnel2EndBattleText9 ; TextEndBattle - dw RockTunnel2EndBattleText9 ; TextEndBattle - - db $ff - -RockTunnel2Text1: - TX_ASM - ld hl, RockTunnel2TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2Text2: - TX_ASM - ld hl, RockTunnel2TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2Text3: - TX_ASM - ld hl, RockTunnel2TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2Text4: - TX_ASM - ld hl, RockTunnel2TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2Text5: - TX_ASM - ld hl, RockTunnel2TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2Text6: - TX_ASM - ld hl, RockTunnel2TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2Text7: - TX_ASM - ld hl, RockTunnel2TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2Text8: - TX_ASM - ld hl, RockTunnel2TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2BattleText2: - TX_FAR _RockTunnel2BattleText2 - db "@" - -RockTunnel2EndBattleText2: - TX_FAR _RockTunnel2EndBattleText2 - db "@" - -RockTunnel2AfterBattleText2: - TX_FAR _RockTunnel2AfterBattleText2 - db "@" - -RockTunnel2BattleText3: - TX_FAR _RockTunnel2BattleText3 - db "@" - -RockTunnel2EndBattleText3: - TX_FAR _RockTunnel2EndBattleText3 - db "@" - -RockTunnel2AfterBattleText3: - TX_FAR _RockTunnel2AfterBattleText3 - db "@" - -RockTunnel2BattleText4: - TX_FAR _RockTunnel2BattleText4 - db "@" - -RockTunnel2EndBattleText4: - TX_FAR _RockTunnel2EndBattleText4 - db "@" - -RockTunnel2AfterBattleText4: - TX_FAR _RockTunnel2AfterBattleText4 - db "@" - -RockTunnel2BattleText5: - TX_FAR _RockTunnel2BattleText5 - db "@" - -RockTunnel2EndBattleText5: - TX_FAR _RockTunnel2EndBattleText5 - db "@" - -RockTunnel2AfterBattleText5: - TX_FAR _RockTunnel2AfterBattleText5 - db "@" - -RockTunnel2BattleText6: - TX_FAR _RockTunnel2BattleText6 - db "@" - -RockTunnel2EndBattleText6: - TX_FAR _RockTunnel2EndBattleText6 - db "@" - -RockTunnel2AfterBattleText6: - TX_FAR _RockTunnel2AfterBattleText6 - db "@" - -RockTunnel2BattleText7: - TX_FAR _RockTunnel2BattleText7 - db "@" - -RockTunnel2EndBattleText7: - TX_FAR _RockTunnel2EndBattleText7 - db "@" - -RockTunnel2AfterBattleText7: - TX_FAR _RockTunnel2AfterBattleText7 - db "@" - -RockTunnel2BattleText8: - TX_FAR _RockTunnel2BattleText8 - db "@" - -RockTunnel2EndBattleText8: - TX_FAR _RockTunnel2EndBattleText8 - db "@" - -RockTunnel2AfterBattleText8: - TX_FAR _RockTunnel2AfterBattleText8 - db "@" - -RockTunnel2BattleText9: - TX_FAR _RockTunnel2BattleText9 - db "@" - -RockTunnel2EndBattleText9: - TX_FAR _RockTunnel2EndBattleText9 - db "@" - -RockTunnel2AfterBattleText9: - TX_FAR _RockTunnel2AfterBattleText9 - db "@" diff --git a/scripts/rocktunnelpokecenter.asm b/scripts/rocktunnelpokecenter.asm deleted file mode 100755 index 7bcdc1ae..00000000 --- a/scripts/rocktunnelpokecenter.asm +++ /dev/null @@ -1,23 +0,0 @@ -RockTunnelPokecenterScript: - call Serial_TryEstablishingExternallyClockedConnection - jp EnableAutoTextBoxDrawing - -RockTunnelPokecenterTextPointers: - dw RockTunnelHealNurseText - dw RockTunnelPokecenterText2 - dw RockTunnelPokecenterText3 - dw RockTunnelTradeNurseText - -RockTunnelHealNurseText: - db $ff - -RockTunnelPokecenterText2: - TX_FAR _RockTunnelPokecenterText2 - db "@" - -RockTunnelPokecenterText3: - TX_FAR _RockTunnelPokecenterText3 - db "@" - -RockTunnelTradeNurseText: - db $f6 diff --git a/scripts/route1.asm b/scripts/route1.asm deleted file mode 100755 index 7f988fab..00000000 --- a/scripts/route1.asm +++ /dev/null @@ -1,52 +0,0 @@ -Route1Script: - jp EnableAutoTextBoxDrawing - -Route1TextPointers: - dw Route1Text1 - dw Route1Text2 - dw Route1Text3 - -Route1Text1: - TX_ASM - CheckAndSetEvent EVENT_GOT_POTION_SAMPLE - jr nz, .asm_1cada - ld hl, Route1ViridianMartSampleText - call PrintText - lb bc, POTION, 1 - call GiveItem - jr nc, .BagFull - ld hl, Route1Text_1cae8 - jr .asm_1cadd -.BagFull - ld hl, Route1Text_1caf3 - jr .asm_1cadd -.asm_1cada - ld hl, Route1Text_1caee -.asm_1cadd - call PrintText - jp TextScriptEnd - -Route1ViridianMartSampleText: - TX_FAR _Route1ViridianMartSampleText - db "@" - -Route1Text_1cae8: - TX_FAR _Route1Text_1cae8 - TX_SFX_ITEM_1 - db "@" - -Route1Text_1caee: - TX_FAR _Route1Text_1caee - db "@" - -Route1Text_1caf3: - TX_FAR _Route1Text_1caf3 - db "@" - -Route1Text2: - TX_FAR _Route1Text2 - db "@" - -Route1Text3: - TX_FAR _Route1Text3 - db "@" diff --git a/scripts/route10.asm b/scripts/route10.asm deleted file mode 100755 index 03a1e818..00000000 --- a/scripts/route10.asm +++ /dev/null @@ -1,198 +0,0 @@ -Route10Script: - call EnableAutoTextBoxDrawing - ld hl, Route10TrainerHeader0 - ld de, Route10ScriptPointers - ld a, [wRoute10CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute10CurScript], a - ret - -Route10ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Route10TextPointers: - dw Route10Text1 - dw Route10Text2 - dw Route10Text3 - dw Route10Text4 - dw Route10Text5 - dw Route10Text6 - dw Route10Text7 - dw PokeCenterSignText - dw Route10Text9 - dw Route10Text10 - -Route10TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_0 - dw Route10BattleText1 ; TextBeforeBattle - dw Route10AfterBattleText1 ; TextAfterBattle - dw Route10EndBattleText1 ; TextEndBattle - dw Route10EndBattleText1 ; TextEndBattle - -Route10TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_1 - dw Route10BattleText2 ; TextBeforeBattle - dw Route10AfterBattleText2 ; TextAfterBattle - dw Route10EndBattleText2 ; TextEndBattle - dw Route10EndBattleText2 ; TextEndBattle - -Route10TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_2 - dw Route10BattleText3 ; TextBeforeBattle - dw Route10AfterBattleText3 ; TextAfterBattle - dw Route10EndBattleText3 ; TextEndBattle - dw Route10EndBattleText3 ; TextEndBattle - -Route10TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_3 - dw Route10BattleText4 ; TextBeforeBattle - dw Route10AfterBattleText4 ; TextAfterBattle - dw Route10EndBattleText4 ; TextEndBattle - dw Route10EndBattleText4 ; TextEndBattle - -Route10TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_4 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_4 - dw Route10BattleText5 ; TextBeforeBattle - dw Route10AfterBattleText5 ; TextAfterBattle - dw Route10EndBattleText5 ; TextEndBattle - dw Route10EndBattleText5 ; TextEndBattle - -Route10TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_5 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_5 - dw Route10BattleText6 ; TextBeforeBattle - dw Route10AfterBattleText6 ; TextAfterBattle - dw Route10EndBattleText6 ; TextEndBattle - dw Route10EndBattleText6 ; TextEndBattle - - db $ff - -Route10Text1: - TX_ASM - ld hl, Route10TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route10BattleText1: - TX_FAR _Route10BattleText1 - db "@" - -Route10EndBattleText1: - TX_FAR _Route10EndBattleText1 - db "@" - -Route10AfterBattleText1: - TX_FAR _Route10AfterBattleText1 - db "@" - -Route10Text2: - TX_ASM - ld hl, Route10TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route10BattleText2: - TX_FAR _Route10BattleText2 - db "@" - -Route10EndBattleText2: - TX_FAR _Route10EndBattleText2 - db "@" - -Route10AfterBattleText2: - TX_FAR _Route10AfterBattleText2 - db "@" - -Route10Text3: - TX_ASM - ld hl, Route10TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route10BattleText3: - TX_FAR _Route10BattleText3 - db "@" - -Route10EndBattleText3: - TX_FAR _Route10EndBattleText3 - db "@" - -Route10AfterBattleText3: - TX_FAR _Route10AfterBattleText3 - db "@" - -Route10Text4: - TX_ASM - ld hl, Route10TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route10BattleText4: - TX_FAR _Route10BattleText4 - db "@" - -Route10EndBattleText4: - TX_FAR _Route10EndBattleText4 - db "@" - -Route10AfterBattleText4: - TX_FAR _Route10AfterBattleText4 - db "@" - -Route10Text5: - TX_ASM - ld hl, Route10TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route10BattleText5: - TX_FAR _Route10BattleText5 - db "@" - -Route10EndBattleText5: - TX_FAR _Route10EndBattleText5 - db "@" - -Route10AfterBattleText5: - TX_FAR _Route10AfterBattleText5 - db "@" - -Route10Text6: - TX_ASM - ld hl, Route10TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route10BattleText6: - TX_FAR _Route10BattleText6 - db "@" - -Route10EndBattleText6: - TX_FAR _Route10EndBattleText6 - db "@" - -Route10AfterBattleText6: - TX_FAR _Route10AfterBattleText6 - db "@" - -Route10Text9: -Route10Text7: - TX_FAR _Route10Text7 ; _Route10Text9 - db "@" - -Route10Text10: - TX_FAR _Route10Text10 - db "@" diff --git a/scripts/route11.asm b/scripts/route11.asm deleted file mode 100755 index afedfc32..00000000 --- a/scripts/route11.asm +++ /dev/null @@ -1,302 +0,0 @@ -Route11Script: - call EnableAutoTextBoxDrawing - ld hl, Route11TrainerHeader0 - ld de, Route11ScriptPointers - ld a, [wRoute11CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute11CurScript], a - ret - -Route11ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Route11TextPointers: - dw Route11Text1 - dw Route11Text2 - dw Route11Text3 - dw Route11Text4 - dw Route11Text5 - dw Route11Text6 - dw Route11Text7 - dw Route11Text8 - dw Route11Text9 - dw Route11Text10 - dw Route11Text11 - -Route11TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_0 - dw Route11BattleText1 ; TextBeforeBattle - dw Route11AfterBattleText1 ; TextAfterBattle - dw Route11EndBattleText1 ; TextEndBattle - dw Route11EndBattleText1 ; TextEndBattle - -Route11TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_1 - dw Route11BattleText2 ; TextBeforeBattle - dw Route11AfterBattleText2 ; TextAfterBattle - dw Route11EndBattleText2 ; TextEndBattle - dw Route11EndBattleText2 ; TextEndBattle - -Route11TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_2 - dw Route11BattleText3 ; TextBeforeBattle - dw Route11AfterBattleText3 ; TextAfterBattle - dw Route11EndBattleText3 ; TextEndBattle - dw Route11EndBattleText3 ; TextEndBattle - -Route11TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_3 - dw Route11BattleText4 ; TextBeforeBattle - dw Route11AfterBattleText4 ; TextAfterBattle - dw Route11EndBattleText4 ; TextEndBattle - dw Route11EndBattleText4 ; TextEndBattle - -Route11TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_4 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_4 - dw Route11BattleText5 ; TextBeforeBattle - dw Route11AfterBattleText5 ; TextAfterBattle - dw Route11EndBattleText5 ; TextEndBattle - dw Route11EndBattleText5 ; TextEndBattle - -Route11TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_5 - dw Route11BattleText6 ; TextBeforeBattle - dw Route11AfterBattleText6 ; TextAfterBattle - dw Route11EndBattleText6 ; TextEndBattle - dw Route11EndBattleText6 ; TextEndBattle - -Route11TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_6 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_6 - dw Route11BattleText7 ; TextBeforeBattle - dw Route11AfterBattleText7 ; TextAfterBattle - dw Route11EndBattleText7 ; TextEndBattle - dw Route11EndBattleText7 ; TextEndBattle - -Route11TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_7, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_7, 1 - dw Route11BattleText8 ; TextBeforeBattle - dw Route11AfterBattleText8 ; TextAfterBattle - dw Route11EndBattleText8 ; TextEndBattle - dw Route11EndBattleText8 ; TextEndBattle - -Route11TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_8, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_8, 1 - dw Route11BattleText9 ; TextBeforeBattle - dw Route11AfterBattleText9 ; TextAfterBattle - dw Route11EndBattleText9 ; TextEndBattle - dw Route11EndBattleText9 ; TextEndBattle - -Route11TrainerHeader9: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_9, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_9, 1 - dw Route11BattleText10 ; TextBeforeBattle - dw Route11AfterBattleText10 ; TextAfterBattle - dw Route11EndBattleText10 ; TextEndBattle - dw Route11EndBattleText10 ; TextEndBattle - - db $ff - -Route11Text1: - TX_ASM - ld hl, Route11TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText1: - TX_FAR _Route11BattleText1 - db "@" - -Route11EndBattleText1: - TX_FAR _Route11EndBattleText1 - db "@" - -Route11AfterBattleText1: - TX_FAR _Route11AfterBattleText1 - db "@" - -Route11Text2: - TX_ASM - ld hl, Route11TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText2: - TX_FAR _Route11BattleText2 - db "@" - -Route11EndBattleText2: - TX_FAR _Route11EndBattleText2 - db "@" - -Route11AfterBattleText2: - TX_FAR _Route11AfterBattleText2 - db "@" - -Route11Text3: - TX_ASM - ld hl, Route11TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText3: - TX_FAR _Route11BattleText3 - db "@" - -Route11EndBattleText3: - TX_FAR _Route11EndBattleText3 - db "@" - -Route11AfterBattleText3: - TX_FAR _Route11AfterBattleText3 - db "@" - -Route11Text4: - TX_ASM - ld hl, Route11TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText4: - TX_FAR _Route11BattleText4 - db "@" - -Route11EndBattleText4: - TX_FAR _Route11EndBattleText4 - db "@" - -Route11AfterBattleText4: - TX_FAR _Route11AfterBattleText4 - db "@" - -Route11Text5: - TX_ASM - ld hl, Route11TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText5: - TX_FAR _Route11BattleText5 - db "@" - -Route11EndBattleText5: - TX_FAR _Route11EndBattleText5 - db "@" - -Route11AfterBattleText5: - TX_FAR _Route11AfterBattleText5 - db "@" - -Route11Text6: - TX_ASM - ld hl, Route11TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText6: - TX_FAR _Route11BattleText6 - db "@" - -Route11EndBattleText6: - TX_FAR _Route11EndBattleText6 - db "@" - -Route11AfterBattleText6: - TX_FAR _Route11AfterBattleText6 - db "@" - -Route11Text7: - TX_ASM - ld hl, Route11TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText7: - TX_FAR _Route11BattleText7 - db "@" - -Route11EndBattleText7: - TX_FAR _Route11EndBattleText7 - db "@" - -Route11AfterBattleText7: - TX_FAR _Route11AfterBattleText7 - db "@" - -Route11Text8: - TX_ASM - ld hl, Route11TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText8: - TX_FAR _Route11BattleText8 - db "@" - -Route11EndBattleText8: - TX_FAR _Route11EndBattleText8 - db "@" - -Route11AfterBattleText8: - TX_FAR _Route11AfterBattleText8 - db "@" - -Route11Text9: - TX_ASM - ld hl, Route11TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText9: - TX_FAR _Route11BattleText9 - db "@" - -Route11EndBattleText9: - TX_FAR _Route11EndBattleText9 - db "@" - -Route11AfterBattleText9: - TX_FAR _Route11AfterBattleText9 - db "@" - -Route11Text10: - TX_ASM - ld hl, Route11TrainerHeader9 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText10: - TX_FAR _Route11BattleText10 - db "@" - -Route11EndBattleText10: - TX_FAR _Route11EndBattleText10 - db "@" - -Route11AfterBattleText10: - TX_FAR _Route11AfterBattleText10 - db "@" - -Route11Text11: - TX_FAR _Route11Text11 - db "@" diff --git a/scripts/route11gate.asm b/scripts/route11gate.asm deleted file mode 100755 index 9ecfe0ca..00000000 --- a/scripts/route11gate.asm +++ /dev/null @@ -1,9 +0,0 @@ -Route11GateScript: - jp EnableAutoTextBoxDrawing - -Route11GateTextPointers: - dw Route11GateText1 - -Route11GateText1: - TX_FAR _Route11GateText1 - db "@" diff --git a/scripts/route11gateupstairs.asm b/scripts/route11gateupstairs.asm deleted file mode 100755 index 6c8d6e99..00000000 --- a/scripts/route11gateupstairs.asm +++ /dev/null @@ -1,76 +0,0 @@ -Route11GateUpstairsScript: - jp DisableAutoTextBoxDrawing - -Route11GateUpstairsTextPointers: - dw Route11GateUpstairsText1 - dw Route11GateUpstairsText2 - dw Route11GateUpstairsText3 - dw Route11GateUpstairsText4 - -Route11GateUpstairsText1: - TX_ASM - xor a - ld [wWhichTrade], a - predef DoInGameTradeDialogue -Route11GateUpstairsScriptEnd: - jp TextScriptEnd - -Route11GateUpstairsText2: - TX_ASM - CheckEvent EVENT_GOT_ITEMFINDER, 1 - jr c, .asm_4949b - ld a, 30 ; pokemon needed - ld [hOaksAideRequirement], a - ld a, ITEMFINDER ; oak's aide reward - ld [hOaksAideRewardItem], a - ld [wd11e], a - call GetItemName - ld h, d - ld l, e - ld de, wOaksAideRewardItemName - ld bc, ITEM_NAME_LENGTH - call CopyData - predef OaksAideScript - ld a, [hOaksAideResult] - dec a - jr nz, .asm_494a1 - SetEvent EVENT_GOT_ITEMFINDER -.asm_4949b - ld hl, Route11GateUpstairsText_494a3 - call PrintText -.asm_494a1 - jr Route11GateUpstairsScriptEnd - -Route11GateUpstairsText_494a3: - TX_FAR _Route11GateUpstairsText_494a3 - db "@" - -Route11GateUpstairsText3: - TX_ASM - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - jp nz, GateUpstairsScript_PrintIfFacingUp - CheckEvent EVENT_BEAT_ROUTE12_SNORLAX - ld hl, BinocularsSnorlaxText - jr z, .print - ld hl, BinocularsNoSnorlaxText -.print - call PrintText - jp TextScriptEnd - -BinocularsSnorlaxText: - TX_FAR _BinocularsSnorlaxText - db "@" - -BinocularsNoSnorlaxText: - TX_FAR _BinocularsNoSnorlaxText - db "@" - -Route11GateUpstairsText4: - TX_ASM - ld hl, Route11GateUpstairsText_494d5 - jp GateUpstairsScript_PrintIfFacingUp - -Route11GateUpstairsText_494d5: - TX_FAR _Route11GateUpstairsText_494d5 - db "@" diff --git a/scripts/route12.asm b/scripts/route12.asm deleted file mode 100755 index 07b5833b..00000000 --- a/scripts/route12.asm +++ /dev/null @@ -1,288 +0,0 @@ -Route12Script: - call EnableAutoTextBoxDrawing - ld hl, Route12TrainerHeader0 - ld de, Route12ScriptPointers - ld a, [wRoute12CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute12CurScript], a - ret - -Route12Script_59606: - xor a - ld [wJoyIgnore], a - ld [wRoute12CurScript], a - ld [wCurMapScript], a - ret - -Route12ScriptPointers: - dw Route12Script0 - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw Route12Script3 - -Route12Script0: - CheckEventHL EVENT_BEAT_ROUTE12_SNORLAX - jp nz, CheckFightingMapTrainers - CheckEventReuseHL EVENT_FIGHT_ROUTE12_SNORLAX - ResetEventReuseHL EVENT_FIGHT_ROUTE12_SNORLAX - jp z, CheckFightingMapTrainers - ld a, $d - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, SNORLAX - ld [wCurOpponent], a - ld a, 30 - ld [wCurEnemyLVL], a - ld a, HS_ROUTE_12_SNORLAX - ld [wMissableObjectIndex], a - predef HideObject - ld a, $3 - ld [wRoute12CurScript], a - ld [wCurMapScript], a - ret - -Route12Script3: - ld a, [wIsInBattle] - cp $ff - jr z, Route12Script_59606 - call UpdateSprites - ld a, [wBattleResult] - cp $2 - jr z, .asm_59664 - ld a, $e - ld [hSpriteIndexOrTextID], a - call DisplayTextID -.asm_59664 - SetEvent EVENT_BEAT_ROUTE12_SNORLAX - call Delay3 - ld a, $0 - ld [wRoute12CurScript], a - ld [wCurMapScript], a - ret - -Route12TextPointers: - dw Route12Text1 - dw Route12Text2 - dw Route12Text3 - dw Route12Text4 - dw Route12Text5 - dw Route12Text6 - dw Route12Text7 - dw Route12Text8 - dw PickUpItemText - dw PickUpItemText - dw Route12Text11 - dw Route12Text12 - dw Route12Text13 - dw Route12Text14 - -Route12TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_0 - dw Route12BattleText1 ; TextBeforeBattle - dw Route12AfterBattleText1 ; TextAfterBattle - dw Route12EndBattleText1 ; TextEndBattle - dw Route12EndBattleText1 ; TextEndBattle - -Route12TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_1 - dw Route12BattleText2 ; TextBeforeBattle - dw Route12AfterBattleText2 ; TextAfterBattle - dw Route12EndBattleText2 ; TextEndBattle - dw Route12EndBattleText2 ; TextEndBattle - -Route12TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_2 - dw Route12BattleText3 ; TextBeforeBattle - dw Route12AfterBattleText3 ; TextAfterBattle - dw Route12EndBattleText3 ; TextEndBattle - dw Route12EndBattleText3 ; TextEndBattle - -Route12TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_3 - dw Route12BattleText4 ; TextBeforeBattle - dw Route12AfterBattleText4 ; TextAfterBattle - dw Route12EndBattleText4 ; TextEndBattle - dw Route12EndBattleText4 ; TextEndBattle - -Route12TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_4 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_4 - dw Route12BattleText5 ; TextBeforeBattle - dw Route12AfterBattleText5 ; TextAfterBattle - dw Route12EndBattleText5 ; TextEndBattle - dw Route12EndBattleText5 ; TextEndBattle - -Route12TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_5 - dw Route12BattleText6 ; TextBeforeBattle - dw Route12AfterBattleText6 ; TextAfterBattle - dw Route12EndBattleText6 ; TextEndBattle - dw Route12EndBattleText6 ; TextEndBattle - -Route12TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_6, 1 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_6, 1 - dw Route12BattleText7 ; TextBeforeBattle - dw Route12AfterBattleText7 ; TextAfterBattle - dw Route12EndBattleText7 ; TextEndBattle - dw Route12EndBattleText7 ; TextEndBattle - - db $ff - -Route12Text1: - TX_FAR _Route12Text1 - db "@" - -Route12Text13: - TX_FAR _Route12Text13 - db "@" - -Route12Text14: - TX_FAR _Route12Text14 - db "@" - -Route12Text2: - TX_ASM - ld hl, Route12TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route12BattleText1: - TX_FAR _Route12BattleText1 - db "@" - -Route12EndBattleText1: - TX_FAR _Route12EndBattleText1 - db "@" - -Route12AfterBattleText1: - TX_FAR _Route12AfterBattleText1 - db "@" - -Route12Text3: - TX_ASM - ld hl, Route12TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route12BattleText2: - TX_FAR _Route12BattleText2 - db "@" - -Route12EndBattleText2: - TX_FAR _Route12EndBattleText2 - db "@" - -Route12AfterBattleText2: - TX_FAR _Route12AfterBattleText2 - db "@" - -Route12Text4: - TX_ASM - ld hl, Route12TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route12BattleText3: - TX_FAR _Route12BattleText3 - db "@" - -Route12EndBattleText3: - TX_FAR _Route12EndBattleText3 - db "@" - -Route12AfterBattleText3: - TX_FAR _Route12AfterBattleText3 - db "@" - -Route12Text5: - TX_ASM - ld hl, Route12TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route12BattleText4: - TX_FAR _Route12BattleText4 - db "@" - -Route12EndBattleText4: - TX_FAR _Route12EndBattleText4 - db "@" - -Route12AfterBattleText4: - TX_FAR _Route12AfterBattleText4 - db "@" - -Route12Text6: - TX_ASM - ld hl, Route12TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route12BattleText5: - TX_FAR _Route12BattleText5 - db "@" - -Route12EndBattleText5: - TX_FAR _Route12EndBattleText5 - db "@" - -Route12AfterBattleText5: - TX_FAR _Route12AfterBattleText5 - db "@" - -Route12Text7: - TX_ASM - ld hl, Route12TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route12BattleText6: - TX_FAR _Route12BattleText6 - db "@" - -Route12EndBattleText6: - TX_FAR _Route12EndBattleText6 - db "@" - -Route12AfterBattleText6: - TX_FAR _Route12AfterBattleText6 - db "@" - -Route12Text8: - TX_ASM - ld hl, Route12TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route12BattleText7: - TX_FAR _Route12BattleText7 - db "@" - -Route12EndBattleText7: - TX_FAR _Route12EndBattleText7 - db "@" - -Route12AfterBattleText7: - TX_FAR _Route12AfterBattleText7 - db "@" - -Route12Text11: - TX_FAR _Route12Text11 - db "@" - -Route12Text12: - TX_FAR _Route12Text12 - db "@" diff --git a/scripts/route12gate.asm b/scripts/route12gate.asm deleted file mode 100755 index 8474100d..00000000 --- a/scripts/route12gate.asm +++ /dev/null @@ -1,9 +0,0 @@ -Route12GateScript: - jp EnableAutoTextBoxDrawing - -Route12GateTextPointers: - dw Route12GateText1 - -Route12GateText1: - TX_FAR _Route12GateText1 - db "@" diff --git a/scripts/route12gateupstairs.asm b/scripts/route12gateupstairs.asm deleted file mode 100755 index cd355265..00000000 --- a/scripts/route12gateupstairs.asm +++ /dev/null @@ -1,78 +0,0 @@ -Route12GateUpstairsScript: - jp DisableAutoTextBoxDrawing - -Route12GateUpstairsTextPointers: - dw Route12GateUpstairsText1 - dw Route12GateUpstairsText2 - dw Route12GateUpstairsText3 - -Route12GateUpstairsText1: - TX_ASM - CheckEvent EVENT_GOT_TM39, 1 - jr c, .asm_0ad3c - ld hl, TM39PreReceiveText - call PrintText - lb bc, TM_39, 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedTM39Text - call PrintText - SetEvent EVENT_GOT_TM39 - jr .asm_4ba56 -.BagFull - ld hl, TM39NoRoomText - call PrintText - jr .asm_4ba56 -.asm_0ad3c - ld hl, TM39ExplanationText - call PrintText -.asm_4ba56 - jp TextScriptEnd - -TM39PreReceiveText: - TX_FAR _TM39PreReceiveText - db "@" - -ReceivedTM39Text: - TX_FAR _ReceivedTM39Text - TX_SFX_ITEM_1 - db "@" - -TM39ExplanationText: - TX_FAR _TM39ExplanationText - db "@" - -TM39NoRoomText: - TX_FAR _TM39NoRoomText - db "@" - -Route12GateUpstairsText2: - TX_ASM - ld hl, Route12GateUpstairsText_495b8 - jp GateUpstairsScript_PrintIfFacingUp - -Route12GateUpstairsText_495b8: - TX_FAR _Route12GateUpstairsText_495b8 - db "@" - -Route12GateUpstairsText3: - TX_ASM - ld hl, Route12GateUpstairsText_495c4 - jp GateUpstairsScript_PrintIfFacingUp - -Route12GateUpstairsText_495c4: - TX_FAR _Route12GateUpstairsText_495c4 - db "@" - -GateUpstairsScript_PrintIfFacingUp: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - jr z, .up - ld a, $1 - jr .done -.up - call PrintText - xor a -.done - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - jp TextScriptEnd diff --git a/scripts/route12house.asm b/scripts/route12house.asm deleted file mode 100755 index 4b93395f..00000000 --- a/scripts/route12house.asm +++ /dev/null @@ -1,57 +0,0 @@ -Route12HouseScript: - jp EnableAutoTextBoxDrawing - -Route12HouseTextPointers: - dw Route12HouseText1 - -Route12HouseText1: - TX_ASM - ld a, [wd728] - bit 5, a - jr nz, .asm_b4cad - ld hl, Route12HouseText_564c0 - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .asm_a2d76 - lb bc, SUPER_ROD, 1 - call GiveItem - jr nc, .BagFull - ld hl, wd728 - set 5, [hl] - ld hl, Route12HouseText_564c5 - jr .asm_df984 -.BagFull - ld hl, Route12HouseText_564d9 - jr .asm_df984 -.asm_a2d76 - ld hl, Route12HouseText_564cf - jr .asm_df984 -.asm_b4cad - ld hl, Route12HouseText_564d4 -.asm_df984 - call PrintText - jp TextScriptEnd - -Route12HouseText_564c0: - TX_FAR _Route12HouseText_564c0 - db "@" - -Route12HouseText_564c5: - TX_FAR _Route12HouseText_564c5 - TX_SFX_ITEM_1 - TX_FAR _Route12HouseText_564ca - db "@" - -Route12HouseText_564cf: - TX_FAR _Route12HouseText_564cf - db "@" - -Route12HouseText_564d4: - TX_FAR _Route12HouseText_564d4 - db "@" - -Route12HouseText_564d9: - TX_FAR _Route12HouseText_564d9 - db "@" diff --git a/scripts/route13.asm b/scripts/route13.asm deleted file mode 100755 index 54fb9d68..00000000 --- a/scripts/route13.asm +++ /dev/null @@ -1,312 +0,0 @@ -Route13Script: - call EnableAutoTextBoxDrawing - ld hl, Route13TrainerHeader0 - ld de, Route13ScriptPointers - ld a, [wRoute13CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute13CurScript], a - ret - -Route13ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Route13TextPointers: - dw Route13Text1 - dw Route13Text2 - dw Route13Text3 - dw Route13Text4 - dw Route13Text5 - dw Route13Text6 - dw Route13Text7 - dw Route13Text8 - dw Route13Text9 - dw Route13Text10 - dw Route13Text11 - dw Route13Text12 - dw Route13Text13 - -Route13TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_0 - dw Route13BattleText2 ; TextBeforeBattle - dw Route13AfterBattleText2 ; TextAfterBattle - dw Route13EndBattleText2 ; TextEndBattle - dw Route13EndBattleText2 ; TextEndBattle - -Route13TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_1 - dw Route13BattleText3 ; TextBeforeBattle - dw Route13AfterBattleText3 ; TextAfterBattle - dw Route13EndBattleText3 ; TextEndBattle - dw Route13EndBattleText3 ; TextEndBattle - -Route13TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_2 - dw Route13BattleText4 ; TextBeforeBattle - dw Route13AfterBattleText4 ; TextAfterBattle - dw Route13EndBattleText4 ; TextEndBattle - dw Route13EndBattleText4 ; TextEndBattle - -Route13TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_3 - dw Route13BattleText5 ; TextBeforeBattle - dw Route13AfterBattleText5 ; TextAfterBattle - dw Route13EndBattleText5 ; TextEndBattle - dw Route13EndBattleText5 ; TextEndBattle - -Route13TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_4 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_4 - dw Route13BattleText6 ; TextBeforeBattle - dw Route13AfterBattleText6 ; TextAfterBattle - dw Route13EndBattleText6 ; TextEndBattle - dw Route13EndBattleText6 ; TextEndBattle - -Route13TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_5 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_5 - dw Route13BattleText7 ; TextBeforeBattle - dw Route13AfterBattleText7 ; TextAfterBattle - dw Route13EndBattleText7 ; TextEndBattle - dw Route13EndBattleText7 ; TextEndBattle - -Route13TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_6 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_6 - dw Route13BattleText8 ; TextBeforeBattle - dw Route13AfterBattleText8 ; TextAfterBattle - dw Route13EndBattleText8 ; TextEndBattle - dw Route13EndBattleText8 ; TextEndBattle - -Route13TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_7, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_7, 1 - dw Route13BattleText9 ; TextBeforeBattle - dw Route13AfterBattleText9 ; TextAfterBattle - dw Route13EndBattleText9 ; TextEndBattle - dw Route13EndBattleText9 ; TextEndBattle - -Route13TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_8, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_8, 1 - dw Route13BattleText10 ; TextBeforeBattle - dw Route13AfterBattleText10 ; TextAfterBattle - dw Route13EndBattleText10 ; TextEndBattle - dw Route13EndBattleText10 ; TextEndBattle - -Route13TrainerHeader9: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_9, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_9, 1 - dw Route13BattleText11 ; TextBeforeBattle - dw Route13AfterBattleText11 ; TextAfterBattle - dw Route13EndBattleText11 ; TextEndBattle - dw Route13EndBattleText11 ; TextEndBattle - - db $ff - -Route13Text1: - TX_ASM - ld hl, Route13TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText2: - TX_FAR _Route13BattleText2 - db "@" - -Route13EndBattleText2: - TX_FAR _Route13EndBattleText2 - db "@" - -Route13AfterBattleText2: - TX_FAR _Route13AfterBattleText2 - db "@" - -Route13Text2: - TX_ASM - ld hl, Route13TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText3: - TX_FAR _Route13BattleText3 - db "@" - -Route13EndBattleText3: - TX_FAR _Route13EndBattleText3 - db "@" - -Route13AfterBattleText3: - TX_FAR _Route13AfterBattleText3 - db "@" - -Route13Text3: - TX_ASM - ld hl, Route13TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText4: - TX_FAR _Route13BattleText4 - db "@" - -Route13EndBattleText4: - TX_FAR _Route13EndBattleText4 - db "@" - -Route13AfterBattleText4: - TX_FAR _Route13AfterBattleText4 - db "@" - -Route13Text4: - TX_ASM - ld hl, Route13TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText5: - TX_FAR _Route13BattleText5 - db "@" - -Route13EndBattleText5: - TX_FAR _Route13EndBattleText5 - db "@" - -Route13AfterBattleText5: - TX_FAR _Route13AfterBattleText5 - db "@" - -Route13Text5: - TX_ASM - ld hl, Route13TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText6: - TX_FAR _Route13BattleText6 - db "@" - -Route13EndBattleText6: - TX_FAR _Route13EndBattleText6 - db "@" - -Route13AfterBattleText6: - TX_FAR _Route13AfterBattleText6 - db "@" - -Route13Text6: - TX_ASM - ld hl, Route13TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText7: - TX_FAR _Route13BattleText7 - db "@" - -Route13EndBattleText7: - TX_FAR _Route13EndBattleText7 - db "@" - -Route13AfterBattleText7: - TX_FAR _Route13AfterBattleText7 - db "@" - -Route13Text7: - TX_ASM - ld hl, Route13TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText8: - TX_FAR _Route13BattleText8 - db "@" - -Route13EndBattleText8: - TX_FAR _Route13EndBattleText8 - db "@" - -Route13AfterBattleText8: - TX_FAR _Route13AfterBattleText8 - db "@" - -Route13Text8: - TX_ASM - ld hl, Route13TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText9: - TX_FAR _Route13BattleText9 - db "@" - -Route13EndBattleText9: - TX_FAR _Route13EndBattleText9 - db "@" - -Route13AfterBattleText9: - TX_FAR _Route13AfterBattleText9 - db "@" - -Route13Text9: - TX_ASM - ld hl, Route13TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText10: - TX_FAR _Route13BattleText10 - db "@" - -Route13EndBattleText10: - TX_FAR _Route13EndBattleText10 - db "@" - -Route13AfterBattleText10: - TX_FAR _Route13AfterBattleText10 - db "@" - -Route13Text10: - TX_ASM - ld hl, Route13TrainerHeader9 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText11: - TX_FAR _Route13BattleText11 - db "@" - -Route13EndBattleText11: - TX_FAR _Route13EndBattleText11 - db "@" - -Route13AfterBattleText11: - TX_FAR _Route13AfterBattleText11 - db "@" - -Route13Text11: - TX_FAR _Route13Text11 - db "@" - -Route13Text12: - TX_FAR _Route13Text12 - db "@" - -Route13Text13: - TX_FAR _Route13Text13 - db "@" diff --git a/scripts/route14.asm b/scripts/route14.asm deleted file mode 100755 index c929451f..00000000 --- a/scripts/route14.asm +++ /dev/null @@ -1,302 +0,0 @@ -Route14Script: - call EnableAutoTextBoxDrawing - ld hl, Route14TrainerHeader0 - ld de, Route14ScriptPointers - ld a, [wRoute14CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute14CurScript], a - ret - -Route14ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Route14TextPointers: - dw Route14Text1 - dw Route14Text2 - dw Route14Text3 - dw Route14Text4 - dw Route14Text5 - dw Route14Text6 - dw Route14Text7 - dw Route14Text8 - dw Route14Text9 - dw Route14Text10 - dw Route14Text11 - -Route14TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_0 - dw Route14BattleText1 ; TextBeforeBattle - dw Route14AfterBattleText1 ; TextAfterBattle - dw Route14EndBattleText1 ; TextEndBattle - dw Route14EndBattleText1 ; TextEndBattle - -Route14TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_1 - dw Route14BattleText2 ; TextBeforeBattle - dw Route14AfterBattleText2 ; TextAfterBattle - dw Route14EndBattleText2 ; TextEndBattle - dw Route14EndBattleText2 ; TextEndBattle - -Route14TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_2 - dw Route14BattleText3 ; TextBeforeBattle - dw Route14AfterBattleText3 ; TextAfterBattle - dw Route14EndBattleText3 ; TextEndBattle - dw Route14EndBattleText3 ; TextEndBattle - -Route14TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_3 - dw Route14BattleText4 ; TextBeforeBattle - dw Route14AfterBattleText4 ; TextAfterBattle - dw Route14EndBattleText4 ; TextEndBattle - dw Route14EndBattleText4 ; TextEndBattle - -Route14TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_4 - dw Route14BattleText5 ; TextBeforeBattle - dw Route14AfterBattleText5 ; TextAfterBattle - dw Route14EndBattleText5 ; TextEndBattle - dw Route14EndBattleText5 ; TextEndBattle - -Route14TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_5 - dw Route14BattleText6 ; TextBeforeBattle - dw Route14AfterBattleText6 ; TextAfterBattle - dw Route14EndBattleText6 ; TextEndBattle - dw Route14EndBattleText6 ; TextEndBattle - -Route14TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_6 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_6 - dw Route14BattleText7 ; TextBeforeBattle - dw Route14AfterBattleText7 ; TextAfterBattle - dw Route14EndBattleText7 ; TextEndBattle - dw Route14EndBattleText7 ; TextEndBattle - -Route14TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_7, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_7, 1 - dw Route14BattleText8 ; TextBeforeBattle - dw Route14AfterBattleText8 ; TextAfterBattle - dw Route14EndBattleText8 ; TextEndBattle - dw Route14EndBattleText8 ; TextEndBattle - -Route14TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_8, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_8, 1 - dw Route14BattleText9 ; TextBeforeBattle - dw Route14AfterBattleText9 ; TextAfterBattle - dw Route14EndBattleText9 ; TextEndBattle - dw Route14EndBattleText9 ; TextEndBattle - -Route14TrainerHeader9: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_9, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_9, 1 - dw Route14BattleText10 ; TextBeforeBattle - dw Route14AfterBattleText10 ; TextAfterBattle - dw Route14EndBattleText10 ; TextEndBattle - dw Route14EndBattleText10 ; TextEndBattle - - db $ff - -Route14Text1: - TX_ASM - ld hl, Route14TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText1: - TX_FAR _Route14BattleText1 - db "@" - -Route14EndBattleText1: - TX_FAR _Route14EndBattleText1 - db "@" - -Route14AfterBattleText1: - TX_FAR _Route14AfterBattleText1 - db "@" - -Route14Text2: - TX_ASM - ld hl, Route14TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText2: - TX_FAR _Route14BattleText2 - db "@" - -Route14EndBattleText2: - TX_FAR _Route14EndBattleText2 - db "@" - -Route14AfterBattleText2: - TX_FAR _Route14AfterBattleText2 - db "@" - -Route14Text3: - TX_ASM - ld hl, Route14TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText3: - TX_FAR _Route14BattleText3 - db "@" - -Route14EndBattleText3: - TX_FAR _Route14EndBattleText3 - db "@" - -Route14AfterBattleText3: - TX_FAR _Route14AfterBattleText3 - db "@" - -Route14Text4: - TX_ASM - ld hl, Route14TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText4: - TX_FAR _Route14BattleText4 - db "@" - -Route14EndBattleText4: - TX_FAR _Route14EndBattleText4 - db "@" - -Route14AfterBattleText4: - TX_FAR _Route14AfterBattleText4 - db "@" - -Route14Text5: - TX_ASM - ld hl, Route14TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText5: - TX_FAR _Route14BattleText5 - db "@" - -Route14EndBattleText5: - TX_FAR _Route14EndBattleText5 - db "@" - -Route14AfterBattleText5: - TX_FAR _Route14AfterBattleText5 - db "@" - -Route14Text6: - TX_ASM - ld hl, Route14TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText6: - TX_FAR _Route14BattleText6 - db "@" - -Route14EndBattleText6: - TX_FAR _Route14EndBattleText6 - db "@" - -Route14AfterBattleText6: - TX_FAR _Route14AfterBattleText6 - db "@" - -Route14Text7: - TX_ASM - ld hl, Route14TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText7: - TX_FAR _Route14BattleText7 - db "@" - -Route14EndBattleText7: - TX_FAR _Route14EndBattleText7 - db "@" - -Route14AfterBattleText7: - TX_FAR _Route14AfterBattleText7 - db "@" - -Route14Text8: - TX_ASM - ld hl, Route14TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText8: - TX_FAR _Route14BattleText8 - db "@" - -Route14EndBattleText8: - TX_FAR _Route14EndBattleText8 - db "@" - -Route14AfterBattleText8: - TX_FAR _Route14AfterBattleText8 - db "@" - -Route14Text9: - TX_ASM - ld hl, Route14TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText9: - TX_FAR _Route14BattleText9 - db "@" - -Route14EndBattleText9: - TX_FAR _Route14EndBattleText9 - db "@" - -Route14AfterBattleText9: - TX_FAR _Route14AfterBattleText9 - db "@" - -Route14Text10: - TX_ASM - ld hl, Route14TrainerHeader9 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText10: - TX_FAR _Route14BattleText10 - db "@" - -Route14EndBattleText10: - TX_FAR _Route14EndBattleText10 - db "@" - -Route14AfterBattleText10: - TX_FAR _Route14AfterBattleText10 - db "@" - -Route14Text11: - TX_FAR _Route14Text11 - db "@" diff --git a/scripts/route15.asm b/scripts/route15.asm deleted file mode 100755 index 58c5d0ab..00000000 --- a/scripts/route15.asm +++ /dev/null @@ -1,295 +0,0 @@ -Route15Script: - call EnableAutoTextBoxDrawing - ld hl, Route15TrainerHeader0 - ld de, Route15ScriptPointers - ld a, [wRoute15CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute15CurScript], a - ret - -Route15ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Route15TextPointers: - dw Route15Text1 - dw Route15Text2 - dw Route15Text3 - dw Route15Text4 - dw Route15Text5 - dw Route15Text6 - dw Route15Text7 - dw Route15Text8 - dw Route15Text9 - dw Route15Text10 - dw PickUpItemText - dw Route15Text12 - -Route15TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_0 - dw Route15BattleText1 ; TextBeforeBattle - dw Route15AfterBattleText1 ; TextAfterBattle - dw Route15EndBattleText1 ; TextEndBattle - dw Route15EndBattleText1 ; TextEndBattle - -Route15TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_1 - dw Route15BattleText2 ; TextBeforeBattle - dw Route15AfterBattleText2 ; TextAfterBattle - dw Route15EndBattleText2 ; TextEndBattle - dw Route15EndBattleText2 ; TextEndBattle - -Route15TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_2 - dw Route15BattleText3 ; TextBeforeBattle - dw Route15AfterBattleText3 ; TextAfterBattle - dw Route15EndBattleText3 ; TextEndBattle - dw Route15EndBattleText3 ; TextEndBattle - -Route15TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_3 - dw Route15BattleText4 ; TextBeforeBattle - dw Route15AfterBattleText4 ; TextAfterBattle - dw Route15EndBattleText4 ; TextEndBattle - dw Route15EndBattleText4 ; TextEndBattle - -Route15TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_4 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_4 - dw Route15BattleText5 ; TextBeforeBattle - dw Route15AfterBattleText5 ; TextAfterBattle - dw Route15EndBattleText5 ; TextEndBattle - dw Route15EndBattleText5 ; TextEndBattle - -Route15TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_5 - dw Route15BattleText6 ; TextBeforeBattle - dw Route15AfterBattleText6 ; TextAfterBattle - dw Route15EndBattleText6 ; TextEndBattle - dw Route15EndBattleText6 ; TextEndBattle - -Route15TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_6 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_6 - dw Route15BattleText7 ; TextBeforeBattle - dw Route15AfterBattleText7 ; TextAfterBattle - dw Route15EndBattleText7 ; TextEndBattle - dw Route15EndBattleText7 ; TextEndBattle - -Route15TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_7, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_7, 1 - dw Route15BattleText8 ; TextBeforeBattle - dw Route15AfterBattleText8 ; TextAfterBattle - dw Route15EndBattleText8 ; TextEndBattle - dw Route15EndBattleText8 ; TextEndBattle - -Route15TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_8, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_8, 1 - dw Route15BattleText9 ; TextBeforeBattle - dw Route15AfterBattleText9 ; TextAfterBattle - dw Route15EndBattleText9 ; TextEndBattle - dw Route15EndBattleText9 ; TextEndBattle - -Route15TrainerHeader9: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_9, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_9, 1 - dw Route15BattleText10 ; TextBeforeBattle - dw Route15AfterBattleText10 ; TextAfterBattle - dw Route15EndBattleText10 ; TextEndBattle - dw Route15EndBattleText10 ; TextEndBattle - - db $ff - -Route15Text1: - TX_ASM - ld hl, Route15TrainerHeader0 - jr Route15TalkToTrainer - -Route15Text2: - TX_ASM - ld hl, Route15TrainerHeader1 - jr Route15TalkToTrainer - -Route15Text3: - TX_ASM - ld hl, Route15TrainerHeader2 - jr Route15TalkToTrainer - -Route15Text4: - TX_ASM - ld hl, Route15TrainerHeader3 - jr Route15TalkToTrainer - -Route15Text5: - TX_ASM - ld hl, Route15TrainerHeader4 - jr Route15TalkToTrainer - -Route15Text6: - TX_ASM - ld hl, Route15TrainerHeader5 - jr Route15TalkToTrainer - -Route15Text7: - TX_ASM - ld hl, Route15TrainerHeader6 - jr Route15TalkToTrainer - -Route15Text8: - TX_ASM - ld hl, Route15TrainerHeader7 - jr Route15TalkToTrainer - -Route15Text9: - TX_ASM - ld hl, Route15TrainerHeader8 - jr Route15TalkToTrainer - -Route15Text10: - TX_ASM - ld hl, Route15TrainerHeader9 -Route15TalkToTrainer: - call TalkToTrainer - jp TextScriptEnd - -Route15BattleText1: - TX_FAR _Route15BattleText1 - db "@" - -Route15EndBattleText1: - TX_FAR _Route15EndBattleText1 - db "@" - -Route15AfterBattleText1: - TX_FAR _Route15AfterBattleText1 - db "@" - -Route15BattleText2: - TX_FAR _Route15BattleText2 - db "@" - -Route15EndBattleText2: - TX_FAR _Route15EndBattleText2 - db "@" - -Route15AfterBattleText2: - TX_FAR _Route15AfterBattleText2 - db "@" - -Route15BattleText3: - TX_FAR _Route15BattleText3 - db "@" - -Route15EndBattleText3: - TX_FAR _Route15EndBattleText3 - db "@" - -Route15AfterBattleText3: - TX_FAR _Route15AfterBattleText3 - db "@" - -Route15BattleText4: - TX_FAR _Route15BattleText4 - db "@" - -Route15EndBattleText4: - TX_FAR _Route15EndBattleText4 - db "@" - -Route15AfterBattleText4: - TX_FAR _Route15AfterBattleText4 - db "@" - -Route15BattleText5: - TX_FAR _Route15BattleText5 - db "@" - -Route15EndBattleText5: - TX_FAR _Route15EndBattleText5 - db "@" - -Route15AfterBattleText5: - TX_FAR _Route15AfterBattleText5 - db "@" - -Route15BattleText6: - TX_FAR _Route15BattleText6 - db "@" - -Route15EndBattleText6: - TX_FAR _Route15EndBattleText6 - db "@" - -Route15AfterBattleText6: - TX_FAR _Route15AfterBattleText6 - db "@" - -Route15BattleText7: - TX_FAR _Route15BattleText7 - db "@" - -Route15EndBattleText7: - TX_FAR _Route15EndBattleText7 - db "@" - -Route15AfterBattleText7: - TX_FAR _Route15AfterBattleText7 - db "@" - -Route15BattleText8: - TX_FAR _Route15BattleText8 - db "@" - -Route15EndBattleText8: - TX_FAR _Route15EndBattleText8 - db "@" - -Route15AfterBattleText8: - TX_FAR _Route15AfterBattleText8 - db "@" - -Route15BattleText9: - TX_FAR _Route15BattleText9 - db "@" - -Route15EndBattleText9: - TX_FAR _Route15EndBattleText9 - db "@" - -Route15AfterBattleText9: - TX_FAR _Route15AfterBattleText9 - db "@" - -Route15BattleText10: - TX_FAR _Route15BattleText10 - db "@" - -Route15EndBattleText10: - TX_FAR _Route15EndBattleText10 - db "@" - -Route15AfterBattleText10: - TX_FAR _Route15AfterBattleText10 - db "@" - -Route15Text12: - TX_FAR _Route15Text12 - db "@" diff --git a/scripts/route15gate.asm b/scripts/route15gate.asm deleted file mode 100755 index 40db02dd..00000000 --- a/scripts/route15gate.asm +++ /dev/null @@ -1,9 +0,0 @@ -Route15GateScript: - jp EnableAutoTextBoxDrawing - -Route15GateTextPointers: - dw Route15GateText1 - -Route15GateText1: - TX_FAR _Route15GateText1 - db "@" diff --git a/scripts/route15gateupstairs.asm b/scripts/route15gateupstairs.asm deleted file mode 100755 index c7f6a2ad..00000000 --- a/scripts/route15gateupstairs.asm +++ /dev/null @@ -1,44 +0,0 @@ -Route15GateUpstairsScript: - jp DisableAutoTextBoxDrawing - -Route15GateUpstairsTextPointers: - dw Route15GateUpstairsText1 - dw Route15GateUpstairsText2 - -Route15GateUpstairsText1: - TX_ASM - CheckEvent EVENT_GOT_EXP_ALL - jr nz, .asm_49683 - ld a, 50 ; pokemon needed - ld [hOaksAideRequirement], a - ld a, EXP_ALL ; oak's aide reward - ld [hOaksAideRewardItem], a - ld [wd11e], a - call GetItemName - ld hl, wcd6d - ld de, wOaksAideRewardItemName - ld bc, ITEM_NAME_LENGTH - call CopyData - predef OaksAideScript - ld a, [hOaksAideResult] - cp $1 - jr nz, .asm_49689 - SetEvent EVENT_GOT_EXP_ALL -.asm_49683 - ld hl, Route15GateUpstairsText_4968c - call PrintText -.asm_49689 - jp TextScriptEnd - -Route15GateUpstairsText_4968c: - TX_FAR _Route15GateUpstairsText_4968c - db "@" - -Route15GateUpstairsText2: - TX_ASM - ld hl, Route15GateUpstairsText_49698 - jp GateUpstairsScript_PrintIfFacingUp - -Route15GateUpstairsText_49698: - TX_FAR _Route15GateUpstairsText_49698 - db "@" diff --git a/scripts/route16.asm b/scripts/route16.asm deleted file mode 100755 index 20431608..00000000 --- a/scripts/route16.asm +++ /dev/null @@ -1,259 +0,0 @@ -Route16Script: - call EnableAutoTextBoxDrawing - ld hl, Route16TrainerHeader0 - ld de, Route16ScriptPointers - ld a, [wRoute16CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute16CurScript], a - ret - -Route16Script_59946: - xor a - ld [wJoyIgnore], a - ld [wRoute16CurScript], a - ld [wCurMapScript], a - ret - -Route16ScriptPointers: - dw Route16Script0 - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw Route16Script3 - -Route16Script0: - CheckEventHL EVENT_BEAT_ROUTE16_SNORLAX - jp nz, CheckFightingMapTrainers - CheckEventReuseHL EVENT_FIGHT_ROUTE16_SNORLAX - ResetEventReuseHL EVENT_FIGHT_ROUTE16_SNORLAX - jp z, CheckFightingMapTrainers - ld a, $a - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, SNORLAX - ld [wCurOpponent], a - ld a, 30 - ld [wCurEnemyLVL], a - ld a, HS_ROUTE_16_SNORLAX - ld [wMissableObjectIndex], a - predef HideObject - call UpdateSprites - ld a, $3 - ld [wRoute16CurScript], a - ld [wCurMapScript], a - ret - -Route16Script3: - ld a, [wIsInBattle] - cp $ff - jp z, Route16Script_59946 - call UpdateSprites - ld a, [wBattleResult] - cp $2 - jr z, .asm_599a8 - ld a, $b - ld [hSpriteIndexOrTextID], a - call DisplayTextID -.asm_599a8 - SetEvent EVENT_BEAT_ROUTE16_SNORLAX - call Delay3 - ld a, $0 - ld [wRoute16CurScript], a - ld [wCurMapScript], a - ret - -Route16TextPointers: - dw Route16Text1 - dw Route16Text2 - dw Route16Text3 - dw Route16Text4 - dw Route16Text5 - dw Route16Text6 - dw Route16Text7 - dw Route16Text8 - dw Route16Text9 - dw Route16Text10 - dw Route16Text11 - -Route16TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_0 - dw Route16BattleText1 ; TextBeforeBattle - dw Route16AfterBattleText1 ; TextAfterBattle - dw Route16EndBattleText1 ; TextEndBattle - dw Route16EndBattleText1 ; TextEndBattle - -Route16TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_1 - dw Route16BattleText2 ; TextBeforeBattle - dw Route16AfterBattleText2 ; TextAfterBattle - dw Route16EndBattleText2 ; TextEndBattle - dw Route16EndBattleText2 ; TextEndBattle - -Route16TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_2 - dw Route16BattleText3 ; TextBeforeBattle - dw Route16AfterBattleText3 ; TextAfterBattle - dw Route16EndBattleText3 ; TextEndBattle - dw Route16EndBattleText3 ; TextEndBattle - -Route16TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_3 - dw Route16BattleText4 ; TextBeforeBattle - dw Route16AfterBattleText4 ; TextAfterBattle - dw Route16EndBattleText4 ; TextEndBattle - dw Route16EndBattleText4 ; TextEndBattle - -Route16TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_4 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_4 - dw Route16BattleText5 ; TextBeforeBattle - dw Route16AfterBattleText5 ; TextAfterBattle - dw Route16EndBattleText5 ; TextEndBattle - dw Route16EndBattleText5 ; TextEndBattle - -Route16TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_5 - dw Route16BattleText6 ; TextBeforeBattle - dw Route16AfterBattleText6 ; TextAfterBattle - dw Route16EndBattleText6 ; TextEndBattle - dw Route16EndBattleText6 ; TextEndBattle - - db $ff - -Route16Text1: - TX_ASM - ld hl, Route16TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route16BattleText1: - TX_FAR _Route16BattleText1 - db "@" - -Route16EndBattleText1: - TX_FAR _Route16EndBattleText1 - db "@" - -Route16AfterBattleText1: - TX_FAR _Route16AfterBattleText1 - db "@" - -Route16Text2: - TX_ASM - ld hl, Route16TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route16BattleText2: - TX_FAR _Route16BattleText2 - db "@" - -Route16EndBattleText2: - TX_FAR _Route16EndBattleText2 - db "@" - -Route16AfterBattleText2: - TX_FAR _Route16AfterBattleText2 - db "@" - -Route16Text3: - TX_ASM - ld hl, Route16TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route16BattleText3: - TX_FAR _Route16BattleText3 - db "@" - -Route16EndBattleText3: - TX_FAR _Route16EndBattleText3 - db "@" - -Route16AfterBattleText3: - TX_FAR _Route16AfterBattleText3 - db "@" - -Route16Text4: - TX_ASM - ld hl, Route16TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route16BattleText4: - TX_FAR _Route16BattleText4 - db "@" - -Route16EndBattleText4: - TX_FAR _Route16EndBattleText4 - db "@" - -Route16AfterBattleText4: - TX_FAR _Route16AfterBattleText4 - db "@" - -Route16Text5: - TX_ASM - ld hl, Route16TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route16BattleText5: - TX_FAR _Route16BattleText5 - db "@" - -Route16EndBattleText5: - TX_FAR _Route16EndBattleText5 - db "@" - -Route16AfterBattleText5: - TX_FAR _Route16AfterBattleText5 - db "@" - -Route16Text6: - TX_ASM - ld hl, Route16TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route16BattleText6: - TX_FAR _Route16BattleText6 - db "@" - -Route16EndBattleText6: - TX_FAR _Route16EndBattleText6 - db "@" - -Route16AfterBattleText6: - TX_FAR _Route16AfterBattleText6 - db "@" - -Route16Text7: - TX_FAR _Route16Text7 - db "@" - -Route16Text10: - TX_FAR _Route16Text10 - db "@" - -Route16Text11: - TX_FAR _Route16Text11 - db "@" - -Route16Text8: - TX_FAR _Route16Text8 - db "@" - -Route16Text9: - TX_FAR _Route16Text9 - db "@" diff --git a/scripts/route16gate.asm b/scripts/route16gate.asm deleted file mode 100755 index e20ba6f7..00000000 --- a/scripts/route16gate.asm +++ /dev/null @@ -1,121 +0,0 @@ -Route16GateScript: - ld hl, wd732 - res 5, [hl] - call EnableAutoTextBoxDrawing - ld a, [wRoute16GateCurScript] - ld hl, Route16GateScriptPointers - jp CallFunctionInTable - -Route16GateScriptPointers: - dw Route16GateScript0 - dw Route16GateScript1 - dw Route16GateScript2 - dw Route16GateScript3 - -Route16GateScript0: - call Route16GateScript_49755 - ret nz - ld hl, CoordsData_49714 - call ArePlayerCoordsInArray - ret nc - ld a, $3 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [hJoyHeld], a - ld a, [wCoordIndex] - cp $1 - jr z, .asm_4970e - ld a, [wCoordIndex] - dec a - ld [wSimulatedJoypadStatesIndex], a - ld b, $0 - ld c, a - ld a, D_UP - ld hl, wSimulatedJoypadStatesEnd - call FillMemory - call StartSimulatingJoypadStates - ld a, $1 - ld [wRoute16GateCurScript], a - ret -.asm_4970e - ld a, $2 - ld [wRoute16GateCurScript], a - ret - -CoordsData_49714: - db $07,$04 - db $08,$04 - db $09,$04 - db $0A,$04 - db $FF - -Route16GateScript1: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - ld a, $f0 - ld [wJoyIgnore], a - -Route16GateScript2: - ld a, $1 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - ld a, D_RIGHT - ld [wSimulatedJoypadStatesEnd], a - call StartSimulatingJoypadStates - ld a, $3 - ld [wRoute16GateCurScript], a - ret - -Route16GateScript3: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - xor a - ld [wJoyIgnore], a - ld hl, wd730 - res 7, [hl] - ld a, $0 - ld [wRoute16GateCurScript], a - ret - -Route16GateScript_49755: - ld b, BICYCLE - jp IsItemInBag - -Route16GateTextPointers: - dw Route16GateText1 - dw Route16GateText2 - dw Route16GateText3 - -Route16GateText1: - TX_ASM - call Route16GateScript_49755 - jr z, .asm_0bdf3 - ld hl, Route16GateText_4977c - call PrintText - jr .asm_56c9d -.asm_0bdf3 - ld hl, Route16GateText_49777 - call PrintText -.asm_56c9d - jp TextScriptEnd - -Route16GateText_49777: - TX_FAR _Route16GateText_49777 - db "@" - -Route16GateText_4977c: - TX_FAR _Route16GateText_4977c - db "@" - -Route16GateText3: - TX_FAR _Route16GateText_49781 - db "@" - -Route16GateText2: - TX_FAR _Route16GateText2 - db "@" diff --git a/scripts/route16gateupstairs.asm b/scripts/route16gateupstairs.asm deleted file mode 100755 index 664976a2..00000000 --- a/scripts/route16gateupstairs.asm +++ /dev/null @@ -1,46 +0,0 @@ -Route16GateUpstairsScript: - jp DisableAutoTextBoxDrawing - -Route16GateUpstairsTextPointers: - dw Route16GateUpstairsText1 - dw Route16GateUpstairsText2 - dw Route16GateUpstairsText3 - dw Route16GateUpstairsText4 - -Route16GateUpstairsText1: - TX_ASM - ld hl, Route16GateUpstairsText_49820 - call PrintText - jp TextScriptEnd - -Route16GateUpstairsText_49820: - TX_FAR _Route16GateUpstairsText_49820 - db "@" - -Route16GateUpstairsText2: - TX_ASM - ld hl, Route16GateUpstairsText_4982f - call PrintText - jp TextScriptEnd - -Route16GateUpstairsText_4982f: - TX_FAR _Route16GateUpstairsText_4982f - db "@" - -Route16GateUpstairsText3: - TX_ASM - ld hl, Route16GateUpstairsText_4983b - jp GateUpstairsScript_PrintIfFacingUp - -Route16GateUpstairsText_4983b: - TX_FAR _Route16GateUpstairsText_4983b - db "@" - -Route16GateUpstairsText4: - TX_ASM - ld hl, Route16GateUpstairsText_49847 - jp GateUpstairsScript_PrintIfFacingUp - -Route16GateUpstairsText_49847: - TX_FAR _Route16GateUpstairsText_49847 - db "@" diff --git a/scripts/route16house.asm b/scripts/route16house.asm deleted file mode 100755 index 5359248c..00000000 --- a/scripts/route16house.asm +++ /dev/null @@ -1,55 +0,0 @@ -Route16HouseScript: - jp EnableAutoTextBoxDrawing - -Route16HouseTextPointers: - dw Route16HouseText1 - dw Route16HouseText2 - -Route16HouseText1: - TX_ASM - CheckEvent EVENT_GOT_HM02 - ld hl, HM02ExplanationText - jr nz, .asm_13616 - ld hl, Route16HouseText3 - call PrintText - lb bc, HM_02, 1 - call GiveItem - jr nc, .BagFull - SetEvent EVENT_GOT_HM02 - ld hl, ReceivedHM02Text - jr .asm_13616 -.BagFull - ld hl, HM02NoRoomText -.asm_13616 - call PrintText - jp TextScriptEnd - -Route16HouseText3: - TX_FAR _Route16HouseText3 - db "@" - -ReceivedHM02Text: - TX_FAR _ReceivedHM02Text - TX_SFX_KEY_ITEM - db "@" - -HM02ExplanationText: - TX_FAR _HM02ExplanationText - db "@" - -HM02NoRoomText: - TX_FAR _HM02NoRoomText - db "@" - -Route16HouseText2: - TX_ASM - ld hl, Route16HouseText_1e652 - call PrintText - ld a, FEAROW - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -Route16HouseText_1e652: - TX_FAR _Route16HouseText_1e652 - db "@" diff --git a/scripts/route17.asm b/scripts/route17.asm deleted file mode 100755 index fb9f4cd8..00000000 --- a/scripts/route17.asm +++ /dev/null @@ -1,327 +0,0 @@ -Route17Script: - call EnableAutoTextBoxDrawing - ld hl, Route17TrainerHeader0 - ld de, Route17ScriptPointers - ld a, [wRoute17CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute17CurScript], a - ret - -Route17ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Route17TextPointers: - dw Route17Text1 - dw Route17Text2 - dw Route17Text3 - dw Route17Text4 - dw Route17Text5 - dw Route17Text6 - dw Route17Text7 - dw Route17Text8 - dw Route17Text9 - dw Route17Text10 - dw Route17Text11 - dw Route17Text12 - dw Route17Text13 - dw Route17Text14 - dw Route17Text15 - dw Route17Text16 - -Route17TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_0 - dw Route17BattleText1 ; TextBeforeBattle - dw Route17AfterBattleText1 ; TextAfterBattle - dw Route17EndBattleText1 ; TextEndBattle - dw Route17EndBattleText1 ; TextEndBattle - -Route17TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_1 - dw Route17BattleText2 ; TextBeforeBattle - dw Route17AfterBattleText2 ; TextAfterBattle - dw Route17EndBattleText2 ; TextEndBattle - dw Route17EndBattleText2 ; TextEndBattle - -Route17TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_2 - dw Route17BattleText3 ; TextBeforeBattle - dw Route17AfterBattleText3 ; TextAfterBattle - dw Route17EndBattleText3 ; TextEndBattle - dw Route17EndBattleText3 ; TextEndBattle - -Route17TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_3 - dw Route17BattleText4 ; TextBeforeBattle - dw Route17AfterBattleText4 ; TextAfterBattle - dw Route17EndBattleText4 ; TextEndBattle - dw Route17EndBattleText4 ; TextEndBattle - -Route17TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_4 - dw Route17BattleText5 ; TextBeforeBattle - dw Route17AfterBattleText5 ; TextAfterBattle - dw Route17EndBattleText5 ; TextEndBattle - dw Route17EndBattleText5 ; TextEndBattle - -Route17TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_5 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_5 - dw Route17BattleText6 ; TextBeforeBattle - dw Route17AfterBattleText6 ; TextAfterBattle - dw Route17EndBattleText6 ; TextEndBattle - dw Route17EndBattleText6 ; TextEndBattle - -Route17TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_6 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_6 - dw Route17BattleText7 ; TextBeforeBattle - dw Route17AfterBattleText7 ; TextAfterBattle - dw Route17EndBattleText7 ; TextEndBattle - dw Route17EndBattleText7 ; TextEndBattle - -Route17TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_7, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_7, 1 - dw Route17BattleText8 ; TextBeforeBattle - dw Route17AfterBattleText8 ; TextAfterBattle - dw Route17EndBattleText8 ; TextEndBattle - dw Route17EndBattleText8 ; TextEndBattle - -Route17TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_8, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_8, 1 - dw Route17BattleText9 ; TextBeforeBattle - dw Route17AfterBattleText9 ; TextAfterBattle - dw Route17EndBattleText9 ; TextEndBattle - dw Route17EndBattleText9 ; TextEndBattle - -Route17TrainerHeader9: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_9, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_9, 1 - dw Route17BattleText10 ; TextBeforeBattle - dw Route17AfterBattleText10 ; TextAfterBattle - dw Route17EndBattleText10 ; TextEndBattle - dw Route17EndBattleText10 ; TextEndBattle - - db $ff - -Route17Text1: - TX_ASM - ld hl, Route17TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText1: - TX_FAR _Route17BattleText1 - db "@" - -Route17EndBattleText1: - TX_FAR _Route17EndBattleText1 - db "@" - -Route17AfterBattleText1: - TX_FAR _Route17AfterBattleText1 - db "@" - -Route17Text2: - TX_ASM - ld hl, Route17TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText2: - TX_FAR _Route17BattleText2 - db "@" - -Route17EndBattleText2: - TX_FAR _Route17EndBattleText2 - db "@" - -Route17AfterBattleText2: - TX_FAR _Route17AfterBattleText2 - db "@" - -Route17Text3: - TX_ASM - ld hl, Route17TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText3: - TX_FAR _Route17BattleText3 - db "@" - -Route17EndBattleText3: - TX_FAR _Route17EndBattleText3 - db "@" - -Route17AfterBattleText3: - TX_FAR _Route17AfterBattleText3 - db "@" - -Route17Text4: - TX_ASM - ld hl, Route17TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText4: - TX_FAR _Route17BattleText4 - db "@" - -Route17EndBattleText4: - TX_FAR _Route17EndBattleText4 - db "@" - -Route17AfterBattleText4: - TX_FAR _Route17AfterBattleText4 - db "@" - -Route17Text5: - TX_ASM - ld hl, Route17TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText5: - TX_FAR _Route17BattleText5 - db "@" - -Route17EndBattleText5: - TX_FAR _Route17EndBattleText5 - db "@" - -Route17AfterBattleText5: - TX_FAR _Route17AfterBattleText5 - db "@" - -Route17Text6: - TX_ASM - ld hl, Route17TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText6: - TX_FAR _Route17BattleText6 - db "@" - -Route17EndBattleText6: - TX_FAR _Route17EndBattleText6 - db "@" - -Route17AfterBattleText6: - TX_FAR _Route17AfterBattleText6 - db "@" - -Route17Text7: - TX_ASM - ld hl, Route17TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText7: - TX_FAR _Route17BattleText7 - db "@" - -Route17EndBattleText7: - TX_FAR _Route17EndBattleText7 - db "@" - -Route17AfterBattleText7: - TX_FAR _Route17AfterBattleText7 - db "@" - -Route17Text8: - TX_ASM - ld hl, Route17TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText8: - TX_FAR _Route17BattleText8 - db "@" - -Route17EndBattleText8: - TX_FAR _Route17EndBattleText8 - db "@" - -Route17AfterBattleText8: - TX_FAR _Route17AfterBattleText8 - db "@" - -Route17Text9: - TX_ASM - ld hl, Route17TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText9: - TX_FAR _Route17BattleText9 - db "@" - -Route17EndBattleText9: - TX_FAR _Route17EndBattleText9 - db "@" - -Route17AfterBattleText9: - TX_FAR _Route17AfterBattleText9 - db "@" - -Route17Text10: - TX_ASM - ld hl, Route17TrainerHeader9 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText10: - TX_FAR _Route17BattleText10 - db "@" - -Route17EndBattleText10: - TX_FAR _Route17EndBattleText10 - db "@" - -Route17AfterBattleText10: - TX_FAR _Route17AfterBattleText10 - db "@" - -Route17Text11: - TX_FAR _Route17Text11 - db "@" - -Route17Text12: - TX_FAR _Route17Text12 - db "@" - -Route17Text13: - TX_FAR _Route17Text13 - db "@" - -Route17Text14: - TX_FAR _Route17Text14 - db "@" - -Route17Text15: - TX_FAR _Route17Text15 - db "@" - -Route17Text16: - TX_FAR _Route17Text16 - db "@" diff --git a/scripts/route18.asm b/scripts/route18.asm deleted file mode 100755 index 687b269c..00000000 --- a/scripts/route18.asm +++ /dev/null @@ -1,111 +0,0 @@ -Route18Script: - call EnableAutoTextBoxDrawing - ld hl, Route18TrainerHeader0 - ld de, Route18ScriptPointers - ld a, [wRoute18CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute18CurScript], a - ret - -Route18ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Route18TextPointers: - dw Route18Text1 - dw Route18Text2 - dw Route18Text3 - dw Route18Text4 - dw Route18Text5 - -Route18TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_0 - dw Route18BattleText1 ; TextBeforeBattle - dw Route18AfterBattleText1 ; TextAfterBattle - dw Route18EndBattleText1 ; TextEndBattle - dw Route18EndBattleText1 ; TextEndBattle - -Route18TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_1 - dw Route18BattleText2 ; TextBeforeBattle - dw Route18AfterBattleText2 ; TextAfterBattle - dw Route18EndBattleText2 ; TextEndBattle - dw Route18EndBattleText2 ; TextEndBattle - -Route18TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_2 - dw Route18BattleText3 ; TextBeforeBattle - dw Route18AfterBattleText3 ; TextAfterBattle - dw Route18EndBattleText3 ; TextEndBattle - dw Route18EndBattleText3 ; TextEndBattle - - db $ff - -Route18Text1: - TX_ASM - ld hl, Route18TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route18BattleText1: - TX_FAR _Route18BattleText1 - db "@" - -Route18EndBattleText1: - TX_FAR _Route18EndBattleText1 - db "@" - -Route18AfterBattleText1: - TX_FAR _Route18AfterBattleText1 - db "@" - -Route18Text2: - TX_ASM - ld hl, Route18TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route18BattleText2: - TX_FAR _Route18BattleText2 - db "@" - -Route18EndBattleText2: - TX_FAR _Route18EndBattleText2 - db "@" - -Route18AfterBattleText2: - TX_FAR _Route18AfterBattleText2 - db "@" - -Route18Text3: - TX_ASM - ld hl, Route18TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route18BattleText3: - TX_FAR _Route18BattleText3 - db "@" - -Route18EndBattleText3: - TX_FAR _Route18EndBattleText3 - db "@" - -Route18AfterBattleText3: - TX_FAR _Route18AfterBattleText3 - db "@" - -Route18Text4: - TX_FAR _Route18Text4 - db "@" - -Route18Text5: - TX_FAR _Route18Text5 - db "@" diff --git a/scripts/route18gate.asm b/scripts/route18gate.asm deleted file mode 100755 index 893801a1..00000000 --- a/scripts/route18gate.asm +++ /dev/null @@ -1,112 +0,0 @@ -Route18GateScript: - ld hl, wd732 - res 5, [hl] - call EnableAutoTextBoxDrawing - ld a, [wRoute18GateCurScript] - ld hl, Route18GateScriptPointers - jp CallFunctionInTable - -Route18GateScriptPointers: - dw Route18GateScript0 - dw Route18GateScript1 - dw Route18GateScript2 - dw Route18GateScript3 - -Route18GateScript0: - call Route16GateScript_49755 - ret nz - ld hl, CoordsData_498cc - call ArePlayerCoordsInArray - ret nc - ld a, $2 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [hJoyHeld], a - ld a, [wCoordIndex] - cp $1 - jr z, .asm_498c6 - ld a, [wCoordIndex] - dec a - ld [wSimulatedJoypadStatesIndex], a - ld b, 0 - ld c, a - ld a, D_UP - ld hl, wSimulatedJoypadStatesEnd - call FillMemory - call StartSimulatingJoypadStates - ld a, $1 - ld [wRoute18GateCurScript], a - ret -.asm_498c6 - ld a, $2 - ld [wRoute18GateCurScript], a - ret - -CoordsData_498cc: - db $03,$04 - db $04,$04 - db $05,$04 - db $06,$04 - db $FF - -Route18GateScript1: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - ld a, $f0 - ld [wJoyIgnore], a - -Route18GateScript2: - ld a, $1 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - ld a, D_RIGHT - ld [wSimulatedJoypadStatesEnd], a - call StartSimulatingJoypadStates - ld a, $3 - ld [wRoute18GateCurScript], a - ret - -Route18GateScript3: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - xor a - ld [wJoyIgnore], a - ld hl, wd730 - res 7, [hl] - ld a, $0 - ld [wRoute18GateCurScript], a - ret - -Route18GateTextPointers: - dw Route18GateText1 - dw Route18GateText2 - -Route18GateText1: - TX_ASM - call Route16GateScript_49755 - jr z, .asm_3c84d - ld hl, Route18GateText_4992d - call PrintText - jr .asm_a8410 -.asm_3c84d - ld hl, Route18GateText_49928 - call PrintText -.asm_a8410 - jp TextScriptEnd - -Route18GateText_49928: - TX_FAR _Route18GateText_49928 - db "@" - -Route18GateText_4992d: - TX_FAR _Route18GateText_4992d - db "@" - -Route18GateText2: - TX_FAR _Route18GateText_49932 - db "@" diff --git a/scripts/route18gateupstairs.asm b/scripts/route18gateupstairs.asm deleted file mode 100755 index 3d623142..00000000 --- a/scripts/route18gateupstairs.asm +++ /dev/null @@ -1,32 +0,0 @@ -Route18GateUpstairsScript: - jp DisableAutoTextBoxDrawing - -Route18GateUpstairsTextPointers: - dw Route18GateUpstairsText1 - dw Route18GateUpstairsText2 - dw Route18GateUpstairsText3 - -Route18GateUpstairsText1: - TX_ASM - ld a, $5 - ld [wWhichTrade], a - predef DoInGameTradeDialogue - jp TextScriptEnd - -Route18GateUpstairsText2: - TX_ASM - ld hl, Route18GateUpstairsText_49993 - jp GateUpstairsScript_PrintIfFacingUp - -Route18GateUpstairsText_49993: - TX_FAR _Route18GateUpstairsText_49993 - db "@" - -Route18GateUpstairsText3: - TX_ASM - ld hl, Route18GateUpstairsText_4999f - jp GateUpstairsScript_PrintIfFacingUp - -Route18GateUpstairsText_4999f: - TX_FAR _Route18GateUpstairsText_4999f - db "@" diff --git a/scripts/route19.asm b/scripts/route19.asm deleted file mode 100755 index 01ea5dce..00000000 --- a/scripts/route19.asm +++ /dev/null @@ -1,302 +0,0 @@ -Route19Script: - call EnableAutoTextBoxDrawing - ld hl, Route19TrainerHeader0 - ld de, Route19ScriptPointers - ld a, [wRoute19CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute19CurScript], a - ret - -Route19ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Route19TextPointers: - dw Route19Text1 - dw Route19Text2 - dw Route19Text3 - dw Route19Text4 - dw Route19Text5 - dw Route19Text6 - dw Route19Text7 - dw Route19Text8 - dw Route19Text9 - dw Route19Text10 - dw Route19Text11 - -Route19TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_0 - dw Route19BattleText1 ; TextBeforeBattle - dw Route19AfterBattleText1 ; TextAfterBattle - dw Route19EndBattleText1 ; TextEndBattle - dw Route19EndBattleText1 ; TextEndBattle - -Route19TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_1 - dw Route19BattleText2 ; TextBeforeBattle - dw Route19AfterBattleText2 ; TextAfterBattle - dw Route19EndBattleText2 ; TextEndBattle - dw Route19EndBattleText2 ; TextEndBattle - -Route19TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_2 - dw Route19BattleText3 ; TextBeforeBattle - dw Route19AfterBattleText3 ; TextAfterBattle - dw Route19EndBattleText3 ; TextEndBattle - dw Route19EndBattleText3 ; TextEndBattle - -Route19TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_3 - dw Route19BattleText4 ; TextBeforeBattle - dw Route19AfterBattleText4 ; TextAfterBattle - dw Route19EndBattleText4 ; TextEndBattle - dw Route19EndBattleText4 ; TextEndBattle - -Route19TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_4 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_4 - dw Route19BattleText5 ; TextBeforeBattle - dw Route19AfterBattleText5 ; TextAfterBattle - dw Route19EndBattleText5 ; TextEndBattle - dw Route19EndBattleText5 ; TextEndBattle - -Route19TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_5 - dw Route19BattleText6 ; TextBeforeBattle - dw Route19AfterBattleText6 ; TextAfterBattle - dw Route19EndBattleText6 ; TextEndBattle - dw Route19EndBattleText6 ; TextEndBattle - -Route19TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_6 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_6 - dw Route19BattleText7 ; TextBeforeBattle - dw Route19AfterBattleText7 ; TextAfterBattle - dw Route19EndBattleText7 ; TextEndBattle - dw Route19EndBattleText7 ; TextEndBattle - -Route19TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_7, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_7, 1 - dw Route19BattleText8 ; TextBeforeBattle - dw Route19AfterBattleText8 ; TextAfterBattle - dw Route19EndBattleText8 ; TextEndBattle - dw Route19EndBattleText8 ; TextEndBattle - -Route19TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_8, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_8, 1 - dw Route19BattleText9 ; TextBeforeBattle - dw Route19AfterBattleText9 ; TextAfterBattle - dw Route19EndBattleText9 ; TextEndBattle - dw Route19EndBattleText9 ; TextEndBattle - -Route19TrainerHeader9: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_9, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_9, 1 - dw Route19BattleText10 ; TextBeforeBattle - dw Route19AfterBattleText10 ; TextAfterBattle - dw Route19EndBattleText10 ; TextEndBattle - dw Route19EndBattleText10 ; TextEndBattle - - db $ff - -Route19Text1: - TX_ASM - ld hl, Route19TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route19Text2: - TX_ASM - ld hl, Route19TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route19Text3: - TX_ASM - ld hl, Route19TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route19Text4: - TX_ASM - ld hl, Route19TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route19Text5: - TX_ASM - ld hl, Route19TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route19Text6: - TX_ASM - ld hl, Route19TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route19Text7: - TX_ASM - ld hl, Route19TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route19Text8: - TX_ASM - ld hl, Route19TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route19Text9: - TX_ASM - ld hl, Route19TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route19Text10: - TX_ASM - ld hl, Route19TrainerHeader9 - call TalkToTrainer - jp TextScriptEnd - -Route19BattleText1: - TX_FAR _Route19BattleText1 - db "@" - -Route19EndBattleText1: - TX_FAR _Route19EndBattleText1 - db "@" - -Route19AfterBattleText1: - TX_FAR _Route19AfterBattleText1 - db "@" - -Route19BattleText2: - TX_FAR _Route19BattleText2 - db "@" - -Route19EndBattleText2: - TX_FAR _Route19EndBattleText2 - db "@" - -Route19AfterBattleText2: - TX_FAR _Route19AfterBattleText2 - db "@" - -Route19BattleText3: - TX_FAR _Route19BattleText3 - db "@" - -Route19EndBattleText3: - TX_FAR _Route19EndBattleText3 - db "@" - -Route19AfterBattleText3: - TX_FAR _Route19AfterBattleText3 - db "@" - -Route19BattleText4: - TX_FAR _Route19BattleText4 - db "@" - -Route19EndBattleText4: - TX_FAR _Route19EndBattleText4 - db "@" - -Route19AfterBattleText4: - TX_FAR _Route19AfterBattleText4 - db "@" - -Route19BattleText5: - TX_FAR _Route19BattleText5 - db "@" - -Route19EndBattleText5: - TX_FAR _Route19EndBattleText5 - db "@" - -Route19AfterBattleText5: - TX_FAR _Route19AfterBattleText5 - db "@" - -Route19BattleText6: - TX_FAR _Route19BattleText6 - db "@" - -Route19EndBattleText6: - TX_FAR _Route19EndBattleText6 - db "@" - -Route19AfterBattleText6: - TX_FAR _Route19AfterBattleText6 - db "@" - -Route19BattleText7: - TX_FAR _Route19BattleText7 - db "@" - -Route19EndBattleText7: - TX_FAR _Route19EndBattleText7 - db "@" - -Route19AfterBattleText7: - TX_FAR _Route19AfterBattleText7 - db "@" - -Route19BattleText8: - TX_FAR _Route19BattleText8 - db "@" - -Route19EndBattleText8: - TX_FAR _Route19EndBattleText8 - db "@" - -Route19AfterBattleText8: - TX_FAR _Route19AfterBattleText8 - db "@" - -Route19BattleText9: - TX_FAR _Route19BattleText9 - db "@" - -Route19EndBattleText9: - TX_FAR _Route19EndBattleText9 - db "@" - -Route19AfterBattleText9: - TX_FAR _Route19AfterBattleText9 - db "@" - -Route19BattleText10: - TX_FAR _Route19BattleText10 - db "@" - -Route19EndBattleText10: - TX_FAR _Route19EndBattleText10 - db "@" - -Route19AfterBattleText10: - TX_FAR _Route19AfterBattleText10 - db "@" - -Route19Text11: - TX_FAR _Route19Text11 - db "@" diff --git a/scripts/route2.asm b/scripts/route2.asm deleted file mode 100755 index 810792ef..00000000 --- a/scripts/route2.asm +++ /dev/null @@ -1,16 +0,0 @@ -Route2Script: - jp EnableAutoTextBoxDrawing - -Route2TextPointers: - dw PickUpItemText - dw PickUpItemText - dw Route2Text3 - dw Route2Text4 - -Route2Text3: - TX_FAR _Route2Text3 - db "@" - -Route2Text4: - TX_FAR _Route2Text4 - db "@" diff --git a/scripts/route20.asm b/scripts/route20.asm deleted file mode 100755 index 53ff5e55..00000000 --- a/scripts/route20.asm +++ /dev/null @@ -1,353 +0,0 @@ -Route20Script: - CheckAndResetEvent EVENT_IN_SEAFOAM_ISLANDS - call nz, Route20Script_50cc6 - call EnableAutoTextBoxDrawing - ld hl, Route20TrainerHeader0 - ld de, Route20ScriptPointers - ld a, [wRoute20CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute20CurScript], a - ret - -Route20Script_50cc6: - CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE - jr z, .asm_50cef - ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_1 - call Route20Script_50d0c - ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_2 - call Route20Script_50d0c - ld hl, .MissableObjectIDs -.asm_50cdc - ld a, [hli] - cp $ff - jr z, .asm_50cef - push hl - call Route20Script_50d14 - pop hl - jr .asm_50cdc - -.MissableObjectIDs: - db HS_SEAFOAM_ISLANDS_2_BOULDER_1 - db HS_SEAFOAM_ISLANDS_2_BOULDER_2 - db HS_SEAFOAM_ISLANDS_3_BOULDER_1 - db HS_SEAFOAM_ISLANDS_3_BOULDER_2 - db HS_SEAFOAM_ISLANDS_4_BOULDER_3 - db HS_SEAFOAM_ISLANDS_4_BOULDER_4 - db $FF - -.asm_50cef - CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE - ret z - ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_1 - call Route20Script_50d0c - ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_2 - call Route20Script_50d0c - ld a, HS_SEAFOAM_ISLANDS_5_BOULDER_1 - call Route20Script_50d14 - ld a, HS_SEAFOAM_ISLANDS_5_BOULDER_2 - call Route20Script_50d14 - ret - -Route20Script_50d0c: - ld [wMissableObjectIndex], a - predef_jump ShowObject - -Route20Script_50d14: - ld [wMissableObjectIndex], a - predef_jump HideObject - -Route20ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Route20TextPointers: - dw Route20Text1 - dw Route20Text2 - dw Route20Text3 - dw Route20Text4 - dw Route20Text5 - dw Route20Text6 - dw Route20Text7 - dw Route20Text8 - dw Route20Text9 - dw Route20Text10 - dw Route20Text11 - dw Route20Text12 - -Route20TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_0 - dw Route20BattleText1 ; TextBeforeBattle - dw Route20AfterBattleText1 ; TextAfterBattle - dw Route20EndBattleText1 ; TextEndBattle - dw Route20EndBattleText1 ; TextEndBattle - -Route20TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_1 - dw Route20BattleText2 ; TextBeforeBattle - dw Route20AfterBattleText2 ; TextAfterBattle - dw Route20EndBattleText2 ; TextEndBattle - dw Route20EndBattleText2 ; TextEndBattle - -Route20TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_2 - dw Route20BattleText3 ; TextBeforeBattle - dw Route20AfterBattleText3 ; TextAfterBattle - dw Route20EndBattleText3 ; TextEndBattle - dw Route20EndBattleText3 ; TextEndBattle - -Route20TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_3 - dw Route20BattleText4 ; TextBeforeBattle - dw Route20AfterBattleText4 ; TextAfterBattle - dw Route20EndBattleText4 ; TextEndBattle - dw Route20EndBattleText4 ; TextEndBattle - -Route20TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_4 - dw Route20BattleText5 ; TextBeforeBattle - dw Route20AfterBattleText5 ; TextAfterBattle - dw Route20EndBattleText5 ; TextEndBattle - dw Route20EndBattleText5 ; TextEndBattle - -Route20TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_5 - dw Route20BattleText6 ; TextBeforeBattle - dw Route20AfterBattleText6 ; TextAfterBattle - dw Route20EndBattleText6 ; TextEndBattle - dw Route20EndBattleText6 ; TextEndBattle - -Route20TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_6 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_6 - dw Route20BattleText7 ; TextBeforeBattle - dw Route20AfterBattleText7 ; TextAfterBattle - dw Route20EndBattleText7 ; TextEndBattle - dw Route20EndBattleText7 ; TextEndBattle - -Route20TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_7, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_7, 1 - dw Route20BattleText8 ; TextBeforeBattle - dw Route20AfterBattleText8 ; TextAfterBattle - dw Route20EndBattleText8 ; TextEndBattle - dw Route20EndBattleText8 ; TextEndBattle - -Route20TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_8, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_8, 1 - dw Route20BattleText9 ; TextBeforeBattle - dw Route20AfterBattleText9 ; TextAfterBattle - dw Route20EndBattleText9 ; TextEndBattle - dw Route20EndBattleText9 ; TextEndBattle - -Route20TrainerHeader9: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_9, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_9, 1 - dw Route20BattleText10 ; TextBeforeBattle - dw Route20AfterBattleText10 ; TextAfterBattle - dw Route20EndBattleText10 ; TextEndBattle - dw Route20EndBattleText10 ; TextEndBattle - - db $ff - -Route20Text1: - TX_ASM - ld hl, Route20TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route20Text2: - TX_ASM - ld hl, Route20TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route20Text3: - TX_ASM - ld hl, Route20TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route20Text4: - TX_ASM - ld hl, Route20TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route20Text5: - TX_ASM - ld hl, Route20TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route20Text6: - TX_ASM - ld hl, Route20TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route20Text7: - TX_ASM - ld hl, Route20TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route20Text8: - TX_ASM - ld hl, Route20TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route20Text9: - TX_ASM - ld hl, Route20TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route20Text10: - TX_ASM - ld hl, Route20TrainerHeader9 - call TalkToTrainer - jp TextScriptEnd - -Route20BattleText1: - TX_FAR _Route20BattleText1 - db "@" - -Route20EndBattleText1: - TX_FAR _Route20EndBattleText1 - db "@" - -Route20AfterBattleText1: - TX_FAR _Route20AfterBattleText1 - db "@" - -Route20BattleText2: - TX_FAR _Route20BattleText2 - db "@" - -Route20EndBattleText2: - TX_FAR _Route20EndBattleText2 - db "@" - -Route20AfterBattleText2: - TX_FAR _Route20AfterBattleText2 - db "@" - -Route20BattleText3: - TX_FAR _Route20BattleText3 - db "@" - -Route20EndBattleText3: - TX_FAR _Route20EndBattleText3 - db "@" - -Route20AfterBattleText3: - TX_FAR _Route20AfterBattleText3 - db "@" - -Route20BattleText4: - TX_FAR _Route20BattleText4 - db "@" - -Route20EndBattleText4: - TX_FAR _Route20EndBattleText4 - db "@" - -Route20AfterBattleText4: - TX_FAR _Route20AfterBattleText4 - db "@" - -Route20BattleText5: - TX_FAR _Route20BattleText5 - db "@" - -Route20EndBattleText5: - TX_FAR _Route20EndBattleText5 - db "@" - -Route20AfterBattleText5: - TX_FAR _Route20AfterBattleText5 - db "@" - -Route20BattleText6: - TX_FAR _Route20BattleText6 - db "@" - -Route20EndBattleText6: - TX_FAR _Route20EndBattleText6 - db "@" - -Route20AfterBattleText6: - TX_FAR _Route20AfterBattleText6 - db "@" - -Route20BattleText7: - TX_FAR _Route20BattleText7 - db "@" - -Route20EndBattleText7: - TX_FAR _Route20EndBattleText7 - db "@" - -Route20AfterBattleText7: - TX_FAR _Route20AfterBattleText7 - db "@" - -Route20BattleText8: - TX_FAR _Route20BattleText8 - db "@" - -Route20EndBattleText8: - TX_FAR _Route20EndBattleText8 - db "@" - -Route20AfterBattleText8: - TX_FAR _Route20AfterBattleText8 - db "@" - -Route20BattleText9: - TX_FAR _Route20BattleText9 - db "@" - -Route20EndBattleText9: - TX_FAR _Route20EndBattleText9 - db "@" - -Route20AfterBattleText9: - TX_FAR _Route20AfterBattleText9 - db "@" - -Route20BattleText10: - TX_FAR _Route20BattleText10 - db "@" - -Route20EndBattleText10: - TX_FAR _Route20EndBattleText10 - db "@" - -Route20AfterBattleText10: - TX_FAR _Route20AfterBattleText10 - db "@" - -Route20Text12: -Route20Text11: - TX_FAR _Route20Text11 - db "@" diff --git a/scripts/route21.asm b/scripts/route21.asm deleted file mode 100755 index dcdc8022..00000000 --- a/scripts/route21.asm +++ /dev/null @@ -1,269 +0,0 @@ -Route21Script: - call EnableAutoTextBoxDrawing - ld hl, Route21TrainerHeader0 - ld de, Route21ScriptPointers - ld a, [wRoute21CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute21CurScript], a - ret - -Route21ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Route21TextPointers: - dw Route21Text1 - dw Route21Text2 - dw Route21Text3 - dw Route21Text4 - dw Route21Text5 - dw Route21Text6 - dw Route21Text7 - dw Route21Text8 - dw Route21Text9 - -Route21TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_0 - dw Route21BattleText1 ; TextBeforeBattle - dw Route21AfterBattleText1 ; TextAfterBattle - dw Route21EndBattleText1 ; TextEndBattle - dw Route21EndBattleText1 ; TextEndBattle - -Route21TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_1 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_1 - dw Route21BattleText2 ; TextBeforeBattle - dw Route21AfterBattleText2 ; TextAfterBattle - dw Route21EndBattleText2 ; TextEndBattle - dw Route21EndBattleText2 ; TextEndBattle - -Route21TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_2 - dw Route21BattleText3 ; TextBeforeBattle - dw Route21AfterBattleText3 ; TextAfterBattle - dw Route21EndBattleText3 ; TextEndBattle - dw Route21EndBattleText3 ; TextEndBattle - -Route21TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_3 - dw Route21BattleText4 ; TextBeforeBattle - dw Route21AfterBattleText4 ; TextAfterBattle - dw Route21EndBattleText4 ; TextEndBattle - dw Route21EndBattleText4 ; TextEndBattle - -Route21TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_4 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_4 - dw Route21BattleText5 ; TextBeforeBattle - dw Route21AfterBattleText5 ; TextAfterBattle - dw Route21EndBattleText5 ; TextEndBattle - dw Route21EndBattleText5 ; TextEndBattle - -Route21TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_5 - dw Route21BattleText6 ; TextBeforeBattle - dw Route21AfterBattleText6 ; TextAfterBattle - dw Route21EndBattleText6 ; TextEndBattle - dw Route21EndBattleText6 ; TextEndBattle - -Route21TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_6 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_6 - dw Route21BattleText7 ; TextBeforeBattle - dw Route21AfterBattleText7 ; TextAfterBattle - dw Route21EndBattleText7 ; TextEndBattle - dw Route21EndBattleText7 ; TextEndBattle - -Route21TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_7, 1 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_7, 1 - dw Route21BattleText8 ; TextBeforeBattle - dw Route21AfterBattleText8 ; TextAfterBattle - dw Route21EndBattleText8 ; TextEndBattle - dw Route21EndBattleText8 ; TextEndBattle - -Route21TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_8, 1 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_8, 1 - dw Route21BattleText9 ; TextBeforeBattle - dw Route21AfterBattleText9 ; TextAfterBattle - dw Route21EndBattleText9 ; TextEndBattle - dw Route21EndBattleText9 ; TextEndBattle - - db $ff - -Route21Text1: - TX_ASM - ld hl, Route21TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route21Text2: - TX_ASM - ld hl, Route21TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route21Text3: - TX_ASM - ld hl, Route21TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route21Text4: - TX_ASM - ld hl, Route21TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route21Text5: - TX_ASM - ld hl, Route21TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route21Text6: - TX_ASM - ld hl, Route21TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route21Text7: - TX_ASM - ld hl, Route21TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route21Text8: - TX_ASM - ld hl, Route21TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route21Text9: - TX_ASM - ld hl, Route21TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route21BattleText1: - TX_FAR _Route21BattleText1 - db "@" - -Route21EndBattleText1: - TX_FAR _Route21EndBattleText1 - db "@" - -Route21AfterBattleText1: - TX_FAR _Route21AfterBattleText1 - db "@" - -Route21BattleText2: - TX_FAR _Route21BattleText2 - db "@" - -Route21EndBattleText2: - TX_FAR _Route21EndBattleText2 - db "@" - -Route21AfterBattleText2: - TX_FAR _Route21AfterBattleText2 - db "@" - -Route21BattleText3: - TX_FAR _Route21BattleText3 - db "@" - -Route21EndBattleText3: - TX_FAR _Route21EndBattleText3 - db "@" - -Route21AfterBattleText3: - TX_FAR _Route21AfterBattleText3 - db "@" - -Route21BattleText4: - TX_FAR _Route21BattleText4 - db "@" - -Route21EndBattleText4: - TX_FAR _Route21EndBattleText4 - db "@" - -Route21AfterBattleText4: - TX_FAR _Route21AfterBattleText4 - db "@" - -Route21BattleText5: - TX_FAR _Route21BattleText5 - db "@" - -Route21EndBattleText5: - TX_FAR _Route21EndBattleText5 - db "@" - -Route21AfterBattleText5: - TX_FAR _Route21AfterBattleText5 - db "@" - -Route21BattleText6: - TX_FAR _Route21BattleText6 - db "@" - -Route21EndBattleText6: - TX_FAR _Route21EndBattleText6 - db "@" - -Route21AfterBattleText6: - TX_FAR _Route21AfterBattleText6 - db "@" - -Route21BattleText7: - TX_FAR _Route21BattleText7 - db "@" - -Route21EndBattleText7: - TX_FAR _Route21EndBattleText7 - db "@" - -Route21AfterBattleText7: - TX_FAR _Route21AfterBattleText7 - db "@" - -Route21BattleText8: - TX_FAR _Route21BattleText8 - db "@" - -Route21EndBattleText8: - TX_FAR _Route21EndBattleText8 - db "@" - -Route21AfterBattleText8: - TX_FAR _Route21AfterBattleText8 - db "@" - -Route21BattleText9: - TX_FAR _Route21BattleText9 - db "@" - -Route21EndBattleText9: - TX_FAR _Route21EndBattleText9 - db "@" - -Route21AfterBattleText9: - TX_FAR _Route21AfterBattleText9 - db "@" diff --git a/scripts/route22.asm b/scripts/route22.asm deleted file mode 100755 index 86c3768b..00000000 --- a/scripts/route22.asm +++ /dev/null @@ -1,445 +0,0 @@ -Route22Script: - call EnableAutoTextBoxDrawing - ld hl, Route22ScriptPointers - ld a, [wRoute22CurScript] - jp CallFunctionInTable - -Route22ScriptPointers: - dw Route22Script0 - dw Route22Script1 - dw Route22Script2 - dw Route22Script3 - dw Route22Script4 - dw Route22Script5 - dw Route22Script6 - dw Route22Script7 - -Route22Script_50ece: - xor a - ld [wJoyIgnore], a - ld [wRoute22CurScript], a -Route22Script7: - ret - -Route22Script_50ed6: - ld a, [wRivalStarter] - ld b, a -.asm_50eda - ld a, [hli] - cp b - jr z, .asm_50ee1 - inc hl - jr .asm_50eda -.asm_50ee1 - ld a, [hl] - ld [wTrainerNo], a - ret - -Route22MoveRivalSprite: - ld de, Route22RivalMovementData - ld a, [wcf0d] - cp $1 - jr z, .asm_50ef1 - inc de -.asm_50ef1 - call MoveSprite - ld a, SPRITE_FACING_RIGHT - ld [hSpriteFacingDirection], a - jp SetSpriteFacingDirectionAndDelay - -Route22RivalMovementData: - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db $FF - -Route22Script0: - CheckEvent EVENT_ROUTE22_RIVAL_WANTS_BATTLE - ret z - ld hl, .Route22RivalBattleCoords - call ArePlayerCoordsInArray - ret nc - ld a, [wCoordIndex] - ld [wcf0d], a - xor a - ld [hJoyHeld], a - ld a, $f0 - ld [wJoyIgnore], a - ld a, PLAYER_DIR_LEFT - ld [wPlayerMovingDirection], a - CheckEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE - jr nz, .firstRivalBattle - CheckEventReuseA EVENT_2ND_ROUTE22_RIVAL_BATTLE ; is this the rival at the end of the game? - jp nz, Route22Script_5104e - ret - -.Route22RivalBattleCoords - db $04, $1D - db $05, $1D - db $FF - -.firstRivalBattle - ld a, $1 - ld [wEmotionBubbleSpriteIndex], a - xor a ; EXCLAMATION_BUBBLE - ld [wWhichEmotionBubble], a - predef EmotionBubble - ld a, [wWalkBikeSurfState] - and a - jr z, .asm_50f4e - ld a, $ff - ld [wNewSoundID], a - call PlaySound -.asm_50f4e - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic - ld a, $1 - ld [H_SPRITEINDEX], a - call Route22MoveRivalSprite - ld a, $1 - ld [wRoute22CurScript], a - ret - -Route22Script1: - ld a, [wd730] - bit 0, a - ret nz - ld a, [wcf0d] - cp $1 - jr nz, .asm_50f78 - ld a, PLAYER_DIR_DOWN - ld [wPlayerMovingDirection], a - ld a, SPRITE_FACING_UP - jr .asm_50f7a -.asm_50f78 - ld a, SPRITE_FACING_RIGHT -.asm_50f7a - ld [hSpriteFacingDirection], a - ld a, $1 - ld [H_SPRITEINDEX], a - call SetSpriteFacingDirectionAndDelay - xor a - ld [wJoyIgnore], a - ld a, $1 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, Route22RivalDefeatedText1 - ld de, Route22Text_511bc - call SaveEndBattleTextPointers - ld a, OPP_SONY1 - ld [wCurOpponent], a - ld hl, StarterMons_50faf - call Route22Script_50ed6 - ld a, $2 - ld [wRoute22CurScript], a - ret - -StarterMons_50faf: -; starter the rival picked, rival trainer number - db STARTER2,$04 - db STARTER3,$05 - db STARTER1,$06 - -Route22Script2: - ld a, [wIsInBattle] - cp $ff - jp z, Route22Script_50ece - ld a, [wSpriteStateData1 + 9] - and a ; cp SPRITE_FACING_DOWN - jr nz, .notDown - ld a, SPRITE_FACING_UP - jr .done -.notDown - ld a, SPRITE_FACING_RIGHT -.done - ld [hSpriteFacingDirection], a - ld a, $1 - ld [H_SPRITEINDEX], a - call SetSpriteFacingDirectionAndDelay - ld a, $f0 - ld [wJoyIgnore], a - SetEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE - ld a, $1 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $ff - ld [wNewSoundID], a - call PlaySound - callba Music_RivalAlternateStart - ld a, [wcf0d] - cp $1 - jr nz, .asm_50fff - call Route22Script_51008 - jr .asm_51002 -.asm_50fff - call Route22Script_5100d -.asm_51002 - ld a, $3 - ld [wRoute22CurScript], a - ret - -Route22Script_51008: - ld de, Route22RivalExitMovementData1 - jr Route22MoveRival1 - -Route22Script_5100d: - ld de, Route22RivalExitMovementData2 -Route22MoveRival1: - ld a, $1 - ld [H_SPRITEINDEX], a - jp MoveSprite - -Route22RivalExitMovementData1: - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -Route22RivalExitMovementData2: - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -Route22Script3: - ld a, [wd730] - bit 0, a - ret nz - xor a - ld [wJoyIgnore], a - ld a, HS_ROUTE_22_RIVAL_1 - ld [wMissableObjectIndex], a - predef HideObject - call PlayDefaultMusic - ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE - ld a, $0 - ld [wRoute22CurScript], a - ret - -Route22Script_5104e: - ld a, $2 - ld [wEmotionBubbleSpriteIndex], a - xor a ; EXCLAMATION_BUBBLE - ld [wWhichEmotionBubble], a - predef EmotionBubble - ld a, [wWalkBikeSurfState] - and a - jr z, .skipYVisibilityTesta - ld a, $ff - ld [wNewSoundID], a - call PlaySound -.skipYVisibilityTesta - ld a, $ff - ld [wNewSoundID], a - call PlaySound - callba Music_RivalAlternateTempo - ld a, $2 - ld [H_SPRITEINDEX], a - call Route22MoveRivalSprite - ld a, $4 - ld [wRoute22CurScript], a - ret - -Route22Script4: - ld a, [wd730] - bit 0, a - ret nz - ld a, $2 - ld [H_SPRITEINDEX], a - ld a, [wcf0d] - cp $1 - jr nz, .asm_510a1 - ld a, PLAYER_DIR_DOWN - ld [wPlayerMovingDirection], a - ld a, SPRITE_FACING_UP - jr .asm_510a8 -.asm_510a1 - ld a, PLAYER_DIR_LEFT - ld [wPlayerMovingDirection], a - ld a, SPRITE_FACING_RIGHT -.asm_510a8 - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - xor a - ld [wJoyIgnore], a - ld a, $2 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, Route22RivalDefeatedText2 - ld de, Route22Text_511d0 - call SaveEndBattleTextPointers - ld a, OPP_SONY2 - ld [wCurOpponent], a - ld hl, StarterMons_510d9 - call Route22Script_50ed6 - ld a, $5 - ld [wRoute22CurScript], a - ret - -StarterMons_510d9: - db STARTER2,$0a - db STARTER3,$0b - db STARTER1,$0c - -Route22Script5: - ld a, [wIsInBattle] - cp $ff - jp z, Route22Script_50ece - ld a, $2 - ld [H_SPRITEINDEX], a - ld a, [wcf0d] - cp $1 - jr nz, .asm_510fb - ld a, PLAYER_DIR_DOWN - ld [wPlayerMovingDirection], a - ld a, SPRITE_FACING_UP - jr .asm_51102 -.asm_510fb - ld a, PLAYER_DIR_LEFT - ld [wPlayerMovingDirection], a - ld a, SPRITE_FACING_RIGHT -.asm_51102 - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, $f0 - ld [wJoyIgnore], a - SetEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE - ld a, $2 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $ff - ld [wNewSoundID], a - call PlaySound - callba Music_RivalAlternateStartAndTempo - ld a, [wcf0d] - cp $1 - jr nz, .asm_51134 - call Route22Script_5113d - jr .asm_51137 -.asm_51134 - call Route22Script_51142 -.asm_51137 - ld a, $6 - ld [wRoute22CurScript], a - ret - -Route22Script_5113d: - ld de, MovementData_5114c - jr Route22MoveRival2 - -Route22Script_51142: - ld de, MovementData_5114d -Route22MoveRival2: - ld a, $2 - ld [H_SPRITEINDEX], a - jp MoveSprite - -MovementData_5114c: - db NPC_MOVEMENT_LEFT - -MovementData_5114d: - db NPC_MOVEMENT_LEFT - db NPC_MOVEMENT_LEFT - db NPC_MOVEMENT_LEFT - db $FF - -Route22Script6: - ld a, [wd730] - bit 0, a - ret nz - xor a - ld [wJoyIgnore], a - ld a, HS_ROUTE_22_RIVAL_2 - ld [wMissableObjectIndex], a - predef HideObject - call PlayDefaultMusic - ResetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE - ld a, $7 - ld [wRoute22CurScript], a - ret - -Route22TextPointers: - dw Route22Text1 - dw Route22Text2 - dw Route22FrontGateText - -Route22Text1: - TX_ASM - CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE - jr z, .asm_5118b - ld hl, Route22RivalAfterBattleText1 - call PrintText - jr .asm_51191 -.asm_5118b - ld hl, Route22RivalBeforeBattleText1 - call PrintText -.asm_51191 - jp TextScriptEnd - -Route22Text2: - TX_ASM - CheckEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE - jr z, .asm_511a4 - ld hl, Route22RivalAfterBattleText2 - call PrintText - jr .asm_511aa -.asm_511a4 - ld hl, Route22RivalBeforeBattleText2 - call PrintText -.asm_511aa - jp TextScriptEnd - -Route22RivalBeforeBattleText1: - TX_FAR _Route22RivalBeforeBattleText1 - db "@" - -Route22RivalAfterBattleText1: - TX_FAR _Route22RivalAfterBattleText1 - db "@" - -Route22RivalDefeatedText1: - TX_FAR _Route22RivalDefeatedText1 - db "@" - -Route22Text_511bc: - TX_FAR _Route22Text_511bc - db "@" - -Route22RivalBeforeBattleText2: - TX_FAR _Route22RivalBeforeBattleText2 - db "@" - -Route22RivalAfterBattleText2: - TX_FAR _Route22RivalAfterBattleText2 - db "@" - -Route22RivalDefeatedText2: - TX_FAR _Route22RivalDefeatedText2 - db "@" - -Route22Text_511d0: - TX_FAR _Route22Text_511d0 - db "@" - -Route22FrontGateText: - TX_FAR _Route22FrontGateText - db "@" diff --git a/scripts/route22gate.asm b/scripts/route22gate.asm deleted file mode 100755 index ee2e5b6b..00000000 --- a/scripts/route22gate.asm +++ /dev/null @@ -1,93 +0,0 @@ -Route22GateScript: - call EnableAutoTextBoxDrawing - ld hl, Route22GateScriptPointers - ld a, [wRoute22GateCurScript] - call CallFunctionInTable - ld a, [wYCoord] - cp $4 - ld a, ROUTE_23 - jr c, .asm_1e69a - ld a, ROUTE_22 -.asm_1e69a - ld [wLastMap], a - ret - -Route22GateScriptPointers: - dw Route22GateScript0 - dw Route22GateScript1 - dw Route22GateScript2 - -Route22GateScript0: - ld hl, Route22GateScriptCoords - call ArePlayerCoordsInArray - ret nc - xor a - ld [hJoyHeld], a - ld a, $1 - ld [hSpriteIndexOrTextID], a - jp DisplayTextID - -Route22GateScriptCoords: - db 2,4 - db 2,5 - db $ff - -Route22GateScript_1e6ba: - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - ld a, D_DOWN - ld [wSimulatedJoypadStatesEnd], a - ld [wSpriteStateData1 + 9], a - ld [wJoyIgnore], a - jp StartSimulatingJoypadStates - -Route22GateScript1: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - xor a - ld [wJoyIgnore], a - call Delay3 - ld a, $0 - ld [wRoute22GateCurScript], a -Route22GateScript2: - ret - -Route22GateTextPointers: - dw Route22GateText1 - -Route22GateText1: - TX_ASM - ld a, [wObtainedBadges] - bit 0, a - jr nz, .asm_1e6f6 - ld hl, Route22GateText_1e704 - call PrintText - call Route22GateScript_1e6ba - ld a, $1 - jr .asm_1e6fe -.asm_1e6f6 - ld hl, Route22GateText_1e71a - call PrintText - ld a, $2 -.asm_1e6fe - ld [wRoute22GateCurScript], a - jp TextScriptEnd - -Route22GateText_1e704: - TX_FAR _Route22GateText_1e704 - TX_ASM - ld a, SFX_DENIED - call PlaySoundWaitForCurrent - call WaitForSoundToFinish - ld hl, Route22GateText_1e715 - ret - -Route22GateText_1e715: - TX_FAR _Route22GateText_1e715 - db "@" - -Route22GateText_1e71a: - TX_FAR _Route22GateText_1e71a - TX_SFX_ITEM_1 - db "@" diff --git a/scripts/route23.asm b/scripts/route23.asm deleted file mode 100755 index 4eb6b5f7..00000000 --- a/scripts/route23.asm +++ /dev/null @@ -1,236 +0,0 @@ -Route23Script: - call Route23Script_511e9 - call EnableAutoTextBoxDrawing - ld hl, Route23ScriptPointers - ld a, [wRoute23CurScript] - jp CallFunctionInTable - -Route23Script_511e9: - ld hl, wCurrentMapScriptFlags - bit 6, [hl] - res 6, [hl] - ret z - ResetEvents EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2 - ResetEvents EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1, EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 - ld a, HS_VICTORY_ROAD_3_BOULDER - ld [wMissableObjectIndex], a - predef ShowObject - ld a, HS_VICTORY_ROAD_2_BOULDER - ld [wMissableObjectIndex], a - predef_jump HideObject - -Route23ScriptPointers: - dw Route23Script0 - dw Route23Script1 - dw Route23Script2 - -Route23Script0: - ld hl, YCoordsData_51255 - ld a, [wYCoord] - ld b, a - ld e, $0 - EventFlagBit c, EVENT_PASSED_EARTHBADGE_CHECK + 1, EVENT_PASSED_CASCADEBADGE_CHECK -.asm_51224 - ld a, [hli] - cp $ff - ret z - inc e - dec c - cp b - jr nz, .asm_51224 - cp $23 - jr nz, .asm_51237 - ld a, [wXCoord] - cp $e - ret nc -.asm_51237 - ld a, e - ld [hSpriteIndexOrTextID], a - ld a, c - ld [wWhichBadge], a - ld b, FLAG_TEST - EventFlagAddress hl, EVENT_PASSED_CASCADEBADGE_CHECK - predef FlagActionPredef - ld a, c - and a - ret nz - call Route23Script_5125d - call DisplayTextID - xor a - ld [hJoyHeld], a - ret - -YCoordsData_51255: - db $23,$38,$55,$60,$69,$77,$88,$FF - -Route23Script_5125d: - ld hl, BadgeTextPointers - ld a, [wWhichBadge] - ld c, a - ld b, 0 - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wcd6d -.copyTextLoop - ld a, [hli] - ld [de], a - inc de - cp "@" - jr nz, .copyTextLoop - ret - -BadgeTextPointers: - dw CascadeBadgeText - dw ThunderBadgeText - dw RainbowBadgeText - dw SoulBadgeText - dw MarshBadgeText - dw VolcanoBadgeText - dw EarthBadgeText - -EarthBadgeText: - db "EARTHBADGE@" - -VolcanoBadgeText: - db "VOLCANOBADGE@" - -MarshBadgeText: - db "MARSHBADGE@" - -SoulBadgeText: - db "SOULBADGE@" - -RainbowBadgeText: - db "RAINBOWBADGE@" - -ThunderBadgeText: - db "THUNDERBADGE@" - -CascadeBadgeText: - db "CASCADEBADGE@" - -Route23Script_512d8: - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - ld a, D_DOWN - ld [wSimulatedJoypadStatesEnd], a - xor a - ld [wSpriteStateData1 + 9], a - ld [wJoyIgnore], a - jp StartSimulatingJoypadStates - -Route23Script1: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz -Route23Script2: - ld a, $0 - ld [wRoute23CurScript], a - ret - -Route23TextPointers: - dw Route23Text1 - dw Route23Text2 - dw Route23Text3 - dw Route23Text4 - dw Route23Text5 - dw Route23Text6 - dw Route23Text7 - dw Route23Text8 - -Route23Text1: - TX_ASM - EventFlagBit a, EVENT_PASSED_EARTHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK - call Route23Script_51346 - jp TextScriptEnd - -Route23Text2: - TX_ASM - EventFlagBit a, EVENT_PASSED_VOLCANOBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK - call Route23Script_51346 - jp TextScriptEnd - -Route23Text3: - TX_ASM - EventFlagBit a, EVENT_PASSED_MARSHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK - call Route23Script_51346 - jp TextScriptEnd - -Route23Text4: - TX_ASM - EventFlagBit a, EVENT_PASSED_SOULBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK - call Route23Script_51346 - jp TextScriptEnd - -Route23Text5: - TX_ASM - EventFlagBit a, EVENT_PASSED_RAINBOWBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK - call Route23Script_51346 - jp TextScriptEnd - -Route23Text6: - TX_ASM - EventFlagBit a, EVENT_PASSED_THUNDERBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK - call Route23Script_51346 - jp TextScriptEnd - -Route23Text7: - TX_ASM - EventFlagBit a, EVENT_PASSED_CASCADEBADGE_CHECK - call Route23Script_51346 - jp TextScriptEnd - -Route23Script_51346: - ld [wWhichBadge], a - call Route23Script_5125d - ld a, [wWhichBadge] - inc a - ld c, a - ld b, FLAG_TEST - ld hl, wObtainedBadges - predef FlagActionPredef - ld a, c - and a - jr nz, .asm_5136e - ld hl, VictoryRoadGuardText1 - call PrintText - call Route23Script_512d8 - ld a, $1 - ld [wRoute23CurScript], a - ret -.asm_5136e - ld hl, VictoryRoadGuardText2 - call PrintText - ld a, [wWhichBadge] - ld c, a - ld b, FLAG_SET - EventFlagAddress hl, EVENT_PASSED_CASCADEBADGE_CHECK - predef FlagActionPredef - ld a, $2 - ld [wRoute23CurScript], a - ret - -Route23Script_51388: - ld hl, VictoryRoadGuardText2 - jp PrintText - -VictoryRoadGuardText1: - TX_FAR _VictoryRoadGuardText1 - TX_ASM - ld a, SFX_DENIED - call PlaySoundWaitForCurrent - call WaitForSoundToFinish - jp TextScriptEnd - -VictoryRoadGuardText2: - TX_FAR _VictoryRoadGuardText2 - TX_SFX_ITEM_1 - TX_FAR _VictoryRoadGuardText_513a3 - db "@" - -Route23Text8: - TX_FAR _Route23Text8 - db "@" diff --git a/scripts/route24.asm b/scripts/route24.asm deleted file mode 100755 index f55d2268..00000000 --- a/scripts/route24.asm +++ /dev/null @@ -1,319 +0,0 @@ -Route24Script: - call EnableAutoTextBoxDrawing - ld hl, Route24TrainerHeader0 - ld de, Route24ScriptPointers - ld a, [wRoute24CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute24CurScript], a - ret - -Route24Script_513c0: - xor a - ld [wJoyIgnore], a - ld [wRoute24CurScript], a - ld [wCurMapScript], a - ret - -Route24ScriptPointers: - dw Route24Script0 - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw Route24Script3 - dw Route24Script4 - -Route24Script0: - CheckEvent EVENT_GOT_NUGGET - jp nz, CheckFightingMapTrainers - ld hl, CoordsData_5140e - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - xor a - ld [hJoyHeld], a - ld a, $1 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - CheckAndResetEvent EVENT_NUGGET_REWARD_AVAILABLE - ret z - ld a, D_DOWN - ld [wSimulatedJoypadStatesEnd], a - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld a, $4 - ld [wRoute24CurScript], a - ld [wCurMapScript], a - ret - -CoordsData_5140e: - db $0F,$0A,$FF - -Route24Script4: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - call Delay3 - ld a, $0 - ld [wRoute24CurScript], a - ld [wCurMapScript], a - ret - -Route24Script3: - ld a, [wIsInBattle] - cp $ff - jp z, Route24Script_513c0 - call UpdateSprites - ld a, $f0 - ld [wJoyIgnore], a - SetEvent EVENT_BEAT_ROUTE24_ROCKET - ld a, $1 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [wJoyIgnore], a - ld a, $0 - ld [wRoute24CurScript], a - ld [wCurMapScript], a - ret - -Route24TextPointers: - dw Route24Text1 - dw Route24Text2 - dw Route24Text3 - dw Route24Text4 - dw Route24Text5 - dw Route24Text6 - dw Route24Text7 - dw PickUpItemText - -Route24TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_0 - dw Route24BattleText1 ; TextBeforeBattle - dw Route24AfterBattleText1 ; TextAfterBattle - dw Route24EndBattleText1 ; TextEndBattle - dw Route24EndBattleText1 ; TextEndBattle - -Route24TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_1 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_1 - dw Route24BattleText2 ; TextBeforeBattle - dw Route24AfterBattleText2 ; TextAfterBattle - dw Route24EndBattleText2 ; TextEndBattle - dw Route24EndBattleText2 ; TextEndBattle - -Route24TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_2 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_2 - dw Route24BattleText3 ; TextBeforeBattle - dw Route24AfterBattleText3 ; TextAfterBattle - dw Route24EndBattleText3 ; TextEndBattle - dw Route24EndBattleText3 ; TextEndBattle - -Route24TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_3 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_3 - dw Route24BattleText4 ; TextBeforeBattle - dw Route24AfterBattleText4 ; TextAfterBattle - dw Route24EndBattleText4 ; TextEndBattle - dw Route24EndBattleText4 ; TextEndBattle - -Route24TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_4 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_4 - dw Route24BattleText5 ; TextBeforeBattle - dw Route24AfterBattleText5 ; TextAfterBattle - dw Route24EndBattleText5 ; TextEndBattle - dw Route24EndBattleText5 ; TextEndBattle - -Route24TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_5 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_5 - dw Route24BattleText6 ; TextBeforeBattle - dw Route24AfterBattleText6 ; TextAfterBattle - dw Route24EndBattleText6 ; TextEndBattle - dw Route24EndBattleText6 ; TextEndBattle - - db $ff - -Route24Text1: - TX_ASM - ResetEvent EVENT_NUGGET_REWARD_AVAILABLE - CheckEvent EVENT_GOT_NUGGET - jr nz, .asm_514f9 - ld hl, Route24Text_51510 - call PrintText - lb bc, NUGGET, 1 - call GiveItem - jr nc, .BagFull - SetEvent EVENT_GOT_NUGGET - ld hl, Route24Text_5151a - call PrintText - ld hl, Route24Text_51526 - call PrintText - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, Route24Text_5152b - ld de, Route24Text_5152b - call SaveEndBattleTextPointers - ld a, [hSpriteIndexOrTextID] - ld [wSpriteIndex], a - call EngageMapTrainer - call InitBattleEnemyParameters - xor a - ld [hJoyHeld], a - ld a, $3 - ld [wRoute24CurScript], a - ld [wCurMapScript], a - jp TextScriptEnd -.asm_514f9 - ld hl, Route24Text_51530 - call PrintText - jp TextScriptEnd -.BagFull - ld hl, Route24Text_51521 - call PrintText - SetEvent EVENT_NUGGET_REWARD_AVAILABLE - jp TextScriptEnd - -Route24Text_51510: - TX_FAR _Route24Text_51510 - TX_SFX_ITEM_1 - TX_FAR _Route24Text_51515 - db "@" - -Route24Text_5151a: - TX_FAR _Route24Text_5151a - TX_SFX_ITEM_1 - TX_BLINK - db "@" - -Route24Text_51521: - TX_FAR _Route24Text_51521 - db "@" - -Route24Text_51526: - TX_FAR _Route24Text_51526 - db "@" - -Route24Text_5152b: - TX_FAR _Route24Text_5152b - db "@" - -Route24Text_51530: - TX_FAR _Route24Text_51530 - db "@" - -Route24Text2: - TX_ASM - ld hl, Route24TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route24Text3: - TX_ASM - ld hl, Route24TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route24Text4: - TX_ASM - ld hl, Route24TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route24Text5: - TX_ASM - ld hl, Route24TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route24Text6: - TX_ASM - ld hl, Route24TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route24Text7: - TX_ASM - ld hl, Route24TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route24BattleText1: - TX_FAR _Route24BattleText1 - db "@" - -Route24EndBattleText1: - TX_FAR _Route24EndBattleText1 - db "@" - -Route24AfterBattleText1: - TX_FAR _Route24AfterBattleText1 - db "@" - -Route24BattleText2: - TX_FAR _Route24BattleText2 - db "@" - -Route24EndBattleText2: - TX_FAR _Route24EndBattleText2 - db "@" - -Route24AfterBattleText2: - TX_FAR _Route24AfterBattleText2 - db "@" - -Route24BattleText3: - TX_FAR _Route24BattleText3 - db "@" - -Route24EndBattleText3: - TX_FAR _Route24EndBattleText3 - db "@" - -Route24AfterBattleText3: - TX_FAR _Route24AfterBattleText3 - db "@" - -Route24BattleText4: - TX_FAR _Route24BattleText4 - db "@" - -Route24EndBattleText4: - TX_FAR _Route24EndBattleText4 - db "@" - -Route24AfterBattleText4: - TX_FAR _Route24AfterBattleText4 - db "@" - -Route24BattleText5: - TX_FAR _Route24BattleText5 - db "@" - -Route24EndBattleText5: - TX_FAR _Route24EndBattleText5 - db "@" - -Route24AfterBattleText5: - TX_FAR _Route24AfterBattleText5 - db "@" - -Route24BattleText6: - TX_FAR _Route24BattleText6 - db "@" - -Route24EndBattleText6: - TX_FAR _Route24EndBattleText6 - db "@" - -Route24AfterBattleText6: - TX_FAR _Route24AfterBattleText6 - db "@" diff --git a/scripts/route25.asm b/scripts/route25.asm deleted file mode 100755 index c83c725b..00000000 --- a/scripts/route25.asm +++ /dev/null @@ -1,303 +0,0 @@ -Route25Script: - call Route25Script_515e1 - call EnableAutoTextBoxDrawing - ld hl, Route25TrainerHeader0 - ld de, Route25ScriptPointers - ld a, [wRoute25CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute25CurScript], a - ret - -Route25Script_515e1: - ld hl, wCurrentMapScriptFlags - bit 6, [hl] - res 6, [hl] - ret z - CheckEventHL EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING - ret nz - CheckEventReuseHL EVENT_MET_BILL_2 - jr nz, .asm_515ff - ResetEventReuseHL EVENT_BILL_SAID_USE_CELL_SEPARATOR - ld a, HS_BILL_POKEMON - ld [wMissableObjectIndex], a - predef_jump ShowObject -.asm_515ff - CheckEventAfterBranchReuseHL EVENT_GOT_SS_TICKET, EVENT_MET_BILL_2 - ret z - SetEventReuseHL EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING - ld a, HS_NUGGET_BRIDGE_GUY - ld [wMissableObjectIndex], a - predef HideObject - ld a, HS_BILL_1 - ld [wMissableObjectIndex], a - predef HideObject - ld a, HS_BILL_2 - ld [wMissableObjectIndex], a - predef_jump ShowObject - -Route25ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Route25TextPointers: - dw Route25Text1 - dw Route25Text2 - dw Route25Text3 - dw Route25Text4 - dw Route25Text5 - dw Route25Text6 - dw Route25Text7 - dw Route25Text8 - dw Route25Text9 - dw PickUpItemText - dw Route25Text11 - -Route25TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_0 - dw Route25BattleText1 ; TextBeforeBattle - dw Route25AfterBattleText1 ; TextAfterBattle - dw Route25EndBattleText1 ; TextEndBattle - dw Route25EndBattleText1 ; TextEndBattle - -Route25TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_1 - dw Route25BattleText2 ; TextBeforeBattle - dw Route25AfterBattleText2 ; TextAfterBattle - dw Route25EndBattleText2 ; TextEndBattle - dw Route25EndBattleText2 ; TextEndBattle - -Route25TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_2 - dw Route25BattleText3 ; TextBeforeBattle - dw Route25AfterBattleText3 ; TextAfterBattle - dw Route25EndBattleText3 ; TextEndBattle - dw Route25EndBattleText3 ; TextEndBattle - -Route25TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_3 - dw Route25BattleText4 ; TextBeforeBattle - dw Route25AfterBattleText4 ; TextAfterBattle - dw Route25EndBattleText4 ; TextEndBattle - dw Route25EndBattleText4 ; TextEndBattle - -Route25TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_4 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_4 - dw Route25BattleText5 ; TextBeforeBattle - dw Route25AfterBattleText5 ; TextAfterBattle - dw Route25EndBattleText5 ; TextEndBattle - dw Route25EndBattleText5 ; TextEndBattle - -Route25TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_5 - dw Route25BattleText6 ; TextBeforeBattle - dw Route25AfterBattleText6 ; TextAfterBattle - dw Route25EndBattleText6 ; TextEndBattle - dw Route25EndBattleText6 ; TextEndBattle - -Route25TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_6 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_6 - dw Route25BattleText7 ; TextBeforeBattle - dw Route25AfterBattleText7 ; TextAfterBattle - dw Route25EndBattleText7 ; TextEndBattle - dw Route25EndBattleText7 ; TextEndBattle - -Route25TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_7, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_7, 1 - dw Route25BattleText8 ; TextBeforeBattle - dw Route25AfterBattleText8 ; TextAfterBattle - dw Route25EndBattleText8 ; TextEndBattle - dw Route25EndBattleText8 ; TextEndBattle - -Route25TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_8, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_8, 1 - dw Route25BattleText9 ; TextBeforeBattle - dw Route25AfterBattleText9 ; TextAfterBattle - dw Route25EndBattleText9 ; TextEndBattle - dw Route25EndBattleText9 ; TextEndBattle - - db $ff - -Route25Text1: - TX_ASM - ld hl, Route25TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route25Text2: - TX_ASM - ld hl, Route25TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route25Text3: - TX_ASM - ld hl, Route25TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route25Text4: - TX_ASM - ld hl, Route25TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route25Text5: - TX_ASM - ld hl, Route25TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route25Text6: - TX_ASM - ld hl, Route25TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route25Text7: - TX_ASM - ld hl, Route25TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route25Text8: - TX_ASM - ld hl, Route25TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route25Text9: - TX_ASM - ld hl, Route25TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route25BattleText1: - TX_FAR _Route25BattleText1 - db "@" - -Route25EndBattleText1: - TX_FAR _Route25EndBattleText1 - db "@" - -Route25AfterBattleText1: - TX_FAR _Route25AfterBattleText1 - db "@" - -Route25BattleText2: - TX_FAR _Route25BattleText2 - db "@" - -Route25EndBattleText2: - TX_FAR _Route25EndBattleText2 - db "@" - -Route25AfterBattleText2: - TX_FAR _Route25AfterBattleText2 - db "@" - -Route25BattleText3: - TX_FAR _Route25BattleText3 - db "@" - -Route25EndBattleText3: - TX_FAR _Route25EndBattleText3 - db "@" - -Route25AfterBattleText3: - TX_FAR _Route25AfterBattleText3 - db "@" - -Route25BattleText4: - TX_FAR _Route25BattleText4 - db "@" - -Route25EndBattleText4: - TX_FAR _Route25EndBattleText4 - db "@" - -Route25AfterBattleText4: - TX_FAR _Route25AfterBattleText4 - db "@" - -Route25BattleText5: - TX_FAR _Route25BattleText5 - db "@" - -Route25EndBattleText5: - TX_FAR _Route25EndBattleText5 - db "@" - -Route25AfterBattleText5: - TX_FAR _Route25AfterBattleText5 - db "@" - -Route25BattleText6: - TX_FAR _Route25BattleText6 - db "@" - -Route25EndBattleText6: - TX_FAR _Route25EndBattleText6 - db "@" - -Route25AfterBattleText6: - TX_FAR _Route25AfterBattleText6 - db "@" - -Route25BattleText7: - TX_FAR _Route25BattleText7 - db "@" - -Route25EndBattleText7: - TX_FAR _Route25EndBattleText7 - db "@" - -Route25AfterBattleText7: - TX_FAR _Route25AfterBattleText7 - db "@" - -Route25BattleText8: - TX_FAR _Route25BattleText8 - db "@" - -Route25EndBattleText8: - TX_FAR _Route25EndBattleText8 - db "@" - -Route25AfterBattleText8: - TX_FAR _Route25AfterBattleText8 - db "@" - -Route25BattleText9: - TX_FAR _Route25BattleText9 - db "@" - -Route25EndBattleText9: - TX_FAR _Route25EndBattleText9 - db "@" - -Route25AfterBattleText9: - TX_FAR _Route25AfterBattleText9 - db "@" - -Route25Text11: - TX_FAR _Route25Text11 - db "@" diff --git a/scripts/route2gate.asm b/scripts/route2gate.asm deleted file mode 100755 index 34f1aa35..00000000 --- a/scripts/route2gate.asm +++ /dev/null @@ -1,39 +0,0 @@ -Route2GateScript: - jp EnableAutoTextBoxDrawing - -Route2GateTextPointers: - dw Route2GateText1 - dw Route2GateText2 - -Route2GateText1: - TX_ASM - CheckEvent EVENT_GOT_HM05 - jr nz, .asm_5d60d - ld a, 10 ; pokemon needed - ld [hOaksAideRequirement], a - ld a, HM_05 ; oak's aide reward - ld [hOaksAideRewardItem], a - ld [wd11e], a - call GetItemName - ld hl, wcd6d - ld de, wOaksAideRewardItemName - ld bc, ITEM_NAME_LENGTH - call CopyData - predef OaksAideScript - ld a, [hOaksAideResult] - cp $1 - jr nz, .asm_5d613 - SetEvent EVENT_GOT_HM05 -.asm_5d60d - ld hl, Route2GateText_5d616 - call PrintText -.asm_5d613 - jp TextScriptEnd - -Route2GateText_5d616: - TX_FAR _Route2GateText_5d616 - db "@" - -Route2GateText2: - TX_FAR _Route2GateText2 - db "@" diff --git a/scripts/route2house.asm b/scripts/route2house.asm deleted file mode 100755 index 95055aec..00000000 --- a/scripts/route2house.asm +++ /dev/null @@ -1,17 +0,0 @@ -Route2HouseScript: - jp EnableAutoTextBoxDrawing - -Route2HouseTextPointers: - dw Route2HouseText1 - dw Route2HouseText2 - -Route2HouseText1: - TX_FAR _Route2HouseText1 - db "@" - -Route2HouseText2: - TX_ASM - ld a, $1 - ld [wWhichTrade], a - predef DoInGameTradeDialogue - jp TextScriptEnd diff --git a/scripts/route3.asm b/scripts/route3.asm deleted file mode 100755 index e4748b8c..00000000 --- a/scripts/route3.asm +++ /dev/null @@ -1,251 +0,0 @@ -Route3Script: - call EnableAutoTextBoxDrawing - ld hl, Route3TrainerHeader0 - ld de, Route3ScriptPointers - ld a, [wRoute3CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute3CurScript], a - ret - -Route3ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Route3TextPointers: - dw Route3Text1 - dw Route3Text2 - dw Route3Text3 - dw Route3Text4 - dw Route3Text5 - dw Route3Text6 - dw Route3Text7 - dw Route3Text8 - dw Route3Text9 - dw Route3Text10 - -Route3TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_0 - dw Route3BattleText1 ; TextBeforeBattle - dw Route3AfterBattleText1 ; TextAfterBattle - dw Route3EndBattleText1 ; TextEndBattle - dw Route3EndBattleText1 ; TextEndBattle - -Route3TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_1 - dw Route3BattleText2 ; TextBeforeBattle - dw Route3AfterBattleText2 ; TextAfterBattle - dw Route3EndBattleText2 ; TextEndBattle - dw Route3EndBattleText2 ; TextEndBattle - -Route3TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_2 - dw Route3BattleText3 ; TextBeforeBattle - dw Route3AfterBattleText3 ; TextAfterBattle - dw Route3EndBattleText3 ; TextEndBattle - dw Route3EndBattleText3 ; TextEndBattle - -Route3TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_3 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_3 - dw Route3BattleText4 ; TextBeforeBattle - dw Route3AfterBattleText4 ; TextAfterBattle - dw Route3EndBattleText4 ; TextEndBattle - dw Route3EndBattleText4 ; TextEndBattle - -Route3TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_4 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_4 - dw Route3BattleText5 ; TextBeforeBattle - dw Route3AfterBattleText5 ; TextAfterBattle - dw Route3EndBattleText5 ; TextEndBattle - dw Route3EndBattleText5 ; TextEndBattle - -Route3TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_5 - dw Route3BattleText6 ; TextBeforeBattle - dw Route3AfterBattleText6 ; TextAfterBattle - dw Route3EndBattleText6 ; TextEndBattle - dw Route3EndBattleText6 ; TextEndBattle - -Route3TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_6, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_6, 1 - dw Route3BattleText7 ; TextBeforeBattle - dw Route3AfterBattleText7 ; TextAfterBattle - dw Route3EndBattleText7 ; TextEndBattle - dw Route3EndBattleText7 ; TextEndBattle - -Route3TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_7, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_7, 1 - dw Route3BattleText8 ; TextBeforeBattle - dw Route3AfterBattleText8 ; TextAfterBattle - dw Route3EndBattleText8 ; TextEndBattle - dw Route3EndBattleText8 ; TextEndBattle - - db $ff - -Route3Text1: - TX_FAR _Route3Text1 - db "@" - -Route3Text2: - TX_ASM - ld hl, Route3TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route3BattleText1: - TX_FAR _Route3BattleText1 - db "@" - -Route3EndBattleText1: - TX_FAR _Route3EndBattleText1 - db "@" - -Route3AfterBattleText1: - TX_FAR _Route3AfterBattleText1 - db "@" - -Route3Text3: - TX_ASM - ld hl, Route3TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route3BattleText2: - TX_FAR _Route3BattleText2 - db "@" - -Route3EndBattleText2: - TX_FAR _Route3EndBattleText2 - db "@" - -Route3AfterBattleText2: - TX_FAR _Route3AfterBattleText2 - db "@" - -Route3Text4: - TX_ASM - ld hl, Route3TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route3BattleText3: - TX_FAR _Route3BattleText3 - db "@" - -Route3EndBattleText3: - TX_FAR _Route3EndBattleText3 - db "@" - -Route3AfterBattleText3: - TX_FAR _Route3AfterBattleText3 - db "@" - -Route3Text5: - TX_ASM - ld hl, Route3TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route3BattleText4: - TX_FAR _Route3BattleText4 - db "@" - -Route3EndBattleText4: - TX_FAR _Route3EndBattleText4 - db "@" - -Route3AfterBattleText4: - TX_FAR _Route3AfterBattleText4 - db "@" - -Route3Text6: - TX_ASM - ld hl, Route3TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route3BattleText5: - TX_FAR _Route3BattleText5 - db "@" - -Route3EndBattleText5: - TX_FAR _Route3EndBattleText5 - db "@" - -Route3AfterBattleText5: - TX_FAR _Route3AfterBattleText5 - db "@" - -Route3Text7: - TX_ASM - ld hl, Route3TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route3BattleText6: - TX_FAR _Route3BattleText6 - db "@" - -Route3EndBattleText6: - TX_FAR _Route3EndBattleText6 - db "@" - -Route3AfterBattleText6: - TX_FAR _Route3AfterBattleText6 - db "@" - -Route3Text8: - TX_ASM - ld hl, Route3TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route3BattleText7: - TX_FAR _Route3BattleText7 - db "@" - -Route3EndBattleText7: - TX_FAR _Route3EndBattleText7 - db "@" - -Route3AfterBattleText7: - TX_FAR _Route3AfterBattleText7 - db "@" - -Route3Text9: - TX_ASM - ld hl, Route3TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route3BattleText8: - TX_FAR _Route3BattleText8 - db "@" - -Route3EndBattleText8: - TX_FAR _Route3EndBattleText8 - db "@" - -Route3AfterBattleText8: - TX_FAR _Route3AfterBattleText8 - db "@" - -Route3Text10: - TX_FAR _Route3Text10 - db "@" diff --git a/scripts/route4.asm b/scripts/route4.asm deleted file mode 100755 index ee9e2cdf..00000000 --- a/scripts/route4.asm +++ /dev/null @@ -1,62 +0,0 @@ -Route4Script: - call EnableAutoTextBoxDrawing - ld hl, Route4TrainerHeader0 - ld de, Route4ScriptPointers - ld a, [wRoute4CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute4CurScript], a - ret - -Route4ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Route4TextPointers: - dw Route4Text1 - dw Route4Text2 - dw PickUpItemText - dw PokeCenterSignText - dw Route4Text5 - dw Route4Text6 - -Route4TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_4_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_4_TRAINER_0 - dw Route4BattleText1 ; TextBeforeBattle - dw Route4AfterBattleText1 ; TextAfterBattle - dw Route4EndBattleText1 ; TextEndBattle - dw Route4EndBattleText1 ; TextEndBattle - - db $ff - -Route4Text1: - TX_FAR _Route4Text1 - db "@" - -Route4Text2: - TX_ASM - ld hl, Route4TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route4BattleText1: - TX_FAR _Route4BattleText1 - db "@" - -Route4EndBattleText1: - TX_FAR _Route4EndBattleText1 - db "@" - -Route4AfterBattleText1: - TX_FAR _Route4AfterBattleText1 - db "@" - -Route4Text5: - TX_FAR _Route4Text5 - db "@" - -Route4Text6: - TX_FAR _Route4Text6 - db "@" diff --git a/scripts/route5.asm b/scripts/route5.asm deleted file mode 100755 index 113212a4..00000000 --- a/scripts/route5.asm +++ /dev/null @@ -1,9 +0,0 @@ -Route5Script: - jp EnableAutoTextBoxDrawing - -Route5TextPointers: - dw Route5Text1 - -Route5Text1: - TX_FAR _Route5Text1 - db "@" diff --git a/scripts/route5gate.asm b/scripts/route5gate.asm deleted file mode 100755 index 6072f943..00000000 --- a/scripts/route5gate.asm +++ /dev/null @@ -1,117 +0,0 @@ -Route5GateScript: - call EnableAutoTextBoxDrawing - ld a, [wRoute5GateCurScript] - ld hl, Route5GateScriptPointers - jp CallFunctionInTable - -Route5GateScriptPointers: - dw Route5GateScript0 - dw Route5GateScript1 - -Route5GateScript_1df43: - ld a, D_UP - ld [wSimulatedJoypadStatesEnd], a - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - jp StartSimulatingJoypadStates - -Route5GateScript0: - ld a, [wd728] - bit 6, a - ret nz - ld hl, CoordsData_1df8f - call ArePlayerCoordsInArray - ret nc - ld a, PLAYER_DIR_LEFT - ld [wPlayerMovingDirection], a - xor a - ld [hJoyHeld], a - callba RemoveGuardDrink - ld a, [$ffdb] - and a - jr nz, .asm_1df82 - ld a, $2 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call Route5GateScript_1df43 - ld a, $1 - ld [wRoute5GateCurScript], a - ret -.asm_1df82 - ld a, $3 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld hl, wd728 - set 6, [hl] - ret - -CoordsData_1df8f: - db 3,3 - db 3,4 - db $ff - -Route5GateScript1: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - call Delay3 - xor a - ld [wJoyIgnore], a - ld [wRoute5GateCurScript], a - ret - -Route5GateTextPointers: - dw Route5GateText1 - dw Route5GateText2 - dw Route5GateText3 - -Route8GateText1: -Route7GateText1: -Route6GateText1: -Route5GateText1: - TX_ASM - ld a, [wd728] - bit 6, a - jr nz, .asm_88856 - callba RemoveGuardDrink - ld a, [$ffdb] - and a - jr nz, .asm_768a2 - ld hl, Route5GateText2 - call PrintText - call Route5GateScript_1df43 - ld a, $1 - ld [wRoute5GateCurScript], a - jp TextScriptEnd -.asm_768a2 - ld hl, Route5GateText3 - call PrintText - ld hl, wd728 - set 6, [hl] - jp TextScriptEnd -.asm_88856 - ld hl, SaffronGateText_1dff6 - call PrintText - jp TextScriptEnd - -Route8GateText2: -Route7GateText2: -Route6GateText2: -Route5GateText2: - TX_FAR _SaffronGateText_1dfe7 - db "@" - -Route8GateText3: -Route7GateText3: -Route6GateText3: -Route5GateText3: - TX_FAR _SaffronGateText_8aaa9 - TX_SFX_KEY_ITEM - TX_FAR _SaffronGateText_1dff1 - db "@" - -SaffronGateText_1dff6: - TX_FAR _SaffronGateText_1dff6 - db "@" - - diff --git a/scripts/route6.asm b/scripts/route6.asm deleted file mode 100755 index ba727adc..00000000 --- a/scripts/route6.asm +++ /dev/null @@ -1,186 +0,0 @@ -Route6Script: - call EnableAutoTextBoxDrawing - ld hl, Route6TrainerHeader0 - ld de, Route6ScriptPointers - ld a, [wRoute6CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute6CurScript], a - ret - -Route6ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Route6TextPointers: - dw Route6Text1 - dw Route6Text2 - dw Route6Text3 - dw Route6Text4 - dw Route6Text5 - dw Route6Text6 - dw Route6Text7 - -Route6TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_0 - dw Route6BattleText1 ; TextBeforeBattle - dw Route6AfterBattleText1 ; TextAfterBattle - dw Route6EndBattleText1 ; TextEndBattle - dw Route6EndBattleText1 ; TextEndBattle - -Route6TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_1 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_1 - dw Route6BattleText2 ; TextBeforeBattle - dw Route6AfterBattleText1 ; TextAfterBattle - dw Route6EndBattleText2 ; TextEndBattle - dw Route6EndBattleText2 ; TextEndBattle - -Route6TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_2 - dw Route6BattleText3 ; TextBeforeBattle - dw Route6AfterBattleText3 ; TextAfterBattle - dw Route6EndBattleText3 ; TextEndBattle - dw Route6EndBattleText3 ; TextEndBattle - -Route6TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_3 - dw Route6BattleText4 ; TextBeforeBattle - dw Route6AfterBattleText4 ; TextAfterBattle - dw Route6EndBattleText4 ; TextEndBattle - dw Route6EndBattleText4 ; TextEndBattle - -Route6TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_4 - dw Route6BattleText5 ; TextBeforeBattle - dw Route6AfterBattleText5 ; TextAfterBattle - dw Route6EndBattleText5 ; TextEndBattle - dw Route6EndBattleText5 ; TextEndBattle - -Route6TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_5 - dw Route6BattleText6 ; TextBeforeBattle - dw Route6AfterBattleText6 ; TextAfterBattle - dw Route6EndBattleText6 ; TextEndBattle - dw Route6EndBattleText6 ; TextEndBattle - - db $ff - -Route6Text1: - TX_ASM - ld hl, Route6TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route6BattleText1: - TX_FAR _Route6BattleText1 - db "@" - -Route6EndBattleText1: - TX_FAR _Route6EndBattleText1 - db "@" - -Route6AfterBattleText1: - TX_FAR _Route6AfterBattleText1 - db "@" - -Route6Text2: - TX_ASM - ld hl, Route6TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route6BattleText2: - TX_FAR _Route6BattleText2 - db "@" - -Route6EndBattleText2: - TX_FAR _Route6EndBattleText2 - db "@" - -Route6Text3: - TX_ASM - ld hl, Route6TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route6BattleText3: - TX_FAR _Route6BattleText3 - db "@" - -Route6EndBattleText3: - TX_FAR _Route6EndBattleText3 - db "@" - -Route6AfterBattleText3: - TX_FAR _Route6AfterBattleText3 - db "@" - -Route6Text4: - TX_ASM - ld hl, Route6TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route6BattleText4: - TX_FAR _Route6BattleText4 - db "@" - -Route6EndBattleText4: - TX_FAR _Route6EndBattleText4 - db "@" - -Route6AfterBattleText4: - TX_FAR _Route6AfterBattleText4 - db "@" - -Route6Text5: - TX_ASM - ld hl, Route6TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route6BattleText5: - TX_FAR _Route6BattleText5 - db "@" - -Route6EndBattleText5: - TX_FAR _Route6EndBattleText5 - db "@" - -Route6AfterBattleText5: - TX_FAR _Route6AfterBattleText5 - db "@" - -Route6Text6: - TX_ASM - ld hl, Route6TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route6BattleText6: - TX_FAR _Route6BattleText6 - db "@" - -Route6EndBattleText6: - TX_FAR _Route6EndBattleText6 - db "@" - -Route6AfterBattleText6: - TX_FAR _Route6AfterBattleText6 - db "@" - -Route6Text7: - TX_FAR _Route6Text7 - db "@" diff --git a/scripts/route6gate.asm b/scripts/route6gate.asm deleted file mode 100755 index cf872f69..00000000 --- a/scripts/route6gate.asm +++ /dev/null @@ -1,70 +0,0 @@ -Route6GateScript: - call EnableAutoTextBoxDrawing - ld hl, Route6GateScriptPointers - ld a, [wRoute6GateCurScript] - call CallFunctionInTable - ret - -Route6GateScriptPointers: - dw Route6GateScript0 - dw Route6GateScript1 - -Route6GateScript0: - ld a, [wd728] - bit 6, a - ret nz - ld hl, CoordsData_1e08c - call ArePlayerCoordsInArray - ret nc - ld a, PLAYER_DIR_RIGHT - ld [wPlayerMovingDirection], a - xor a - ld [hJoyHeld], a - callba RemoveGuardDrink - ld a, [$ffdb] - and a - jr nz, .asm_1e080 - ld a, $2 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call Route6GateScript_1e0a1 - ld a, $1 - ld [wRoute6GateCurScript], a - ret -.asm_1e080 - ld hl, wd728 - set 6, [hl] - ld a, $3 - ld [hSpriteIndexOrTextID], a - jp DisplayTextID - -CoordsData_1e08c: - db $02,$03 - db $02,$04,$FF - -Route6GateScript1: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - call Delay3 - xor a - ld [wJoyIgnore], a - ld [wRoute6GateCurScript], a - ret - -Route6GateScript_1e0a1: - ld hl, wd730 - set 7, [hl] - ld a, $80 - ld [wSimulatedJoypadStatesEnd], a - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - xor a - ld [wSpriteStateData2 + $06], a - ld [wOverrideSimulatedJoypadStatesMask], a - ret - -Route6GateTextPointers: - dw Route6GateText1 - dw Route6GateText2 - dw Route6GateText3 diff --git a/scripts/route7.asm b/scripts/route7.asm deleted file mode 100755 index 5e8288ea..00000000 --- a/scripts/route7.asm +++ /dev/null @@ -1,9 +0,0 @@ -Route7Script: - jp EnableAutoTextBoxDrawing - -Route7TextPointers: - dw Route7Text1 - -Route7Text1: - TX_FAR _Route7Text1 - db "@" diff --git a/scripts/route7gate.asm b/scripts/route7gate.asm deleted file mode 100755 index 6d4e27bb..00000000 --- a/scripts/route7gate.asm +++ /dev/null @@ -1,73 +0,0 @@ -Route7GateScript: - call EnableAutoTextBoxDrawing - ld a, [wRoute7GateCurScript] - ld hl, Route7GateScriptPointers - call CallFunctionInTable - ret - -Route7GateScriptPointers: - dw Route7GateScript0 - dw Route7GateScript1 - -Route7GateScript_1e111: - ld hl, wd730 - set 7, [hl] - ld a, $20 - ld [wSimulatedJoypadStatesEnd], a - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - xor a - ld [wSpriteStateData2 + $06], a - ld [wOverrideSimulatedJoypadStatesMask], a - ret - -Route7GateScript0: - ld a, [wd728] - bit 6, a - ret nz - ld hl, CoordsData_1e167 - call ArePlayerCoordsInArray - ret nc - ld a, PLAYER_DIR_UP - ld [wPlayerMovingDirection], a - xor a - ld [hJoyHeld], a - callba RemoveGuardDrink - ld a, [$ffdb] - and a - jr nz, .asm_1e15a - ld a, $2 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call Route7GateScript_1e111 - ld a, $1 - ld [wRoute7GateCurScript], a - ret -.asm_1e15a - ld a, $3 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld hl, wd728 - set 6, [hl] - ret - -CoordsData_1e167: - db 3,3 - db 4,3 - db $ff - -Route7GateScript1: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - call Delay3 - xor a - ld [wJoyIgnore], a - ld [wRoute7GateCurScript], a - ld [wCurMapScript], a - ret - -Route7GateTextPointers: - dw Route7GateText1 - dw Route7GateText2 - dw Route7GateText3 diff --git a/scripts/route8.asm b/scripts/route8.asm deleted file mode 100755 index e05508bb..00000000 --- a/scripts/route8.asm +++ /dev/null @@ -1,274 +0,0 @@ -Route8Script: - call EnableAutoTextBoxDrawing - ld hl, Route8TrainerHeader0 - ld de, Route8ScriptPointers - ld a, [wRoute8CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute8CurScript], a - ret - -Route8ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Route8TextPointers: - dw Route8Text1 - dw Route8Text2 - dw Route8Text3 - dw Route8Text4 - dw Route8Text5 - dw Route8Text6 - dw Route8Text7 - dw Route8Text8 - dw Route8Text9 - dw Route8Text10 - -Route8TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_0 - dw Route8BattleText1 ; TextBeforeBattle - dw Route8AfterBattleText1 ; TextAfterBattle - dw Route8EndBattleText1 ; TextEndBattle - dw Route8EndBattleText1 ; TextEndBattle - -Route8TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_1 - dw Route8BattleText2 ; TextBeforeBattle - dw Route8AfterBattleText2 ; TextAfterBattle - dw Route8EndBattleText2 ; TextEndBattle - dw Route8EndBattleText2 ; TextEndBattle - -Route8TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_2 - dw Route8BattleText3 ; TextBeforeBattle - dw Route8AfterBattleText3 ; TextAfterBattle - dw Route8EndBattleText3 ; TextEndBattle - dw Route8EndBattleText3 ; TextEndBattle - -Route8TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_3 - dw Route8BattleText4 ; TextBeforeBattle - dw Route8AfterBattleText4 ; TextAfterBattle - dw Route8EndBattleText4 ; TextEndBattle - dw Route8EndBattleText4 ; TextEndBattle - -Route8TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_4 - dw Route8BattleText5 ; TextBeforeBattle - dw Route8AfterBattleText5 ; TextAfterBattle - dw Route8EndBattleText5 ; TextEndBattle - dw Route8EndBattleText5 ; TextEndBattle - -Route8TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_5 - dw Route8BattleText6 ; TextBeforeBattle - dw Route8AfterBattleText6 ; TextAfterBattle - dw Route8EndBattleText6 ; TextEndBattle - dw Route8EndBattleText6 ; TextEndBattle - -Route8TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_6 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_6 - dw Route8BattleText7 ; TextBeforeBattle - dw Route8AfterBattleText7 ; TextAfterBattle - dw Route8EndBattleText7 ; TextEndBattle - dw Route8EndBattleText7 ; TextEndBattle - -Route8TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_7, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_7, 1 - dw Route8BattleText8 ; TextBeforeBattle - dw Route8AfterBattleText8 ; TextAfterBattle - dw Route8EndBattleText8 ; TextEndBattle - dw Route8EndBattleText8 ; TextEndBattle - -Route8TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_8, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_8, 1 - dw Route8BattleText9 ; TextBeforeBattle - dw Route8AfterBattleText9 ; TextAfterBattle - dw Route8EndBattleText9 ; TextEndBattle - dw Route8EndBattleText9 ; TextEndBattle - - db $ff - -Route8Text1: - TX_ASM - ld hl, Route8TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText1: - TX_FAR _Route8BattleText1 - db "@" - -Route8EndBattleText1: - TX_FAR _Route8EndBattleText1 - db "@" - -Route8AfterBattleText1: - TX_FAR _Route8AfterBattleText1 - db "@" - -Route8Text2: - TX_ASM - ld hl, Route8TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText2: - TX_FAR _Route8BattleText2 - db "@" - -Route8EndBattleText2: - TX_FAR _Route8EndBattleText2 - db "@" - -Route8AfterBattleText2: - TX_FAR _Route8AfterBattleText2 - db "@" - -Route8Text3: - TX_ASM - ld hl, Route8TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText3: - TX_FAR _Route8BattleText3 - db "@" - -Route8EndBattleText3: - TX_FAR _Route8EndBattleText3 - db "@" - -Route8AfterBattleText3: - TX_FAR _Route8AfterBattleText3 - db "@" - -Route8Text4: - TX_ASM - ld hl, Route8TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText4: - TX_FAR _Route8BattleText4 - db "@" - -Route8EndBattleText4: - TX_FAR _Route8EndBattleText4 - db "@" - -Route8AfterBattleText4: - TX_FAR _Route8AfterBattleText4 - db "@" - -Route8Text5: - TX_ASM - ld hl, Route8TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText5: - TX_FAR _Route8BattleText5 - db "@" - -Route8EndBattleText5: - TX_FAR _Route8EndBattleText5 - db "@" - -Route8AfterBattleText5: - TX_FAR _Route8AfterBattleText5 - db "@" - -Route8Text6: - TX_ASM - ld hl, Route8TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText6: - TX_FAR _Route8BattleText6 - db "@" - -Route8EndBattleText6: - TX_FAR _Route8EndBattleText6 - db "@" - -Route8AfterBattleText6: - TX_FAR _Route8AfterBattleText6 - db "@" - -Route8Text7: - TX_ASM - ld hl, Route8TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText7: - TX_FAR _Route8BattleText7 - db "@" - -Route8EndBattleText7: - TX_FAR _Route8EndBattleText7 - db "@" - -Route8AfterBattleText7: - TX_FAR _Route8AfterBattleText7 - db "@" - -Route8Text8: - TX_ASM - ld hl, Route8TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText8: - TX_FAR _Route8BattleText8 - db "@" - -Route8EndBattleText8: - TX_FAR _Route8EndBattleText8 - db "@" - -Route8AfterBattleText8: - TX_FAR _Route8AfterBattleText8 - db "@" - -Route8Text9: - TX_ASM - ld hl, Route8TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText9: - TX_FAR _Route8BattleText9 - db "@" - -Route8EndBattleText9: - TX_FAR _Route8EndBattleText9 - db "@" - -Route8AfterBattleText9: - TX_FAR _Route8AfterBattleText9 - db "@" - -Route8Text10: - TX_FAR _Route8Text10 - db "@" diff --git a/scripts/route8gate.asm b/scripts/route8gate.asm deleted file mode 100755 index 28835f9d..00000000 --- a/scripts/route8gate.asm +++ /dev/null @@ -1,70 +0,0 @@ -Route8GateScript: - call EnableAutoTextBoxDrawing - ld hl, Route8GateScriptPointers - ld a, [wRoute8GateCurScript] - jp CallFunctionInTable - -Route8GateScriptPointers: - dw Route8GateScript0 - dw Route8GateScript1 - -Route8GateScript_1e1d7: - ld hl, wd730 - set 7, [hl] - ld a, $10 - ld [wSimulatedJoypadStatesEnd], a - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - xor a - ld [wSpriteStateData2 + $06], a - ld [wOverrideSimulatedJoypadStatesMask], a - ret - -Route8GateScript0: - ld a, [wd728] - bit 6, a - ret nz - ld hl, CoordsData_1e22c - call ArePlayerCoordsInArray - ret nc - ld a, PLAYER_DIR_LEFT - ld [wPlayerMovingDirection], a - xor a - ld [hJoyHeld], a - callba RemoveGuardDrink - ld a, [$ffdb] - and a - jr nz, .asm_1e220 - ld a, $2 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call Route8GateScript_1e1d7 - ld a, $1 - ld [wRoute8GateCurScript], a - ret -.asm_1e220 - ld hl, wd728 - set 6, [hl] - ld a, $3 - ld [hSpriteIndexOrTextID], a - jp DisplayTextID - -CoordsData_1e22c: - db 3,2 - db 4,2 - db $ff - -Route8GateScript1: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - call Delay3 - xor a - ld [wJoyIgnore], a - ld [wRoute8GateCurScript], a - ret - -Route8GateTextPointers: - dw Route8GateText1 - dw Route8GateText2 - dw Route8GateText3 diff --git a/scripts/route9.asm b/scripts/route9.asm deleted file mode 100755 index c965d853..00000000 --- a/scripts/route9.asm +++ /dev/null @@ -1,268 +0,0 @@ -Route9Script: - call EnableAutoTextBoxDrawing - ld hl, Route9TrainerHeader0 - ld de, Route9ScriptPointers - ld a, [wRoute9CurScript] - call ExecuteCurMapScriptInTable - ld [wRoute9CurScript], a - ret - -Route9ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -Route9TextPointers: - dw Route9Text1 - dw Route9Text2 - dw Route9Text3 - dw Route9Text4 - dw Route9Text5 - dw Route9Text6 - dw Route9Text7 - dw Route9Text8 - dw Route9Text9 - dw PickUpItemText - dw Route9Text11 - -Route9TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_0 - dw Route9BattleText1 ; TextBeforeBattle - dw Route9AfterBattleText1 ; TextAfterBattle - dw Route9EndBattleText1 ; TextEndBattle - dw Route9EndBattleText1 ; TextEndBattle - -Route9TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_1 - dw Route9BattleText2 ; TextBeforeBattle - dw Route9AfterBattleText2 ; TextAfterBattle - dw Route9EndBattleText2 ; TextEndBattle - dw Route9EndBattleText2 ; TextEndBattle - -Route9TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_2 - dw Route9BattleText3 ; TextBeforeBattle - dw Route9AfterBattleText3 ; TextAfterBattle - dw Route9EndBattleText3 ; TextEndBattle - dw Route9EndBattleText3 ; TextEndBattle - -Route9TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_3 - dw Route9BattleText4 ; TextBeforeBattle - dw Route9AfterBattleText4 ; TextAfterBattle - dw Route9EndBattleText4 ; TextEndBattle - dw Route9EndBattleText4 ; TextEndBattle - -Route9TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_4 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_4 - dw Route9BattleText5 ; TextBeforeBattle - dw Route9AfterBattleText5 ; TextAfterBattle - dw Route9EndBattleText5 ; TextEndBattle - dw Route9EndBattleText5 ; TextEndBattle - -Route9TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_5 - dw Route9BattleText6 ; TextBeforeBattle - dw Route9AfterBattleText6 ; TextAfterBattle - dw Route9EndBattleText6 ; TextEndBattle - dw Route9EndBattleText6 ; TextEndBattle - -Route9TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_6 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_6 - dw Route9BattleText7 ; TextBeforeBattle - dw Route9AfterBattleText7 ; TextAfterBattle - dw Route9EndBattleText7 ; TextEndBattle - dw Route9EndBattleText7 ; TextEndBattle - -Route9TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_7, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_7, 1 - dw Route9BattleText8 ; TextBeforeBattle - dw Route9AfterBattleText8 ; TextAfterBattle - dw Route9EndBattleText8 ; TextEndBattle - dw Route9EndBattleText8 ; TextEndBattle - -Route9TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_8, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_8, 1 - dw Route9BattleText9 ; TextBeforeBattle - dw Route9AfterBattleText9 ; TextAfterBattle - dw Route9EndBattleText9 ; TextEndBattle - dw Route9EndBattleText9 ; TextEndBattle - - db $ff - -Route9Text1: - TX_ASM - ld hl, Route9TrainerHeader0 - jr Route9TalkToTrainer - -Route9Text2: - TX_ASM - ld hl, Route9TrainerHeader1 - jr Route9TalkToTrainer - -Route9Text3: - TX_ASM - ld hl, Route9TrainerHeader2 - jr Route9TalkToTrainer - -Route9Text4: - TX_ASM - ld hl, Route9TrainerHeader3 - jr Route9TalkToTrainer - -Route9Text5: - TX_ASM - ld hl, Route9TrainerHeader4 - jr Route9TalkToTrainer - -Route9Text6: - TX_ASM - ld hl, Route9TrainerHeader5 - jr Route9TalkToTrainer - -Route9Text7: - TX_ASM - ld hl, Route9TrainerHeader6 - jr Route9TalkToTrainer - -Route9Text8: - TX_ASM - ld hl, Route9TrainerHeader7 - jr Route9TalkToTrainer - -Route9Text9: - TX_ASM - ld hl, Route9TrainerHeader8 -Route9TalkToTrainer: - call TalkToTrainer - jp TextScriptEnd - -Route9BattleText1: - TX_FAR _Route9BattleText1 - db "@" - -Route9EndBattleText1: - TX_FAR _Route9EndBattleText1 - db "@" - -Route9AfterBattleText1: - TX_FAR _Route9AfterBattleText1 - db "@" - -Route9BattleText2: - TX_FAR _Route9BattleText2 - db "@" - -Route9EndBattleText2: - TX_FAR _Route9EndBattleText2 - db "@" - -Route9AfterBattleText2: - TX_FAR _Route9AfterBattleText2 - db "@" - -Route9BattleText3: - TX_FAR _Route9BattleText3 - db "@" - -Route9EndBattleText3: - TX_FAR _Route9EndBattleText3 - db "@" - -Route9AfterBattleText3: - TX_FAR _Route9AfterBattleText3 - db "@" - -Route9BattleText4: - TX_FAR _Route9BattleText4 - db "@" - -Route9EndBattleText4: - TX_FAR _Route9EndBattleText4 - db "@" - -Route9AfterBattleText4: - TX_FAR _Route9AfterBattleText4 - db "@" - -Route9BattleText5: - TX_FAR _Route9BattleText5 - db "@" - -Route9EndBattleText5: - TX_FAR _Route9EndBattleText5 - db "@" - -Route9AfterBattleText5: - TX_FAR _Route9AfterBattleText5 - db "@" - -Route9BattleText6: - TX_FAR _Route9BattleText6 - db "@" - -Route9EndBattleText6: - TX_FAR _Route9EndBattleText6 - db "@" - -Route9AfterBattleText6: - TX_FAR _Route9AfterBattleText6 - db "@" - -Route9BattleText7: - TX_FAR _Route9BattleText7 - db "@" - -Route9EndBattleText7: - TX_FAR _Route9EndBattleText7 - db "@" - -Route9AfterBattleText7: - TX_FAR _Route9AfterBattleText7 - db "@" - -Route9BattleText8: - TX_FAR _Route9BattleText8 - db "@" - -Route9EndBattleText8: - TX_FAR _Route9EndBattleText8 - db "@" - -Route9AfterBattleText8: - TX_FAR _Route9AfterBattleText8 - db "@" - -Route9BattleText9: - TX_FAR _Route9BattleText9 - db "@" - -Route9EndBattleText9: - TX_FAR _Route9EndBattleText9 - db "@" - -Route9AfterBattleText9: - TX_FAR _Route9AfterBattleText9 - db "@" - -Route9Text11: - TX_FAR _Route9Text11 - db "@" diff --git a/scripts/safarizonecenter.asm b/scripts/safarizonecenter.asm deleted file mode 100755 index d796c403..00000000 --- a/scripts/safarizonecenter.asm +++ /dev/null @@ -1,15 +0,0 @@ -SafariZoneCenterScript: - jp EnableAutoTextBoxDrawing - -SafariZoneCenterTextPointers: - dw PickUpItemText - dw SafariZoneCenterText2 - dw SafariZoneCenterText3 - -SafariZoneCenterText2: - TX_FAR _SafariZoneCenterText2 - db "@" - -SafariZoneCenterText3: - TX_FAR _SafariZoneCenterText3 - db "@" diff --git a/scripts/safarizoneeast.asm b/scripts/safarizoneeast.asm deleted file mode 100755 index 25d0ee30..00000000 --- a/scripts/safarizoneeast.asm +++ /dev/null @@ -1,23 +0,0 @@ -SafariZoneEastScript: - jp EnableAutoTextBoxDrawing - -SafariZoneEastTextPointers: - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw SafariZoneEastText5 - dw SafariZoneEastText6 - dw SafariZoneEastText7 - -SafariZoneEastText5: - TX_FAR _SafariZoneEastText5 - db "@" - -SafariZoneEastText6: - TX_FAR _SafariZoneEastText6 - db "@" - -SafariZoneEastText7: - TX_FAR _SafariZoneEastText7 - db "@" diff --git a/scripts/safarizoneentrance.asm b/scripts/safarizoneentrance.asm deleted file mode 100755 index 5c6002a9..00000000 --- a/scripts/safarizoneentrance.asm +++ /dev/null @@ -1,293 +0,0 @@ -SafariZoneEntranceScript: - call EnableAutoTextBoxDrawing - ld hl, SafariZoneEntranceScriptPointers - ld a, [wSafariZoneEntranceCurScript] - jp CallFunctionInTable - -SafariZoneEntranceScriptPointers: - dw .SafariZoneEntranceScript0 - dw .SafariZoneEntranceScript1 - dw .SafariZoneEntranceScript2 - dw .SafariZoneEntranceScript3 - dw .SafariZoneEntranceScript4 - dw .SafariZoneEntranceScript5 - dw .SafariZoneEntranceScript6 - -.SafariZoneEntranceScript0 - ld hl, .CoordsData_75221 - call ArePlayerCoordsInArray - ret nc - ld a, $3 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $ff - ld [wJoyIgnore], a - xor a - ld [hJoyHeld], a - ld a, SPRITE_FACING_RIGHT - ld [wSpriteStateData1 + 9], a - ld a, [wCoordIndex] - cp $1 - jr z, .asm_7520f - ld a, $2 - ld [wSafariZoneEntranceCurScript], a - ret -.asm_7520f - ld a, D_RIGHT - ld c, $1 - call SafariZoneEntranceAutoWalk - ld a, $f0 - ld [wJoyIgnore], a - ld a, $1 - ld [wSafariZoneEntranceCurScript], a - ret - -.CoordsData_75221: - db $02,$03 - db $02,$04 - db $FF - -.SafariZoneEntranceScript1 - call SafariZoneEntranceScript_752b4 - ret nz -.SafariZoneEntranceScript2 - xor a - ld [hJoyHeld], a - ld [wJoyIgnore], a - call UpdateSprites - ld a, $4 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $ff - ld [wJoyIgnore], a - ret - -.SafariZoneEntranceScript3 - call SafariZoneEntranceScript_752b4 - ret nz - xor a - ld [wJoyIgnore], a - ld a, $5 - ld [wSafariZoneEntranceCurScript], a - ret - -.SafariZoneEntranceScript5 - ld a, PLAYER_DIR_DOWN - ld [wPlayerMovingDirection], a - CheckAndResetEvent EVENT_SAFARI_GAME_OVER - jr z, .asm_7527f - ResetEventReuseHL EVENT_IN_SAFARI_ZONE - call UpdateSprites - ld a, $f0 - ld [wJoyIgnore], a - ld a, $6 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [wNumSafariBalls], a - ld a, D_DOWN - ld c, $3 - call SafariZoneEntranceAutoWalk - ld a, $4 - ld [wSafariZoneEntranceCurScript], a - jr .asm_75286 -.asm_7527f - ld a, $5 - ld [hSpriteIndexOrTextID], a - call DisplayTextID -.asm_75286 - ret - -.SafariZoneEntranceScript4 - call SafariZoneEntranceScript_752b4 - ret nz - xor a - ld [wJoyIgnore], a - ld a, $0 - ld [wSafariZoneEntranceCurScript], a - ret - -.SafariZoneEntranceScript6 - call SafariZoneEntranceScript_752b4 - ret nz - call Delay3 - ld a, [wcf0d] - ld [wSafariZoneEntranceCurScript], a - ret - -SafariZoneEntranceAutoWalk: - push af - ld b, 0 - ld a, c - ld [wSimulatedJoypadStatesIndex], a - ld hl, wSimulatedJoypadStatesEnd - pop af - call FillMemory - jp StartSimulatingJoypadStates - -SafariZoneEntranceScript_752b4: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret - -SafariZoneEntranceTextPointers: - dw .SafariZoneEntranceText1 - dw .SafariZoneEntranceText2 - dw .SafariZoneEntranceText1 - dw .SafariZoneEntranceText4 - dw .SafariZoneEntranceText5 - dw .SafariZoneEntranceText6 - -.SafariZoneEntranceText1 - TX_FAR _SafariZoneEntranceText1 - db "@" - -.SafariZoneEntranceText4 - TX_FAR SafariZoneEntranceText_9e6e4 - TX_ASM - ld a, MONEY_BOX - ld [wTextBoxID], a - call DisplayTextBoxID - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jp nz, .PleaseComeAgain - xor a - ld [hMoney], a - ld a, $05 - ld [hMoney + 1], a - ld a, $00 - ld [hMoney + 2], a - call HasEnoughMoney - jr nc, .success - ld hl, .NotEnoughMoneyText - call PrintText - jr .CantPayWalkDown - -.success - xor a - ld [wPriceTemp], a - ld a, $05 - ld [wPriceTemp + 1], a - ld a, $00 - ld [wPriceTemp + 2], a - ld hl, wPriceTemp + 2 - ld de, wPlayerMoney + 2 - ld c, 3 - predef SubBCDPredef - ld a, MONEY_BOX - ld [wTextBoxID], a - call DisplayTextBoxID - ld hl, .MakePaymentText - call PrintText - ld a, 30 - ld [wNumSafariBalls], a - ld a, 502 / $100 - ld [wSafariSteps], a - ld a, 502 % $100 - ld [wSafariSteps + 1], a - ld a, D_UP - ld c, 3 - call SafariZoneEntranceAutoWalk - SetEvent EVENT_IN_SAFARI_ZONE - ResetEventReuseHL EVENT_SAFARI_GAME_OVER - ld a, 3 - ld [wSafariZoneEntranceCurScript], a - jr .done - -.PleaseComeAgain - ld hl, .PleaseComeAgainText - call PrintText -.CantPayWalkDown - ld a, D_DOWN - ld c, 1 - call SafariZoneEntranceAutoWalk - ld a, 4 - ld [wSafariZoneEntranceCurScript], a -.done - jp TextScriptEnd - -.MakePaymentText - TX_FAR SafariZoneEntranceText_9e747 - TX_SFX_ITEM_1 - TX_FAR _SafariZoneEntranceText_75360 - db "@" - -.PleaseComeAgainText - TX_FAR _SafariZoneEntranceText_75365 - db "@" - -.NotEnoughMoneyText - TX_FAR _SafariZoneEntranceText_7536a - db "@" - -.SafariZoneEntranceText5 - TX_FAR SafariZoneEntranceText_9e814 - TX_ASM - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .asm_7539c - ld hl, .SafariZoneEntranceText_753bb - call PrintText - xor a - ld [wSpriteStateData1 + 9], a - ld a, D_DOWN - ld c, $3 - call SafariZoneEntranceAutoWalk - ResetEvents EVENT_SAFARI_GAME_OVER, EVENT_IN_SAFARI_ZONE - ld a, $0 - ld [wcf0d], a - jr .asm_753b3 -.asm_7539c - ld hl, .SafariZoneEntranceText_753c0 - call PrintText - ld a, SPRITE_FACING_UP - ld [wSpriteStateData1 + 9], a - ld a, D_UP - ld c, $1 - call SafariZoneEntranceAutoWalk - ld a, $5 - ld [wcf0d], a -.asm_753b3 - ld a, $6 - ld [wSafariZoneEntranceCurScript], a - jp TextScriptEnd - -.SafariZoneEntranceText_753bb - TX_FAR _SafariZoneEntranceText_753bb - db "@" - -.SafariZoneEntranceText_753c0 - TX_FAR _SafariZoneEntranceText_753c0 - db "@" - -.SafariZoneEntranceText6 - TX_FAR _SafariZoneEntranceText_753c5 - db "@" - -.SafariZoneEntranceText2 - TX_ASM - ld hl, .FirstTimeQuestionText - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - ld hl, .RegularText - jr nz, .Explanation - ld hl, .ExplanationText -.Explanation - call PrintText - jp TextScriptEnd - -.FirstTimeQuestionText - TX_FAR _SafariZoneEntranceText_753e6 - db "@" - -.ExplanationText - TX_FAR _SafariZoneEntranceText_753eb - db "@" - -.RegularText - TX_FAR _SafariZoneEntranceText_753f0 - db "@" diff --git a/scripts/safarizonenorth.asm b/scripts/safarizonenorth.asm deleted file mode 100755 index b870c99e..00000000 --- a/scripts/safarizonenorth.asm +++ /dev/null @@ -1,31 +0,0 @@ -SafariZoneNorthScript: - jp EnableAutoTextBoxDrawing - -SafariZoneNorthTextPointers: - dw PickUpItemText - dw PickUpItemText - dw SafariZoneNorthText3 - dw SafariZoneNorthText4 - dw SafariZoneNorthText5 - dw SafariZoneNorthText6 - dw SafariZoneNorthText7 - -SafariZoneNorthText3: - TX_FAR _SafariZoneNorthText3 - db "@" - -SafariZoneNorthText4: - TX_FAR _SafariZoneNorthText4 - db "@" - -SafariZoneNorthText5: - TX_FAR _SafariZoneNorthText5 - db "@" - -SafariZoneNorthText6: - TX_FAR _SafariZoneNorthText6 - db "@" - -SafariZoneNorthText7: - TX_FAR _SafariZoneNorthText7 - db "@" diff --git a/scripts/safarizoneresthouse1.asm b/scripts/safarizoneresthouse1.asm deleted file mode 100755 index 1d43890d..00000000 --- a/scripts/safarizoneresthouse1.asm +++ /dev/null @@ -1,14 +0,0 @@ -SafariZoneRestHouse1Script: - jp EnableAutoTextBoxDrawing - -SafariZoneRestHouse1TextPointers: - dw SafariZoneRestHouse1Text1 - dw SafariZoneRestHouse1Text2 - -SafariZoneRestHouse1Text1: - TX_FAR _SafariZoneRestHouse1Text1 - db "@" - -SafariZoneRestHouse1Text2: - TX_FAR _SafariZoneRestHouse1Text2 - db "@" diff --git a/scripts/safarizoneresthouse2.asm b/scripts/safarizoneresthouse2.asm deleted file mode 100755 index 4cd512f2..00000000 --- a/scripts/safarizoneresthouse2.asm +++ /dev/null @@ -1,20 +0,0 @@ -SafariZoneRestHouse2Script: - call EnableAutoTextBoxDrawing - ret - -SafariZoneRestHouse2TextPointers: - dw SafariZoneRestHouse2Text1 - dw SafariZoneRestHouse2Text2 - dw SafariZoneRestHouse2Text3 - -SafariZoneRestHouse2Text1: - TX_FAR _SafariZoneRestHouse2Text1 - db "@" - -SafariZoneRestHouse2Text2: - TX_FAR _SafariZoneRestHouse2Text2 - db "@" - -SafariZoneRestHouse2Text3: - TX_FAR _SafariZoneRestHouse2Text3 - db "@" diff --git a/scripts/safarizoneresthouse3.asm b/scripts/safarizoneresthouse3.asm deleted file mode 100755 index 18c4770f..00000000 --- a/scripts/safarizoneresthouse3.asm +++ /dev/null @@ -1,20 +0,0 @@ -SafariZoneRestHouse3Script: - call EnableAutoTextBoxDrawing - ret - -SafariZoneRestHouse3TextPointers: - dw SafariZoneRestHouse3Text1 - dw SafariZoneRestHouse3Text2 - dw SafariZoneRestHouse3Text3 - -SafariZoneRestHouse3Text1: - TX_FAR _SafariZoneRestHouse3Text1 - db "@" - -SafariZoneRestHouse3Text2: - TX_FAR _SafariZoneRestHouse3Text2 - db "@" - -SafariZoneRestHouse3Text3: - TX_FAR _SafariZoneRestHouse3Text3 - db "@" diff --git a/scripts/safarizoneresthouse4.asm b/scripts/safarizoneresthouse4.asm deleted file mode 100755 index 3ff3fa48..00000000 --- a/scripts/safarizoneresthouse4.asm +++ /dev/null @@ -1,20 +0,0 @@ -SafariZoneRestHouse4Script: - call EnableAutoTextBoxDrawing - ret - -SafariZoneRestHouse4TextPointers: - dw SafariZoneRestHouse4Text1 - dw SafariZoneRestHouse4Text2 - dw SafariZoneRestHouse4Text3 - -SafariZoneRestHouse4Text1: - TX_FAR _SafariZoneRestHouse4Text1 - db "@" - -SafariZoneRestHouse4Text2: - TX_FAR _SafariZoneRestHouse4Text2 - db "@" - -SafariZoneRestHouse4Text3: - TX_FAR _SafariZoneRestHouse4Text3 - db "@" diff --git a/scripts/safarizonesecrethouse.asm b/scripts/safarizonesecrethouse.asm deleted file mode 100755 index 44c89281..00000000 --- a/scripts/safarizonesecrethouse.asm +++ /dev/null @@ -1,45 +0,0 @@ -SafariZoneSecretHouseScript: - jp EnableAutoTextBoxDrawing - -SafariZoneSecretHouseTextPointers: - dw SafariZoneSecretHouseText1 - -SafariZoneSecretHouseText1: - TX_ASM - CheckEvent EVENT_GOT_HM03 - jr nz, .asm_20a9b - ld hl, SafariZoneSecretHouseText_4a350 - call PrintText - lb bc, HM_03, 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedHM03Text - call PrintText - SetEvent EVENT_GOT_HM03 - jr .asm_8f1fc -.BagFull - ld hl, HM03NoRoomText - call PrintText - jr .asm_8f1fc -.asm_20a9b - ld hl, HM03ExplanationText - call PrintText -.asm_8f1fc - jp TextScriptEnd - -SafariZoneSecretHouseText_4a350: - TX_FAR _SecretHouseText_4a350 - db "@" - -ReceivedHM03Text: - TX_FAR _ReceivedHM03Text - TX_SFX_ITEM_1 - db "@" - -HM03ExplanationText: - TX_FAR _HM03ExplanationText - db "@" - -HM03NoRoomText: - TX_FAR _HM03NoRoomText - db "@" diff --git a/scripts/safarizonewest.asm b/scripts/safarizonewest.asm deleted file mode 100755 index 81190c4c..00000000 --- a/scripts/safarizonewest.asm +++ /dev/null @@ -1,28 +0,0 @@ -SafariZoneWestScript: - jp EnableAutoTextBoxDrawing - -SafariZoneWestTextPointers: - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw SafariZoneWestText5 - dw SafariZoneWestText6 - dw SafariZoneWestText7 - dw SafariZoneWestText8 - -SafariZoneWestText5: - TX_FAR _SafariZoneWestText5 - db "@" - -SafariZoneWestText6: - TX_FAR _SafariZoneWestText6 - db "@" - -SafariZoneWestText7: - TX_FAR _SafariZoneWestText7 - db "@" - -SafariZoneWestText8: - TX_FAR _SafariZoneWestText8 - db "@" diff --git a/scripts/saffroncity.asm b/scripts/saffroncity.asm deleted file mode 100755 index 57a1a3a5..00000000 --- a/scripts/saffroncity.asm +++ /dev/null @@ -1,122 +0,0 @@ -SaffronCityScript: - jp EnableAutoTextBoxDrawing - -SaffronCityTextPointers: - dw SaffronCityText1 - dw SaffronCityText2 - dw SaffronCityText3 - dw SaffronCityText4 - dw SaffronCityText5 - dw SaffronCityText6 - dw SaffronCityText7 - dw SaffronCityText8 - dw SaffronCityText9 - dw SaffronCityText10 - dw SaffronCityText11 - dw SaffronCityText12 - dw SaffronCityText13 - dw SaffronCityText14 - dw SaffronCityText15 - dw SaffronCityText16 - dw SaffronCityText17 - dw SaffronCityText18 - dw MartSignText - dw SaffronCityText20 - dw SaffronCityText21 - dw SaffronCityText22 - dw PokeCenterSignText - dw SaffronCityText24 - dw SaffronCityText25 - -SaffronCityText1: - TX_FAR _SaffronCityText1 - db "@" - -SaffronCityText2: - TX_FAR _SaffronCityText2 - db "@" - -SaffronCityText3: - TX_FAR _SaffronCityText3 - db "@" - -SaffronCityText4: - TX_FAR _SaffronCityText4 - db "@" - -SaffronCityText5: - TX_FAR _SaffronCityText5 - db "@" - -SaffronCityText6: - TX_FAR _SaffronCityText6 - db "@" - -SaffronCityText7: - TX_FAR _SaffronCityText7 - db "@" - -SaffronCityText8: - TX_FAR _SaffronCityText8 - db "@" - -SaffronCityText9: - TX_FAR _SaffronCityText9 - db "@" - -SaffronCityText10: - TX_FAR _SaffronCityText10 - db "@" - -SaffronCityText11: - TX_FAR _SaffronCityText11 - db "@" - -SaffronCityText12: - TX_FAR _SaffronCityText12 - TX_CRY_PIDGEOT - db "@" - -SaffronCityText13: - TX_FAR _SaffronCityText13 - db "@" - -SaffronCityText14: - TX_FAR _SaffronCityText14 - db "@" - -SaffronCityText15: - TX_FAR _SaffronCityText15 - db "@" - -SaffronCityText16: - TX_FAR _SaffronCityText16 - db "@" - -SaffronCityText17: - TX_FAR _SaffronCityText17 - db "@" - -SaffronCityText18: - TX_FAR _SaffronCityText18 - db "@" - -SaffronCityText20: - TX_FAR _SaffronCityText20 - db "@" - -SaffronCityText21: - TX_FAR _SaffronCityText21 - db "@" - -SaffronCityText22: - TX_FAR _SaffronCityText22 - db "@" - -SaffronCityText24: - TX_FAR _SaffronCityText24 - db "@" - -SaffronCityText25: - TX_FAR _SaffronCityText25 - db "@" diff --git a/scripts/saffrongym.asm b/scripts/saffrongym.asm deleted file mode 100755 index cbf935e7..00000000 --- a/scripts/saffrongym.asm +++ /dev/null @@ -1,358 +0,0 @@ -SaffronGymScript: - ld hl, wCurrentMapScriptFlags - bit 6, [hl] - res 6, [hl] - call nz, .extra - call EnableAutoTextBoxDrawing - ld hl, SaffronGymTrainerHeader0 - ld de, SaffronGymScriptPointers - ld a, [wSaffronGymCurScript] - call ExecuteCurMapScriptInTable - ld [wSaffronGymCurScript], a - ret - -.extra - ld hl, Gym6CityName - ld de, Gym6LeaderName - jp LoadGymLeaderAndCityName - -Gym6CityName: - db "SAFFRON CITY@" - -Gym6LeaderName: - db "SABRINA@" - -SaffronGymText_5d048: - xor a - ld [wJoyIgnore], a - ld [wSaffronGymCurScript], a - ld [wCurMapScript], a - ret - -SaffronGymScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw SaffronGymScript3 - -SaffronGymScript3: - ld a, [wIsInBattle] - cp $ff - jp z, SaffronGymText_5d048 - ld a, $f0 - ld [wJoyIgnore], a - -SaffronGymText_5d068: - ld a, $a - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_BEAT_SABRINA - lb bc, TM_46, 1 - call GiveItem - jr nc, .BagFull - ld a, $b - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_GOT_TM46 - jr .asm_5d091 -.BagFull - ld a, $c - ld [hSpriteIndexOrTextID], a - call DisplayTextID -.asm_5d091 - ld hl, wObtainedBadges - set 5, [hl] - ld hl, wBeatGymFlags - set 5, [hl] - - ; deactivate gym trainers - SetEventRange EVENT_BEAT_SAFFRON_GYM_TRAINER_0, EVENT_BEAT_SAFFRON_GYM_TRAINER_6 - - jp SaffronGymText_5d048 - -SaffronGymTextPointers: - dw SaffronGymText1 - dw SaffronGymText2 - dw SaffronGymText3 - dw SaffronGymText4 - dw SaffronGymText5 - dw SaffronGymText6 - dw SaffronGymText7 - dw SaffronGymText8 - dw SaffronGymText9 - dw SaffronGymText10 - dw SaffronGymText11 - dw SaffronGymText12 - -SaffronGymTrainerHeader0: - dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_0 - dw SaffronGymBattleText1 ; TextBeforeBattle - dw SaffronGymAfterBattleText1 ; TextAfterBattle - dw SaffronGymEndBattleText1 ; TextEndBattle - dw SaffronGymEndBattleText1 ; TextEndBattle - -SaffronGymTrainerHeader1: - dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_1 - dw SaffronGymBattleText2 ; TextBeforeBattle - dw SaffronGymAfterBattleText2 ; TextAfterBattle - dw SaffronGymEndBattleText2 ; TextEndBattle - dw SaffronGymEndBattleText2 ; TextEndBattle - -SaffronGymTrainerHeader2: - dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_2 - dw SaffronGymBattleText3 ; TextBeforeBattle - dw SaffronGymAfterBattleText3 ; TextAfterBattle - dw SaffronGymEndBattleText3 ; TextEndBattle - dw SaffronGymEndBattleText3 ; TextEndBattle - -SaffronGymTrainerHeader3: - dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_3 - dw SaffronGymBattleText4 ; TextBeforeBattle - dw SaffronGymAfterBattleText4 ; TextAfterBattle - dw SaffronGymEndBattleText4 ; TextEndBattle - dw SaffronGymEndBattleText4 ; TextEndBattle - -SaffronGymTrainerHeader4: - dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_4 - dw SaffronGymBattleText5 ; TextBeforeBattle - dw SaffronGymAfterBattleText5 ; TextAfterBattle - dw SaffronGymEndBattleText5 ; TextEndBattle - dw SaffronGymEndBattleText5 ; TextEndBattle - -SaffronGymTrainerHeader5: - dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_5 - dw SaffronGymBattleText6 ; TextBeforeBattle - dw SaffronGymAfterBattleText6 ; TextAfterBattle - dw SaffronGymEndBattleText6 ; TextEndBattle - dw SaffronGymEndBattleText6 ; TextEndBattle - -SaffronGymTrainerHeader6: - dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1 - dw SaffronGymBattleText7 ; TextBeforeBattle - dw SaffronGymAfterBattleText7 ; TextAfterBattle - dw SaffronGymEndBattleText7 ; TextEndBattle - dw SaffronGymEndBattleText7 ; TextEndBattle - - db $ff - -SaffronGymText1: - TX_ASM - CheckEvent EVENT_BEAT_SABRINA - jr z, .asm_5d134 - CheckEventReuseA EVENT_GOT_TM46 - jr nz, .asm_5d12c - call z, SaffronGymText_5d068 - call DisableWaitingAfterTextDisplay - jr .asm_5d15f -.asm_5d12c - ld hl, SaffronGymText_5d16e - call PrintText - jr .asm_5d15f -.asm_5d134 - ld hl, SaffronGymText_5d162 - call PrintText - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, SaffronGymText_5d167 - ld de, SaffronGymText_5d167 - call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] - ld [wSpriteIndex], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $6 - ld [wGymLeaderNo], a - ld a, $3 - ld [wSaffronGymCurScript], a -.asm_5d15f - jp TextScriptEnd - -SaffronGymText_5d162: - TX_FAR _SaffronGymText_5d162 - db "@" - -SaffronGymText_5d167: - TX_FAR _SaffronGymText_5d167 - TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded - TX_BLINK - db "@" - -SaffronGymText_5d16e: - TX_FAR _SaffronGymText_5d16e - db "@" - -SaffronGymText10: - TX_FAR _SaffronGymText_5d173 - db "@" - -SaffronGymText11: - TX_FAR ReceivedTM46Text - TX_SFX_ITEM_1 - TX_FAR _TM46ExplanationText - db "@" - -SaffronGymText12: - TX_FAR _TM46NoRoomText - db "@" - -SaffronGymText2: - TX_ASM - ld hl, SaffronGymTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SaffronGymText3: - TX_ASM - ld hl, SaffronGymTrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SaffronGymText4: - TX_ASM - ld hl, SaffronGymTrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SaffronGymText5: - TX_ASM - ld hl, SaffronGymTrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -SaffronGymText6: - TX_ASM - ld hl, SaffronGymTrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -SaffronGymText7: - TX_ASM - ld hl, SaffronGymTrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -SaffronGymText8: - TX_ASM - ld hl, SaffronGymTrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -SaffronGymText9: - TX_ASM - CheckEvent EVENT_BEAT_SABRINA - jr nz, .asm_5d1dd - ld hl, SaffronGymText_5d1e6 - call PrintText - jr .asm_5d1e3 -.asm_5d1dd - ld hl, SaffronGymText_5d1eb - call PrintText -.asm_5d1e3 - jp TextScriptEnd - -SaffronGymText_5d1e6: - TX_FAR _SaffronGymText_5d1e6 - db "@" - -SaffronGymText_5d1eb: - TX_FAR _SaffronGymText_5d1eb - db "@" - -SaffronGymBattleText1: - TX_FAR _SaffronGymBattleText1 - db "@" - -SaffronGymEndBattleText1: - TX_FAR _SaffronGymEndBattleText1 - db "@" - -SaffronGymAfterBattleText1: - TX_FAR _SaffronGymAfterBattleText1 - db "@" - -SaffronGymBattleText2: - TX_FAR _SaffronGymBattleText2 - db "@" - -SaffronGymEndBattleText2: - TX_FAR _SaffronGymEndBattleText2 - db "@" - -SaffronGymAfterBattleText2: - TX_FAR _SaffronGymAfterBattleText2 - db "@" - -SaffronGymBattleText3: - TX_FAR _SaffronGymBattleText3 - db "@" - -SaffronGymEndBattleText3: - TX_FAR _SaffronGymEndBattleText3 - db "@" - -SaffronGymAfterBattleText3: - TX_FAR _SaffronGymAfterBattleText3 - db "@" - -SaffronGymBattleText4: - TX_FAR _SaffronGymBattleText4 - db "@" - -SaffronGymEndBattleText4: - TX_FAR _SaffronGymEndBattleText4 - db "@" - -SaffronGymAfterBattleText4: - TX_FAR _SaffronGymAfterBattleText4 - db "@" - -SaffronGymBattleText5: - TX_FAR _SaffronGymBattleText5 - db "@" - -SaffronGymEndBattleText5: - TX_FAR _SaffronGymEndBattleText5 - db "@" - -SaffronGymAfterBattleText5: - TX_FAR _SaffronGymAfterBattleText5 - db "@" - -SaffronGymBattleText6: - TX_FAR _SaffronGymBattleText6 - db "@" - -SaffronGymEndBattleText6: - TX_FAR _SaffronGymEndBattleText6 - db "@" - -SaffronGymAfterBattleText6: - TX_FAR _SaffronGymAfterBattleText6 - db "@" - -SaffronGymBattleText7: - TX_FAR _SaffronGymBattleText7 - db "@" - -SaffronGymEndBattleText7: - TX_FAR _SaffronGymEndBattleText7 - db "@" - -SaffronGymAfterBattleText7: - TX_FAR _SaffronGymAfterBattleText7 - db "@" diff --git a/scripts/saffronhouse1.asm b/scripts/saffronhouse1.asm deleted file mode 100755 index 5f417978..00000000 --- a/scripts/saffronhouse1.asm +++ /dev/null @@ -1,27 +0,0 @@ -SaffronHouse1Script: - jp EnableAutoTextBoxDrawing - -SaffronHouse1TextPointers: - dw SaffronHouse1Text1 - dw SaffronHouse1Text2 - dw SaffronHouse1Text3 - dw SaffronHouse1Text4 - -SaffronHouse1Text1: - TX_FAR _SaffronHouse1Text1 - db "@" - -SaffronHouse1Text2: - TX_FAR _SaffronHouse1Text2 - TX_ASM - ld a, PIDGEY - call PlayCry - jp TextScriptEnd - -SaffronHouse1Text3: - TX_FAR _SaffronHouse1Text3 - db "@" - -SaffronHouse1Text4: - TX_FAR _SaffronHouse1Text4 - db "@" diff --git a/scripts/saffronhouse2.asm b/scripts/saffronhouse2.asm deleted file mode 100755 index 10c3d29e..00000000 --- a/scripts/saffronhouse2.asm +++ /dev/null @@ -1,45 +0,0 @@ -SaffronHouse2Script: - jp EnableAutoTextBoxDrawing - -SaffronHouse2TextPointers: - dw SaffronHouse2Text1 - -SaffronHouse2Text1: - TX_ASM - CheckEvent EVENT_GOT_TM29 - jr nz, .asm_9e72b - ld hl, TM29PreReceiveText - call PrintText - lb bc, TM_29, 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedTM29Text - call PrintText - SetEvent EVENT_GOT_TM29 - jr .asm_fe4e1 -.BagFull - ld hl, TM29NoRoomText - call PrintText - jr .asm_fe4e1 -.asm_9e72b - ld hl, TM29ExplanationText - call PrintText -.asm_fe4e1 - jp TextScriptEnd - -TM29PreReceiveText: - TX_FAR _TM29PreReceiveText - db "@" - -ReceivedTM29Text: - TX_FAR _ReceivedTM29Text - TX_SFX_ITEM_1 - db "@" - -TM29ExplanationText: - TX_FAR _TM29ExplanationText - db "@" - -TM29NoRoomText: - TX_FAR _TM29NoRoomText - db "@" diff --git a/scripts/saffronmart.asm b/scripts/saffronmart.asm deleted file mode 100755 index 8b140610..00000000 --- a/scripts/saffronmart.asm +++ /dev/null @@ -1,15 +0,0 @@ -SaffronMartScript: - jp EnableAutoTextBoxDrawing - -SaffronMartTextPointers: - dw SaffronCashierText - dw SaffronMartText2 - dw SaffronMartText3 - -SaffronMartText2: - TX_FAR _SaffronMartText2 - db "@" - -SaffronMartText3: - TX_FAR _SaffronMartText3 - db "@" diff --git a/scripts/saffronpokecenter.asm b/scripts/saffronpokecenter.asm deleted file mode 100755 index 82467215..00000000 --- a/scripts/saffronpokecenter.asm +++ /dev/null @@ -1,23 +0,0 @@ -SaffronPokecenterScript: - call Serial_TryEstablishingExternallyClockedConnection - jp EnableAutoTextBoxDrawing - -SaffronPokecenterTextPointers: - dw SaffronHealNurseText - dw SaffronPokecenterText2 - dw SaffronPokecenterText3 - dw SaffronTradeNurseText - -SaffronHealNurseText: - TX_POKECENTER_NURSE - -SaffronPokecenterText2: - TX_FAR _SaffronPokecenterText2 - db "@" - -SaffronPokecenterText3: - TX_FAR _SaffronPokecenterText3 - db "@" - -SaffronTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/school.asm b/scripts/school.asm deleted file mode 100755 index 2300946b..00000000 --- a/scripts/school.asm +++ /dev/null @@ -1,14 +0,0 @@ -SchoolScript: - jp EnableAutoTextBoxDrawing - -SchoolTextPointers: - dw SchoolText1 - dw SchoolText2 - -SchoolText1: - TX_FAR _SchoolText1 - db "@" - -SchoolText2: - TX_FAR _SchoolText2 - db "@" diff --git a/scripts/seafoamislands1.asm b/scripts/seafoamislands1.asm deleted file mode 100755 index 52561fa7..00000000 --- a/scripts/seafoamislands1.asm +++ /dev/null @@ -1,47 +0,0 @@ -SeafoamIslands1Script: - call EnableAutoTextBoxDrawing - SetEvent EVENT_IN_SEAFOAM_ISLANDS - ld hl, wFlags_0xcd60 - bit 7, [hl] - res 7, [hl] - jr z, .asm_4483b - ld hl, Seafoam1HolesCoords - call CheckBoulderCoords - ret nc - EventFlagAddress hl, EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE - ld a, [wCoordIndex] - cp $1 - jr nz, .asm_44819 - SetEventReuseHL EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE - ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_1 - ld [wObjectToHide], a - ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_1 - ld [wObjectToShow], a - jr .asm_44825 -.asm_44819 - SetEventAfterBranchReuseHL EVENT_SEAFOAM1_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE - ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_2 - ld [wObjectToHide], a - ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_2 - ld [wObjectToShow], a -.asm_44825 - ld a, [wObjectToHide] - ld [wMissableObjectIndex], a - predef HideObject - ld a, [wObjectToShow] - ld [wMissableObjectIndex], a - predef_jump ShowObject -.asm_4483b - ld a, $9f - ld [wDungeonWarpDestinationMap], a - ld hl, Seafoam1HolesCoords - jp IsPlayerOnDungeonWarp - -Seafoam1HolesCoords: - db $06,$11 - db $06,$18 - db $ff - -SeafoamIslands1TextPointers: - dw BoulderText - dw BoulderText diff --git a/scripts/seafoamislands2.asm b/scripts/seafoamislands2.asm deleted file mode 100755 index 50024bad..00000000 --- a/scripts/seafoamislands2.asm +++ /dev/null @@ -1,46 +0,0 @@ -SeafoamIslands2Script: - call EnableAutoTextBoxDrawing - ld hl, wFlags_0xcd60 - bit 7, [hl] - res 7, [hl] - jr z, .asm_46362 - ld hl, Seafoam2HolesCoords - call CheckBoulderCoords - ret nc - EventFlagAddress hl, EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE - ld a, [wCoordIndex] - cp $1 - jr nz, .asm_46340 - SetEventReuseHL EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE - ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_1 - ld [wObjectToHide], a - ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_1 - ld [wObjectToShow], a - jr .asm_4634c -.asm_46340 - SetEventAfterBranchReuseHL EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE - ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_2 - ld [wObjectToHide], a - ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_2 - ld [wObjectToShow], a -.asm_4634c - ld a, [wObjectToHide] - ld [wMissableObjectIndex], a - predef HideObject - ld a, [wObjectToShow] - ld [wMissableObjectIndex], a - predef_jump ShowObject -.asm_46362 - ld a, $a0 - ld [wDungeonWarpDestinationMap], a - ld hl, Seafoam2HolesCoords - jp IsPlayerOnDungeonWarp - -Seafoam2HolesCoords: - db $06,$12 - db $06,$17 - db $ff - -SeafoamIslands2TextPointers: - dw BoulderText - dw BoulderText diff --git a/scripts/seafoamislands3.asm b/scripts/seafoamislands3.asm deleted file mode 100755 index 4a7848a4..00000000 --- a/scripts/seafoamislands3.asm +++ /dev/null @@ -1,46 +0,0 @@ -SeafoamIslands3Script: - call EnableAutoTextBoxDrawing - ld hl, wFlags_0xcd60 - bit 7, [hl] - res 7, [hl] - jr z, .asm_4649e - ld hl, Seafoam3HolesCoords - call CheckBoulderCoords - ret nc - EventFlagAddress hl, EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE - ld a, [wCoordIndex] - cp $1 - jr nz, .asm_4647c - SetEventReuseHL EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE - ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_1 - ld [wObjectToHide], a - ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_3 - ld [wObjectToShow], a - jr .asm_46488 -.asm_4647c - SetEventAfterBranchReuseHL EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE - ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_2 - ld [wObjectToHide], a - ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_4 - ld [wObjectToShow], a -.asm_46488 - ld a, [wObjectToHide] - ld [wMissableObjectIndex], a - predef HideObject - ld a, [wObjectToShow] - ld [wMissableObjectIndex], a - predef_jump ShowObject -.asm_4649e - ld a, $a1 - ld [wDungeonWarpDestinationMap], a - ld hl, Seafoam3HolesCoords - jp IsPlayerOnDungeonWarp - -Seafoam3HolesCoords: - db $06,$13 - db $06,$16 - db $ff - -SeafoamIslands3TextPointers: - dw BoulderText - dw BoulderText diff --git a/scripts/seafoamislands4.asm b/scripts/seafoamislands4.asm deleted file mode 100755 index 34873004..00000000 --- a/scripts/seafoamislands4.asm +++ /dev/null @@ -1,149 +0,0 @@ -SeafoamIslands4Script: - call EnableAutoTextBoxDrawing - ld hl, wFlags_0xcd60 - bit 7, [hl] - res 7, [hl] - jr z, .asm_465dc - ld hl, Seafoam4HolesCoords - call CheckBoulderCoords - ret nc - EventFlagAddress hl, EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE - ld a, [wCoordIndex] - cp $1 - jr nz, .asm_465b8 - SetEventReuseHL EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE - ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_1 - ld [wObjectToHide], a - ld a, HS_SEAFOAM_ISLANDS_5_BOULDER_1 - ld [wObjectToShow], a - jr .asm_465c4 -.asm_465b8 - SetEventAfterBranchReuseHL EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE - ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_2 - ld [wObjectToHide], a - ld a, HS_SEAFOAM_ISLANDS_5_BOULDER_2 - ld [wObjectToShow], a -.asm_465c4 - ld a, [wObjectToHide] - ld [wMissableObjectIndex], a - predef HideObject - ld a, [wObjectToShow] - ld [wMissableObjectIndex], a - predef ShowObject - jr .asm_465ed -.asm_465dc - ld a, $a2 - ld [wDungeonWarpDestinationMap], a - ld hl, Seafoam4HolesCoords - call IsPlayerOnDungeonWarp - ld a, [wd732] - bit 4, a - ret nz -.asm_465ed - ld hl, SeafoamIslands4ScriptPointers - ld a, [wSeafoamIslands4CurScript] - jp CallFunctionInTable - -Seafoam4HolesCoords: - db $10,$03 - db $10,$06 - db $ff - -SeafoamIslands4ScriptPointers: - dw SeafoamIslands4Script0 - dw SeafoamIslands4Script1 - dw SeafoamIslands4Script2 - dw SeafoamIslands4Script3 - -SeafoamIslands4Script0: - CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE - ret z - ld a, [wYCoord] - cp $8 - ret nz - ld a, [wXCoord] - cp $f - ret nz - ld hl, wSimulatedJoypadStatesEnd - ld de, RLEMovement46632 - call DecodeRLEList - dec a - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld hl, wFlags_D733 - set 2, [hl] - ld a, $1 - ld [wSeafoamIslands4CurScript], a - ret - -RLEMovement46632: - db D_DOWN,6 - db D_RIGHT,5 - db D_DOWN,3 - db $ff - -SeafoamIslands4Script1: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - ld a, $0 - ld [wSeafoamIslands4CurScript], a - ret - -SeafoamIslands4Script2: - CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE - ret z - ld a, [wXCoord] - cp $12 - jr z, .asm_4665e - cp $13 - ld a, $0 - jr nz, .asm_4667b - ld de, RLEData_4667f - jr .asm_46661 -.asm_4665e - ld de, RLEData_46688 -.asm_46661 - ld hl, wSimulatedJoypadStatesEnd - call DecodeRLEList - dec a - ld [wSimulatedJoypadStatesIndex], a - xor a - ld [wSpriteStateData2 + $06], a - ld hl, wd730 - set 7, [hl] - ld hl, wFlags_D733 - set 2, [hl] - ld a, $3 -.asm_4667b - ld [wSeafoamIslands4CurScript], a - ret - -RLEData_4667f: - db D_DOWN,$06 - db D_RIGHT,$02 - db D_DOWN,$04 - db D_LEFT,$01 - db $FF - -RLEData_46688: - db D_DOWN,$06 - db D_RIGHT,$02 - db D_DOWN,$04 - db $FF - -SeafoamIslands4Script3: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - ld a, $0 - ld [wSeafoamIslands4CurScript], a - ret - -SeafoamIslands4TextPointers: - dw BoulderText - dw BoulderText - dw BoulderText - dw BoulderText - dw BoulderText - dw BoulderText diff --git a/scripts/seafoamislands5.asm b/scripts/seafoamislands5.asm deleted file mode 100755 index a233fb6a..00000000 --- a/scripts/seafoamislands5.asm +++ /dev/null @@ -1,173 +0,0 @@ -SeafoamIslands5Script: - call EnableAutoTextBoxDrawing - ld a, [wSeafoamIslands5CurScript] - ld hl, SeafoamIslands5ScriptPointers - jp CallFunctionInTable - -SeafoamIslands5Script_467a5: - xor a - ld [wSeafoamIslands5CurScript], a - ld [wJoyIgnore], a - ret - -SeafoamIslands5ScriptPointers: - dw SeafoamIslands5Script0 - dw SeafoamIslands5Script1 - dw SeafoamIslands5Script2 - dw SeafoamIslands5Script3 - dw SeafoamIslands5Script4 - -SeafoamIslands5Script4: - ld a, [wIsInBattle] - cp $ff - jr z, SeafoamIslands5Script_467a5 - call EndTrainerBattle - ld a, $0 - ld [wSeafoamIslands5CurScript], a - ret - -SeafoamIslands5Script0: - CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE - ret z - ld hl, .Coords - call ArePlayerCoordsInArray - ret nc - ld a, [wCoordIndex] - cp $3 - jr nc, .asm_467e6 - ld a, NPC_MOVEMENT_UP - ld [wSimulatedJoypadStatesEnd + 1], a - ld a, 2 - jr .asm_467e8 -.asm_467e6 - ld a, 1 -.asm_467e8 - ld [wSimulatedJoypadStatesIndex], a - ld a, D_UP - ld [wSimulatedJoypadStatesEnd], a - call StartSimulatingJoypadStates - ld hl, wFlags_D733 - res 2, [hl] - ld a, $1 - ld [wSeafoamIslands5CurScript], a - ret - -.Coords - db $11,$14 - db $11,$15 - db $10,$14 - db $10,$15 - db $FF - -SeafoamIslands5Script1: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - xor a - ld [wJoyIgnore], a - ld a, $0 - ld [wSeafoamIslands5CurScript], a - ret - -SeafoamIslands5Script2: - CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE - ld a, $0 - jr z, .asm_46849 - ld hl, .Coords - call ArePlayerCoordsInArray - ld a, $0 - jr nc, .asm_46849 - ld a, [wCoordIndex] - cp $1 - jr nz, .asm_46837 - ld de, RLEMovementData_46859 - jr .asm_4683a -.asm_46837 - ld de, RLEMovementData_46852 -.asm_4683a - ld hl, wSimulatedJoypadStatesEnd - call DecodeRLEList - dec a - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld a, $3 -.asm_46849 - ld [wSeafoamIslands5CurScript], a - ret - -.Coords - db $0E,$04 - db $0E,$05 - db $FF - -RLEMovementData_46852: - db D_UP,$03 - db D_RIGHT,$02 - db D_UP,$01 - db $FF - -RLEMovementData_46859: - db D_UP,$03 - db D_RIGHT,$03 - db D_UP,$01 - db $FF - -SeafoamIslands5Script3: - ld a, [wSimulatedJoypadStatesIndex] - ld b, a - cp $1 - call z, SeaFoamIslands5Script_46872 - ld a, b - and a - ret nz - ld a, $0 - ld [wSeafoamIslands5CurScript], a - ret - -SeaFoamIslands5Script_46872: - xor a - ld [wWalkBikeSurfState], a - ld [wWalkBikeSurfStateCopy], a - jp ForceBikeOrSurf - -SeafoamIslands5TextPointers: - dw BoulderText - dw BoulderText - dw ArticunoText - dw SeafoamIslands5Text4 - dw SeafoamIslands5Text5 - -ArticunoTrainerHeader: - dbEventFlagBit EVENT_BEAT_ARTICUNO - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ARTICUNO - dw ArticunoBattleText ; TextBeforeBattle - dw ArticunoBattleText ; TextAfterBattle - dw ArticunoBattleText ; TextEndBattle - dw ArticunoBattleText ; TextEndBattle - - db $ff - -ArticunoText: - TX_ASM - ld hl, ArticunoTrainerHeader - call TalkToTrainer - ld a, $4 - ld [wSeafoamIslands5CurScript], a - jp TextScriptEnd - -ArticunoBattleText: - TX_FAR _ArticunoBattleText - TX_ASM - ld a, ARTICUNO - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -SeafoamIslands5Text4: - TX_FAR _SeafoamIslands5Text4 - db "@" - -SeafoamIslands5Text5: - TX_FAR _SeafoamIslands5Text5 - db "@" diff --git a/scripts/silphco1.asm b/scripts/silphco1.asm deleted file mode 100755 index c0cb169b..00000000 --- a/scripts/silphco1.asm +++ /dev/null @@ -1,16 +0,0 @@ -SilphCo1Script: - call EnableAutoTextBoxDrawing - CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI - ret z - CheckAndSetEvent EVENT_SILPH_CO_RECEPTIONIST_AT_DESK - ret nz - ld a, HS_SILPH_CO_1F_RECEPTIONIST - ld [wMissableObjectIndex], a - predef_jump ShowObject - -SilphCo1TextPointers: - dw SilphCo1Text1 - -SilphCo1Text1: - TX_FAR _SilphCo1Text1 - db "@" diff --git a/scripts/silphco10.asm b/scripts/silphco10.asm deleted file mode 100755 index 5cfb92b2..00000000 --- a/scripts/silphco10.asm +++ /dev/null @@ -1,122 +0,0 @@ -SilphCo10Script: - call SilphCo10Script_5a14f - call EnableAutoTextBoxDrawing - ld hl, SilphCo10TrainerHeader0 - ld de, SilphCo10ScriptPointers - ld a, [wSilphCo10CurScript] - call ExecuteCurMapScriptInTable - ld [wSilphCo10CurScript], a - ret - -SilphCo10Script_5a14f: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - ld hl, SilphCo10GateCoords - call SilphCo2Script_59d43 - call SilphCo10Text_5a176 - CheckEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR - ret nz - ld a, $54 - ld [wNewTileBlockID], a - lb bc, 4, 5 - predef_jump ReplaceTileBlock - -SilphCo10GateCoords: - db $04,$05 - db $FF - -SilphCo10Text_5a176: - ld a, [$ffe0] - and a - ret z - SetEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR - ret - -SilphCo10ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -SilphCo10TextPointers: - dw SilphCo10Text1 - dw SilphCo10Text2 - dw SilphCo10Text3 - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - -SilphCo10TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_10F_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_10F_TRAINER_0 - dw SilphCo10BattleText1 ; TextBeforeBattle - dw SilphCo10AfterBattleText1 ; TextAfterBattle - dw SilphCo10EndBattleText1 ; TextEndBattle - dw SilphCo10EndBattleText1 ; TextEndBattle - -SilphCo10TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_10F_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_10F_TRAINER_1 - dw SilphCo10BattleText2 ; TextBeforeBattle - dw SilphCo10AfterBattleText2 ; TextAfterBattle - dw SilphCo10EndBattleText2 ; TextEndBattle - dw SilphCo10EndBattleText2 ; TextEndBattle - - db $ff - -SilphCo10Text1: - TX_ASM - ld hl, SilphCo10TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo10Text2: - TX_ASM - ld hl, SilphCo10TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo10Text3: - TX_ASM - CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI - ld hl, SilphCo10Text_5a1d8 - jr nz, .asm_cf85f - ld hl, SilphCo10Text_5a1d3 -.asm_cf85f - call PrintText - jp TextScriptEnd - -SilphCo10Text_5a1d3: - TX_FAR _SilphCo10Text_5a1d3 - db "@" - -SilphCo10Text_5a1d8: - TX_FAR _SilphCo10Text_5a1d8 - db "@" - -SilphCo10BattleText1: - TX_FAR _SilphCo10BattleText1 - db "@" - -SilphCo10EndBattleText1: - TX_FAR _SilphCo10EndBattleText1 - db "@" - -SilphCo10AfterBattleText1: - TX_FAR _SilphCo10AfterBattleText1 - db "@" - -SilphCo10BattleText2: - TX_FAR _SilphCo10BattleText2 - db "@" - -SilphCo10EndBattleText2: - TX_FAR _SilphCo10EndBattleText2 - db "@" - -SilphCo10AfterBattleText2: - TX_FAR _SilphCo10AfterBattleText2 - db "@" diff --git a/scripts/silphco11.asm b/scripts/silphco11.asm deleted file mode 100755 index 342fef07..00000000 --- a/scripts/silphco11.asm +++ /dev/null @@ -1,405 +0,0 @@ -SilphCo11Script: - call SilphCo11Script_62110 - call EnableAutoTextBoxDrawing - ld hl, SilphCo11TrainerHeader0 - ld de, SilphCo11ScriptPointers - ld a, [wSilphCo11CurScript] - call ExecuteCurMapScriptInTable - ld [wSilphCo11CurScript], a - ret - -SilphCo11Script_62110: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - ld hl, SilphCo11GateCoords - call SilphCo11Script_62137 - call SilphCo11Script_62163 - CheckEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR - ret nz - ld a, $20 - ld [wNewTileBlockID], a - lb bc, 6, 3 - predef_jump ReplaceTileBlock - -SilphCo11GateCoords: - db $06,$03 - db $FF - -SilphCo11Script_62137: - push hl - ld hl, wCardKeyDoorY - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - xor a - ld [$ffe0], a - pop hl -.asm_62143 - ld a, [hli] - cp $ff - jr z, .asm_6215f - push hl - ld hl, $ffe0 - inc [hl] - pop hl - cp b - jr z, .asm_62154 - inc hl - jr .asm_62143 -.asm_62154 - ld a, [hli] - cp c - jr nz, .asm_62143 - ld hl, wCardKeyDoorY - xor a - ld [hli], a - ld [hl], a - ret -.asm_6215f - xor a - ld [$ffe0], a - ret - -SilphCo11Script_62163: - ld a, [$ffe0] - and a - ret z - SetEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR - ret - -SilphCo11Script_6216d: - ld hl, MissableObjectIDs_6219b -.asm_62170 - ld a, [hli] - cp $ff - jr z, .asm_62181 - push hl - ld [wMissableObjectIndex], a - predef HideObject - pop hl - jr .asm_62170 -.asm_62181 - ld hl, MissableObjectIDs_62194 -.asm_62184 - ld a, [hli] - cp $ff - ret z - push hl - ld [wMissableObjectIndex], a - predef ShowObject - pop hl - jr .asm_62184 - -MissableObjectIDs_62194: - db HS_SAFFRON_CITY_8 - db HS_SAFFRON_CITY_9 - db HS_SAFFRON_CITY_A - db HS_SAFFRON_CITY_B - db HS_SAFFRON_CITY_C - db HS_SAFFRON_CITY_D - db $FF - -MissableObjectIDs_6219b: - db HS_SAFFRON_CITY_1 - db HS_SAFFRON_CITY_2 - db HS_SAFFRON_CITY_3 - db HS_SAFFRON_CITY_4 - db HS_SAFFRON_CITY_5 - db HS_SAFFRON_CITY_6 - db HS_SAFFRON_CITY_7 - db HS_SAFFRON_CITY_E - db HS_SAFFRON_CITY_F - db HS_SILPH_CO_2F_2 - db HS_SILPH_CO_2F_3 - db HS_SILPH_CO_2F_4 - db HS_SILPH_CO_2F_5 - db HS_SILPH_CO_3F_1 - db HS_SILPH_CO_3F_2 - db HS_SILPH_CO_4F_1 - db HS_SILPH_CO_4F_2 - db HS_SILPH_CO_4F_3 - db HS_SILPH_CO_5F_1 - db HS_SILPH_CO_5F_2 - db HS_SILPH_CO_5F_3 - db HS_SILPH_CO_5F_4 - db HS_SILPH_CO_6F_1 - db HS_SILPH_CO_6F_2 - db HS_SILPH_CO_6F_3 - db HS_SILPH_CO_7F_1 - db HS_SILPH_CO_7F_2 - db HS_SILPH_CO_7F_3 - db HS_SILPH_CO_7F_4 - db HS_SILPH_CO_8F_1 - db HS_SILPH_CO_8F_2 - db HS_SILPH_CO_8F_3 - db HS_SILPH_CO_9F_1 - db HS_SILPH_CO_9F_2 - db HS_SILPH_CO_9F_3 - db HS_SILPH_CO_10F_1 - db HS_SILPH_CO_10F_2 - db HS_SILPH_CO_11F_1 - db HS_SILPH_CO_11F_2 - db HS_SILPH_CO_11F_3 - db $FF - -SilphCo11Script_621c4: - xor a - ld [wJoyIgnore], a - -SilphCo11Script_621c8: - ld [wSilphCo11CurScript], a - ld [wCurMapScript], a - ret - -SilphCo11ScriptPointers: - dw SilphCo11Script0 - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw SilphCo11Script3 - dw SilphCo11Script4 - dw SilphCo11Script5 - -SilphCo11Script0: - CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI - ret nz - ld hl, CoordsData_62211 - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - ld a, [wCoordIndex] - ld [wcf0d], a - xor a - ld [hJoyHeld], a - ld a, $f0 - ld [wJoyIgnore], a - ld a, $3 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $3 - ld [H_SPRITEINDEX], a - call SetSpriteMovementBytesToFF - ld de, MovementData_62216 - call MoveSprite - ld a, $3 - jp SilphCo11Script_621c8 - -CoordsData_62211: - db $0D,$06 - db $0C,$07 - db $FF - -MovementData_62216: - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -SilphCo11Script_6221a: - ld [wPlayerMovingDirection], a - ld a, $3 - ld [H_SPRITEINDEX], a - ld a, b - ld [hSpriteFacingDirection], a - jp SetSpriteFacingDirectionAndDelay - -SilphCo11Script5: - ld a, [wIsInBattle] - cp $ff - jp z, SilphCo11Script_621c4 - ld a, [wcf0d] - cp $1 - jr z, .asm_6223c - ld a, PLAYER_DIR_LEFT - ld b, SPRITE_FACING_RIGHT - jr .asm_62240 -.asm_6223c - ld a, PLAYER_DIR_UP - ld b, SPRITE_FACING_DOWN -.asm_62240 - call SilphCo11Script_6221a - ld a, $f0 - ld [wJoyIgnore], a - ld a, $6 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call GBFadeOutToBlack - call SilphCo11Script_6216d - call UpdateSprites - call Delay3 - call GBFadeInFromBlack - SetEvent EVENT_BEAT_SILPH_CO_GIOVANNI - xor a - ld [wJoyIgnore], a - jp SilphCo11Script_621c8 - -SilphCo11Script3: - ld a, [wd730] - bit 0, a - ret nz - ld a, $3 - ld [H_SPRITEINDEX], a - call SetSpriteMovementBytesToFF - ld a, [wcf0d] - cp $1 - jr z, .asm_62284 - ld a, PLAYER_DIR_LEFT - ld b, SPRITE_FACING_RIGHT - jr .asm_62288 -.asm_62284 - ld a, PLAYER_DIR_UP - ld b, SPRITE_FACING_DOWN -.asm_62288 - call SilphCo11Script_6221a - call Delay3 - ld a, $4 - jp SilphCo11Script_621c8 - -SilphCo11Script4: - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, SilphCo10Text_62330 - ld de, SilphCo10Text_62330 - call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] - ld [wSpriteIndex], a - call EngageMapTrainer - call InitBattleEnemyParameters - xor a - ld [wJoyIgnore], a - ld a, $5 - jp SilphCo11Script_621c8 - -SilphCo11TextPointers: - dw SilphCo11Text1 - dw SilphCo11Text2 - dw SilphCo11Text3 - dw SilphCo11Text4 - dw SilphCo11Text5 - dw SilphCo11Text6 - -SilphCo11TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_0 - dw SilphCo11BattleText1 ; TextBeforeBattle - dw SilphCo11AfterBattleText1 ; TextAfterBattle - dw SilphCo11EndBattleText1 ; TextEndBattle - dw SilphCo11EndBattleText1 ; TextEndBattle - -SilphCo11TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_1 - dw SilphCo11BattleText2 ; TextBeforeBattle - dw SilphCo11AfterBattleText2 ; TextAfterBattle - dw SilphCo11EndBattleText2 ; TextEndBattle - dw SilphCo11EndBattleText2 ; TextEndBattle - - db $ff - -SilphCo11Text1: - TX_ASM - CheckEvent EVENT_GOT_MASTER_BALL - jp nz, .asm_62308 - ld hl, SilphCoPresidentText - call PrintText - lb bc, MASTER_BALL, 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedSilphCoMasterBallText - call PrintText - SetEvent EVENT_GOT_MASTER_BALL - jr .asm_6230e -.BagFull - ld hl, SilphCoMasterBallNoRoomText - call PrintText - jr .asm_6230e -.asm_62308 - ld hl, SilphCo10Text_6231c - call PrintText -.asm_6230e - jp TextScriptEnd - -SilphCoPresidentText: - TX_FAR _SilphCoPresidentText - db "@" - -ReceivedSilphCoMasterBallText: - TX_FAR _ReceivedSilphCoMasterBallText - TX_SFX_KEY_ITEM - db "@" - -SilphCo10Text_6231c: - TX_FAR _SilphCo10Text_6231c - db "@" - -SilphCoMasterBallNoRoomText: - TX_FAR _SilphCoMasterBallNoRoomText - db "@" - -SilphCo11Text2: - TX_FAR _SilphCo11Text2 - db "@" - -SilphCo11Text3: - TX_FAR _SilphCo11Text3 - db "@" - -SilphCo10Text_62330: - TX_FAR _SilphCo10Text_62330 - db "@" - -SilphCo11Text6: - TX_FAR _SilphCo10Text_62335 - db "@" - -SilphCo11Text4: - TX_ASM - ld hl, SilphCo11TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo11BattleText1: - TX_FAR _SilphCo11BattleText1 - db "@" - -SilphCo11EndBattleText1: - TX_FAR _SilphCo11EndBattleText1 - db "@" - -SilphCo11AfterBattleText1: - TX_FAR _SilphCo11AfterBattleText1 - db "@" - -SilphCo11Text5: - TX_ASM - ld hl, SilphCo11TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo11BattleText2: - TX_FAR _SilphCo11BattleText2 - db "@" - -SilphCo11EndBattleText2: - TX_FAR _SilphCo11EndBattleText2 - db "@" - -SilphCo11AfterBattleText2: - TX_FAR _SilphCo11AfterBattleText2 - db "@" - -SilphCo10Text_6236c: - TX_ASM - ld hl, SilphCo10Text_6237b - call PrintText - ld a, PORYGON - call DisplayPokedex - jp TextScriptEnd - -SilphCo10Text_6237b: - TX_FAR _SilphCo10Text_6237b - db "@" diff --git a/scripts/silphco2.asm b/scripts/silphco2.asm deleted file mode 100755 index e77c45dd..00000000 --- a/scripts/silphco2.asm +++ /dev/null @@ -1,245 +0,0 @@ -SilphCo2Script: - call SilphCo2Script_59d07 - call EnableAutoTextBoxDrawing - ld hl, SilphCo2TrainerHeader0 - ld de, SilphCo2ScriptPointers - ld a, [wSilphCo2CurScript] - call ExecuteCurMapScriptInTable - ld [wSilphCo2CurScript], a - ret - -SilphCo2Script_59d07: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - ld hl, SilphCo2GateCoords - call SilphCo2Script_59d43 - call SilphCo2Script_59d6f - CheckEvent EVENT_SILPH_CO_2_UNLOCKED_DOOR1 - jr nz, .asm_59d2e - push af - ld a, $54 - ld [wNewTileBlockID], a - lb bc, 2, 2 - predef ReplaceTileBlock - pop af -.asm_59d2e - CheckEventAfterBranchReuseA EVENT_SILPH_CO_2_UNLOCKED_DOOR2, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 - ret nz - ld a, $54 - ld [wNewTileBlockID], a - lb bc, 5, 2 - predef_jump ReplaceTileBlock - -SilphCo2GateCoords: - db $02,$02 - db $05,$02 - db $FF - -SilphCo2Script_59d43: - push hl - ld hl, wCardKeyDoorY - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - xor a - ld [$ffe0], a - pop hl -.asm_59d4f - ld a, [hli] - cp $ff - jr z, .asm_59d6b - push hl - ld hl, $ffe0 - inc [hl] - pop hl - cp b - jr z, .asm_59d60 - inc hl - jr .asm_59d4f -.asm_59d60 - ld a, [hli] - cp c - jr nz, .asm_59d4f - ld hl, wCardKeyDoorY - xor a - ld [hli], a - ld [hl], a - ret -.asm_59d6b - xor a - ld [$ffe0], a - ret - -SilphCo2Script_59d6f: - EventFlagAddress hl, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 - ld a, [$ffe0] - and a - ret z - cp $1 - jr nz, .next - SetEventReuseHL EVENT_SILPH_CO_2_UNLOCKED_DOOR1 - ret -.next - SetEventAfterBranchReuseHL EVENT_SILPH_CO_2_UNLOCKED_DOOR2, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 - ret - -SilphCo2ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -SilphCo2TextPointers: - dw SilphCo2Text1 - dw SilphCo2Text2 - dw SilphCo2Text3 - dw SilphCo2Text4 - dw SilphCo2Text5 - -SilphCo2TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_0 - dw SilphCo2BattleText1 ; TextBeforeBattle - dw SilphCo2AfterBattleText1 ; TextAfterBattle - dw SilphCo2EndBattleText1 ; TextEndBattle - dw SilphCo2EndBattleText1 ; TextEndBattle - -SilphCo2TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_1 - dw SilphCo2BattleText2 ; TextBeforeBattle - dw SilphCo2AfterBattleText2 ; TextAfterBattle - dw SilphCo2EndBattleText2 ; TextEndBattle - dw SilphCo2EndBattleText2 ; TextEndBattle - -SilphCo2TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_2 - dw SilphCo2BattleText3 ; TextBeforeBattle - dw SilphCo2AfterBattleText3 ; TextAfterBattle - dw SilphCo2EndBattleText3 ; TextEndBattle - dw SilphCo2EndBattleText3 ; TextEndBattle - -SilphCo2TrainerHeader3: - dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_3 - dw SilphCo2BattleText4 ; TextBeforeBattle - dw SilphCo2AfterBattleText4 ; TextAfterBattle - dw SilphCo2EndBattleText4 ; TextEndBattle - dw SilphCo2EndBattleText4 ; TextEndBattle - - db $ff - -SilphCo2Text1: - TX_ASM - CheckEvent EVENT_GOT_TM36 - jr nz, .asm_59de4 - ld hl, SilphCo2Text_59ded - call PrintText - lb bc, TM_36, 1 - call GiveItem - ld hl, TM36NoRoomText - jr nc, .asm_59de7 - SetEvent EVENT_GOT_TM36 - ld hl, ReceivedTM36Text - jr .asm_59de7 -.asm_59de4 - ld hl, TM36ExplanationText -.asm_59de7 - call PrintText - jp TextScriptEnd - -SilphCo2Text_59ded: - TX_FAR _SilphCo2Text_59ded - db "@" - -ReceivedTM36Text: - TX_FAR _ReceivedTM36Text - TX_SFX_ITEM_1 - db "@" - -TM36ExplanationText: - TX_FAR _TM36ExplanationText - db "@" - -TM36NoRoomText: - TX_FAR _TM36NoRoomText - db "@" - -SilphCo2Text2: - TX_ASM - ld hl, SilphCo2TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo2Text3: - TX_ASM - ld hl, SilphCo2TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo2Text4: - TX_ASM - ld hl, SilphCo2TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SilphCo2Text5: - TX_ASM - ld hl, SilphCo2TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -SilphCo2BattleText1: - TX_FAR _SilphCo2BattleText1 - db "@" - -SilphCo2EndBattleText1: - TX_FAR _SilphCo2EndBattleText1 - db "@" - -SilphCo2AfterBattleText1: - TX_FAR _SilphCo2AfterBattleText1 - db "@" - -SilphCo2BattleText2: - TX_FAR _SilphCo2BattleText2 - db "@" - -SilphCo2EndBattleText2: - TX_FAR _SilphCo2EndBattleText2 - db "@" - -SilphCo2AfterBattleText2: - TX_FAR _SilphCo2AfterBattleText2 - db "@" - -SilphCo2BattleText3: - TX_FAR _SilphCo2BattleText3 - db "@" - -SilphCo2EndBattleText3: - TX_FAR _SilphCo2EndBattleText3 - db "@" - -SilphCo2AfterBattleText3: - TX_FAR _SilphCo2AfterBattleText3 - db "@" - -SilphCo2BattleText4: - TX_FAR _SilphCo2BattleText4 - db "@" - -SilphCo2EndBattleText4: - TX_FAR _SilphCo2EndBattleText4 - db "@" - -SilphCo2AfterBattleText4: - TX_FAR _SilphCo2AfterBattleText4 - db "@" diff --git a/scripts/silphco3.asm b/scripts/silphco3.asm deleted file mode 100755 index 0d12b768..00000000 --- a/scripts/silphco3.asm +++ /dev/null @@ -1,136 +0,0 @@ -SilphCo3Script: - call SilphCo3Script_59f71 - call EnableAutoTextBoxDrawing - ld hl, SilphCo3TrainerHeader0 - ld de, SilphCo3ScriptPointers - ld a, [wSilphCo3CurScript] - call ExecuteCurMapScriptInTable - ld [wSilphCo3CurScript], a - ret - -SilphCo3Script_59f71: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - ld hl, SilphCo3GateCoords - call SilphCo2Script_59d43 - call SilphCo3Script_59fad - CheckEvent EVENT_SILPH_CO_3_UNLOCKED_DOOR1 - jr nz, .asm_59f98 - push af - ld a, $5f - ld [wNewTileBlockID], a - lb bc, 4, 4 - predef ReplaceTileBlock - pop af -.asm_59f98 - CheckEventAfterBranchReuseA EVENT_SILPH_CO_3_UNLOCKED_DOOR2, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 - ret nz - ld a, $5f - ld [wNewTileBlockID], a - lb bc, 4, 8 - predef_jump ReplaceTileBlock - -SilphCo3GateCoords: - db $04,$04 - db $04,$08 - db $FF - -SilphCo3Script_59fad: - EventFlagAddress hl, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 - ld a, [$ffe0] - and a - ret z - cp $1 - jr nz, .next - SetEventReuseHL EVENT_SILPH_CO_3_UNLOCKED_DOOR1 - ret -.next - SetEventAfterBranchReuseHL EVENT_SILPH_CO_3_UNLOCKED_DOOR2, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 - ret - -SilphCo3ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -SilphCo3TextPointers: - dw SilphCo3Text1 - dw SilphCo3Text2 - dw SilphCo3Text3 - dw PickUpItemText - -SilphCo3TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_3F_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_3F_TRAINER_0 - dw SilphCo3BattleText1 ; TextBeforeBattle - dw SilphCo3AfterBattleText1 ; TextAfterBattle - dw SilphCo3EndBattleText1 ; TextEndBattle - dw SilphCo3EndBattleText1 ; TextEndBattle - -SilphCo3TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_3F_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_3F_TRAINER_1 - dw SilphCo3BattleText2 ; TextBeforeBattle - dw SilphCo3AfterBattleText2 ; TextAfterBattle - dw SilphCo3EndBattleText2 ; TextEndBattle - dw SilphCo3EndBattleText2 ; TextEndBattle - - db $ff - -SilphCo3Text1: - TX_ASM - CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI - ld hl, SilphCo3Text_59ffe - jr nz, .asm_59fee - ld hl, SilphCo3Text_59ff9 -.asm_59fee - call PrintText - jp TextScriptEnd - -SilphCo3Text_59ff9: - TX_FAR _SilphCo3Text_59ff9 - db "@" - -SilphCo3Text_59ffe: - TX_FAR _SilphCo3Text_59ffe - db "@" - -SilphCo3Text2: - TX_ASM - ld hl, SilphCo3TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo3BattleText1: - TX_FAR _SilphCo3BattleText1 - db "@" - -SilphCo3EndBattleText1: - TX_FAR _SilphCo3EndBattleText1 - db "@" - -SilphCo3AfterBattleText1: - TX_FAR _SilphCo3AfterBattleText1 - db "@" - -SilphCo3Text3: - TX_ASM - ld hl, SilphCo3TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo3BattleText2: - TX_FAR _SilphCo3BattleText2 - db "@" - -SilphCo3EndBattleText2: - TX_FAR _SilphCo3EndBattleText2 - db "@" - -SilphCo3AfterBattleText2: - TX_FAR _SilphCo3AfterBattleText2 - db "@" diff --git a/scripts/silphco4.asm b/scripts/silphco4.asm deleted file mode 100755 index 1cfd1ceb..00000000 --- a/scripts/silphco4.asm +++ /dev/null @@ -1,199 +0,0 @@ -SilphCo4Script: - call SilphCo4Script_19d21 - call EnableAutoTextBoxDrawing - ld hl, SilphCo4TrainerHeader0 - ld de, SilphCo4ScriptPointers - ld a, [wSilphCo4CurScript] - call ExecuteCurMapScriptInTable - ld [wSilphCo4CurScript], a - ret - -SilphCo4Script_19d21: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - ld hl, SilphCo4GateCoords - call SilphCo4Script_19d5d - call SilphCo4Script_19d89 - CheckEvent EVENT_SILPH_CO_4_UNLOCKED_DOOR1 - jr nz, .asm_19d48 - push af - ld a, $54 - ld [wNewTileBlockID], a - lb bc, 6, 2 - predef ReplaceTileBlock - pop af -.asm_19d48 - CheckEventAfterBranchReuseA EVENT_SILPH_CO_4_UNLOCKED_DOOR2, EVENT_SILPH_CO_4_UNLOCKED_DOOR1 - ret nz - ld a, $54 - ld [wNewTileBlockID], a - lb bc, 4, 6 - predef_jump ReplaceTileBlock - -SilphCo4GateCoords: - db $06,$02 - db $04,$06 - db $FF - -SilphCo4Script_19d5d: - push hl - ld hl, wCardKeyDoorY - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - xor a - ld [$ffe0], a - pop hl -.asm_19d69 - ld a, [hli] - cp $ff - jr z, .asm_19d85 - push hl - ld hl, $ffe0 - inc [hl] - pop hl - cp b - jr z, .asm_19d7a - inc hl - jr .asm_19d69 -.asm_19d7a - ld a, [hli] - cp c - jr nz, .asm_19d69 - ld hl, wCardKeyDoorY - xor a - ld [hli], a - ld [hl], a - ret -.asm_19d85 - xor a - ld [$ffe0], a - ret - -SilphCo4Script_19d89: - EventFlagAddress hl, EVENT_SILPH_CO_4_UNLOCKED_DOOR1 - ld a, [$ffe0] - and a - ret z - cp $1 - jr nz, .next - SetEventReuseHL EVENT_SILPH_CO_4_UNLOCKED_DOOR1 - ret -.next - SetEventAfterBranchReuseHL EVENT_SILPH_CO_4_UNLOCKED_DOOR2, EVENT_SILPH_CO_4_UNLOCKED_DOOR1 - ret - -SilphCo4ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -SilphCo4TextPointers: - dw SilphCo4Text1 - dw SilphCo4Text2 - dw SilphCo4Text3 - dw SilphCo4Text4 - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - -SilphCo4TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_0 - dw SilphCo4BattleText2 ; TextBeforeBattle - dw SilphCo4AfterBattleText2 ; TextAfterBattle - dw SilphCo4EndBattleText2 ; TextEndBattle - dw SilphCo4EndBattleText2 ; TextEndBattle - -SilphCo4TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_1 - dw SilphCo4BattleText3 ; TextBeforeBattle - dw SilphCo4AfterBattleText3 ; TextAfterBattle - dw SilphCo4EndBattleText3 ; TextEndBattle - dw SilphCo4EndBattleText3 ; TextEndBattle - -SilphCo4TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_2 - dw SilphCo4BattleText4 ; TextBeforeBattle - dw SilphCo4AfterBattleText4 ; TextAfterBattle - dw SilphCo4EndBattleText4 ; TextEndBattle - dw SilphCo4EndBattleText4 ; TextEndBattle - - db $ff - -SilphCo4Text1: - TX_ASM - ld hl, SilphCo4Text_19de0 - ld de, SilphCo4Text_19de5 - call SilphCo6Script_1a22f - jp TextScriptEnd - -SilphCo4Text_19de0: - TX_FAR _SilphCo4Text_19de0 - db "@" - -SilphCo4Text_19de5: - TX_FAR _SilphCo4Text_19de5 - db "@" - -SilphCo4Text2: - TX_ASM - ld hl, SilphCo4TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo4BattleText2: - TX_FAR _SilphCo4BattleText2 - db "@" - -SilphCo4EndBattleText2: - TX_FAR _SilphCo4EndBattleText2 - db "@" - -SilphCo4AfterBattleText2: - TX_FAR _SilphCo4AfterBattleText2 - db "@" - -SilphCo4Text3: - TX_ASM - ld hl, SilphCo4TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo4BattleText3: - TX_FAR _SilphCo4BattleText3 - db "@" - -SilphCo4EndBattleText3: - TX_FAR _SilphCo4EndBattleText3 - db "@" - -SilphCo4AfterBattleText3: - TX_FAR _SilphCo4AfterBattleText3 - db "@" - -SilphCo4Text4: - TX_ASM - ld hl, SilphCo4TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SilphCo4BattleText4: - TX_FAR _SilphCo4BattleText4 - db "@" - -SilphCo4EndBattleText4: - TX_FAR _SilphCo4EndBattleText4 - db "@" - -SilphCo4AfterBattleText4: - TX_FAR _SilphCo4AfterBattleText4 - db "@" diff --git a/scripts/silphco5.asm b/scripts/silphco5.asm deleted file mode 100755 index 45a81b68..00000000 --- a/scripts/silphco5.asm +++ /dev/null @@ -1,221 +0,0 @@ -SilphCo5Script: - call SilphCo5Script_19f4d - call EnableAutoTextBoxDrawing - ld hl, SilphCo5TrainerHeader0 - ld de, SilphCo5ScriptPointers - ld a, [wSilphCo5CurScript] - call ExecuteCurMapScriptInTable - ld [wSilphCo5CurScript], a - ret - -SilphCo5Script_19f4d: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - ld hl, SilphCo5GateCoords - call SilphCo4Script_19d5d - call SilphCo5Script_19f9e - CheckEvent EVENT_SILPH_CO_5_UNLOCKED_DOOR1 - jr nz, .asm_19f74 - push af - ld a, $5f - ld [wNewTileBlockID], a - lb bc, 2, 3 - predef ReplaceTileBlock - pop af -.asm_19f74 - CheckEventAfterBranchReuseA EVENT_SILPH_CO_5_UNLOCKED_DOOR2, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 - jr nz, .asm_19f87 - push af - ld a, $5f - ld [wNewTileBlockID], a - lb bc, 6, 3 - predef ReplaceTileBlock - pop af -.asm_19f87 - CheckEventAfterBranchReuseA EVENT_SILPH_CO_5_UNLOCKED_DOOR3, EVENT_SILPH_CO_5_UNLOCKED_DOOR2 - ret nz - ld a, $5f - ld [wNewTileBlockID], a - lb bc, 5, 7 - predef_jump ReplaceTileBlock - -SilphCo5GateCoords: - db $02,$03 - db $06,$03 - db $05,$07 - db $FF - -SilphCo5Script_19f9e: - EventFlagAddress hl, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 - ld a, [$ffe0] - and a - ret z - cp $1 - jr nz, .next1 - SetEventReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR1 - ret -.next1 - cp $2 - jr nz, .next2 - SetEventAfterBranchReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR2, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 - ret -.next2 - SetEventAfterBranchReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR3, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 - ret - -SilphCo5ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -SilphCo5TextPointers: - dw SilphCo5Text1 - dw SilphCo5Text2 - dw SilphCo5Text3 - dw SilphCo5Text4 - dw SilphCo5Text5 - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw SilphCo5Text9 - dw SilphCo5Text10 - dw SilphCo5Text11 - -SilphCo5TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_0 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_0 - dw SilphCo5BattleText2 ; TextBeforeBattle - dw SilphCo5AfterBattleText2 ; TextAfterBattle - dw SilphCo5EndBattleText2 ; TextEndBattle - dw SilphCo5EndBattleText2 ; TextEndBattle - -SilphCo5TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_1 - dw SilphCo5BattleText3 ; TextBeforeBattle - dw SilphCo5AfterBattleText3 ; TextAfterBattle - dw SilphCo5EndBattleText3 ; TextEndBattle - dw SilphCo5EndBattleText3 ; TextEndBattle - -SilphCo5TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_2 - dw SilphCo5BattleText4 ; TextBeforeBattle - dw SilphCo5AfterBattleText4 ; TextAfterBattle - dw SilphCo5EndBattleText4 ; TextEndBattle - dw SilphCo5EndBattleText4 ; TextEndBattle - -SilphCo5TrainerHeader3: - dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_3 - dw SilphCo5BattleText5 ; TextBeforeBattle - dw SilphCo5AfterBattleText5 ; TextAfterBattle - dw SilphCo5EndBattleText5 ; TextEndBattle - dw SilphCo5EndBattleText5 ; TextEndBattle - - db $ff - -SilphCo5Text1: - TX_ASM - ld hl, SilphCo5Text_1a010 - ld de, SilphCo5Text_1a015 - call SilphCo6Script_1a22f - jp TextScriptEnd - -SilphCo5Text_1a010: - TX_FAR _SilphCo5Text_1a010 - db "@" - -SilphCo5Text_1a015: - TX_FAR _SilphCo5Text_1a015 - db "@" - -SilphCo5Text2: - TX_ASM - ld hl, SilphCo5TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo5BattleText2: - TX_FAR _SilphCo5BattleText2 - db "@" - -SilphCo5EndBattleText2: - TX_FAR _SilphCo5EndBattleText2 - db "@" - -SilphCo5AfterBattleText2: - TX_FAR _SilphCo5AfterBattleText2 - db "@" - -SilphCo5Text3: - TX_ASM - ld hl, SilphCo5TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo5BattleText3: - TX_FAR _SilphCo5BattleText3 - db "@" - -SilphCo5EndBattleText3: - TX_FAR _SilphCo5EndBattleText3 - db "@" - -SilphCo5AfterBattleText3: - TX_FAR _SilphCo5AfterBattleText3 - db "@" - -SilphCo5Text4: - TX_ASM - ld hl, SilphCo5TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SilphCo5BattleText4: - TX_FAR _SilphCo5BattleText4 - db "@" - -SilphCo5EndBattleText4: - TX_FAR _SilphCo5EndBattleText4 - db "@" - -SilphCo5AfterBattleText4: - TX_FAR _SilphCo5AfterBattleText4 - db "@" - -SilphCo5Text5: - TX_ASM - ld hl, SilphCo5TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -SilphCo5BattleText5: - TX_FAR _SilphCo5BattleText5 - db "@" - -SilphCo5EndBattleText5: - TX_FAR _SilphCo5EndBattleText5 - db "@" - -SilphCo5AfterBattleText5: - TX_FAR _SilphCo5AfterBattleText5 - db "@" - -SilphCo5Text9: - TX_FAR _SilphCo5Text9 - db "@" - -SilphCo5Text10: - TX_FAR _SilphCo5Text10 - db "@" - -SilphCo5Text11: - TX_FAR _SilphCo5Text11 - db "@" diff --git a/scripts/silphco6.asm b/scripts/silphco6.asm deleted file mode 100755 index 240b6793..00000000 --- a/scripts/silphco6.asm +++ /dev/null @@ -1,220 +0,0 @@ -SilphCo6Script: - call SilphCo6Script_1a1bf - call EnableAutoTextBoxDrawing - ld hl, SilphCo6TrainerHeader0 - ld de, SilphCo6ScriptPointers - ld a, [wSilphCo6CurScript] - call ExecuteCurMapScriptInTable - ld [wSilphCo6CurScript], a - ret - -SilphCo6Script_1a1bf: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - ld hl, SilphCo6GateCoords - call SilphCo4Script_19d5d - call SilphCo6Script_1a1e6 - CheckEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR - ret nz - ld a, $5f - ld [wNewTileBlockID], a - lb bc, 6, 2 - predef_jump ReplaceTileBlock - -SilphCo6GateCoords: - db $06,$02 - db $FF - -SilphCo6Script_1a1e6: - ld a, [$ffe0] - and a - ret z - SetEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR - ret - -SilphCo6ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -SilphCo6TextPointers: - dw SilphCo6Text1 - dw SilphCo6Text2 - dw SilphCo6Text3 - dw SilphCo6Text4 - dw SilphCo6Text5 - dw SilphCo6Text6 - dw SilphCo6Text7 - dw SilphCo6Text8 - dw PickUpItemText - dw PickUpItemText - -SilphCo6TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_0 - dw SilphCo6BattleText2 ; TextBeforeBattle - dw SilphCo6AfterBattleText2 ; TextAfterBattle - dw SilphCo6EndBattleText2 ; TextEndBattle - dw SilphCo6EndBattleText2 ; TextEndBattle - -SilphCo6TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_1 - dw SilphCo6BattleText3 ; TextBeforeBattle - dw SilphCo6AfterBattleText3 ; TextAfterBattle - dw SilphCo6EndBattleText3 ; TextEndBattle - dw SilphCo6EndBattleText3 ; TextEndBattle - -SilphCo6TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_2, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_2, 1 - dw SilphCo6BattleText4 ; TextBeforeBattle - dw SilphCo6AfterBattleText4 ; TextAfterBattle - dw SilphCo6EndBattleText4 ; TextEndBattle - dw SilphCo6EndBattleText4 ; TextEndBattle - - db $ff - -SilphCo6Script_1a22f: - CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI - jr nz, .asm_1a238 - jr .asm_1a23a -.asm_1a238 - ld h, d - ld l, e -.asm_1a23a - jp PrintText - -SilphCo6Text1: - TX_ASM - ld hl, SilphCo6Text_1a24a - ld de, SilphCo6Text_1a24f - call SilphCo6Script_1a22f - jp TextScriptEnd - -SilphCo6Text_1a24a: - TX_FAR _SilphCo6Text_1a24a - db "@" - -SilphCo6Text_1a24f: - TX_FAR _SilphCo6Text_1a24f - db "@" - -SilphCo6Text2: - TX_ASM - ld hl, SilphCo6Text_1a261 - ld de, SilphCo6Text_1a266 - call SilphCo6Script_1a22f - jp TextScriptEnd - -SilphCo6Text_1a261: - TX_FAR _SilphCo6Text_1a261 - db "@" - -SilphCo6Text_1a266: - TX_FAR _SilphCo6Text_1a266 - db "@" - -SilphCo6Text3: - TX_ASM - ld hl, SilphCo6Text_1a278 - ld de, SilphCo6Text_1a27d - call SilphCo6Script_1a22f - jp TextScriptEnd - -SilphCo6Text_1a278: - TX_FAR _SilphCo6Text_1a278 - db "@" - -SilphCo6Text_1a27d: - TX_FAR _SilphCo6Text_1a27d - db "@" - -SilphCo6Text4: - TX_ASM - ld hl, SilphCo6Text_1a28f - ld de, SilphCo6Text_1a294 - call SilphCo6Script_1a22f - jp TextScriptEnd - -SilphCo6Text_1a28f: - TX_FAR _SilphCo6Text_1a28f - db "@" - -SilphCo6Text_1a294: - TX_FAR _SilphCo6Text_1a294 - db "@" - -SilphCo6Text5: - TX_ASM - ld hl, SilphCo6Text_1a2a6 - ld de, SilphCo6Text_1a2ab - call SilphCo6Script_1a22f - jp TextScriptEnd - -SilphCo6Text_1a2a6: - TX_FAR _SilphCo6Text_1a2a6 - db "@" - -SilphCo6Text_1a2ab: - TX_FAR _SilphCo6Text_1a2ab - db "@" - -SilphCo6Text6: - TX_ASM - ld hl, SilphCo6TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo6BattleText2: - TX_FAR _SilphCo6BattleText2 - db "@" - -SilphCo6EndBattleText2: - TX_FAR _SilphCo6EndBattleText2 - db "@" - -SilphCo6AfterBattleText2: - TX_FAR _SilphCo6AfterBattleText2 - db "@" - -SilphCo6Text7: - TX_ASM - ld hl, SilphCo6TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo6BattleText3: - TX_FAR _SilphCo6BattleText3 - db "@" - -SilphCo6EndBattleText3: - TX_FAR _SilphCo6EndBattleText3 - db "@" - -SilphCo6AfterBattleText3: - TX_FAR _SilphCo6AfterBattleText3 - db "@" - -SilphCo6Text8: - TX_ASM - ld hl, SilphCo6TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SilphCo6BattleText4: - TX_FAR _SilphCo6BattleText4 - db "@" - -SilphCo6EndBattleText4: - TX_FAR _SilphCo6EndBattleText4 - db "@" - -SilphCo6AfterBattleText4: - TX_FAR _SilphCo6AfterBattleText4 - db "@" diff --git a/scripts/silphco7.asm b/scripts/silphco7.asm deleted file mode 100755 index b211c8a9..00000000 --- a/scripts/silphco7.asm +++ /dev/null @@ -1,527 +0,0 @@ -SilphCo7Script: - call SilphCo7Script_51b77 - call EnableAutoTextBoxDrawing - ld hl, SilphCo7TrainerHeader0 - ld de, SilphCo7ScriptPointers - ld a, [wSilphCo7CurScript] - call ExecuteCurMapScriptInTable - ld [wSilphCo7CurScript], a - ret - -SilphCo7Script_51b77: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - ld hl, SilphCo7GateCoords - call SilphCo7Text_51bc8 - call SilphCo7Text_51bf4 - CheckEvent EVENT_SILPH_CO_7_UNLOCKED_DOOR1 - jr nz, .asm_51b9e - push af - ld a, $54 - ld [wNewTileBlockID], a - lb bc, 3, 5 - predef ReplaceTileBlock - pop af -.asm_51b9e - CheckEventAfterBranchReuseA EVENT_SILPH_CO_7_UNLOCKED_DOOR2, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 - jr nz, .asm_51bb1 - push af - ld a, $54 - ld [wNewTileBlockID], a - lb bc, 2, 10 - predef ReplaceTileBlock - pop af -.asm_51bb1 - CheckEventAfterBranchReuseA EVENT_SILPH_CO_7_UNLOCKED_DOOR3, EVENT_SILPH_CO_7_UNLOCKED_DOOR2 - ret nz - ld a, $54 - ld [wNewTileBlockID], a - lb bc, 6, 10 - predef_jump ReplaceTileBlock - -SilphCo7GateCoords: - db $03,$05 - db $02,$0A - db $06,$0A - db $FF - -SilphCo7Text_51bc8: - push hl - ld hl, wCardKeyDoorY - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - xor a - ld [$ffe0], a - pop hl -.asm_51bd4 - ld a, [hli] - cp $ff - jr z, .asm_51bf0 - push hl - ld hl, $ffe0 - inc [hl] - pop hl - cp b - jr z, .asm_51be5 - inc hl - jr .asm_51bd4 -.asm_51be5 - ld a, [hli] - cp c - jr nz, .asm_51bd4 - ld hl, wCardKeyDoorY - xor a - ld [hli], a - ld [hl], a - ret -.asm_51bf0 - xor a - ld [$ffe0], a - ret - -SilphCo7Text_51bf4: - EventFlagAddress hl, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 - ld a, [$ffe0] - and a - ret z - cp $1 - jr nz, .next1 - SetEventReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR1 - ret -.next1 - cp $2 - jr nz, .next2 - SetEventAfterBranchReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR2, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 - ret -.next2 - SetEventAfterBranchReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR3, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 - ret - -SilphCo7Text_51c0c: - xor a - ld [wJoyIgnore], a - -SilphCo7Text_51c10: - ld [wSilphCo7CurScript], a - ld [wCurMapScript], a - ret - -SilphCo7ScriptPointers: - dw SilphCo7Script0 - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw SilphCo7Script3 - dw SilphCo7Script4 - dw SilphCo7Script5 - -SilphCo7Script0: - CheckEvent EVENT_BEAT_SILPH_CO_RIVAL - jp nz, CheckFightingMapTrainers - ld hl, CoordsData_51c78 - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - xor a - ld [hJoyHeld], a - ld a, $f0 - ld [wJoyIgnore], a - ld a, PLAYER_DIR_DOWN - ld [wPlayerMovingDirection], a - ld a, $ff - ld [wNewSoundID], a - call PlaySound - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic - ld a, $9 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $9 - ld [H_SPRITEINDEX], a - call SetSpriteMovementBytesToFF - ld de, MovementData_51c7d - ld a, [wCoordIndex] - ld [wcf0d], a - cp $1 - jr z, .asm_51c6c - inc de -.asm_51c6c - ld a, $9 - ld [H_SPRITEINDEX], a - call MoveSprite - ld a, $3 - jp SilphCo7Text_51c10 - -CoordsData_51c78: - db $02,$03 - db $03,$03 - db $FF - -MovementData_51c7d: - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_UP - db $FF - -SilphCo7Script3: - ld a, [wd730] - bit 0, a - ret nz - xor a - ld [wJoyIgnore], a - ld a, $d - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call Delay3 - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, SilphCo7Text14 - ld de, SilphCo7Text_51ecd - call SaveEndBattleTextPointers - ld a, OPP_SONY2 - ld [wCurOpponent], a - ld a, [wRivalStarter] - cp STARTER2 - jr nz, .asm_51cb6 - ld a, $7 - jr .asm_51cc0 -.asm_51cb6 - cp STARTER3 - jr nz, .asm_51cbe - ld a, $8 - jr .asm_51cc0 -.asm_51cbe - ld a, $9 -.asm_51cc0 - ld [wTrainerNo], a - ld a, $4 - jp SilphCo7Text_51c10 - -SilphCo7Script4: - ld a, [wIsInBattle] - cp $ff - jp z, SilphCo7Text_51c0c - ld a, $f0 - ld [wJoyIgnore], a - SetEvent EVENT_BEAT_SILPH_CO_RIVAL - ld a, PLAYER_DIR_DOWN - ld [wPlayerMovingDirection], a - ld a, $9 - ld [H_SPRITEINDEX], a - ld a, SPRITE_FACING_UP - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, $f - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $ff - ld [wNewSoundID], a - call PlaySound - callba Music_RivalAlternateStart - ld de, MovementData_51d1d - ld a, [wcf0d] - cp $1 - jr nz, .asm_51d0e - ld de, MovementData_51d1a -.asm_51d0e - ld a, $9 - ld [H_SPRITEINDEX], a - call MoveSprite - ld a, $5 - jp SilphCo7Text_51c10 - -MovementData_51d1a: - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db $FF - -MovementData_51d1d: - db NPC_MOVEMENT_LEFT - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_UP - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_DOWN - db $FF - -SilphCo7Script5: - ld a, [wd730] - bit 0, a - ret nz - ld a, HS_SILPH_CO_7F_RIVAL - ld [wMissableObjectIndex], a - predef HideObject - call PlayDefaultMusic - xor a - ld [wJoyIgnore], a - jp SilphCo7Text_51c10 - -SilphCo7TextPointers: - dw SilphCo7Text1 - dw SilphCo7Text2 - dw SilphCo7Text3 - dw SilphCo7Text4 - dw SilphCo7Text5 - dw SilphCo7Text6 - dw SilphCo7Text7 - dw SilphCo7Text8 - dw SilphCo7Text9 - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw SilphCo7Text13 - dw SilphCo7Text14 - dw SilphCo7Text15 - -SilphCo7TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_0 - dw SilphCo7BattleText1 ; TextBeforeBattle - dw SilphCo7AfterBattleText1 ; TextAfterBattle - dw SilphCo7EndBattleText1 ; TextEndBattle - dw SilphCo7EndBattleText1 ; TextEndBattle - -SilphCo7TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_1 - dw SilphCo7BattleText2 ; TextBeforeBattle - dw SilphCo7AfterBattleText2 ; TextAfterBattle - dw SilphCo7EndBattleText2 ; TextEndBattle - dw SilphCo7EndBattleText2 ; TextEndBattle - -SilphCo7TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_2 - dw SilphCo7BattleText3 ; TextBeforeBattle - dw SilphCo7AfterBattleText3 ; TextAfterBattle - dw SilphCo7EndBattleText3 ; TextEndBattle - dw SilphCo7EndBattleText3 ; TextEndBattle - -SilphCo7TrainerHeader3: - dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 1 - dw SilphCo7BattleText4 ; TextBeforeBattle - dw SilphCo7AfterBattleText4 ; TextAfterBattle - dw SilphCo7EndBattleText4 ; TextEndBattle - dw SilphCo7EndBattleText4 ; TextEndBattle - - db $ff - -SilphCo7Text1: -; lapras guy - TX_ASM - ld a, [wd72e] - bit 0, a ; got lapras? - jr z, .givelapras - CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI - jr nz, .savedsilph - ld hl, .LaprasGuyText - call PrintText - jr .done -.givelapras - ld hl, .MeetLaprasGuyText - call PrintText - lb bc, LAPRAS, 15 - call GivePokemon - jr nc, .done - ld a, [wSimulatedJoypadStatesEnd] - and a - call z, WaitForTextScrollButtonPress - call EnableAutoTextBoxDrawing - ld hl, .HeresYourLaprasText - call PrintText - ld hl, wd72e - set 0, [hl] - jr .done -.savedsilph - ld hl, .LaprasGuySavedText - call PrintText -.done - jp TextScriptEnd - -.MeetLaprasGuyText - TX_FAR _MeetLaprasGuyText - db "@" - -.HeresYourLaprasText - TX_FAR _HeresYourLaprasText - db "@" - -.LaprasGuyText - TX_FAR _LaprasGuyText - db "@" - -.LaprasGuySavedText - TX_FAR _LaprasGuySavedText - db "@" - -SilphCo7Text2: - TX_ASM - CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI - jr nz, .savedsilph - ld hl, .rockettext - call PrintText - jr .done -.savedsilph - ld hl, .savedtext - call PrintText -.done - jp TextScriptEnd - -.rockettext - TX_FAR _SilphCo7Text_51e00 - db "@" - -.savedtext - TX_FAR _CanceledMasterBallText - db "@" - -SilphCo7Text3: - TX_ASM - CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI - jr nz, .savedsilph - ld hl, .rockettext - call PrintText - jr .done -.savedsilph - ld hl, .savedtext - call PrintText -.done - jp TextScriptEnd - -.rockettext - TX_FAR _SilphCo7Text_51e23 - db "@" - -.savedtext - TX_FAR _SilphCo7Text_51e28 - db "@" - -SilphCo7Text4: - TX_ASM - CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI - jr nz, .savedsilph - ld hl, .rockettext - call PrintText - jr .done -.savedsilph - ld hl, .savedtext - call PrintText -.done - jp TextScriptEnd - -.rockettext - TX_FAR _SilphCo7Text_51e46 - db "@" - -.savedtext - TX_FAR _SilphCo7Text_51e4b - db "@" - -SilphCo7Text5: - TX_ASM - ld hl, SilphCo7TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo7BattleText1: - TX_FAR _SilphCo7BattleText1 - db "@" - -SilphCo7EndBattleText1: - TX_FAR _SilphCo7EndBattleText1 - db "@" - -SilphCo7AfterBattleText1: - TX_FAR _SilphCo7AfterBattleText1 - db "@" - -SilphCo7Text6: - TX_ASM - ld hl, SilphCo7TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo7BattleText2: - TX_FAR _SilphCo7BattleText2 - db "@" - -SilphCo7EndBattleText2: - TX_FAR _SilphCo7EndBattleText2 - db "@" - -SilphCo7AfterBattleText2: - TX_FAR _SilphCo7AfterBattleText2 - db "@" - -SilphCo7Text7: - TX_ASM - ld hl, SilphCo7TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SilphCo7BattleText3: - TX_FAR _SilphCo7BattleText3 - db "@" - -SilphCo7EndBattleText3: - TX_FAR _SilphCo7EndBattleText3 - db "@" - -SilphCo7AfterBattleText3: - TX_FAR _SilphCo7AfterBattleText3 - db "@" - -SilphCo7Text8: - TX_ASM - ld hl, SilphCo7TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -SilphCo7BattleText4: - TX_FAR _SilphCo7BattleText4 - db "@" - -SilphCo7EndBattleText4: - TX_FAR _SilphCo7EndBattleText4 - db "@" - -SilphCo7AfterBattleText4: - TX_FAR _SilphCo7AfterBattleText4 - db "@" - -SilphCo7Text9: - TX_ASM - ld hl, SilphCo7Text_51ebe - call PrintText - jp TextScriptEnd - -SilphCo7Text_51ebe: - TX_FAR _SilphCo7Text_51ebe - db "@" - -SilphCo7Text13: - TX_FAR _SilphCo7Text_51ec3 - db "@" - -SilphCo7Text14: - TX_FAR _SilphCo7Text_51ec8 - db "@" - -SilphCo7Text_51ecd: - TX_FAR _SilphCo7Text_51ecd - db "@" - -SilphCo7Text15: - TX_FAR _SilphCo7Text_51ed2 - db "@" diff --git a/scripts/silphco8.asm b/scripts/silphco8.asm deleted file mode 100755 index 498fd569..00000000 --- a/scripts/silphco8.asm +++ /dev/null @@ -1,183 +0,0 @@ -SilphCo8Script: - call SilphCo8Script_5651a - call EnableAutoTextBoxDrawing - ld hl, SilphCo8TrainerHeader0 - ld de, SilphCo8ScriptPointers - ld a, [wSilphCo8CurScript] - call ExecuteCurMapScriptInTable - ld [wSilphCo8CurScript], a - ret - -SilphCo8Script_5651a: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - ld hl, SilphCo8GateCoords - call SilphCo8Script_56541 - call SilphCo8Script_5656d - CheckEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR - ret nz - ld a, $5f - ld [wNewTileBlockID], a - lb bc, 4, 3 - predef_jump ReplaceTileBlock - -SilphCo8GateCoords: - db $04,$03 - db $FF - -SilphCo8Script_56541: - push hl - ld hl, wCardKeyDoorY - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - xor a - ld [$ffe0], a - pop hl -.asm_5654d - ld a, [hli] - cp $ff - jr z, .asm_56569 - push hl - ld hl, $ffe0 - inc [hl] - pop hl - cp b - jr z, .asm_5655e - inc hl - jr .asm_5654d -.asm_5655e - ld a, [hli] - cp c - jr nz, .asm_5654d - ld hl, wCardKeyDoorY - xor a - ld [hli], a - ld [hl], a - ret -.asm_56569 - xor a - ld [$ffe0], a - ret - -SilphCo8Script_5656d: - ld a, [$ffe0] - and a - ret z - SetEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR - ret - -SilphCo8ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -SilphCo8TextPointers: - dw SilphCo8Text1 - dw SilphCo8Text2 - dw SilphCo8Text3 - dw SilphCo8Text4 - -SilphCo8TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_0 - dw SilphCo8BattleText1 ; TextBeforeBattle - dw SilphCo8AfterBattleText1 ; TextAfterBattle - dw SilphCo8EndBattleText1 ; TextEndBattle - dw SilphCo8EndBattleText1 ; TextEndBattle - -SilphCo8TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_1 - dw SilphCo8BattleText2 ; TextBeforeBattle - dw SilphCo8AfterBattleText2 ; TextAfterBattle - dw SilphCo8EndBattleText2 ; TextEndBattle - dw SilphCo8EndBattleText2 ; TextEndBattle - -SilphCo8TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_2 - dw SilphCo8BattleText3 ; TextBeforeBattle - dw SilphCo8AfterBattleText3 ; TextAfterBattle - dw SilphCo8EndBattleText3 ; TextEndBattle - dw SilphCo8EndBattleText3 ; TextEndBattle - - db $ff - -SilphCo8Text1: - TX_ASM - CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI - ld hl, SilphCo8Text_565c3 - jr nz, .asm_565b8 - ld hl, SilphCo8Text_565be -.asm_565b8 - call PrintText - jp TextScriptEnd - -SilphCo8Text_565be: - TX_FAR _SilphCo8Text_565be - db "@" - -SilphCo8Text_565c3: - TX_FAR _SilphCo8Text_565c3 - db "@" - -SilphCo8Text2: - TX_ASM - ld hl, SilphCo8TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo8Text3: - TX_ASM - ld hl, SilphCo8TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo8Text4: - TX_ASM - ld hl, SilphCo8TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SilphCo8BattleText1: - TX_FAR _SilphCo8BattleText1 - db "@" - -SilphCo8EndBattleText1: - TX_FAR _SilphCo8EndBattleText1 - db "@" - -SilphCo8AfterBattleText1: - TX_FAR _SilphCo8AfterBattleText1 - db "@" - -SilphCo8BattleText2: - TX_FAR _SilphCo8BattleText2 - db "@" - -SilphCo8EndBattleText2: - TX_FAR _SilphCo8EndBattleText2 - db "@" - -SilphCo8AfterBattleText2: - TX_FAR _SilphCo8AfterBattleText2 - db "@" - -SilphCo8BattleText3: - TX_FAR _SilphCo8BattleText3 - db "@" - -SilphCo8EndBattleText3: - TX_FAR _SilphCo8EndBattleText3 - db "@" - -SilphCo8AfterBattleText3: - TX_FAR _SilphCo8AfterBattleText3 - db "@" diff --git a/scripts/silphco9.asm b/scripts/silphco9.asm deleted file mode 100755 index 57b8bc89..00000000 --- a/scripts/silphco9.asm +++ /dev/null @@ -1,244 +0,0 @@ -SilphCo9Script: - call SilphCo9Script_5d7d1 - call EnableAutoTextBoxDrawing - ld hl, SilphCo9TrainerHeader0 - ld de, SilphCo9ScriptPointers - ld a, [wSilphCo9CurScript] - call ExecuteCurMapScriptInTable - ld [wSilphCo9CurScript], a - ret - -SilphCo9Script_5d7d1: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - ld hl, SilphCo9GateCoords - call SilphCo9Script_5d837 - call SilphCo9Script_5d863 - CheckEvent EVENT_SILPH_CO_9_UNLOCKED_DOOR1 - jr nz, .asm_5d7f8 - push af - ld a, $5f - ld [wNewTileBlockID], a - lb bc, 4, 1 - predef ReplaceTileBlock - pop af -.asm_5d7f8 - CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR2, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 - jr nz, .asm_5d80b - push af - ld a, $54 - ld [wNewTileBlockID], a - lb bc, 2, 9 - predef ReplaceTileBlock - pop af -.asm_5d80b - CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR3, EVENT_SILPH_CO_9_UNLOCKED_DOOR2 - jr nz, .asm_5d81e - push af - ld a, $54 - ld [wNewTileBlockID], a - lb bc, 5, 9 - predef ReplaceTileBlock - pop af -.asm_5d81e - CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR4, EVENT_SILPH_CO_9_UNLOCKED_DOOR3 - ret nz - ld a, $5f - ld [wNewTileBlockID], a - lb bc, 6, 5 - predef_jump ReplaceTileBlock - -SilphCo9GateCoords: - db $04,$01 - db $02,$09 - db $05,$09 - db $06,$05 - db $FF - -SilphCo9Script_5d837: - push hl - ld hl, wCardKeyDoorY - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - xor a - ld [$ffe0], a - pop hl -.asm_5d843 - ld a, [hli] - cp $ff - jr z, .asm_5d85f - push hl - ld hl, $ffe0 - inc [hl] - pop hl - cp b - jr z, .asm_5d854 - inc hl - jr .asm_5d843 -.asm_5d854 - ld a, [hli] - cp c - jr nz, .asm_5d843 - ld hl, wCardKeyDoorY - xor a - ld [hli], a - ld [hl], a - ret -.asm_5d85f - xor a - ld [$ffe0], a - ret - -SilphCo9Script_5d863: - EventFlagAddress hl, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 - ld a, [$ffe0] - and a - ret z - cp $1 - jr nz, .next1 - SetEventReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR1 - ret -.next1 - cp $2 - jr nz, .next2 - SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR2, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 - ret -.next2 - cp $3 - jr nz, .next3 - SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR3, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 - ret -.next3 - cp $4 - ret nz - SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR4, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 - ret - -SilphCo9ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -SilphCo9TextPointers: - dw SilphCo9Text1 - dw SilphCo9Text2 - dw SilphCo9Text3 - dw SilphCo9Text4 - -SilphCo9TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_0 - dw SilphCo9BattleText1 ; TextBeforeBattle - dw SilphCo9AfterBattleText1 ; TextAfterBattle - dw SilphCo9EndBattleText1 ; TextEndBattle - dw SilphCo9EndBattleText1 ; TextEndBattle - -SilphCo9TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_1 - dw SilphCo9BattleText2 ; TextBeforeBattle - dw SilphCo9AfterBattleText2 ; TextAfterBattle - dw SilphCo9EndBattleText2 ; TextEndBattle - dw SilphCo9EndBattleText2 ; TextEndBattle - -SilphCo9TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_2 - dw SilphCo9BattleText3 ; TextBeforeBattle - dw SilphCo9AfterBattleText3 ; TextAfterBattle - dw SilphCo9EndBattleText3 ; TextEndBattle - dw SilphCo9EndBattleText3 ; TextEndBattle - - db $ff - -SilphCo9Text1: - TX_ASM - CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI - jr nz, .asm_5d8dc - ld hl, SilphCo9Text_5d8e5 - call PrintText - predef HealParty - call GBFadeOutToWhite - call Delay3 - call GBFadeInFromWhite - ld hl, SilphCo9Text_5d8ea - call PrintText - jr .asm_5d8e2 -.asm_5d8dc - ld hl, SilphCo9Text_5d8ef - call PrintText -.asm_5d8e2 - jp TextScriptEnd - -SilphCo9Text_5d8e5: - TX_FAR _SilphCo9Text_5d8e5 - db "@" - -SilphCo9Text_5d8ea: - TX_FAR _SilphCo9Text_5d8ea - db "@" - -SilphCo9Text_5d8ef: - TX_FAR _SilphCo9Text_5d8ef - db "@" - -SilphCo9Text2: - TX_ASM - ld hl, SilphCo9TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo9Text3: - TX_ASM - ld hl, SilphCo9TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo9Text4: - TX_ASM - ld hl, SilphCo9TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SilphCo9BattleText1: - TX_FAR _SilphCo9BattleText1 - db "@" - -SilphCo9EndBattleText1: - TX_FAR _SilphCo9EndBattleText1 - db "@" - -SilphCo9AfterBattleText1: - TX_FAR _SilphCo9AfterBattleText1 - db "@" - -SilphCo9BattleText2: - TX_FAR _SilphCo9BattleText2 - db "@" - -SilphCo9EndBattleText2: - TX_FAR _SilphCo9EndBattleText2 - db "@" - -SilphCo9AfterBattleText2: - TX_FAR _SilphCo9AfterBattleText2 - db "@" - -SilphCo9BattleText3: - TX_FAR _SilphCo9BattleText3 - db "@" - -SilphCo9EndBattleText3: - TX_FAR _SilphCo9EndBattleText3 - db "@" - -SilphCo9AfterBattleText3: - TX_FAR _SilphCo9AfterBattleText3 - db "@" diff --git a/scripts/silphcoelevator.asm b/scripts/silphcoelevator.asm deleted file mode 100755 index df4d08c7..00000000 --- a/scripts/silphcoelevator.asm +++ /dev/null @@ -1,88 +0,0 @@ -SilphCoElevatorScript: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - push hl - call nz, SilphCoElevatorScript_457dc - pop hl - bit 7, [hl] - res 7, [hl] - call nz, SilphCoElevatorScript_45827 - xor a - ld [wAutoTextBoxDrawingControl], a - inc a - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ret - -SilphCoElevatorScript_457dc: - ld hl, wWarpEntries - ld a, [wWarpedFromWhichWarp] - ld b, a - ld a, [wWarpedFromWhichMap] - ld c, a - call SilphCoElevatorScript_457ea - -SilphCoElevatorScript_457ea: - inc hl - inc hl - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ret - -SilphCoElevatorScript_457f1: - ld hl, SilphCoElavatorFloors - call LoadItemList - ld hl, SilphCoElevatorWarpMaps - ld de, wElevatorWarpMaps - ld bc, SilphCoElevatorWarpMapsEnd - SilphCoElevatorWarpMaps - call CopyData - ret - -SilphCoElavatorFloors: - db $0B ; num elements in list - db FLOOR_1F - db FLOOR_2F - db FLOOR_3F - db FLOOR_4F - db FLOOR_5F - db FLOOR_6F - db FLOOR_7F - db FLOOR_8F - db FLOOR_9F - db FLOOR_10F - db FLOOR_11F - db $FF ; terminator - -SilphCoElevatorWarpMaps: -; first byte is warp number -; second byte is map number -; These specify where the player goes after getting out of the elevator. - db $03, SILPH_CO_1F - db $02, SILPH_CO_2F - db $02, SILPH_CO_3F - db $02, SILPH_CO_4F - db $02, SILPH_CO_5F - db $02, SILPH_CO_6F - db $02, SILPH_CO_7F - db $02, SILPH_CO_8F - db $02, SILPH_CO_9F - db $02, SILPH_CO_10F - db $01, SILPH_CO_11F -SilphCoElevatorWarpMapsEnd: - -SilphCoElevatorScript_45827: - call Delay3 - callba ShakeElevator - ret - -SilphCoElevatorTextPointers: - dw SilphCoElevatorText1 - -SilphCoElevatorText1: - TX_ASM - call SilphCoElevatorScript_457f1 - ld hl, SilphCoElevatorWarpMaps - predef DisplayElevatorFloorMenu - jp TextScriptEnd diff --git a/scripts/ssanne1.asm b/scripts/ssanne1.asm deleted file mode 100755 index 3f8861d5..00000000 --- a/scripts/ssanne1.asm +++ /dev/null @@ -1,15 +0,0 @@ -SSAnne1Script: - call EnableAutoTextBoxDrawing - ret - -SSAnne1TextPointers: - dw SSAnne1Text1 - dw SSAnne1Text2 - -SSAnne1Text1: - TX_FAR _SSAnne1Text1 - db "@" - -SSAnne1Text2: - TX_FAR _SSAnne1Text2 - db "@" diff --git a/scripts/ssanne10.asm b/scripts/ssanne10.asm deleted file mode 100755 index 12433732..00000000 --- a/scripts/ssanne10.asm +++ /dev/null @@ -1,201 +0,0 @@ -SSAnne10Script: - call EnableAutoTextBoxDrawing - ld hl, SSAnne10TrainerHeader0 - ld de, SSAnne10ScriptPointers - ld a, [wSSAnne10CurScript] - call ExecuteCurMapScriptInTable - ld [wSSAnne10CurScript], a - ret - -SSAnne10ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -SSAnne10TextPointers: - dw SSAnne10Text1 - dw SSAnne10Text2 - dw SSAnne10Text3 - dw SSAnne10Text4 - dw SSAnne10Text5 - dw SSAnne10Text6 - dw SSAnne10Text7 - dw SSAnne10Text8 - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - -SSAnne10TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_0 - dw SSAnne10BattleText1 ; TextBeforeBattle - dw SSAnne10AfterBattleText1 ; TextAfterBattle - dw SSAnne10EndBattleText1 ; TextEndBattle - dw SSAnne10EndBattleText1 ; TextEndBattle - -SSAnne10TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_1 - dw SSAnne10BattleText2 ; TextBeforeBattle - dw SSAnne10AfterBattleText2 ; TextAfterBattle - dw SSAnne10EndBattleText2 ; TextEndBattle - dw SSAnne10EndBattleText2 ; TextEndBattle - -SSAnne10TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_2 - dw SSAnne10BattleText3 ; TextBeforeBattle - dw SSAnne10AfterBattleText3 ; TextAfterBattle - dw SSAnne10EndBattleText3 ; TextEndBattle - dw SSAnne10EndBattleText3 ; TextEndBattle - -SSAnne10TrainerHeader3: - dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_3 - dw SSAnne10BattleText4 ; TextBeforeBattle - dw SSAnne10AfterBattleText4 ; TextAfterBattle - dw SSAnne10EndBattleText4 ; TextEndBattle - dw SSAnne10EndBattleText4 ; TextEndBattle - -SSAnne10TrainerHeader4: - dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_4 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_4 - dw SSAnne10BattleText5 ; TextBeforeBattle - dw SSAnne10AfterBattleText5 ; TextAfterBattle - dw SSAnne10EndBattleText5 ; TextEndBattle - dw SSAnne10EndBattleText5 ; TextEndBattle - -SSAnne10TrainerHeader5: - dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_5 - dw SSAnne10BattleText6 ; TextBeforeBattle - dw SSAnne10AfterBattleText6 ; TextAfterBattle - dw SSAnne10EndBattleText6 ; TextEndBattle - dw SSAnne10EndBattleText6 ; TextEndBattle - - db $ff - -SSAnne10Text1: - TX_ASM - ld hl, SSAnne10TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SSAnne10Text2: - TX_ASM - ld hl, SSAnne10TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SSAnne10Text3: - TX_ASM - ld hl, SSAnne10TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SSAnne10Text4: - TX_ASM - ld hl, SSAnne10TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -SSAnne10Text5: - TX_ASM - ld hl, SSAnne10TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -SSAnne10Text6: - TX_ASM - ld hl, SSAnne10TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -SSAnne10Text8: - TX_FAR _SSAnne10Text8 - TX_ASM - ld a, MACHOKE - call PlayCry - jp TextScriptEnd - -SSAnne10BattleText1: - TX_FAR _SSAnne10BattleText1 - db "@" - -SSAnne10EndBattleText1: - TX_FAR _SSAnne10EndBattleText1 - db "@" - -SSAnne10AfterBattleText1: - TX_FAR _SSAnne10AfterBattleText1 - db "@" - -SSAnne10BattleText2: - TX_FAR _SSAnne10BattleText2 - db "@" - -SSAnne10EndBattleText2: - TX_FAR _SSAnne10EndBattleText2 - db "@" - -SSAnne10AfterBattleText2: - TX_FAR _SSAnne10AfterBattleText2 - db "@" - -SSAnne10BattleText3: - TX_FAR _SSAnne10BattleText3 - db "@" - -SSAnne10EndBattleText3: - TX_FAR _SSAnne10EndBattleText3 - db "@" - -SSAnne10AfterBattleText3: - TX_FAR _SSAnne10AfterBattleText3 - db "@" - -SSAnne10BattleText4: - TX_FAR _SSAnne10BattleText4 - db "@" - -SSAnne10EndBattleText4: - TX_FAR _SSAnne10EndBattleText4 - db "@" - -SSAnne10AfterBattleText4: - TX_FAR _SSAnne10AfterBattleText4 - db "@" - -SSAnne10BattleText5: - TX_FAR _SSAnne10BattleText5 - db "@" - -SSAnne10EndBattleText5: - TX_FAR _SSAnne10EndBattleText5 - db "@" - -SSAnne10AfterBattleText5: - TX_FAR _SSAnne10AfterBattleText5 - db "@" - -SSAnne10BattleText6: - TX_FAR _SSAnne10BattleText6 - db "@" - -SSAnne10EndBattleText6: - TX_FAR _SSAnne10EndBattleText6 - db "@" - -SSAnne10AfterBattleText6: - TX_FAR _SSAnne10AfterBattleText6 - db "@" - -SSAnne10Text7: - TX_FAR _SSAnne10Text7 - db "@" diff --git a/scripts/ssanne2.asm b/scripts/ssanne2.asm deleted file mode 100755 index 654b881a..00000000 --- a/scripts/ssanne2.asm +++ /dev/null @@ -1,216 +0,0 @@ -SSAnne2Script: - call EnableAutoTextBoxDrawing - ld hl, SSAnne2ScriptPointers - ld a, [wSSAnne2CurScript] - jp CallFunctionInTable - -SSAnne2Script_613ab: - xor a - ld [wJoyIgnore], a - ld [wSSAnne2CurScript], a - ret - -SSAnne2ScriptPointers: - dw SSAnne2Script0 - dw SSAnne2Script1 - dw SSAnne2Script2 - dw SSAnne2Script3 - dw SSAnne2Script4 - -SSAnne2Script4: - ret - -SSAnne2Script0: - ld hl, CoordsData_61411 - call ArePlayerCoordsInArray - ret nc - ld a, $ff - ld [wNewSoundID], a - call PlaySound - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic - ld a, [wCoordIndex] - ld [$ffdb], a - ld a, HS_SS_ANNE_2_RIVAL - ld [wMissableObjectIndex], a - predef ShowObject - call Delay3 - ld a, $2 - ld [H_SPRITEINDEX], a - call SetSpriteMovementBytesToFF - xor a - ld [hJoyHeld], a - ld a, $f0 - ld [wJoyIgnore], a - ld a, [$ffdb] - cp $2 - jr nz, .asm_61400 - ld de, MovementData_6140c - jr .asm_61403 -.asm_61400 - ld de, MovementData_6140d -.asm_61403 - call MoveSprite - ld a, $1 - ld [wSSAnne2CurScript], a - ret - -MovementData_6140c: - db NPC_MOVEMENT_DOWN - -MovementData_6140d: - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -CoordsData_61411: - db $08,$24 - db $08,$25 - db $FF - -SSAnne2Script_61416: - ld a, [wXCoord] - cp $25 - jr nz, .asm_61426 - ld a, PLAYER_DIR_LEFT - ld [wPlayerMovingDirection], a - ld a, SPRITE_FACING_RIGHT - jr .asm_61427 -.asm_61426 - xor a ; SPRITE_FACING_DOWN -.asm_61427 - ld [hSpriteFacingDirection], a - ld a, $2 - ld [H_SPRITEINDEX], a - jp SetSpriteFacingDirectionAndDelay - -SSAnne2Script1: - ld a, [wd730] - bit 0, a - ret nz - call SSAnne2Script_61416 - xor a - ld [wJoyIgnore], a - ld a, $2 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call Delay3 - ld a, OPP_SONY2 - ld [wCurOpponent], a - - ; select which team to use during the encounter - ld a, [wRivalStarter] - cp STARTER2 - jr nz, .NotSquirtle - ld a, $1 - jr .done -.NotSquirtle - cp STARTER3 - jr nz, .Charmander - ld a, $2 - jr .done -.Charmander - ld a, $3 -.done - ld [wTrainerNo], a - - call SSAnne2Script_61416 - ld a, $2 - ld [wSSAnne2CurScript], a - ret - -SSAnne2Script2: - ld a, [wIsInBattle] - cp $ff - jp z, SSAnne2Script_613ab - call SSAnne2Script_61416 - ld a, $f0 - ld [wJoyIgnore], a - ld a, $3 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $2 - ld [H_SPRITEINDEX], a - call SetSpriteMovementBytesToFF - ld a, [wXCoord] - cp $25 - jr nz, .asm_61497 - ld de, MovementData_614b9 - jr .asm_6149a -.asm_61497 - ld de, MovementData_614b7 -.asm_6149a - ld a, $2 - ld [H_SPRITEINDEX], a - call MoveSprite - ld a, $ff - ld [wNewSoundID], a - call PlaySound - callba Music_RivalAlternateStart - ld a, $3 - ld [wSSAnne2CurScript], a - ret - -MovementData_614b7: - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_DOWN - -MovementData_614b9: - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -SSAnne2Script3: - ld a, [wd730] - bit 0, a - ret nz - xor a - ld [wJoyIgnore], a - ld a, HS_SS_ANNE_2_RIVAL - ld [wMissableObjectIndex], a - predef HideObject - call PlayDefaultMusic - ld a, $4 - ld [wSSAnne2CurScript], a - ret - -SSAnne2TextPointers: - dw SSAnne2Text1 - dw SSAnne2Text2 - dw SSAnne2Text3 - -SSAnne2Text1: - TX_FAR _SSAnne2Text1 - db "@" - -SSAnne2Text2: - TX_ASM - ld hl, SSAnneRivalBeforeBattleText - call PrintText - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, SSAnneRivalDefeatedText - ld de, SSAnneRivalWonText - call SaveEndBattleTextPointers - jp TextScriptEnd - -SSAnneRivalBeforeBattleText: - TX_FAR _SSAnneRivalBeforeBattleText - db "@" - -SSAnneRivalDefeatedText: - TX_FAR _SSAnneRivalDefeatedText - db "@" - -SSAnneRivalWonText: - TX_FAR _SSAnneRivalWonText - db "@" - -SSAnne2Text3: - TX_FAR _SSAnneRivalCaptainText - db "@" diff --git a/scripts/ssanne3.asm b/scripts/ssanne3.asm deleted file mode 100755 index e681591a..00000000 --- a/scripts/ssanne3.asm +++ /dev/null @@ -1,9 +0,0 @@ -SSAnne3Script: - jp EnableAutoTextBoxDrawing - -SSAnne3TextPointers: - dw SSAnne3Text1 - -SSAnne3Text1: - TX_FAR _SSAnne3Text1 - db "@" diff --git a/scripts/ssanne4.asm b/scripts/ssanne4.asm deleted file mode 100755 index c9411717..00000000 --- a/scripts/ssanne4.asm +++ /dev/null @@ -1,5 +0,0 @@ -SSAnne4Script: - jp EnableAutoTextBoxDrawing - -SSAnne4TextPointers: - db "@" diff --git a/scripts/ssanne5.asm b/scripts/ssanne5.asm deleted file mode 100755 index 0cfef9f4..00000000 --- a/scripts/ssanne5.asm +++ /dev/null @@ -1,88 +0,0 @@ -SSAnne5Script: - call EnableAutoTextBoxDrawing - ld hl, SSAnne5TrainerHeader0 - ld de, SSAnne5ScriptPointers - ld a, [wSSAnne5CurScript] - call ExecuteCurMapScriptInTable - ld [wSSAnne5CurScript], a - ret - -SSAnne5ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -SSAnne5TextPointers: - dw SSAnne5Text1 - dw SSAnne5Text2 - dw SSAnne5Text3 - dw SSAnne5Text4 - dw SSAnne5Text5 - -SSAnne5TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SS_ANNE_5_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_5_TRAINER_0 - dw SSAnne5BattleText1 ; TextBeforeBattle - dw SSAnne5AfterBattleText1 ; TextAfterBattle - dw SSAnne5EndBattleText1 ; TextEndBattle - dw SSAnne5EndBattleText1 ; TextEndBattle - -SSAnne5TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SS_ANNE_5_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_5_TRAINER_1 - dw SSAnne5BattleText2 ; TextBeforeBattle - dw SSAnne5AfterBattleText2 ; TextAfterBattle - dw SSAnne5EndBattleText2 ; TextEndBattle - dw SSAnne5EndBattleText2 ; TextEndBattle - - db $ff - -SSAnne5Text1: - TX_FAR _SSAnne5Text1 - db "@" - -SSAnne5Text2: - TX_FAR _SSAnne5Text2 - db "@" - -SSAnne5Text3: - TX_FAR _SSAnne5Text3 - db "@" - -SSAnne5Text4: - TX_ASM - ld hl, SSAnne5TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SSAnne5BattleText1: - TX_FAR _SSAnne5BattleText1 - db "@" - -SSAnne5EndBattleText1: - TX_FAR _SSAnne5EndBattleText1 - db "@" - -SSAnne5AfterBattleText1: - TX_FAR _SSAnne5AfterBattleText1 - db "@" - -SSAnne5Text5: - TX_ASM - ld hl, SSAnne5TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SSAnne5BattleText2: - TX_FAR _SSAnne5BattleText2 - db "@" - -SSAnne5EndBattleText2: - TX_FAR _SSAnne5EndBattleText2 - db "@" - -SSAnne5AfterBattleText2: - TX_FAR _SSAnne5AfterBattleText2 - db "@" diff --git a/scripts/ssanne6.asm b/scripts/ssanne6.asm deleted file mode 100755 index e1998858..00000000 --- a/scripts/ssanne6.asm +++ /dev/null @@ -1,72 +0,0 @@ -SSAnne6Script: - call EnableAutoTextBoxDrawing - ret - -SSAnne6TextPointers: - dw SSAnne6Text1 - dw SSAnne6Text2 - dw SSAnne6Text3 - dw SSAnne6Text4 - dw SSAnne6Text5 - dw SSAnne6Text6 - dw SSAnne6Text7 - -SSAnne6Text1: - TX_FAR _SSAnne6Text1 - db "@" - -SSAnne6Text2: - TX_FAR _SSAnne6Text2 - db "@" - -SSAnne6Text3: - TX_FAR _SSAnne6Text3 - db "@" - -SSAnne6Text4: - TX_FAR _SSAnne6Text4 - db "@" - -SSAnne6Text5: - TX_FAR _SSAnne6Text5 - db "@" - -SSAnne6Text6: - TX_FAR _SSAnne6Text6 - db "@" - -SSAnne6Text7: - TX_ASM - ld hl, SSAnne6Text_61807 - call PrintText - ld a, [hRandomAdd] - bit 7, a - jr z, .asm_93eb1 - ld hl, SSAnne6Text_6180c - jr .asm_63292 -.asm_93eb1 - bit 4, a - jr z, .asm_7436c - ld hl, SSAnne6Text_61811 - jr .asm_63292 -.asm_7436c - ld hl, SSAnne6Text_61816 -.asm_63292 - call PrintText - jp TextScriptEnd - -SSAnne6Text_61807: - TX_FAR _SSAnne6Text_61807 - db "@" - -SSAnne6Text_6180c: - TX_FAR _SSAnne6Text_6180c - db "@" - -SSAnne6Text_61811: - TX_FAR _SSAnne6Text_61811 - db "@" - -SSAnne6Text_61816: - TX_FAR _SSAnne6Text_61816 - db "@" diff --git a/scripts/ssanne7.asm b/scripts/ssanne7.asm deleted file mode 100755 index 0df842c2..00000000 --- a/scripts/ssanne7.asm +++ /dev/null @@ -1,93 +0,0 @@ -SSAnne7Script: - call SSAnne7Script_6189b - jp EnableAutoTextBoxDrawing - -SSAnne7Script_6189b: - CheckEvent EVENT_RUBBED_CAPTAINS_BACK - ret nz - ld hl, wd72d - set 5, [hl] - ret - -SSAnne7TextPointers: - dw SSAnne7Text1 - dw SSAnne7Text2 - dw SSAnne7Text3 - -SSAnne7Text1: - TX_ASM - CheckEvent EVENT_GOT_HM01 - jr nz, .asm_797c4 - ld hl, SSAnne7RubText - call PrintText - ld hl, ReceivingHM01Text - call PrintText - lb bc, HM_01, 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedHM01Text - call PrintText - SetEvent EVENT_GOT_HM01 - jr .asm_0faf5 -.BagFull - ld hl, HM01NoRoomText - call PrintText - ld hl, wd72d - set 5, [hl] - jr .asm_0faf5 -.asm_797c4 - ld hl, SSAnne7Text_61932 - call PrintText -.asm_0faf5 - jp TextScriptEnd - -SSAnne7RubText: - TX_FAR _SSAnne7RubText - TX_ASM - ld a, [wAudioROMBank] - cp BANK(Audio3_UpdateMusic) - ld [wAudioSavedROMBank], a - jr nz, .asm_61908 - ld a, $ff - ld [wNewSoundID], a - call PlaySound - ld a, Bank(Music_PkmnHealed) - ld [wAudioROMBank], a -.asm_61908 - ld a, MUSIC_PKMN_HEALED - ld [wNewSoundID], a - call PlaySound -.asm_61910 - ld a, [wChannelSoundIDs] - cp MUSIC_PKMN_HEALED - jr z, .asm_61910 - call PlayDefaultMusic - SetEvent EVENT_RUBBED_CAPTAINS_BACK - ld hl, wd72d - res 5, [hl] - jp TextScriptEnd - -ReceivingHM01Text: - TX_FAR _ReceivingHM01Text - db "@" - -ReceivedHM01Text: - TX_FAR _ReceivedHM01Text - TX_SFX_KEY_ITEM - db "@" - -SSAnne7Text_61932: - TX_FAR _SSAnne7Text_61932 - db "@" - -HM01NoRoomText: - TX_FAR _HM01NoRoomText - db "@" - -SSAnne7Text2: - TX_FAR _SSAnne7Text2 - db "@" - -SSAnne7Text3: - TX_FAR _SSAnne7Text3 - db "@" diff --git a/scripts/ssanne8.asm b/scripts/ssanne8.asm deleted file mode 100755 index c684f84b..00000000 --- a/scripts/ssanne8.asm +++ /dev/null @@ -1,163 +0,0 @@ -SSAnne8Script: - call EnableAutoTextBoxDrawing - ld hl, SSAnne8TrainerHeader0 - ld de, SSAnne8ScriptPointers - ld a, [wSSAnne8CurScript] - call ExecuteCurMapScriptInTable - ld [wSSAnne8CurScript], a - ret - -SSAnne8ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -SSAnne8TextPointers: - dw SSAnne8Text1 - dw SSAnne8Text2 - dw SSAnne8Text3 - dw SSAnne8Text4 - dw SSAnne8Text5 - dw SSAnne8Text6 - dw SSAnne8Text7 - dw SSAnne8Text8 - dw SSAnne8Text9 - dw PickUpItemText - dw SSAnne8Text11 - -SSAnne8TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_0 - dw SSAnne8BattleText1 ; TextBeforeBattle - dw SSAnne8AfterBattleText1 ; TextAfterBattle - dw SSAnne8EndBattleText1 ; TextEndBattle - dw SSAnne8EndBattleText1 ; TextEndBattle - -SSAnne8TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_1 - dw SSAnne8BattleText2 ; TextBeforeBattle - dw SSAnne8AfterBattleText2 ; TextAfterBattle - dw SSAnne8EndBattleText2 ; TextEndBattle - dw SSAnne8EndBattleText2 ; TextEndBattle - -SSAnne8TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_2 - dw SSAnne8BattleText3 ; TextBeforeBattle - dw SSAnne8AfterBattleText3 ; TextAfterBattle - dw SSAnne8EndBattleText3 ; TextEndBattle - dw SSAnne8EndBattleText3 ; TextEndBattle - -SSAnne8TrainerHeader3: - dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_3 - dw SSAnne8BattleText4 ; TextBeforeBattle - dw SSAnne8AfterBattleText4 ; TextAfterBattle - dw SSAnne8EndBattleText4 ; TextEndBattle - dw SSAnne8EndBattleText4 ; TextEndBattle - - db $ff - -SSAnne8Text1: - TX_ASM - ld hl, SSAnne8TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SSAnne8Text2: - TX_ASM - ld hl, SSAnne8TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SSAnne8Text3: - TX_ASM - ld hl, SSAnne8TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SSAnne8Text4: - TX_ASM - ld hl, SSAnne8TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -SSAnne8Text8: - TX_FAR _SSAnne8Text8 - TX_ASM - ld a, WIGGLYTUFF - call PlayCry - jp TextScriptEnd - -SSAnne8BattleText1: - TX_FAR _SSAnne8BattleText1 - db "@" - -SSAnne8EndBattleText1: - TX_FAR _SSAnne8EndBattleText1 - db "@" - -SSAnne8AfterBattleText1: - TX_FAR _SSAnne8AfterBattleText1 - db "@" - -SSAnne8BattleText2: - TX_FAR _SSAnne8BattleText2 - db "@" - -SSAnne8EndBattleText2: - TX_FAR _SSAnne8EndBattleText2 - db "@" - -SSAnne8AfterBattleText2: - TX_FAR _SSAnne8AfterBattleText2 - db "@" - -SSAnne8BattleText3: - TX_FAR _SSAnne8BattleText3 - db "@" - -SSAnne8EndBattleText3: - TX_FAR _SSAnne8EndBattleText3 - db "@" - -SSAnne8AfterBattleText3: - TX_FAR _SSAnne8AfterBattleText3 - db "@" - -SSAnne8BattleText4: - TX_FAR _SSAnne8BattleText4 - db "@" - -SSAnne8EndBattleText4: - TX_FAR _SSAnne8EndBattleText4 - db "@" - -SSAnne8AfterBattleText4: - TX_FAR _SSAnne8AfterBattleText4 - db "@" - -SSAnne8Text5: - TX_FAR _SSAnne8Text5 - db "@" - -SSAnne8Text6: - TX_FAR _SSAnne8Text6 - db "@" - -SSAnne8Text7: - TX_FAR _SSAnne8Text7 - db "@" - -SSAnne8Text9: - TX_FAR _SSAnne8Text9 - db "@" - -SSAnne8Text11: - TX_FAR _SSAnne8Text11 - db "@" diff --git a/scripts/ssanne9.asm b/scripts/ssanne9.asm deleted file mode 100755 index 1f965e0d..00000000 --- a/scripts/ssanne9.asm +++ /dev/null @@ -1,215 +0,0 @@ -SSAnne9Script: - ld a, $1 - ld [wAutoTextBoxDrawingControl], a - xor a - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, SSAnne9TrainerHeader0 - ld de, SSAnne9ScriptPointers - ld a, [wSSAnne9CurScript] - call ExecuteCurMapScriptInTable - ld [wSSAnne9CurScript], a - ret - -SSAnne9ScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -SSAnne9TextPointers: - dw SSAnne9Text1 - dw SSAnne9Text2 - dw SSAnne9Text3 - dw SSAnne9Text4 - dw SSAnne9Text5 - dw PickUpItemText - dw SSAnne9Text7 - dw SSAnne9Text8 - dw PickUpItemText - dw SSAnne9Text10 - dw SSAnne9Text11 - dw SSAnne9Text12 - dw SSAnne9Text13 - -SSAnne9TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_0 - dw SSAnne9BattleText1 ; TextBeforeBattle - dw SSAnne9AfterBattleText1 ; TextAfterBattle - dw SSAnne9EndBattleText1 ; TextEndBattle - dw SSAnne9EndBattleText1 ; TextEndBattle - -SSAnne9TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_1 - dw SSAnne9BattleText2 ; TextBeforeBattle - dw SSAnne9AfterBattleText2 ; TextAfterBattle - dw SSAnne9EndBattleText2 ; TextEndBattle - dw SSAnne9EndBattleText2 ; TextEndBattle - -SSAnne9TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_2 - dw SSAnne9BattleText3 ; TextBeforeBattle - dw SSAnne9AfterBattleText3 ; TextAfterBattle - dw SSAnne9EndBattleText3 ; TextEndBattle - dw SSAnne9EndBattleText3 ; TextEndBattle - -SSAnne9TrainerHeader3: - dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_3 - dw SSAnne9BattleText4 ; TextBeforeBattle - dw SSAnne9AfterBattleText4 ; TextAfterBattle - dw SSAnne9EndBattleText4 ; TextEndBattle - dw SSAnne9EndBattleText4 ; TextEndBattle - - db $ff - -SSAnne9Text1: - TX_ASM - ld hl, SSAnne9TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SSAnne9Text2: - TX_ASM - ld hl, SSAnne9TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SSAnne9Text3: - TX_ASM - ld hl, SSAnne9TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SSAnne9Text4: - TX_ASM - ld hl, SSAnne9TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -SSAnne9Text5: - TX_ASM - call SaveScreenTilesToBuffer1 - ld hl, SSAnne9Text_61bf2 - call PrintText - call LoadScreenTilesFromBuffer1 - ld a, SNORLAX - call DisplayPokedex - jp TextScriptEnd - -SSAnne9Text_61bf2: - TX_FAR _SSAnne9Text_61bf2 - db "@" - -SSAnne9Text7: - TX_ASM - ld hl, SSAnne9Text_61c01 - call PrintText - jp TextScriptEnd - -SSAnne9Text_61c01: - TX_FAR _SSAnne9Text_61c01 - db "@" - -SSAnne9Text8: - TX_ASM - ld hl, SSAnne9Text_61c10 - call PrintText - jp TextScriptEnd - -SSAnne9Text_61c10: - TX_FAR _SSAnne9Text_61c10 - db "@" - -SSAnne9Text10: - TX_ASM - ld hl, SSAnne9Text_61c1f - call PrintText - jp TextScriptEnd - -SSAnne9Text_61c1f: - TX_FAR _SSAnne9Text_61c1f - db "@" - -SSAnne9Text11: - TX_ASM - ld hl, SSAnne9Text_61c2e - call PrintText - jp TextScriptEnd - -SSAnne9Text_61c2e: - TX_FAR _SSAnne9Text_61c2e - db "@" - -SSAnne9Text12: - TX_ASM - ld hl, SSAnne9Text_61c3d - call PrintText - jp TextScriptEnd - -SSAnne9Text_61c3d: - TX_FAR _SSAnne9Text_61c3d - db "@" - -SSAnne9Text13: - TX_ASM - ld hl, SSAnne9Text_61c4c - call PrintText - jp TextScriptEnd - -SSAnne9Text_61c4c: - TX_FAR _SSAnne9Text_61c4c - db "@" - -SSAnne9BattleText1: - TX_FAR _SSAnne9BattleText1 - db "@" - -SSAnne9EndBattleText1: - TX_FAR _SSAnne9EndBattleText1 - db "@" - -SSAnne9AfterBattleText1: - TX_FAR _SSAnne9AfterBattleText1 - db "@" - -SSAnne9BattleText2: - TX_FAR _SSAnne9BattleText2 - db "@" - -SSAnne9EndBattleText2: - TX_FAR _SSAnne9EndBattleText2 - db "@" - -SSAnne9AfterBattleText2: - TX_FAR _SSAnne9AfterBattleText2 - db "@" - -SSAnne9BattleText3: - TX_FAR _SSAnne9BattleText3 - db "@" - -SSAnne9EndBattleText3: - TX_FAR _SSAnne9EndBattleText3 - db "@" - -SSAnne9AfterBattleText3: - TX_FAR _SSAnne9AfterBattleText3 - db "@" - -SSAnne9BattleText4: - TX_FAR _SSAnne9BattleText4 - db "@" - -SSAnne9EndBattleText4: - TX_FAR _SSAnne9EndBattleText4 - db "@" - -SSAnne9AfterBattleText4: - TX_FAR _SSAnne9AfterBattleText4 - db "@" diff --git a/scripts/tradecenter.asm b/scripts/tradecenter.asm deleted file mode 100755 index 80efe4f9..00000000 --- a/scripts/tradecenter.asm +++ /dev/null @@ -1,38 +0,0 @@ -TradeCenterScript: - call EnableAutoTextBoxDrawing - ld a, [hSerialConnectionStatus] - cp USING_INTERNAL_CLOCK - ld a, SPRITE_FACING_LEFT - jr z, .next - ld a, SPRITE_FACING_RIGHT -.next - ld [hSpriteFacingDirection], a - ld a, $1 - ld [H_SPRITEINDEX], a - call SetSpriteFacingDirection - ld hl, wd72d - bit 0, [hl] - set 0, [hl] - ret nz - ld hl, wSpriteStateData2 + $14 - ld a, $8 - ld [hli], a - ld a, $a - ld [hl], a - ld a, SPRITE_FACING_LEFT - ld [wSpriteStateData1 + $19], a - ld a, [hSerialConnectionStatus] - cp USING_INTERNAL_CLOCK - ret z - ld a, $7 - ld [wSpriteStateData2 + $15], a - ld a, SPRITE_FACING_RIGHT - ld [wSpriteStateData1 + $19], a - ret - -TradeCenterTextPointers: - dw TradeCenterText1 - -TradeCenterText1: - TX_FAR _TradeCenterText1 - db "@" diff --git a/scripts/undergroundpathentranceroute5.asm b/scripts/undergroundpathentranceroute5.asm deleted file mode 100755 index 18707c4a..00000000 --- a/scripts/undergroundpathentranceroute5.asm +++ /dev/null @@ -1,18 +0,0 @@ -UndergroundPathEntranceRoute5Script: - ld a, ROUTE_5 - ld [wLastMap], a - ret - -UndergroundPathEntranceRoute5_5d6af: - db "@" - -UndergroundPathEntranceRoute5TextPointers: - dw UndergroundPathEntranceRoute5Text1 - -UndergroundPathEntranceRoute5Text1: - TX_ASM - ld a, $9 - ld [wWhichTrade], a - predef DoInGameTradeDialogue - ld hl, UndergroundPathEntranceRoute5_5d6af - ret diff --git a/scripts/undergroundpathentranceroute6.asm b/scripts/undergroundpathentranceroute6.asm deleted file mode 100755 index c6dfdcc9..00000000 --- a/scripts/undergroundpathentranceroute6.asm +++ /dev/null @@ -1,11 +0,0 @@ -UndergroundPathEntranceRoute6Script: - ld a, ROUTE_6 - ld [wLastMap], a - jp EnableAutoTextBoxDrawing - -UndergroundPathEntranceRoute6TextPointers: - dw UndergroundPathEntranceRoute6Text1 - -UndergroundPathEntranceRoute6Text1: - TX_FAR _UndergrdTunnelEntRoute6Text1 - db "@" diff --git a/scripts/undergroundpathentranceroute7.asm b/scripts/undergroundpathentranceroute7.asm deleted file mode 100755 index 84c8e4d5..00000000 --- a/scripts/undergroundpathentranceroute7.asm +++ /dev/null @@ -1,11 +0,0 @@ -UndergroundPathEntranceRoute7Script: - ld a, ROUTE_7 - ld [wLastMap], a - jp EnableAutoTextBoxDrawing - -UndergroundPathEntranceRoute7TextPointers: - dw UndergroundPathEntranceRoute7Text1 - -UndergroundPathEntranceRoute7Text1: - TX_FAR _UndergroundPathEntRoute7Text1 - db "@" diff --git a/scripts/undergroundpathentranceroute7copy.asm b/scripts/undergroundpathentranceroute7copy.asm deleted file mode 100755 index c623eeec..00000000 --- a/scripts/undergroundpathentranceroute7copy.asm +++ /dev/null @@ -1,24 +0,0 @@ -UndergroundPathEntranceRoute7CopyScript: - ld a, ROUTE_7 - ld [wLastMap], a - ret - -UndergroundPathEntranceRoute7CopyTextPointers: - dw UGPathRoute7EntranceUnusedText_5d773 - dw UGPathRoute7EntranceUnusedText_5d77d - -UGPathRoute7EntranceUnusedText_5d773: - TX_FAR _UGPathRoute7EntranceUnusedText_5d773 - db "@" - -UGPathRoute7EntranceUnusedText_5d778: - TX_FAR _UGPathRoute7EntranceUnusedText_5d778 - db "@" - -UGPathRoute7EntranceUnusedText_5d77d: - TX_FAR _UGPathRoute7EntranceUnusedText_5d77d - db "@" - -UGPathRoute7EntranceUnusedText_5d782: - TX_FAR _UGPathRoute7EntranceUnusedText_5d782 - db "@" diff --git a/scripts/undergroundpathentranceroute8.asm b/scripts/undergroundpathentranceroute8.asm deleted file mode 100755 index ad0b60ab..00000000 --- a/scripts/undergroundpathentranceroute8.asm +++ /dev/null @@ -1,11 +0,0 @@ -UndergroundPathEntranceRoute8Script: - ld a, ROUTE_8 - ld [wLastMap], a - jp EnableAutoTextBoxDrawing - -UndergroundPathEntranceRoute8TextPointers: - dw UndergroundPathEntranceRoute8Text1 - -UndergroundPathEntranceRoute8Text1: - TX_FAR _UndergroundPathEntRoute8Text1 - db "@" diff --git a/scripts/undergroundpathns.asm b/scripts/undergroundpathns.asm deleted file mode 100755 index 8c744740..00000000 --- a/scripts/undergroundpathns.asm +++ /dev/null @@ -1,5 +0,0 @@ -UndergroundPathNSScript: - jp EnableAutoTextBoxDrawing - -UndergroundPathNSTextPointers: - db "@" diff --git a/scripts/undergroundpathwe.asm b/scripts/undergroundpathwe.asm deleted file mode 100755 index 921d3dab..00000000 --- a/scripts/undergroundpathwe.asm +++ /dev/null @@ -1,5 +0,0 @@ -UndergroundPathWEScript: - jp EnableAutoTextBoxDrawing - -UndergroundPathWETextPointers: - db "@" diff --git a/scripts/unknowndungeon1.asm b/scripts/unknowndungeon1.asm deleted file mode 100755 index 9d7f120e..00000000 --- a/scripts/unknowndungeon1.asm +++ /dev/null @@ -1,7 +0,0 @@ -UnknownDungeon1Script: - jp EnableAutoTextBoxDrawing - -UnknownDungeon1TextPointers: - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText diff --git a/scripts/unknowndungeon2.asm b/scripts/unknowndungeon2.asm deleted file mode 100755 index 3ed00a45..00000000 --- a/scripts/unknowndungeon2.asm +++ /dev/null @@ -1,7 +0,0 @@ -UnknownDungeon2Script: - jp EnableAutoTextBoxDrawing - -UnknownDungeon2TextPointers: - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText diff --git a/scripts/unknowndungeon3.asm b/scripts/unknowndungeon3.asm deleted file mode 100755 index 78b1ab80..00000000 --- a/scripts/unknowndungeon3.asm +++ /dev/null @@ -1,43 +0,0 @@ -UnknownDungeon3Script: - call EnableAutoTextBoxDrawing - ld hl, MewtwoTrainerHeader - ld de, .ScriptPointers - ld a, [wUnknownDungeon3CurScript] - call ExecuteCurMapScriptInTable - ld [wUnknownDungeon3CurScript], a - ret - -.ScriptPointers - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -UnknownDungeon3TextPointers: - dw MewtwoText - dw PickUpItemText - dw PickUpItemText - -MewtwoTrainerHeader: - dbEventFlagBit EVENT_BEAT_MEWTWO - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MEWTWO - dw MewtwoBattleText ; TextBeforeBattle - dw MewtwoBattleText ; TextAfterBattle - dw MewtwoBattleText ; TextEndBattle - dw MewtwoBattleText ; TextEndBattle - - db $ff - -MewtwoText: - TX_ASM - ld hl, MewtwoTrainerHeader - call TalkToTrainer - jp TextScriptEnd - -MewtwoBattleText: - TX_FAR _MewtwoBattleText - TX_ASM - ld a, MEWTWO - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd diff --git a/scripts/vermilioncity.asm b/scripts/vermilioncity.asm deleted file mode 100755 index 0a734e25..00000000 --- a/scripts/vermilioncity.asm +++ /dev/null @@ -1,257 +0,0 @@ -VermilionCityScript: - call EnableAutoTextBoxDrawing - ld hl, wCurrentMapScriptFlags - bit 6, [hl] - res 6, [hl] - push hl - call nz, VermilionCityScript_197cb - pop hl - bit 5, [hl] - res 5, [hl] - call nz, VermilionCityScript_197c0 - ld hl, VermilionCityScriptPointers - ld a, [wVermilionCityCurScript] - jp CallFunctionInTable - -VermilionCityScript_197c0: - call Random - ld a, [$ffd4] - and $e - ld [wFirstLockTrashCanIndex], a - ret - -VermilionCityScript_197cb: - CheckEventHL EVENT_SS_ANNE_LEFT - ret z - CheckEventReuseHL EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT - SetEventReuseHL EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT - ret nz - ld a, $2 - ld [wVermilionCityCurScript], a - ret - -VermilionCityScriptPointers: - dw VermilionCityScript0 - dw VermilionCityScript1 - dw VermilionCityScript2 - dw VermilionCityScript3 - dw VermilionCityScript4 - -VermilionCityScript0: - ld a, [wSpriteStateData1 + 9] - and a ; cp SPRITE_FACING_DOWN - ret nz - ld hl, CoordsData_19823 - call ArePlayerCoordsInArray - ret nc - xor a - ld [hJoyHeld], a - ld [wcf0d], a - ld a, $3 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - CheckEvent EVENT_SS_ANNE_LEFT - jr nz, .asm_19810 - ld b, S_S_TICKET - predef GetQuantityOfItemInBag - ld a, b - and a - ret nz -.asm_19810 - ld a, D_UP - ld [wSimulatedJoypadStatesEnd], a - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld a, $1 - ld [wVermilionCityCurScript], a - ret - -CoordsData_19823: - db $1e,$12 - db $ff - -VermilionCityScript4: - ld hl, CoordsData_19823 - call ArePlayerCoordsInArray - ret c - ld a, $0 - ld [wVermilionCityCurScript], a - ret - -VermilionCityScript2: - ld a, $ff - ld [wJoyIgnore], a - ld a, D_UP - ld [wSimulatedJoypadStatesEnd], a - ld [wSimulatedJoypadStatesEnd + 1], a - ld a, 2 - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld a, $3 - ld [wVermilionCityCurScript], a - ret - -VermilionCityScript3: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - xor a - ld [wJoyIgnore], a - ld [hJoyHeld], a - ld a, $0 - ld [wVermilionCityCurScript], a - ret - -VermilionCityScript1: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - ld c, 10 - call DelayFrames - ld a, $0 - ld [wVermilionCityCurScript], a - ret - -VermilionCityTextPointers: - dw VermilionCityText1 - dw VermilionCityText2 - dw VermilionCityText3 - dw VermilionCityText4 - dw VermilionCityText5 - dw VermilionCityText6 - dw VermilionCityText7 - dw VermilionCityText8 - dw MartSignText - dw PokeCenterSignText - dw VermilionCityText11 - dw VermilionCityText12 - dw VermilionCityText13 - -VermilionCityText1: - TX_FAR _VermilionCityText1 - db "@" - -VermilionCityText2: - TX_ASM - CheckEvent EVENT_SS_ANNE_LEFT - jr nz, .asm_1989e - ld hl, VermilionCityText_198a7 - call PrintText - jr .asm_198a4 -.asm_1989e - ld hl, VermilionCityText_198ac - call PrintText -.asm_198a4 - jp TextScriptEnd - -VermilionCityText_198a7: - TX_FAR _VermilionCityText_198a7 - db "@" - -VermilionCityText_198ac: - TX_FAR _VermilionCityText_198ac - db "@" - -VermilionCityText3: - TX_ASM - CheckEvent EVENT_SS_ANNE_LEFT - jr nz, .asm_198f6 - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_RIGHT - jr z, .asm_198c8 - ld hl, VermilionCityCoords1 - call ArePlayerCoordsInArray - jr nc, .asm_198d0 -.asm_198c8 - ld hl, SSAnneWelcomeText4 - call PrintText - jr .asm_198fc -.asm_198d0 - ld hl, SSAnneWelcomeText9 - call PrintText - ld b, S_S_TICKET - predef GetQuantityOfItemInBag - ld a, b - and a - jr nz, .asm_198e9 - ld hl, SSAnneNoTicketText - call PrintText - jr .asm_198fc -.asm_198e9 - ld hl, SSAnneFlashedTicketText - call PrintText - ld a, $4 - ld [wVermilionCityCurScript], a - jr .asm_198fc -.asm_198f6 - ld hl, SSAnneNotHereText - call PrintText -.asm_198fc - jp TextScriptEnd - -VermilionCityCoords1: - db $1d,$13 - db $1f,$13 - db $ff - -SSAnneWelcomeText4: - TX_FAR _SSAnneWelcomeText4 - db "@" - -SSAnneWelcomeText9: - TX_FAR _SSAnneWelcomeText9 - db "@" - -SSAnneFlashedTicketText: - TX_FAR _SSAnneFlashedTicketText - db "@" - -SSAnneNoTicketText: - TX_FAR _SSAnneNoTicketText - db "@" - -SSAnneNotHereText: - TX_FAR _SSAnneNotHereText - db "@" - -VermilionCityText4: - TX_FAR _VermilionCityText4 - db "@" - -VermilionCityText5: - TX_FAR _VermilionCityText5 - TX_ASM - ld a, MACHOP - call PlayCry - call WaitForSoundToFinish - ld hl, VermilionCityText14 - ret - -VermilionCityText14: - TX_FAR _VermilionCityText14 - db "@" - -VermilionCityText6: - TX_FAR _VermilionCityText6 - db "@" - -VermilionCityText7: - TX_FAR _VermilionCityText7 - db "@" - -VermilionCityText8: - TX_FAR _VermilionCityText8 - db "@" - -VermilionCityText11: - TX_FAR _VermilionCityText11 - db "@" - -VermilionCityText12: - TX_FAR _VermilionCityText12 - db "@" - -VermilionCityText13: - TX_FAR _VermilionCityText13 - db "@" diff --git a/scripts/vermiliondock.asm b/scripts/vermiliondock.asm deleted file mode 100755 index 5b5d520b..00000000 --- a/scripts/vermiliondock.asm +++ /dev/null @@ -1,215 +0,0 @@ -VermilionDockScript: - call EnableAutoTextBoxDrawing - CheckEventHL EVENT_STARTED_WALKING_OUT_OF_DOCK - jr nz, .asm_1db8d - CheckEventReuseHL EVENT_GOT_HM01 - ret z - ld a, [wDestinationWarpID] - cp $1 - ret nz - CheckEventReuseHL EVENT_SS_ANNE_LEFT - jp z, VermilionDock_1db9b - SetEventReuseHL EVENT_STARTED_WALKING_OUT_OF_DOCK - call Delay3 - ld hl, wd730 - set 7, [hl] - ld hl, wSimulatedJoypadStatesEnd - ld a, D_UP - ld [hli], a - ld [hli], a - ld [hl], a - ld a, $3 - ld [wSimulatedJoypadStatesIndex], a - xor a - ld [wSpriteStateData2 + $06], a - ld [wOverrideSimulatedJoypadStatesMask], a - dec a - ld [wJoyIgnore], a - ret -.asm_1db8d - CheckEventAfterBranchReuseHL EVENT_WALKED_OUT_OF_DOCK, EVENT_STARTED_WALKING_OUT_OF_DOCK - ret nz - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - ld [wJoyIgnore], a - SetEventReuseHL EVENT_WALKED_OUT_OF_DOCK - ret - -VermilionDock_1db9b: - SetEventForceReuseHL EVENT_SS_ANNE_LEFT - ld a, $ff - ld [wJoyIgnore], a - ld [wNewSoundID], a - call PlaySound - ld c, BANK(Music_Surfing) - ld a, MUSIC_SURFING - call PlayMusic - callba LoadSmokeTileFourTimes - xor a - ld [wSpriteStateData1 + 2], a - ld c, 120 - call DelayFrames - ld b, $9c - call CopyScreenTileBufferToVRAM - coord hl, 0, 10 - ld bc, SCREEN_WIDTH * 6 - ld a, $14 ; water tile - call FillMemory - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a - call Delay3 - xor a - ld [H_AUTOBGTRANSFERENABLED], a - ld [wSSAnneSmokeDriftAmount], a - ld [rOBP1], a - ld a, 88 - ld [wSSAnneSmokeX], a - ld hl, wMapViewVRAMPointer - ld c, [hl] - inc hl - ld b, [hl] - push bc - push hl - ld a, SFX_SS_ANNE_HORN - call PlaySoundWaitForCurrent - ld a, $ff - ld [wUpdateSpritesEnabled], a - ld d, $0 - ld e, $8 -.asm_1dbfa - ld hl, $0002 - add hl, bc - ld a, l - ld [wMapViewVRAMPointer], a - ld a, h - ld [wMapViewVRAMPointer + 1], a - push hl - push de - call ScheduleEastColumnRedraw - call VermilionDock_EmitSmokePuff - pop de - ld b, $10 -.asm_1dc11 - call VermilionDock_AnimSmokePuffDriftRight - ld c, $8 -.asm_1dc16 - call VermilionDock_1dc7c - dec c - jr nz, .asm_1dc16 - inc d - dec b - jr nz, .asm_1dc11 - pop bc - dec e - jr nz, .asm_1dbfa - xor a - ld [rWY], a - ld [hWY], a - call VermilionDock_EraseSSAnne - ld a, $90 - ld [hWY], a - ld a, $1 - ld [wUpdateSpritesEnabled], a - pop hl - pop bc - ld [hl], b - dec hl - ld [hl], c - call LoadPlayerSpriteGraphics - ld hl, wNumberOfWarps - dec [hl] - ret - -VermilionDock_AnimSmokePuffDriftRight: - push bc - push de - ld hl, wOAMBuffer + $11 - ld a, [wSSAnneSmokeDriftAmount] - swap a - ld c, a - ld de, 4 -.loop - inc [hl] - inc [hl] - add hl, de - dec c - jr nz, .loop - pop de - pop bc - ret - -VermilionDock_EmitSmokePuff: -; new smoke puff above the S.S. Anne's front smokestack - ld a, [wSSAnneSmokeX] - sub 16 - ld [wSSAnneSmokeX], a - ld c, a - ld b, 100 ; Y - ld a, [wSSAnneSmokeDriftAmount] - inc a - ld [wSSAnneSmokeDriftAmount], a - ld a, $1 - ld de, VermilionDockOAMBlock - call WriteOAMBlock - ret - -VermilionDockOAMBlock: - db $fc, $10 - db $fd, $10 - db $fe, $10 - db $ff, $10 - -VermilionDock_1dc7c: - ld h, d - ld l, $50 - call .asm_1dc86 - ld h, $0 - ld l, $80 -.asm_1dc86 - ld a, [rLY] - cp l - jr nz, .asm_1dc86 - ld a, h - ld [rSCX], a -.asm_1dc8e - ld a, [rLY] - cp h - jr z, .asm_1dc8e - ret - -VermilionDock_EraseSSAnne: -; Fill the area the S.S. Anne occupies in BG map 0 with water tiles. - ld hl, wVermilionDockTileMapBuffer - ld bc, (5 * BG_MAP_WIDTH) + SCREEN_WIDTH - ld a, $14 ; water tile - call FillMemory - ld hl, vBGMap0 + 10 * BG_MAP_WIDTH - ld de, wVermilionDockTileMapBuffer - ld bc, (6 * BG_MAP_WIDTH) / 16 - call CopyVideoData - -; Replace the blocks of the lower half of the ship with water blocks. This -; leaves the upper half alone, but that doesn't matter because replacing any of -; the blocks is unnecessary because the blocks the ship occupies are south of -; the player and won't be redrawn when the player automatically walks north and -; exits the map. This code could be removed without affecting anything. - overworldMapCoord hl, 5, 2, VERMILION_DOCK_WIDTH - ld a, $d ; water block - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - - ld a, SFX_SS_ANNE_HORN - call PlaySound - ld c, 120 - call DelayFrames - ret - -VermilionDockTextPointers: - dw VermilionDockText1 - -VermilionDockText1: - TX_FAR _VermilionDockText1 - db "@" diff --git a/scripts/vermiliongym.asm b/scripts/vermiliongym.asm deleted file mode 100755 index c22ce9ce..00000000 --- a/scripts/vermiliongym.asm +++ /dev/null @@ -1,267 +0,0 @@ -VermilionGymScript: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - push hl - call nz, VermilionGymScript_5ca4c - pop hl - bit 6, [hl] - res 6, [hl] - call nz, VermilionGymScript_5ca6d - call EnableAutoTextBoxDrawing - ld hl, VermilionGymTrainerHeader0 - ld de, VermilionGymScriptPointers - ld a, [wVermilionGymCurScript] - call ExecuteCurMapScriptInTable - ld [wVermilionGymCurScript], a - ret - -VermilionGymScript_5ca4c: - ld hl, Gym3CityName - ld de, Gym3LeaderName - jp LoadGymLeaderAndCityName - -Gym3CityName: - db "VERMILION CITY@" - -Gym3LeaderName: - db "LT.SURGE@" - -VermilionGymScript_5ca6d: - CheckEvent EVENT_2ND_LOCK_OPENED - jr nz, .asm_5ca78 - ld a, $24 - jr .asm_5ca7f -.asm_5ca78 - ld a, SFX_GO_INSIDE - call PlaySound - ld a, $5 -.asm_5ca7f - ld [wNewTileBlockID], a - lb bc, 2, 2 - predef_jump ReplaceTileBlock - -VermilionGymScript_5ca8a: - xor a - ld [wJoyIgnore], a - ld [wVermilionGymCurScript], a - ld [wCurMapScript], a - ret - -VermilionGymScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw VermilionGymScript3 - -VermilionGymScript3: - ld a, [wIsInBattle] - cp $ff - jp z, VermilionGymScript_5ca8a - ld a, $f0 - ld [wJoyIgnore], a - -VermilionGymScript_5caaa: - ld a, $6 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_BEAT_LT_SURGE - lb bc, TM_24, 1 - call GiveItem - jr nc, .BagFull - ld a, $7 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_GOT_TM24 - jr .asm_5cad3 -.BagFull - ld a, $8 - ld [hSpriteIndexOrTextID], a - call DisplayTextID -.asm_5cad3 - ld hl, wObtainedBadges - set 2, [hl] - ld hl, wBeatGymFlags - set 2, [hl] - - ; deactivate gym trainers - SetEventRange EVENT_BEAT_VERMILION_GYM_TRAINER_0, EVENT_BEAT_VERMILION_GYM_TRAINER_2 - - jp VermilionGymScript_5ca8a - -VermilionGymTextPointers: - dw VermilionGymText1 - dw VermilionGymText2 - dw VermilionGymText3 - dw VermilionGymText4 - dw VermilionGymText5 - dw VermilionGymText6 - dw VermilionGymText7 - dw VermilionGymText8 - -VermilionGymTrainerHeader0: - dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_0 - dw VermilionGymBattleText1 ; TextBeforeBattle - dw VermilionGymAfterBattleText1 ; TextAfterBattle - dw VermilionGymEndBattleText1 ; TextEndBattle - dw VermilionGymEndBattleText1 ; TextEndBattle - -VermilionGymTrainerHeader1: - dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_1 - dw VermilionGymBattleText2 ; TextBeforeBattle - dw VermilionGymAfterBattleText2 ; TextAfterBattle - dw VermilionGymEndBattleText2 ; TextEndBattle - dw VermilionGymEndBattleText2 ; TextEndBattle - -VermilionGymTrainerHeader2: - dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_2 - dw VermilionGymBattleText3 ; TextBeforeBattle - dw VermilionGymAfterBattleText3 ; TextAfterBattle - dw VermilionGymEndBattleText3 ; TextEndBattle - dw VermilionGymEndBattleText3 ; TextEndBattle - - db $ff - -VermilionGymText1: - TX_ASM - CheckEvent EVENT_BEAT_LT_SURGE - jr z, .asm_5cb39 - CheckEventReuseA EVENT_GOT_TM24 - jr nz, .asm_5cb31 - call z, VermilionGymScript_5caaa - call DisableWaitingAfterTextDisplay - jr .asm_5cb6a -.asm_5cb31 - ld hl, VermilionGymText_5cb72 - call PrintText - jr .asm_5cb6a -.asm_5cb39 - ld hl, VermilionGymText_5cb6d - call PrintText - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, ReceivedThunderbadgeText - ld de, ReceivedThunderbadgeText - call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] - ld [wSpriteIndex], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $3 - ld [wGymLeaderNo], a - xor a - ld [hJoyHeld], a - ld a, $3 - ld [wVermilionGymCurScript], a - ld [wCurMapScript], a -.asm_5cb6a - jp TextScriptEnd - -VermilionGymText_5cb6d: - TX_FAR _VermilionGymText_5cb6d - db "@" - -VermilionGymText_5cb72: - TX_FAR _VermilionGymText_5cb72 - db "@" - -VermilionGymText6: - TX_FAR _VermilionGymText_5cb77 - db "@" - -VermilionGymText7: - TX_FAR _ReceivedTM24Text - TX_SFX_KEY_ITEM - TX_FAR _TM24ExplanationText - db "@" - -VermilionGymText8: - TX_FAR _TM24NoRoomText - db "@" - -ReceivedThunderbadgeText: - TX_FAR _ReceivedThunderbadgeText - db "@" - -VermilionGymText2: - TX_ASM - ld hl, VermilionGymTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -VermilionGymBattleText1: - TX_FAR _VermilionGymBattleText1 - db "@" - -VermilionGymEndBattleText1: - TX_FAR _VermilionGymEndBattleText1 - db "@" - -VermilionGymAfterBattleText1: - TX_FAR _VermilionGymAfterBattleText1 - db "@" - -VermilionGymText3: - TX_ASM - ld hl, VermilionGymTrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -VermilionGymBattleText2: - TX_FAR _VermilionGymBattleText2 - db "@" - -VermilionGymEndBattleText2: - TX_FAR _VermilionGymEndBattleText2 - db "@" - -VermilionGymAfterBattleText2: - TX_FAR _VermilionGymAfterBattleText2 - db "@" - -VermilionGymText4: - TX_ASM - ld hl, VermilionGymTrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -VermilionGymBattleText3: - TX_FAR _VermilionGymBattleText3 - db "@" - -VermilionGymEndBattleText3: - TX_FAR _VermilionGymEndBattleText3 - db "@" - -VermilionGymAfterBattleText3: - TX_FAR _VermilionGymAfterBattleText3 - db "@" - -VermilionGymText5: - TX_ASM - ld a, [wBeatGymFlags] - bit 2, a - jr nz, .asm_5cbeb - ld hl, VermilionGymText_5cbf4 - call PrintText - jr .asm_5cbf1 -.asm_5cbeb - ld hl, VermilionGymText_5cbf9 - call PrintText -.asm_5cbf1 - jp TextScriptEnd - -VermilionGymText_5cbf4: - TX_FAR _VermilionGymText_5cbf4 - db "@" - -VermilionGymText_5cbf9: - TX_FAR _VermilionGymText_5cbf9 - db "@" diff --git a/scripts/vermilionhouse1.asm b/scripts/vermilionhouse1.asm deleted file mode 100755 index d2dac4ca..00000000 --- a/scripts/vermilionhouse1.asm +++ /dev/null @@ -1,24 +0,0 @@ -VermilionHouse1Script: - call EnableAutoTextBoxDrawing - ret - -VermilionHouse1TextPointers: - dw VermilionHouse1Text1 - dw VermilionHouse1Text2 - dw VermilionHouse1Text3 - -VermilionHouse1Text1: - TX_FAR _VermilionHouse1Text1 - db "@" - -VermilionHouse1Text2: - TX_FAR _VermilionHouse1Text2 - TX_ASM - ld a, PIDGEY - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -VermilionHouse1Text3: - TX_FAR _VermilionHouse1Text3 - db "@" diff --git a/scripts/vermilionhouse2.asm b/scripts/vermilionhouse2.asm deleted file mode 100755 index c0735f32..00000000 --- a/scripts/vermilionhouse2.asm +++ /dev/null @@ -1,57 +0,0 @@ -VermilionHouse2Script: - jp EnableAutoTextBoxDrawing - -VermilionHouse2TextPointers: - dw VermilionHouse2Text1 - -VermilionHouse2Text1: - TX_ASM - ld a, [wd728] - bit 3, a - jr nz, .asm_03ef5 - ld hl, VermilionHouse2Text_560b1 - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .asm_eb1b7 - lb bc, OLD_ROD, 1 - call GiveItem - jr nc, .BagFull - ld hl, wd728 - set 3, [hl] - ld hl, VermilionHouse2Text_560b6 - jr .asm_5dd95 -.BagFull - ld hl, VermilionHouse2Text_560ca - jr .asm_5dd95 -.asm_eb1b7 - ld hl, VermilionHouse2Text_560c0 - jr .asm_5dd95 -.asm_03ef5 - ld hl, VermilionHouse2Text_560c5 -.asm_5dd95 - call PrintText - jp TextScriptEnd - -VermilionHouse2Text_560b1: - TX_FAR _VermilionHouse2Text_560b1 - db "@" - -VermilionHouse2Text_560b6: - TX_FAR _VermilionHouse2Text_560b6 - TX_SFX_ITEM_1 - TX_FAR _VermilionHouse2Text_560bb - db "@" - -VermilionHouse2Text_560c0: - TX_FAR _VermilionHouse2Text_560c0 - db "@" - -VermilionHouse2Text_560c5: - TX_FAR _VermilionHouse2Text_560c5 - db "@" - -VermilionHouse2Text_560ca: - TX_FAR _VermilionHouse2Text_560ca - db "@" diff --git a/scripts/vermilionhouse3.asm b/scripts/vermilionhouse3.asm deleted file mode 100755 index 1f0af501..00000000 --- a/scripts/vermilionhouse3.asm +++ /dev/null @@ -1,12 +0,0 @@ -VermilionHouse3Script: - jp EnableAutoTextBoxDrawing - -VermilionHouse3TextPointers: - dw VermilionHouse3Text1 - -VermilionHouse3Text1: - TX_ASM - ld a, $4 - ld [wWhichTrade], a - predef DoInGameTradeDialogue - jp TextScriptEnd diff --git a/scripts/vermilionmart.asm b/scripts/vermilionmart.asm deleted file mode 100755 index 2d4df78d..00000000 --- a/scripts/vermilionmart.asm +++ /dev/null @@ -1,15 +0,0 @@ -VermilionMartScript: - jp EnableAutoTextBoxDrawing - -VermilionMartTextPointers: - dw VermilionCashierText - dw VermilionMartText2 - dw VermilionMartText3 - -VermilionMartText2: - TX_FAR _VermilionMartText2 - db "@" - -VermilionMartText3: - TX_FAR _VermilionMartText3 - db "@" diff --git a/scripts/vermilionpokecenter.asm b/scripts/vermilionpokecenter.asm deleted file mode 100755 index f70aed31..00000000 --- a/scripts/vermilionpokecenter.asm +++ /dev/null @@ -1,23 +0,0 @@ -VermilionPokecenterScript: - call Serial_TryEstablishingExternallyClockedConnection - jp EnableAutoTextBoxDrawing - -VermilionPokecenterTextPointers: - dw VermilionHealNurseText - dw VermilionPokecenterText2 - dw VermilionPokecenterText3 - dw VermilionTradeNurseText - -VermilionHealNurseText: - TX_POKECENTER_NURSE - -VermilionPokecenterText2: - TX_FAR _VermilionPokecenterText2 - db "@" - -VermilionPokecenterText3: - TX_FAR _VermilionPokecenterText3 - db "@" - -VermilionTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST diff --git a/scripts/victoryroad1.asm b/scripts/victoryroad1.asm deleted file mode 100755 index 5409d733..00000000 --- a/scripts/victoryroad1.asm +++ /dev/null @@ -1,103 +0,0 @@ -VictoryRoad1Script: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - call nz, .next - call EnableAutoTextBoxDrawing - ld hl, VictoryRoad1TrainerHeader0 - ld de, VictoryRoad1ScriptPointers - ld a, [wVictoryRoad1CurScript] - call ExecuteCurMapScriptInTable - ld [wVictoryRoad1CurScript], a - ret -.next - CheckEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH - ret z - ld a, $1d - ld [wNewTileBlockID], a - lb bc, 6, 4 - predef_jump ReplaceTileBlock - -VictoryRoad1ScriptPointers: - dw VictoryRoad1Script0 - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -VictoryRoad1Script0: - CheckEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH - jp nz, CheckFightingMapTrainers - ld hl, CoordsData_5da5c - call CheckBoulderCoords - jp nc, CheckFightingMapTrainers - ld hl, wCurrentMapScriptFlags - set 5, [hl] - SetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH - ret - -CoordsData_5da5c: - db $0D,$11,$FF - -VictoryRoad1TextPointers: - dw VictoryRoad1Text1 - dw VictoryRoad1Text2 - dw PickUpItemText - dw PickUpItemText - dw BoulderText - dw BoulderText - dw BoulderText - -VictoryRoad1TrainerHeader0: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 - dw VictoryRoad1BattleText1 ; TextBeforeBattle - dw VictoryRoad1AfterBattleText1 ; TextAfterBattle - dw VictoryRoad1EndBattleText1 ; TextEndBattle - dw VictoryRoad1EndBattleText1 ; TextEndBattle - -VictoryRoad1TrainerHeader1: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 - dw VictoryRoad1BattleText2 ; TextBeforeBattle - dw VictoryRoad1AfterBattleText2 ; TextAfterBattle - dw VictoryRoad1EndBattleText2 ; TextEndBattle - dw VictoryRoad1EndBattleText2 ; TextEndBattle - - db $ff - -VictoryRoad1Text1: - TX_ASM - ld hl, VictoryRoad1TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad1Text2: - TX_ASM - ld hl, VictoryRoad1TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad1BattleText1: - TX_FAR _VictoryRoad1BattleText1 - db "@" - -VictoryRoad1EndBattleText1: - TX_FAR _VictoryRoad1EndBattleText1 - db "@" - -VictoryRoad1AfterBattleText1: - TX_FAR _VictoryRoad1AfterBattleText1 - db "@" - -VictoryRoad1BattleText2: - TX_FAR _VictoryRoad1BattleText2 - db "@" - -VictoryRoad1EndBattleText2: - TX_FAR _VictoryRoad1EndBattleText2 - db "@" - -VictoryRoad1AfterBattleText2: - TX_FAR _VictoryRoad1AfterBattleText2 - db "@" diff --git a/scripts/victoryroad2.asm b/scripts/victoryroad2.asm deleted file mode 100755 index 847573d8..00000000 --- a/scripts/victoryroad2.asm +++ /dev/null @@ -1,244 +0,0 @@ -VictoryRoad2Script: - ld hl, wCurrentMapScriptFlags - bit 6, [hl] - res 6, [hl] - call nz, VictoryRoad2Script_517c4 - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - call nz, VictoryRoad2Script_517c9 - call EnableAutoTextBoxDrawing - ld hl, VictoryRoad2TrainerHeader0 - ld de, VictoryRoad2ScriptPointers - ld a, [wVictoryRoad2CurScript] - call ExecuteCurMapScriptInTable - ld [wVictoryRoad2CurScript], a - ret - -VictoryRoad2Script_517c4: - ResetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH - -VictoryRoad2Script_517c9: - CheckEvent EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 - jr z, .asm_517da - push af - ld a, $15 - lb bc, 4, 3 - call VictoryRoad2Script_517e2 - pop af -.asm_517da - bit 7, a - ret z - ld a, $1d - lb bc, 7, 11 - -VictoryRoad2Script_517e2: - ld [wNewTileBlockID], a - predef ReplaceTileBlock - ret - -VictoryRoad2ScriptPointers: - dw VictoryRoad2Script0 - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -VictoryRoad2Script0: - ld hl, CoordsData_51816 - call CheckBoulderCoords - jp nc, CheckFightingMapTrainers - EventFlagAddress hl, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 - ld a, [wCoordIndex] - cp $2 - jr z, .asm_5180b - CheckEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 - SetEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 - ret nz - jr .asm_51810 -.asm_5180b - CheckEventAfterBranchReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 - SetEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2 - ret nz -.asm_51810 - ld hl, wCurrentMapScriptFlags - set 5, [hl] - ret - -CoordsData_51816: - db $10,$01 - db $10,$09 - db $FF - -VictoryRoad2TextPointers: - dw VictoryRoad2Text1 - dw VictoryRoad2Text2 - dw VictoryRoad2Text3 - dw VictoryRoad2Text4 - dw VictoryRoad2Text5 - dw MoltresText - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw BoulderText - dw BoulderText - dw BoulderText - -VictoryRoad2TrainerHeader0: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 - dw VictoryRoad2BattleText1 ; TextBeforeBattle - dw VictoryRoad2AfterBattleText1 ; TextAfterBattle - dw VictoryRoad2EndBattleText1 ; TextEndBattle - dw VictoryRoad2EndBattleText1 ; TextEndBattle - -VictoryRoad2TrainerHeader1: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1 - dw VictoryRoad2BattleText2 ; TextBeforeBattle - dw VictoryRoad2AfterBattleText2 ; TextAfterBattle - dw VictoryRoad2EndBattleText2 ; TextEndBattle - dw VictoryRoad2EndBattleText2 ; TextEndBattle - -VictoryRoad2TrainerHeader2: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 - dw VictoryRoad2BattleText3 ; TextBeforeBattle - dw VictoryRoad2AfterBattleText3 ; TextAfterBattle - dw VictoryRoad2EndBattleText3 ; TextEndBattle - dw VictoryRoad2EndBattleText3 ; TextEndBattle - -VictoryRoad2TrainerHeader3: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 - dw VictoryRoad2BattleText4 ; TextBeforeBattle - dw VictoryRoad2AfterBattleText4 ; TextAfterBattle - dw VictoryRoad2EndBattleText4 ; TextEndBattle - dw VictoryRoad2EndBattleText4 ; TextEndBattle - -VictoryRoad2TrainerHeader4: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 - dw VictoryRoad2BattleText5 ; TextBeforeBattle - dw VictoryRoad2AfterBattleText5 ; TextAfterBattle - dw VictoryRoad2EndBattleText5 ; TextEndBattle - dw VictoryRoad2EndBattleText5 ; TextEndBattle - -MoltresTrainerHeader: - dbEventFlagBit EVENT_BEAT_MOLTRES - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MOLTRES - dw MoltresBattleText ; TextBeforeBattle - dw MoltresBattleText ; TextAfterBattle - dw MoltresBattleText ; TextEndBattle - dw MoltresBattleText ; TextEndBattle - - db $ff - -VictoryRoad2Text1: - TX_ASM - ld hl, VictoryRoad2TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad2Text2: - TX_ASM - ld hl, VictoryRoad2TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad2Text3: - TX_ASM - ld hl, VictoryRoad2TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad2Text4: - TX_ASM - ld hl, VictoryRoad2TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad2Text5: - TX_ASM - ld hl, VictoryRoad2TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -MoltresText: - TX_ASM - ld hl, MoltresTrainerHeader - call TalkToTrainer - jp TextScriptEnd - -MoltresBattleText: - TX_FAR _MoltresBattleText - TX_ASM - ld a, MOLTRES - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -VictoryRoad2BattleText1: - TX_FAR _VictoryRoad2BattleText1 - db "@" - -VictoryRoad2EndBattleText1: - TX_FAR _VictoryRoad2EndBattleText1 - db "@" - -VictoryRoad2AfterBattleText1: - TX_FAR _VictoryRoad2AfterBattleText1 - db "@" - -VictoryRoad2BattleText2: - TX_FAR _VictoryRoad2BattleText2 - db "@" - -VictoryRoad2EndBattleText2: - TX_FAR _VictoryRoad2EndBattleText2 - db "@" - -VictoryRoad2AfterBattleText2: - TX_FAR _VictoryRoad2AfterBattleText2 - db "@" - -VictoryRoad2BattleText3: - TX_FAR _VictoryRoad2BattleText3 - db "@" - -VictoryRoad2EndBattleText3: - TX_FAR _VictoryRoad2EndBattleText3 - db "@" - -VictoryRoad2AfterBattleText3: - TX_FAR _VictoryRoad2AfterBattleText3 - db "@" - -VictoryRoad2BattleText4: - TX_FAR _VictoryRoad2BattleText4 - db "@" - -VictoryRoad2EndBattleText4: - TX_FAR _VictoryRoad2EndBattleText4 - db "@" - -VictoryRoad2AfterBattleText4: - TX_FAR _VictoryRoad2AfterBattleText4 - db "@" - -VictoryRoad2BattleText5: - TX_FAR _VictoryRoad2BattleText5 - db "@" - -VictoryRoad2EndBattleText5: - TX_FAR _VictoryRoad2EndBattleText5 - db "@" - -VictoryRoad2AfterBattleText5: - TX_FAR _VictoryRoad2AfterBattleText5 - db "@" diff --git a/scripts/victoryroad3.asm b/scripts/victoryroad3.asm deleted file mode 100755 index c615091b..00000000 --- a/scripts/victoryroad3.asm +++ /dev/null @@ -1,197 +0,0 @@ -VictoryRoad3Script: - call VictoryRoad3Script_44996 - call EnableAutoTextBoxDrawing - ld hl, VictoryRoad3TrainerHeader0 - ld de, VictoryRoad3ScriptPointers - ld a, [wVictoryRoad3CurScript] - call ExecuteCurMapScriptInTable - ld [wVictoryRoad3CurScript], a - ret - -VictoryRoad3Script_44996: - ld hl, wCurrentMapScriptFlags - bit 5, [hl] - res 5, [hl] - ret z - CheckEventHL EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 - ret z - ld a, $1d - ld [wNewTileBlockID], a - lb bc, 5, 3 - predef_jump ReplaceTileBlock - -VictoryRoad3ScriptPointers: - dw VictoryRoad3Script0 - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -VictoryRoad3Script0: - ld hl, wFlags_0xcd60 - bit 7, [hl] - res 7, [hl] - jp z, .asm_449fe - ld hl, .coordsData_449f9 - call CheckBoulderCoords - jp nc, .asm_449fe - ld a, [wCoordIndex] - cp $1 - jr nz, .asm_449dc - ld hl, wCurrentMapScriptFlags - set 5, [hl] - SetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 - ret -.asm_449dc - CheckAndSetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 - jr nz, .asm_449fe - ld a, HS_VICTORY_ROAD_3_BOULDER - ld [wMissableObjectIndex], a - predef HideObject - ld a, HS_VICTORY_ROAD_2_BOULDER - ld [wMissableObjectIndex], a - predef_jump ShowObject - -.coordsData_449f9: - db $05,$03 - db $0F,$17 - db $FF - -.asm_449fe - ld a, VICTORY_ROAD_2 - ld [wDungeonWarpDestinationMap], a - ld hl, .coordsData_449f9 - call IsPlayerOnDungeonWarp - ld a, [wCoordIndex] - cp $1 - jr nz, .asm_44a1b - ld hl, wd72d - res 4, [hl] - ld hl, wd732 - res 4, [hl] - ret -.asm_44a1b - ld a, [wd72d] - bit 4, a - jp z, CheckFightingMapTrainers - ret - -VictoryRoad3TextPointers: - dw VictoryRoad3Text1 - dw VictoryRoad3Text2 - dw VictoryRoad3Text3 - dw VictoryRoad3Text4 - dw PickUpItemText - dw PickUpItemText - dw BoulderText - dw BoulderText - dw BoulderText - dw BoulderText - -VictoryRoad3TrainerHeader0: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 - dw VictoryRoad3BattleText2 ; TextBeforeBattle - dw VictoryRoad3AfterBattleText2 ; TextAfterBattle - dw VictoryRoad3EndBattleText2 ; TextEndBattle - dw VictoryRoad3EndBattleText2 ; TextEndBattle - -VictoryRoad3TrainerHeader1: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1 - dw VictoryRoad3BattleText3 ; TextBeforeBattle - dw VictoryRoad3AfterBattleText3 ; TextAfterBattle - dw VictoryRoad3EndBattleText3 ; TextEndBattle - dw VictoryRoad3EndBattleText3 ; TextEndBattle - -VictoryRoad3TrainerHeader2: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 - dw VictoryRoad3BattleText4 ; TextBeforeBattle - dw VictoryRoad3AfterBattleText4 ; TextAfterBattle - dw VictoryRoad3EndBattleText4 ; TextEndBattle - dw VictoryRoad3EndBattleText4 ; TextEndBattle - -VictoryRoad3TrainerHeader3: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 - dw VictoryRoad3BattleText5 ; TextBeforeBattle - dw VictoryRoad3AfterBattleText5 ; TextAfterBattle - dw VictoryRoad3EndBattleText5 ; TextEndBattle - dw VictoryRoad3EndBattleText5 ; TextEndBattle - - db $ff - -VictoryRoad3Text1: - TX_ASM - ld hl, VictoryRoad3TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad3Text2: - TX_ASM - ld hl, VictoryRoad3TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad3Text3: - TX_ASM - ld hl, VictoryRoad3TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad3Text4: - TX_ASM - ld hl, VictoryRoad3TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad3BattleText2: - TX_FAR _VictoryRoad3BattleText2 - db "@" - -VictoryRoad3EndBattleText2: - TX_FAR _VictoryRoad3EndBattleText2 - db "@" - -VictoryRoad3AfterBattleText2: - TX_FAR _VictoryRoad3AfterBattleText2 - db "@" - -VictoryRoad3BattleText3: - TX_FAR _VictoryRoad3BattleText3 - db "@" - -VictoryRoad3EndBattleText3: - TX_FAR _VictoryRoad3EndBattleText3 - db "@" - -VictoryRoad3AfterBattleText3: - TX_FAR _VictoryRoad3AfterBattleText3 - db "@" - -VictoryRoad3BattleText4: - TX_FAR _VictoryRoad3BattleText4 - db "@" - -VictoryRoad3EndBattleText4: - TX_FAR _VictoryRoad3EndBattleText4 - db "@" - -VictoryRoad3AfterBattleText4: - TX_FAR _VictoryRoad3AfterBattleText4 - db "@" - -VictoryRoad3BattleText5: - TX_FAR _VictoryRoad3BattleText5 - db "@" - -VictoryRoad3EndBattleText5: - TX_FAR _VictoryRoad3EndBattleText5 - db "@" - -VictoryRoad3AfterBattleText5: - TX_FAR _VictoryRoad3AfterBattleText5 - db "@" diff --git a/scripts/viridiancity.asm b/scripts/viridiancity.asm deleted file mode 100755 index 3ccdc509..00000000 --- a/scripts/viridiancity.asm +++ /dev/null @@ -1,327 +0,0 @@ -ViridianCityScript: - call EnableAutoTextBoxDrawing - ld hl, ViridianCityScriptPointers - ld a, [wViridianCityCurScript] - jp CallFunctionInTable - -ViridianCityScriptPointers: - dw ViridianCityScript0 - dw ViridianCityScript1 - dw ViridianCityScript2 - dw ViridianCityScript3 - -ViridianCityScript0: - call ViridianCityScript_1900b - jp ViridianCityScript_1903d - -ViridianCityScript_1900b: - CheckEvent EVENT_VIRIDIAN_GYM_OPEN - ret nz - ld a, [wObtainedBadges] - cp %01111111 - jr nz, .asm_1901e - SetEvent EVENT_VIRIDIAN_GYM_OPEN - ret -.asm_1901e - ld a, [wYCoord] - cp $8 - ret nz - ld a, [wXCoord] - cp $20 - ret nz - ld a, $e - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [hJoyHeld], a - call ViridianCityScript_190cf - ld a, $3 - ld [wViridianCityCurScript], a - ret - -ViridianCityScript_1903d: - CheckEvent EVENT_GOT_POKEDEX - ret nz - ld a, [wYCoord] - cp $9 - ret nz - ld a, [wXCoord] - cp $13 - ret nz - ld a, $5 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [hJoyHeld], a - call ViridianCityScript_190cf - ld a, $3 - ld [wViridianCityCurScript], a - ret - -ViridianCityScript1: - ld a, [wSpriteStateData1 + $34] - ld [$ffeb], a - ld a, [wSpriteStateData1 + $36] - ld [$ffec], a - ld a, [wSpriteStateData2 + $34] - ld [$ffed], a - ld a, [wSpriteStateData2 + $35] - ld [$ffee], a - xor a - ld [wListScrollOffset], a - - ; set up battle for Old Man - ld a, BATTLE_TYPE_OLD_MAN - ld [wBattleType], a - ld a, 5 - ld [wCurEnemyLVL], a - ld a, WEEDLE - ld [wCurOpponent], a - ld a, $2 - ld [wViridianCityCurScript], a - ret - -ViridianCityScript2: - ld a, [$ffeb] - ld [wSpriteStateData1 + $34], a - ld a, [$ffec] - ld [wSpriteStateData1 + $36], a - ld a, [$ffed] - ld [wSpriteStateData2 + $34], a - ld a, [$ffee] - ld [wSpriteStateData2 + $35], a - call UpdateSprites - call Delay3 - xor a - ld [wJoyIgnore], a - ld a, $f - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [wBattleType], a - ld [wJoyIgnore], a - ld a, $0 - ld [wViridianCityCurScript], a - ret - -ViridianCityScript3: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - call Delay3 - ld a, 0 - ld [wViridianCityCurScript], a - ret - -ViridianCityScript_190cf: - call StartSimulatingJoypadStates - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - ld a, D_DOWN - ld [wSimulatedJoypadStatesEnd], a - xor a - ld [wSpriteStateData1 + 9], a - ld [wJoyIgnore], a - ret - -ViridianCityTextPointers: - dw ViridianCityText1 - dw ViridianCityText2 - dw ViridianCityText3 - dw ViridianCityText4 - dw ViridianCityText5 - dw ViridianCityText6 - dw ViridianCityText7 - dw ViridianCityText8 - dw ViridianCityText9 - dw ViridianCityText10 - dw MartSignText - dw PokeCenterSignText - dw ViridianCityText13 - dw ViridianCityText14 - dw ViridianCityText15 - -ViridianCityText1: - TX_FAR _ViridianCityText1 - db "@" - -ViridianCityText2: - TX_ASM - ld a, [wObtainedBadges] - cp %01111111 - ld hl, ViridianCityText_19127 - jr z, .asm_ae9fe - CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI - jr nz, .asm_ae9fe - ld hl, ViridianCityText_19122 -.asm_ae9fe - call PrintText - jp TextScriptEnd - -ViridianCityText_19122: - TX_FAR _ViridianCityText_19122 - db "@" - -ViridianCityText_19127: - TX_FAR _ViridianCityText_19127 - db "@" - -ViridianCityText3: - TX_ASM - ld hl, ViridianCityText_1914d - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .asm_6dfea - ld hl, ViridianCityText_19157 - call PrintText - jr .asm_d611f -.asm_6dfea - ld hl, ViridianCityText_19152 - call PrintText -.asm_d611f - jp TextScriptEnd - -ViridianCityText_1914d: - TX_FAR _ViridianCityText_1914d - db "@" - -ViridianCityText_19152: - TX_FAR _ViridianCityText_19152 - db "@" - -ViridianCityText_19157: - TX_FAR _ViridianCityText_19157 - db "@" - -ViridianCityText4: - TX_ASM - CheckEvent EVENT_GOT_POKEDEX - jr nz, .asm_83894 - ld hl, ViridianCityText_19175 - call PrintText - jr .asm_700a6 -.asm_83894 - ld hl, ViridianCityText_1917a - call PrintText -.asm_700a6 - jp TextScriptEnd - -ViridianCityText_19175: - TX_FAR _ViridianCityText_19175 - db "@" - -ViridianCityText_1917a: - TX_FAR _ViridianCityText_1917a - db "@" - -ViridianCityText5: - TX_ASM - ld hl, ViridianCityText_19191 - call PrintText - call ViridianCityScript_190cf - ld a, $3 - ld [wViridianCityCurScript], a - jp TextScriptEnd - -ViridianCityText_19191: - TX_FAR _ViridianCityText_19191 - db "@" - -ViridianCityText6: - TX_ASM - CheckEvent EVENT_GOT_TM42 - jr nz, .asm_4e5a0 - ld hl, ViridianCityText_191ca - call PrintText - lb bc, TM_42, 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedTM42Text - call PrintText - SetEvent EVENT_GOT_TM42 - jr .asm_3c73c -.BagFull - ld hl, TM42NoRoomText - call PrintText - jr .asm_3c73c -.asm_4e5a0 - ld hl, TM42Explanation - call PrintText -.asm_3c73c - jp TextScriptEnd - -ViridianCityText_191ca: - TX_FAR _ViridianCityText_191ca - db "@" - -ReceivedTM42Text: - TX_FAR _ReceivedTM42Text - TX_SFX_ITEM_2 - db "@" - -TM42Explanation: - TX_FAR _TM42Explanation - db "@" - -TM42NoRoomText: - TX_FAR _TM42NoRoomText - db "@" - -ViridianCityText7: - TX_ASM - ld hl, ViridianCityText_1920a - call PrintText - ld c, 2 - call DelayFrames - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr z, .asm_42f68 - ld hl, ViridianCityText_1920f - call PrintText - ld a, $1 - ld [wViridianCityCurScript], a - jr .asm_2413a -.asm_42f68 - ld hl, ViridianCityText_19214 - call PrintText -.asm_2413a - jp TextScriptEnd - -ViridianCityText_1920a: - TX_FAR _ViridianCityText_1920a - db "@" - -ViridianCityText_1920f: - TX_FAR _ViridianCityText_1920f - db "@" - -ViridianCityText_19214: - TX_FAR _ViridianCityText_19214 - db "@" - -ViridianCityText15: - TX_FAR _ViridianCityText_19219 - db "@" - -ViridianCityText8: - TX_FAR _ViridianCityText8 - db "@" - -ViridianCityText9: - TX_FAR _ViridianCityText9 - db "@" - -ViridianCityText10: - TX_FAR _ViridianCityText10 - db "@" - -ViridianCityText13: - TX_FAR _ViridianCityText13 - db "@" - -ViridianCityText14: - TX_FAR _ViridianCityText14 - db "@" diff --git a/scripts/viridianforest.asm b/scripts/viridianforest.asm deleted file mode 100755 index bce093a9..00000000 --- a/scripts/viridianforest.asm +++ /dev/null @@ -1,144 +0,0 @@ -ViridianForestScript: - call EnableAutoTextBoxDrawing - ld hl, ViridianForestTrainerHeader0 - ld de, ViridianForestScriptPointers - ld a, [wViridianForestCurScript] - call ExecuteCurMapScriptInTable - ld [wViridianForestCurScript], a - ret - -ViridianForestScriptPointers: - dw CheckFightingMapTrainers - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - -ViridianForestTextPointers: - dw ViridianForestText1 - dw ViridianForestText2 - dw ViridianForestText3 - dw ViridianForestText4 - dw PickUpItemText - dw PickUpItemText - dw PickUpItemText - dw ViridianForestText8 - dw ViridianForestText9 - dw ViridianForestText10 - dw ViridianForestText11 - dw ViridianForestText12 - dw ViridianForestText13 - dw ViridianForestText14 - -ViridianForestTrainerHeader0: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 - dw ViridianForestBattleText1 ; TextBeforeBattle - dw ViridianForestAfterBattleText1 ; TextAfterBattle - dw ViridianForestEndBattleText1 ; TextEndBattle - dw ViridianForestEndBattleText1 ; TextEndBattle - -ViridianForestTrainerHeader1: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 - dw ViridianForestBattleText2 ; TextBeforeBattle - dw ViridianForestAfterBattleText2 ; TextAfterBattle - dw ViridianForestEndBattleText2 ; TextEndBattle - dw ViridianForestEndBattleText2 ; TextEndBattle - -ViridianForestTrainerHeader2: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 - dw ViridianForestBattleText3 ; TextBeforeBattle - dw ViridianForestAfterBattleText3 ; TextAfterBattle - dw ViridianForestEndBattleText3 ; TextEndBattle - dw ViridianForestEndBattleText3 ; TextEndBattle - - db $ff - -ViridianForestText1: - TX_FAR _ViridianForestText1 - db "@" - -ViridianForestText2: - TX_ASM - ld hl, ViridianForestTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -ViridianForestText3: - TX_ASM - ld hl, ViridianForestTrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -ViridianForestText4: - TX_ASM - ld hl, ViridianForestTrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -ViridianForestBattleText1: - TX_FAR _ViridianForestBattleText1 - db "@" - -ViridianForestEndBattleText1: - TX_FAR _ViridianForestEndBattleText1 - db "@" - -ViridianForestAfterBattleText1: - TX_FAR _ViridianFrstAfterBattleText1 - db "@" - -ViridianForestBattleText2: - TX_FAR _ViridianForestBattleText2 - db "@" - -ViridianForestEndBattleText2: - TX_FAR _ViridianForestEndBattleText2 - db "@" - -ViridianForestAfterBattleText2: - TX_FAR _ViridianFrstAfterBattleText2 - db "@" - -ViridianForestBattleText3: - TX_FAR _ViridianForestBattleText3 - db "@" - -ViridianForestEndBattleText3: - TX_FAR _ViridianForestEndBattleText3 - db "@" - -ViridianForestAfterBattleText3: - TX_FAR _ViridianFrstAfterBattleText3 - db "@" - -ViridianForestText8: - TX_FAR _ViridianForestText8 - db "@" - -ViridianForestText9: - TX_FAR _ViridianForestText9 - db "@" - -ViridianForestText10: - TX_FAR _ViridianForestText10 - db "@" - -ViridianForestText11: - TX_FAR _ViridianForestText11 - db "@" - -ViridianForestText12: - TX_FAR _ViridianForestText12 - db "@" - -ViridianForestText13: - TX_FAR _ViridianForestText13 - db "@" - -ViridianForestText14: - TX_FAR _ViridianForestText14 - db "@" diff --git a/scripts/viridianforestentrance.asm b/scripts/viridianforestentrance.asm deleted file mode 100755 index e24225ed..00000000 --- a/scripts/viridianforestentrance.asm +++ /dev/null @@ -1,14 +0,0 @@ -ViridianForestEntranceScript: - jp EnableAutoTextBoxDrawing - -ViridianForestEntranceTextPointers: - dw ViridianForestEntranceText1 - dw ViridianForestEntranceText2 - -ViridianForestEntranceText1: - TX_FAR _ViridianForestEntranceText1 - db "@" - -ViridianForestEntranceText2: - TX_FAR _ViridianForestEntranceText2 - db "@" diff --git a/scripts/viridianforestexit.asm b/scripts/viridianforestexit.asm deleted file mode 100755 index af7a8523..00000000 --- a/scripts/viridianforestexit.asm +++ /dev/null @@ -1,14 +0,0 @@ -ViridianForestExitScript: - jp EnableAutoTextBoxDrawing - -ViridianForestExitTextPointers: - dw ViridianForestExitText1 - dw ViridianForestExitText2 - -ViridianForestExitText1: - TX_FAR _ViridianForestExitText1 - db "@" - -ViridianForestExitText2: - TX_FAR _ViridianForestExitText2 - db "@" diff --git a/scripts/viridiangym.asm b/scripts/viridiangym.asm deleted file mode 100755 index cc8dcb90..00000000 --- a/scripts/viridiangym.asm +++ /dev/null @@ -1,496 +0,0 @@ -ViridianGymScript: - ld hl, Gym8CityName - ld de, Gym8LeaderName - call LoadGymLeaderAndCityName - call EnableAutoTextBoxDrawing - ld hl, ViridianGymTrainerHeader0 - ld de, ViridianGymScriptPointers - ld a, [wViridianGymCurScript] - call ExecuteCurMapScriptInTable - ld [wViridianGymCurScript], a - ret - -Gym8CityName: - db "VIRIDIAN CITY@" -Gym8LeaderName: - db "GIOVANNI@" - -ViridianGymScript_748d6: - xor a - ld [wJoyIgnore], a - ld [wViridianGymCurScript], a - ld [wCurMapScript], a - ret - -ViridianGymScriptPointers: - dw ViridianGymScript0 - dw DisplayEnemyTrainerTextAndStartBattle - dw EndTrainerBattle - dw ViridianGymScript3 - dw ViridianGymScript4 - -ViridianGymScript0: - ld a, [wYCoord] - ld b, a - ld a, [wXCoord] - ld c, a - ld hl, ViridianGymArrowTilePlayerMovement - call DecodeArrowMovementRLE - cp $ff - jp z, CheckFightingMapTrainers - call StartSimulatingJoypadStates - ld hl, wd736 - set 7, [hl] - ld a, SFX_ARROW_TILES - call PlaySound - ld a, $ff - ld [wJoyIgnore], a - ld a, $4 - ld [wCurMapScript], a - ret - -;format: -;db y,x -;dw pointer to movement -ViridianGymArrowTilePlayerMovement: - db $b,$13 - dw ViridianGymArrowMovement1 - db $1,$13 - dw ViridianGymArrowMovement2 - db $2,$12 - dw ViridianGymArrowMovement3 - db $2,$b - dw ViridianGymArrowMovement4 - db $a,$10 - dw ViridianGymArrowMovement5 - db $6,$4 - dw ViridianGymArrowMovement6 - db $d,$5 - dw ViridianGymArrowMovement7 - db $e,$4 - dw ViridianGymArrowMovement8 - db $f,$0 - dw ViridianGymArrowMovement9 - db $f,$1 - dw ViridianGymArrowMovement10 - db $10,$d - dw ViridianGymArrowMovement11 - db $11,$d - dw ViridianGymArrowMovement12 - db $FF - -;format: direction, count -ViridianGymArrowMovement1: - db D_UP,$09,$FF - -ViridianGymArrowMovement2: - db D_LEFT,$08,$FF - -ViridianGymArrowMovement3: - db D_DOWN,$09,$FF - -ViridianGymArrowMovement4: - db D_RIGHT,$06,$FF - -ViridianGymArrowMovement5: - db D_DOWN,$02,$FF - -ViridianGymArrowMovement6: - db D_DOWN,$07,$FF - -ViridianGymArrowMovement7: - db D_RIGHT,$08,$FF - -ViridianGymArrowMovement8: - db D_RIGHT,$09,$FF - -ViridianGymArrowMovement9: - db D_UP,$08,$FF - -ViridianGymArrowMovement10: - db D_UP,$06,$FF - -ViridianGymArrowMovement11: - db D_LEFT,$06,$FF - -ViridianGymArrowMovement12: - db D_LEFT,$0C,$FF - -ViridianGymScript4: - ld a, [wSimulatedJoypadStatesIndex] - and a - jr nz, .asm_74980 - xor a - ld [wJoyIgnore], a - ld hl, wd736 - res 7, [hl] - ld a, $0 - ld [wCurMapScript], a - ret -.asm_74980 - jpba LoadSpinnerArrowTiles - -ViridianGymScript3: - ld a, [wIsInBattle] - cp $ff - jp z, ViridianGymScript_748d6 - ld a, $f0 - ld [wJoyIgnore], a -ViridianGymScript3_74995: - ld a, $c - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI - lb bc, TM_27, 1 - call GiveItem - jr nc, .BagFull - ld a, $d - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_GOT_TM27 - jr .asm_749be -.BagFull - ld a, $e - ld [hSpriteIndexOrTextID], a - call DisplayTextID -.asm_749be - ld hl, wObtainedBadges - set 7, [hl] - ld hl, wBeatGymFlags - set 7, [hl] - - ; deactivate gym trainers - SetEventRange EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0, EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7 - - ld a, HS_ROUTE_22_RIVAL_2 - ld [wMissableObjectIndex], a - predef ShowObject - SetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE - jp ViridianGymScript_748d6 - -ViridianGymTextPointers: - dw ViridianGymText1 - dw ViridianGymText2 - dw ViridianGymText3 - dw ViridianGymText4 - dw ViridianGymText5 - dw ViridianGymText6 - dw ViridianGymText7 - dw ViridianGymText8 - dw ViridianGymText9 - dw ViridianGymText10 - dw PickUpItemText - dw ViridianGymText12 - dw ViridianGymText13 - dw ViridianGymText14 - -ViridianGymTrainerHeader0: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 - dw ViridianGymBattleText1 ; TextBeforeBattle - dw ViridianGymAfterBattleText1 ; TextAfterBattle - dw ViridianGymEndBattleText1 ; TextEndBattle - dw ViridianGymEndBattleText1 ; TextEndBattle - -ViridianGymTrainerHeader1: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 - dw ViridianGymBattleText2 ; TextBeforeBattle - dw ViridianGymAfterBattleText2 ; TextAfterBattle - dw ViridianGymEndBattleText2 ; TextEndBattle - dw ViridianGymEndBattleText2 ; TextEndBattle - -ViridianGymTrainerHeader2: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 - dw ViridianGymBattleText3 ; TextBeforeBattle - dw ViridianGymAfterBattleText3 ; TextAfterBattle - dw ViridianGymEndBattleText3 ; TextEndBattle - dw ViridianGymEndBattleText3 ; TextEndBattle - -ViridianGymTrainerHeader3: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 - dw ViridianGymBattleText4 ; TextBeforeBattle - dw ViridianGymAfterBattleText4 ; TextAfterBattle - dw ViridianGymEndBattleText4 ; TextEndBattle - dw ViridianGymEndBattleText4 ; TextEndBattle - -ViridianGymTrainerHeader4: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 - dw ViridianGymBattleText5 ; TextBeforeBattle - dw ViridianGymAfterBattleText5 ; TextAfterBattle - dw ViridianGymEndBattleText5 ; TextEndBattle - dw ViridianGymEndBattleText5 ; TextEndBattle - -ViridianGymTrainerHeader5: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 - dw ViridianGymBattleText6 ; TextBeforeBattle - dw ViridianGymAfterBattleText6 ; TextAfterBattle - dw ViridianGymEndBattleText6 ; TextEndBattle - dw ViridianGymEndBattleText6 ; TextEndBattle - -ViridianGymTrainerHeader6: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1 - dw ViridianGymBattleText7 ; TextBeforeBattle - dw ViridianGymAfterBattleText7 ; TextAfterBattle - dw ViridianGymEndBattleText7 ; TextEndBattle - dw ViridianGymEndBattleText7 ; TextEndBattle - -ViridianGymTrainerHeader7: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1 - dw ViridianGymBattleText8 ; TextBeforeBattle - dw ViridianGymAfterBattleText8 ; TextAfterBattle - dw ViridianGymEndBattleText8 ; TextEndBattle - dw ViridianGymEndBattleText8 ; TextEndBattle - - db $ff - -ViridianGymText1: - TX_ASM - CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI - jr z, .asm_6de66 - CheckEventReuseA EVENT_GOT_TM27 - jr nz, .asm_9fc95 - call z, ViridianGymScript3_74995 - call DisableWaitingAfterTextDisplay - jr .asm_6dff7 -.asm_9fc95 - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, ViridianGymText_74ad9 - call PrintText - call GBFadeOutToBlack - ld a, HS_VIRIDIAN_GYM_GIOVANNI - ld [wMissableObjectIndex], a - predef HideObject - call UpdateSprites - call Delay3 - call GBFadeInFromBlack - jr .asm_6dff7 -.asm_6de66 - ld hl, ViridianGymText_74ace - call PrintText - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, ViridianGymText_74ad3 - ld de, ViridianGymText_74ad3 - call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] - ld [wSpriteIndex], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $8 - ld [wGymLeaderNo], a - ld a, $3 - ld [wViridianGymCurScript], a -.asm_6dff7 - jp TextScriptEnd - -ViridianGymText_74ace: - TX_FAR _ViridianGymText_74ace - db "@" - -ViridianGymText_74ad3: - TX_FAR _ViridianGymText_74ad3 - TX_SFX_LEVEL_UP ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded - db "@" - -ViridianGymText_74ad9: - TX_FAR _ViridianGymText_74ad9 - TX_WAIT - db "@" - -ViridianGymText12: - TX_FAR _ViridianGymText12 - db "@" - -ViridianGymText13: - TX_FAR _ReceivedTM27Text - TX_SFX_ITEM_1 - -TM27ExplanationText: - TX_FAR _TM27ExplanationText - db "@" - -ViridianGymText14: - TX_FAR _TM27NoRoomText - db "@" - -ViridianGymText2: - TX_ASM - ld hl, ViridianGymTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -ViridianGymBattleText1: - TX_FAR _ViridianGymBattleText1 - db "@" - -ViridianGymEndBattleText1: - TX_FAR _ViridianGymEndBattleText1 - db "@" - -ViridianGymAfterBattleText1: - TX_FAR _ViridianGymAfterBattleText1 - db "@" - -ViridianGymText3: - TX_ASM - ld hl, ViridianGymTrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -ViridianGymBattleText2: - TX_FAR _ViridianGymBattleText2 - db "@" - -ViridianGymEndBattleText2: - TX_FAR _ViridianGymEndBattleText2 - db "@" - -ViridianGymAfterBattleText2: - TX_FAR _ViridianGymAfterBattleText2 - db "@" - -ViridianGymText4: - TX_ASM - ld hl, ViridianGymTrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -ViridianGymBattleText3: - TX_FAR _ViridianGymBattleText3 - db "@" - -ViridianGymEndBattleText3: - TX_FAR _ViridianGymEndBattleText3 - db "@" - -ViridianGymAfterBattleText3: - TX_FAR _ViridianGymAfterBattleText3 - db "@" - -ViridianGymText5: - TX_ASM - ld hl, ViridianGymTrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -ViridianGymBattleText4: - TX_FAR _ViridianGymBattleText4 - db "@" - -ViridianGymEndBattleText4: - TX_FAR _ViridianGymEndBattleText4 - db "@" - -ViridianGymAfterBattleText4: - TX_FAR _ViridianGymAfterBattleText4 - db "@" - -ViridianGymText6: - TX_ASM - ld hl, ViridianGymTrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -ViridianGymBattleText5: - TX_FAR _ViridianGymBattleText5 - db "@" - -ViridianGymEndBattleText5: - TX_FAR _ViridianGymEndBattleText5 - db "@" - -ViridianGymAfterBattleText5: - TX_FAR _ViridianGymAfterBattleText5 - db "@" - -ViridianGymText7: - TX_ASM - ld hl, ViridianGymTrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -ViridianGymBattleText6: - TX_FAR _ViridianGymBattleText6 - db "@" - -ViridianGymEndBattleText6: - TX_FAR _ViridianGymEndBattleText6 - db "@" - -ViridianGymAfterBattleText6: - TX_FAR _ViridianGymAfterBattleText6 - db "@" - -ViridianGymText8: - TX_ASM - ld hl, ViridianGymTrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -ViridianGymBattleText7: - TX_FAR _ViridianGymBattleText7 - db "@" - -ViridianGymEndBattleText7: - TX_FAR _ViridianGymEndBattleText7 - db "@" - -ViridianGymAfterBattleText7: - TX_FAR _ViridianGymAfterBattleText7 - db "@" - -ViridianGymText9: - TX_ASM - ld hl, ViridianGymTrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -ViridianGymBattleText8: - TX_FAR _ViridianGymBattleText8 - db "@" - -ViridianGymEndBattleText8: - TX_FAR _ViridianGymEndBattleText8 - db "@" - -ViridianGymAfterBattleText8: - TX_FAR _ViridianGymAfterBattleText8 - db "@" - -ViridianGymText10: - TX_ASM - CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI - jr nz, .asm_1abd1 - ld hl, ViridianGymText_74bd4 - call PrintText - jr .asm_6064d -.asm_1abd1 - ld hl, ViridianGymText_74bd9 - call PrintText -.asm_6064d - jp TextScriptEnd - -ViridianGymText_74bd4: - TX_FAR _ViridianGymText_74bd4 - db "@" - -ViridianGymText_74bd9: - TX_FAR _ViridianGymText_74bd9 - db "@" diff --git a/scripts/viridianhouse.asm b/scripts/viridianhouse.asm deleted file mode 100755 index 105c8fb6..00000000 --- a/scripts/viridianhouse.asm +++ /dev/null @@ -1,33 +0,0 @@ -ViridianHouseScript: - jp EnableAutoTextBoxDrawing - -ViridianHouseTextPointers: - dw ViridianHouseText1 - dw ViridianHouseText2 - dw ViridianHouseText3 - dw ViridianHouseText4 - -ViridianHouseText1: - TX_FAR _ViridianHouseText1 - db "@" - -ViridianHouseText2: - TX_FAR _ViridianHouseText2 - db "@" - -ViridianHouseText3: - TX_ASM - ld hl, ViridianHouseText_1d5b1 - call PrintText - ld a, SPEAROW - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -ViridianHouseText_1d5b1: - TX_FAR _ViridianHouseText_1d5b1 - db "@" - -ViridianHouseText4: - TX_FAR _ViridianHouseText4 - db "@" diff --git a/scripts/viridianmart.asm b/scripts/viridianmart.asm deleted file mode 100755 index 451ab989..00000000 --- a/scripts/viridianmart.asm +++ /dev/null @@ -1,93 +0,0 @@ -ViridianMartScript: - call ViridianMartScript_1d47d - call EnableAutoTextBoxDrawing - ld hl, ViridianMartScriptPointers - ld a, [wViridianMarketCurScript] - jp CallFunctionInTable - -ViridianMartScript_1d47d: - CheckEvent EVENT_OAK_GOT_PARCEL - jr nz, .asm_1d489 - ld hl, ViridianMartTextPointers - jr .asm_1d48c -.asm_1d489 - ld hl, ViridianMartTextPointers + $a ; starts at ViridianMartText6 -.asm_1d48c - ld a, l - ld [wMapTextPtr], a - ld a, h - ld [wMapTextPtr+1], a - ret - -ViridianMartScriptPointers: - dw ViridianMartScript0 - dw ViridianMartScript1 - dw ViridianMartScript2 - -ViridianMartScript0: - call UpdateSprites - ld a, $4 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld hl, wSimulatedJoypadStatesEnd - ld de, RLEMovement1d4bb - call DecodeRLEList - dec a - ld [wSimulatedJoypadStatesIndex], a - call StartSimulatingJoypadStates - ld a, $1 - ld [wViridianMarketCurScript], a - ret - -RLEMovement1d4bb: - db D_LEFT, $01 - db D_UP, $02 - db $ff - -ViridianMartScript1: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - call Delay3 - ld a, $5 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - lb bc, OAKS_PARCEL, 1 - call GiveItem - SetEvent EVENT_GOT_OAKS_PARCEL - ld a, $2 - ld [wViridianMarketCurScript], a - ; fallthrough -ViridianMartScript2: - ret - -ViridianMartTextPointers: - dw ViridianMartText1 - dw ViridianMartText2 - dw ViridianMartText3 - dw ViridianMartText4 - dw ViridianMartText5 - dw ViridianCashierText - dw ViridianMartText2 - dw ViridianMartText3 - -ViridianMartText1: - TX_FAR _ViridianMartText1 - db "@" - -ViridianMartText4: - TX_FAR _ViridianMartText4 - db "@" - -ViridianMartText5: - TX_FAR ViridianMartParcelQuestText - TX_SFX_KEY_ITEM - db "@" - -ViridianMartText2: - TX_FAR _ViridianMartText2 - db "@" - -ViridianMartText3: - TX_FAR _ViridianMartText3 - db "@" diff --git a/scripts/viridianpokecenter.asm b/scripts/viridianpokecenter.asm deleted file mode 100755 index 904ff47f..00000000 --- a/scripts/viridianpokecenter.asm +++ /dev/null @@ -1,23 +0,0 @@ -ViridianPokeCenterScript: - call Serial_TryEstablishingExternallyClockedConnection - jp EnableAutoTextBoxDrawing - -ViridianPokecenterTextPointers: - dw ViridianHealNurseText - dw ViridianPokeCenterText2 - dw ViridianPokeCenterText3 - dw ViridianTradeNurseText - -ViridianHealNurseText: - TX_POKECENTER_NURSE - -ViridianPokeCenterText2: - TX_FAR _ViridianPokeCenterText2 - db "@" - -ViridianPokeCenterText3: - TX_FAR _ViridianPokeCenterText3 - db "@" - -ViridianTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST -- cgit v1.2.3