From 7ef292a431d1dcb612a83e7acb021268ab29eb23 Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Wed, 17 Jul 2024 23:12:24 +0100 Subject: [PATCH 1/2] (very rough) Winner's Path This implements Winner's Path into the game, complete with trainers and wild Pokemon. There's still a lot to do, though. The Debug Lady that gave Celebi now gives Furret because it gets all the important HMs, which we need to...test things. Naturally, you have all the badges now too! --- constants/landmark_constants.asm | 1 + constants/map_constants.asm | 25 ++-- data/maps/attributes.asm | 1 + data/maps/blocks.asm | 3 + data/maps/landmarks.asm | 2 + data/maps/maps.asm | 1 + data/maps/scripts.asm | 1 + data/tilesets/cave_attributes.bin | Bin 1264 -> 1392 bytes data/tilesets/cave_collision.asm | 8 ++ data/tilesets/cave_metatiles.bin | Bin 1264 -> 1392 bytes data/trainers/parties.asm | 49 ++++---- data/wild/nihon_grass.asm | 75 +++++++---- data/wild/nihon_water.asm | 33 ++--- gfx/tilesets/cave.png | Bin 3362 -> 3368 bytes maps/DebugRoom.asm | 11 +- maps/WinnersPath (unfinished, 10x30).ablk | Bin 300 -> 0 bytes maps/WinnersPath.ablk | 18 +++ maps/WinnersPath.asm | 144 ++++++++++++++++++++++ 18 files changed, 289 insertions(+), 83 deletions(-) delete mode 100644 maps/WinnersPath (unfinished, 10x30).ablk create mode 100644 maps/WinnersPath.ablk create mode 100644 maps/WinnersPath.asm diff --git a/constants/landmark_constants.asm b/constants/landmark_constants.asm index 38e6570..2878238 100644 --- a/constants/landmark_constants.asm +++ b/constants/landmark_constants.asm @@ -126,6 +126,7 @@ DEF KANTO_LANDMARK EQU const_value const LANDMARK_SIX_ISLAND const LANDMARK_SEVEN_ISLAND DEF NIHON_LANDMARK EQU const_value + const LANDMARK_WINNERS_PATH const LANDMARK_SILENT_HILLS const LANDMARK_DEBUG_ROOM const LANDMARK_ROUTE_49 diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 0585b02..27f19ca 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -616,18 +616,19 @@ ENDM endgroup newgroup SILENT_HILLS ; 35 - map_const SILENT_HILLS, 10, 10 ; 1 - map_const DEBUG_ROOM, 20, 20 ; 2 - map_const ROUTE_49, 15, 9 ; 3 - map_const QUIET_CAVE, 27, 18 ; 4 - map_const ROUTE_49_2, 10, 19 ; 5 - map_const SILENT_HILLS_POKECENTER_1F, 10, 4 ; 6 - map_const SILVERS_HOUSE, 5, 5 ; 7 - map_const CALS_HOUSE_1F, 5, 4 ; 8 - map_const CALS_HOUSE_2F, 5, 4 ; 9 - map_const SINJOH_RUINS_EXTERIOR, 10, 10 ; 10 - map_const SINJOH_RUINS_INTERIOR, 10, 10 ; 10 - map_const ROUTE_49_OLD_CITY_GATE, 5, 4 ; 11 + map_const WINNERS_PATH, 10, 26 ; 1 + map_const SILENT_HILLS, 10, 10 ; 2 + map_const DEBUG_ROOM, 20, 20 ; 3 + map_const ROUTE_49, 15, 9 ; 4 + map_const QUIET_CAVE, 27, 18 ; 5 + map_const ROUTE_49_2, 10, 19 ; 6 + map_const SILENT_HILLS_POKECENTER_1F, 10, 4 ; 7 + map_const SILVERS_HOUSE, 5, 5 ; 8 + map_const CALS_HOUSE_1F, 5, 4 ; 9 + map_const CALS_HOUSE_2F, 5, 4 ; 10 + map_const SINJOH_RUINS_EXTERIOR, 10, 10 ; 11 + map_const SINJOH_RUINS_INTERIOR, 10, 10 ; 12 + map_const ROUTE_49_OLD_CITY_GATE, 5, 4 ; 13 endgroup newgroup BLUE_FOREST ; 36 diff --git a/data/maps/attributes.asm b/data/maps/attributes.asm index 60b5a1f..0bcbaff 100644 --- a/data/maps/attributes.asm +++ b/data/maps/attributes.asm @@ -806,6 +806,7 @@ ENDM map_attributes NavalRockB1F, NAVAL_ROCK_B1F, $00, 0 ; Nihon + map_attributes WinnersPath, WINNERS_PATH, $00, 0 map_attributes BlueForest, BLUE_FOREST, $00, 0 ; this is on its own for now. add connections later. map_attributes QuietCave, QUIET_CAVE, $76, 0 map_attributes SilentHillsPokecenter1F, SILENT_HILLS_POKECENTER_1F, $00, 0 diff --git a/data/maps/blocks.asm b/data/maps/blocks.asm index 18d1063..ddec052 100644 --- a/data/maps/blocks.asm +++ b/data/maps/blocks.asm @@ -1198,3 +1198,6 @@ SinjohRuinsExterior_Blocks: SinjohRuinsInterior_Blocks: INCBIN "maps/SinjohRuinsInterior.ablk" + +WinnersPath_Blocks: + INCBIN "maps/WinnersPath.ablk" diff --git a/data/maps/landmarks.asm b/data/maps/landmarks.asm index e29a498..3bd67c4 100644 --- a/data/maps/landmarks.asm +++ b/data/maps/landmarks.asm @@ -130,6 +130,7 @@ Landmarks: landmark 0, 0, UnknownName ; Six Island landmark 0, 0, UnknownName ; Seven Island assert_table_length NIHON_LANDMARK + landmark 0, 0, WinnersPathName landmark 92, 108, SilentHillsName landmark 20, 28, UnknownName ; Debug Room landmark 91, 108, Route49Name ; probably not correct @@ -240,6 +241,7 @@ TohjoFallsName: db "TOHJO FALLS@" UndergroundName: db "UNDERGROUND@" BattleTowerName: db "BATTLE¯TOWER@" SpecialMapName: db "SPECIAL@" +WinnersPathName: db "WINNER'S¯PATH@" SilentHillsName: db "SILENT¯HILLS@" UnknownName: db "?????@" Route49Name: db "ROUTE 49@" diff --git a/data/maps/maps.asm b/data/maps/maps.asm index 8981ef4..98c3eac 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -673,6 +673,7 @@ MapGroup_SevenIsland: ; 34 MapGroup_SilentHills: table_width MAP_LENGTH, MapGroup_SilentHills + map WinnersPath, TILESET_CAVE, CAVE, LANDMARK_WINNERS_PATH, MUSIC_VICTORY_ROAD, FALSE, PALETTE_NITE, FISHGROUP_DRATINI ; Sounds like a funny fishgroup map SilentHills, TILESET_NIHON_01, TOWN, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, TRUE, PALETTE_AUTO, FISHGROUP_SHORE map DebugRoom, TILESET_NIHON_01, TOWN, LANDMARK_DEBUG_ROOM, MUSIC_SINJOH_RUINS, TRUE, PALETTE_AUTO, FISHGROUP_SHORE map Route49, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, TRUE, PALETTE_AUTO, FISHGROUP_POND diff --git a/data/maps/scripts.asm b/data/maps/scripts.asm index f70c76b..e08f580 100644 --- a/data/maps/scripts.asm +++ b/data/maps/scripts.asm @@ -592,3 +592,4 @@ INCLUDE "maps/SinjohRuinsInterior.asm" SECTION "Map Scripts 29", ROMX INCLUDE "maps/Route49OldCityGate.asm" +INCLUDE "maps/WinnersPath.asm" diff --git a/data/tilesets/cave_attributes.bin b/data/tilesets/cave_attributes.bin index b5e430c8c272e382d3ab82cd2823104413494d55..88761b42f68327a8e8c8cdb906a84156911b3f41 100644 GIT binary patch delta 89 zcmeys`GIT02Nn)iR!&Y3p1hAmV)6+V0U#E!VTJ-$5P)%jG=$B|%gl_4d7%IRpn3`G delta 7 Ocmeys^?`H42NnPin**2t diff --git a/data/tilesets/cave_collision.asm b/data/tilesets/cave_collision.asm index 693e727..78e59de 100644 --- a/data/tilesets/cave_collision.asm +++ b/data/tilesets/cave_collision.asm @@ -77,3 +77,11 @@ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 4c tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 4d tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 4e + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4f + tilecoll FLOOR, WALL, FLOOR, FLOOR ; 50 + tilecoll WALL, FLOOR, FLOOR, FLOOR ; 51 + tilecoll WALL, FLOOR, FLOOR, LADDER ; 52 + tilecoll WATER, WATER, WATER, WATER ; 53 + tilecoll WATER, WATER, WATER, WATER ; 54 + tilecoll WATER, WALL, WATER, WALL ; 55 + tilecoll WATER, WALL, WALL, WALL ; 56 diff --git a/data/tilesets/cave_metatiles.bin b/data/tilesets/cave_metatiles.bin index 66ec70384e5976b794284cfcb663c93dbbcfc51e..97c6f7203f08e3a5bd9fd6e56e3faea01f31f01c 100644 GIT binary patch delta 137 zcmeys`GIT02bOw9Mj>HFMiEg)IN;=BWR#SGaZ!1Uj0nDlCL^PTr5X^3K!G?AsKYow anjOq$U=$G%5EKzXr5P9*7zG3c7zF`|TMC*0 delta 7 Ocmeys^?`H42NnPin**2t diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index ffe399a..a0487cb 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -1480,25 +1480,29 @@ CooltrainerMGroup: dw SANDSLASH dw SAND_ATTACK, POISON_STING, SLASH, SWIFT db -1 ; end - + + ; Previously unused, now Winner's Path next_list_item ; COOLTRAINERM (13) db "ERICK@", TRAINERTYPE_NORMAL - db 10 - dw BULBASAUR - db 10 - dw CHARMANDER - db 10 - dw SQUIRTLE + db 56 + dw VENUSAUR + db 56 + dw CHARIZARD + db 56 + dw TOTARTLE db -1 ; end - + + ; Previously unused, now Winner's Path next_list_item ; COOLTRAINERM (14) db "ANDY@", TRAINERTYPE_NORMAL - db 10 - dw BULBASAUR - db 10 - dw CHARMANDER - db 10 - dw SQUIRTLE + db 53 + dw CACAWPHONY + db 54 + dw WARUCHU + db 53 + dw SNEASEL ; WEARLYCAN + db 56 + dw PILOSWINE ; BUNDRAKE db -1 ; end next_list_item ; COOLTRAINERM (15) @@ -1530,15 +1534,18 @@ CooltrainerMGroup: db 35 dw WARTORTLE db -1 ; end - + + ; Previously unused, now Winner's Path next_list_item ; COOLTRAINERM (18) db "STEVE@", TRAINERTYPE_NORMAL - db 14 - dw BULBASAUR - db 14 - dw CHARMANDER - db 14 - dw SQUIRTLE + db 53 + dw TREBIR + db 54 + dw GOROCHU + db 53 + dw SNEASEL ; WEAVILE + db 56 + dw PILOSWINE ; BUNBERG db -1 ; end next_list_item ; COOLTRAINERM (19) diff --git a/data/wild/nihon_grass.asm b/data/wild/nihon_grass.asm index d534170..8ac384c 100644 --- a/data/wild/nihon_grass.asm +++ b/data/wild/nihon_grass.asm @@ -1,31 +1,30 @@ NihonGrassWildMons: - - def_grass_wildmons ROUTE_49 - db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + def_grass_wildmons WINNERS_PATH + db 2 percent, 2 percent, 4 percent ; encounter rates: morn/day/nite ; morn - dbw 30, PIDGEY - dbw 31, RATTATA - dbw 30, PIKACHU - dbw 31, MAREEP - dbw 32, HOPPIP - dbw 32, MARILL - dbw 35, SUNFLORA + dbw 50, MUNCHLAX + dbw 51, SKARMORY + dbw 50, CHANSEY + dbw 51, MUNCHLAX + dbw 52, TAUROS + dbw 52, FORRETRESS + dbw 55, STEELIX ; day - dbw 30, PIDGEY - dbw 31, RATTATA - dbw 30, PIKACHU - dbw 31, MAREEP - dbw 32, HOPPIP - dbw 32, MARILL - dbw 35, GIRAFARIG + dbw 50, MUNCHLAX + dbw 51, SKARMORY + dbw 50, CHANSEY + dbw 51, MUNCHLAX + dbw 52, TAUROS + dbw 52, FORRETRESS + dbw 55, STEELIX ; nite - dbw 30, HOOTHOOT - dbw 31, RATTATA - dbw 30, PIKACHU - dbw 31, MAREEP - dbw 32, HOPPIP - dbw 32, MARILL - dbw 35, SKARMORY + dbw 50, MUNCHLAX + dbw 51, SKARMORY + dbw 50, KITSEN + dbw 51, MUNCHLAX + dbw 52, HAUNTER + dbw 52, MISDREAVUS + dbw 55, STEELIX end_grass_wildmons def_grass_wildmons QUIET_CAVE @@ -84,4 +83,32 @@ NihonGrassWildMons: dbw 35, SKARMORY end_grass_wildmons + def_grass_wildmons ROUTE_49 + db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite + ; morn + dbw 30, PIDGEY + dbw 31, RATTATA + dbw 30, PIKACHU + dbw 31, MAREEP + dbw 32, HOPPIP + dbw 32, MARILL + dbw 35, SUNFLORA + ; day + dbw 30, PIDGEY + dbw 31, RATTATA + dbw 30, PIKACHU + dbw 31, MAREEP + dbw 32, HOPPIP + dbw 32, MARILL + dbw 35, GIRAFARIG + ; nite + dbw 30, HOOTHOOT + dbw 31, RATTATA + dbw 30, PIKACHU + dbw 31, MAREEP + dbw 32, HOPPIP + dbw 32, MARILL + dbw 35, SKARMORY + end_grass_wildmons + db -1 ; end diff --git a/data/wild/nihon_water.asm b/data/wild/nihon_water.asm index 6cf9f25..d2b2764 100644 --- a/data/wild/nihon_water.asm +++ b/data/wild/nihon_water.asm @@ -1,32 +1,17 @@ NihonWaterWildMons: + def_water_wildmons WINNERS_PATH + db 4 percent ; encounter rates: morn/day/nite + dbw 40, MAGIKARP + dbw 41, SEADRA + dbw 40, GRANBO ; SHARPOON + end_water_wildmons ; Placeholder - def_grass_wildmons ROUTE_49_2 - db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite - ; morn + def_water_wildmons ROUTE_49_2 + db 4 percent ; encounter rates: morn/day/nite dbw 30, MAGIKARP dbw 31, MAGIKARP dbw 30, MAGIKARP - dbw 31, MAGIKARP - dbw 32, MAGIKARP - dbw 32, MAGIKARP - dbw 35, MAGIKARP - ; day - dbw 30, MAGIKARP - dbw 31, MAGIKARP - dbw 30, MAGIKARP - dbw 31, MAGIKARP - dbw 32, MAGIKARP - dbw 32, MAGIKARP - dbw 35, MAGIKARP - ; nite - dbw 30, MAGIKARP - dbw 31, MAGIKARP - dbw 30, MAGIKARP - dbw 31, MAGIKARP - dbw 32, MAGIKARP - dbw 32, MAGIKARP - dbw 35, MAGIKARP - end_grass_wildmons + end_water_wildmons db -1 ; end diff --git a/gfx/tilesets/cave.png b/gfx/tilesets/cave.png index 63143d67465dccff3920191b46aa92b6c5eba256..dc3348a933284cfe1f0ee632e73bcc3e4ccbdd89 100644 GIT binary patch delta 1026 zcmZ1^wL)q_7~|fJ;g31$fDAdt=8H#?&R0BEIDSlc_O8P= ze0m4_&N82knwdQ3Yp?P2f0xtrww<}IcV_iloyhaXYm$G4|Kk^5ASc)8V35qutmt-U z$*f-GzU;rYM)n8iy>4#zjxAZ2JjXCg<@bSkKVNWd{PAw#wbP&9{0RT|b-jE2!q&ob zsg`SWr)`XyZFy#+b(r+(YwIF}J*_8gJ5w&Z)v(K~IP343^-M?Zb!Te^z3nQobFq?F zn#(_N%i4P749kwxKkP{Yd0pF8=c_(>VtjbEUteLzd5`4m-mZUrd;e_N9T#++&Gg0U z6rQ?sjBjuJoG0t~$>zRXbN?Uh|KG$esMc@f-1iXPKRy`|eivy*(>&Lgwab&Hq#XUtv`+_S;AE+fj%DA+%wTD5 zIk_tq1#uVar>+az`gBfdQN3sQ>PI`T9u`0UCH~jP4{<-zA`3Rl*_~v0)_icG!TOCW zwYUE{Qy+Pl`?4d?>x=z{>;6w=KeFpf>Kjp;-Rs}*%YFR+)mLHmTR9GSix$I48*g2l z@asf9|C5b|M|#z6*d0FqZ%4+uayRXUw-dkazjJa`xHR>&^ug?_ae4iQfOB1-H-d?GeAcOtyUAl|I+mN=H)io-JQH zY2(V(9?zYZd{zv4JFkC{?eBH}dV-hS5`9_I0f{I1H#aRNwcoiJr2Mk|%;}mHrmL3N zFa3Po;`Q~y^wS_zf4BSFm#2F!dt5sM6#rMYj@|Ku#XEtBw@$Nq}#ruSaAWERWE{$KsK{`Gy%H%tu-GyXmQy8n@h z!NIotU-NJ8-^Y4IVXo2N^RJ)ZKbst&rhfT<&A*@at$gRo7P4#tb5_5jq9(eE%NE|v*_wTL^TWS%|l;`v3GqR=E@qakC0wM(? zB@;>uo_%L%{{8$r1Gn<;pXHw=rkp(a#eP1_DC@<)AW~2=z2V@@`^-G==HF-5>3M_f pILQQ%N$-1JL8QRs>;He>*8kYKe_Gyyj9dmF@O1TaS?83{1OWVyGA954 delta 1020 zcmZ1>wMc407~}Sh;g31$@7wUr->QA%!{6fnn;P#|HaLCGJCb0s@rLm|ixV3^9$EIz zpr6@iL-OZ@&0)_Z(rX`|S^9s=%x>M!Te&}HS$kjm%=0?p-_-wySy!~XD+rvqaoC|l z(0pau;Jy456noM zQyj^c-JQDTS{h&Ro4%{ZR&CY3=5ncTiSFlE_uQUEXXixOe_qY7@%y8wu8`eIbNMHp zYxj8WtdjfsK1UQ^lH~tJiI&-qa!;mnTK+uqVcFzlnMcN#ZbU6!v_Dzj{_VQySGGFx z{?d|co?q->UA8aXeUi=j?Z+P||39^VFKbD?XHHY|f%(#hmfdBaQIq^-;o6B-@+yy1 z9-mqN;C!6%e~xVRyHc5-4_ug#{C!?>wK1EK`?su9^-t|f8999Hi{)L4WQD!^l51{V zIo8z9Zpt?&{7d}O)uFkT>2vSIU%I-gBJb;mqsD)y*V*h5-xn!%XHC1mQRB~q0*y1- zIj>IX+SeCf`*5g4;BeKKa;EI>SfCz~T>;FOI!Bzp=hp%p*qUwaSf^*>T^P ze+JDrjqyLTe)jb0KReH_zH(>%3;ms^_nYked*^h8VeYNM=iYB4wrD!}JWH#)r6oCg zS67Lhis zM7y^wlC3YSm%N>+lKpJQ=BIE}QOg~{CjUUSVq<-UW}MmPeREbGwa8lZvH4bn$;Lf@ zQr3E{D|{k;ZJmB~X7!Q%*PYupZawaPZGG}jo&VqBnT6#vOef8D%yxhE`)lN<4MK0z z|Ku#XEtBw@$NtUN2}{;~`*Gq|{M-2dehK0XEcFMz*suRDy1bFotmg9nJO94wE?|2( zo;=w-3@3?oCPgHUIMdIEJ}F&CC8*{{4LXKVg6uemQ5ESS5GgPj e^Z$MRf9BH+YgZi9-+zVy2s~Z=T-G@yGywoUdnPsj diff --git a/maps/DebugRoom.asm b/maps/DebugRoom.asm index d43cdda..6d2aeae 100644 --- a/maps/DebugRoom.asm +++ b/maps/DebugRoom.asm @@ -76,7 +76,14 @@ DebugFlyScript: writetext DebugTextC playsound SFX_GET_BADGE promptbutton + setflag ENGINE_ZEPHYRBADGE + setflag ENGINE_HIVEBADGE + setflag ENGINE_PLAINBADGE + setflag ENGINE_FOGBADGE setflag ENGINE_STORMBADGE + setflag ENGINE_MINERALBADGE + setflag ENGINE_GLACIERBADGE + setflag ENGINE_RISINGBADGE setflag ENGINE_POKEDEX setflag ENGINE_MAP_CARD setflag ENGINE_POKEGEAR @@ -130,7 +137,7 @@ DebugDexScript: playsound SFX_FANFARE promptbutton callasm CheatFillPokedex - givepoke CELEBI, 50 + givepoke FURRET, 100 ; gets all the hms closetext end @@ -495,7 +502,7 @@ DebugRoom_MapEvents: warp_event 19, 34, BLUE_FOREST, 1 ; southern warp warp_event 33, 33, BLUE_FOREST, 1 ; southeast warp warp_event 5, 3, AZALEA_TOWN, 1 - warp_event 34, 11, PEWTER_MUSEUM_OF_SCIENCE_1F, 1 + warp_event 34, 11, WINNERS_PATH, 1 def_coord_events diff --git a/maps/WinnersPath (unfinished, 10x30).ablk b/maps/WinnersPath (unfinished, 10x30).ablk deleted file mode 100644 index d84c26203a3da405642a45636803c06cd8e64b98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300 pcmZQz7%D)37X$ Date: Wed, 17 Jul 2024 23:28:42 +0100 Subject: [PATCH 2/2] Nihon Pokegear Map Revision Given the entry point is Indigo Plateau East, we don't need the map to look like this. Tentatively using... --- gfx/pokegear/nihon.bin | Bin 361 -> 361 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/gfx/pokegear/nihon.bin b/gfx/pokegear/nihon.bin index 1eeee5b94ce4fc201a12d5be3aea432b2637aca7..04ef7496a2975ef67ea08c4ed2ce4d0ae8ad8ff7 100644 GIT binary patch delta 36 icmaFK^pa_VGNXi|B9EY;qLPG|m;@4#SDb9ks0RRs)&>^< delta 36 kcmaFK^pa_VGNXi`B9EY;qLPG|m;@ZiOG(L3wr11=0EILL2><{9