diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm index b0bfc44..5cd615f 100644 --- a/constants/engine_flags.asm +++ b/constants/engine_flags.asm @@ -98,6 +98,13 @@ const ENGINE_FLYPOINT_LAKE_OF_RAGE const ENGINE_FLYPOINT_BLACKTHORN 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_OLD const ENGINE_FLYPOINT_UNUSED diff --git a/constants/landmark_constants.asm b/constants/landmark_constants.asm index 23cca5d..fbecf43 100644 --- a/constants/landmark_constants.asm +++ b/constants/landmark_constants.asm @@ -118,11 +118,13 @@ DEF KANTO_LANDMARK EQU const_value const LANDMARK_TOHJO_FALLS ; 5d const LANDMARK_ROUTE_28 ; 5e 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_THREE_ISLAND const LANDMARK_FOUR_ISLAND const LANDMARK_FIVE_ISLAND +DEF SEVII_LANDMARK_2 EQU const_value const LANDMARK_SIX_ISLAND const LANDMARK_SEVEN_ISLAND DEF NIHON_LANDMARK EQU const_value @@ -148,5 +150,7 @@ DEF NUM_LANDMARKS EQU const_value const_def const JOHTO_REGION ; 0 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 diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm index 3f5fe21..188c16f 100644 --- a/constants/map_data_constants.asm +++ b/constants/map_data_constants.asm @@ -102,6 +102,15 @@ DEF NUM_FISHGROUPS EQU const_value - 1 const SPAWN_BLACKTHORN const SPAWN_MT_SILVER 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 const SPAWN_SILENT_HILLS const SPAWN_OLD_CITY @@ -139,6 +148,15 @@ DEF KANTO_FLYPOINT EQU const_value const FLY_FUCHSIA const FLY_CINNABAR 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 const FLY_SILENT_HILLS const FLY_OLD_CITY diff --git a/data/events/engine_flags.asm b/data/events/engine_flags.asm index 9db96d5..4e3e0a7 100644 --- a/data/events/engine_flags.asm +++ b/data/events/engine_flags.asm @@ -108,6 +108,13 @@ EngineFlags: engine_flag wVisitedSpawns, SPAWN_LAKE_OF_RAGE engine_flag wVisitedSpawns, SPAWN_BLACKTHORN 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_OLD_CITY engine_flag wVisitedSpawns, NUM_SPAWNS ; unused diff --git a/data/maps/flypoints.asm b/data/maps/flypoints.asm index 8c983cd..1400a2c 100644 --- a/data/maps/flypoints.asm +++ b/data/maps/flypoints.asm @@ -27,6 +27,15 @@ Flypoints: db LANDMARK_FUCHSIA_CITY, SPAWN_FUCHSIA db LANDMARK_CINNABAR_ISLAND, SPAWN_CINNABAR 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 db LANDMARK_SILENT_HILLS, SPAWN_SILENT_HILLS db LANDMARK_OLD_CITY, SPAWN_OLD_CITY diff --git a/data/maps/landmarks.asm b/data/maps/landmarks.asm index 8279f39..71f3c69 100644 --- a/data/maps/landmarks.asm +++ b/data/maps/landmarks.asm @@ -122,13 +122,15 @@ Landmarks: landmark 20, 68, Route28Name landmark 140, 116, FastShipName ; Sevii stuff - landmark 0, 0, UnknownName ; One Island - landmark 0, 0, UnknownName ; Two Island - landmark 0, 0, UnknownName ; Three Island - landmark 0, 0, UnknownName ; Four Island - landmark 0, 0, UnknownName ; Five Island - landmark 0, 0, UnknownName ; Six Island - landmark 0, 0, UnknownName ; Seven Island + assert_table_length SEVII_LANDMARK_1 + landmark 28, 52, OneIslandName ; One Island + landmark 60, 44, TwoIslandName ; Two Island + landmark 132, 52, ThreeIslandName ; Three Island + landmark 28, 108, FourIslandName ; Four Island + landmark 116, 100, FiveIslandName ; Five Island + assert_table_length SEVII_LANDMARK_2 + landmark 44, 76, SixIslandName ; Six Island + landmark 116, 76, SevenIslandName ; Seven Island assert_table_length NIHON_LANDMARK landmark 108, 116, WinnersPathName landmark 92, 108, SilentHillsName @@ -246,6 +248,16 @@ TohjoFallsName: db "TOHJO FALLS@" UndergroundName: db "UNDERGROUND@" BattleTowerName: db "BATTLE¯TOWER@" 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@" SilentHillsName: db "SILENT¯HILLS@" UnknownName: db "?????@" diff --git a/data/maps/spawn_points.asm b/data/maps/spawn_points.asm index 907f71d..a52bea3 100644 --- a/data/maps/spawn_points.asm +++ b/data/maps/spawn_points.asm @@ -39,6 +39,14 @@ SpawnPoints: spawn SILVER_CAVE_OUTSIDE, 23, 20 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 OLD_CITY, 27, 29 diff --git a/data/pokemon/evolution_moves.asm b/data/pokemon/evolution_moves.asm new file mode 100644 index 0000000..a5ad4b0 --- /dev/null +++ b/data/pokemon/evolution_moves.asm @@ -0,0 +1,400 @@ +EvolutionMoves:: + dw NO_MOVE ;BULBASAUR ; 01 + dw NO_MOVE ;IVYSAUR ; 02 + dw NO_MOVE ;VENUSAUR ; 03 + dw NO_MOVE ;CHARMANDER ; 04 + dw NO_MOVE ;CHARMELEON ; 05 + dw NO_MOVE ;CHARIZARD ; 06 + dw NO_MOVE ;CHARMADA + dw NO_MOVE ;SQUIRTLE ; 07 + dw NO_MOVE ;WARTORTLE ; 08 + dw NO_MOVE ;TOTARTLE ; 09 + dw NO_MOVE ;CATERPIE ; 0a + dw NO_MOVE ;METAPOD ; 0b + dw NO_MOVE ;BUTTERFREE ; 0c + dw NO_MOVE ;WEEDLE ; 0d + dw NO_MOVE ;KAKUNA ; 0e + dw NO_MOVE ;BEEDRILL ; 0f + dw NO_MOVE ;GENTLARVA + dw NO_MOVE ;PUPAL + dw NO_MOVE ;CARAPTHOR + dw NO_MOVE ;KOTORA + dw NO_MOVE ;GAOTORA + dw NO_MOVE ;GOROTORA + dw NO_MOVE ;RAITORA + dw NO_MOVE ;PIDGEY ; 10 + dw NO_MOVE ;PIDGEOTTO ; 11 + dw NO_MOVE ;PIDGEOT ; 12 + dw NO_MOVE ;RATTATA ; 13 + dw NO_MOVE ;RATICATE ; 14 + dw NO_MOVE ;SPEAROW ; 15 + dw NO_MOVE ;FEAROW ; 16 + dw NO_MOVE ;EKANS ; 17 + dw NO_MOVE ;ARBOK ; 18 + dw NO_MOVE ;PIKACHU ; 19 + dw NO_MOVE ;RAICHU ; 1a + dw NO_MOVE ;GOROCHU + dw NO_MOVE ;SANDSHREW ; 1b + dw NO_MOVE ;SANDSLASH ; 1c + dw NO_MOVE ;NIDORAN_F ; 1d + dw NO_MOVE ;NIDORINA ; 1e + dw NO_MOVE ;NIDOQUEEN ; 1f + dw NO_MOVE ;NIDORAN_M ; 20 + dw NO_MOVE ;NIDORINO ; 21 + dw NO_MOVE ;NIDOKING ; 22 + dw NO_MOVE ;NIDOREIGN + dw NO_MOVE ;CLEFAIRY ; 23 + dw NO_MOVE ;CLEFABLE ; 24 + dw NO_MOVE ;VULPIII + dw NO_MOVE ;VULPIX ; 25 + dw NO_MOVE ;NINETALES ; 26 + dw NO_MOVE ;JIGGLYPUFF ; 27 + dw NO_MOVE ;WIGGLYTUFF ; 28 + dw NO_MOVE ;BITTYBAT + dw NO_MOVE ;ZUBAT ; 29 + dw NO_MOVE ;GOLBAT ; 2a + dw NO_MOVE ;ODDISH ; 2b + dw NO_MOVE ;GLOOM ; 2c + dw NO_MOVE ;VILEPLUME ; 2d + dw NO_MOVE ;PARASPOR + dw NO_MOVE ;PARAS ; 2e + dw NO_MOVE ;PARASECT ; 2f + dw NO_MOVE ;VENONAT ; 30 + dw NO_MOVE ;VENOMOTH ; 31 + dw NO_MOVE ;DIGLETT ; 32 + dw NO_MOVE ;DUGTRIO ; 33 + dw NO_MOVE ;COINPUR + dw NO_MOVE ;MEOWTH ; 34 + dw NO_MOVE ;PERSIAN ; 35 + dw NO_MOVE ;PERRSERKER + dw NO_MOVE ;PSYDUCK ; 36 + dw NO_MOVE ;WEIRDUCK + dw NO_MOVE ;GOLDUCK ; 37 + dw NO_MOVE ;MANKEY ; 38 + dw NO_MOVE ;PRIMEAPE ; 39 + dw NO_MOVE ;ANNIHILAPE + dw NO_MOVE ;PUPPERON + dw NO_MOVE ;GROWLITHE ; 3a + dw NO_MOVE ;ARCANINE ; 3b + dw NO_MOVE ;POLIWAG ; 3c + dw NO_MOVE ;POLIWHIRL ; 3d + dw NO_MOVE ;POLIWRATH ; 3e + dw NO_MOVE ;ABRA ; 3f + dw NO_MOVE ;KADABRA ; 40 + dw NO_MOVE ;ALAKAZAM ; 41 + dw NO_MOVE ;MACHOP ; 42 + dw NO_MOVE ;MACHOKE ; 43 + dw NO_MOVE ;MACHAMP ; 44 + dw NO_MOVE ;BELLSPROUT ; 45 + dw NO_MOVE ;WEEPINBELL ; 46 + dw NO_MOVE ;VICTREEBEL ; 47 + dw NO_MOVE ;BELLIGNAN + dw NO_MOVE ;TENTACOOL ; 48 + dw NO_MOVE ;TENTACRUEL ; 49 + dw NO_MOVE ;TOEDSCOOL + dw NO_MOVE ;TOEDSCRUEL + dw NO_MOVE ;BLOTTLE + dw NO_MOVE ;PENDRAKEN + dw NO_MOVE ;GEODUDE ; 4a + dw NO_MOVE ;GRAVELER ; 4b + dw NO_MOVE ;GOLEM ; 4c + dw NO_MOVE ;KOLTA + dw NO_MOVE ;PONYTA ; 4d + dw NO_MOVE ;RAPIDASH ; 4e + dw NO_MOVE ;BALUMBA + dw NO_MOVE ;SLOWPOKE ; 4f + dw NO_MOVE ;SLOWBRO ; 50 + dw NO_MOVE ;MAGNEMITE ; 51 + dw NO_MOVE ;MAGNETITE + dw NO_MOVE ;MAGNETON ; 52 + dw NO_MOVE ;MAGNEZONE + dw NO_MOVE ;GAVILLAIN + dw NO_MOVE ;CHEEP + dw NO_MOVE ;JABETTA + dw NO_MOVE ;RIBBITO + dw NO_MOVE ;CROAKOZUNA + dw NO_MOVE ;FARFETCH_D ; 53 + dw NO_MOVE ;LUXWAN + dw NO_MOVE ;DODUO ; 54 + dw NO_MOVE ;DODRIO ; 55 + dw NO_MOVE ;SEEL ; 56 + dw NO_MOVE ;DEWGONG ; 57 + dw NO_MOVE ;SMUJJ + dw NO_MOVE ;GRIMER ; 58 + dw NO_MOVE ;MUK ; 59 + dw NO_MOVE ;SHELLDER ; 5a + dw NO_MOVE ;CLOYSTER ; 5b + dw NO_MOVE ;DISTURBAN + dw NO_MOVE ;GASTLY ; 5c + dw NO_MOVE ;HAUNTER ; 5d + dw NO_MOVE ;GENGAR ; 5e + dw NO_MOVE ;ONIX ; 5f + dw NO_MOVE ;DROWZEE ; 60 + dw NO_MOVE ;HYPNO ; 61 + dw NO_MOVE ;KRABBY ; 62 + dw NO_MOVE ;KINGLER ; 63 + dw NO_MOVE ;VOLTORB ; 64 + dw NO_MOVE ;ELECTRODE ; 65 + dw NO_MOVE ;EXEGGCUTE ; 66 + dw NO_MOVE ;EXEGGUTOR ; 67 + dw NO_MOVE ;CUBONE ; 68 + dw NO_MOVE ;MAROWAK ; 69 + dw NO_MOVE ;GUARDIA + dw NO_MOVE ;HITMONLEE ; 6a + dw NO_MOVE ;HITMONCHAN ; 6b + dw NO_MOVE ;LICKITUNG ; 6c + dw NO_MOVE ;LICKILICKY + dw NO_MOVE ;LICKILORD + dw NO_MOVE ;KOFFING ; 6d + dw NO_MOVE ;WEEZING ; 6e + dw NO_MOVE ;RHYHORN ; 6f + dw NO_MOVE ;RHYDON ; 70 + dw NO_MOVE ;HAPPINY + dw NO_MOVE ;CHANSEY ; 71 + dw NO_MOVE ;BURGELA + dw NO_MOVE ;TANGELA ; 72 + dw NO_MOVE ;TANGROWTH + dw NO_MOVE ;JUNGELA + dw NO_MOVE ;KANGASKHAN ; 73 + dw NO_MOVE ;HORSEA ; 74 + dw NO_MOVE ;SEADRA ; 75 + dw NO_MOVE ;BLASTYKE + dw NO_MOVE ;BLASTOISE + dw NO_MOVE ;ORFRY + dw NO_MOVE ;GOLDEEN ; 76 + dw NO_MOVE ;SEAKING ; 77 + dw NO_MOVE ;STARYU ; 78 + dw NO_MOVE ;STARMIE ; 79 + dw NO_MOVE ;MIME_JR_ + dw NO_MOVE ;MR__MIME ; 7a + dw NO_MOVE ;SCYTHER ; 7b + dw NO_MOVE ;KLEAVOR + dw NO_MOVE ;JYNX ; 7c + dw NO_MOVE ;BUU + dw NO_MOVE ;ELECTABUZZ ; 7d + dw NO_MOVE ;ELECTIVIRE + dw NO_MOVE ;MAGMAR ; 7e + dw NO_MOVE ;MAGMORTAR + dw NO_MOVE ;PINSIR ; 7f + dw NO_MOVE ;TRICULES + dw NO_MOVE ;TAUROS ; 80 + dw NO_MOVE ;MAGIKARP ; 81 + dw NO_MOVE ;GYARADOS ; 82 + dw NO_MOVE ;MAGIPREY + dw NO_MOVE ;TERRADOS + dw NO_MOVE ;LAPRAS ; 83 + dw NO_MOVE ;DITTO ; 84 + dw NO_MOVE ;MIMMEO + dw NO_MOVE ;EEVEE ; 85 + dw NO_MOVE ;VAPOREON ; 86 + dw NO_MOVE ;JOLTEON ; 87 + dw NO_MOVE ;FLAREON ; 88 + dw NO_MOVE ;PORYGON ; 89 + dw NO_MOVE ;OMANYTE ; 8a + dw NO_MOVE ;OMASTAR ; 8b + dw NO_MOVE ;KABUTO ; 8c + dw NO_MOVE ;KABUTOPS ; 8d + dw NO_MOVE ;FERADACTYL + dw NO_MOVE ;AERODACTYL ; 8e + dw NO_MOVE ;DECILLA + dw NO_MOVE ;GAWARHED + dw NO_MOVE ;MUNCHLAX + dw NO_MOVE ;SNORLAX ; 8f + dw NO_MOVE ;ARTICUNO ; 90 + dw NO_MOVE ;ZAPDOS ; 91 + dw NO_MOVE ;MOLTRES ; 92 + dw NO_MOVE ;SQUEAMATA + dw NO_MOVE ;MINISTARE + dw NO_MOVE ;IGUANARCH + dw NO_MOVE ;DRATINI ; 93 + dw NO_MOVE ;DRAGONAIR ; 94 + dw NO_MOVE ;DRAGONITE ; 95 + dw NO_MOVE ;MEWTWO ; 96 + dw NO_MOVE ;MEW ; 97 + dw NO_MOVE ;CHIKORITA ; 98 + dw NO_MOVE ;BAYLEEF ; 99 + dw NO_MOVE ;MEGANIUM ; 9a + dw NO_MOVE ;CYNDAQUIL ; 9b + dw NO_MOVE ;QUILAVA ; 9c + dw NO_MOVE ;TYPHLOSION ; 9d + dw NO_MOVE ;TOTODILE ; 9e + dw NO_MOVE ;CROCONAW ; 9f + dw NO_MOVE ;FERALIGATR ; a0 + dw NO_MOVE ;CUBBURN + dw NO_MOVE ;FLAMBEAR + dw NO_MOVE ;BRUINOUS + dw NO_MOVE ;PALSSIO + dw NO_MOVE ;PRESSIO + dw NO_MOVE ;DONMARIN + dw NO_MOVE ;SENTRET ; a1 + dw NO_MOVE ;FURRET ; a2 + dw NO_MOVE ;HOOTHOOT ; a3 + dw NO_MOVE ;NOCTOWL ; a4 + dw NO_MOVE ;LEDYBA ; a5 + dw NO_MOVE ;LEDIAN ; a6 + dw NO_MOVE ;SPINARAK ; a7 + dw NO_MOVE ;ARIADOS ; a8 + dw NO_MOVE ;FOLAGE + dw CONFUSION ;BARREAU + dw MOONLIGHT ;CROBAT ; a9 + dw NO_MOVE ;CHINCHOU ; aa + dw NO_MOVE ;LANTURN ; ab + dw NO_MOVE ;REROAD + dw NO_MOVE ;PICHU ; ac + dw NO_MOVE ;CLEFFA ; ad + dw NO_MOVE ;IGGLYBUFF ; ae + dw NO_MOVE ;TOGEPI ; af + dw NO_MOVE ;TOGETIC ; b0 + dw NO_MOVE ;TOGEKISS + dw NO_MOVE ;NATU ; b1 + dw NO_MOVE ;QATU + dw NO_MOVE ;XATU ; b2 + dw NO_MOVE ;MOIBELLE + dw NO_MOVE ;BELLEDAM + dw NO_MOVE ;MAREEP ; b3 + dw NO_MOVE ;FLAAFFY ; b4 + dw NO_MOVE ;AMPHAROS ; b5 + dw NO_MOVE ;BELLOSSOM ; b6 + dw NO_MOVE ;AZURILL + dw NO_MOVE ;MARILL ; b7 + dw NO_MOVE ;AZUMARILL ; b8 + dw NO_MOVE ;BONSLY + dw NO_MOVE ;SUDOWOODO ; b9 + dw NO_MOVE ;POLITOED ; ba + dw NO_MOVE ;HOPPIP ; bb + dw NO_MOVE ;SKIPLOOM ; bc + dw NO_MOVE ;JUMPLUFF ; bd + dw NO_MOVE ;AIPOM ; be + dw NO_MOVE ;AMBIPOM + dw NO_MOVE ;SUNKERN ; bf + dw NO_MOVE ;SUNBUD + dw NO_MOVE ;SUNFLORA ; c0 + dw NO_MOVE ;HIPPUNK + dw NO_MOVE ;AERCROW + dw NO_MOVE ;FOXFIRE + dw NO_MOVE ;YANMA ; c1 + dw NO_MOVE ;YANMEGA + dw NO_MOVE ;PENDING03 + dw NO_MOVE ;WOOPER ; c2 + dw NO_MOVE ;QUAGSIRE ; c3 + dw NO_MOVE ;ESPEON ; c4 + dw NO_MOVE ;UMBREON ; c5 + dw NO_MOVE ;LEAFEON + dw NO_MOVE ;GLACEON + dw NO_MOVE ;SYLVEON + dw NO_MOVE ;MURKROW ; c6 + dw NO_MOVE ;HONCHKROW + dw NO_MOVE ;SLOWKING ; c7 + dw NO_MOVE ;MISDREAVUS ; c8 + dw NO_MOVE ;MISMAGIUS + dw NO_MOVE ;STROMEN + dw NO_MOVE ;PHANDARIN + dw NO_MOVE ;UNOWN ; c9 + dw NO_MOVE ;WYNAUT + dw NO_MOVE ;WOBBUFFET ; ca + dw NO_MOVE ;BIPULLA + dw NO_MOVE ;GIRAFARIG ; cb + dw NO_MOVE ;FARIGIRAF + dw NO_MOVE ;EMORDROME + dw NO_MOVE ;PINECO ; cc + dw NO_MOVE ;FORRETRESS ; cd + dw NO_MOVE ;DUNSPARCE ; ce + dw NO_MOVE ;DUDUNSPARCE + dw NO_MOVE ;GLIGAR ; cf + dw NO_MOVE ;STEELIX ; d0 + dw NO_MOVE ;SNUBBULL ; d1 + dw NO_MOVE ;GRANBULL ; d2 + dw NO_MOVE ;CARETORKER + dw NO_MOVE ;QWILFISH ; d3 + dw NO_MOVE ;KAZAPPELIN + dw NO_MOVE ;QWILFATHER + dw NO_MOVE ;SCIZOR ; d4 + dw NO_MOVE ;SHUCKLE ; d5 + dw NO_MOVE ;POCKLE + dw NO_MOVE ;HERACROSS ; d6 + dw NO_MOVE ;SNEASEL ; d7 + dw NO_MOVE ;TEDDIURSA ; d8 + dw NO_MOVE ;URSARING ; d9 + dw NO_MOVE ;URSALUNA + dw NO_MOVE ;SLUGMA ; da + dw NO_MOVE ;MAGCARGO ; db + dw NO_MOVE ;SWINUB ; dc + dw NO_MOVE ;PILOSWINE ; dd + dw NO_MOVE ;MAMOSWINE + dw NO_MOVE ;HIRSUSWINE + dw NO_MOVE ;CORSOLA ; de + dw NO_MOVE ;REMORAID ; df + dw NO_MOVE ;OCTILLERY ; e0 + dw NO_MOVE ;STRICHEEL + dw NO_MOVE ;LURREEL + dw NO_MOVE ;DELIBIRD ; e1 + dw NO_MOVE ;MANTYKE + dw NO_MOVE ;MANTINE ; e2 + dw NO_MOVE ;SKARMORY ; e3 + dw NO_MOVE ;HOUNDOUR ; e4 + dw NO_MOVE ;HOUNDOOM ; e5 + dw NO_MOVE ;KINGDRA ; e6 + dw NO_MOVE ;PHANPY ; e7 + dw NO_MOVE ;DONPHAN ; e8 + dw NO_MOVE ;PORYGON2 ; e9 + dw NO_MOVE ;PORYGON_Z + dw NO_MOVE ;STANTLER ; ea + dw NO_MOVE ;WYRDEER + dw NO_MOVE ;SMEARGLE ; eb + dw NO_MOVE ;GRENMAR + dw NO_MOVE ;TYROGUE ; ec + dw NO_MOVE ;HITMONTOP ; ed + dw NO_MOVE ;SMOOCHUM ; ee + dw NO_MOVE ;ELEBEBI + dw NO_MOVE ;ELEKID ; ef + dw NO_MOVE ;MAGBY ; f0 + dw NO_MOVE ;MILTANK ; f1 + dw NO_MOVE ;BLISSEY ; f2 + dw NO_MOVE ;WARUCHU + dw NO_MOVE ;SONEGG + dw NO_MOVE ;CACAWPHONY + dw NO_MOVE ;TREBIR + dw NO_MOVE ;SAKURAZE + dw NO_MOVE ;AMANOBI + dw NO_MOVE ;TRUSTAN + dw NO_MOVE ;KUWAGUARD + dw NO_MOVE ;TONQUITO + dw NO_MOVE ;MOLAMBINO + dw NO_MOVE ;LUANBO + dw NO_MOVE ;GRANBO + dw NO_MOVE ;ANGORE + dw NO_MOVE ;EUCALA + dw NO_MOVE ;KIWOOKED + dw NO_MOVE ;CYCLORP + dw NO_MOVE ;KITSEN + dw NO_MOVE ;WISPIRIT + dw NO_MOVE ;COATL + dw NO_MOVE ;MIMEAR + dw NO_MOVE ;INOSHIKA + dw NO_MOVE ;RUDDERNAUT + dw NO_MOVE ;XYLODON + dw NO_MOVE ;XYLOFIN + dw NO_MOVE ;DOKUROAR + dw NO_MOVE ;SCREAM_TAIL + dw NO_MOVE ;SANDY_SHOCKS + dw NO_MOVE ;GREAT_TUSK + dw NO_MOVE ;FLUTTER_MANE + dw NO_MOVE ;IRON_TREADS + dw NO_MOVE ;IRON_BUNDLE + dw NO_MOVE ;IRON_THORNS + dw NO_MOVE ;RAGING_BOLT + dw NO_MOVE ;GOUGING_FIRE + dw NO_MOVE ;WALKING_WAKE + dw NO_MOVE ;RAIKOU ; f3 + dw NO_MOVE ;ENTEI ; f4 + dw NO_MOVE ;SUICUNE ; f5 + dw NO_MOVE ;LARVITAR ; f6 + dw NO_MOVE ;PUPITAR ; f7 + dw NO_MOVE ;TYRANITAR ; f8 + dw NO_MOVE ;LUGIA ; f9 + dw NO_MOVE ;HO_OH ; fa + dw NO_MOVE ;SHI_SHI + dw NO_MOVE ;CELEBI ; fb + +;--- +_NUM_EVO_MOVES = (@ - EvolutionMoves) / 2 diff --git a/data/pokemon/evos_attacks.asm b/data/pokemon/evos_attacks.asm index 8e8898c..579bace 100644 --- a/data/pokemon/evos_attacks.asm +++ b/data/pokemon/evos_attacks.asm @@ -20,5 +20,6 @@ EvosAttacksPointers:: indirect_entries NUM_POKEMON, EvosAttacksPointers2 indirect_table_end +INCLUDE "data/pokemon/evolution_moves.asm" INCLUDE "data/pokemon/evos_attacks_kanto.asm" INCLUDE "data/pokemon/evos_attacks_johto.asm" diff --git a/data/pokemon/ezchat_order.asm b/data/pokemon/ezchat_order.asm index cb9a60d..ce66cde 100644 --- a/data/pokemon/ezchat_order.asm +++ b/data/pokemon/ezchat_order.asm @@ -2,94 +2,4 @@ ; Notably, Rhydon is missing (it should be before Rhyhorn). EZChat_SortedPokemon: - dw .a - 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 + ret ; removed for space among other things diff --git a/data/pokemon/gen1_order.asm b/data/pokemon/gen1_order.asm index 1e25683..a68107c 100644 --- a/data/pokemon/gen1_order.asm +++ b/data/pokemon/gen1_order.asm @@ -1,399 +1,4 @@ Pokered_MonIndices: - table_width 1, Pokered_MonIndices - db RHYDON - db KANGASKHAN - 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 + ret ; this has been removed as it's unnecessary and makes debugging extremely difficult - we're removing the compatibility with KEP anyway + + ; if you want to make a new list, then go ahead, just make sure to let us know and all that diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index 049f090..512e277 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -485,7 +485,7 @@ PKMNTrainerGroup: dw PIDGEOT dw DOUBLE_EDGE, WING_ATTACK, MIRROR_MOVE, PURSUIT db 60 - db PILOSWINE ; MAMOSWINE + dw PILOSWINE ; MAMOSWINE dw EARTHQUAKE, BODY_SLAM, ROAR, ANCIENTPOWER db 60 dw SLOWKING diff --git a/data/wild/sevii_grass.asm b/data/wild/sevii_grass.asm new file mode 100644 index 0000000..9719dca --- /dev/null +++ b/data/wild/sevii_grass.asm @@ -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 diff --git a/data/wild/sevii_water.asm b/data/wild/sevii_water.asm new file mode 100644 index 0000000..f4b6a9f --- /dev/null +++ b/data/wild/sevii_water.asm @@ -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 diff --git a/engine/events/specials.asm b/engine/events/specials.asm index 81ee165..10cf094 100644 --- a/engine/events/specials.asm +++ b/engine/events/specials.asm @@ -31,35 +31,43 @@ TeachPikachuSurf: pop hl ld b, a ld de, PARTYMON_STRUCT_LENGTH - call DebugGiveMonSpecialMove.CheckForNthPokemon +.CheckForNthPokemon: +; start at the end of the party and search backwards for the last Pokemon in the party. + ld a, [hl] + cp b + jr z, .GiveMove + ld a, l + sub e + ld l, a + ld a, h + sbc d + ld h, a + dec c + jr nz, .CheckForNthPokemon + ret .GiveMove - ; BUG: Doesn't seem to find Surf properly. - ; The move DOES reach Pikachu's moveset!!!!!! However, what it learns just isn't correct. - ; Similar issue to when I tried to add evo moves ~ PvK - ld a, SURF + ; Teach Pikachu Surf + ld hl, SURF call GetMoveIDFromIndex + ld [wNamedObjectIndex], a ld [wPutativeTMHMMove], a + call GetMoveName + call CopyName1 - ; Find Pikachu again + ; Find Pikachu again to slap em in wCurPartyMon. ld bc, wPartyCount ld a, [bc] ld hl, MON_SPECIES call DebugGiveMonSpecialMove.GetNthPartyMon ld [wCurPartyMon], a - ; BUG: Doesn't load the tiles correctly because I'm stupid - ; Is it just in the wrong place? lmao - ld hl, .MenuHeader - call LoadMenuHeader - - ; Learn the move + ; Learn the move. predef LearnMove + ; BUG: Doesn't load the tiles for forgetting moves correctly because I'm stupid + ; 99.9% sure it's a bankswitch issue - ForgetMove is in a different script. + ; Needs more research. ret -.MenuHeader: - db MENU_BACKUP_TILES ; flags - menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 - ; Currently only works for Pikachu but could possibly be reworked for other things in the future. 90% sure there's a better way to do this. ; TODO: Check the DVs to see if it's strong enough. I'm feeling Shiny DV total or above. CheckPikachu: @@ -79,10 +87,10 @@ CheckPikachu: endc endc jr nz, .notMon - ld a, 1 + ld a, 1 ; return 1 if Pikachu jr .done .notMon - xor a ; return 0 if not it + xor a ; return 0 if not Pikachu ld [wScriptVar], a .done ret diff --git a/engine/overworld/landmarks.asm b/engine/overworld/landmarks.asm index 1b9ccfd..42e914d 100644 --- a/engine/overworld/landmarks.asm +++ b/engine/overworld/landmarks.asm @@ -68,7 +68,7 @@ RegionCheck: .checkagain cp NIHON_LANDMARK - jr z, .nihon + jr nc, .nihon cp KANTO_LANDMARK jr c, .johto diff --git a/engine/overworld/wildmons.asm b/engine/overworld/wildmons.asm index f2098cf..16840fb 100644 --- a/engine/overworld/wildmons.asm +++ b/engine/overworld/wildmons.asm @@ -38,8 +38,12 @@ FindNest: ld b, h ld c, l ld a, e - cp 2 + cp NIHON_REGION 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 jr nz, .kanto decoord 0, 0 @@ -58,6 +62,13 @@ FindNest: ld hl, KantoWaterWildMons jp .FindWater +.sevii + decoord 0, 0 + ld hl, SeviiGrassWildMons + call .FindGrass + ld hl, SeviiWaterWildMons + jp .FindWater + .nihon decoord 0, 0 ld hl, NihonGrassWildMons @@ -439,7 +450,7 @@ _GrassWildmonLookup: ld hl, JohtoGrassWildMons ; 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 ; Basically, conditionally load Nihon or Kanto into de, depending on region check. ; IsInJohto returns 1 if Kanto, 2 if Nihon. @@ -463,9 +474,16 @@ _GrassWildmonLookup: ld c, a call GetWorldMapLocation 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 -.skip2 +.johto call _JohtoWildmonCheck ; So run this check. More commentary there. ld bc, GRASS_WILDDATA_LENGTH @@ -486,9 +504,17 @@ _WaterWildmonLookup: ld c, a call GetWorldMapLocation 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 -.skip2 +.johto call _JohtoWildmonCheck ld bc, WATER_WILDDATA_LENGTH @@ -1074,6 +1100,8 @@ INCLUDE "data/wild/johto_grass.asm" INCLUDE "data/wild/johto_water.asm" INCLUDE "data/wild/kanto_grass.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_water.asm" INCLUDE "data/wild/swarm_grass.asm" diff --git a/engine/pokegear/pokegear.asm b/engine/pokegear/pokegear.asm index c9de376..2065ea0 100644 --- a/engine/pokegear/pokegear.asm +++ b/engine/pokegear/pokegear.asm @@ -19,12 +19,16 @@ DEF PHONE_DISPLAY_HEIGHT EQU 4 const POKEGEARSTATE_KANTOMAPJOYPAD ; 6 const POKEGEARSTATE_NIHONMAPINIT ; 5 const POKEGEARSTATE_NIHONMAPJOYPAD ; 6 - const POKEGEARSTATE_PHONEINIT ; 7 - const POKEGEARSTATE_PHONEJOYPAD ; 8 - const POKEGEARSTATE_MAKEPHONECALL ; 9 - const POKEGEARSTATE_FINISHPHONECALL ; a - const POKEGEARSTATE_RADIOINIT ; b - const POKEGEARSTATE_RADIOJOYPAD ; c + const POKEGEARSTATE_SEVII1MAPINIT ; 7 + const POKEGEARSTATE_SEVII1MAPJOYPAD ; 8 + const POKEGEARSTATE_SEVII2MAPINIT ; 9 + const POKEGEARSTATE_SEVII2MAPJOYPAD ; 0A + const POKEGEARSTATE_PHONEINIT ; 0B + const POKEGEARSTATE_PHONEJOYPAD ; 0C + const POKEGEARSTATE_MAKEPHONECALL ; 0D + const POKEGEARSTATE_FINISHPHONECALL ; 0E + const POKEGEARSTATE_RADIOINIT ; 0F + const POKEGEARSTATE_RADIOJOYPAD ; 10 PokeGear: ld hl, wOptions @@ -330,6 +334,10 @@ InitPokegearTilemap: jr z, .johto cp NIHON_LANDMARK jr nc, .nihon + cp SEVII_LANDMARK_1 + jr nc, .sevii1 + cp SEVII_LANDMARK_2 + jr nc, .sevii2 cp KANTO_LANDMARK jr nc, .kanto .johto @@ -339,9 +347,14 @@ InitPokegearTilemap: .kanto ld e, 1 jr .ok - -.nihon +.sevii1 ld e, 2 + jr .ok +.sevii2 + ld e, 3 + jr .ok +.nihon + ld e, 4 .ok farcall PokegearMap ld a, $07 @@ -452,6 +465,10 @@ PokegearJumptable: dw PokegearMap_Init dw PokegearMap_KantoMap dw PokegearMap_Init + dw PokegearMap_Sevii1Map + dw PokegearMap_Init + dw PokegearMap_Sevii2Map + dw PokegearMap_Init dw PokegearMap_NihonMap dw PokegearPhone_Init dw PokegearPhone_Joypad @@ -540,12 +557,18 @@ Pokegear_UpdateClock: PokegearMap_CheckRegion: 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 jr c, .johto cp LANDMARK_FAST_SHIP+1 jr c, .kanto - ;cp NIHON_LANDMARK - jp .nihon + jp .nihon ; if all else fails .johto ld a, POKEGEARSTATE_JOHTOMAPINIT jr .done @@ -555,7 +578,14 @@ PokegearMap_CheckRegion: ld a, POKEGEARSTATE_KANTOMAPINIT jr .done ret - +.sevii1 + ld a, POKEGEARSTATE_SEVII1MAPINIT + jr .done + ret +.sevii2 + ld a, POKEGEARSTATE_SEVII2MAPINIT + jr .done + ret .nihon ld a, POKEGEARSTATE_NIHONMAPINIT .done @@ -581,6 +611,14 @@ PokegearMap_KantoMap: call TownMap_GetKantoLandmarkLimits jr PokegearMap_ContinueMap +PokegearMap_Sevii1Map: + call TownMap_GetSevii1LandmarkLimits + jr PokegearMap_ContinueMap + +PokegearMap_Sevii2Map: + call TownMap_GetSevii2LandmarkLimits + jr PokegearMap_ContinueMap + PokegearMap_NihonMap: call TownMap_GetNihonLandmarkLimits jr PokegearMap_ContinueMap @@ -761,10 +799,24 @@ TownMap_GetKantoLandmarkLimits: ld e, LANDMARK_PALLET_TOWN 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: ld a, [wStatusFlags] ld d, LANDMARK_SILENT_HILLS - ld e, LANDMARK_WHITE_CITY ; Gonna need another map. + ld e, LANDMARK_WHITE_CITY ret PokegearRadio_Init: @@ -1574,7 +1626,7 @@ RadioChannels: jr z, .johto cp LANDMARK_SILVER_CAVE+1 jr c, .johto -; kanto or nihon +; kanto or nihon (and sevii too i take it) and a ret @@ -1838,6 +1890,10 @@ _TownMap: ld a, [wTownMapPlayerIconLandmark] cp NIHON_LANDMARK jr nc, .nihon + cp SEVII_LANDMARK_1 + jr nc, .sevii1 + cp SEVII_LANDMARK_2 + jr nc, .sevii2 cp KANTO_LANDMARK jr nc, .kanto ld d, KANTO_LANDMARK - 1 @@ -1849,6 +1905,14 @@ _TownMap: call TownMap_GetKantoLandmarkLimits call .loop +.sevii1 + call TownMap_GetSevii1LandmarkLimits + call .loop + +.sevii2 + call TownMap_GetSevii2LandmarkLimits + call .loop + .nihon call TownMap_GetNihonLandmarkLimits call .loop @@ -1925,19 +1989,29 @@ _TownMap: .InitTilemap: 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 jr c, .johto2 cp LANDMARK_FAST_SHIP + 1 ; last kanto landmark + 1 jr c, .kanto2 - jp .nihon2 - + jp .nihon2 ; error handler .johto2 ld e, JOHTO_REGION jr .okay_tilemap - .kanto2 ld e, KANTO_REGION jr .okay_tilemap +.sevii12 + ld e, SEVII_REGION_1 + jr .okay_tilemap +.sevii22 + ld e, SEVII_REGION_2 + jr .okay_tilemap .nihon2 ld e, NIHON_REGION .okay_tilemap @@ -2063,11 +2137,25 @@ PokegearMap: .kanto cp KANTO_REGION - jr nz, .nihon + jr nz, .sevii1 call LoadTownMapGFX call FillKantoMap 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 call LoadTownMapGFX call FillNihonMap @@ -2317,8 +2405,12 @@ FlyMap: ; The first 46 locations are part of Johto. The rest are in Kanto. cp NIHON_LANDMARK jr nc, .NihonFlyMap + cp SEVII_LANDMARK_1 + jr nc, .Sevii1FlyMap + cp SEVII_LANDMARK_2 + jp nc, .Sevii2FlyMap cp KANTO_LANDMARK - jr nc, .KantoFlyMap + jp nc, .KantoFlyMap ; Johto fly map ; Note that .NoKanto should be modified in tandem with this branch push af @@ -2343,6 +2435,7 @@ FlyMap: ; 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. +; the nihon and sevii areas inherit this which is probably quite iffy given winner's path exists but hey push af ld c, SPAWN_INDIGO call HasVisitedSpawn @@ -2362,14 +2455,6 @@ FlyMap: ret .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 ld c, SPAWN_SILENT_HILLS call HasVisitedSpawn @@ -2388,6 +2473,44 @@ FlyMap: call TownMapPlayerIcon 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: ; If Indigo Plateau hasn't been visited, we use Johto's map instead ld a, JOHTO_FLYPOINT ; first Johto flypoint @@ -2409,6 +2532,8 @@ FlyMap: ld [wTownMapCursorCoordinates + 1], a 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: ; e: Current landmark ld a, [wTownMapPlayerIconLandmark] @@ -2644,6 +2769,9 @@ Pokedex_GetArea: db 0 * 8, 0 * 8, 3 ; bottom right 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: ; Don't show the player's sprite if you're ; not in the same region as what's currently @@ -2723,6 +2851,14 @@ FillKantoMap: ld de, KantoMap jr FillTownMap +FillSevii1Map: + ld de, Sevii1Map + jr FillTownMap + +FillSevii2Map: + ld de, Sevii2Map + jr FillTownMap + FillNihonMap: ld de, NihonMap FillTownMap: @@ -2875,6 +3011,12 @@ INCBIN "gfx/pokegear/johto.bin" KantoMap: INCBIN "gfx/pokegear/kanto.bin" +Sevii1Map: +INCBIN "gfx/pokegear/sevii1.bin" + +Sevii2Map: +INCBIN "gfx/pokegear/sevii2.bin" + NihonMap: INCBIN "gfx/pokegear/nihon.bin" diff --git a/engine/pokemon/evolve.asm b/engine/pokemon/evolve.asm index dfd8408..8f770fa 100644 --- a/engine/pokemon/evolve.asm +++ b/engine/pokemon/evolve.asm @@ -291,6 +291,7 @@ EvolveAfterBattle_MasterLoop: ld [wTempSpecies], a xor a ld [wMonType], a + call LearnEvolutionMove call LearnLevelMoves ld a, [wTempSpecies] call SetSeenAndCaughtMon @@ -354,6 +355,51 @@ EvolveAfterBattle_MasterLoop: call nz, RestartMapMusic ret +; BUG: Does not take in the designated move correctly, resulting in strange behaviour usually seen when GetMoveIDFromIndex takes an 8-bit index. +; Comments proceeding +LearnEvolutionMove: + ld a, [wTempSpecies] + ld [wCurPartySpecies], a + call GetPokemonIndexFromID + ld b, h + ld c, l + ld hl, EvolutionMoves + add hl, bc + add hl, bc + dec hl + dec hl + ld a, [hli] + ld h, [hl] + ld l, a ; Moves through the table by going up according to the Pokemon's ID, storing the equivalent move in hl. This is fine. + or h ; hl == 0? + ret z + + call GetMoveIDFromIndex ; grabs what's in hl (the move) and converts it to 8-bit...or something like that. anyway, it should return in register a. + push hl ; I don't actually know why it does this. Removing it produces manmade horrors beyond my comprehension, so it isn't part of the current problem. + ld d, a ; preserve a + ld hl, wPartyMon1Moves + ld a, [wCurPartyMon] + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + ld b, NUM_MOVES +.check_move + ld a, [hli] + cp d ; use preserved a to check if a move is there + jr z, .has_move + dec b + jr nz, .check_move + ld a, d ; take the preserved a and reload + ld [wPutativeTMHMMove], a ; proceed to learn the move with adequate preprep + ld [wNamedObjectIndex], a + call GetMoveName + call CopyName1 + predef LearnMove + ld a, [wCurPartySpecies] + ld [wTempSpecies], a +.has_move + pop hl + ret +; so wtf is going on UpdateSpeciesNameIfNotNicknamed: ld a, [wCurSpecies] push af diff --git a/gfx/pokegear/sevii1.bin b/gfx/pokegear/sevii1.bin new file mode 100644 index 0000000..b4afdf3 Binary files /dev/null and b/gfx/pokegear/sevii1.bin differ diff --git a/seviimap2.tilemap b/gfx/pokegear/sevii2.bin similarity index 71% rename from seviimap2.tilemap rename to gfx/pokegear/sevii2.bin index 40aa8cf..5a5c65f 100644 Binary files a/seviimap2.tilemap and b/gfx/pokegear/sevii2.bin differ diff --git a/gfx/pokemon/hirsuswine/anim.asm b/gfx/pokemon/hirsuswine/anim.asm index 875f7be..33745e2 100644 --- a/gfx/pokemon/hirsuswine/anim.asm +++ b/gfx/pokemon/hirsuswine/anim.asm @@ -1 +1,13 @@ + frame 0, 08 + frame 1, 04 + frame 2, 02 + frame 1, 02 + frame 2, 02 + frame 1, 02 + frame 2, 02 + frame 3, 01 + frame 4, 02 + frame 5, 02 + frame 6, 02 + frame 0, 16 endanim \ No newline at end of file diff --git a/gfx/pokemon/hirsuswine/anim_idle.asm b/gfx/pokemon/hirsuswine/anim_idle.asm index 875f7be..1c42e71 100644 --- a/gfx/pokemon/hirsuswine/anim_idle.asm +++ b/gfx/pokemon/hirsuswine/anim_idle.asm @@ -1 +1,3 @@ + frame 3, 04 + frame 0, 16 endanim \ No newline at end of file diff --git a/gfx/pokemon/hirsuswine/back.png b/gfx/pokemon/hirsuswine/back.png index c7216be..bbeb93c 100644 Binary files a/gfx/pokemon/hirsuswine/back.png and b/gfx/pokemon/hirsuswine/back.png differ diff --git a/gfx/pokemon/hirsuswine/front.png b/gfx/pokemon/hirsuswine/front.png index 512edae..6b13197 100644 Binary files a/gfx/pokemon/hirsuswine/front.png and b/gfx/pokemon/hirsuswine/front.png differ diff --git a/gfx/pokemon/hirsuswine/shiny.pal b/gfx/pokemon/hirsuswine/shiny.pal index 2d5f7f3..4de2597 100644 --- a/gfx/pokemon/hirsuswine/shiny.pal +++ b/gfx/pokemon/hirsuswine/shiny.pal @@ -1,4 +1,2 @@ - - RGB 22, 25, 10 - RGB 10, 13, 10 - + RGB 22, 19, 00 + RGB 19, 11, 00 \ No newline at end of file diff --git a/gfx/pokemon/stromen/front.png b/gfx/pokemon/stromen/front.png index fb8da32..0a3aef0 100644 Binary files a/gfx/pokemon/stromen/front.png and b/gfx/pokemon/stromen/front.png differ diff --git a/home/region.asm b/home/region.asm index b855bed..44e7266 100644 --- a/home/region.asm +++ b/home/region.asm @@ -21,7 +21,11 @@ IsInJohto:: .CheckRegion: 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 jr nc, .Kanto @@ -33,6 +37,14 @@ IsInJohto:: ld a, KANTO_REGION ret +.sevii1: + ld a, SEVII_REGION_1 + ret + +.sevii2: + ld a, SEVII_REGION_2 + ret + .Nihon: ld a, NIHON_REGION ret diff --git a/main.asm b/main.asm index 3cf7922..72c65af 100644 --- a/main.asm +++ b/main.asm @@ -315,9 +315,11 @@ INCLUDE "engine/phone/phone.asm" INCLUDE "engine/rtc/timeset.asm" INCLUDE "engine/pokegear/pokegear.asm" INCLUDE "engine/events/fish.asm" -INCLUDE "engine/games/slot_machine.asm" INCLUDE "data/pokemon/first_stages.asm" +SECTION "bank24 spillover", ROMX +INCLUDE "engine/games/slot_machine.asm" + SECTION "Phone Scripts 1", ROMX INCLUDE "engine/phone/scripts/generic_caller.asm" diff --git a/maps/DebugRoom.asm b/maps/DebugRoom.asm index 74f965e..42760b9 100644 --- a/maps/DebugRoom.asm +++ b/maps/DebugRoom.asm @@ -19,12 +19,12 @@ DebugPokemon1Script: DebugPokemon2Script: opentext - getmonname STRING_BUFFER_3, MACHAMP + getmonname STRING_BUFFER_3, FOLAGE writetext ReceivedDebugPokemonText playsound SFX_CAUGHT_MON waitsfx promptbutton - givepoke MACHAMP, 31, TM_ROCK_SMASH + givepoke FOLAGE, 31, RARE_CANDY closetext end @@ -39,11 +39,11 @@ DebugPokemon3Script: faceplayer opentext writetext DebugTextA - cry LICKILORD + cry STROMEN pause 15 closetext loadvar VAR_BATTLETYPE, BATTLETYPE_SHINY - loadwildmon LICKILORD, 60 + loadwildmon STROMEN, 60 startbattle reloadmapafterbattle end @@ -57,11 +57,11 @@ DebugPokemon4Script: faceplayer opentext writetext DebugTextB - cry LICKILORD + cry STROMEN pause 15 closetext loadvar VAR_BATTLETYPE, BATTLETYPE_SAFARI - loadwildmon LICKILORD, 60 + loadwildmon STROMEN, 60 startbattle reloadmapafterbattle end @@ -398,7 +398,7 @@ DebugRoom_MapEvents: warp_event 27, 5, PEWTER_CITY, 2 warp_event 15, 2, GOLDENROD_CITY, 1 ; city 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 5, 35, LAVENDER_TOWN, 1 ; southwest warp warp_event 19, 34, SAFARI_ZONE_FUCHSIA_GATE_BETA, 3 ; southern warp diff --git a/maps/FiveIsland.asm b/maps/FiveIsland.asm index f8b9370..cca6c5d 100644 --- a/maps/FiveIsland.asm +++ b/maps/FiveIsland.asm @@ -4,6 +4,11 @@ FiveIsland_MapScripts: def_scene_scripts def_callbacks + callback MAPCALLBACK_NEWMAP, FiveIslandFlypointCallback + +FiveIslandFlypointCallback: + setflag ENGINE_FLYPOINT_FIVE_ISLAND + endcallback FiveIsland_MapEvents: db 0, 0 ; filler diff --git a/maps/FourIsland.asm b/maps/FourIsland.asm index 107dd53..051181a 100644 --- a/maps/FourIsland.asm +++ b/maps/FourIsland.asm @@ -4,6 +4,11 @@ FourIsland_MapScripts: def_scene_scripts def_callbacks + callback MAPCALLBACK_NEWMAP, FourIslandFlypointCallback + +FourIslandFlypointCallback: + setflag ENGINE_FLYPOINT_FOUR_ISLAND + endcallback FourIsland_MapEvents: db 0, 0 ; filler diff --git a/maps/OneIsland.asm b/maps/OneIsland.asm index 712865e..f356f55 100644 --- a/maps/OneIsland.asm +++ b/maps/OneIsland.asm @@ -4,16 +4,54 @@ OneIsland_MapScripts: def_scene_scripts 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: db 0, 0 ; filler def_warp_events - warp_event 14, 19, DEBUG_ROOM, 1 - warp_event 15, 19, DEBUG_ROOM, 1 + warp_event 14, 19, DEBUG_ROOM, 1 ; port + 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_bg_events - def_object_events \ No newline at end of file + def_object_events + object_event 19, 23, SPRITE_SAILOR, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OneIslandSailorScript, -1 diff --git a/maps/Route19.asm b/maps/Route19.asm index f38d114..152b92c 100644 --- a/maps/Route19.asm +++ b/maps/Route19.asm @@ -19,7 +19,7 @@ Route19ClearRocksCallback: changeblock 8, 6, $7a ; rock changeblock 10, 6, $7a ; rock changeblock 12, 8, $7a ; rock - changeblock 4, 8, $7a ; rock + changeblock 4, 6, $7a ; rock - changed to account for the surfin' dude's house changeblock 10, 10, $7a ; rock .Done: endcallback diff --git a/maps/SevenIsland.asm b/maps/SevenIsland.asm index f7d977d..db4e6b2 100644 --- a/maps/SevenIsland.asm +++ b/maps/SevenIsland.asm @@ -4,6 +4,11 @@ SevenIsland_MapScripts: def_scene_scripts def_callbacks + callback MAPCALLBACK_NEWMAP, SevenIslandFlypointCallback + +SevenIslandFlypointCallback: + setflag ENGINE_FLYPOINT_SEVEN_ISLAND + endcallback SevenIsland_MapEvents: db 0, 0 ; filler diff --git a/maps/SixIsland.asm b/maps/SixIsland.asm index b5122cb..ed8eed0 100644 --- a/maps/SixIsland.asm +++ b/maps/SixIsland.asm @@ -4,6 +4,11 @@ SixIsland_MapScripts: def_scene_scripts def_callbacks + callback MAPCALLBACK_NEWMAP, SixIslandFlypointCallback + +SixIslandFlypointCallback: + setflag ENGINE_FLYPOINT_SIX_ISLAND + endcallback SixIsland_MapEvents: db 0, 0 ; filler diff --git a/maps/SummerBeachHouse.asm b/maps/SummerBeachHouse.asm index 0c72e16..6804dcf 100644 --- a/maps/SummerBeachHouse.asm +++ b/maps/SummerBeachHouse.asm @@ -34,12 +34,17 @@ SummerBeachHouseSurfinDudeScript: cry PIKACHU waitbutton applymovement SUMMERBEACHHOUSE_PUKA, PukaMovement1 + writetext SummerBeachHouseSurfinDudeTextICanDoIt2 + waitbutton + special TeachPikachuSurf +; iffalse .StoppedLearning ; doesn't work because I'm stupid and thought simply teaching the electric rat to use a surfboard would work like yesorno. the ceiling is the floor. + writetext SummerBeachHouseSurfinDudeTextDone applymovement SUMMERBEACHHOUSE_PUKA, PukaMovement2 waitbutton closetext -; setevent EVENT_TAUGHT_PIKACHU_SURF +; setevent EVENT_TAUGHT_PIKACHU_SURF ; not yet in for testing purposes. end .NotPikachu: @@ -54,6 +59,12 @@ SummerBeachHouseSurfinDudeScript: closetext end +.StoppedLearning: + writetext SummerBeachHouseSurfinDudeStoppedLearning + waitbutton + closetext + end + PukaMovement1: step LEFT step UP @@ -92,6 +103,14 @@ SummerBeachHouseSurfinDudeTextNoHave: line "one? Aww…" done +SummerBeachHouseSurfinDudeStoppedLearning: + text "Not the right" + line "time? Alright." + + para "Come back, though," + line "ya hear?" + done + SummerBeachHouseSurfinDudeTextICanDoIt: text "Yeah! This PIKACHU" line "yearns for the" @@ -100,6 +119,14 @@ SummerBeachHouseSurfinDudeTextICanDoIt: para "PUKA, come here!" done +SummerBeachHouseSurfinDudeTextICanDoIt2: + text "This PIKACHU is" + line "as strong as you!" + + para "Let's teach it to" + line "SURF!" + done + SummerBeachHouseSurfinDudeTextDone: text "There! You can" line "SURF wherever" @@ -130,7 +157,7 @@ SummerBeachHousePoster2Text: done SummerBeachHousePoster3Script: - jumptext SummerBeachHousePoster1Text + jumptext SummerBeachHousePoster3Text SummerBeachHousePoster3Text: text "It's an old pos-" diff --git a/maps/ThreeIsland.asm b/maps/ThreeIsland.asm index b2a8c33..d1c2d59 100644 --- a/maps/ThreeIsland.asm +++ b/maps/ThreeIsland.asm @@ -4,6 +4,11 @@ ThreeIsland_MapScripts: def_scene_scripts def_callbacks + callback MAPCALLBACK_NEWMAP, ThreeIslandFlypointCallback + +ThreeIslandFlypointCallback: + setflag ENGINE_FLYPOINT_THREE_ISLAND + endcallback ThreeIsland_MapEvents: db 0, 0 ; filler diff --git a/maps/TwoIsland.asm b/maps/TwoIsland.asm index f48dc38..09ab5e1 100644 --- a/maps/TwoIsland.asm +++ b/maps/TwoIsland.asm @@ -4,6 +4,11 @@ TwoIsland_MapScripts: def_scene_scripts def_callbacks + callback MAPCALLBACK_NEWMAP, TwoIslandFlypointCallback + +TwoIslandFlypointCallback: + setflag ENGINE_FLYPOINT_TWO_ISLAND + endcallback TwoIsland_MapEvents: db 0, 0 ; filler diff --git a/seviimap1.tilemap b/seviimap1.tilemap deleted file mode 100644 index 5bd37cd..0000000 Binary files a/seviimap1.tilemap and /dev/null differ