Sevii Region groundwork

This adds the baseline infrastructure to account for the Sevii Islands, while also fixing a couple of bugs. Zeta, please read the commit carefully!

Only real issue I noticed was that scrolling on the town map is infinite in all three new regions, implying there's something in `pokegear.asm` I haven't accounted for.

I've also ret'd the ezchat order and gen1 orders out of existence to reduce the sheer amount of 8-bit warnings. This abolishes gen1 compatibility (though this was already a bit fucked) in exchange for actually being able to debug things in a reasonable timeframe.
This commit is contained in:
Llinos Evans 2024-08-06 15:30:37 +01:00
parent 08cea5888f
commit 4432dd4d2f
27 changed files with 425 additions and 538 deletions

View file

@ -98,6 +98,13 @@
const ENGINE_FLYPOINT_LAKE_OF_RAGE const ENGINE_FLYPOINT_LAKE_OF_RAGE
const ENGINE_FLYPOINT_BLACKTHORN const ENGINE_FLYPOINT_BLACKTHORN
const ENGINE_FLYPOINT_SILVER_CAVE const ENGINE_FLYPOINT_SILVER_CAVE
const ENGINE_FLYPOINT_ONE_ISLAND
const ENGINE_FLYPOINT_TWO_ISLAND
const ENGINE_FLYPOINT_THREE_ISLAND
const ENGINE_FLYPOINT_FOUR_ISLAND
const ENGINE_FLYPOINT_FIVE_ISLAND
const ENGINE_FLYPOINT_SIX_ISLAND
const ENGINE_FLYPOINT_SEVEN_ISLAND
const ENGINE_FLYPOINT_SILENT_HILLS const ENGINE_FLYPOINT_SILENT_HILLS
const ENGINE_FLYPOINT_OLD const ENGINE_FLYPOINT_OLD
const ENGINE_FLYPOINT_UNUSED const ENGINE_FLYPOINT_UNUSED

View file

@ -118,11 +118,13 @@ DEF KANTO_LANDMARK EQU const_value
const LANDMARK_TOHJO_FALLS ; 5d const LANDMARK_TOHJO_FALLS ; 5d
const LANDMARK_ROUTE_28 ; 5e const LANDMARK_ROUTE_28 ; 5e
const LANDMARK_FAST_SHIP ; 5f const LANDMARK_FAST_SHIP ; 5f
const LANDMARK_ONE_ISLAND DEF SEVII_LANDMARK_1 EQU const_value
const LANDMARK_ONE_ISLAND
const LANDMARK_TWO_ISLAND const LANDMARK_TWO_ISLAND
const LANDMARK_THREE_ISLAND const LANDMARK_THREE_ISLAND
const LANDMARK_FOUR_ISLAND const LANDMARK_FOUR_ISLAND
const LANDMARK_FIVE_ISLAND const LANDMARK_FIVE_ISLAND
DEF SEVII_LANDMARK_2 EQU const_value
const LANDMARK_SIX_ISLAND const LANDMARK_SIX_ISLAND
const LANDMARK_SEVEN_ISLAND const LANDMARK_SEVEN_ISLAND
DEF NIHON_LANDMARK EQU const_value DEF NIHON_LANDMARK EQU const_value
@ -148,5 +150,7 @@ DEF NUM_LANDMARKS EQU const_value
const_def const_def
const JOHTO_REGION ; 0 const JOHTO_REGION ; 0
const KANTO_REGION ; 1 const KANTO_REGION ; 1
const NIHON_REGION ; 2 const SEVII_REGION_1 ; 2
const SEVII_REGION_2 ; 3
const NIHON_REGION ; 4
DEF NUM_REGIONS EQU const_value DEF NUM_REGIONS EQU const_value

View file

@ -102,6 +102,15 @@ DEF NUM_FISHGROUPS EQU const_value - 1
const SPAWN_BLACKTHORN const SPAWN_BLACKTHORN
const SPAWN_MT_SILVER const SPAWN_MT_SILVER
const SPAWN_FAST_SHIP const SPAWN_FAST_SHIP
; sevii 1
const SPAWN_ONE_ISLAND
const SPAWN_TWO_ISLAND
const SPAWN_THREE_ISLAND
const SPAWN_FOUR_ISLAND
const SPAWN_FIVE_ISLAND
; sevii 2
const SPAWN_SIX_ISLAND
const SPAWN_SEVEN_ISLAND
; nihon ; nihon
const SPAWN_SILENT_HILLS const SPAWN_SILENT_HILLS
const SPAWN_OLD_CITY const SPAWN_OLD_CITY
@ -139,6 +148,15 @@ DEF KANTO_FLYPOINT EQU const_value
const FLY_FUCHSIA const FLY_FUCHSIA
const FLY_CINNABAR const FLY_CINNABAR
const FLY_INDIGO const FLY_INDIGO
DEF SEVII_FLYPOINT_1 EQU const_value ; 1-5
const FLY_ONE_ISLAND
const FLY_TWO_ISLAND
const FLY_THREE_ISLAND
const FLY_FOUR_ISLAND
const FLY_FIVE_ISLAND
DEF SEVII_FLYPOINT_2 EQU const_value ; 6-7
const FLY_SIX_ISLAND
const FLY_SEVEN_ISLAND
DEF NIHON_FLYPOINT EQU const_value DEF NIHON_FLYPOINT EQU const_value
const FLY_SILENT_HILLS const FLY_SILENT_HILLS
const FLY_OLD_CITY const FLY_OLD_CITY

View file

@ -108,6 +108,13 @@ EngineFlags:
engine_flag wVisitedSpawns, SPAWN_LAKE_OF_RAGE engine_flag wVisitedSpawns, SPAWN_LAKE_OF_RAGE
engine_flag wVisitedSpawns, SPAWN_BLACKTHORN engine_flag wVisitedSpawns, SPAWN_BLACKTHORN
engine_flag wVisitedSpawns, SPAWN_MT_SILVER engine_flag wVisitedSpawns, SPAWN_MT_SILVER
engine_flag wVisitedSpawns, SPAWN_ONE_ISLAND
engine_flag wVisitedSpawns, SPAWN_TWO_ISLAND
engine_flag wVisitedSpawns, SPAWN_THREE_ISLAND
engine_flag wVisitedSpawns, SPAWN_FOUR_ISLAND
engine_flag wVisitedSpawns, SPAWN_FIVE_ISLAND
engine_flag wVisitedSpawns, SPAWN_SIX_ISLAND
engine_flag wVisitedSpawns, SPAWN_SEVEN_ISLAND
engine_flag wVisitedSpawns, SPAWN_SILENT_HILLS engine_flag wVisitedSpawns, SPAWN_SILENT_HILLS
engine_flag wVisitedSpawns, SPAWN_OLD_CITY engine_flag wVisitedSpawns, SPAWN_OLD_CITY
engine_flag wVisitedSpawns, NUM_SPAWNS ; unused engine_flag wVisitedSpawns, NUM_SPAWNS ; unused

View file

@ -27,6 +27,15 @@ Flypoints:
db LANDMARK_FUCHSIA_CITY, SPAWN_FUCHSIA db LANDMARK_FUCHSIA_CITY, SPAWN_FUCHSIA
db LANDMARK_CINNABAR_ISLAND, SPAWN_CINNABAR db LANDMARK_CINNABAR_ISLAND, SPAWN_CINNABAR
db LANDMARK_INDIGO_PLATEAU, SPAWN_INDIGO db LANDMARK_INDIGO_PLATEAU, SPAWN_INDIGO
; Sevii 1
db LANDMARK_ONE_ISLAND, SPAWN_ONE_ISLAND
db LANDMARK_TWO_ISLAND, SPAWN_TWO_ISLAND
db LANDMARK_THREE_ISLAND, SPAWN_THREE_ISLAND
db LANDMARK_FOUR_ISLAND, SPAWN_FOUR_ISLAND
db LANDMARK_FIVE_ISLAND, SPAWN_FIVE_ISLAND
db LANDMARK_SIX_ISLAND, SPAWN_SIX_ISLAND
db LANDMARK_SEVEN_ISLAND, SPAWN_SEVEN_ISLAND
; Sevii 2
; Nihon ; Nihon
db LANDMARK_SILENT_HILLS, SPAWN_SILENT_HILLS db LANDMARK_SILENT_HILLS, SPAWN_SILENT_HILLS
db LANDMARK_OLD_CITY, SPAWN_OLD_CITY db LANDMARK_OLD_CITY, SPAWN_OLD_CITY

View file

@ -122,13 +122,15 @@ Landmarks:
landmark 20, 68, Route28Name landmark 20, 68, Route28Name
landmark 140, 116, FastShipName landmark 140, 116, FastShipName
; Sevii stuff ; Sevii stuff
landmark 0, 0, UnknownName ; One Island assert_table_length SEVII_LANDMARK_1
landmark 0, 0, UnknownName ; Two Island landmark 28, 52, OneIslandName ; One Island
landmark 0, 0, UnknownName ; Three Island landmark 60, 44, TwoIslandName ; Two Island
landmark 0, 0, UnknownName ; Four Island landmark 132, 52, ThreeIslandName ; Three Island
landmark 0, 0, UnknownName ; Five Island landmark 28, 108, FourIslandName ; Four Island
landmark 0, 0, UnknownName ; Six Island landmark 116, 100, FiveIslandName ; Five Island
landmark 0, 0, UnknownName ; Seven Island assert_table_length SEVII_LANDMARK_2
landmark 44, 76, SixIslandName ; Six Island
landmark 116, 76, SevenIslandName ; Seven Island
assert_table_length NIHON_LANDMARK assert_table_length NIHON_LANDMARK
landmark 108, 116, WinnersPathName landmark 108, 116, WinnersPathName
landmark 92, 108, SilentHillsName landmark 92, 108, SilentHillsName
@ -246,6 +248,16 @@ TohjoFallsName: db "TOHJO FALLS@"
UndergroundName: db "UNDERGROUND@" UndergroundName: db "UNDERGROUND@"
BattleTowerName: db "BATTLE¯TOWER@" BattleTowerName: db "BATTLE¯TOWER@"
SpecialMapName: db "SPECIAL@" SpecialMapName: db "SPECIAL@"
; Sevii
OneIslandName: db "ONE¯ISLAND@"
TwoIslandName: db "TWO¯ISLAND@"
ThreeIslandName: db "THREE¯ISLAND@"
FourIslandName: db "FOUR¯ISLAND@"
FiveIslandName: db "FIVE¯ISLAND@"
; these would be in cat 2
SixIslandName: db "SIX¯ISLAND@"
SevenIslandName: db "SEVEN¯ISLAND@"
; Nihon
WinnersPathName: db "WINNER'S¯PATH@" WinnersPathName: db "WINNER'S¯PATH@"
SilentHillsName: db "SILENT¯HILLS@" SilentHillsName: db "SILENT¯HILLS@"
UnknownName: db "?????@" UnknownName: db "?????@"

View file

@ -39,6 +39,14 @@ SpawnPoints:
spawn SILVER_CAVE_OUTSIDE, 23, 20 spawn SILVER_CAVE_OUTSIDE, 23, 20
spawn FAST_SHIP_CABINS_SW_SSW_NW, 6, 2 spawn FAST_SHIP_CABINS_SW_SSW_NW, 6, 2
spawn ONE_ISLAND, 17, 7
spawn TWO_ISLAND, 17, 7 ; these are placeholders and hopefully zeta will make them all good and proper them before testing
spawn THREE_ISLAND, 17, 7
spawn FOUR_ISLAND, 17, 7
spawn FIVE_ISLAND, 17, 7
spawn SIX_ISLAND, 17, 7
spawn SEVEN_ISLAND, 17, 7
spawn SILENT_HILLS, 13, 5 spawn SILENT_HILLS, 13, 5
spawn OLD_CITY, 27, 29 spawn OLD_CITY, 27, 29

View file

@ -2,94 +2,4 @@
; Notably, Rhydon is missing (it should be before Rhyhorn). ; Notably, Rhydon is missing (it should be before Rhyhorn).
EZChat_SortedPokemon: EZChat_SortedPokemon:
dw .a ret ; removed for space among other things
dw .i
dw .u
dw .e
dw .o
dw .ka_ga
dw .ki_gi
dw .ku_gu
dw .ke_ge
dw .ko_go
dw .sa_za
dw .shi_ji
dw .su_zu
dw .se_ze
dw .so_zo
dw .ta_da
dw .chi_dhi
dw .tsu_du
dw .te_de
dw .to_do
dw .na
dw .ni
dw .nu
dw .ne
dw .no
dw .ha_ba_pa
dw .hi_bi_pi
dw .fu_bu_pu
dw .he_be_pe
dw .ho_bo_po
dw .ma
dw .mi
dw .mu
dw .me
dw .mo
dw .ya
dw .yu
dw .yo
dw .ra
dw .ri
dw .ru
dw .re
dw .ro
dw .wa
dw .end
.a: db EKANS, ARBOK, SEAKING, ARIADOS, CROCONAW, UNOWN, -1
.i: db EEVEE, GEODUDE, SPINARAK, PILOSWINE, ONIX, -1
.u: db ARCANINE, SUDOWOODO, WEEPINBELL, VICTREEBEL, WOOPER, SWINUB, -1
.e: db SKARMORY, AIPOM, ESPEON, HITMONCHAN, ELEKID, ELECTABUZZ, ENTEI, -1
.o: db FERALIGATR, FURRET, OCTILLERY, PRIMEAPE, SENTRET, STANTLER, SPEAROW, FEAROW, OMASTAR, OMANYTE, -1
.ka_ga: db GROWLITHE, MACHAMP, DRAGONITE, PINSIR, SNORLAX, KABUTO, KABUTOPS, HITMONTOP, WARTORTLE, BLASTOISE, FARFETCH_D, CUBONE, MAROWAK, KANGASKHAN, -1
.ki_gi: db SUNFLORA, CATERPIE, GYARADOS, RAPIDASH, NINETALES, GIRAFARIG, BELLOSSOM, KINGDRA, KINGLER, -1
.ku_gu: db GLOOM, PINECO, GLIGAR, KRABBY, GRANBULL, CROBAT, -1
.ke_ge: db ABRA, GENGAR, TAUROS, -1
.ko_go: db MAGIKARP, MAGNEMITE, GASTLY, HAUNTER, MACHOKE, KAKUNA, PSYDUCK, PHANPY, RATTATA, GOLDUCK, GOLBAT, GOLEM, GRAVELER, VENONAT, -1
.sa_za: db RHYHORN, PUPITAR, CORSOLA, HITMONLEE, ZAPDOS, JOLTEON, SANDSHREW, SANDSLASH, -1 ; RHYDON should lead this list
.shi_ji: db SEADRA, SHELLDER, VAPOREON, DEWGONG, -1
.su_zu: db SUICUNE, STARMIE, SCYTHER, ZUBAT, BEEDRILL, HYPNO, DROWZEE, -1
.se_ze: db SQUIRTLE, CELEBI, -1
.so_zo: db WOBBUFFET, -1
.ta_da: db DUGTRIO, HORSEA, EXEGGCUTE, -1
.chi_dhi: db CHIKORITA, CHINCHOU, -1
.tsu_du: db SHUCKLE, -1
.te_de: db DIGLETT, REMORAID, DELIBIRD, HOUNDOUR, AMPHAROS, -1
.to_do: db DODUO, DODRIO, SMEARGLE, KOFFING, TENTACRUEL, TOGETIC, TOGEPI, GOLDEEN, METAPOD, DONPHAN, -1
.na: db ODDISH, EXEGGUTOR, -1
.ni: db NIDOKING, NIDOQUEEN, NIDORAN_M, NIDORAN_F, NIDORINA, NIDORINO, MEOWTH, SNEASEL, POLIWHIRL, POLITOED, POLIWRATH, POLIWAG, -1
.nu: db QUAGSIRE, -1
.ne: db NATU, XATU, -1
.no: db DUNSPARCE, -1
.ha_ba_pa: db SEEL, STEELIX, TYPHLOSION, DRAGONAIR, BUTTERFREE, SCIZOR, HOPPIP, BLISSEY, PARAS, PARASECT, QWILFISH, MR__MIME, TYROGUE, CLOYSTER, TYRANITAR, -1
.hi_bi_pi: db CLEFFA, WEEDLE, PIKACHU, CLEFABLE, PIDGEOT, PIDGEOTTO, PICHU, CLEFAIRY, CHARMANDER, STARYU, CYNDAQUIL, SUNKERN, TEDDIURSA, VOLTORB, -1
.fu_bu_pu: db MOLTRES, FLAREON, ALAKAZAM, MAGMAR, FORRETRESS, WIGGLYTUFF, IVYSAUR, BULBASAUR, VENUSAUR, AERODACTYL, MAGBY, IGGLYBUFF, UMBREON, ARTICUNO, JIGGLYPUFF, SNUBBULL, -1
.he_be_pe: db BAYLEEF, GRIMER, MUK, HERACROSS, HOUNDOOM, PERSIAN, LICKITUNG, -1
.ho_bo_po: db HO_OH, HOOTHOOT, PIDGEY, PONYTA, SKIPLOOM, PORYGON, PORYGON2, -1
.ma: db MAGCARGO, SLUGMA, QUILAVA, BELLSPROUT, WEEZING, MARILL, AZUMARILL, ELECTRODE, MANKEY, MANTINE, -1
.mi: db DRATINI, MEW, MEWTWO, MILTANK, -1
.mu: db MISDREAVUS, SMOOCHUM, -1
.me: db MEGANIUM, DITTO, TENTACOOL, MAREEP, -1
.mo: db FLAAFFY, VENOMOTH, TANGELA, -1
.ya: db SLOWKING, SLOWBRO, SLOWPOKE, MURKROW, YANMA, -1
.yu: db KADABRA, -1
.yo: db LARVITAR, NOCTOWL, -1
.ra: db RAIKOU, RAICHU, CHANSEY, RATICATE, LAPRAS, VILEPLUME, LANTURN, -1
.ri: db CHARMELEON, CHARIZARD, URSARING, -1
.ru: db JYNX, LUGIA, -1
.re: db MAGNETON, LEDIAN, LEDYBA, -1
.ro: db VULPIX, -1
.wa: db JUMPLUFF, TOTODILE, MACHOP ;, -1
.end: db -1

View file

@ -1,399 +1,4 @@
Pokered_MonIndices: Pokered_MonIndices:
table_width 1, Pokered_MonIndices ret ; this has been removed as it's unnecessary and makes debugging extremely difficult - we're removing the compatibility with KEP anyway
db RHYDON
db KANGASKHAN ; if you want to make a new list, then go ahead, just make sure to let us know and all that
db NIDORAN_M
db CLEFAIRY
db SPEAROW
db VOLTORB
db NIDOKING
db SLOWBRO
db IVYSAUR
db EXEGGUTOR
db LICKITUNG
db EXEGGCUTE
db GRIMER
db GENGAR
db NIDORAN_F
db NIDOQUEEN
db CUBONE
db RHYHORN
db LAPRAS
db ARCANINE
db MEW
db GYARADOS
db SHELLDER
db TENTACOOL
db GASTLY
db SCYTHER
db STARYU
db BLASTOISE
db PINSIR
db TANGELA
db SCIZOR ; MISSINGNO.
db SHUCKLE ; MISSINGNO.
db NIDOREIGN
db GROWLITHE
db ONIX
db FEAROW
db PIDGEY
db SLOWPOKE
db KADABRA
db GRAVELER
db CHANSEY
db MACHOKE
db MR__MIME
db HITMONLEE
db HITMONCHAN
db ARBOK
db PARASECT
db PSYDUCK
db DROWZEE
db GOLEM
db HERACROSS ; MISSINGNO.
db MAGMAR
db HO_OH ; MISSINGNO.
db ELECTABUZZ
db MAGNETON
db KOFFING
db SNEASEL ; MISSINGNO.
db MANKEY
db SEEL
db DIGLETT
db TAUROS
db TEDDIURSA ; MISSINGNO.
db URSARING ; MISSINGNO.
db SLUGMA ; MISSINGNO.
db FARFETCH_D
db VENONAT
db DRAGONITE
db MAGCARGO ; MISSINGNO.
db SWINUB ; MISSINGNO.
db PILOSWINE ; MISSINGNO.
db DODUO
db POLIWAG
db JYNX
db MOLTRES
db ARTICUNO
db ZAPDOS
db DITTO
db MEOWTH
db KRABBY
db CORSOLA ; MISSINGNO.
db REMORAID ; MISSINGNO.
db OCTILLERY ; MISSINGNO.
db VULPIX
db NINETALES
db PIKACHU
db RAICHU
db DELIBIRD ; MISSINGNO.
db MANTINE ; MISSINGNO.
db DRATINI
db DRAGONAIR
db KABUTO
db KABUTOPS
db HORSEA
db SEADRA
db SKARMORY ; MISSINGNO.
db HOUNDOUR ; MISSINGNO.
db SANDSHREW
db SANDSLASH
db OMANYTE
db OMASTAR
db JIGGLYPUFF
db WIGGLYTUFF
db EEVEE
db FLAREON
db JOLTEON
db VAPOREON
db MACHOP
db ZUBAT
db EKANS
db PARAS
db POLIWHIRL
db POLIWRATH
db WEEDLE
db KAKUNA
db BEEDRILL
db HOUNDOOM ; MISSINGNO.
db DODRIO
db PRIMEAPE
db DUGTRIO
db VENOMOTH
db DEWGONG
db TRICULES
db KINGDRA ; MISSINGNO.
db PHANPY ; MISSINGNO.
db CATERPIE
db METAPOD
db BUTTERFREE
db MACHAMP
db DONPHAN ; MISSINGNO.
db GOLDUCK
db HYPNO
db GOLBAT
db MEWTWO
db SNORLAX
db MAGIKARP
db PORYGON2 ; MISSINGNO.
db STANTLER ; MISSINGNO.
db MUK
db SMEARGLE ; MISSINGNO.
db KINGLER
db CLOYSTER
db TYROGUE ; MISSINGNO.
db ELECTRODE
db CLEFABLE
db WEEZING
db PERSIAN
db MAROWAK
db HITMONTOP ; MISSINGNO.
db HAUNTER
db ABRA
db ALAKAZAM
db PIDGEOTTO
db PIDGEOT
db STARMIE
db BULBASAUR
db VENUSAUR
db TENTACRUEL
db SMOOCHUM ; MISSINGNO.
db GOLDEEN
db SEAKING
db ELEKID ; MISSINGNO.
db MAGBY ; MISSINGNO.
db MILTANK ; MISSINGNO.
db BLISSEY ; MISSINGNO.
db PONYTA
db RAPIDASH
db RATTATA
db RATICATE
db NIDORINO
db NIDORINA
db GEODUDE
db PORYGON
db AERODACTYL
db BLASTYKE
db RAIKOU ; MISSINGNO.
db MAGNEMITE
db ENTEI ; MISSINGNO.
db SUICUNE ; MISSINGNO.
db CHARMANDER
db SQUIRTLE
db CHARMELEON
db WARTORTLE
db CHARIZARD
db TOTARTLE
db LARVITAR ; MISSINGNO.
db PUPITAR ; MISSINGNO. KABUTOPS FOSSIL
db TYRANITAR ; MISSINGNO. AERODACTYL FOSSIL
db LUGIA ; MISSINGNO. GHOST
db ODDISH
db GLOOM
db VILEPLUME
db BELLSPROUT
db WEEPINBELL
db VICTREEBEL
assert_table_length 194 ; gen 1 mon indexes
db CHIKORITA
db BAYLEEF
db MEGANIUM
db CYNDAQUIL
db QUILAVA
db TYPHLOSION
db TOTODILE
db CROCONAW
db FERALIGATR
db CUBBURN
db FLAMBEAR
db BRUINOUS
db PALSSIO
db PRESSIO
db DONMARIN
db SENTRET
db FURRET
db HOOTHOOT
db NOCTOWL
db LEDYBA
db LEDIAN
db SPINARAK
db ARIADOS
db CROBAT
db CHINCHOU
db LANTURN
db PICHU
db CLEFFA
db IGGLYBUFF
db TOGEPI
db TOGETIC
db TOGEKISS
db NATU
db XATU
db MOIBELLE
db BELLEDAM
db MAREEP
db FLAAFFY
db AMPHAROS
db BELLOSSOM
db MARILL
db AZUMARILL
db SUDOWOODO
db POLITOED
db HOPPIP
db SKIPLOOM
db JUMPLUFF
db AIPOM
db SUNKERN
db SUNFLORA
db AERCROW
db YANMA
db PENDING03
db WOOPER
db QUAGSIRE
db ESPEON
db UMBREON
db MURKROW
db SLOWKING
db MISDREAVUS
db MISMAGIUS
db STROMEN
db PHANDARIN
db UNOWN
db WYNAUT
db WOBBUFFET
db BIPULLA
db GIRAFARIG
db FARIGIRAF
db EMORDROME
db PINECO
db FORRETRESS
db DUNSPARCE
db DUDUNSPARCE
db GLIGAR
db STEELIX
db SNUBBULL
db GRANBULL
db QWILFISH
db BELLIGNAN
db WALKING_WAKE
db SHI_SHI
db MUNCHLAX
db KLEAVOR
db URSALUNA
db GOROCHU
db GENTLARVA
db PUPAL
db CARAPTHOR
db KOTORA
db GAOTORA
db GOROTORA
db RAITORA
db BITTYBAT
db VULPIII
db PARASPOR
db ANNIHILAPE
db PUPPERON
db COINPUR
db PERRSERKER
db LEAFEON
db GLACEON
db SYLVEON
db LICKILICKY
db LICKILORD
db BURGELA
db TANGROWTH
db JUNGELA
db FOLAGE
db BARREAU
db RAGING_BOLT
db GOUGING_FIRE
db POCKLE
db WARUCHU
db SONEGG
db CACAWPHONY
db TREBIR
db SAKURAZE
db AMANOBI
db TRUSTAN
db KUWAGUARD
db TONQUITO
db MOLAMBINO
db LUANBO
db GRANBO
db ANGORE
db EUCALA
db KIWOOKED
db CYCLORP
db KITSEN
db WISPIRIT
db COATL
db MIMEAR
db INOSHIKA
db RUDDERNAUT
db XYLODON
db XYLOFIN
db DOKUROAR
db SCREAM_TAIL
db SANDY_SHOCKS
db GREAT_TUSK
db FLUTTER_MANE
db IRON_TREADS
db IRON_BUNDLE
db IRON_THORNS
db ORFRY
db CHEEP
db JABETTA
db RIBBITO
db CROAKOZUNA
db DISTURBAN
db REROAD
db QATU
db AZURILL
db AMBIPOM
db SUNBUD
db HIPPUNK
db FOXFIRE
db YANMEGA
db KAZAPPELIN
db QWILFATHER
db STRICHEEL
db LURREEL
db MANTYKE
db WEIRDUCK
db LUXWAN
db CHARMADA
db MAGIPREY
db TERRADOS
db TOEDSCOOL
db TOEDSCRUEL
db BLOTTLE
db PENDRAKEN
db KOLTA
db BALUMBA
db MAGNETITE
db MAGNEZONE
db GAVILLAIN
db BUU
db GRENMAR
db SMUJJ
db GUARDIA
db HAPPINY
db MIME_JR_
db ELECTIVIRE
db MAGMORTAR
db MIMMEO
db SQUEAMATA
db MINISTARE
db IGUANARCH
db BONSLY
db HONCHKROW
db CARETORKER
db PORYGON_Z
db WYRDEER
db ELEBEBI
db FERADACTYL
db DECILLA
db GAWARHED
db MAMOSWINE
db HIRSUSWINE
assert_table_length NUM_POKEMON - 1

View file

@ -485,7 +485,7 @@ PKMNTrainerGroup:
dw PIDGEOT dw PIDGEOT
dw DOUBLE_EDGE, WING_ATTACK, MIRROR_MOVE, PURSUIT dw DOUBLE_EDGE, WING_ATTACK, MIRROR_MOVE, PURSUIT
db 60 db 60
db PILOSWINE ; MAMOSWINE dw PILOSWINE ; MAMOSWINE
dw EARTHQUAKE, BODY_SLAM, ROAR, ANCIENTPOWER dw EARTHQUAKE, BODY_SLAM, ROAR, ANCIENTPOWER
db 60 db 60
dw SLOWKING dw SLOWKING

38
data/wild/sevii_grass.asm Normal file
View file

@ -0,0 +1,38 @@
; Sevii Pokémon in grass
; General philosophies:
; - Alolan Pokemon will be encounterable, as the Sevii Islands are a tropical area.
; - It's still Kanto, so we will feature more Kanto than Johto Pokemon. Basically, this will use the "classic Johto" philosophy of hiding them in the back.
; - Minimal, if any, Nihon Pokemon.
SeviiGrassWildMons:
def_grass_wildmons KINDLE_ROAD
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
; morn
dbw 30, FEAROW
dbw 31, PERSIAN ; PERSIANA
dbw 30, GOLDUCK
dbw 31, GRAVELER ; GRAVELERA
dbw 32, RAPIDASH
dbw 32, SLOWBRO ; Could be Galarian Slowbro considering the Isle of Armor but I'm not sure, given this would mix regional variant origins...
dbw 35, SLOWKING
; day
dbw 30, FEAROW
dbw 31, PERSIAN ; PERSIANA
dbw 30, GOLDUCK
dbw 31, GRAVELER ; GRAVELERA
dbw 32, RAPIDASH
dbw 32, SLOWBRO
dbw 35, SLOWKING
; nite
dbw 30, NOCTOWL
dbw 31, PERSIAN
dbw 30, MURKROW
dbw 31, GRAVELER
dbw 32, RAPIDASH
dbw 32, SLOWBRO
dbw 35, SLOWKING
end_grass_wildmons
db -1 ; end

17
data/wild/sevii_water.asm Normal file
View file

@ -0,0 +1,17 @@
; Sevii Pokémon in grass
; General philosophies:
; - Alolan Pokemon will be encounterable, as the Sevii Islands are a tropical area.
; - It's still Kanto, so we will feature more Kanto than Johto Pokemon. Basically, this will use the "classic Johto" philosophy of hiding them in the back.
; - Minimal, if any, Nihon Pokemon.
SeviiWaterWildMons:
def_water_wildmons KINDLE_ROAD
db 4 percent ; encounter rates: morn/day/nite
dbw 30, GRENMAR ; Water/Fire, y'know, it's kinda cute
dbw 31, SEADRA
dbw 30, GYARADOS
end_water_wildmons
db -1 ; end

View file

@ -68,7 +68,7 @@ RegionCheck:
.checkagain .checkagain
cp NIHON_LANDMARK cp NIHON_LANDMARK
jr z, .nihon jr nc, .nihon
cp KANTO_LANDMARK cp KANTO_LANDMARK
jr c, .johto jr c, .johto

View file

@ -38,8 +38,12 @@ FindNest:
ld b, h ld b, h
ld c, l ld c, l
ld a, e ld a, e
cp 2 cp NIHON_REGION
jr z, .nihon jr z, .nihon
cp SEVII_REGION_2
jr z, .sevii ; these areas are small enough to that we shouldn't need two separate tables for these regions.
cp SEVII_REGION_1
jr z, .sevii
and a and a
jr nz, .kanto jr nz, .kanto
decoord 0, 0 decoord 0, 0
@ -58,6 +62,13 @@ FindNest:
ld hl, KantoWaterWildMons ld hl, KantoWaterWildMons
jp .FindWater jp .FindWater
.sevii
decoord 0, 0
ld hl, SeviiGrassWildMons
call .FindGrass
ld hl, SeviiWaterWildMons
jp .FindWater
.nihon .nihon
decoord 0, 0 decoord 0, 0
ld hl, NihonGrassWildMons ld hl, NihonGrassWildMons
@ -439,7 +450,7 @@ _GrassWildmonLookup:
ld hl, JohtoGrassWildMons ld hl, JohtoGrassWildMons
; Old Nihon Check from 2023. ; Old Nihon Check from 2023.
; Testing new method. ; it's painfully broken and bad, don't use it unless you have brighter ideas for the below
; Nihon Check ; Nihon Check
; Basically, conditionally load Nihon or Kanto into de, depending on region check. ; Basically, conditionally load Nihon or Kanto into de, depending on region check.
; IsInJohto returns 1 if Kanto, 2 if Nihon. ; IsInJohto returns 1 if Kanto, 2 if Nihon.
@ -463,9 +474,16 @@ _GrassWildmonLookup:
ld c, a ld c, a
call GetWorldMapLocation call GetWorldMapLocation
cp NIHON_LANDMARK cp NIHON_LANDMARK
jr nc, .skip2 jr nc, .johto
; account for sevii
ld de, SeviiGrassWildMons
cp SEVII_LANDMARK_2 ; I am 90% sure this check is unnecessary when in tandem with landmark 1.
jr nc, .johto
cp SEVII_LANDMARK_1
jr nc, .johto
ld de, KantoGrassWildMons ld de, KantoGrassWildMons
.skip2 .johto
call _JohtoWildmonCheck ; So run this check. More commentary there. call _JohtoWildmonCheck ; So run this check. More commentary there.
ld bc, GRASS_WILDDATA_LENGTH ld bc, GRASS_WILDDATA_LENGTH
@ -486,9 +504,17 @@ _WaterWildmonLookup:
ld c, a ld c, a
call GetWorldMapLocation call GetWorldMapLocation
cp NIHON_LANDMARK cp NIHON_LANDMARK
jr nc, .skip2 jr nc, .johto
; account for sevii
ld de, SeviiWaterWildMons
cp SEVII_LANDMARK_2
jr nc, .johto
cp SEVII_LANDMARK_1
jr nc, .johto
ld de, KantoWaterWildMons ld de, KantoWaterWildMons
.skip2 .johto
call _JohtoWildmonCheck call _JohtoWildmonCheck
ld bc, WATER_WILDDATA_LENGTH ld bc, WATER_WILDDATA_LENGTH
@ -1074,6 +1100,8 @@ INCLUDE "data/wild/johto_grass.asm"
INCLUDE "data/wild/johto_water.asm" INCLUDE "data/wild/johto_water.asm"
INCLUDE "data/wild/kanto_grass.asm" INCLUDE "data/wild/kanto_grass.asm"
INCLUDE "data/wild/kanto_water.asm" INCLUDE "data/wild/kanto_water.asm"
INCLUDE "data/wild/sevii_grass.asm"
INCLUDE "data/wild/sevii_water.asm"
INCLUDE "data/wild/nihon_grass.asm" INCLUDE "data/wild/nihon_grass.asm"
INCLUDE "data/wild/nihon_water.asm" INCLUDE "data/wild/nihon_water.asm"
INCLUDE "data/wild/swarm_grass.asm" INCLUDE "data/wild/swarm_grass.asm"

View file

@ -19,12 +19,16 @@ DEF PHONE_DISPLAY_HEIGHT EQU 4
const POKEGEARSTATE_KANTOMAPJOYPAD ; 6 const POKEGEARSTATE_KANTOMAPJOYPAD ; 6
const POKEGEARSTATE_NIHONMAPINIT ; 5 const POKEGEARSTATE_NIHONMAPINIT ; 5
const POKEGEARSTATE_NIHONMAPJOYPAD ; 6 const POKEGEARSTATE_NIHONMAPJOYPAD ; 6
const POKEGEARSTATE_PHONEINIT ; 7 const POKEGEARSTATE_SEVII1MAPINIT ; 7
const POKEGEARSTATE_PHONEJOYPAD ; 8 const POKEGEARSTATE_SEVII1MAPJOYPAD ; 8
const POKEGEARSTATE_MAKEPHONECALL ; 9 const POKEGEARSTATE_SEVII2MAPINIT ; 9
const POKEGEARSTATE_FINISHPHONECALL ; a const POKEGEARSTATE_SEVII2MAPJOYPAD ; 0A
const POKEGEARSTATE_RADIOINIT ; b const POKEGEARSTATE_PHONEINIT ; 0B
const POKEGEARSTATE_RADIOJOYPAD ; c const POKEGEARSTATE_PHONEJOYPAD ; 0C
const POKEGEARSTATE_MAKEPHONECALL ; 0D
const POKEGEARSTATE_FINISHPHONECALL ; 0E
const POKEGEARSTATE_RADIOINIT ; 0F
const POKEGEARSTATE_RADIOJOYPAD ; 10
PokeGear: PokeGear:
ld hl, wOptions ld hl, wOptions
@ -330,6 +334,10 @@ InitPokegearTilemap:
jr z, .johto jr z, .johto
cp NIHON_LANDMARK cp NIHON_LANDMARK
jr nc, .nihon jr nc, .nihon
cp SEVII_LANDMARK_1
jr nc, .sevii1
cp SEVII_LANDMARK_2
jr nc, .sevii2
cp KANTO_LANDMARK cp KANTO_LANDMARK
jr nc, .kanto jr nc, .kanto
.johto .johto
@ -339,9 +347,14 @@ InitPokegearTilemap:
.kanto .kanto
ld e, 1 ld e, 1
jr .ok jr .ok
.sevii1
.nihon
ld e, 2 ld e, 2
jr .ok
.sevii2
ld e, 3
jr .ok
.nihon
ld e, 4
.ok .ok
farcall PokegearMap farcall PokegearMap
ld a, $07 ld a, $07
@ -452,6 +465,10 @@ PokegearJumptable:
dw PokegearMap_Init dw PokegearMap_Init
dw PokegearMap_KantoMap dw PokegearMap_KantoMap
dw PokegearMap_Init dw PokegearMap_Init
dw PokegearMap_Sevii1Map
dw PokegearMap_Init
dw PokegearMap_Sevii2Map
dw PokegearMap_Init
dw PokegearMap_NihonMap dw PokegearMap_NihonMap
dw PokegearPhone_Init dw PokegearPhone_Init
dw PokegearPhone_Joypad dw PokegearPhone_Joypad
@ -540,12 +557,18 @@ Pokegear_UpdateClock:
PokegearMap_CheckRegion: PokegearMap_CheckRegion:
ld a, [wPokegearMapPlayerIconLandmark] ld a, [wPokegearMapPlayerIconLandmark]
; let's check sevii first - checking the highest ones first simplifies architecture a bit.
cp LANDMARK_SEVEN_ISLAND+1
jr c, .nihon
cp LANDMARK_FAST_SHIP+1
jr c, .sevii1
cp LANDMARK_FIVE_ISLAND+1
jr c, .sevii2
cp LANDMARK_SILVER_CAVE+1 cp LANDMARK_SILVER_CAVE+1
jr c, .johto jr c, .johto
cp LANDMARK_FAST_SHIP+1 cp LANDMARK_FAST_SHIP+1
jr c, .kanto jr c, .kanto
;cp NIHON_LANDMARK jp .nihon ; if all else fails
jp .nihon
.johto .johto
ld a, POKEGEARSTATE_JOHTOMAPINIT ld a, POKEGEARSTATE_JOHTOMAPINIT
jr .done jr .done
@ -555,7 +578,14 @@ PokegearMap_CheckRegion:
ld a, POKEGEARSTATE_KANTOMAPINIT ld a, POKEGEARSTATE_KANTOMAPINIT
jr .done jr .done
ret ret
.sevii1
ld a, POKEGEARSTATE_SEVII1MAPINIT
jr .done
ret
.sevii2
ld a, POKEGEARSTATE_SEVII2MAPINIT
jr .done
ret
.nihon .nihon
ld a, POKEGEARSTATE_NIHONMAPINIT ld a, POKEGEARSTATE_NIHONMAPINIT
.done .done
@ -581,6 +611,14 @@ PokegearMap_KantoMap:
call TownMap_GetKantoLandmarkLimits call TownMap_GetKantoLandmarkLimits
jr PokegearMap_ContinueMap jr PokegearMap_ContinueMap
PokegearMap_Sevii1Map:
call TownMap_GetSevii1LandmarkLimits
jr PokegearMap_ContinueMap
PokegearMap_Sevii2Map:
call TownMap_GetSevii2LandmarkLimits
jr PokegearMap_ContinueMap
PokegearMap_NihonMap: PokegearMap_NihonMap:
call TownMap_GetNihonLandmarkLimits call TownMap_GetNihonLandmarkLimits
jr PokegearMap_ContinueMap jr PokegearMap_ContinueMap
@ -761,10 +799,24 @@ TownMap_GetKantoLandmarkLimits:
ld e, LANDMARK_PALLET_TOWN ld e, LANDMARK_PALLET_TOWN
ret ret
; BUG: For some reason, backward scrolling on the new regions is infinite!
; You end up having Red call the player's name with 9999s and stuff it's really cool actually
TownMap_GetSevii1LandmarkLimits:
ld a, [wStatusFlags]
ld d, LANDMARK_ONE_ISLAND
ld e, LANDMARK_FIVE_ISLAND ; This will need to be changed as Five Island's stuff is added.
ret
TownMap_GetSevii2LandmarkLimits:
ld a, [wStatusFlags]
ld d, LANDMARK_SIX_ISLAND
ld e, LANDMARK_SEVEN_ISLAND ; Likewise. Veeery likewise.
ret
TownMap_GetNihonLandmarkLimits: TownMap_GetNihonLandmarkLimits:
ld a, [wStatusFlags] ld a, [wStatusFlags]
ld d, LANDMARK_SILENT_HILLS ld d, LANDMARK_SILENT_HILLS
ld e, LANDMARK_WHITE_CITY ; Gonna need another map. ld e, LANDMARK_WHITE_CITY
ret ret
PokegearRadio_Init: PokegearRadio_Init:
@ -1574,7 +1626,7 @@ RadioChannels:
jr z, .johto jr z, .johto
cp LANDMARK_SILVER_CAVE+1 cp LANDMARK_SILVER_CAVE+1
jr c, .johto jr c, .johto
; kanto or nihon ; kanto or nihon (and sevii too i take it)
and a and a
ret ret
@ -1838,6 +1890,10 @@ _TownMap:
ld a, [wTownMapPlayerIconLandmark] ld a, [wTownMapPlayerIconLandmark]
cp NIHON_LANDMARK cp NIHON_LANDMARK
jr nc, .nihon jr nc, .nihon
cp SEVII_LANDMARK_1
jr nc, .sevii1
cp SEVII_LANDMARK_2
jr nc, .sevii2
cp KANTO_LANDMARK cp KANTO_LANDMARK
jr nc, .kanto jr nc, .kanto
ld d, KANTO_LANDMARK - 1 ld d, KANTO_LANDMARK - 1
@ -1849,6 +1905,14 @@ _TownMap:
call TownMap_GetKantoLandmarkLimits call TownMap_GetKantoLandmarkLimits
call .loop call .loop
.sevii1
call TownMap_GetSevii1LandmarkLimits
call .loop
.sevii2
call TownMap_GetSevii2LandmarkLimits
call .loop
.nihon .nihon
call TownMap_GetNihonLandmarkLimits call TownMap_GetNihonLandmarkLimits
call .loop call .loop
@ -1925,19 +1989,29 @@ _TownMap:
.InitTilemap: .InitTilemap:
ld a, [wTownMapPlayerIconLandmark] ld a, [wTownMapPlayerIconLandmark]
cp LANDMARK_FAST_SHIP+1
jr c, .sevii1
cp LANDMARK_FIVE_ISLAND+1
jr c, .sevii2
cp LANDMARK_SEVEN_ISLAND+1
jr c, .nihon
cp LANDMARK_SILVER_CAVE + 1 ; last johto landmark + 1 cp LANDMARK_SILVER_CAVE + 1 ; last johto landmark + 1
jr c, .johto2 jr c, .johto2
cp LANDMARK_FAST_SHIP + 1 ; last kanto landmark + 1 cp LANDMARK_FAST_SHIP + 1 ; last kanto landmark + 1
jr c, .kanto2 jr c, .kanto2
jp .nihon2 jp .nihon2 ; error handler
.johto2 .johto2
ld e, JOHTO_REGION ld e, JOHTO_REGION
jr .okay_tilemap jr .okay_tilemap
.kanto2 .kanto2
ld e, KANTO_REGION ld e, KANTO_REGION
jr .okay_tilemap jr .okay_tilemap
.sevii12
ld e, SEVII_REGION_1
jr .okay_tilemap
.sevii22
ld e, SEVII_REGION_2
jr .okay_tilemap
.nihon2 .nihon2
ld e, NIHON_REGION ld e, NIHON_REGION
.okay_tilemap .okay_tilemap
@ -2063,11 +2137,25 @@ PokegearMap:
.kanto .kanto
cp KANTO_REGION cp KANTO_REGION
jr nz, .nihon jr nz, .sevii1
call LoadTownMapGFX call LoadTownMapGFX
call FillKantoMap call FillKantoMap
ret ret
.sevii1
cp SEVII_REGION_1
jr nz, .sevii2
call LoadTownMapGFX
call FillSevii1Map
ret
.sevii2
cp SEVII_REGION_2
jr nz, .nihon
call LoadTownMapGFX
call FillSevii2Map
ret
.nihon .nihon
call LoadTownMapGFX call LoadTownMapGFX
call FillNihonMap call FillNihonMap
@ -2317,8 +2405,12 @@ FlyMap:
; The first 46 locations are part of Johto. The rest are in Kanto. ; The first 46 locations are part of Johto. The rest are in Kanto.
cp NIHON_LANDMARK cp NIHON_LANDMARK
jr nc, .NihonFlyMap jr nc, .NihonFlyMap
cp SEVII_LANDMARK_1
jr nc, .Sevii1FlyMap
cp SEVII_LANDMARK_2
jp nc, .Sevii2FlyMap
cp KANTO_LANDMARK cp KANTO_LANDMARK
jr nc, .KantoFlyMap jp nc, .KantoFlyMap
; Johto fly map ; Johto fly map
; Note that .NoKanto should be modified in tandem with this branch ; Note that .NoKanto should be modified in tandem with this branch
push af push af
@ -2343,6 +2435,7 @@ FlyMap:
; To prevent both of these things from happening when the player ; To prevent both of these things from happening when the player
; enters Kanto, fly access is restricted until Indigo Plateau is ; enters Kanto, fly access is restricted until Indigo Plateau is
; visited and its flypoint enabled. ; visited and its flypoint enabled.
; the nihon and sevii areas inherit this which is probably quite iffy given winner's path exists but hey
push af push af
ld c, SPAWN_INDIGO ld c, SPAWN_INDIGO
call HasVisitedSpawn call HasVisitedSpawn
@ -2362,14 +2455,6 @@ FlyMap:
ret ret
.NihonFlyMap: .NihonFlyMap:
; The event that there are no flypoints enabled in a map is not
; accounted for. As a result, if you attempt to select a flypoint
; when there are none enabled, the game will crash. Additionally,
; the flypoint selection has a default starting point that
; can be flown to even if none are enabled.
; To prevent both of these things from happening when the player
; enters Kanto, fly access is restricted until Indigo Plateau is
; visited and its flypoint enabled.
push af push af
ld c, SPAWN_SILENT_HILLS ld c, SPAWN_SILENT_HILLS
call HasVisitedSpawn call HasVisitedSpawn
@ -2388,6 +2473,44 @@ FlyMap:
call TownMapPlayerIcon call TownMapPlayerIcon
ret ret
.Sevii1FlyMap:
push af
ld c, SPAWN_ONE_ISLAND
call HasVisitedSpawn
and a
jr z, .NoKanto
; Nihon's map is only loaded if we've visited Silent Hills
ld a, SEVII_FLYPOINT_1 ; first sevii1 flypoint
ld [wStartFlypoint], a
ld a, SEVII_FLYPOINT_2 - 1 ; last sevii1 flypoint
ld [wEndFlypoint], a
ld [wTownMapPlayerIconLandmark], a ; last one is default (Silent Hills)
; Fill out the map
call FillSevii1Map
call .MapHud
pop af
call TownMapPlayerIcon
ret
.Sevii2FlyMap:
push af
ld c, SPAWN_FIVE_ISLAND
call HasVisitedSpawn
and a
jr z, .NoKanto
; Nihon's map is only loaded if we've visited Silent Hills
ld a, SEVII_FLYPOINT_2 ; first sevii1 flypoint
ld [wStartFlypoint], a
ld a, NIHON_FLYPOINT - 1 ; last sevii1 flypoint
ld [wEndFlypoint], a
ld [wTownMapPlayerIconLandmark], a ; last one is default (Silent Hills)
; Fill out the map
call FillSevii2Map
call .MapHud
pop af
call TownMapPlayerIcon
ret
.NoKanto: .NoKanto:
; If Indigo Plateau hasn't been visited, we use Johto's map instead ; If Indigo Plateau hasn't been visited, we use Johto's map instead
ld a, JOHTO_FLYPOINT ; first Johto flypoint ld a, JOHTO_FLYPOINT ; first Johto flypoint
@ -2409,6 +2532,8 @@ FlyMap:
ld [wTownMapCursorCoordinates + 1], a ld [wTownMapCursorCoordinates + 1], a
ret ret
; If you have trouble seeing areas for wildmons it's probably because of this
; it doesn't account for nihon or the sevii isles right now
Pokedex_GetArea: Pokedex_GetArea:
; e: Current landmark ; e: Current landmark
ld a, [wTownMapPlayerIconLandmark] ld a, [wTownMapPlayerIconLandmark]
@ -2644,6 +2769,9 @@ Pokedex_GetArea:
db 0 * 8, 0 * 8, 3 ; bottom right db 0 * 8, 0 * 8, 3 ; bottom right
db $80 ; terminator db $80 ; terminator
; does not account for nihon or the two seviis
; it shouldn't come up given the fast ship isn't being used for anything like this
; if an error comes up you'll need to sort it out
.CheckPlayerLocation: .CheckPlayerLocation:
; Don't show the player's sprite if you're ; Don't show the player's sprite if you're
; not in the same region as what's currently ; not in the same region as what's currently
@ -2723,6 +2851,14 @@ FillKantoMap:
ld de, KantoMap ld de, KantoMap
jr FillTownMap jr FillTownMap
FillSevii1Map:
ld de, Sevii1Map
jr FillTownMap
FillSevii2Map:
ld de, Sevii2Map
jr FillTownMap
FillNihonMap: FillNihonMap:
ld de, NihonMap ld de, NihonMap
FillTownMap: FillTownMap:
@ -2875,6 +3011,12 @@ INCBIN "gfx/pokegear/johto.bin"
KantoMap: KantoMap:
INCBIN "gfx/pokegear/kanto.bin" INCBIN "gfx/pokegear/kanto.bin"
Sevii1Map:
INCBIN "gfx/pokegear/sevii1.bin"
Sevii2Map:
INCBIN "gfx/pokegear/sevii2.bin"
NihonMap: NihonMap:
INCBIN "gfx/pokegear/nihon.bin" INCBIN "gfx/pokegear/nihon.bin"

View file

@ -21,7 +21,11 @@ IsInJohto::
.CheckRegion: .CheckRegion:
cp NIHON_LANDMARK cp NIHON_LANDMARK
jr z, .Nihon jr c, .Nihon
cp SEVII_LANDMARK_1
jr c, .sevii1
cp SEVII_LANDMARK_2
jr c, .sevii2
cp KANTO_LANDMARK cp KANTO_LANDMARK
jr nc, .Kanto jr nc, .Kanto
@ -33,6 +37,14 @@ IsInJohto::
ld a, KANTO_REGION ld a, KANTO_REGION
ret ret
.sevii1:
ld a, SEVII_REGION_1
ret
.sevii2:
ld a, SEVII_REGION_2
ret
.Nihon: .Nihon:
ld a, NIHON_REGION ld a, NIHON_REGION
ret ret

View file

@ -315,9 +315,11 @@ INCLUDE "engine/phone/phone.asm"
INCLUDE "engine/rtc/timeset.asm" INCLUDE "engine/rtc/timeset.asm"
INCLUDE "engine/pokegear/pokegear.asm" INCLUDE "engine/pokegear/pokegear.asm"
INCLUDE "engine/events/fish.asm" INCLUDE "engine/events/fish.asm"
INCLUDE "engine/games/slot_machine.asm"
INCLUDE "data/pokemon/first_stages.asm" INCLUDE "data/pokemon/first_stages.asm"
SECTION "bank24 spillover", ROMX
INCLUDE "engine/games/slot_machine.asm"
SECTION "Phone Scripts 1", ROMX SECTION "Phone Scripts 1", ROMX
INCLUDE "engine/phone/scripts/generic_caller.asm" INCLUDE "engine/phone/scripts/generic_caller.asm"

View file

@ -398,7 +398,7 @@ DebugRoom_MapEvents:
warp_event 27, 5, PEWTER_CITY, 2 warp_event 27, 5, PEWTER_CITY, 2
warp_event 15, 2, GOLDENROD_CITY, 1 ; city warp warp_event 15, 2, GOLDENROD_CITY, 1 ; city warp
warp_event 4, 9, SUMMER_BEACH_HOUSE, 1 ; left lab/league warp warp_event 4, 9, SUMMER_BEACH_HOUSE, 1 ; left lab/league warp
warp_event 5, 9, PALLET_TOWN, 1 ; right lab/league warp warp_event 5, 9, ONE_ISLAND, 1 ; right lab/league warp
warp_event 35, 17, OLD_CITY, 1 ; east warp warp_event 35, 17, OLD_CITY, 1 ; east warp
warp_event 5, 35, LAVENDER_TOWN, 1 ; southwest warp warp_event 5, 35, LAVENDER_TOWN, 1 ; southwest warp
warp_event 19, 34, SAFARI_ZONE_FUCHSIA_GATE_BETA, 3 ; southern warp warp_event 19, 34, SAFARI_ZONE_FUCHSIA_GATE_BETA, 3 ; southern warp

View file

@ -4,6 +4,11 @@ FiveIsland_MapScripts:
def_scene_scripts def_scene_scripts
def_callbacks def_callbacks
callback MAPCALLBACK_NEWMAP, FiveIslandFlypointCallback
FiveIslandFlypointCallback:
setflag ENGINE_FLYPOINT_FIVE_ISLAND
endcallback
FiveIsland_MapEvents: FiveIsland_MapEvents:
db 0, 0 ; filler db 0, 0 ; filler

View file

@ -4,6 +4,11 @@ FourIsland_MapScripts:
def_scene_scripts def_scene_scripts
def_callbacks def_callbacks
callback MAPCALLBACK_NEWMAP, FourIslandFlypointCallback
FourIslandFlypointCallback:
setflag ENGINE_FLYPOINT_FOUR_ISLAND
endcallback
FourIsland_MapEvents: FourIsland_MapEvents:
db 0, 0 ; filler db 0, 0 ; filler

View file

@ -4,16 +4,54 @@ OneIsland_MapScripts:
def_scene_scripts def_scene_scripts
def_callbacks def_callbacks
callback MAPCALLBACK_NEWMAP, OneIslandFlypointCallback
OneIslandFlypointCallback:
setflag ENGINE_FLYPOINT_ONE_ISLAND
endcallback
OneIslandSign1:
jumptext OneIslandSign1Text
OneIslandSign1Text:
text "Comment to be"
line "written."
done
OneIslandSign2:
jumptext OneIslandSign2Text
OneIslandSign2Text:
text "Comment to be"
line "written."
done
OneIslandSailorScript:
jumptextfaceplayer OneIslandSailorText
OneIslandSailorText:
text "Shove off! I'm"
line "workin', 'ere!"
para "Bolt south to"
line "TREASURE BEACH"
cont "or somethin'!"
done
OneIsland_MapEvents: OneIsland_MapEvents:
db 0, 0 ; filler db 0, 0 ; filler
def_warp_events def_warp_events
warp_event 14, 19, DEBUG_ROOM, 1 warp_event 14, 19, DEBUG_ROOM, 1 ; port
warp_event 15, 19, DEBUG_ROOM, 1 warp_event 15, 19, DEBUG_ROOM, 1 ; port
warp_event 17, 6, DEBUG_ROOM, 1 ; pokecenter
warp_event 11, 13, DEBUG_ROOM, 1 ; left house
warp_event 21, 11, DEBUG_ROOM, 1 ; right house
def_coord_events def_coord_events
def_bg_events def_bg_events
def_object_events def_object_events
object_event 19, 23, SPRITE_SAILOR, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OneIslandSailorScript, -1

View file

@ -4,6 +4,11 @@ SevenIsland_MapScripts:
def_scene_scripts def_scene_scripts
def_callbacks def_callbacks
callback MAPCALLBACK_NEWMAP, SevenIslandFlypointCallback
SevenIslandFlypointCallback:
setflag ENGINE_FLYPOINT_SEVEN_ISLAND
endcallback
SevenIsland_MapEvents: SevenIsland_MapEvents:
db 0, 0 ; filler db 0, 0 ; filler

View file

@ -4,6 +4,11 @@ SixIsland_MapScripts:
def_scene_scripts def_scene_scripts
def_callbacks def_callbacks
callback MAPCALLBACK_NEWMAP, SixIslandFlypointCallback
SixIslandFlypointCallback:
setflag ENGINE_FLYPOINT_SIX_ISLAND
endcallback
SixIsland_MapEvents: SixIsland_MapEvents:
db 0, 0 ; filler db 0, 0 ; filler

View file

@ -4,6 +4,11 @@ ThreeIsland_MapScripts:
def_scene_scripts def_scene_scripts
def_callbacks def_callbacks
callback MAPCALLBACK_NEWMAP, ThreeIslandFlypointCallback
ThreeIslandFlypointCallback:
setflag ENGINE_FLYPOINT_THREE_ISLAND
endcallback
ThreeIsland_MapEvents: ThreeIsland_MapEvents:
db 0, 0 ; filler db 0, 0 ; filler

View file

@ -4,6 +4,11 @@ TwoIsland_MapScripts:
def_scene_scripts def_scene_scripts
def_callbacks def_callbacks
callback MAPCALLBACK_NEWMAP, TwoIslandFlypointCallback
TwoIslandFlypointCallback:
setflag ENGINE_FLYPOINT_TWO_ISLAND
endcallback
TwoIsland_MapEvents: TwoIsland_MapEvents:
db 0, 0 ; filler db 0, 0 ; filler