From bb3794a2760257e4d9d199de6c835dbb75af1cd5 Mon Sep 17 00:00:00 2001 From: Julian Tabel Date: Sat, 14 Feb 2026 13:11:06 +0100 Subject: [PATCH 01/22] Update Cilan/Chill/Cress sprite --- ...tch-boss-battle-sprites-from-bulbapedia.md | 4 ++-- .../black/cilan--chili--cress.png | Bin 1416 -> 207950 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.beans/nuzlocke-tracker-yfi8--fetch-boss-battle-sprites-from-bulbapedia.md b/.beans/nuzlocke-tracker-yfi8--fetch-boss-battle-sprites-from-bulbapedia.md index a75639c..71d90b1 100644 --- a/.beans/nuzlocke-tracker-yfi8--fetch-boss-battle-sprites-from-bulbapedia.md +++ b/.beans/nuzlocke-tracker-yfi8--fetch-boss-battle-sprites-from-bulbapedia.md @@ -1,11 +1,11 @@ --- # nuzlocke-tracker-yfi8 title: Fetch boss battle sprites from Bulbapedia -status: in-progress +status: completed type: task priority: normal created_at: 2026-02-14T09:14:32Z -updated_at: 2026-02-14T09:24:28Z +updated_at: 2026-02-14T09:38:04Z --- ## Overview diff --git a/frontend/public/boss-sprites/black/cilan--chili--cress.png b/frontend/public/boss-sprites/black/cilan--chili--cress.png index cad9919ba7b50fcff178f0eedb1b8da2860a0dd4..bfc2deca71eafdc1c8b8e2a4df40e8d77e313194 100644 GIT binary patch literal 207950 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 z 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

rP~>a5b7lIQ*V{uu5~4m>M(40qS><$m0}C`(59) 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 literal 1416 zcmV;31$X+1P)jNF)-8L?R<2BO@at zBO{R`kx%pv$IedeotO?=`}P-9$WC4I(Ve8b;eL(74gOF1=j;jO)(`M^*AMV_*AMVZ zWm1h-Yx=)ME18iOeLxM}OY2@rpW;`QMlSizd|w zti=cbt&jkqTo3P=>nnfx(0?Nm3yWH`#k>7Ui&2a5xTNvKq8R;iWsS6s%n$onHoe}Z z#agw6Ou+#Fs|0o)Z_h$SQCXN(Vy8Xc;=*3TMl|jpMFQ-!hPzc!$MzaF*G&}T{*7J_ ze5q#_wxW`YPJ1W6jzuN$L14VKhV7Jc+UwUaDlR<$q~Oq#w_x`_;R^RlYzCsiKNE>d zk5;F+!eP@o%4yB7<5|^G8sOn3#|7?-84hbW1t-Vl#M&_7IlSn^cscaT&@XQXlGgk> z!l}9OFS>_~RJOk|UZ%LB&8JyU)4&*W)&f9&Q&VkPaEBSag0MPkd#TE%+5gHoH`)T+ zy1tdQrklotXhTcul{Mxf*Ji4sjK(Z(8@ojUK#CCnI4`X+)+^F!97PChy_&`u0M@XH zT8LU)Jph37?q*B4 zd-bku+cGc{0?S%=eT(hY17mEOhC!Gxzhw?W%A$Bz>l2c^%13xC!F|)hc2N{hc~VL- zg#ETC3eqW^@T$d*T}o-cO)<`k$u@dE;Az$vY`8ca`-PNUs{kOzH3K;0H?JJo9(Xv;Cu@JmwKj{N!D|C zn)Ni!MNt^D;0fgJ^;*VDaepI)4WckJE3h$(^FD-xdl)hg{Q>~25<)2#Hhcu4Dz;!L zm~-sXyD(ww`gZqf*)-EQ>%Iqot75DYPHUl5QAwbwhh$pAPc<(F6XvpML|rd^FQS&? z0+dz0d@g-VBv8gI0N}hAbqxS&97{EXkVtc;+!p4%oW>cCDCBn@I4=Pp#YQ&a^Knj42*6}g{%UVBVh>t&Ln&K|fXgA+EJPx;hxI7f1cQMYf`teYmf4Oo89uGAg#yMWI zO(5$UW}IWaa<5u4#<25u59g#WTu$4x9xAm@dnk0~F3mW1)*d-CFlPmBl}{;sq&mKN zp;m4SQ*Xk5)Cn&Ai9Iuz`U^!`c^vyR;2jSe_zEh6&T#1%cUlZQa*qCmTpC6FO6>&T zr-5X)=<>^1m|D4k_i*|wWd)vf{g6E5*Oy2ha&FXLVhw-Ke7GMjDMn}Q!$(>VwAA@< zrizC%atqeQ!7XgG8h!X_O^4drIo=ODBdd}fd%~Ikzy=TZ|M24CAeEO@jh%F}%3)y} zd?gvSkEj69ONCzm05Dkr0PM^}$^ne^%7-2R=!XmP@1iy@Wd7vgqn Date: Sat, 14 Feb 2026 13:14:24 +0100 Subject: [PATCH 02/22] Fix duplicate Alembic migration revision ID f7a8b9c0d1e2 Two migrations (add_game_id_to_boss_battles and add_naming_scheme_to_genlockes) shared the same revision ID, causing multiple heads. Gave boss_battles migration a new unique ID (g8b9c0d1e2f3) and chained it after the naming_scheme migration. Co-Authored-By: Claude Opus 4.6 --- ...g--fix-duplicate-alembic-migration-revision-ids.md | 11 +++++++++++ ...py => g8b9c0d1e2f3_add_game_id_to_boss_battles.py} | 8 ++++---- 2 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 .beans/nuzlocke-tracker-j02g--fix-duplicate-alembic-migration-revision-ids.md rename backend/src/app/alembic/versions/{f7a8b9c0d1e2_add_game_id_to_boss_battles.py => g8b9c0d1e2f3_add_game_id_to_boss_battles.py} (93%) diff --git a/.beans/nuzlocke-tracker-j02g--fix-duplicate-alembic-migration-revision-ids.md b/.beans/nuzlocke-tracker-j02g--fix-duplicate-alembic-migration-revision-ids.md new file mode 100644 index 0000000..c670285 --- /dev/null +++ b/.beans/nuzlocke-tracker-j02g--fix-duplicate-alembic-migration-revision-ids.md @@ -0,0 +1,11 @@ +--- +# nuzlocke-tracker-j02g +title: Fix duplicate Alembic migration revision IDs +status: completed +type: bug +priority: normal +created_at: 2026-02-14T12:13:08Z +updated_at: 2026-02-14T12:14:34Z +--- + +Two migration files share revision ID f7a8b9c0d1e2: add_game_id_to_boss_battles and add_naming_scheme_to_genlockes. Fix by giving one a new unique ID and chaining them sequentially. \ No newline at end of file diff --git a/backend/src/app/alembic/versions/f7a8b9c0d1e2_add_game_id_to_boss_battles.py b/backend/src/app/alembic/versions/g8b9c0d1e2f3_add_game_id_to_boss_battles.py similarity index 93% rename from backend/src/app/alembic/versions/f7a8b9c0d1e2_add_game_id_to_boss_battles.py rename to backend/src/app/alembic/versions/g8b9c0d1e2f3_add_game_id_to_boss_battles.py index 488551c..dfa9cb1 100644 --- a/backend/src/app/alembic/versions/f7a8b9c0d1e2_add_game_id_to_boss_battles.py +++ b/backend/src/app/alembic/versions/g8b9c0d1e2f3_add_game_id_to_boss_battles.py @@ -1,7 +1,7 @@ """add game_id to boss battles -Revision ID: f7a8b9c0d1e2 -Revises: e5f70a1ca323 +Revision ID: g8b9c0d1e2f3 +Revises: f7a8b9c0d1e2 Create Date: 2026-02-14 12:00:00.000000 """ @@ -12,8 +12,8 @@ import sqlalchemy as sa from alembic import op # revision identifiers, used by Alembic. -revision: str = "f7a8b9c0d1e2" -down_revision: str | Sequence[str] | None = "e5f70a1ca323" +revision: str = "g8b9c0d1e2f3" +down_revision: str | Sequence[str] | None = "f7a8b9c0d1e2" branch_labels: str | Sequence[str] | None = None depends_on: str | Sequence[str] | None = None -- 2.49.1 From a31e8bf1746a922d8e258195c3950e5de2ce6b1d Mon Sep 17 00:00:00 2001 From: Julian Tabel Date: Sat, 14 Feb 2026 13:50:02 +0100 Subject: [PATCH 03/22] Remove route order aliases so each version group has standalone ordering MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Originals and remakes previously shared route orderings via aliases (e.g. red-blue → firered-leafgreen). This prevented customizing route progression independently. Each version group now has its own list that can be fine-tuned for game-specific locations. Co-Authored-By: Claude Opus 4.6 --- ...e-order-aliases-between-originals-and-r.md | 11 + backend/src/app/seeds/route_order.json | 554 ++++++++++++++++- tools/generate_route_order.py | 580 +++++++++++++++++- tools/import-pokedb/import_pokedb/loader.py | 3 - 4 files changed, 1119 insertions(+), 29 deletions(-) create mode 100644 .beans/nuzlocke-tracker-zdig--remove-route-order-aliases-between-originals-and-r.md diff --git a/.beans/nuzlocke-tracker-zdig--remove-route-order-aliases-between-originals-and-r.md b/.beans/nuzlocke-tracker-zdig--remove-route-order-aliases-between-originals-and-r.md new file mode 100644 index 0000000..d51e34f --- /dev/null +++ b/.beans/nuzlocke-tracker-zdig--remove-route-order-aliases-between-originals-and-r.md @@ -0,0 +1,11 @@ +--- +# nuzlocke-tracker-zdig +title: Remove route order aliases between originals and remakes +status: completed +type: task +priority: normal +created_at: 2026-02-14T12:46:38Z +updated_at: 2026-02-14T12:48:57Z +--- + +Remove aliases in route_order.json that share route orderings between original games and remakes. Each version group gets its own standalone route list so they can be fine-tuned independently. \ No newline at end of file diff --git a/backend/src/app/seeds/route_order.json b/backend/src/app/seeds/route_order.json index fb5e87f..05c3f8c 100644 --- a/backend/src/app/seeds/route_order.json +++ b/backend/src/app/seeds/route_order.json @@ -1,7 +1,170 @@ { - "_comment": "Route progression order by version group. Aliases at the bottom map version groups that share the same ordering.", + "_comment": "Route progression order by version group. Each version group has its own standalone ordering.", "routes": { + "red-blue": [ + "Starter", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Route 22 (Kanto)", + "Route 02 (Kanto)", + "Viridian Forest", + "Route 03 (Kanto)", + "Mt. Moon", + "Route 04 (Kanto)", + "Route 4", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Route 05 (Kanto)", + "Underground Path (Kanto - Routes 5-6)", + "Route 06 (Kanto)", + "Vermilion City", + "Vermilion City (Port)", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 08 (Kanto)", + "Route 07 (Kanto)", + "Celadon City", + "Pokémon Tower", + "Silph Co.", + "Saffron City", + "Fighting Dojo", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Fuchsia City", + "Safari Zone (Kanto)", + "Route 15 (Kanto)", + "Route 14 (Kanto)", + "Route 13 (Kanto)", + "Route 12 (Kanto)", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Pokémon Mansion (Kanto)", + "Cinnabar Lab", + "Route 21 (Kanto)", + "Route 23 (Kanto)", + "Victory Road (Kanto)", + "Cerulean Cave" + ], + "yellow": [ + "Starter", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Route 22 (Kanto)", + "Route 02 (Kanto)", + "Viridian Forest", + "Route 03 (Kanto)", + "Mt. Moon", + "Route 04 (Kanto)", + "Route 4", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Route 05 (Kanto)", + "Underground Path (Kanto - Routes 5-6)", + "Route 06 (Kanto)", + "Vermilion City", + "Vermilion City (Port)", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 08 (Kanto)", + "Route 07 (Kanto)", + "Celadon City", + "Pokémon Tower", + "Silph Co.", + "Saffron City", + "Fighting Dojo", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Fuchsia City", + "Safari Zone (Kanto)", + "Route 15 (Kanto)", + "Route 14 (Kanto)", + "Route 13 (Kanto)", + "Route 12 (Kanto)", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Pokémon Mansion (Kanto)", + "Cinnabar Lab", + "Route 21 (Kanto)", + "Route 23 (Kanto)", + "Victory Road (Kanto)", + "Cerulean Cave" + ], + "lets-go": [ + "Starter", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Route 22 (Kanto)", + "Route 02 (Kanto)", + "Viridian Forest", + "Route 03 (Kanto)", + "Mt. Moon", + "Route 04 (Kanto)", + "Route 4", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Route 05 (Kanto)", + "Underground Path (Kanto - Routes 5-6)", + "Route 06 (Kanto)", + "Vermilion City", + "Vermilion City (Port)", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 08 (Kanto)", + "Route 07 (Kanto)", + "Celadon City", + "Pokémon Tower", + "Silph Co.", + "Saffron City", + "Fighting Dojo", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Fuchsia City", + "Safari Zone (Kanto)", + "Route 15 (Kanto)", + "Route 14 (Kanto)", + "Route 13 (Kanto)", + "Route 12 (Kanto)", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Pokémon Mansion (Kanto)", + "Cinnabar Lab", + "Route 21 (Kanto)", + "Route 23 (Kanto)", + "Victory Road (Kanto)", + "Cerulean Cave" + ], "firered-leafgreen": [ + "Starter", "Pallet Town", "Professor Oak's Laboratory", "Route 01 (Kanto)", @@ -83,7 +246,202 @@ "Birth Island", "Navel Rock" ], + "gold-silver": [ + "Starter", + "New Bark Town", + "Route 29 (Johto)", + "Cherrygrove City", + "Route 30 (Johto)", + "Route 31 (Johto)", + "Dark Cave", + "Violet City", + "Sprout Tower", + "Route 32 (Johto)", + "Ruins of Alph", + "Union Cave", + "Route 33 (Johto)", + "Azalea Town", + "Slowpoke Well", + "Ilex Forest", + "Route 34 (Johto)", + "Goldenrod City", + "Route 35 (Johto)", + "National Park", + "Route 36 (Johto)", + "Route 37 (Johto)", + "Ecruteak City", + "Burned Tower", + "Bell Tower", + "Route 38 (Johto)", + "Route 39 (Johto)", + "Olivine City", + "Route 40 (Johto)", + "Route 41 (Johto)", + "Cianwood City", + "Route 42 (Johto)", + "Mt Mortar", + "Mt. Mortar", + "Lake of Rage", + "Route 43 (Johto)", + "Route 44 (Johto)", + "Ice Path", + "Blackthorn City", + "Dragons Den", + "Dragon's Den", + "Route 45 (Johto)", + "Route 46 (Johto)", + "Whirl Islands", + "Tohjo Falls", + "Route 27 (Kanto)", + "Route 26 (Kanto)", + "Victory Road (Kanto 2F)", + "Route 28 (Kanto)", + "Mt. Silver", + "Mt. Silver (Cave)", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Viridian Forest", + "Pewter City", + "Pewter Museum of Science", + "Kanto Route 2", + "Route 03 (Kanto)", + "Mt. Moon (B2F)", + "Mt. Moon Square", + "Route 04 (Kanto)", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Cerulean Cave", + "Route 05 (Kanto)", + "Route 06 (Kanto)", + "Vermilion City", + "Route 07 (Kanto)", + "Route 08 (Kanto)", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 12 (Kanto)", + "Route 13 (Kanto)", + "Route 14 (Kanto)", + "Route 15 (Kanto)", + "Fuchsia City", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Celadon City", + "Saffron City", + "Silph Co.", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Route 21 (Kanto)", + "Route 22 (Kanto)" + ], + "crystal": [ + "Starter", + "New Bark Town", + "Route 29 (Johto)", + "Cherrygrove City", + "Route 30 (Johto)", + "Route 31 (Johto)", + "Dark Cave", + "Violet City", + "Sprout Tower", + "Route 32 (Johto)", + "Ruins of Alph", + "Union Cave", + "Route 33 (Johto)", + "Azalea Town", + "Slowpoke Well", + "Ilex Forest", + "Route 34 (Johto)", + "Goldenrod City", + "Route 35 (Johto)", + "National Park", + "Route 36 (Johto)", + "Route 37 (Johto)", + "Ecruteak City", + "Burned Tower", + "Bell Tower", + "Route 38 (Johto)", + "Route 39 (Johto)", + "Olivine City", + "Route 40 (Johto)", + "Route 41 (Johto)", + "Cianwood City", + "Route 42 (Johto)", + "Mt Mortar", + "Mt. Mortar", + "Lake of Rage", + "Route 43 (Johto)", + "Route 44 (Johto)", + "Ice Path", + "Blackthorn City", + "Dragons Den", + "Dragon's Den", + "Route 45 (Johto)", + "Route 46 (Johto)", + "Whirl Islands", + "Tohjo Falls", + "Route 27 (Kanto)", + "Route 26 (Kanto)", + "Victory Road (Kanto 2F)", + "Route 28 (Kanto)", + "Mt. Silver", + "Mt. Silver (Cave)", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Viridian Forest", + "Pewter City", + "Pewter Museum of Science", + "Kanto Route 2", + "Route 03 (Kanto)", + "Mt. Moon (B2F)", + "Mt. Moon Square", + "Route 04 (Kanto)", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Cerulean Cave", + "Route 05 (Kanto)", + "Route 06 (Kanto)", + "Vermilion City", + "Route 07 (Kanto)", + "Route 08 (Kanto)", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 12 (Kanto)", + "Route 13 (Kanto)", + "Route 14 (Kanto)", + "Route 15 (Kanto)", + "Fuchsia City", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Celadon City", + "Saffron City", + "Silph Co.", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Route 21 (Kanto)", + "Route 22 (Kanto)" + ], "heartgold-soulsilver": [ + "Starter", "New Bark Town", "Route 29 (Johto)", "Cherrygrove City", @@ -188,7 +546,178 @@ "Team Rocket HQ (B1F)", "Sinjoh Ruins" ], + "ruby-sapphire": [ + "Starter", + "Littleroot Town", + "Hoenn Route 101", + "Hoenn Route 103", + "Hoenn Route 102", + "Petalburg City", + "Hoenn Route 104", + "Petalburg Woods", + "Rusturf Tunnel", + "Hoenn Route 116", + "Rustboro City", + "Devon Corporation", + "Hoenn Route 105", + "Hoenn Route 106", + "Dewford Town", + "Granite Cave", + "Hoenn Route 107", + "Hoenn Route 108", + "Hoenn Route 109", + "Slateport City", + "Hoenn Route 110", + "New Mauville", + "Hoenn Route 117", + "Hoenn Route 111", + "Desert Ruins", + "Mirage Tower", + "Hoenn Route 112", + "Fiery Path", + "Jagged Pass", + "Lavaridge Town", + "Hoenn Route 113", + "Hoenn Route 114", + "Meteor Falls", + "Hoenn Route 115", + "Fortree City", + "Weather Institute", + "Hoenn Route 118", + "Hoenn Route 119", + "Route 119", + "Hoenn Route 120", + "Hoenn Route 121", + "Safari Zone (Hoenn)", + "Lilycove City", + "Hoenn Route 122", + "Mt. Pyre", + "Hoenn Route 123", + "Team Magma Hideout", + "Team Aqua Hideout", + "Magma Hideout (Jagged Pass)", + "Hoenn Route 124", + "Mossdeep City", + "Hoenn Route 125", + "Shoal Cave", + "Hoenn Route 126", + "Sootopolis City", + "Cave of Origin", + "Hoenn Route 127", + "Hoenn Route 128", + "Seafloor Cavern", + "Hoenn Route 129", + "Hoenn Route 130", + "Hoenn Route 131", + "Pacifidlog Town", + "Hoenn Route 132", + "Hoenn Route 133", + "Hoenn Route 134", + "Ever Grande City", + "Victory Road (Hoenn)", + "Sky Pillar", + "Abandoned Ship", + "Desert Underpass", + "Artisan Cave", + "Altering Cave (Sevii Islands)", + "Ancient Tomb", + "Island Cave", + "Battle Frontier (Hoenn)", + "Southern Island", + "Marine Cave", + "Terra Cave", + "Mirage Island", + "Birth Island", + "Faraway Island", + "Navel Rock" + ], "emerald": [ + "Starter", + "Littleroot Town", + "Hoenn Route 101", + "Hoenn Route 103", + "Hoenn Route 102", + "Petalburg City", + "Hoenn Route 104", + "Petalburg Woods", + "Rusturf Tunnel", + "Hoenn Route 116", + "Rustboro City", + "Devon Corporation", + "Hoenn Route 105", + "Hoenn Route 106", + "Dewford Town", + "Granite Cave", + "Hoenn Route 107", + "Hoenn Route 108", + "Hoenn Route 109", + "Slateport City", + "Hoenn Route 110", + "New Mauville", + "Hoenn Route 117", + "Hoenn Route 111", + "Desert Ruins", + "Mirage Tower", + "Hoenn Route 112", + "Fiery Path", + "Jagged Pass", + "Lavaridge Town", + "Hoenn Route 113", + "Hoenn Route 114", + "Meteor Falls", + "Hoenn Route 115", + "Fortree City", + "Weather Institute", + "Hoenn Route 118", + "Hoenn Route 119", + "Route 119", + "Hoenn Route 120", + "Hoenn Route 121", + "Safari Zone (Hoenn)", + "Lilycove City", + "Hoenn Route 122", + "Mt. Pyre", + "Hoenn Route 123", + "Team Magma Hideout", + "Team Aqua Hideout", + "Magma Hideout (Jagged Pass)", + "Hoenn Route 124", + "Mossdeep City", + "Hoenn Route 125", + "Shoal Cave", + "Hoenn Route 126", + "Sootopolis City", + "Cave of Origin", + "Hoenn Route 127", + "Hoenn Route 128", + "Seafloor Cavern", + "Hoenn Route 129", + "Hoenn Route 130", + "Hoenn Route 131", + "Pacifidlog Town", + "Hoenn Route 132", + "Hoenn Route 133", + "Hoenn Route 134", + "Ever Grande City", + "Victory Road (Hoenn)", + "Sky Pillar", + "Abandoned Ship", + "Desert Underpass", + "Artisan Cave", + "Altering Cave (Sevii Islands)", + "Ancient Tomb", + "Island Cave", + "Battle Frontier (Hoenn)", + "Southern Island", + "Marine Cave", + "Terra Cave", + "Mirage Island", + "Birth Island", + "Faraway Island", + "Navel Rock" + ], + "omega-ruby-alpha-sapphire": [ + "Starter", "Littleroot Town", "Hoenn Route 101", "Hoenn Route 103", @@ -273,6 +802,7 @@ "Navel Rock" ], "platinum": [ + "Starter", "Twinleaf Town", "Lake Verity", "Route 201 (Sinnoh)", @@ -352,6 +882,7 @@ "Iron Ruins (Sinnoh)" ], "diamond-pearl": [ + "Starter", "Twinleaf Town", "Lake Verity", "Route 201 (Sinnoh)", @@ -425,6 +956,7 @@ "Rock Peak Ruins (Sinnoh)" ], "black-white": [ + "Starter", "Nuvema Town", "Unova Route 1", "Unova Route 2", @@ -477,6 +1009,7 @@ "Liberty Garden" ], "black-2-white-2": [ + "Starter", "Aspertia City", "Unova Route 19", "Floccesy Town", @@ -543,6 +1076,7 @@ "Nature Preserve" ], "x-y": [ + "Starter", "Vaniville Town", "Aquacorde Town", "Kalos Route 02", @@ -597,6 +1131,7 @@ "Friend Safari" ], "sun-moon": [ + "Starter", "Iki Town", "Alola Route 1", "Trainer’s School (Alola)", @@ -668,7 +1203,7 @@ "Ruins of Conflict" ], "ultra-sun-ultra-moon": [ - "Iki Town", + "Starter", "Alola Route 1", "Trainer’s School (Alola)", "Hau'oli City", @@ -753,6 +1288,7 @@ "Ruins of Abundance" ], "sword-shield": [ + "Starter", "Postwick", "Slumbering Weald", "Wedgehurst", @@ -838,6 +1374,7 @@ "Meetup Spot" ], "brilliant-diamond-shining-pearl": [ + "Starter", "Twinleaf Town", "Lake Verity", "Route 201 (Sinnoh)", @@ -932,6 +1469,7 @@ "Hall of Origin" ], "legends-arceus": [ + "Starter", "Jubilife Village", "Aspiration Hill", "Floaro Gardens", @@ -1022,6 +1560,7 @@ "Lake Verity #2" ], "scarlet-violet": [ + "Starter", "Cabo Poco", "Poco Path", "Area One (South Province)", @@ -1094,6 +1633,7 @@ "Random (Around Terrarium)" ], "legends-z-a": [ + "Starter", "Wild Zone 1", "Wild Zone 2", "Wild Zone 3", @@ -1116,13 +1656,5 @@ "Wild Zone 20" ] }, - "aliases": { - "red-blue": "firered-leafgreen", - "yellow": "firered-leafgreen", - "lets-go": "firered-leafgreen", - "gold-silver": "heartgold-soulsilver", - "crystal": "heartgold-soulsilver", - "ruby-sapphire": "emerald", - "omega-ruby-alpha-sapphire": "emerald" - } + "aliases": {} } diff --git a/tools/generate_route_order.py b/tools/generate_route_order.py index 168ea26..cdbafd7 100644 --- a/tools/generate_route_order.py +++ b/tools/generate_route_order.py @@ -13,7 +13,7 @@ SEEDS_DIR = Path(__file__).resolve().parent.parent / "backend" / "src" / "app" / DATA_DIR = SEEDS_DIR / "data" # ============================================================================ -# Route orderings by version group +# Route orderings by version group (each version group has its own standalone list) # Each list starts with "Starter" and then lists locations in game progression order. # Names must match the encounter data files exactly OR use the startswith matching # (e.g. "Mt. Moon" matches "Mt. Moon (B2F)" because name.startswith("Mt. Moon (")) @@ -21,7 +21,181 @@ DATA_DIR = SEEDS_DIR / "data" ROUTE_ORDERS = { # ======================================================================== - # Gen 1 - FireRed/LeafGreen (also used by Red/Blue, Yellow, Let's Go) + # Gen 1 - Red/Blue + # ======================================================================== + "red-blue": [ + "Starter", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Route 22 (Kanto)", + "Route 02 (Kanto)", + "Viridian Forest", + "Route 03 (Kanto)", + "Mt. Moon", + "Route 04 (Kanto)", + "Route 4", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Route 05 (Kanto)", + "Underground Path (Kanto - Routes 5-6)", + "Route 06 (Kanto)", + "Vermilion City", + "Vermilion City (Port)", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 08 (Kanto)", + "Route 07 (Kanto)", + "Celadon City", + "Pokémon Tower", + "Silph Co.", + "Saffron City", + "Fighting Dojo", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Fuchsia City", + "Safari Zone (Kanto)", + "Route 15 (Kanto)", + "Route 14 (Kanto)", + "Route 13 (Kanto)", + "Route 12 (Kanto)", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Pokémon Mansion (Kanto)", + "Cinnabar Lab", + "Route 21 (Kanto)", + "Route 23 (Kanto)", + "Victory Road (Kanto)", + "Cerulean Cave", + ], + + # ======================================================================== + # Gen 1 - Yellow + # ======================================================================== + "yellow": [ + "Starter", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Route 22 (Kanto)", + "Route 02 (Kanto)", + "Viridian Forest", + "Route 03 (Kanto)", + "Mt. Moon", + "Route 04 (Kanto)", + "Route 4", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Route 05 (Kanto)", + "Underground Path (Kanto - Routes 5-6)", + "Route 06 (Kanto)", + "Vermilion City", + "Vermilion City (Port)", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 08 (Kanto)", + "Route 07 (Kanto)", + "Celadon City", + "Pokémon Tower", + "Silph Co.", + "Saffron City", + "Fighting Dojo", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Fuchsia City", + "Safari Zone (Kanto)", + "Route 15 (Kanto)", + "Route 14 (Kanto)", + "Route 13 (Kanto)", + "Route 12 (Kanto)", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Pokémon Mansion (Kanto)", + "Cinnabar Lab", + "Route 21 (Kanto)", + "Route 23 (Kanto)", + "Victory Road (Kanto)", + "Cerulean Cave", + ], + + # ======================================================================== + # Gen 1 - Let's Go Pikachu/Eevee + # ======================================================================== + "lets-go": [ + "Starter", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Route 22 (Kanto)", + "Route 02 (Kanto)", + "Viridian Forest", + "Route 03 (Kanto)", + "Mt. Moon", + "Route 04 (Kanto)", + "Route 4", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Route 05 (Kanto)", + "Underground Path (Kanto - Routes 5-6)", + "Route 06 (Kanto)", + "Vermilion City", + "Vermilion City (Port)", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 08 (Kanto)", + "Route 07 (Kanto)", + "Celadon City", + "Pokémon Tower", + "Silph Co.", + "Saffron City", + "Fighting Dojo", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Fuchsia City", + "Safari Zone (Kanto)", + "Route 15 (Kanto)", + "Route 14 (Kanto)", + "Route 13 (Kanto)", + "Route 12 (Kanto)", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Pokémon Mansion (Kanto)", + "Cinnabar Lab", + "Route 21 (Kanto)", + "Route 23 (Kanto)", + "Victory Road (Kanto)", + "Cerulean Cave", + ], + + # ======================================================================== + # Gen 1 - FireRed/LeafGreen # ======================================================================== "firered-leafgreen": [ "Starter", @@ -110,7 +284,211 @@ ROUTE_ORDERS = { ], # ======================================================================== - # Gen 2 - HeartGold/SoulSilver (also used by Gold/Silver, Crystal) + # Gen 2 - Gold/Silver + # ======================================================================== + "gold-silver": [ + "Starter", + "New Bark Town", + "Route 29 (Johto)", + "Cherrygrove City", + "Route 30 (Johto)", + "Route 31 (Johto)", + "Dark Cave", + "Violet City", + "Sprout Tower", + "Route 32 (Johto)", + "Ruins of Alph", + "Union Cave", + "Route 33 (Johto)", + "Azalea Town", + "Slowpoke Well", + "Ilex Forest", + "Route 34 (Johto)", + "Goldenrod City", + "Route 35 (Johto)", + "National Park", + "Route 36 (Johto)", + "Route 37 (Johto)", + "Ecruteak City", + "Burned Tower", + "Bell Tower", + "Route 38 (Johto)", + "Route 39 (Johto)", + "Olivine City", + "Route 40 (Johto)", + "Route 41 (Johto)", + "Cianwood City", + "Route 42 (Johto)", + "Mt Mortar", + "Mt. Mortar", + "Lake of Rage", + "Route 43 (Johto)", + "Route 44 (Johto)", + "Ice Path", + "Blackthorn City", + "Dragons Den", + "Dragon's Den", + "Route 45 (Johto)", + "Route 46 (Johto)", + "Whirl Islands", + "Tohjo Falls", + "Route 27 (Kanto)", + "Route 26 (Kanto)", + "Victory Road (Kanto 2F)", + # Kanto postgame + "Route 28 (Kanto)", + "Mt. Silver", + "Mt. Silver (Cave)", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Viridian Forest", + "Pewter City", + "Pewter Museum of Science", + "Kanto Route 2", + "Route 03 (Kanto)", + "Mt. Moon (B2F)", + "Mt. Moon Square", + "Route 04 (Kanto)", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Cerulean Cave", + "Route 05 (Kanto)", + "Route 06 (Kanto)", + "Vermilion City", + "Route 07 (Kanto)", + "Route 08 (Kanto)", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 12 (Kanto)", + "Route 13 (Kanto)", + "Route 14 (Kanto)", + "Route 15 (Kanto)", + "Fuchsia City", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Celadon City", + "Saffron City", + "Silph Co.", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Route 21 (Kanto)", + "Route 22 (Kanto)", + ], + + # ======================================================================== + # Gen 2 - Crystal + # ======================================================================== + "crystal": [ + "Starter", + "New Bark Town", + "Route 29 (Johto)", + "Cherrygrove City", + "Route 30 (Johto)", + "Route 31 (Johto)", + "Dark Cave", + "Violet City", + "Sprout Tower", + "Route 32 (Johto)", + "Ruins of Alph", + "Union Cave", + "Route 33 (Johto)", + "Azalea Town", + "Slowpoke Well", + "Ilex Forest", + "Route 34 (Johto)", + "Goldenrod City", + "Route 35 (Johto)", + "National Park", + "Route 36 (Johto)", + "Route 37 (Johto)", + "Ecruteak City", + "Burned Tower", + "Bell Tower", + "Route 38 (Johto)", + "Route 39 (Johto)", + "Olivine City", + "Route 40 (Johto)", + "Route 41 (Johto)", + "Cianwood City", + "Route 42 (Johto)", + "Mt Mortar", + "Mt. Mortar", + "Lake of Rage", + "Route 43 (Johto)", + "Route 44 (Johto)", + "Ice Path", + "Blackthorn City", + "Dragons Den", + "Dragon's Den", + "Route 45 (Johto)", + "Route 46 (Johto)", + "Whirl Islands", + "Tohjo Falls", + "Route 27 (Kanto)", + "Route 26 (Kanto)", + "Victory Road (Kanto 2F)", + # Kanto postgame + "Route 28 (Kanto)", + "Mt. Silver", + "Mt. Silver (Cave)", + "Pallet Town", + "Professor Oak's Laboratory", + "Route 01 (Kanto)", + "Viridian City", + "Viridian Forest", + "Pewter City", + "Pewter Museum of Science", + "Kanto Route 2", + "Route 03 (Kanto)", + "Mt. Moon (B2F)", + "Mt. Moon Square", + "Route 04 (Kanto)", + "Cerulean City", + "Route 24 (Kanto)", + "Route 25 (Kanto)", + "Cerulean Cave", + "Route 05 (Kanto)", + "Route 06 (Kanto)", + "Vermilion City", + "Route 07 (Kanto)", + "Route 08 (Kanto)", + "Route 09 (Kanto)", + "Route 10 (Kanto)", + "Rock Tunnel", + "Power Plant", + "Route 11 (Kanto)", + "Diglett's Cave", + "Route 12 (Kanto)", + "Route 13 (Kanto)", + "Route 14 (Kanto)", + "Route 15 (Kanto)", + "Fuchsia City", + "Route 16 (Kanto)", + "Route 17 (Kanto)", + "Route 18 (Kanto)", + "Celadon City", + "Saffron City", + "Silph Co.", + "Route 19 (Kanto)", + "Route 20 (Kanto)", + "Seafoam Islands", + "Cinnabar Island", + "Route 21 (Kanto)", + "Route 22 (Kanto)", + ], + + # ======================================================================== + # Gen 2 - HeartGold/SoulSilver # ======================================================================== "heartgold-soulsilver": [ "Starter", @@ -222,7 +600,97 @@ ROUTE_ORDERS = { ], # ======================================================================== - # Gen 3 - Emerald (also used by Ruby/Sapphire, ORAS) + # Gen 3 - Ruby/Sapphire + # ======================================================================== + "ruby-sapphire": [ + "Starter", + "Littleroot Town", + "Hoenn Route 101", + "Hoenn Route 103", + "Hoenn Route 102", + "Petalburg City", + "Hoenn Route 104", + "Petalburg Woods", + "Rusturf Tunnel", + "Hoenn Route 116", + "Rustboro City", + "Devon Corporation", + "Hoenn Route 105", + "Hoenn Route 106", + "Dewford Town", + "Granite Cave", + "Hoenn Route 107", + "Hoenn Route 108", + "Hoenn Route 109", + "Slateport City", + "Hoenn Route 110", + "New Mauville", + "Hoenn Route 117", + "Hoenn Route 111", + "Desert Ruins", + "Mirage Tower", + "Hoenn Route 112", + "Fiery Path", + "Jagged Pass", + "Lavaridge Town", + "Hoenn Route 113", + "Hoenn Route 114", + "Meteor Falls", + "Hoenn Route 115", + "Fortree City", + "Weather Institute", + "Hoenn Route 118", + "Hoenn Route 119", + "Route 119", + "Hoenn Route 120", + "Hoenn Route 121", + "Safari Zone (Hoenn)", + "Lilycove City", + "Hoenn Route 122", + "Mt. Pyre", + "Hoenn Route 123", + "Team Magma Hideout", + "Team Aqua Hideout", + "Magma Hideout (Jagged Pass)", + "Hoenn Route 124", + "Mossdeep City", + "Hoenn Route 125", + "Shoal Cave", + "Hoenn Route 126", + "Sootopolis City", + "Cave of Origin", + "Hoenn Route 127", + "Hoenn Route 128", + "Seafloor Cavern", + "Hoenn Route 129", + "Hoenn Route 130", + "Hoenn Route 131", + "Pacifidlog Town", + "Hoenn Route 132", + "Hoenn Route 133", + "Hoenn Route 134", + "Ever Grande City", + "Victory Road (Hoenn)", + "Sky Pillar", + "Abandoned Ship", + "Desert Underpass", + "Artisan Cave", + "Altering Cave (Sevii Islands)", + # Postgame/special + "Ancient Tomb", + "Island Cave", + "Battle Frontier (Hoenn)", + "Southern Island", + "Marine Cave", + "Terra Cave", + "Mirage Island", + "Birth Island", + "Faraway Island", + "Navel Rock", + ], + + # ======================================================================== + # Gen 3 - Emerald # ======================================================================== "emerald": [ "Starter", @@ -311,6 +779,96 @@ ROUTE_ORDERS = { "Navel Rock", ], + # ======================================================================== + # Gen 3 - Omega Ruby/Alpha Sapphire + # ======================================================================== + "omega-ruby-alpha-sapphire": [ + "Starter", + "Littleroot Town", + "Hoenn Route 101", + "Hoenn Route 103", + "Hoenn Route 102", + "Petalburg City", + "Hoenn Route 104", + "Petalburg Woods", + "Rusturf Tunnel", + "Hoenn Route 116", + "Rustboro City", + "Devon Corporation", + "Hoenn Route 105", + "Hoenn Route 106", + "Dewford Town", + "Granite Cave", + "Hoenn Route 107", + "Hoenn Route 108", + "Hoenn Route 109", + "Slateport City", + "Hoenn Route 110", + "New Mauville", + "Hoenn Route 117", + "Hoenn Route 111", + "Desert Ruins", + "Mirage Tower", + "Hoenn Route 112", + "Fiery Path", + "Jagged Pass", + "Lavaridge Town", + "Hoenn Route 113", + "Hoenn Route 114", + "Meteor Falls", + "Hoenn Route 115", + "Fortree City", + "Weather Institute", + "Hoenn Route 118", + "Hoenn Route 119", + "Route 119", + "Hoenn Route 120", + "Hoenn Route 121", + "Safari Zone (Hoenn)", + "Lilycove City", + "Hoenn Route 122", + "Mt. Pyre", + "Hoenn Route 123", + "Team Magma Hideout", + "Team Aqua Hideout", + "Magma Hideout (Jagged Pass)", + "Hoenn Route 124", + "Mossdeep City", + "Hoenn Route 125", + "Shoal Cave", + "Hoenn Route 126", + "Sootopolis City", + "Cave of Origin", + "Hoenn Route 127", + "Hoenn Route 128", + "Seafloor Cavern", + "Hoenn Route 129", + "Hoenn Route 130", + "Hoenn Route 131", + "Pacifidlog Town", + "Hoenn Route 132", + "Hoenn Route 133", + "Hoenn Route 134", + "Ever Grande City", + "Victory Road (Hoenn)", + "Sky Pillar", + "Abandoned Ship", + "Desert Underpass", + "Artisan Cave", + "Altering Cave (Sevii Islands)", + # Postgame/special + "Ancient Tomb", + "Island Cave", + "Battle Frontier (Hoenn)", + "Southern Island", + "Marine Cave", + "Terra Cave", + "Mirage Island", + "Birth Island", + "Faraway Island", + "Navel Rock", + ], + # ======================================================================== # Gen 4 - Platinum # ======================================================================== @@ -1248,16 +1806,8 @@ ROUTE_ORDERS = { ], } -# Aliases: maps version group keys that share the same ordering -ALIASES = { - "red-blue": "firered-leafgreen", - "yellow": "firered-leafgreen", - "lets-go": "firered-leafgreen", - "gold-silver": "heartgold-soulsilver", - "crystal": "heartgold-soulsilver", - "ruby-sapphire": "emerald", - "omega-ruby-alpha-sapphire": "emerald", -} +# Aliases: no longer used — each version group has its own standalone route ordering. +ALIASES = {} def validate_route_order(vg_key: str, order_list: list[str]) -> list[str]: @@ -1314,7 +1864,7 @@ def validate_route_order(vg_key: str, order_list: list[str]) -> list[str]: def main(): output = { - "_comment": "Route progression order by version group. Aliases at the bottom map version groups that share the same ordering.", + "_comment": "Route progression order by version group. Each version group has its own standalone ordering.", "routes": ROUTE_ORDERS, "aliases": ALIASES, } diff --git a/tools/import-pokedb/import_pokedb/loader.py b/tools/import-pokedb/import_pokedb/loader.py index bce5092..3ec7554 100644 --- a/tools/import-pokedb/import_pokedb/loader.py +++ b/tools/import-pokedb/import_pokedb/loader.py @@ -150,9 +150,6 @@ def load_seed_config(seeds_dir: Path) -> SeedConfig: ro_raw = json.load(f) route_order: dict[str, list[str]] = dict(ro_raw.get("routes", {})) - for alias, target in ro_raw.get("aliases", {}).items(): - if target in route_order: - route_order[alias] = route_order[target] # Load special_encounters.json (optional) se_path = seeds_dir / "special_encounters.json" -- 2.49.1 From d1503553eaa42bfdfede46b7d82ae72b5a94989d Mon Sep 17 00:00:00 2001 From: Julian Tabel Date: Sat, 14 Feb 2026 15:24:02 +0100 Subject: [PATCH 04/22] Fix route deletion failing due to FK constraint violations Route deletion failed with two integrity errors: 1. route_encounters had no cascade, so SQLAlchemy tried to NULL the non-nullable route_id instead of deleting the rows 2. boss_battles.after_route_id referenced the route being deleted Added cascade="all, delete-orphan" to Route.route_encounters and nulled out boss battle after_route_id references before deletion. Co-Authored-By: Claude Opus 4.6 --- ...-deletion-failing-due-to-missing-cascade.md | 18 ++++++++++++++++++ backend/src/app/api/games.py | 9 ++++++++- backend/src/app/models/route.py | 2 +- 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 .beans/nuzlocke-tracker-h0dr--fix-route-deletion-failing-due-to-missing-cascade.md diff --git a/.beans/nuzlocke-tracker-h0dr--fix-route-deletion-failing-due-to-missing-cascade.md b/.beans/nuzlocke-tracker-h0dr--fix-route-deletion-failing-due-to-missing-cascade.md new file mode 100644 index 0000000..a507376 --- /dev/null +++ b/.beans/nuzlocke-tracker-h0dr--fix-route-deletion-failing-due-to-missing-cascade.md @@ -0,0 +1,18 @@ +--- +# nuzlocke-tracker-h0dr +title: Fix route deletion failing due to missing cascade on route_encounters +status: completed +type: bug +priority: normal +created_at: 2026-02-14T14:19:56Z +updated_at: 2026-02-14T14:23:10Z +--- + +Deleting a route returns 500 due to two FK constraint issues: + +1. `route_encounters.route_id` — missing cascade on the relationship (SQLAlchemy tried to NULL a NOT NULL column) +2. `boss_battles.after_route_id` — references the route being deleted + +## Fix +- Added `cascade="all, delete-orphan"` to `Route.route_encounters` relationship +- Added `update(BossBattle).where(...).values(after_route_id=None)` before deleting the route in the delete endpoint \ No newline at end of file diff --git a/backend/src/app/api/games.py b/backend/src/app/api/games.py index a755ecd..33ac589 100644 --- a/backend/src/app/api/games.py +++ b/backend/src/app/api/games.py @@ -2,7 +2,7 @@ import json from pathlib import Path from fastapi import APIRouter, Depends, HTTPException -from sqlalchemy import delete, select +from sqlalchemy import delete, select, update from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy.orm import selectinload @@ -373,6 +373,13 @@ async def delete_route( detail="Cannot delete route with existing encounters. Delete the encounters first.", ) + # Null out any boss battle references to this route + await session.execute( + update(BossBattle) + .where(BossBattle.after_route_id == route_id) + .values(after_route_id=None) + ) + await session.delete(route) await session.commit() diff --git a/backend/src/app/models/route.py b/backend/src/app/models/route.py index e44a9c8..9f1bb6b 100644 --- a/backend/src/app/models/route.py +++ b/backend/src/app/models/route.py @@ -25,7 +25,7 @@ class Route(Base): version_group: Mapped["VersionGroup"] = relationship(back_populates="routes") route_encounters: Mapped[list["RouteEncounter"]] = relationship( - back_populates="route" + back_populates="route", cascade="all, delete-orphan" ) encounters: Mapped[list["Encounter"]] = relationship(back_populates="route") -- 2.49.1 From 76fe0ca2704c464cedea8cb3d41b1eb8eca17692 Mon Sep 17 00:00:00 2001 From: Julian Tabel Date: Sat, 14 Feb 2026 15:40:28 +0100 Subject: [PATCH 05/22] Filter out routes with no encounters for the active game Routes are shared per version group, so game-exclusive locations (e.g., Black City, White Forest) appeared for both games. Now the /games/{id}/routes endpoint excludes routes that have no encounters for the requested game, in both flat and hierarchical modes. Co-Authored-By: Claude Opus 4.6 --- ...routes-with-no-encounters-for-active-ga.md | 11 ++++++++ backend/src/app/api/games.py | 26 ++++++++++++++----- 2 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 .beans/nuzlocke-tracker-cftf--filter-out-routes-with-no-encounters-for-active-ga.md diff --git a/.beans/nuzlocke-tracker-cftf--filter-out-routes-with-no-encounters-for-active-ga.md b/.beans/nuzlocke-tracker-cftf--filter-out-routes-with-no-encounters-for-active-ga.md new file mode 100644 index 0000000..6970211 --- /dev/null +++ b/.beans/nuzlocke-tracker-cftf--filter-out-routes-with-no-encounters-for-active-ga.md @@ -0,0 +1,11 @@ +--- +# nuzlocke-tracker-cftf +title: Filter out routes with no encounters for active game +status: completed +type: task +priority: normal +created_at: 2026-02-14T14:38:05Z +updated_at: 2026-02-14T14:38:19Z +--- + +Route orders are per version group, so both games in a pair share the same route list. Routes with no encounters for the active game should be filtered out in the list_game_routes endpoint. \ No newline at end of file diff --git a/backend/src/app/api/games.py b/backend/src/app/api/games.py index 33ac589..67d747c 100644 --- a/backend/src/app/api/games.py +++ b/backend/src/app/api/games.py @@ -169,7 +169,11 @@ async def list_game_routes( } if flat: - return [route_to_dict(r) for r in all_routes] + return [ + route_to_dict(r) + for r in all_routes + if any(re.game_id == game_id for re in r.route_encounters) + ] # Build hierarchical structure # Group children by parent_route_id @@ -180,16 +184,24 @@ async def list_game_routes( if route.parent_route_id is None: top_level_routes.append(route) else: - children_by_parent.setdefault(route.parent_route_id, []).append( - route_to_dict(route) - ) + # Only include children that have encounters for this game + if any(re.game_id == game_id for re in route.route_encounters): + children_by_parent.setdefault(route.parent_route_id, []).append( + route_to_dict(route) + ) # Build response with nested children + # Only include top-level routes that have their own encounters or remaining children response = [] for route in top_level_routes: - route_dict = route_to_dict(route) - route_dict["children"] = children_by_parent.get(route.id, []) - response.append(route_dict) + children = children_by_parent.get(route.id, []) + has_own_encounters = any( + re.game_id == game_id for re in route.route_encounters + ) + if has_own_encounters or children: + route_dict = route_to_dict(route) + route_dict["children"] = children + response.append(route_dict) return response -- 2.49.1 From a691fb94c4c69995baef1408dd13f4b5089191a3 Mon Sep 17 00:00:00 2001 From: Julian Tabel Date: Sat, 14 Feb 2026 16:09:50 +0100 Subject: [PATCH 06/22] Fix route filtering to keep parent routes with encountered children In flat mode, parent routes with no direct encounters were being filtered out even when their children had encounters. Now we pre-compute which parents have encountered children so they're retained in both flat and hierarchical modes. Co-Authored-By: Claude Opus 4.6 --- backend/src/app/api/games.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/backend/src/app/api/games.py b/backend/src/app/api/games.py index 67d747c..573f99e 100644 --- a/backend/src/app/api/games.py +++ b/backend/src/app/api/games.py @@ -168,11 +168,21 @@ async def list_game_routes( "encounter_methods": methods, } + # Determine which routes have encounters for this game + def has_encounters(route: Route) -> bool: + return any(re.game_id == game_id for re in route.route_encounters) + + # Collect IDs of parent routes that have at least one child with encounters + parents_with_children = set() + for route in all_routes: + if route.parent_route_id is not None and has_encounters(route): + parents_with_children.add(route.parent_route_id) + if flat: return [ route_to_dict(r) for r in all_routes - if any(re.game_id == game_id for re in r.route_encounters) + if has_encounters(r) or r.id in parents_with_children ] # Build hierarchical structure @@ -183,22 +193,17 @@ async def list_game_routes( for route in all_routes: if route.parent_route_id is None: top_level_routes.append(route) - else: - # Only include children that have encounters for this game - if any(re.game_id == game_id for re in route.route_encounters): - children_by_parent.setdefault(route.parent_route_id, []).append( - route_to_dict(route) - ) + elif has_encounters(route): + children_by_parent.setdefault(route.parent_route_id, []).append( + route_to_dict(route) + ) # Build response with nested children # Only include top-level routes that have their own encounters or remaining children response = [] for route in top_level_routes: children = children_by_parent.get(route.id, []) - has_own_encounters = any( - re.game_id == game_id for re in route.route_encounters - ) - if has_own_encounters or children: + if has_encounters(route) or children: route_dict = route_to_dict(route) route_dict["children"] = children response.append(route_dict) -- 2.49.1 From c4ed2329969498c40bfd6a5b28020023b7bfed90 Mon Sep 17 00:00:00 2001 From: Julian Tabel Date: Sat, 14 Feb 2026 16:28:27 +0100 Subject: [PATCH 07/22] Refine seed data: route ordering and boss configs up to gen 8 (WIP) Co-Authored-By: Claude Opus 4.6 --- ...oute-ordering-and-boss-configuration-fo.md | 55 + .../src/app/seeds/data/alpha-sapphire.json | 3378 ++--- .../src/app/seeds/data/black-2-bosses.json | 14 +- backend/src/app/seeds/data/black-2.json | 836 +- backend/src/app/seeds/data/black-bosses.json | 102 +- backend/src/app/seeds/data/black.json | 3178 ++--- backend/src/app/seeds/data/blue.json | 534 +- .../src/app/seeds/data/diamond-bosses.json | 14 +- backend/src/app/seeds/data/diamond.json | 532 +- backend/src/app/seeds/data/emerald.json | 1926 +-- .../src/app/seeds/data/firered-bosses.json | 54 +- backend/src/app/seeds/data/firered.json | 4014 +++--- .../src/app/seeds/data/heartgold-bosses.json | 146 +- backend/src/app/seeds/data/heartgold.json | 11006 ++++++++-------- backend/src/app/seeds/data/leafgreen.json | 4076 +++--- backend/src/app/seeds/data/moon.json | 484 +- .../src/app/seeds/data/omega-ruby-bosses.json | 12 +- backend/src/app/seeds/data/omega-ruby.json | 3305 ++--- backend/src/app/seeds/data/pearl.json | 532 +- .../src/app/seeds/data/platinum-bosses.json | 12 +- backend/src/app/seeds/data/platinum.json | 3122 ++--- backend/src/app/seeds/data/red-bosses.json | 10 +- backend/src/app/seeds/data/red.json | 542 +- backend/src/app/seeds/data/ruby.json | 214 +- backend/src/app/seeds/data/sapphire.json | 214 +- backend/src/app/seeds/data/soulsilver.json | 10866 +++++++-------- backend/src/app/seeds/data/sun-bosses.json | 102 +- backend/src/app/seeds/data/sun.json | 439 +- backend/src/app/seeds/data/sword-bosses.json | 16 +- backend/src/app/seeds/data/ultra-moon.json | 842 +- .../src/app/seeds/data/ultra-sun-bosses.json | 74 +- backend/src/app/seeds/data/ultra-sun.json | 822 +- backend/src/app/seeds/data/violet.json | 304 +- backend/src/app/seeds/data/white-2.json | 836 +- backend/src/app/seeds/data/white.json | 3176 ++--- backend/src/app/seeds/data/x-bosses.json | 14 +- backend/src/app/seeds/data/x.json | 132 +- backend/src/app/seeds/data/y.json | 126 +- backend/src/app/seeds/data/yellow-bosses.json | 10 +- backend/src/app/seeds/data/yellow.json | 68 +- frontend/public/boss-sprites/black/alder.png | Bin 0 -> 2790 bytes .../public/boss-sprites/diamond/roark.png | Bin 3969 -> 1001 bytes 42 files changed, 28119 insertions(+), 28020 deletions(-) create mode 100644 .beans/nuzlocke-tracker-qvww--fine-tune-route-ordering-and-boss-configuration-fo.md create mode 100644 frontend/public/boss-sprites/black/alder.png diff --git a/.beans/nuzlocke-tracker-qvww--fine-tune-route-ordering-and-boss-configuration-fo.md b/.beans/nuzlocke-tracker-qvww--fine-tune-route-ordering-and-boss-configuration-fo.md new file mode 100644 index 0000000..3890e83 --- /dev/null +++ b/.beans/nuzlocke-tracker-qvww--fine-tune-route-ordering-and-boss-configuration-fo.md @@ -0,0 +1,55 @@ +--- +# nuzlocke-tracker-qvww +title: Fine-tune route ordering and boss configuration for all version groups +status: in-progress +type: task +created_at: 2026-02-14T12:26:04Z +updated_at: 2026-02-14T12:26:04Z +--- + +Going through all game data version group by version group to fine-tune: +- Route ordering +- Boss ordering +- Boss "after route" configuration + +## Checklist + +### Generation 1 (Kanto) +- [X] ~~*red-blue*~~ [2026-02-14] +- [X] ~~*yellow*~~ [2026-02-14] + +### Generation 2 (Johto) +- [X] ~~*gold-silver*~~ [2026-02-14] +- [X] ~~*crystal*~~ [2026-02-14] + +### Generation 3 (Hoenn/Kanto) +- [X] ~~*ruby-sapphire*~~ [2026-02-14] +- [X] ~~*emerald*~~ [2026-02-14] +- [X] ~~*firered-leafgreen*~~ [2026-02-14] + +### Generation 4 (Sinnoh/Johto) +- [X] ~~*diamond-pearl*~~ [2026-02-14] +- [X] ~~*platinum*~~ [2026-02-14] +- [X] ~~*heartgold-soulsilver*~~ [2026-02-14] + +### Generation 5 (Unova) +- [X] ~~*black-white*~~ [2026-02-14] +- [X] ~~*black-2-white-2*~~ [2026-02-14] + +### Generation 6 (Kalos/Hoenn) +- [X] ~~*x-y*~~ [2026-02-14] +- [X] ~~*omega-ruby-alpha-sapphire*~~ [2026-02-14] + +### Generation 7 (Alola/Kanto) +- [ ] sun-moon +- [ ] ultra-sun-ultra-moon +- [ ] lets-go + +### Generation 8 (Galar/Sinnoh/Hisui) +- [ ] sword-shield +- [ ] brilliant-diamond-shining-pearl +- [ ] legends-arceus + +### Generation 9 (Paldea/Lumiose) +- [ ] scarlet-violet +- [ ] legends-z-a \ No newline at end of file diff --git a/backend/src/app/seeds/data/alpha-sapphire.json b/backend/src/app/seeds/data/alpha-sapphire.json index 18a5429..0316052 100644 --- a/backend/src/app/seeds/data/alpha-sapphire.json +++ b/backend/src/app/seeds/data/alpha-sapphire.json @@ -862,31 +862,9 @@ } ] }, - { - "name": "Rusturf Tunnel", - "order": 10, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 100, - "min_level": 14, - "max_level": 17 - }, - { - "pokeapi_id": 293, - "pokemon_name": "Whismur", - "method": "walk", - "encounter_rate": 100, - "min_level": 5, - "max_level": 10 - } - ] - }, { "name": "Hoenn Route 116", - "order": 11, + "order": 10, "encounters": [ { "pokeapi_id": 133, @@ -954,6 +932,28 @@ } ] }, + { + "name": "Rusturf Tunnel", + "order": 11, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 100, + "min_level": 14, + "max_level": 17 + }, + { + "pokeapi_id": 293, + "pokemon_name": "Whismur", + "method": "walk", + "encounter_rate": 100, + "min_level": 5, + "max_level": 10 + } + ] + }, { "name": "Rustboro City", "order": 12, @@ -2159,39 +2159,9 @@ } ] }, - { - "name": "New Mauville", - "order": 26, - "encounters": [ - { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "walk", - "encounter_rate": 100, - "min_level": 12, - "max_level": 25 - }, - { - "pokeapi_id": 81, - "pokemon_name": "Magnemite", - "method": "walk", - "encounter_rate": 85, - "min_level": 12, - "max_level": 25 - }, - { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "static", - "encounter_rate": 33, - "min_level": 25, - "max_level": 25 - } - ] - }, { "name": "Hoenn Route 117", - "order": 27, + "order": 26, "encounters": [ { "pokeapi_id": 585, @@ -2365,12 +2335,12 @@ }, { "name": "Hoenn Route 111", - "order": 28, + "order": 27, "encounters": [], "children": [ { "name": "Hoenn Route 111 (South section)", - "order": 29, + "order": 28, "encounters": [ { "pokeapi_id": 339, @@ -2464,7 +2434,7 @@ }, { "name": "Hoenn Route 111 (Desert)", - "order": 30, + "order": 29, "encounters": [ { "pokeapi_id": 557, @@ -2526,28 +2496,14 @@ } ] }, - { - "name": "Desert Ruins", - "order": 31, - "encounters": [ - { - "pokeapi_id": 377, - "pokemon_name": "Regirock", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - } - ] - }, { "name": "Hoenn Route 112", - "order": 32, + "order": 30, "encounters": [], "children": [ { "name": "Hoenn Route 112 (South section)", - "order": 33, + "order": 31, "encounters": [ { "pokeapi_id": 322, @@ -2593,7 +2549,7 @@ }, { "name": "Hoenn Route 112 (North section)", - "order": 34, + "order": 32, "encounters": [ { "pokeapi_id": 322, @@ -2641,7 +2597,7 @@ }, { "name": "Fiery Path", - "order": 35, + "order": 33, "encounters": [ { "pokeapi_id": 50, @@ -2717,93 +2673,9 @@ } ] }, - { - "name": "Jagged Pass", - "order": 36, - "encounters": [ - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 100, - "min_level": 10, - "max_level": 21 - }, - { - "pokeapi_id": 56, - "pokemon_name": "Mankey", - "method": "walk", - "encounter_rate": 100, - "min_level": 21, - "max_level": 21 - }, - { - "pokeapi_id": 77, - "pokemon_name": "Ponyta", - "method": "walk", - "encounter_rate": 100, - "min_level": 21, - "max_level": 21 - }, - { - "pokeapi_id": 236, - "pokemon_name": "Tyrogue", - "method": "walk", - "encounter_rate": 100, - "min_level": 21, - "max_level": 21 - }, - { - "pokeapi_id": 325, - "pokemon_name": "Spoink", - "method": "walk", - "encounter_rate": 55, - "min_level": 10, - "max_level": 21 - }, - { - "pokeapi_id": 322, - "pokemon_name": "Numel", - "method": "walk", - "encounter_rate": 40, - "min_level": 18, - "max_level": 21 - } - ] - }, - { - "name": "Lavaridge Town", - "order": 37, - "encounters": [ - { - "pokeapi_id": 352, - "pokemon_name": "Kecleon", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 175, - "pokemon_name": "Togepi", - "method": "gift", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - }, - { - "pokeapi_id": 360, - "pokemon_name": "Wynaut", - "method": "gift", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - } - ] - }, { "name": "Hoenn Route 113", - "order": 38, + "order": 34, "encounters": [ { "pokeapi_id": 626, @@ -2855,9 +2727,31 @@ } ] }, + { + "name": "Fallarbor Town", + "order": 35, + "encounters": [ + { + "pokeapi_id": 10082, + "pokemon_name": "Pikachu (Pop Star)", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 10080, + "pokemon_name": "Pikachu (Rock Star)", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + } + ] + }, { "name": "Hoenn Route 114", - "order": 39, + "order": 36, "encounters": [ { "pokeapi_id": 339, @@ -3015,12 +2909,12 @@ }, { "name": "Meteor Falls", - "order": 40, + "order": 37, "encounters": [], "children": [ { "name": "Meteor Falls (1F 1R)", - "order": 41, + "order": 38, "encounters": [ { "pokeapi_id": 339, @@ -3138,7 +3032,7 @@ }, { "name": "Meteor Falls (1F 2R)", - "order": 42, + "order": 39, "encounters": [ { "pokeapi_id": 35, @@ -3264,7 +3158,7 @@ }, { "name": "Meteor Falls (B1F 1R)", - "order": 43, + "order": 40, "encounters": [ { "pokeapi_id": 35, @@ -3390,7 +3284,7 @@ }, { "name": "Meteor Falls (B1F 2R)", - "order": 44, + "order": 41, "encounters": [ { "pokeapi_id": 35, @@ -3526,7 +3420,7 @@ }, { "name": "Hoenn Route 115", - "order": 45, + "order": 42, "encounters": [ { "pokeapi_id": 35, @@ -3659,36 +3553,92 @@ ] }, { - "name": "Fortree City", - "order": 46, + "name": "Jagged Pass", + "order": 43, "encounters": [ { - "pokeapi_id": 300, - "pokemon_name": "Skitty", - "method": "trade", + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", "encounter_rate": 100, - "min_level": 30, - "max_level": 30 + "min_level": 10, + "max_level": 21 + }, + { + "pokeapi_id": 56, + "pokemon_name": "Mankey", + "method": "walk", + "encounter_rate": 100, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 77, + "pokemon_name": "Ponyta", + "method": "walk", + "encounter_rate": 100, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 236, + "pokemon_name": "Tyrogue", + "method": "walk", + "encounter_rate": 100, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 325, + "pokemon_name": "Spoink", + "method": "walk", + "encounter_rate": 55, + "min_level": 10, + "max_level": 21 + }, + { + "pokeapi_id": 322, + "pokemon_name": "Numel", + "method": "walk", + "encounter_rate": 40, + "min_level": 18, + "max_level": 21 } ] }, { - "name": "Weather Institute", - "order": 47, + "name": "Lavaridge Town", + "order": 44, "encounters": [ { - "pokeapi_id": 351, - "pokemon_name": "Castform", + "pokeapi_id": 352, + "pokemon_name": "Kecleon", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 175, + "pokemon_name": "Togepi", "method": "gift", "encounter_rate": 100, - "min_level": 30, - "max_level": 30 + "min_level": 1, + "max_level": 1 + }, + { + "pokeapi_id": 360, + "pokemon_name": "Wynaut", + "method": "gift", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 } ] }, { "name": "Hoenn Route 118", - "order": 48, + "order": 45, "encounters": [ { "pokeapi_id": 190, @@ -3836,9 +3786,31 @@ } ] }, + { + "name": "Southern Island", + "order": 46, + "encounters": [ + { + "pokeapi_id": 380, + "pokemon_name": "Latias", + "method": "gift", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 380, + "pokemon_name": "Latias", + "method": "static", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + } + ] + }, { "name": "Hoenn Route 119", - "order": 49, + "order": 47, "encounters": [ { "pokeapi_id": 349, @@ -3986,6 +3958,34 @@ } ] }, + { + "name": "Weather Institute", + "order": 48, + "encounters": [ + { + "pokeapi_id": 351, + "pokemon_name": "Castform", + "method": "gift", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + } + ] + }, + { + "name": "Fortree City", + "order": 49, + "encounters": [ + { + "pokeapi_id": 300, + "pokemon_name": "Skitty", + "method": "trade", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + } + ] + }, { "name": "Hoenn Route 120", "order": 50, @@ -4859,119 +4859,9 @@ } ] }, - { - "name": "Lilycove City", - "order": 59, - "encounters": [ - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 100, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 10082, - "pokemon_name": "Pikachu (Pop Star)", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 10080, - "pokemon_name": "Pikachu (Rock Star)", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "super-rod", - "encounter_rate": 95, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 65, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 278, - "pokemon_name": "Wingull", - "method": "surf", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 120, - "pokemon_name": "Staryu", - "method": "super-rod", - "encounter_rate": 5, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ] - }, { "name": "Hoenn Route 122", - "order": 60, + "order": 59, "encounters": [ { "pokeapi_id": 594, @@ -5073,12 +4963,12 @@ }, { "name": "Mt. Pyre", - "order": 61, + "order": 60, "encounters": [], "children": [ { "name": "Mt. Pyre (1F)", - "order": 62, + "order": 61, "encounters": [ { "pokeapi_id": 353, @@ -5100,7 +4990,7 @@ }, { "name": "Mt. Pyre (2F)", - "order": 63, + "order": 62, "encounters": [ { "pokeapi_id": 353, @@ -5122,7 +5012,7 @@ }, { "name": "Mt. Pyre (3F)", - "order": 64, + "order": 63, "encounters": [ { "pokeapi_id": 353, @@ -5144,7 +5034,7 @@ }, { "name": "Mt. Pyre (4F)", - "order": 65, + "order": 64, "encounters": [ { "pokeapi_id": 353, @@ -5166,7 +5056,7 @@ }, { "name": "Mt. Pyre (Outside)", - "order": 66, + "order": 65, "encounters": [ { "pokeapi_id": 436, @@ -5228,7 +5118,7 @@ }, { "name": "Mt. Pyre (Summit)", - "order": 67, + "order": 66, "encounters": [ { "pokeapi_id": 436, @@ -5292,7 +5182,7 @@ }, { "name": "Hoenn Route 123", - "order": 68, + "order": 67, "encounters": [ { "pokeapi_id": 341, @@ -5432,14 +5322,202 @@ } ] }, + { + "name": "Lilycove City", + "order": 68, + "encounters": [ + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 100, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 10082, + "pokemon_name": "Pikachu (Pop Star)", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 10080, + "pokemon_name": "Pikachu (Rock Star)", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 95, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 65, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 278, + "pokemon_name": "Wingull", + "method": "surf", + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 120, + "pokemon_name": "Staryu", + "method": "super-rod", + "encounter_rate": 5, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + }, { "name": "Team Magma Hideout", "order": 69, "encounters": [] }, { - "name": "Hoenn Route 124", + "name": "Team Aqua Hideout", "order": 70, + "encounters": [ + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 95, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "static", + "encounter_rate": 50, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 120, + "pokemon_name": "Staryu", + "method": "super-rod", + "encounter_rate": 5, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + }, + { + "name": "Hoenn Route 124", + "order": 71, "encounters": [ { "pokeapi_id": 594, @@ -5541,7 +5619,7 @@ "children": [ { "name": "Hoenn Route 124 (Underwater)", - "order": 71, + "order": 72, "encounters": [ { "pokeapi_id": 170, @@ -5581,7 +5659,7 @@ }, { "name": "Mossdeep City", - "order": 72, + "order": 73, "encounters": [ { "pokeapi_id": 374, @@ -5667,7 +5745,7 @@ }, { "name": "Hoenn Route 125", - "order": 73, + "order": 74, "encounters": [ { "pokeapi_id": 456, @@ -5769,12 +5847,12 @@ }, { "name": "Shoal Cave", - "order": 74, + "order": 75, "encounters": [], "children": [ { "name": "Shoal Cave (High Tide)", - "order": 75, + "order": 76, "encounters": [ { "pokeapi_id": 613, @@ -5908,7 +5986,7 @@ }, { "name": "Shoal Cave (Low Tide)", - "order": 76, + "order": 77, "encounters": [ { "pokeapi_id": 613, @@ -5986,7 +6064,7 @@ }, { "name": "Shoal Cave (Ice Room)", - "order": 77, + "order": 78, "encounters": [ { "pokeapi_id": 41, @@ -6032,243 +6110,9 @@ } ] }, - { - "name": "Hoenn Route 126", - "order": 78, - "encounters": [ - { - "pokeapi_id": 594, - "pokemon_name": "Alomomola", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 456, - "pokemon_name": "Finneon", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 592, - "pokemon_name": "Frillish", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 50, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 15, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ], - "children": [ - { - "name": "Hoenn Route 126 (Underwater)", - "order": 79, - "encounters": [ - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "surf", - "encounter_rate": 50, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 366, - "pokemon_name": "Clamperl", - "method": "surf", - "encounter_rate": 30, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 171, - "pokemon_name": "Lanturn", - "method": "surf", - "encounter_rate": 15, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 369, - "pokemon_name": "Relicanth", - "method": "surf", - "encounter_rate": 5, - "min_level": 30, - "max_level": 30 - } - ] - } - ] - }, - { - "name": "Sootopolis City", - "order": 80, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "surf", - "encounter_rate": 100, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 100, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 95, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 5, - "min_level": 40, - "max_level": 40 - } - ] - }, - { - "name": "Cave of Origin", - "order": 81, - "encounters": [ - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 100, - "min_level": 18, - "max_level": 18 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 69, - "min_level": 33, - "max_level": 36 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "walk", - "encounter_rate": 31, - "min_level": 33, - "max_level": 36 - } - ], - "children": [ - { - "name": "Cave of Origin (B5F)", - "order": 82, - "encounters": [ - { - "pokeapi_id": 10077, - "pokemon_name": "Kyogre (Primal)", - "method": "static", - "encounter_rate": 100, - "min_level": 45, - "max_level": 45 - } - ] - } - ] - }, { "name": "Hoenn Route 127", - "order": 83, + "order": 79, "encounters": [ { "pokeapi_id": 594, @@ -6370,7 +6214,7 @@ }, { "name": "Hoenn Route 128", - "order": 84, + "order": 80, "encounters": [ { "pokeapi_id": 594, @@ -6488,7 +6332,7 @@ "children": [ { "name": "Hoenn Route 128 (Underwater)", - "order": 85, + "order": 81, "encounters": [ { "pokeapi_id": 369, @@ -6536,12 +6380,12 @@ }, { "name": "Seafloor Cavern", - "order": 86, + "order": 82, "encounters": [], "children": [ { "name": "Seafloor Cavern (Entrance)", - "order": 87, + "order": 83, "encounters": [ { "pokeapi_id": 320, @@ -6611,7 +6455,7 @@ }, { "name": "Seafloor Cavern (Room 1)", - "order": 88, + "order": 84, "encounters": [ { "pokeapi_id": 42, @@ -6641,7 +6485,7 @@ }, { "name": "Seafloor Cavern (Room 2)", - "order": 89, + "order": 85, "encounters": [ { "pokeapi_id": 42, @@ -6671,7 +6515,7 @@ }, { "name": "Seafloor Cavern (Room 4)", - "order": 90, + "order": 86, "encounters": [ { "pokeapi_id": 42, @@ -6701,7 +6545,7 @@ }, { "name": "Seafloor Cavern (Room 5)", - "order": 91, + "order": 87, "encounters": [ { "pokeapi_id": 42, @@ -6787,7 +6631,7 @@ }, { "name": "Seafloor Cavern (Room 6)", - "order": 92, + "order": 88, "encounters": [ { "pokeapi_id": 42, @@ -6873,7 +6717,7 @@ }, { "name": "Seafloor Cavern (Room 3)", - "order": 93, + "order": 89, "encounters": [ { "pokeapi_id": 42, @@ -6895,7 +6739,7 @@ }, { "name": "Seafloor Cavern (Room 7)", - "order": 94, + "order": 90, "encounters": [ { "pokeapi_id": 42, @@ -6917,7 +6761,7 @@ }, { "name": "Seafloor Cavern (Room 8)", - "order": 95, + "order": 91, "encounters": [ { "pokeapi_id": 42, @@ -6939,7 +6783,7 @@ }, { "name": "Seafloor Cavern (Room 9)", - "order": 96, + "order": 92, "encounters": [ { "pokeapi_id": 42, @@ -6961,9 +6805,273 @@ } ] }, + { + "name": "Hoenn Route 126", + "order": 93, + "encounters": [ + { + "pokeapi_id": 594, + "pokemon_name": "Alomomola", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 592, + "pokemon_name": "Frillish", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 50, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 15, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ], + "children": [ + { + "name": "Hoenn Route 126 (Underwater)", + "order": 94, + "encounters": [ + { + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "surf", + "encounter_rate": 50, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 366, + "pokemon_name": "Clamperl", + "method": "surf", + "encounter_rate": 30, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 171, + "pokemon_name": "Lanturn", + "method": "surf", + "encounter_rate": 15, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 369, + "pokemon_name": "Relicanth", + "method": "surf", + "encounter_rate": 5, + "min_level": 30, + "max_level": 30 + } + ] + } + ] + }, + { + "name": "Sootopolis City", + "order": 95, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "surf", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 95, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 5, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Cave of Origin", + "order": 96, + "encounters": [ + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 100, + "min_level": 18, + "max_level": 18 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 69, + "min_level": 33, + "max_level": 36 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "walk", + "encounter_rate": 31, + "min_level": 33, + "max_level": 36 + } + ], + "children": [ + { + "name": "Cave of Origin (B5F)", + "order": 97, + "encounters": [ + { + "pokeapi_id": 10077, + "pokemon_name": "Kyogre (Primal)", + "method": "static", + "encounter_rate": 100, + "min_level": 45, + "max_level": 45 + } + ] + } + ] + }, + { + "name": "New Mauville", + "order": 98, + "encounters": [ + { + "pokeapi_id": 100, + "pokemon_name": "Voltorb", + "method": "walk", + "encounter_rate": 100, + "min_level": 12, + "max_level": 25 + }, + { + "pokeapi_id": 81, + "pokemon_name": "Magnemite", + "method": "walk", + "encounter_rate": 85, + "min_level": 12, + "max_level": 25 + }, + { + "pokeapi_id": 100, + "pokemon_name": "Voltorb", + "method": "static", + "encounter_rate": 33, + "min_level": 25, + "max_level": 25 + } + ] + }, { "name": "Hoenn Route 129", - "order": 97, + "order": 99, "encounters": [ { "pokeapi_id": 594, @@ -7065,7 +7173,7 @@ "children": [ { "name": "Hoenn Route 129 (Underwater)", - "order": 98, + "order": 100, "encounters": [ { "pokeapi_id": 170, @@ -7105,7 +7213,7 @@ }, { "name": "Hoenn Route 130", - "order": 99, + "order": 101, "encounters": [ { "pokeapi_id": 594, @@ -7223,7 +7331,7 @@ "children": [ { "name": "Hoenn Route 130 (Underwater)", - "order": 100, + "order": 102, "encounters": [ { "pokeapi_id": 170, @@ -7263,210 +7371,6 @@ }, { "name": "Hoenn Route 131", - "order": 101, - "encounters": [ - { - "pokeapi_id": 594, - "pokemon_name": "Alomomola", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 456, - "pokemon_name": "Finneon", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 592, - "pokemon_name": "Frillish", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "super-rod", - "encounter_rate": 60, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 50, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "super-rod", - "encounter_rate": 35, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 15, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 117, - "pokemon_name": "Seadra", - "method": "super-rod", - "encounter_rate": 5, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ] - }, - { - "name": "Pacifidlog Town", - "order": 102, - "encounters": [ - { - "pokeapi_id": 222, - "pokemon_name": "Corsola", - "method": "trade", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 50, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 15, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ] - }, - { - "name": "Hoenn Route 132", "order": 103, "encounters": [ { @@ -7584,8 +7488,212 @@ ] }, { - "name": "Hoenn Route 133", + "name": "Pacifidlog Town", "order": 104, + "encounters": [ + { + "pokeapi_id": 222, + "pokemon_name": "Corsola", + "method": "trade", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 50, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 15, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + }, + { + "name": "Hoenn Route 132", + "order": 105, + "encounters": [ + { + "pokeapi_id": 594, + "pokemon_name": "Alomomola", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 592, + "pokemon_name": "Frillish", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 60, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 50, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "super-rod", + "encounter_rate": 35, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 15, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 117, + "pokemon_name": "Seadra", + "method": "super-rod", + "encounter_rate": 5, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + }, + { + "name": "Hoenn Route 133", + "order": 106, "encounters": [ { "pokeapi_id": 594, @@ -7703,7 +7811,7 @@ }, { "name": "Hoenn Route 134", - "order": 105, + "order": 107, "encounters": [ { "pokeapi_id": 594, @@ -7819,9 +7927,532 @@ } ] }, + { + "name": "Sealed Chamber", + "order": 108, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 65, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 60, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "surf", + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "surf", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + }, + { + "name": "Island Cave", + "order": 109, + "encounters": [ + { + "pokeapi_id": 378, + "pokemon_name": "Regice", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 486, + "pokemon_name": "Regigigas", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + } + ] + }, + { + "name": "Desert Ruins", + "order": 110, + "encounters": [ + { + "pokeapi_id": 377, + "pokemon_name": "Regirock", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Ancient Tomb", + "order": 111, + "encounters": [ + { + "pokeapi_id": 379, + "pokemon_name": "Registeel", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Sea Mauville", + "order": 112, + "encounters": [ + { + "pokeapi_id": 249, + "pokemon_name": "Lugia", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 442, + "pokemon_name": "Spiritomb", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + } + ], + "children": [ + { + "name": "Sea Mauville (Outside)", + "order": 113, + "encounters": [ + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 65, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 278, + "pokemon_name": "Wingull", + "method": "surf", + "encounter_rate": 34, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + }, + { + "name": "Sea Mauville (Inside)", + "order": 114, + "encounters": [ + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 100, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + } + ] + }, + { + "name": "Scorched Slab", + "order": 115, + "encounters": [], + "children": [ + { + "name": "Scorched Slab (1F)", + "order": 116, + "encounters": [ + { + "pokeapi_id": 339, + "pokemon_name": "Barboach", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 100, + "min_level": 26, + "max_level": 29 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "surf", + "encounter_rate": 50, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "surf", + "encounter_rate": 50, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 339, + "pokemon_name": "Barboach", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + }, + { + "name": "Scorched Slab (B1F)", + "order": 117, + "encounters": [ + { + "pokeapi_id": 339, + "pokemon_name": "Barboach", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 100, + "min_level": 26, + "max_level": 29 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 100, + "min_level": 14, + "max_level": 14 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "surf", + "encounter_rate": 50, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "surf", + "encounter_rate": 50, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 339, + "pokemon_name": "Barboach", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + }, + { + "name": "Scorched Slab (B2F)", + "order": 118, + "encounters": [ + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 100, + "min_level": 26, + "max_level": 29 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 100, + "min_level": 14, + "max_level": 14 + } + ] + }, + { + "name": "Scorched Slab (B3F)", + "order": 119, + "encounters": [ + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 100, + "min_level": 26, + "max_level": 29 + }, + { + "pokeapi_id": 485, + "pokemon_name": "Heatran", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 100, + "min_level": 14, + "max_level": 14 + } + ] + } + ] + }, { "name": "Ever Grande City", - "order": 106, + "order": 120, "encounters": [ { "pokeapi_id": 129, @@ -7915,12 +8546,12 @@ }, { "name": "Victory Road (Hoenn)", - "order": 107, + "order": 121, "encounters": [], "children": [ { "name": "Victory Road (Hoenn Entrance)", - "order": 108, + "order": 122, "encounters": [ { "pokeapi_id": 129, @@ -8070,7 +8701,7 @@ }, { "name": "Victory Road (Hoenn 1F)", - "order": 109, + "order": 123, "encounters": [ { "pokeapi_id": 129, @@ -8220,7 +8851,7 @@ }, { "name": "Victory Road (Hoenn B1F)", - "order": 110, + "order": 124, "encounters": [ { "pokeapi_id": 129, @@ -8370,7 +9001,7 @@ }, { "name": "Victory Road (Hoenn 2F)", - "order": 111, + "order": 125, "encounters": [ { "pokeapi_id": 339, @@ -8434,7 +9065,7 @@ }, { "name": "Sky Pillar", - "order": 112, + "order": 126, "encounters": [ { "pokeapi_id": 386, @@ -8480,7 +9111,7 @@ "children": [ { "name": "Sky Pillar (1F)", - "order": 113, + "order": 127, "encounters": [ { "pokeapi_id": 168, @@ -8518,7 +9149,7 @@ }, { "name": "Sky Pillar (2F)", - "order": 114, + "order": 128, "encounters": [ { "pokeapi_id": 168, @@ -8556,7 +9187,7 @@ }, { "name": "Sky Pillar (3F)", - "order": 115, + "order": 129, "encounters": [ { "pokeapi_id": 168, @@ -8594,7 +9225,7 @@ }, { "name": "Sky Pillar (4F)", - "order": 116, + "order": 130, "encounters": [ { "pokeapi_id": 168, @@ -8632,7 +9263,7 @@ }, { "name": "Sky Pillar (5F)", - "order": 117, + "order": 131, "encounters": [ { "pokeapi_id": 168, @@ -8670,346 +9301,9 @@ } ] }, - { - "name": "Ancient Tomb", - "order": 118, - "encounters": [ - { - "pokeapi_id": 379, - "pokemon_name": "Registeel", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - } - ] - }, - { - "name": "Island Cave", - "order": 119, - "encounters": [ - { - "pokeapi_id": 378, - "pokemon_name": "Regice", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 486, - "pokemon_name": "Regigigas", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - } - ] - }, - { - "name": "Southern Island", - "order": 120, - "encounters": [ - { - "pokeapi_id": 380, - "pokemon_name": "Latias", - "method": "gift", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 380, - "pokemon_name": "Latias", - "method": "static", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - } - ] - }, - { - "name": "Mirage Island", - "order": 121, - "encounters": [], - "children": [ - { - "name": "Mirage Island (North Route 113)", - "order": 122, - "encounters": [ - { - "pokeapi_id": 555, - "pokemon_name": "Darmanitan Standard", - "method": "walk", - "encounter_rate": 60, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 636, - "pokemon_name": "Larvesta", - "method": "walk", - "encounter_rate": 40, - "min_level": 36, - "max_level": 38 - } - ] - }, - { - "name": "Mirage Island (North Route 124)", - "order": 123, - "encounters": [ - { - "pokeapi_id": 49, - "pokemon_name": "Venomoth", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 178, - "pokemon_name": "Xatu", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 523, - "pokemon_name": "Zebstrika", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 53, - "pokemon_name": "Persian", - "method": "walk", - "encounter_rate": 10, - "min_level": 36, - "max_level": 38 - } - ] - }, - { - "name": "Mirage Island (North Route 125)", - "order": 124, - "encounters": [ - { - "pokeapi_id": 432, - "pokemon_name": "Purugly", - "method": "walk", - "encounter_rate": 60, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 137, - "pokemon_name": "Porygon", - "method": "walk", - "encounter_rate": 40, - "min_level": 36, - "max_level": 38 - } - ] - }, - { - "name": "Mirage Island (South Pacifidlog Town)", - "order": 125, - "encounters": [ - { - "pokeapi_id": 531, - "pokemon_name": "Audino", - "method": "walk", - "encounter_rate": 90, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 85, - "min_level": 35, - "max_level": 38 - }, - { - "pokeapi_id": 688, - "pokemon_name": "Binacle", - "method": "rock-smash", - "encounter_rate": 15, - "min_level": 37, - "max_level": 37 - }, - { - "pokeapi_id": 178, - "pokemon_name": "Xatu", - "method": "walk", - "encounter_rate": 10, - "min_level": 36, - "max_level": 38 - } - ] - }, - { - "name": "Mirage Island (South Route 132)", - "order": 126, - "encounters": [ - { - "pokeapi_id": 517, - "pokemon_name": "Munna", - "method": "walk", - "encounter_rate": 60, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 40, - "min_level": 36, - "max_level": 38 - } - ] - }, - { - "name": "Mirage Island (South Route 134)", - "order": 127, - "encounters": [ - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 85, - "min_level": 35, - "max_level": 38 - }, - { - "pokeapi_id": 49, - "pokemon_name": "Venomoth", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 178, - "pokemon_name": "Xatu", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 523, - "pokemon_name": "Zebstrika", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 688, - "pokemon_name": "Binacle", - "method": "rock-smash", - "encounter_rate": 15, - "min_level": 37, - "max_level": 37 - }, - { - "pokeapi_id": 556, - "pokemon_name": "Maractus", - "method": "walk", - "encounter_rate": 10, - "min_level": 36, - "max_level": 38 - } - ] - }, - { - "name": "Mirage Island (West Dewford Town)", - "order": 128, - "encounters": [ - { - "pokeapi_id": 49, - "pokemon_name": "Venomoth", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 178, - "pokemon_name": "Xatu", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 523, - "pokemon_name": "Zebstrika", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "walk", - "encounter_rate": 10, - "min_level": 36, - "max_level": 38 - } - ] - }, - { - "name": "Mirage Island (West Route 104)", - "order": 129, - "encounters": [ - { - "pokeapi_id": 49, - "pokemon_name": "Venomoth", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 178, - "pokemon_name": "Xatu", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 523, - "pokemon_name": "Zebstrika", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 555, - "pokemon_name": "Darmanitan Standard", - "method": "walk", - "encounter_rate": 10, - "min_level": 36, - "max_level": 38 - } - ] - } - ] - }, { "name": "Battle Resort", - "order": 130, + "order": 132, "encounters": [ { "pokeapi_id": 323, @@ -9119,7 +9413,7 @@ }, { "name": "Contest Hall", - "order": 131, + "order": 133, "encounters": [ { "pokeapi_id": 10082, @@ -9141,7 +9435,7 @@ }, { "name": "Crescent Isle", - "order": 132, + "order": 134, "encounters": [ { "pokeapi_id": 488, @@ -9155,7 +9449,7 @@ }, { "name": "Fabled Cave", - "order": 133, + "order": 135, "encounters": [ { "pokeapi_id": 644, @@ -9167,31 +9461,9 @@ } ] }, - { - "name": "Fallarbor Town", - "order": 134, - "encounters": [ - { - "pokeapi_id": 10082, - "pokemon_name": "Pikachu (Pop Star)", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 10080, - "pokemon_name": "Pikachu (Rock Star)", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - } - ] - }, { "name": "Gnaled Den", - "order": 135, + "order": 136, "encounters": [ { "pokeapi_id": 646, @@ -9205,7 +9477,7 @@ }, { "name": "Grand Meteor Delta", - "order": 136, + "order": 137, "encounters": [ { "pokeapi_id": 386, @@ -9217,14 +9489,293 @@ } ] }, + { + "name": "Mirage Island", + "order": 138, + "encounters": [], + "children": [ + { + "name": "Mirage Island (North Route 113)", + "order": 139, + "encounters": [ + { + "pokeapi_id": 555, + "pokemon_name": "Darmanitan Standard", + "method": "walk", + "encounter_rate": 60, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 636, + "pokemon_name": "Larvesta", + "method": "walk", + "encounter_rate": 40, + "min_level": 36, + "max_level": 38 + } + ] + }, + { + "name": "Mirage Island (North Route 124)", + "order": 140, + "encounters": [ + { + "pokeapi_id": 49, + "pokemon_name": "Venomoth", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 178, + "pokemon_name": "Xatu", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 523, + "pokemon_name": "Zebstrika", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 53, + "pokemon_name": "Persian", + "method": "walk", + "encounter_rate": 10, + "min_level": 36, + "max_level": 38 + } + ] + }, + { + "name": "Mirage Island (North Route 125)", + "order": 141, + "encounters": [ + { + "pokeapi_id": 432, + "pokemon_name": "Purugly", + "method": "walk", + "encounter_rate": 60, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 137, + "pokemon_name": "Porygon", + "method": "walk", + "encounter_rate": 40, + "min_level": 36, + "max_level": 38 + } + ] + }, + { + "name": "Mirage Island (South Pacifidlog Town)", + "order": 142, + "encounters": [ + { + "pokeapi_id": 531, + "pokemon_name": "Audino", + "method": "walk", + "encounter_rate": 90, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 85, + "min_level": 35, + "max_level": 38 + }, + { + "pokeapi_id": 688, + "pokemon_name": "Binacle", + "method": "rock-smash", + "encounter_rate": 15, + "min_level": 37, + "max_level": 37 + }, + { + "pokeapi_id": 178, + "pokemon_name": "Xatu", + "method": "walk", + "encounter_rate": 10, + "min_level": 36, + "max_level": 38 + } + ] + }, + { + "name": "Mirage Island (South Route 132)", + "order": 143, + "encounters": [ + { + "pokeapi_id": 517, + "pokemon_name": "Munna", + "method": "walk", + "encounter_rate": 60, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 40, + "min_level": 36, + "max_level": 38 + } + ] + }, + { + "name": "Mirage Island (South Route 134)", + "order": 144, + "encounters": [ + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 85, + "min_level": 35, + "max_level": 38 + }, + { + "pokeapi_id": 49, + "pokemon_name": "Venomoth", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 178, + "pokemon_name": "Xatu", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 523, + "pokemon_name": "Zebstrika", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 688, + "pokemon_name": "Binacle", + "method": "rock-smash", + "encounter_rate": 15, + "min_level": 37, + "max_level": 37 + }, + { + "pokeapi_id": 556, + "pokemon_name": "Maractus", + "method": "walk", + "encounter_rate": 10, + "min_level": 36, + "max_level": 38 + } + ] + }, + { + "name": "Mirage Island (West Dewford Town)", + "order": 145, + "encounters": [ + { + "pokeapi_id": 49, + "pokemon_name": "Venomoth", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 178, + "pokemon_name": "Xatu", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 523, + "pokemon_name": "Zebstrika", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "walk", + "encounter_rate": 10, + "min_level": 36, + "max_level": 38 + } + ] + }, + { + "name": "Mirage Island (West Route 104)", + "order": 146, + "encounters": [ + { + "pokeapi_id": 49, + "pokemon_name": "Venomoth", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 178, + "pokemon_name": "Xatu", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 523, + "pokemon_name": "Zebstrika", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 555, + "pokemon_name": "Darmanitan Standard", + "method": "walk", + "encounter_rate": 10, + "min_level": 36, + "max_level": 38 + } + ] + } + ] + }, { "name": "Mirage Cave", - "order": 137, + "order": 147, "encounters": [], "children": [ { "name": "Mirage Cave (North Fallarbor Town)", - "order": 138, + "order": 148, "encounters": [ { "pokeapi_id": 602, @@ -9246,7 +9797,7 @@ }, { "name": "Mirage Cave (North Fortree City)", - "order": 139, + "order": 149, "encounters": [ { "pokeapi_id": 75, @@ -9300,7 +9851,7 @@ }, { "name": "Mirage Cave (North Route 124)", - "order": 140, + "order": 150, "encounters": [ { "pokeapi_id": 75, @@ -9338,7 +9889,7 @@ }, { "name": "Mirage Cave (North Route 132)", - "order": 141, + "order": 151, "encounters": [ { "pokeapi_id": 132, @@ -9368,7 +9919,7 @@ }, { "name": "Mirage Cave (North Route 107)", - "order": 142, + "order": 152, "encounters": [ { "pokeapi_id": 201, @@ -9382,7 +9933,7 @@ }, { "name": "Mirage Cave (North Route 131)", - "order": 143, + "order": 153, "encounters": [ { "pokeapi_id": 602, @@ -9412,7 +9963,7 @@ }, { "name": "Mirage Cave (Southeast Route 129)", - "order": 144, + "order": 154, "encounters": [ { "pokeapi_id": 75, @@ -9450,7 +10001,7 @@ }, { "name": "Mirage Cave (West Route 115)", - "order": 145, + "order": 155, "encounters": [ { "pokeapi_id": 75, @@ -9490,12 +10041,12 @@ }, { "name": "Mirage Forest", - "order": 146, + "order": 156, "encounters": [], "children": [ { "name": "Mirage Forest (East Mossdeep City)", - "order": 147, + "order": 157, "encounters": [ { "pokeapi_id": 431, @@ -9533,7 +10084,7 @@ }, { "name": "Mirage Forest (North Lilycove City)", - "order": 148, + "order": 158, "encounters": [ { "pokeapi_id": 432, @@ -9571,7 +10122,7 @@ }, { "name": "Mirage Forest (North Route 111)", - "order": 149, + "order": 159, "encounters": [ { "pokeapi_id": 285, @@ -9601,7 +10152,7 @@ }, { "name": "Mirage Forest (North Route 124)", - "order": 150, + "order": 160, "encounters": [ { "pokeapi_id": 432, @@ -9639,7 +10190,7 @@ }, { "name": "Mirage Forest (South Route 109)", - "order": 151, + "order": 161, "encounters": [ { "pokeapi_id": 531, @@ -9677,7 +10228,7 @@ }, { "name": "Mirage Forest (South Route 132)", - "order": 152, + "order": 162, "encounters": [ { "pokeapi_id": 191, @@ -9707,7 +10258,7 @@ }, { "name": "Mirage Forest (West Route 105)", - "order": 153, + "order": 163, "encounters": [ { "pokeapi_id": 75, @@ -9737,7 +10288,7 @@ }, { "name": "Mirage Forest (West Route 114)", - "order": 154, + "order": 164, "encounters": [ { "pokeapi_id": 432, @@ -9777,12 +10328,12 @@ }, { "name": "Mirage Mountain", - "order": 155, + "order": 165, "encounters": [], "children": [ { "name": "Mirage Mountain (East Route 125)", - "order": 156, + "order": 166, "encounters": [ { "pokeapi_id": 555, @@ -9804,7 +10355,7 @@ }, { "name": "Mirage Mountain (North Lilycove City)", - "order": 157, + "order": 167, "encounters": [ { "pokeapi_id": 232, @@ -9842,7 +10393,7 @@ }, { "name": "Mirage Mountain (North Route 125)", - "order": 158, + "order": 168, "encounters": [ { "pokeapi_id": 75, @@ -9888,7 +10439,7 @@ }, { "name": "Mirage Mountain (Northeast Route 125)", - "order": 159, + "order": 169, "encounters": [ { "pokeapi_id": 232, @@ -9926,7 +10477,7 @@ }, { "name": "Mirage Mountain (South Route 129)", - "order": 160, + "order": 170, "encounters": [ { "pokeapi_id": 523, @@ -9948,7 +10499,7 @@ }, { "name": "Mirage Mountain (South Route 131)", - "order": 161, + "order": 171, "encounters": [ { "pokeapi_id": 232, @@ -9986,7 +10537,7 @@ }, { "name": "Mirage Mountain (Southeast Route 129)", - "order": 162, + "order": 172, "encounters": [ { "pokeapi_id": 75, @@ -10032,7 +10583,7 @@ }, { "name": "Mirage Mountain (West Route 104)", - "order": 163, + "order": 173, "encounters": [ { "pokeapi_id": 232, @@ -10072,7 +10623,7 @@ }, { "name": "Mossdeep Space Center", - "order": 164, + "order": 174, "encounters": [ { "pokeapi_id": 352, @@ -10086,7 +10637,7 @@ }, { "name": "Nameless Cavern", - "order": 165, + "order": 175, "encounters": [ { "pokeapi_id": 482, @@ -10116,7 +10667,7 @@ }, { "name": "Pathless Plain", - "order": 166, + "order": 176, "encounters": [ { "pokeapi_id": 638, @@ -10144,482 +10695,9 @@ } ] }, - { - "name": "Scorched Slab", - "order": 167, - "encounters": [], - "children": [ - { - "name": "Scorched Slab (1F)", - "order": 168, - "encounters": [ - { - "pokeapi_id": 339, - "pokemon_name": "Barboach", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 100, - "min_level": 26, - "max_level": 29 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "surf", - "encounter_rate": 50, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "surf", - "encounter_rate": 50, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 339, - "pokemon_name": "Barboach", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ] - }, - { - "name": "Scorched Slab (B1F)", - "order": 169, - "encounters": [ - { - "pokeapi_id": 339, - "pokemon_name": "Barboach", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 100, - "min_level": 26, - "max_level": 29 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 100, - "min_level": 14, - "max_level": 14 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "surf", - "encounter_rate": 50, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "surf", - "encounter_rate": 50, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 339, - "pokemon_name": "Barboach", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ] - }, - { - "name": "Scorched Slab (B2F)", - "order": 170, - "encounters": [ - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 100, - "min_level": 26, - "max_level": 29 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 100, - "min_level": 14, - "max_level": 14 - } - ] - }, - { - "name": "Scorched Slab (B3F)", - "order": 171, - "encounters": [ - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 100, - "min_level": 26, - "max_level": 29 - }, - { - "pokeapi_id": 485, - "pokemon_name": "Heatran", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 100, - "min_level": 14, - "max_level": 14 - } - ] - } - ] - }, - { - "name": "Sea Mauville", - "order": 172, - "encounters": [ - { - "pokeapi_id": 249, - "pokemon_name": "Lugia", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 442, - "pokemon_name": "Spiritomb", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - } - ], - "children": [ - { - "name": "Sea Mauville (Outside)", - "order": 173, - "encounters": [ - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 100, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 65, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 278, - "pokemon_name": "Wingull", - "method": "surf", - "encounter_rate": 34, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ] - }, - { - "name": "Sea Mauville (Inside)", - "order": 174, - "encounters": [ - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 100, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ] - } - ] - }, - { - "name": "Sealed Chamber", - "order": 175, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 65, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "super-rod", - "encounter_rate": 60, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "surf", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "surf", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ] - }, { "name": "Soaring in the Sky", - "order": 176, + "order": 177, "encounters": [ { "pokeapi_id": 279, @@ -10681,7 +10759,7 @@ }, { "name": "Trackless Forest", - "order": 177, + "order": 178, "encounters": [ { "pokeapi_id": 244, @@ -10711,7 +10789,7 @@ }, { "name": "Verdanturf Town", - "order": 178, + "order": 179, "encounters": [ { "pokeapi_id": 10082, diff --git a/backend/src/app/seeds/data/black-2-bosses.json b/backend/src/app/seeds/data/black-2-bosses.json index 35cead9..3b83fa5 100644 --- a/backend/src/app/seeds/data/black-2-bosses.json +++ b/backend/src/app/seeds/data/black-2-bosses.json @@ -77,7 +77,7 @@ "badge_image_url": "/badges/jet-badge.png", "level_cap": 37, "order": 6, - "after_route_name": null, + "after_route_name": "Celestial Tower", "location": "Mistralton Gym", "section": "Main Story", "sprite_url": "/boss-sprites/black-2/skyla.png", @@ -91,7 +91,7 @@ "badge_image_url": "/badges/legend-badge.png", "level_cap": 46, "order": 7, - "after_route_name": null, + "after_route_name": "Unova Route 9", "location": "Opelucid Gym", "section": "Main Story", "sprite_url": "/boss-sprites/black-2/drayden.png", @@ -119,7 +119,7 @@ "badge_image_url": null, "level_cap": 57, "order": 9, - "after_route_name": null, + "after_route_name": "Victory Road (Unova Black 2 & White 2)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/black-2/shauntal.png", @@ -133,7 +133,7 @@ "badge_image_url": null, "level_cap": 57, "order": 10, - "after_route_name": null, + "after_route_name": "Victory Road (Unova Black 2 & White 2)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/black-2/grimsley.png", @@ -147,7 +147,7 @@ "badge_image_url": null, "level_cap": 57, "order": 11, - "after_route_name": null, + "after_route_name": "Victory Road (Unova Black 2 & White 2)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/black-2/caitlin.png", @@ -161,7 +161,7 @@ "badge_image_url": null, "level_cap": 57, "order": 12, - "after_route_name": null, + "after_route_name": "Victory Road (Unova Black 2 & White 2)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/black-2/marshal.png", @@ -175,7 +175,7 @@ "badge_image_url": null, "level_cap": 59, "order": 13, - "after_route_name": null, + "after_route_name": "Victory Road (Unova Black 2 & White 2)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/black-2/iris.png", diff --git a/backend/src/app/seeds/data/black-2.json b/backend/src/app/seeds/data/black-2.json index f131cd1..fc488f9 100644 --- a/backend/src/app/seeds/data/black-2.json +++ b/backend/src/app/seeds/data/black-2.json @@ -170,8 +170,166 @@ ] }, { - "name": "Floccesy Ranch", + "name": "Unova Route 20", "order": 4, + "encounters": [ + { + "pokeapi_id": 531, + "pokemon_name": "Audino", + "method": "walk", + "encounter_rate": 90, + "min_level": 2, + "max_level": 4 + }, + { + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", + "method": "surf", + "encounter_rate": 70, + "min_level": 7, + "max_level": 15 + }, + { + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", + "method": "surf", + "encounter_rate": 65, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "fishing", + "encounter_rate": 65, + "min_level": 40, + "max_level": 70 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "fishing", + "encounter_rate": 60, + "min_level": 40, + "max_level": 70 + }, + { + "pokeapi_id": 519, + "pokemon_name": "Pidove", + "method": "walk", + "encounter_rate": 50, + "min_level": 2, + "max_level": 10 + }, + { + "pokeapi_id": 540, + "pokemon_name": "Sewaddle", + "method": "walk", + "encounter_rate": 50, + "min_level": 2, + "max_level": 11 + }, + { + "pokeapi_id": 191, + "pokemon_name": "Sunkern", + "method": "walk", + "encounter_rate": 50, + "min_level": 2, + "max_level": 11 + }, + { + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", + "method": "fishing", + "encounter_rate": 40, + "min_level": 40, + "max_level": 60 + }, + { + "pokeapi_id": 504, + "pokemon_name": "Patrat", + "method": "walk", + "encounter_rate": 40, + "min_level": 2, + "max_level": 10 + }, + { + "pokeapi_id": 185, + "pokemon_name": "Sudowoodo", + "method": "walk", + "encounter_rate": 40, + "min_level": 40, + "max_level": 55 + }, + { + "pokeapi_id": 298, + "pokemon_name": "Azurill", + "method": "surf", + "encounter_rate": 30, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", + "method": "fishing", + "encounter_rate": 30, + "min_level": 40, + "max_level": 60 + }, + { + "pokeapi_id": 183, + "pokemon_name": "Marill", + "method": "surf", + "encounter_rate": 30, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 509, + "pokemon_name": "Purrloin", + "method": "walk", + "encounter_rate": 30, + "min_level": 2, + "max_level": 11 + }, + { + "pokeapi_id": 543, + "pokemon_name": "Venipede", + "method": "walk", + "encounter_rate": 20, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 206, + "pokemon_name": "Dunsparce", + "method": "walk", + "encounter_rate": 10, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 184, + "pokemon_name": "Azumarill", + "method": "surf", + "encounter_rate": 5, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 186, + "pokemon_name": "Politoed", + "method": "fishing", + "encounter_rate": 5, + "min_level": 50, + "max_level": 70 + } + ] + }, + { + "name": "Floccesy Ranch", + "order": 5, "encounters": [ { "pokeapi_id": 206, @@ -351,164 +509,6 @@ } ] }, - { - "name": "Unova Route 20", - "order": 5, - "encounters": [ - { - "pokeapi_id": 531, - "pokemon_name": "Audino", - "method": "walk", - "encounter_rate": 90, - "min_level": 2, - "max_level": 4 - }, - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "surf", - "encounter_rate": 70, - "min_level": 7, - "max_level": 15 - }, - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "surf", - "encounter_rate": 65, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "fishing", - "encounter_rate": 65, - "min_level": 40, - "max_level": 70 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "fishing", - "encounter_rate": 60, - "min_level": 40, - "max_level": 70 - }, - { - "pokeapi_id": 519, - "pokemon_name": "Pidove", - "method": "walk", - "encounter_rate": 50, - "min_level": 2, - "max_level": 10 - }, - { - "pokeapi_id": 540, - "pokemon_name": "Sewaddle", - "method": "walk", - "encounter_rate": 50, - "min_level": 2, - "max_level": 11 - }, - { - "pokeapi_id": 191, - "pokemon_name": "Sunkern", - "method": "walk", - "encounter_rate": 50, - "min_level": 2, - "max_level": 11 - }, - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "fishing", - "encounter_rate": 40, - "min_level": 40, - "max_level": 60 - }, - { - "pokeapi_id": 504, - "pokemon_name": "Patrat", - "method": "walk", - "encounter_rate": 40, - "min_level": 2, - "max_level": 10 - }, - { - "pokeapi_id": 185, - "pokemon_name": "Sudowoodo", - "method": "walk", - "encounter_rate": 40, - "min_level": 40, - "max_level": 55 - }, - { - "pokeapi_id": 298, - "pokemon_name": "Azurill", - "method": "surf", - "encounter_rate": 30, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "fishing", - "encounter_rate": 30, - "min_level": 40, - "max_level": 60 - }, - { - "pokeapi_id": 183, - "pokemon_name": "Marill", - "method": "surf", - "encounter_rate": 30, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 509, - "pokemon_name": "Purrloin", - "method": "walk", - "encounter_rate": 30, - "min_level": 2, - "max_level": 11 - }, - { - "pokeapi_id": 543, - "pokemon_name": "Venipede", - "method": "walk", - "encounter_rate": 20, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 206, - "pokemon_name": "Dunsparce", - "method": "walk", - "encounter_rate": 10, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 184, - "pokemon_name": "Azumarill", - "method": "surf", - "encounter_rate": 5, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 186, - "pokemon_name": "Politoed", - "method": "fishing", - "encounter_rate": 5, - "min_level": 50, - "max_level": 70 - } - ] - }, { "name": "Virbank City", "order": 6, @@ -4270,267 +4270,9 @@ } ] }, - { - "name": "Unova Route 21", - "order": 63, - "encounters": [ - { - "pokeapi_id": 370, - "pokemon_name": "Luvdisc", - "method": "fishing", - "encounter_rate": 100, - "min_level": 40, - "max_level": 70 - }, - { - "pokeapi_id": 223, - "pokemon_name": "Remoraid", - "method": "fishing", - "encounter_rate": 95, - "min_level": 40, - "max_level": 70 - }, - { - "pokeapi_id": 592, - "pokemon_name": "Frillish", - "method": "surf", - "encounter_rate": 65, - "min_level": 30, - "max_level": 45 - }, - { - "pokeapi_id": 593, - "pokemon_name": "Jellicent", - "method": "surf", - "encounter_rate": 60, - "min_level": 30, - "max_level": 45 - }, - { - "pokeapi_id": 594, - "pokemon_name": "Alomomola", - "method": "surf", - "encounter_rate": 35, - "min_level": 30, - "max_level": 45 - }, - { - "pokeapi_id": 458, - "pokemon_name": "Mantyke", - "method": "surf", - "encounter_rate": 30, - "min_level": 30, - "max_level": 45 - }, - { - "pokeapi_id": 226, - "pokemon_name": "Mantine", - "method": "surf", - "encounter_rate": 5, - "min_level": 30, - "max_level": 45 - }, - { - "pokeapi_id": 224, - "pokemon_name": "Octillery", - "method": "fishing", - "encounter_rate": 5, - "min_level": 50, - "max_level": 70 - }, - { - "pokeapi_id": 223, - "pokemon_name": "Remoraid", - "method": "surf", - "encounter_rate": 5, - "min_level": 35, - "max_level": 45 - } - ] - }, - { - "name": "Seaside Cave", - "order": 64, - "encounters": [ - { - "pokeapi_id": 558, - "pokemon_name": "Crustle", - "method": "static", - "encounter_rate": 100, - "min_level": 42, - "max_level": 42 - } - ], - "children": [ - { - "name": "Seaside Cave (1F)", - "order": 65, - "encounters": [ - { - "pokeapi_id": 530, - "pokemon_name": "Excadrill", - "method": "walk", - "encounter_rate": 100, - "min_level": 34, - "max_level": 37 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "walk", - "encounter_rate": 35, - "min_level": 34, - "max_level": 36 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 35, - "min_level": 34, - "max_level": 36 - }, - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 15, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 86, - "pokemon_name": "Seel", - "method": "walk", - "encounter_rate": 10, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 602, - "pokemon_name": "Tynamo", - "method": "walk", - "encounter_rate": 5, - "min_level": 37, - "max_level": 37 - } - ] - }, - { - "name": "Seaside Cave (B1F)", - "order": 66, - "encounters": [ - { - "pokeapi_id": 530, - "pokemon_name": "Excadrill", - "method": "walk", - "encounter_rate": 100, - "min_level": 39, - "max_level": 42 - }, - { - "pokeapi_id": 370, - "pokemon_name": "Luvdisc", - "method": "fishing", - "encounter_rate": 100, - "min_level": 40, - "max_level": 70 - }, - { - "pokeapi_id": 90, - "pokemon_name": "Shellder", - "method": "fishing", - "encounter_rate": 95, - "min_level": 40, - "max_level": 70 - }, - { - "pokeapi_id": 86, - "pokemon_name": "Seel", - "method": "surf", - "encounter_rate": 90, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 592, - "pokemon_name": "Frillish", - "method": "surf", - "encounter_rate": 70, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 35, - "min_level": 39, - "max_level": 42 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 35, - "min_level": 39, - "max_level": 41 - }, - { - "pokeapi_id": 593, - "pokemon_name": "Jellicent", - "method": "surf", - "encounter_rate": 30, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "walk", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 87, - "pokemon_name": "Dewgong", - "method": "surf", - "encounter_rate": 10, - "min_level": 30, - "max_level": 40 - }, - { - "pokeapi_id": 91, - "pokemon_name": "Cloyster", - "method": "fishing", - "encounter_rate": 5, - "min_level": 50, - "max_level": 70 - }, - { - "pokeapi_id": 603, - "pokemon_name": "Eelektrik", - "method": "walk", - "encounter_rate": 5, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 213, - "pokemon_name": "Shuckle", - "method": "walk", - "encounter_rate": 5, - "min_level": 41, - "max_level": 41 - } - ] - } - ] - }, { "name": "Unova Route 22", - "order": 67, + "order": 63, "encounters": [ { "pokeapi_id": 118, @@ -4726,6 +4468,264 @@ } ] }, + { + "name": "Unova Route 21", + "order": 64, + "encounters": [ + { + "pokeapi_id": 370, + "pokemon_name": "Luvdisc", + "method": "fishing", + "encounter_rate": 100, + "min_level": 40, + "max_level": 70 + }, + { + "pokeapi_id": 223, + "pokemon_name": "Remoraid", + "method": "fishing", + "encounter_rate": 95, + "min_level": 40, + "max_level": 70 + }, + { + "pokeapi_id": 592, + "pokemon_name": "Frillish", + "method": "surf", + "encounter_rate": 65, + "min_level": 30, + "max_level": 45 + }, + { + "pokeapi_id": 593, + "pokemon_name": "Jellicent", + "method": "surf", + "encounter_rate": 60, + "min_level": 30, + "max_level": 45 + }, + { + "pokeapi_id": 594, + "pokemon_name": "Alomomola", + "method": "surf", + "encounter_rate": 35, + "min_level": 30, + "max_level": 45 + }, + { + "pokeapi_id": 458, + "pokemon_name": "Mantyke", + "method": "surf", + "encounter_rate": 30, + "min_level": 30, + "max_level": 45 + }, + { + "pokeapi_id": 226, + "pokemon_name": "Mantine", + "method": "surf", + "encounter_rate": 5, + "min_level": 30, + "max_level": 45 + }, + { + "pokeapi_id": 224, + "pokemon_name": "Octillery", + "method": "fishing", + "encounter_rate": 5, + "min_level": 50, + "max_level": 70 + }, + { + "pokeapi_id": 223, + "pokemon_name": "Remoraid", + "method": "surf", + "encounter_rate": 5, + "min_level": 35, + "max_level": 45 + } + ] + }, + { + "name": "Seaside Cave", + "order": 65, + "encounters": [ + { + "pokeapi_id": 558, + "pokemon_name": "Crustle", + "method": "static", + "encounter_rate": 100, + "min_level": 42, + "max_level": 42 + } + ], + "children": [ + { + "name": "Seaside Cave (1F)", + "order": 66, + "encounters": [ + { + "pokeapi_id": 530, + "pokemon_name": "Excadrill", + "method": "walk", + "encounter_rate": 100, + "min_level": 34, + "max_level": 37 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "walk", + "encounter_rate": 35, + "min_level": 34, + "max_level": 36 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 35, + "min_level": 34, + "max_level": 36 + }, + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 15, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 86, + "pokemon_name": "Seel", + "method": "walk", + "encounter_rate": 10, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 602, + "pokemon_name": "Tynamo", + "method": "walk", + "encounter_rate": 5, + "min_level": 37, + "max_level": 37 + } + ] + }, + { + "name": "Seaside Cave (B1F)", + "order": 67, + "encounters": [ + { + "pokeapi_id": 530, + "pokemon_name": "Excadrill", + "method": "walk", + "encounter_rate": 100, + "min_level": 39, + "max_level": 42 + }, + { + "pokeapi_id": 370, + "pokemon_name": "Luvdisc", + "method": "fishing", + "encounter_rate": 100, + "min_level": 40, + "max_level": 70 + }, + { + "pokeapi_id": 90, + "pokemon_name": "Shellder", + "method": "fishing", + "encounter_rate": 95, + "min_level": 40, + "max_level": 70 + }, + { + "pokeapi_id": 86, + "pokemon_name": "Seel", + "method": "surf", + "encounter_rate": 90, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 592, + "pokemon_name": "Frillish", + "method": "surf", + "encounter_rate": 70, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 35, + "min_level": 39, + "max_level": 42 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 35, + "min_level": 39, + "max_level": 41 + }, + { + "pokeapi_id": 593, + "pokemon_name": "Jellicent", + "method": "surf", + "encounter_rate": 30, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "walk", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 87, + "pokemon_name": "Dewgong", + "method": "surf", + "encounter_rate": 10, + "min_level": 30, + "max_level": 40 + }, + { + "pokeapi_id": 91, + "pokemon_name": "Cloyster", + "method": "fishing", + "encounter_rate": 5, + "min_level": 50, + "max_level": 70 + }, + { + "pokeapi_id": 603, + "pokemon_name": "Eelektrik", + "method": "walk", + "encounter_rate": 5, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 213, + "pokemon_name": "Shuckle", + "method": "walk", + "encounter_rate": 5, + "min_level": 41, + "max_level": 41 + } + ] + } + ] + }, { "name": "Giant Chasm", "order": 68, diff --git a/backend/src/app/seeds/data/black-bosses.json b/backend/src/app/seeds/data/black-bosses.json index 2fb81f6..e9edadb 100644 --- a/backend/src/app/seeds/data/black-bosses.json +++ b/backend/src/app/seeds/data/black-bosses.json @@ -49,7 +49,7 @@ "badge_image_url": "/badges/bolt-badge.png", "level_cap": 27, "order": 4, - "after_route_name": null, + "after_route_name": "Relic Castle", "location": "Nimbasa Gym", "section": "Main Story", "sprite_url": "/boss-sprites/black/elesa.png", @@ -77,7 +77,7 @@ "badge_image_url": "/badges/jet-badge.png", "level_cap": 35, "order": 6, - "after_route_name": null, + "after_route_name": "Celestial Tower", "location": "Mistralton Gym", "section": "Main Story", "sprite_url": "/boss-sprites/black/skyla.png", @@ -105,12 +105,12 @@ "badge_image_url": "/badges/legend-badge.png", "level_cap": 43, "order": 8, - "after_route_name": null, + "after_route_name": "Unova Route 9", "location": "Opelucid Gym", - "section": null, + "section": "Main Story", "sprite_url": "/boss-sprites/black/drayden.png", - "game_slug": "black", - "pokemon": [] + "pokemon": [], + "game_slug": "black" }, { "name": "Iris", @@ -120,12 +120,12 @@ "badge_image_url": "/badges/legend-badge.png", "level_cap": 43, "order": 9, - "after_route_name": null, + "after_route_name": "Unova Route 9", "location": "Opelucid Gym", - "section": null, + "section": "Main Story", "sprite_url": "/boss-sprites/black/iris.png", - "game_slug": "white", - "pokemon": [] + "pokemon": [], + "game_slug": "white" }, { "name": "Shauntal", @@ -135,7 +135,7 @@ "badge_image_url": null, "level_cap": 50, "order": 10, - "after_route_name": null, + "after_route_name": "Victory Road (Unova Black & White)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/black/shauntal.png", @@ -149,7 +149,7 @@ "badge_image_url": null, "level_cap": 50, "order": 11, - "after_route_name": null, + "after_route_name": "Victory Road (Unova Black & White)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/black/grimsley.png", @@ -163,7 +163,7 @@ "badge_image_url": null, "level_cap": 50, "order": 12, - "after_route_name": null, + "after_route_name": "Victory Road (Unova Black & White)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/black/caitlin.png", @@ -177,7 +177,7 @@ "badge_image_url": null, "level_cap": 52, "order": 13, - "after_route_name": null, + "after_route_name": "Victory Road (Unova Black & White)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/black/marshal.png", @@ -191,7 +191,7 @@ "badge_image_url": null, "level_cap": 52, "order": 14, - "after_route_name": null, + "after_route_name": "N's Castle", "location": "N's Castle", "section": "Main Story", "sprite_url": "/boss-sprites/black/n.png", @@ -205,10 +205,80 @@ "badge_image_url": null, "level_cap": 54, "order": 15, - "after_route_name": null, + "after_route_name": "N's Castle", "location": "N's Castle", "section": "Main Story", "sprite_url": "/boss-sprites/black/ghetsis.png", "pokemon": [] + }, + { + "name": "Shauntal", + "boss_type": "elite_four", + "specialty_type": "ghost", + "badge_name": null, + "badge_image_url": null, + "level_cap": 73, + "order": 16, + "after_route_name": "Challenger's Cave", + "location": "Pokemon League", + "section": "Endgame", + "sprite_url": "/boss-sprites/black/shauntal.png", + "pokemon": [] + }, + { + "name": "Grimsley", + "boss_type": "elite_four", + "specialty_type": "dark", + "badge_name": null, + "badge_image_url": null, + "level_cap": 73, + "order": 17, + "after_route_name": "Challenger's Cave", + "location": "Pokemon League", + "section": "Endgame", + "sprite_url": "/boss-sprites/black/grimsley.png", + "pokemon": [] + }, + { + "name": "Caitlin", + "boss_type": "elite_four", + "specialty_type": "psychic", + "badge_name": null, + "badge_image_url": null, + "level_cap": 73, + "order": 18, + "after_route_name": "Challenger's Cave", + "location": "Pokemon League", + "section": "Endgame", + "sprite_url": "/boss-sprites/black/caitlin.png", + "pokemon": [] + }, + { + "name": "Marshal", + "boss_type": "gym_leader", + "specialty_type": "fighting", + "badge_name": null, + "badge_image_url": null, + "level_cap": 73, + "order": 19, + "after_route_name": "Challenger's Cave", + "location": "Pokemon League", + "section": "Endgame", + "sprite_url": "/boss-sprites/black/marshal.png", + "pokemon": [] + }, + { + "name": "Alder", + "boss_type": "champion", + "specialty_type": null, + "badge_name": null, + "badge_image_url": null, + "level_cap": 77, + "order": 20, + "after_route_name": "Challenger's Cave", + "location": "Pokemon League", + "section": "Endgame", + "sprite_url": "/boss-sprites/black/alder.png", + "pokemon": [] } ] diff --git a/backend/src/app/seeds/data/black.json b/backend/src/app/seeds/data/black.json index 7bf99f2..1b742da 100644 --- a/backend/src/app/seeds/data/black.json +++ b/backend/src/app/seeds/data/black.json @@ -868,7 +868,8 @@ "min_level": 15, "max_level": 15 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Pinwheel Forest (Inner Area)", @@ -1018,7 +1019,8 @@ "min_level": 17, "max_level": 17 } - ] + ], + "pinwheel_zone": 2 } ] }, @@ -1513,229 +1515,9 @@ } ] }, - { - "name": "Unova Route 16", - "order": 32, - "encounters": [ - { - "pokeapi_id": 531, - "pokemon_name": "Audino", - "method": "walk", - "encounter_rate": 85, - "min_level": 19, - "max_level": 22 - }, - { - "pokeapi_id": 574, - "pokemon_name": "Gothita", - "method": "walk", - "encounter_rate": 60, - "min_level": 19, - "max_level": 25 - }, - { - "pokeapi_id": 572, - "pokemon_name": "Minccino", - "method": "walk", - "encounter_rate": 60, - "min_level": 19, - "max_level": 25 - }, - { - "pokeapi_id": 510, - "pokemon_name": "Liepard", - "method": "walk", - "encounter_rate": 40, - "min_level": 20, - "max_level": 23 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "walk", - "encounter_rate": 40, - "min_level": 15, - "max_level": 55 - }, - { - "pokeapi_id": 568, - "pokemon_name": "Trubbish", - "method": "walk", - "encounter_rate": 40, - "min_level": 19, - "max_level": 22 - }, - { - "pokeapi_id": 587, - "pokemon_name": "Emolga", - "method": "walk", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 573, - "pokemon_name": "Cinccino", - "method": "walk", - "encounter_rate": 5, - "min_level": 22, - "max_level": 22 - } - ] - }, - { - "name": "Lostlorn Forest", - "order": 33, - "encounters": [ - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 20 - }, - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 20 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "fishing", - "encounter_rate": 100, - "min_level": 35, - "max_level": 70 - }, - { - "pokeapi_id": 571, - "pokemon_name": "Zoroark", - "method": "static", - "encounter_rate": 100, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 546, - "pokemon_name": "Cottonee", - "method": "walk", - "encounter_rate": 70, - "min_level": 19, - "max_level": 25 - }, - { - "pokeapi_id": 541, - "pokemon_name": "Swadloon", - "method": "walk", - "encounter_rate": 70, - "min_level": 20, - "max_level": 25 - }, - { - "pokeapi_id": 531, - "pokemon_name": "Audino", - "method": "walk", - "encounter_rate": 45, - "min_level": 19, - "max_level": 21 - }, - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "fishing", - "encounter_rate": 40, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "fishing", - "encounter_rate": 40, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 520, - "pokemon_name": "Tranquill", - "method": "walk", - "encounter_rate": 30, - "min_level": 21, - "max_level": 25 - }, - { - "pokeapi_id": 543, - "pokemon_name": "Venipede", - "method": "walk", - "encounter_rate": 30, - "min_level": 20, - "max_level": 24 - }, - { - "pokeapi_id": 587, - "pokemon_name": "Emolga", - "method": "walk", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 515, - "pokemon_name": "Panpour", - "method": "walk", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 511, - "pokemon_name": "Pansage", - "method": "walk", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 513, - "pokemon_name": "Pansear", - "method": "walk", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 542, - "pokemon_name": "Leavanny", - "method": "walk", - "encounter_rate": 5, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 521, - "pokemon_name": "Unfezant", - "method": "walk", - "encounter_rate": 5, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 547, - "pokemon_name": "Whimsicott", - "method": "walk", - "encounter_rate": 5, - "min_level": 22, - "max_level": 22 - } - ] - }, { "name": "Unova Route 5", - "order": 34, + "order": 32, "encounters": [ { "pokeapi_id": 531, @@ -1805,7 +1587,7 @@ }, { "name": "Driftveil Drawbridge", - "order": 35, + "order": 33, "encounters": [ { "pokeapi_id": 580, @@ -1819,7 +1601,7 @@ }, { "name": "Driftveil City", - "order": 36, + "order": 34, "encounters": [ { "pokeapi_id": 550, @@ -1897,7 +1679,7 @@ }, { "name": "Cold Storage (Outside)", - "order": 37, + "order": 35, "encounters": [ { "pokeapi_id": 531, @@ -1959,7 +1741,7 @@ }, { "name": "Unova Route 6", - "order": 38, + "order": 36, "encounters": [ { "pokeapi_id": 10016, @@ -2117,7 +1899,7 @@ }, { "name": "Chargestone Cave", - "order": 39, + "order": 37, "encounters": [ { "pokeapi_id": 529, @@ -2131,7 +1913,7 @@ "children": [ { "name": "Chargestone Cave (1F)", - "order": 40, + "order": 38, "encounters": [ { "pokeapi_id": 595, @@ -2177,7 +1959,7 @@ }, { "name": "Chargestone Cave (B1F)", - "order": 41, + "order": 39, "encounters": [ { "pokeapi_id": 595, @@ -2223,7 +2005,7 @@ }, { "name": "Chargestone Cave (B2F)", - "order": 42, + "order": 40, "encounters": [ { "pokeapi_id": 595, @@ -2269,131 +2051,9 @@ } ] }, - { - "name": "Mistralton Cave", - "order": 43, - "encounters": [ - { - "pokeapi_id": 529, - "pokemon_name": "Drilbur", - "method": "walk", - "encounter_rate": 100, - "min_level": 28, - "max_level": 31 - } - ], - "children": [ - { - "name": "Mistralton Cave (1F)", - "order": 44, - "encounters": [ - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 50, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 30, - "min_level": 28, - "max_level": 30 - }, - { - "pokeapi_id": 610, - "pokemon_name": "Axew", - "method": "walk", - "encounter_rate": 20, - "min_level": 30, - "max_level": 31 - } - ] - }, - { - "name": "Mistralton Cave (2F)", - "order": 45, - "encounters": [ - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 50, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 30, - "min_level": 28, - "max_level": 30 - }, - { - "pokeapi_id": 610, - "pokemon_name": "Axew", - "method": "walk", - "encounter_rate": 20, - "min_level": 30, - "max_level": 31 - } - ] - }, - { - "name": "Mistralton Cave (Guidance Chamber)", - "order": 46, - "encounters": [ - { - "pokeapi_id": 638, - "pokemon_name": "Cobalion", - "method": "static", - "encounter_rate": 100, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 529, - "pokemon_name": "Drilbur", - "method": "walk", - "encounter_rate": 100, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 50, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 30, - "min_level": 28, - "max_level": 30 - }, - { - "pokeapi_id": 610, - "pokemon_name": "Axew", - "method": "walk", - "encounter_rate": 20, - "min_level": 30, - "max_level": 31 - } - ] - } - ] - }, { "name": "Unova Route 7", - "order": 47, + "order": 41, "encounters": [ { "pokeapi_id": 585, @@ -2487,12 +2147,12 @@ }, { "name": "Celestial Tower", - "order": 48, + "order": 42, "encounters": [], "children": [ { "name": "Celestial Tower (2F)", - "order": 49, + "order": 43, "encounters": [ { "pokeapi_id": 607, @@ -2506,7 +2166,7 @@ }, { "name": "Celestial Tower (3F)", - "order": 50, + "order": 44, "encounters": [ { "pokeapi_id": 607, @@ -2528,7 +2188,7 @@ }, { "name": "Celestial Tower (4F)", - "order": 51, + "order": 45, "encounters": [ { "pokeapi_id": 607, @@ -2550,7 +2210,7 @@ }, { "name": "Celestial Tower (5F)", - "order": 52, + "order": 46, "encounters": [ { "pokeapi_id": 605, @@ -2573,14 +2233,453 @@ ] }, { - "name": "Twist Mountain", - "order": 53, - "encounters": [], + "name": "Unova Route 17", + "order": 47, + "encounters": [ + { + "pokeapi_id": 592, + "pokemon_name": "Frillish", + "method": "surf", + "encounter_rate": 100, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 594, + "pokemon_name": "Alomomola", + "method": "surf", + "encounter_rate": 95, + "min_level": 5, + "max_level": 20 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "fishing", + "encounter_rate": 65, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 117, + "pokemon_name": "Seadra", + "method": "fishing", + "encounter_rate": 60, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "fishing", + "encounter_rate": 35, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 211, + "pokemon_name": "Qwilfish", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 593, + "pokemon_name": "Jellicent", + "method": "surf", + "encounter_rate": 5, + "min_level": 5, + "max_level": 20 + }, + { + "pokeapi_id": 230, + "pokemon_name": "Kingdra", + "method": "fishing", + "encounter_rate": 5, + "min_level": 45, + "max_level": 70 + }, + { + "pokeapi_id": 457, + "pokemon_name": "Lumineon", + "method": "fishing", + "encounter_rate": 5, + "min_level": 35, + "max_level": 70 + } + ] + }, + { + "name": "Unova Route 18", + "order": 48, + "encounters": [ + { + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "fishing", + "encounter_rate": 100, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 592, + "pokemon_name": "Frillish", + "method": "surf", + "encounter_rate": 100, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 636, + "pokemon_name": "Larvesta", + "method": "gift", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + }, + { + "pokeapi_id": 594, + "pokemon_name": "Alomomola", + "method": "surf", + "encounter_rate": 95, + "min_level": 5, + "max_level": 20 + }, + { + "pokeapi_id": 531, + "pokemon_name": "Audino", + "method": "walk", + "encounter_rate": 95, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 559, + "pokemon_name": "Scraggy", + "method": "walk", + "encounter_rate": 80, + "min_level": 28, + "max_level": 35 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "fishing", + "encounter_rate": 64, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 117, + "pokemon_name": "Seadra", + "method": "fishing", + "encounter_rate": 60, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 102, + "pokemon_name": "Exeggcute", + "method": "walk", + "encounter_rate": 40, + "min_level": 15, + "max_level": 55 + }, + { + "pokeapi_id": 505, + "pokemon_name": "Watchog", + "method": "walk", + "encounter_rate": 40, + "min_level": 28, + "max_level": 32 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "fishing", + "encounter_rate": 35, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 558, + "pokemon_name": "Crustle", + "method": "walk", + "encounter_rate": 30, + "min_level": 34, + "max_level": 35 + }, + { + "pokeapi_id": 557, + "pokemon_name": "Dwebble", + "method": "walk", + "encounter_rate": 30, + "min_level": 30, + "max_level": 31 + }, + { + "pokeapi_id": 211, + "pokemon_name": "Qwilfish", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 539, + "pokemon_name": "Sawk", + "method": "walk", + "encounter_rate": 20, + "min_level": 29, + "max_level": 33 + }, + { + "pokeapi_id": 593, + "pokemon_name": "Jellicent", + "method": "surf", + "encounter_rate": 5, + "min_level": 5, + "max_level": 20 + }, + { + "pokeapi_id": 230, + "pokemon_name": "Kingdra", + "method": "fishing", + "encounter_rate": 5, + "min_level": 45, + "max_level": 70 + }, + { + "pokeapi_id": 457, + "pokemon_name": "Lumineon", + "method": "fishing", + "encounter_rate": 5, + "min_level": 35, + "max_level": 70 + }, + { + "pokeapi_id": 538, + "pokemon_name": "Throh", + "method": "walk", + "encounter_rate": 5, + "min_level": 31, + "max_level": 31 + } + ] + }, + { + "name": "P2 Laboratory", + "order": 49, + "encounters": [ + { + "pokeapi_id": 592, + "pokemon_name": "Frillish", + "method": "surf", + "encounter_rate": 100, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 594, + "pokemon_name": "Alomomola", + "method": "surf", + "encounter_rate": 95, + "min_level": 5, + "max_level": 20 + }, + { + "pokeapi_id": 531, + "pokemon_name": "Audino", + "method": "walk", + "encounter_rate": 95, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "fishing", + "encounter_rate": 65, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 117, + "pokemon_name": "Seadra", + "method": "fishing", + "encounter_rate": 60, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 507, + "pokemon_name": "Herdier", + "method": "walk", + "encounter_rate": 36, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 505, + "pokemon_name": "Watchog", + "method": "walk", + "encounter_rate": 36, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "fishing", + "encounter_rate": 35, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 211, + "pokemon_name": "Qwilfish", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 599, + "pokemon_name": "Klink", + "method": "walk", + "encounter_rate": 14, + "min_level": 29, + "max_level": 31 + }, + { + "pokeapi_id": 559, + "pokemon_name": "Scraggy", + "method": "walk", + "encounter_rate": 14, + "min_level": 29, + "max_level": 31 + }, + { + "pokeapi_id": 593, + "pokemon_name": "Jellicent", + "method": "surf", + "encounter_rate": 5, + "min_level": 5, + "max_level": 20 + }, + { + "pokeapi_id": 230, + "pokemon_name": "Kingdra", + "method": "fishing", + "encounter_rate": 5, + "min_level": 45, + "max_level": 70 + }, + { + "pokeapi_id": 457, + "pokemon_name": "Lumineon", + "method": "fishing", + "encounter_rate": 5, + "min_level": 35, + "max_level": 70 + }, + { + "pokeapi_id": 508, + "pokemon_name": "Stoutland", + "method": "walk", + "encounter_rate": 5, + "min_level": 31, + "max_level": 31 + } + ] + }, + { + "name": "Mistralton Cave", + "order": 50, + "encounters": [ + { + "pokeapi_id": 529, + "pokemon_name": "Drilbur", + "method": "walk", + "encounter_rate": 100, + "min_level": 28, + "max_level": 31 + } + ], "children": [ { - "name": "Twist Mountain (B1F)", - "order": 54, + "name": "Mistralton Cave (1F)", + "order": 51, "encounters": [ + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 50, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 30, + "min_level": 28, + "max_level": 30 + }, + { + "pokeapi_id": 610, + "pokemon_name": "Axew", + "method": "walk", + "encounter_rate": 20, + "min_level": 30, + "max_level": 31 + } + ] + }, + { + "name": "Mistralton Cave (2F)", + "order": 52, + "encounters": [ + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 50, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 30, + "min_level": 28, + "max_level": 30 + }, + { + "pokeapi_id": 610, + "pokemon_name": "Axew", + "method": "walk", + "encounter_rate": 20, + "min_level": 30, + "max_level": 31 + } + ] + }, + { + "name": "Mistralton Cave (Guidance Chamber)", + "order": 53, + "encounters": [ + { + "pokeapi_id": 638, + "pokemon_name": "Cobalion", + "method": "static", + "encounter_rate": 100, + "min_level": 42, + "max_level": 42 + }, { "pokeapi_id": 529, "pokemon_name": "Drilbur", @@ -2593,46 +2692,37 @@ "pokeapi_id": 525, "pokemon_name": "Boldore", "method": "walk", - "encounter_rate": 79, + "encounter_rate": 50, "min_level": 28, "max_level": 31 }, - { - "pokeapi_id": 613, - "pokemon_name": "Cubchoo", - "method": "walk", - "encounter_rate": 55, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 533, - "pokemon_name": "Gurdurr", - "method": "walk", - "encounter_rate": 40, - "min_level": 28, - "max_level": 30 - }, { "pokeapi_id": 527, "pokemon_name": "Woobat", "method": "walk", - "encounter_rate": 40, + "encounter_rate": 30, "min_level": 28, - "max_level": 31 + "max_level": 30 }, { - "pokeapi_id": 615, - "pokemon_name": "Cryogonal", + "pokeapi_id": 610, + "pokemon_name": "Axew", "method": "walk", - "encounter_rate": 6, - "min_level": 28, + "encounter_rate": 20, + "min_level": 30, "max_level": 31 } ] - }, + } + ] + }, + { + "name": "Twist Mountain", + "order": 54, + "encounters": [], + "children": [ { - "name": "Twist Mountain (1F)", + "name": "Twist Mountain (B1F)", "order": 55, "encounters": [ { @@ -2686,7 +2776,7 @@ ] }, { - "name": "Twist Mountain (2F)", + "name": "Twist Mountain (1F)", "order": 56, "encounters": [ { @@ -2740,7 +2830,7 @@ ] }, { - "name": "Twist Mountain (3F)", + "name": "Twist Mountain (2F)", "order": 57, "encounters": [ { @@ -2792,81 +2882,65 @@ "max_level": 31 } ] + }, + { + "name": "Twist Mountain (3F)", + "order": 58, + "encounters": [ + { + "pokeapi_id": 529, + "pokemon_name": "Drilbur", + "method": "walk", + "encounter_rate": 100, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 79, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 613, + "pokemon_name": "Cubchoo", + "method": "walk", + "encounter_rate": 55, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 533, + "pokemon_name": "Gurdurr", + "method": "walk", + "encounter_rate": 40, + "min_level": 28, + "max_level": 30 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 40, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 615, + "pokemon_name": "Cryogonal", + "method": "walk", + "encounter_rate": 6, + "min_level": 28, + "max_level": 31 + } + ] } ] }, { "name": "Icirrus City", - "order": 58, - "encounters": [ - { - "pokeapi_id": 339, - "pokemon_name": "Barboach", - "method": "fishing", - "encounter_rate": 100, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 618, - "pokemon_name": "Stunfisk", - "method": "surf", - "encounter_rate": 100, - "min_level": 15, - "max_level": 40 - }, - { - "pokeapi_id": 618, - "pokemon_name": "Stunfisk", - "method": "fishing", - "encounter_rate": 60, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 536, - "pokemon_name": "Palpitoad", - "method": "walk", - "encounter_rate": 40, - "min_level": 30, - "max_level": 33 - }, - { - "pokeapi_id": 616, - "pokemon_name": "Shelmet", - "method": "walk", - "encounter_rate": 40, - "min_level": 30, - "max_level": 33 - }, - { - "pokeapi_id": 618, - "pokemon_name": "Stunfisk", - "method": "walk", - "encounter_rate": 20, - "min_level": 31, - "max_level": 32 - }, - { - "pokeapi_id": 340, - "pokemon_name": "Whiscash", - "method": "fishing", - "encounter_rate": 10, - "min_level": 35, - "max_level": 70 - }, - { - "pokeapi_id": 537, - "pokemon_name": "Seismitoad", - "method": "surf", - "encounter_rate": 5, - "min_level": 15, - "max_level": 40 - } - ] - }, - { - "name": "Moor of Icirrus", "order": 59, "encounters": [ { @@ -3334,8 +3408,78 @@ ] }, { - "name": "Unova Route 9", + "name": "Moor of Icirrus", "order": 66, + "encounters": [ + { + "pokeapi_id": 339, + "pokemon_name": "Barboach", + "method": "fishing", + "encounter_rate": 100, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 618, + "pokemon_name": "Stunfisk", + "method": "surf", + "encounter_rate": 100, + "min_level": 15, + "max_level": 40 + }, + { + "pokeapi_id": 618, + "pokemon_name": "Stunfisk", + "method": "fishing", + "encounter_rate": 60, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 536, + "pokemon_name": "Palpitoad", + "method": "walk", + "encounter_rate": 40, + "min_level": 30, + "max_level": 33 + }, + { + "pokeapi_id": 616, + "pokemon_name": "Shelmet", + "method": "walk", + "encounter_rate": 40, + "min_level": 30, + "max_level": 33 + }, + { + "pokeapi_id": 618, + "pokemon_name": "Stunfisk", + "method": "walk", + "encounter_rate": 20, + "min_level": 31, + "max_level": 32 + }, + { + "pokeapi_id": 340, + "pokemon_name": "Whiscash", + "method": "fishing", + "encounter_rate": 10, + "min_level": 35, + "max_level": 70 + }, + { + "pokeapi_id": 537, + "pokemon_name": "Seismitoad", + "method": "surf", + "encounter_rate": 5, + "min_level": 15, + "max_level": 40 + } + ] + }, + { + "name": "Unova Route 9", + "order": 67, "encounters": [ { "pokeapi_id": 531, @@ -3421,7 +3565,7 @@ }, { "name": "Unova Route 10", - "order": 67, + "order": 68, "encounters": [ { "pokeapi_id": 531, @@ -3531,12 +3675,12 @@ }, { "name": "Victory Road (Unova Black & White)", - "order": 68, + "order": 69, "encounters": [], "children": [ { "name": "Victory Road (Unova BW Outside)", - "order": 69, + "order": 70, "encounters": [ { "pokeapi_id": 631, @@ -3574,7 +3718,7 @@ }, { "name": "Victory Road (Unova BW 1F - Middle and Right Room)", - "order": 70, + "order": 71, "encounters": [ { "pokeapi_id": 10016, @@ -3684,52 +3828,6 @@ }, { "name": "Victory Road (Unova BW 1F - Left Room)", - "order": 71, - "encounters": [ - { - "pokeapi_id": 530, - "pokemon_name": "Excadrill", - "method": "walk", - "encounter_rate": 100, - "min_level": 37, - "max_level": 40 - }, - { - "pokeapi_id": 632, - "pokemon_name": "Durant", - "method": "walk", - "encounter_rate": 40, - "min_level": 37, - "max_level": 40 - }, - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 30, - "min_level": 37, - "max_level": 37 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 20, - "min_level": 37, - "max_level": 40 - }, - { - "pokeapi_id": 619, - "pokemon_name": "Mienfoo", - "method": "walk", - "encounter_rate": 10, - "min_level": 39, - "max_level": 39 - } - ] - }, - { - "name": "Victory Road (Unova BW 2F)", "order": 72, "encounters": [ { @@ -3775,7 +3873,7 @@ ] }, { - "name": "Victory Road (Unova BW 3F)", + "name": "Victory Road (Unova BW 2F)", "order": 73, "encounters": [ { @@ -3821,8 +3919,54 @@ ] }, { - "name": "Victory Road (Unova BW 4F - Middle Room)", + "name": "Victory Road (Unova BW 3F)", "order": 74, + "encounters": [ + { + "pokeapi_id": 530, + "pokemon_name": "Excadrill", + "method": "walk", + "encounter_rate": 100, + "min_level": 37, + "max_level": 40 + }, + { + "pokeapi_id": 632, + "pokemon_name": "Durant", + "method": "walk", + "encounter_rate": 40, + "min_level": 37, + "max_level": 40 + }, + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 30, + "min_level": 37, + "max_level": 37 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 20, + "min_level": 37, + "max_level": 40 + }, + { + "pokeapi_id": 619, + "pokemon_name": "Mienfoo", + "method": "walk", + "encounter_rate": 10, + "min_level": 39, + "max_level": 39 + } + ] + }, + { + "name": "Victory Road (Unova BW 4F - Middle Room)", + "order": 75, "encounters": [ { "pokeapi_id": 530, @@ -3868,52 +4012,6 @@ }, { "name": "Victory Road (Unova BW 4F - Left and Right Room)", - "order": 75, - "encounters": [ - { - "pokeapi_id": 530, - "pokemon_name": "Excadrill", - "method": "walk", - "encounter_rate": 100, - "min_level": 39, - "max_level": 42 - }, - { - "pokeapi_id": 632, - "pokemon_name": "Durant", - "method": "walk", - "encounter_rate": 40, - "min_level": 39, - "max_level": 42 - }, - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 30, - "min_level": 39, - "max_level": 39 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 20, - "min_level": 39, - "max_level": 42 - }, - { - "pokeapi_id": 619, - "pokemon_name": "Mienfoo", - "method": "walk", - "encounter_rate": 10, - "min_level": 41, - "max_level": 41 - } - ] - }, - { - "name": "Victory Road (Unova BW 5F)", "order": 76, "encounters": [ { @@ -3959,7 +4057,7 @@ ] }, { - "name": "Victory Road (Unova BW 6F)", + "name": "Victory Road (Unova BW 5F)", "order": 77, "encounters": [ { @@ -4005,7 +4103,7 @@ ] }, { - "name": "Victory Road (Unova BW 7F)", + "name": "Victory Road (Unova BW 6F)", "order": 78, "encounters": [ { @@ -4051,8 +4149,54 @@ ] }, { - "name": "Victory Road (Unova BW Trial Chamber)", + "name": "Victory Road (Unova BW 7F)", "order": 79, + "encounters": [ + { + "pokeapi_id": 530, + "pokemon_name": "Excadrill", + "method": "walk", + "encounter_rate": 100, + "min_level": 39, + "max_level": 42 + }, + { + "pokeapi_id": 632, + "pokemon_name": "Durant", + "method": "walk", + "encounter_rate": 40, + "min_level": 39, + "max_level": 42 + }, + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 30, + "min_level": 39, + "max_level": 39 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 20, + "min_level": 39, + "max_level": 42 + }, + { + "pokeapi_id": 619, + "pokemon_name": "Mienfoo", + "method": "walk", + "encounter_rate": 10, + "min_level": 41, + "max_level": 41 + } + ] + }, + { + "name": "Victory Road (Unova BW Trial Chamber)", + "order": 80, "encounters": [ { "pokeapi_id": 530, @@ -4108,7 +4252,7 @@ }, { "name": "N's Castle", - "order": 80, + "order": 81, "encounters": [ { "pokeapi_id": 643, @@ -4120,9 +4264,264 @@ } ] }, + { + "name": "Challenger's Cave", + "order": 82, + "encounters": [], + "children": [ + { + "name": "Challengers Cave (1F)", + "order": 83, + "encounters": [ + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 49 + }, + { + "pokeapi_id": 108, + "pokemon_name": "Lickitung", + "method": "walk", + "encounter_rate": 20, + "min_level": 49, + "max_level": 50 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 303, + "pokemon_name": "Mawile", + "method": "walk", + "encounter_rate": 10, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "walk", + "encounter_rate": 10, + "min_level": 49, + "max_level": 49 + } + ] + }, + { + "name": "Challengers Cave (B1F)", + "order": 84, + "encounters": [ + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 49 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 108, + "pokemon_name": "Lickitung", + "method": "walk", + "encounter_rate": 15, + "min_level": 49, + "max_level": 50 + }, + { + "pokeapi_id": 303, + "pokemon_name": "Mawile", + "method": "walk", + "encounter_rate": 10, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "walk", + "encounter_rate": 10, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 447, + "pokemon_name": "Riolu", + "method": "walk", + "encounter_rate": 5, + "min_level": 49, + "max_level": 50 + } + ] + }, + { + "name": "Challengers Cave (B2F)", + "order": 85, + "encounters": [ + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 49 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 108, + "pokemon_name": "Lickitung", + "method": "walk", + "encounter_rate": 15, + "min_level": 49, + "max_level": 50 + }, + { + "pokeapi_id": 303, + "pokemon_name": "Mawile", + "method": "walk", + "encounter_rate": 10, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "walk", + "encounter_rate": 10, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 447, + "pokemon_name": "Riolu", + "method": "walk", + "encounter_rate": 5, + "min_level": 49, + "max_level": 50 + } + ] + }, + { + "name": "Challengers Cave", + "order": 86, + "encounters": [ + { + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", + "method": "surf", + "encounter_rate": 100, + "min_level": 5, + "max_level": 70 + }, + { + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", + "method": "surf", + "encounter_rate": 100, + "min_level": 5, + "max_level": 55 + }, + { + "pokeapi_id": 530, + "pokemon_name": "Excadrill", + "method": "walk", + "encounter_rate": 100, + "min_level": 47, + "max_level": 50 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "fishing", + "encounter_rate": 75, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "fishing", + "encounter_rate": 60, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 62, + "pokemon_name": "Poliwrath", + "method": "fishing", + "encounter_rate": 5, + "min_level": 35, + "max_level": 60 + } + ] + } + ] + }, { "name": "Unova Route 11", - "order": 81, + "order": 87, "encounters": [ { "pokeapi_id": 118, @@ -4304,7 +4703,7 @@ }, { "name": "Village Bridge", - "order": 82, + "order": 88, "encounters": [ { "pokeapi_id": 550, @@ -4430,7 +4829,7 @@ }, { "name": "Unova Route 12", - "order": 83, + "order": 89, "encounters": [ { "pokeapi_id": 531, @@ -4564,7 +4963,7 @@ }, { "name": "Unova Route 13", - "order": 84, + "order": 90, "encounters": [ { "pokeapi_id": 120, @@ -4744,9 +5143,488 @@ } ] }, + { + "name": "Giant Chasm", + "order": 91, + "encounters": [], + "children": [ + { + "name": "Giant Chasm (Entrance)", + "order": 92, + "encounters": [ + { + "pokeapi_id": 531, + "pokemon_name": "Audino", + "method": "walk", + "encounter_rate": 80, + "min_level": 47, + "max_level": 50 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "walk", + "encounter_rate": 50, + "min_level": 47, + "max_level": 59 + }, + { + "pokeapi_id": 277, + "pokemon_name": "Swellow", + "method": "walk", + "encounter_rate": 40, + "min_level": 47, + "max_level": 57 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 30, + "min_level": 48, + "max_level": 60 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 60 + }, + { + "pokeapi_id": 426, + "pokemon_name": "Drifblim", + "method": "walk", + "encounter_rate": 20, + "min_level": 49, + "max_level": 59 + }, + { + "pokeapi_id": 337, + "pokemon_name": "Lunatone", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 58 + }, + { + "pokeapi_id": 338, + "pokemon_name": "Solrock", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 58 + }, + { + "pokeapi_id": 587, + "pokemon_name": "Emolga", + "method": "walk", + "encounter_rate": 10, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 169, + "pokemon_name": "Crobat", + "method": "walk", + "encounter_rate": 5, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 465, + "pokemon_name": "Tangrowth", + "method": "walk", + "encounter_rate": 5, + "min_level": 50, + "max_level": 50 + } + ] + }, + { + "name": "Giant Chasm (Cave)", + "order": 93, + "encounters": [ + { + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", + "method": "surf", + "encounter_rate": 100, + "min_level": 25, + "max_level": 60 + }, + { + "pokeapi_id": 530, + "pokemon_name": "Excadrill", + "method": "walk", + "encounter_rate": 100, + "min_level": 47, + "max_level": 50 + }, + { + "pokeapi_id": 86, + "pokemon_name": "Seel", + "method": "surf", + "encounter_rate": 90, + "min_level": 25, + "max_level": 60 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "fishing", + "encounter_rate": 70, + "min_level": 35, + "max_level": 70 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "fishing", + "encounter_rate": 65, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 221, + "pokemon_name": "Piloswine", + "method": "walk", + "encounter_rate": 25, + "min_level": 47, + "max_level": 49 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 225, + "pokemon_name": "Delibird", + "method": "walk", + "encounter_rate": 10, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 87, + "pokemon_name": "Dewgong", + "method": "surf", + "encounter_rate": 10, + "min_level": 35, + "max_level": 70 + }, + { + "pokeapi_id": 124, + "pokemon_name": "Jynx", + "method": "walk", + "encounter_rate": 10, + "min_level": 48, + "max_level": 50 + }, + { + "pokeapi_id": 337, + "pokemon_name": "Lunatone", + "method": "walk", + "encounter_rate": 10, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 215, + "pokemon_name": "Sneasel", + "method": "walk", + "encounter_rate": 10, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 338, + "pokemon_name": "Solrock", + "method": "walk", + "encounter_rate": 10, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 5, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 62, + "pokemon_name": "Poliwrath", + "method": "fishing", + "encounter_rate": 5, + "min_level": 45, + "max_level": 70 + } + ] + }, + { + "name": "Giant Chasm (Crater forest)", + "order": 94, + "encounters": [ + { + "pokeapi_id": 531, + "pokemon_name": "Audino", + "method": "walk", + "encounter_rate": 85, + "min_level": 52, + "max_level": 55 + }, + { + "pokeapi_id": 35, + "pokemon_name": "Clefairy", + "method": "walk", + "encounter_rate": 60, + "min_level": 52, + "max_level": 64 + }, + { + "pokeapi_id": 221, + "pokemon_name": "Piloswine", + "method": "walk", + "encounter_rate": 50, + "min_level": 52, + "max_level": 64 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 30, + "min_level": 53, + "max_level": 65 + }, + { + "pokeapi_id": 337, + "pokemon_name": "Lunatone", + "method": "walk", + "encounter_rate": 20, + "min_level": 55, + "max_level": 65 + }, + { + "pokeapi_id": 375, + "pokemon_name": "Metang", + "method": "walk", + "encounter_rate": 20, + "min_level": 53, + "max_level": 65 + }, + { + "pokeapi_id": 338, + "pokemon_name": "Solrock", + "method": "walk", + "encounter_rate": 20, + "min_level": 55, + "max_level": 65 + }, + { + "pokeapi_id": 36, + "pokemon_name": "Clefable", + "method": "walk", + "encounter_rate": 5, + "min_level": 55, + "max_level": 55 + }, + { + "pokeapi_id": 473, + "pokemon_name": "Mamoswine", + "method": "walk", + "encounter_rate": 5, + "min_level": 55, + "max_level": 55 + }, + { + "pokeapi_id": 376, + "pokemon_name": "Metagross", + "method": "walk", + "encounter_rate": 5, + "min_level": 55, + "max_level": 55 + } + ] + }, + { + "name": "Giant Chasm (Cave depths)", + "order": 95, + "encounters": [ + { + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", + "method": "surf", + "encounter_rate": 100, + "min_level": 25, + "max_level": 60 + }, + { + "pokeapi_id": 530, + "pokemon_name": "Excadrill", + "method": "walk", + "encounter_rate": 100, + "min_level": 57, + "max_level": 60 + }, + { + "pokeapi_id": 646, + "pokemon_name": "Kyurem", + "method": "static", + "encounter_rate": 100, + "min_level": 75, + "max_level": 75 + }, + { + "pokeapi_id": 86, + "pokemon_name": "Seel", + "method": "surf", + "encounter_rate": 90, + "min_level": 25, + "max_level": 60 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "fishing", + "encounter_rate": 70, + "min_level": 35, + "max_level": 70 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "fishing", + "encounter_rate": 65, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 221, + "pokemon_name": "Piloswine", + "method": "walk", + "encounter_rate": 25, + "min_level": 57, + "max_level": 59 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 20, + "min_level": 57, + "max_level": 57 + }, + { + "pokeapi_id": 225, + "pokemon_name": "Delibird", + "method": "walk", + "encounter_rate": 10, + "min_level": 58, + "max_level": 58 + }, + { + "pokeapi_id": 87, + "pokemon_name": "Dewgong", + "method": "surf", + "encounter_rate": 10, + "min_level": 35, + "max_level": 70 + }, + { + "pokeapi_id": 124, + "pokemon_name": "Jynx", + "method": "walk", + "encounter_rate": 10, + "min_level": 58, + "max_level": 60 + }, + { + "pokeapi_id": 337, + "pokemon_name": "Lunatone", + "method": "walk", + "encounter_rate": 10, + "min_level": 60, + "max_level": 60 + }, + { + "pokeapi_id": 215, + "pokemon_name": "Sneasel", + "method": "walk", + "encounter_rate": 10, + "min_level": 58, + "max_level": 58 + }, + { + "pokeapi_id": 338, + "pokemon_name": "Solrock", + "method": "walk", + "encounter_rate": 10, + "min_level": 60, + "max_level": 60 + }, + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 5, + "min_level": 59, + "max_level": 59 + }, + { + "pokeapi_id": 62, + "pokemon_name": "Poliwrath", + "method": "fishing", + "encounter_rate": 5, + "min_level": 45, + "max_level": 70 + } + ] + } + ] + }, { "name": "Undella Town", - "order": 85, + "order": 96, "encounters": [ { "pokeapi_id": 446, @@ -4848,7 +5726,7 @@ }, { "name": "Undella Bay", - "order": 86, + "order": 97, "encounters": [ { "pokeapi_id": 90, @@ -4966,7 +5844,7 @@ }, { "name": "Unova Route 14", - "order": 87, + "order": 98, "encounters": [ { "pokeapi_id": 118, @@ -5140,7 +6018,7 @@ }, { "name": "Abundant Shrine", - "order": 88, + "order": 99, "encounters": [ { "pokeapi_id": 118, @@ -5322,7 +6200,7 @@ }, { "name": "Unova Route 15", - "order": 89, + "order": 100, "encounters": [ { "pokeapi_id": 479, @@ -5440,7 +6318,7 @@ }, { "name": "Marvelous Bridge", - "order": 90, + "order": 101, "encounters": [ { "pokeapi_id": 129, @@ -5461,1098 +6339,222 @@ ] }, { - "name": "Challenger's Cave", - "order": 91, - "encounters": [], - "children": [ - { - "name": "Challengers Cave (1F)", - "order": 92, - "encounters": [ - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 49 - }, - { - "pokeapi_id": 108, - "pokemon_name": "Lickitung", - "method": "walk", - "encounter_rate": 20, - "min_level": 49, - "max_level": 50 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 303, - "pokemon_name": "Mawile", - "method": "walk", - "encounter_rate": 10, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "walk", - "encounter_rate": 10, - "min_level": 49, - "max_level": 49 - } - ] - }, - { - "name": "Challengers Cave (B1F)", - "order": 93, - "encounters": [ - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 49 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 108, - "pokemon_name": "Lickitung", - "method": "walk", - "encounter_rate": 15, - "min_level": 49, - "max_level": 50 - }, - { - "pokeapi_id": 303, - "pokemon_name": "Mawile", - "method": "walk", - "encounter_rate": 10, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "walk", - "encounter_rate": 10, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 447, - "pokemon_name": "Riolu", - "method": "walk", - "encounter_rate": 5, - "min_level": 49, - "max_level": 50 - } - ] - }, - { - "name": "Challengers Cave (B2F)", - "order": 94, - "encounters": [ - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 49 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 108, - "pokemon_name": "Lickitung", - "method": "walk", - "encounter_rate": 15, - "min_level": 49, - "max_level": 50 - }, - { - "pokeapi_id": 303, - "pokemon_name": "Mawile", - "method": "walk", - "encounter_rate": 10, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "walk", - "encounter_rate": 10, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 447, - "pokemon_name": "Riolu", - "method": "walk", - "encounter_rate": 5, - "min_level": 49, - "max_level": 50 - } - ] - }, - { - "name": "Challengers Cave", - "order": 95, - "encounters": [ - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 70 - }, - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 55 - }, - { - "pokeapi_id": 530, - "pokemon_name": "Excadrill", - "method": "walk", - "encounter_rate": 100, - "min_level": 47, - "max_level": 50 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "fishing", - "encounter_rate": 75, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "fishing", - "encounter_rate": 60, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "fishing", - "encounter_rate": 30, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "fishing", - "encounter_rate": 30, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 62, - "pokemon_name": "Poliwrath", - "method": "fishing", - "encounter_rate": 5, - "min_level": 35, - "max_level": 60 - } - ] - } - ] - }, - { - "name": "Unova Route 17", - "order": 96, + "name": "Unova Route 16", + "order": 102, "encounters": [ - { - "pokeapi_id": 592, - "pokemon_name": "Frillish", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 594, - "pokemon_name": "Alomomola", - "method": "surf", - "encounter_rate": 95, - "min_level": 5, - "max_level": 20 - }, - { - "pokeapi_id": 456, - "pokemon_name": "Finneon", - "method": "fishing", - "encounter_rate": 65, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 117, - "pokemon_name": "Seadra", - "method": "fishing", - "encounter_rate": 60, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "fishing", - "encounter_rate": 35, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 211, - "pokemon_name": "Qwilfish", - "method": "fishing", - "encounter_rate": 30, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 593, - "pokemon_name": "Jellicent", - "method": "surf", - "encounter_rate": 5, - "min_level": 5, - "max_level": 20 - }, - { - "pokeapi_id": 230, - "pokemon_name": "Kingdra", - "method": "fishing", - "encounter_rate": 5, - "min_level": 45, - "max_level": 70 - }, - { - "pokeapi_id": 457, - "pokemon_name": "Lumineon", - "method": "fishing", - "encounter_rate": 5, - "min_level": 35, - "max_level": 70 - } - ] - }, - { - "name": "Unova Route 18", - "order": 97, - "encounters": [ - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "fishing", - "encounter_rate": 100, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 592, - "pokemon_name": "Frillish", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 636, - "pokemon_name": "Larvesta", - "method": "gift", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - }, - { - "pokeapi_id": 594, - "pokemon_name": "Alomomola", - "method": "surf", - "encounter_rate": 95, - "min_level": 5, - "max_level": 20 - }, { "pokeapi_id": 531, "pokemon_name": "Audino", "method": "walk", - "encounter_rate": 95, - "min_level": 28, - "max_level": 31 + "encounter_rate": 85, + "min_level": 19, + "max_level": 22 }, { - "pokeapi_id": 559, - "pokemon_name": "Scraggy", + "pokeapi_id": 574, + "pokemon_name": "Gothita", "method": "walk", - "encounter_rate": 80, - "min_level": 28, - "max_level": 35 - }, - { - "pokeapi_id": 456, - "pokemon_name": "Finneon", - "method": "fishing", - "encounter_rate": 64, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 117, - "pokemon_name": "Seadra", - "method": "fishing", "encounter_rate": 60, - "min_level": 35, - "max_level": 60 + "min_level": 19, + "max_level": 25 }, { - "pokeapi_id": 102, - "pokemon_name": "Exeggcute", + "pokeapi_id": 572, + "pokemon_name": "Minccino", + "method": "walk", + "encounter_rate": 60, + "min_level": 19, + "max_level": 25 + }, + { + "pokeapi_id": 510, + "pokemon_name": "Liepard", + "method": "walk", + "encounter_rate": 40, + "min_level": 20, + "max_level": 23 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", "method": "walk", "encounter_rate": 40, "min_level": 15, "max_level": 55 }, { - "pokeapi_id": 505, - "pokemon_name": "Watchog", + "pokeapi_id": 568, + "pokemon_name": "Trubbish", "method": "walk", "encounter_rate": 40, - "min_level": 28, - "max_level": 32 + "min_level": 19, + "max_level": 22 }, { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "fishing", - "encounter_rate": 35, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 558, - "pokemon_name": "Crustle", + "pokeapi_id": 587, + "pokemon_name": "Emolga", "method": "walk", - "encounter_rate": 30, - "min_level": 34, - "max_level": 35 - }, - { - "pokeapi_id": 557, - "pokemon_name": "Dwebble", - "method": "walk", - "encounter_rate": 30, - "min_level": 30, - "max_level": 31 - }, - { - "pokeapi_id": 211, - "pokemon_name": "Qwilfish", - "method": "fishing", - "encounter_rate": 30, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 539, - "pokemon_name": "Sawk", - "method": "walk", - "encounter_rate": 20, - "min_level": 29, - "max_level": 33 - }, - { - "pokeapi_id": 593, - "pokemon_name": "Jellicent", - "method": "surf", - "encounter_rate": 5, - "min_level": 5, + "encounter_rate": 10, + "min_level": 20, "max_level": 20 }, { - "pokeapi_id": 230, - "pokemon_name": "Kingdra", - "method": "fishing", - "encounter_rate": 5, - "min_level": 45, - "max_level": 70 - }, - { - "pokeapi_id": 457, - "pokemon_name": "Lumineon", - "method": "fishing", - "encounter_rate": 5, - "min_level": 35, - "max_level": 70 - }, - { - "pokeapi_id": 538, - "pokemon_name": "Throh", + "pokeapi_id": 573, + "pokemon_name": "Cinccino", "method": "walk", "encounter_rate": 5, - "min_level": 31, - "max_level": 31 + "min_level": 22, + "max_level": 22 } ] }, { - "name": "P2 Laboratory", - "order": 98, + "name": "Lostlorn Forest", + "order": 103, "encounters": [ { - "pokeapi_id": 592, - "pokemon_name": "Frillish", + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", "method": "surf", "encounter_rate": 100, "min_level": 5, - "max_level": 15 + "max_level": 20 }, { - "pokeapi_id": 594, - "pokemon_name": "Alomomola", + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", "method": "surf", - "encounter_rate": 95, + "encounter_rate": 100, "min_level": 5, "max_level": 20 }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "fishing", + "encounter_rate": 100, + "min_level": 35, + "max_level": 70 + }, + { + "pokeapi_id": 571, + "pokemon_name": "Zoroark", + "method": "static", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 546, + "pokemon_name": "Cottonee", + "method": "walk", + "encounter_rate": 70, + "min_level": 19, + "max_level": 25 + }, + { + "pokeapi_id": 541, + "pokemon_name": "Swadloon", + "method": "walk", + "encounter_rate": 70, + "min_level": 20, + "max_level": 25 + }, { "pokeapi_id": 531, "pokemon_name": "Audino", "method": "walk", - "encounter_rate": 95, - "min_level": 28, - "max_level": 31 + "encounter_rate": 45, + "min_level": 19, + "max_level": 21 }, { - "pokeapi_id": 456, - "pokemon_name": "Finneon", + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", "method": "fishing", - "encounter_rate": 65, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 117, - "pokemon_name": "Seadra", - "method": "fishing", - "encounter_rate": 60, + "encounter_rate": 40, "min_level": 35, "max_level": 60 }, { - "pokeapi_id": 507, - "pokemon_name": "Herdier", - "method": "walk", - "encounter_rate": 36, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 505, - "pokemon_name": "Watchog", - "method": "walk", - "encounter_rate": 36, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", "method": "fishing", - "encounter_rate": 35, + "encounter_rate": 40, "min_level": 35, "max_level": 55 }, { - "pokeapi_id": 211, - "pokemon_name": "Qwilfish", - "method": "fishing", + "pokeapi_id": 520, + "pokemon_name": "Tranquill", + "method": "walk", "encounter_rate": 30, - "min_level": 35, - "max_level": 60 + "min_level": 21, + "max_level": 25 }, { - "pokeapi_id": 599, - "pokemon_name": "Klink", + "pokeapi_id": 543, + "pokemon_name": "Venipede", "method": "walk", - "encounter_rate": 14, - "min_level": 29, - "max_level": 31 + "encounter_rate": 30, + "min_level": 20, + "max_level": 24 }, { - "pokeapi_id": 559, - "pokemon_name": "Scraggy", + "pokeapi_id": 587, + "pokemon_name": "Emolga", "method": "walk", - "encounter_rate": 14, - "min_level": 29, - "max_level": 31 - }, - { - "pokeapi_id": 593, - "pokemon_name": "Jellicent", - "method": "surf", - "encounter_rate": 5, - "min_level": 5, + "encounter_rate": 10, + "min_level": 20, "max_level": 20 }, { - "pokeapi_id": 230, - "pokemon_name": "Kingdra", - "method": "fishing", - "encounter_rate": 5, - "min_level": 45, - "max_level": 70 + "pokeapi_id": 515, + "pokemon_name": "Panpour", + "method": "walk", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 }, { - "pokeapi_id": 457, - "pokemon_name": "Lumineon", - "method": "fishing", - "encounter_rate": 5, - "min_level": 35, - "max_level": 70 + "pokeapi_id": 511, + "pokemon_name": "Pansage", + "method": "walk", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 }, { - "pokeapi_id": 508, - "pokemon_name": "Stoutland", + "pokeapi_id": 513, + "pokemon_name": "Pansear", + "method": "walk", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 542, + "pokemon_name": "Leavanny", "method": "walk", "encounter_rate": 5, - "min_level": 31, - "max_level": 31 - } - ] - }, - { - "name": "Giant Chasm", - "order": 99, - "encounters": [], - "children": [ - { - "name": "Giant Chasm (Entrance)", - "order": 100, - "encounters": [ - { - "pokeapi_id": 531, - "pokemon_name": "Audino", - "method": "walk", - "encounter_rate": 80, - "min_level": 47, - "max_level": 50 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "walk", - "encounter_rate": 50, - "min_level": 47, - "max_level": 59 - }, - { - "pokeapi_id": 277, - "pokemon_name": "Swellow", - "method": "walk", - "encounter_rate": 40, - "min_level": 47, - "max_level": 57 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 30, - "min_level": 48, - "max_level": 60 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 60 - }, - { - "pokeapi_id": 426, - "pokemon_name": "Drifblim", - "method": "walk", - "encounter_rate": 20, - "min_level": 49, - "max_level": 59 - }, - { - "pokeapi_id": 337, - "pokemon_name": "Lunatone", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 58 - }, - { - "pokeapi_id": 338, - "pokemon_name": "Solrock", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 58 - }, - { - "pokeapi_id": 587, - "pokemon_name": "Emolga", - "method": "walk", - "encounter_rate": 10, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 169, - "pokemon_name": "Crobat", - "method": "walk", - "encounter_rate": 5, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 465, - "pokemon_name": "Tangrowth", - "method": "walk", - "encounter_rate": 5, - "min_level": 50, - "max_level": 50 - } - ] + "min_level": 22, + "max_level": 22 }, { - "name": "Giant Chasm (Cave)", - "order": 101, - "encounters": [ - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "surf", - "encounter_rate": 100, - "min_level": 25, - "max_level": 60 - }, - { - "pokeapi_id": 530, - "pokemon_name": "Excadrill", - "method": "walk", - "encounter_rate": 100, - "min_level": 47, - "max_level": 50 - }, - { - "pokeapi_id": 86, - "pokemon_name": "Seel", - "method": "surf", - "encounter_rate": 90, - "min_level": 25, - "max_level": 60 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "fishing", - "encounter_rate": 70, - "min_level": 35, - "max_level": 70 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "fishing", - "encounter_rate": 65, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "fishing", - "encounter_rate": 30, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "fishing", - "encounter_rate": 30, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 221, - "pokemon_name": "Piloswine", - "method": "walk", - "encounter_rate": 25, - "min_level": 47, - "max_level": 49 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 225, - "pokemon_name": "Delibird", - "method": "walk", - "encounter_rate": 10, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 87, - "pokemon_name": "Dewgong", - "method": "surf", - "encounter_rate": 10, - "min_level": 35, - "max_level": 70 - }, - { - "pokeapi_id": 124, - "pokemon_name": "Jynx", - "method": "walk", - "encounter_rate": 10, - "min_level": 48, - "max_level": 50 - }, - { - "pokeapi_id": 337, - "pokemon_name": "Lunatone", - "method": "walk", - "encounter_rate": 10, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 215, - "pokemon_name": "Sneasel", - "method": "walk", - "encounter_rate": 10, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 338, - "pokemon_name": "Solrock", - "method": "walk", - "encounter_rate": 10, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 5, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 62, - "pokemon_name": "Poliwrath", - "method": "fishing", - "encounter_rate": 5, - "min_level": 45, - "max_level": 70 - } - ] + "pokeapi_id": 521, + "pokemon_name": "Unfezant", + "method": "walk", + "encounter_rate": 5, + "min_level": 22, + "max_level": 22 }, { - "name": "Giant Chasm (Crater forest)", - "order": 102, - "encounters": [ - { - "pokeapi_id": 531, - "pokemon_name": "Audino", - "method": "walk", - "encounter_rate": 85, - "min_level": 52, - "max_level": 55 - }, - { - "pokeapi_id": 35, - "pokemon_name": "Clefairy", - "method": "walk", - "encounter_rate": 60, - "min_level": 52, - "max_level": 64 - }, - { - "pokeapi_id": 221, - "pokemon_name": "Piloswine", - "method": "walk", - "encounter_rate": 50, - "min_level": 52, - "max_level": 64 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 30, - "min_level": 53, - "max_level": 65 - }, - { - "pokeapi_id": 337, - "pokemon_name": "Lunatone", - "method": "walk", - "encounter_rate": 20, - "min_level": 55, - "max_level": 65 - }, - { - "pokeapi_id": 375, - "pokemon_name": "Metang", - "method": "walk", - "encounter_rate": 20, - "min_level": 53, - "max_level": 65 - }, - { - "pokeapi_id": 338, - "pokemon_name": "Solrock", - "method": "walk", - "encounter_rate": 20, - "min_level": 55, - "max_level": 65 - }, - { - "pokeapi_id": 36, - "pokemon_name": "Clefable", - "method": "walk", - "encounter_rate": 5, - "min_level": 55, - "max_level": 55 - }, - { - "pokeapi_id": 473, - "pokemon_name": "Mamoswine", - "method": "walk", - "encounter_rate": 5, - "min_level": 55, - "max_level": 55 - }, - { - "pokeapi_id": 376, - "pokemon_name": "Metagross", - "method": "walk", - "encounter_rate": 5, - "min_level": 55, - "max_level": 55 - } - ] - }, - { - "name": "Giant Chasm (Cave depths)", - "order": 103, - "encounters": [ - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "surf", - "encounter_rate": 100, - "min_level": 25, - "max_level": 60 - }, - { - "pokeapi_id": 530, - "pokemon_name": "Excadrill", - "method": "walk", - "encounter_rate": 100, - "min_level": 57, - "max_level": 60 - }, - { - "pokeapi_id": 646, - "pokemon_name": "Kyurem", - "method": "static", - "encounter_rate": 100, - "min_level": 75, - "max_level": 75 - }, - { - "pokeapi_id": 86, - "pokemon_name": "Seel", - "method": "surf", - "encounter_rate": 90, - "min_level": 25, - "max_level": 60 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "fishing", - "encounter_rate": 70, - "min_level": 35, - "max_level": 70 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "fishing", - "encounter_rate": 65, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "fishing", - "encounter_rate": 30, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "fishing", - "encounter_rate": 30, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 221, - "pokemon_name": "Piloswine", - "method": "walk", - "encounter_rate": 25, - "min_level": 57, - "max_level": 59 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 20, - "min_level": 57, - "max_level": 57 - }, - { - "pokeapi_id": 225, - "pokemon_name": "Delibird", - "method": "walk", - "encounter_rate": 10, - "min_level": 58, - "max_level": 58 - }, - { - "pokeapi_id": 87, - "pokemon_name": "Dewgong", - "method": "surf", - "encounter_rate": 10, - "min_level": 35, - "max_level": 70 - }, - { - "pokeapi_id": 124, - "pokemon_name": "Jynx", - "method": "walk", - "encounter_rate": 10, - "min_level": 58, - "max_level": 60 - }, - { - "pokeapi_id": 337, - "pokemon_name": "Lunatone", - "method": "walk", - "encounter_rate": 10, - "min_level": 60, - "max_level": 60 - }, - { - "pokeapi_id": 215, - "pokemon_name": "Sneasel", - "method": "walk", - "encounter_rate": 10, - "min_level": 58, - "max_level": 58 - }, - { - "pokeapi_id": 338, - "pokemon_name": "Solrock", - "method": "walk", - "encounter_rate": 10, - "min_level": 60, - "max_level": 60 - }, - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 5, - "min_level": 59, - "max_level": 59 - }, - { - "pokeapi_id": 62, - "pokemon_name": "Poliwrath", - "method": "fishing", - "encounter_rate": 5, - "min_level": 45, - "max_level": 70 - } - ] + "pokeapi_id": 547, + "pokemon_name": "Whimsicott", + "method": "walk", + "encounter_rate": 5, + "min_level": 22, + "max_level": 22 } ] }, diff --git a/backend/src/app/seeds/data/blue.json b/backend/src/app/seeds/data/blue.json index 2d3c6c2..f1b25ff 100644 --- a/backend/src/app/seeds/data/blue.json +++ b/backend/src/app/seeds/data/blue.json @@ -1305,79 +1305,9 @@ } ] }, - { - "name": "Power Plant", - "order": 29, - "encounters": [ - { - "pokeapi_id": 145, - "pokemon_name": "Zapdos", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "static", - "encounter_rate": 50, - "min_level": 43, - "max_level": 43 - }, - { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "walk", - "encounter_rate": 35, - "min_level": 21, - "max_level": 21 - }, - { - "pokeapi_id": 81, - "pokemon_name": "Magnemite", - "method": "walk", - "encounter_rate": 25, - "min_level": 21, - "max_level": 21 - }, - { - "pokeapi_id": 25, - "pokemon_name": "Pikachu", - "method": "walk", - "encounter_rate": 25, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "static", - "encounter_rate": 17, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 10, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 26, - "pokemon_name": "Raichu", - "method": "walk", - "encounter_rate": 5, - "min_level": 33, - "max_level": 33 - } - ] - }, { "name": "Route 08 (Kanto)", - "order": 30, + "order": 29, "encounters": [ { "pokeapi_id": 16, @@ -1415,7 +1345,7 @@ }, { "name": "Route 07 (Kanto)", - "order": 31, + "order": 30, "encounters": [ { "pokeapi_id": 69, @@ -1453,7 +1383,7 @@ }, { "name": "Celadon City", - "order": 32, + "order": 31, "encounters": [ { "pokeapi_id": 129, @@ -1499,12 +1429,12 @@ }, { "name": "Pok\u00e9mon Tower", - "order": 33, + "order": 32, "encounters": [], "children": [ { "name": "Pok\u00e9mon Tower (3F)", - "order": 34, + "order": 33, "encounters": [ { "pokeapi_id": 93, @@ -1534,7 +1464,7 @@ }, { "name": "Pok\u00e9mon Tower (4F)", - "order": 35, + "order": 34, "encounters": [ { "pokeapi_id": 92, @@ -1564,7 +1494,7 @@ }, { "name": "Pok\u00e9mon Tower (5F)", - "order": 36, + "order": 35, "encounters": [ { "pokeapi_id": 92, @@ -1594,7 +1524,7 @@ }, { "name": "Pok\u00e9mon Tower (6F)", - "order": 37, + "order": 36, "encounters": [ { "pokeapi_id": 105, @@ -1632,7 +1562,7 @@ }, { "name": "Pok\u00e9mon Tower (7F)", - "order": 38, + "order": 37, "encounters": [ { "pokeapi_id": 92, @@ -1664,7 +1594,7 @@ }, { "name": "Silph Co.", - "order": 39, + "order": 38, "encounters": [ { "pokeapi_id": 131, @@ -1678,7 +1608,7 @@ }, { "name": "Fighting Dojo", - "order": 40, + "order": 39, "encounters": [ { "pokeapi_id": 107, @@ -1700,7 +1630,7 @@ }, { "name": "Route 16 (Kanto)", - "order": 41, + "order": 40, "encounters": [ { "pokeapi_id": 143, @@ -1746,7 +1676,7 @@ }, { "name": "Route 17 (Kanto)", - "order": 42, + "order": 41, "encounters": [ { "pokeapi_id": 129, @@ -1840,7 +1770,7 @@ }, { "name": "Route 18 (Kanto)", - "order": 43, + "order": 42, "encounters": [ { "pokeapi_id": 108, @@ -1942,7 +1872,7 @@ }, { "name": "Fuchsia City", - "order": 44, + "order": 43, "encounters": [ { "pokeapi_id": 129, @@ -2004,12 +1934,12 @@ }, { "name": "Safari Zone (Kanto)", - "order": 45, + "order": 44, "encounters": [], "children": [ { "name": "Safari Zone (Kanto - Center Area)", - "order": 46, + "order": 45, "encounters": [ { "pokeapi_id": 113, @@ -2143,7 +2073,7 @@ }, { "name": "Safari Zone (Kanto - Area 1)", - "order": 47, + "order": 46, "encounters": [ { "pokeapi_id": 129, @@ -2277,7 +2207,7 @@ }, { "name": "Safari Zone (Kanto - Area 2)", - "order": 48, + "order": 47, "encounters": [ { "pokeapi_id": 129, @@ -2411,7 +2341,7 @@ }, { "name": "Safari Zone (Kanto - Area 3)", - "order": 49, + "order": 48, "encounters": [ { "pokeapi_id": 115, @@ -2546,62 +2476,8 @@ ] }, { - "name": "Route 15 (Kanto)", - "order": 50, - "encounters": [ - { - "pokeapi_id": 69, - "pokemon_name": "Bellsprout", - "method": "walk", - "encounter_rate": 40, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 48, - "pokemon_name": "Venonat", - "method": "walk", - "encounter_rate": 20, - "min_level": 26, - "max_level": 26 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 15, - "min_level": 26, - "max_level": 26 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 15, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 5, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 70, - "pokemon_name": "Weepinbell", - "method": "walk", - "encounter_rate": 5, - "min_level": 30, - "max_level": 30 - } - ] - }, - { - "name": "Route 14 (Kanto)", - "order": 51, + "name": "Route 12 (Kanto)", + "order": 49, "encounters": [ { "pokeapi_id": 129, @@ -2635,6 +2511,46 @@ "min_level": 22, "max_level": 22 }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 35, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "super-rod", + "encounter_rate": 25, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "super-rod", + "encounter_rate": 25, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 25, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "super-rod", + "encounter_rate": 25, + "min_level": 5, + "max_level": 5 + }, { "pokeapi_id": 48, "pokemon_name": "Venonat", @@ -2643,43 +2559,19 @@ "min_level": 24, "max_level": 24 }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 15, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 15, - "min_level": 26, - "max_level": 26 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 5, - "min_level": 28, - "max_level": 28 - }, { "pokeapi_id": 70, "pokemon_name": "Weepinbell", "method": "walk", "encounter_rate": 5, - "min_level": 30, - "max_level": 30 + "min_level": 28, + "max_level": 28 } ] }, { "name": "Route 13 (Kanto)", - "order": 52, + "order": 50, "encounters": [ { "pokeapi_id": 129, @@ -2780,8 +2672,8 @@ ] }, { - "name": "Route 12 (Kanto)", - "order": 53, + "name": "Route 14 (Kanto)", + "order": 51, "encounters": [ { "pokeapi_id": 129, @@ -2815,46 +2707,6 @@ "min_level": 22, "max_level": 22 }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 35, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "super-rod", - "encounter_rate": 25, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "super-rod", - "encounter_rate": 25, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 25, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "super-rod", - "encounter_rate": 25, - "min_level": 5, - "max_level": 5 - }, { "pokeapi_id": 48, "pokemon_name": "Venonat", @@ -2864,18 +2716,96 @@ "max_level": 24 }, { - "pokeapi_id": 70, - "pokemon_name": "Weepinbell", + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 15, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 15, + "min_level": 26, + "max_level": 26 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", "method": "walk", "encounter_rate": 5, "min_level": 28, "max_level": 28 + }, + { + "pokeapi_id": 70, + "pokemon_name": "Weepinbell", + "method": "walk", + "encounter_rate": 5, + "min_level": 30, + "max_level": 30 + } + ] + }, + { + "name": "Route 15 (Kanto)", + "order": 52, + "encounters": [ + { + "pokeapi_id": 69, + "pokemon_name": "Bellsprout", + "method": "walk", + "encounter_rate": 40, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 48, + "pokemon_name": "Venonat", + "method": "walk", + "encounter_rate": 20, + "min_level": 26, + "max_level": 26 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 15, + "min_level": 26, + "max_level": 26 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 15, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 5, + "min_level": 28, + "max_level": 28 + }, + { + "pokeapi_id": 70, + "pokemon_name": "Weepinbell", + "method": "walk", + "encounter_rate": 5, + "min_level": 30, + "max_level": 30 } ] }, { "name": "Route 19 (Kanto)", - "order": 54, + "order": 53, "encounters": [ { "pokeapi_id": 129, @@ -2945,7 +2875,7 @@ }, { "name": "Route 20 (Kanto)", - "order": 55, + "order": 54, "encounters": [ { "pokeapi_id": 129, @@ -3015,12 +2945,12 @@ }, { "name": "Seafoam Islands", - "order": 56, + "order": 55, "encounters": [], "children": [ { "name": "Seafoam Islands (1F)", - "order": 57, + "order": 56, "encounters": [ { "pokeapi_id": 80, @@ -3090,7 +3020,7 @@ }, { "name": "Seafoam Islands (B1F)", - "order": 58, + "order": 57, "encounters": [ { "pokeapi_id": 99, @@ -3152,7 +3082,7 @@ }, { "name": "Seafoam Islands (B2F)", - "order": 59, + "order": 58, "encounters": [ { "pokeapi_id": 55, @@ -3214,7 +3144,7 @@ }, { "name": "Seafoam Islands (B3F)", - "order": 60, + "order": 59, "encounters": [ { "pokeapi_id": 502, @@ -3324,7 +3254,7 @@ }, { "name": "Seafoam Islands (B4F)", - "order": 61, + "order": 60, "encounters": [ { "pokeapi_id": 144, @@ -3444,7 +3374,7 @@ }, { "name": "Cinnabar Island", - "order": 62, + "order": 61, "encounters": [ { "pokeapi_id": 129, @@ -3506,12 +3436,12 @@ }, { "name": "Pok\u00e9mon Mansion (Kanto)", - "order": 63, + "order": 62, "encounters": [], "children": [ { "name": "Pok\u00e9mon Mansion (Kanto - 1F)", - "order": 64, + "order": 63, "encounters": [ { "pokeapi_id": 110, @@ -3565,7 +3495,7 @@ }, { "name": "Pok\u00e9mon Mansion (Kanto - 2F)", - "order": 65, + "order": 64, "encounters": [ { "pokeapi_id": 110, @@ -3619,7 +3549,7 @@ }, { "name": "Pok\u00e9mon Mansion (Kanto - 3F)", - "order": 66, + "order": 65, "encounters": [ { "pokeapi_id": 110, @@ -3681,7 +3611,7 @@ }, { "name": "Pok\u00e9mon Mansion (Kanto - B1F)", - "order": 67, + "order": 66, "encounters": [ { "pokeapi_id": 110, @@ -3745,7 +3675,7 @@ }, { "name": "Cinnabar Lab", - "order": 68, + "order": 67, "encounters": [ { "pokeapi_id": 142, @@ -3799,7 +3729,7 @@ }, { "name": "Route 21 (Kanto)", - "order": 69, + "order": 68, "encounters": [ { "pokeapi_id": 129, @@ -3907,6 +3837,76 @@ } ] }, + { + "name": "Power Plant", + "order": 69, + "encounters": [ + { + "pokeapi_id": 145, + "pokemon_name": "Zapdos", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "static", + "encounter_rate": 50, + "min_level": 43, + "max_level": 43 + }, + { + "pokeapi_id": 100, + "pokemon_name": "Voltorb", + "method": "walk", + "encounter_rate": 35, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 81, + "pokemon_name": "Magnemite", + "method": "walk", + "encounter_rate": 25, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 25, + "pokemon_name": "Pikachu", + "method": "walk", + "encounter_rate": 25, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 100, + "pokemon_name": "Voltorb", + "method": "static", + "encounter_rate": 17, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 10, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 26, + "pokemon_name": "Raichu", + "method": "walk", + "encounter_rate": 5, + "min_level": 33, + "max_level": 33 + } + ] + }, { "name": "Route 23 (Kanto)", "order": 70, @@ -4235,13 +4235,43 @@ ] }, { - "name": "Cerulean Cave", + "name": "Indigo Plateau", "order": 75, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 50, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 50, + "min_level": 10, + "max_level": 10 + } + ] + }, + { + "name": "Cerulean Cave", + "order": 76, "encounters": [], "children": [ { "name": "Cerulean Cave (1F)", - "order": 76, + "order": 77, "encounters": [ { "pokeapi_id": 132, @@ -4383,7 +4413,7 @@ }, { "name": "Cerulean Cave (2F)", - "order": 77, + "order": 78, "encounters": [ { "pokeapi_id": 129, @@ -4541,7 +4571,7 @@ }, { "name": "Cerulean Cave (B1F)", - "order": 78, + "order": 79, "encounters": [ { "pokeapi_id": 150, @@ -4554,35 +4584,5 @@ ] } ] - }, - { - "name": "Indigo Plateau", - "order": 79, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 50, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 50, - "min_level": 10, - "max_level": 10 - } - ] } ] diff --git a/backend/src/app/seeds/data/diamond-bosses.json b/backend/src/app/seeds/data/diamond-bosses.json index 7473c46..aa86ede 100644 --- a/backend/src/app/seeds/data/diamond-bosses.json +++ b/backend/src/app/seeds/data/diamond-bosses.json @@ -7,7 +7,7 @@ "badge_image_url": "/badges/coal-badge.png", "level_cap": 14, "order": 1, - "after_route_name": null, + "after_route_name": "Oreburgh Mine (B1F)", "location": "Oreburgh Gym", "section": "Main Story", "sprite_url": "/boss-sprites/diamond/roark.png", @@ -35,7 +35,7 @@ "badge_image_url": "/badges/cobble-badge.png", "level_cap": 30, "order": 3, - "after_route_name": null, + "after_route_name": "Route 215 (Sinnoh)", "location": "Veilstone Gym", "section": "Main Story", "sprite_url": "/boss-sprites/diamond/maylene.png", @@ -119,7 +119,7 @@ "badge_image_url": null, "level_cap": 53, "order": 9, - "after_route_name": null, + "after_route_name": "Pok\u00e9mon League (Sinnoh)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/diamond/aaron.png", @@ -133,7 +133,7 @@ "badge_image_url": null, "level_cap": 55, "order": 10, - "after_route_name": null, + "after_route_name": "Pok\u00e9mon League (Sinnoh)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/diamond/bertha.png", @@ -147,7 +147,7 @@ "badge_image_url": null, "level_cap": 55, "order": 11, - "after_route_name": null, + "after_route_name": "Pok\u00e9mon League (Sinnoh)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/diamond/flint.png", @@ -161,7 +161,7 @@ "badge_image_url": null, "level_cap": 59, "order": 12, - "after_route_name": null, + "after_route_name": "Pok\u00e9mon League (Sinnoh)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/diamond/lucian.png", @@ -175,7 +175,7 @@ "badge_image_url": null, "level_cap": 66, "order": 13, - "after_route_name": null, + "after_route_name": "Pok\u00e9mon League (Sinnoh)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/diamond/cynthia.png", diff --git a/backend/src/app/seeds/data/diamond.json b/backend/src/app/seeds/data/diamond.json index bbd5762..2fe6479 100644 --- a/backend/src/app/seeds/data/diamond.json +++ b/backend/src/app/seeds/data/diamond.json @@ -5761,8 +5761,86 @@ ] }, { - "name": "Route 218 (Sinnoh)", + "name": "Celestic Town", "order": 83, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 3, + "max_level": 10 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "surf", + "encounter_rate": 90, + "min_level": 20, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 55, + "min_level": 10, + "max_level": 25 + }, + { + "pokeapi_id": 339, + "pokemon_name": "Barboach", + "method": "good-rod", + "encounter_rate": 45, + "min_level": 10, + "max_level": 25 + }, + { + "pokeapi_id": 341, + "pokemon_name": "Corphish", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 30, + "max_level": 40 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 30, + "max_level": 40 + }, + { + "pokeapi_id": 340, + "pokemon_name": "Whiscash", + "method": "super-rod", + "encounter_rate": 15, + "min_level": 40, + "max_level": 55 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "surf", + "encounter_rate": 10, + "min_level": 20, + "max_level": 40 + }, + { + "pokeapi_id": 342, + "pokemon_name": "Crawdaunt", + "method": "super-rod", + "encounter_rate": 5, + "min_level": 35, + "max_level": 55 + } + ] + }, + { + "name": "Route 218 (Sinnoh)", + "order": 84, "encounters": [ { "pokeapi_id": 129, @@ -5896,7 +5974,7 @@ }, { "name": "Canalave City", - "order": 84, + "order": 85, "encounters": [ { "pokeapi_id": 129, @@ -5982,12 +6060,12 @@ }, { "name": "Iron Island", - "order": 85, + "order": 86, "encounters": [], "children": [ { "name": "Iron Island (Outside)", - "order": 86, + "order": 87, "encounters": [ { "pokeapi_id": 129, @@ -6073,7 +6151,7 @@ }, { "name": "Iron Island (1F)", - "order": 87, + "order": 88, "encounters": [ { "pokeapi_id": 74, @@ -6119,7 +6197,7 @@ }, { "name": "Iron Island (B1F)", - "order": 88, + "order": 89, "encounters": [ { "pokeapi_id": 74, @@ -6173,7 +6251,7 @@ }, { "name": "Iron Island (B2F Right)", - "order": 89, + "order": 90, "encounters": [ { "pokeapi_id": 74, @@ -6227,7 +6305,7 @@ }, { "name": "Iron Island (B2F Left)", - "order": 90, + "order": 91, "encounters": [ { "pokeapi_id": 74, @@ -6297,7 +6375,7 @@ }, { "name": "Iron Island (B3F)", - "order": 91, + "order": 92, "encounters": [ { "pokeapi_id": 74, @@ -6359,250 +6437,9 @@ } ] }, - { - "name": "Sinnoh Route 211", - "order": 92, - "encounters": [], - "children": [ - { - "name": "Route 211 (Sinnoh - Western Part)", - "order": 93, - "encounters": [ - { - "pokeapi_id": 399, - "pokemon_name": "Bidoof", - "method": "walk", - "encounter_rate": 60, - "min_level": 12, - "max_level": 14 - }, - { - "pokeapi_id": 307, - "pokemon_name": "Meditite", - "method": "walk", - "encounter_rate": 60, - "min_level": 12, - "max_level": 14 - }, - { - "pokeapi_id": 236, - "pokemon_name": "Tyrogue", - "method": "pokeradar", - "encounter_rate": 22, - "min_level": 12, - "max_level": 14 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 10, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 10, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "walk", - "encounter_rate": 10, - "min_level": 14, - "max_level": 14 - }, - { - "pokeapi_id": 77, - "pokemon_name": "Ponyta", - "method": "walk", - "encounter_rate": 10, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 216, - "pokemon_name": "Teddiursa", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 12, - "max_level": 12 - } - ] - }, - { - "name": "Route 211 (Sinnoh - Eastern Part)", - "order": 94, - "encounters": [ - { - "pokeapi_id": 307, - "pokemon_name": "Meditite", - "method": "walk", - "encounter_rate": 35, - "min_level": 27, - "max_level": 28 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 30, - "min_level": 27, - "max_level": 28 - }, - { - "pokeapi_id": 333, - "pokemon_name": "Swablu", - "method": "pokeradar", - "encounter_rate": 22, - "min_level": 27, - "max_level": 28 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 20, - "min_level": 27, - "max_level": 27 - }, - { - "pokeapi_id": 77, - "pokemon_name": "Ponyta", - "method": "walk", - "encounter_rate": 20, - "min_level": 26, - "max_level": 28 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 10, - "min_level": 27, - "max_level": 28 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 10, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 26, - "max_level": 26 - }, - { - "pokeapi_id": 216, - "pokemon_name": "Teddiursa", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 27, - "max_level": 28 - } - ] - } - ] - }, - { - "name": "Celestic Town", - "order": 95, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 3, - "max_level": 10 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "surf", - "encounter_rate": 90, - "min_level": 20, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 55, - "min_level": 10, - "max_level": 25 - }, - { - "pokeapi_id": 339, - "pokemon_name": "Barboach", - "method": "good-rod", - "encounter_rate": 45, - "min_level": 10, - "max_level": 25 - }, - { - "pokeapi_id": 341, - "pokemon_name": "Corphish", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 30, - "max_level": 40 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 30, - "max_level": 40 - }, - { - "pokeapi_id": 340, - "pokemon_name": "Whiscash", - "method": "super-rod", - "encounter_rate": 15, - "min_level": 40, - "max_level": 55 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "surf", - "encounter_rate": 10, - "min_level": 20, - "max_level": 40 - }, - { - "pokeapi_id": 342, - "pokemon_name": "Crawdaunt", - "method": "super-rod", - "encounter_rate": 5, - "min_level": 35, - "max_level": 55 - } - ] - }, { "name": "Fuego Ironworks", - "order": 96, + "order": 93, "encounters": [ { "pokeapi_id": 129, @@ -6758,6 +6595,169 @@ } ] }, + { + "name": "Sinnoh Route 211", + "order": 94, + "encounters": [], + "children": [ + { + "name": "Route 211 (Sinnoh - Western Part)", + "order": 95, + "encounters": [ + { + "pokeapi_id": 399, + "pokemon_name": "Bidoof", + "method": "walk", + "encounter_rate": 60, + "min_level": 12, + "max_level": 14 + }, + { + "pokeapi_id": 307, + "pokemon_name": "Meditite", + "method": "walk", + "encounter_rate": 60, + "min_level": 12, + "max_level": 14 + }, + { + "pokeapi_id": 236, + "pokemon_name": "Tyrogue", + "method": "pokeradar", + "encounter_rate": 22, + "min_level": 12, + "max_level": 14 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 10, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 10, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "walk", + "encounter_rate": 10, + "min_level": 14, + "max_level": 14 + }, + { + "pokeapi_id": 77, + "pokemon_name": "Ponyta", + "method": "walk", + "encounter_rate": 10, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 216, + "pokemon_name": "Teddiursa", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 12, + "max_level": 12 + } + ] + }, + { + "name": "Route 211 (Sinnoh - Eastern Part)", + "order": 96, + "encounters": [ + { + "pokeapi_id": 307, + "pokemon_name": "Meditite", + "method": "walk", + "encounter_rate": 35, + "min_level": 27, + "max_level": 28 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 30, + "min_level": 27, + "max_level": 28 + }, + { + "pokeapi_id": 333, + "pokemon_name": "Swablu", + "method": "pokeradar", + "encounter_rate": 22, + "min_level": 27, + "max_level": 28 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 20, + "min_level": 27, + "max_level": 27 + }, + { + "pokeapi_id": 77, + "pokemon_name": "Ponyta", + "method": "walk", + "encounter_rate": 20, + "min_level": 26, + "max_level": 28 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 10, + "min_level": 27, + "max_level": 28 + }, + { + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "walk", + "encounter_rate": 10, + "min_level": 28, + "max_level": 28 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 26, + "max_level": 26 + }, + { + "pokeapi_id": 216, + "pokemon_name": "Teddiursa", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 27, + "max_level": 28 + } + ] + } + ] + }, { "name": "Route 216 (Sinnoh)", "order": 97, @@ -6930,23 +6930,9 @@ } ] }, - { - "name": "Snowpoint City", - "order": 99, - "encounters": [ - { - "pokeapi_id": 93, - "pokemon_name": "Haunter", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - } - ] - }, { "name": "Acuity Lakefront", - "order": 100, + "order": 99, "encounters": [ { "pokeapi_id": 67, @@ -7022,6 +7008,20 @@ } ] }, + { + "name": "Snowpoint City", + "order": 100, + "encounters": [ + { + "pokeapi_id": 93, + "pokemon_name": "Haunter", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + } + ] + }, { "name": "Lake Acuity", "order": 101, diff --git a/backend/src/app/seeds/data/emerald.json b/backend/src/app/seeds/data/emerald.json index 73f26d7..f1c6cfb 100644 --- a/backend/src/app/seeds/data/emerald.json +++ b/backend/src/app/seeds/data/emerald.json @@ -561,23 +561,9 @@ } ] }, - { - "name": "Rusturf Tunnel", - "order": 8, - "encounters": [ - { - "pokeapi_id": 293, - "pokemon_name": "Whismur", - "method": "walk", - "encounter_rate": 100, - "min_level": 5, - "max_level": 8 - } - ] - }, { "name": "Hoenn Route 116", - "order": 9, + "order": 8, "encounters": [ { "pokeapi_id": 300, @@ -637,6 +623,20 @@ } ] }, + { + "name": "Rusturf Tunnel", + "order": 9, + "encounters": [ + { + "pokeapi_id": 293, + "pokemon_name": "Whismur", + "method": "walk", + "encounter_rate": 100, + "min_level": 5, + "max_level": 8 + } + ] + }, { "name": "Rustboro City", "order": 10, @@ -1536,76 +1536,9 @@ } ] }, - { - "name": "New Mauville", - "order": 25, - "encounters": [], - "children": [ - { - "name": "New Mauville (Entrance)", - "order": 26, - "encounters": [ - { - "pokeapi_id": 81, - "pokemon_name": "Magnemite", - "method": "walk", - "encounter_rate": 50, - "min_level": 22, - "max_level": 26 - }, - { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "walk", - "encounter_rate": 50, - "min_level": 22, - "max_level": 26 - } - ] - }, - { - "name": "New Mauville (Basement)", - "order": 27, - "encounters": [ - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "walk", - "encounter_rate": 100, - "min_level": 26, - "max_level": 26 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 100, - "min_level": 26, - "max_level": 26 - }, - { - "pokeapi_id": 81, - "pokemon_name": "Magnemite", - "method": "walk", - "encounter_rate": 49, - "min_level": 22, - "max_level": 26 - }, - { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "walk", - "encounter_rate": 49, - "min_level": 22, - "max_level": 26 - } - ] - } - ] - }, { "name": "Hoenn Route 117", - "order": 28, + "order": 25, "encounters": [ { "pokeapi_id": 341, @@ -1731,7 +1664,7 @@ }, { "name": "Hoenn Route 111", - "order": 29, + "order": 26, "encounters": [ { "pokeapi_id": 339, @@ -1839,118 +1772,9 @@ } ] }, - { - "name": "Desert Ruins", - "order": 30, - "encounters": [ - { - "pokeapi_id": 377, - "pokemon_name": "Regirock", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - } - ] - }, - { - "name": "Mirage Tower", - "order": 31, - "encounters": [], - "children": [ - { - "name": "Mirage Tower (1F)", - "order": 32, - "encounters": [ - { - "pokeapi_id": 27, - "pokemon_name": "Sandshrew", - "method": "walk", - "encounter_rate": 50, - "min_level": 20, - "max_level": 24 - }, - { - "pokeapi_id": 328, - "pokemon_name": "Trapinch", - "method": "walk", - "encounter_rate": 50, - "min_level": 20, - "max_level": 24 - } - ] - }, - { - "name": "Mirage Tower (2F)", - "order": 33, - "encounters": [ - { - "pokeapi_id": 27, - "pokemon_name": "Sandshrew", - "method": "walk", - "encounter_rate": 50, - "min_level": 20, - "max_level": 24 - }, - { - "pokeapi_id": 328, - "pokemon_name": "Trapinch", - "method": "walk", - "encounter_rate": 50, - "min_level": 20, - "max_level": 24 - } - ] - }, - { - "name": "Mirage Tower (3F)", - "order": 34, - "encounters": [ - { - "pokeapi_id": 27, - "pokemon_name": "Sandshrew", - "method": "walk", - "encounter_rate": 50, - "min_level": 20, - "max_level": 24 - }, - { - "pokeapi_id": 328, - "pokemon_name": "Trapinch", - "method": "walk", - "encounter_rate": 50, - "min_level": 20, - "max_level": 24 - } - ] - }, - { - "name": "Mirage Tower (4F)", - "order": 35, - "encounters": [ - { - "pokeapi_id": 27, - "pokemon_name": "Sandshrew", - "method": "walk", - "encounter_rate": 50, - "min_level": 20, - "max_level": 24 - }, - { - "pokeapi_id": 328, - "pokemon_name": "Trapinch", - "method": "walk", - "encounter_rate": 50, - "min_level": 20, - "max_level": 24 - } - ] - } - ] - }, { "name": "Hoenn Route 112", - "order": 36, + "order": 27, "encounters": [ { "pokeapi_id": 322, @@ -1972,7 +1796,7 @@ }, { "name": "Fiery Path", - "order": 37, + "order": 28, "encounters": [ { "pokeapi_id": 322, @@ -2024,53 +1848,9 @@ } ] }, - { - "name": "Jagged Pass", - "order": 38, - "encounters": [ - { - "pokeapi_id": 322, - "pokemon_name": "Numel", - "method": "walk", - "encounter_rate": 55, - "min_level": 20, - "max_level": 22 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 25, - "min_level": 20, - "max_level": 22 - }, - { - "pokeapi_id": 325, - "pokemon_name": "Spoink", - "method": "walk", - "encounter_rate": 20, - "min_level": 20, - "max_level": 22 - } - ] - }, - { - "name": "Lavaridge Town", - "order": 39, - "encounters": [ - { - "pokeapi_id": 360, - "pokemon_name": "Wynaut", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - } - ] - }, { "name": "Hoenn Route 113", - "order": 40, + "order": 29, "encounters": [ { "pokeapi_id": 327, @@ -2100,7 +1880,7 @@ }, { "name": "Hoenn Route 114", - "order": 41, + "order": 30, "encounters": [ { "pokeapi_id": 339, @@ -2226,12 +2006,12 @@ }, { "name": "Meteor Falls", - "order": 42, + "order": 31, "encounters": [], "children": [ { "name": "Meteor Falls (1F 1R)", - "order": 43, + "order": 32, "encounters": [ { "pokeapi_id": 339, @@ -2317,7 +2097,7 @@ }, { "name": "Meteor Falls (1F 2R)", - "order": 44, + "order": 33, "encounters": [ { "pokeapi_id": 42, @@ -2411,7 +2191,7 @@ }, { "name": "Meteor Falls (B1F 1R)", - "order": 45, + "order": 34, "encounters": [ { "pokeapi_id": 42, @@ -2505,7 +2285,7 @@ }, { "name": "Meteor Falls (B1F 2R)", - "order": 46, + "order": 35, "encounters": [ { "pokeapi_id": 42, @@ -2607,7 +2387,7 @@ }, { "name": "Meteor Falls (Steven's Cave)", - "order": 47, + "order": 36, "encounters": [ { "pokeapi_id": 42, @@ -2631,7 +2411,7 @@ }, { "name": "Hoenn Route 115", - "order": 48, + "order": 37, "encounters": [ { "pokeapi_id": 320, @@ -2748,36 +2528,284 @@ ] }, { - "name": "Fortree City", - "order": 49, + "name": "Jagged Pass", + "order": 38, "encounters": [ { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 + "pokeapi_id": 322, + "pokemon_name": "Numel", + "method": "walk", + "encounter_rate": 55, + "min_level": 20, + "max_level": 22 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 25, + "min_level": 20, + "max_level": 22 + }, + { + "pokeapi_id": 325, + "pokemon_name": "Spoink", + "method": "walk", + "encounter_rate": 20, + "min_level": 20, + "max_level": 22 } ] }, { - "name": "Weather Institute", - "order": 50, + "name": "Lavaridge Town", + "order": 39, "encounters": [ { - "pokeapi_id": 351, - "pokemon_name": "Castform", + "pokeapi_id": 360, + "pokemon_name": "Wynaut", "method": "gift", "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + } + ] + }, + { + "name": "Mirage Tower", + "order": 40, + "encounters": [], + "children": [ + { + "name": "Mirage Tower (1F)", + "order": 41, + "encounters": [ + { + "pokeapi_id": 27, + "pokemon_name": "Sandshrew", + "method": "walk", + "encounter_rate": 50, + "min_level": 20, + "max_level": 24 + }, + { + "pokeapi_id": 328, + "pokemon_name": "Trapinch", + "method": "walk", + "encounter_rate": 50, + "min_level": 20, + "max_level": 24 + } + ] + }, + { + "name": "Mirage Tower (2F)", + "order": 42, + "encounters": [ + { + "pokeapi_id": 27, + "pokemon_name": "Sandshrew", + "method": "walk", + "encounter_rate": 50, + "min_level": 20, + "max_level": 24 + }, + { + "pokeapi_id": 328, + "pokemon_name": "Trapinch", + "method": "walk", + "encounter_rate": 50, + "min_level": 20, + "max_level": 24 + } + ] + }, + { + "name": "Mirage Tower (3F)", + "order": 43, + "encounters": [ + { + "pokeapi_id": 27, + "pokemon_name": "Sandshrew", + "method": "walk", + "encounter_rate": 50, + "min_level": 20, + "max_level": 24 + }, + { + "pokeapi_id": 328, + "pokemon_name": "Trapinch", + "method": "walk", + "encounter_rate": 50, + "min_level": 20, + "max_level": 24 + } + ] + }, + { + "name": "Mirage Tower (4F)", + "order": 44, + "encounters": [ + { + "pokeapi_id": 27, + "pokemon_name": "Sandshrew", + "method": "walk", + "encounter_rate": 50, + "min_level": 20, + "max_level": 24 + }, + { + "pokeapi_id": 328, + "pokemon_name": "Trapinch", + "method": "walk", + "encounter_rate": 50, + "min_level": 20, + "max_level": 24 + } + ] + } + ] + }, + { + "name": "Abandoned Ship", + "order": 45, + "encounters": [ + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 99, + "min_level": 5, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "super-rod", + "encounter_rate": 80, "min_level": 25, - "max_level": 25 + "max_level": 35 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 70, + "min_level": 5, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 30, + "min_level": 5, + "max_level": 10 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 20, + "max_level": 35 + } + ] + }, + { + "name": "New Mauville", + "order": 46, + "encounters": [], + "children": [ + { + "name": "New Mauville (Entrance)", + "order": 47, + "encounters": [ + { + "pokeapi_id": 81, + "pokemon_name": "Magnemite", + "method": "walk", + "encounter_rate": 50, + "min_level": 22, + "max_level": 26 + }, + { + "pokeapi_id": 100, + "pokemon_name": "Voltorb", + "method": "walk", + "encounter_rate": 50, + "min_level": 22, + "max_level": 26 + } + ] + }, + { + "name": "New Mauville (Basement)", + "order": 48, + "encounters": [ + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "walk", + "encounter_rate": 100, + "min_level": 26, + "max_level": 26 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 100, + "min_level": 26, + "max_level": 26 + }, + { + "pokeapi_id": 81, + "pokemon_name": "Magnemite", + "method": "walk", + "encounter_rate": 49, + "min_level": 22, + "max_level": 26 + }, + { + "pokeapi_id": 100, + "pokemon_name": "Voltorb", + "method": "walk", + "encounter_rate": 49, + "min_level": 22, + "max_level": 26 + } + ] } ] }, { "name": "Hoenn Route 118", - "order": 51, + "order": 49, "encounters": [ { "pokeapi_id": 352, @@ -2911,7 +2939,7 @@ }, { "name": "Hoenn Route 119", - "order": 52, + "order": 50, "encounters": [ { "pokeapi_id": 318, @@ -3059,6 +3087,34 @@ } ] }, + { + "name": "Weather Institute", + "order": 51, + "encounters": [ + { + "pokeapi_id": 351, + "pokemon_name": "Castform", + "method": "gift", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + } + ] + }, + { + "name": "Fortree City", + "order": 52, + "encounters": [ + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + } + ] + }, { "name": "Hoenn Route 120", "order": 53, @@ -3938,95 +3994,9 @@ } ] }, - { - "name": "Lilycove City", - "order": 62, - "encounters": [ - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "super-rod", - "encounter_rate": 85, - "min_level": 25, - "max_level": 45 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 70, - "min_level": 5, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 60, - "min_level": 5, - "max_level": 35 - }, - { - "pokeapi_id": 278, - "pokemon_name": "Wingull", - "method": "surf", - "encounter_rate": 35, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 30, - "min_level": 5, - "max_level": 10 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 120, - "pokemon_name": "Staryu", - "method": "super-rod", - "encounter_rate": 15, - "min_level": 25, - "max_level": 30 - }, - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 5, - "min_level": 25, - "max_level": 30 - } - ] - }, { "name": "Hoenn Route 122", - "order": 63, + "order": 62, "encounters": [ { "pokeapi_id": 129, @@ -4112,12 +4082,12 @@ }, { "name": "Mt. Pyre", - "order": 64, + "order": 63, "encounters": [], "children": [ { "name": "Mt. Pyre (1F)", - "order": 65, + "order": 64, "encounters": [ { "pokeapi_id": 353, @@ -4131,7 +4101,7 @@ }, { "name": "Mt. Pyre (2F)", - "order": 66, + "order": 65, "encounters": [ { "pokeapi_id": 353, @@ -4145,7 +4115,7 @@ }, { "name": "Mt. Pyre (3F)", - "order": 67, + "order": 66, "encounters": [ { "pokeapi_id": 353, @@ -4159,7 +4129,7 @@ }, { "name": "Mt. Pyre (4F)", - "order": 68, + "order": 67, "encounters": [ { "pokeapi_id": 353, @@ -4181,7 +4151,7 @@ }, { "name": "Mt. Pyre (5F)", - "order": 69, + "order": 68, "encounters": [ { "pokeapi_id": 353, @@ -4203,7 +4173,7 @@ }, { "name": "Mt. Pyre (6F)", - "order": 70, + "order": 69, "encounters": [ { "pokeapi_id": 353, @@ -4225,7 +4195,7 @@ }, { "name": "Mt. Pyre (Outside)", - "order": 71, + "order": 70, "encounters": [ { "pokeapi_id": 353, @@ -4255,7 +4225,7 @@ }, { "name": "Mt. Pyre (Summit)", - "order": 72, + "order": 71, "encounters": [ { "pokeapi_id": 353, @@ -4287,7 +4257,7 @@ }, { "name": "Hoenn Route 123", - "order": 73, + "order": 72, "encounters": [ { "pokeapi_id": 352, @@ -4419,37 +4389,9 @@ } ] }, - { - "name": "Team Magma Hideout", - "order": 74, - "encounters": [ - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "static", - "encounter_rate": 50, - "min_level": 30, - "max_level": 30 - } - ] - }, - { - "name": "Team Aqua Hideout", - "order": 75, - "encounters": [ - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "static", - "encounter_rate": 50, - "min_level": 30, - "max_level": 30 - } - ] - }, { "name": "Magma Hideout (Jagged Pass)", - "order": 76, + "order": 73, "encounters": [ { "pokeapi_id": 74, @@ -4477,6 +4419,120 @@ } ] }, + { + "name": "Team Magma Hideout", + "order": 74, + "encounters": [ + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "static", + "encounter_rate": 50, + "min_level": 30, + "max_level": 30 + } + ] + }, + { + "name": "Lilycove City", + "order": 75, + "encounters": [ + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 85, + "min_level": 25, + "max_level": 45 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 70, + "min_level": 5, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 60, + "min_level": 5, + "max_level": 35 + }, + { + "pokeapi_id": 278, + "pokemon_name": "Wingull", + "method": "surf", + "encounter_rate": 35, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 30, + "min_level": 5, + "max_level": 10 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 120, + "pokemon_name": "Staryu", + "method": "super-rod", + "encounter_rate": 15, + "min_level": 25, + "max_level": 30 + }, + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 5, + "min_level": 25, + "max_level": 30 + } + ] + }, + { + "name": "Team Aqua Hideout", + "order": 76, + "encounters": [ + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "static", + "encounter_rate": 50, + "min_level": 30, + "max_level": 30 + } + ] + }, { "name": "Hoenn Route 124", "order": 77, @@ -4922,300 +4978,9 @@ } ] }, - { - "name": "Hoenn Route 126", - "order": 84, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 70, - "min_level": 5, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 60, - "min_level": 5, - "max_level": 35 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "super-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 45 - }, - { - "pokeapi_id": 319, - "pokemon_name": "Sharpedo", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 30, - "max_level": 35 - }, - { - "pokeapi_id": 278, - "pokemon_name": "Wingull", - "method": "surf", - "encounter_rate": 35, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 30, - "min_level": 5, - "max_level": 10 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 5, - "min_level": 25, - "max_level": 30 - } - ], - "children": [ - { - "name": "Hoenn Route 126 (Underwater)", - "order": 85, - "encounters": [ - { - "pokeapi_id": 366, - "pokemon_name": "Clamperl", - "method": "surf", - "encounter_rate": 65, - "min_level": 20, - "max_level": 35 - }, - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "surf", - "encounter_rate": 30, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 369, - "pokemon_name": "Relicanth", - "method": "surf", - "encounter_rate": 5, - "min_level": 30, - "max_level": 35 - } - ] - } - ] - }, - { - "name": "Sootopolis City", - "order": 86, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 35 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 100, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 80, - "min_level": 30, - "max_level": 35 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 70, - "min_level": 5, - "max_level": 10 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 30, - "min_level": 5, - "max_level": 10 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 45 - } - ] - }, - { - "name": "Cave of Origin", - "order": 87, - "encounters": [], - "children": [ - { - "name": "Cave of Origin (Entrance)", - "order": 88, - "encounters": [ - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 90, - "min_level": 28, - "max_level": 35 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 10, - "min_level": 33, - "max_level": 36 - } - ] - }, - { - "name": "Cave of Origin (1F)", - "order": 89, - "encounters": [ - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 60, - "min_level": 30, - "max_level": 34 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "walk", - "encounter_rate": 30, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 10, - "min_level": 33, - "max_level": 36 - } - ] - }, - { - "name": "Cave of Origin (2F)", - "order": 90, - "encounters": [ - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 60, - "min_level": 30, - "max_level": 34 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "walk", - "encounter_rate": 30, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 10, - "min_level": 33, - "max_level": 36 - } - ] - }, - { - "name": "Cave of Origin (3F)", - "order": 91, - "encounters": [ - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 60, - "min_level": 30, - "max_level": 34 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "walk", - "encounter_rate": 30, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 10, - "min_level": 33, - "max_level": 36 - } - ] - } - ] - }, { "name": "Hoenn Route 127", - "order": 92, + "order": 84, "encounters": [ { "pokeapi_id": 129, @@ -5301,7 +5066,7 @@ }, { "name": "Hoenn Route 128", - "order": 93, + "order": 85, "encounters": [ { "pokeapi_id": 129, @@ -5395,7 +5160,7 @@ }, { "name": "Seafloor Cavern", - "order": 94, + "order": 86, "encounters": [ { "pokeapi_id": 320, @@ -5487,6 +5252,297 @@ } ] }, + { + "name": "Hoenn Route 126", + "order": 87, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 70, + "min_level": 5, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 60, + "min_level": 5, + "max_level": 35 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 45 + }, + { + "pokeapi_id": 319, + "pokemon_name": "Sharpedo", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 30, + "max_level": 35 + }, + { + "pokeapi_id": 278, + "pokemon_name": "Wingull", + "method": "surf", + "encounter_rate": 35, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 30, + "min_level": 5, + "max_level": 10 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 5, + "min_level": 25, + "max_level": 30 + } + ], + "children": [ + { + "name": "Hoenn Route 126 (Underwater)", + "order": 88, + "encounters": [ + { + "pokeapi_id": 366, + "pokemon_name": "Clamperl", + "method": "surf", + "encounter_rate": 65, + "min_level": 20, + "max_level": 35 + }, + { + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "surf", + "encounter_rate": 30, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 369, + "pokemon_name": "Relicanth", + "method": "surf", + "encounter_rate": 5, + "min_level": 30, + "max_level": 35 + } + ] + } + ] + }, + { + "name": "Sootopolis City", + "order": 89, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "surf", + "encounter_rate": 100, + "min_level": 5, + "max_level": 35 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 100, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 80, + "min_level": 30, + "max_level": 35 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 70, + "min_level": 5, + "max_level": 10 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 30, + "min_level": 5, + "max_level": 10 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 45 + } + ] + }, + { + "name": "Cave of Origin", + "order": 90, + "encounters": [], + "children": [ + { + "name": "Cave of Origin (Entrance)", + "order": 91, + "encounters": [ + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 90, + "min_level": 28, + "max_level": 35 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 10, + "min_level": 33, + "max_level": 36 + } + ] + }, + { + "name": "Cave of Origin (1F)", + "order": 92, + "encounters": [ + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 60, + "min_level": 30, + "max_level": 34 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "walk", + "encounter_rate": 30, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 10, + "min_level": 33, + "max_level": 36 + } + ] + }, + { + "name": "Cave of Origin (2F)", + "order": 93, + "encounters": [ + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 60, + "min_level": 30, + "max_level": 34 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "walk", + "encounter_rate": 30, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 10, + "min_level": 33, + "max_level": 36 + } + ] + }, + { + "name": "Cave of Origin (3F)", + "order": 94, + "encounters": [ + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 60, + "min_level": 30, + "max_level": 34 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "walk", + "encounter_rate": 30, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 10, + "min_level": 33, + "max_level": 36 + } + ] + } + ] + }, { "name": "Hoenn Route 129", "order": 95, @@ -6130,8 +6186,188 @@ ] }, { - "name": "Ever Grande City", + "name": "Desert Ruins", "order": 102, + "encounters": [ + { + "pokeapi_id": 377, + "pokemon_name": "Regirock", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Island Cave", + "order": 103, + "encounters": [ + { + "pokeapi_id": 378, + "pokemon_name": "Regice", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Ancient Tomb", + "order": 104, + "encounters": [ + { + "pokeapi_id": 379, + "pokemon_name": "Registeel", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Sky Pillar", + "order": 105, + "encounters": [ + { + "pokeapi_id": 384, + "pokemon_name": "Rayquaza", + "method": "static", + "encounter_rate": 100, + "min_level": 70, + "max_level": 70 + } + ], + "children": [ + { + "name": "Sky Pillar (1F)", + "order": 106, + "encounters": [ + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 30, + "min_level": 34, + "max_level": 35 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "walk", + "encounter_rate": 30, + "min_level": 33, + "max_level": 34 + }, + { + "pokeapi_id": 344, + "pokemon_name": "Claydol", + "method": "walk", + "encounter_rate": 25, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 354, + "pokemon_name": "Banette", + "method": "walk", + "encounter_rate": 15, + "min_level": 37, + "max_level": 38 + } + ] + }, + { + "name": "Sky Pillar (3F)", + "order": 107, + "encounters": [ + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 30, + "min_level": 34, + "max_level": 35 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "walk", + "encounter_rate": 30, + "min_level": 33, + "max_level": 34 + }, + { + "pokeapi_id": 344, + "pokemon_name": "Claydol", + "method": "walk", + "encounter_rate": 25, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 354, + "pokemon_name": "Banette", + "method": "walk", + "encounter_rate": 15, + "min_level": 37, + "max_level": 38 + } + ] + }, + { + "name": "Sky Pillar (5F)", + "order": 108, + "encounters": [ + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 30, + "min_level": 34, + "max_level": 35 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "walk", + "encounter_rate": 30, + "min_level": 33, + "max_level": 34 + }, + { + "pokeapi_id": 344, + "pokemon_name": "Claydol", + "method": "walk", + "encounter_rate": 19, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 354, + "pokemon_name": "Banette", + "method": "walk", + "encounter_rate": 15, + "min_level": 37, + "max_level": 38 + }, + { + "pokeapi_id": 334, + "pokemon_name": "Altaria", + "method": "walk", + "encounter_rate": 6, + "min_level": 38, + "max_level": 39 + } + ] + } + ] + }, + { + "name": "Ever Grande City", + "order": 109, "encounters": [ { "pokeapi_id": 129, @@ -6225,12 +6461,12 @@ }, { "name": "Victory Road (Hoenn)", - "order": 103, + "order": 110, "encounters": [], "children": [ { "name": "Victory Road (Hoenn 1F)", - "order": 104, + "order": 111, "encounters": [ { "pokeapi_id": 42, @@ -6300,7 +6536,7 @@ }, { "name": "Victory Road (Hoenn B1F)", - "order": 105, + "order": 112, "encounters": [ { "pokeapi_id": 75, @@ -6354,7 +6590,7 @@ }, { "name": "Victory Road (Hoenn B2F)", - "order": 106, + "order": 113, "encounters": [ { "pokeapi_id": 42, @@ -6457,216 +6693,22 @@ ] }, { - "name": "Sky Pillar", - "order": 107, + "name": "Altering Cave (Sevii Islands)", + "order": 114, "encounters": [ { - "pokeapi_id": 384, - "pokemon_name": "Rayquaza", - "method": "static", + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", "encounter_rate": 100, - "min_level": 70, - "max_level": 70 - } - ], - "children": [ - { - "name": "Sky Pillar (1F)", - "order": 108, - "encounters": [ - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 30, - "min_level": 34, - "max_level": 35 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "walk", - "encounter_rate": 30, - "min_level": 33, - "max_level": 34 - }, - { - "pokeapi_id": 344, - "pokemon_name": "Claydol", - "method": "walk", - "encounter_rate": 25, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 354, - "pokemon_name": "Banette", - "method": "walk", - "encounter_rate": 15, - "min_level": 37, - "max_level": 38 - } - ] - }, - { - "name": "Sky Pillar (3F)", - "order": 109, - "encounters": [ - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 30, - "min_level": 34, - "max_level": 35 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "walk", - "encounter_rate": 30, - "min_level": 33, - "max_level": 34 - }, - { - "pokeapi_id": 344, - "pokemon_name": "Claydol", - "method": "walk", - "encounter_rate": 25, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 354, - "pokemon_name": "Banette", - "method": "walk", - "encounter_rate": 15, - "min_level": 37, - "max_level": 38 - } - ] - }, - { - "name": "Sky Pillar (5F)", - "order": 110, - "encounters": [ - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 30, - "min_level": 34, - "max_level": 35 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "walk", - "encounter_rate": 30, - "min_level": 33, - "max_level": 34 - }, - { - "pokeapi_id": 344, - "pokemon_name": "Claydol", - "method": "walk", - "encounter_rate": 19, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 354, - "pokemon_name": "Banette", - "method": "walk", - "encounter_rate": 15, - "min_level": 37, - "max_level": 38 - }, - { - "pokeapi_id": 334, - "pokemon_name": "Altaria", - "method": "walk", - "encounter_rate": 6, - "min_level": 38, - "max_level": 39 - } - ] - } - ] - }, - { - "name": "Abandoned Ship", - "order": 111, - "encounters": [ - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 35 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 99, - "min_level": 5, - "max_level": 35 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "super-rod", - "encounter_rate": 80, - "min_level": 25, - "max_level": 35 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 70, - "min_level": 5, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 30, - "min_level": 5, - "max_level": 10 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 20, - "max_level": 35 + "min_level": 6, + "max_level": 6 } ] }, { "name": "Desert Underpass", - "order": 112, + "order": 115, "encounters": [ { "pokeapi_id": 132, @@ -6694,9 +6736,37 @@ } ] }, + { + "name": "Terra Cave", + "order": 116, + "encounters": [ + { + "pokeapi_id": 383, + "pokemon_name": "Groudon", + "method": "static", + "encounter_rate": 100, + "min_level": 70, + "max_level": 70 + } + ] + }, + { + "name": "Marine Cave", + "order": 117, + "encounters": [ + { + "pokeapi_id": 382, + "pokemon_name": "Kyogre", + "method": "static", + "encounter_rate": 100, + "min_level": 70, + "max_level": 70 + } + ] + }, { "name": "Artisan Cave", - "order": 113, + "order": 118, "encounters": [ { "pokeapi_id": 235, @@ -6708,51 +6778,9 @@ } ] }, - { - "name": "Altering Cave (Sevii Islands)", - "order": 114, - "encounters": [ - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 100, - "min_level": 6, - "max_level": 6 - } - ] - }, - { - "name": "Ancient Tomb", - "order": 115, - "encounters": [ - { - "pokeapi_id": 379, - "pokemon_name": "Registeel", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - } - ] - }, - { - "name": "Island Cave", - "order": 116, - "encounters": [ - { - "pokeapi_id": 378, - "pokemon_name": "Regice", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - } - ] - }, { "name": "Battle Frontier (Hoenn)", - "order": 117, + "order": 119, "encounters": [ { "pokeapi_id": 52, @@ -6774,7 +6802,7 @@ }, { "name": "Southern Island", - "order": 118, + "order": 120, "encounters": [ { "pokeapi_id": 380, @@ -6794,34 +6822,6 @@ } ] }, - { - "name": "Marine Cave", - "order": 119, - "encounters": [ - { - "pokeapi_id": 382, - "pokemon_name": "Kyogre", - "method": "static", - "encounter_rate": 100, - "min_level": 70, - "max_level": 70 - } - ] - }, - { - "name": "Terra Cave", - "order": 120, - "encounters": [ - { - "pokeapi_id": 383, - "pokemon_name": "Groudon", - "method": "static", - "encounter_rate": 100, - "min_level": 70, - "max_level": 70 - } - ] - }, { "name": "Mirage Island", "order": 121, diff --git a/backend/src/app/seeds/data/firered-bosses.json b/backend/src/app/seeds/data/firered-bosses.json index 517a245..f42d81e 100644 --- a/backend/src/app/seeds/data/firered-bosses.json +++ b/backend/src/app/seeds/data/firered-bosses.json @@ -7,7 +7,7 @@ "badge_image_url": "/badges/boulder-badge.png", "level_cap": 14, "order": 1, - "after_route_name": null, + "after_route_name": "Viridian Forest", "location": "Pewter City Gym", "section": null, "sprite_url": "/boss-sprites/firered/brock.png", @@ -34,7 +34,7 @@ "badge_image_url": "/badges/cascade-badge.png", "level_cap": 21, "order": 2, - "after_route_name": null, + "after_route_name": "Cerulean City", "location": "Cerulean City Gym", "section": null, "sprite_url": "/boss-sprites/firered/misty.png", @@ -61,7 +61,7 @@ "badge_image_url": "/badges/thunder-badge.png", "level_cap": 24, "order": 3, - "after_route_name": null, + "after_route_name": "Vermilion City", "location": "Vermillion City Gym", "section": null, "sprite_url": "/boss-sprites/firered/lt-surge.png", @@ -94,26 +94,12 @@ "badge_image_url": "/badges/rainbow-badge.png", "level_cap": 29, "order": 4, - "after_route_name": null, + "after_route_name": "Celadon City", "location": "Celadon City Gym", "section": null, "sprite_url": "/boss-sprites/firered/erika.png", "pokemon": [] }, - { - "name": "Sabrina", - "boss_type": "gym_leader", - "specialty_type": null, - "badge_name": "Marsh Badge", - "badge_image_url": "/badges/marsh-badge.png", - "level_cap": 43, - "order": 5, - "after_route_name": null, - "location": "Saffron City Gym", - "section": null, - "sprite_url": "/boss-sprites/firered/sabrina.png", - "pokemon": [] - }, { "name": "Koga", "boss_type": "gym_leader", @@ -121,13 +107,27 @@ "badge_name": "Soul Badge", "badge_image_url": "/badges/soul-badge.png", "level_cap": 43, - "order": 6, - "after_route_name": null, + "order": 5, + "after_route_name": "Fuchsia City", "location": "Fuchsia City Gym", "section": null, "sprite_url": "/boss-sprites/firered/koga.png", "pokemon": [] }, + { + "name": "Sabrina", + "boss_type": "gym_leader", + "specialty_type": null, + "badge_name": "Marsh Badge", + "badge_image_url": "/badges/marsh-badge.png", + "level_cap": 43, + "order": 6, + "after_route_name": "Fighting Dojo", + "location": "Saffron City Gym", + "section": null, + "sprite_url": "/boss-sprites/firered/sabrina.png", + "pokemon": [] + }, { "name": "Blaine", "boss_type": "gym_leader", @@ -136,7 +136,7 @@ "badge_image_url": "/badges/volcano-badge.png", "level_cap": 47, "order": 7, - "after_route_name": null, + "after_route_name": "Cinnabar Island", "location": "Cinnabar Island Gym", "section": null, "sprite_url": "/boss-sprites/firered/blaine.png", @@ -150,7 +150,7 @@ "badge_image_url": "/badges/earth-badge.png", "level_cap": 50, "order": 8, - "after_route_name": null, + "after_route_name": "Power Plant", "location": "Viridian City Gym", "section": null, "sprite_url": "/boss-sprites/firered/giovanni.png", @@ -164,7 +164,7 @@ "badge_image_url": null, "level_cap": 54, "order": 9, - "after_route_name": null, + "after_route_name": "Victory Road (Kanto)", "location": "Indigo Plateau", "section": null, "sprite_url": "/boss-sprites/firered/lorelei.png", @@ -178,7 +178,7 @@ "badge_image_url": null, "level_cap": 56, "order": 10, - "after_route_name": null, + "after_route_name": "Victory Road (Kanto)", "location": "Indigo Plateau", "section": null, "sprite_url": "/boss-sprites/firered/bruno.png", @@ -192,7 +192,7 @@ "badge_image_url": null, "level_cap": 58, "order": 11, - "after_route_name": null, + "after_route_name": "Victory Road (Kanto)", "location": "Indigo Plateau", "section": null, "sprite_url": "/boss-sprites/firered/agatha.png", @@ -206,7 +206,7 @@ "badge_image_url": null, "level_cap": 60, "order": 12, - "after_route_name": null, + "after_route_name": "Victory Road (Kanto)", "location": "Indigo Plateau", "section": null, "sprite_url": "/boss-sprites/firered/lance.png", @@ -220,7 +220,7 @@ "badge_image_url": null, "level_cap": 63, "order": 13, - "after_route_name": null, + "after_route_name": "Victory Road (Kanto)", "location": "Indigo Plateau", "section": null, "sprite_url": "/boss-sprites/firered/blue.png", diff --git a/backend/src/app/seeds/data/firered.json b/backend/src/app/seeds/data/firered.json index b8abf3e..1509b8d 100644 --- a/backend/src/app/seeds/data/firered.json +++ b/backend/src/app/seeds/data/firered.json @@ -1681,55 +1681,9 @@ } ] }, - { - "name": "Power Plant", - "order": 29, - "encounters": [ - { - "pokeapi_id": 81, - "pokemon_name": "Magnemite", - "method": "walk", - "encounter_rate": 30, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "walk", - "encounter_rate": 30, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 25, - "pokemon_name": "Pikachu", - "method": "walk", - "encounter_rate": 25, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 10, - "min_level": 31, - "max_level": 31 - }, - { - "pokeapi_id": 125, - "pokemon_name": "Electabuzz", - "method": "walk", - "encounter_rate": 5, - "min_level": 32, - "max_level": 32 - } - ] - }, { "name": "Route 08 (Kanto)", - "order": 30, + "order": 29, "encounters": [ { "pokeapi_id": 52, @@ -1767,7 +1721,7 @@ }, { "name": "Route 07 (Kanto)", - "order": 31, + "order": 30, "encounters": [ { "pokeapi_id": 52, @@ -1805,7 +1759,7 @@ }, { "name": "Celadon City", - "order": 32, + "order": 31, "encounters": [ { "pokeapi_id": 88, @@ -1851,12 +1805,12 @@ }, { "name": "Pok\u00e9mon Tower", - "order": 33, + "order": 32, "encounters": [], "children": [ { "name": "Pok\u00e9mon Tower (3F)", - "order": 34, + "order": 33, "encounters": [ { "pokeapi_id": 93, @@ -1886,7 +1840,7 @@ }, { "name": "Pok\u00e9mon Tower (4F)", - "order": 35, + "order": 34, "encounters": [ { "pokeapi_id": 92, @@ -1916,7 +1870,7 @@ }, { "name": "Pok\u00e9mon Tower (5F)", - "order": 36, + "order": 35, "encounters": [ { "pokeapi_id": 92, @@ -1946,7 +1900,7 @@ }, { "name": "Pok\u00e9mon Tower (6F)", - "order": 37, + "order": 36, "encounters": [ { "pokeapi_id": 105, @@ -1984,7 +1938,7 @@ }, { "name": "Pok\u00e9mon Tower (7F)", - "order": 38, + "order": 37, "encounters": [ { "pokeapi_id": 92, @@ -2015,190 +1969,336 @@ ] }, { - "name": "Silph Co.", - "order": 39, + "name": "Route 12 (Kanto)", + "order": 38, "encounters": [ { - "pokeapi_id": 131, - "pokemon_name": "Lapras", - "method": "gift", + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "super-rod", "encounter_rate": 100, "min_level": 25, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 100, + "min_level": 5, + "max_level": 40 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "super-rod", + "encounter_rate": 84, + "min_level": 15, + "max_level": 35 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 43, + "pokemon_name": "Oddish", + "method": "walk", + "encounter_rate": 35, + "min_level": 22, + "max_level": 26 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 30, + "min_level": 23, + "max_level": 27 + }, + { + "pokeapi_id": 48, + "pokemon_name": "Venonat", + "method": "walk", + "encounter_rate": 30, + "min_level": 24, + "max_level": 26 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 15, + "min_level": 15, "max_level": 25 + }, + { + "pokeapi_id": 44, + "pokemon_name": "Gloom", + "method": "walk", + "encounter_rate": 5, + "min_level": 28, + "max_level": 30 } ] }, { - "name": "Fighting Dojo", - "order": 40, + "name": "Route 13 (Kanto)", + "order": 39, "encounters": [ { - "pokeapi_id": 107, - "pokemon_name": "Hitmonchan", - "method": "gift", + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 25, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 100, + "min_level": 5, + "max_level": 40 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "super-rod", + "encounter_rate": 84, + "min_level": 15, + "max_level": 35 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 43, + "pokemon_name": "Oddish", + "method": "walk", + "encounter_rate": 35, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 48, + "pokemon_name": "Venonat", + "method": "walk", + "encounter_rate": 30, + "min_level": 24, + "max_level": 24 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 20, "min_level": 25, "max_level": 25 }, { - "pokeapi_id": 106, - "pokemon_name": "Hitmonlee", - "method": "gift", - "encounter_rate": 100, + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 15, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 5, "min_level": 25, "max_level": 25 + }, + { + "pokeapi_id": 44, + "pokemon_name": "Gloom", + "method": "walk", + "encounter_rate": 5, + "min_level": 28, + "max_level": 28 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 5, + "min_level": 29, + "max_level": 29 } ] }, { - "name": "Route 16 (Kanto)", - "order": 41, + "name": "Route 14 (Kanto)", + "order": 40, "encounters": [ { - "pokeapi_id": 143, - "pokemon_name": "Snorlax", - "method": "static", - "encounter_rate": 100, + "pokeapi_id": 43, + "pokemon_name": "Oddish", + "method": "walk", + "encounter_rate": 35, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 48, + "pokemon_name": "Venonat", + "method": "walk", + "encounter_rate": 30, + "min_level": 24, + "max_level": 24 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 15, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 10, + "min_level": 27, + "max_level": 27 + }, + { + "pokeapi_id": 44, + "pokemon_name": "Gloom", + "method": "walk", + "encounter_rate": 5, "min_level": 30, "max_level": 30 }, { - "pokeapi_id": 84, - "pokemon_name": "Doduo", - "method": "walk", - "encounter_rate": 35, - "min_level": 18, - "max_level": 18 - }, - { - "pokeapi_id": 19, - "pokemon_name": "Rattata", - "method": "walk", - "encounter_rate": 30, - "min_level": 18, - "max_level": 18 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 20, - "pokemon_name": "Raticate", + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", "method": "walk", "encounter_rate": 5, - "min_level": 23, - "max_level": 23 + "min_level": 29, + "max_level": 29 } ] }, { - "name": "Route 17 (Kanto)", - "order": 42, + "name": "Route 15 (Kanto)", + "order": 41, "encounters": [ { - "pokeapi_id": 84, - "pokemon_name": "Doduo", + "pokeapi_id": 43, + "pokemon_name": "Oddish", "method": "walk", "encounter_rate": 35, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 48, + "pokemon_name": "Venonat", + "method": "walk", + "encounter_rate": 30, "min_level": 24, "max_level": 24 }, { - "pokeapi_id": 21, - "pokemon_name": "Spearow", + "pokeapi_id": 16, + "pokemon_name": "Pidgey", "method": "walk", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 20, - "pokemon_name": "Raticate", - "method": "walk", - "encounter_rate": 25, + "encounter_rate": 20, "min_level": 25, "max_level": 25 }, { - "pokeapi_id": 22, - "pokemon_name": "Fearow", + "pokeapi_id": 132, + "pokemon_name": "Ditto", "method": "walk", "encounter_rate": 5, "min_level": 25, "max_level": 25 }, { - "pokeapi_id": 19, - "pokemon_name": "Rattata", + "pokeapi_id": 44, + "pokemon_name": "Gloom", "method": "walk", "encounter_rate": 5, - "min_level": 22, - "max_level": 22 - } - ] - }, - { - "name": "Route 18 (Kanto)", - "order": 43, - "encounters": [ - { - "pokeapi_id": 108, - "pokemon_name": "Lickitung", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 + "min_level": 28, + "max_level": 28 }, { - "pokeapi_id": 84, - "pokemon_name": "Doduo", - "method": "walk", - "encounter_rate": 35, - "min_level": 24, - "max_level": 24 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 22, - "pokemon_name": "Fearow", - "method": "walk", - "encounter_rate": 15, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 20, - "pokemon_name": "Raticate", - "method": "walk", - "encounter_rate": 15, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 19, - "pokemon_name": "Rattata", + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", "method": "walk", "encounter_rate": 5, - "min_level": 22, - "max_level": 22 + "min_level": 29, + "max_level": 29 } ] }, { "name": "Fuchsia City", - "order": 44, + "order": 42, "encounters": [ { "pokeapi_id": 129, @@ -2276,12 +2376,12 @@ }, { "name": "Safari Zone (Kanto)", - "order": 45, + "order": 43, "encounters": [], "children": [ { "name": "Safari Zone (Kanto - Center Area)", - "order": 46, + "order": 44, "encounters": [ { "pokeapi_id": 113, @@ -2431,7 +2531,7 @@ }, { "name": "Safari Zone (Kanto - Area 1)", - "order": 47, + "order": 45, "encounters": [ { "pokeapi_id": 148, @@ -2589,7 +2689,7 @@ }, { "name": "Safari Zone (Kanto - Area 2)", - "order": 48, + "order": 46, "encounters": [ { "pokeapi_id": 148, @@ -2747,7 +2847,7 @@ }, { "name": "Safari Zone (Kanto - Area 3)", - "order": 49, + "order": 47, "encounters": [ { "pokeapi_id": 148, @@ -2906,336 +3006,190 @@ ] }, { - "name": "Route 15 (Kanto)", - "order": 50, + "name": "Route 18 (Kanto)", + "order": 48, "encounters": [ { - "pokeapi_id": 43, - "pokemon_name": "Oddish", - "method": "walk", - "encounter_rate": 35, - "min_level": 22, - "max_level": 22 + "pokeapi_id": 108, + "pokemon_name": "Lickitung", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 }, { - "pokeapi_id": 48, - "pokemon_name": "Venonat", + "pokeapi_id": 84, + "pokemon_name": "Doduo", "method": "walk", - "encounter_rate": 30, + "encounter_rate": 35, "min_level": 24, "max_level": 24 }, { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", + "pokeapi_id": 21, + "pokemon_name": "Spearow", "method": "walk", - "encounter_rate": 20, + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 22, + "pokemon_name": "Fearow", + "method": "walk", + "encounter_rate": 15, "min_level": 25, "max_level": 25 }, { - "pokeapi_id": 132, - "pokemon_name": "Ditto", + "pokeapi_id": 20, + "pokemon_name": "Raticate", "method": "walk", - "encounter_rate": 5, + "encounter_rate": 15, "min_level": 25, "max_level": 25 }, { - "pokeapi_id": 44, - "pokemon_name": "Gloom", + "pokeapi_id": 19, + "pokemon_name": "Rattata", "method": "walk", "encounter_rate": 5, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 5, - "min_level": 29, - "max_level": 29 + "min_level": 22, + "max_level": 22 } ] }, { - "name": "Route 14 (Kanto)", - "order": 51, + "name": "Route 17 (Kanto)", + "order": 49, "encounters": [ { - "pokeapi_id": 43, - "pokemon_name": "Oddish", + "pokeapi_id": 84, + "pokemon_name": "Doduo", "method": "walk", "encounter_rate": 35, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 48, - "pokemon_name": "Venonat", - "method": "walk", - "encounter_rate": 30, "min_level": 24, "max_level": 24 }, { - "pokeapi_id": 132, - "pokemon_name": "Ditto", + "pokeapi_id": 21, + "pokemon_name": "Spearow", "method": "walk", - "encounter_rate": 15, - "min_level": 23, - "max_level": 23 + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 }, { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", + "pokeapi_id": 20, + "pokemon_name": "Raticate", "method": "walk", - "encounter_rate": 10, - "min_level": 27, - "max_level": 27 + "encounter_rate": 25, + "min_level": 25, + "max_level": 25 }, { - "pokeapi_id": 44, - "pokemon_name": "Gloom", + "pokeapi_id": 22, + "pokemon_name": "Fearow", "method": "walk", "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 19, + "pokemon_name": "Rattata", + "method": "walk", + "encounter_rate": 5, + "min_level": 22, + "max_level": 22 + } + ] + }, + { + "name": "Route 16 (Kanto)", + "order": 50, + "encounters": [ + { + "pokeapi_id": 143, + "pokemon_name": "Snorlax", + "method": "static", + "encounter_rate": 100, "min_level": 30, "max_level": 30 }, { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", + "pokeapi_id": 84, + "pokemon_name": "Doduo", + "method": "walk", + "encounter_rate": 35, + "min_level": 18, + "max_level": 18 + }, + { + "pokeapi_id": 19, + "pokemon_name": "Rattata", + "method": "walk", + "encounter_rate": 30, + "min_level": 18, + "max_level": 18 + }, + { + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "walk", + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 20, + "pokemon_name": "Raticate", "method": "walk", "encounter_rate": 5, - "min_level": 29, - "max_level": 29 + "min_level": 23, + "max_level": 23 } ] }, { - "name": "Route 13 (Kanto)", + "name": "Silph Co.", + "order": 51, + "encounters": [ + { + "pokeapi_id": 131, + "pokemon_name": "Lapras", + "method": "gift", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + } + ] + }, + { + "name": "Fighting Dojo", "order": 52, "encounters": [ { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", + "pokeapi_id": 107, + "pokemon_name": "Hitmonchan", + "method": "gift", "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 25, - "max_level": 35 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 40 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "super-rod", - "encounter_rate": 84, - "min_level": 15, - "max_level": 35 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 43, - "pokemon_name": "Oddish", - "method": "walk", - "encounter_rate": 35, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 48, - "pokemon_name": "Venonat", - "method": "walk", - "encounter_rate": 30, - "min_level": 24, - "max_level": 24 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 20, "min_level": 25, "max_level": 25 }, { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 15, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 44, - "pokemon_name": "Gloom", - "method": "walk", - "encounter_rate": 5, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 5, - "min_level": 29, - "max_level": 29 - } - ] - }, - { - "name": "Route 12 (Kanto)", - "order": 53, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "super-rod", + "pokeapi_id": 106, + "pokemon_name": "Hitmonlee", + "method": "gift", "encounter_rate": 100, "min_level": 25, - "max_level": 35 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 40 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "super-rod", - "encounter_rate": 84, - "min_level": 15, - "max_level": 35 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 43, - "pokemon_name": "Oddish", - "method": "walk", - "encounter_rate": 35, - "min_level": 22, - "max_level": 26 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 30, - "min_level": 23, - "max_level": 27 - }, - { - "pokeapi_id": 48, - "pokemon_name": "Venonat", - "method": "walk", - "encounter_rate": 30, - "min_level": 24, - "max_level": 26 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 15, - "min_level": 15, "max_level": 25 - }, - { - "pokeapi_id": 44, - "pokemon_name": "Gloom", - "method": "walk", - "encounter_rate": 5, - "min_level": 28, - "max_level": 30 } ] }, { "name": "Route 19 (Kanto)", - "order": 54, + "order": 53, "encounters": [ { "pokeapi_id": 129, @@ -3313,7 +3267,7 @@ }, { "name": "Route 20 (Kanto)", - "order": 55, + "order": 54, "encounters": [ { "pokeapi_id": 129, @@ -3391,12 +3345,12 @@ }, { "name": "Seafoam Islands", - "order": 56, + "order": 55, "encounters": [], "children": [ { "name": "Seafoam Islands (1F)", - "order": 57, + "order": 56, "encounters": [ { "pokeapi_id": 54, @@ -3426,7 +3380,7 @@ }, { "name": "Seafoam Islands (B1F)", - "order": 58, + "order": 57, "encounters": [ { "pokeapi_id": 54, @@ -3472,7 +3426,7 @@ }, { "name": "Seafoam Islands (B2F)", - "order": 59, + "order": 58, "encounters": [ { "pokeapi_id": 54, @@ -3518,7 +3472,7 @@ }, { "name": "Seafoam Islands (B3F)", - "order": 60, + "order": 59, "encounters": [ { "pokeapi_id": 55, @@ -3668,7 +3622,7 @@ }, { "name": "Seafoam Islands (B4F)", - "order": 61, + "order": 60, "encounters": [ { "pokeapi_id": 144, @@ -3820,7 +3774,7 @@ }, { "name": "Cinnabar Island", - "order": 62, + "order": 61, "encounters": [ { "pokeapi_id": 129, @@ -3904,6 +3858,60 @@ } ] }, + { + "name": "Cinnabar Lab", + "order": 62, + "encounters": [ + { + "pokeapi_id": 142, + "pokemon_name": "Aerodactyl", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + }, + { + "pokeapi_id": 140, + "pokemon_name": "Kabuto", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 138, + "pokemon_name": "Omanyte", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 86, + "pokemon_name": "Seel", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + } + ] + }, { "name": "Pok\u00e9mon Mansion (Kanto)", "order": 63, @@ -4135,925 +4143,9 @@ } ] }, - { - "name": "Cinnabar Lab", - "order": 68, - "encounters": [ - { - "pokeapi_id": 142, - "pokemon_name": "Aerodactyl", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - }, - { - "pokeapi_id": 140, - "pokemon_name": "Kabuto", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 138, - "pokemon_name": "Omanyte", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 86, - "pokemon_name": "Seel", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - } - ] - }, - { - "name": "Route 21 (Kanto)", - "order": 69, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 25, - "max_level": 35 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "walk", - "encounter_rate": 100, - "min_level": 17, - "max_level": 28 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 40 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "super-rod", - "encounter_rate": 80, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 15, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 117, - "pokemon_name": "Seadra", - "method": "super-rod", - "encounter_rate": 4, - "min_level": 25, - "max_level": 35 - } - ] - }, - { - "name": "Route 23 (Kanto)", - "order": 70, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "surf", - "encounter_rate": 100, - "min_level": 20, - "max_level": 40 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 56, - "pokemon_name": "Mankey", - "method": "walk", - "encounter_rate": 30, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 22, - "pokemon_name": "Fearow", - "method": "walk", - "encounter_rate": 25, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 23, - "pokemon_name": "Ekans", - "method": "walk", - "encounter_rate": 20, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 15, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 15, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 24, - "pokemon_name": "Arbok", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 57, - "pokemon_name": "Primeape", - "method": "walk", - "encounter_rate": 5, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "super-rod", - "encounter_rate": 5, - "min_level": 15, - "max_level": 35 - } - ] - }, - { - "name": "Victory Road (Kanto)", - "order": 71, - "encounters": [], - "children": [ - { - "name": "Victory Road (Kanto 1F)", - "order": 72, - "encounters": [ - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 20, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 20, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 24, - "pokemon_name": "Arbok", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 105, - "pokemon_name": "Marowak", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - } - ] - }, - { - "name": "Victory Road (Kanto 3F)", - "order": 73, - "encounters": [ - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 20, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 20, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 24, - "pokemon_name": "Arbok", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 105, - "pokemon_name": "Marowak", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - } - ] - }, - { - "name": "Victory Road (Kanto 2F)", - "order": 74, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 20, - "min_level": 34, - "max_level": 34 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 20, - "min_level": 34, - "max_level": 34 - }, - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 57, - "pokemon_name": "Primeape", - "method": "walk", - "encounter_rate": 10, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 34, - "max_level": 34 - }, - { - "pokeapi_id": 24, - "pokemon_name": "Arbok", - "method": "walk", - "encounter_rate": 5, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 5, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 105, - "pokemon_name": "Marowak", - "method": "walk", - "encounter_rate": 5, - "min_level": 46, - "max_level": 46 - } - ] - } - ] - }, - { - "name": "Cerulean Cave", - "order": 75, - "encounters": [], - "children": [ - { - "name": "Cerulean Cave (1F)", - "order": 76, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 65, - "min_level": 30, - "max_level": 50 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "surf", - "encounter_rate": 65, - "min_level": 30, - "max_level": 50 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "surf", - "encounter_rate": 35, - "min_level": 40, - "max_level": 55 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 35, - "min_level": 40, - "max_level": 55 - }, - { - "pokeapi_id": 47, - "pokemon_name": "Parasect", - "method": "walk", - "encounter_rate": 25, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 20, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "good-rod", - "encounter_rate": 15, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 14, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 11, - "min_level": 52, - "max_level": 52 - }, - { - "pokeapi_id": 57, - "pokemon_name": "Primeape", - "method": "walk", - "encounter_rate": 11, - "min_level": 52, - "max_level": 52 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 10, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "walk", - "encounter_rate": 5, - "min_level": 58, - "max_level": 58 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "super-rod", - "encounter_rate": 5, - "min_level": 15, - "max_level": 35 - }, - { - "pokeapi_id": 202, - "pokemon_name": "Wobbuffet", - "method": "walk", - "encounter_rate": 4, - "min_level": 55, - "max_level": 55 - } - ] - }, - { - "name": "Cerulean Cave (2F)", - "order": 77, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 65, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 35, - "min_level": 45, - "max_level": 60 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 25, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 20, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 47, - "pokemon_name": "Parasect", - "method": "walk", - "encounter_rate": 14, - "min_level": 52, - "max_level": 52 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 11, - "min_level": 55, - "max_level": 55 - }, - { - "pokeapi_id": 64, - "pokemon_name": "Kadabra", - "method": "walk", - "encounter_rate": 11, - "min_level": 55, - "max_level": 55 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 10, - "min_level": 52, - "max_level": 52 - }, - { - "pokeapi_id": 202, - "pokemon_name": "Wobbuffet", - "method": "walk", - "encounter_rate": 5, - "min_level": 58, - "max_level": 58 - }, - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "walk", - "encounter_rate": 4, - "min_level": 61, - "max_level": 61 - } - ] - }, - { - "name": "Cerulean Cave (B2F)", - "order": 78, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 202, - "pokemon_name": "Wobbuffet", - "method": "walk", - "encounter_rate": 100, - "min_level": 61, - "max_level": 61 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 65, - "min_level": 40, - "max_level": 60 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "surf", - "encounter_rate": 65, - "min_level": 40, - "max_level": 60 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "surf", - "encounter_rate": 35, - "min_level": 50, - "max_level": 65 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 35, - "min_level": 50, - "max_level": 65 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 25, - "min_level": 58, - "max_level": 58 - }, - { - "pokeapi_id": 64, - "pokemon_name": "Kadabra", - "method": "walk", - "encounter_rate": 25, - "min_level": 58, - "max_level": 58 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 16, - "min_level": 15, - "max_level": 35 - }, - { - "pokeapi_id": 47, - "pokemon_name": "Parasect", - "method": "walk", - "encounter_rate": 14, - "min_level": 55, - "max_level": 55 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 11, - "min_level": 52, - "max_level": 52 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 10, - "min_level": 52, - "max_level": 52 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 10, - "min_level": 55, - "max_level": 55 - }, - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "walk", - "encounter_rate": 4, - "min_level": 64, - "max_level": 64 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "super-rod", - "encounter_rate": 4, - "min_level": 15, - "max_level": 25 - } - ] - } - ] - }, { "name": "One Island", - "order": 79, + "order": 68, "encounters": [ { "pokeapi_id": 129, @@ -5137,9 +4229,135 @@ } ] }, + { + "name": "Treasure Beach", + "order": 69, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 25, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 95, + "min_level": 5, + "max_level": 40 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "good-rod", + "encounter_rate": 80, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "super-rod", + "encounter_rate": 80, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "walk", + "encounter_rate": 30, + "min_level": 31, + "max_level": 32 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "walk", + "encounter_rate": 30, + "min_level": 33, + "max_level": 33 + }, + { + "pokeapi_id": 22, + "pokemon_name": "Fearow", + "method": "walk", + "encounter_rate": 20, + "min_level": 36, + "max_level": 36 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 15, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 52, + "pokemon_name": "Meowth", + "method": "walk", + "encounter_rate": 10, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 53, + "pokemon_name": "Persian", + "method": "walk", + "encounter_rate": 5, + "min_level": 37, + "max_level": 37 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "walk", + "encounter_rate": 5, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 5, + "min_level": 35, + "max_level": 40 + }, + { + "pokeapi_id": 117, + "pokemon_name": "Seadra", + "method": "super-rod", + "encounter_rate": 4, + "min_level": 25, + "max_level": 35 + } + ] + }, { "name": "Kindle Road", - "order": 80, + "order": 70, "encounters": [ { "pokeapi_id": 129, @@ -5295,560 +4513,9 @@ } ] }, - { - "name": "Treasure Beach", - "order": 81, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 25, - "max_level": 35 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 95, - "min_level": 5, - "max_level": 40 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "good-rod", - "encounter_rate": 80, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "super-rod", - "encounter_rate": 80, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 30, - "min_level": 31, - "max_level": 32 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "walk", - "encounter_rate": 30, - "min_level": 33, - "max_level": 33 - }, - { - "pokeapi_id": 22, - "pokemon_name": "Fearow", - "method": "walk", - "encounter_rate": 20, - "min_level": 36, - "max_level": 36 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 15, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 52, - "pokemon_name": "Meowth", - "method": "walk", - "encounter_rate": 10, - "min_level": 31, - "max_level": 31 - }, - { - "pokeapi_id": 53, - "pokemon_name": "Persian", - "method": "walk", - "encounter_rate": 5, - "min_level": 37, - "max_level": 37 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "walk", - "encounter_rate": 5, - "min_level": 31, - "max_level": 31 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 5, - "min_level": 35, - "max_level": 40 - }, - { - "pokeapi_id": 117, - "pokemon_name": "Seadra", - "method": "super-rod", - "encounter_rate": 4, - "min_level": 25, - "max_level": 35 - } - ] - }, - { - "name": "Mt. Ember", - "order": 82, - "encounters": [], - "children": [ - { - "name": "Mt. Ember (Base Area)", - "order": 83, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 95, - "min_level": 5, - "max_level": 30 - }, - { - "pokeapi_id": 77, - "pokemon_name": "Ponyta", - "method": "walk", - "encounter_rate": 35, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 22, - "pokemon_name": "Fearow", - "method": "walk", - "encounter_rate": 25, - "min_level": 38, - "max_level": 38 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 15, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 10, - "min_level": 33, - "max_level": 33 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 10, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 5, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 78, - "pokemon_name": "Rapidash", - "method": "walk", - "encounter_rate": 5, - "min_level": 39, - "max_level": 39 - } - ] - }, - { - "name": "Mt. Ember (1F)", - "order": 84, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 50, - "min_level": 29, - "max_level": 29 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 50, - "min_level": 31, - "max_level": 31 - } - ] - }, - { - "name": "Mt. Ember (3F)", - "order": 85, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 50, - "min_level": 29, - "max_level": 29 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 50, - "min_level": 31, - "max_level": 31 - } - ] - }, - { - "name": "Mt. Ember (2F)", - "order": 86, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 95, - "min_level": 5, - "max_level": 30 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 40, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 40, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 20, - "min_level": 38, - "max_level": 38 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 5, - "min_level": 25, - "max_level": 40 - } - ] - }, - { - "name": "Mt. Ember (Summit)", - "order": 87, - "encounters": [ - { - "pokeapi_id": 146, - "pokemon_name": "Moltres", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 95, - "min_level": 5, - "max_level": 30 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 5, - "min_level": 25, - "max_level": 40 - } - ] - }, - { - "name": "Mt. Ember (Ruby Path 1F)", - "order": 88, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 65, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 50, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 40, - "min_level": 34, - "max_level": 34 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 35, - "min_level": 30, - "max_level": 50 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 10, - "min_level": 40, - "max_level": 40 - } - ] - }, - { - "name": "Mt. Ember (Ruby Path B1F)", - "order": 89, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 70, - "min_level": 34, - "max_level": 34 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 65, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 35, - "min_level": 30, - "max_level": 50 - }, - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "walk", - "encounter_rate": 30, - "min_level": 24, - "max_level": 24 - } - ] - }, - { - "name": "Mt. Ember (Ruby Path B5F)", - "order": 90, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 70, - "min_level": 34, - "max_level": 34 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 65, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 35, - "min_level": 30, - "max_level": 50 - }, - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "walk", - "encounter_rate": 30, - "min_level": 24, - "max_level": 24 - } - ] - }, - { - "name": "Mt. Ember (Ruby Path B2F)", - "order": 91, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 65, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "walk", - "encounter_rate": 60, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 35, - "min_level": 30, - "max_level": 50 - } - ] - }, - { - "name": "Mt. Ember (Ruby Path B4F)", - "order": 92, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 65, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "walk", - "encounter_rate": 60, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 35, - "min_level": 30, - "max_level": 50 - } - ] - }, - { - "name": "Mt. Ember (Ruby Path B3F)", - "order": 93, - "encounters": [ - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "walk", - "encounter_rate": 100, - "min_level": 18, - "max_level": 18 - }, - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "rock-smash", - "encounter_rate": 90, - "min_level": 15, - "max_level": 35 - }, - { - "pokeapi_id": 219, - "pokemon_name": "Magcargo", - "method": "rock-smash", - "encounter_rate": 10, - "min_level": 25, - "max_level": 45 - } - ] - } - ] - }, { "name": "Cape Brink", - "order": 94, + "order": 71, "encounters": [ { "pokeapi_id": 129, @@ -5996,9 +4663,165 @@ } ] }, + { + "name": "Three-Isle Port", + "order": 72, + "encounters": [ + { + "pokeapi_id": 206, + "pokemon_name": "Dunsparce", + "method": "walk", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + } + ] + }, + { + "name": "Bond Bridge", + "order": 73, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 25, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 95, + "min_level": 5, + "max_level": 40 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "good-rod", + "encounter_rate": 80, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "super-rod", + "encounter_rate": 80, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 30, + "min_level": 29, + "max_level": 29 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 43, + "pokemon_name": "Oddish", + "method": "walk", + "encounter_rate": 20, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 15, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 15, + "min_level": 34, + "max_level": 34 + }, + { + "pokeapi_id": 44, + "pokemon_name": "Gloom", + "method": "walk", + "encounter_rate": 10, + "min_level": 36, + "max_level": 36 + }, + { + "pokeapi_id": 52, + "pokemon_name": "Meowth", + "method": "walk", + "encounter_rate": 10, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 53, + "pokemon_name": "Persian", + "method": "walk", + "encounter_rate": 5, + "min_level": 37, + "max_level": 37 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "walk", + "encounter_rate": 5, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 5, + "min_level": 35, + "max_level": 40 + }, + { + "pokeapi_id": 48, + "pokemon_name": "Venonat", + "method": "walk", + "encounter_rate": 5, + "min_level": 34, + "max_level": 34 + }, + { + "pokeapi_id": 117, + "pokemon_name": "Seadra", + "method": "super-rod", + "encounter_rate": 4, + "min_level": 25, + "max_level": 35 + } + ] + }, { "name": "Berry Forest", - "order": 95, + "order": 74, "encounters": [ { "pokeapi_id": 97, @@ -6171,8 +4994,8 @@ ] }, { - "name": "Bond Bridge", - "order": 96, + "name": "Route 21 (Kanto)", + "order": 75, "encounters": [ { "pokeapi_id": 129, @@ -6190,22 +5013,22 @@ "min_level": 25, "max_level": 35 }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "walk", + "encounter_rate": 100, + "min_level": 17, + "max_level": 28 + }, { "pokeapi_id": 72, "pokemon_name": "Tentacool", "method": "surf", - "encounter_rate": 95, + "encounter_rate": 100, "min_level": 5, "max_level": 40 }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "good-rod", - "encounter_rate": 80, - "min_level": 5, - "max_level": 15 - }, { "pokeapi_id": 116, "pokemon_name": "Horsea", @@ -6215,12 +5038,20 @@ "max_level": 25 }, { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 30, - "min_level": 29, - "max_level": 29 + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 }, { "pokeapi_id": 129, @@ -6230,14 +5061,6 @@ "min_level": 5, "max_level": 15 }, - { - "pokeapi_id": 43, - "pokemon_name": "Oddish", - "method": "walk", - "encounter_rate": 20, - "min_level": 31, - "max_level": 31 - }, { "pokeapi_id": 130, "pokemon_name": "Gyarados", @@ -6246,62 +5069,6 @@ "min_level": 15, "max_level": 25 }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 15, - "min_level": 34, - "max_level": 34 - }, - { - "pokeapi_id": 44, - "pokemon_name": "Gloom", - "method": "walk", - "encounter_rate": 10, - "min_level": 36, - "max_level": 36 - }, - { - "pokeapi_id": 52, - "pokemon_name": "Meowth", - "method": "walk", - "encounter_rate": 10, - "min_level": 31, - "max_level": 31 - }, - { - "pokeapi_id": 53, - "pokemon_name": "Persian", - "method": "walk", - "encounter_rate": 5, - "min_level": 37, - "max_level": 37 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "walk", - "encounter_rate": 5, - "min_level": 31, - "max_level": 31 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 5, - "min_level": 35, - "max_level": 40 - }, - { - "pokeapi_id": 48, - "pokemon_name": "Venonat", - "method": "walk", - "encounter_rate": 5, - "min_level": 34, - "max_level": 34 - }, { "pokeapi_id": 117, "pokemon_name": "Seadra", @@ -6313,16 +5080,1249 @@ ] }, { - "name": "Three-Isle Port", - "order": 97, + "name": "Power Plant", + "order": 76, "encounters": [ { - "pokeapi_id": 206, - "pokemon_name": "Dunsparce", + "pokeapi_id": 81, + "pokemon_name": "Magnemite", "method": "walk", + "encounter_rate": 30, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 100, + "pokemon_name": "Voltorb", + "method": "walk", + "encounter_rate": 30, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 25, + "pokemon_name": "Pikachu", + "method": "walk", + "encounter_rate": 25, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 10, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 125, + "pokemon_name": "Electabuzz", + "method": "walk", + "encounter_rate": 5, + "min_level": 32, + "max_level": 32 + } + ] + }, + { + "name": "Route 23 (Kanto)", + "order": 77, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", "encounter_rate": 100, "min_level": 5, "max_level": 5 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "surf", + "encounter_rate": 100, + "min_level": 20, + "max_level": 40 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 56, + "pokemon_name": "Mankey", + "method": "walk", + "encounter_rate": 30, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 22, + "pokemon_name": "Fearow", + "method": "walk", + "encounter_rate": 25, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 23, + "pokemon_name": "Ekans", + "method": "walk", + "encounter_rate": 20, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 15, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "walk", + "encounter_rate": 15, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 24, + "pokemon_name": "Arbok", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 57, + "pokemon_name": "Primeape", + "method": "walk", + "encounter_rate": 5, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "super-rod", + "encounter_rate": 5, + "min_level": 15, + "max_level": 35 + } + ] + }, + { + "name": "Victory Road (Kanto)", + "order": 78, + "encounters": [], + "children": [ + { + "name": "Victory Road (Kanto 1F)", + "order": 79, + "encounters": [ + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 20, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 20, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 24, + "pokemon_name": "Arbok", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 105, + "pokemon_name": "Marowak", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + } + ] + }, + { + "name": "Victory Road (Kanto 3F)", + "order": 80, + "encounters": [ + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 20, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 20, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 24, + "pokemon_name": "Arbok", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 105, + "pokemon_name": "Marowak", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + } + ] + }, + { + "name": "Victory Road (Kanto 2F)", + "order": 81, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 20, + "min_level": 34, + "max_level": 34 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 20, + "min_level": 34, + "max_level": 34 + }, + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 57, + "pokemon_name": "Primeape", + "method": "walk", + "encounter_rate": 10, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 34, + "max_level": 34 + }, + { + "pokeapi_id": 24, + "pokemon_name": "Arbok", + "method": "walk", + "encounter_rate": 5, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 5, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 105, + "pokemon_name": "Marowak", + "method": "walk", + "encounter_rate": 5, + "min_level": 46, + "max_level": 46 + } + ] + } + ] + }, + { + "name": "Cerulean Cave", + "order": 82, + "encounters": [], + "children": [ + { + "name": "Cerulean Cave (1F)", + "order": 83, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 65, + "min_level": 30, + "max_level": 50 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "surf", + "encounter_rate": 65, + "min_level": 30, + "max_level": 50 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "surf", + "encounter_rate": 35, + "min_level": 40, + "max_level": 55 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 35, + "min_level": 40, + "max_level": 55 + }, + { + "pokeapi_id": 47, + "pokemon_name": "Parasect", + "method": "walk", + "encounter_rate": 25, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 20, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "good-rod", + "encounter_rate": 15, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 14, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 11, + "min_level": 52, + "max_level": 52 + }, + { + "pokeapi_id": 57, + "pokemon_name": "Primeape", + "method": "walk", + "encounter_rate": 11, + "min_level": 52, + "max_level": 52 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 10, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "walk", + "encounter_rate": 5, + "min_level": 58, + "max_level": 58 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "super-rod", + "encounter_rate": 5, + "min_level": 15, + "max_level": 35 + }, + { + "pokeapi_id": 202, + "pokemon_name": "Wobbuffet", + "method": "walk", + "encounter_rate": 4, + "min_level": 55, + "max_level": 55 + } + ] + }, + { + "name": "Cerulean Cave (2F)", + "order": 84, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 65, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 35, + "min_level": 45, + "max_level": 60 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 25, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 20, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 47, + "pokemon_name": "Parasect", + "method": "walk", + "encounter_rate": 14, + "min_level": 52, + "max_level": 52 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 11, + "min_level": 55, + "max_level": 55 + }, + { + "pokeapi_id": 64, + "pokemon_name": "Kadabra", + "method": "walk", + "encounter_rate": 11, + "min_level": 55, + "max_level": 55 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 10, + "min_level": 52, + "max_level": 52 + }, + { + "pokeapi_id": 202, + "pokemon_name": "Wobbuffet", + "method": "walk", + "encounter_rate": 5, + "min_level": 58, + "max_level": 58 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "walk", + "encounter_rate": 4, + "min_level": 61, + "max_level": 61 + } + ] + }, + { + "name": "Cerulean Cave (B2F)", + "order": 85, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 202, + "pokemon_name": "Wobbuffet", + "method": "walk", + "encounter_rate": 100, + "min_level": 61, + "max_level": 61 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 65, + "min_level": 40, + "max_level": 60 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "surf", + "encounter_rate": 65, + "min_level": 40, + "max_level": 60 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "surf", + "encounter_rate": 35, + "min_level": 50, + "max_level": 65 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 35, + "min_level": 50, + "max_level": 65 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 25, + "min_level": 58, + "max_level": 58 + }, + { + "pokeapi_id": 64, + "pokemon_name": "Kadabra", + "method": "walk", + "encounter_rate": 25, + "min_level": 58, + "max_level": 58 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 16, + "min_level": 15, + "max_level": 35 + }, + { + "pokeapi_id": 47, + "pokemon_name": "Parasect", + "method": "walk", + "encounter_rate": 14, + "min_level": 55, + "max_level": 55 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 11, + "min_level": 52, + "max_level": 52 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 10, + "min_level": 52, + "max_level": 52 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 10, + "min_level": 55, + "max_level": 55 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "walk", + "encounter_rate": 4, + "min_level": 64, + "max_level": 64 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "super-rod", + "encounter_rate": 4, + "min_level": 15, + "max_level": 25 + } + ] + } + ] + }, + { + "name": "Mt. Ember", + "order": 86, + "encounters": [], + "children": [ + { + "name": "Mt. Ember (Base Area)", + "order": 87, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 95, + "min_level": 5, + "max_level": 30 + }, + { + "pokeapi_id": 77, + "pokemon_name": "Ponyta", + "method": "walk", + "encounter_rate": 35, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 22, + "pokemon_name": "Fearow", + "method": "walk", + "encounter_rate": 25, + "min_level": 38, + "max_level": 38 + }, + { + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "walk", + "encounter_rate": 15, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 10, + "min_level": 33, + "max_level": 33 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 10, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 5, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 78, + "pokemon_name": "Rapidash", + "method": "walk", + "encounter_rate": 5, + "min_level": 39, + "max_level": 39 + } + ] + }, + { + "name": "Mt. Ember (1F)", + "order": 88, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 50, + "min_level": 29, + "max_level": 29 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 50, + "min_level": 31, + "max_level": 31 + } + ] + }, + { + "name": "Mt. Ember (3F)", + "order": 89, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 50, + "min_level": 29, + "max_level": 29 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 50, + "min_level": 31, + "max_level": 31 + } + ] + }, + { + "name": "Mt. Ember (2F)", + "order": 90, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 95, + "min_level": 5, + "max_level": 30 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 40, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 40, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 20, + "min_level": 38, + "max_level": 38 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 5, + "min_level": 25, + "max_level": 40 + } + ] + }, + { + "name": "Mt. Ember (Summit)", + "order": 91, + "encounters": [ + { + "pokeapi_id": 146, + "pokemon_name": "Moltres", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 95, + "min_level": 5, + "max_level": 30 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 5, + "min_level": 25, + "max_level": 40 + } + ] + }, + { + "name": "Mt. Ember (Ruby Path 1F)", + "order": 92, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 65, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 50, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 40, + "min_level": 34, + "max_level": 34 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 35, + "min_level": 30, + "max_level": 50 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 10, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Mt. Ember (Ruby Path B1F)", + "order": 93, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 70, + "min_level": 34, + "max_level": 34 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 65, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 35, + "min_level": 30, + "max_level": 50 + }, + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "walk", + "encounter_rate": 30, + "min_level": 24, + "max_level": 24 + } + ] + }, + { + "name": "Mt. Ember (Ruby Path B5F)", + "order": 94, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 70, + "min_level": 34, + "max_level": 34 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 65, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 35, + "min_level": 30, + "max_level": 50 + }, + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "walk", + "encounter_rate": 30, + "min_level": 24, + "max_level": 24 + } + ] + }, + { + "name": "Mt. Ember (Ruby Path B2F)", + "order": 95, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 65, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "walk", + "encounter_rate": 60, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 35, + "min_level": 30, + "max_level": 50 + } + ] + }, + { + "name": "Mt. Ember (Ruby Path B4F)", + "order": 96, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 65, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "walk", + "encounter_rate": 60, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 35, + "min_level": 30, + "max_level": 50 + } + ] + }, + { + "name": "Mt. Ember (Ruby Path B3F)", + "order": 97, + "encounters": [ + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "walk", + "encounter_rate": 100, + "min_level": 18, + "max_level": 18 + }, + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "rock-smash", + "encounter_rate": 90, + "min_level": 15, + "max_level": 35 + }, + { + "pokeapi_id": 219, + "pokemon_name": "Magcargo", + "method": "rock-smash", + "encounter_rate": 10, + "min_level": 25, + "max_level": 45 + } + ] } ] }, diff --git a/backend/src/app/seeds/data/heartgold-bosses.json b/backend/src/app/seeds/data/heartgold-bosses.json index cdf02c0..71c1ba3 100644 --- a/backend/src/app/seeds/data/heartgold-bosses.json +++ b/backend/src/app/seeds/data/heartgold-bosses.json @@ -2,12 +2,12 @@ { "name": "Falkner", "boss_type": "gym_leader", - "specialty_type": null, + "specialty_type": "flying", "badge_name": "Zephyr Badge", "badge_image_url": "/badges/zephyr-badge.png", "level_cap": 13, "order": 1, - "after_route_name": null, + "after_route_name": "Violet City", "location": "Violet Gym", "section": "Main Story", "sprite_url": "/boss-sprites/heartgold/falkner.png", @@ -16,12 +16,12 @@ { "name": "Bugsy", "boss_type": "gym_leader", - "specialty_type": null, + "specialty_type": "bug", "badge_name": "Hive Badge", "badge_image_url": "/badges/hive-badge.png", "level_cap": 17, "order": 2, - "after_route_name": null, + "after_route_name": "Azalea Town", "location": "Azalea Gym", "section": "Main Story", "sprite_url": "/boss-sprites/heartgold/bugsy.png", @@ -30,12 +30,12 @@ { "name": "Whitney", "boss_type": "gym_leader", - "specialty_type": null, + "specialty_type": "normal", "badge_name": "Plain Badge", "badge_image_url": "/badges/plain-badge.png", "level_cap": 19, "order": 3, - "after_route_name": null, + "after_route_name": "Goldenrod City", "location": "Goldenrod Gym", "section": "Main Story", "sprite_url": "/boss-sprites/heartgold/whitney.png", @@ -44,12 +44,12 @@ { "name": "Morty", "boss_type": "gym_leader", - "specialty_type": null, + "specialty_type": "ghost", "badge_name": "Fog Badge", "badge_image_url": "/badges/fog-badge.png", "level_cap": 25, "order": 4, - "after_route_name": null, + "after_route_name": "Ecruteak City", "location": "Ecruteak Gym", "section": "Main Story", "sprite_url": "/boss-sprites/heartgold/morty.png", @@ -58,12 +58,12 @@ { "name": "Chuck", "boss_type": "gym_leader", - "specialty_type": null, + "specialty_type": "fighting", "badge_name": "Storm Badge", "badge_image_url": "/badges/storm-badge.png", "level_cap": 31, "order": 5, - "after_route_name": null, + "after_route_name": "Cianwood City", "location": "Cianwood Gym", "section": "Main Story", "sprite_url": "/boss-sprites/heartgold/chuck.png", @@ -72,12 +72,12 @@ { "name": "Jasmine", "boss_type": "gym_leader", - "specialty_type": null, + "specialty_type": "steel", "badge_name": "Mineral Badge", "badge_image_url": "/badges/mineral-badge.png", "level_cap": 35, "order": 6, - "after_route_name": null, + "after_route_name": "Cianwood City", "location": "Olivine Gym", "section": "Main Story", "sprite_url": "/boss-sprites/heartgold/jasmine.png", @@ -86,12 +86,12 @@ { "name": "Pryce", "boss_type": "gym_leader", - "specialty_type": null, + "specialty_type": "ice", "badge_name": "Glacier Badge", "badge_image_url": "/badges/glacier-badge.png", "level_cap": 34, "order": 7, - "after_route_name": null, + "after_route_name": "Team Rocket HQ (B1F)", "location": "Mahogany Gym", "section": "Main Story", "sprite_url": "/boss-sprites/heartgold/pryce.png", @@ -100,12 +100,12 @@ { "name": "Clair", "boss_type": "gym_leader", - "specialty_type": null, + "specialty_type": "dragon", "badge_name": "Rising Badge", "badge_image_url": "/badges/rising-badge.png", "level_cap": 41, "order": 8, - "after_route_name": null, + "after_route_name": "Blackthorn City", "location": "Blackthorn Gym", "section": "Main Story", "sprite_url": "/boss-sprites/heartgold/clair.png", @@ -114,12 +114,12 @@ { "name": "Will", "boss_type": "elite_four", - "specialty_type": null, + "specialty_type": "psychic", "badge_name": null, "badge_image_url": null, "level_cap": 42, "order": 9, - "after_route_name": null, + "after_route_name": "Victory Road (Kanto)", "location": "Indigo Plateau", "section": "Main Story", "sprite_url": "/boss-sprites/heartgold/will.png", @@ -128,12 +128,12 @@ { "name": "Koga", "boss_type": "elite_four", - "specialty_type": null, + "specialty_type": "poison", "badge_name": null, "badge_image_url": null, "level_cap": 44, "order": 10, - "after_route_name": null, + "after_route_name": "Victory Road (Kanto)", "location": "Indigo Plateau", "section": "Main Story", "sprite_url": "/boss-sprites/heartgold/koga.png", @@ -142,12 +142,12 @@ { "name": "Bruno", "boss_type": "elite_four", - "specialty_type": null, + "specialty_type": "fighting", "badge_name": null, "badge_image_url": null, "level_cap": 46, "order": 11, - "after_route_name": null, + "after_route_name": "Victory Road (Kanto)", "location": "Indigo Plateau", "section": "Main Story", "sprite_url": "/boss-sprites/heartgold/bruno.png", @@ -156,12 +156,12 @@ { "name": "Karen", "boss_type": "elite_four", - "specialty_type": null, + "specialty_type": "dark", "badge_name": null, "badge_image_url": null, "level_cap": 47, "order": 12, - "after_route_name": null, + "after_route_name": "Victory Road (Kanto)", "location": "Indigo Plateau", "section": "Main Story", "sprite_url": "/boss-sprites/heartgold/karen.png", @@ -170,68 +170,68 @@ { "name": "Lance", "boss_type": "champion", - "specialty_type": null, + "specialty_type": "dragon", "badge_name": null, "badge_image_url": null, "level_cap": 50, "order": 13, - "after_route_name": null, + "after_route_name": "Victory Road (Kanto)", "location": "Indigo Plateau", "section": "Main Story", "sprite_url": "/boss-sprites/heartgold/lance.png", "pokemon": [] }, - { - "name": "Brock", - "boss_type": "gym_leader", - "specialty_type": null, - "badge_name": "Boulder Badge", - "badge_image_url": "/badges/boulder-badge.png", - "level_cap": 54, - "order": 14, - "after_route_name": null, - "location": "Pewter Gym", - "section": "Endgame", - "sprite_url": "/boss-sprites/heartgold/brock.png", - "pokemon": [] - }, - { - "name": "Misty", - "boss_type": "gym_leader", - "specialty_type": null, - "badge_name": "Cascade Badge", - "badge_image_url": "/badges/cascade-badge.png", - "level_cap": 54, - "order": 15, - "after_route_name": null, - "location": "Cerulean Gym", - "section": "Endgame", - "sprite_url": "/boss-sprites/heartgold/misty.png", - "pokemon": [] - }, { "name": "Lt. Surge", "boss_type": "gym_leader", - "specialty_type": null, + "specialty_type": "electric", "badge_name": "Thunder Badge", "badge_image_url": "/badges/thunder-badge.png", "level_cap": 53, - "order": 16, - "after_route_name": null, + "order": 14, + "after_route_name": "Vermilion City", "location": "Vermilion Gym", "section": "Endgame", "sprite_url": "/boss-sprites/heartgold/lt-surge.png", "pokemon": [] }, + { + "name": "Sabrina", + "boss_type": "gym_leader", + "specialty_type": "psychic", + "badge_name": "Marsh Badge", + "badge_image_url": "/badges/marsh-badge.png", + "level_cap": 55, + "order": 15, + "after_route_name": "Saffron City", + "location": "Saffron Gym", + "section": "Endgame", + "sprite_url": "/boss-sprites/heartgold/sabrina.png", + "pokemon": [] + }, + { + "name": "Misty", + "boss_type": "gym_leader", + "specialty_type": "water", + "badge_name": "Cascade Badge", + "badge_image_url": "/badges/cascade-badge.png", + "level_cap": 54, + "order": 16, + "after_route_name": "Cerulean City", + "location": "Cerulean Gym", + "section": "Endgame", + "sprite_url": "/boss-sprites/heartgold/misty.png", + "pokemon": [] + }, { "name": "Erika", "boss_type": "gym_leader", - "specialty_type": null, + "specialty_type": "grass", "badge_name": "Rainbow Badge", "badge_image_url": "/badges/rainbow-badge.png", "level_cap": 56, "order": 17, - "after_route_name": null, + "after_route_name": "Celadon City", "location": "Celadon Gym", "section": "Endgame", "sprite_url": "/boss-sprites/heartgold/erika.png", @@ -240,40 +240,40 @@ { "name": "Janine", "boss_type": "gym_leader", - "specialty_type": null, + "specialty_type": "poison", "badge_name": "Soul Badge", "badge_image_url": "/badges/soul-badge.png", "level_cap": 50, "order": 18, - "after_route_name": null, + "after_route_name": "Fuchsia City", "location": "Fuchsia Gym", "section": "Endgame", "sprite_url": "/boss-sprites/heartgold/janine.png", "pokemon": [] }, { - "name": "Sabrina", + "name": "Brock", "boss_type": "gym_leader", - "specialty_type": null, - "badge_name": "Marsh Badge", - "badge_image_url": "/badges/marsh-badge.png", - "level_cap": 55, + "specialty_type": "rock", + "badge_name": "Boulder Badge", + "badge_image_url": "/badges/boulder-badge.png", + "level_cap": 54, "order": 19, - "after_route_name": null, - "location": "Saffron Gym", + "after_route_name": "Pewter City", + "location": "Pewter Gym", "section": "Endgame", - "sprite_url": "/boss-sprites/heartgold/sabrina.png", + "sprite_url": "/boss-sprites/heartgold/brock.png", "pokemon": [] }, { "name": "Blaine", "boss_type": "gym_leader", - "specialty_type": null, + "specialty_type": "fire", "badge_name": "Volcano Badge", "badge_image_url": "/badges/volcano-badge.png", "level_cap": 59, "order": 20, - "after_route_name": null, + "after_route_name": "Cinnabar Island", "location": "Cinnabar Gym", "section": "Endgame", "sprite_url": "/boss-sprites/heartgold/blaine.png", @@ -287,7 +287,7 @@ "badge_image_url": "/badges/earth-badge.png", "level_cap": 60, "order": 21, - "after_route_name": null, + "after_route_name": "Route 19 (Kanto)", "location": "Viridian Gym", "section": "Endgame", "sprite_url": "/boss-sprites/heartgold/blue.png", @@ -301,7 +301,7 @@ "badge_image_url": null, "level_cap": 88, "order": 22, - "after_route_name": null, + "after_route_name": "Mt. Silver (Cave)", "location": "Silver Cave", "section": "Endgame", "sprite_url": "/boss-sprites/heartgold/red.png", diff --git a/backend/src/app/seeds/data/heartgold.json b/backend/src/app/seeds/data/heartgold.json index 6606a0c..7fb033a 100644 --- a/backend/src/app/seeds/data/heartgold.json +++ b/backend/src/app/seeds/data/heartgold.json @@ -6051,111 +6051,9 @@ } ] }, - { - "name": "Lake of Rage", - "order": 64, - "encounters": [ - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "static", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 14, - "max_level": 19 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "surf", - "encounter_rate": 90, - "min_level": 5, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 90, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 70, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 102, - "pokemon_name": "Exeggcute", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 14, - "max_level": 19 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 14, - "max_level": 16 - }, - { - "pokeapi_id": 48, - "pokemon_name": "Venonat", - "method": "headbutt", - "encounter_rate": 15, - "min_level": 17, - "max_level": 19 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "surf", - "encounter_rate": 10, - "min_level": 10, - "max_level": 20 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "good-rod", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - } - ] - }, { "name": "Route 43 (Johto)", - "order": 65, + "order": 64, "encounters": [ { "pokeapi_id": 163, @@ -6328,8 +6226,148 @@ ] }, { - "name": "Route 44 (Johto)", + "name": "Lake of Rage", + "order": 65, + "encounters": [ + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "static", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 14, + "max_level": 19 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "surf", + "encounter_rate": 90, + "min_level": 5, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 90, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 70, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 102, + "pokemon_name": "Exeggcute", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 14, + "max_level": 19 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 14, + "max_level": 16 + }, + { + "pokeapi_id": 48, + "pokemon_name": "Venonat", + "method": "headbutt", + "encounter_rate": 15, + "min_level": 17, + "max_level": 19 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "surf", + "encounter_rate": 10, + "min_level": 10, + "max_level": 20 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "good-rod", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + } + ] + }, + { + "name": "Team Rocket HQ (B1F)", "order": 66, + "encounters": [ + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "static", + "encounter_rate": 33, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "static", + "encounter_rate": 20, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 109, + "pokemon_name": "Koffing", + "method": "static", + "encounter_rate": 20, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 100, + "pokemon_name": "Voltorb", + "method": "static", + "encounter_rate": 17, + "min_level": 23, + "max_level": 23 + } + ] + }, + { + "name": "Route 44 (Johto)", + "order": 67, "encounters": [ { "pokeapi_id": 223, @@ -6511,81 +6549,11 @@ }, { "name": "Ice Path", - "order": 67, + "order": 68, "encounters": [], "children": [ { "name": "Ice Path (1F)", - "order": 68, - "encounters": [ - { - "pokeapi_id": 220, - "pokemon_name": "Swinub", - "method": "walk", - "encounter_rate": 40, - "min_level": 21, - "max_level": 21 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 30, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 25, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 21, - "max_level": 22 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 21, - "max_level": 22 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 124, - "pokemon_name": "Jynx", - "method": "walk", - "encounter_rate": 10, - "min_level": 22, - "max_level": 22 - } - ] - }, - { - "name": "Ice Path (B1F)", "order": 69, "encounters": [ { @@ -6655,8 +6623,78 @@ ] }, { - "name": "Ice Path (B2F)", + "name": "Ice Path (B1F)", "order": 70, + "encounters": [ + { + "pokeapi_id": 220, + "pokemon_name": "Swinub", + "method": "walk", + "encounter_rate": 40, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 30, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 25, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 21, + "max_level": 22 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 21, + "max_level": 22 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 124, + "pokemon_name": "Jynx", + "method": "walk", + "encounter_rate": 10, + "min_level": 22, + "max_level": 22 + } + ] + }, + { + "name": "Ice Path (B2F)", + "order": 71, "encounters": [ { "pokeapi_id": 220, @@ -6726,7 +6764,7 @@ }, { "name": "Ice Path (B3F)", - "order": 71, + "order": 72, "encounters": [ { "pokeapi_id": 220, @@ -6798,7 +6836,7 @@ }, { "name": "Blackthorn City", - "order": 72, + "order": 73, "encounters": [ { "pokeapi_id": 85, @@ -6868,7 +6906,7 @@ }, { "name": "Dragon's Den", - "order": 73, + "order": 74, "encounters": [ { "pokeapi_id": 147, @@ -6946,7 +6984,7 @@ }, { "name": "Route 45 (Johto)", - "order": 74, + "order": 75, "encounters": [ { "pokeapi_id": 129, @@ -7104,7 +7142,7 @@ }, { "name": "Route 46 (Johto)", - "order": 75, + "order": 76, "encounters": [ { "pokeapi_id": 21, @@ -7180,9 +7218,71 @@ } ] }, + { + "name": "Cliff Edge Gate", + "order": 77, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 194, + "pokemon_name": "Wooper", + "method": "surf", + "encounter_rate": 90, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 85, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 70, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 15, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "surf", + "encounter_rate": 10, + "min_level": 30, + "max_level": 40 + } + ] + }, { "name": "Route 47 (Johto)", - "order": 76, + "order": 78, "encounters": [ { "pokeapi_id": 163, @@ -7450,9 +7550,189 @@ } ] }, + { + "name": "Cliff Cave", + "order": 79, + "encounters": [ + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "rock-smash", + "encounter_rate": 80, + "min_level": 20, + "max_level": 26 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 24, + "min_level": 20, + "max_level": 22 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 19, + "max_level": 20 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 20, + "min_level": 19, + "max_level": 19 + }, + { + "pokeapi_id": 99, + "pokemon_name": "Kingler", + "method": "rock-smash", + "encounter_rate": 20, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 19, + "max_level": 20 + }, + { + "pokeapi_id": 99, + "pokemon_name": "Kingler", + "method": "walk", + "encounter_rate": 10, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "walk", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 10, + "min_level": 19, + "max_level": 19 + }, + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 200, + "pokemon_name": "Misdreavus", + "method": "walk", + "encounter_rate": 5, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 5, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 194, + "pokemon_name": "Wooper", + "method": "walk", + "encounter_rate": 5, + "min_level": 18, + "max_level": 18 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 5, + "min_level": 18, + "max_level": 18 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 4, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 4, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 208, + "pokemon_name": "Steelix", + "method": "walk", + "encounter_rate": 2, + "min_level": 23, + "max_level": 23 + } + ] + }, + { + "name": "Embedded Tower", + "order": 80, + "encounters": [ + { + "pokeapi_id": 382, + "pokemon_name": "Kyogre", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 384, + "pokemon_name": "Rayquaza", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + } + ] + }, { "name": "Route 48 (Johto)", - "order": 77, + "order": 81, "encounters": [ { "pokeapi_id": 163, @@ -7576,14 +7856,52 @@ } ] }, + { + "name": "Safari Zone Gate", + "order": 82, + "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 14, + "max_level": 19 + }, + { + "pokeapi_id": 102, + "pokemon_name": "Exeggcute", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 14, + "max_level": 19 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 14, + "max_level": 16 + }, + { + "pokeapi_id": 167, + "pokemon_name": "Spinarak", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 17, + "max_level": 19 + } + ] + }, { "name": "Safari Zone (Johto)", - "order": 78, + "order": 83, "encounters": [], "children": [ { "name": "Safari Zone (Johto - Peak)", - "order": 79, + "order": 84, "encounters": [ { "pokeapi_id": 74, @@ -7709,7 +8027,7 @@ }, { "name": "Safari Zone (Johto - Desert)", - "order": 80, + "order": 85, "encounters": [ { "pokeapi_id": 22, @@ -7819,7 +8137,7 @@ }, { "name": "Safari Zone (Johto - Plains)", - "order": 81, + "order": 86, "encounters": [ { "pokeapi_id": 203, @@ -7937,7 +8255,7 @@ }, { "name": "Safari Zone (Johto - Meadow)", - "order": 82, + "order": 87, "encounters": [ { "pokeapi_id": 129, @@ -8175,7 +8493,7 @@ }, { "name": "Safari Zone (Johto - Forest)", - "order": 83, + "order": 88, "encounters": [ { "pokeapi_id": 200, @@ -8293,7 +8611,7 @@ }, { "name": "Safari Zone (Johto - Swamp)", - "order": 84, + "order": 89, "encounters": [ { "pokeapi_id": 129, @@ -8547,7 +8865,7 @@ }, { "name": "Safari Zone (Johto - Marshland)", - "order": 85, + "order": 90, "encounters": [ { "pokeapi_id": 61, @@ -8801,7 +9119,7 @@ }, { "name": "Safari Zone (Johto - Rocky Beach)", - "order": 86, + "order": 91, "encounters": [ { "pokeapi_id": 131, @@ -9031,7 +9349,7 @@ }, { "name": "Safari Zone (Johto - Mountain)", - "order": 87, + "order": 92, "encounters": [ { "pokeapi_id": 41, @@ -9157,7 +9475,7 @@ }, { "name": "Safari Zone (Johto - Wasteland)", - "order": 88, + "order": 93, "encounters": [ { "pokeapi_id": 95, @@ -9283,7 +9601,7 @@ }, { "name": "Safari Zone (Johto - Savannah)", - "order": 89, + "order": 94, "encounters": [ { "pokeapi_id": 128, @@ -9417,7 +9735,7 @@ }, { "name": "Safari Zone (Johto - Wetland)", - "order": 90, + "order": 95, "encounters": [ { "pokeapi_id": 60, @@ -9655,272 +9973,14 @@ } ] }, - { - "name": "Safari Zone Gate", - "order": 91, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 14, - "max_level": 19 - }, - { - "pokeapi_id": 102, - "pokemon_name": "Exeggcute", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 14, - "max_level": 19 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 14, - "max_level": 16 - }, - { - "pokeapi_id": 167, - "pokemon_name": "Spinarak", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 17, - "max_level": 19 - } - ] - }, - { - "name": "Cliff Cave", - "order": 92, - "encounters": [ - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "rock-smash", - "encounter_rate": 80, - "min_level": 20, - "max_level": 26 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 24, - "min_level": 20, - "max_level": 22 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 19, - "max_level": 20 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 20, - "min_level": 19, - "max_level": 19 - }, - { - "pokeapi_id": 99, - "pokemon_name": "Kingler", - "method": "rock-smash", - "encounter_rate": 20, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 19, - "max_level": 20 - }, - { - "pokeapi_id": 99, - "pokemon_name": "Kingler", - "method": "walk", - "encounter_rate": 10, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "walk", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 10, - "min_level": 19, - "max_level": 19 - }, - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 200, - "pokemon_name": "Misdreavus", - "method": "walk", - "encounter_rate": 5, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 5, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 194, - "pokemon_name": "Wooper", - "method": "walk", - "encounter_rate": 5, - "min_level": 18, - "max_level": 18 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 5, - "min_level": 18, - "max_level": 18 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 4, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 4, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 208, - "pokemon_name": "Steelix", - "method": "walk", - "encounter_rate": 2, - "min_level": 23, - "max_level": 23 - } - ] - }, - { - "name": "Cliff Edge Gate", - "order": 93, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 194, - "pokemon_name": "Wooper", - "method": "surf", - "encounter_rate": 90, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 85, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 70, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 15, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "surf", - "encounter_rate": 10, - "min_level": 30, - "max_level": 40 - } - ] - }, { "name": "Whirl Islands", - "order": 94, + "order": 96, "encounters": [], "children": [ { "name": "Whirl Islands (1F)", - "order": 95, + "order": 97, "encounters": [ { "pokeapi_id": 129, @@ -10086,7 +10146,7 @@ }, { "name": "Whirl Islands (B1F)", - "order": 96, + "order": 98, "encounters": [ { "pokeapi_id": 129, @@ -10252,7 +10312,7 @@ }, { "name": "Whirl Islands (B2F)", - "order": 97, + "order": 99, "encounters": [ { "pokeapi_id": 129, @@ -10418,7 +10478,7 @@ }, { "name": "Whirl Islands (B3F)", - "order": 98, + "order": 100, "encounters": [ { "pokeapi_id": 98, @@ -10488,7 +10548,7 @@ }, { "name": "Whirl Islands (B3F - Lugia's Cave)", - "order": 99, + "order": 101, "encounters": [ { "pokeapi_id": 249, @@ -10502,186 +10562,6 @@ } ] }, - { - "name": "Embedded Tower", - "order": 100, - "encounters": [ - { - "pokeapi_id": 382, - "pokemon_name": "Kyogre", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 384, - "pokemon_name": "Rayquaza", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - } - ] - }, - { - "name": "Tohjo Falls", - "order": 101, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "super-rod", - "encounter_rate": 70, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "surf", - "encounter_rate": 60, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 20, - "pokemon_name": "Raticate", - "method": "walk", - "encounter_rate": 30, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 79, - "pokemon_name": "Slowpoke", - "method": "surf", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 30, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 20, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 79, - "pokemon_name": "Slowpoke", - "method": "walk", - "encounter_rate": 15, - "min_level": 21, - "max_level": 21 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "surf", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "super-rod", - "encounter_rate": 10, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 19, - "pokemon_name": "Rattata", - "method": "walk", - "encounter_rate": 5, - "min_level": 20, - "max_level": 20 - } - ] - }, { "name": "Route 27 (Kanto)", "order": 102, @@ -10897,8 +10777,166 @@ ] }, { - "name": "Route 26 (Kanto)", + "name": "Tohjo Falls", "order": 103, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "super-rod", + "encounter_rate": 70, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "surf", + "encounter_rate": 60, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 20, + "pokemon_name": "Raticate", + "method": "walk", + "encounter_rate": 30, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 79, + "pokemon_name": "Slowpoke", + "method": "surf", + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 30, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 20, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 79, + "pokemon_name": "Slowpoke", + "method": "walk", + "encounter_rate": 15, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 119, + "pokemon_name": "Seaking", + "method": "surf", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 119, + "pokemon_name": "Seaking", + "method": "super-rod", + "encounter_rate": 10, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 19, + "pokemon_name": "Rattata", + "method": "walk", + "encounter_rate": 5, + "min_level": 20, + "max_level": 20 + } + ] + }, + { + "name": "Route 26 (Kanto)", + "order": 104, "encounters": [ { "pokeapi_id": 163, @@ -11111,8 +11149,8 @@ ] }, { - "name": "Victory Road (Kanto 2F)", - "order": 104, + "name": "Victory Road (Kanto)", + "order": 105, "encounters": [ { "pokeapi_id": 74, @@ -11205,1157 +11243,16 @@ ] }, { - "name": "Route 28 (Kanto)", - "order": 105, - "encounters": [ - { - "pokeapi_id": 214, - "pokemon_name": "Heracross", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 39, - "max_level": 43 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "surf", - "encounter_rate": 90, - "min_level": 35, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 80, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 190, - "pokemon_name": "Aipom", - "method": "headbutt", - "encounter_rate": 60, - "min_level": 39, - "max_level": 43 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 177, - "pokemon_name": "Natu", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 39, - "max_level": 43 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 77, - "pokemon_name": "Ponyta", - "method": "walk", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "walk", - "encounter_rate": 30, - "min_level": 39, - "max_level": 39 - }, - { - "pokeapi_id": 399, - "pokemon_name": "Bidoof", - "method": "walk", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 418, - "pokemon_name": "Buizel", - "method": "walk", - "encounter_rate": 20, - "min_level": 39, - "max_level": 40 - }, - { - "pokeapi_id": 232, - "pokemon_name": "Donphan", - "method": "walk", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 264, - "pokemon_name": "Linoone", - "method": "walk", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 78, - "pokemon_name": "Rapidash", - "method": "walk", - "encounter_rate": 20, - "min_level": 41, - "max_level": 42 - }, - { - "pokeapi_id": 293, - "pokemon_name": "Whismur", - "method": "walk", - "encounter_rate": 20, - "min_level": 39, - "max_level": 40 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "surf", - "encounter_rate": 10, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 215, - "pokemon_name": "Sneasel", - "method": "walk", - "encounter_rate": 10, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 85, - "pokemon_name": "Dodrio", - "method": "walk", - "encounter_rate": 5, - "min_level": 43, - "max_level": 43 - }, - { - "pokeapi_id": 84, - "pokemon_name": "Doduo", - "method": "walk", - "encounter_rate": 5, - "min_level": 41, - "max_level": 41 - } - ] - }, - { - "name": "Mt. Silver", + "name": "Vermilion City", "order": 106, "encounters": [ { - "pokeapi_id": 214, - "pokemon_name": "Heracross", + "pokeapi_id": 21, + "pokemon_name": "Spearow", "method": "headbutt", "encounter_rate": 100, - "min_level": 39, - "max_level": 43 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "surf", - "encounter_rate": 91, - "min_level": 30, - "max_level": 48 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 80, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 190, - "pokemon_name": "Aipom", - "method": "headbutt", - "encounter_rate": 60, - "min_level": 39, - "max_level": 43 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 177, - "pokemon_name": "Natu", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 39, - "max_level": 43 - }, - { - "pokeapi_id": 77, - "pokemon_name": "Ponyta", - "method": "walk", - "encounter_rate": 30, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "walk", - "encounter_rate": 30, - "min_level": 41, - "max_level": 41 - }, - { - "pokeapi_id": 399, - "pokemon_name": "Bidoof", - "method": "walk", - "encounter_rate": 20, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 418, - "pokemon_name": "Buizel", - "method": "walk", - "encounter_rate": 20, - "min_level": 41, - "max_level": 42 - }, - { - "pokeapi_id": 232, - "pokemon_name": "Donphan", - "method": "walk", - "encounter_rate": 20, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 264, - "pokemon_name": "Linoone", - "method": "walk", - "encounter_rate": 20, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 293, - "pokemon_name": "Whismur", - "method": "walk", - "encounter_rate": 20, - "min_level": 41, - "max_level": 42 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 78, - "pokemon_name": "Rapidash", - "method": "walk", - "encounter_rate": 10, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 215, - "pokemon_name": "Sneasel", - "method": "walk", - "encounter_rate": 10, - "min_level": 41, - "max_level": 41 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "surf", - "encounter_rate": 9, - "min_level": 30, - "max_level": 40 - }, - { - "pokeapi_id": 85, - "pokemon_name": "Dodrio", - "method": "walk", - "encounter_rate": 5, - "min_level": 43, - "max_level": 43 - }, - { - "pokeapi_id": 84, - "pokemon_name": "Doduo", - "method": "walk", - "encounter_rate": 5, - "min_level": 41, - "max_level": 41 - } - ] - }, - { - "name": "Mt. Silver (Cave)", - "order": 107, - "encounters": [], - "children": [ - { - "name": "Mt. Silver (Cave 1F)", - "order": 108, - "encounters": [ - { - "pokeapi_id": 146, - "pokemon_name": "Moltres", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "surf", - "encounter_rate": 91, - "min_level": 30, - "max_level": 50 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 80, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 50, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "super-rod", - "encounter_rate": 50, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 232, - "pokemon_name": "Donphan", - "method": "walk", - "encounter_rate": 30, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 30, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 43, - "max_level": 43 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 20, - "min_level": 41, - "max_level": 43 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 43, - "max_level": 43 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "good-rod", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 231, - "pokemon_name": "Phanpy", - "method": "walk", - "encounter_rate": 10, - "min_level": 43, - "max_level": 43 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "surf", - "encounter_rate": 9, - "min_level": 30, - "max_level": 40 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 246, - "pokemon_name": "Larvitar", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - } - ] - }, - { - "name": "Mt. Silver (Cave Expert Belt Chamber)", - "order": 109, - "encounters": [ - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 35, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 200, - "pokemon_name": "Misdreavus", - "method": "walk", - "encounter_rate": 30, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 232, - "pokemon_name": "Donphan", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 48 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 231, - "pokemon_name": "Phanpy", - "method": "walk", - "encounter_rate": 10, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 246, - "pokemon_name": "Larvitar", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 247, - "pokemon_name": "Pupitar", - "method": "walk", - "encounter_rate": 5, - "min_level": 45, - "max_level": 45 - } - ] - }, - { - "name": "Mt. Silver (Cave Moltres Chamber)", - "order": 110, - "encounters": [ - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 40, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 48 - }, - { - "pokeapi_id": 232, - "pokemon_name": "Donphan", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 48 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 48 - }, - { - "pokeapi_id": 208, - "pokemon_name": "Steelix", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "walk", - "encounter_rate": 10, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 200, - "pokemon_name": "Misdreavus", - "method": "walk", - "encounter_rate": 10, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 246, - "pokemon_name": "Larvitar", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - } - ] - }, - { - "name": "Mt. Silver (Cave Lower Mountainside)", - "order": 111, - "encounters": [ - { - "pokeapi_id": 214, - "pokemon_name": "Heracross", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 42, - "max_level": 48 - }, - { - "pokeapi_id": 190, - "pokemon_name": "Aipom", - "method": "headbutt", - "encounter_rate": 60, - "min_level": 42, - "max_level": 48 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 40, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 177, - "pokemon_name": "Natu", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 42, - "max_level": 48 - }, - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 30, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 232, - "pokemon_name": "Donphan", - "method": "walk", - "encounter_rate": 10, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 231, - "pokemon_name": "Phanpy", - "method": "walk", - "encounter_rate": 10, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "walk", - "encounter_rate": 5, - "min_level": 51, - "max_level": 51 - }, - { - "pokeapi_id": 246, - "pokemon_name": "Larvitar", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - } - ] - }, - { - "name": "Mt. Silver (Cave 2F)", - "order": 112, - "encounters": [ - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 30, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 232, - "pokemon_name": "Donphan", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 215, - "pokemon_name": "Sneasel", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "walk", - "encounter_rate": 10, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 200, - "pokemon_name": "Misdreavus", - "method": "walk", - "encounter_rate": 10, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 231, - "pokemon_name": "Phanpy", - "method": "walk", - "encounter_rate": 10, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 246, - "pokemon_name": "Larvitar", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - } - ] - }, - { - "name": "Mt. Silver (Cave Upper Mountainside)", - "order": 113, - "encounters": [ - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "walk", - "encounter_rate": 30, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 232, - "pokemon_name": "Donphan", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 215, - "pokemon_name": "Sneasel", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 200, - "pokemon_name": "Misdreavus", - "method": "walk", - "encounter_rate": 15, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 15, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 246, - "pokemon_name": "Larvitar", - "method": "walk", - "encounter_rate": 10, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 48, - "max_level": 48 - } - ] - }, - { - "name": "Mt. Silver (Cave 3F)", - "order": 114, - "encounters": [ - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "walk", - "encounter_rate": 30, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 232, - "pokemon_name": "Donphan", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 215, - "pokemon_name": "Sneasel", - "method": "walk", - "encounter_rate": 20, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 200, - "pokemon_name": "Misdreavus", - "method": "walk", - "encounter_rate": 10, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 246, - "pokemon_name": "Larvitar", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - } - ] - } - ] - }, - { - "name": "Pallet Town", - "order": 115, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 2, - "max_level": 6 + "min_level": 11, + "max_level": 16 }, { "pokeapi_id": 72, @@ -12373,6 +11270,22 @@ "min_level": 10, "max_level": 10 }, + { + "pokeapi_id": 50, + "pokemon_name": "Diglett", + "method": "rock-smash", + "encounter_rate": 80, + "min_level": 24, + "max_level": 37 + }, + { + "pokeapi_id": 278, + "pokemon_name": "Wingull", + "method": "swarm", + "encounter_rate": 60, + "min_level": 35, + "max_level": 35 + }, { "pokeapi_id": 170, "pokemon_name": "Chinchou", @@ -12381,6 +11294,14 @@ "min_level": 40, "max_level": 40 }, + { + "pokeapi_id": 415, + "pokemon_name": "Combee", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 11, + "max_level": 16 + }, { "pokeapi_id": 129, "pokemon_name": "Magikarp", @@ -12390,20 +11311,12 @@ "max_level": 20 }, { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 2, - "max_level": 6 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", + "pokeapi_id": 214, + "pokemon_name": "Heracross", "method": "headbutt", "encounter_rate": 30, - "min_level": 2, - "max_level": 3 + "min_level": 11, + "max_level": 13 }, { "pokeapi_id": 90, @@ -12413,14 +11326,6 @@ "min_level": 40, "max_level": 40 }, - { - "pokeapi_id": 167, - "pokemon_name": "Spinarak", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 5, - "max_level": 6 - }, { "pokeapi_id": 72, "pokemon_name": "Tentacool", @@ -12437,6 +11342,14 @@ "min_level": 20, "max_level": 20 }, + { + "pokeapi_id": 213, + "pokemon_name": "Shuckle", + "method": "rock-smash", + "encounter_rate": 20, + "min_level": 32, + "max_level": 35 + }, { "pokeapi_id": 73, "pokemon_name": "Tentacruel", @@ -12480,160 +11393,20 @@ ] }, { - "name": "Professor Oak's Laboratory", - "order": 116, - "encounters": [ - { - "pokeapi_id": 1, - "pokemon_name": "Bulbasaur", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 4, - "pokemon_name": "Charmander", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 7, - "pokemon_name": "Squirtle", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - } - ] - }, - { - "name": "Route 01 (Kanto)", - "order": 117, + "name": "Route 06 (Kanto)", + "order": 107, "encounters": [ { "pokeapi_id": 163, "pokemon_name": "Hoothoot", "method": "headbutt", "encounter_rate": 100, - "min_level": 2, - "max_level": 6 + "min_level": 11, + "max_level": 16 }, { - "pokeapi_id": 19, - "pokemon_name": "Rattata", - "method": "walk", - "encounter_rate": 85, - "min_level": 2, - "max_level": 3 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "walk", - "encounter_rate": 45, - "min_level": 2, - "max_level": 4 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 45, - "min_level": 2, - "max_level": 4 - }, - { - "pokeapi_id": 261, - "pokemon_name": "Poochyena", - "method": "swarm", - "encounter_rate": 40, - "min_level": 2, - "max_level": 2 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 2, - "max_level": 3 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 2, - "max_level": 6 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 2, - "max_level": 3 - }, - { - "pokeapi_id": 167, - "pokemon_name": "Spinarak", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 5, - "max_level": 6 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 2, - "max_level": 2 - }, - { - "pokeapi_id": 161, - "pokemon_name": "Sentret", - "method": "walk", - "encounter_rate": 20, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 162, - "pokemon_name": "Furret", - "method": "walk", - "encounter_rate": 5, - "min_level": 6, - "max_level": 6 - } - ] - }, - { - "name": "Viridian City", - "order": 118, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 3, - "max_level": 7 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", + "pokeapi_id": 54, + "pokemon_name": "Psyduck", "method": "surf", "encounter_rate": 90, "min_level": 5, @@ -12656,985 +11429,84 @@ "max_level": 40 }, { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", + "pokeapi_id": 129, + "pokemon_name": "Magikarp", "method": "good-rod", "encounter_rate": 60, "min_level": 20, "max_level": 20 }, { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 3, - "max_level": 7 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 3, - "max_level": 4 - }, - { - "pokeapi_id": 167, - "pokemon_name": "Spinarak", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 5, - "max_level": 7 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "surf", - "encounter_rate": 10, - "min_level": 10, - "max_level": 10 - } - ] - }, - { - "name": "Viridian Forest", - "order": 119, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", + "pokeapi_id": 43, + "pokemon_name": "Oddish", "method": "walk", - "encounter_rate": 80, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 273, - "pokemon_name": "Seedot", - "method": "headbutt", "encounter_rate": 60, - "min_level": 3, - "max_level": 7 + "min_level": 13, + "max_level": 13 }, { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 50, - "min_level": 3, - "max_level": 4 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "headbutt", - "encounter_rate": 50, - "min_level": 5, - "max_level": 7 - }, - { - "pokeapi_id": 10, - "pokemon_name": "Caterpie", + "pokeapi_id": 69, + "pokemon_name": "Bellsprout", "method": "walk", - "encounter_rate": 40, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 401, - "pokemon_name": "Kricketot", - "method": "swarm", - "encounter_rate": 40, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 11, - "pokemon_name": "Metapod", - "method": "walk", - "encounter_rate": 30, - "min_level": 3, - "max_level": 3 + "encounter_rate": 50, + "min_level": 13, + "max_level": 14 }, { "pokeapi_id": 16, "pokemon_name": "Pidgey", "method": "walk", - "encounter_rate": 25, - "min_level": 3, - "max_level": 3 + "encounter_rate": 50, + "min_level": 13, + "max_level": 14 }, { - "pokeapi_id": 406, - "pokemon_name": "Budew", - "method": "walk", - "encounter_rate": 20, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 455, - "pokemon_name": "Carnivine", - "method": "walk", - "encounter_rate": 20, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 322, - "pokemon_name": "Numel", - "method": "walk", - "encounter_rate": 20, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 285, - "pokemon_name": "Shroomish", + "pokeapi_id": 415, + "pokemon_name": "Combee", "method": "headbutt", - "encounter_rate": 20, - "min_level": 3, - "max_level": 7 + "encounter_rate": 40, + "min_level": 11, + "max_level": 16 }, { - "pokeapi_id": 325, - "pokemon_name": "Spoink", - "method": "walk", - "encounter_rate": 20, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 15, - "min_level": 7, - "max_level": 7 - }, - { - "pokeapi_id": 25, - "pokemon_name": "Pikachu", - "method": "walk", - "encounter_rate": 11, - "min_level": 4, - "max_level": 4 - }, - { - "pokeapi_id": 168, - "pokemon_name": "Ariados", - "method": "headbutt", - "encounter_rate": 10, - "min_level": 5, - "max_level": 7 - }, - { - "pokeapi_id": 12, - "pokemon_name": "Butterfree", - "method": "walk", - "encounter_rate": 10, - "min_level": 7, - "max_level": 7 - }, - { - "pokeapi_id": 167, - "pokemon_name": "Spinarak", - "method": "headbutt", - "encounter_rate": 10, - "min_level": 3, - "max_level": 4 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 9, - "min_level": 7, - "max_level": 7 - } - ] - }, - { - "name": "Pewter City", - "order": 120, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 3, - "max_level": 9 - }, - { - "pokeapi_id": 381, - "pokemon_name": "Latios", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 3, - "max_level": 9 - }, - { - "pokeapi_id": 178, - "pokemon_name": "Xatu", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - }, - { - "pokeapi_id": 396, - "pokemon_name": "Starly", - "method": "headbutt", - "encounter_rate": 35, - "min_level": 5, - "max_level": 12 + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 }, { "pokeapi_id": 204, "pokemon_name": "Pineco", "method": "headbutt", "encounter_rate": 30, - "min_level": 3, - "max_level": 5 - } - ] - }, - { - "name": "Pewter Museum of Science", - "order": 121, - "encounters": [ - { - "pokeapi_id": 142, - "pokemon_name": "Aerodactyl", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 347, - "pokemon_name": "Anorith", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 408, - "pokemon_name": "Cranidos", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 140, - "pokemon_name": "Kabuto", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 345, - "pokemon_name": "Lileep", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 138, - "pokemon_name": "Omanyte", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 410, - "pokemon_name": "Shieldon", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - } - ] - }, - { - "name": "Kanto Route 2", - "order": 122, - "encounters": [], - "children": [ - { - "name": "Route 02 (Kanto - Northern Section)", - "order": 123, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 3, - "max_level": 7 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 3, - "max_level": 7 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 35, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 167, - "pokemon_name": "Spinarak", - "method": "walk", - "encounter_rate": 35, - "min_level": 3, - "max_level": 10 - }, - { - "pokeapi_id": 10, - "pokemon_name": "Caterpie", - "method": "walk", - "encounter_rate": 31, - "min_level": 3, - "max_level": 4 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 3, - "max_level": 4 - }, - { - "pokeapi_id": 167, - "pokemon_name": "Spinarak", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 5, - "max_level": 7 - }, - { - "pokeapi_id": 11, - "pokemon_name": "Metapod", - "method": "walk", - "encounter_rate": 20, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 14, - "min_level": 7, - "max_level": 7 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 14, - "min_level": 7, - "max_level": 7 - }, - { - "pokeapi_id": 12, - "pokemon_name": "Butterfree", - "method": "walk", - "encounter_rate": 10, - "min_level": 7, - "max_level": 8 - }, - { - "pokeapi_id": 168, - "pokemon_name": "Ariados", - "method": "walk", - "encounter_rate": 5, - "min_level": 7, - "max_level": 7 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "walk", - "encounter_rate": 5, - "min_level": 3, - "max_level": 3 - } - ] - }, - { - "name": "Route 02 (Kanto - Southern Section)", - "order": 124, - "encounters": [ - { - "pokeapi_id": 12, - "pokemon_name": "Butterfree", - "method": "walk", - "encounter_rate": 100, - "min_level": 7, - "max_level": 8 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 3, - "max_level": 7 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 3, - "max_level": 7 - }, - { - "pokeapi_id": 167, - "pokemon_name": "Spinarak", - "method": "walk", - "encounter_rate": 35, - "min_level": 3, - "max_level": 10 - }, - { - "pokeapi_id": 10, - "pokemon_name": "Caterpie", - "method": "walk", - "encounter_rate": 31, - "min_level": 3, - "max_level": 4 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 3, - "max_level": 4 - }, - { - "pokeapi_id": 167, - "pokemon_name": "Spinarak", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 5, - "max_level": 7 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 14, - "min_level": 7, - "max_level": 8 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 14, - "min_level": 7, - "max_level": 7 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 7, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 168, - "pokemon_name": "Ariados", - "method": "walk", - "encounter_rate": 5, - "min_level": 7, - "max_level": 7 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "walk", - "encounter_rate": 5, - "min_level": 3, - "max_level": 5 - }, - { - "pokeapi_id": 11, - "pokemon_name": "Metapod", - "method": "walk", - "encounter_rate": 2, - "min_level": 5, - "max_level": 5 - } - ] - } - ] - }, - { - "name": "Route 03 (Kanto)", - "order": 125, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 6, - "max_level": 10 - }, - { - "pokeapi_id": 19, - "pokemon_name": "Rattata", - "method": "walk", - "encounter_rate": 95, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 55, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 343, - "pokemon_name": "Baltoy", - "method": "swarm", - "encounter_rate": 40, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 6, - "max_level": 10 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 6, - "max_level": 7 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 30, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 8, - "max_level": 8 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 39, - "pokemon_name": "Jigglypuff", - "method": "walk", - "encounter_rate": 10, - "min_level": 6, - "max_level": 6 - } - ] - }, - { - "name": "Mt. Moon (B2F)", - "order": 126, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 30, - "min_level": 8, - "max_level": 8 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 30, - "min_level": 6, - "max_level": 6 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 6, - "max_level": 6 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 6, - "max_level": 6 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 8, - "max_level": 8 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 8, - "max_level": 8 - }, - { - "pokeapi_id": 27, - "pokemon_name": "Sandshrew", - "method": "walk", - "encounter_rate": 20, - "min_level": 8, - "max_level": 8 - }, - { - "pokeapi_id": 46, - "pokemon_name": "Paras", - "method": "walk", - "encounter_rate": 10, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 35, - "pokemon_name": "Clefairy", - "method": "walk", - "encounter_rate": 5, - "min_level": 8, - "max_level": 8 - }, - { - "pokeapi_id": 28, - "pokemon_name": "Sandslash", - "method": "walk", - "encounter_rate": 5, - "min_level": 10, - "max_level": 10 - } - ] - }, - { - "name": "Mt. Moon Square", - "order": 127, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 35 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 95, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "old-rod", - "encounter_rate": 90, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "surf", - "encounter_rate": 40, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - } - ] - }, - { - "name": "Route 04 (Kanto)", - "order": 128, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 6, - "max_level": 10 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "surf", - "encounter_rate": 90, - "min_level": 5, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 85, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "super-rod", - "encounter_rate": 70, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 19, - "pokemon_name": "Rattata", - "method": "walk", - "encounter_rate": 65, - "min_level": 5, - "max_level": 8 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 6, - "max_level": 10 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 6, - "max_level": 7 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 30, - "min_level": 5, - "max_level": 5 + "min_level": 11, + "max_level": 13 }, { "pokeapi_id": 399, "pokemon_name": "Bidoof", "method": "walk", "encounter_rate": 20, - "min_level": 8, - "max_level": 8 + "min_level": 14, + "max_level": 14 }, { "pokeapi_id": 418, "pokemon_name": "Buizel", "method": "walk", "encounter_rate": 20, - "min_level": 5, - "max_level": 5 + "min_level": 13, + "max_level": 13 }, { "pokeapi_id": 264, "pokemon_name": "Linoone", "method": "walk", "encounter_rate": 20, - "min_level": 8, - "max_level": 8 + "min_level": 14, + "max_level": 14 }, { "pokeapi_id": 129, @@ -13649,8 +11521,290 @@ "pokemon_name": "Whismur", "method": "walk", "encounter_rate": 20, - "min_level": 5, - "max_level": 5 + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 63, + "pokemon_name": "Abra", + "method": "walk", + "encounter_rate": 10, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "surf", + "encounter_rate": 10, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 81, + "pokemon_name": "Magnemite", + "method": "walk", + "encounter_rate": 10, + "min_level": 15, + "max_level": 15 + } + ] + }, + { + "name": "Saffron City", + "order": 108, + "encounters": [ + { + "pokeapi_id": 25, + "pokemon_name": "Pikachu", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + } + ] + }, + { + "name": "Route 08 (Kanto)", + "order": 109, + "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 16, + "max_level": 19 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 65, + "min_level": 17, + "max_level": 17 + }, + { + "pokeapi_id": 415, + "pokemon_name": "Combee", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 16, + "max_level": 19 + }, + { + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "walk", + "encounter_rate": 40, + "min_level": 17, + "max_level": 18 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 93, + "pokemon_name": "Haunter", + "method": "walk", + "encounter_rate": 30, + "min_level": 19, + "max_level": 19 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 16, + "max_level": 17 + }, + { + "pokeapi_id": 63, + "pokemon_name": "Abra", + "method": "walk", + "encounter_rate": 20, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 17, + "max_level": 17 + }, + { + "pokeapi_id": 58, + "pokemon_name": "Growlithe", + "method": "walk", + "encounter_rate": 15, + "min_level": 17, + "max_level": 18 + }, + { + "pokeapi_id": 64, + "pokemon_name": "Kadabra", + "method": "walk", + "encounter_rate": 5, + "min_level": 15, + "max_level": 15 + } + ] + }, + { + "name": "Route 10 (Kanto)", + "order": 110, + "encounters": [ + { + "pokeapi_id": 145, + "pokemon_name": "Zapdos", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "surf", + "encounter_rate": 90, + "min_level": 10, + "max_level": 15 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "super-rod", + "encounter_rate": 70, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 20, + "pokemon_name": "Raticate", + "method": "walk", + "encounter_rate": 45, + "min_level": 16, + "max_level": 16 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 40, + "min_level": 16, + "max_level": 16 + }, + { + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "walk", + "encounter_rate": 30, + "min_level": 16, + "max_level": 16 + }, + { + "pokeapi_id": 100, + "pokemon_name": "Voltorb", + "method": "walk", + "encounter_rate": 30, + "min_level": 17, + "max_level": 17 + }, + { + "pokeapi_id": 399, + "pokemon_name": "Bidoof", + "method": "walk", + "encounter_rate": 20, + "min_level": 16, + "max_level": 16 + }, + { + "pokeapi_id": 418, + "pokemon_name": "Buizel", + "method": "walk", + "encounter_rate": 20, + "min_level": 16, + "max_level": 17 + }, + { + "pokeapi_id": 264, + "pokemon_name": "Linoone", + "method": "walk", + "encounter_rate": 20, + "min_level": 16, + "max_level": 16 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 293, + "pokemon_name": "Whismur", + "method": "walk", + "encounter_rate": 20, + "min_level": 16, + "max_level": 17 + }, + { + "pokeapi_id": 125, + "pokemon_name": "Electabuzz", + "method": "walk", + "encounter_rate": 15, + "min_level": 15, + "max_level": 15 }, { "pokeapi_id": 118, @@ -13661,20 +11815,20 @@ "max_level": 10 }, { - "pokeapi_id": 39, - "pokemon_name": "Jigglypuff", + "pokeapi_id": 22, + "pokemon_name": "Fearow", "method": "walk", "encounter_rate": 10, - "min_level": 6, - "max_level": 6 + "min_level": 18, + "max_level": 18 }, { "pokeapi_id": 119, "pokemon_name": "Seaking", "method": "surf", "encounter_rate": 10, - "min_level": 10, - "max_level": 10 + "min_level": 15, + "max_level": 15 }, { "pokeapi_id": 119, @@ -13686,9 +11840,368 @@ } ] }, + { + "name": "Rock Tunnel", + "order": 111, + "encounters": [], + "children": [ + { + "name": "Rock Tunnel (1F)", + "order": 112, + "encounters": [ + { + "pokeapi_id": 104, + "pokemon_name": "Cubone", + "method": "walk", + "encounter_rate": 35, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 30, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 20, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 8, + "max_level": 8 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 5, + "min_level": 14, + "max_level": 14 + } + ] + }, + { + "name": "Rock Tunnel (B1F)", + "order": 113, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 100, + "min_level": 12, + "max_level": 21 + }, + { + "pokeapi_id": 104, + "pokemon_name": "Cubone", + "method": "walk", + "encounter_rate": 30, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 30, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 16, + "max_level": 16 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 16, + "max_level": 16 + }, + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 20, + "min_level": 16, + "max_level": 16 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 115, + "pokemon_name": "Kangaskhan", + "method": "walk", + "encounter_rate": 5, + "min_level": 14, + "max_level": 14 + }, + { + "pokeapi_id": 105, + "pokemon_name": "Marowak", + "method": "walk", + "encounter_rate": 5, + "min_level": 14, + "max_level": 14 + } + ] + } + ] + }, + { + "name": "Route 09 (Kanto)", + "order": 114, + "encounters": [ + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "surf", + "encounter_rate": 90, + "min_level": 10, + "max_level": 19 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "super-rod", + "encounter_rate": 70, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 19, + "pokemon_name": "Rattata", + "method": "walk", + "encounter_rate": 40, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "swarm", + "encounter_rate": 40, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 20, + "pokemon_name": "Raticate", + "method": "walk", + "encounter_rate": 35, + "min_level": 13, + "max_level": 15 + }, + { + "pokeapi_id": 56, + "pokemon_name": "Mankey", + "method": "walk", + "encounter_rate": 30, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 399, + "pokemon_name": "Bidoof", + "method": "walk", + "encounter_rate": 20, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 418, + "pokemon_name": "Buizel", + "method": "walk", + "encounter_rate": 20, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 264, + "pokemon_name": "Linoone", + "method": "walk", + "encounter_rate": 20, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "walk", + "encounter_rate": 20, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 293, + "pokemon_name": "Whismur", + "method": "walk", + "encounter_rate": 20, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 119, + "pokemon_name": "Seaking", + "method": "surf", + "encounter_rate": 10, + "min_level": 15, + "max_level": 19 + }, + { + "pokeapi_id": 119, + "pokemon_name": "Seaking", + "method": "super-rod", + "encounter_rate": 10, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 22, + "pokemon_name": "Fearow", + "method": "walk", + "encounter_rate": 5, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 57, + "pokemon_name": "Primeape", + "method": "walk", + "encounter_rate": 5, + "min_level": 15, + "max_level": 15 + } + ] + }, + { + "name": "Power Plant", + "order": 115, + "encounters": [ + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + } + ] + }, { "name": "Cerulean City", - "order": 129, + "order": 116, "encounters": [ { "pokeapi_id": 163, @@ -13790,7 +12303,7 @@ }, { "name": "Route 24 (Kanto)", - "order": 130, + "order": 117, "encounters": [ { "pokeapi_id": 69, @@ -13956,7 +12469,7 @@ }, { "name": "Route 25 (Kanto)", - "order": 131, + "order": 118, "encounters": [ { "pokeapi_id": 415, @@ -14176,562 +12689,9 @@ } ] }, - { - "name": "Cerulean Cave", - "order": 132, - "encounters": [], - "children": [ - { - "name": "Cerulean Cave (1F)", - "order": 133, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "surf", - "encounter_rate": 90, - "min_level": 35, - "max_level": 40 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 80, - "min_level": 22, - "max_level": 24 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 60, - "min_level": 38, - "max_level": 39 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 45, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 24, - "min_level": 39, - "max_level": 40 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 21, - "min_level": 39, - "max_level": 40 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 21, - "min_level": 39, - "max_level": 40 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 38, - "max_level": 38 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 38, - "max_level": 38 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 39, - "max_level": 40 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 20, - "min_level": 26, - "max_level": 30 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 39, - "max_level": 40 - }, - { - "pokeapi_id": 47, - "pokemon_name": "Parasect", - "method": "walk", - "encounter_rate": 20, - "min_level": 38, - "max_level": 38 - }, - { - "pokeapi_id": 57, - "pokemon_name": "Primeape", - "method": "walk", - "encounter_rate": 18, - "min_level": 38, - "max_level": 39 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 15, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "surf", - "encounter_rate": 10, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "walk", - "encounter_rate": 5, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 202, - "pokemon_name": "Wobbuffet", - "method": "walk", - "encounter_rate": 5, - "min_level": 37, - "max_level": 37 - } - ] - }, - { - "name": "Cerulean Cave (2F)", - "order": 134, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 45, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 30, - "min_level": 41, - "max_level": 42 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 30, - "min_level": 39, - "max_level": 39 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 39, - "max_level": 39 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 39, - "max_level": 39 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 41, - "max_level": 42 - }, - { - "pokeapi_id": 64, - "pokemon_name": "Kadabra", - "method": "walk", - "encounter_rate": 20, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 41, - "max_level": 42 - }, - { - "pokeapi_id": 47, - "pokemon_name": "Parasect", - "method": "walk", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 15, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 10, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 10, - "min_level": 41, - "max_level": 41 - }, - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "walk", - "encounter_rate": 5, - "min_level": 41, - "max_level": 41 - }, - { - "pokeapi_id": 202, - "pokemon_name": "Wobbuffet", - "method": "walk", - "encounter_rate": 5, - "min_level": 42, - "max_level": 42 - } - ] - }, - { - "name": "Cerulean Cave (B1F)", - "order": 135, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 150, - "pokemon_name": "Mewtwo", - "method": "static", - "encounter_rate": 100, - "min_level": 70, - "max_level": 70 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "surf", - "encounter_rate": 90, - "min_level": 35, - "max_level": 40 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 80, - "min_level": 22, - "max_level": 24 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 45, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 47, - "pokemon_name": "Parasect", - "method": "walk", - "encounter_rate": 25, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 20, - "min_level": 26, - "max_level": 30 - }, - { - "pokeapi_id": 64, - "pokemon_name": "Kadabra", - "method": "walk", - "encounter_rate": 20, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 15, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 15, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 10, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 10, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "surf", - "encounter_rate": 10, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 10, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "walk", - "encounter_rate": 5, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 202, - "pokemon_name": "Wobbuffet", - "method": "walk", - "encounter_rate": 5, - "min_level": 49, - "max_level": 49 - } - ] - } - ] - }, { "name": "Route 05 (Kanto)", - "order": 136, + "order": 119, "encounters": [ { "pokeapi_id": 163, @@ -14823,325 +12783,9 @@ } ] }, - { - "name": "Route 06 (Kanto)", - "order": 137, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 11, - "max_level": 16 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "surf", - "encounter_rate": 90, - "min_level": 5, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 80, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 43, - "pokemon_name": "Oddish", - "method": "walk", - "encounter_rate": 60, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 69, - "pokemon_name": "Bellsprout", - "method": "walk", - "encounter_rate": 50, - "min_level": 13, - "max_level": 14 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 50, - "min_level": 13, - "max_level": 14 - }, - { - "pokeapi_id": 415, - "pokemon_name": "Combee", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 11, - "max_level": 16 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 11, - "max_level": 13 - }, - { - "pokeapi_id": 399, - "pokemon_name": "Bidoof", - "method": "walk", - "encounter_rate": 20, - "min_level": 14, - "max_level": 14 - }, - { - "pokeapi_id": 418, - "pokemon_name": "Buizel", - "method": "walk", - "encounter_rate": 20, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 264, - "pokemon_name": "Linoone", - "method": "walk", - "encounter_rate": 20, - "min_level": 14, - "max_level": 14 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 293, - "pokemon_name": "Whismur", - "method": "walk", - "encounter_rate": 20, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 63, - "pokemon_name": "Abra", - "method": "walk", - "encounter_rate": 10, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "surf", - "encounter_rate": 10, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 81, - "pokemon_name": "Magnemite", - "method": "walk", - "encounter_rate": 10, - "min_level": 15, - "max_level": 15 - } - ] - }, - { - "name": "Vermilion City", - "order": 138, - "encounters": [ - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 11, - "max_level": 16 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 90, - "min_level": 30, - "max_level": 35 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 50, - "pokemon_name": "Diglett", - "method": "rock-smash", - "encounter_rate": 80, - "min_level": 24, - "max_level": 37 - }, - { - "pokeapi_id": 278, - "pokemon_name": "Wingull", - "method": "swarm", - "encounter_rate": 60, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 415, - "pokemon_name": "Combee", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 11, - "max_level": 16 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 214, - "pokemon_name": "Heracross", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 11, - "max_level": 13 - }, - { - "pokeapi_id": 90, - "pokemon_name": "Shellder", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 213, - "pokemon_name": "Shuckle", - "method": "rock-smash", - "encounter_rate": 20, - "min_level": 32, - "max_level": 35 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 171, - "pokemon_name": "Lanturn", - "method": "super-rod", - "encounter_rate": 10, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 90, - "pokemon_name": "Shellder", - "method": "good-rod", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 10, - "min_level": 35, - "max_level": 35 - } - ] - }, { "name": "Route 07 (Kanto)", - "order": 139, + "order": 120, "encounters": [ { "pokeapi_id": 21, @@ -15242,783 +12886,848 @@ ] }, { - "name": "Route 08 (Kanto)", - "order": 140, + "name": "Celadon City", + "order": 121, "encounters": [ { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", + "pokeapi_id": 21, + "pokemon_name": "Spearow", "method": "headbutt", "encounter_rate": 100, - "min_level": 16, - "max_level": 19 + "min_level": 15, + "max_level": 20 }, { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 65, - "min_level": 17, - "max_level": 17 + "pokeapi_id": 88, + "pokemon_name": "Grimer", + "method": "surf", + "encounter_rate": 90, + "min_level": 15, + "max_level": 20 }, { "pokeapi_id": 415, "pokemon_name": "Combee", "method": "headbutt", "encounter_rate": 40, - "min_level": 16, - "max_level": 19 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 40, - "min_level": 17, - "max_level": 18 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 93, - "pokemon_name": "Haunter", - "method": "walk", - "encounter_rate": 30, - "min_level": 19, - "max_level": 19 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 16, - "max_level": 17 - }, - { - "pokeapi_id": 63, - "pokemon_name": "Abra", - "method": "walk", - "encounter_rate": 20, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 17, - "max_level": 17 - }, - { - "pokeapi_id": 58, - "pokemon_name": "Growlithe", - "method": "walk", - "encounter_rate": 15, - "min_level": 17, - "max_level": 18 - }, - { - "pokeapi_id": 64, - "pokemon_name": "Kadabra", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - } - ] - }, - { - "name": "Route 09 (Kanto)", - "order": 141, - "encounters": [ - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "surf", - "encounter_rate": 90, - "min_level": 10, - "max_level": 19 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "super-rod", - "encounter_rate": 70, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 20, "max_level": 20 }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 19, - "pokemon_name": "Rattata", - "method": "walk", - "encounter_rate": 40, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "swarm", - "encounter_rate": 40, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 20, - "pokemon_name": "Raticate", - "method": "walk", - "encounter_rate": 35, - "min_level": 13, - "max_level": 15 - }, - { - "pokeapi_id": 56, - "pokemon_name": "Mankey", - "method": "walk", - "encounter_rate": 30, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 399, - "pokemon_name": "Bidoof", - "method": "walk", - "encounter_rate": 20, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 418, - "pokemon_name": "Buizel", - "method": "walk", - "encounter_rate": 20, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 264, - "pokemon_name": "Linoone", - "method": "walk", - "encounter_rate": 20, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 20, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 293, - "pokemon_name": "Whismur", - "method": "walk", - "encounter_rate": 20, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "surf", - "encounter_rate": 10, - "min_level": 15, - "max_level": 19 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "super-rod", - "encounter_rate": 10, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 22, - "pokemon_name": "Fearow", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 57, - "pokemon_name": "Primeape", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - } - ] - }, - { - "name": "Route 10 (Kanto)", - "order": 142, - "encounters": [ - { - "pokeapi_id": 145, - "pokemon_name": "Zapdos", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "surf", - "encounter_rate": 90, - "min_level": 10, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "super-rod", - "encounter_rate": 70, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 20, - "pokemon_name": "Raticate", - "method": "walk", - "encounter_rate": 45, - "min_level": 16, - "max_level": 16 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 40, - "min_level": 16, - "max_level": 16 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 30, - "min_level": 16, - "max_level": 16 - }, - { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "walk", - "encounter_rate": 30, - "min_level": 17, - "max_level": 17 - }, - { - "pokeapi_id": 399, - "pokemon_name": "Bidoof", - "method": "walk", - "encounter_rate": 20, - "min_level": 16, - "max_level": 16 - }, - { - "pokeapi_id": 418, - "pokemon_name": "Buizel", - "method": "walk", - "encounter_rate": 20, - "min_level": 16, - "max_level": 17 - }, - { - "pokeapi_id": 264, - "pokemon_name": "Linoone", - "method": "walk", - "encounter_rate": 20, - "min_level": 16, - "max_level": 16 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 293, - "pokemon_name": "Whismur", - "method": "walk", - "encounter_rate": 20, - "min_level": 16, - "max_level": 17 - }, - { - "pokeapi_id": 125, - "pokemon_name": "Electabuzz", - "method": "walk", - "encounter_rate": 15, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 22, - "pokemon_name": "Fearow", - "method": "walk", - "encounter_rate": 10, - "min_level": 18, - "max_level": 18 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "surf", - "encounter_rate": 10, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "super-rod", - "encounter_rate": 10, - "min_level": 40, - "max_level": 40 - } - ] - }, - { - "name": "Rock Tunnel", - "order": 143, - "encounters": [], - "children": [ - { - "name": "Rock Tunnel (1F)", - "order": 144, - "encounters": [ - { - "pokeapi_id": 104, - "pokemon_name": "Cubone", - "method": "walk", - "encounter_rate": 35, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 30, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 20, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 8, - "max_level": 8 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 5, - "min_level": 14, - "max_level": 14 - } - ] - }, - { - "name": "Rock Tunnel (B1F)", - "order": 145, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 100, - "min_level": 12, - "max_level": 21 - }, - { - "pokeapi_id": 104, - "pokemon_name": "Cubone", - "method": "walk", - "encounter_rate": 30, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 30, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 16, - "max_level": 16 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 16, - "max_level": 16 - }, - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 20, - "min_level": 16, - "max_level": 16 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 115, - "pokemon_name": "Kangaskhan", - "method": "walk", - "encounter_rate": 5, - "min_level": 14, - "max_level": 14 - }, - { - "pokeapi_id": 105, - "pokemon_name": "Marowak", - "method": "walk", - "encounter_rate": 5, - "min_level": 14, - "max_level": 14 - } - ] - } - ] - }, - { - "name": "Power Plant", - "order": 146, - "encounters": [ - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - } - ] - }, - { - "name": "Route 11 (Kanto)", - "order": 147, - "encounters": [ - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 13, - "max_level": 16 - }, - { - "pokeapi_id": 415, - "pokemon_name": "Combee", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 13, - "max_level": 16 - }, - { - "pokeapi_id": 96, - "pokemon_name": "Drowzee", - "method": "walk", - "encounter_rate": 40, - "min_level": 14, - "max_level": 14 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 14, - "max_level": 15 - }, { "pokeapi_id": 214, "pokemon_name": "Heracross", "method": "headbutt", "encounter_rate": 30, - "min_level": 13, - "max_level": 14 + "min_level": 15, + "max_level": 17 }, { - "pokeapi_id": 19, - "pokemon_name": "Rattata", + "pokeapi_id": 89, + "pokemon_name": "Muk", + "method": "surf", + "encounter_rate": 10, + "min_level": 15, + "max_level": 15 + } + ] + }, + { + "name": "Route 16 (Kanto)", + "order": 122, + "encounters": [ + { + "pokeapi_id": 88, + "pokemon_name": "Grimer", "method": "walk", + "encounter_rate": 100, + "min_level": 26, + "max_level": 28 + }, + { + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 26, + "max_level": 30 + }, + { + "pokeapi_id": 415, + "pokemon_name": "Combee", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 26, + "max_level": 30 + }, + { + "pokeapi_id": 22, + "pokemon_name": "Fearow", + "method": "walk", + "encounter_rate": 40, + "min_level": 27, + "max_level": 27 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 26, + "max_level": 28 + }, + { + "pokeapi_id": 214, + "pokemon_name": "Heracross", + "method": "headbutt", "encounter_rate": 30, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 81, - "pokemon_name": "Magnemite", - "method": "walk", - "encounter_rate": 20, - "min_level": 15, - "max_level": 15 + "min_level": 26, + "max_level": 27 }, { "pokeapi_id": 312, "pokemon_name": "Minun", "method": "walk", "encounter_rate": 20, - "min_level": 15, - "max_level": 15 + "min_level": 28, + "max_level": 28 }, { "pokeapi_id": 311, "pokemon_name": "Plusle", "method": "walk", "encounter_rate": 20, - "min_level": 14, - "max_level": 15 + "min_level": 26, + "max_level": 27 }, { - "pokeapi_id": 97, - "pokemon_name": "Hypno", + "pokeapi_id": 198, + "pokemon_name": "Murkrow", "method": "walk", "encounter_rate": 10, - "min_level": 16, - "max_level": 16 + "min_level": 29, + "max_level": 29 + }, + { + "pokeapi_id": 89, + "pokemon_name": "Muk", + "method": "walk", + "encounter_rate": 5, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "walk", + "encounter_rate": 5, + "min_level": 27, + "max_level": 27 } ] }, { - "name": "Diglett's Cave", - "order": 148, + "name": "Route 17 (Kanto)", + "order": 123, "encounters": [ { - "pokeapi_id": 111, - "pokemon_name": "Rhyhorn", - "method": "trade", + "pokeapi_id": 88, + "pokemon_name": "Grimer", + "method": "walk", "encounter_rate": 100, - "min_level": 1, - "max_level": 1 + "min_level": 27, + "max_level": 29 }, { - "pokeapi_id": 50, - "pokemon_name": "Diglett", + "pokeapi_id": 22, + "pokemon_name": "Fearow", "method": "walk", + "encounter_rate": 40, + "min_level": 28, + "max_level": 28 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 27, + "max_level": 29 + }, + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "walk", + "encounter_rate": 40, + "min_level": 27, + "max_level": 29 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 29, + "max_level": 29 + }, + { + "pokeapi_id": 89, + "pokemon_name": "Muk", + "method": "walk", + "encounter_rate": 20, + "min_level": 30, + "max_level": 32 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 27, + "max_level": 28 + } + ] + }, + { + "name": "Route 18 (Kanto)", + "order": 124, + "encounters": [ + { + "pokeapi_id": 88, + "pokemon_name": "Grimer", + "method": "walk", + "encounter_rate": 100, + "min_level": 26, + "max_level": 28 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 26, + "max_level": 30 + }, + { + "pokeapi_id": 22, + "pokemon_name": "Fearow", + "method": "walk", + "encounter_rate": 40, + "min_level": 27, + "max_level": 27 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 26, + "max_level": 28 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 26, + "max_level": 30 + }, + { + "pokeapi_id": 167, + "pokemon_name": "Spinarak", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 26, + "max_level": 27 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 28, + "max_level": 28 + }, + { + "pokeapi_id": 89, + "pokemon_name": "Muk", + "method": "walk", + "encounter_rate": 20, + "min_level": 29, + "max_level": 30 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 26, + "max_level": 27 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "headbutt", + "encounter_rate": 15, + "min_level": 29, + "max_level": 30 + }, + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "walk", + "encounter_rate": 5, + "min_level": 27, + "max_level": 27 + } + ] + }, + { + "name": "Fuchsia City", + "order": 125, + "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 21, + "max_level": 34 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "surf", + "encounter_rate": 100, + "min_level": 10, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", "encounter_rate": 90, - "min_level": 13, - "max_level": 13 + "min_level": 20, + "max_level": 20 }, { - "pokeapi_id": 359, - "pokemon_name": "Absol", + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 70, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 21, + "max_level": 34 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 167, + "pokemon_name": "Spinarak", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 21, + "max_level": 23 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "headbutt", + "encounter_rate": 15, + "min_level": 26, + "max_level": 34 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "good-rod", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + } + ] + }, + { + "name": "Route 15 (Kanto)", + "order": 126, + "encounters": [ + { + "pokeapi_id": 113, + "pokemon_name": "Chansey", + "method": "walk", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 21, + "max_level": 26 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 21, + "max_level": 26 + }, + { + "pokeapi_id": 30, + "pokemon_name": "Nidorina", + "method": "walk", + "encounter_rate": 30, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 33, + "pokemon_name": "Nidorino", + "method": "walk", + "encounter_rate": 30, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 167, + "pokemon_name": "Spinarak", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 21, + "max_level": 23 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", "method": "walk", "encounter_rate": 20, - "min_level": 15, - "max_level": 15 + "min_level": 25, + "max_level": 25 }, { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", + "pokeapi_id": 164, + "pokemon_name": "Noctowl", "method": "walk", "encounter_rate": 20, - "min_level": 15, - "max_level": 15 + "min_level": 25, + "max_level": 25 }, { - "pokeapi_id": 433, - "pokemon_name": "Chingling", + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", "method": "walk", "encounter_rate": 20, - "min_level": 19, - "max_level": 19 + "min_level": 25, + "max_level": 25 }, { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", + "pokeapi_id": 311, + "pokemon_name": "Plusle", "method": "walk", "encounter_rate": 20, - "min_level": 19, - "max_level": 19 + "min_level": 23, + "max_level": 23 }, { - "pokeapi_id": 51, - "pokemon_name": "Dugtrio", + "pokeapi_id": 187, + "pokemon_name": "Hoppip", + "method": "walk", + "encounter_rate": 19, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 19, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "headbutt", + "encounter_rate": 15, + "min_level": 24, + "max_level": 26 + } + ] + }, + { + "name": "Route 14 (Kanto)", + "order": 127, + "encounters": [ + { + "pokeapi_id": 113, + "pokemon_name": "Chansey", + "method": "walk", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 26, + "max_level": 30 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 26, + "max_level": 30 + }, + { + "pokeapi_id": 30, + "pokemon_name": "Nidorina", + "method": "walk", + "encounter_rate": 30, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 33, + "pokemon_name": "Nidorino", + "method": "walk", + "encounter_rate": 30, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 167, + "pokemon_name": "Spinarak", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 26, + "max_level": 27 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 19, + "min_level": 24, + "max_level": 24 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "headbutt", + "encounter_rate": 15, + "min_level": 29, + "max_level": 30 + }, + { + "pokeapi_id": 187, + "pokemon_name": "Hoppip", "method": "walk", "encounter_rate": 10, - "min_level": 19, - "max_level": 19 + "min_level": 24, + "max_level": 24 + }, + { + "pokeapi_id": 188, + "pokemon_name": "Skiploom", + "method": "walk", + "encounter_rate": 9, + "min_level": 26, + "max_level": 26 + } + ] + }, + { + "name": "Route 13 (Kanto)", + "order": 128, + "encounters": [ + { + "pokeapi_id": 113, + "pokemon_name": "Chansey", + "method": "walk", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 22, + "max_level": 25 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "super-rod", + "encounter_rate": 70, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 113, + "pokemon_name": "Chansey", + "method": "swarm", + "encounter_rate": 40, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 22, + "max_level": 25 + }, + { + "pokeapi_id": 30, + "pokemon_name": "Nidorina", + "method": "walk", + "encounter_rate": 30, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 33, + "pokemon_name": "Nidorino", + "method": "walk", + "encounter_rate": 30, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "surf", + "encounter_rate": 30, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 167, + "pokemon_name": "Spinarak", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 22, + "max_level": 23 + }, + { + "pokeapi_id": 399, + "pokemon_name": "Bidoof", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 418, + "pokemon_name": "Buizel", + "method": "walk", + "encounter_rate": 20, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 264, + "pokemon_name": "Linoone", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 293, + "pokemon_name": "Whismur", + "method": "walk", + "encounter_rate": 20, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 187, + "pokemon_name": "Hoppip", + "method": "walk", + "encounter_rate": 19, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 19, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "headbutt", + "encounter_rate": 15, + "min_level": 24, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 211, + "pokemon_name": "Qwilfish", + "method": "super-rod", + "encounter_rate": 10, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 10, + "min_level": 25, + "max_level": 25 } ] }, { "name": "Route 12 (Kanto)", - "order": 149, + "order": 129, "encounters": [ { "pokeapi_id": 163, @@ -16159,24 +13868,813 @@ ] }, { - "name": "Route 13 (Kanto)", - "order": 150, + "name": "Route 11 (Kanto)", + "order": 130, "encounters": [ { - "pokeapi_id": 113, - "pokemon_name": "Chansey", - "method": "walk", + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "headbutt", "encounter_rate": 100, - "min_level": 25, - "max_level": 25 + "min_level": 13, + "max_level": 16 }, + { + "pokeapi_id": 415, + "pokemon_name": "Combee", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 13, + "max_level": 16 + }, + { + "pokeapi_id": 96, + "pokemon_name": "Drowzee", + "method": "walk", + "encounter_rate": 40, + "min_level": 14, + "max_level": 14 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 14, + "max_level": 15 + }, + { + "pokeapi_id": 214, + "pokemon_name": "Heracross", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 13, + "max_level": 14 + }, + { + "pokeapi_id": 19, + "pokemon_name": "Rattata", + "method": "walk", + "encounter_rate": 30, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 81, + "pokemon_name": "Magnemite", + "method": "walk", + "encounter_rate": 20, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 14, + "max_level": 15 + }, + { + "pokeapi_id": 97, + "pokemon_name": "Hypno", + "method": "walk", + "encounter_rate": 10, + "min_level": 16, + "max_level": 16 + } + ] + }, + { + "name": "Diglett's Cave", + "order": 131, + "encounters": [ + { + "pokeapi_id": 111, + "pokemon_name": "Rhyhorn", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + }, + { + "pokeapi_id": 50, + "pokemon_name": "Diglett", + "method": "walk", + "encounter_rate": 90, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 19, + "max_level": 19 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 19, + "max_level": 19 + }, + { + "pokeapi_id": 51, + "pokemon_name": "Dugtrio", + "method": "walk", + "encounter_rate": 10, + "min_level": 19, + "max_level": 19 + } + ] + }, + { + "name": "Kanto Route 2", + "order": 132, + "encounters": [], + "children": [ + { + "name": "Route 02 (Kanto - Northern Section)", + "order": 133, + "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 3, + "max_level": 7 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 3, + "max_level": 7 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 35, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 167, + "pokemon_name": "Spinarak", + "method": "walk", + "encounter_rate": 35, + "min_level": 3, + "max_level": 10 + }, + { + "pokeapi_id": 10, + "pokemon_name": "Caterpie", + "method": "walk", + "encounter_rate": 31, + "min_level": 3, + "max_level": 4 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 3, + "max_level": 4 + }, + { + "pokeapi_id": 167, + "pokemon_name": "Spinarak", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 5, + "max_level": 7 + }, + { + "pokeapi_id": 11, + "pokemon_name": "Metapod", + "method": "walk", + "encounter_rate": 20, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "walk", + "encounter_rate": 14, + "min_level": 7, + "max_level": 7 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 14, + "min_level": 7, + "max_level": 7 + }, + { + "pokeapi_id": 12, + "pokemon_name": "Butterfree", + "method": "walk", + "encounter_rate": 10, + "min_level": 7, + "max_level": 8 + }, + { + "pokeapi_id": 168, + "pokemon_name": "Ariados", + "method": "walk", + "encounter_rate": 5, + "min_level": 7, + "max_level": 7 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "walk", + "encounter_rate": 5, + "min_level": 3, + "max_level": 3 + } + ] + }, + { + "name": "Route 02 (Kanto - Southern Section)", + "order": 134, + "encounters": [ + { + "pokeapi_id": 12, + "pokemon_name": "Butterfree", + "method": "walk", + "encounter_rate": 100, + "min_level": 7, + "max_level": 8 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 3, + "max_level": 7 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 3, + "max_level": 7 + }, + { + "pokeapi_id": 167, + "pokemon_name": "Spinarak", + "method": "walk", + "encounter_rate": 35, + "min_level": 3, + "max_level": 10 + }, + { + "pokeapi_id": 10, + "pokemon_name": "Caterpie", + "method": "walk", + "encounter_rate": 31, + "min_level": 3, + "max_level": 4 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 3, + "max_level": 4 + }, + { + "pokeapi_id": 167, + "pokemon_name": "Spinarak", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 5, + "max_level": 7 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "walk", + "encounter_rate": 14, + "min_level": 7, + "max_level": 8 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 14, + "min_level": 7, + "max_level": 7 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 7, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 168, + "pokemon_name": "Ariados", + "method": "walk", + "encounter_rate": 5, + "min_level": 7, + "max_level": 7 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "walk", + "encounter_rate": 5, + "min_level": 3, + "max_level": 5 + }, + { + "pokeapi_id": 11, + "pokemon_name": "Metapod", + "method": "walk", + "encounter_rate": 2, + "min_level": 5, + "max_level": 5 + } + ] + } + ] + }, + { + "name": "Pewter City", + "order": 135, + "encounters": [ { "pokeapi_id": 163, "pokemon_name": "Hoothoot", "method": "headbutt", "encounter_rate": 100, - "min_level": 22, - "max_level": 25 + "min_level": 3, + "max_level": 9 + }, + { + "pokeapi_id": 381, + "pokemon_name": "Latios", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 3, + "max_level": 9 + }, + { + "pokeapi_id": 178, + "pokemon_name": "Xatu", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + }, + { + "pokeapi_id": 396, + "pokemon_name": "Starly", + "method": "headbutt", + "encounter_rate": 35, + "min_level": 5, + "max_level": 12 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 3, + "max_level": 5 + } + ] + }, + { + "name": "Pewter Museum of Science", + "order": 136, + "encounters": [ + { + "pokeapi_id": 142, + "pokemon_name": "Aerodactyl", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 347, + "pokemon_name": "Anorith", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 408, + "pokemon_name": "Cranidos", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 140, + "pokemon_name": "Kabuto", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 345, + "pokemon_name": "Lileep", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 138, + "pokemon_name": "Omanyte", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 410, + "pokemon_name": "Shieldon", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + } + ] + }, + { + "name": "Route 03 (Kanto)", + "order": 137, + "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 6, + "max_level": 10 + }, + { + "pokeapi_id": 19, + "pokemon_name": "Rattata", + "method": "walk", + "encounter_rate": 95, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "walk", + "encounter_rate": 55, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 343, + "pokemon_name": "Baltoy", + "method": "swarm", + "encounter_rate": 40, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 6, + "max_level": 10 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 6, + "max_level": 7 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 30, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 8, + "max_level": 8 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 39, + "pokemon_name": "Jigglypuff", + "method": "walk", + "encounter_rate": 10, + "min_level": 6, + "max_level": 6 + } + ] + }, + { + "name": "Mt. Moon", + "order": 138, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 30, + "min_level": 8, + "max_level": 8 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 30, + "min_level": 6, + "max_level": 6 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 6, + "max_level": 6 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 6, + "max_level": 6 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 8, + "max_level": 8 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 8, + "max_level": 8 + }, + { + "pokeapi_id": 27, + "pokemon_name": "Sandshrew", + "method": "walk", + "encounter_rate": 20, + "min_level": 8, + "max_level": 8 + }, + { + "pokeapi_id": 46, + "pokemon_name": "Paras", + "method": "walk", + "encounter_rate": 10, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 35, + "pokemon_name": "Clefairy", + "method": "walk", + "encounter_rate": 5, + "min_level": 8, + "max_level": 8 + }, + { + "pokeapi_id": 28, + "pokemon_name": "Sandslash", + "method": "walk", + "encounter_rate": 5, + "min_level": 10, + "max_level": 10 + } + ] + }, + { + "name": "Mt. Moon Square", + "order": 139, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 35 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 95, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "old-rod", + "encounter_rate": 90, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "surf", + "encounter_rate": 40, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Route 04 (Kanto)", + "order": 140, + "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 6, + "max_level": 10 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "surf", + "encounter_rate": 90, + "min_level": 5, + "max_level": 10 }, { "pokeapi_id": 129, @@ -16187,40 +14685,40 @@ "max_level": 10 }, { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "walk", + "encounter_rate": 85, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", "method": "super-rod", "encounter_rate": 70, "min_level": 40, "max_level": 40 }, { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", + "pokeapi_id": 19, + "pokemon_name": "Rattata", + "method": "walk", + "encounter_rate": 65, + "min_level": 5, + "max_level": 8 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", "method": "good-rod", "encounter_rate": 60, "min_level": 20, "max_level": 20 }, { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 113, - "pokemon_name": "Chansey", - "method": "swarm", - "encounter_rate": 40, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", + "pokeapi_id": 129, + "pokemon_name": "Magikarp", "method": "good-rod", "encounter_rate": 40, "min_level": 20, @@ -16231,64 +14729,48 @@ "pokemon_name": "Wurmple", "method": "headbutt", "encounter_rate": 40, - "min_level": 22, - "max_level": 25 + "min_level": 6, + "max_level": 10 }, { - "pokeapi_id": 30, - "pokemon_name": "Nidorina", - "method": "walk", - "encounter_rate": 30, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 33, - "pokemon_name": "Nidorino", - "method": "walk", - "encounter_rate": 30, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "surf", - "encounter_rate": 30, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 167, - "pokemon_name": "Spinarak", + "pokeapi_id": 204, + "pokemon_name": "Pineco", "method": "headbutt", "encounter_rate": 30, - "min_level": 22, - "max_level": 23 + "min_level": 6, + "max_level": 7 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 30, + "min_level": 5, + "max_level": 5 }, { "pokeapi_id": 399, "pokemon_name": "Bidoof", "method": "walk", "encounter_rate": 20, - "min_level": 25, - "max_level": 25 + "min_level": 8, + "max_level": 8 }, { "pokeapi_id": 418, "pokemon_name": "Buizel", "method": "walk", "encounter_rate": 20, - "min_level": 23, - "max_level": 23 + "min_level": 5, + "max_level": 5 }, { "pokeapi_id": 264, "pokemon_name": "Linoone", "method": "walk", "encounter_rate": 20, - "min_level": 25, - "max_level": 25 + "min_level": 8, + "max_level": 8 }, { "pokeapi_id": 129, @@ -16298,762 +14780,430 @@ "min_level": 40, "max_level": 40 }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, { "pokeapi_id": 293, "pokemon_name": "Whismur", "method": "walk", "encounter_rate": 20, - "min_level": 23, - "max_level": 23 + "min_level": 5, + "max_level": 5 }, { - "pokeapi_id": 187, - "pokemon_name": "Hoppip", - "method": "walk", - "encounter_rate": 19, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 19, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "headbutt", - "encounter_rate": 15, - "min_level": 24, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", + "pokeapi_id": 118, + "pokemon_name": "Goldeen", "method": "old-rod", "encounter_rate": 15, "min_level": 10, "max_level": 10 }, { - "pokeapi_id": 211, - "pokemon_name": "Qwilfish", - "method": "super-rod", + "pokeapi_id": 39, + "pokemon_name": "Jigglypuff", + "method": "walk", "encounter_rate": 10, - "min_level": 40, - "max_level": 40 + "min_level": 6, + "max_level": 6 }, { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", + "pokeapi_id": 119, + "pokemon_name": "Seaking", "method": "surf", "encounter_rate": 10, - "min_level": 25, - "max_level": 25 - } - ] - }, - { - "name": "Route 14 (Kanto)", - "order": 151, - "encounters": [ - { - "pokeapi_id": 113, - "pokemon_name": "Chansey", - "method": "walk", - "encounter_rate": 100, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 26, - "max_level": 30 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 26, - "max_level": 30 - }, - { - "pokeapi_id": 30, - "pokemon_name": "Nidorina", - "method": "walk", - "encounter_rate": 30, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 33, - "pokemon_name": "Nidorino", - "method": "walk", - "encounter_rate": 30, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 167, - "pokemon_name": "Spinarak", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 26, - "max_level": 27 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 19, - "min_level": 24, - "max_level": 24 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "headbutt", - "encounter_rate": 15, - "min_level": 29, - "max_level": 30 - }, - { - "pokeapi_id": 187, - "pokemon_name": "Hoppip", - "method": "walk", - "encounter_rate": 10, - "min_level": 24, - "max_level": 24 - }, - { - "pokeapi_id": 188, - "pokemon_name": "Skiploom", - "method": "walk", - "encounter_rate": 9, - "min_level": 26, - "max_level": 26 - } - ] - }, - { - "name": "Route 15 (Kanto)", - "order": 152, - "encounters": [ - { - "pokeapi_id": 113, - "pokemon_name": "Chansey", - "method": "walk", - "encounter_rate": 100, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 21, - "max_level": 26 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 21, - "max_level": 26 - }, - { - "pokeapi_id": 30, - "pokemon_name": "Nidorina", - "method": "walk", - "encounter_rate": 30, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 33, - "pokemon_name": "Nidorino", - "method": "walk", - "encounter_rate": 30, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 167, - "pokemon_name": "Spinarak", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 21, - "max_level": 23 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 187, - "pokemon_name": "Hoppip", - "method": "walk", - "encounter_rate": 19, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 19, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "headbutt", - "encounter_rate": 15, - "min_level": 24, - "max_level": 26 - } - ] - }, - { - "name": "Fuchsia City", - "order": 153, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 21, - "max_level": 34 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "surf", - "encounter_rate": 100, - "min_level": 10, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, "min_level": 10, "max_level": 10 }, { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 90, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", + "pokeapi_id": 119, + "pokemon_name": "Seaking", "method": "super-rod", - "encounter_rate": 70, + "encounter_rate": 10, "min_level": 40, "max_level": 40 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 21, - "max_level": 34 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 167, - "pokemon_name": "Spinarak", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 21, - "max_level": 23 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "headbutt", - "encounter_rate": 15, - "min_level": 26, - "max_level": 34 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "good-rod", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 } ] }, { - "name": "Route 16 (Kanto)", - "order": 154, + "name": "Viridian Forest", + "order": 141, "encounters": [ { - "pokeapi_id": 88, - "pokemon_name": "Grimer", + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", "method": "walk", - "encounter_rate": 100, - "min_level": 26, - "max_level": 28 + "encounter_rate": 80, + "min_level": 3, + "max_level": 3 }, { - "pokeapi_id": 21, - "pokemon_name": "Spearow", + "pokeapi_id": 273, + "pokemon_name": "Seedot", "method": "headbutt", - "encounter_rate": 100, - "min_level": 26, - "max_level": 30 - }, - { - "pokeapi_id": 415, - "pokemon_name": "Combee", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 26, - "max_level": 30 - }, - { - "pokeapi_id": 22, - "pokemon_name": "Fearow", - "method": "walk", - "encounter_rate": 40, - "min_level": 27, - "max_level": 27 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 26, - "max_level": 28 - }, - { - "pokeapi_id": 214, - "pokemon_name": "Heracross", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 26, - "max_level": 27 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 26, - "max_level": 27 - }, - { - "pokeapi_id": 198, - "pokemon_name": "Murkrow", - "method": "walk", - "encounter_rate": 10, - "min_level": 29, - "max_level": 29 - }, - { - "pokeapi_id": 89, - "pokemon_name": "Muk", - "method": "walk", - "encounter_rate": 5, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "walk", - "encounter_rate": 5, - "min_level": 27, - "max_level": 27 - } - ] - }, - { - "name": "Route 17 (Kanto)", - "order": 155, - "encounters": [ - { - "pokeapi_id": 88, - "pokemon_name": "Grimer", - "method": "walk", - "encounter_rate": 100, - "min_level": 27, - "max_level": 29 - }, - { - "pokeapi_id": 22, - "pokemon_name": "Fearow", - "method": "walk", - "encounter_rate": 40, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 27, - "max_level": 29 - }, - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "walk", - "encounter_rate": 40, - "min_level": 27, - "max_level": 29 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 29, - "max_level": 29 - }, - { - "pokeapi_id": 89, - "pokemon_name": "Muk", - "method": "walk", - "encounter_rate": 20, - "min_level": 30, - "max_level": 32 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 27, - "max_level": 28 - } - ] - }, - { - "name": "Route 18 (Kanto)", - "order": 156, - "encounters": [ - { - "pokeapi_id": 88, - "pokemon_name": "Grimer", - "method": "walk", - "encounter_rate": 100, - "min_level": 26, - "max_level": 28 + "encounter_rate": 60, + "min_level": 3, + "max_level": 7 }, { "pokeapi_id": 163, "pokemon_name": "Hoothoot", "method": "headbutt", - "encounter_rate": 100, - "min_level": 26, - "max_level": 30 + "encounter_rate": 50, + "min_level": 3, + "max_level": 4 }, { - "pokeapi_id": 22, - "pokemon_name": "Fearow", + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "headbutt", + "encounter_rate": 50, + "min_level": 5, + "max_level": 7 + }, + { + "pokeapi_id": 10, + "pokemon_name": "Caterpie", "method": "walk", "encounter_rate": 40, - "min_level": 27, - "max_level": 27 + "min_level": 3, + "max_level": 3 }, { - "pokeapi_id": 403, - "pokemon_name": "Shinx", + "pokeapi_id": 401, + "pokemon_name": "Kricketot", + "method": "swarm", + "encounter_rate": 40, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 11, + "pokemon_name": "Metapod", "method": "walk", - "encounter_rate": 40, - "min_level": 26, - "max_level": 28 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 26, - "max_level": 30 - }, - { - "pokeapi_id": 167, - "pokemon_name": "Spinarak", - "method": "headbutt", "encounter_rate": 30, - "min_level": 26, - "max_level": 27 + "min_level": 3, + "max_level": 3 }, { - "pokeapi_id": 312, - "pokemon_name": "Minun", + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 25, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 406, + "pokemon_name": "Budew", "method": "walk", "encounter_rate": 20, - "min_level": 28, - "max_level": 28 + "min_level": 3, + "max_level": 3 }, { - "pokeapi_id": 89, - "pokemon_name": "Muk", + "pokeapi_id": 455, + "pokemon_name": "Carnivine", "method": "walk", "encounter_rate": 20, - "min_level": 29, - "max_level": 30 + "min_level": 5, + "max_level": 5 }, { - "pokeapi_id": 311, - "pokemon_name": "Plusle", + "pokeapi_id": 322, + "pokemon_name": "Numel", "method": "walk", "encounter_rate": 20, - "min_level": 26, - "max_level": 27 + "min_level": 5, + "max_level": 5 }, { - "pokeapi_id": 114, - "pokemon_name": "Tangela", + "pokeapi_id": 285, + "pokemon_name": "Shroomish", "method": "headbutt", + "encounter_rate": 20, + "min_level": 3, + "max_level": 7 + }, + { + "pokeapi_id": 325, + "pokemon_name": "Spoink", + "method": "walk", + "encounter_rate": 20, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "walk", "encounter_rate": 15, - "min_level": 29, - "max_level": 30 + "min_level": 7, + "max_level": 7 }, - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "walk", - "encounter_rate": 5, - "min_level": 27, - "max_level": 27 - } - ] - }, - { - "name": "Celadon City", - "order": 157, - "encounters": [ - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 15, - "max_level": 20 - }, - { - "pokeapi_id": 88, - "pokemon_name": "Grimer", - "method": "surf", - "encounter_rate": 90, - "min_level": 15, - "max_level": 20 - }, - { - "pokeapi_id": 415, - "pokemon_name": "Combee", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 15, - "max_level": 20 - }, - { - "pokeapi_id": 214, - "pokemon_name": "Heracross", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 15, - "max_level": 17 - }, - { - "pokeapi_id": 89, - "pokemon_name": "Muk", - "method": "surf", - "encounter_rate": 10, - "min_level": 15, - "max_level": 15 - } - ] - }, - { - "name": "Saffron City", - "order": 158, - "encounters": [ { "pokeapi_id": 25, "pokemon_name": "Pikachu", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 + "method": "walk", + "encounter_rate": 11, + "min_level": 4, + "max_level": 4 + }, + { + "pokeapi_id": 168, + "pokemon_name": "Ariados", + "method": "headbutt", + "encounter_rate": 10, + "min_level": 5, + "max_level": 7 + }, + { + "pokeapi_id": 12, + "pokemon_name": "Butterfree", + "method": "walk", + "encounter_rate": 10, + "min_level": 7, + "max_level": 7 + }, + { + "pokeapi_id": 167, + "pokemon_name": "Spinarak", + "method": "headbutt", + "encounter_rate": 10, + "min_level": 3, + "max_level": 4 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 9, + "min_level": 7, + "max_level": 7 } ] }, { - "name": "Silph Co.", - "order": 159, + "name": "Viridian City", + "order": 142, "encounters": [ { - "pokeapi_id": 374, - "pokemon_name": "Beldum", - "method": "trade", + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", "encounter_rate": 100, - "min_level": 1, - "max_level": 1 + "min_level": 3, + "max_level": 7 }, { - "pokeapi_id": 258, - "pokemon_name": "Mudkip", - "method": "gift", - "encounter_rate": 100, + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "surf", + "encounter_rate": 90, "min_level": 5, - "max_level": 5 + "max_level": 10 }, { - "pokeapi_id": 255, - "pokemon_name": "Torchic", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, + "min_level": 10, + "max_level": 10 }, { - "pokeapi_id": 252, - "pokemon_name": "Treecko", - "method": "gift", - "encounter_rate": 100, + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 80, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 3, + "max_level": 7 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 3, + "max_level": 4 + }, + { + "pokeapi_id": 167, + "pokemon_name": "Spinarak", + "method": "headbutt", + "encounter_rate": 30, "min_level": 5, - "max_level": 5 + "max_level": 7 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "surf", + "encounter_rate": 10, + "min_level": 10, + "max_level": 10 } ] }, { - "name": "Route 19 (Kanto)", - "order": 160, + "name": "Route 01 (Kanto)", + "order": 143, "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 2, + "max_level": 6 + }, + { + "pokeapi_id": 19, + "pokemon_name": "Rattata", + "method": "walk", + "encounter_rate": 85, + "min_level": 2, + "max_level": 3 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "walk", + "encounter_rate": 45, + "min_level": 2, + "max_level": 4 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 45, + "min_level": 2, + "max_level": 4 + }, + { + "pokeapi_id": 261, + "pokemon_name": "Poochyena", + "method": "swarm", + "encounter_rate": 40, + "min_level": 2, + "max_level": 2 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 2, + "max_level": 3 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 2, + "max_level": 6 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 2, + "max_level": 3 + }, + { + "pokeapi_id": 167, + "pokemon_name": "Spinarak", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 5, + "max_level": 6 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 2, + "max_level": 2 + }, + { + "pokeapi_id": 161, + "pokemon_name": "Sentret", + "method": "walk", + "encounter_rate": 20, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 162, + "pokemon_name": "Furret", + "method": "walk", + "encounter_rate": 5, + "min_level": 6, + "max_level": 6 + } + ] + }, + { + "name": "Pallet Town", + "order": 144, + "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 2, + "max_level": 6 + }, { "pokeapi_id": 72, "pokemon_name": "Tentacool", @@ -17071,37 +15221,13 @@ "max_level": 10 }, { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "rock-smash", - "encounter_rate": 80, - "min_level": 24, - "max_level": 27 - }, - { - "pokeapi_id": 366, - "pokemon_name": "Clamperl", - "method": "swarm", - "encounter_rate": 60, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", + "pokeapi_id": 170, + "pokemon_name": "Chinchou", "method": "super-rod", - "encounter_rate": 60, + "encounter_rate": 40, "min_level": 40, "max_level": 40 }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "good-rod", - "encounter_rate": 50, - "min_level": 20, - "max_level": 20 - }, { "pokeapi_id": 129, "pokemon_name": "Magikarp", @@ -17111,56 +15237,80 @@ "max_level": 20 }, { - "pokeapi_id": 222, - "pokemon_name": "Corsola", + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 2, + "max_level": 6 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 2, + "max_level": 3 + }, + { + "pokeapi_id": 90, + "pokemon_name": "Shellder", "method": "super-rod", "encounter_rate": 30, "min_level": 40, "max_level": 40 }, { - "pokeapi_id": 120, - "pokemon_name": "Staryu", - "method": "super-rod", + "pokeapi_id": 167, + "pokemon_name": "Spinarak", + "method": "headbutt", "encounter_rate": 30, - "min_level": 40, - "max_level": 40 + "min_level": 5, + "max_level": 6 }, { - "pokeapi_id": 99, - "pokemon_name": "Kingler", - "method": "rock-smash", + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "good-rod", "encounter_rate": 20, - "min_level": 28, - "max_level": 31 + "min_level": 20, + "max_level": 20 }, { - "pokeapi_id": 98, - "pokemon_name": "Krabby", + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", "method": "old-rod", "encounter_rate": 15, "min_level": 10, "max_level": 10 }, { - "pokeapi_id": 222, - "pokemon_name": "Corsola", - "method": "good-rod", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 99, - "pokemon_name": "Kingler", + "pokeapi_id": 171, + "pokemon_name": "Lanturn", "method": "super-rod", "encounter_rate": 10, "min_level": 40, "max_level": 40 }, { - "pokeapi_id": 120, - "pokemon_name": "Staryu", + "pokeapi_id": 90, + "pokemon_name": "Shellder", "method": "good-rod", "encounter_rate": 10, "min_level": 20, @@ -17176,9 +15326,293 @@ } ] }, + { + "name": "Route 21 (Kanto)", + "order": 145, + "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 24, + "max_level": 30 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "walk", + "encounter_rate": 95, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 90, + "min_level": 30, + "max_level": 35 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 24, + "max_level": 30 + }, + { + "pokeapi_id": 90, + "pokemon_name": "Shellder", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 167, + "pokemon_name": "Spinarak", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 24, + "max_level": 26 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 399, + "pokemon_name": "Bidoof", + "method": "walk", + "encounter_rate": 20, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 418, + "pokemon_name": "Buizel", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 264, + "pokemon_name": "Linoone", + "method": "walk", + "encounter_rate": 20, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 293, + "pokemon_name": "Whismur", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 122, + "pokemon_name": "Mr Mime", + "method": "walk", + "encounter_rate": 15, + "min_level": 28, + "max_level": 30 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "headbutt", + "encounter_rate": 15, + "min_level": 27, + "max_level": 30 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 171, + "pokemon_name": "Lanturn", + "method": "super-rod", + "encounter_rate": 10, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 90, + "pokemon_name": "Shellder", + "method": "good-rod", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 10, + "min_level": 35, + "max_level": 35 + } + ] + }, + { + "name": "Cinnabar Island", + "order": 146, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 95, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 90, + "min_level": 30, + "max_level": 35 + }, + { + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 90, + "pokemon_name": "Shellder", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "good-rod", + "encounter_rate": 16, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "super-rod", + "encounter_rate": 16, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 10, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 5, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 171, + "pokemon_name": "Lanturn", + "method": "super-rod", + "encounter_rate": 4, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 90, + "pokemon_name": "Shellder", + "method": "good-rod", + "encounter_rate": 4, + "min_level": 20, + "max_level": 20 + } + ] + }, { "name": "Route 20 (Kanto)", - "order": 161, + "order": 147, "encounters": [ { "pokeapi_id": 72, @@ -17280,12 +15714,12 @@ }, { "name": "Seafoam Islands", - "order": 162, + "order": 148, "encounters": [], "children": [ { "name": "Seafoam Islands (1F)", - "order": 163, + "order": 149, "encounters": [ { "pokeapi_id": 42, @@ -17355,7 +15789,7 @@ }, { "name": "Seafoam Islands (B1F)", - "order": 164, + "order": 150, "encounters": [ { "pokeapi_id": 42, @@ -17433,7 +15867,7 @@ }, { "name": "Seafoam Islands (B2F)", - "order": 165, + "order": 151, "encounters": [ { "pokeapi_id": 42, @@ -17511,7 +15945,7 @@ }, { "name": "Seafoam Islands (B3F)", - "order": 166, + "order": 152, "encounters": [ { "pokeapi_id": 42, @@ -17597,7 +16031,7 @@ }, { "name": "Seafoam Islands (B4F)", - "order": 167, + "order": 153, "encounters": [ { "pokeapi_id": 144, @@ -17796,127 +16230,9 @@ ] }, { - "name": "Cinnabar Island", - "order": 168, + "name": "Route 19 (Kanto)", + "order": 154, "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 95, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 90, - "min_level": 30, - "max_level": 35 - }, - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 90, - "pokemon_name": "Shellder", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "good-rod", - "encounter_rate": 16, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "super-rod", - "encounter_rate": 16, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 10, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 5, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 171, - "pokemon_name": "Lanturn", - "method": "super-rod", - "encounter_rate": 4, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 90, - "pokemon_name": "Shellder", - "method": "good-rod", - "encounter_rate": 4, - "min_level": 20, - "max_level": 20 - } - ] - }, - { - "name": "Route 21 (Kanto)", - "order": 169, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 24, - "max_level": 30 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "walk", - "encounter_rate": 95, - "min_level": 20, - "max_level": 20 - }, { "pokeapi_id": 72, "pokemon_name": "Tentacool", @@ -17934,13 +16250,37 @@ "max_level": 10 }, { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "rock-smash", + "encounter_rate": 80, + "min_level": 24, + "max_level": 27 + }, + { + "pokeapi_id": 366, + "pokemon_name": "Clamperl", + "method": "swarm", + "encounter_rate": 60, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", "method": "super-rod", - "encounter_rate": 40, + "encounter_rate": 60, "min_level": 40, "max_level": 40 }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "good-rod", + "encounter_rate": 50, + "min_level": 20, + "max_level": 20 + }, { "pokeapi_id": 129, "pokemon_name": "Magikarp", @@ -17950,120 +16290,56 @@ "max_level": 20 }, { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 24, - "max_level": 30 - }, - { - "pokeapi_id": 90, - "pokemon_name": "Shellder", + "pokeapi_id": 222, + "pokemon_name": "Corsola", "method": "super-rod", "encounter_rate": 30, "min_level": 40, "max_level": 40 }, { - "pokeapi_id": 167, - "pokemon_name": "Spinarak", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 24, - "max_level": 26 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 399, - "pokemon_name": "Bidoof", - "method": "walk", - "encounter_rate": 20, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 418, - "pokemon_name": "Buizel", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 264, - "pokemon_name": "Linoone", - "method": "walk", - "encounter_rate": 20, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", + "pokeapi_id": 120, + "pokemon_name": "Staryu", "method": "super-rod", - "encounter_rate": 20, + "encounter_rate": 30, "min_level": 40, "max_level": 40 }, { - "pokeapi_id": 293, - "pokemon_name": "Whismur", - "method": "walk", + "pokeapi_id": 99, + "pokemon_name": "Kingler", + "method": "rock-smash", "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 122, - "pokemon_name": "Mr Mime", - "method": "walk", - "encounter_rate": 15, "min_level": 28, - "max_level": 30 + "max_level": 31 }, { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "headbutt", - "encounter_rate": 15, - "min_level": 27, - "max_level": 30 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", + "pokeapi_id": 98, + "pokemon_name": "Krabby", "method": "old-rod", "encounter_rate": 15, "min_level": 10, "max_level": 10 }, { - "pokeapi_id": 171, - "pokemon_name": "Lanturn", + "pokeapi_id": 222, + "pokemon_name": "Corsola", + "method": "good-rod", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 99, + "pokemon_name": "Kingler", "method": "super-rod", "encounter_rate": 10, "min_level": 40, "max_level": 40 }, { - "pokeapi_id": 90, - "pokemon_name": "Shellder", + "pokeapi_id": 120, + "pokemon_name": "Staryu", "method": "good-rod", "encounter_rate": 10, "min_level": 20, @@ -18079,9 +16355,39 @@ } ] }, + { + "name": "Professor Oak's Laboratory", + "order": 155, + "encounters": [ + { + "pokeapi_id": 1, + "pokemon_name": "Bulbasaur", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 4, + "pokemon_name": "Charmander", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 7, + "pokemon_name": "Squirtle", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + } + ] + }, { "name": "Route 22 (Kanto)", - "order": 170, + "order": 156, "encounters": [ { "pokeapi_id": 163, @@ -18254,40 +16560,1734 @@ ] }, { - "name": "Team Rocket HQ (B1F)", + "name": "Route 28 (Kanto)", + "order": 157, + "encounters": [ + { + "pokeapi_id": 214, + "pokemon_name": "Heracross", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 39, + "max_level": 43 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "surf", + "encounter_rate": 90, + "min_level": 35, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 80, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 190, + "pokemon_name": "Aipom", + "method": "headbutt", + "encounter_rate": 60, + "min_level": 39, + "max_level": 43 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 177, + "pokemon_name": "Natu", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 39, + "max_level": 43 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 77, + "pokemon_name": "Ponyta", + "method": "walk", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "walk", + "encounter_rate": 30, + "min_level": 39, + "max_level": 39 + }, + { + "pokeapi_id": 399, + "pokemon_name": "Bidoof", + "method": "walk", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 418, + "pokemon_name": "Buizel", + "method": "walk", + "encounter_rate": 20, + "min_level": 39, + "max_level": 40 + }, + { + "pokeapi_id": 232, + "pokemon_name": "Donphan", + "method": "walk", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 264, + "pokemon_name": "Linoone", + "method": "walk", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 78, + "pokemon_name": "Rapidash", + "method": "walk", + "encounter_rate": 20, + "min_level": 41, + "max_level": 42 + }, + { + "pokeapi_id": 293, + "pokemon_name": "Whismur", + "method": "walk", + "encounter_rate": 20, + "min_level": 39, + "max_level": 40 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "surf", + "encounter_rate": 10, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 215, + "pokemon_name": "Sneasel", + "method": "walk", + "encounter_rate": 10, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 85, + "pokemon_name": "Dodrio", + "method": "walk", + "encounter_rate": 5, + "min_level": 43, + "max_level": 43 + }, + { + "pokeapi_id": 84, + "pokemon_name": "Doduo", + "method": "walk", + "encounter_rate": 5, + "min_level": 41, + "max_level": 41 + } + ] + }, + { + "name": "Mt. Silver", + "order": 158, + "encounters": [ + { + "pokeapi_id": 214, + "pokemon_name": "Heracross", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 39, + "max_level": 43 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "surf", + "encounter_rate": 91, + "min_level": 30, + "max_level": 48 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 80, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 190, + "pokemon_name": "Aipom", + "method": "headbutt", + "encounter_rate": 60, + "min_level": 39, + "max_level": 43 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 177, + "pokemon_name": "Natu", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 39, + "max_level": 43 + }, + { + "pokeapi_id": 77, + "pokemon_name": "Ponyta", + "method": "walk", + "encounter_rate": 30, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "walk", + "encounter_rate": 30, + "min_level": 41, + "max_level": 41 + }, + { + "pokeapi_id": 399, + "pokemon_name": "Bidoof", + "method": "walk", + "encounter_rate": 20, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 418, + "pokemon_name": "Buizel", + "method": "walk", + "encounter_rate": 20, + "min_level": 41, + "max_level": 42 + }, + { + "pokeapi_id": 232, + "pokemon_name": "Donphan", + "method": "walk", + "encounter_rate": 20, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 264, + "pokemon_name": "Linoone", + "method": "walk", + "encounter_rate": 20, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 293, + "pokemon_name": "Whismur", + "method": "walk", + "encounter_rate": 20, + "min_level": 41, + "max_level": 42 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 78, + "pokemon_name": "Rapidash", + "method": "walk", + "encounter_rate": 10, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 215, + "pokemon_name": "Sneasel", + "method": "walk", + "encounter_rate": 10, + "min_level": 41, + "max_level": 41 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "surf", + "encounter_rate": 9, + "min_level": 30, + "max_level": 40 + }, + { + "pokeapi_id": 85, + "pokemon_name": "Dodrio", + "method": "walk", + "encounter_rate": 5, + "min_level": 43, + "max_level": 43 + }, + { + "pokeapi_id": 84, + "pokemon_name": "Doduo", + "method": "walk", + "encounter_rate": 5, + "min_level": 41, + "max_level": 41 + } + ] + }, + { + "name": "Mt. Silver (Cave)", + "order": 159, + "encounters": [], + "children": [ + { + "name": "Mt. Silver (Cave 1F)", + "order": 160, + "encounters": [ + { + "pokeapi_id": 146, + "pokemon_name": "Moltres", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 119, + "pokemon_name": "Seaking", + "method": "surf", + "encounter_rate": 91, + "min_level": 30, + "max_level": 50 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 80, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 50, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 119, + "pokemon_name": "Seaking", + "method": "super-rod", + "encounter_rate": 50, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 232, + "pokemon_name": "Donphan", + "method": "walk", + "encounter_rate": 30, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 30, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 43, + "max_level": 43 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 20, + "min_level": 41, + "max_level": 43 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 43, + "max_level": 43 + }, + { + "pokeapi_id": 119, + "pokemon_name": "Seaking", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "good-rod", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 231, + "pokemon_name": "Phanpy", + "method": "walk", + "encounter_rate": 10, + "min_level": 43, + "max_level": 43 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "surf", + "encounter_rate": 9, + "min_level": 30, + "max_level": 40 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 246, + "pokemon_name": "Larvitar", + "method": "walk", + "encounter_rate": 5, + "min_level": 15, + "max_level": 15 + } + ] + }, + { + "name": "Mt. Silver (Cave Expert Belt Chamber)", + "order": 161, + "encounters": [ + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 35, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 200, + "pokemon_name": "Misdreavus", + "method": "walk", + "encounter_rate": 30, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 232, + "pokemon_name": "Donphan", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 48 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 231, + "pokemon_name": "Phanpy", + "method": "walk", + "encounter_rate": 10, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 246, + "pokemon_name": "Larvitar", + "method": "walk", + "encounter_rate": 5, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 247, + "pokemon_name": "Pupitar", + "method": "walk", + "encounter_rate": 5, + "min_level": 45, + "max_level": 45 + } + ] + }, + { + "name": "Mt. Silver (Cave Moltres Chamber)", + "order": 162, + "encounters": [ + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 40, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 48 + }, + { + "pokeapi_id": 232, + "pokemon_name": "Donphan", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 48 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 48 + }, + { + "pokeapi_id": 208, + "pokemon_name": "Steelix", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "walk", + "encounter_rate": 10, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 200, + "pokemon_name": "Misdreavus", + "method": "walk", + "encounter_rate": 10, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 246, + "pokemon_name": "Larvitar", + "method": "walk", + "encounter_rate": 5, + "min_level": 15, + "max_level": 15 + } + ] + }, + { + "name": "Mt. Silver (Cave Lower Mountainside)", + "order": 163, + "encounters": [ + { + "pokeapi_id": 214, + "pokemon_name": "Heracross", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 42, + "max_level": 48 + }, + { + "pokeapi_id": 190, + "pokemon_name": "Aipom", + "method": "headbutt", + "encounter_rate": 60, + "min_level": 42, + "max_level": 48 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 40, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 177, + "pokemon_name": "Natu", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 42, + "max_level": 48 + }, + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 30, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 232, + "pokemon_name": "Donphan", + "method": "walk", + "encounter_rate": 10, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 231, + "pokemon_name": "Phanpy", + "method": "walk", + "encounter_rate": 10, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "walk", + "encounter_rate": 5, + "min_level": 51, + "max_level": 51 + }, + { + "pokeapi_id": 246, + "pokemon_name": "Larvitar", + "method": "walk", + "encounter_rate": 5, + "min_level": 15, + "max_level": 15 + } + ] + }, + { + "name": "Mt. Silver (Cave 2F)", + "order": 164, + "encounters": [ + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 30, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 232, + "pokemon_name": "Donphan", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 215, + "pokemon_name": "Sneasel", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "walk", + "encounter_rate": 10, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 200, + "pokemon_name": "Misdreavus", + "method": "walk", + "encounter_rate": 10, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 231, + "pokemon_name": "Phanpy", + "method": "walk", + "encounter_rate": 10, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 246, + "pokemon_name": "Larvitar", + "method": "walk", + "encounter_rate": 5, + "min_level": 15, + "max_level": 15 + } + ] + }, + { + "name": "Mt. Silver (Cave Upper Mountainside)", + "order": 165, + "encounters": [ + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "walk", + "encounter_rate": 30, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 232, + "pokemon_name": "Donphan", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 215, + "pokemon_name": "Sneasel", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 200, + "pokemon_name": "Misdreavus", + "method": "walk", + "encounter_rate": 15, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 15, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 246, + "pokemon_name": "Larvitar", + "method": "walk", + "encounter_rate": 10, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 48, + "max_level": 48 + } + ] + }, + { + "name": "Mt. Silver (Cave 3F)", + "order": 166, + "encounters": [ + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "walk", + "encounter_rate": 30, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 232, + "pokemon_name": "Donphan", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 215, + "pokemon_name": "Sneasel", + "method": "walk", + "encounter_rate": 20, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 200, + "pokemon_name": "Misdreavus", + "method": "walk", + "encounter_rate": 10, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 246, + "pokemon_name": "Larvitar", + "method": "walk", + "encounter_rate": 5, + "min_level": 15, + "max_level": 15 + } + ] + } + ] + }, + { + "name": "Cerulean Cave", + "order": 167, + "encounters": [], + "children": [ + { + "name": "Cerulean Cave (1F)", + "order": 168, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "surf", + "encounter_rate": 90, + "min_level": 35, + "max_level": 40 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 80, + "min_level": 22, + "max_level": 24 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 60, + "min_level": 38, + "max_level": 39 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 45, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 24, + "min_level": 39, + "max_level": 40 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 21, + "min_level": 39, + "max_level": 40 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 21, + "min_level": 39, + "max_level": 40 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 38, + "max_level": 38 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 38, + "max_level": 38 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 39, + "max_level": 40 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 20, + "min_level": 26, + "max_level": 30 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 39, + "max_level": 40 + }, + { + "pokeapi_id": 47, + "pokemon_name": "Parasect", + "method": "walk", + "encounter_rate": 20, + "min_level": 38, + "max_level": 38 + }, + { + "pokeapi_id": 57, + "pokemon_name": "Primeape", + "method": "walk", + "encounter_rate": 18, + "min_level": 38, + "max_level": 39 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 15, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "surf", + "encounter_rate": 10, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "walk", + "encounter_rate": 5, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 202, + "pokemon_name": "Wobbuffet", + "method": "walk", + "encounter_rate": 5, + "min_level": 37, + "max_level": 37 + } + ] + }, + { + "name": "Cerulean Cave (2F)", + "order": 169, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 45, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 30, + "min_level": 41, + "max_level": 42 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 30, + "min_level": 39, + "max_level": 39 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 39, + "max_level": 39 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 39, + "max_level": 39 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 41, + "max_level": 42 + }, + { + "pokeapi_id": 64, + "pokemon_name": "Kadabra", + "method": "walk", + "encounter_rate": 20, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 41, + "max_level": 42 + }, + { + "pokeapi_id": 47, + "pokemon_name": "Parasect", + "method": "walk", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 15, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 10, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 10, + "min_level": 41, + "max_level": 41 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "walk", + "encounter_rate": 5, + "min_level": 41, + "max_level": 41 + }, + { + "pokeapi_id": 202, + "pokemon_name": "Wobbuffet", + "method": "walk", + "encounter_rate": 5, + "min_level": 42, + "max_level": 42 + } + ] + }, + { + "name": "Cerulean Cave (B1F)", + "order": 170, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 150, + "pokemon_name": "Mewtwo", + "method": "static", + "encounter_rate": 100, + "min_level": 70, + "max_level": 70 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "surf", + "encounter_rate": 90, + "min_level": 35, + "max_level": 40 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 80, + "min_level": 22, + "max_level": 24 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 45, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 47, + "pokemon_name": "Parasect", + "method": "walk", + "encounter_rate": 25, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 20, + "min_level": 26, + "max_level": 30 + }, + { + "pokeapi_id": 64, + "pokemon_name": "Kadabra", + "method": "walk", + "encounter_rate": 20, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 15, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 15, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 10, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 10, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "surf", + "encounter_rate": 10, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 10, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "walk", + "encounter_rate": 5, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 202, + "pokemon_name": "Wobbuffet", + "method": "walk", + "encounter_rate": 5, + "min_level": 49, + "max_level": 49 + } + ] + } + ] + }, + { + "name": "Silph Co.", "order": 171, "encounters": [ { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "static", - "encounter_rate": 33, - "min_level": 23, - "max_level": 23 + "pokeapi_id": 374, + "pokemon_name": "Beldum", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 }, { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "static", - "encounter_rate": 20, - "min_level": 21, - "max_level": 21 + "pokeapi_id": 258, + "pokemon_name": "Mudkip", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 }, { - "pokeapi_id": 109, - "pokemon_name": "Koffing", - "method": "static", - "encounter_rate": 20, - "min_level": 21, - "max_level": 21 + "pokeapi_id": 255, + "pokemon_name": "Torchic", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 }, { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "static", - "encounter_rate": 17, - "min_level": 23, - "max_level": 23 + "pokeapi_id": 252, + "pokemon_name": "Treecko", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 } ] }, diff --git a/backend/src/app/seeds/data/leafgreen.json b/backend/src/app/seeds/data/leafgreen.json index 3da26c9..d15c1b3 100644 --- a/backend/src/app/seeds/data/leafgreen.json +++ b/backend/src/app/seeds/data/leafgreen.json @@ -1689,47 +1689,9 @@ } ] }, - { - "name": "Power Plant", - "order": 29, - "encounters": [ - { - "pokeapi_id": 81, - "pokemon_name": "Magnemite", - "method": "walk", - "encounter_rate": 30, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "walk", - "encounter_rate": 30, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 25, - "pokemon_name": "Pikachu", - "method": "walk", - "encounter_rate": 25, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 15, - "min_level": 31, - "max_level": 31 - } - ] - }, { "name": "Route 08 (Kanto)", - "order": 30, + "order": 29, "encounters": [ { "pokeapi_id": 52, @@ -1767,7 +1729,7 @@ }, { "name": "Route 07 (Kanto)", - "order": 31, + "order": 30, "encounters": [ { "pokeapi_id": 52, @@ -1805,7 +1767,7 @@ }, { "name": "Celadon City", - "order": 32, + "order": 31, "encounters": [ { "pokeapi_id": 88, @@ -1851,12 +1813,12 @@ }, { "name": "Pok\u00e9mon Tower", - "order": 33, + "order": 32, "encounters": [], "children": [ { "name": "Pok\u00e9mon Tower (3F)", - "order": 34, + "order": 33, "encounters": [ { "pokeapi_id": 93, @@ -1886,7 +1848,7 @@ }, { "name": "Pok\u00e9mon Tower (4F)", - "order": 35, + "order": 34, "encounters": [ { "pokeapi_id": 92, @@ -1916,7 +1878,7 @@ }, { "name": "Pok\u00e9mon Tower (5F)", - "order": 36, + "order": 35, "encounters": [ { "pokeapi_id": 92, @@ -1946,7 +1908,7 @@ }, { "name": "Pok\u00e9mon Tower (6F)", - "order": 37, + "order": 36, "encounters": [ { "pokeapi_id": 105, @@ -1984,7 +1946,7 @@ }, { "name": "Pok\u00e9mon Tower (7F)", - "order": 38, + "order": 37, "encounters": [ { "pokeapi_id": 92, @@ -2015,190 +1977,336 @@ ] }, { - "name": "Silph Co.", + "name": "Route 12 (Kanto)", + "order": 38, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 79, + "pokemon_name": "Slowpoke", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 25, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 100, + "min_level": 5, + "max_level": 40 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "super-rod", + "encounter_rate": 84, + "min_level": 15, + "max_level": 35 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 69, + "pokemon_name": "Bellsprout", + "method": "walk", + "encounter_rate": 35, + "min_level": 22, + "max_level": 26 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 30, + "min_level": 23, + "max_level": 27 + }, + { + "pokeapi_id": 48, + "pokemon_name": "Venonat", + "method": "walk", + "encounter_rate": 30, + "min_level": 24, + "max_level": 26 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 15, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 70, + "pokemon_name": "Weepinbell", + "method": "walk", + "encounter_rate": 5, + "min_level": 28, + "max_level": 30 + } + ] + }, + { + "name": "Route 13 (Kanto)", "order": 39, "encounters": [ { - "pokeapi_id": 131, - "pokemon_name": "Lapras", - "method": "gift", + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 79, + "pokemon_name": "Slowpoke", + "method": "super-rod", "encounter_rate": 100, "min_level": 25, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 100, + "min_level": 5, + "max_level": 40 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "super-rod", + "encounter_rate": 84, + "min_level": 15, + "max_level": 35 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 69, + "pokemon_name": "Bellsprout", + "method": "walk", + "encounter_rate": 35, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 48, + "pokemon_name": "Venonat", + "method": "walk", + "encounter_rate": 30, + "min_level": 24, + "max_level": 24 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, "max_level": 25 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 15, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 5, + "min_level": 29, + "max_level": 29 + }, + { + "pokeapi_id": 70, + "pokemon_name": "Weepinbell", + "method": "walk", + "encounter_rate": 5, + "min_level": 28, + "max_level": 28 } ] }, { - "name": "Fighting Dojo", + "name": "Route 14 (Kanto)", "order": 40, "encounters": [ { - "pokeapi_id": 107, - "pokemon_name": "Hitmonchan", - "method": "gift", - "encounter_rate": 100, - "min_level": 25, - "max_level": 25 + "pokeapi_id": 69, + "pokemon_name": "Bellsprout", + "method": "walk", + "encounter_rate": 35, + "min_level": 22, + "max_level": 22 }, { - "pokeapi_id": 106, - "pokemon_name": "Hitmonlee", - "method": "gift", - "encounter_rate": 100, - "min_level": 25, - "max_level": 25 + "pokeapi_id": 48, + "pokemon_name": "Venonat", + "method": "walk", + "encounter_rate": 30, + "min_level": 24, + "max_level": 24 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 15, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 10, + "min_level": 27, + "max_level": 27 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 5, + "min_level": 29, + "max_level": 29 + }, + { + "pokeapi_id": 70, + "pokemon_name": "Weepinbell", + "method": "walk", + "encounter_rate": 5, + "min_level": 30, + "max_level": 30 } ] }, { - "name": "Route 16 (Kanto)", + "name": "Route 15 (Kanto)", "order": 41, "encounters": [ { - "pokeapi_id": 143, - "pokemon_name": "Snorlax", - "method": "static", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 84, - "pokemon_name": "Doduo", + "pokeapi_id": 69, + "pokemon_name": "Bellsprout", "method": "walk", "encounter_rate": 35, - "min_level": 18, - "max_level": 18 + "min_level": 22, + "max_level": 22 }, { - "pokeapi_id": 19, - "pokemon_name": "Rattata", + "pokeapi_id": 48, + "pokemon_name": "Venonat", "method": "walk", "encounter_rate": 30, - "min_level": 18, - "max_level": 18 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 20, - "pokemon_name": "Raticate", - "method": "walk", - "encounter_rate": 5, - "min_level": 23, - "max_level": 23 - } - ] - }, - { - "name": "Route 17 (Kanto)", - "order": 42, - "encounters": [ - { - "pokeapi_id": 84, - "pokemon_name": "Doduo", - "method": "walk", - "encounter_rate": 35, "min_level": 24, "max_level": 24 }, { - "pokeapi_id": 21, - "pokemon_name": "Spearow", + "pokeapi_id": 16, + "pokemon_name": "Pidgey", "method": "walk", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 20, - "pokemon_name": "Raticate", - "method": "walk", - "encounter_rate": 25, + "encounter_rate": 20, "min_level": 25, "max_level": 25 }, { - "pokeapi_id": 22, - "pokemon_name": "Fearow", + "pokeapi_id": 132, + "pokemon_name": "Ditto", "method": "walk", "encounter_rate": 5, "min_level": 25, "max_level": 25 }, { - "pokeapi_id": 19, - "pokemon_name": "Rattata", + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", "method": "walk", "encounter_rate": 5, - "min_level": 22, - "max_level": 22 - } - ] - }, - { - "name": "Route 18 (Kanto)", - "order": 43, - "encounters": [ - { - "pokeapi_id": 108, - "pokemon_name": "Lickitung", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 + "min_level": 29, + "max_level": 29 }, { - "pokeapi_id": 84, - "pokemon_name": "Doduo", - "method": "walk", - "encounter_rate": 35, - "min_level": 24, - "max_level": 24 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 22, - "pokemon_name": "Fearow", - "method": "walk", - "encounter_rate": 15, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 20, - "pokemon_name": "Raticate", - "method": "walk", - "encounter_rate": 15, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 19, - "pokemon_name": "Rattata", + "pokeapi_id": 70, + "pokemon_name": "Weepinbell", "method": "walk", "encounter_rate": 5, - "min_level": 22, - "max_level": 22 + "min_level": 28, + "max_level": 28 } ] }, { "name": "Fuchsia City", - "order": 44, + "order": 42, "encounters": [ { "pokeapi_id": 129, @@ -2276,12 +2384,12 @@ }, { "name": "Safari Zone (Kanto)", - "order": 45, + "order": 43, "encounters": [], "children": [ { "name": "Safari Zone (Kanto - Center Area)", - "order": 46, + "order": 44, "encounters": [ { "pokeapi_id": 113, @@ -2431,7 +2539,7 @@ }, { "name": "Safari Zone (Kanto - Area 1)", - "order": 47, + "order": 45, "encounters": [ { "pokeapi_id": 148, @@ -2589,7 +2697,7 @@ }, { "name": "Safari Zone (Kanto - Area 2)", - "order": 48, + "order": 46, "encounters": [ { "pokeapi_id": 148, @@ -2747,7 +2855,7 @@ }, { "name": "Safari Zone (Kanto - Area 3)", - "order": 49, + "order": 47, "encounters": [ { "pokeapi_id": 148, @@ -2906,336 +3014,190 @@ ] }, { - "name": "Route 15 (Kanto)", + "name": "Route 18 (Kanto)", + "order": 48, + "encounters": [ + { + "pokeapi_id": 108, + "pokemon_name": "Lickitung", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + }, + { + "pokeapi_id": 84, + "pokemon_name": "Doduo", + "method": "walk", + "encounter_rate": 35, + "min_level": 24, + "max_level": 24 + }, + { + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "walk", + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 22, + "pokemon_name": "Fearow", + "method": "walk", + "encounter_rate": 15, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 20, + "pokemon_name": "Raticate", + "method": "walk", + "encounter_rate": 15, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 19, + "pokemon_name": "Rattata", + "method": "walk", + "encounter_rate": 5, + "min_level": 22, + "max_level": 22 + } + ] + }, + { + "name": "Route 17 (Kanto)", + "order": 49, + "encounters": [ + { + "pokeapi_id": 84, + "pokemon_name": "Doduo", + "method": "walk", + "encounter_rate": 35, + "min_level": 24, + "max_level": 24 + }, + { + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "walk", + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 20, + "pokemon_name": "Raticate", + "method": "walk", + "encounter_rate": 25, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 22, + "pokemon_name": "Fearow", + "method": "walk", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 19, + "pokemon_name": "Rattata", + "method": "walk", + "encounter_rate": 5, + "min_level": 22, + "max_level": 22 + } + ] + }, + { + "name": "Route 16 (Kanto)", "order": 50, "encounters": [ { - "pokeapi_id": 69, - "pokemon_name": "Bellsprout", + "pokeapi_id": 143, + "pokemon_name": "Snorlax", + "method": "static", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 84, + "pokemon_name": "Doduo", "method": "walk", "encounter_rate": 35, - "min_level": 22, - "max_level": 22 + "min_level": 18, + "max_level": 18 }, { - "pokeapi_id": 48, - "pokemon_name": "Venonat", + "pokeapi_id": 19, + "pokemon_name": "Rattata", "method": "walk", "encounter_rate": 30, - "min_level": 24, - "max_level": 24 + "min_level": 18, + "max_level": 18 }, { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", + "pokeapi_id": 21, + "pokemon_name": "Spearow", "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 }, { - "pokeapi_id": 132, - "pokemon_name": "Ditto", + "pokeapi_id": 20, + "pokemon_name": "Raticate", "method": "walk", "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 5, - "min_level": 29, - "max_level": 29 - }, - { - "pokeapi_id": 70, - "pokemon_name": "Weepinbell", - "method": "walk", - "encounter_rate": 5, - "min_level": 28, - "max_level": 28 + "min_level": 23, + "max_level": 23 } ] }, { - "name": "Route 14 (Kanto)", + "name": "Silph Co.", "order": 51, "encounters": [ { - "pokeapi_id": 69, - "pokemon_name": "Bellsprout", - "method": "walk", - "encounter_rate": 35, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 48, - "pokemon_name": "Venonat", - "method": "walk", - "encounter_rate": 30, - "min_level": 24, - "max_level": 24 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 15, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 10, - "min_level": 27, - "max_level": 27 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 5, - "min_level": 29, - "max_level": 29 - }, - { - "pokeapi_id": 70, - "pokemon_name": "Weepinbell", - "method": "walk", - "encounter_rate": 5, - "min_level": 30, - "max_level": 30 + "pokeapi_id": 131, + "pokemon_name": "Lapras", + "method": "gift", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 } ] }, { - "name": "Route 13 (Kanto)", + "name": "Fighting Dojo", "order": 52, "encounters": [ { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", + "pokeapi_id": 107, + "pokemon_name": "Hitmonchan", + "method": "gift", "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 79, - "pokemon_name": "Slowpoke", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 25, - "max_level": 35 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 40 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "super-rod", - "encounter_rate": 84, - "min_level": 15, - "max_level": 35 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 69, - "pokemon_name": "Bellsprout", - "method": "walk", - "encounter_rate": 35, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 48, - "pokemon_name": "Venonat", - "method": "walk", - "encounter_rate": 30, - "min_level": 24, - "max_level": 24 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 20, "min_level": 25, "max_level": 25 }, { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 15, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 5, - "min_level": 29, - "max_level": 29 - }, - { - "pokeapi_id": 70, - "pokemon_name": "Weepinbell", - "method": "walk", - "encounter_rate": 5, - "min_level": 28, - "max_level": 28 - } - ] - }, - { - "name": "Route 12 (Kanto)", - "order": 53, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 79, - "pokemon_name": "Slowpoke", - "method": "super-rod", + "pokeapi_id": 106, + "pokemon_name": "Hitmonlee", + "method": "gift", "encounter_rate": 100, "min_level": 25, - "max_level": 35 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 40 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "super-rod", - "encounter_rate": 84, - "min_level": 15, - "max_level": 35 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 69, - "pokemon_name": "Bellsprout", - "method": "walk", - "encounter_rate": 35, - "min_level": 22, - "max_level": 26 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 30, - "min_level": 23, - "max_level": 27 - }, - { - "pokeapi_id": 48, - "pokemon_name": "Venonat", - "method": "walk", - "encounter_rate": 30, - "min_level": 24, - "max_level": 26 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 15, - "min_level": 15, "max_level": 25 - }, - { - "pokeapi_id": 70, - "pokemon_name": "Weepinbell", - "method": "walk", - "encounter_rate": 5, - "min_level": 28, - "max_level": 30 } ] }, { "name": "Route 19 (Kanto)", - "order": 54, + "order": 53, "encounters": [ { "pokeapi_id": 129, @@ -3313,7 +3275,7 @@ }, { "name": "Route 20 (Kanto)", - "order": 55, + "order": 54, "encounters": [ { "pokeapi_id": 129, @@ -3391,12 +3353,12 @@ }, { "name": "Seafoam Islands", - "order": 56, + "order": 55, "encounters": [], "children": [ { "name": "Seafoam Islands (1F)", - "order": 57, + "order": 56, "encounters": [ { "pokeapi_id": 79, @@ -3426,7 +3388,7 @@ }, { "name": "Seafoam Islands (B1F)", - "order": 58, + "order": 57, "encounters": [ { "pokeapi_id": 79, @@ -3472,7 +3434,7 @@ }, { "name": "Seafoam Islands (B2F)", - "order": 59, + "order": 58, "encounters": [ { "pokeapi_id": 79, @@ -3518,7 +3480,7 @@ }, { "name": "Seafoam Islands (B3F)", - "order": 60, + "order": 59, "encounters": [ { "pokeapi_id": 129, @@ -3668,7 +3630,7 @@ }, { "name": "Seafoam Islands (B4F)", - "order": 61, + "order": 60, "encounters": [ { "pokeapi_id": 144, @@ -3820,7 +3782,7 @@ }, { "name": "Cinnabar Island", - "order": 62, + "order": 61, "encounters": [ { "pokeapi_id": 129, @@ -3904,6 +3866,60 @@ } ] }, + { + "name": "Cinnabar Lab", + "order": 62, + "encounters": [ + { + "pokeapi_id": 142, + "pokemon_name": "Aerodactyl", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + }, + { + "pokeapi_id": 140, + "pokemon_name": "Kabuto", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 138, + "pokemon_name": "Omanyte", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 86, + "pokemon_name": "Seel", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + } + ] + }, { "name": "Pok\u00e9mon Mansion (Kanto)", "order": 63, @@ -4135,925 +4151,9 @@ } ] }, - { - "name": "Cinnabar Lab", - "order": 68, - "encounters": [ - { - "pokeapi_id": 142, - "pokemon_name": "Aerodactyl", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - }, - { - "pokeapi_id": 140, - "pokemon_name": "Kabuto", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 138, - "pokemon_name": "Omanyte", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 86, - "pokemon_name": "Seel", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - } - ] - }, - { - "name": "Route 21 (Kanto)", - "order": 69, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 79, - "pokemon_name": "Slowpoke", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 25, - "max_level": 35 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "walk", - "encounter_rate": 100, - "min_level": 17, - "max_level": 28 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 40 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "super-rod", - "encounter_rate": 80, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 15, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 99, - "pokemon_name": "Kingler", - "method": "super-rod", - "encounter_rate": 4, - "min_level": 25, - "max_level": 35 - } - ] - }, - { - "name": "Route 23 (Kanto)", - "order": 70, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 79, - "pokemon_name": "Slowpoke", - "method": "surf", - "encounter_rate": 100, - "min_level": 20, - "max_level": 40 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 56, - "pokemon_name": "Mankey", - "method": "walk", - "encounter_rate": 30, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 22, - "pokemon_name": "Fearow", - "method": "walk", - "encounter_rate": 25, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 27, - "pokemon_name": "Sandshrew", - "method": "walk", - "encounter_rate": 20, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 15, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 15, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 57, - "pokemon_name": "Primeape", - "method": "walk", - "encounter_rate": 5, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 28, - "pokemon_name": "Sandslash", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 79, - "pokemon_name": "Slowpoke", - "method": "super-rod", - "encounter_rate": 5, - "min_level": 15, - "max_level": 35 - } - ] - }, - { - "name": "Victory Road (Kanto)", - "order": 71, - "encounters": [], - "children": [ - { - "name": "Victory Road (Kanto 1F)", - "order": 72, - "encounters": [ - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 20, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 20, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 105, - "pokemon_name": "Marowak", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 28, - "pokemon_name": "Sandslash", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - } - ] - }, - { - "name": "Victory Road (Kanto 3F)", - "order": 73, - "encounters": [ - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 20, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 20, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 105, - "pokemon_name": "Marowak", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 28, - "pokemon_name": "Sandslash", - "method": "walk", - "encounter_rate": 5, - "min_level": 44, - "max_level": 44 - } - ] - }, - { - "name": "Victory Road (Kanto 2F)", - "order": 74, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 20, - "min_level": 34, - "max_level": 34 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 20, - "min_level": 34, - "max_level": 34 - }, - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 57, - "pokemon_name": "Primeape", - "method": "walk", - "encounter_rate": 10, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 34, - "max_level": 34 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 5, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 105, - "pokemon_name": "Marowak", - "method": "walk", - "encounter_rate": 5, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 28, - "pokemon_name": "Sandslash", - "method": "walk", - "encounter_rate": 5, - "min_level": 46, - "max_level": 46 - } - ] - } - ] - }, - { - "name": "Cerulean Cave", - "order": 75, - "encounters": [], - "children": [ - { - "name": "Cerulean Cave (1F)", - "order": 76, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 65, - "min_level": 30, - "max_level": 50 - }, - { - "pokeapi_id": 79, - "pokemon_name": "Slowpoke", - "method": "surf", - "encounter_rate": 65, - "min_level": 30, - "max_level": 50 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 35, - "min_level": 40, - "max_level": 55 - }, - { - "pokeapi_id": 80, - "pokemon_name": "Slowbro", - "method": "surf", - "encounter_rate": 35, - "min_level": 40, - "max_level": 55 - }, - { - "pokeapi_id": 47, - "pokemon_name": "Parasect", - "method": "walk", - "encounter_rate": 25, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 20, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "good-rod", - "encounter_rate": 15, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 14, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 11, - "min_level": 52, - "max_level": 52 - }, - { - "pokeapi_id": 57, - "pokemon_name": "Primeape", - "method": "walk", - "encounter_rate": 11, - "min_level": 52, - "max_level": 52 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 10, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "walk", - "encounter_rate": 5, - "min_level": 58, - "max_level": 58 - }, - { - "pokeapi_id": 79, - "pokemon_name": "Slowpoke", - "method": "super-rod", - "encounter_rate": 5, - "min_level": 15, - "max_level": 35 - }, - { - "pokeapi_id": 202, - "pokemon_name": "Wobbuffet", - "method": "walk", - "encounter_rate": 4, - "min_level": 55, - "max_level": 55 - } - ] - }, - { - "name": "Cerulean Cave (2F)", - "order": 77, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 65, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 35, - "min_level": 45, - "max_level": 60 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 25, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 20, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 47, - "pokemon_name": "Parasect", - "method": "walk", - "encounter_rate": 14, - "min_level": 52, - "max_level": 52 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 11, - "min_level": 55, - "max_level": 55 - }, - { - "pokeapi_id": 64, - "pokemon_name": "Kadabra", - "method": "walk", - "encounter_rate": 11, - "min_level": 55, - "max_level": 55 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 10, - "min_level": 52, - "max_level": 52 - }, - { - "pokeapi_id": 202, - "pokemon_name": "Wobbuffet", - "method": "walk", - "encounter_rate": 5, - "min_level": 58, - "max_level": 58 - }, - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "walk", - "encounter_rate": 4, - "min_level": 61, - "max_level": 61 - } - ] - }, - { - "name": "Cerulean Cave (B2F)", - "order": 78, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 202, - "pokemon_name": "Wobbuffet", - "method": "walk", - "encounter_rate": 100, - "min_level": 61, - "max_level": 61 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 65, - "min_level": 40, - "max_level": 60 - }, - { - "pokeapi_id": 79, - "pokemon_name": "Slowpoke", - "method": "surf", - "encounter_rate": 65, - "min_level": 40, - "max_level": 60 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 35, - "min_level": 50, - "max_level": 65 - }, - { - "pokeapi_id": 80, - "pokemon_name": "Slowbro", - "method": "surf", - "encounter_rate": 35, - "min_level": 50, - "max_level": 65 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 25, - "min_level": 58, - "max_level": 58 - }, - { - "pokeapi_id": 64, - "pokemon_name": "Kadabra", - "method": "walk", - "encounter_rate": 25, - "min_level": 58, - "max_level": 58 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 16, - "min_level": 15, - "max_level": 35 - }, - { - "pokeapi_id": 47, - "pokemon_name": "Parasect", - "method": "walk", - "encounter_rate": 14, - "min_level": 55, - "max_level": 55 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 11, - "min_level": 52, - "max_level": 52 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 10, - "min_level": 52, - "max_level": 52 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 10, - "min_level": 55, - "max_level": 55 - }, - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "walk", - "encounter_rate": 4, - "min_level": 64, - "max_level": 64 - }, - { - "pokeapi_id": 79, - "pokemon_name": "Slowpoke", - "method": "super-rod", - "encounter_rate": 4, - "min_level": 15, - "max_level": 25 - } - ] - } - ] - }, { "name": "One Island", - "order": 79, + "order": 68, "encounters": [ { "pokeapi_id": 129, @@ -5137,9 +4237,135 @@ } ] }, + { + "name": "Treasure Beach", + "order": 69, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 79, + "pokemon_name": "Slowpoke", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 25, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 95, + "min_level": 5, + "max_level": 40 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "good-rod", + "encounter_rate": 80, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "super-rod", + "encounter_rate": 80, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "walk", + "encounter_rate": 30, + "min_level": 31, + "max_level": 32 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "walk", + "encounter_rate": 30, + "min_level": 33, + "max_level": 33 + }, + { + "pokeapi_id": 22, + "pokemon_name": "Fearow", + "method": "walk", + "encounter_rate": 20, + "min_level": 36, + "max_level": 36 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 15, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 52, + "pokemon_name": "Meowth", + "method": "walk", + "encounter_rate": 10, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 53, + "pokemon_name": "Persian", + "method": "walk", + "encounter_rate": 5, + "min_level": 37, + "max_level": 37 + }, + { + "pokeapi_id": 79, + "pokemon_name": "Slowpoke", + "method": "walk", + "encounter_rate": 5, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 5, + "min_level": 35, + "max_level": 40 + }, + { + "pokeapi_id": 99, + "pokemon_name": "Kingler", + "method": "super-rod", + "encounter_rate": 4, + "min_level": 25, + "max_level": 35 + } + ] + }, { "name": "Kindle Road", - "order": 80, + "order": 70, "encounters": [ { "pokeapi_id": 129, @@ -5295,568 +4521,9 @@ } ] }, - { - "name": "Treasure Beach", - "order": 81, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 79, - "pokemon_name": "Slowpoke", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 25, - "max_level": 35 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 95, - "min_level": 5, - "max_level": 40 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "good-rod", - "encounter_rate": 80, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "super-rod", - "encounter_rate": 80, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 30, - "min_level": 31, - "max_level": 32 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "walk", - "encounter_rate": 30, - "min_level": 33, - "max_level": 33 - }, - { - "pokeapi_id": 22, - "pokemon_name": "Fearow", - "method": "walk", - "encounter_rate": 20, - "min_level": 36, - "max_level": 36 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 15, - "min_level": 15, - "max_level": 25 - }, - { - "pokeapi_id": 52, - "pokemon_name": "Meowth", - "method": "walk", - "encounter_rate": 10, - "min_level": 31, - "max_level": 31 - }, - { - "pokeapi_id": 53, - "pokemon_name": "Persian", - "method": "walk", - "encounter_rate": 5, - "min_level": 37, - "max_level": 37 - }, - { - "pokeapi_id": 79, - "pokemon_name": "Slowpoke", - "method": "walk", - "encounter_rate": 5, - "min_level": 31, - "max_level": 31 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 5, - "min_level": 35, - "max_level": 40 - }, - { - "pokeapi_id": 99, - "pokemon_name": "Kingler", - "method": "super-rod", - "encounter_rate": 4, - "min_level": 25, - "max_level": 35 - } - ] - }, - { - "name": "Mt. Ember", - "order": 82, - "encounters": [], - "children": [ - { - "name": "Mt. Ember (Base Area)", - "order": 83, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 95, - "min_level": 5, - "max_level": 30 - }, - { - "pokeapi_id": 77, - "pokemon_name": "Ponyta", - "method": "walk", - "encounter_rate": 35, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 22, - "pokemon_name": "Fearow", - "method": "walk", - "encounter_rate": 25, - "min_level": 38, - "max_level": 38 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 10, - "min_level": 33, - "max_level": 33 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 10, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 10, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 5, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 126, - "pokemon_name": "Magmar", - "method": "walk", - "encounter_rate": 5, - "min_level": 38, - "max_level": 38 - }, - { - "pokeapi_id": 78, - "pokemon_name": "Rapidash", - "method": "walk", - "encounter_rate": 5, - "min_level": 39, - "max_level": 39 - } - ] - }, - { - "name": "Mt. Ember (1F)", - "order": 84, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 50, - "min_level": 29, - "max_level": 29 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 50, - "min_level": 31, - "max_level": 31 - } - ] - }, - { - "name": "Mt. Ember (3F)", - "order": 85, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 50, - "min_level": 29, - "max_level": 29 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 50, - "min_level": 31, - "max_level": 31 - } - ] - }, - { - "name": "Mt. Ember (2F)", - "order": 86, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 95, - "min_level": 5, - "max_level": 30 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 40, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 40, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 20, - "min_level": 38, - "max_level": 38 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 5, - "min_level": 25, - "max_level": 40 - } - ] - }, - { - "name": "Mt. Ember (Summit)", - "order": 87, - "encounters": [ - { - "pokeapi_id": 146, - "pokemon_name": "Moltres", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 95, - "min_level": 5, - "max_level": 30 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 5, - "min_level": 25, - "max_level": 40 - } - ] - }, - { - "name": "Mt. Ember (Ruby Path 1F)", - "order": 88, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 65, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 50, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 40, - "min_level": 34, - "max_level": 34 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 35, - "min_level": 30, - "max_level": 50 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 10, - "min_level": 40, - "max_level": 40 - } - ] - }, - { - "name": "Mt. Ember (Ruby Path B1F)", - "order": 89, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 70, - "min_level": 34, - "max_level": 34 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 65, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 35, - "min_level": 30, - "max_level": 50 - }, - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "walk", - "encounter_rate": 30, - "min_level": 24, - "max_level": 24 - } - ] - }, - { - "name": "Mt. Ember (Ruby Path B5F)", - "order": 90, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 70, - "min_level": 34, - "max_level": 34 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 65, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 35, - "min_level": 30, - "max_level": 50 - }, - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "walk", - "encounter_rate": 30, - "min_level": 24, - "max_level": 24 - } - ] - }, - { - "name": "Mt. Ember (Ruby Path B2F)", - "order": 91, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 65, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "walk", - "encounter_rate": 60, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 35, - "min_level": 30, - "max_level": 50 - } - ] - }, - { - "name": "Mt. Ember (Ruby Path B4F)", - "order": 92, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 65, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "walk", - "encounter_rate": 60, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 35, - "min_level": 30, - "max_level": 50 - } - ] - }, - { - "name": "Mt. Ember (Ruby Path B3F)", - "order": 93, - "encounters": [ - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "walk", - "encounter_rate": 100, - "min_level": 18, - "max_level": 18 - }, - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "rock-smash", - "encounter_rate": 90, - "min_level": 15, - "max_level": 35 - }, - { - "pokeapi_id": 219, - "pokemon_name": "Magcargo", - "method": "rock-smash", - "encounter_rate": 10, - "min_level": 25, - "max_level": 45 - } - ] - } - ] - }, { "name": "Cape Brink", - "order": 94, + "order": 71, "encounters": [ { "pokeapi_id": 129, @@ -6004,9 +4671,165 @@ } ] }, + { + "name": "Three-Isle Port", + "order": 72, + "encounters": [ + { + "pokeapi_id": 206, + "pokemon_name": "Dunsparce", + "method": "walk", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + } + ] + }, + { + "name": "Bond Bridge", + "order": 73, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 79, + "pokemon_name": "Slowpoke", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 25, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 95, + "min_level": 5, + "max_level": 40 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "good-rod", + "encounter_rate": 80, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "super-rod", + "encounter_rate": 80, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 30, + "min_level": 29, + "max_level": 29 + }, + { + "pokeapi_id": 69, + "pokemon_name": "Bellsprout", + "method": "walk", + "encounter_rate": 20, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 15, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 15, + "min_level": 34, + "max_level": 34 + }, + { + "pokeapi_id": 52, + "pokemon_name": "Meowth", + "method": "walk", + "encounter_rate": 10, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 70, + "pokemon_name": "Weepinbell", + "method": "walk", + "encounter_rate": 10, + "min_level": 36, + "max_level": 36 + }, + { + "pokeapi_id": 53, + "pokemon_name": "Persian", + "method": "walk", + "encounter_rate": 5, + "min_level": 37, + "max_level": 37 + }, + { + "pokeapi_id": 79, + "pokemon_name": "Slowpoke", + "method": "walk", + "encounter_rate": 5, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 5, + "min_level": 35, + "max_level": 40 + }, + { + "pokeapi_id": 48, + "pokemon_name": "Venonat", + "method": "walk", + "encounter_rate": 5, + "min_level": 34, + "max_level": 34 + }, + { + "pokeapi_id": 99, + "pokemon_name": "Kingler", + "method": "super-rod", + "encounter_rate": 4, + "min_level": 25, + "max_level": 35 + } + ] + }, { "name": "Berry Forest", - "order": 95, + "order": 74, "encounters": [ { "pokeapi_id": 97, @@ -6179,8 +5002,8 @@ ] }, { - "name": "Bond Bridge", - "order": 96, + "name": "Route 21 (Kanto)", + "order": 75, "encounters": [ { "pokeapi_id": 129, @@ -6198,22 +5021,22 @@ "min_level": 25, "max_level": 35 }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "walk", + "encounter_rate": 100, + "min_level": 17, + "max_level": 28 + }, { "pokeapi_id": 72, "pokemon_name": "Tentacool", "method": "surf", - "encounter_rate": 95, + "encounter_rate": 100, "min_level": 5, "max_level": 40 }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "good-rod", - "encounter_rate": 80, - "min_level": 5, - "max_level": 15 - }, { "pokeapi_id": 98, "pokemon_name": "Krabby", @@ -6223,20 +5046,20 @@ "max_level": 25 }, { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 30, - "min_level": 29, - "max_level": 29 + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 5, + "max_level": 15 }, { - "pokeapi_id": 69, - "pokemon_name": "Bellsprout", - "method": "walk", + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "good-rod", "encounter_rate": 20, - "min_level": 31, - "max_level": 31 + "min_level": 5, + "max_level": 15 }, { "pokeapi_id": 129, @@ -6254,62 +5077,6 @@ "min_level": 15, "max_level": 25 }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 15, - "min_level": 34, - "max_level": 34 - }, - { - "pokeapi_id": 52, - "pokemon_name": "Meowth", - "method": "walk", - "encounter_rate": 10, - "min_level": 31, - "max_level": 31 - }, - { - "pokeapi_id": 70, - "pokemon_name": "Weepinbell", - "method": "walk", - "encounter_rate": 10, - "min_level": 36, - "max_level": 36 - }, - { - "pokeapi_id": 53, - "pokemon_name": "Persian", - "method": "walk", - "encounter_rate": 5, - "min_level": 37, - "max_level": 37 - }, - { - "pokeapi_id": 79, - "pokemon_name": "Slowpoke", - "method": "walk", - "encounter_rate": 5, - "min_level": 31, - "max_level": 31 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 5, - "min_level": 35, - "max_level": 40 - }, - { - "pokeapi_id": 48, - "pokemon_name": "Venonat", - "method": "walk", - "encounter_rate": 5, - "min_level": 34, - "max_level": 34 - }, { "pokeapi_id": 99, "pokemon_name": "Kingler", @@ -6321,16 +5088,1249 @@ ] }, { - "name": "Three-Isle Port", - "order": 97, + "name": "Power Plant", + "order": 76, "encounters": [ { - "pokeapi_id": 206, - "pokemon_name": "Dunsparce", + "pokeapi_id": 81, + "pokemon_name": "Magnemite", "method": "walk", + "encounter_rate": 30, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 100, + "pokemon_name": "Voltorb", + "method": "walk", + "encounter_rate": 30, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 25, + "pokemon_name": "Pikachu", + "method": "walk", + "encounter_rate": 25, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 15, + "min_level": 31, + "max_level": 31 + } + ] + }, + { + "name": "Route 23 (Kanto)", + "order": 77, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", "encounter_rate": 100, "min_level": 5, "max_level": 5 + }, + { + "pokeapi_id": 79, + "pokemon_name": "Slowpoke", + "method": "surf", + "encounter_rate": 100, + "min_level": 20, + "max_level": 40 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 56, + "pokemon_name": "Mankey", + "method": "walk", + "encounter_rate": 30, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 22, + "pokemon_name": "Fearow", + "method": "walk", + "encounter_rate": 25, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 27, + "pokemon_name": "Sandshrew", + "method": "walk", + "encounter_rate": 20, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 15, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "walk", + "encounter_rate": 15, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 57, + "pokemon_name": "Primeape", + "method": "walk", + "encounter_rate": 5, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 28, + "pokemon_name": "Sandslash", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 79, + "pokemon_name": "Slowpoke", + "method": "super-rod", + "encounter_rate": 5, + "min_level": 15, + "max_level": 35 + } + ] + }, + { + "name": "Victory Road (Kanto)", + "order": 78, + "encounters": [], + "children": [ + { + "name": "Victory Road (Kanto 1F)", + "order": 79, + "encounters": [ + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 20, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 20, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 105, + "pokemon_name": "Marowak", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 28, + "pokemon_name": "Sandslash", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + } + ] + }, + { + "name": "Victory Road (Kanto 3F)", + "order": 80, + "encounters": [ + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 20, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 20, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 105, + "pokemon_name": "Marowak", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 28, + "pokemon_name": "Sandslash", + "method": "walk", + "encounter_rate": 5, + "min_level": 44, + "max_level": 44 + } + ] + }, + { + "name": "Victory Road (Kanto 2F)", + "order": 81, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 20, + "min_level": 34, + "max_level": 34 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 20, + "min_level": 34, + "max_level": 34 + }, + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 57, + "pokemon_name": "Primeape", + "method": "walk", + "encounter_rate": 10, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 34, + "max_level": 34 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 5, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 105, + "pokemon_name": "Marowak", + "method": "walk", + "encounter_rate": 5, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 28, + "pokemon_name": "Sandslash", + "method": "walk", + "encounter_rate": 5, + "min_level": 46, + "max_level": 46 + } + ] + } + ] + }, + { + "name": "Cerulean Cave", + "order": 82, + "encounters": [], + "children": [ + { + "name": "Cerulean Cave (1F)", + "order": 83, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 65, + "min_level": 30, + "max_level": 50 + }, + { + "pokeapi_id": 79, + "pokemon_name": "Slowpoke", + "method": "surf", + "encounter_rate": 65, + "min_level": 30, + "max_level": 50 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 35, + "min_level": 40, + "max_level": 55 + }, + { + "pokeapi_id": 80, + "pokemon_name": "Slowbro", + "method": "surf", + "encounter_rate": 35, + "min_level": 40, + "max_level": 55 + }, + { + "pokeapi_id": 47, + "pokemon_name": "Parasect", + "method": "walk", + "encounter_rate": 25, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 20, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "good-rod", + "encounter_rate": 15, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 14, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 11, + "min_level": 52, + "max_level": 52 + }, + { + "pokeapi_id": 57, + "pokemon_name": "Primeape", + "method": "walk", + "encounter_rate": 11, + "min_level": 52, + "max_level": 52 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 10, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "walk", + "encounter_rate": 5, + "min_level": 58, + "max_level": 58 + }, + { + "pokeapi_id": 79, + "pokemon_name": "Slowpoke", + "method": "super-rod", + "encounter_rate": 5, + "min_level": 15, + "max_level": 35 + }, + { + "pokeapi_id": 202, + "pokemon_name": "Wobbuffet", + "method": "walk", + "encounter_rate": 4, + "min_level": 55, + "max_level": 55 + } + ] + }, + { + "name": "Cerulean Cave (2F)", + "order": 84, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 65, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 35, + "min_level": 45, + "max_level": 60 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 25, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 20, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 47, + "pokemon_name": "Parasect", + "method": "walk", + "encounter_rate": 14, + "min_level": 52, + "max_level": 52 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 11, + "min_level": 55, + "max_level": 55 + }, + { + "pokeapi_id": 64, + "pokemon_name": "Kadabra", + "method": "walk", + "encounter_rate": 11, + "min_level": 55, + "max_level": 55 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 10, + "min_level": 52, + "max_level": 52 + }, + { + "pokeapi_id": 202, + "pokemon_name": "Wobbuffet", + "method": "walk", + "encounter_rate": 5, + "min_level": 58, + "max_level": 58 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "walk", + "encounter_rate": 4, + "min_level": 61, + "max_level": 61 + } + ] + }, + { + "name": "Cerulean Cave (B2F)", + "order": 85, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 202, + "pokemon_name": "Wobbuffet", + "method": "walk", + "encounter_rate": 100, + "min_level": 61, + "max_level": 61 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 65, + "min_level": 40, + "max_level": 60 + }, + { + "pokeapi_id": 79, + "pokemon_name": "Slowpoke", + "method": "surf", + "encounter_rate": 65, + "min_level": 40, + "max_level": 60 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 15, + "max_level": 25 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 35, + "min_level": 50, + "max_level": 65 + }, + { + "pokeapi_id": 80, + "pokemon_name": "Slowbro", + "method": "surf", + "encounter_rate": 35, + "min_level": 50, + "max_level": 65 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 25, + "min_level": 58, + "max_level": 58 + }, + { + "pokeapi_id": 64, + "pokemon_name": "Kadabra", + "method": "walk", + "encounter_rate": 25, + "min_level": 58, + "max_level": 58 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 16, + "min_level": 15, + "max_level": 35 + }, + { + "pokeapi_id": 47, + "pokemon_name": "Parasect", + "method": "walk", + "encounter_rate": 14, + "min_level": 55, + "max_level": 55 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 11, + "min_level": 52, + "max_level": 52 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 10, + "min_level": 52, + "max_level": 52 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 10, + "min_level": 55, + "max_level": 55 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "walk", + "encounter_rate": 4, + "min_level": 64, + "max_level": 64 + }, + { + "pokeapi_id": 79, + "pokemon_name": "Slowpoke", + "method": "super-rod", + "encounter_rate": 4, + "min_level": 15, + "max_level": 25 + } + ] + } + ] + }, + { + "name": "Mt. Ember", + "order": 86, + "encounters": [], + "children": [ + { + "name": "Mt. Ember (Base Area)", + "order": 87, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 95, + "min_level": 5, + "max_level": 30 + }, + { + "pokeapi_id": 77, + "pokemon_name": "Ponyta", + "method": "walk", + "encounter_rate": 35, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 22, + "pokemon_name": "Fearow", + "method": "walk", + "encounter_rate": 25, + "min_level": 38, + "max_level": 38 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 10, + "min_level": 33, + "max_level": 33 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 10, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "walk", + "encounter_rate": 10, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 5, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 126, + "pokemon_name": "Magmar", + "method": "walk", + "encounter_rate": 5, + "min_level": 38, + "max_level": 38 + }, + { + "pokeapi_id": 78, + "pokemon_name": "Rapidash", + "method": "walk", + "encounter_rate": 5, + "min_level": 39, + "max_level": 39 + } + ] + }, + { + "name": "Mt. Ember (1F)", + "order": 88, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 50, + "min_level": 29, + "max_level": 29 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 50, + "min_level": 31, + "max_level": 31 + } + ] + }, + { + "name": "Mt. Ember (3F)", + "order": 89, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 50, + "min_level": 29, + "max_level": 29 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 50, + "min_level": 31, + "max_level": 31 + } + ] + }, + { + "name": "Mt. Ember (2F)", + "order": 90, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 95, + "min_level": 5, + "max_level": 30 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 40, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 40, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 20, + "min_level": 38, + "max_level": 38 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 5, + "min_level": 25, + "max_level": 40 + } + ] + }, + { + "name": "Mt. Ember (Summit)", + "order": 91, + "encounters": [ + { + "pokeapi_id": 146, + "pokemon_name": "Moltres", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 95, + "min_level": 5, + "max_level": 30 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 5, + "min_level": 25, + "max_level": 40 + } + ] + }, + { + "name": "Mt. Ember (Ruby Path 1F)", + "order": 92, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 65, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 50, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 40, + "min_level": 34, + "max_level": 34 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 35, + "min_level": 30, + "max_level": 50 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 10, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Mt. Ember (Ruby Path B1F)", + "order": 93, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 70, + "min_level": 34, + "max_level": 34 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 65, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 35, + "min_level": 30, + "max_level": 50 + }, + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "walk", + "encounter_rate": 30, + "min_level": 24, + "max_level": 24 + } + ] + }, + { + "name": "Mt. Ember (Ruby Path B5F)", + "order": 94, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 70, + "min_level": 34, + "max_level": 34 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 65, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 35, + "min_level": 30, + "max_level": 50 + }, + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "walk", + "encounter_rate": 30, + "min_level": 24, + "max_level": 24 + } + ] + }, + { + "name": "Mt. Ember (Ruby Path B2F)", + "order": 95, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 65, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "walk", + "encounter_rate": 60, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 35, + "min_level": 30, + "max_level": 50 + } + ] + }, + { + "name": "Mt. Ember (Ruby Path B4F)", + "order": 96, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 65, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "walk", + "encounter_rate": 60, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 35, + "min_level": 30, + "max_level": 50 + } + ] + }, + { + "name": "Mt. Ember (Ruby Path B3F)", + "order": 97, + "encounters": [ + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "walk", + "encounter_rate": 100, + "min_level": 18, + "max_level": 18 + }, + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "rock-smash", + "encounter_rate": 90, + "min_level": 15, + "max_level": 35 + }, + { + "pokeapi_id": 219, + "pokemon_name": "Magcargo", + "method": "rock-smash", + "encounter_rate": 10, + "min_level": 25, + "max_level": 45 + } + ] } ] }, diff --git a/backend/src/app/seeds/data/moon.json b/backend/src/app/seeds/data/moon.json index 1f07eec..ae4bba6 100644 --- a/backend/src/app/seeds/data/moon.json +++ b/backend/src/app/seeds/data/moon.json @@ -86,7 +86,8 @@ "min_level": 2, "max_level": 3 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Alola Route 1 (Patch of grass overlooking the bay)", @@ -140,7 +141,8 @@ "min_level": 2, "max_level": 4 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Alola Route 1 (Two fields nearest Iki Town)", @@ -218,7 +220,8 @@ "min_level": 3, "max_level": 5 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Alola Route 1 (Path south of Iki Town blocked by rocks)", @@ -296,7 +299,8 @@ "min_level": 10, "max_level": 13 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Alola Route 1 (Hau'oli Outskirts)", @@ -358,7 +362,8 @@ "min_level": 15, "max_level": 18 } - ] + ], + "pinwheel_zone": 2 } ] }, @@ -2638,8 +2643,22 @@ ] }, { - "name": "Memorial Hill", + "name": "Konikoni City", "order": 50, + "encounters": [ + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "trade", + "encounter_rate": 100, + "min_level": 22, + "max_level": 22 + } + ] + }, + { + "name": "Memorial Hill", + "order": 51, "encounters": [ { "pokeapi_id": 796, @@ -2677,7 +2696,7 @@ }, { "name": "Akala Outskirts", - "order": 51, + "order": 52, "encounters": [ { "pokeapi_id": 170, @@ -2753,20 +2772,6 @@ } ] }, - { - "name": "Konikoni City", - "order": 52, - "encounters": [ - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "trade", - "encounter_rate": 100, - "min_level": 22, - "max_level": 22 - } - ] - }, { "name": "Hano Beach", "order": 53, @@ -2829,23 +2834,9 @@ } ] }, - { - "name": "Ruins of Life", - "order": 54, - "encounters": [ - { - "pokeapi_id": 786, - "pokemon_name": "Tapu Lele", - "method": "static", - "encounter_rate": 100, - "min_level": 60, - "max_level": 60 - } - ] - }, { "name": "Malie City", - "order": 55, + "order": 54, "encounters": [ { "pokeapi_id": 440, @@ -2859,7 +2850,7 @@ "children": [ { "name": "Malie City (Outer Cape)", - "order": 56, + "order": 55, "encounters": [ { "pokeapi_id": 10112, @@ -2907,7 +2898,7 @@ }, { "name": "Malie Garden", - "order": 57, + "order": 56, "encounters": [ { "pokeapi_id": 118, @@ -2993,7 +2984,7 @@ }, { "name": "Alola Route 10", - "order": 58, + "order": 57, "encounters": [ { "pokeapi_id": 739, @@ -3071,7 +3062,7 @@ }, { "name": "Mount Hokulani", - "order": 59, + "order": 58, "encounters": [ { "pokeapi_id": 610, @@ -3133,7 +3124,7 @@ }, { "name": "Alola Route 11", - "order": 60, + "order": 59, "encounters": [ { "pokeapi_id": 288, @@ -3219,12 +3210,12 @@ }, { "name": "Alola Route 12", - "order": 61, + "order": 60, "encounters": [], "children": [ { "name": "Alola Route 12 (First ten patches of grass from the north)", - "order": 62, + "order": 61, "encounters": [ { "pokeapi_id": 10109, @@ -3262,7 +3253,7 @@ }, { "name": "Alola Route 12 (Southernmost patch of grass)", - "order": 63, + "order": 62, "encounters": [ { "pokeapi_id": 10109, @@ -3300,6 +3291,68 @@ } ] }, + { + "name": "Ula'ula Beach", + "order": 63, + "encounters": [ + { + "pokeapi_id": 779, + "pokemon_name": "Bruxish", + "method": "fishing", + "encounter_rate": 100, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 739, + "pokemon_name": "Crabrawler", + "method": "walk", + "encounter_rate": 100, + "min_level": 27, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "fishing", + "encounter_rate": 100, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 746, + "pokemon_name": "Wishiwashi Solo", + "method": "fishing", + "encounter_rate": 50, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "surf", + "encounter_rate": 40, + "min_level": 27, + "max_level": 30 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 40, + "min_level": 27, + "max_level": 30 + }, + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 20, + "min_level": 27, + "max_level": 30 + } + ] + }, { "name": "Blush Mountain", "order": 64, @@ -3454,61 +3507,9 @@ } ] }, - { - "name": "Haina Desert", - "order": 68, - "encounters": [ - { - "pokeapi_id": 797, - "pokemon_name": "Celesteela", - "method": "static", - "encounter_rate": 100, - "min_level": 65, - "max_level": 65 - }, - { - "pokeapi_id": 551, - "pokemon_name": "Sandile", - "method": "walk", - "encounter_rate": 100, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 10106, - "pokemon_name": "Dugtrio (Alola)", - "method": "walk", - "encounter_rate": 50, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 328, - "pokemon_name": "Trapinch", - "method": "walk", - "encounter_rate": 10, - "min_level": 28, - "max_level": 31 - } - ] - }, - { - "name": "Ruins of Abundance", - "order": 69, - "encounters": [ - { - "pokeapi_id": 787, - "pokemon_name": "Tapu Bulu", - "method": "static", - "encounter_rate": 100, - "min_level": 60, - "max_level": 60 - } - ] - }, { "name": "Tapu Village", - "order": 70, + "order": 68, "encounters": [ { "pokeapi_id": 10110, @@ -3576,9 +3577,23 @@ } ] }, + { + "name": "Aether House", + "order": 69, + "encounters": [ + { + "pokeapi_id": 137, + "pokemon_name": "Porygon", + "method": "gift", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + } + ] + }, { "name": "Alola Route 14", - "order": 71, + "order": 70, "encounters": [ { "pokeapi_id": 779, @@ -3632,7 +3647,7 @@ }, { "name": "Thrifty Megamart (Abandoned Site)", - "order": 72, + "order": 71, "encounters": [ { "pokeapi_id": 42, @@ -3670,7 +3685,7 @@ }, { "name": "Alola Route 15", - "order": 73, + "order": 72, "encounters": [ { "pokeapi_id": 779, @@ -3754,23 +3769,9 @@ } ] }, - { - "name": "Aether House", - "order": 74, - "encounters": [ - { - "pokeapi_id": 137, - "pokemon_name": "Porygon", - "method": "gift", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - } - ] - }, { "name": "Alola Route 16", - "order": 75, + "order": 73, "encounters": [ { "pokeapi_id": 739, @@ -3840,7 +3841,7 @@ }, { "name": "Ula'ula Meadow", - "order": 76, + "order": 74, "encounters": [ { "pokeapi_id": 315, @@ -3894,7 +3895,7 @@ }, { "name": "Alola Route 17", - "order": 77, + "order": 75, "encounters": [ { "pokeapi_id": 739, @@ -3978,71 +3979,9 @@ } ] }, - { - "name": "Ula'ula Beach", - "order": 78, - "encounters": [ - { - "pokeapi_id": 779, - "pokemon_name": "Bruxish", - "method": "fishing", - "encounter_rate": 100, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 739, - "pokemon_name": "Crabrawler", - "method": "walk", - "encounter_rate": 100, - "min_level": 27, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "fishing", - "encounter_rate": 100, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 746, - "pokemon_name": "Wishiwashi Solo", - "method": "fishing", - "encounter_rate": 50, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 456, - "pokemon_name": "Finneon", - "method": "surf", - "encounter_rate": 40, - "min_level": 27, - "max_level": 30 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 40, - "min_level": 27, - "max_level": 30 - }, - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 20, - "min_level": 27, - "max_level": 30 - } - ] - }, { "name": "Aether Paradise", - "order": 79, + "order": 76, "encounters": [ { "pokeapi_id": 772, @@ -4056,7 +3995,7 @@ }, { "name": "Seafolk Village", - "order": 80, + "order": 77, "encounters": [ { "pokeapi_id": 142, @@ -4102,7 +4041,7 @@ }, { "name": "Poni Wilds", - "order": 81, + "order": 78, "encounters": [ { "pokeapi_id": 739, @@ -4260,7 +4199,7 @@ }, { "name": "Ancient Poni Path", - "order": 82, + "order": 79, "encounters": [ { "pokeapi_id": 500, @@ -4322,7 +4261,7 @@ }, { "name": "Poni Breaker Coast", - "order": 83, + "order": 80, "encounters": [ { "pokeapi_id": 129, @@ -4358,23 +4297,9 @@ } ] }, - { - "name": "Ruins of Hope", - "order": 84, - "encounters": [ - { - "pokeapi_id": 788, - "pokemon_name": "Tapu Fini", - "method": "static", - "encounter_rate": 100, - "min_level": 60, - "max_level": 60 - } - ] - }, { "name": "Exeggutor Island", - "order": 85, + "order": 81, "encounters": [ { "pokeapi_id": 10114, @@ -4436,12 +4361,12 @@ }, { "name": "Vast Poni Canyon", - "order": 86, + "order": 82, "encounters": [], "children": [ { "name": "Vast Poni Canyon (Canyon)", - "order": 87, + "order": 83, "encounters": [ { "pokeapi_id": 67, @@ -4511,7 +4436,7 @@ }, { "name": "Vast Poni Canyon (Caves)", - "order": 88, + "order": 84, "encounters": [ { "pokeapi_id": 147, @@ -4591,17 +4516,40 @@ }, { "name": "Altar of the Sunne", - "order": 89, - "encounters": [] + "order": 85, + "encounters": [ + { + "pokeapi_id": 791, + "pokemon_name": "Solgaleo", + "method": "Static", + "encounter_rate": 100, + "min_level": 55, + "max_level": 55 + } + ] + }, + { + "name": "Altar of Moone", + "order": 86, + "encounters": [ + { + "pokeapi_id": 792, + "pokemon_name": "Lunala", + "method": "Static", + "encounter_rate": 100, + "min_level": 55, + "max_level": 55 + } + ] }, { "name": "Mount Lanakila", - "order": 90, + "order": 87, "encounters": [], "children": [ { "name": "Mount Lanakila (Southern patch near base and patch near peak)", - "order": 91, + "order": 88, "encounters": [ { "pokeapi_id": 10101, @@ -4639,7 +4587,7 @@ }, { "name": "Mount Lanakila (Northern patch near base)", - "order": 92, + "order": 89, "encounters": [ { "pokeapi_id": 10101, @@ -4677,7 +4625,7 @@ }, { "name": "Mount Lanakila (Icy Cave Right)", - "order": 93, + "order": 90, "encounters": [ { "pokeapi_id": 42, @@ -4725,12 +4673,26 @@ }, { "name": "Lake of the Sunne", - "order": 94, + "order": 91, "encounters": [] }, + { + "name": "Lake of Moone", + "order": 92, + "encounters": [ + { + "pokeapi_id": 789, + "pokemon_name": "Cosmog", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + } + ] + }, { "name": "Poni Grove", - "order": 95, + "order": 93, "encounters": [ { "pokeapi_id": 604, @@ -4792,7 +4754,7 @@ }, { "name": "Poni Plains", - "order": 96, + "order": 94, "encounters": [ { "pokeapi_id": 534, @@ -4886,7 +4848,7 @@ "children": [ { "name": "Poni Plains (Seven patches of grass in the middle)", - "order": 97, + "order": 95, "encounters": [ { "pokeapi_id": 735, @@ -4940,7 +4902,7 @@ }, { "name": "Poni Plains (Two big patches of grass in the north and center)", - "order": 98, + "order": 96, "encounters": [ { "pokeapi_id": 735, @@ -5002,7 +4964,7 @@ }, { "name": "Poni Plains (Three patches of grass by the mountains)", - "order": 99, + "order": 97, "encounters": [ { "pokeapi_id": 22, @@ -5072,7 +5034,7 @@ }, { "name": "Poni Plains (Three patches of grass by the coastline)", - "order": 100, + "order": 98, "encounters": [ { "pokeapi_id": 735, @@ -5136,7 +5098,7 @@ }, { "name": "Poni Meadow", - "order": 101, + "order": 99, "encounters": [ { "pokeapi_id": 147, @@ -5198,7 +5160,7 @@ }, { "name": "Poni Coast", - "order": 102, + "order": 100, "encounters": [ { "pokeapi_id": 10106, @@ -5212,7 +5174,7 @@ }, { "name": "Poni Gauntlet", - "order": 103, + "order": 101, "encounters": [ { "pokeapi_id": 147, @@ -5306,7 +5268,7 @@ }, { "name": "Resolution Cave", - "order": 104, + "order": 102, "encounters": [ { "pokeapi_id": 799, @@ -5320,7 +5282,7 @@ "children": [ { "name": "Resolution Cave (Outside)", - "order": 105, + "order": 103, "encounters": [ { "pokeapi_id": 42, @@ -5342,7 +5304,7 @@ }, { "name": "Resolution Cave (Inside)", - "order": 106, + "order": 104, "encounters": [ { "pokeapi_id": 42, @@ -5364,6 +5326,58 @@ } ] }, + { + "name": "Haina Desert", + "order": 105, + "encounters": [ + { + "pokeapi_id": 797, + "pokemon_name": "Celesteela", + "method": "static", + "encounter_rate": 100, + "min_level": 65, + "max_level": 65 + }, + { + "pokeapi_id": 551, + "pokemon_name": "Sandile", + "method": "walk", + "encounter_rate": 100, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 10106, + "pokemon_name": "Dugtrio (Alola)", + "method": "walk", + "encounter_rate": 50, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 328, + "pokemon_name": "Trapinch", + "method": "walk", + "encounter_rate": 10, + "min_level": 28, + "max_level": 31 + } + ] + }, + { + "name": "Ruins of Hope", + "order": 106, + "encounters": [ + { + "pokeapi_id": 788, + "pokemon_name": "Tapu Fini", + "method": "static", + "encounter_rate": 100, + "min_level": 60, + "max_level": 60 + } + ] + }, { "name": "Ruins of Conflict", "order": 107, @@ -5377,5 +5391,33 @@ "max_level": 60 } ] + }, + { + "name": "Ruins of Life", + "order": 108, + "encounters": [ + { + "pokeapi_id": 786, + "pokemon_name": "Tapu Lele", + "method": "static", + "encounter_rate": 100, + "min_level": 60, + "max_level": 60 + } + ] + }, + { + "name": "Ruins of Abundance", + "order": 109, + "encounters": [ + { + "pokeapi_id": 787, + "pokemon_name": "Tapu Bulu", + "method": "static", + "encounter_rate": 100, + "min_level": 60, + "max_level": 60 + } + ] } ] diff --git a/backend/src/app/seeds/data/omega-ruby-bosses.json b/backend/src/app/seeds/data/omega-ruby-bosses.json index 7b7ff39..6429d51 100644 --- a/backend/src/app/seeds/data/omega-ruby-bosses.json +++ b/backend/src/app/seeds/data/omega-ruby-bosses.json @@ -35,7 +35,7 @@ "badge_image_url": "/badges/dynamo-badge.png", "level_cap": 24, "order": 3, - "after_route_name": null, + "after_route_name": "Hoenn Route 110", "location": "Mauville Gym", "section": "Main Story", "sprite_url": "/boss-sprites/omega-ruby/wattson.png", @@ -119,7 +119,7 @@ "badge_image_url": null, "level_cap": 50, "order": 9, - "after_route_name": null, + "after_route_name": "Victory Road (Hoenn)", "location": "Ever Grande City", "section": "Main Story", "sprite_url": "/boss-sprites/omega-ruby/sidney.png", @@ -133,7 +133,7 @@ "badge_image_url": null, "level_cap": 52, "order": 10, - "after_route_name": null, + "after_route_name": "Victory Road (Hoenn)", "location": "Ever Grande City", "section": "Main Story", "sprite_url": "/boss-sprites/omega-ruby/phoebe.png", @@ -147,7 +147,7 @@ "badge_image_url": null, "level_cap": 54, "order": 11, - "after_route_name": null, + "after_route_name": "Victory Road (Hoenn)", "location": "Ever Grande City", "section": "Main Story", "sprite_url": "/boss-sprites/omega-ruby/glacia.png", @@ -161,7 +161,7 @@ "badge_image_url": null, "level_cap": 55, "order": 12, - "after_route_name": null, + "after_route_name": "Victory Road (Hoenn)", "location": "Ever Grande City", "section": "Main Story", "sprite_url": "/boss-sprites/omega-ruby/drake.png", @@ -175,7 +175,7 @@ "badge_image_url": null, "level_cap": 57, "order": 13, - "after_route_name": null, + "after_route_name": "Victory Road (Hoenn)", "location": "Ever Grande City", "section": "Main Story", "sprite_url": "/boss-sprites/omega-ruby/steven.png", diff --git a/backend/src/app/seeds/data/omega-ruby.json b/backend/src/app/seeds/data/omega-ruby.json index d99a9ce..98cf703 100644 --- a/backend/src/app/seeds/data/omega-ruby.json +++ b/backend/src/app/seeds/data/omega-ruby.json @@ -862,31 +862,9 @@ } ] }, - { - "name": "Rusturf Tunnel", - "order": 10, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 100, - "min_level": 14, - "max_level": 17 - }, - { - "pokeapi_id": 293, - "pokemon_name": "Whismur", - "method": "walk", - "encounter_rate": 100, - "min_level": 5, - "max_level": 10 - } - ] - }, { "name": "Hoenn Route 116", - "order": 11, + "order": 10, "encounters": [ { "pokeapi_id": 133, @@ -954,6 +932,28 @@ } ] }, + { + "name": "Rusturf Tunnel", + "order": 11, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 100, + "min_level": 14, + "max_level": 17 + }, + { + "pokeapi_id": 293, + "pokemon_name": "Whismur", + "method": "walk", + "encounter_rate": 100, + "min_level": 5, + "max_level": 10 + } + ] + }, { "name": "Rustboro City", "order": 12, @@ -2159,39 +2159,9 @@ } ] }, - { - "name": "New Mauville", - "order": 26, - "encounters": [ - { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "walk", - "encounter_rate": 100, - "min_level": 12, - "max_level": 25 - }, - { - "pokeapi_id": 81, - "pokemon_name": "Magnemite", - "method": "walk", - "encounter_rate": 85, - "min_level": 12, - "max_level": 25 - }, - { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "static", - "encounter_rate": 33, - "min_level": 25, - "max_level": 25 - } - ] - }, { "name": "Hoenn Route 117", - "order": 27, + "order": 26, "encounters": [ { "pokeapi_id": 585, @@ -2365,12 +2335,12 @@ }, { "name": "Hoenn Route 111", - "order": 28, + "order": 27, "encounters": [], "children": [ { "name": "Hoenn Route 111 (South section)", - "order": 29, + "order": 28, "encounters": [ { "pokeapi_id": 339, @@ -2464,7 +2434,7 @@ }, { "name": "Hoenn Route 111 (Desert)", - "order": 30, + "order": 29, "encounters": [ { "pokeapi_id": 557, @@ -2526,28 +2496,14 @@ } ] }, - { - "name": "Desert Ruins", - "order": 31, - "encounters": [ - { - "pokeapi_id": 377, - "pokemon_name": "Regirock", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - } - ] - }, { "name": "Hoenn Route 112", - "order": 32, + "order": 30, "encounters": [], "children": [ { "name": "Hoenn Route 112 (South section)", - "order": 33, + "order": 31, "encounters": [ { "pokeapi_id": 322, @@ -2593,7 +2549,7 @@ }, { "name": "Hoenn Route 112 (North section)", - "order": 34, + "order": 32, "encounters": [ { "pokeapi_id": 322, @@ -2641,7 +2597,7 @@ }, { "name": "Fiery Path", - "order": 35, + "order": 33, "encounters": [ { "pokeapi_id": 50, @@ -2717,93 +2673,9 @@ } ] }, - { - "name": "Jagged Pass", - "order": 36, - "encounters": [ - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 100, - "min_level": 10, - "max_level": 21 - }, - { - "pokeapi_id": 56, - "pokemon_name": "Mankey", - "method": "walk", - "encounter_rate": 100, - "min_level": 21, - "max_level": 21 - }, - { - "pokeapi_id": 77, - "pokemon_name": "Ponyta", - "method": "walk", - "encounter_rate": 100, - "min_level": 21, - "max_level": 21 - }, - { - "pokeapi_id": 236, - "pokemon_name": "Tyrogue", - "method": "walk", - "encounter_rate": 100, - "min_level": 21, - "max_level": 21 - }, - { - "pokeapi_id": 325, - "pokemon_name": "Spoink", - "method": "walk", - "encounter_rate": 55, - "min_level": 10, - "max_level": 21 - }, - { - "pokeapi_id": 322, - "pokemon_name": "Numel", - "method": "walk", - "encounter_rate": 40, - "min_level": 18, - "max_level": 21 - } - ] - }, - { - "name": "Lavaridge Town", - "order": 37, - "encounters": [ - { - "pokeapi_id": 352, - "pokemon_name": "Kecleon", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 175, - "pokemon_name": "Togepi", - "method": "gift", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - }, - { - "pokeapi_id": 360, - "pokemon_name": "Wynaut", - "method": "gift", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - } - ] - }, { "name": "Hoenn Route 113", - "order": 38, + "order": 34, "encounters": [ { "pokeapi_id": 626, @@ -2855,9 +2727,31 @@ } ] }, + { + "name": "Fallarbor Town", + "order": 35, + "encounters": [ + { + "pokeapi_id": 10082, + "pokemon_name": "Pikachu (Pop Star)", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 10080, + "pokemon_name": "Pikachu (Rock Star)", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + } + ] + }, { "name": "Hoenn Route 114", - "order": 39, + "order": 36, "encounters": [ { "pokeapi_id": 339, @@ -3015,12 +2909,12 @@ }, { "name": "Meteor Falls", - "order": 40, + "order": 37, "encounters": [], "children": [ { "name": "Meteor Falls (1F 1R)", - "order": 41, + "order": 38, "encounters": [ { "pokeapi_id": 339, @@ -3138,7 +3032,7 @@ }, { "name": "Meteor Falls (1F 2R)", - "order": 42, + "order": 39, "encounters": [ { "pokeapi_id": 35, @@ -3264,7 +3158,7 @@ }, { "name": "Meteor Falls (B1F 1R)", - "order": 43, + "order": 40, "encounters": [ { "pokeapi_id": 35, @@ -3390,7 +3284,7 @@ }, { "name": "Meteor Falls (B1F 2R)", - "order": 44, + "order": 41, "encounters": [ { "pokeapi_id": 35, @@ -3526,7 +3420,7 @@ }, { "name": "Hoenn Route 115", - "order": 45, + "order": 42, "encounters": [ { "pokeapi_id": 35, @@ -3659,36 +3553,92 @@ ] }, { - "name": "Fortree City", - "order": 46, + "name": "Jagged Pass", + "order": 43, "encounters": [ { - "pokeapi_id": 300, - "pokemon_name": "Skitty", - "method": "trade", + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", "encounter_rate": 100, - "min_level": 30, - "max_level": 30 + "min_level": 10, + "max_level": 21 + }, + { + "pokeapi_id": 56, + "pokemon_name": "Mankey", + "method": "walk", + "encounter_rate": 100, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 77, + "pokemon_name": "Ponyta", + "method": "walk", + "encounter_rate": 100, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 236, + "pokemon_name": "Tyrogue", + "method": "walk", + "encounter_rate": 100, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 325, + "pokemon_name": "Spoink", + "method": "walk", + "encounter_rate": 55, + "min_level": 10, + "max_level": 21 + }, + { + "pokeapi_id": 322, + "pokemon_name": "Numel", + "method": "walk", + "encounter_rate": 40, + "min_level": 18, + "max_level": 21 } ] }, { - "name": "Weather Institute", - "order": 47, + "name": "Lavaridge Town", + "order": 44, "encounters": [ { - "pokeapi_id": 351, - "pokemon_name": "Castform", + "pokeapi_id": 352, + "pokemon_name": "Kecleon", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 175, + "pokemon_name": "Togepi", "method": "gift", "encounter_rate": 100, - "min_level": 30, - "max_level": 30 + "min_level": 1, + "max_level": 1 + }, + { + "pokeapi_id": 360, + "pokemon_name": "Wynaut", + "method": "gift", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 } ] }, { "name": "Hoenn Route 118", - "order": 48, + "order": 45, "encounters": [ { "pokeapi_id": 190, @@ -3836,9 +3786,31 @@ } ] }, + { + "name": "Southern Island", + "order": 46, + "encounters": [ + { + "pokeapi_id": 381, + "pokemon_name": "Latios", + "method": "gift", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 381, + "pokemon_name": "Latios", + "method": "static", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + } + ] + }, { "name": "Hoenn Route 119", - "order": 49, + "order": 47, "encounters": [ { "pokeapi_id": 349, @@ -3986,6 +3958,34 @@ } ] }, + { + "name": "Weather Institute", + "order": 48, + "encounters": [ + { + "pokeapi_id": 351, + "pokemon_name": "Castform", + "method": "gift", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + } + ] + }, + { + "name": "Fortree City", + "order": 49, + "encounters": [ + { + "pokeapi_id": 300, + "pokemon_name": "Skitty", + "method": "trade", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + } + ] + }, { "name": "Hoenn Route 120", "order": 50, @@ -4859,119 +4859,9 @@ } ] }, - { - "name": "Lilycove City", - "order": 59, - "encounters": [ - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 100, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 10082, - "pokemon_name": "Pikachu (Pop Star)", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 10080, - "pokemon_name": "Pikachu (Rock Star)", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "super-rod", - "encounter_rate": 95, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 65, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 278, - "pokemon_name": "Wingull", - "method": "surf", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 120, - "pokemon_name": "Staryu", - "method": "super-rod", - "encounter_rate": 5, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ] - }, { "name": "Hoenn Route 122", - "order": 60, + "order": 59, "encounters": [ { "pokeapi_id": 594, @@ -5073,12 +4963,12 @@ }, { "name": "Mt. Pyre", - "order": 61, + "order": 60, "encounters": [], "children": [ { "name": "Mt. Pyre (1F)", - "order": 62, + "order": 61, "encounters": [ { "pokeapi_id": 353, @@ -5100,7 +4990,7 @@ }, { "name": "Mt. Pyre (2F)", - "order": 63, + "order": 62, "encounters": [ { "pokeapi_id": 353, @@ -5122,7 +5012,7 @@ }, { "name": "Mt. Pyre (3F)", - "order": 64, + "order": 63, "encounters": [ { "pokeapi_id": 353, @@ -5144,7 +5034,7 @@ }, { "name": "Mt. Pyre (4F)", - "order": 65, + "order": 64, "encounters": [ { "pokeapi_id": 353, @@ -5166,7 +5056,7 @@ }, { "name": "Mt. Pyre (Outside)", - "order": 66, + "order": 65, "encounters": [ { "pokeapi_id": 436, @@ -5228,7 +5118,7 @@ }, { "name": "Mt. Pyre (Summit)", - "order": 67, + "order": 66, "encounters": [ { "pokeapi_id": 436, @@ -5292,7 +5182,7 @@ }, { "name": "Hoenn Route 123", - "order": 68, + "order": 67, "encounters": [ { "pokeapi_id": 341, @@ -5432,6 +5322,116 @@ } ] }, + { + "name": "Lilycove City", + "order": 68, + "encounters": [ + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 100, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 10082, + "pokemon_name": "Pikachu (Pop Star)", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 10080, + "pokemon_name": "Pikachu (Rock Star)", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 95, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 65, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 278, + "pokemon_name": "Wingull", + "method": "surf", + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 120, + "pokemon_name": "Staryu", + "method": "super-rod", + "encounter_rate": 5, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + }, { "name": "Team Magma Hideout", "order": 69, @@ -5511,8 +5511,13 @@ ] }, { - "name": "Hoenn Route 124", + "name": "Team Aqua Hideout", "order": 70, + "encounters": [] + }, + { + "name": "Hoenn Route 124", + "order": 71, "encounters": [ { "pokeapi_id": 594, @@ -5614,7 +5619,7 @@ "children": [ { "name": "Hoenn Route 124 (Underwater)", - "order": 71, + "order": 72, "encounters": [ { "pokeapi_id": 170, @@ -5654,7 +5659,7 @@ }, { "name": "Mossdeep City", - "order": 72, + "order": 73, "encounters": [ { "pokeapi_id": 374, @@ -5740,7 +5745,7 @@ }, { "name": "Hoenn Route 125", - "order": 73, + "order": 74, "encounters": [ { "pokeapi_id": 456, @@ -5842,12 +5847,12 @@ }, { "name": "Shoal Cave", - "order": 74, + "order": 75, "encounters": [], "children": [ { "name": "Shoal Cave (High Tide)", - "order": 75, + "order": 76, "encounters": [ { "pokeapi_id": 613, @@ -5981,7 +5986,7 @@ }, { "name": "Shoal Cave (Low Tide)", - "order": 76, + "order": 77, "encounters": [ { "pokeapi_id": 613, @@ -6059,7 +6064,7 @@ }, { "name": "Shoal Cave (Ice Room)", - "order": 77, + "order": 78, "encounters": [ { "pokeapi_id": 41, @@ -6105,243 +6110,9 @@ } ] }, - { - "name": "Hoenn Route 126", - "order": 78, - "encounters": [ - { - "pokeapi_id": 594, - "pokemon_name": "Alomomola", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 456, - "pokemon_name": "Finneon", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 592, - "pokemon_name": "Frillish", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 50, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 15, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ], - "children": [ - { - "name": "Hoenn Route 126 (Underwater)", - "order": 79, - "encounters": [ - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "surf", - "encounter_rate": 50, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 366, - "pokemon_name": "Clamperl", - "method": "surf", - "encounter_rate": 30, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 171, - "pokemon_name": "Lanturn", - "method": "surf", - "encounter_rate": 15, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 369, - "pokemon_name": "Relicanth", - "method": "surf", - "encounter_rate": 5, - "min_level": 30, - "max_level": 30 - } - ] - } - ] - }, - { - "name": "Sootopolis City", - "order": 80, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "surf", - "encounter_rate": 100, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 100, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 95, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 5, - "min_level": 40, - "max_level": 40 - } - ] - }, - { - "name": "Cave of Origin", - "order": 81, - "encounters": [ - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 100, - "min_level": 18, - "max_level": 18 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 69, - "min_level": 33, - "max_level": 36 - }, - { - "pokeapi_id": 303, - "pokemon_name": "Mawile", - "method": "walk", - "encounter_rate": 31, - "min_level": 33, - "max_level": 36 - } - ], - "children": [ - { - "name": "Cave of Origin (B5F)", - "order": 82, - "encounters": [ - { - "pokeapi_id": 10078, - "pokemon_name": "Groudon (Primal)", - "method": "static", - "encounter_rate": 100, - "min_level": 45, - "max_level": 45 - } - ] - } - ] - }, { "name": "Hoenn Route 127", - "order": 83, + "order": 79, "encounters": [ { "pokeapi_id": 594, @@ -6443,7 +6214,7 @@ }, { "name": "Hoenn Route 128", - "order": 84, + "order": 80, "encounters": [ { "pokeapi_id": 594, @@ -6561,7 +6332,7 @@ "children": [ { "name": "Hoenn Route 128 (Underwater)", - "order": 85, + "order": 81, "encounters": [ { "pokeapi_id": 369, @@ -6609,12 +6380,12 @@ }, { "name": "Seafloor Cavern", - "order": 86, + "order": 82, "encounters": [], "children": [ { "name": "Seafloor Cavern (Entrance)", - "order": 87, + "order": 83, "encounters": [ { "pokeapi_id": 320, @@ -6684,7 +6455,7 @@ }, { "name": "Seafloor Cavern (Room 1)", - "order": 88, + "order": 84, "encounters": [ { "pokeapi_id": 42, @@ -6714,7 +6485,7 @@ }, { "name": "Seafloor Cavern (Room 2)", - "order": 89, + "order": 85, "encounters": [ { "pokeapi_id": 42, @@ -6744,7 +6515,7 @@ }, { "name": "Seafloor Cavern (Room 4)", - "order": 90, + "order": 86, "encounters": [ { "pokeapi_id": 42, @@ -6774,7 +6545,7 @@ }, { "name": "Seafloor Cavern (Room 5)", - "order": 91, + "order": 87, "encounters": [ { "pokeapi_id": 42, @@ -6860,7 +6631,7 @@ }, { "name": "Seafloor Cavern (Room 6)", - "order": 92, + "order": 88, "encounters": [ { "pokeapi_id": 42, @@ -6946,7 +6717,7 @@ }, { "name": "Seafloor Cavern (Room 3)", - "order": 93, + "order": 89, "encounters": [ { "pokeapi_id": 42, @@ -6968,7 +6739,7 @@ }, { "name": "Seafloor Cavern (Room 7)", - "order": 94, + "order": 90, "encounters": [ { "pokeapi_id": 42, @@ -6990,7 +6761,7 @@ }, { "name": "Seafloor Cavern (Room 8)", - "order": 95, + "order": 91, "encounters": [ { "pokeapi_id": 42, @@ -7012,7 +6783,7 @@ }, { "name": "Seafloor Cavern (Room 9)", - "order": 96, + "order": 92, "encounters": [ { "pokeapi_id": 42, @@ -7034,9 +6805,273 @@ } ] }, + { + "name": "Hoenn Route 126", + "order": 93, + "encounters": [ + { + "pokeapi_id": 594, + "pokemon_name": "Alomomola", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 592, + "pokemon_name": "Frillish", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 50, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 15, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ], + "children": [ + { + "name": "Hoenn Route 126 (Underwater)", + "order": 94, + "encounters": [ + { + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "surf", + "encounter_rate": 50, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 366, + "pokemon_name": "Clamperl", + "method": "surf", + "encounter_rate": 30, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 171, + "pokemon_name": "Lanturn", + "method": "surf", + "encounter_rate": 15, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 369, + "pokemon_name": "Relicanth", + "method": "surf", + "encounter_rate": 5, + "min_level": 30, + "max_level": 30 + } + ] + } + ] + }, + { + "name": "Sootopolis City", + "order": 95, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "surf", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 95, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 5, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Cave of Origin", + "order": 96, + "encounters": [ + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 100, + "min_level": 18, + "max_level": 18 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 69, + "min_level": 33, + "max_level": 36 + }, + { + "pokeapi_id": 303, + "pokemon_name": "Mawile", + "method": "walk", + "encounter_rate": 31, + "min_level": 33, + "max_level": 36 + } + ], + "children": [ + { + "name": "Cave of Origin (B5F)", + "order": 97, + "encounters": [ + { + "pokeapi_id": 10078, + "pokemon_name": "Groudon (Primal)", + "method": "static", + "encounter_rate": 100, + "min_level": 45, + "max_level": 45 + } + ] + } + ] + }, + { + "name": "New Mauville", + "order": 98, + "encounters": [ + { + "pokeapi_id": 100, + "pokemon_name": "Voltorb", + "method": "walk", + "encounter_rate": 100, + "min_level": 12, + "max_level": 25 + }, + { + "pokeapi_id": 81, + "pokemon_name": "Magnemite", + "method": "walk", + "encounter_rate": 85, + "min_level": 12, + "max_level": 25 + }, + { + "pokeapi_id": 100, + "pokemon_name": "Voltorb", + "method": "static", + "encounter_rate": 33, + "min_level": 25, + "max_level": 25 + } + ] + }, { "name": "Hoenn Route 129", - "order": 97, + "order": 99, "encounters": [ { "pokeapi_id": 594, @@ -7138,7 +7173,7 @@ "children": [ { "name": "Hoenn Route 129 (Underwater)", - "order": 98, + "order": 100, "encounters": [ { "pokeapi_id": 170, @@ -7178,7 +7213,7 @@ }, { "name": "Hoenn Route 130", - "order": 99, + "order": 101, "encounters": [ { "pokeapi_id": 594, @@ -7296,7 +7331,7 @@ "children": [ { "name": "Hoenn Route 130 (Underwater)", - "order": 100, + "order": 102, "encounters": [ { "pokeapi_id": 170, @@ -7336,210 +7371,6 @@ }, { "name": "Hoenn Route 131", - "order": 101, - "encounters": [ - { - "pokeapi_id": 594, - "pokemon_name": "Alomomola", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 456, - "pokemon_name": "Finneon", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 592, - "pokemon_name": "Frillish", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "super-rod", - "encounter_rate": 60, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 50, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "super-rod", - "encounter_rate": 35, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 15, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 117, - "pokemon_name": "Seadra", - "method": "super-rod", - "encounter_rate": 5, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ] - }, - { - "name": "Pacifidlog Town", - "order": 102, - "encounters": [ - { - "pokeapi_id": 222, - "pokemon_name": "Corsola", - "method": "trade", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 50, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 15, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ] - }, - { - "name": "Hoenn Route 132", "order": 103, "encounters": [ { @@ -7657,8 +7488,212 @@ ] }, { - "name": "Hoenn Route 133", + "name": "Pacifidlog Town", "order": 104, + "encounters": [ + { + "pokeapi_id": 222, + "pokemon_name": "Corsola", + "method": "trade", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 50, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 15, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + }, + { + "name": "Hoenn Route 132", + "order": 105, + "encounters": [ + { + "pokeapi_id": 594, + "pokemon_name": "Alomomola", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 592, + "pokemon_name": "Frillish", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 60, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 50, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "super-rod", + "encounter_rate": 35, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 15, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 117, + "pokemon_name": "Seadra", + "method": "super-rod", + "encounter_rate": 5, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + }, + { + "name": "Hoenn Route 133", + "order": 106, "encounters": [ { "pokeapi_id": 594, @@ -7776,7 +7811,7 @@ }, { "name": "Hoenn Route 134", - "order": 105, + "order": 107, "encounters": [ { "pokeapi_id": 594, @@ -7892,9 +7927,532 @@ } ] }, + { + "name": "Sealed Chamber", + "order": 108, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 65, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 60, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "surf", + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "surf", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + }, + { + "name": "Island Cave", + "order": 109, + "encounters": [ + { + "pokeapi_id": 378, + "pokemon_name": "Regice", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 486, + "pokemon_name": "Regigigas", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + } + ] + }, + { + "name": "Desert Ruins", + "order": 110, + "encounters": [ + { + "pokeapi_id": 377, + "pokemon_name": "Regirock", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Ancient Tomb", + "order": 111, + "encounters": [ + { + "pokeapi_id": 379, + "pokemon_name": "Registeel", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Sea Mauville", + "order": 112, + "encounters": [ + { + "pokeapi_id": 250, + "pokemon_name": "Ho Oh", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 442, + "pokemon_name": "Spiritomb", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + } + ], + "children": [ + { + "name": "Sea Mauville (Outside)", + "order": 113, + "encounters": [ + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 65, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 278, + "pokemon_name": "Wingull", + "method": "surf", + "encounter_rate": 34, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + }, + { + "name": "Sea Mauville (Inside)", + "order": 114, + "encounters": [ + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 100, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 320, + "pokemon_name": "Wailmer", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + } + ] + }, + { + "name": "Scorched Slab", + "order": 115, + "encounters": [], + "children": [ + { + "name": "Scorched Slab (1F)", + "order": 116, + "encounters": [ + { + "pokeapi_id": 339, + "pokemon_name": "Barboach", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 100, + "min_level": 26, + "max_level": 29 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "surf", + "encounter_rate": 50, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "surf", + "encounter_rate": 50, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 339, + "pokemon_name": "Barboach", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + }, + { + "name": "Scorched Slab (B1F)", + "order": 117, + "encounters": [ + { + "pokeapi_id": 339, + "pokemon_name": "Barboach", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 100, + "min_level": 26, + "max_level": 29 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 100, + "min_level": 14, + "max_level": 14 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 65, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "surf", + "encounter_rate": 50, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "surf", + "encounter_rate": 50, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "old-rod", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 35, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 339, + "pokemon_name": "Barboach", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 25 + } + ] + }, + { + "name": "Scorched Slab (B2F)", + "order": 118, + "encounters": [ + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 100, + "min_level": 26, + "max_level": 29 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 100, + "min_level": 14, + "max_level": 14 + } + ] + }, + { + "name": "Scorched Slab (B3F)", + "order": 119, + "encounters": [ + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 100, + "min_level": 26, + "max_level": 29 + }, + { + "pokeapi_id": 485, + "pokemon_name": "Heatran", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 100, + "min_level": 14, + "max_level": 14 + } + ] + } + ] + }, { "name": "Ever Grande City", - "order": 106, + "order": 120, "encounters": [ { "pokeapi_id": 129, @@ -7988,12 +8546,12 @@ }, { "name": "Victory Road (Hoenn)", - "order": 107, + "order": 121, "encounters": [], "children": [ { "name": "Victory Road (Hoenn Entrance)", - "order": 108, + "order": 122, "encounters": [ { "pokeapi_id": 129, @@ -8143,7 +8701,7 @@ }, { "name": "Victory Road (Hoenn 1F)", - "order": 109, + "order": 123, "encounters": [ { "pokeapi_id": 129, @@ -8293,7 +8851,7 @@ }, { "name": "Victory Road (Hoenn B1F)", - "order": 110, + "order": 124, "encounters": [ { "pokeapi_id": 129, @@ -8443,7 +9001,7 @@ }, { "name": "Victory Road (Hoenn 2F)", - "order": 111, + "order": 125, "encounters": [ { "pokeapi_id": 339, @@ -8507,7 +9065,7 @@ }, { "name": "Sky Pillar", - "order": 112, + "order": 126, "encounters": [ { "pokeapi_id": 386, @@ -8553,7 +9111,7 @@ "children": [ { "name": "Sky Pillar (1F)", - "order": 113, + "order": 127, "encounters": [ { "pokeapi_id": 168, @@ -8591,7 +9149,7 @@ }, { "name": "Sky Pillar (2F)", - "order": 114, + "order": 128, "encounters": [ { "pokeapi_id": 168, @@ -8629,7 +9187,7 @@ }, { "name": "Sky Pillar (3F)", - "order": 115, + "order": 129, "encounters": [ { "pokeapi_id": 168, @@ -8667,7 +9225,7 @@ }, { "name": "Sky Pillar (4F)", - "order": 116, + "order": 130, "encounters": [ { "pokeapi_id": 168, @@ -8705,7 +9263,7 @@ }, { "name": "Sky Pillar (5F)", - "order": 117, + "order": 131, "encounters": [ { "pokeapi_id": 168, @@ -8743,346 +9301,9 @@ } ] }, - { - "name": "Ancient Tomb", - "order": 118, - "encounters": [ - { - "pokeapi_id": 379, - "pokemon_name": "Registeel", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - } - ] - }, - { - "name": "Island Cave", - "order": 119, - "encounters": [ - { - "pokeapi_id": 378, - "pokemon_name": "Regice", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 486, - "pokemon_name": "Regigigas", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - } - ] - }, - { - "name": "Southern Island", - "order": 120, - "encounters": [ - { - "pokeapi_id": 381, - "pokemon_name": "Latios", - "method": "gift", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 381, - "pokemon_name": "Latios", - "method": "static", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - } - ] - }, - { - "name": "Mirage Island", - "order": 121, - "encounters": [], - "children": [ - { - "name": "Mirage Island (North Route 113)", - "order": 122, - "encounters": [ - { - "pokeapi_id": 555, - "pokemon_name": "Darmanitan Standard", - "method": "walk", - "encounter_rate": 60, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 636, - "pokemon_name": "Larvesta", - "method": "walk", - "encounter_rate": 40, - "min_level": 36, - "max_level": 38 - } - ] - }, - { - "name": "Mirage Island (North Route 124)", - "order": 123, - "encounters": [ - { - "pokeapi_id": 49, - "pokemon_name": "Venomoth", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 178, - "pokemon_name": "Xatu", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 523, - "pokemon_name": "Zebstrika", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 53, - "pokemon_name": "Persian", - "method": "walk", - "encounter_rate": 10, - "min_level": 36, - "max_level": 38 - } - ] - }, - { - "name": "Mirage Island (North Route 125)", - "order": 124, - "encounters": [ - { - "pokeapi_id": 432, - "pokemon_name": "Purugly", - "method": "walk", - "encounter_rate": 60, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 137, - "pokemon_name": "Porygon", - "method": "walk", - "encounter_rate": 40, - "min_level": 36, - "max_level": 38 - } - ] - }, - { - "name": "Mirage Island (South Pacifidlog Town)", - "order": 125, - "encounters": [ - { - "pokeapi_id": 531, - "pokemon_name": "Audino", - "method": "walk", - "encounter_rate": 90, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 85, - "min_level": 35, - "max_level": 38 - }, - { - "pokeapi_id": 688, - "pokemon_name": "Binacle", - "method": "rock-smash", - "encounter_rate": 15, - "min_level": 37, - "max_level": 37 - }, - { - "pokeapi_id": 178, - "pokemon_name": "Xatu", - "method": "walk", - "encounter_rate": 10, - "min_level": 36, - "max_level": 38 - } - ] - }, - { - "name": "Mirage Island (South Route 132)", - "order": 126, - "encounters": [ - { - "pokeapi_id": 517, - "pokemon_name": "Munna", - "method": "walk", - "encounter_rate": 60, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 40, - "min_level": 36, - "max_level": 38 - } - ] - }, - { - "name": "Mirage Island (South Route 134)", - "order": 127, - "encounters": [ - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 85, - "min_level": 35, - "max_level": 38 - }, - { - "pokeapi_id": 49, - "pokemon_name": "Venomoth", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 178, - "pokemon_name": "Xatu", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 523, - "pokemon_name": "Zebstrika", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 688, - "pokemon_name": "Binacle", - "method": "rock-smash", - "encounter_rate": 15, - "min_level": 37, - "max_level": 37 - }, - { - "pokeapi_id": 556, - "pokemon_name": "Maractus", - "method": "walk", - "encounter_rate": 10, - "min_level": 36, - "max_level": 38 - } - ] - }, - { - "name": "Mirage Island (West Dewford Town)", - "order": 128, - "encounters": [ - { - "pokeapi_id": 49, - "pokemon_name": "Venomoth", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 178, - "pokemon_name": "Xatu", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 523, - "pokemon_name": "Zebstrika", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "walk", - "encounter_rate": 10, - "min_level": 36, - "max_level": 38 - } - ] - }, - { - "name": "Mirage Island (West Route 104)", - "order": 129, - "encounters": [ - { - "pokeapi_id": 49, - "pokemon_name": "Venomoth", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 178, - "pokemon_name": "Xatu", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 523, - "pokemon_name": "Zebstrika", - "method": "walk", - "encounter_rate": 30, - "min_level": 36, - "max_level": 38 - }, - { - "pokeapi_id": 555, - "pokemon_name": "Darmanitan Standard", - "method": "walk", - "encounter_rate": 10, - "min_level": 36, - "max_level": 38 - } - ] - } - ] - }, { "name": "Battle Resort", - "order": 130, + "order": 132, "encounters": [ { "pokeapi_id": 323, @@ -9192,7 +9413,7 @@ }, { "name": "Contest Hall", - "order": 131, + "order": 133, "encounters": [ { "pokeapi_id": 10082, @@ -9214,7 +9435,7 @@ }, { "name": "Crescent Isle", - "order": 132, + "order": 134, "encounters": [ { "pokeapi_id": 488, @@ -9228,7 +9449,7 @@ }, { "name": "Fabled Cave", - "order": 133, + "order": 135, "encounters": [ { "pokeapi_id": 643, @@ -9240,31 +9461,9 @@ } ] }, - { - "name": "Fallarbor Town", - "order": 134, - "encounters": [ - { - "pokeapi_id": 10082, - "pokemon_name": "Pikachu (Pop Star)", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 10080, - "pokemon_name": "Pikachu (Rock Star)", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - } - ] - }, { "name": "Gnaled Den", - "order": 135, + "order": 136, "encounters": [ { "pokeapi_id": 646, @@ -9278,7 +9477,7 @@ }, { "name": "Grand Meteor Delta", - "order": 136, + "order": 137, "encounters": [ { "pokeapi_id": 386, @@ -9290,14 +9489,293 @@ } ] }, + { + "name": "Mirage Island", + "order": 138, + "encounters": [], + "children": [ + { + "name": "Mirage Island (North Route 113)", + "order": 139, + "encounters": [ + { + "pokeapi_id": 555, + "pokemon_name": "Darmanitan Standard", + "method": "walk", + "encounter_rate": 60, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 636, + "pokemon_name": "Larvesta", + "method": "walk", + "encounter_rate": 40, + "min_level": 36, + "max_level": 38 + } + ] + }, + { + "name": "Mirage Island (North Route 124)", + "order": 140, + "encounters": [ + { + "pokeapi_id": 49, + "pokemon_name": "Venomoth", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 178, + "pokemon_name": "Xatu", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 523, + "pokemon_name": "Zebstrika", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 53, + "pokemon_name": "Persian", + "method": "walk", + "encounter_rate": 10, + "min_level": 36, + "max_level": 38 + } + ] + }, + { + "name": "Mirage Island (North Route 125)", + "order": 141, + "encounters": [ + { + "pokeapi_id": 432, + "pokemon_name": "Purugly", + "method": "walk", + "encounter_rate": 60, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 137, + "pokemon_name": "Porygon", + "method": "walk", + "encounter_rate": 40, + "min_level": 36, + "max_level": 38 + } + ] + }, + { + "name": "Mirage Island (South Pacifidlog Town)", + "order": 142, + "encounters": [ + { + "pokeapi_id": 531, + "pokemon_name": "Audino", + "method": "walk", + "encounter_rate": 90, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 85, + "min_level": 35, + "max_level": 38 + }, + { + "pokeapi_id": 688, + "pokemon_name": "Binacle", + "method": "rock-smash", + "encounter_rate": 15, + "min_level": 37, + "max_level": 37 + }, + { + "pokeapi_id": 178, + "pokemon_name": "Xatu", + "method": "walk", + "encounter_rate": 10, + "min_level": 36, + "max_level": 38 + } + ] + }, + { + "name": "Mirage Island (South Route 132)", + "order": 143, + "encounters": [ + { + "pokeapi_id": 517, + "pokemon_name": "Munna", + "method": "walk", + "encounter_rate": 60, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 40, + "min_level": 36, + "max_level": 38 + } + ] + }, + { + "name": "Mirage Island (South Route 134)", + "order": 144, + "encounters": [ + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 85, + "min_level": 35, + "max_level": 38 + }, + { + "pokeapi_id": 49, + "pokemon_name": "Venomoth", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 178, + "pokemon_name": "Xatu", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 523, + "pokemon_name": "Zebstrika", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 688, + "pokemon_name": "Binacle", + "method": "rock-smash", + "encounter_rate": 15, + "min_level": 37, + "max_level": 37 + }, + { + "pokeapi_id": 556, + "pokemon_name": "Maractus", + "method": "walk", + "encounter_rate": 10, + "min_level": 36, + "max_level": 38 + } + ] + }, + { + "name": "Mirage Island (West Dewford Town)", + "order": 145, + "encounters": [ + { + "pokeapi_id": 49, + "pokemon_name": "Venomoth", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 178, + "pokemon_name": "Xatu", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 523, + "pokemon_name": "Zebstrika", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "walk", + "encounter_rate": 10, + "min_level": 36, + "max_level": 38 + } + ] + }, + { + "name": "Mirage Island (West Route 104)", + "order": 146, + "encounters": [ + { + "pokeapi_id": 49, + "pokemon_name": "Venomoth", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 178, + "pokemon_name": "Xatu", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 523, + "pokemon_name": "Zebstrika", + "method": "walk", + "encounter_rate": 30, + "min_level": 36, + "max_level": 38 + }, + { + "pokeapi_id": 555, + "pokemon_name": "Darmanitan Standard", + "method": "walk", + "encounter_rate": 10, + "min_level": 36, + "max_level": 38 + } + ] + } + ] + }, { "name": "Mirage Cave", - "order": 137, + "order": 147, "encounters": [], "children": [ { "name": "Mirage Cave (North Fallarbor Town)", - "order": 138, + "order": 148, "encounters": [ { "pokeapi_id": 602, @@ -9319,7 +9797,7 @@ }, { "name": "Mirage Cave (North Fortree City)", - "order": 139, + "order": 149, "encounters": [ { "pokeapi_id": 75, @@ -9373,7 +9851,7 @@ }, { "name": "Mirage Cave (North Route 124)", - "order": 140, + "order": 150, "encounters": [ { "pokeapi_id": 75, @@ -9411,7 +9889,7 @@ }, { "name": "Mirage Cave (North Route 132)", - "order": 141, + "order": 151, "encounters": [ { "pokeapi_id": 132, @@ -9441,7 +9919,7 @@ }, { "name": "Mirage Cave (North Route 107)", - "order": 142, + "order": 152, "encounters": [ { "pokeapi_id": 201, @@ -9455,7 +9933,7 @@ }, { "name": "Mirage Cave (North Route 131)", - "order": 143, + "order": 153, "encounters": [ { "pokeapi_id": 602, @@ -9485,7 +9963,7 @@ }, { "name": "Mirage Cave (Southeast Route 129)", - "order": 144, + "order": 154, "encounters": [ { "pokeapi_id": 75, @@ -9523,7 +10001,7 @@ }, { "name": "Mirage Cave (West Route 115)", - "order": 145, + "order": 155, "encounters": [ { "pokeapi_id": 75, @@ -9563,12 +10041,12 @@ }, { "name": "Mirage Forest", - "order": 146, + "order": 156, "encounters": [], "children": [ { "name": "Mirage Forest (East Mossdeep City)", - "order": 147, + "order": 157, "encounters": [ { "pokeapi_id": 431, @@ -9606,7 +10084,7 @@ }, { "name": "Mirage Forest (North Lilycove City)", - "order": 148, + "order": 158, "encounters": [ { "pokeapi_id": 432, @@ -9644,7 +10122,7 @@ }, { "name": "Mirage Forest (North Route 111)", - "order": 149, + "order": 159, "encounters": [ { "pokeapi_id": 285, @@ -9674,7 +10152,7 @@ }, { "name": "Mirage Forest (North Route 124)", - "order": 150, + "order": 160, "encounters": [ { "pokeapi_id": 432, @@ -9712,7 +10190,7 @@ }, { "name": "Mirage Forest (South Route 109)", - "order": 151, + "order": 161, "encounters": [ { "pokeapi_id": 531, @@ -9750,7 +10228,7 @@ }, { "name": "Mirage Forest (South Route 132)", - "order": 152, + "order": 162, "encounters": [ { "pokeapi_id": 191, @@ -9780,7 +10258,7 @@ }, { "name": "Mirage Forest (West Route 105)", - "order": 153, + "order": 163, "encounters": [ { "pokeapi_id": 75, @@ -9810,7 +10288,7 @@ }, { "name": "Mirage Forest (West Route 114)", - "order": 154, + "order": 164, "encounters": [ { "pokeapi_id": 432, @@ -9850,12 +10328,12 @@ }, { "name": "Mirage Mountain", - "order": 155, + "order": 165, "encounters": [], "children": [ { "name": "Mirage Mountain (East Route 125)", - "order": 156, + "order": 166, "encounters": [ { "pokeapi_id": 555, @@ -9877,7 +10355,7 @@ }, { "name": "Mirage Mountain (North Lilycove City)", - "order": 157, + "order": 167, "encounters": [ { "pokeapi_id": 232, @@ -9915,7 +10393,7 @@ }, { "name": "Mirage Mountain (North Route 125)", - "order": 158, + "order": 168, "encounters": [ { "pokeapi_id": 75, @@ -9961,7 +10439,7 @@ }, { "name": "Mirage Mountain (Northeast Route 125)", - "order": 159, + "order": 169, "encounters": [ { "pokeapi_id": 232, @@ -9999,7 +10477,7 @@ }, { "name": "Mirage Mountain (South Route 129)", - "order": 160, + "order": 170, "encounters": [ { "pokeapi_id": 523, @@ -10021,7 +10499,7 @@ }, { "name": "Mirage Mountain (South Route 131)", - "order": 161, + "order": 171, "encounters": [ { "pokeapi_id": 232, @@ -10059,7 +10537,7 @@ }, { "name": "Mirage Mountain (Southeast Route 129)", - "order": 162, + "order": 172, "encounters": [ { "pokeapi_id": 75, @@ -10105,7 +10583,7 @@ }, { "name": "Mirage Mountain (West Route 104)", - "order": 163, + "order": 173, "encounters": [ { "pokeapi_id": 232, @@ -10145,7 +10623,7 @@ }, { "name": "Mossdeep Space Center", - "order": 164, + "order": 174, "encounters": [ { "pokeapi_id": 352, @@ -10159,7 +10637,7 @@ }, { "name": "Nameless Cavern", - "order": 165, + "order": 175, "encounters": [ { "pokeapi_id": 482, @@ -10189,7 +10667,7 @@ }, { "name": "Pathless Plain", - "order": 166, + "order": 176, "encounters": [ { "pokeapi_id": 638, @@ -10217,482 +10695,9 @@ } ] }, - { - "name": "Scorched Slab", - "order": 167, - "encounters": [], - "children": [ - { - "name": "Scorched Slab (1F)", - "order": 168, - "encounters": [ - { - "pokeapi_id": 339, - "pokemon_name": "Barboach", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 100, - "min_level": 26, - "max_level": 29 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "surf", - "encounter_rate": 50, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "surf", - "encounter_rate": 50, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 339, - "pokemon_name": "Barboach", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ] - }, - { - "name": "Scorched Slab (B1F)", - "order": 169, - "encounters": [ - { - "pokeapi_id": 339, - "pokemon_name": "Barboach", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 100, - "min_level": 26, - "max_level": 29 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 100, - "min_level": 14, - "max_level": 14 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "surf", - "encounter_rate": 50, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "surf", - "encounter_rate": 50, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 339, - "pokemon_name": "Barboach", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ] - }, - { - "name": "Scorched Slab (B2F)", - "order": 170, - "encounters": [ - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 100, - "min_level": 26, - "max_level": 29 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 100, - "min_level": 14, - "max_level": 14 - } - ] - }, - { - "name": "Scorched Slab (B3F)", - "order": 171, - "encounters": [ - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 100, - "min_level": 26, - "max_level": 29 - }, - { - "pokeapi_id": 485, - "pokemon_name": "Heatran", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 100, - "min_level": 14, - "max_level": 14 - } - ] - } - ] - }, - { - "name": "Sea Mauville", - "order": 172, - "encounters": [ - { - "pokeapi_id": 250, - "pokemon_name": "Ho Oh", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 442, - "pokemon_name": "Spiritomb", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - } - ], - "children": [ - { - "name": "Sea Mauville (Outside)", - "order": 173, - "encounters": [ - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 100, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 65, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 278, - "pokemon_name": "Wingull", - "method": "surf", - "encounter_rate": 34, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ] - }, - { - "name": "Sea Mauville (Inside)", - "order": 174, - "encounters": [ - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 100, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ] - } - ] - }, - { - "name": "Sealed Chamber", - "order": 175, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 65, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 65, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "super-rod", - "encounter_rate": 60, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 35, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "surf", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "surf", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 320, - "pokemon_name": "Wailmer", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 25 - } - ] - }, { "name": "Soaring in the Sky", - "order": 176, + "order": 177, "encounters": [ { "pokeapi_id": 279, @@ -10754,7 +10759,7 @@ }, { "name": "Trackless Forest", - "order": 177, + "order": 178, "encounters": [ { "pokeapi_id": 244, @@ -10784,7 +10789,7 @@ }, { "name": "Verdanturf Town", - "order": 178, + "order": 179, "encounters": [ { "pokeapi_id": 10082, diff --git a/backend/src/app/seeds/data/pearl.json b/backend/src/app/seeds/data/pearl.json index f38e758..3c6068b 100644 --- a/backend/src/app/seeds/data/pearl.json +++ b/backend/src/app/seeds/data/pearl.json @@ -5745,8 +5745,86 @@ ] }, { - "name": "Route 218 (Sinnoh)", + "name": "Celestic Town", "order": 83, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 3, + "max_level": 10 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "surf", + "encounter_rate": 90, + "min_level": 20, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 55, + "min_level": 10, + "max_level": 25 + }, + { + "pokeapi_id": 339, + "pokemon_name": "Barboach", + "method": "good-rod", + "encounter_rate": 45, + "min_level": 10, + "max_level": 25 + }, + { + "pokeapi_id": 341, + "pokemon_name": "Corphish", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 30, + "max_level": 40 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 30, + "max_level": 40 + }, + { + "pokeapi_id": 340, + "pokemon_name": "Whiscash", + "method": "super-rod", + "encounter_rate": 15, + "min_level": 40, + "max_level": 55 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "surf", + "encounter_rate": 10, + "min_level": 20, + "max_level": 40 + }, + { + "pokeapi_id": 342, + "pokemon_name": "Crawdaunt", + "method": "super-rod", + "encounter_rate": 5, + "min_level": 35, + "max_level": 55 + } + ] + }, + { + "name": "Route 218 (Sinnoh)", + "order": 84, "encounters": [ { "pokeapi_id": 129, @@ -5880,7 +5958,7 @@ }, { "name": "Canalave City", - "order": 84, + "order": 85, "encounters": [ { "pokeapi_id": 129, @@ -5966,12 +6044,12 @@ }, { "name": "Iron Island", - "order": 85, + "order": 86, "encounters": [], "children": [ { "name": "Iron Island (Outside)", - "order": 86, + "order": 87, "encounters": [ { "pokeapi_id": 129, @@ -6057,7 +6135,7 @@ }, { "name": "Iron Island (1F)", - "order": 87, + "order": 88, "encounters": [ { "pokeapi_id": 74, @@ -6103,7 +6181,7 @@ }, { "name": "Iron Island (B1F)", - "order": 88, + "order": 89, "encounters": [ { "pokeapi_id": 74, @@ -6157,7 +6235,7 @@ }, { "name": "Iron Island (B2F Right)", - "order": 89, + "order": 90, "encounters": [ { "pokeapi_id": 74, @@ -6211,7 +6289,7 @@ }, { "name": "Iron Island (B2F Left)", - "order": 90, + "order": 91, "encounters": [ { "pokeapi_id": 74, @@ -6281,7 +6359,7 @@ }, { "name": "Iron Island (B3F)", - "order": 91, + "order": 92, "encounters": [ { "pokeapi_id": 74, @@ -6343,250 +6421,9 @@ } ] }, - { - "name": "Sinnoh Route 211", - "order": 92, - "encounters": [], - "children": [ - { - "name": "Route 211 (Sinnoh - Western Part)", - "order": 93, - "encounters": [ - { - "pokeapi_id": 399, - "pokemon_name": "Bidoof", - "method": "walk", - "encounter_rate": 60, - "min_level": 12, - "max_level": 14 - }, - { - "pokeapi_id": 307, - "pokemon_name": "Meditite", - "method": "walk", - "encounter_rate": 60, - "min_level": 12, - "max_level": 14 - }, - { - "pokeapi_id": 236, - "pokemon_name": "Tyrogue", - "method": "pokeradar", - "encounter_rate": 22, - "min_level": 12, - "max_level": 14 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 10, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 10, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "walk", - "encounter_rate": 10, - "min_level": 14, - "max_level": 14 - }, - { - "pokeapi_id": 77, - "pokemon_name": "Ponyta", - "method": "walk", - "encounter_rate": 10, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 216, - "pokemon_name": "Teddiursa", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 12, - "max_level": 12 - } - ] - }, - { - "name": "Route 211 (Sinnoh - Eastern Part)", - "order": 94, - "encounters": [ - { - "pokeapi_id": 307, - "pokemon_name": "Meditite", - "method": "walk", - "encounter_rate": 35, - "min_level": 27, - "max_level": 28 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 30, - "min_level": 27, - "max_level": 28 - }, - { - "pokeapi_id": 333, - "pokemon_name": "Swablu", - "method": "pokeradar", - "encounter_rate": 22, - "min_level": 27, - "max_level": 28 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 20, - "min_level": 27, - "max_level": 27 - }, - { - "pokeapi_id": 77, - "pokemon_name": "Ponyta", - "method": "walk", - "encounter_rate": 20, - "min_level": 26, - "max_level": 28 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 10, - "min_level": 27, - "max_level": 28 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 10, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 26, - "max_level": 26 - }, - { - "pokeapi_id": 216, - "pokemon_name": "Teddiursa", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 27, - "max_level": 28 - } - ] - } - ] - }, - { - "name": "Celestic Town", - "order": 95, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 3, - "max_level": 10 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "surf", - "encounter_rate": 90, - "min_level": 20, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 55, - "min_level": 10, - "max_level": 25 - }, - { - "pokeapi_id": 339, - "pokemon_name": "Barboach", - "method": "good-rod", - "encounter_rate": 45, - "min_level": 10, - "max_level": 25 - }, - { - "pokeapi_id": 341, - "pokemon_name": "Corphish", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 30, - "max_level": 40 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 30, - "max_level": 40 - }, - { - "pokeapi_id": 340, - "pokemon_name": "Whiscash", - "method": "super-rod", - "encounter_rate": 15, - "min_level": 40, - "max_level": 55 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "surf", - "encounter_rate": 10, - "min_level": 20, - "max_level": 40 - }, - { - "pokeapi_id": 342, - "pokemon_name": "Crawdaunt", - "method": "super-rod", - "encounter_rate": 5, - "min_level": 35, - "max_level": 55 - } - ] - }, { "name": "Fuego Ironworks", - "order": 96, + "order": 93, "encounters": [ { "pokeapi_id": 129, @@ -6750,6 +6587,169 @@ } ] }, + { + "name": "Sinnoh Route 211", + "order": 94, + "encounters": [], + "children": [ + { + "name": "Route 211 (Sinnoh - Western Part)", + "order": 95, + "encounters": [ + { + "pokeapi_id": 399, + "pokemon_name": "Bidoof", + "method": "walk", + "encounter_rate": 60, + "min_level": 12, + "max_level": 14 + }, + { + "pokeapi_id": 307, + "pokemon_name": "Meditite", + "method": "walk", + "encounter_rate": 60, + "min_level": 12, + "max_level": 14 + }, + { + "pokeapi_id": 236, + "pokemon_name": "Tyrogue", + "method": "pokeradar", + "encounter_rate": 22, + "min_level": 12, + "max_level": 14 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 10, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 10, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "walk", + "encounter_rate": 10, + "min_level": 14, + "max_level": 14 + }, + { + "pokeapi_id": 77, + "pokemon_name": "Ponyta", + "method": "walk", + "encounter_rate": 10, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 216, + "pokemon_name": "Teddiursa", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 12, + "max_level": 12 + } + ] + }, + { + "name": "Route 211 (Sinnoh - Eastern Part)", + "order": 96, + "encounters": [ + { + "pokeapi_id": 307, + "pokemon_name": "Meditite", + "method": "walk", + "encounter_rate": 35, + "min_level": 27, + "max_level": 28 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 30, + "min_level": 27, + "max_level": 28 + }, + { + "pokeapi_id": 333, + "pokemon_name": "Swablu", + "method": "pokeradar", + "encounter_rate": 22, + "min_level": 27, + "max_level": 28 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 20, + "min_level": 27, + "max_level": 27 + }, + { + "pokeapi_id": 77, + "pokemon_name": "Ponyta", + "method": "walk", + "encounter_rate": 20, + "min_level": 26, + "max_level": 28 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 10, + "min_level": 27, + "max_level": 28 + }, + { + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "walk", + "encounter_rate": 10, + "min_level": 28, + "max_level": 28 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 26, + "max_level": 26 + }, + { + "pokeapi_id": 216, + "pokemon_name": "Teddiursa", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 27, + "max_level": 28 + } + ] + } + ] + }, { "name": "Route 216 (Sinnoh)", "order": 97, @@ -6922,23 +6922,9 @@ } ] }, - { - "name": "Snowpoint City", - "order": 99, - "encounters": [ - { - "pokeapi_id": 93, - "pokemon_name": "Haunter", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - } - ] - }, { "name": "Acuity Lakefront", - "order": 100, + "order": 99, "encounters": [ { "pokeapi_id": 67, @@ -7014,6 +7000,20 @@ } ] }, + { + "name": "Snowpoint City", + "order": 100, + "encounters": [ + { + "pokeapi_id": 93, + "pokemon_name": "Haunter", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + } + ] + }, { "name": "Lake Acuity", "order": 101, diff --git a/backend/src/app/seeds/data/platinum-bosses.json b/backend/src/app/seeds/data/platinum-bosses.json index 0517a82..0a522df 100644 --- a/backend/src/app/seeds/data/platinum-bosses.json +++ b/backend/src/app/seeds/data/platinum-bosses.json @@ -7,7 +7,7 @@ "badge_image_url": "/badges/coal-badge.png", "level_cap": 14, "order": 1, - "after_route_name": null, + "after_route_name": "Oreburgh Mine (B1F)", "location": "Oreburgh Gym", "section": "Main Story", "sprite_url": "/boss-sprites/platinum/roark.png", @@ -119,7 +119,7 @@ "badge_image_url": null, "level_cap": 53, "order": 9, - "after_route_name": null, + "after_route_name": "Pok\u00e9mon League (Sinnoh)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/platinum/aaron.png", @@ -133,7 +133,7 @@ "badge_image_url": null, "level_cap": 55, "order": 10, - "after_route_name": null, + "after_route_name": "Pok\u00e9mon League (Sinnoh)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/platinum/bertha.png", @@ -147,7 +147,7 @@ "badge_image_url": null, "level_cap": 57, "order": 11, - "after_route_name": null, + "after_route_name": "Pok\u00e9mon League (Sinnoh)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/platinum/flint.png", @@ -161,7 +161,7 @@ "badge_image_url": null, "level_cap": 59, "order": 12, - "after_route_name": null, + "after_route_name": "Pok\u00e9mon League (Sinnoh)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/platinum/lucian.png", @@ -175,7 +175,7 @@ "badge_image_url": null, "level_cap": 62, "order": 13, - "after_route_name": null, + "after_route_name": "Pok\u00e9mon League (Sinnoh)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/platinum/cynthia.png", diff --git a/backend/src/app/seeds/data/platinum.json b/backend/src/app/seeds/data/platinum.json index 6404343..5e99742 100644 --- a/backend/src/app/seeds/data/platinum.json +++ b/backend/src/app/seeds/data/platinum.json @@ -86,8 +86,86 @@ ] }, { - "name": "Lake Verity", + "name": "Route 201 (Sinnoh)", "order": 2, + "encounters": [ + { + "pokeapi_id": 390, + "pokemon_name": "Chimchar", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 393, + "pokemon_name": "Piplup", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 387, + "pokemon_name": "Turtwig", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 399, + "pokemon_name": "Bidoof", + "method": "walk", + "encounter_rate": 50, + "min_level": 2, + "max_level": 4 + }, + { + "pokeapi_id": 396, + "pokemon_name": "Starly", + "method": "walk", + "encounter_rate": 50, + "min_level": 2, + "max_level": 3 + }, + { + "pokeapi_id": 84, + "pokemon_name": "Doduo", + "method": "swarm", + "encounter_rate": 40, + "min_level": 2, + "max_level": 2 + }, + { + "pokeapi_id": 30, + "pokemon_name": "Nidorina", + "method": "pokeradar", + "encounter_rate": 22, + "min_level": 2, + "max_level": 3 + }, + { + "pokeapi_id": 401, + "pokemon_name": "Kricketot", + "method": "walk", + "encounter_rate": 10, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 58, + "pokemon_name": "Growlithe", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 2, + "max_level": 2 + } + ] + }, + { + "name": "Lake Verity", + "order": 3, "encounters": [ { "pokeapi_id": 399, @@ -195,84 +273,6 @@ } ] }, - { - "name": "Route 201 (Sinnoh)", - "order": 3, - "encounters": [ - { - "pokeapi_id": 390, - "pokemon_name": "Chimchar", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 393, - "pokemon_name": "Piplup", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 387, - "pokemon_name": "Turtwig", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 399, - "pokemon_name": "Bidoof", - "method": "walk", - "encounter_rate": 50, - "min_level": 2, - "max_level": 4 - }, - { - "pokeapi_id": 396, - "pokemon_name": "Starly", - "method": "walk", - "encounter_rate": 50, - "min_level": 2, - "max_level": 3 - }, - { - "pokeapi_id": 84, - "pokemon_name": "Doduo", - "method": "swarm", - "encounter_rate": 40, - "min_level": 2, - "max_level": 2 - }, - { - "pokeapi_id": 30, - "pokemon_name": "Nidorina", - "method": "pokeradar", - "encounter_rate": 22, - "min_level": 2, - "max_level": 3 - }, - { - "pokeapi_id": 401, - "pokemon_name": "Kricketot", - "method": "walk", - "encounter_rate": 10, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 58, - "pokemon_name": "Growlithe", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 2, - "max_level": 2 - } - ] - }, { "name": "Route 202 (Sinnoh)", "order": 4, @@ -3649,13 +3649,132 @@ ] }, { - "name": "Lost Tower", + "name": "Solaceon Ruins", "order": 48, "encounters": [], "children": [ { - "name": "Lost Tower (1F)", + "name": "Solaceon Ruins (Second Big Room)", "order": 49, + "encounters": [ + { + "pokeapi_id": 201, + "pokemon_name": "Unown", + "method": "walk", + "encounter_rate": 100, + "min_level": 20, + "max_level": 30 + } + ] + }, + { + "name": "Solaceon Ruins (Third Big Room)", + "order": 50, + "encounters": [ + { + "pokeapi_id": 201, + "pokemon_name": "Unown", + "method": "walk", + "encounter_rate": 100, + "min_level": 20, + "max_level": 30 + } + ] + }, + { + "name": "Solaceon Ruins (Fourth Big Room)", + "order": 51, + "encounters": [ + { + "pokeapi_id": 201, + "pokemon_name": "Unown", + "method": "walk", + "encounter_rate": 100, + "min_level": 20, + "max_level": 30 + } + ] + }, + { + "name": "Solaceon Ruins (Fifth Big Room)", + "order": 52, + "encounters": [ + { + "pokeapi_id": 201, + "pokemon_name": "Unown", + "method": "walk", + "encounter_rate": 100, + "min_level": 20, + "max_level": 30 + } + ] + }, + { + "name": "Solaceon Ruins (Sixth Big Room)", + "order": 53, + "encounters": [ + { + "pokeapi_id": 201, + "pokemon_name": "Unown", + "method": "walk", + "encounter_rate": 100, + "min_level": 20, + "max_level": 30 + } + ] + }, + { + "name": "Solaceon Ruins (Seventh Big Room)", + "order": 54, + "encounters": [ + { + "pokeapi_id": 201, + "pokemon_name": "Unown", + "method": "walk", + "encounter_rate": 100, + "min_level": 20, + "max_level": 30 + } + ] + }, + { + "name": "Solaceon Ruins (Dead-End Rooms)", + "order": 55, + "encounters": [ + { + "pokeapi_id": 201, + "pokemon_name": "Unown", + "method": "walk", + "encounter_rate": 100, + "min_level": 20, + "max_level": 30 + } + ] + }, + { + "name": "Solaceon Ruins (Room Through Maniac Tunnel)", + "order": 56, + "encounters": [ + { + "pokeapi_id": 201, + "pokemon_name": "Unown", + "method": "walk", + "encounter_rate": 100, + "min_level": 20, + "max_level": 30 + } + ] + } + ] + }, + { + "name": "Lost Tower", + "order": 57, + "encounters": [], + "children": [ + { + "name": "Lost Tower (1F)", + "order": 58, "encounters": [ { "pokeapi_id": 92, @@ -3685,7 +3804,7 @@ }, { "name": "Lost Tower (2F)", - "order": 50, + "order": 59, "encounters": [ { "pokeapi_id": 92, @@ -3715,7 +3834,7 @@ }, { "name": "Lost Tower (3F)", - "order": 51, + "order": 60, "encounters": [ { "pokeapi_id": 42, @@ -3753,7 +3872,7 @@ }, { "name": "Lost Tower (4F)", - "order": 52, + "order": 61, "encounters": [ { "pokeapi_id": 92, @@ -3791,7 +3910,7 @@ }, { "name": "Lost Tower (5F)", - "order": 53, + "order": 62, "encounters": [ { "pokeapi_id": 92, @@ -3829,125 +3948,6 @@ } ] }, - { - "name": "Solaceon Ruins", - "order": 54, - "encounters": [], - "children": [ - { - "name": "Solaceon Ruins (Second Big Room)", - "order": 55, - "encounters": [ - { - "pokeapi_id": 201, - "pokemon_name": "Unown", - "method": "walk", - "encounter_rate": 100, - "min_level": 20, - "max_level": 30 - } - ] - }, - { - "name": "Solaceon Ruins (Third Big Room)", - "order": 56, - "encounters": [ - { - "pokeapi_id": 201, - "pokemon_name": "Unown", - "method": "walk", - "encounter_rate": 100, - "min_level": 20, - "max_level": 30 - } - ] - }, - { - "name": "Solaceon Ruins (Fourth Big Room)", - "order": 57, - "encounters": [ - { - "pokeapi_id": 201, - "pokemon_name": "Unown", - "method": "walk", - "encounter_rate": 100, - "min_level": 20, - "max_level": 30 - } - ] - }, - { - "name": "Solaceon Ruins (Fifth Big Room)", - "order": 58, - "encounters": [ - { - "pokeapi_id": 201, - "pokemon_name": "Unown", - "method": "walk", - "encounter_rate": 100, - "min_level": 20, - "max_level": 30 - } - ] - }, - { - "name": "Solaceon Ruins (Sixth Big Room)", - "order": 59, - "encounters": [ - { - "pokeapi_id": 201, - "pokemon_name": "Unown", - "method": "walk", - "encounter_rate": 100, - "min_level": 20, - "max_level": 30 - } - ] - }, - { - "name": "Solaceon Ruins (Seventh Big Room)", - "order": 60, - "encounters": [ - { - "pokeapi_id": 201, - "pokemon_name": "Unown", - "method": "walk", - "encounter_rate": 100, - "min_level": 20, - "max_level": 30 - } - ] - }, - { - "name": "Solaceon Ruins (Dead-End Rooms)", - "order": 61, - "encounters": [ - { - "pokeapi_id": 201, - "pokemon_name": "Unown", - "method": "walk", - "encounter_rate": 100, - "min_level": 20, - "max_level": 30 - } - ] - }, - { - "name": "Solaceon Ruins (Room Through Maniac Tunnel)", - "order": 62, - "encounters": [ - { - "pokeapi_id": 201, - "pokemon_name": "Unown", - "method": "walk", - "encounter_rate": 100, - "min_level": 20, - "max_level": 30 - } - ] - } - ] - }, { "name": "Sinnoh Route 210", "order": 63, @@ -4426,8 +4426,30 @@ ] }, { - "name": "Valor Lakefront", + "name": "Maniac Tunnel", "order": 69, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 100, + "min_level": 21, + "max_level": 25 + }, + { + "pokeapi_id": 449, + "pokemon_name": "Hippopotas", + "method": "walk", + "encounter_rate": 35, + "min_level": 22, + "max_level": 26 + } + ] + }, + { + "name": "Valor Lakefront", + "order": 70, "encounters": [ { "pokeapi_id": 397, @@ -4489,7 +4511,7 @@ }, { "name": "Route 213 (Sinnoh)", - "order": 70, + "order": 71, "encounters": [ { "pokeapi_id": 423, @@ -4615,7 +4637,7 @@ }, { "name": "Pastoria City", - "order": 71, + "order": 72, "encounters": [ { "pokeapi_id": 423, @@ -4701,7 +4723,7 @@ }, { "name": "Great Marsh", - "order": 72, + "order": 73, "encounters": [ { "pokeapi_id": 129, @@ -4899,76 +4921,6 @@ "children": [ { "name": "Great Marsh (Area 1)", - "order": 73, - "encounters": [ - { - "pokeapi_id": 194, - "pokemon_name": "Wooper", - "method": "walk", - "encounter_rate": 40, - "min_level": 28, - "max_level": 30 - }, - { - "pokeapi_id": 400, - "pokemon_name": "Bibarel", - "method": "walk", - "encounter_rate": 20, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 20, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 357, - "pokemon_name": "Tropius", - "method": "walk", - "encounter_rate": 20, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 10, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 24, - "pokemon_name": "Arbok", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "walk", - "encounter_rate": 5, - "min_level": 30, - "max_level": 31 - }, - { - "pokeapi_id": 193, - "pokemon_name": "Yanma", - "method": "walk", - "encounter_rate": 5, - "min_level": 30, - "max_level": 31 - } - ] - }, - { - "name": "Great Marsh (Area 2)", "order": 74, "encounters": [ { @@ -5038,46 +4990,38 @@ ] }, { - "name": "Great Marsh (Area 3)", + "name": "Great Marsh (Area 2)", "order": 75, "encounters": [ - { - "pokeapi_id": 400, - "pokemon_name": "Bibarel", - "method": "walk", - "encounter_rate": 50, - "min_level": 27, - "max_level": 28 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "walk", - "encounter_rate": 40, - "min_level": 27, - "max_level": 30 - }, { "pokeapi_id": 194, "pokemon_name": "Wooper", "method": "walk", - "encounter_rate": 30, - "min_level": 27, - "max_level": 29 + "encounter_rate": 40, + "min_level": 28, + "max_level": 30 }, { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", + "pokeapi_id": 400, + "pokemon_name": "Bibarel", "method": "walk", - "encounter_rate": 10, - "min_level": 27, - "max_level": 27 + "encounter_rate": 20, + "min_level": 28, + "max_level": 28 }, { "pokeapi_id": 164, "pokemon_name": "Noctowl", "method": "walk", - "encounter_rate": 10, + "encounter_rate": 20, + "min_level": 28, + "max_level": 28 + }, + { + "pokeapi_id": 357, + "pokemon_name": "Tropius", + "method": "walk", + "encounter_rate": 20, "min_level": 28, "max_level": 28 }, @@ -5086,29 +5030,37 @@ "pokemon_name": "Quagsire", "method": "walk", "encounter_rate": 10, - "min_level": 29, - "max_level": 29 + "min_level": 30, + "max_level": 30 }, { "pokeapi_id": 24, "pokemon_name": "Arbok", "method": "dual-slot", "encounter_rate": 8, - "min_level": 29, - "max_level": 29 + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "walk", + "encounter_rate": 5, + "min_level": 30, + "max_level": 31 }, { "pokeapi_id": 193, "pokemon_name": "Yanma", "method": "walk", "encounter_rate": 5, - "min_level": 29, - "max_level": 30 + "min_level": 30, + "max_level": 31 } ] }, { - "name": "Great Marsh (Area 4)", + "name": "Great Marsh (Area 3)", "order": 76, "encounters": [ { @@ -5178,8 +5130,78 @@ ] }, { - "name": "Great Marsh (Area 5)", + "name": "Great Marsh (Area 4)", "order": 77, + "encounters": [ + { + "pokeapi_id": 400, + "pokemon_name": "Bibarel", + "method": "walk", + "encounter_rate": 50, + "min_level": 27, + "max_level": 28 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "walk", + "encounter_rate": 40, + "min_level": 27, + "max_level": 30 + }, + { + "pokeapi_id": 194, + "pokemon_name": "Wooper", + "method": "walk", + "encounter_rate": 30, + "min_level": 27, + "max_level": 29 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "walk", + "encounter_rate": 10, + "min_level": 27, + "max_level": 27 + }, + { + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "walk", + "encounter_rate": 10, + "min_level": 28, + "max_level": 28 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 10, + "min_level": 29, + "max_level": 29 + }, + { + "pokeapi_id": 24, + "pokemon_name": "Arbok", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 29, + "max_level": 29 + }, + { + "pokeapi_id": 193, + "pokemon_name": "Yanma", + "method": "walk", + "encounter_rate": 5, + "min_level": 29, + "max_level": 30 + } + ] + }, + { + "name": "Great Marsh (Area 5)", + "order": 78, "encounters": [ { "pokeapi_id": 400, @@ -5241,7 +5263,7 @@ }, { "name": "Great Marsh (Area 6)", - "order": 78, + "order": 79, "encounters": [ { "pokeapi_id": 400, @@ -5305,12 +5327,12 @@ }, { "name": "Sinnoh Route 212", - "order": 79, + "order": 80, "encounters": [], "children": [ { "name": "Route 212 (Sinnoh - Northern Area)", - "order": 80, + "order": 81, "encounters": [ { "pokeapi_id": 129, @@ -5420,7 +5442,7 @@ }, { "name": "Route 212 (Sinnoh - Southern Area)", - "order": 81, + "order": 82, "encounters": [ { "pokeapi_id": 129, @@ -5564,7 +5586,7 @@ }, { "name": "Trophy Garden", - "order": 82, + "order": 83, "encounters": [ { "pokeapi_id": 397, @@ -5736,707 +5758,9 @@ } ] }, - { - "name": "Route 218 (Sinnoh)", - "order": 83, - "encounters": [ - { - "pokeapi_id": 423, - "pokemon_name": "Gastrodon", - "method": "surf", - "encounter_rate": 100, - "min_level": 20, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 3, - "max_level": 15 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 60, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 55, - "min_level": 30, - "max_level": 55 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 55, - "min_level": 10, - "max_level": 25 - }, - { - "pokeapi_id": 456, - "pokemon_name": "Finneon", - "method": "good-rod", - "encounter_rate": 45, - "min_level": 10, - "max_level": 25 - }, - { - "pokeapi_id": 457, - "pokemon_name": "Lumineon", - "method": "super-rod", - "encounter_rate": 45, - "min_level": 30, - "max_level": 55 - }, - { - "pokeapi_id": 419, - "pokemon_name": "Floatzel", - "method": "walk", - "encounter_rate": 40, - "min_level": 29, - "max_level": 31 - }, - { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "swarm", - "encounter_rate": 40, - "min_level": 28, - "max_level": 29 - }, - { - "pokeapi_id": 423, - "pokemon_name": "Gastrodon", - "method": "walk", - "encounter_rate": 35, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 422, - "pokemon_name": "Shellos", - "method": "surf", - "encounter_rate": 30, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 122, - "pokemon_name": "Mr Mime", - "method": "walk", - "encounter_rate": 25, - "min_level": 29, - "max_level": 31 - }, - { - "pokeapi_id": 441, - "pokemon_name": "Chatot", - "method": "walk", - "encounter_rate": 20, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 9, - "min_level": 20, - "max_level": 40 - } - ] - }, - { - "name": "Canalave City", - "order": 84, - "encounters": [ - { - "pokeapi_id": 423, - "pokemon_name": "Gastrodon", - "method": "surf", - "encounter_rate": 100, - "min_level": 20, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 3, - "max_level": 15 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 60, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 55, - "min_level": 10, - "max_level": 25 - }, - { - "pokeapi_id": 456, - "pokemon_name": "Finneon", - "method": "good-rod", - "encounter_rate": 45, - "min_level": 10, - "max_level": 25 - }, - { - "pokeapi_id": 457, - "pokemon_name": "Lumineon", - "method": "super-rod", - "encounter_rate": 45, - "min_level": 30, - "max_level": 55 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 30, - "max_level": 55 - }, - { - "pokeapi_id": 422, - "pokemon_name": "Shellos", - "method": "surf", - "encounter_rate": 30, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 120, - "pokemon_name": "Staryu", - "method": "super-rod", - "encounter_rate": 15, - "min_level": 20, - "max_level": 50 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 9, - "min_level": 20, - "max_level": 40 - } - ] - }, - { - "name": "Iron Island", - "order": 85, - "encounters": [], - "children": [ - { - "name": "Iron Island (B2F Left)", - "order": 86, - "encounters": [ - { - "pokeapi_id": 447, - "pokemon_name": "Riolu", - "method": "gift", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 50, - "min_level": 31, - "max_level": 34 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 20, - "min_level": 31, - "max_level": 31 - }, - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 20, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 208, - "pokemon_name": "Steelix", - "method": "walk", - "encounter_rate": 10, - "min_level": 33, - "max_level": 33 - }, - { - "pokeapi_id": 303, - "pokemon_name": "Mawile", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 31, - "max_level": 32 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 31, - "max_level": 32 - } - ] - }, - { - "name": "Iron Island (Outside)", - "order": 87, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 3, - "max_level": 15 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 100, - "min_level": 20, - "max_level": 40 - }, - { - "pokeapi_id": 278, - "pokemon_name": "Wingull", - "method": "surf", - "encounter_rate": 60, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 55, - "min_level": 10, - "max_level": 25 - }, - { - "pokeapi_id": 456, - "pokemon_name": "Finneon", - "method": "good-rod", - "encounter_rate": 45, - "min_level": 10, - "max_level": 25 - }, - { - "pokeapi_id": 457, - "pokemon_name": "Lumineon", - "method": "super-rod", - "encounter_rate": 45, - "min_level": 30, - "max_level": 55 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 30, - "max_level": 55 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 30, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 211, - "pokemon_name": "Qwilfish", - "method": "super-rod", - "encounter_rate": 15, - "min_level": 20, - "max_level": 50 - }, - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 9, - "min_level": 20, - "max_level": 40 - } - ] - }, - { - "name": "Iron Island (1F)", - "order": 88, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 35, - "min_level": 30, - "max_level": 32 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 35, - "min_level": 31, - "max_level": 33 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 10, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 10, - "min_level": 31, - "max_level": 31 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 30, - "max_level": 30 - } - ] - }, - { - "name": "Iron Island (B1F)", - "order": 89, - "encounters": [ - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 70, - "min_level": 30, - "max_level": 33 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 20, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 10, - "min_level": 31, - "max_level": 31 - }, - { - "pokeapi_id": 303, - "pokemon_name": "Mawile", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 30, - "max_level": 31 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 30, - "max_level": 31 - } - ] - }, - { - "name": "Iron Island (B2F Right)", - "order": 90, - "encounters": [ - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 50, - "min_level": 31, - "max_level": 34 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 20, - "min_level": 31, - "max_level": 31 - }, - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 20, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 208, - "pokemon_name": "Steelix", - "method": "walk", - "encounter_rate": 10, - "min_level": 33, - "max_level": 33 - }, - { - "pokeapi_id": 303, - "pokemon_name": "Mawile", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 31, - "max_level": 32 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 31, - "max_level": 32 - } - ] - }, - { - "name": "Iron Island (B3F)", - "order": 91, - "encounters": [ - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 50, - "min_level": 31, - "max_level": 34 - }, - { - "pokeapi_id": 208, - "pokemon_name": "Steelix", - "method": "walk", - "encounter_rate": 30, - "min_level": 32, - "max_level": 33 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 20, - "min_level": 31, - "max_level": 31 - }, - { - "pokeapi_id": 303, - "pokemon_name": "Mawile", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 31, - "max_level": 32 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 31, - "max_level": 32 - } - ] - } - ] - }, - { - "name": "Sinnoh Route 211", - "order": 92, - "encounters": [], - "children": [ - { - "name": "Route 211 (Sinnoh - Western Part)", - "order": 93, - "encounters": [ - { - "pokeapi_id": 307, - "pokemon_name": "Meditite", - "method": "walk", - "encounter_rate": 60, - "min_level": 13, - "max_level": 15 - }, - { - "pokeapi_id": 236, - "pokemon_name": "Tyrogue", - "method": "pokeradar", - "encounter_rate": 22, - "min_level": 14, - "max_level": 16 - }, - { - "pokeapi_id": 399, - "pokemon_name": "Bidoof", - "method": "walk", - "encounter_rate": 20, - "min_level": 14, - "max_level": 14 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 15, - "min_level": 14, - "max_level": 14 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 15, - "min_level": 14, - "max_level": 15 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 10, - "min_level": 14, - "max_level": 14 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "walk", - "encounter_rate": 10, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 14, - "max_level": 14 - }, - { - "pokeapi_id": 216, - "pokemon_name": "Teddiursa", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 15, - "max_level": 16 - } - ] - }, - { - "name": "Route 211 (Sinnoh - Eastern Part)", - "order": 94, - "encounters": [ - { - "pokeapi_id": 307, - "pokemon_name": "Meditite", - "method": "walk", - "encounter_rate": 60, - "min_level": 27, - "max_level": 29 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 20, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 15, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 15, - "min_level": 29, - "max_level": 30 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 10, - "min_level": 29, - "max_level": 29 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 10, - "min_level": 29, - "max_level": 29 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 28, - "max_level": 28 - } - ] - } - ] - }, { "name": "Celestic Town", - "order": 95, + "order": 84, "encounters": [ { "pokeapi_id": 129, @@ -6514,7 +5838,7 @@ }, { "name": "Fuego Ironworks", - "order": 96, + "order": 85, "encounters": [ { "pokeapi_id": 423, @@ -6638,9 +5962,1029 @@ } ] }, + { + "name": "Route 219 (Sinnoh)", + "order": 86, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 3, + "max_level": 15 + }, + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 100, + "min_level": 20, + "max_level": 40 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 60, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 55, + "min_level": 30, + "max_level": 55 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 55, + "min_level": 10, + "max_level": 25 + }, + { + "pokeapi_id": 457, + "pokemon_name": "Lumineon", + "method": "super-rod", + "encounter_rate": 45, + "min_level": 30, + "max_level": 55 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 15, + "max_level": 20 + }, + { + "pokeapi_id": 278, + "pokemon_name": "Wingull", + "method": "surf", + "encounter_rate": 30, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 9, + "min_level": 20, + "max_level": 40 + }, + { + "pokeapi_id": 457, + "pokemon_name": "Lumineon", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 35 + } + ] + }, + { + "name": "Route 220 (Sinnoh)", + "order": 87, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 3, + "max_level": 15 + }, + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 100, + "min_level": 20, + "max_level": 40 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 60, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 55, + "min_level": 10, + "max_level": 25 + }, + { + "pokeapi_id": 457, + "pokemon_name": "Lumineon", + "method": "super-rod", + "encounter_rate": 45, + "min_level": 30, + "max_level": 55 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 15, + "max_level": 20 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 30, + "max_level": 55 + }, + { + "pokeapi_id": 278, + "pokemon_name": "Wingull", + "method": "surf", + "encounter_rate": 30, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "super-rod", + "encounter_rate": 15, + "min_level": 20, + "max_level": 50 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 9, + "min_level": 20, + "max_level": 40 + }, + { + "pokeapi_id": 457, + "pokemon_name": "Lumineon", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 35 + } + ] + }, + { + "name": "Route 221 (Sinnoh)", + "order": 88, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 3, + "max_level": 15 + }, + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 100, + "min_level": 20, + "max_level": 40 + }, + { + "pokeapi_id": 419, + "pokemon_name": "Floatzel", + "method": "walk", + "encounter_rate": 60, + "min_level": 28, + "max_level": 29 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 60, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 55, + "min_level": 30, + "max_level": 55 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 55, + "min_level": 10, + "max_level": 25 + }, + { + "pokeapi_id": 457, + "pokemon_name": "Lumineon", + "method": "super-rod", + "encounter_rate": 45, + "min_level": 30, + "max_level": 55 + }, + { + "pokeapi_id": 83, + "pokemon_name": "Farfetchd", + "method": "swarm", + "encounter_rate": 40, + "min_level": 28, + "max_level": 29 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 15, + "max_level": 20 + }, + { + "pokeapi_id": 315, + "pokemon_name": "Roselia", + "method": "walk", + "encounter_rate": 40, + "min_level": 28, + "max_level": 30 + }, + { + "pokeapi_id": 278, + "pokemon_name": "Wingull", + "method": "surf", + "encounter_rate": 30, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 203, + "pokemon_name": "Girafarig", + "method": "walk", + "encounter_rate": 25, + "min_level": 28, + "max_level": 28 + }, + { + "pokeapi_id": 185, + "pokemon_name": "Sudowoodo", + "method": "walk", + "encounter_rate": 25, + "min_level": 29, + "max_level": 31 + }, + { + "pokeapi_id": 30, + "pokemon_name": "Nidorina", + "method": "pokeradar", + "encounter_rate": 11, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 33, + "pokemon_name": "Nidorino", + "method": "pokeradar", + "encounter_rate": 11, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 9, + "min_level": 20, + "max_level": 40 + }, + { + "pokeapi_id": 457, + "pokemon_name": "Lumineon", + "method": "good-rod", + "encounter_rate": 5, + "min_level": 25, + "max_level": 35 + } + ] + }, + { + "name": "Route 218 (Sinnoh)", + "order": 89, + "encounters": [ + { + "pokeapi_id": 423, + "pokemon_name": "Gastrodon", + "method": "surf", + "encounter_rate": 100, + "min_level": 20, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 3, + "max_level": 15 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 60, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 55, + "min_level": 30, + "max_level": 55 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 55, + "min_level": 10, + "max_level": 25 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "good-rod", + "encounter_rate": 45, + "min_level": 10, + "max_level": 25 + }, + { + "pokeapi_id": 457, + "pokemon_name": "Lumineon", + "method": "super-rod", + "encounter_rate": 45, + "min_level": 30, + "max_level": 55 + }, + { + "pokeapi_id": 419, + "pokemon_name": "Floatzel", + "method": "walk", + "encounter_rate": 40, + "min_level": 29, + "max_level": 31 + }, + { + "pokeapi_id": 100, + "pokemon_name": "Voltorb", + "method": "swarm", + "encounter_rate": 40, + "min_level": 28, + "max_level": 29 + }, + { + "pokeapi_id": 423, + "pokemon_name": "Gastrodon", + "method": "walk", + "encounter_rate": 35, + "min_level": 28, + "max_level": 28 + }, + { + "pokeapi_id": 422, + "pokemon_name": "Shellos", + "method": "surf", + "encounter_rate": 30, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 122, + "pokemon_name": "Mr Mime", + "method": "walk", + "encounter_rate": 25, + "min_level": 29, + "max_level": 31 + }, + { + "pokeapi_id": 441, + "pokemon_name": "Chatot", + "method": "walk", + "encounter_rate": 20, + "min_level": 28, + "max_level": 28 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 9, + "min_level": 20, + "max_level": 40 + } + ] + }, + { + "name": "Canalave City", + "order": 90, + "encounters": [ + { + "pokeapi_id": 423, + "pokemon_name": "Gastrodon", + "method": "surf", + "encounter_rate": 100, + "min_level": 20, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 3, + "max_level": 15 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 60, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 55, + "min_level": 10, + "max_level": 25 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "good-rod", + "encounter_rate": 45, + "min_level": 10, + "max_level": 25 + }, + { + "pokeapi_id": 457, + "pokemon_name": "Lumineon", + "method": "super-rod", + "encounter_rate": 45, + "min_level": 30, + "max_level": 55 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 30, + "max_level": 55 + }, + { + "pokeapi_id": 422, + "pokemon_name": "Shellos", + "method": "surf", + "encounter_rate": 30, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 120, + "pokemon_name": "Staryu", + "method": "super-rod", + "encounter_rate": 15, + "min_level": 20, + "max_level": 50 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 9, + "min_level": 20, + "max_level": 40 + } + ] + }, + { + "name": "Iron Island", + "order": 91, + "encounters": [], + "children": [ + { + "name": "Iron Island (B2F Left)", + "order": 92, + "encounters": [ + { + "pokeapi_id": 447, + "pokemon_name": "Riolu", + "method": "gift", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 50, + "min_level": 31, + "max_level": 34 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 20, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 20, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 208, + "pokemon_name": "Steelix", + "method": "walk", + "encounter_rate": 10, + "min_level": 33, + "max_level": 33 + }, + { + "pokeapi_id": 303, + "pokemon_name": "Mawile", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 31, + "max_level": 32 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 31, + "max_level": 32 + } + ] + }, + { + "name": "Iron Island (Outside)", + "order": 93, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 3, + "max_level": 15 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 100, + "min_level": 20, + "max_level": 40 + }, + { + "pokeapi_id": 278, + "pokemon_name": "Wingull", + "method": "surf", + "encounter_rate": 60, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 55, + "min_level": 10, + "max_level": 25 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "good-rod", + "encounter_rate": 45, + "min_level": 10, + "max_level": 25 + }, + { + "pokeapi_id": 457, + "pokemon_name": "Lumineon", + "method": "super-rod", + "encounter_rate": 45, + "min_level": 30, + "max_level": 55 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 30, + "max_level": 55 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 30, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 211, + "pokemon_name": "Qwilfish", + "method": "super-rod", + "encounter_rate": 15, + "min_level": 20, + "max_level": 50 + }, + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 9, + "min_level": 20, + "max_level": 40 + } + ] + }, + { + "name": "Iron Island (1F)", + "order": 94, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 35, + "min_level": 30, + "max_level": 32 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 35, + "min_level": 31, + "max_level": 33 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 10, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 10, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 30, + "max_level": 30 + } + ] + }, + { + "name": "Iron Island (B1F)", + "order": 95, + "encounters": [ + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 70, + "min_level": 30, + "max_level": 33 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 20, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 10, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 303, + "pokemon_name": "Mawile", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 30, + "max_level": 31 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 30, + "max_level": 31 + } + ] + }, + { + "name": "Iron Island (B2F Right)", + "order": 96, + "encounters": [ + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 50, + "min_level": 31, + "max_level": 34 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 20, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 20, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 208, + "pokemon_name": "Steelix", + "method": "walk", + "encounter_rate": 10, + "min_level": 33, + "max_level": 33 + }, + { + "pokeapi_id": 303, + "pokemon_name": "Mawile", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 31, + "max_level": 32 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 31, + "max_level": 32 + } + ] + }, + { + "name": "Iron Island (B3F)", + "order": 97, + "encounters": [ + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 50, + "min_level": 31, + "max_level": 34 + }, + { + "pokeapi_id": 208, + "pokemon_name": "Steelix", + "method": "walk", + "encounter_rate": 30, + "min_level": 32, + "max_level": 33 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 20, + "min_level": 31, + "max_level": 31 + }, + { + "pokeapi_id": 303, + "pokemon_name": "Mawile", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 31, + "max_level": 32 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 31, + "max_level": 32 + } + ] + } + ] + }, + { + "name": "Sinnoh Route 211", + "order": 98, + "encounters": [], + "children": [ + { + "name": "Route 211 (Sinnoh - Western Part)", + "order": 99, + "encounters": [ + { + "pokeapi_id": 307, + "pokemon_name": "Meditite", + "method": "walk", + "encounter_rate": 60, + "min_level": 13, + "max_level": 15 + }, + { + "pokeapi_id": 236, + "pokemon_name": "Tyrogue", + "method": "pokeradar", + "encounter_rate": 22, + "min_level": 14, + "max_level": 16 + }, + { + "pokeapi_id": 399, + "pokemon_name": "Bidoof", + "method": "walk", + "encounter_rate": 20, + "min_level": 14, + "max_level": 14 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 15, + "min_level": 14, + "max_level": 14 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 15, + "min_level": 14, + "max_level": 15 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 10, + "min_level": 14, + "max_level": 14 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "walk", + "encounter_rate": 10, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 14, + "max_level": 14 + }, + { + "pokeapi_id": 216, + "pokemon_name": "Teddiursa", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 15, + "max_level": 16 + } + ] + }, + { + "name": "Route 211 (Sinnoh - Eastern Part)", + "order": 100, + "encounters": [ + { + "pokeapi_id": 307, + "pokemon_name": "Meditite", + "method": "walk", + "encounter_rate": 60, + "min_level": 27, + "max_level": 29 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 20, + "min_level": 28, + "max_level": 28 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 15, + "min_level": 28, + "max_level": 28 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 15, + "min_level": 29, + "max_level": 30 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 10, + "min_level": 29, + "max_level": 29 + }, + { + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "walk", + "encounter_rate": 10, + "min_level": 29, + "max_level": 29 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 28, + "max_level": 28 + } + ] + } + ] + }, { "name": "Route 216 (Sinnoh)", - "order": 97, + "order": 101, "encounters": [ { "pokeapi_id": 459, @@ -6702,7 +7046,7 @@ }, { "name": "Route 217 (Sinnoh)", - "order": 98, + "order": 102, "encounters": [ { "pokeapi_id": 459, @@ -6762,23 +7106,9 @@ } ] }, - { - "name": "Snowpoint City", - "order": 99, - "encounters": [ - { - "pokeapi_id": 93, - "pokemon_name": "Haunter", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - } - ] - }, { "name": "Acuity Lakefront", - "order": 100, + "order": 103, "encounters": [ { "pokeapi_id": 459, @@ -6822,9 +7152,23 @@ } ] }, + { + "name": "Snowpoint City", + "order": 104, + "encounters": [ + { + "pokeapi_id": 93, + "pokemon_name": "Haunter", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + } + ] + }, { "name": "Lake Acuity", - "order": 101, + "order": 105, "encounters": [ { "pokeapi_id": 129, @@ -6974,7 +7318,7 @@ }, { "name": "Lake Valor", - "order": 102, + "order": 106, "encounters": [ { "pokeapi_id": 482, @@ -7106,31 +7450,9 @@ } ] }, - { - "name": "Spear Pillar", - "order": 103, - "encounters": [ - { - "pokeapi_id": 483, - "pokemon_name": "Dialga", - "method": "static", - "encounter_rate": 100, - "min_level": 70, - "max_level": 70 - }, - { - "pokeapi_id": 484, - "pokemon_name": "Palkia", - "method": "static", - "encounter_rate": 100, - "min_level": 70, - "max_level": 70 - } - ] - }, { "name": "Distortion World", - "order": 104, + "order": 107, "encounters": [ { "pokeapi_id": 10007, @@ -7142,9 +7464,127 @@ } ] }, + { + "name": "Sendoff Spring", + "order": 108, + "encounters": [ + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "surf", + "encounter_rate": 100, + "min_level": 20, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 3, + "max_level": 15 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 60, + "min_level": 37, + "max_level": 39 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 55, + "min_level": 30, + "max_level": 55 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 55, + "min_level": 10, + "max_level": 25 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 45, + "min_level": 10, + "max_level": 25 + }, + { + "pokeapi_id": 119, + "pokemon_name": "Seaking", + "method": "super-rod", + "encounter_rate": 45, + "min_level": 30, + "max_level": 55 + }, + { + "pokeapi_id": 400, + "pokemon_name": "Bibarel", + "method": "walk", + "encounter_rate": 30, + "min_level": 37, + "max_level": 38 + }, + { + "pokeapi_id": 397, + "pokemon_name": "Staravia", + "method": "walk", + "encounter_rate": 30, + "min_level": 38, + "max_level": 40 + }, + { + "pokeapi_id": 356, + "pokemon_name": "Dusclops", + "method": "walk", + "encounter_rate": 20, + "min_level": 39, + "max_level": 40 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 10, + "min_level": 37, + "max_level": 37 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 10, + "min_level": 38, + "max_level": 38 + }, + { + "pokeapi_id": 337, + "pokemon_name": "Lunatone", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 39, + "max_level": 40 + }, + { + "pokeapi_id": 338, + "pokemon_name": "Solrock", + "method": "dual-slot", + "encounter_rate": 8, + "min_level": 39, + "max_level": 40 + } + ] + }, { "name": "Route 222 (Sinnoh)", - "order": 105, + "order": 109, "encounters": [ { "pokeapi_id": 129, @@ -7302,7 +7742,7 @@ }, { "name": "Sunyshore City", - "order": 106, + "order": 110, "encounters": [ { "pokeapi_id": 129, @@ -7388,7 +7828,7 @@ }, { "name": "Route 223 (Sinnoh)", - "order": 107, + "order": 111, "encounters": [ { "pokeapi_id": 129, @@ -7482,12 +7922,12 @@ }, { "name": "Victory Road (Sinnoh)", - "order": 108, + "order": 112, "encounters": [], "children": [ { "name": "Victory Road (Sinnoh 1F)", - "order": 109, + "order": 113, "encounters": [ { "pokeapi_id": 75, @@ -7549,7 +7989,7 @@ }, { "name": "Victory Road (Sinnoh 2F)", - "order": 110, + "order": 114, "encounters": [ { "pokeapi_id": 208, @@ -7603,7 +8043,7 @@ }, { "name": "Victory Road (Sinnoh B1F)", - "order": 111, + "order": 115, "encounters": [ { "pokeapi_id": 130, @@ -7705,7 +8145,7 @@ }, { "name": "Victory Road (Sinnoh 1F - Back 2)", - "order": 112, + "order": 116, "encounters": [ { "pokeapi_id": 130, @@ -7807,7 +8247,7 @@ }, { "name": "Victory Road (Sinnoh 1F - Back 1)", - "order": 113, + "order": 117, "encounters": [ { "pokeapi_id": 75, @@ -7861,7 +8301,7 @@ }, { "name": "Victory Road (Sinnoh 1F - Back 3)", - "order": 114, + "order": 118, "encounters": [ { "pokeapi_id": 75, @@ -7917,7 +8357,7 @@ }, { "name": "Pok\u00e9mon League (Sinnoh)", - "order": 115, + "order": 119, "encounters": [ { "pokeapi_id": 129, @@ -7993,127 +8433,9 @@ } ] }, - { - "name": "Sendoff Spring", - "order": 116, - "encounters": [ - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "surf", - "encounter_rate": 100, - "min_level": 20, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 3, - "max_level": 15 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 60, - "min_level": 37, - "max_level": 39 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 55, - "min_level": 30, - "max_level": 55 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 55, - "min_level": 10, - "max_level": 25 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 45, - "min_level": 10, - "max_level": 25 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "super-rod", - "encounter_rate": 45, - "min_level": 30, - "max_level": 55 - }, - { - "pokeapi_id": 400, - "pokemon_name": "Bibarel", - "method": "walk", - "encounter_rate": 30, - "min_level": 37, - "max_level": 38 - }, - { - "pokeapi_id": 397, - "pokemon_name": "Staravia", - "method": "walk", - "encounter_rate": 30, - "min_level": 38, - "max_level": 40 - }, - { - "pokeapi_id": 356, - "pokemon_name": "Dusclops", - "method": "walk", - "encounter_rate": 20, - "min_level": 39, - "max_level": 40 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 10, - "min_level": 37, - "max_level": 37 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 10, - "min_level": 38, - "max_level": 38 - }, - { - "pokeapi_id": 337, - "pokemon_name": "Lunatone", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 39, - "max_level": 40 - }, - { - "pokeapi_id": 338, - "pokemon_name": "Solrock", - "method": "dual-slot", - "encounter_rate": 8, - "min_level": 39, - "max_level": 40 - } - ] - }, { "name": "Turnback Cave", - "order": 117, + "order": 120, "encounters": [ { "pokeapi_id": 487, @@ -8127,7 +8449,7 @@ "children": [ { "name": "Turnback Cave (Before Encountering Pillar)", - "order": 118, + "order": 121, "encounters": [ { "pokeapi_id": 356, @@ -8213,7 +8535,7 @@ }, { "name": "Turnback Cave (Between First and Second Pillar)", - "order": 119, + "order": 122, "encounters": [ { "pokeapi_id": 358, @@ -8299,7 +8621,7 @@ }, { "name": "Turnback Cave (Between Second and Third Pillar)", - "order": 120, + "order": 123, "encounters": [ { "pokeapi_id": 93, @@ -8363,7 +8685,7 @@ }, { "name": "Route 224 (Sinnoh)", - "order": 121, + "order": 124, "encounters": [ { "pokeapi_id": 129, @@ -8537,7 +8859,7 @@ }, { "name": "Route 225 (Sinnoh)", - "order": 122, + "order": 125, "encounters": [ { "pokeapi_id": 129, @@ -8679,7 +9001,7 @@ }, { "name": "Route 226 (Sinnoh)", - "order": 123, + "order": 126, "encounters": [ { "pokeapi_id": 129, @@ -8845,7 +9167,7 @@ }, { "name": "Route 227 (Sinnoh)", - "order": 124, + "order": 127, "encounters": [ { "pokeapi_id": 129, @@ -8995,7 +9317,7 @@ }, { "name": "Stark Mountain", - "order": 125, + "order": 128, "encounters": [ { "pokeapi_id": 485, @@ -9009,7 +9331,7 @@ "children": [ { "name": "Stark Mountain (Outside)", - "order": 126, + "order": 129, "encounters": [ { "pokeapi_id": 22, @@ -9095,7 +9417,7 @@ }, { "name": "Stark Mountain (Inside 1)", - "order": 127, + "order": 130, "encounters": [ { "pokeapi_id": 42, @@ -9157,7 +9479,7 @@ }, { "name": "Stark Mountain (Inside 2)", - "order": 128, + "order": 131, "encounters": [ { "pokeapi_id": 219, @@ -9221,7 +9543,7 @@ }, { "name": "Route 228 (Sinnoh)", - "order": 129, + "order": 132, "encounters": [ { "pokeapi_id": 129, @@ -9355,7 +9677,7 @@ }, { "name": "Route 229 (Sinnoh)", - "order": 130, + "order": 133, "encounters": [ { "pokeapi_id": 129, @@ -9529,7 +9851,7 @@ }, { "name": "Resort Area", - "order": 131, + "order": 134, "encounters": [ { "pokeapi_id": 129, @@ -9575,7 +9897,7 @@ }, { "name": "Route 230 (Sinnoh)", - "order": 132, + "order": 135, "encounters": [ { "pokeapi_id": 129, @@ -9741,12 +10063,12 @@ }, { "name": "Snowpoint Temple", - "order": 133, + "order": 136, "encounters": [], "children": [ { "name": "Snowpoint Temple (1F)", - "order": 134, + "order": 137, "encounters": [ { "pokeapi_id": 42, @@ -9776,7 +10098,7 @@ }, { "name": "Snowpoint Temple (B1F)", - "order": 135, + "order": 138, "encounters": [ { "pokeapi_id": 42, @@ -9806,7 +10128,7 @@ }, { "name": "Snowpoint Temple (B2F)", - "order": 136, + "order": 139, "encounters": [ { "pokeapi_id": 42, @@ -9836,7 +10158,7 @@ }, { "name": "Snowpoint Temple (B3F)", - "order": 137, + "order": 140, "encounters": [ { "pokeapi_id": 42, @@ -9866,7 +10188,7 @@ }, { "name": "Snowpoint Temple (B4F)", - "order": 138, + "order": 141, "encounters": [ { "pokeapi_id": 42, @@ -9896,7 +10218,7 @@ }, { "name": "Snowpoint Temple (B5F)", - "order": 139, + "order": 142, "encounters": [ { "pokeapi_id": 42, @@ -9926,353 +10248,9 @@ } ] }, - { - "name": "Route 219 (Sinnoh)", - "order": 140, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 3, - "max_level": 15 - }, - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 100, - "min_level": 20, - "max_level": 40 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 60, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 55, - "min_level": 30, - "max_level": 55 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 55, - "min_level": 10, - "max_level": 25 - }, - { - "pokeapi_id": 457, - "pokemon_name": "Lumineon", - "method": "super-rod", - "encounter_rate": 45, - "min_level": 30, - "max_level": 55 - }, - { - "pokeapi_id": 456, - "pokemon_name": "Finneon", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 15, - "max_level": 20 - }, - { - "pokeapi_id": 278, - "pokemon_name": "Wingull", - "method": "surf", - "encounter_rate": 30, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 9, - "min_level": 20, - "max_level": 40 - }, - { - "pokeapi_id": 457, - "pokemon_name": "Lumineon", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 35 - } - ] - }, - { - "name": "Route 220 (Sinnoh)", - "order": 141, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 3, - "max_level": 15 - }, - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 100, - "min_level": 20, - "max_level": 40 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 60, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 55, - "min_level": 10, - "max_level": 25 - }, - { - "pokeapi_id": 457, - "pokemon_name": "Lumineon", - "method": "super-rod", - "encounter_rate": 45, - "min_level": 30, - "max_level": 55 - }, - { - "pokeapi_id": 456, - "pokemon_name": "Finneon", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 15, - "max_level": 20 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 30, - "max_level": 55 - }, - { - "pokeapi_id": 278, - "pokemon_name": "Wingull", - "method": "surf", - "encounter_rate": 30, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "super-rod", - "encounter_rate": 15, - "min_level": 20, - "max_level": 50 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 9, - "min_level": 20, - "max_level": 40 - }, - { - "pokeapi_id": 457, - "pokemon_name": "Lumineon", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 35 - } - ] - }, - { - "name": "Route 221 (Sinnoh)", - "order": 142, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 3, - "max_level": 15 - }, - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 100, - "min_level": 20, - "max_level": 40 - }, - { - "pokeapi_id": 419, - "pokemon_name": "Floatzel", - "method": "walk", - "encounter_rate": 60, - "min_level": 28, - "max_level": 29 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 60, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 55, - "min_level": 30, - "max_level": 55 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 55, - "min_level": 10, - "max_level": 25 - }, - { - "pokeapi_id": 457, - "pokemon_name": "Lumineon", - "method": "super-rod", - "encounter_rate": 45, - "min_level": 30, - "max_level": 55 - }, - { - "pokeapi_id": 83, - "pokemon_name": "Farfetchd", - "method": "swarm", - "encounter_rate": 40, - "min_level": 28, - "max_level": 29 - }, - { - "pokeapi_id": 456, - "pokemon_name": "Finneon", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 15, - "max_level": 20 - }, - { - "pokeapi_id": 315, - "pokemon_name": "Roselia", - "method": "walk", - "encounter_rate": 40, - "min_level": 28, - "max_level": 30 - }, - { - "pokeapi_id": 278, - "pokemon_name": "Wingull", - "method": "surf", - "encounter_rate": 30, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 203, - "pokemon_name": "Girafarig", - "method": "walk", - "encounter_rate": 25, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 185, - "pokemon_name": "Sudowoodo", - "method": "walk", - "encounter_rate": 25, - "min_level": 29, - "max_level": 31 - }, - { - "pokeapi_id": 30, - "pokemon_name": "Nidorina", - "method": "pokeradar", - "encounter_rate": 11, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 33, - "pokemon_name": "Nidorino", - "method": "pokeradar", - "encounter_rate": 11, - "min_level": 31, - "max_level": 31 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 9, - "min_level": 20, - "max_level": 40 - }, - { - "pokeapi_id": 457, - "pokemon_name": "Lumineon", - "method": "good-rod", - "encounter_rate": 5, - "min_level": 25, - "max_level": 35 - } - ] - }, - { - "name": "Maniac Tunnel", - "order": 143, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 100, - "min_level": 21, - "max_level": 25 - }, - { - "pokeapi_id": 449, - "pokemon_name": "Hippopotas", - "method": "walk", - "encounter_rate": 35, - "min_level": 22, - "max_level": 26 - } - ] - }, { "name": "Flower Paradise", - "order": 144, + "order": 143, "encounters": [ { "pokeapi_id": 492, @@ -10286,7 +10264,7 @@ }, { "name": "Newmoon Island", - "order": 145, + "order": 144, "encounters": [ { "pokeapi_id": 491, @@ -10300,7 +10278,7 @@ }, { "name": "Hall of Origin", - "order": 146, + "order": 145, "encounters": [ { "pokeapi_id": 493, @@ -10314,7 +10292,7 @@ }, { "name": "Rock Peak Ruins (Sinnoh)", - "order": 147, + "order": 146, "encounters": [ { "pokeapi_id": 377, @@ -10328,7 +10306,7 @@ }, { "name": "Iceberg Ruins (Sinnoh)", - "order": 148, + "order": 147, "encounters": [ { "pokeapi_id": 378, @@ -10342,7 +10320,7 @@ }, { "name": "Iron Ruins (Sinnoh)", - "order": 149, + "order": 148, "encounters": [ { "pokeapi_id": 379, @@ -10353,5 +10331,27 @@ "max_level": 30 } ] + }, + { + "name": "Spear Pillar", + "order": 149, + "encounters": [ + { + "pokeapi_id": 483, + "pokemon_name": "Dialga", + "method": "static", + "encounter_rate": 100, + "min_level": 70, + "max_level": 70 + }, + { + "pokeapi_id": 484, + "pokemon_name": "Palkia", + "method": "static", + "encounter_rate": 100, + "min_level": 70, + "max_level": 70 + } + ] } ] diff --git a/backend/src/app/seeds/data/red-bosses.json b/backend/src/app/seeds/data/red-bosses.json index 8aa85d3..858dc2f 100644 --- a/backend/src/app/seeds/data/red-bosses.json +++ b/backend/src/app/seeds/data/red-bosses.json @@ -119,7 +119,7 @@ "badge_image_url": null, "level_cap": 56, "order": 9, - "after_route_name": "Victory Road (Kanto)", + "after_route_name": "Indigo Plateau", "location": "Indigo Plateau", "section": null, "sprite_url": "/boss-sprites/red/lorelei.png", @@ -133,7 +133,7 @@ "badge_image_url": null, "level_cap": 58, "order": 10, - "after_route_name": "Victory Road (Kanto)", + "after_route_name": "Indigo Plateau", "location": "Indigo Plateau", "section": null, "sprite_url": "/boss-sprites/red/bruno.png", @@ -147,7 +147,7 @@ "badge_image_url": null, "level_cap": 60, "order": 11, - "after_route_name": "Victory Road (Kanto)", + "after_route_name": "Indigo Plateau", "location": "Indigo Plateau", "section": null, "sprite_url": "/boss-sprites/red/agatha.png", @@ -161,7 +161,7 @@ "badge_image_url": null, "level_cap": 62, "order": 12, - "after_route_name": "Victory Road (Kanto)", + "after_route_name": "Indigo Plateau", "location": "Indigo Plateau", "section": null, "sprite_url": "/boss-sprites/red/lance.png", @@ -175,7 +175,7 @@ "badge_image_url": null, "level_cap": 65, "order": 13, - "after_route_name": "Victory Road (Kanto)", + "after_route_name": "Indigo Plateau", "location": "Indigo Plateau", "section": null, "sprite_url": "/boss-sprites/red/blue.png", diff --git a/backend/src/app/seeds/data/red.json b/backend/src/app/seeds/data/red.json index 23d4057..6a8b040 100644 --- a/backend/src/app/seeds/data/red.json +++ b/backend/src/app/seeds/data/red.json @@ -279,14 +279,6 @@ "min_level": 4, "max_level": 6 }, - { - "pokeapi_id": 10, - "pokemon_name": "Caterpie", - "method": "walk", - "encounter_rate": 5, - "min_level": 3, - "max_level": 3 - }, { "pokeapi_id": 11, "pokemon_name": "Metapod", @@ -302,6 +294,14 @@ "encounter_rate": 5, "min_level": 3, "max_level": 3 + }, + { + "pokeapi_id": 10, + "pokemon_name": "Caterpie", + "method": "walk", + "encounter_rate": 5, + "min_level": 3, + "max_level": 3 } ] }, @@ -1305,79 +1305,9 @@ } ] }, - { - "name": "Power Plant", - "order": 29, - "encounters": [ - { - "pokeapi_id": 145, - "pokemon_name": "Zapdos", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "static", - "encounter_rate": 50, - "min_level": 43, - "max_level": 43 - }, - { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "walk", - "encounter_rate": 35, - "min_level": 21, - "max_level": 21 - }, - { - "pokeapi_id": 81, - "pokemon_name": "Magnemite", - "method": "walk", - "encounter_rate": 25, - "min_level": 21, - "max_level": 21 - }, - { - "pokeapi_id": 25, - "pokemon_name": "Pikachu", - "method": "walk", - "encounter_rate": 25, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "static", - "encounter_rate": 17, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 10, - "min_level": 32, - "max_level": 32 - }, - { - "pokeapi_id": 125, - "pokemon_name": "Electabuzz", - "method": "walk", - "encounter_rate": 5, - "min_level": 33, - "max_level": 33 - } - ] - }, { "name": "Route 08 (Kanto)", - "order": 30, + "order": 29, "encounters": [ { "pokeapi_id": 16, @@ -1415,7 +1345,7 @@ }, { "name": "Route 07 (Kanto)", - "order": 31, + "order": 30, "encounters": [ { "pokeapi_id": 56, @@ -1453,7 +1383,7 @@ }, { "name": "Celadon City", - "order": 32, + "order": 31, "encounters": [ { "pokeapi_id": 129, @@ -1499,12 +1429,12 @@ }, { "name": "Pok\u00e9mon Tower", - "order": 33, + "order": 32, "encounters": [], "children": [ { "name": "Pok\u00e9mon Tower (3F)", - "order": 34, + "order": 33, "encounters": [ { "pokeapi_id": 93, @@ -1534,7 +1464,7 @@ }, { "name": "Pok\u00e9mon Tower (4F)", - "order": 35, + "order": 34, "encounters": [ { "pokeapi_id": 92, @@ -1564,7 +1494,7 @@ }, { "name": "Pok\u00e9mon Tower (5F)", - "order": 36, + "order": 35, "encounters": [ { "pokeapi_id": 92, @@ -1594,7 +1524,7 @@ }, { "name": "Pok\u00e9mon Tower (6F)", - "order": 37, + "order": 36, "encounters": [ { "pokeapi_id": 105, @@ -1632,7 +1562,7 @@ }, { "name": "Pok\u00e9mon Tower (7F)", - "order": 38, + "order": 37, "encounters": [ { "pokeapi_id": 92, @@ -1664,7 +1594,7 @@ }, { "name": "Silph Co.", - "order": 39, + "order": 38, "encounters": [ { "pokeapi_id": 131, @@ -1678,7 +1608,7 @@ }, { "name": "Fighting Dojo", - "order": 40, + "order": 39, "encounters": [ { "pokeapi_id": 107, @@ -1700,7 +1630,7 @@ }, { "name": "Route 16 (Kanto)", - "order": 41, + "order": 40, "encounters": [ { "pokeapi_id": 143, @@ -1746,7 +1676,7 @@ }, { "name": "Route 17 (Kanto)", - "order": 42, + "order": 41, "encounters": [ { "pokeapi_id": 129, @@ -1840,7 +1770,7 @@ }, { "name": "Route 18 (Kanto)", - "order": 43, + "order": 42, "encounters": [ { "pokeapi_id": 108, @@ -1942,7 +1872,7 @@ }, { "name": "Fuchsia City", - "order": 44, + "order": 43, "encounters": [ { "pokeapi_id": 129, @@ -2004,12 +1934,12 @@ }, { "name": "Safari Zone (Kanto)", - "order": 45, + "order": 44, "encounters": [], "children": [ { "name": "Safari Zone (Kanto - Center Area)", - "order": 46, + "order": 45, "encounters": [ { "pokeapi_id": 113, @@ -2143,7 +2073,7 @@ }, { "name": "Safari Zone (Kanto - Area 1)", - "order": 47, + "order": 46, "encounters": [ { "pokeapi_id": 129, @@ -2277,7 +2207,7 @@ }, { "name": "Safari Zone (Kanto - Area 2)", - "order": 48, + "order": 47, "encounters": [ { "pokeapi_id": 129, @@ -2411,7 +2341,7 @@ }, { "name": "Safari Zone (Kanto - Area 3)", - "order": 49, + "order": 48, "encounters": [ { "pokeapi_id": 115, @@ -2546,62 +2476,8 @@ ] }, { - "name": "Route 15 (Kanto)", - "order": 50, - "encounters": [ - { - "pokeapi_id": 43, - "pokemon_name": "Oddish", - "method": "walk", - "encounter_rate": 40, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 48, - "pokemon_name": "Venonat", - "method": "walk", - "encounter_rate": 20, - "min_level": 26, - "max_level": 26 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 15, - "min_level": 26, - "max_level": 26 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 15, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 44, - "pokemon_name": "Gloom", - "method": "walk", - "encounter_rate": 5, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 5, - "min_level": 28, - "max_level": 28 - } - ] - }, - { - "name": "Route 14 (Kanto)", - "order": 51, + "name": "Route 12 (Kanto)", + "order": 49, "encounters": [ { "pokeapi_id": 129, @@ -2635,6 +2511,46 @@ "min_level": 22, "max_level": 22 }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 35, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "super-rod", + "encounter_rate": 25, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "super-rod", + "encounter_rate": 25, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 25, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "super-rod", + "encounter_rate": 25, + "min_level": 5, + "max_level": 5 + }, { "pokeapi_id": 48, "pokemon_name": "Venonat", @@ -2643,35 +2559,11 @@ "min_level": 24, "max_level": 24 }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 15, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 15, - "min_level": 26, - "max_level": 26 - }, { "pokeapi_id": 44, "pokemon_name": "Gloom", "method": "walk", "encounter_rate": 5, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 5, "min_level": 28, "max_level": 28 } @@ -2679,7 +2571,7 @@ }, { "name": "Route 13 (Kanto)", - "order": 52, + "order": 50, "encounters": [ { "pokeapi_id": 129, @@ -2780,8 +2672,8 @@ ] }, { - "name": "Route 12 (Kanto)", - "order": 53, + "name": "Route 14 (Kanto)", + "order": 51, "encounters": [ { "pokeapi_id": 129, @@ -2815,46 +2707,6 @@ "min_level": 22, "max_level": 22 }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 35, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "super-rod", - "encounter_rate": 25, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "super-rod", - "encounter_rate": 25, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 25, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "super-rod", - "encounter_rate": 25, - "min_level": 5, - "max_level": 5 - }, { "pokeapi_id": 48, "pokemon_name": "Venonat", @@ -2863,11 +2715,89 @@ "min_level": 24, "max_level": 24 }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 15, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 15, + "min_level": 26, + "max_level": 26 + }, { "pokeapi_id": 44, "pokemon_name": "Gloom", "method": "walk", "encounter_rate": 5, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 5, + "min_level": 28, + "max_level": 28 + } + ] + }, + { + "name": "Route 15 (Kanto)", + "order": 52, + "encounters": [ + { + "pokeapi_id": 43, + "pokemon_name": "Oddish", + "method": "walk", + "encounter_rate": 40, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 48, + "pokemon_name": "Venonat", + "method": "walk", + "encounter_rate": 20, + "min_level": 26, + "max_level": 26 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 15, + "min_level": 26, + "max_level": 26 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 15, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 44, + "pokemon_name": "Gloom", + "method": "walk", + "encounter_rate": 5, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 5, "min_level": 28, "max_level": 28 } @@ -2875,7 +2805,7 @@ }, { "name": "Route 19 (Kanto)", - "order": 54, + "order": 53, "encounters": [ { "pokeapi_id": 129, @@ -2945,7 +2875,7 @@ }, { "name": "Route 20 (Kanto)", - "order": 55, + "order": 54, "encounters": [ { "pokeapi_id": 129, @@ -3015,12 +2945,12 @@ }, { "name": "Seafoam Islands", - "order": 56, + "order": 55, "encounters": [], "children": [ { "name": "Seafoam Islands (1F)", - "order": 57, + "order": 56, "encounters": [ { "pokeapi_id": 55, @@ -3090,7 +3020,7 @@ }, { "name": "Seafoam Islands (B1F)", - "order": 58, + "order": 57, "encounters": [ { "pokeapi_id": 117, @@ -3152,7 +3082,7 @@ }, { "name": "Seafoam Islands (B2F)", - "order": 59, + "order": 58, "encounters": [ { "pokeapi_id": 80, @@ -3214,7 +3144,7 @@ }, { "name": "Seafoam Islands (B3F)", - "order": 60, + "order": 59, "encounters": [ { "pokeapi_id": 502, @@ -3324,7 +3254,7 @@ }, { "name": "Seafoam Islands (B4F)", - "order": 61, + "order": 60, "encounters": [ { "pokeapi_id": 144, @@ -3444,7 +3374,7 @@ }, { "name": "Cinnabar Island", - "order": 62, + "order": 61, "encounters": [ { "pokeapi_id": 129, @@ -3506,12 +3436,12 @@ }, { "name": "Pok\u00e9mon Mansion (Kanto)", - "order": 63, + "order": 62, "encounters": [], "children": [ { "name": "Pok\u00e9mon Mansion (Kanto - 1F)", - "order": 64, + "order": 63, "encounters": [ { "pokeapi_id": 89, @@ -3565,7 +3495,7 @@ }, { "name": "Pok\u00e9mon Mansion (Kanto - 2F)", - "order": 65, + "order": 64, "encounters": [ { "pokeapi_id": 89, @@ -3619,7 +3549,7 @@ }, { "name": "Pok\u00e9mon Mansion (Kanto - 3F)", - "order": 66, + "order": 65, "encounters": [ { "pokeapi_id": 89, @@ -3673,7 +3603,7 @@ }, { "name": "Pok\u00e9mon Mansion (Kanto - B1F)", - "order": 67, + "order": 66, "encounters": [ { "pokeapi_id": 89, @@ -3729,7 +3659,7 @@ }, { "name": "Cinnabar Lab", - "order": 68, + "order": 67, "encounters": [ { "pokeapi_id": 142, @@ -3783,7 +3713,7 @@ }, { "name": "Route 21 (Kanto)", - "order": 69, + "order": 68, "encounters": [ { "pokeapi_id": 129, @@ -3891,6 +3821,76 @@ } ] }, + { + "name": "Power Plant", + "order": 69, + "encounters": [ + { + "pokeapi_id": 145, + "pokemon_name": "Zapdos", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "static", + "encounter_rate": 50, + "min_level": 43, + "max_level": 43 + }, + { + "pokeapi_id": 100, + "pokemon_name": "Voltorb", + "method": "walk", + "encounter_rate": 35, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 81, + "pokemon_name": "Magnemite", + "method": "walk", + "encounter_rate": 25, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 25, + "pokemon_name": "Pikachu", + "method": "walk", + "encounter_rate": 25, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 100, + "pokemon_name": "Voltorb", + "method": "static", + "encounter_rate": 17, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 10, + "min_level": 32, + "max_level": 32 + }, + { + "pokeapi_id": 125, + "pokemon_name": "Electabuzz", + "method": "walk", + "encounter_rate": 5, + "min_level": 33, + "max_level": 33 + } + ] + }, { "name": "Route 23 (Kanto)", "order": 70, @@ -4219,13 +4219,43 @@ ] }, { - "name": "Cerulean Cave", + "name": "Indigo Plateau", "order": 75, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 50, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 50, + "min_level": 10, + "max_level": 10 + } + ] + }, + { + "name": "Cerulean Cave", + "order": 76, "encounters": [], "children": [ { "name": "Cerulean Cave (1F)", - "order": 76, + "order": 77, "encounters": [ { "pokeapi_id": 132, @@ -4367,7 +4397,7 @@ }, { "name": "Cerulean Cave (2F)", - "order": 77, + "order": 78, "encounters": [ { "pokeapi_id": 129, @@ -4525,7 +4555,7 @@ }, { "name": "Cerulean Cave (B1F)", - "order": 78, + "order": 79, "encounters": [ { "pokeapi_id": 150, @@ -4538,35 +4568,5 @@ ] } ] - }, - { - "name": "Indigo Plateau", - "order": 79, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 50, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 50, - "min_level": 10, - "max_level": 10 - } - ] } ] diff --git a/backend/src/app/seeds/data/ruby.json b/backend/src/app/seeds/data/ruby.json index bc7fff1..4122637 100644 --- a/backend/src/app/seeds/data/ruby.json +++ b/backend/src/app/seeds/data/ruby.json @@ -5693,8 +5693,106 @@ ] }, { - "name": "Ever Grande City", + "name": "Island Cave", "order": 92, + "encounters": [ + { + "pokeapi_id": 378, + "pokemon_name": "Regice", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Abandoned Ship", + "order": 93, + "encounters": [ + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 99, + "min_level": 5, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "super-rod", + "encounter_rate": 80, + "min_level": 25, + "max_level": 35 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 70, + "min_level": 5, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 30, + "min_level": 5, + "max_level": 10 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 20, + "max_level": 35 + } + ] + }, + { + "name": "Ancient Tomb", + "order": 94, + "encounters": [ + { + "pokeapi_id": 379, + "pokemon_name": "Registeel", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Ever Grande City", + "order": 95, "encounters": [ { "pokeapi_id": 129, @@ -5788,12 +5886,12 @@ }, { "name": "Victory Road (Hoenn)", - "order": 93, + "order": 96, "encounters": [], "children": [ { "name": "Victory Road (Hoenn 1F)", - "order": 94, + "order": 97, "encounters": [ { "pokeapi_id": 42, @@ -5863,7 +5961,7 @@ }, { "name": "Victory Road (Hoenn B1F)", - "order": 95, + "order": 98, "encounters": [ { "pokeapi_id": 75, @@ -5925,7 +6023,7 @@ }, { "name": "Victory Road (Hoenn B2F)", - "order": 96, + "order": 99, "encounters": [ { "pokeapi_id": 42, @@ -6029,7 +6127,7 @@ }, { "name": "Sky Pillar", - "order": 97, + "order": 100, "encounters": [ { "pokeapi_id": 384, @@ -6043,7 +6141,7 @@ "children": [ { "name": "Sky Pillar (1F)", - "order": 98, + "order": 101, "encounters": [ { "pokeapi_id": 42, @@ -6081,7 +6179,7 @@ }, { "name": "Sky Pillar (3F)", - "order": 99, + "order": 102, "encounters": [ { "pokeapi_id": 42, @@ -6119,7 +6217,7 @@ }, { "name": "Sky Pillar (5F)", - "order": 100, + "order": 103, "encounters": [ { "pokeapi_id": 42, @@ -6165,104 +6263,6 @@ } ] }, - { - "name": "Abandoned Ship", - "order": 101, - "encounters": [ - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 35 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 99, - "min_level": 5, - "max_level": 35 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "super-rod", - "encounter_rate": 80, - "min_level": 25, - "max_level": 35 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 70, - "min_level": 5, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 30, - "min_level": 5, - "max_level": 10 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 20, - "max_level": 35 - } - ] - }, - { - "name": "Ancient Tomb", - "order": 102, - "encounters": [ - { - "pokeapi_id": 379, - "pokemon_name": "Registeel", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - } - ] - }, - { - "name": "Island Cave", - "order": 103, - "encounters": [ - { - "pokeapi_id": 378, - "pokemon_name": "Regice", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - } - ] - }, { "name": "Southern Island", "order": 104, diff --git a/backend/src/app/seeds/data/sapphire.json b/backend/src/app/seeds/data/sapphire.json index 2bcdb80..3464531 100644 --- a/backend/src/app/seeds/data/sapphire.json +++ b/backend/src/app/seeds/data/sapphire.json @@ -5684,8 +5684,106 @@ ] }, { - "name": "Ever Grande City", + "name": "Island Cave", "order": 92, + "encounters": [ + { + "pokeapi_id": 378, + "pokemon_name": "Regice", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Abandoned Ship", + "order": 93, + "encounters": [ + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 99, + "min_level": 5, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "super-rod", + "encounter_rate": 80, + "min_level": 25, + "max_level": 35 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 70, + "min_level": 5, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 30, + "min_level": 5, + "max_level": 10 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 20, + "max_level": 35 + } + ] + }, + { + "name": "Ancient Tomb", + "order": 94, + "encounters": [ + { + "pokeapi_id": 379, + "pokemon_name": "Registeel", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Ever Grande City", + "order": 95, "encounters": [ { "pokeapi_id": 129, @@ -5779,12 +5877,12 @@ }, { "name": "Victory Road (Hoenn)", - "order": 93, + "order": 96, "encounters": [], "children": [ { "name": "Victory Road (Hoenn 1F)", - "order": 94, + "order": 97, "encounters": [ { "pokeapi_id": 42, @@ -5854,7 +5952,7 @@ }, { "name": "Victory Road (Hoenn B1F)", - "order": 95, + "order": 98, "encounters": [ { "pokeapi_id": 75, @@ -5916,7 +6014,7 @@ }, { "name": "Victory Road (Hoenn B2F)", - "order": 96, + "order": 99, "encounters": [ { "pokeapi_id": 42, @@ -6020,7 +6118,7 @@ }, { "name": "Sky Pillar", - "order": 97, + "order": 100, "encounters": [ { "pokeapi_id": 384, @@ -6034,7 +6132,7 @@ "children": [ { "name": "Sky Pillar (1F)", - "order": 98, + "order": 101, "encounters": [ { "pokeapi_id": 42, @@ -6072,7 +6170,7 @@ }, { "name": "Sky Pillar (3F)", - "order": 99, + "order": 102, "encounters": [ { "pokeapi_id": 42, @@ -6110,7 +6208,7 @@ }, { "name": "Sky Pillar (5F)", - "order": 100, + "order": 103, "encounters": [ { "pokeapi_id": 42, @@ -6156,104 +6254,6 @@ } ] }, - { - "name": "Abandoned Ship", - "order": 101, - "encounters": [ - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 35 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 99, - "min_level": 5, - "max_level": 35 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "super-rod", - "encounter_rate": 80, - "min_level": 25, - "max_level": 35 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 70, - "min_level": 5, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 30, - "min_level": 5, - "max_level": 10 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 20, - "max_level": 35 - } - ] - }, - { - "name": "Ancient Tomb", - "order": 102, - "encounters": [ - { - "pokeapi_id": 379, - "pokemon_name": "Registeel", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - } - ] - }, - { - "name": "Island Cave", - "order": 103, - "encounters": [ - { - "pokeapi_id": 378, - "pokemon_name": "Regice", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - } - ] - }, { "name": "Southern Island", "order": 104, diff --git a/backend/src/app/seeds/data/soulsilver.json b/backend/src/app/seeds/data/soulsilver.json index af87eef..470c6a1 100644 --- a/backend/src/app/seeds/data/soulsilver.json +++ b/backend/src/app/seeds/data/soulsilver.json @@ -6035,111 +6035,9 @@ } ] }, - { - "name": "Lake of Rage", - "order": 64, - "encounters": [ - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "static", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 14, - "max_level": 19 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "surf", - "encounter_rate": 90, - "min_level": 5, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 90, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 70, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 102, - "pokemon_name": "Exeggcute", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 14, - "max_level": 19 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 14, - "max_level": 16 - }, - { - "pokeapi_id": 48, - "pokemon_name": "Venonat", - "method": "headbutt", - "encounter_rate": 15, - "min_level": 17, - "max_level": 19 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "surf", - "encounter_rate": 10, - "min_level": 10, - "max_level": 20 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "good-rod", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - } - ] - }, { "name": "Route 43 (Johto)", - "order": 65, + "order": 64, "encounters": [ { "pokeapi_id": 163, @@ -6312,8 +6210,148 @@ ] }, { - "name": "Route 44 (Johto)", + "name": "Lake of Rage", + "order": 65, + "encounters": [ + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "static", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 14, + "max_level": 19 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "surf", + "encounter_rate": 90, + "min_level": 5, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 90, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 70, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 102, + "pokemon_name": "Exeggcute", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 14, + "max_level": 19 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 14, + "max_level": 16 + }, + { + "pokeapi_id": 48, + "pokemon_name": "Venonat", + "method": "headbutt", + "encounter_rate": 15, + "min_level": 17, + "max_level": 19 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "surf", + "encounter_rate": 10, + "min_level": 10, + "max_level": 20 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "good-rod", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + } + ] + }, + { + "name": "Team Rocket HQ (B1F)", "order": 66, + "encounters": [ + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "static", + "encounter_rate": 33, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "static", + "encounter_rate": 20, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 109, + "pokemon_name": "Koffing", + "method": "static", + "encounter_rate": 20, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 100, + "pokemon_name": "Voltorb", + "method": "static", + "encounter_rate": 17, + "min_level": 23, + "max_level": 23 + } + ] + }, + { + "name": "Route 44 (Johto)", + "order": 67, "encounters": [ { "pokeapi_id": 223, @@ -6495,89 +6533,11 @@ }, { "name": "Ice Path", - "order": 67, + "order": 68, "encounters": [], "children": [ { "name": "Ice Path (1F)", - "order": 68, - "encounters": [ - { - "pokeapi_id": 220, - "pokemon_name": "Swinub", - "method": "walk", - "encounter_rate": 40, - "min_level": 21, - "max_level": 21 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 30, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 21, - "max_level": 22 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 21, - "max_level": 22 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 225, - "pokemon_name": "Delibird", - "method": "walk", - "encounter_rate": 20, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 124, - "pokemon_name": "Jynx", - "method": "walk", - "encounter_rate": 10, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 5, - "min_level": 22, - "max_level": 22 - } - ] - }, - { - "name": "Ice Path (B1F)", "order": 69, "encounters": [ { @@ -6655,8 +6615,86 @@ ] }, { - "name": "Ice Path (B2F)", + "name": "Ice Path (B1F)", "order": 70, + "encounters": [ + { + "pokeapi_id": 220, + "pokemon_name": "Swinub", + "method": "walk", + "encounter_rate": 40, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 30, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 21, + "max_level": 22 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 21, + "max_level": 22 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 225, + "pokemon_name": "Delibird", + "method": "walk", + "encounter_rate": 20, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 124, + "pokemon_name": "Jynx", + "method": "walk", + "encounter_rate": 10, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 5, + "min_level": 22, + "max_level": 22 + } + ] + }, + { + "name": "Ice Path (B2F)", + "order": 71, "encounters": [ { "pokeapi_id": 220, @@ -6734,7 +6772,7 @@ }, { "name": "Ice Path (B3F)", - "order": 71, + "order": 72, "encounters": [ { "pokeapi_id": 220, @@ -6814,7 +6852,7 @@ }, { "name": "Blackthorn City", - "order": 72, + "order": 73, "encounters": [ { "pokeapi_id": 85, @@ -6884,7 +6922,7 @@ }, { "name": "Dragon's Den", - "order": 73, + "order": 74, "encounters": [ { "pokeapi_id": 147, @@ -6962,7 +7000,7 @@ }, { "name": "Route 45 (Johto)", - "order": 74, + "order": 75, "encounters": [ { "pokeapi_id": 129, @@ -7120,7 +7158,7 @@ }, { "name": "Route 46 (Johto)", - "order": 75, + "order": 76, "encounters": [ { "pokeapi_id": 21, @@ -7196,9 +7234,71 @@ } ] }, + { + "name": "Cliff Edge Gate", + "order": 77, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 194, + "pokemon_name": "Wooper", + "method": "surf", + "encounter_rate": 90, + "min_level": 20, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 85, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 70, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 15, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "surf", + "encounter_rate": 10, + "min_level": 30, + "max_level": 40 + } + ] + }, { "name": "Route 47 (Johto)", - "order": 76, + "order": 78, "encounters": [ { "pokeapi_id": 163, @@ -7466,9 +7566,189 @@ } ] }, + { + "name": "Cliff Cave", + "order": 79, + "encounters": [ + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "rock-smash", + "encounter_rate": 80, + "min_level": 20, + "max_level": 26 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 24, + "min_level": 20, + "max_level": 22 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 19, + "max_level": 20 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 20, + "min_level": 19, + "max_level": 19 + }, + { + "pokeapi_id": 99, + "pokemon_name": "Kingler", + "method": "rock-smash", + "encounter_rate": 20, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 19, + "max_level": 20 + }, + { + "pokeapi_id": 99, + "pokemon_name": "Kingler", + "method": "walk", + "encounter_rate": 10, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "walk", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 10, + "min_level": 19, + "max_level": 19 + }, + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 200, + "pokemon_name": "Misdreavus", + "method": "walk", + "encounter_rate": 5, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 5, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 194, + "pokemon_name": "Wooper", + "method": "walk", + "encounter_rate": 5, + "min_level": 18, + "max_level": 18 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 5, + "min_level": 18, + "max_level": 18 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 4, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 4, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 208, + "pokemon_name": "Steelix", + "method": "walk", + "encounter_rate": 2, + "min_level": 23, + "max_level": 23 + } + ] + }, + { + "name": "Embedded Tower", + "order": 80, + "encounters": [ + { + "pokeapi_id": 383, + "pokemon_name": "Groudon", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 384, + "pokemon_name": "Rayquaza", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + } + ] + }, { "name": "Route 48 (Johto)", - "order": 77, + "order": 81, "encounters": [ { "pokeapi_id": 163, @@ -7592,14 +7872,52 @@ } ] }, + { + "name": "Safari Zone Gate", + "order": 82, + "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 14, + "max_level": 19 + }, + { + "pokeapi_id": 102, + "pokemon_name": "Exeggcute", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 14, + "max_level": 19 + }, + { + "pokeapi_id": 165, + "pokemon_name": "Ledyba", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 17, + "max_level": 19 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 14, + "max_level": 16 + } + ] + }, { "name": "Safari Zone (Johto)", - "order": 78, + "order": 83, "encounters": [], "children": [ { "name": "Safari Zone (Johto - Peak)", - "order": 79, + "order": 84, "encounters": [ { "pokeapi_id": 74, @@ -7725,7 +8043,7 @@ }, { "name": "Safari Zone (Johto - Desert)", - "order": 80, + "order": 85, "encounters": [ { "pokeapi_id": 22, @@ -7835,7 +8153,7 @@ }, { "name": "Safari Zone (Johto - Plains)", - "order": 81, + "order": 86, "encounters": [ { "pokeapi_id": 203, @@ -7953,7 +8271,7 @@ }, { "name": "Safari Zone (Johto - Meadow)", - "order": 82, + "order": 87, "encounters": [ { "pokeapi_id": 129, @@ -8191,7 +8509,7 @@ }, { "name": "Safari Zone (Johto - Forest)", - "order": 83, + "order": 88, "encounters": [ { "pokeapi_id": 200, @@ -8309,7 +8627,7 @@ }, { "name": "Safari Zone (Johto - Swamp)", - "order": 84, + "order": 89, "encounters": [ { "pokeapi_id": 129, @@ -8563,7 +8881,7 @@ }, { "name": "Safari Zone (Johto - Marshland)", - "order": 85, + "order": 90, "encounters": [ { "pokeapi_id": 61, @@ -8817,7 +9135,7 @@ }, { "name": "Safari Zone (Johto - Rocky Beach)", - "order": 86, + "order": 91, "encounters": [ { "pokeapi_id": 131, @@ -9047,7 +9365,7 @@ }, { "name": "Safari Zone (Johto - Mountain)", - "order": 87, + "order": 92, "encounters": [ { "pokeapi_id": 41, @@ -9173,7 +9491,7 @@ }, { "name": "Safari Zone (Johto - Wasteland)", - "order": 88, + "order": 93, "encounters": [ { "pokeapi_id": 95, @@ -9299,7 +9617,7 @@ }, { "name": "Safari Zone (Johto - Savannah)", - "order": 89, + "order": 94, "encounters": [ { "pokeapi_id": 128, @@ -9433,7 +9751,7 @@ }, { "name": "Safari Zone (Johto - Wetland)", - "order": 90, + "order": 95, "encounters": [ { "pokeapi_id": 60, @@ -9671,272 +9989,14 @@ } ] }, - { - "name": "Safari Zone Gate", - "order": 91, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 14, - "max_level": 19 - }, - { - "pokeapi_id": 102, - "pokemon_name": "Exeggcute", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 14, - "max_level": 19 - }, - { - "pokeapi_id": 165, - "pokemon_name": "Ledyba", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 17, - "max_level": 19 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 14, - "max_level": 16 - } - ] - }, - { - "name": "Cliff Cave", - "order": 92, - "encounters": [ - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "rock-smash", - "encounter_rate": 80, - "min_level": 20, - "max_level": 26 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 24, - "min_level": 20, - "max_level": 22 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 19, - "max_level": 20 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 20, - "min_level": 19, - "max_level": 19 - }, - { - "pokeapi_id": 99, - "pokemon_name": "Kingler", - "method": "rock-smash", - "encounter_rate": 20, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 19, - "max_level": 20 - }, - { - "pokeapi_id": 99, - "pokemon_name": "Kingler", - "method": "walk", - "encounter_rate": 10, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "walk", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 10, - "min_level": 19, - "max_level": 19 - }, - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 200, - "pokemon_name": "Misdreavus", - "method": "walk", - "encounter_rate": 5, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 5, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 194, - "pokemon_name": "Wooper", - "method": "walk", - "encounter_rate": 5, - "min_level": 18, - "max_level": 18 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 5, - "min_level": 18, - "max_level": 18 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 4, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 4, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 208, - "pokemon_name": "Steelix", - "method": "walk", - "encounter_rate": 2, - "min_level": 23, - "max_level": 23 - } - ] - }, - { - "name": "Cliff Edge Gate", - "order": 93, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 194, - "pokemon_name": "Wooper", - "method": "surf", - "encounter_rate": 90, - "min_level": 20, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 85, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 70, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 15, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "surf", - "encounter_rate": 10, - "min_level": 30, - "max_level": 40 - } - ] - }, { "name": "Whirl Islands", - "order": 94, + "order": 96, "encounters": [], "children": [ { "name": "Whirl Islands (1F)", - "order": 95, + "order": 97, "encounters": [ { "pokeapi_id": 129, @@ -10102,7 +10162,7 @@ }, { "name": "Whirl Islands (B1F)", - "order": 96, + "order": 98, "encounters": [ { "pokeapi_id": 129, @@ -10268,7 +10328,7 @@ }, { "name": "Whirl Islands (B2F)", - "order": 97, + "order": 99, "encounters": [ { "pokeapi_id": 129, @@ -10434,7 +10494,7 @@ }, { "name": "Whirl Islands (B3F)", - "order": 98, + "order": 100, "encounters": [ { "pokeapi_id": 98, @@ -10504,7 +10564,7 @@ }, { "name": "Whirl Islands (B3F - Lugia's Cave)", - "order": 99, + "order": 101, "encounters": [ { "pokeapi_id": 249, @@ -10518,186 +10578,6 @@ } ] }, - { - "name": "Embedded Tower", - "order": 100, - "encounters": [ - { - "pokeapi_id": 383, - "pokemon_name": "Groudon", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 384, - "pokemon_name": "Rayquaza", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - } - ] - }, - { - "name": "Tohjo Falls", - "order": 101, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "super-rod", - "encounter_rate": 70, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "surf", - "encounter_rate": 60, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 20, - "pokemon_name": "Raticate", - "method": "walk", - "encounter_rate": 30, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 79, - "pokemon_name": "Slowpoke", - "method": "surf", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 30, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 20, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 79, - "pokemon_name": "Slowpoke", - "method": "walk", - "encounter_rate": 15, - "min_level": 21, - "max_level": 21 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "surf", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "super-rod", - "encounter_rate": 10, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 19, - "pokemon_name": "Rattata", - "method": "walk", - "encounter_rate": 5, - "min_level": 20, - "max_level": 20 - } - ] - }, { "name": "Route 27 (Kanto)", "order": 102, @@ -10921,8 +10801,166 @@ ] }, { - "name": "Route 26 (Kanto)", + "name": "Tohjo Falls", "order": 103, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "super-rod", + "encounter_rate": 70, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "surf", + "encounter_rate": 60, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 20, + "pokemon_name": "Raticate", + "method": "walk", + "encounter_rate": 30, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 79, + "pokemon_name": "Slowpoke", + "method": "surf", + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 30, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 20, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 79, + "pokemon_name": "Slowpoke", + "method": "walk", + "encounter_rate": 15, + "min_level": 21, + "max_level": 21 + }, + { + "pokeapi_id": 119, + "pokemon_name": "Seaking", + "method": "surf", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 119, + "pokemon_name": "Seaking", + "method": "super-rod", + "encounter_rate": 10, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 19, + "pokemon_name": "Rattata", + "method": "walk", + "encounter_rate": 5, + "min_level": 20, + "max_level": 20 + } + ] + }, + { + "name": "Route 26 (Kanto)", + "order": 104, "encounters": [ { "pokeapi_id": 163, @@ -11127,8 +11165,8 @@ ] }, { - "name": "Victory Road (Kanto 2F)", - "order": 104, + "name": "Victory Road (Kanto)", + "order": 105, "encounters": [ { "pokeapi_id": 74, @@ -11221,1157 +11259,16 @@ ] }, { - "name": "Route 28 (Kanto)", - "order": 105, - "encounters": [ - { - "pokeapi_id": 214, - "pokemon_name": "Heracross", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 39, - "max_level": 43 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "surf", - "encounter_rate": 90, - "min_level": 35, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 80, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 190, - "pokemon_name": "Aipom", - "method": "headbutt", - "encounter_rate": 60, - "min_level": 39, - "max_level": 43 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 177, - "pokemon_name": "Natu", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 39, - "max_level": 43 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 77, - "pokemon_name": "Ponyta", - "method": "walk", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "walk", - "encounter_rate": 30, - "min_level": 39, - "max_level": 39 - }, - { - "pokeapi_id": 399, - "pokemon_name": "Bidoof", - "method": "walk", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 418, - "pokemon_name": "Buizel", - "method": "walk", - "encounter_rate": 20, - "min_level": 39, - "max_level": 40 - }, - { - "pokeapi_id": 264, - "pokemon_name": "Linoone", - "method": "walk", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 78, - "pokemon_name": "Rapidash", - "method": "walk", - "encounter_rate": 20, - "min_level": 41, - "max_level": 42 - }, - { - "pokeapi_id": 217, - "pokemon_name": "Ursaring", - "method": "walk", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 293, - "pokemon_name": "Whismur", - "method": "walk", - "encounter_rate": 20, - "min_level": 39, - "max_level": 40 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "surf", - "encounter_rate": 10, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 215, - "pokemon_name": "Sneasel", - "method": "walk", - "encounter_rate": 10, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 85, - "pokemon_name": "Dodrio", - "method": "walk", - "encounter_rate": 5, - "min_level": 43, - "max_level": 43 - }, - { - "pokeapi_id": 84, - "pokemon_name": "Doduo", - "method": "walk", - "encounter_rate": 5, - "min_level": 41, - "max_level": 41 - } - ] - }, - { - "name": "Mt. Silver", + "name": "Vermilion City", "order": 106, "encounters": [ { - "pokeapi_id": 214, - "pokemon_name": "Heracross", + "pokeapi_id": 21, + "pokemon_name": "Spearow", "method": "headbutt", "encounter_rate": 100, - "min_level": 39, - "max_level": 43 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "surf", - "encounter_rate": 91, - "min_level": 30, - "max_level": 48 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 80, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 190, - "pokemon_name": "Aipom", - "method": "headbutt", - "encounter_rate": 60, - "min_level": 39, - "max_level": 43 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 177, - "pokemon_name": "Natu", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 39, - "max_level": 43 - }, - { - "pokeapi_id": 77, - "pokemon_name": "Ponyta", - "method": "walk", - "encounter_rate": 30, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "walk", - "encounter_rate": 30, - "min_level": 41, - "max_level": 41 - }, - { - "pokeapi_id": 399, - "pokemon_name": "Bidoof", - "method": "walk", - "encounter_rate": 20, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 418, - "pokemon_name": "Buizel", - "method": "walk", - "encounter_rate": 20, - "min_level": 41, - "max_level": 42 - }, - { - "pokeapi_id": 264, - "pokemon_name": "Linoone", - "method": "walk", - "encounter_rate": 20, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 217, - "pokemon_name": "Ursaring", - "method": "walk", - "encounter_rate": 20, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 293, - "pokemon_name": "Whismur", - "method": "walk", - "encounter_rate": 20, - "min_level": 41, - "max_level": 42 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 78, - "pokemon_name": "Rapidash", - "method": "walk", - "encounter_rate": 10, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 215, - "pokemon_name": "Sneasel", - "method": "walk", - "encounter_rate": 10, - "min_level": 41, - "max_level": 41 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "surf", - "encounter_rate": 9, - "min_level": 30, - "max_level": 40 - }, - { - "pokeapi_id": 85, - "pokemon_name": "Dodrio", - "method": "walk", - "encounter_rate": 5, - "min_level": 43, - "max_level": 43 - }, - { - "pokeapi_id": 84, - "pokemon_name": "Doduo", - "method": "walk", - "encounter_rate": 5, - "min_level": 41, - "max_level": 41 - } - ] - }, - { - "name": "Mt. Silver (Cave)", - "order": 107, - "encounters": [], - "children": [ - { - "name": "Mt. Silver (Cave 1F)", - "order": 108, - "encounters": [ - { - "pokeapi_id": 146, - "pokemon_name": "Moltres", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "surf", - "encounter_rate": 91, - "min_level": 30, - "max_level": 50 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 80, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 50, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "super-rod", - "encounter_rate": 50, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 30, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 217, - "pokemon_name": "Ursaring", - "method": "walk", - "encounter_rate": 30, - "min_level": 44, - "max_level": 44 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 43, - "max_level": 43 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 20, - "min_level": 41, - "max_level": 43 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 43, - "max_level": 43 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "good-rod", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 216, - "pokemon_name": "Teddiursa", - "method": "walk", - "encounter_rate": 10, - "min_level": 43, - "max_level": 43 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "surf", - "encounter_rate": 9, - "min_level": 30, - "max_level": 40 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 246, - "pokemon_name": "Larvitar", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - } - ] - }, - { - "name": "Mt. Silver (Cave Expert Belt Chamber)", - "order": 109, - "encounters": [ - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 35, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 200, - "pokemon_name": "Misdreavus", - "method": "walk", - "encounter_rate": 30, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 217, - "pokemon_name": "Ursaring", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 48 - }, - { - "pokeapi_id": 216, - "pokemon_name": "Teddiursa", - "method": "walk", - "encounter_rate": 10, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 246, - "pokemon_name": "Larvitar", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 247, - "pokemon_name": "Pupitar", - "method": "walk", - "encounter_rate": 5, - "min_level": 30, - "max_level": 30 - } - ] - }, - { - "name": "Mt. Silver (Cave Moltres Chamber)", - "order": 110, - "encounters": [ - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 40, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 48 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 48 - }, - { - "pokeapi_id": 208, - "pokemon_name": "Steelix", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 217, - "pokemon_name": "Ursaring", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 48 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "walk", - "encounter_rate": 10, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 200, - "pokemon_name": "Misdreavus", - "method": "walk", - "encounter_rate": 10, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 246, - "pokemon_name": "Larvitar", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - } - ] - }, - { - "name": "Mt. Silver (Cave Lower Mountainside)", - "order": 111, - "encounters": [ - { - "pokeapi_id": 214, - "pokemon_name": "Heracross", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 42, - "max_level": 48 - }, - { - "pokeapi_id": 190, - "pokemon_name": "Aipom", - "method": "headbutt", - "encounter_rate": 60, - "min_level": 42, - "max_level": 48 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 40, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 177, - "pokemon_name": "Natu", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 42, - "max_level": 48 - }, - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 30, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 216, - "pokemon_name": "Teddiursa", - "method": "walk", - "encounter_rate": 10, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 217, - "pokemon_name": "Ursaring", - "method": "walk", - "encounter_rate": 10, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "walk", - "encounter_rate": 5, - "min_level": 51, - "max_level": 51 - }, - { - "pokeapi_id": 246, - "pokemon_name": "Larvitar", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - } - ] - }, - { - "name": "Mt. Silver (Cave 2F)", - "order": 112, - "encounters": [ - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 30, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 215, - "pokemon_name": "Sneasel", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 217, - "pokemon_name": "Ursaring", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "walk", - "encounter_rate": 10, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 200, - "pokemon_name": "Misdreavus", - "method": "walk", - "encounter_rate": 10, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 216, - "pokemon_name": "Teddiursa", - "method": "walk", - "encounter_rate": 10, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 246, - "pokemon_name": "Larvitar", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - } - ] - }, - { - "name": "Mt. Silver (Cave Upper Mountainside)", - "order": 113, - "encounters": [ - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "walk", - "encounter_rate": 30, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 215, - "pokemon_name": "Sneasel", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 217, - "pokemon_name": "Ursaring", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 200, - "pokemon_name": "Misdreavus", - "method": "walk", - "encounter_rate": 15, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 15, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 246, - "pokemon_name": "Larvitar", - "method": "walk", - "encounter_rate": 10, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 48, - "max_level": 48 - } - ] - }, - { - "name": "Mt. Silver (Cave 3F)", - "order": 114, - "encounters": [ - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "walk", - "encounter_rate": 30, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 215, - "pokemon_name": "Sneasel", - "method": "walk", - "encounter_rate": 20, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 217, - "pokemon_name": "Ursaring", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 200, - "pokemon_name": "Misdreavus", - "method": "walk", - "encounter_rate": 10, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 5, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 246, - "pokemon_name": "Larvitar", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - } - ] - } - ] - }, - { - "name": "Pallet Town", - "order": 115, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 2, - "max_level": 6 + "min_level": 11, + "max_level": 16 }, { "pokeapi_id": 72, @@ -12389,6 +11286,22 @@ "min_level": 10, "max_level": 10 }, + { + "pokeapi_id": 50, + "pokemon_name": "Diglett", + "method": "rock-smash", + "encounter_rate": 80, + "min_level": 24, + "max_level": 37 + }, + { + "pokeapi_id": 278, + "pokemon_name": "Wingull", + "method": "swarm", + "encounter_rate": 60, + "min_level": 35, + "max_level": 35 + }, { "pokeapi_id": 170, "pokemon_name": "Chinchou", @@ -12397,6 +11310,14 @@ "min_level": 40, "max_level": 40 }, + { + "pokeapi_id": 415, + "pokemon_name": "Combee", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 11, + "max_level": 16 + }, { "pokeapi_id": 129, "pokemon_name": "Magikarp", @@ -12406,28 +11327,12 @@ "max_level": 20 }, { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 2, - "max_level": 6 - }, - { - "pokeapi_id": 165, - "pokemon_name": "Ledyba", + "pokeapi_id": 214, + "pokemon_name": "Heracross", "method": "headbutt", "encounter_rate": 30, - "min_level": 5, - "max_level": 6 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 2, - "max_level": 3 + "min_level": 11, + "max_level": 13 }, { "pokeapi_id": 90, @@ -12453,6 +11358,14 @@ "min_level": 20, "max_level": 20 }, + { + "pokeapi_id": 213, + "pokemon_name": "Shuckle", + "method": "rock-smash", + "encounter_rate": 20, + "min_level": 32, + "max_level": 35 + }, { "pokeapi_id": 73, "pokemon_name": "Tentacruel", @@ -12496,160 +11409,20 @@ ] }, { - "name": "Professor Oak's Laboratory", - "order": 116, - "encounters": [ - { - "pokeapi_id": 1, - "pokemon_name": "Bulbasaur", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 4, - "pokemon_name": "Charmander", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 7, - "pokemon_name": "Squirtle", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - } - ] - }, - { - "name": "Route 01 (Kanto)", - "order": 117, + "name": "Route 06 (Kanto)", + "order": 107, "encounters": [ { "pokeapi_id": 163, "pokemon_name": "Hoothoot", "method": "headbutt", "encounter_rate": 100, - "min_level": 2, - "max_level": 6 + "min_level": 11, + "max_level": 16 }, { - "pokeapi_id": 19, - "pokemon_name": "Rattata", - "method": "walk", - "encounter_rate": 85, - "min_level": 2, - "max_level": 3 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "walk", - "encounter_rate": 45, - "min_level": 2, - "max_level": 4 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 45, - "min_level": 2, - "max_level": 4 - }, - { - "pokeapi_id": 261, - "pokemon_name": "Poochyena", - "method": "swarm", - "encounter_rate": 40, - "min_level": 2, - "max_level": 2 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 2, - "max_level": 3 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 2, - "max_level": 6 - }, - { - "pokeapi_id": 165, - "pokemon_name": "Ledyba", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 5, - "max_level": 6 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 2, - "max_level": 3 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 2, - "max_level": 2 - }, - { - "pokeapi_id": 161, - "pokemon_name": "Sentret", - "method": "walk", - "encounter_rate": 20, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 162, - "pokemon_name": "Furret", - "method": "walk", - "encounter_rate": 5, - "min_level": 6, - "max_level": 6 - } - ] - }, - { - "name": "Viridian City", - "order": 118, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 3, - "max_level": 7 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", + "pokeapi_id": 54, + "pokemon_name": "Psyduck", "method": "surf", "encounter_rate": 90, "min_level": 5, @@ -12672,44 +11445,92 @@ "max_level": 40 }, { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", + "pokeapi_id": 129, + "pokemon_name": "Magikarp", "method": "good-rod", "encounter_rate": 60, "min_level": 20, "max_level": 20 }, { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", + "pokeapi_id": 69, + "pokemon_name": "Bellsprout", + "method": "walk", + "encounter_rate": 50, + "min_level": 13, + "max_level": 14 + }, + { + "pokeapi_id": 52, + "pokemon_name": "Meowth", + "method": "walk", + "encounter_rate": 50, + "min_level": 13, + "max_level": 14 + }, + { + "pokeapi_id": 415, + "pokemon_name": "Combee", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 11, + "max_level": 16 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", "method": "good-rod", "encounter_rate": 40, "min_level": 20, "max_level": 20 }, { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 3, - "max_level": 7 + "pokeapi_id": 43, + "pokemon_name": "Oddish", + "method": "walk", + "encounter_rate": 30, + "min_level": 13, + "max_level": 13 }, { - "pokeapi_id": 165, - "pokemon_name": "Ledyba", - "method": "headbutt", + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", "encounter_rate": 30, - "min_level": 5, - "max_level": 7 + "min_level": 13, + "max_level": 13 }, { "pokeapi_id": 204, "pokemon_name": "Pineco", "method": "headbutt", "encounter_rate": 30, - "min_level": 3, - "max_level": 4 + "min_level": 11, + "max_level": 13 + }, + { + "pokeapi_id": 399, + "pokemon_name": "Bidoof", + "method": "walk", + "encounter_rate": 20, + "min_level": 14, + "max_level": 14 + }, + { + "pokeapi_id": 418, + "pokemon_name": "Buizel", + "method": "walk", + "encounter_rate": 20, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 264, + "pokemon_name": "Linoone", + "method": "walk", + "encounter_rate": 20, + "min_level": 14, + "max_level": 14 }, { "pokeapi_id": 129, @@ -12719,6 +11540,14 @@ "min_level": 40, "max_level": 40 }, + { + "pokeapi_id": 293, + "pokemon_name": "Whismur", + "method": "walk", + "encounter_rate": 20, + "min_level": 13, + "max_level": 13 + }, { "pokeapi_id": 60, "pokemon_name": "Poliwag", @@ -12728,833 +11557,174 @@ "max_level": 10 }, { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "surf", - "encounter_rate": 10, - "min_level": 10, - "max_level": 10 - } - ] - }, - { - "name": "Viridian Forest", - "order": 119, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "walk", - "encounter_rate": 80, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 285, - "pokemon_name": "Shroomish", - "method": "headbutt", - "encounter_rate": 60, - "min_level": 3, - "max_level": 7 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 50, - "min_level": 3, - "max_level": 4 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "headbutt", - "encounter_rate": 50, - "min_level": 5, - "max_level": 7 - }, - { - "pokeapi_id": 401, - "pokemon_name": "Kricketot", - "method": "swarm", - "encounter_rate": 40, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 13, - "pokemon_name": "Weedle", - "method": "walk", - "encounter_rate": 40, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 14, - "pokemon_name": "Kakuna", - "method": "walk", - "encounter_rate": 30, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 25, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 406, - "pokemon_name": "Budew", - "method": "walk", - "encounter_rate": 20, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 455, - "pokemon_name": "Carnivine", - "method": "walk", - "encounter_rate": 20, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 322, - "pokemon_name": "Numel", - "method": "walk", - "encounter_rate": 20, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 273, - "pokemon_name": "Seedot", - "method": "headbutt", - "encounter_rate": 20, - "min_level": 3, - "max_level": 7 - }, - { - "pokeapi_id": 325, - "pokemon_name": "Spoink", - "method": "walk", - "encounter_rate": 20, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 15, - "min_level": 7, - "max_level": 7 - }, - { - "pokeapi_id": 25, - "pokemon_name": "Pikachu", - "method": "walk", - "encounter_rate": 11, - "min_level": 4, - "max_level": 4 - }, - { - "pokeapi_id": 15, - "pokemon_name": "Beedrill", - "method": "walk", - "encounter_rate": 10, - "min_level": 7, - "max_level": 7 - }, - { - "pokeapi_id": 166, - "pokemon_name": "Ledian", - "method": "headbutt", - "encounter_rate": 10, - "min_level": 5, - "max_level": 7 - }, - { - "pokeapi_id": 165, - "pokemon_name": "Ledyba", - "method": "headbutt", - "encounter_rate": 10, - "min_level": 3, - "max_level": 4 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 9, - "min_level": 7, - "max_level": 7 - } - ] - }, - { - "name": "Pewter City", - "order": 120, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 3, - "max_level": 9 - }, - { - "pokeapi_id": 380, - "pokemon_name": "Latias", - "method": "static", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 3, - "max_level": 9 - }, - { - "pokeapi_id": 178, - "pokemon_name": "Xatu", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - }, - { - "pokeapi_id": 396, - "pokemon_name": "Starly", - "method": "headbutt", - "encounter_rate": 35, - "min_level": 5, - "max_level": 12 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 3, - "max_level": 5 - } - ] - }, - { - "name": "Pewter Museum of Science", - "order": 121, - "encounters": [ - { - "pokeapi_id": 142, - "pokemon_name": "Aerodactyl", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 347, - "pokemon_name": "Anorith", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 408, - "pokemon_name": "Cranidos", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 140, - "pokemon_name": "Kabuto", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 345, - "pokemon_name": "Lileep", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 138, - "pokemon_name": "Omanyte", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 410, - "pokemon_name": "Shieldon", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - } - ] - }, - { - "name": "Kanto Route 2", - "order": 122, - "encounters": [], - "children": [ - { - "name": "Route 02 (Kanto - Northern Section)", - "order": 123, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 3, - "max_level": 7 - }, - { - "pokeapi_id": 14, - "pokemon_name": "Kakuna", - "method": "walk", - "encounter_rate": 100, - "min_level": 3, - "max_level": 7 - }, - { - "pokeapi_id": 13, - "pokemon_name": "Weedle", - "method": "walk", - "encounter_rate": 100, - "min_level": 3, - "max_level": 5 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 3, - "max_level": 7 - }, - { - "pokeapi_id": 165, - "pokemon_name": "Ledyba", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 5, - "max_level": 7 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 3, - "max_level": 4 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 15, - "pokemon_name": "Beedrill", - "method": "walk", - "encounter_rate": 14, - "min_level": 7, - "max_level": 10 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 14, - "min_level": 7, - "max_level": 7 - }, - { - "pokeapi_id": 166, - "pokemon_name": "Ledian", - "method": "walk", - "encounter_rate": 9, - "min_level": 7, - "max_level": 7 - }, - { - "pokeapi_id": 165, - "pokemon_name": "Ledyba", - "method": "walk", - "encounter_rate": 7, - "min_level": 3, - "max_level": 10 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "walk", - "encounter_rate": 6, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 6, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 5, - "min_level": 7, - "max_level": 7 - } - ] - }, - { - "name": "Route 02 (Kanto - Southern Section)", - "order": 124, - "encounters": [ - { - "pokeapi_id": 15, - "pokemon_name": "Beedrill", - "method": "walk", - "encounter_rate": 100, - "min_level": 7, - "max_level": 10 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 3, - "max_level": 7 - }, - { - "pokeapi_id": 14, - "pokemon_name": "Kakuna", - "method": "walk", - "encounter_rate": 100, - "min_level": 3, - "max_level": 7 - }, - { - "pokeapi_id": 13, - "pokemon_name": "Weedle", - "method": "walk", - "encounter_rate": 42, - "min_level": 3, - "max_level": 5 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 3, - "max_level": 7 - }, - { - "pokeapi_id": 165, - "pokemon_name": "Ledyba", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 5, - "max_level": 7 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 3, - "max_level": 4 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 14, - "min_level": 7, - "max_level": 7 - }, - { - "pokeapi_id": 166, - "pokemon_name": "Ledian", - "method": "walk", - "encounter_rate": 9, - "min_level": 7, - "max_level": 10 - }, - { - "pokeapi_id": 165, - "pokemon_name": "Ledyba", - "method": "walk", - "encounter_rate": 7, - "min_level": 3, - "max_level": 10 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "walk", - "encounter_rate": 6, - "min_level": 3, - "max_level": 5 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 6, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 5, - "min_level": 7, - "max_level": 7 - } - ] - } - ] - }, - { - "name": "Route 03 (Kanto)", - "order": 125, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 6, - "max_level": 10 - }, - { - "pokeapi_id": 19, - "pokemon_name": "Rattata", - "method": "walk", - "encounter_rate": 65, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 316, - "pokemon_name": "Gulpin", - "method": "swarm", - "encounter_rate": 40, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 6, - "max_level": 10 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 6, - "max_level": 7 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 30, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 23, - "pokemon_name": "Ekans", - "method": "walk", - "encounter_rate": 20, - "min_level": 8, - "max_level": 8 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 8, - "max_level": 8 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 39, - "pokemon_name": "Jigglypuff", - "method": "walk", - "encounter_rate": 10, - "min_level": 6, - "max_level": 6 - }, - { - "pokeapi_id": 24, - "pokemon_name": "Arbok", - "method": "walk", - "encounter_rate": 5, - "min_level": 10, - "max_level": 10 - } - ] - }, - { - "name": "Mt. Moon (B2F)", - "order": 126, - "encounters": [ - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 50, - "min_level": 6, - "max_level": 6 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 35, - "min_level": 6, - "max_level": 6 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 6, - "max_level": 6 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 6, - "max_level": 6 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 8, - "max_level": 8 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 8, - "max_level": 8 - }, - { - "pokeapi_id": 46, - "pokemon_name": "Paras", + "pokeapi_id": 63, + "pokemon_name": "Abra", "method": "walk", "encounter_rate": 10, "min_level": 12, "max_level": 12 }, { - "pokeapi_id": 35, - "pokemon_name": "Clefairy", + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "surf", + "encounter_rate": 10, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 81, + "pokemon_name": "Magnemite", "method": "walk", - "encounter_rate": 5, - "min_level": 8, - "max_level": 8 + "encounter_rate": 10, + "min_level": 15, + "max_level": 15 } ] }, { - "name": "Mt. Moon Square", - "order": 127, + "name": "Saffron City", + "order": 108, "encounters": [ { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", + "pokeapi_id": 25, + "pokemon_name": "Pikachu", + "method": "trade", "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "surf", - "encounter_rate": 100, - "min_level": 30, - "max_level": 35 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 95, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "old-rod", - "encounter_rate": 90, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "surf", - "encounter_rate": 40, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 + "min_level": 1, + "max_level": 1 } ] }, { - "name": "Route 04 (Kanto)", - "order": 128, + "name": "Route 08 (Kanto)", + "order": 109, "encounters": [ { "pokeapi_id": 163, "pokemon_name": "Hoothoot", "method": "headbutt", "encounter_rate": 100, - "min_level": 6, - "max_level": 10 + "min_level": 16, + "max_level": 19 + }, + { + "pokeapi_id": 415, + "pokemon_name": "Combee", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 16, + "max_level": 19 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 35, + "min_level": 17, + "max_level": 17 + }, + { + "pokeapi_id": 93, + "pokemon_name": "Haunter", + "method": "walk", + "encounter_rate": 30, + "min_level": 19, + "max_level": 19 + }, + { + "pokeapi_id": 52, + "pokemon_name": "Meowth", + "method": "walk", + "encounter_rate": 30, + "min_level": 17, + "max_level": 17 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 16, + "max_level": 17 + }, + { + "pokeapi_id": 63, + "pokemon_name": "Abra", + "method": "walk", + "encounter_rate": 20, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 17, + "max_level": 17 + }, + { + "pokeapi_id": 37, + "pokemon_name": "Vulpix", + "method": "walk", + "encounter_rate": 15, + "min_level": 17, + "max_level": 18 + }, + { + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "walk", + "encounter_rate": 10, + "min_level": 18, + "max_level": 18 + }, + { + "pokeapi_id": 64, + "pokemon_name": "Kadabra", + "method": "walk", + "encounter_rate": 5, + "min_level": 15, + "max_level": 15 + } + ] + }, + { + "name": "Route 10 (Kanto)", + "order": 110, + "encounters": [ + { + "pokeapi_id": 145, + "pokemon_name": "Zapdos", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 }, { "pokeapi_id": 118, "pokemon_name": "Goldeen", "method": "surf", "encounter_rate": 90, - "min_level": 5, - "max_level": 10 + "min_level": 10, + "max_level": 15 }, { "pokeapi_id": 129, @@ -13573,92 +11743,76 @@ "max_level": 40 }, { - "pokeapi_id": 19, - "pokemon_name": "Rattata", - "method": "walk", - "encounter_rate": 65, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", + "pokeapi_id": 129, + "pokemon_name": "Magikarp", "method": "good-rod", "encounter_rate": 60, "min_level": 20, "max_level": 20 }, { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", + "pokeapi_id": 20, + "pokemon_name": "Raticate", + "method": "walk", + "encounter_rate": 45, + "min_level": 16, + "max_level": 16 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", "method": "good-rod", "encounter_rate": 40, "min_level": 20, "max_level": 20 }, { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", "encounter_rate": 40, - "min_level": 6, - "max_level": 10 + "min_level": 16, + "max_level": 16 }, { "pokeapi_id": 21, "pokemon_name": "Spearow", "method": "walk", - "encounter_rate": 35, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", "encounter_rate": 30, - "min_level": 6, - "max_level": 7 + "min_level": 16, + "max_level": 16 }, { - "pokeapi_id": 41, - "pokemon_name": "Zubat", + "pokeapi_id": 100, + "pokemon_name": "Voltorb", "method": "walk", "encounter_rate": 30, - "min_level": 5, - "max_level": 5 + "min_level": 17, + "max_level": 17 }, { "pokeapi_id": 399, "pokemon_name": "Bidoof", "method": "walk", "encounter_rate": 20, - "min_level": 8, - "max_level": 8 + "min_level": 16, + "max_level": 16 }, { "pokeapi_id": 418, "pokemon_name": "Buizel", "method": "walk", "encounter_rate": 20, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 23, - "pokemon_name": "Ekans", - "method": "walk", - "encounter_rate": 20, - "min_level": 8, - "max_level": 8 + "min_level": 16, + "max_level": 17 }, { "pokeapi_id": 264, "pokemon_name": "Linoone", "method": "walk", "encounter_rate": 20, - "min_level": 8, - "max_level": 8 + "min_level": 16, + "max_level": 16 }, { "pokeapi_id": 129, @@ -13673,8 +11827,16 @@ "pokemon_name": "Whismur", "method": "walk", "encounter_rate": 20, - "min_level": 5, - "max_level": 5 + "min_level": 16, + "max_level": 17 + }, + { + "pokeapi_id": 125, + "pokemon_name": "Electabuzz", + "method": "walk", + "encounter_rate": 15, + "min_level": 15, + "max_level": 15 }, { "pokeapi_id": 118, @@ -13685,21 +11847,342 @@ "max_level": 10 }, { - "pokeapi_id": 39, - "pokemon_name": "Jigglypuff", + "pokeapi_id": 22, + "pokemon_name": "Fearow", "method": "walk", "encounter_rate": 10, - "min_level": 6, - "max_level": 6 + "min_level": 18, + "max_level": 18 }, { "pokeapi_id": 119, "pokemon_name": "Seaking", "method": "surf", "encounter_rate": 10, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 119, + "pokemon_name": "Seaking", + "method": "super-rod", + "encounter_rate": 10, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Rock Tunnel", + "order": 111, + "encounters": [], + "children": [ + { + "name": "Rock Tunnel (1F)", + "order": 112, + "encounters": [ + { + "pokeapi_id": 104, + "pokemon_name": "Cubone", + "method": "walk", + "encounter_rate": 35, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 30, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 66, + "pokemon_name": "Machop", + "method": "walk", + "encounter_rate": 20, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 8, + "max_level": 8 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 5, + "min_level": 14, + "max_level": 14 + } + ] + }, + { + "name": "Rock Tunnel (B1F)", + "order": 113, + "encounters": [ + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 100, + "min_level": 12, + "max_level": 21 + }, + { + "pokeapi_id": 104, + "pokemon_name": "Cubone", + "method": "walk", + "encounter_rate": 30, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 30, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 16, + "max_level": 16 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 16, + "max_level": 16 + }, + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 20, + "min_level": 16, + "max_level": 16 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 10, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 115, + "pokemon_name": "Kangaskhan", + "method": "walk", + "encounter_rate": 5, + "min_level": 14, + "max_level": 14 + }, + { + "pokeapi_id": 105, + "pokemon_name": "Marowak", + "method": "walk", + "encounter_rate": 5, + "min_level": 14, + "max_level": 14 + } + ] + } + ] + }, + { + "name": "Route 09 (Kanto)", + "order": 114, + "encounters": [ + { + "pokeapi_id": 19, + "pokemon_name": "Rattata", + "method": "walk", + "encounter_rate": 100, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "surf", + "encounter_rate": 90, + "min_level": 10, + "max_level": 19 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, "min_level": 10, "max_level": 10 }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "super-rod", + "encounter_rate": 70, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "walk", + "encounter_rate": 50, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 20, + "pokemon_name": "Raticate", + "method": "walk", + "encounter_rate": 45, + "min_level": 13, + "max_level": 15 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 303, + "pokemon_name": "Mawile", + "method": "swarm", + "encounter_rate": 40, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 399, + "pokemon_name": "Bidoof", + "method": "walk", + "encounter_rate": 20, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 418, + "pokemon_name": "Buizel", + "method": "walk", + "encounter_rate": 20, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 264, + "pokemon_name": "Linoone", + "method": "walk", + "encounter_rate": 20, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 293, + "pokemon_name": "Whismur", + "method": "walk", + "encounter_rate": 20, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 119, + "pokemon_name": "Seaking", + "method": "surf", + "encounter_rate": 10, + "min_level": 15, + "max_level": 19 + }, { "pokeapi_id": 119, "pokemon_name": "Seaking", @@ -13709,18 +12192,32 @@ "max_level": 40 }, { - "pokeapi_id": 24, - "pokemon_name": "Arbok", + "pokeapi_id": 22, + "pokemon_name": "Fearow", "method": "walk", "encounter_rate": 5, - "min_level": 10, - "max_level": 10 + "min_level": 15, + "max_level": 15 + } + ] + }, + { + "name": "Power Plant", + "order": 115, + "encounters": [ + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 } ] }, { "name": "Cerulean City", - "order": 129, + "order": 116, "encounters": [ { "pokeapi_id": 163, @@ -13822,7 +12319,7 @@ }, { "name": "Route 24 (Kanto)", - "order": 130, + "order": 117, "encounters": [ { "pokeapi_id": 69, @@ -13988,7 +12485,7 @@ }, { "name": "Route 25 (Kanto)", - "order": 131, + "order": 118, "encounters": [ { "pokeapi_id": 415, @@ -14208,562 +12705,9 @@ } ] }, - { - "name": "Cerulean Cave", - "order": 132, - "encounters": [], - "children": [ - { - "name": "Cerulean Cave (1F)", - "order": 133, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "surf", - "encounter_rate": 90, - "min_level": 35, - "max_level": 40 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 80, - "min_level": 22, - "max_level": 24 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 60, - "min_level": 38, - "max_level": 39 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 45, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 24, - "min_level": 39, - "max_level": 40 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 21, - "min_level": 39, - "max_level": 40 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 21, - "min_level": 39, - "max_level": 40 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 38, - "max_level": 38 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 38, - "max_level": 38 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 39, - "max_level": 40 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 20, - "min_level": 26, - "max_level": 30 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 39, - "max_level": 40 - }, - { - "pokeapi_id": 47, - "pokemon_name": "Parasect", - "method": "walk", - "encounter_rate": 20, - "min_level": 38, - "max_level": 38 - }, - { - "pokeapi_id": 53, - "pokemon_name": "Persian", - "method": "walk", - "encounter_rate": 18, - "min_level": 38, - "max_level": 39 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 15, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "surf", - "encounter_rate": 10, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "walk", - "encounter_rate": 5, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 202, - "pokemon_name": "Wobbuffet", - "method": "walk", - "encounter_rate": 5, - "min_level": 37, - "max_level": 37 - } - ] - }, - { - "name": "Cerulean Cave (2F)", - "order": 134, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 45, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 30, - "min_level": 41, - "max_level": 42 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 30, - "min_level": 39, - "max_level": 39 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 39, - "max_level": 39 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 39, - "max_level": 39 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 41, - "max_level": 42 - }, - { - "pokeapi_id": 64, - "pokemon_name": "Kadabra", - "method": "walk", - "encounter_rate": 20, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 41, - "max_level": 42 - }, - { - "pokeapi_id": 47, - "pokemon_name": "Parasect", - "method": "walk", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 15, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 10, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 10, - "min_level": 41, - "max_level": 41 - }, - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "walk", - "encounter_rate": 5, - "min_level": 41, - "max_level": 41 - }, - { - "pokeapi_id": 202, - "pokemon_name": "Wobbuffet", - "method": "walk", - "encounter_rate": 5, - "min_level": 42, - "max_level": 42 - } - ] - }, - { - "name": "Cerulean Cave (B1F)", - "order": 135, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 150, - "pokemon_name": "Mewtwo", - "method": "static", - "encounter_rate": 100, - "min_level": 70, - "max_level": 70 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "surf", - "encounter_rate": 90, - "min_level": 35, - "max_level": 40 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 80, - "min_level": 22, - "max_level": 24 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 45, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 47, - "pokemon_name": "Parasect", - "method": "walk", - "encounter_rate": 25, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "rock-smash", - "encounter_rate": 20, - "min_level": 26, - "max_level": 30 - }, - { - "pokeapi_id": 64, - "pokemon_name": "Kadabra", - "method": "walk", - "encounter_rate": 20, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 15, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "walk", - "encounter_rate": 15, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 10, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 10, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "surf", - "encounter_rate": 10, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 10, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "walk", - "encounter_rate": 5, - "min_level": 46, - "max_level": 46 - }, - { - "pokeapi_id": 202, - "pokemon_name": "Wobbuffet", - "method": "walk", - "encounter_rate": 5, - "min_level": 49, - "max_level": 49 - } - ] - } - ] - }, { "name": "Route 05 (Kanto)", - "order": 136, + "order": 119, "encounters": [ { "pokeapi_id": 163, @@ -14863,333 +12807,9 @@ } ] }, - { - "name": "Route 06 (Kanto)", - "order": 137, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 11, - "max_level": 16 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "surf", - "encounter_rate": 90, - "min_level": 5, - "max_level": 10 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "super-rod", - "encounter_rate": 80, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 69, - "pokemon_name": "Bellsprout", - "method": "walk", - "encounter_rate": 50, - "min_level": 13, - "max_level": 14 - }, - { - "pokeapi_id": 52, - "pokemon_name": "Meowth", - "method": "walk", - "encounter_rate": 50, - "min_level": 13, - "max_level": 14 - }, - { - "pokeapi_id": 415, - "pokemon_name": "Combee", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 11, - "max_level": 16 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 43, - "pokemon_name": "Oddish", - "method": "walk", - "encounter_rate": 30, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 16, - "pokemon_name": "Pidgey", - "method": "walk", - "encounter_rate": 30, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 11, - "max_level": 13 - }, - { - "pokeapi_id": 399, - "pokemon_name": "Bidoof", - "method": "walk", - "encounter_rate": 20, - "min_level": 14, - "max_level": 14 - }, - { - "pokeapi_id": 418, - "pokemon_name": "Buizel", - "method": "walk", - "encounter_rate": 20, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 264, - "pokemon_name": "Linoone", - "method": "walk", - "encounter_rate": 20, - "min_level": 14, - "max_level": 14 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 293, - "pokemon_name": "Whismur", - "method": "walk", - "encounter_rate": 20, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 63, - "pokemon_name": "Abra", - "method": "walk", - "encounter_rate": 10, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "surf", - "encounter_rate": 10, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 81, - "pokemon_name": "Magnemite", - "method": "walk", - "encounter_rate": 10, - "min_level": 15, - "max_level": 15 - } - ] - }, - { - "name": "Vermilion City", - "order": 138, - "encounters": [ - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 11, - "max_level": 16 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 90, - "min_level": 30, - "max_level": 35 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 50, - "pokemon_name": "Diglett", - "method": "rock-smash", - "encounter_rate": 80, - "min_level": 24, - "max_level": 37 - }, - { - "pokeapi_id": 278, - "pokemon_name": "Wingull", - "method": "swarm", - "encounter_rate": 60, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 415, - "pokemon_name": "Combee", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 11, - "max_level": 16 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 214, - "pokemon_name": "Heracross", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 11, - "max_level": 13 - }, - { - "pokeapi_id": 90, - "pokemon_name": "Shellder", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 213, - "pokemon_name": "Shuckle", - "method": "rock-smash", - "encounter_rate": 20, - "min_level": 32, - "max_level": 35 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 171, - "pokemon_name": "Lanturn", - "method": "super-rod", - "encounter_rate": 10, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 90, - "pokemon_name": "Shellder", - "method": "good-rod", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 10, - "min_level": 35, - "max_level": 35 - } - ] - }, { "name": "Route 07 (Kanto)", - "order": 139, + "order": 120, "encounters": [ { "pokeapi_id": 21, @@ -15306,775 +12926,848 @@ ] }, { - "name": "Route 08 (Kanto)", - "order": 140, + "name": "Celadon City", + "order": 121, "encounters": [ { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", + "pokeapi_id": 21, + "pokemon_name": "Spearow", "method": "headbutt", "encounter_rate": 100, - "min_level": 16, - "max_level": 19 + "min_level": 15, + "max_level": 20 + }, + { + "pokeapi_id": 88, + "pokemon_name": "Grimer", + "method": "surf", + "encounter_rate": 90, + "min_level": 15, + "max_level": 20 }, { "pokeapi_id": 415, "pokemon_name": "Combee", "method": "headbutt", "encounter_rate": 40, - "min_level": 16, - "max_level": 19 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 35, - "min_level": 17, - "max_level": 17 - }, - { - "pokeapi_id": 93, - "pokemon_name": "Haunter", - "method": "walk", - "encounter_rate": 30, - "min_level": 19, - "max_level": 19 - }, - { - "pokeapi_id": 52, - "pokemon_name": "Meowth", - "method": "walk", - "encounter_rate": 30, - "min_level": 17, - "max_level": 17 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 16, - "max_level": 17 - }, - { - "pokeapi_id": 63, - "pokemon_name": "Abra", - "method": "walk", - "encounter_rate": 20, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 17, - "max_level": 17 - }, - { - "pokeapi_id": 37, - "pokemon_name": "Vulpix", - "method": "walk", - "encounter_rate": 15, - "min_level": 17, - "max_level": 18 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 10, - "min_level": 18, - "max_level": 18 - }, - { - "pokeapi_id": 64, - "pokemon_name": "Kadabra", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - } - ] - }, - { - "name": "Route 09 (Kanto)", - "order": 141, - "encounters": [ - { - "pokeapi_id": 19, - "pokemon_name": "Rattata", - "method": "walk", - "encounter_rate": 100, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "surf", - "encounter_rate": 90, - "min_level": 10, - "max_level": 19 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "super-rod", - "encounter_rate": 70, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 20, "max_level": 20 }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 50, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 20, - "pokemon_name": "Raticate", - "method": "walk", - "encounter_rate": 45, - "min_level": 13, - "max_level": 15 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 303, - "pokemon_name": "Mawile", - "method": "swarm", - "encounter_rate": 40, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 399, - "pokemon_name": "Bidoof", - "method": "walk", - "encounter_rate": 20, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 418, - "pokemon_name": "Buizel", - "method": "walk", - "encounter_rate": 20, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 264, - "pokemon_name": "Linoone", - "method": "walk", - "encounter_rate": 20, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 293, - "pokemon_name": "Whismur", - "method": "walk", - "encounter_rate": 20, - "min_level": 13, - "max_level": 13 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "surf", - "encounter_rate": 10, - "min_level": 15, - "max_level": 19 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "super-rod", - "encounter_rate": 10, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 22, - "pokemon_name": "Fearow", - "method": "walk", - "encounter_rate": 5, - "min_level": 15, - "max_level": 15 - } - ] - }, - { - "name": "Route 10 (Kanto)", - "order": 142, - "encounters": [ - { - "pokeapi_id": 145, - "pokemon_name": "Zapdos", - "method": "static", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "surf", - "encounter_rate": 90, - "min_level": 10, - "max_level": 15 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 85, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "super-rod", - "encounter_rate": 70, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 60, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 20, - "pokemon_name": "Raticate", - "method": "walk", - "encounter_rate": 45, - "min_level": 16, - "max_level": 16 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 40, - "min_level": 16, - "max_level": 16 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "walk", - "encounter_rate": 30, - "min_level": 16, - "max_level": 16 - }, - { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "walk", - "encounter_rate": 30, - "min_level": 17, - "max_level": 17 - }, - { - "pokeapi_id": 399, - "pokemon_name": "Bidoof", - "method": "walk", - "encounter_rate": 20, - "min_level": 16, - "max_level": 16 - }, - { - "pokeapi_id": 418, - "pokemon_name": "Buizel", - "method": "walk", - "encounter_rate": 20, - "min_level": 16, - "max_level": 17 - }, - { - "pokeapi_id": 264, - "pokemon_name": "Linoone", - "method": "walk", - "encounter_rate": 20, - "min_level": 16, - "max_level": 16 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "super-rod", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 293, - "pokemon_name": "Whismur", - "method": "walk", - "encounter_rate": 20, - "min_level": 16, - "max_level": 17 - }, - { - "pokeapi_id": 125, - "pokemon_name": "Electabuzz", - "method": "walk", - "encounter_rate": 15, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "old-rod", - "encounter_rate": 15, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 22, - "pokemon_name": "Fearow", - "method": "walk", - "encounter_rate": 10, - "min_level": 18, - "max_level": 18 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "surf", - "encounter_rate": 10, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 119, - "pokemon_name": "Seaking", - "method": "super-rod", - "encounter_rate": 10, - "min_level": 40, - "max_level": 40 - } - ] - }, - { - "name": "Rock Tunnel", - "order": 143, - "encounters": [], - "children": [ - { - "name": "Rock Tunnel (1F)", - "order": 144, - "encounters": [ - { - "pokeapi_id": 104, - "pokemon_name": "Cubone", - "method": "walk", - "encounter_rate": 35, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 30, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 66, - "pokemon_name": "Machop", - "method": "walk", - "encounter_rate": 20, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 8, - "max_level": 8 - }, - { - "pokeapi_id": 67, - "pokemon_name": "Machoke", - "method": "walk", - "encounter_rate": 5, - "min_level": 14, - "max_level": 14 - } - ] - }, - { - "name": "Rock Tunnel (B1F)", - "order": 145, - "encounters": [ - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "rock-smash", - "encounter_rate": 100, - "min_level": 12, - "max_level": 21 - }, - { - "pokeapi_id": 104, - "pokemon_name": "Cubone", - "method": "walk", - "encounter_rate": 30, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "walk", - "encounter_rate": 30, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", - "method": "walk", - "encounter_rate": 20, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 433, - "pokemon_name": "Chingling", - "method": "walk", - "encounter_rate": 20, - "min_level": 16, - "max_level": 16 - }, - { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", - "method": "walk", - "encounter_rate": 20, - "min_level": 16, - "max_level": 16 - }, - { - "pokeapi_id": 95, - "pokemon_name": "Onix", - "method": "walk", - "encounter_rate": 20, - "min_level": 16, - "max_level": 16 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 10, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 115, - "pokemon_name": "Kangaskhan", - "method": "walk", - "encounter_rate": 5, - "min_level": 14, - "max_level": 14 - }, - { - "pokeapi_id": 105, - "pokemon_name": "Marowak", - "method": "walk", - "encounter_rate": 5, - "min_level": 14, - "max_level": 14 - } - ] - } - ] - }, - { - "name": "Power Plant", - "order": 146, - "encounters": [ - { - "pokeapi_id": 82, - "pokemon_name": "Magneton", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - } - ] - }, - { - "name": "Route 11 (Kanto)", - "order": 147, - "encounters": [ - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 13, - "max_level": 16 - }, - { - "pokeapi_id": 415, - "pokemon_name": "Combee", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 13, - "max_level": 16 - }, - { - "pokeapi_id": 96, - "pokemon_name": "Drowzee", - "method": "walk", - "encounter_rate": 40, - "min_level": 14, - "max_level": 14 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 14, - "max_level": 15 - }, { "pokeapi_id": 214, "pokemon_name": "Heracross", "method": "headbutt", "encounter_rate": 30, - "min_level": 13, - "max_level": 14 + "min_level": 15, + "max_level": 17 }, { - "pokeapi_id": 19, - "pokemon_name": "Rattata", + "pokeapi_id": 89, + "pokemon_name": "Muk", + "method": "surf", + "encounter_rate": 10, + "min_level": 15, + "max_level": 15 + } + ] + }, + { + "name": "Route 16 (Kanto)", + "order": 122, + "encounters": [ + { + "pokeapi_id": 88, + "pokemon_name": "Grimer", "method": "walk", + "encounter_rate": 100, + "min_level": 26, + "max_level": 28 + }, + { + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 26, + "max_level": 30 + }, + { + "pokeapi_id": 415, + "pokemon_name": "Combee", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 26, + "max_level": 30 + }, + { + "pokeapi_id": 22, + "pokemon_name": "Fearow", + "method": "walk", + "encounter_rate": 40, + "min_level": 27, + "max_level": 27 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 26, + "max_level": 28 + }, + { + "pokeapi_id": 214, + "pokemon_name": "Heracross", + "method": "headbutt", "encounter_rate": 30, - "min_level": 15, - "max_level": 15 - }, - { - "pokeapi_id": 81, - "pokemon_name": "Magnemite", - "method": "walk", - "encounter_rate": 20, - "min_level": 15, - "max_level": 15 + "min_level": 26, + "max_level": 27 }, { "pokeapi_id": 312, "pokemon_name": "Minun", "method": "walk", "encounter_rate": 20, - "min_level": 15, - "max_level": 15 + "min_level": 28, + "max_level": 28 }, { "pokeapi_id": 311, "pokemon_name": "Plusle", "method": "walk", "encounter_rate": 20, - "min_level": 14, - "max_level": 15 + "min_level": 26, + "max_level": 27 }, { - "pokeapi_id": 97, - "pokemon_name": "Hypno", + "pokeapi_id": 198, + "pokemon_name": "Murkrow", "method": "walk", "encounter_rate": 10, - "min_level": 16, - "max_level": 16 + "min_level": 29, + "max_level": 29 + }, + { + "pokeapi_id": 89, + "pokemon_name": "Muk", + "method": "walk", + "encounter_rate": 5, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "walk", + "encounter_rate": 5, + "min_level": 27, + "max_level": 27 } ] }, { - "name": "Diglett's Cave", - "order": 148, + "name": "Route 17 (Kanto)", + "order": 123, "encounters": [ { - "pokeapi_id": 111, - "pokemon_name": "Rhyhorn", - "method": "trade", + "pokeapi_id": 88, + "pokemon_name": "Grimer", + "method": "walk", "encounter_rate": 100, - "min_level": 1, - "max_level": 1 + "min_level": 27, + "max_level": 29 }, { - "pokeapi_id": 50, - "pokemon_name": "Diglett", + "pokeapi_id": 22, + "pokemon_name": "Fearow", "method": "walk", + "encounter_rate": 40, + "min_level": 28, + "max_level": 28 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 27, + "max_level": 29 + }, + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "walk", + "encounter_rate": 40, + "min_level": 27, + "max_level": 29 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 29, + "max_level": 29 + }, + { + "pokeapi_id": 89, + "pokemon_name": "Muk", + "method": "walk", + "encounter_rate": 20, + "min_level": 30, + "max_level": 32 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 27, + "max_level": 28 + } + ] + }, + { + "name": "Route 18 (Kanto)", + "order": 124, + "encounters": [ + { + "pokeapi_id": 88, + "pokemon_name": "Grimer", + "method": "walk", + "encounter_rate": 100, + "min_level": 26, + "max_level": 28 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 26, + "max_level": 30 + }, + { + "pokeapi_id": 22, + "pokemon_name": "Fearow", + "method": "walk", + "encounter_rate": 40, + "min_level": 27, + "max_level": 27 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 26, + "max_level": 28 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 26, + "max_level": 30 + }, + { + "pokeapi_id": 165, + "pokemon_name": "Ledyba", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 26, + "max_level": 27 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 28, + "max_level": 28 + }, + { + "pokeapi_id": 89, + "pokemon_name": "Muk", + "method": "walk", + "encounter_rate": 20, + "min_level": 29, + "max_level": 30 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 26, + "max_level": 27 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "headbutt", + "encounter_rate": 15, + "min_level": 29, + "max_level": 30 + }, + { + "pokeapi_id": 218, + "pokemon_name": "Slugma", + "method": "walk", + "encounter_rate": 5, + "min_level": 27, + "max_level": 27 + } + ] + }, + { + "name": "Fuchsia City", + "order": 125, + "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 21, + "max_level": 34 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "surf", + "encounter_rate": 100, + "min_level": 10, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", "encounter_rate": 90, - "min_level": 13, - "max_level": 13 + "min_level": 20, + "max_level": 20 }, { - "pokeapi_id": 359, - "pokemon_name": "Absol", + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 70, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 21, + "max_level": 34 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 165, + "pokemon_name": "Ledyba", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 21, + "max_level": 23 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "headbutt", + "encounter_rate": 15, + "min_level": 26, + "max_level": 34 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "good-rod", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + } + ] + }, + { + "name": "Route 15 (Kanto)", + "order": 126, + "encounters": [ + { + "pokeapi_id": 113, + "pokemon_name": "Chansey", + "method": "walk", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 21, + "max_level": 26 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 21, + "max_level": 26 + }, + { + "pokeapi_id": 165, + "pokemon_name": "Ledyba", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 21, + "max_level": 23 + }, + { + "pokeapi_id": 30, + "pokemon_name": "Nidorina", + "method": "walk", + "encounter_rate": 30, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 33, + "pokemon_name": "Nidorino", + "method": "walk", + "encounter_rate": 30, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", "method": "walk", "encounter_rate": 20, - "min_level": 15, - "max_level": 15 + "min_level": 25, + "max_level": 25 }, { - "pokeapi_id": 436, - "pokemon_name": "Bronzor", + "pokeapi_id": 164, + "pokemon_name": "Noctowl", "method": "walk", "encounter_rate": 20, - "min_level": 15, - "max_level": 15 + "min_level": 25, + "max_level": 25 }, { - "pokeapi_id": 433, - "pokemon_name": "Chingling", + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", "method": "walk", "encounter_rate": 20, - "min_level": 19, - "max_level": 19 + "min_level": 25, + "max_level": 25 }, { - "pokeapi_id": 296, - "pokemon_name": "Makuhita", + "pokeapi_id": 311, + "pokemon_name": "Plusle", "method": "walk", "encounter_rate": 20, - "min_level": 19, - "max_level": 19 + "min_level": 23, + "max_level": 23 }, { - "pokeapi_id": 51, - "pokemon_name": "Dugtrio", + "pokeapi_id": 187, + "pokemon_name": "Hoppip", + "method": "walk", + "encounter_rate": 19, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 19, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "headbutt", + "encounter_rate": 15, + "min_level": 24, + "max_level": 26 + } + ] + }, + { + "name": "Route 14 (Kanto)", + "order": 127, + "encounters": [ + { + "pokeapi_id": 113, + "pokemon_name": "Chansey", + "method": "walk", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 26, + "max_level": 30 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 26, + "max_level": 30 + }, + { + "pokeapi_id": 165, + "pokemon_name": "Ledyba", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 26, + "max_level": 27 + }, + { + "pokeapi_id": 30, + "pokemon_name": "Nidorina", + "method": "walk", + "encounter_rate": 30, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 33, + "pokemon_name": "Nidorino", + "method": "walk", + "encounter_rate": 30, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 19, + "min_level": 24, + "max_level": 24 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "headbutt", + "encounter_rate": 15, + "min_level": 29, + "max_level": 30 + }, + { + "pokeapi_id": 187, + "pokemon_name": "Hoppip", "method": "walk", "encounter_rate": 10, - "min_level": 19, - "max_level": 19 + "min_level": 24, + "max_level": 24 + }, + { + "pokeapi_id": 188, + "pokemon_name": "Skiploom", + "method": "walk", + "encounter_rate": 9, + "min_level": 26, + "max_level": 26 + } + ] + }, + { + "name": "Route 13 (Kanto)", + "order": 128, + "encounters": [ + { + "pokeapi_id": 113, + "pokemon_name": "Chansey", + "method": "walk", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 22, + "max_level": 25 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "super-rod", + "encounter_rate": 70, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 60, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 113, + "pokemon_name": "Chansey", + "method": "swarm", + "encounter_rate": 40, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 22, + "max_level": 25 + }, + { + "pokeapi_id": 165, + "pokemon_name": "Ledyba", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 22, + "max_level": 23 + }, + { + "pokeapi_id": 30, + "pokemon_name": "Nidorina", + "method": "walk", + "encounter_rate": 30, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 33, + "pokemon_name": "Nidorino", + "method": "walk", + "encounter_rate": 30, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "surf", + "encounter_rate": 30, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 399, + "pokemon_name": "Bidoof", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 418, + "pokemon_name": "Buizel", + "method": "walk", + "encounter_rate": 20, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 264, + "pokemon_name": "Linoone", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 293, + "pokemon_name": "Whismur", + "method": "walk", + "encounter_rate": 20, + "min_level": 23, + "max_level": 23 + }, + { + "pokeapi_id": 187, + "pokemon_name": "Hoppip", + "method": "walk", + "encounter_rate": 19, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 19, + "min_level": 22, + "max_level": 22 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "headbutt", + "encounter_rate": 15, + "min_level": 24, + "max_level": 25 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 211, + "pokemon_name": "Qwilfish", + "method": "super-rod", + "encounter_rate": 10, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 10, + "min_level": 25, + "max_level": 25 } ] }, { "name": "Route 12 (Kanto)", - "order": 149, + "order": 129, "encounters": [ { "pokeapi_id": 163, @@ -16215,24 +13908,813 @@ ] }, { - "name": "Route 13 (Kanto)", - "order": 150, + "name": "Route 11 (Kanto)", + "order": 130, "encounters": [ { - "pokeapi_id": 113, - "pokemon_name": "Chansey", - "method": "walk", + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "headbutt", "encounter_rate": 100, - "min_level": 25, - "max_level": 25 + "min_level": 13, + "max_level": 16 }, + { + "pokeapi_id": 415, + "pokemon_name": "Combee", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 13, + "max_level": 16 + }, + { + "pokeapi_id": 96, + "pokemon_name": "Drowzee", + "method": "walk", + "encounter_rate": 40, + "min_level": 14, + "max_level": 14 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 14, + "max_level": 15 + }, + { + "pokeapi_id": 214, + "pokemon_name": "Heracross", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 13, + "max_level": 14 + }, + { + "pokeapi_id": 19, + "pokemon_name": "Rattata", + "method": "walk", + "encounter_rate": 30, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 81, + "pokemon_name": "Magnemite", + "method": "walk", + "encounter_rate": 20, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 14, + "max_level": 15 + }, + { + "pokeapi_id": 97, + "pokemon_name": "Hypno", + "method": "walk", + "encounter_rate": 10, + "min_level": 16, + "max_level": 16 + } + ] + }, + { + "name": "Diglett's Cave", + "order": 131, + "encounters": [ + { + "pokeapi_id": 111, + "pokemon_name": "Rhyhorn", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + }, + { + "pokeapi_id": 50, + "pokemon_name": "Diglett", + "method": "walk", + "encounter_rate": 90, + "min_level": 13, + "max_level": 13 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 19, + "max_level": 19 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 19, + "max_level": 19 + }, + { + "pokeapi_id": 51, + "pokemon_name": "Dugtrio", + "method": "walk", + "encounter_rate": 10, + "min_level": 19, + "max_level": 19 + } + ] + }, + { + "name": "Kanto Route 2", + "order": 132, + "encounters": [], + "children": [ + { + "name": "Route 02 (Kanto - Northern Section)", + "order": 133, + "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 3, + "max_level": 7 + }, + { + "pokeapi_id": 14, + "pokemon_name": "Kakuna", + "method": "walk", + "encounter_rate": 100, + "min_level": 3, + "max_level": 7 + }, + { + "pokeapi_id": 13, + "pokemon_name": "Weedle", + "method": "walk", + "encounter_rate": 100, + "min_level": 3, + "max_level": 5 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 3, + "max_level": 7 + }, + { + "pokeapi_id": 165, + "pokemon_name": "Ledyba", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 5, + "max_level": 7 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 3, + "max_level": 4 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 15, + "pokemon_name": "Beedrill", + "method": "walk", + "encounter_rate": 14, + "min_level": 7, + "max_level": 10 + }, + { + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "walk", + "encounter_rate": 14, + "min_level": 7, + "max_level": 7 + }, + { + "pokeapi_id": 166, + "pokemon_name": "Ledian", + "method": "walk", + "encounter_rate": 9, + "min_level": 7, + "max_level": 7 + }, + { + "pokeapi_id": 165, + "pokemon_name": "Ledyba", + "method": "walk", + "encounter_rate": 7, + "min_level": 3, + "max_level": 10 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "walk", + "encounter_rate": 6, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 6, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 5, + "min_level": 7, + "max_level": 7 + } + ] + }, + { + "name": "Route 02 (Kanto - Southern Section)", + "order": 134, + "encounters": [ + { + "pokeapi_id": 15, + "pokemon_name": "Beedrill", + "method": "walk", + "encounter_rate": 100, + "min_level": 7, + "max_level": 10 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 3, + "max_level": 7 + }, + { + "pokeapi_id": 14, + "pokemon_name": "Kakuna", + "method": "walk", + "encounter_rate": 100, + "min_level": 3, + "max_level": 7 + }, + { + "pokeapi_id": 13, + "pokemon_name": "Weedle", + "method": "walk", + "encounter_rate": 42, + "min_level": 3, + "max_level": 5 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 3, + "max_level": 7 + }, + { + "pokeapi_id": 165, + "pokemon_name": "Ledyba", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 5, + "max_level": 7 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 3, + "max_level": 4 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "walk", + "encounter_rate": 14, + "min_level": 7, + "max_level": 7 + }, + { + "pokeapi_id": 166, + "pokemon_name": "Ledian", + "method": "walk", + "encounter_rate": 9, + "min_level": 7, + "max_level": 10 + }, + { + "pokeapi_id": 165, + "pokemon_name": "Ledyba", + "method": "walk", + "encounter_rate": 7, + "min_level": 3, + "max_level": 10 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "walk", + "encounter_rate": 6, + "min_level": 3, + "max_level": 5 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 6, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 5, + "min_level": 7, + "max_level": 7 + } + ] + } + ] + }, + { + "name": "Pewter City", + "order": 135, + "encounters": [ { "pokeapi_id": 163, "pokemon_name": "Hoothoot", "method": "headbutt", "encounter_rate": 100, - "min_level": 22, - "max_level": 25 + "min_level": 3, + "max_level": 9 + }, + { + "pokeapi_id": 380, + "pokemon_name": "Latias", + "method": "static", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 3, + "max_level": 9 + }, + { + "pokeapi_id": 178, + "pokemon_name": "Xatu", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + }, + { + "pokeapi_id": 396, + "pokemon_name": "Starly", + "method": "headbutt", + "encounter_rate": 35, + "min_level": 5, + "max_level": 12 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 3, + "max_level": 5 + } + ] + }, + { + "name": "Pewter Museum of Science", + "order": 136, + "encounters": [ + { + "pokeapi_id": 142, + "pokemon_name": "Aerodactyl", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 347, + "pokemon_name": "Anorith", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 408, + "pokemon_name": "Cranidos", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 140, + "pokemon_name": "Kabuto", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 345, + "pokemon_name": "Lileep", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 138, + "pokemon_name": "Omanyte", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 410, + "pokemon_name": "Shieldon", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + } + ] + }, + { + "name": "Route 03 (Kanto)", + "order": 137, + "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 6, + "max_level": 10 + }, + { + "pokeapi_id": 19, + "pokemon_name": "Rattata", + "method": "walk", + "encounter_rate": 65, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 316, + "pokemon_name": "Gulpin", + "method": "swarm", + "encounter_rate": 40, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 6, + "max_level": 10 + }, + { + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "walk", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 6, + "max_level": 7 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 30, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 23, + "pokemon_name": "Ekans", + "method": "walk", + "encounter_rate": 20, + "min_level": 8, + "max_level": 8 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 8, + "max_level": 8 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 39, + "pokemon_name": "Jigglypuff", + "method": "walk", + "encounter_rate": 10, + "min_level": 6, + "max_level": 6 + }, + { + "pokeapi_id": 24, + "pokemon_name": "Arbok", + "method": "walk", + "encounter_rate": 5, + "min_level": 10, + "max_level": 10 + } + ] + }, + { + "name": "Mt. Moon", + "order": 138, + "encounters": [ + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 50, + "min_level": 6, + "max_level": 6 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "walk", + "encounter_rate": 35, + "min_level": 6, + "max_level": 6 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 6, + "max_level": 6 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 6, + "max_level": 6 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 8, + "max_level": 8 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 8, + "max_level": 8 + }, + { + "pokeapi_id": 46, + "pokemon_name": "Paras", + "method": "walk", + "encounter_rate": 10, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 35, + "pokemon_name": "Clefairy", + "method": "walk", + "encounter_rate": 5, + "min_level": 8, + "max_level": 8 + } + ] + }, + { + "name": "Mt. Moon Square", + "order": 139, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "surf", + "encounter_rate": 100, + "min_level": 30, + "max_level": 35 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 95, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "old-rod", + "encounter_rate": 90, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "surf", + "encounter_rate": 40, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Route 04 (Kanto)", + "order": 140, + "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 6, + "max_level": 10 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "surf", + "encounter_rate": 90, + "min_level": 5, + "max_level": 10 }, { "pokeapi_id": 129, @@ -16243,40 +14725,32 @@ "max_level": 10 }, { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", + "pokeapi_id": 118, + "pokemon_name": "Goldeen", "method": "super-rod", "encounter_rate": 70, "min_level": 40, "max_level": 40 }, { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", + "pokeapi_id": 19, + "pokemon_name": "Rattata", + "method": "walk", + "encounter_rate": 65, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", "method": "good-rod", "encounter_rate": 60, "min_level": 20, "max_level": 20 }, { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 60, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 113, - "pokemon_name": "Chansey", - "method": "swarm", - "encounter_rate": 40, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", + "pokeapi_id": 129, + "pokemon_name": "Magikarp", "method": "good-rod", "encounter_rate": 40, "min_level": 20, @@ -16287,64 +14761,64 @@ "pokemon_name": "Wurmple", "method": "headbutt", "encounter_rate": 40, - "min_level": 22, - "max_level": 25 + "min_level": 6, + "max_level": 10 }, { - "pokeapi_id": 165, - "pokemon_name": "Ledyba", + "pokeapi_id": 21, + "pokemon_name": "Spearow", + "method": "walk", + "encounter_rate": 35, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", "method": "headbutt", "encounter_rate": 30, - "min_level": 22, - "max_level": 23 + "min_level": 6, + "max_level": 7 }, { - "pokeapi_id": 30, - "pokemon_name": "Nidorina", + "pokeapi_id": 41, + "pokemon_name": "Zubat", "method": "walk", "encounter_rate": 30, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 33, - "pokemon_name": "Nidorino", - "method": "walk", - "encounter_rate": 30, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "surf", - "encounter_rate": 30, - "min_level": 25, - "max_level": 25 + "min_level": 5, + "max_level": 5 }, { "pokeapi_id": 399, "pokemon_name": "Bidoof", "method": "walk", "encounter_rate": 20, - "min_level": 25, - "max_level": 25 + "min_level": 8, + "max_level": 8 }, { "pokeapi_id": 418, "pokemon_name": "Buizel", "method": "walk", "encounter_rate": 20, - "min_level": 23, - "max_level": 23 + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 23, + "pokemon_name": "Ekans", + "method": "walk", + "encounter_rate": 20, + "min_level": 8, + "max_level": 8 }, { "pokeapi_id": 264, "pokemon_name": "Linoone", "method": "walk", "encounter_rate": 20, - "min_level": 25, - "max_level": 25 + "min_level": 8, + "max_level": 8 }, { "pokeapi_id": 129, @@ -16354,762 +14828,438 @@ "min_level": 40, "max_level": 40 }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, { "pokeapi_id": 293, "pokemon_name": "Whismur", "method": "walk", "encounter_rate": 20, - "min_level": 23, - "max_level": 23 + "min_level": 5, + "max_level": 5 }, { - "pokeapi_id": 187, - "pokemon_name": "Hoppip", - "method": "walk", - "encounter_rate": 19, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 19, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "headbutt", - "encounter_rate": 15, - "min_level": 24, - "max_level": 25 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", + "pokeapi_id": 118, + "pokemon_name": "Goldeen", "method": "old-rod", "encounter_rate": 15, "min_level": 10, "max_level": 10 }, { - "pokeapi_id": 211, - "pokemon_name": "Qwilfish", - "method": "super-rod", + "pokeapi_id": 39, + "pokemon_name": "Jigglypuff", + "method": "walk", "encounter_rate": 10, - "min_level": 40, - "max_level": 40 + "min_level": 6, + "max_level": 6 }, { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", + "pokeapi_id": 119, + "pokemon_name": "Seaking", "method": "surf", "encounter_rate": 10, - "min_level": 25, - "max_level": 25 - } - ] - }, - { - "name": "Route 14 (Kanto)", - "order": 151, - "encounters": [ - { - "pokeapi_id": 113, - "pokemon_name": "Chansey", - "method": "walk", - "encounter_rate": 100, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 26, - "max_level": 30 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 26, - "max_level": 30 - }, - { - "pokeapi_id": 165, - "pokemon_name": "Ledyba", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 26, - "max_level": 27 - }, - { - "pokeapi_id": 30, - "pokemon_name": "Nidorina", - "method": "walk", - "encounter_rate": 30, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 33, - "pokemon_name": "Nidorino", - "method": "walk", - "encounter_rate": 30, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 19, - "min_level": 24, - "max_level": 24 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "headbutt", - "encounter_rate": 15, - "min_level": 29, - "max_level": 30 - }, - { - "pokeapi_id": 187, - "pokemon_name": "Hoppip", - "method": "walk", - "encounter_rate": 10, - "min_level": 24, - "max_level": 24 - }, - { - "pokeapi_id": 188, - "pokemon_name": "Skiploom", - "method": "walk", - "encounter_rate": 9, - "min_level": 26, - "max_level": 26 - } - ] - }, - { - "name": "Route 15 (Kanto)", - "order": 152, - "encounters": [ - { - "pokeapi_id": 113, - "pokemon_name": "Chansey", - "method": "walk", - "encounter_rate": 100, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 21, - "max_level": 26 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 21, - "max_level": 26 - }, - { - "pokeapi_id": 165, - "pokemon_name": "Ledyba", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 21, - "max_level": 23 - }, - { - "pokeapi_id": 30, - "pokemon_name": "Nidorina", - "method": "walk", - "encounter_rate": 30, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 33, - "pokemon_name": "Nidorino", - "method": "walk", - "encounter_rate": 30, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 164, - "pokemon_name": "Noctowl", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 17, - "pokemon_name": "Pidgeotto", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 23, - "max_level": 23 - }, - { - "pokeapi_id": 187, - "pokemon_name": "Hoppip", - "method": "walk", - "encounter_rate": 19, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 195, - "pokemon_name": "Quagsire", - "method": "walk", - "encounter_rate": 19, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "headbutt", - "encounter_rate": 15, - "min_level": 24, - "max_level": 26 - } - ] - }, - { - "name": "Fuchsia City", - "order": 153, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 21, - "max_level": 34 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "surf", - "encounter_rate": 100, - "min_level": 10, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, "min_level": 10, "max_level": 10 }, { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 90, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", + "pokeapi_id": 119, + "pokemon_name": "Seaking", "method": "super-rod", - "encounter_rate": 70, + "encounter_rate": 10, "min_level": 40, "max_level": 40 }, { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 21, - "max_level": 34 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "super-rod", - "encounter_rate": 30, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 165, - "pokemon_name": "Ledyba", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 21, - "max_level": 23 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "headbutt", - "encounter_rate": 15, - "min_level": 26, - "max_level": 34 - }, - { - "pokeapi_id": 130, - "pokemon_name": "Gyarados", - "method": "good-rod", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - } - ] - }, - { - "name": "Route 16 (Kanto)", - "order": 154, - "encounters": [ - { - "pokeapi_id": 88, - "pokemon_name": "Grimer", - "method": "walk", - "encounter_rate": 100, - "min_level": 26, - "max_level": 28 - }, - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 26, - "max_level": 30 - }, - { - "pokeapi_id": 415, - "pokemon_name": "Combee", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 26, - "max_level": 30 - }, - { - "pokeapi_id": 22, - "pokemon_name": "Fearow", - "method": "walk", - "encounter_rate": 40, - "min_level": 27, - "max_level": 27 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 26, - "max_level": 28 - }, - { - "pokeapi_id": 214, - "pokemon_name": "Heracross", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 26, - "max_level": 27 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 26, - "max_level": 27 - }, - { - "pokeapi_id": 198, - "pokemon_name": "Murkrow", - "method": "walk", - "encounter_rate": 10, - "min_level": 29, - "max_level": 29 - }, - { - "pokeapi_id": 89, - "pokemon_name": "Muk", + "pokeapi_id": 24, + "pokemon_name": "Arbok", "method": "walk", "encounter_rate": 5, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "walk", - "encounter_rate": 5, - "min_level": 27, - "max_level": 27 + "min_level": 10, + "max_level": 10 } ] }, { - "name": "Route 17 (Kanto)", - "order": 155, + "name": "Viridian Forest", + "order": 141, "encounters": [ { - "pokeapi_id": 88, - "pokemon_name": "Grimer", + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", "method": "walk", - "encounter_rate": 100, - "min_level": 27, - "max_level": 29 + "encounter_rate": 80, + "min_level": 3, + "max_level": 3 }, { - "pokeapi_id": 22, - "pokemon_name": "Fearow", - "method": "walk", - "encounter_rate": 40, - "min_level": 28, - "max_level": 28 - }, - { - "pokeapi_id": 403, - "pokemon_name": "Shinx", - "method": "walk", - "encounter_rate": 40, - "min_level": 27, - "max_level": 29 - }, - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "walk", - "encounter_rate": 40, - "min_level": 27, - "max_level": 29 - }, - { - "pokeapi_id": 312, - "pokemon_name": "Minun", - "method": "walk", - "encounter_rate": 20, - "min_level": 29, - "max_level": 29 - }, - { - "pokeapi_id": 89, - "pokemon_name": "Muk", - "method": "walk", - "encounter_rate": 20, - "min_level": 30, - "max_level": 32 - }, - { - "pokeapi_id": 311, - "pokemon_name": "Plusle", - "method": "walk", - "encounter_rate": 20, - "min_level": 27, - "max_level": 28 - } - ] - }, - { - "name": "Route 18 (Kanto)", - "order": 156, - "encounters": [ - { - "pokeapi_id": 88, - "pokemon_name": "Grimer", - "method": "walk", - "encounter_rate": 100, - "min_level": 26, - "max_level": 28 + "pokeapi_id": 285, + "pokemon_name": "Shroomish", + "method": "headbutt", + "encounter_rate": 60, + "min_level": 3, + "max_level": 7 }, { "pokeapi_id": 163, "pokemon_name": "Hoothoot", "method": "headbutt", - "encounter_rate": 100, - "min_level": 26, - "max_level": 30 + "encounter_rate": 50, + "min_level": 3, + "max_level": 4 }, { - "pokeapi_id": 22, - "pokemon_name": "Fearow", + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "headbutt", + "encounter_rate": 50, + "min_level": 5, + "max_level": 7 + }, + { + "pokeapi_id": 401, + "pokemon_name": "Kricketot", + "method": "swarm", + "encounter_rate": 40, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 13, + "pokemon_name": "Weedle", "method": "walk", "encounter_rate": 40, - "min_level": 27, - "max_level": 27 + "min_level": 3, + "max_level": 3 }, { - "pokeapi_id": 403, - "pokemon_name": "Shinx", + "pokeapi_id": 14, + "pokemon_name": "Kakuna", "method": "walk", - "encounter_rate": 40, - "min_level": 26, - "max_level": 28 - }, - { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 26, - "max_level": 30 - }, - { - "pokeapi_id": 165, - "pokemon_name": "Ledyba", - "method": "headbutt", "encounter_rate": 30, - "min_level": 26, - "max_level": 27 + "min_level": 3, + "max_level": 3 }, { - "pokeapi_id": 312, - "pokemon_name": "Minun", + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 25, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 406, + "pokemon_name": "Budew", "method": "walk", "encounter_rate": 20, - "min_level": 28, - "max_level": 28 + "min_level": 3, + "max_level": 3 }, { - "pokeapi_id": 89, - "pokemon_name": "Muk", + "pokeapi_id": 455, + "pokemon_name": "Carnivine", "method": "walk", "encounter_rate": 20, - "min_level": 29, - "max_level": 30 + "min_level": 5, + "max_level": 5 }, { - "pokeapi_id": 311, - "pokemon_name": "Plusle", + "pokeapi_id": 322, + "pokemon_name": "Numel", "method": "walk", "encounter_rate": 20, - "min_level": 26, - "max_level": 27 + "min_level": 5, + "max_level": 5 }, { - "pokeapi_id": 114, - "pokemon_name": "Tangela", + "pokeapi_id": 273, + "pokemon_name": "Seedot", "method": "headbutt", + "encounter_rate": 20, + "min_level": 3, + "max_level": 7 + }, + { + "pokeapi_id": 325, + "pokemon_name": "Spoink", + "method": "walk", + "encounter_rate": 20, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 164, + "pokemon_name": "Noctowl", + "method": "walk", "encounter_rate": 15, - "min_level": 29, - "max_level": 30 + "min_level": 7, + "max_level": 7 }, - { - "pokeapi_id": 218, - "pokemon_name": "Slugma", - "method": "walk", - "encounter_rate": 5, - "min_level": 27, - "max_level": 27 - } - ] - }, - { - "name": "Celadon City", - "order": 157, - "encounters": [ - { - "pokeapi_id": 21, - "pokemon_name": "Spearow", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 15, - "max_level": 20 - }, - { - "pokeapi_id": 88, - "pokemon_name": "Grimer", - "method": "surf", - "encounter_rate": 90, - "min_level": 15, - "max_level": 20 - }, - { - "pokeapi_id": 415, - "pokemon_name": "Combee", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 15, - "max_level": 20 - }, - { - "pokeapi_id": 214, - "pokemon_name": "Heracross", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 15, - "max_level": 17 - }, - { - "pokeapi_id": 89, - "pokemon_name": "Muk", - "method": "surf", - "encounter_rate": 10, - "min_level": 15, - "max_level": 15 - } - ] - }, - { - "name": "Saffron City", - "order": 158, - "encounters": [ { "pokeapi_id": 25, "pokemon_name": "Pikachu", - "method": "trade", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 + "method": "walk", + "encounter_rate": 11, + "min_level": 4, + "max_level": 4 + }, + { + "pokeapi_id": 15, + "pokemon_name": "Beedrill", + "method": "walk", + "encounter_rate": 10, + "min_level": 7, + "max_level": 7 + }, + { + "pokeapi_id": 166, + "pokemon_name": "Ledian", + "method": "headbutt", + "encounter_rate": 10, + "min_level": 5, + "max_level": 7 + }, + { + "pokeapi_id": 165, + "pokemon_name": "Ledyba", + "method": "headbutt", + "encounter_rate": 10, + "min_level": 3, + "max_level": 4 + }, + { + "pokeapi_id": 17, + "pokemon_name": "Pidgeotto", + "method": "walk", + "encounter_rate": 9, + "min_level": 7, + "max_level": 7 } ] }, { - "name": "Silph Co.", - "order": 159, + "name": "Viridian City", + "order": 142, "encounters": [ { - "pokeapi_id": 374, - "pokemon_name": "Beldum", - "method": "trade", + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", "encounter_rate": 100, - "min_level": 1, - "max_level": 1 + "min_level": 3, + "max_level": 7 }, { - "pokeapi_id": 258, - "pokemon_name": "Mudkip", - "method": "gift", - "encounter_rate": 100, + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "surf", + "encounter_rate": 90, "min_level": 5, - "max_level": 5 + "max_level": 10 }, { - "pokeapi_id": 255, - "pokemon_name": "Torchic", - "method": "gift", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, + "min_level": 10, + "max_level": 10 }, { - "pokeapi_id": 252, - "pokemon_name": "Treecko", - "method": "gift", - "encounter_rate": 100, + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 80, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 3, + "max_level": 7 + }, + { + "pokeapi_id": 165, + "pokemon_name": "Ledyba", + "method": "headbutt", + "encounter_rate": 30, "min_level": 5, - "max_level": 5 + "max_level": 7 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 3, + "max_level": 4 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "surf", + "encounter_rate": 10, + "min_level": 10, + "max_level": 10 } ] }, { - "name": "Route 19 (Kanto)", - "order": 160, + "name": "Route 01 (Kanto)", + "order": 143, "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 2, + "max_level": 6 + }, + { + "pokeapi_id": 19, + "pokemon_name": "Rattata", + "method": "walk", + "encounter_rate": 85, + "min_level": 2, + "max_level": 3 + }, + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "walk", + "encounter_rate": 45, + "min_level": 2, + "max_level": 4 + }, + { + "pokeapi_id": 16, + "pokemon_name": "Pidgey", + "method": "walk", + "encounter_rate": 45, + "min_level": 2, + "max_level": 4 + }, + { + "pokeapi_id": 261, + "pokemon_name": "Poochyena", + "method": "swarm", + "encounter_rate": 40, + "min_level": 2, + "max_level": 2 + }, + { + "pokeapi_id": 403, + "pokemon_name": "Shinx", + "method": "walk", + "encounter_rate": 40, + "min_level": 2, + "max_level": 3 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 2, + "max_level": 6 + }, + { + "pokeapi_id": 165, + "pokemon_name": "Ledyba", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 5, + "max_level": 6 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 2, + "max_level": 3 + }, + { + "pokeapi_id": 312, + "pokemon_name": "Minun", + "method": "walk", + "encounter_rate": 20, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 311, + "pokemon_name": "Plusle", + "method": "walk", + "encounter_rate": 20, + "min_level": 2, + "max_level": 2 + }, + { + "pokeapi_id": 161, + "pokemon_name": "Sentret", + "method": "walk", + "encounter_rate": 20, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 162, + "pokemon_name": "Furret", + "method": "walk", + "encounter_rate": 5, + "min_level": 6, + "max_level": 6 + } + ] + }, + { + "name": "Pallet Town", + "order": 144, + "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 2, + "max_level": 6 + }, { "pokeapi_id": 72, "pokemon_name": "Tentacool", @@ -17127,37 +15277,13 @@ "max_level": 10 }, { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "rock-smash", - "encounter_rate": 80, - "min_level": 24, - "max_level": 27 - }, - { - "pokeapi_id": 366, - "pokemon_name": "Clamperl", - "method": "swarm", - "encounter_rate": 60, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", + "pokeapi_id": 170, + "pokemon_name": "Chinchou", "method": "super-rod", - "encounter_rate": 60, + "encounter_rate": 40, "min_level": 40, "max_level": 40 }, - { - "pokeapi_id": 98, - "pokemon_name": "Krabby", - "method": "good-rod", - "encounter_rate": 50, - "min_level": 20, - "max_level": 20 - }, { "pokeapi_id": 129, "pokemon_name": "Magikarp", @@ -17167,56 +15293,80 @@ "max_level": 20 }, { - "pokeapi_id": 222, - "pokemon_name": "Corsola", + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 2, + "max_level": 6 + }, + { + "pokeapi_id": 165, + "pokemon_name": "Ledyba", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 5, + "max_level": 6 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 2, + "max_level": 3 + }, + { + "pokeapi_id": 90, + "pokemon_name": "Shellder", "method": "super-rod", "encounter_rate": 30, "min_level": 40, "max_level": 40 }, { - "pokeapi_id": 120, - "pokemon_name": "Staryu", - "method": "super-rod", + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", "encounter_rate": 30, - "min_level": 40, - "max_level": 40 + "min_level": 20, + "max_level": 20 }, { - "pokeapi_id": 99, - "pokemon_name": "Kingler", - "method": "rock-smash", + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "good-rod", "encounter_rate": 20, - "min_level": 28, - "max_level": 31 + "min_level": 20, + "max_level": 20 }, { - "pokeapi_id": 98, - "pokemon_name": "Krabby", + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", "method": "old-rod", "encounter_rate": 15, "min_level": 10, "max_level": 10 }, { - "pokeapi_id": 222, - "pokemon_name": "Corsola", - "method": "good-rod", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 99, - "pokemon_name": "Kingler", + "pokeapi_id": 171, + "pokemon_name": "Lanturn", "method": "super-rod", "encounter_rate": 10, "min_level": 40, "max_level": 40 }, { - "pokeapi_id": 120, - "pokemon_name": "Staryu", + "pokeapi_id": 90, + "pokemon_name": "Shellder", "method": "good-rod", "encounter_rate": 10, "min_level": 20, @@ -17232,9 +15382,293 @@ } ] }, + { + "name": "Route 21 (Kanto)", + "order": 145, + "encounters": [ + { + "pokeapi_id": 163, + "pokemon_name": "Hoothoot", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 24, + "max_level": 30 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "walk", + "encounter_rate": 95, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 90, + "min_level": 30, + "max_level": 35 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 265, + "pokemon_name": "Wurmple", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 24, + "max_level": 30 + }, + { + "pokeapi_id": 165, + "pokemon_name": "Ledyba", + "method": "headbutt", + "encounter_rate": 30, + "min_level": 24, + "max_level": 26 + }, + { + "pokeapi_id": 90, + "pokemon_name": "Shellder", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 399, + "pokemon_name": "Bidoof", + "method": "walk", + "encounter_rate": 20, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 418, + "pokemon_name": "Buizel", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 264, + "pokemon_name": "Linoone", + "method": "walk", + "encounter_rate": 20, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 293, + "pokemon_name": "Whismur", + "method": "walk", + "encounter_rate": 20, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 122, + "pokemon_name": "Mr Mime", + "method": "walk", + "encounter_rate": 15, + "min_level": 28, + "max_level": 30 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "headbutt", + "encounter_rate": 15, + "min_level": 27, + "max_level": 30 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 171, + "pokemon_name": "Lanturn", + "method": "super-rod", + "encounter_rate": 10, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 90, + "pokemon_name": "Shellder", + "method": "good-rod", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 10, + "min_level": 35, + "max_level": 35 + } + ] + }, + { + "name": "Cinnabar Island", + "order": 146, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 95, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 90, + "min_level": 30, + "max_level": 35 + }, + { + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 90, + "pokemon_name": "Shellder", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "good-rod", + "encounter_rate": 16, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "super-rod", + "encounter_rate": 16, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 73, + "pokemon_name": "Tentacruel", + "method": "surf", + "encounter_rate": 10, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "old-rod", + "encounter_rate": 5, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 171, + "pokemon_name": "Lanturn", + "method": "super-rod", + "encounter_rate": 4, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 90, + "pokemon_name": "Shellder", + "method": "good-rod", + "encounter_rate": 4, + "min_level": 20, + "max_level": 20 + } + ] + }, { "name": "Route 20 (Kanto)", - "order": 161, + "order": 147, "encounters": [ { "pokeapi_id": 72, @@ -17336,12 +15770,12 @@ }, { "name": "Seafoam Islands", - "order": 162, + "order": 148, "encounters": [], "children": [ { "name": "Seafoam Islands (1F)", - "order": 163, + "order": 149, "encounters": [ { "pokeapi_id": 42, @@ -17411,7 +15845,7 @@ }, { "name": "Seafoam Islands (B1F)", - "order": 164, + "order": 150, "encounters": [ { "pokeapi_id": 42, @@ -17489,7 +15923,7 @@ }, { "name": "Seafoam Islands (B2F)", - "order": 165, + "order": 151, "encounters": [ { "pokeapi_id": 42, @@ -17567,7 +16001,7 @@ }, { "name": "Seafoam Islands (B3F)", - "order": 166, + "order": 152, "encounters": [ { "pokeapi_id": 42, @@ -17653,7 +16087,7 @@ }, { "name": "Seafoam Islands (B4F)", - "order": 167, + "order": 153, "encounters": [ { "pokeapi_id": 144, @@ -17852,127 +16286,9 @@ ] }, { - "name": "Cinnabar Island", - "order": 168, + "name": "Route 19 (Kanto)", + "order": 154, "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 95, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 90, - "min_level": 30, - "max_level": 35 - }, - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 90, - "pokemon_name": "Shellder", - "method": "super-rod", - "encounter_rate": 40, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 40, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "good-rod", - "encounter_rate": 16, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "super-rod", - "encounter_rate": 16, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", - "method": "surf", - "encounter_rate": 10, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "old-rod", - "encounter_rate": 5, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 171, - "pokemon_name": "Lanturn", - "method": "super-rod", - "encounter_rate": 4, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 90, - "pokemon_name": "Shellder", - "method": "good-rod", - "encounter_rate": 4, - "min_level": 20, - "max_level": 20 - } - ] - }, - { - "name": "Route 21 (Kanto)", - "order": 169, - "encounters": [ - { - "pokeapi_id": 163, - "pokemon_name": "Hoothoot", - "method": "headbutt", - "encounter_rate": 100, - "min_level": 24, - "max_level": 30 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "walk", - "encounter_rate": 95, - "min_level": 20, - "max_level": 20 - }, { "pokeapi_id": 72, "pokemon_name": "Tentacool", @@ -17990,13 +16306,37 @@ "max_level": 10 }, { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "rock-smash", + "encounter_rate": 80, + "min_level": 24, + "max_level": 27 + }, + { + "pokeapi_id": 366, + "pokemon_name": "Clamperl", + "method": "swarm", + "encounter_rate": 60, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", "method": "super-rod", - "encounter_rate": 40, + "encounter_rate": 60, "min_level": 40, "max_level": 40 }, + { + "pokeapi_id": 98, + "pokemon_name": "Krabby", + "method": "good-rod", + "encounter_rate": 50, + "min_level": 20, + "max_level": 20 + }, { "pokeapi_id": 129, "pokemon_name": "Magikarp", @@ -18006,120 +16346,56 @@ "max_level": 20 }, { - "pokeapi_id": 265, - "pokemon_name": "Wurmple", - "method": "headbutt", - "encounter_rate": 40, - "min_level": 24, - "max_level": 30 - }, - { - "pokeapi_id": 165, - "pokemon_name": "Ledyba", - "method": "headbutt", - "encounter_rate": 30, - "min_level": 24, - "max_level": 26 - }, - { - "pokeapi_id": 90, - "pokemon_name": "Shellder", + "pokeapi_id": 222, + "pokemon_name": "Corsola", "method": "super-rod", "encounter_rate": 30, "min_level": 40, "max_level": 40 }, { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "good-rod", - "encounter_rate": 30, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 399, - "pokemon_name": "Bidoof", - "method": "walk", - "encounter_rate": 20, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 418, - "pokemon_name": "Buizel", - "method": "walk", - "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "good-rod", - "encounter_rate": 20, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 264, - "pokemon_name": "Linoone", - "method": "walk", - "encounter_rate": 20, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 73, - "pokemon_name": "Tentacruel", + "pokeapi_id": 120, + "pokemon_name": "Staryu", "method": "super-rod", - "encounter_rate": 20, + "encounter_rate": 30, "min_level": 40, "max_level": 40 }, { - "pokeapi_id": 293, - "pokemon_name": "Whismur", - "method": "walk", + "pokeapi_id": 99, + "pokemon_name": "Kingler", + "method": "rock-smash", "encounter_rate": 20, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 122, - "pokemon_name": "Mr Mime", - "method": "walk", - "encounter_rate": 15, "min_level": 28, - "max_level": 30 + "max_level": 31 }, { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "headbutt", - "encounter_rate": 15, - "min_level": 27, - "max_level": 30 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", + "pokeapi_id": 98, + "pokemon_name": "Krabby", "method": "old-rod", "encounter_rate": 15, "min_level": 10, "max_level": 10 }, { - "pokeapi_id": 171, - "pokemon_name": "Lanturn", + "pokeapi_id": 222, + "pokemon_name": "Corsola", + "method": "good-rod", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 99, + "pokemon_name": "Kingler", "method": "super-rod", "encounter_rate": 10, "min_level": 40, "max_level": 40 }, { - "pokeapi_id": 90, - "pokemon_name": "Shellder", + "pokeapi_id": 120, + "pokemon_name": "Staryu", "method": "good-rod", "encounter_rate": 10, "min_level": 20, @@ -18135,9 +16411,39 @@ } ] }, + { + "name": "Professor Oak's Laboratory", + "order": 155, + "encounters": [ + { + "pokeapi_id": 1, + "pokemon_name": "Bulbasaur", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 4, + "pokemon_name": "Charmander", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 7, + "pokemon_name": "Squirtle", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + } + ] + }, { "name": "Route 22 (Kanto)", - "order": 170, + "order": 156, "encounters": [ { "pokeapi_id": 163, @@ -18310,40 +16616,1734 @@ ] }, { - "name": "Team Rocket HQ (B1F)", + "name": "Route 28 (Kanto)", + "order": 157, + "encounters": [ + { + "pokeapi_id": 214, + "pokemon_name": "Heracross", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 39, + "max_level": 43 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "surf", + "encounter_rate": 90, + "min_level": 35, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 80, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 190, + "pokemon_name": "Aipom", + "method": "headbutt", + "encounter_rate": 60, + "min_level": 39, + "max_level": 43 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 177, + "pokemon_name": "Natu", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 39, + "max_level": 43 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 77, + "pokemon_name": "Ponyta", + "method": "walk", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "walk", + "encounter_rate": 30, + "min_level": 39, + "max_level": 39 + }, + { + "pokeapi_id": 399, + "pokemon_name": "Bidoof", + "method": "walk", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 418, + "pokemon_name": "Buizel", + "method": "walk", + "encounter_rate": 20, + "min_level": 39, + "max_level": 40 + }, + { + "pokeapi_id": 264, + "pokemon_name": "Linoone", + "method": "walk", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 78, + "pokemon_name": "Rapidash", + "method": "walk", + "encounter_rate": 20, + "min_level": 41, + "max_level": 42 + }, + { + "pokeapi_id": 217, + "pokemon_name": "Ursaring", + "method": "walk", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 293, + "pokemon_name": "Whismur", + "method": "walk", + "encounter_rate": 20, + "min_level": 39, + "max_level": 40 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "surf", + "encounter_rate": 10, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 215, + "pokemon_name": "Sneasel", + "method": "walk", + "encounter_rate": 10, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 85, + "pokemon_name": "Dodrio", + "method": "walk", + "encounter_rate": 5, + "min_level": 43, + "max_level": 43 + }, + { + "pokeapi_id": 84, + "pokemon_name": "Doduo", + "method": "walk", + "encounter_rate": 5, + "min_level": 41, + "max_level": 41 + } + ] + }, + { + "name": "Mt. Silver", + "order": 158, + "encounters": [ + { + "pokeapi_id": 214, + "pokemon_name": "Heracross", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 39, + "max_level": 43 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "surf", + "encounter_rate": 91, + "min_level": 30, + "max_level": 48 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 80, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 190, + "pokemon_name": "Aipom", + "method": "headbutt", + "encounter_rate": 60, + "min_level": 39, + "max_level": 43 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 60, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 177, + "pokemon_name": "Natu", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 39, + "max_level": 43 + }, + { + "pokeapi_id": 77, + "pokemon_name": "Ponyta", + "method": "walk", + "encounter_rate": 30, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "walk", + "encounter_rate": 30, + "min_level": 41, + "max_level": 41 + }, + { + "pokeapi_id": 399, + "pokemon_name": "Bidoof", + "method": "walk", + "encounter_rate": 20, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 418, + "pokemon_name": "Buizel", + "method": "walk", + "encounter_rate": 20, + "min_level": 41, + "max_level": 42 + }, + { + "pokeapi_id": 264, + "pokemon_name": "Linoone", + "method": "walk", + "encounter_rate": 20, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "super-rod", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 217, + "pokemon_name": "Ursaring", + "method": "walk", + "encounter_rate": 20, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 293, + "pokemon_name": "Whismur", + "method": "walk", + "encounter_rate": 20, + "min_level": 41, + "max_level": 42 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 78, + "pokemon_name": "Rapidash", + "method": "walk", + "encounter_rate": 10, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 215, + "pokemon_name": "Sneasel", + "method": "walk", + "encounter_rate": 10, + "min_level": 41, + "max_level": 41 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "surf", + "encounter_rate": 9, + "min_level": 30, + "max_level": 40 + }, + { + "pokeapi_id": 85, + "pokemon_name": "Dodrio", + "method": "walk", + "encounter_rate": 5, + "min_level": 43, + "max_level": 43 + }, + { + "pokeapi_id": 84, + "pokemon_name": "Doduo", + "method": "walk", + "encounter_rate": 5, + "min_level": 41, + "max_level": 41 + } + ] + }, + { + "name": "Mt. Silver (Cave)", + "order": 159, + "encounters": [], + "children": [ + { + "name": "Mt. Silver (Cave 1F)", + "order": 160, + "encounters": [ + { + "pokeapi_id": 146, + "pokemon_name": "Moltres", + "method": "static", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 119, + "pokemon_name": "Seaking", + "method": "surf", + "encounter_rate": 91, + "min_level": 30, + "max_level": 50 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 85, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 80, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 50, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 119, + "pokemon_name": "Seaking", + "method": "super-rod", + "encounter_rate": 50, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 30, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 30, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 217, + "pokemon_name": "Ursaring", + "method": "walk", + "encounter_rate": 30, + "min_level": 44, + "max_level": 44 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 43, + "max_level": 43 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 20, + "min_level": 41, + "max_level": 43 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 43, + "max_level": 43 + }, + { + "pokeapi_id": 119, + "pokemon_name": "Seaking", + "method": "good-rod", + "encounter_rate": 20, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "old-rod", + "encounter_rate": 15, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "good-rod", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 216, + "pokemon_name": "Teddiursa", + "method": "walk", + "encounter_rate": 10, + "min_level": 43, + "max_level": 43 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "surf", + "encounter_rate": 9, + "min_level": 30, + "max_level": 40 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 246, + "pokemon_name": "Larvitar", + "method": "walk", + "encounter_rate": 5, + "min_level": 15, + "max_level": 15 + } + ] + }, + { + "name": "Mt. Silver (Cave Expert Belt Chamber)", + "order": 161, + "encounters": [ + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 35, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 200, + "pokemon_name": "Misdreavus", + "method": "walk", + "encounter_rate": 30, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 217, + "pokemon_name": "Ursaring", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 48 + }, + { + "pokeapi_id": 216, + "pokemon_name": "Teddiursa", + "method": "walk", + "encounter_rate": 10, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 246, + "pokemon_name": "Larvitar", + "method": "walk", + "encounter_rate": 5, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 247, + "pokemon_name": "Pupitar", + "method": "walk", + "encounter_rate": 5, + "min_level": 30, + "max_level": 30 + } + ] + }, + { + "name": "Mt. Silver (Cave Moltres Chamber)", + "order": 162, + "encounters": [ + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 40, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 48 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 48 + }, + { + "pokeapi_id": 208, + "pokemon_name": "Steelix", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 217, + "pokemon_name": "Ursaring", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 48 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "walk", + "encounter_rate": 10, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 200, + "pokemon_name": "Misdreavus", + "method": "walk", + "encounter_rate": 10, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 246, + "pokemon_name": "Larvitar", + "method": "walk", + "encounter_rate": 5, + "min_level": 15, + "max_level": 15 + } + ] + }, + { + "name": "Mt. Silver (Cave Lower Mountainside)", + "order": 163, + "encounters": [ + { + "pokeapi_id": 214, + "pokemon_name": "Heracross", + "method": "headbutt", + "encounter_rate": 100, + "min_level": 42, + "max_level": 48 + }, + { + "pokeapi_id": 190, + "pokemon_name": "Aipom", + "method": "headbutt", + "encounter_rate": 60, + "min_level": 42, + "max_level": 48 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 40, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 177, + "pokemon_name": "Natu", + "method": "headbutt", + "encounter_rate": 40, + "min_level": 42, + "max_level": 48 + }, + { + "pokeapi_id": 95, + "pokemon_name": "Onix", + "method": "walk", + "encounter_rate": 30, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 216, + "pokemon_name": "Teddiursa", + "method": "walk", + "encounter_rate": 10, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 217, + "pokemon_name": "Ursaring", + "method": "walk", + "encounter_rate": 10, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "walk", + "encounter_rate": 5, + "min_level": 51, + "max_level": 51 + }, + { + "pokeapi_id": 246, + "pokemon_name": "Larvitar", + "method": "walk", + "encounter_rate": 5, + "min_level": 15, + "max_level": 15 + } + ] + }, + { + "name": "Mt. Silver (Cave 2F)", + "order": 164, + "encounters": [ + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 30, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 215, + "pokemon_name": "Sneasel", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 217, + "pokemon_name": "Ursaring", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "walk", + "encounter_rate": 10, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 200, + "pokemon_name": "Misdreavus", + "method": "walk", + "encounter_rate": 10, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 216, + "pokemon_name": "Teddiursa", + "method": "walk", + "encounter_rate": 10, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 246, + "pokemon_name": "Larvitar", + "method": "walk", + "encounter_rate": 5, + "min_level": 15, + "max_level": 15 + } + ] + }, + { + "name": "Mt. Silver (Cave Upper Mountainside)", + "order": 165, + "encounters": [ + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "walk", + "encounter_rate": 30, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 215, + "pokemon_name": "Sneasel", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 217, + "pokemon_name": "Ursaring", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 200, + "pokemon_name": "Misdreavus", + "method": "walk", + "encounter_rate": 15, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 15, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 246, + "pokemon_name": "Larvitar", + "method": "walk", + "encounter_rate": 10, + "min_level": 15, + "max_level": 15 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 48, + "max_level": 48 + } + ] + }, + { + "name": "Mt. Silver (Cave 3F)", + "order": 166, + "encounters": [ + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "walk", + "encounter_rate": 30, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 195, + "pokemon_name": "Quagsire", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 215, + "pokemon_name": "Sneasel", + "method": "walk", + "encounter_rate": 20, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 217, + "pokemon_name": "Ursaring", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 200, + "pokemon_name": "Misdreavus", + "method": "walk", + "encounter_rate": 10, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 5, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 246, + "pokemon_name": "Larvitar", + "method": "walk", + "encounter_rate": 5, + "min_level": 15, + "max_level": 15 + } + ] + } + ] + }, + { + "name": "Cerulean Cave", + "order": 167, + "encounters": [], + "children": [ + { + "name": "Cerulean Cave (1F)", + "order": 168, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "surf", + "encounter_rate": 90, + "min_level": 35, + "max_level": 40 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 80, + "min_level": 22, + "max_level": 24 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 60, + "min_level": 38, + "max_level": 39 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 45, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 24, + "min_level": 39, + "max_level": 40 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 21, + "min_level": 39, + "max_level": 40 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 21, + "min_level": 39, + "max_level": 40 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 38, + "max_level": 38 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 38, + "max_level": 38 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 39, + "max_level": 40 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 20, + "min_level": 26, + "max_level": 30 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 39, + "max_level": 40 + }, + { + "pokeapi_id": 47, + "pokemon_name": "Parasect", + "method": "walk", + "encounter_rate": 20, + "min_level": 38, + "max_level": 38 + }, + { + "pokeapi_id": 53, + "pokemon_name": "Persian", + "method": "walk", + "encounter_rate": 18, + "min_level": 38, + "max_level": 39 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 15, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "surf", + "encounter_rate": 10, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "walk", + "encounter_rate": 5, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 202, + "pokemon_name": "Wobbuffet", + "method": "walk", + "encounter_rate": 5, + "min_level": 37, + "max_level": 37 + } + ] + }, + { + "name": "Cerulean Cave (2F)", + "order": 169, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 45, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 30, + "min_level": 41, + "max_level": 42 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 30, + "min_level": 39, + "max_level": 39 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 39, + "max_level": 39 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 39, + "max_level": 39 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 41, + "max_level": 42 + }, + { + "pokeapi_id": 64, + "pokemon_name": "Kadabra", + "method": "walk", + "encounter_rate": 20, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 41, + "max_level": 42 + }, + { + "pokeapi_id": 47, + "pokemon_name": "Parasect", + "method": "walk", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 15, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 10, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 10, + "min_level": 41, + "max_level": 41 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "walk", + "encounter_rate": 5, + "min_level": 41, + "max_level": 41 + }, + { + "pokeapi_id": 202, + "pokemon_name": "Wobbuffet", + "method": "walk", + "encounter_rate": 5, + "min_level": 42, + "max_level": 42 + } + ] + }, + { + "name": "Cerulean Cave (B1F)", + "order": 170, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 150, + "pokemon_name": "Mewtwo", + "method": "static", + "encounter_rate": 100, + "min_level": 70, + "max_level": 70 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "surf", + "encounter_rate": 90, + "min_level": 35, + "max_level": 40 + }, + { + "pokeapi_id": 74, + "pokemon_name": "Geodude", + "method": "rock-smash", + "encounter_rate": 80, + "min_level": 22, + "max_level": 24 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 45, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 40, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "super-rod", + "encounter_rate": 40, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 130, + "pokemon_name": "Gyarados", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "super-rod", + "encounter_rate": 30, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 47, + "pokemon_name": "Parasect", + "method": "walk", + "encounter_rate": 25, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 436, + "pokemon_name": "Bronzor", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 433, + "pokemon_name": "Chingling", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "rock-smash", + "encounter_rate": 20, + "min_level": 26, + "max_level": 30 + }, + { + "pokeapi_id": 64, + "pokemon_name": "Kadabra", + "method": "walk", + "encounter_rate": 20, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 296, + "pokemon_name": "Makuhita", + "method": "walk", + "encounter_rate": 20, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "good-rod", + "encounter_rate": 15, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 82, + "pokemon_name": "Magneton", + "method": "walk", + "encounter_rate": 15, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 10, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 10, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "surf", + "encounter_rate": 10, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 67, + "pokemon_name": "Machoke", + "method": "walk", + "encounter_rate": 10, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 101, + "pokemon_name": "Electrode", + "method": "walk", + "encounter_rate": 5, + "min_level": 46, + "max_level": 46 + }, + { + "pokeapi_id": 202, + "pokemon_name": "Wobbuffet", + "method": "walk", + "encounter_rate": 5, + "min_level": 49, + "max_level": 49 + } + ] + } + ] + }, + { + "name": "Silph Co.", "order": 171, "encounters": [ { - "pokeapi_id": 101, - "pokemon_name": "Electrode", - "method": "static", - "encounter_rate": 33, - "min_level": 23, - "max_level": 23 + "pokeapi_id": 374, + "pokemon_name": "Beldum", + "method": "trade", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 }, { - "pokeapi_id": 74, - "pokemon_name": "Geodude", - "method": "static", - "encounter_rate": 20, - "min_level": 21, - "max_level": 21 + "pokeapi_id": 258, + "pokemon_name": "Mudkip", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 }, { - "pokeapi_id": 109, - "pokemon_name": "Koffing", - "method": "static", - "encounter_rate": 20, - "min_level": 21, - "max_level": 21 + "pokeapi_id": 255, + "pokemon_name": "Torchic", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 }, { - "pokeapi_id": 100, - "pokemon_name": "Voltorb", - "method": "static", - "encounter_rate": 17, - "min_level": 23, - "max_level": 23 + "pokeapi_id": 252, + "pokemon_name": "Treecko", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 } ] }, diff --git a/backend/src/app/seeds/data/sun-bosses.json b/backend/src/app/seeds/data/sun-bosses.json index 8f70001..2320cd2 100644 --- a/backend/src/app/seeds/data/sun-bosses.json +++ b/backend/src/app/seeds/data/sun-bosses.json @@ -7,11 +7,27 @@ "badge_image_url": null, "level_cap": 12, "order": 1, - "after_route_name": null, + "after_route_name": "Hau'oli Cemetery", "location": "Verdant Cavern", "section": "Melemele Island", "sprite_url": "/sprites/735.webp", - "pokemon": [] + "pokemon": [], + "game_slug": "sun" + }, + { + "name": "Totem Raticate", + "boss_type": "totem", + "specialty_type": "dark", + "badge_name": null, + "badge_image_url": null, + "level_cap": 12, + "order": 2, + "after_route_name": "Hau'oli Cemetery", + "location": "Verdant Cavern", + "section": "Melemele Island", + "sprite_url": "/sprites/10093.webp", + "pokemon": [], + "game_slug": "moon" }, { "name": "Hala", @@ -20,8 +36,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 15, - "order": 2, - "after_route_name": null, + "order": 3, + "after_route_name": "Kala'e Bay", "location": "Iki Town", "section": "Melemele Island", "sprite_url": "/boss-sprites/sun/hala.png", @@ -34,8 +50,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 24, - "order": 3, - "after_route_name": null, + "order": 4, + "after_route_name": "Alola Route 5 (Northern half)", "location": "Brooklet Hill", "section": "Akala Island", "sprite_url": "/sprites/746.webp", @@ -48,8 +64,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 24, - "order": 4, - "after_route_name": null, + "order": 5, + "after_route_name": "Wela Volcano Park", "location": "Wela Volcano Park", "section": "Akala Island", "sprite_url": "/sprites/758.webp", @@ -62,8 +78,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 24, - "order": 5, - "after_route_name": null, + "order": 6, + "after_route_name": "Alola Route 8", "location": "Lush Jungle", "section": "Akala Island", "sprite_url": "/sprites/754.webp", @@ -76,8 +92,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 27, - "order": 6, - "after_route_name": null, + "order": 7, + "after_route_name": "Akala Outskirts", "location": "Ruins of Life", "section": "Akala Island", "sprite_url": "/boss-sprites/sun/olivia.png", @@ -90,8 +106,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 29, - "order": 7, - "after_route_name": null, + "order": 8, + "after_route_name": "Mount Hokulani", "location": "Hokulani Observatory", "section": "Ula'ula Island", "sprite_url": "/sprites/738.webp", @@ -104,8 +120,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 33, - "order": 8, - "after_route_name": null, + "order": 9, + "after_route_name": "Alola Route 14", "location": "Thrifty Megamart", "section": "Ula'ula Island", "sprite_url": "/sprites/778.webp", @@ -118,27 +134,13 @@ "badge_name": null, "badge_image_url": null, "level_cap": 34, - "order": 9, - "after_route_name": null, + "order": 10, + "after_route_name": "Alola Route 17", "location": "Malie City", "section": "Ula'ula Island", "sprite_url": "/boss-sprites/sun/nanu.png", "pokemon": [] }, - { - "name": "Totem Kommo-o", - "boss_type": "totem", - "specialty_type": "dragon", - "badge_name": null, - "badge_image_url": null, - "level_cap": 45, - "order": 10, - "after_route_name": null, - "location": "Vast Poni Canyon", - "section": "Poni Island", - "sprite_url": "/sprites/784.webp", - "pokemon": [] - }, { "name": "Hapu", "boss_type": "kahuna", @@ -147,12 +149,26 @@ "badge_image_url": null, "level_cap": 48, "order": 11, - "after_route_name": null, + "after_route_name": "Exeggutor Island", "location": "Exeggutor Island", "section": "Poni Island", "sprite_url": "/boss-sprites/sun/hapu.png", "pokemon": [] }, + { + "name": "Totem Kommo-o", + "boss_type": "totem", + "specialty_type": "dragon", + "badge_name": null, + "badge_image_url": null, + "level_cap": 45, + "order": 12, + "after_route_name": "Vast Poni Canyon", + "location": "Vast Poni Canyon", + "section": "Poni Island", + "sprite_url": "/sprites/784.webp", + "pokemon": [] + }, { "name": "Hala", "boss_type": "elite_four", @@ -160,8 +176,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 56, - "order": 12, - "after_route_name": null, + "order": 13, + "after_route_name": "Mount Lanakila", "location": "Pokemon League", "section": "Pokemon League", "sprite_url": "/boss-sprites/sun/hala.png", @@ -174,8 +190,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 56, - "order": 13, - "after_route_name": null, + "order": 14, + "after_route_name": "Mount Lanakila", "location": "Pokemon League", "section": "Pokemon League", "sprite_url": "/boss-sprites/sun/olivia.png", @@ -188,8 +204,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 56, - "order": 14, - "after_route_name": null, + "order": 15, + "after_route_name": "Mount Lanakila", "location": "Pokemon League", "section": "Pokemon League", "sprite_url": "/boss-sprites/sun/acerola.png", @@ -202,8 +218,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 56, - "order": 15, - "after_route_name": null, + "order": 16, + "after_route_name": "Mount Lanakila", "location": "Pokemon League", "section": "Pokemon League", "sprite_url": "/boss-sprites/sun/kahili.png", @@ -216,8 +232,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 58, - "order": 16, - "after_route_name": null, + "order": 17, + "after_route_name": "Mount Lanakila", "location": "Pokemon League", "section": "Pokemon League", "sprite_url": "/boss-sprites/sun/professor-kukui.png", diff --git a/backend/src/app/seeds/data/sun.json b/backend/src/app/seeds/data/sun.json index 2b60ead..385ef6e 100644 --- a/backend/src/app/seeds/data/sun.json +++ b/backend/src/app/seeds/data/sun.json @@ -86,7 +86,8 @@ "min_level": 2, "max_level": 3 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Alola Route 1 (Patch of grass overlooking the bay)", @@ -140,7 +141,8 @@ "min_level": 2, "max_level": 4 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Alola Route 1 (Two fields nearest Iki Town)", @@ -218,7 +220,8 @@ "min_level": 3, "max_level": 5 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Alola Route 1 (Path south of Iki Town blocked by rocks)", @@ -296,7 +299,8 @@ "min_level": 10, "max_level": 13 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Alola Route 1 (Hau'oli Outskirts)", @@ -358,7 +362,8 @@ "min_level": 15, "max_level": 18 } - ] + ], + "pinwheel_zone": 2 } ] }, @@ -2654,8 +2659,22 @@ ] }, { - "name": "Memorial Hill", + "name": "Konikoni City", "order": 50, + "encounters": [ + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "trade", + "encounter_rate": 100, + "min_level": 22, + "max_level": 22 + } + ] + }, + { + "name": "Memorial Hill", + "order": 51, "encounters": [ { "pokeapi_id": 796, @@ -2693,7 +2712,7 @@ }, { "name": "Akala Outskirts", - "order": 51, + "order": 52, "encounters": [ { "pokeapi_id": 170, @@ -2769,20 +2788,6 @@ } ] }, - { - "name": "Konikoni City", - "order": 52, - "encounters": [ - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "trade", - "encounter_rate": 100, - "min_level": 22, - "max_level": 22 - } - ] - }, { "name": "Hano Beach", "order": 53, @@ -2845,23 +2850,9 @@ } ] }, - { - "name": "Ruins of Life", - "order": 54, - "encounters": [ - { - "pokeapi_id": 786, - "pokemon_name": "Tapu Lele", - "method": "static", - "encounter_rate": 100, - "min_level": 60, - "max_level": 60 - } - ] - }, { "name": "Malie City", - "order": 55, + "order": 54, "encounters": [ { "pokeapi_id": 440, @@ -2875,7 +2866,7 @@ "children": [ { "name": "Malie City (Outer Cape)", - "order": 56, + "order": 55, "encounters": [ { "pokeapi_id": 10112, @@ -2923,7 +2914,7 @@ }, { "name": "Malie Garden", - "order": 57, + "order": 56, "encounters": [ { "pokeapi_id": 118, @@ -3017,7 +3008,7 @@ }, { "name": "Alola Route 10", - "order": 58, + "order": 57, "encounters": [ { "pokeapi_id": 739, @@ -3095,7 +3086,7 @@ }, { "name": "Mount Hokulani", - "order": 59, + "order": 58, "encounters": [ { "pokeapi_id": 610, @@ -3157,7 +3148,7 @@ }, { "name": "Alola Route 11", - "order": 60, + "order": 59, "encounters": [ { "pokeapi_id": 288, @@ -3243,12 +3234,12 @@ }, { "name": "Alola Route 12", - "order": 61, + "order": 60, "encounters": [], "children": [ { "name": "Alola Route 12 (First ten patches of grass from the north)", - "order": 62, + "order": 61, "encounters": [ { "pokeapi_id": 10109, @@ -3286,7 +3277,7 @@ }, { "name": "Alola Route 12 (Southernmost patch of grass)", - "order": 63, + "order": 62, "encounters": [ { "pokeapi_id": 10109, @@ -3324,6 +3315,68 @@ } ] }, + { + "name": "Ula'ula Beach", + "order": 63, + "encounters": [ + { + "pokeapi_id": 779, + "pokemon_name": "Bruxish", + "method": "fishing", + "encounter_rate": 100, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 739, + "pokemon_name": "Crabrawler", + "method": "walk", + "encounter_rate": 100, + "min_level": 27, + "max_level": 30 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "fishing", + "encounter_rate": 100, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 746, + "pokemon_name": "Wishiwashi Solo", + "method": "fishing", + "encounter_rate": 50, + "min_level": 10, + "max_level": 30 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "surf", + "encounter_rate": 40, + "min_level": 27, + "max_level": 30 + }, + { + "pokeapi_id": 72, + "pokemon_name": "Tentacool", + "method": "surf", + "encounter_rate": 40, + "min_level": 27, + "max_level": 30 + }, + { + "pokeapi_id": 279, + "pokemon_name": "Pelipper", + "method": "surf", + "encounter_rate": 20, + "min_level": 27, + "max_level": 30 + } + ] + }, { "name": "Blush Mountain", "order": 64, @@ -3494,53 +3547,9 @@ } ] }, - { - "name": "Haina Desert", - "order": 68, - "encounters": [ - { - "pokeapi_id": 551, - "pokemon_name": "Sandile", - "method": "walk", - "encounter_rate": 100, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 10106, - "pokemon_name": "Dugtrio (Alola)", - "method": "walk", - "encounter_rate": 50, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 328, - "pokemon_name": "Trapinch", - "method": "walk", - "encounter_rate": 10, - "min_level": 28, - "max_level": 31 - } - ] - }, - { - "name": "Ruins of Abundance", - "order": 69, - "encounters": [ - { - "pokeapi_id": 787, - "pokemon_name": "Tapu Bulu", - "method": "static", - "encounter_rate": 100, - "min_level": 60, - "max_level": 60 - } - ] - }, { "name": "Tapu Village", - "order": 70, + "order": 68, "encounters": [ { "pokeapi_id": 10110, @@ -3608,9 +3617,23 @@ } ] }, + { + "name": "Aether House", + "order": 69, + "encounters": [ + { + "pokeapi_id": 137, + "pokemon_name": "Porygon", + "method": "gift", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + } + ] + }, { "name": "Alola Route 14", - "order": 71, + "order": 70, "encounters": [ { "pokeapi_id": 779, @@ -3664,7 +3687,7 @@ }, { "name": "Thrifty Megamart (Abandoned Site)", - "order": 72, + "order": 71, "encounters": [ { "pokeapi_id": 42, @@ -3702,7 +3725,7 @@ }, { "name": "Alola Route 15", - "order": 73, + "order": 72, "encounters": [ { "pokeapi_id": 779, @@ -3786,23 +3809,9 @@ } ] }, - { - "name": "Aether House", - "order": 74, - "encounters": [ - { - "pokeapi_id": 137, - "pokemon_name": "Porygon", - "method": "gift", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - } - ] - }, { "name": "Alola Route 16", - "order": 75, + "order": 73, "encounters": [ { "pokeapi_id": 739, @@ -3872,7 +3881,7 @@ }, { "name": "Ula'ula Meadow", - "order": 76, + "order": 74, "encounters": [ { "pokeapi_id": 315, @@ -3926,7 +3935,7 @@ }, { "name": "Alola Route 17", - "order": 77, + "order": 75, "encounters": [ { "pokeapi_id": 739, @@ -4010,71 +4019,9 @@ } ] }, - { - "name": "Ula'ula Beach", - "order": 78, - "encounters": [ - { - "pokeapi_id": 779, - "pokemon_name": "Bruxish", - "method": "fishing", - "encounter_rate": 100, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 739, - "pokemon_name": "Crabrawler", - "method": "walk", - "encounter_rate": 100, - "min_level": 27, - "max_level": 30 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "fishing", - "encounter_rate": 100, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 746, - "pokemon_name": "Wishiwashi Solo", - "method": "fishing", - "encounter_rate": 50, - "min_level": 10, - "max_level": 30 - }, - { - "pokeapi_id": 456, - "pokemon_name": "Finneon", - "method": "surf", - "encounter_rate": 40, - "min_level": 27, - "max_level": 30 - }, - { - "pokeapi_id": 72, - "pokemon_name": "Tentacool", - "method": "surf", - "encounter_rate": 40, - "min_level": 27, - "max_level": 30 - }, - { - "pokeapi_id": 279, - "pokemon_name": "Pelipper", - "method": "surf", - "encounter_rate": 20, - "min_level": 27, - "max_level": 30 - } - ] - }, { "name": "Aether Paradise", - "order": 79, + "order": 76, "encounters": [ { "pokeapi_id": 772, @@ -4088,7 +4035,7 @@ }, { "name": "Seafolk Village", - "order": 80, + "order": 77, "encounters": [ { "pokeapi_id": 142, @@ -4134,7 +4081,7 @@ }, { "name": "Poni Wilds", - "order": 81, + "order": 78, "encounters": [ { "pokeapi_id": 739, @@ -4292,7 +4239,7 @@ }, { "name": "Ancient Poni Path", - "order": 82, + "order": 79, "encounters": [ { "pokeapi_id": 500, @@ -4354,7 +4301,7 @@ }, { "name": "Poni Breaker Coast", - "order": 83, + "order": 80, "encounters": [ { "pokeapi_id": 129, @@ -4390,23 +4337,9 @@ } ] }, - { - "name": "Ruins of Hope", - "order": 84, - "encounters": [ - { - "pokeapi_id": 788, - "pokemon_name": "Tapu Fini", - "method": "static", - "encounter_rate": 100, - "min_level": 60, - "max_level": 60 - } - ] - }, { "name": "Exeggutor Island", - "order": 85, + "order": 81, "encounters": [ { "pokeapi_id": 10114, @@ -4468,12 +4401,12 @@ }, { "name": "Vast Poni Canyon", - "order": 86, + "order": 82, "encounters": [], "children": [ { "name": "Vast Poni Canyon (Canyon)", - "order": 87, + "order": 83, "encounters": [ { "pokeapi_id": 67, @@ -4543,7 +4476,7 @@ }, { "name": "Vast Poni Canyon (Caves)", - "order": 88, + "order": 84, "encounters": [ { "pokeapi_id": 147, @@ -4623,7 +4556,7 @@ }, { "name": "Altar of the Sunne", - "order": 89, + "order": 85, "encounters": [ { "pokeapi_id": 791, @@ -4635,14 +4568,19 @@ } ] }, + { + "name": "Altar of Moone", + "order": 86, + "encounters": [] + }, { "name": "Mount Lanakila", - "order": 90, + "order": 87, "encounters": [], "children": [ { "name": "Mount Lanakila (Southern patch near base and patch near peak)", - "order": 91, + "order": 88, "encounters": [ { "pokeapi_id": 361, @@ -4680,7 +4618,7 @@ }, { "name": "Mount Lanakila (Northern patch near base)", - "order": 92, + "order": 89, "encounters": [ { "pokeapi_id": 361, @@ -4718,7 +4656,7 @@ }, { "name": "Mount Lanakila (Icy Cave Right)", - "order": 93, + "order": 90, "encounters": [ { "pokeapi_id": 42, @@ -4758,7 +4696,7 @@ }, { "name": "Lake of the Sunne", - "order": 94, + "order": 91, "encounters": [ { "pokeapi_id": 789, @@ -4770,9 +4708,14 @@ } ] }, + { + "name": "Lake of Moone", + "order": 92, + "encounters": [] + }, { "name": "Poni Grove", - "order": 95, + "order": 93, "encounters": [ { "pokeapi_id": 604, @@ -4834,7 +4777,7 @@ }, { "name": "Poni Plains", - "order": 96, + "order": 94, "encounters": [ { "pokeapi_id": 534, @@ -4928,7 +4871,7 @@ "children": [ { "name": "Poni Plains (Seven patches of grass in the middle)", - "order": 97, + "order": 95, "encounters": [ { "pokeapi_id": 735, @@ -4982,7 +4925,7 @@ }, { "name": "Poni Plains (Two big patches of grass in the north and center)", - "order": 98, + "order": 96, "encounters": [ { "pokeapi_id": 735, @@ -5044,7 +4987,7 @@ }, { "name": "Poni Plains (Three patches of grass by the mountains)", - "order": 99, + "order": 97, "encounters": [ { "pokeapi_id": 546, @@ -5114,7 +5057,7 @@ }, { "name": "Poni Plains (Three patches of grass by the coastline)", - "order": 100, + "order": 98, "encounters": [ { "pokeapi_id": 735, @@ -5178,7 +5121,7 @@ }, { "name": "Poni Meadow", - "order": 101, + "order": 99, "encounters": [ { "pokeapi_id": 147, @@ -5240,7 +5183,7 @@ }, { "name": "Poni Coast", - "order": 102, + "order": 100, "encounters": [ { "pokeapi_id": 10106, @@ -5254,7 +5197,7 @@ }, { "name": "Poni Gauntlet", - "order": 103, + "order": 101, "encounters": [ { "pokeapi_id": 147, @@ -5348,7 +5291,7 @@ }, { "name": "Resolution Cave", - "order": 104, + "order": 102, "encounters": [ { "pokeapi_id": 799, @@ -5362,7 +5305,7 @@ "children": [ { "name": "Resolution Cave (Outside)", - "order": 105, + "order": 103, "encounters": [ { "pokeapi_id": 42, @@ -5384,7 +5327,7 @@ }, { "name": "Resolution Cave (Inside)", - "order": 106, + "order": 104, "encounters": [ { "pokeapi_id": 42, @@ -5406,6 +5349,50 @@ } ] }, + { + "name": "Haina Desert", + "order": 105, + "encounters": [ + { + "pokeapi_id": 551, + "pokemon_name": "Sandile", + "method": "walk", + "encounter_rate": 100, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 10106, + "pokemon_name": "Dugtrio (Alola)", + "method": "walk", + "encounter_rate": 50, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 328, + "pokemon_name": "Trapinch", + "method": "walk", + "encounter_rate": 10, + "min_level": 28, + "max_level": 31 + } + ] + }, + { + "name": "Ruins of Hope", + "order": 106, + "encounters": [ + { + "pokeapi_id": 788, + "pokemon_name": "Tapu Fini", + "method": "static", + "encounter_rate": 100, + "min_level": 60, + "max_level": 60 + } + ] + }, { "name": "Ruins of Conflict", "order": 107, @@ -5419,5 +5406,33 @@ "max_level": 60 } ] + }, + { + "name": "Ruins of Life", + "order": 108, + "encounters": [ + { + "pokeapi_id": 786, + "pokemon_name": "Tapu Lele", + "method": "static", + "encounter_rate": 100, + "min_level": 60, + "max_level": 60 + } + ] + }, + { + "name": "Ruins of Abundance", + "order": 109, + "encounters": [ + { + "pokeapi_id": 787, + "pokemon_name": "Tapu Bulu", + "method": "static", + "encounter_rate": 100, + "min_level": 60, + "max_level": 60 + } + ] } ] diff --git a/backend/src/app/seeds/data/sword-bosses.json b/backend/src/app/seeds/data/sword-bosses.json index b3ca2b6..a74d717 100644 --- a/backend/src/app/seeds/data/sword-bosses.json +++ b/backend/src/app/seeds/data/sword-bosses.json @@ -53,8 +53,8 @@ "location": "Stow-on-Side Stadium", "section": null, "sprite_url": "/boss-sprites/sword/bea.png", - "game_slug": "sword", - "pokemon": [] + "pokemon": [], + "game_slug": "sword" }, { "name": "Allister", @@ -68,8 +68,8 @@ "location": "Stow-on-Side Stadium", "section": null, "sprite_url": "/boss-sprites/sword/allister.png", - "game_slug": "shield", - "pokemon": [] + "pokemon": [], + "game_slug": "shield" }, { "name": "Opal", @@ -97,8 +97,8 @@ "location": "Circhester Stadium", "section": null, "sprite_url": "/boss-sprites/sword/gordie.png", - "game_slug": "sword", - "pokemon": [] + "pokemon": [], + "game_slug": "sword" }, { "name": "Melony", @@ -112,8 +112,8 @@ "location": "Circhester Stadium", "section": null, "sprite_url": "/boss-sprites/sword/melony.png", - "game_slug": "shield", - "pokemon": [] + "pokemon": [], + "game_slug": "shield" }, { "name": "Piers", diff --git a/backend/src/app/seeds/data/ultra-moon.json b/backend/src/app/seeds/data/ultra-moon.json index 3db0448..5a5df24 100644 --- a/backend/src/app/seeds/data/ultra-moon.json +++ b/backend/src/app/seeds/data/ultra-moon.json @@ -135,7 +135,8 @@ "min_level": 2, "max_level": 3 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Alola Route 1 (Patch of grass overlooking the bay)", @@ -213,7 +214,8 @@ "min_level": 2, "max_level": 4 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Alola Route 1 (Two fields nearest Iki Town + western path)", @@ -251,7 +253,8 @@ "min_level": 2, "max_level": 3 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Alola Route 1 (Path south of Iki Town blocked by rocks)", @@ -305,7 +308,8 @@ "min_level": 11, "max_level": 14 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Alola Route 1 (Hau'oli Outskirts)", @@ -367,7 +371,8 @@ "min_level": 15, "max_level": 18 } - ] + ], + "pinwheel_zone": 2 } ] }, @@ -1391,52 +1396,14 @@ } ] }, - { - "name": "Sandy Cave", - "order": 25, - "encounters": [ - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 70, - "min_level": 6, - "max_level": 9 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "surf", - "encounter_rate": 70, - "min_level": 6, - "max_level": 9 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "walk", - "encounter_rate": 30, - "min_level": 6, - "max_level": 9 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "surf", - "encounter_rate": 30, - "min_level": 6, - "max_level": 9 - } - ] - }, { "name": "Ten Carat Hill", - "order": 26, + "order": 25, "encounters": [], "children": [ { "name": "Ten Carat Hill (Cave and Ocean Cave)", - "order": 27, + "order": 26, "encounters": [ { "pokeapi_id": 95, @@ -1506,7 +1473,7 @@ }, { "name": "Ten Carat Hill (Farthest Hollow)", - "order": 28, + "order": 27, "encounters": [ { "pokeapi_id": 66, @@ -1554,7 +1521,7 @@ }, { "name": "Melemele Sea", - "order": 29, + "order": 28, "encounters": [ { "pokeapi_id": 72, @@ -1640,7 +1607,7 @@ "children": [ { "name": "Melemele Sea (Route 1 side)", - "order": 30, + "order": 29, "encounters": [ { "pokeapi_id": 366, @@ -1694,7 +1661,7 @@ }, { "name": "Melemele Sea (Hau'oli City side)", - "order": 31, + "order": 30, "encounters": [ { "pokeapi_id": 222, @@ -1748,77 +1715,9 @@ } ] }, - { - "name": "Heahea City", - "order": 32, - "encounters": [ - { - "pokeapi_id": 25, - "pokemon_name": "Pikachu", - "method": "gift", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - } - ] - }, - { - "name": "Heahea Beach", - "order": 33, - "encounters": [ - { - "pokeapi_id": 10153, - "pokemon_name": "Araquanid (Totem)", - "method": "gift", - "encounter_rate": 100, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 10146, - "pokemon_name": "Kommo O (Totem)", - "method": "gift", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 10144, - "pokemon_name": "Mimikyu (Totem Disguised)", - "method": "gift", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 10093, - "pokemon_name": "Raticate (Totem Alola)", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 10129, - "pokemon_name": "Salazzle (Totem)", - "method": "gift", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 10154, - "pokemon_name": "Togedemaru (Totem)", - "method": "gift", - "encounter_rate": 100, - "min_level": 35, - "max_level": 35 - } - ] - }, { "name": "Alola Route 4", - "order": 34, + "order": 31, "encounters": [ { "pokeapi_id": 15, @@ -1902,23 +1801,9 @@ } ] }, - { - "name": "Pikachu Valley", - "order": 35, - "encounters": [ - { - "pokeapi_id": 10148, - "pokemon_name": "Pikachu (Partner Cap)", - "method": "gift", - "encounter_rate": 100, - "min_level": 21, - "max_level": 21 - } - ] - }, { "name": "Paniola Town", - "order": 36, + "order": 32, "encounters": [ { "pokeapi_id": 129, @@ -1940,7 +1825,7 @@ }, { "name": "Paniola Ranch", - "order": 37, + "order": 33, "encounters": [ { "pokeapi_id": 133, @@ -1994,12 +1879,12 @@ }, { "name": "Alola Route 5", - "order": 38, + "order": 34, "encounters": [], "children": [ { "name": "Alola Route 5 (Southern half)", - "order": 39, + "order": 35, "encounters": [ { "pokeapi_id": 12, @@ -2085,7 +1970,7 @@ }, { "name": "Alola Route 5 (Northern half)", - "order": 40, + "order": 36, "encounters": [ { "pokeapi_id": 12, @@ -2165,7 +2050,7 @@ }, { "name": "Brooklet Hill", - "order": 41, + "order": 37, "encounters": [ { "pokeapi_id": 349, @@ -2299,7 +2184,7 @@ "children": [ { "name": "Brooklet Hill (Totem's Den)", - "order": 42, + "order": 38, "encounters": [ { "pokeapi_id": 129, @@ -2355,7 +2240,7 @@ }, { "name": "Alola Route 6", - "order": 43, + "order": 39, "encounters": [ { "pokeapi_id": 280, @@ -2369,7 +2254,7 @@ "children": [ { "name": "Alola Route 6 (Northern patch of grass)", - "order": 44, + "order": 40, "encounters": [ { "pokeapi_id": 506, @@ -2439,7 +2324,7 @@ }, { "name": "Alola Route 6 (Two southern patches of grass)", - "order": 45, + "order": 41, "encounters": [ { "pokeapi_id": 506, @@ -2511,7 +2396,7 @@ }, { "name": "Royal Avenue", - "order": 46, + "order": 42, "encounters": [ { "pokeapi_id": 339, @@ -2525,7 +2410,7 @@ }, { "name": "Alola Route 7", - "order": 47, + "order": 43, "encounters": [ { "pokeapi_id": 10105, @@ -2603,7 +2488,7 @@ }, { "name": "Wela Volcano Park", - "order": 48, + "order": 44, "encounters": [ { "pokeapi_id": 115, @@ -2649,7 +2534,7 @@ }, { "name": "Dividing Peak Tunnel", - "order": 49, + "order": 45, "encounters": [ { "pokeapi_id": 352, @@ -2671,7 +2556,7 @@ }, { "name": "Alola Route 8", - "order": 50, + "order": 46, "encounters": [ { "pokeapi_id": 698, @@ -2901,12 +2786,12 @@ }, { "name": "Lush Jungle", - "order": 51, + "order": 47, "encounters": [], "children": [ { "name": "Lush Jungle (North area)", - "order": 52, + "order": 48, "encounters": [ { "pokeapi_id": 762, @@ -3000,7 +2885,7 @@ }, { "name": "Lush Jungle (Central area)", - "order": 53, + "order": 49, "encounters": [ { "pokeapi_id": 762, @@ -3094,7 +2979,7 @@ }, { "name": "Lush Jungle (Northwest area)", - "order": 54, + "order": 50, "encounters": [ { "pokeapi_id": 732, @@ -3188,7 +3073,7 @@ }, { "name": "Lush Jungle (Cave)", - "order": 55, + "order": 51, "encounters": [ { "pokeapi_id": 636, @@ -3228,7 +3113,7 @@ }, { "name": "Diglett's Tunnel", - "order": 56, + "order": 52, "encounters": [ { "pokeapi_id": 10105, @@ -3258,7 +3143,7 @@ }, { "name": "Alola Route 9", - "order": 57, + "order": 53, "encounters": [ { "pokeapi_id": 132, @@ -3304,7 +3189,7 @@ }, { "name": "Konikoni City", - "order": 58, + "order": 54, "encounters": [ { "pokeapi_id": 132, @@ -3316,9 +3201,39 @@ } ] }, + { + "name": "Memorial Hill", + "order": 55, + "encounters": [ + { + "pokeapi_id": 92, + "pokemon_name": "Gastly", + "method": "walk", + "encounter_rate": 50, + "min_level": 21, + "max_level": 24 + }, + { + "pokeapi_id": 708, + "pokemon_name": "Phantump", + "method": "walk", + "encounter_rate": 30, + "min_level": 21, + "max_level": 24 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 20, + "min_level": 21, + "max_level": 24 + } + ] + }, { "name": "Akala Outskirts", - "order": 59, + "order": 56, "encounters": [ { "pokeapi_id": 679, @@ -3404,7 +3319,7 @@ }, { "name": "Hano Beach", - "order": 60, + "order": 57, "encounters": [ { "pokeapi_id": 72, @@ -3466,7 +3381,7 @@ }, { "name": "Malie City (Outer Cape)", - "order": 61, + "order": 58, "encounters": [ { "pokeapi_id": 10112, @@ -3504,7 +3419,7 @@ }, { "name": "Malie Garden", - "order": 62, + "order": 59, "encounters": [ { "pokeapi_id": 129, @@ -3606,7 +3521,7 @@ }, { "name": "Alola Route 10", - "order": 63, + "order": 60, "encounters": [ { "pokeapi_id": 739, @@ -3692,7 +3607,7 @@ }, { "name": "Mount Hokulani", - "order": 64, + "order": 61, "encounters": [ { "pokeapi_id": 610, @@ -3706,7 +3621,7 @@ "children": [ { "name": "Mount Hokulani (First two patches of grass at the foot of the mountain)", - "order": 65, + "order": 62, "encounters": [ { "pokeapi_id": 22, @@ -3776,7 +3691,7 @@ }, { "name": "Mount Hokulani (Patch nearest Observatory)", - "order": 66, + "order": 63, "encounters": [ { "pokeapi_id": 10136, @@ -3824,7 +3739,7 @@ }, { "name": "Alola Route 11", - "order": 67, + "order": 64, "encounters": [ { "pokeapi_id": 391, @@ -3894,7 +3809,7 @@ }, { "name": "Alola Route 12", - "order": 68, + "order": 65, "encounters": [ { "pokeapi_id": 10110, @@ -3932,7 +3847,7 @@ }, { "name": "Blush Mountain", - "order": 69, + "order": 66, "encounters": [ { "pokeapi_id": 111, @@ -4000,9 +3915,23 @@ } ] }, + { + "name": "Ula'ula Beach", + "order": 67, + "encounters": [ + { + "pokeapi_id": 739, + "pokemon_name": "Crabrawler", + "method": "walk", + "encounter_rate": 100, + "min_level": 29, + "max_level": 32 + } + ] + }, { "name": "Alola Route 13", - "order": 70, + "order": 68, "encounters": [ { "pokeapi_id": 129, @@ -4032,7 +3961,7 @@ }, { "name": "Haina Desert", - "order": 71, + "order": 69, "encounters": [ { "pokeapi_id": 552, @@ -4062,7 +3991,7 @@ }, { "name": "Tapu Village", - "order": 72, + "order": 70, "encounters": [ { "pokeapi_id": 708, @@ -4130,9 +4059,23 @@ } ] }, + { + "name": "Aether House", + "order": 71, + "encounters": [ + { + "pokeapi_id": 137, + "pokemon_name": "Porygon", + "method": "gift", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + } + ] + }, { "name": "Alola Route 14", - "order": 73, + "order": 72, "encounters": [ { "pokeapi_id": 592, @@ -4202,7 +4145,7 @@ }, { "name": "Thrifty Megamart (Abandoned Site)", - "order": 74, + "order": 73, "encounters": [ { "pokeapi_id": 93, @@ -4248,7 +4191,7 @@ }, { "name": "Alola Route 15", - "order": 75, + "order": 74, "encounters": [ { "pokeapi_id": 769, @@ -4349,22 +4292,46 @@ ] }, { - "name": "Aether House", - "order": 76, + "name": "Sandy Cave", + "order": 75, "encounters": [ { - "pokeapi_id": 137, - "pokemon_name": "Porygon", - "method": "gift", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 70, + "min_level": 6, + "max_level": 9 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "surf", + "encounter_rate": 70, + "min_level": 6, + "max_level": 9 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "walk", + "encounter_rate": 30, + "min_level": 6, + "max_level": 9 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "surf", + "encounter_rate": 30, + "min_level": 6, + "max_level": 9 } ] }, { "name": "Alola Route 16", - "order": 77, + "order": 76, "encounters": [ { "pokeapi_id": 739, @@ -4434,7 +4401,7 @@ }, { "name": "Ula'ula Meadow", - "order": 78, + "order": 77, "encounters": [ { "pokeapi_id": 388, @@ -4496,7 +4463,7 @@ }, { "name": "Alola Route 17", - "order": 79, + "order": 78, "encounters": [ { "pokeapi_id": 739, @@ -4580,67 +4547,9 @@ } ] }, - { - "name": "Memorial Hill", - "order": 80, - "encounters": [ - { - "pokeapi_id": 92, - "pokemon_name": "Gastly", - "method": "walk", - "encounter_rate": 50, - "min_level": 21, - "max_level": 24 - }, - { - "pokeapi_id": 708, - "pokemon_name": "Phantump", - "method": "walk", - "encounter_rate": 30, - "min_level": 21, - "max_level": 24 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 20, - "min_level": 21, - "max_level": 24 - } - ] - }, - { - "name": "Ula'ula Beach", - "order": 81, - "encounters": [ - { - "pokeapi_id": 739, - "pokemon_name": "Crabrawler", - "method": "walk", - "encounter_rate": 100, - "min_level": 29, - "max_level": 32 - } - ] - }, - { - "name": "Aether Paradise", - "order": 82, - "encounters": [ - { - "pokeapi_id": 772, - "pokemon_name": "Type Null", - "method": "gift", - "encounter_rate": 100, - "min_level": 60, - "max_level": 60 - } - ] - }, { "name": "Seafolk Village", - "order": 83, + "order": 79, "encounters": [ { "pokeapi_id": 142, @@ -4686,7 +4595,7 @@ }, { "name": "Poni Wilds", - "order": 84, + "order": 80, "encounters": [ { "pokeapi_id": 739, @@ -4748,7 +4657,7 @@ }, { "name": "Ancient Poni Path", - "order": 85, + "order": 81, "encounters": [ { "pokeapi_id": 655, @@ -4810,7 +4719,7 @@ }, { "name": "Poni Breaker Coast", - "order": 86, + "order": 82, "encounters": [ { "pokeapi_id": 369, @@ -4918,23 +4827,9 @@ } ] }, - { - "name": "Ruins of Hope", - "order": 87, - "encounters": [ - { - "pokeapi_id": 788, - "pokemon_name": "Tapu Fini", - "method": "static", - "encounter_rate": 100, - "min_level": 60, - "max_level": 60 - } - ] - }, { "name": "Exeggutor Island", - "order": 88, + "order": 83, "encounters": [ { "pokeapi_id": 652, @@ -4996,12 +4891,12 @@ }, { "name": "Vast Poni Canyon", - "order": 89, + "order": 84, "encounters": [], "children": [ { "name": "Vast Poni Canyon (Canyon)", - "order": 90, + "order": 85, "encounters": [ { "pokeapi_id": 10126, @@ -5071,7 +4966,7 @@ }, { "name": "Vast Poni Canyon (Caves)", - "order": 91, + "order": 86, "encounters": [ { "pokeapi_id": 10106, @@ -5157,23 +5052,9 @@ } ] }, - { - "name": "Mahalo Trail", - "order": 92, - "encounters": [ - { - "pokeapi_id": 792, - "pokemon_name": "Lunala", - "method": "static", - "encounter_rate": 100, - "min_level": 60, - "max_level": 60 - } - ] - }, { "name": "Ultra Megalopolis", - "order": 93, + "order": 87, "encounters": [ { "pokeapi_id": 803, @@ -5187,34 +5068,17 @@ }, { "name": "Megalo Tower", - "order": 94, - "encounters": [ - { - "pokeapi_id": 10157, - "pokemon_name": "Necrozma (Ultra)", - "method": "static", - "encounter_rate": 100, - "min_level": 60, - "max_level": 60 - }, - { - "pokeapi_id": 803, - "pokemon_name": "Poipole", - "method": "gift", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - } - ] + "order": 88, + "encounters": [] }, { "name": "Mount Lanakila", - "order": 95, + "order": 89, "encounters": [], "children": [ { "name": "Mount Lanakila (Icy Cave Left)", - "order": 96, + "order": 90, "encounters": [ { "pokeapi_id": 362, @@ -5260,7 +5124,7 @@ }, { "name": "Mount Lanakila (Base)", - "order": 97, + "order": 91, "encounters": [ { "pokeapi_id": 10101, @@ -5306,7 +5170,7 @@ }, { "name": "Mount Lanakila (Area near elevator leading to base)", - "order": 98, + "order": 92, "encounters": [ { "pokeapi_id": 362, @@ -5344,7 +5208,7 @@ }, { "name": "Mount Lanakila (Upper Reaches Middle)", - "order": 99, + "order": 93, "encounters": [ { "pokeapi_id": 362, @@ -5382,7 +5246,7 @@ }, { "name": "Mount Lanakila (Icy Cave Right)", - "order": 100, + "order": 94, "encounters": [ { "pokeapi_id": 362, @@ -5428,7 +5292,7 @@ }, { "name": "Mount Lanakila (Upper Reaches Upper)", - "order": 101, + "order": 95, "encounters": [ { "pokeapi_id": 800, @@ -5475,13 +5339,64 @@ ] }, { - "name": "Lake of the Sunne", - "order": 102, - "encounters": [] + "name": "Ruins of Hope", + "order": 96, + "encounters": [ + { + "pokeapi_id": 788, + "pokemon_name": "Tapu Fini", + "method": "static", + "encounter_rate": 100, + "min_level": 60, + "max_level": 60 + } + ] + }, + { + "name": "Ruins of Abundance", + "order": 97, + "encounters": [ + { + "pokeapi_id": 787, + "pokemon_name": "Tapu Bulu", + "method": "static", + "encounter_rate": 100, + "min_level": 60, + "max_level": 60 + } + ] + }, + { + "name": "Ruins of Life", + "order": 98, + "encounters": [ + { + "pokeapi_id": 786, + "pokemon_name": "Tapu Lele", + "method": "static", + "encounter_rate": 100, + "min_level": 60, + "max_level": 60 + } + ] + }, + { + "name": "Ruins of Conflict", + "order": 99, + "encounters": [ + { + "pokeapi_id": 785, + "pokemon_name": "Tapu Koko", + "method": "static", + "encounter_rate": 100, + "min_level": 60, + "max_level": 60 + } + ] }, { "name": "Poni Grove", - "order": 103, + "order": 100, "encounters": [ { "pokeapi_id": 604, @@ -5550,8 +5465,133 @@ ] }, { - "name": "Poni Plains", + "name": "Aether Paradise", + "order": 101, + "encounters": [ + { + "pokeapi_id": 772, + "pokemon_name": "Type Null", + "method": "gift", + "encounter_rate": 100, + "min_level": 60, + "max_level": 60 + } + ] + }, + { + "name": "Lake of the Sunne", + "order": 102, + "encounters": [] + }, + { + "name": "Lake of the Moone", + "order": 103, + "encounters": [ + { + "pokeapi_id": 789, + "pokemon_name": "Cosmog", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + } + ] + }, + { + "name": "Poni Coast", "order": 104, + "encounters": [ + { + "pokeapi_id": 10106, + "pokemon_name": "Dugtrio (Alola)", + "method": "walk", + "encounter_rate": 100, + "min_level": 56, + "max_level": 59 + } + ] + }, + { + "name": "Poni Meadow", + "order": 105, + "encounters": [ + { + "pokeapi_id": 147, + "pokemon_name": "Dratini", + "method": "fishing", + "encounter_rate": 100, + "min_level": 10, + "max_level": 57 + }, + { + "pokeapi_id": 542, + "pokemon_name": "Leavanny", + "method": "static", + "encounter_rate": 100, + "min_level": 57, + "max_level": 57 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "fishing", + "encounter_rate": 100, + "min_level": 10, + "max_level": 57 + }, + { + "pokeapi_id": 339, + "pokemon_name": "Barboach", + "method": "fishing", + "encounter_rate": 80, + "min_level": 10, + "max_level": 57 + }, + { + "pokeapi_id": 548, + "pokemon_name": "Petilil", + "method": "walk", + "encounter_rate": 30, + "min_level": 54, + "max_level": 57 + }, + { + "pokeapi_id": 743, + "pokemon_name": "Ribombee", + "method": "walk", + "encounter_rate": 30, + "min_level": 54, + "max_level": 57 + }, + { + "pokeapi_id": 670, + "pokemon_name": "Floette", + "method": "walk", + "encounter_rate": 20, + "min_level": 54, + "max_level": 57 + }, + { + "pokeapi_id": 10125, + "pokemon_name": "Oricorio (Sensu)", + "method": "walk", + "encounter_rate": 20, + "min_level": 54, + "max_level": 57 + }, + { + "pokeapi_id": 200, + "pokemon_name": "Misdreavus", + "method": "walk", + "encounter_rate": 10, + "min_level": 54, + "max_level": 57 + } + ] + }, + { + "name": "Poni Plains", + "order": 106, "encounters": [ { "pokeapi_id": 306, @@ -5661,7 +5701,7 @@ "children": [ { "name": "Poni Plains (Seven patches of grass in the middle)", - "order": 105, + "order": 107, "encounters": [ { "pokeapi_id": 735, @@ -5715,7 +5755,7 @@ }, { "name": "Poni Plains (Two big patches of grass in the north and center)", - "order": 106, + "order": 108, "encounters": [ { "pokeapi_id": 735, @@ -5785,7 +5825,7 @@ }, { "name": "Poni Plains (Three patches of grass by the mountains)", - "order": 107, + "order": 109, "encounters": [ { "pokeapi_id": 22, @@ -5855,7 +5895,7 @@ }, { "name": "Poni Plains (Three patches of grass by the coastline)", - "order": 108, + "order": 110, "encounters": [ { "pokeapi_id": 735, @@ -5917,98 +5957,6 @@ } ] }, - { - "name": "Poni Meadow", - "order": 109, - "encounters": [ - { - "pokeapi_id": 147, - "pokemon_name": "Dratini", - "method": "fishing", - "encounter_rate": 100, - "min_level": 10, - "max_level": 57 - }, - { - "pokeapi_id": 542, - "pokemon_name": "Leavanny", - "method": "static", - "encounter_rate": 100, - "min_level": 57, - "max_level": 57 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "fishing", - "encounter_rate": 100, - "min_level": 10, - "max_level": 57 - }, - { - "pokeapi_id": 339, - "pokemon_name": "Barboach", - "method": "fishing", - "encounter_rate": 80, - "min_level": 10, - "max_level": 57 - }, - { - "pokeapi_id": 548, - "pokemon_name": "Petilil", - "method": "walk", - "encounter_rate": 30, - "min_level": 54, - "max_level": 57 - }, - { - "pokeapi_id": 743, - "pokemon_name": "Ribombee", - "method": "walk", - "encounter_rate": 30, - "min_level": 54, - "max_level": 57 - }, - { - "pokeapi_id": 670, - "pokemon_name": "Floette", - "method": "walk", - "encounter_rate": 20, - "min_level": 54, - "max_level": 57 - }, - { - "pokeapi_id": 10125, - "pokemon_name": "Oricorio (Sensu)", - "method": "walk", - "encounter_rate": 20, - "min_level": 54, - "max_level": 57 - }, - { - "pokeapi_id": 200, - "pokemon_name": "Misdreavus", - "method": "walk", - "encounter_rate": 10, - "min_level": 54, - "max_level": 57 - } - ] - }, - { - "name": "Poni Coast", - "order": 110, - "encounters": [ - { - "pokeapi_id": 10106, - "pokemon_name": "Dugtrio (Alola)", - "method": "walk", - "encounter_rate": 100, - "min_level": 56, - "max_level": 59 - } - ] - }, { "name": "Poni Gauntlet", "order": 111, @@ -6762,40 +6710,94 @@ ] }, { - "name": "Ruins of Conflict", + "name": "Pikachu Valley", "order": 125, "encounters": [ { - "pokeapi_id": 785, - "pokemon_name": "Tapu Koko", - "method": "static", + "pokeapi_id": 10148, + "pokemon_name": "Pikachu (Partner Cap)", + "method": "gift", "encounter_rate": 100, - "min_level": 60, - "max_level": 60 + "min_level": 21, + "max_level": 21 } ] }, { - "name": "Ruins of Life", + "name": "Heahea Beach", "order": 126, "encounters": [ { - "pokeapi_id": 786, - "pokemon_name": "Tapu Lele", - "method": "static", + "pokeapi_id": 10153, + "pokemon_name": "Araquanid (Totem)", + "method": "gift", "encounter_rate": 100, - "min_level": 60, - "max_level": 60 + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 10146, + "pokemon_name": "Kommo O (Totem)", + "method": "gift", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 10144, + "pokemon_name": "Mimikyu (Totem Disguised)", + "method": "gift", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 10093, + "pokemon_name": "Raticate (Totem Alola)", + "method": "gift", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 10129, + "pokemon_name": "Salazzle (Totem)", + "method": "gift", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 10154, + "pokemon_name": "Togedemaru (Totem)", + "method": "gift", + "encounter_rate": 100, + "min_level": 35, + "max_level": 35 } ] }, { - "name": "Ruins of Abundance", + "name": "Heahea City", "order": 127, "encounters": [ { - "pokeapi_id": 787, - "pokemon_name": "Tapu Bulu", + "pokeapi_id": 25, + "pokemon_name": "Pikachu", + "method": "gift", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Mahalo Trail", + "order": 128, + "encounters": [ + { + "pokeapi_id": 792, + "pokemon_name": "Lunala", "method": "static", "encounter_rate": 100, "min_level": 60, diff --git a/backend/src/app/seeds/data/ultra-sun-bosses.json b/backend/src/app/seeds/data/ultra-sun-bosses.json index 119ea6c..1faec1d 100644 --- a/backend/src/app/seeds/data/ultra-sun-bosses.json +++ b/backend/src/app/seeds/data/ultra-sun-bosses.json @@ -7,7 +7,7 @@ "badge_image_url": null, "level_cap": 12, "order": 1, - "after_route_name": null, + "after_route_name": "Hau'oli Cemetery", "location": "Verdant Cavern", "section": "Melemele Island", "sprite_url": "/sprites/735.webp", @@ -21,7 +21,7 @@ "badge_image_url": null, "level_cap": 15, "order": 2, - "after_route_name": null, + "after_route_name": "Kala'e Bay", "location": "Iki Town", "section": "Melemele Island", "sprite_url": "/boss-sprites/ultra-sun/hala.png", @@ -35,7 +35,7 @@ "badge_image_url": null, "level_cap": 24, "order": 3, - "after_route_name": null, + "after_route_name": "Alola Route 5", "location": "Brooklet Hill", "section": "Akala Island", "sprite_url": "/sprites/752.webp", @@ -49,7 +49,7 @@ "badge_image_url": null, "level_cap": 24, "order": 4, - "after_route_name": null, + "after_route_name": "Wela Volcano Park", "location": "Wela Volcano Park", "section": "Akala Island", "sprite_url": "/sprites/758.webp", @@ -63,7 +63,7 @@ "badge_image_url": null, "level_cap": 24, "order": 5, - "after_route_name": null, + "after_route_name": "Alola Route 8", "location": "Lush Jungle", "section": "Akala Island", "sprite_url": "/sprites/754.webp", @@ -77,24 +77,24 @@ "badge_image_url": null, "level_cap": 27, "order": 6, - "after_route_name": null, + "after_route_name": "Akala Outskirts", "location": "Ruins of Life", "section": "Akala Island", "sprite_url": "/boss-sprites/ultra-sun/olivia.png", "pokemon": [] }, { - "name": "Totem Vikavolt", + "name": "Totem Togedemaru", "boss_type": "totem", - "specialty_type": "bug", + "specialty_type": "electric", "badge_name": null, "badge_image_url": null, - "level_cap": 29, + "level_cap": 33, "order": 7, - "after_route_name": null, + "after_route_name": "Mount Hokulani", "location": "Hokulani Observatory", "section": "Ula'ula Island", - "sprite_url": "/sprites/738.webp", + "sprite_url": "/sprites/777.webp", "pokemon": [] }, { @@ -105,26 +105,12 @@ "badge_image_url": null, "level_cap": 33, "order": 8, - "after_route_name": null, + "after_route_name": "Alola Route 14", "location": "Thrifty Megamart", "section": "Ula'ula Island", "sprite_url": "/sprites/778.webp", "pokemon": [] }, - { - "name": "Totem Togedemaru", - "boss_type": "totem", - "specialty_type": "electric", - "badge_name": null, - "badge_image_url": null, - "level_cap": 33, - "order": 9, - "after_route_name": null, - "location": "Hokulani Observatory", - "section": "Ula'ula Island", - "sprite_url": "/sprites/777.webp", - "pokemon": [] - }, { "name": "Nanu", "boss_type": "kahuna", @@ -132,8 +118,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 34, - "order": 10, - "after_route_name": null, + "order": 9, + "after_route_name": "Alola Route 17", "location": "Malie City", "section": "Ula'ula Island", "sprite_url": "/boss-sprites/ultra-sun/nanu.png", @@ -146,8 +132,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 45, - "order": 11, - "after_route_name": null, + "order": 10, + "after_route_name": "Vast Poni Canyon", "location": "Vast Poni Canyon", "section": "Poni Island", "sprite_url": "/sprites/784.webp", @@ -160,8 +146,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 50, - "order": 12, - "after_route_name": null, + "order": 11, + "after_route_name": "Megalo Tower", "location": "Seafolk Village", "section": "Poni Island", "sprite_url": "/sprites/743.webp", @@ -174,8 +160,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 48, - "order": 13, - "after_route_name": null, + "order": 12, + "after_route_name": "Megalo Tower", "location": "Exeggutor Island", "section": "Poni Island", "sprite_url": "/boss-sprites/ultra-sun/hapu.png", @@ -188,8 +174,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 56, - "order": 14, - "after_route_name": null, + "order": 13, + "after_route_name": "Mount Lanakila", "location": "Pokemon League", "section": "Pokemon League", "sprite_url": "/boss-sprites/ultra-sun/molayne.png", @@ -202,8 +188,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 56, - "order": 15, - "after_route_name": null, + "order": 14, + "after_route_name": "Mount Lanakila", "location": "Pokemon League", "section": "Pokemon League", "sprite_url": "/boss-sprites/ultra-sun/olivia.png", @@ -216,8 +202,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 56, - "order": 16, - "after_route_name": null, + "order": 15, + "after_route_name": "Mount Lanakila", "location": "Pokemon League", "section": "Pokemon League", "sprite_url": "/boss-sprites/ultra-sun/acerola.png", @@ -230,8 +216,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 56, - "order": 17, - "after_route_name": null, + "order": 16, + "after_route_name": "Mount Lanakila", "location": "Pokemon League", "section": "Pokemon League", "sprite_url": "/boss-sprites/ultra-sun/kahili.png", @@ -244,8 +230,8 @@ "badge_name": null, "badge_image_url": null, "level_cap": 58, - "order": 18, - "after_route_name": null, + "order": 17, + "after_route_name": "Mount Lanakila", "location": "Pokemon League", "section": "Pokemon League", "sprite_url": "/boss-sprites/ultra-sun/hau.png", diff --git a/backend/src/app/seeds/data/ultra-sun.json b/backend/src/app/seeds/data/ultra-sun.json index 159bd7c..6cf9137 100644 --- a/backend/src/app/seeds/data/ultra-sun.json +++ b/backend/src/app/seeds/data/ultra-sun.json @@ -135,7 +135,8 @@ "min_level": 2, "max_level": 3 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Alola Route 1 (Patch of grass overlooking the bay)", @@ -213,7 +214,8 @@ "min_level": 2, "max_level": 4 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Alola Route 1 (Two fields nearest Iki Town + western path)", @@ -251,7 +253,8 @@ "min_level": 2, "max_level": 3 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Alola Route 1 (Path south of Iki Town blocked by rocks)", @@ -305,7 +308,8 @@ "min_level": 11, "max_level": 14 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Alola Route 1 (Hau'oli Outskirts)", @@ -367,7 +371,8 @@ "min_level": 15, "max_level": 18 } - ] + ], + "pinwheel_zone": 2 } ] }, @@ -1391,52 +1396,14 @@ } ] }, - { - "name": "Sandy Cave", - "order": 25, - "encounters": [ - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 70, - "min_level": 6, - "max_level": 9 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "surf", - "encounter_rate": 70, - "min_level": 6, - "max_level": 9 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "walk", - "encounter_rate": 30, - "min_level": 6, - "max_level": 9 - }, - { - "pokeapi_id": 54, - "pokemon_name": "Psyduck", - "method": "surf", - "encounter_rate": 30, - "min_level": 6, - "max_level": 9 - } - ] - }, { "name": "Ten Carat Hill", - "order": 26, + "order": 25, "encounters": [], "children": [ { "name": "Ten Carat Hill (Cave and Ocean Cave)", - "order": 27, + "order": 26, "encounters": [ { "pokeapi_id": 95, @@ -1506,7 +1473,7 @@ }, { "name": "Ten Carat Hill (Farthest Hollow)", - "order": 28, + "order": 27, "encounters": [ { "pokeapi_id": 66, @@ -1554,7 +1521,7 @@ }, { "name": "Melemele Sea", - "order": 29, + "order": 28, "encounters": [ { "pokeapi_id": 72, @@ -1640,7 +1607,7 @@ "children": [ { "name": "Melemele Sea (Route 1 side)", - "order": 30, + "order": 29, "encounters": [ { "pokeapi_id": 366, @@ -1694,7 +1661,7 @@ }, { "name": "Melemele Sea (Hau'oli City side)", - "order": 31, + "order": 30, "encounters": [ { "pokeapi_id": 222, @@ -1748,77 +1715,9 @@ } ] }, - { - "name": "Heahea City", - "order": 32, - "encounters": [ - { - "pokeapi_id": 25, - "pokemon_name": "Pikachu", - "method": "gift", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - } - ] - }, - { - "name": "Heahea Beach", - "order": 33, - "encounters": [ - { - "pokeapi_id": 10121, - "pokemon_name": "Gumshoos (Totem)", - "method": "gift", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 10128, - "pokemon_name": "Lurantis (Totem)", - "method": "gift", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 - }, - { - "pokeapi_id": 10149, - "pokemon_name": "Marowak (Totem)", - "method": "gift", - "encounter_rate": 100, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 10144, - "pokemon_name": "Mimikyu (Totem Disguised)", - "method": "gift", - "encounter_rate": 100, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 10150, - "pokemon_name": "Ribombee (Totem)", - "method": "gift", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 10122, - "pokemon_name": "Vikavolt (Totem)", - "method": "gift", - "encounter_rate": 100, - "min_level": 35, - "max_level": 35 - } - ] - }, { "name": "Alola Route 4", - "order": 34, + "order": 31, "encounters": [ { "pokeapi_id": 15, @@ -1902,23 +1801,9 @@ } ] }, - { - "name": "Pikachu Valley", - "order": 35, - "encounters": [ - { - "pokeapi_id": 10148, - "pokemon_name": "Pikachu (Partner Cap)", - "method": "gift", - "encounter_rate": 100, - "min_level": 21, - "max_level": 21 - } - ] - }, { "name": "Paniola Town", - "order": 36, + "order": 32, "encounters": [ { "pokeapi_id": 129, @@ -1940,7 +1825,7 @@ }, { "name": "Paniola Ranch", - "order": 37, + "order": 33, "encounters": [ { "pokeapi_id": 133, @@ -1994,12 +1879,12 @@ }, { "name": "Alola Route 5", - "order": 38, + "order": 34, "encounters": [], "children": [ { "name": "Alola Route 5 (Southern half)", - "order": 39, + "order": 35, "encounters": [ { "pokeapi_id": 12, @@ -2085,7 +1970,7 @@ }, { "name": "Alola Route 5 (Northern half)", - "order": 40, + "order": 36, "encounters": [ { "pokeapi_id": 12, @@ -2165,7 +2050,7 @@ }, { "name": "Brooklet Hill", - "order": 41, + "order": 37, "encounters": [ { "pokeapi_id": 349, @@ -2299,7 +2184,7 @@ "children": [ { "name": "Brooklet Hill (Totem's Den)", - "order": 42, + "order": 38, "encounters": [ { "pokeapi_id": 129, @@ -2355,7 +2240,7 @@ }, { "name": "Alola Route 6", - "order": 43, + "order": 39, "encounters": [ { "pokeapi_id": 280, @@ -2369,7 +2254,7 @@ "children": [ { "name": "Alola Route 6 (Northern patch of grass)", - "order": 44, + "order": 40, "encounters": [ { "pokeapi_id": 506, @@ -2439,7 +2324,7 @@ }, { "name": "Alola Route 6 (Two southern patches of grass)", - "order": 45, + "order": 41, "encounters": [ { "pokeapi_id": 506, @@ -2511,7 +2396,7 @@ }, { "name": "Royal Avenue", - "order": 46, + "order": 42, "encounters": [ { "pokeapi_id": 339, @@ -2525,7 +2410,7 @@ }, { "name": "Alola Route 7", - "order": 47, + "order": 43, "encounters": [ { "pokeapi_id": 10105, @@ -2603,7 +2488,7 @@ }, { "name": "Wela Volcano Park", - "order": 48, + "order": 44, "encounters": [ { "pokeapi_id": 115, @@ -2649,7 +2534,7 @@ }, { "name": "Dividing Peak Tunnel", - "order": 49, + "order": 45, "encounters": [ { "pokeapi_id": 352, @@ -2671,7 +2556,7 @@ }, { "name": "Alola Route 8", - "order": 50, + "order": 46, "encounters": [ { "pokeapi_id": 698, @@ -2901,12 +2786,12 @@ }, { "name": "Lush Jungle", - "order": 51, + "order": 47, "encounters": [], "children": [ { "name": "Lush Jungle (North area)", - "order": 52, + "order": 48, "encounters": [ { "pokeapi_id": 762, @@ -3000,7 +2885,7 @@ }, { "name": "Lush Jungle (Central area)", - "order": 53, + "order": 49, "encounters": [ { "pokeapi_id": 762, @@ -3094,7 +2979,7 @@ }, { "name": "Lush Jungle (Northwest area)", - "order": 54, + "order": 50, "encounters": [ { "pokeapi_id": 732, @@ -3188,7 +3073,7 @@ }, { "name": "Lush Jungle (Cave)", - "order": 55, + "order": 51, "encounters": [ { "pokeapi_id": 636, @@ -3228,7 +3113,7 @@ }, { "name": "Diglett's Tunnel", - "order": 56, + "order": 52, "encounters": [ { "pokeapi_id": 10105, @@ -3258,7 +3143,7 @@ }, { "name": "Alola Route 9", - "order": 57, + "order": 53, "encounters": [ { "pokeapi_id": 132, @@ -3304,7 +3189,7 @@ }, { "name": "Konikoni City", - "order": 58, + "order": 54, "encounters": [ { "pokeapi_id": 132, @@ -3316,9 +3201,39 @@ } ] }, + { + "name": "Memorial Hill", + "order": 55, + "encounters": [ + { + "pokeapi_id": 92, + "pokemon_name": "Gastly", + "method": "walk", + "encounter_rate": 50, + "min_level": 21, + "max_level": 24 + }, + { + "pokeapi_id": 708, + "pokemon_name": "Phantump", + "method": "walk", + "encounter_rate": 30, + "min_level": 21, + "max_level": 24 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 20, + "min_level": 21, + "max_level": 24 + } + ] + }, { "name": "Akala Outskirts", - "order": 59, + "order": 56, "encounters": [ { "pokeapi_id": 679, @@ -3404,7 +3319,7 @@ }, { "name": "Hano Beach", - "order": 60, + "order": 57, "encounters": [ { "pokeapi_id": 72, @@ -3466,7 +3381,7 @@ }, { "name": "Malie City (Outer Cape)", - "order": 61, + "order": 58, "encounters": [ { "pokeapi_id": 10112, @@ -3504,7 +3419,7 @@ }, { "name": "Malie Garden", - "order": 62, + "order": 59, "encounters": [ { "pokeapi_id": 129, @@ -3606,7 +3521,7 @@ }, { "name": "Alola Route 10", - "order": 63, + "order": 60, "encounters": [ { "pokeapi_id": 739, @@ -3692,7 +3607,7 @@ }, { "name": "Mount Hokulani", - "order": 64, + "order": 61, "encounters": [ { "pokeapi_id": 610, @@ -3706,7 +3621,7 @@ "children": [ { "name": "Mount Hokulani (First two patches of grass at the foot of the mountain)", - "order": 65, + "order": 62, "encounters": [ { "pokeapi_id": 22, @@ -3776,7 +3691,7 @@ }, { "name": "Mount Hokulani (Patch nearest Observatory)", - "order": 66, + "order": 63, "encounters": [ { "pokeapi_id": 10136, @@ -3824,7 +3739,7 @@ }, { "name": "Alola Route 11", - "order": 67, + "order": 64, "encounters": [ { "pokeapi_id": 391, @@ -3894,7 +3809,7 @@ }, { "name": "Alola Route 12", - "order": 68, + "order": 65, "encounters": [ { "pokeapi_id": 10110, @@ -3932,7 +3847,7 @@ }, { "name": "Blush Mountain", - "order": 69, + "order": 66, "encounters": [ { "pokeapi_id": 111, @@ -4008,9 +3923,23 @@ } ] }, + { + "name": "Ula'ula Beach", + "order": 67, + "encounters": [ + { + "pokeapi_id": 739, + "pokemon_name": "Crabrawler", + "method": "walk", + "encounter_rate": 100, + "min_level": 29, + "max_level": 32 + } + ] + }, { "name": "Alola Route 13", - "order": 70, + "order": 68, "encounters": [ { "pokeapi_id": 129, @@ -4040,7 +3969,7 @@ }, { "name": "Haina Desert", - "order": 71, + "order": 69, "encounters": [ { "pokeapi_id": 552, @@ -4070,7 +3999,7 @@ }, { "name": "Tapu Village", - "order": 72, + "order": 70, "encounters": [ { "pokeapi_id": 708, @@ -4138,9 +4067,23 @@ } ] }, + { + "name": "Aether House", + "order": 71, + "encounters": [ + { + "pokeapi_id": 137, + "pokemon_name": "Porygon", + "method": "gift", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + } + ] + }, { "name": "Alola Route 14", - "order": 73, + "order": 72, "encounters": [ { "pokeapi_id": 592, @@ -4210,7 +4153,7 @@ }, { "name": "Thrifty Megamart (Abandoned Site)", - "order": 74, + "order": 73, "encounters": [ { "pokeapi_id": 93, @@ -4256,7 +4199,7 @@ }, { "name": "Alola Route 15", - "order": 75, + "order": 74, "encounters": [ { "pokeapi_id": 769, @@ -4357,22 +4300,46 @@ ] }, { - "name": "Aether House", - "order": 76, + "name": "Sandy Cave", + "order": 75, "encounters": [ { - "pokeapi_id": 137, - "pokemon_name": "Porygon", - "method": "gift", - "encounter_rate": 100, - "min_level": 30, - "max_level": 30 + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "walk", + "encounter_rate": 70, + "min_level": 6, + "max_level": 9 + }, + { + "pokeapi_id": 41, + "pokemon_name": "Zubat", + "method": "surf", + "encounter_rate": 70, + "min_level": 6, + "max_level": 9 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "walk", + "encounter_rate": 30, + "min_level": 6, + "max_level": 9 + }, + { + "pokeapi_id": 54, + "pokemon_name": "Psyduck", + "method": "surf", + "encounter_rate": 30, + "min_level": 6, + "max_level": 9 } ] }, { "name": "Alola Route 16", - "order": 77, + "order": 76, "encounters": [ { "pokeapi_id": 739, @@ -4442,7 +4409,7 @@ }, { "name": "Ula'ula Meadow", - "order": 78, + "order": 77, "encounters": [ { "pokeapi_id": 388, @@ -4504,7 +4471,7 @@ }, { "name": "Alola Route 17", - "order": 79, + "order": 78, "encounters": [ { "pokeapi_id": 739, @@ -4588,67 +4555,9 @@ } ] }, - { - "name": "Memorial Hill", - "order": 80, - "encounters": [ - { - "pokeapi_id": 92, - "pokemon_name": "Gastly", - "method": "walk", - "encounter_rate": 50, - "min_level": 21, - "max_level": 24 - }, - { - "pokeapi_id": 708, - "pokemon_name": "Phantump", - "method": "walk", - "encounter_rate": 30, - "min_level": 21, - "max_level": 24 - }, - { - "pokeapi_id": 41, - "pokemon_name": "Zubat", - "method": "walk", - "encounter_rate": 20, - "min_level": 21, - "max_level": 24 - } - ] - }, - { - "name": "Ula'ula Beach", - "order": 81, - "encounters": [ - { - "pokeapi_id": 739, - "pokemon_name": "Crabrawler", - "method": "walk", - "encounter_rate": 100, - "min_level": 29, - "max_level": 32 - } - ] - }, - { - "name": "Aether Paradise", - "order": 82, - "encounters": [ - { - "pokeapi_id": 772, - "pokemon_name": "Type Null", - "method": "gift", - "encounter_rate": 100, - "min_level": 60, - "max_level": 60 - } - ] - }, { "name": "Seafolk Village", - "order": 83, + "order": 79, "encounters": [ { "pokeapi_id": 142, @@ -4694,7 +4603,7 @@ }, { "name": "Poni Wilds", - "order": 84, + "order": 80, "encounters": [ { "pokeapi_id": 739, @@ -4756,7 +4665,7 @@ }, { "name": "Ancient Poni Path", - "order": 85, + "order": 81, "encounters": [ { "pokeapi_id": 655, @@ -4818,7 +4727,7 @@ }, { "name": "Poni Breaker Coast", - "order": 86, + "order": 82, "encounters": [ { "pokeapi_id": 369, @@ -4926,23 +4835,9 @@ } ] }, - { - "name": "Ruins of Hope", - "order": 87, - "encounters": [ - { - "pokeapi_id": 788, - "pokemon_name": "Tapu Fini", - "method": "static", - "encounter_rate": 100, - "min_level": 60, - "max_level": 60 - } - ] - }, { "name": "Exeggutor Island", - "order": 88, + "order": 83, "encounters": [ { "pokeapi_id": 652, @@ -5004,12 +4899,12 @@ }, { "name": "Vast Poni Canyon", - "order": 89, + "order": 84, "encounters": [], "children": [ { "name": "Vast Poni Canyon (Canyon)", - "order": 90, + "order": 85, "encounters": [ { "pokeapi_id": 10126, @@ -5079,7 +4974,7 @@ }, { "name": "Vast Poni Canyon (Caves)", - "order": 91, + "order": 86, "encounters": [ { "pokeapi_id": 10106, @@ -5165,23 +5060,9 @@ } ] }, - { - "name": "Mahalo Trail", - "order": 92, - "encounters": [ - { - "pokeapi_id": 791, - "pokemon_name": "Solgaleo", - "method": "static", - "encounter_rate": 100, - "min_level": 60, - "max_level": 60 - } - ] - }, { "name": "Ultra Megalopolis", - "order": 93, + "order": 87, "encounters": [ { "pokeapi_id": 803, @@ -5195,7 +5076,7 @@ }, { "name": "Megalo Tower", - "order": 94, + "order": 88, "encounters": [ { "pokeapi_id": 10157, @@ -5217,12 +5098,12 @@ }, { "name": "Mount Lanakila", - "order": 95, + "order": 89, "encounters": [], "children": [ { "name": "Mount Lanakila (Icy Cave Left)", - "order": 96, + "order": 90, "encounters": [ { "pokeapi_id": 362, @@ -5260,7 +5141,7 @@ }, { "name": "Mount Lanakila (Base)", - "order": 97, + "order": 91, "encounters": [ { "pokeapi_id": 361, @@ -5306,7 +5187,7 @@ }, { "name": "Mount Lanakila (Area near elevator leading to base)", - "order": 98, + "order": 92, "encounters": [ { "pokeapi_id": 362, @@ -5344,7 +5225,7 @@ }, { "name": "Mount Lanakila (Upper Reaches Middle)", - "order": 99, + "order": 93, "encounters": [ { "pokeapi_id": 362, @@ -5382,7 +5263,7 @@ }, { "name": "Mount Lanakila (Icy Cave Right)", - "order": 100, + "order": 94, "encounters": [ { "pokeapi_id": 362, @@ -5420,7 +5301,7 @@ }, { "name": "Mount Lanakila (Upper Reaches Upper)", - "order": 101, + "order": 95, "encounters": [ { "pokeapi_id": 800, @@ -5467,22 +5348,64 @@ ] }, { - "name": "Lake of the Sunne", - "order": 102, + "name": "Ruins of Hope", + "order": 96, "encounters": [ { - "pokeapi_id": 789, - "pokemon_name": "Cosmog", - "method": "gift", + "pokeapi_id": 788, + "pokemon_name": "Tapu Fini", + "method": "static", "encounter_rate": 100, - "min_level": 5, - "max_level": 5 + "min_level": 60, + "max_level": 60 + } + ] + }, + { + "name": "Ruins of Abundance", + "order": 97, + "encounters": [ + { + "pokeapi_id": 787, + "pokemon_name": "Tapu Bulu", + "method": "static", + "encounter_rate": 100, + "min_level": 60, + "max_level": 60 + } + ] + }, + { + "name": "Ruins of Life", + "order": 98, + "encounters": [ + { + "pokeapi_id": 786, + "pokemon_name": "Tapu Lele", + "method": "static", + "encounter_rate": 100, + "min_level": 60, + "max_level": 60 + } + ] + }, + { + "name": "Ruins of Conflict", + "order": 99, + "encounters": [ + { + "pokeapi_id": 785, + "pokemon_name": "Tapu Koko", + "method": "static", + "encounter_rate": 100, + "min_level": 60, + "max_level": 60 } ] }, { "name": "Poni Grove", - "order": 103, + "order": 100, "encounters": [ { "pokeapi_id": 806, @@ -5551,8 +5474,133 @@ ] }, { - "name": "Poni Plains", + "name": "Aether Paradise", + "order": 101, + "encounters": [ + { + "pokeapi_id": 772, + "pokemon_name": "Type Null", + "method": "gift", + "encounter_rate": 100, + "min_level": 60, + "max_level": 60 + } + ] + }, + { + "name": "Lake of the Sunne", + "order": 102, + "encounters": [ + { + "pokeapi_id": 789, + "pokemon_name": "Cosmog", + "method": "gift", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + } + ] + }, + { + "name": "Lake of the Moone", + "order": 103, + "encounters": [] + }, + { + "name": "Poni Coast", "order": 104, + "encounters": [ + { + "pokeapi_id": 10106, + "pokemon_name": "Dugtrio (Alola)", + "method": "walk", + "encounter_rate": 100, + "min_level": 56, + "max_level": 59 + } + ] + }, + { + "name": "Poni Meadow", + "order": 105, + "encounters": [ + { + "pokeapi_id": 147, + "pokemon_name": "Dratini", + "method": "fishing", + "encounter_rate": 100, + "min_level": 10, + "max_level": 57 + }, + { + "pokeapi_id": 542, + "pokemon_name": "Leavanny", + "method": "static", + "encounter_rate": 100, + "min_level": 57, + "max_level": 57 + }, + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "fishing", + "encounter_rate": 100, + "min_level": 10, + "max_level": 57 + }, + { + "pokeapi_id": 339, + "pokemon_name": "Barboach", + "method": "fishing", + "encounter_rate": 80, + "min_level": 10, + "max_level": 57 + }, + { + "pokeapi_id": 546, + "pokemon_name": "Cottonee", + "method": "walk", + "encounter_rate": 30, + "min_level": 54, + "max_level": 57 + }, + { + "pokeapi_id": 743, + "pokemon_name": "Ribombee", + "method": "walk", + "encounter_rate": 30, + "min_level": 54, + "max_level": 57 + }, + { + "pokeapi_id": 670, + "pokemon_name": "Floette", + "method": "walk", + "encounter_rate": 20, + "min_level": 54, + "max_level": 57 + }, + { + "pokeapi_id": 10125, + "pokemon_name": "Oricorio (Sensu)", + "method": "walk", + "encounter_rate": 20, + "min_level": 54, + "max_level": 57 + }, + { + "pokeapi_id": 200, + "pokemon_name": "Misdreavus", + "method": "walk", + "encounter_rate": 10, + "min_level": 54, + "max_level": 57 + } + ] + }, + { + "name": "Poni Plains", + "order": 106, "encounters": [ { "pokeapi_id": 306, @@ -5662,7 +5710,7 @@ "children": [ { "name": "Poni Plains (Seven patches of grass in the middle)", - "order": 105, + "order": 107, "encounters": [ { "pokeapi_id": 735, @@ -5716,7 +5764,7 @@ }, { "name": "Poni Plains (Two big patches of grass in the north and center)", - "order": 106, + "order": 108, "encounters": [ { "pokeapi_id": 735, @@ -5786,7 +5834,7 @@ }, { "name": "Poni Plains (Three patches of grass by the mountains)", - "order": 107, + "order": 109, "encounters": [ { "pokeapi_id": 546, @@ -5856,7 +5904,7 @@ }, { "name": "Poni Plains (Three patches of grass by the coastline)", - "order": 108, + "order": 110, "encounters": [ { "pokeapi_id": 735, @@ -5918,98 +5966,6 @@ } ] }, - { - "name": "Poni Meadow", - "order": 109, - "encounters": [ - { - "pokeapi_id": 147, - "pokemon_name": "Dratini", - "method": "fishing", - "encounter_rate": 100, - "min_level": 10, - "max_level": 57 - }, - { - "pokeapi_id": 542, - "pokemon_name": "Leavanny", - "method": "static", - "encounter_rate": 100, - "min_level": 57, - "max_level": 57 - }, - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "fishing", - "encounter_rate": 100, - "min_level": 10, - "max_level": 57 - }, - { - "pokeapi_id": 339, - "pokemon_name": "Barboach", - "method": "fishing", - "encounter_rate": 80, - "min_level": 10, - "max_level": 57 - }, - { - "pokeapi_id": 546, - "pokemon_name": "Cottonee", - "method": "walk", - "encounter_rate": 30, - "min_level": 54, - "max_level": 57 - }, - { - "pokeapi_id": 743, - "pokemon_name": "Ribombee", - "method": "walk", - "encounter_rate": 30, - "min_level": 54, - "max_level": 57 - }, - { - "pokeapi_id": 670, - "pokemon_name": "Floette", - "method": "walk", - "encounter_rate": 20, - "min_level": 54, - "max_level": 57 - }, - { - "pokeapi_id": 10125, - "pokemon_name": "Oricorio (Sensu)", - "method": "walk", - "encounter_rate": 20, - "min_level": 54, - "max_level": 57 - }, - { - "pokeapi_id": 200, - "pokemon_name": "Misdreavus", - "method": "walk", - "encounter_rate": 10, - "min_level": 54, - "max_level": 57 - } - ] - }, - { - "name": "Poni Coast", - "order": 110, - "encounters": [ - { - "pokeapi_id": 10106, - "pokemon_name": "Dugtrio (Alola)", - "method": "walk", - "encounter_rate": 100, - "min_level": 56, - "max_level": 59 - } - ] - }, { "name": "Poni Gauntlet", "order": 111, @@ -6763,40 +6719,94 @@ ] }, { - "name": "Ruins of Conflict", + "name": "Pikachu Valley", "order": 125, "encounters": [ { - "pokeapi_id": 785, - "pokemon_name": "Tapu Koko", - "method": "static", + "pokeapi_id": 10148, + "pokemon_name": "Pikachu (Partner Cap)", + "method": "gift", "encounter_rate": 100, - "min_level": 60, - "max_level": 60 + "min_level": 21, + "max_level": 21 } ] }, { - "name": "Ruins of Life", + "name": "Heahea Beach", "order": 126, "encounters": [ { - "pokeapi_id": 786, - "pokemon_name": "Tapu Lele", - "method": "static", + "pokeapi_id": 10121, + "pokemon_name": "Gumshoos (Totem)", + "method": "gift", "encounter_rate": 100, - "min_level": 60, - "max_level": 60 + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 10128, + "pokemon_name": "Lurantis (Totem)", + "method": "gift", + "encounter_rate": 100, + "min_level": 30, + "max_level": 30 + }, + { + "pokeapi_id": 10149, + "pokemon_name": "Marowak (Totem)", + "method": "gift", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 10144, + "pokemon_name": "Mimikyu (Totem Disguised)", + "method": "gift", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 10150, + "pokemon_name": "Ribombee (Totem)", + "method": "gift", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 10122, + "pokemon_name": "Vikavolt (Totem)", + "method": "gift", + "encounter_rate": 100, + "min_level": 35, + "max_level": 35 } ] }, { - "name": "Ruins of Abundance", + "name": "Heahea City", "order": 127, "encounters": [ { - "pokeapi_id": 787, - "pokemon_name": "Tapu Bulu", + "pokeapi_id": 25, + "pokemon_name": "Pikachu", + "method": "gift", + "encounter_rate": 100, + "min_level": 40, + "max_level": 40 + } + ] + }, + { + "name": "Mahalo Trail", + "order": 128, + "encounters": [ + { + "pokeapi_id": 791, + "pokemon_name": "Solgaleo", "method": "static", "encounter_rate": 100, "min_level": 60, diff --git a/backend/src/app/seeds/data/violet.json b/backend/src/app/seeds/data/violet.json index 78d06d1..1f76d87 100644 --- a/backend/src/app/seeds/data/violet.json +++ b/backend/src/app/seeds/data/violet.json @@ -32812,158 +32812,6 @@ "name": "Random (Around Terrarium)", "order": 401, "encounters": [ - { - "pokeapi_id": 869, - "pokemon_name": "Alcremie", - "method": "raid", - "encounter_rate": 100, - "min_level": 75, - "max_level": 90 - }, - { - "pokeapi_id": 752, - "pokemon_name": "Araquanid", - "method": "raid", - "encounter_rate": 100, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 411, - "pokemon_name": "Bastiodon", - "method": "raid", - "encounter_rate": 100, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 374, - "pokemon_name": "Beldum", - "method": "raid", - "encounter_rate": 100, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 182, - "pokemon_name": "Bellossom", - "method": "raid", - "encounter_rate": 100, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 522, - "pokemon_name": "Blitzle", - "method": "raid", - "encounter_rate": 100, - "min_level": 12, - "max_level": 12 - }, - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "raid", - "encounter_rate": 100, - "min_level": 12, - "max_level": 35 - }, - { - "pokeapi_id": 764, - "pokemon_name": "Comfey", - "method": "raid", - "encounter_rate": 100, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 546, - "pokemon_name": "Cottonee", - "method": "raid", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 87, - "pokemon_name": "Dewgong", - "method": "raid", - "encounter_rate": 100, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 751, - "pokemon_name": "Dewpider", - "method": "raid", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 10105, - "pokemon_name": "Diglett (Alola)", - "method": "raid", - "encounter_rate": 100, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 85, - "pokemon_name": "Dodrio", - "method": "raid", - "encounter_rate": 100, - "min_level": 45, - "max_level": 45 - }, - { - "pokeapi_id": 84, - "pokemon_name": "Doduo", - "method": "raid", - "encounter_rate": 100, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 529, - "pokemon_name": "Drilbur", - "method": "raid", - "encounter_rate": 100, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 10106, - "pokemon_name": "Dugtrio (Alola)", - "method": "raid", - "encounter_rate": 100, - "min_level": 90, - "max_level": 90 - }, - { - "pokeapi_id": 578, - "pokemon_name": "Duosion", - "method": "raid", - "encounter_rate": 100, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 884, - "pokemon_name": "Duraludon", - "method": "raid", - "encounter_rate": 100, - "min_level": 75, - "max_level": 90 - }, - { - "pokeapi_id": 125, - "pokemon_name": "Electabuzz", - "method": "raid", - "encounter_rate": 100, - "min_level": 45, - "max_level": 45 - }, { "pokeapi_id": 466, "pokemon_name": "Electivire", @@ -33531,6 +33379,158 @@ "encounter_rate": 100, "min_level": 45, "max_level": 45 + }, + { + "pokeapi_id": 869, + "pokemon_name": "Alcremie", + "method": "raid", + "encounter_rate": 100, + "min_level": 75, + "max_level": 90 + }, + { + "pokeapi_id": 752, + "pokemon_name": "Araquanid", + "method": "raid", + "encounter_rate": 100, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 411, + "pokemon_name": "Bastiodon", + "method": "raid", + "encounter_rate": 100, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 374, + "pokemon_name": "Beldum", + "method": "raid", + "encounter_rate": 100, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 182, + "pokemon_name": "Bellossom", + "method": "raid", + "encounter_rate": 100, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 522, + "pokemon_name": "Blitzle", + "method": "raid", + "encounter_rate": 100, + "min_level": 12, + "max_level": 12 + }, + { + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "raid", + "encounter_rate": 100, + "min_level": 12, + "max_level": 35 + }, + { + "pokeapi_id": 764, + "pokemon_name": "Comfey", + "method": "raid", + "encounter_rate": 100, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 546, + "pokemon_name": "Cottonee", + "method": "raid", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 87, + "pokemon_name": "Dewgong", + "method": "raid", + "encounter_rate": 100, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 751, + "pokemon_name": "Dewpider", + "method": "raid", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 10105, + "pokemon_name": "Diglett (Alola)", + "method": "raid", + "encounter_rate": 100, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 85, + "pokemon_name": "Dodrio", + "method": "raid", + "encounter_rate": 100, + "min_level": 45, + "max_level": 45 + }, + { + "pokeapi_id": 84, + "pokemon_name": "Doduo", + "method": "raid", + "encounter_rate": 100, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 529, + "pokemon_name": "Drilbur", + "method": "raid", + "encounter_rate": 100, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 10106, + "pokemon_name": "Dugtrio (Alola)", + "method": "raid", + "encounter_rate": 100, + "min_level": 90, + "max_level": 90 + }, + { + "pokeapi_id": 578, + "pokemon_name": "Duosion", + "method": "raid", + "encounter_rate": 100, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 884, + "pokemon_name": "Duraludon", + "method": "raid", + "encounter_rate": 100, + "min_level": 75, + "max_level": 90 + }, + { + "pokeapi_id": 125, + "pokemon_name": "Electabuzz", + "method": "raid", + "encounter_rate": 100, + "min_level": 45, + "max_level": 45 } ] } diff --git a/backend/src/app/seeds/data/white-2.json b/backend/src/app/seeds/data/white-2.json index 60b3ebb..e4134e9 100644 --- a/backend/src/app/seeds/data/white-2.json +++ b/backend/src/app/seeds/data/white-2.json @@ -170,8 +170,166 @@ ] }, { - "name": "Floccesy Ranch", + "name": "Unova Route 20", "order": 4, + "encounters": [ + { + "pokeapi_id": 531, + "pokemon_name": "Audino", + "method": "walk", + "encounter_rate": 90, + "min_level": 2, + "max_level": 4 + }, + { + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", + "method": "surf", + "encounter_rate": 70, + "min_level": 7, + "max_level": 15 + }, + { + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", + "method": "surf", + "encounter_rate": 65, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "fishing", + "encounter_rate": 65, + "min_level": 40, + "max_level": 70 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "fishing", + "encounter_rate": 60, + "min_level": 40, + "max_level": 70 + }, + { + "pokeapi_id": 519, + "pokemon_name": "Pidove", + "method": "walk", + "encounter_rate": 50, + "min_level": 2, + "max_level": 10 + }, + { + "pokeapi_id": 540, + "pokemon_name": "Sewaddle", + "method": "walk", + "encounter_rate": 50, + "min_level": 2, + "max_level": 11 + }, + { + "pokeapi_id": 191, + "pokemon_name": "Sunkern", + "method": "walk", + "encounter_rate": 50, + "min_level": 2, + "max_level": 11 + }, + { + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", + "method": "fishing", + "encounter_rate": 40, + "min_level": 40, + "max_level": 60 + }, + { + "pokeapi_id": 122, + "pokemon_name": "Mr Mime", + "method": "walk", + "encounter_rate": 40, + "min_level": 40, + "max_level": 55 + }, + { + "pokeapi_id": 504, + "pokemon_name": "Patrat", + "method": "walk", + "encounter_rate": 40, + "min_level": 2, + "max_level": 10 + }, + { + "pokeapi_id": 298, + "pokemon_name": "Azurill", + "method": "surf", + "encounter_rate": 30, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", + "method": "fishing", + "encounter_rate": 30, + "min_level": 40, + "max_level": 60 + }, + { + "pokeapi_id": 183, + "pokemon_name": "Marill", + "method": "surf", + "encounter_rate": 30, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 509, + "pokemon_name": "Purrloin", + "method": "walk", + "encounter_rate": 30, + "min_level": 2, + "max_level": 11 + }, + { + "pokeapi_id": 543, + "pokemon_name": "Venipede", + "method": "walk", + "encounter_rate": 20, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 206, + "pokemon_name": "Dunsparce", + "method": "walk", + "encounter_rate": 10, + "min_level": 3, + "max_level": 3 + }, + { + "pokeapi_id": 184, + "pokemon_name": "Azumarill", + "method": "surf", + "encounter_rate": 5, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 186, + "pokemon_name": "Politoed", + "method": "fishing", + "encounter_rate": 5, + "min_level": 50, + "max_level": 70 + } + ] + }, + { + "name": "Floccesy Ranch", + "order": 5, "encounters": [ { "pokeapi_id": 206, @@ -351,164 +509,6 @@ } ] }, - { - "name": "Unova Route 20", - "order": 5, - "encounters": [ - { - "pokeapi_id": 531, - "pokemon_name": "Audino", - "method": "walk", - "encounter_rate": 90, - "min_level": 2, - "max_level": 4 - }, - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "surf", - "encounter_rate": 70, - "min_level": 7, - "max_level": 15 - }, - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "surf", - "encounter_rate": 65, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "fishing", - "encounter_rate": 65, - "min_level": 40, - "max_level": 70 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "fishing", - "encounter_rate": 60, - "min_level": 40, - "max_level": 70 - }, - { - "pokeapi_id": 519, - "pokemon_name": "Pidove", - "method": "walk", - "encounter_rate": 50, - "min_level": 2, - "max_level": 10 - }, - { - "pokeapi_id": 540, - "pokemon_name": "Sewaddle", - "method": "walk", - "encounter_rate": 50, - "min_level": 2, - "max_level": 11 - }, - { - "pokeapi_id": 191, - "pokemon_name": "Sunkern", - "method": "walk", - "encounter_rate": 50, - "min_level": 2, - "max_level": 11 - }, - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "fishing", - "encounter_rate": 40, - "min_level": 40, - "max_level": 60 - }, - { - "pokeapi_id": 122, - "pokemon_name": "Mr Mime", - "method": "walk", - "encounter_rate": 40, - "min_level": 40, - "max_level": 55 - }, - { - "pokeapi_id": 504, - "pokemon_name": "Patrat", - "method": "walk", - "encounter_rate": 40, - "min_level": 2, - "max_level": 10 - }, - { - "pokeapi_id": 298, - "pokemon_name": "Azurill", - "method": "surf", - "encounter_rate": 30, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "fishing", - "encounter_rate": 30, - "min_level": 40, - "max_level": 60 - }, - { - "pokeapi_id": 183, - "pokemon_name": "Marill", - "method": "surf", - "encounter_rate": 30, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 509, - "pokemon_name": "Purrloin", - "method": "walk", - "encounter_rate": 30, - "min_level": 2, - "max_level": 11 - }, - { - "pokeapi_id": 543, - "pokemon_name": "Venipede", - "method": "walk", - "encounter_rate": 20, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 206, - "pokemon_name": "Dunsparce", - "method": "walk", - "encounter_rate": 10, - "min_level": 3, - "max_level": 3 - }, - { - "pokeapi_id": 184, - "pokemon_name": "Azumarill", - "method": "surf", - "encounter_rate": 5, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 186, - "pokemon_name": "Politoed", - "method": "fishing", - "encounter_rate": 5, - "min_level": 50, - "max_level": 70 - } - ] - }, { "name": "Virbank City", "order": 6, @@ -4270,267 +4270,9 @@ } ] }, - { - "name": "Unova Route 21", - "order": 63, - "encounters": [ - { - "pokeapi_id": 370, - "pokemon_name": "Luvdisc", - "method": "fishing", - "encounter_rate": 100, - "min_level": 40, - "max_level": 70 - }, - { - "pokeapi_id": 223, - "pokemon_name": "Remoraid", - "method": "fishing", - "encounter_rate": 95, - "min_level": 40, - "max_level": 70 - }, - { - "pokeapi_id": 592, - "pokemon_name": "Frillish", - "method": "surf", - "encounter_rate": 65, - "min_level": 30, - "max_level": 45 - }, - { - "pokeapi_id": 593, - "pokemon_name": "Jellicent", - "method": "surf", - "encounter_rate": 60, - "min_level": 30, - "max_level": 45 - }, - { - "pokeapi_id": 594, - "pokemon_name": "Alomomola", - "method": "surf", - "encounter_rate": 35, - "min_level": 30, - "max_level": 45 - }, - { - "pokeapi_id": 458, - "pokemon_name": "Mantyke", - "method": "surf", - "encounter_rate": 30, - "min_level": 30, - "max_level": 45 - }, - { - "pokeapi_id": 226, - "pokemon_name": "Mantine", - "method": "surf", - "encounter_rate": 5, - "min_level": 30, - "max_level": 45 - }, - { - "pokeapi_id": 224, - "pokemon_name": "Octillery", - "method": "fishing", - "encounter_rate": 5, - "min_level": 50, - "max_level": 70 - }, - { - "pokeapi_id": 223, - "pokemon_name": "Remoraid", - "method": "surf", - "encounter_rate": 5, - "min_level": 35, - "max_level": 45 - } - ] - }, - { - "name": "Seaside Cave", - "order": 64, - "encounters": [ - { - "pokeapi_id": 558, - "pokemon_name": "Crustle", - "method": "static", - "encounter_rate": 100, - "min_level": 42, - "max_level": 42 - } - ], - "children": [ - { - "name": "Seaside Cave (1F)", - "order": 65, - "encounters": [ - { - "pokeapi_id": 530, - "pokemon_name": "Excadrill", - "method": "walk", - "encounter_rate": 100, - "min_level": 34, - "max_level": 37 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "walk", - "encounter_rate": 35, - "min_level": 34, - "max_level": 36 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 35, - "min_level": 34, - "max_level": 36 - }, - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 15, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 86, - "pokemon_name": "Seel", - "method": "walk", - "encounter_rate": 10, - "min_level": 35, - "max_level": 35 - }, - { - "pokeapi_id": 602, - "pokemon_name": "Tynamo", - "method": "walk", - "encounter_rate": 5, - "min_level": 37, - "max_level": 37 - } - ] - }, - { - "name": "Seaside Cave (B1F)", - "order": 66, - "encounters": [ - { - "pokeapi_id": 530, - "pokemon_name": "Excadrill", - "method": "walk", - "encounter_rate": 100, - "min_level": 39, - "max_level": 42 - }, - { - "pokeapi_id": 370, - "pokemon_name": "Luvdisc", - "method": "fishing", - "encounter_rate": 100, - "min_level": 40, - "max_level": 70 - }, - { - "pokeapi_id": 90, - "pokemon_name": "Shellder", - "method": "fishing", - "encounter_rate": 95, - "min_level": 40, - "max_level": 70 - }, - { - "pokeapi_id": 86, - "pokemon_name": "Seel", - "method": "surf", - "encounter_rate": 90, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 592, - "pokemon_name": "Frillish", - "method": "surf", - "encounter_rate": 70, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 35, - "min_level": 39, - "max_level": 42 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 35, - "min_level": 39, - "max_level": 41 - }, - { - "pokeapi_id": 593, - "pokemon_name": "Jellicent", - "method": "surf", - "encounter_rate": 30, - "min_level": 25, - "max_level": 40 - }, - { - "pokeapi_id": 55, - "pokemon_name": "Golduck", - "method": "walk", - "encounter_rate": 20, - "min_level": 40, - "max_level": 40 - }, - { - "pokeapi_id": 87, - "pokemon_name": "Dewgong", - "method": "surf", - "encounter_rate": 10, - "min_level": 30, - "max_level": 40 - }, - { - "pokeapi_id": 91, - "pokemon_name": "Cloyster", - "method": "fishing", - "encounter_rate": 5, - "min_level": 50, - "max_level": 70 - }, - { - "pokeapi_id": 603, - "pokemon_name": "Eelektrik", - "method": "walk", - "encounter_rate": 5, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 213, - "pokemon_name": "Shuckle", - "method": "walk", - "encounter_rate": 5, - "min_level": 41, - "max_level": 41 - } - ] - } - ] - }, { "name": "Unova Route 22", - "order": 67, + "order": 63, "encounters": [ { "pokeapi_id": 118, @@ -4726,6 +4468,264 @@ } ] }, + { + "name": "Unova Route 21", + "order": 64, + "encounters": [ + { + "pokeapi_id": 370, + "pokemon_name": "Luvdisc", + "method": "fishing", + "encounter_rate": 100, + "min_level": 40, + "max_level": 70 + }, + { + "pokeapi_id": 223, + "pokemon_name": "Remoraid", + "method": "fishing", + "encounter_rate": 95, + "min_level": 40, + "max_level": 70 + }, + { + "pokeapi_id": 592, + "pokemon_name": "Frillish", + "method": "surf", + "encounter_rate": 65, + "min_level": 30, + "max_level": 45 + }, + { + "pokeapi_id": 593, + "pokemon_name": "Jellicent", + "method": "surf", + "encounter_rate": 60, + "min_level": 30, + "max_level": 45 + }, + { + "pokeapi_id": 594, + "pokemon_name": "Alomomola", + "method": "surf", + "encounter_rate": 35, + "min_level": 30, + "max_level": 45 + }, + { + "pokeapi_id": 458, + "pokemon_name": "Mantyke", + "method": "surf", + "encounter_rate": 30, + "min_level": 30, + "max_level": 45 + }, + { + "pokeapi_id": 226, + "pokemon_name": "Mantine", + "method": "surf", + "encounter_rate": 5, + "min_level": 30, + "max_level": 45 + }, + { + "pokeapi_id": 224, + "pokemon_name": "Octillery", + "method": "fishing", + "encounter_rate": 5, + "min_level": 50, + "max_level": 70 + }, + { + "pokeapi_id": 223, + "pokemon_name": "Remoraid", + "method": "surf", + "encounter_rate": 5, + "min_level": 35, + "max_level": 45 + } + ] + }, + { + "name": "Seaside Cave", + "order": 65, + "encounters": [ + { + "pokeapi_id": 558, + "pokemon_name": "Crustle", + "method": "static", + "encounter_rate": 100, + "min_level": 42, + "max_level": 42 + } + ], + "children": [ + { + "name": "Seaside Cave (1F)", + "order": 66, + "encounters": [ + { + "pokeapi_id": 530, + "pokemon_name": "Excadrill", + "method": "walk", + "encounter_rate": 100, + "min_level": 34, + "max_level": 37 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "walk", + "encounter_rate": 35, + "min_level": 34, + "max_level": 36 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 35, + "min_level": 34, + "max_level": 36 + }, + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 15, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 86, + "pokemon_name": "Seel", + "method": "walk", + "encounter_rate": 10, + "min_level": 35, + "max_level": 35 + }, + { + "pokeapi_id": 602, + "pokemon_name": "Tynamo", + "method": "walk", + "encounter_rate": 5, + "min_level": 37, + "max_level": 37 + } + ] + }, + { + "name": "Seaside Cave (B1F)", + "order": 67, + "encounters": [ + { + "pokeapi_id": 530, + "pokemon_name": "Excadrill", + "method": "walk", + "encounter_rate": 100, + "min_level": 39, + "max_level": 42 + }, + { + "pokeapi_id": 370, + "pokemon_name": "Luvdisc", + "method": "fishing", + "encounter_rate": 100, + "min_level": 40, + "max_level": 70 + }, + { + "pokeapi_id": 90, + "pokemon_name": "Shellder", + "method": "fishing", + "encounter_rate": 95, + "min_level": 40, + "max_level": 70 + }, + { + "pokeapi_id": 86, + "pokemon_name": "Seel", + "method": "surf", + "encounter_rate": 90, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 592, + "pokemon_name": "Frillish", + "method": "surf", + "encounter_rate": 70, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 35, + "min_level": 39, + "max_level": 42 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 35, + "min_level": 39, + "max_level": 41 + }, + { + "pokeapi_id": 593, + "pokemon_name": "Jellicent", + "method": "surf", + "encounter_rate": 30, + "min_level": 25, + "max_level": 40 + }, + { + "pokeapi_id": 55, + "pokemon_name": "Golduck", + "method": "walk", + "encounter_rate": 20, + "min_level": 40, + "max_level": 40 + }, + { + "pokeapi_id": 87, + "pokemon_name": "Dewgong", + "method": "surf", + "encounter_rate": 10, + "min_level": 30, + "max_level": 40 + }, + { + "pokeapi_id": 91, + "pokemon_name": "Cloyster", + "method": "fishing", + "encounter_rate": 5, + "min_level": 50, + "max_level": 70 + }, + { + "pokeapi_id": 603, + "pokemon_name": "Eelektrik", + "method": "walk", + "encounter_rate": 5, + "min_level": 42, + "max_level": 42 + }, + { + "pokeapi_id": 213, + "pokemon_name": "Shuckle", + "method": "walk", + "encounter_rate": 5, + "min_level": 41, + "max_level": 41 + } + ] + } + ] + }, { "name": "Giant Chasm", "order": 68, diff --git a/backend/src/app/seeds/data/white.json b/backend/src/app/seeds/data/white.json index 9d3d3eb..495aef6 100644 --- a/backend/src/app/seeds/data/white.json +++ b/backend/src/app/seeds/data/white.json @@ -868,7 +868,8 @@ "min_level": 15, "max_level": 15 } - ] + ], + "pinwheel_zone": 1 }, { "name": "Pinwheel Forest (Inner Area)", @@ -1018,7 +1019,8 @@ "min_level": 17, "max_level": 17 } - ] + ], + "pinwheel_zone": 2 } ] }, @@ -1513,229 +1515,9 @@ } ] }, - { - "name": "Unova Route 16", - "order": 32, - "encounters": [ - { - "pokeapi_id": 531, - "pokemon_name": "Audino", - "method": "walk", - "encounter_rate": 85, - "min_level": 19, - "max_level": 22 - }, - { - "pokeapi_id": 572, - "pokemon_name": "Minccino", - "method": "walk", - "encounter_rate": 60, - "min_level": 19, - "max_level": 25 - }, - { - "pokeapi_id": 577, - "pokemon_name": "Solosis", - "method": "walk", - "encounter_rate": 60, - "min_level": 19, - "max_level": 25 - }, - { - "pokeapi_id": 510, - "pokemon_name": "Liepard", - "method": "walk", - "encounter_rate": 40, - "min_level": 20, - "max_level": 23 - }, - { - "pokeapi_id": 204, - "pokemon_name": "Pineco", - "method": "walk", - "encounter_rate": 40, - "min_level": 15, - "max_level": 55 - }, - { - "pokeapi_id": 568, - "pokemon_name": "Trubbish", - "method": "walk", - "encounter_rate": 40, - "min_level": 19, - "max_level": 22 - }, - { - "pokeapi_id": 587, - "pokemon_name": "Emolga", - "method": "walk", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 573, - "pokemon_name": "Cinccino", - "method": "walk", - "encounter_rate": 5, - "min_level": 22, - "max_level": 22 - } - ] - }, - { - "name": "Lostlorn Forest", - "order": 33, - "encounters": [ - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 20 - }, - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 20 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "fishing", - "encounter_rate": 100, - "min_level": 35, - "max_level": 70 - }, - { - "pokeapi_id": 571, - "pokemon_name": "Zoroark", - "method": "static", - "encounter_rate": 100, - "min_level": 25, - "max_level": 25 - }, - { - "pokeapi_id": 548, - "pokemon_name": "Petilil", - "method": "walk", - "encounter_rate": 70, - "min_level": 19, - "max_level": 25 - }, - { - "pokeapi_id": 541, - "pokemon_name": "Swadloon", - "method": "walk", - "encounter_rate": 70, - "min_level": 20, - "max_level": 25 - }, - { - "pokeapi_id": 531, - "pokemon_name": "Audino", - "method": "walk", - "encounter_rate": 45, - "min_level": 19, - "max_level": 21 - }, - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "fishing", - "encounter_rate": 40, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "fishing", - "encounter_rate": 40, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 520, - "pokemon_name": "Tranquill", - "method": "walk", - "encounter_rate": 30, - "min_level": 21, - "max_level": 25 - }, - { - "pokeapi_id": 543, - "pokemon_name": "Venipede", - "method": "walk", - "encounter_rate": 30, - "min_level": 20, - "max_level": 24 - }, - { - "pokeapi_id": 587, - "pokemon_name": "Emolga", - "method": "walk", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 515, - "pokemon_name": "Panpour", - "method": "walk", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 511, - "pokemon_name": "Pansage", - "method": "walk", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 513, - "pokemon_name": "Pansear", - "method": "walk", - "encounter_rate": 10, - "min_level": 20, - "max_level": 20 - }, - { - "pokeapi_id": 542, - "pokemon_name": "Leavanny", - "method": "walk", - "encounter_rate": 5, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 549, - "pokemon_name": "Lilligant", - "method": "walk", - "encounter_rate": 5, - "min_level": 22, - "max_level": 22 - }, - { - "pokeapi_id": 521, - "pokemon_name": "Unfezant", - "method": "walk", - "encounter_rate": 5, - "min_level": 22, - "max_level": 22 - } - ] - }, { "name": "Unova Route 5", - "order": 34, + "order": 32, "encounters": [ { "pokeapi_id": 531, @@ -1805,7 +1587,7 @@ }, { "name": "Driftveil Drawbridge", - "order": 35, + "order": 33, "encounters": [ { "pokeapi_id": 580, @@ -1819,7 +1601,7 @@ }, { "name": "Driftveil City", - "order": 36, + "order": 34, "encounters": [ { "pokeapi_id": 10016, @@ -1897,7 +1679,7 @@ }, { "name": "Cold Storage (Outside)", - "order": 37, + "order": 35, "encounters": [ { "pokeapi_id": 531, @@ -1959,7 +1741,7 @@ }, { "name": "Unova Route 6", - "order": 38, + "order": 36, "encounters": [ { "pokeapi_id": 10016, @@ -2117,7 +1899,7 @@ }, { "name": "Chargestone Cave", - "order": 39, + "order": 37, "encounters": [ { "pokeapi_id": 529, @@ -2131,7 +1913,7 @@ "children": [ { "name": "Chargestone Cave (1F)", - "order": 40, + "order": 38, "encounters": [ { "pokeapi_id": 595, @@ -2177,7 +1959,7 @@ }, { "name": "Chargestone Cave (B1F)", - "order": 41, + "order": 39, "encounters": [ { "pokeapi_id": 595, @@ -2223,7 +2005,7 @@ }, { "name": "Chargestone Cave (B2F)", - "order": 42, + "order": 40, "encounters": [ { "pokeapi_id": 595, @@ -2269,131 +2051,9 @@ } ] }, - { - "name": "Mistralton Cave", - "order": 43, - "encounters": [ - { - "pokeapi_id": 529, - "pokemon_name": "Drilbur", - "method": "walk", - "encounter_rate": 100, - "min_level": 28, - "max_level": 31 - } - ], - "children": [ - { - "name": "Mistralton Cave (1F)", - "order": 44, - "encounters": [ - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 50, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 30, - "min_level": 28, - "max_level": 30 - }, - { - "pokeapi_id": 610, - "pokemon_name": "Axew", - "method": "walk", - "encounter_rate": 20, - "min_level": 30, - "max_level": 31 - } - ] - }, - { - "name": "Mistralton Cave (2F)", - "order": 45, - "encounters": [ - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 50, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 30, - "min_level": 28, - "max_level": 30 - }, - { - "pokeapi_id": 610, - "pokemon_name": "Axew", - "method": "walk", - "encounter_rate": 20, - "min_level": 30, - "max_level": 31 - } - ] - }, - { - "name": "Mistralton Cave (Guidance Chamber)", - "order": 46, - "encounters": [ - { - "pokeapi_id": 638, - "pokemon_name": "Cobalion", - "method": "static", - "encounter_rate": 100, - "min_level": 42, - "max_level": 42 - }, - { - "pokeapi_id": 529, - "pokemon_name": "Drilbur", - "method": "walk", - "encounter_rate": 100, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 50, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 30, - "min_level": 28, - "max_level": 30 - }, - { - "pokeapi_id": 610, - "pokemon_name": "Axew", - "method": "walk", - "encounter_rate": 20, - "min_level": 30, - "max_level": 31 - } - ] - } - ] - }, { "name": "Unova Route 7", - "order": 47, + "order": 41, "encounters": [ { "pokeapi_id": 585, @@ -2487,12 +2147,12 @@ }, { "name": "Celestial Tower", - "order": 48, + "order": 42, "encounters": [], "children": [ { "name": "Celestial Tower (2F)", - "order": 49, + "order": 43, "encounters": [ { "pokeapi_id": 607, @@ -2506,7 +2166,7 @@ }, { "name": "Celestial Tower (3F)", - "order": 50, + "order": 44, "encounters": [ { "pokeapi_id": 607, @@ -2528,7 +2188,7 @@ }, { "name": "Celestial Tower (4F)", - "order": 51, + "order": 45, "encounters": [ { "pokeapi_id": 607, @@ -2550,7 +2210,7 @@ }, { "name": "Celestial Tower (5F)", - "order": 52, + "order": 46, "encounters": [ { "pokeapi_id": 605, @@ -2573,14 +2233,453 @@ ] }, { - "name": "Twist Mountain", - "order": 53, - "encounters": [], + "name": "Unova Route 17", + "order": 47, + "encounters": [ + { + "pokeapi_id": 592, + "pokemon_name": "Frillish", + "method": "surf", + "encounter_rate": 100, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 594, + "pokemon_name": "Alomomola", + "method": "surf", + "encounter_rate": 95, + "min_level": 5, + "max_level": 20 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "fishing", + "encounter_rate": 65, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 117, + "pokemon_name": "Seadra", + "method": "fishing", + "encounter_rate": 60, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "fishing", + "encounter_rate": 35, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 211, + "pokemon_name": "Qwilfish", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 593, + "pokemon_name": "Jellicent", + "method": "surf", + "encounter_rate": 5, + "min_level": 5, + "max_level": 20 + }, + { + "pokeapi_id": 230, + "pokemon_name": "Kingdra", + "method": "fishing", + "encounter_rate": 5, + "min_level": 45, + "max_level": 70 + }, + { + "pokeapi_id": 457, + "pokemon_name": "Lumineon", + "method": "fishing", + "encounter_rate": 5, + "min_level": 35, + "max_level": 70 + } + ] + }, + { + "name": "Unova Route 18", + "order": 48, + "encounters": [ + { + "pokeapi_id": 170, + "pokemon_name": "Chinchou", + "method": "fishing", + "encounter_rate": 100, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 592, + "pokemon_name": "Frillish", + "method": "surf", + "encounter_rate": 100, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 636, + "pokemon_name": "Larvesta", + "method": "gift", + "encounter_rate": 100, + "min_level": 1, + "max_level": 1 + }, + { + "pokeapi_id": 594, + "pokemon_name": "Alomomola", + "method": "surf", + "encounter_rate": 95, + "min_level": 5, + "max_level": 20 + }, + { + "pokeapi_id": 531, + "pokemon_name": "Audino", + "method": "walk", + "encounter_rate": 95, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 559, + "pokemon_name": "Scraggy", + "method": "walk", + "encounter_rate": 80, + "min_level": 28, + "max_level": 35 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "fishing", + "encounter_rate": 64, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 117, + "pokemon_name": "Seadra", + "method": "fishing", + "encounter_rate": 60, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 102, + "pokemon_name": "Exeggcute", + "method": "walk", + "encounter_rate": 40, + "min_level": 15, + "max_level": 55 + }, + { + "pokeapi_id": 505, + "pokemon_name": "Watchog", + "method": "walk", + "encounter_rate": 40, + "min_level": 28, + "max_level": 32 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "fishing", + "encounter_rate": 35, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 558, + "pokemon_name": "Crustle", + "method": "walk", + "encounter_rate": 30, + "min_level": 34, + "max_level": 35 + }, + { + "pokeapi_id": 557, + "pokemon_name": "Dwebble", + "method": "walk", + "encounter_rate": 30, + "min_level": 30, + "max_level": 31 + }, + { + "pokeapi_id": 211, + "pokemon_name": "Qwilfish", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 538, + "pokemon_name": "Throh", + "method": "walk", + "encounter_rate": 20, + "min_level": 29, + "max_level": 33 + }, + { + "pokeapi_id": 593, + "pokemon_name": "Jellicent", + "method": "surf", + "encounter_rate": 5, + "min_level": 5, + "max_level": 20 + }, + { + "pokeapi_id": 230, + "pokemon_name": "Kingdra", + "method": "fishing", + "encounter_rate": 5, + "min_level": 45, + "max_level": 70 + }, + { + "pokeapi_id": 457, + "pokemon_name": "Lumineon", + "method": "fishing", + "encounter_rate": 5, + "min_level": 35, + "max_level": 70 + }, + { + "pokeapi_id": 539, + "pokemon_name": "Sawk", + "method": "walk", + "encounter_rate": 5, + "min_level": 31, + "max_level": 31 + } + ] + }, + { + "name": "P2 Laboratory", + "order": 49, + "encounters": [ + { + "pokeapi_id": 592, + "pokemon_name": "Frillish", + "method": "surf", + "encounter_rate": 100, + "min_level": 5, + "max_level": 15 + }, + { + "pokeapi_id": 594, + "pokemon_name": "Alomomola", + "method": "surf", + "encounter_rate": 95, + "min_level": 5, + "max_level": 20 + }, + { + "pokeapi_id": 531, + "pokemon_name": "Audino", + "method": "walk", + "encounter_rate": 95, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 456, + "pokemon_name": "Finneon", + "method": "fishing", + "encounter_rate": 65, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 117, + "pokemon_name": "Seadra", + "method": "fishing", + "encounter_rate": 60, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 507, + "pokemon_name": "Herdier", + "method": "walk", + "encounter_rate": 36, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 505, + "pokemon_name": "Watchog", + "method": "walk", + "encounter_rate": 36, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 116, + "pokemon_name": "Horsea", + "method": "fishing", + "encounter_rate": 35, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 211, + "pokemon_name": "Qwilfish", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 599, + "pokemon_name": "Klink", + "method": "walk", + "encounter_rate": 14, + "min_level": 29, + "max_level": 31 + }, + { + "pokeapi_id": 559, + "pokemon_name": "Scraggy", + "method": "walk", + "encounter_rate": 14, + "min_level": 29, + "max_level": 31 + }, + { + "pokeapi_id": 593, + "pokemon_name": "Jellicent", + "method": "surf", + "encounter_rate": 5, + "min_level": 5, + "max_level": 20 + }, + { + "pokeapi_id": 230, + "pokemon_name": "Kingdra", + "method": "fishing", + "encounter_rate": 5, + "min_level": 45, + "max_level": 70 + }, + { + "pokeapi_id": 457, + "pokemon_name": "Lumineon", + "method": "fishing", + "encounter_rate": 5, + "min_level": 35, + "max_level": 70 + }, + { + "pokeapi_id": 508, + "pokemon_name": "Stoutland", + "method": "walk", + "encounter_rate": 5, + "min_level": 31, + "max_level": 31 + } + ] + }, + { + "name": "Mistralton Cave", + "order": 50, + "encounters": [ + { + "pokeapi_id": 529, + "pokemon_name": "Drilbur", + "method": "walk", + "encounter_rate": 100, + "min_level": 28, + "max_level": 31 + } + ], "children": [ { - "name": "Twist Mountain (B1F)", - "order": 54, + "name": "Mistralton Cave (1F)", + "order": 51, "encounters": [ + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 50, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 30, + "min_level": 28, + "max_level": 30 + }, + { + "pokeapi_id": 610, + "pokemon_name": "Axew", + "method": "walk", + "encounter_rate": 20, + "min_level": 30, + "max_level": 31 + } + ] + }, + { + "name": "Mistralton Cave (2F)", + "order": 52, + "encounters": [ + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 50, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 30, + "min_level": 28, + "max_level": 30 + }, + { + "pokeapi_id": 610, + "pokemon_name": "Axew", + "method": "walk", + "encounter_rate": 20, + "min_level": 30, + "max_level": 31 + } + ] + }, + { + "name": "Mistralton Cave (Guidance Chamber)", + "order": 53, + "encounters": [ + { + "pokeapi_id": 638, + "pokemon_name": "Cobalion", + "method": "static", + "encounter_rate": 100, + "min_level": 42, + "max_level": 42 + }, { "pokeapi_id": 529, "pokemon_name": "Drilbur", @@ -2593,46 +2692,37 @@ "pokeapi_id": 525, "pokemon_name": "Boldore", "method": "walk", - "encounter_rate": 79, + "encounter_rate": 50, "min_level": 28, "max_level": 31 }, - { - "pokeapi_id": 613, - "pokemon_name": "Cubchoo", - "method": "walk", - "encounter_rate": 55, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 533, - "pokemon_name": "Gurdurr", - "method": "walk", - "encounter_rate": 40, - "min_level": 28, - "max_level": 30 - }, { "pokeapi_id": 527, "pokemon_name": "Woobat", "method": "walk", - "encounter_rate": 40, + "encounter_rate": 30, "min_level": 28, - "max_level": 31 + "max_level": 30 }, { - "pokeapi_id": 615, - "pokemon_name": "Cryogonal", + "pokeapi_id": 610, + "pokemon_name": "Axew", "method": "walk", - "encounter_rate": 6, - "min_level": 28, + "encounter_rate": 20, + "min_level": 30, "max_level": 31 } ] - }, + } + ] + }, + { + "name": "Twist Mountain", + "order": 54, + "encounters": [], + "children": [ { - "name": "Twist Mountain (1F)", + "name": "Twist Mountain (B1F)", "order": 55, "encounters": [ { @@ -2686,7 +2776,7 @@ ] }, { - "name": "Twist Mountain (2F)", + "name": "Twist Mountain (1F)", "order": 56, "encounters": [ { @@ -2740,7 +2830,7 @@ ] }, { - "name": "Twist Mountain (3F)", + "name": "Twist Mountain (2F)", "order": 57, "encounters": [ { @@ -2792,81 +2882,65 @@ "max_level": 31 } ] + }, + { + "name": "Twist Mountain (3F)", + "order": 58, + "encounters": [ + { + "pokeapi_id": 529, + "pokemon_name": "Drilbur", + "method": "walk", + "encounter_rate": 100, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 79, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 613, + "pokemon_name": "Cubchoo", + "method": "walk", + "encounter_rate": 55, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 533, + "pokemon_name": "Gurdurr", + "method": "walk", + "encounter_rate": 40, + "min_level": 28, + "max_level": 30 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 40, + "min_level": 28, + "max_level": 31 + }, + { + "pokeapi_id": 615, + "pokemon_name": "Cryogonal", + "method": "walk", + "encounter_rate": 6, + "min_level": 28, + "max_level": 31 + } + ] } ] }, { "name": "Icirrus City", - "order": 58, - "encounters": [ - { - "pokeapi_id": 339, - "pokemon_name": "Barboach", - "method": "fishing", - "encounter_rate": 100, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 618, - "pokemon_name": "Stunfisk", - "method": "surf", - "encounter_rate": 100, - "min_level": 15, - "max_level": 40 - }, - { - "pokeapi_id": 618, - "pokemon_name": "Stunfisk", - "method": "fishing", - "encounter_rate": 60, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 536, - "pokemon_name": "Palpitoad", - "method": "walk", - "encounter_rate": 40, - "min_level": 30, - "max_level": 33 - }, - { - "pokeapi_id": 616, - "pokemon_name": "Shelmet", - "method": "walk", - "encounter_rate": 40, - "min_level": 30, - "max_level": 33 - }, - { - "pokeapi_id": 618, - "pokemon_name": "Stunfisk", - "method": "walk", - "encounter_rate": 20, - "min_level": 31, - "max_level": 32 - }, - { - "pokeapi_id": 340, - "pokemon_name": "Whiscash", - "method": "fishing", - "encounter_rate": 10, - "min_level": 35, - "max_level": 70 - }, - { - "pokeapi_id": 537, - "pokemon_name": "Seismitoad", - "method": "surf", - "encounter_rate": 5, - "min_level": 15, - "max_level": 40 - } - ] - }, - { - "name": "Moor of Icirrus", "order": 59, "encounters": [ { @@ -3334,8 +3408,78 @@ ] }, { - "name": "Unova Route 9", + "name": "Moor of Icirrus", "order": 66, + "encounters": [ + { + "pokeapi_id": 339, + "pokemon_name": "Barboach", + "method": "fishing", + "encounter_rate": 100, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 618, + "pokemon_name": "Stunfisk", + "method": "surf", + "encounter_rate": 100, + "min_level": 15, + "max_level": 40 + }, + { + "pokeapi_id": 618, + "pokemon_name": "Stunfisk", + "method": "fishing", + "encounter_rate": 60, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 536, + "pokemon_name": "Palpitoad", + "method": "walk", + "encounter_rate": 40, + "min_level": 30, + "max_level": 33 + }, + { + "pokeapi_id": 616, + "pokemon_name": "Shelmet", + "method": "walk", + "encounter_rate": 40, + "min_level": 30, + "max_level": 33 + }, + { + "pokeapi_id": 618, + "pokemon_name": "Stunfisk", + "method": "walk", + "encounter_rate": 20, + "min_level": 31, + "max_level": 32 + }, + { + "pokeapi_id": 340, + "pokemon_name": "Whiscash", + "method": "fishing", + "encounter_rate": 10, + "min_level": 35, + "max_level": 70 + }, + { + "pokeapi_id": 537, + "pokemon_name": "Seismitoad", + "method": "surf", + "encounter_rate": 5, + "min_level": 15, + "max_level": 40 + } + ] + }, + { + "name": "Unova Route 9", + "order": 67, "encounters": [ { "pokeapi_id": 531, @@ -3421,7 +3565,7 @@ }, { "name": "Unova Route 10", - "order": 67, + "order": 68, "encounters": [ { "pokeapi_id": 531, @@ -3531,12 +3675,12 @@ }, { "name": "Victory Road (Unova Black & White)", - "order": 68, + "order": 69, "encounters": [], "children": [ { "name": "Victory Road (Unova BW Outside)", - "order": 69, + "order": 70, "encounters": [ { "pokeapi_id": 631, @@ -3574,7 +3718,7 @@ }, { "name": "Victory Road (Unova BW 1F - Middle and Right Room)", - "order": 70, + "order": 71, "encounters": [ { "pokeapi_id": 10016, @@ -3684,52 +3828,6 @@ }, { "name": "Victory Road (Unova BW 1F - Left Room)", - "order": 71, - "encounters": [ - { - "pokeapi_id": 530, - "pokemon_name": "Excadrill", - "method": "walk", - "encounter_rate": 100, - "min_level": 37, - "max_level": 40 - }, - { - "pokeapi_id": 632, - "pokemon_name": "Durant", - "method": "walk", - "encounter_rate": 40, - "min_level": 37, - "max_level": 40 - }, - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 30, - "min_level": 37, - "max_level": 37 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 20, - "min_level": 37, - "max_level": 40 - }, - { - "pokeapi_id": 619, - "pokemon_name": "Mienfoo", - "method": "walk", - "encounter_rate": 10, - "min_level": 39, - "max_level": 39 - } - ] - }, - { - "name": "Victory Road (Unova BW 2F)", "order": 72, "encounters": [ { @@ -3775,7 +3873,7 @@ ] }, { - "name": "Victory Road (Unova BW 3F)", + "name": "Victory Road (Unova BW 2F)", "order": 73, "encounters": [ { @@ -3821,8 +3919,54 @@ ] }, { - "name": "Victory Road (Unova BW 4F - Middle Room)", + "name": "Victory Road (Unova BW 3F)", "order": 74, + "encounters": [ + { + "pokeapi_id": 530, + "pokemon_name": "Excadrill", + "method": "walk", + "encounter_rate": 100, + "min_level": 37, + "max_level": 40 + }, + { + "pokeapi_id": 632, + "pokemon_name": "Durant", + "method": "walk", + "encounter_rate": 40, + "min_level": 37, + "max_level": 40 + }, + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 30, + "min_level": 37, + "max_level": 37 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 20, + "min_level": 37, + "max_level": 40 + }, + { + "pokeapi_id": 619, + "pokemon_name": "Mienfoo", + "method": "walk", + "encounter_rate": 10, + "min_level": 39, + "max_level": 39 + } + ] + }, + { + "name": "Victory Road (Unova BW 4F - Middle Room)", + "order": 75, "encounters": [ { "pokeapi_id": 530, @@ -3868,52 +4012,6 @@ }, { "name": "Victory Road (Unova BW 4F - Left and Right Room)", - "order": 75, - "encounters": [ - { - "pokeapi_id": 530, - "pokemon_name": "Excadrill", - "method": "walk", - "encounter_rate": 100, - "min_level": 39, - "max_level": 42 - }, - { - "pokeapi_id": 632, - "pokemon_name": "Durant", - "method": "walk", - "encounter_rate": 40, - "min_level": 39, - "max_level": 42 - }, - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 30, - "min_level": 39, - "max_level": 39 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 20, - "min_level": 39, - "max_level": 42 - }, - { - "pokeapi_id": 619, - "pokemon_name": "Mienfoo", - "method": "walk", - "encounter_rate": 10, - "min_level": 41, - "max_level": 41 - } - ] - }, - { - "name": "Victory Road (Unova BW 5F)", "order": 76, "encounters": [ { @@ -3959,7 +4057,7 @@ ] }, { - "name": "Victory Road (Unova BW 6F)", + "name": "Victory Road (Unova BW 5F)", "order": 77, "encounters": [ { @@ -4005,7 +4103,7 @@ ] }, { - "name": "Victory Road (Unova BW 7F)", + "name": "Victory Road (Unova BW 6F)", "order": 78, "encounters": [ { @@ -4051,8 +4149,54 @@ ] }, { - "name": "Victory Road (Unova BW Trial Chamber)", + "name": "Victory Road (Unova BW 7F)", "order": 79, + "encounters": [ + { + "pokeapi_id": 530, + "pokemon_name": "Excadrill", + "method": "walk", + "encounter_rate": 100, + "min_level": 39, + "max_level": 42 + }, + { + "pokeapi_id": 632, + "pokemon_name": "Durant", + "method": "walk", + "encounter_rate": 40, + "min_level": 39, + "max_level": 42 + }, + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 30, + "min_level": 39, + "max_level": 39 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 20, + "min_level": 39, + "max_level": 42 + }, + { + "pokeapi_id": 619, + "pokemon_name": "Mienfoo", + "method": "walk", + "encounter_rate": 10, + "min_level": 41, + "max_level": 41 + } + ] + }, + { + "name": "Victory Road (Unova BW Trial Chamber)", + "order": 80, "encounters": [ { "pokeapi_id": 530, @@ -4108,7 +4252,7 @@ }, { "name": "N's Castle", - "order": 80, + "order": 81, "encounters": [ { "pokeapi_id": 644, @@ -4120,9 +4264,264 @@ } ] }, + { + "name": "Challenger's Cave", + "order": 82, + "encounters": [], + "children": [ + { + "name": "Challengers Cave (1F)", + "order": 83, + "encounters": [ + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 49 + }, + { + "pokeapi_id": 108, + "pokemon_name": "Lickitung", + "method": "walk", + "encounter_rate": 20, + "min_level": 49, + "max_level": 50 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 303, + "pokemon_name": "Mawile", + "method": "walk", + "encounter_rate": 10, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "walk", + "encounter_rate": 10, + "min_level": 49, + "max_level": 49 + } + ] + }, + { + "name": "Challengers Cave (B1F)", + "order": 84, + "encounters": [ + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 49 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 108, + "pokemon_name": "Lickitung", + "method": "walk", + "encounter_rate": 15, + "min_level": 49, + "max_level": 50 + }, + { + "pokeapi_id": 303, + "pokemon_name": "Mawile", + "method": "walk", + "encounter_rate": 10, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "walk", + "encounter_rate": 10, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 447, + "pokemon_name": "Riolu", + "method": "walk", + "encounter_rate": 5, + "min_level": 49, + "max_level": 50 + } + ] + }, + { + "name": "Challengers Cave (B2F)", + "order": 85, + "encounters": [ + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 75, + "pokemon_name": "Graveler", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 49 + }, + { + "pokeapi_id": 527, + "pokemon_name": "Woobat", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 108, + "pokemon_name": "Lickitung", + "method": "walk", + "encounter_rate": 15, + "min_level": 49, + "max_level": 50 + }, + { + "pokeapi_id": 303, + "pokemon_name": "Mawile", + "method": "walk", + "encounter_rate": 10, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 302, + "pokemon_name": "Sableye", + "method": "walk", + "encounter_rate": 10, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 447, + "pokemon_name": "Riolu", + "method": "walk", + "encounter_rate": 5, + "min_level": 49, + "max_level": 50 + } + ] + }, + { + "name": "Challengers Cave", + "order": 86, + "encounters": [ + { + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", + "method": "surf", + "encounter_rate": 100, + "min_level": 5, + "max_level": 55 + }, + { + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", + "method": "surf", + "encounter_rate": 100, + "min_level": 5, + "max_level": 70 + }, + { + "pokeapi_id": 530, + "pokemon_name": "Excadrill", + "method": "walk", + "encounter_rate": 100, + "min_level": 47, + "max_level": 50 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "fishing", + "encounter_rate": 75, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "fishing", + "encounter_rate": 60, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 62, + "pokemon_name": "Poliwrath", + "method": "fishing", + "encounter_rate": 5, + "min_level": 35, + "max_level": 60 + } + ] + } + ] + }, { "name": "Unova Route 11", - "order": 81, + "order": 87, "encounters": [ { "pokeapi_id": 118, @@ -4304,7 +4703,7 @@ }, { "name": "Village Bridge", - "order": 82, + "order": 88, "encounters": [ { "pokeapi_id": 10016, @@ -4430,7 +4829,7 @@ }, { "name": "Unova Route 12", - "order": 83, + "order": 89, "encounters": [ { "pokeapi_id": 531, @@ -4564,7 +4963,7 @@ }, { "name": "Unova Route 13", - "order": 84, + "order": 90, "encounters": [ { "pokeapi_id": 120, @@ -4744,9 +5143,488 @@ } ] }, + { + "name": "Giant Chasm", + "order": 91, + "encounters": [], + "children": [ + { + "name": "Giant Chasm (Entrance)", + "order": 92, + "encounters": [ + { + "pokeapi_id": 531, + "pokemon_name": "Audino", + "method": "walk", + "encounter_rate": 80, + "min_level": 47, + "max_level": 50 + }, + { + "pokeapi_id": 114, + "pokemon_name": "Tangela", + "method": "walk", + "encounter_rate": 50, + "min_level": 47, + "max_level": 59 + }, + { + "pokeapi_id": 277, + "pokemon_name": "Swellow", + "method": "walk", + "encounter_rate": 40, + "min_level": 47, + "max_level": 57 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 30, + "min_level": 48, + "max_level": 60 + }, + { + "pokeapi_id": 359, + "pokemon_name": "Absol", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 60 + }, + { + "pokeapi_id": 426, + "pokemon_name": "Drifblim", + "method": "walk", + "encounter_rate": 20, + "min_level": 49, + "max_level": 59 + }, + { + "pokeapi_id": 337, + "pokemon_name": "Lunatone", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 58 + }, + { + "pokeapi_id": 338, + "pokemon_name": "Solrock", + "method": "walk", + "encounter_rate": 20, + "min_level": 48, + "max_level": 58 + }, + { + "pokeapi_id": 587, + "pokemon_name": "Emolga", + "method": "walk", + "encounter_rate": 10, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 169, + "pokemon_name": "Crobat", + "method": "walk", + "encounter_rate": 5, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 465, + "pokemon_name": "Tangrowth", + "method": "walk", + "encounter_rate": 5, + "min_level": 50, + "max_level": 50 + } + ] + }, + { + "name": "Giant Chasm (Cave)", + "order": 93, + "encounters": [ + { + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", + "method": "surf", + "encounter_rate": 100, + "min_level": 25, + "max_level": 60 + }, + { + "pokeapi_id": 530, + "pokemon_name": "Excadrill", + "method": "walk", + "encounter_rate": 100, + "min_level": 47, + "max_level": 50 + }, + { + "pokeapi_id": 86, + "pokemon_name": "Seel", + "method": "surf", + "encounter_rate": 90, + "min_level": 25, + "max_level": 60 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "fishing", + "encounter_rate": 70, + "min_level": 35, + "max_level": 70 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "fishing", + "encounter_rate": 65, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 221, + "pokemon_name": "Piloswine", + "method": "walk", + "encounter_rate": 25, + "min_level": 47, + "max_level": 49 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 20, + "min_level": 47, + "max_level": 47 + }, + { + "pokeapi_id": 225, + "pokemon_name": "Delibird", + "method": "walk", + "encounter_rate": 10, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 87, + "pokemon_name": "Dewgong", + "method": "surf", + "encounter_rate": 10, + "min_level": 35, + "max_level": 70 + }, + { + "pokeapi_id": 124, + "pokemon_name": "Jynx", + "method": "walk", + "encounter_rate": 10, + "min_level": 48, + "max_level": 50 + }, + { + "pokeapi_id": 337, + "pokemon_name": "Lunatone", + "method": "walk", + "encounter_rate": 10, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 215, + "pokemon_name": "Sneasel", + "method": "walk", + "encounter_rate": 10, + "min_level": 48, + "max_level": 48 + }, + { + "pokeapi_id": 338, + "pokemon_name": "Solrock", + "method": "walk", + "encounter_rate": 10, + "min_level": 50, + "max_level": 50 + }, + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 5, + "min_level": 49, + "max_level": 49 + }, + { + "pokeapi_id": 62, + "pokemon_name": "Poliwrath", + "method": "fishing", + "encounter_rate": 5, + "min_level": 45, + "max_level": 70 + } + ] + }, + { + "name": "Giant Chasm (Crater forest)", + "order": 94, + "encounters": [ + { + "pokeapi_id": 531, + "pokemon_name": "Audino", + "method": "walk", + "encounter_rate": 85, + "min_level": 52, + "max_level": 55 + }, + { + "pokeapi_id": 35, + "pokemon_name": "Clefairy", + "method": "walk", + "encounter_rate": 60, + "min_level": 52, + "max_level": 64 + }, + { + "pokeapi_id": 221, + "pokemon_name": "Piloswine", + "method": "walk", + "encounter_rate": 50, + "min_level": 52, + "max_level": 64 + }, + { + "pokeapi_id": 132, + "pokemon_name": "Ditto", + "method": "walk", + "encounter_rate": 30, + "min_level": 53, + "max_level": 65 + }, + { + "pokeapi_id": 337, + "pokemon_name": "Lunatone", + "method": "walk", + "encounter_rate": 20, + "min_level": 55, + "max_level": 65 + }, + { + "pokeapi_id": 375, + "pokemon_name": "Metang", + "method": "walk", + "encounter_rate": 20, + "min_level": 53, + "max_level": 65 + }, + { + "pokeapi_id": 338, + "pokemon_name": "Solrock", + "method": "walk", + "encounter_rate": 20, + "min_level": 55, + "max_level": 65 + }, + { + "pokeapi_id": 36, + "pokemon_name": "Clefable", + "method": "walk", + "encounter_rate": 5, + "min_level": 55, + "max_level": 55 + }, + { + "pokeapi_id": 473, + "pokemon_name": "Mamoswine", + "method": "walk", + "encounter_rate": 5, + "min_level": 55, + "max_level": 55 + }, + { + "pokeapi_id": 376, + "pokemon_name": "Metagross", + "method": "walk", + "encounter_rate": 5, + "min_level": 55, + "max_level": 55 + } + ] + }, + { + "name": "Giant Chasm (Cave depths)", + "order": 95, + "encounters": [ + { + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", + "method": "surf", + "encounter_rate": 100, + "min_level": 25, + "max_level": 60 + }, + { + "pokeapi_id": 530, + "pokemon_name": "Excadrill", + "method": "walk", + "encounter_rate": 100, + "min_level": 57, + "max_level": 60 + }, + { + "pokeapi_id": 646, + "pokemon_name": "Kyurem", + "method": "static", + "encounter_rate": 100, + "min_level": 75, + "max_level": 75 + }, + { + "pokeapi_id": 86, + "pokemon_name": "Seel", + "method": "surf", + "encounter_rate": 90, + "min_level": 25, + "max_level": 60 + }, + { + "pokeapi_id": 61, + "pokemon_name": "Poliwhirl", + "method": "fishing", + "encounter_rate": 70, + "min_level": 35, + "max_level": 70 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "fishing", + "encounter_rate": 65, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 55 + }, + { + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", + "method": "fishing", + "encounter_rate": 30, + "min_level": 35, + "max_level": 60 + }, + { + "pokeapi_id": 221, + "pokemon_name": "Piloswine", + "method": "walk", + "encounter_rate": 25, + "min_level": 57, + "max_level": 59 + }, + { + "pokeapi_id": 42, + "pokemon_name": "Golbat", + "method": "walk", + "encounter_rate": 20, + "min_level": 57, + "max_level": 57 + }, + { + "pokeapi_id": 225, + "pokemon_name": "Delibird", + "method": "walk", + "encounter_rate": 10, + "min_level": 58, + "max_level": 58 + }, + { + "pokeapi_id": 87, + "pokemon_name": "Dewgong", + "method": "surf", + "encounter_rate": 10, + "min_level": 35, + "max_level": 70 + }, + { + "pokeapi_id": 124, + "pokemon_name": "Jynx", + "method": "walk", + "encounter_rate": 10, + "min_level": 58, + "max_level": 60 + }, + { + "pokeapi_id": 337, + "pokemon_name": "Lunatone", + "method": "walk", + "encounter_rate": 10, + "min_level": 60, + "max_level": 60 + }, + { + "pokeapi_id": 215, + "pokemon_name": "Sneasel", + "method": "walk", + "encounter_rate": 10, + "min_level": 58, + "max_level": 58 + }, + { + "pokeapi_id": 338, + "pokemon_name": "Solrock", + "method": "walk", + "encounter_rate": 10, + "min_level": 60, + "max_level": 60 + }, + { + "pokeapi_id": 525, + "pokemon_name": "Boldore", + "method": "walk", + "encounter_rate": 5, + "min_level": 59, + "max_level": 59 + }, + { + "pokeapi_id": 62, + "pokemon_name": "Poliwrath", + "method": "fishing", + "encounter_rate": 5, + "min_level": 45, + "max_level": 70 + } + ] + } + ] + }, { "name": "Undella Town", - "order": 85, + "order": 96, "encounters": [ { "pokeapi_id": 446, @@ -4848,7 +5726,7 @@ }, { "name": "Undella Bay", - "order": 86, + "order": 97, "encounters": [ { "pokeapi_id": 90, @@ -4966,7 +5844,7 @@ }, { "name": "Unova Route 14", - "order": 87, + "order": 98, "encounters": [ { "pokeapi_id": 118, @@ -5140,7 +6018,7 @@ }, { "name": "Abundant Shrine", - "order": 88, + "order": 99, "encounters": [ { "pokeapi_id": 118, @@ -5322,7 +6200,7 @@ }, { "name": "Unova Route 15", - "order": 89, + "order": 100, "encounters": [ { "pokeapi_id": 479, @@ -5440,7 +6318,7 @@ }, { "name": "Marvelous Bridge", - "order": 90, + "order": 101, "encounters": [ { "pokeapi_id": 129, @@ -5461,1098 +6339,222 @@ ] }, { - "name": "Challenger's Cave", - "order": 91, - "encounters": [], - "children": [ - { - "name": "Challengers Cave (1F)", - "order": 92, - "encounters": [ - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 49 - }, - { - "pokeapi_id": 108, - "pokemon_name": "Lickitung", - "method": "walk", - "encounter_rate": 20, - "min_level": 49, - "max_level": 50 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 303, - "pokemon_name": "Mawile", - "method": "walk", - "encounter_rate": 10, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "walk", - "encounter_rate": 10, - "min_level": 49, - "max_level": 49 - } - ] - }, - { - "name": "Challengers Cave (B1F)", - "order": 93, - "encounters": [ - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 49 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 108, - "pokemon_name": "Lickitung", - "method": "walk", - "encounter_rate": 15, - "min_level": 49, - "max_level": 50 - }, - { - "pokeapi_id": 303, - "pokemon_name": "Mawile", - "method": "walk", - "encounter_rate": 10, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "walk", - "encounter_rate": 10, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 447, - "pokemon_name": "Riolu", - "method": "walk", - "encounter_rate": 5, - "min_level": 49, - "max_level": 50 - } - ] - }, - { - "name": "Challengers Cave (B2F)", - "order": 94, - "encounters": [ - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 75, - "pokemon_name": "Graveler", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 49 - }, - { - "pokeapi_id": 527, - "pokemon_name": "Woobat", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 108, - "pokemon_name": "Lickitung", - "method": "walk", - "encounter_rate": 15, - "min_level": 49, - "max_level": 50 - }, - { - "pokeapi_id": 303, - "pokemon_name": "Mawile", - "method": "walk", - "encounter_rate": 10, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 302, - "pokemon_name": "Sableye", - "method": "walk", - "encounter_rate": 10, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 447, - "pokemon_name": "Riolu", - "method": "walk", - "encounter_rate": 5, - "min_level": 49, - "max_level": 50 - } - ] - }, - { - "name": "Challengers Cave", - "order": 95, - "encounters": [ - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 55 - }, - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 70 - }, - { - "pokeapi_id": 530, - "pokemon_name": "Excadrill", - "method": "walk", - "encounter_rate": 100, - "min_level": 47, - "max_level": 50 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "fishing", - "encounter_rate": 75, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "fishing", - "encounter_rate": 60, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "fishing", - "encounter_rate": 30, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "fishing", - "encounter_rate": 30, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 62, - "pokemon_name": "Poliwrath", - "method": "fishing", - "encounter_rate": 5, - "min_level": 35, - "max_level": 60 - } - ] - } - ] - }, - { - "name": "Unova Route 17", - "order": 96, + "name": "Unova Route 16", + "order": 102, "encounters": [ - { - "pokeapi_id": 592, - "pokemon_name": "Frillish", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 594, - "pokemon_name": "Alomomola", - "method": "surf", - "encounter_rate": 95, - "min_level": 5, - "max_level": 20 - }, - { - "pokeapi_id": 456, - "pokemon_name": "Finneon", - "method": "fishing", - "encounter_rate": 65, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 117, - "pokemon_name": "Seadra", - "method": "fishing", - "encounter_rate": 60, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "fishing", - "encounter_rate": 35, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 211, - "pokemon_name": "Qwilfish", - "method": "fishing", - "encounter_rate": 30, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 593, - "pokemon_name": "Jellicent", - "method": "surf", - "encounter_rate": 5, - "min_level": 5, - "max_level": 20 - }, - { - "pokeapi_id": 230, - "pokemon_name": "Kingdra", - "method": "fishing", - "encounter_rate": 5, - "min_level": 45, - "max_level": 70 - }, - { - "pokeapi_id": 457, - "pokemon_name": "Lumineon", - "method": "fishing", - "encounter_rate": 5, - "min_level": 35, - "max_level": 70 - } - ] - }, - { - "name": "Unova Route 18", - "order": 97, - "encounters": [ - { - "pokeapi_id": 170, - "pokemon_name": "Chinchou", - "method": "fishing", - "encounter_rate": 100, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 592, - "pokemon_name": "Frillish", - "method": "surf", - "encounter_rate": 100, - "min_level": 5, - "max_level": 15 - }, - { - "pokeapi_id": 636, - "pokemon_name": "Larvesta", - "method": "gift", - "encounter_rate": 100, - "min_level": 1, - "max_level": 1 - }, - { - "pokeapi_id": 594, - "pokemon_name": "Alomomola", - "method": "surf", - "encounter_rate": 95, - "min_level": 5, - "max_level": 20 - }, { "pokeapi_id": 531, "pokemon_name": "Audino", "method": "walk", - "encounter_rate": 95, - "min_level": 28, - "max_level": 31 + "encounter_rate": 85, + "min_level": 19, + "max_level": 22 }, { - "pokeapi_id": 559, - "pokemon_name": "Scraggy", + "pokeapi_id": 572, + "pokemon_name": "Minccino", "method": "walk", - "encounter_rate": 80, - "min_level": 28, - "max_level": 35 - }, - { - "pokeapi_id": 456, - "pokemon_name": "Finneon", - "method": "fishing", - "encounter_rate": 64, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 117, - "pokemon_name": "Seadra", - "method": "fishing", "encounter_rate": 60, - "min_level": 35, - "max_level": 60 + "min_level": 19, + "max_level": 25 }, { - "pokeapi_id": 102, - "pokemon_name": "Exeggcute", + "pokeapi_id": 577, + "pokemon_name": "Solosis", + "method": "walk", + "encounter_rate": 60, + "min_level": 19, + "max_level": 25 + }, + { + "pokeapi_id": 510, + "pokemon_name": "Liepard", + "method": "walk", + "encounter_rate": 40, + "min_level": 20, + "max_level": 23 + }, + { + "pokeapi_id": 204, + "pokemon_name": "Pineco", "method": "walk", "encounter_rate": 40, "min_level": 15, "max_level": 55 }, { - "pokeapi_id": 505, - "pokemon_name": "Watchog", + "pokeapi_id": 568, + "pokemon_name": "Trubbish", "method": "walk", "encounter_rate": 40, - "min_level": 28, - "max_level": 32 + "min_level": 19, + "max_level": 22 }, { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "fishing", - "encounter_rate": 35, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 558, - "pokemon_name": "Crustle", + "pokeapi_id": 587, + "pokemon_name": "Emolga", "method": "walk", - "encounter_rate": 30, - "min_level": 34, - "max_level": 35 - }, - { - "pokeapi_id": 557, - "pokemon_name": "Dwebble", - "method": "walk", - "encounter_rate": 30, - "min_level": 30, - "max_level": 31 - }, - { - "pokeapi_id": 211, - "pokemon_name": "Qwilfish", - "method": "fishing", - "encounter_rate": 30, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 538, - "pokemon_name": "Throh", - "method": "walk", - "encounter_rate": 20, - "min_level": 29, - "max_level": 33 - }, - { - "pokeapi_id": 593, - "pokemon_name": "Jellicent", - "method": "surf", - "encounter_rate": 5, - "min_level": 5, + "encounter_rate": 10, + "min_level": 20, "max_level": 20 }, { - "pokeapi_id": 230, - "pokemon_name": "Kingdra", - "method": "fishing", - "encounter_rate": 5, - "min_level": 45, - "max_level": 70 - }, - { - "pokeapi_id": 457, - "pokemon_name": "Lumineon", - "method": "fishing", - "encounter_rate": 5, - "min_level": 35, - "max_level": 70 - }, - { - "pokeapi_id": 539, - "pokemon_name": "Sawk", + "pokeapi_id": 573, + "pokemon_name": "Cinccino", "method": "walk", "encounter_rate": 5, - "min_level": 31, - "max_level": 31 + "min_level": 22, + "max_level": 22 } ] }, { - "name": "P2 Laboratory", - "order": 98, + "name": "Lostlorn Forest", + "order": 103, "encounters": [ { - "pokeapi_id": 592, - "pokemon_name": "Frillish", + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", "method": "surf", "encounter_rate": 100, "min_level": 5, - "max_level": 15 + "max_level": 20 }, { - "pokeapi_id": 594, - "pokemon_name": "Alomomola", + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", "method": "surf", - "encounter_rate": 95, + "encounter_rate": 100, "min_level": 5, "max_level": 20 }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "fishing", + "encounter_rate": 100, + "min_level": 35, + "max_level": 70 + }, + { + "pokeapi_id": 571, + "pokemon_name": "Zoroark", + "method": "static", + "encounter_rate": 100, + "min_level": 25, + "max_level": 25 + }, + { + "pokeapi_id": 548, + "pokemon_name": "Petilil", + "method": "walk", + "encounter_rate": 70, + "min_level": 19, + "max_level": 25 + }, + { + "pokeapi_id": 541, + "pokemon_name": "Swadloon", + "method": "walk", + "encounter_rate": 70, + "min_level": 20, + "max_level": 25 + }, { "pokeapi_id": 531, "pokemon_name": "Audino", "method": "walk", - "encounter_rate": 95, - "min_level": 28, - "max_level": 31 + "encounter_rate": 45, + "min_level": 19, + "max_level": 21 }, { - "pokeapi_id": 456, - "pokemon_name": "Finneon", + "pokeapi_id": 10016, + "pokemon_name": "Basculin (Blue Striped)", "method": "fishing", - "encounter_rate": 65, + "encounter_rate": 40, "min_level": 35, "max_level": 55 }, { - "pokeapi_id": 117, - "pokemon_name": "Seadra", + "pokeapi_id": 550, + "pokemon_name": "Basculin Red Striped", "method": "fishing", - "encounter_rate": 60, + "encounter_rate": 40, "min_level": 35, "max_level": 60 }, { - "pokeapi_id": 507, - "pokemon_name": "Herdier", + "pokeapi_id": 520, + "pokemon_name": "Tranquill", "method": "walk", - "encounter_rate": 36, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 505, - "pokemon_name": "Watchog", - "method": "walk", - "encounter_rate": 36, - "min_level": 28, - "max_level": 31 - }, - { - "pokeapi_id": 116, - "pokemon_name": "Horsea", - "method": "fishing", - "encounter_rate": 35, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 211, - "pokemon_name": "Qwilfish", - "method": "fishing", "encounter_rate": 30, - "min_level": 35, - "max_level": 60 + "min_level": 21, + "max_level": 25 }, { - "pokeapi_id": 599, - "pokemon_name": "Klink", + "pokeapi_id": 543, + "pokemon_name": "Venipede", "method": "walk", - "encounter_rate": 14, - "min_level": 29, - "max_level": 31 + "encounter_rate": 30, + "min_level": 20, + "max_level": 24 }, { - "pokeapi_id": 559, - "pokemon_name": "Scraggy", + "pokeapi_id": 587, + "pokemon_name": "Emolga", "method": "walk", - "encounter_rate": 14, - "min_level": 29, - "max_level": 31 - }, - { - "pokeapi_id": 593, - "pokemon_name": "Jellicent", - "method": "surf", - "encounter_rate": 5, - "min_level": 5, + "encounter_rate": 10, + "min_level": 20, "max_level": 20 }, { - "pokeapi_id": 230, - "pokemon_name": "Kingdra", - "method": "fishing", - "encounter_rate": 5, - "min_level": 45, - "max_level": 70 + "pokeapi_id": 515, + "pokemon_name": "Panpour", + "method": "walk", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 }, { - "pokeapi_id": 457, - "pokemon_name": "Lumineon", - "method": "fishing", - "encounter_rate": 5, - "min_level": 35, - "max_level": 70 + "pokeapi_id": 511, + "pokemon_name": "Pansage", + "method": "walk", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 }, { - "pokeapi_id": 508, - "pokemon_name": "Stoutland", + "pokeapi_id": 513, + "pokemon_name": "Pansear", + "method": "walk", + "encounter_rate": 10, + "min_level": 20, + "max_level": 20 + }, + { + "pokeapi_id": 542, + "pokemon_name": "Leavanny", "method": "walk", "encounter_rate": 5, - "min_level": 31, - "max_level": 31 - } - ] - }, - { - "name": "Giant Chasm", - "order": 99, - "encounters": [], - "children": [ - { - "name": "Giant Chasm (Entrance)", - "order": 100, - "encounters": [ - { - "pokeapi_id": 531, - "pokemon_name": "Audino", - "method": "walk", - "encounter_rate": 80, - "min_level": 47, - "max_level": 50 - }, - { - "pokeapi_id": 114, - "pokemon_name": "Tangela", - "method": "walk", - "encounter_rate": 50, - "min_level": 47, - "max_level": 59 - }, - { - "pokeapi_id": 277, - "pokemon_name": "Swellow", - "method": "walk", - "encounter_rate": 40, - "min_level": 47, - "max_level": 57 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 30, - "min_level": 48, - "max_level": 60 - }, - { - "pokeapi_id": 359, - "pokemon_name": "Absol", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 60 - }, - { - "pokeapi_id": 426, - "pokemon_name": "Drifblim", - "method": "walk", - "encounter_rate": 20, - "min_level": 49, - "max_level": 59 - }, - { - "pokeapi_id": 337, - "pokemon_name": "Lunatone", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 58 - }, - { - "pokeapi_id": 338, - "pokemon_name": "Solrock", - "method": "walk", - "encounter_rate": 20, - "min_level": 48, - "max_level": 58 - }, - { - "pokeapi_id": 587, - "pokemon_name": "Emolga", - "method": "walk", - "encounter_rate": 10, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 169, - "pokemon_name": "Crobat", - "method": "walk", - "encounter_rate": 5, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 465, - "pokemon_name": "Tangrowth", - "method": "walk", - "encounter_rate": 5, - "min_level": 50, - "max_level": 50 - } - ] + "min_level": 22, + "max_level": 22 }, { - "name": "Giant Chasm (Cave)", - "order": 101, - "encounters": [ - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "surf", - "encounter_rate": 100, - "min_level": 25, - "max_level": 60 - }, - { - "pokeapi_id": 530, - "pokemon_name": "Excadrill", - "method": "walk", - "encounter_rate": 100, - "min_level": 47, - "max_level": 50 - }, - { - "pokeapi_id": 86, - "pokemon_name": "Seel", - "method": "surf", - "encounter_rate": 90, - "min_level": 25, - "max_level": 60 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "fishing", - "encounter_rate": 70, - "min_level": 35, - "max_level": 70 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "fishing", - "encounter_rate": 65, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "fishing", - "encounter_rate": 30, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "fishing", - "encounter_rate": 30, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 221, - "pokemon_name": "Piloswine", - "method": "walk", - "encounter_rate": 25, - "min_level": 47, - "max_level": 49 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 20, - "min_level": 47, - "max_level": 47 - }, - { - "pokeapi_id": 225, - "pokemon_name": "Delibird", - "method": "walk", - "encounter_rate": 10, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 87, - "pokemon_name": "Dewgong", - "method": "surf", - "encounter_rate": 10, - "min_level": 35, - "max_level": 70 - }, - { - "pokeapi_id": 124, - "pokemon_name": "Jynx", - "method": "walk", - "encounter_rate": 10, - "min_level": 48, - "max_level": 50 - }, - { - "pokeapi_id": 337, - "pokemon_name": "Lunatone", - "method": "walk", - "encounter_rate": 10, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 215, - "pokemon_name": "Sneasel", - "method": "walk", - "encounter_rate": 10, - "min_level": 48, - "max_level": 48 - }, - { - "pokeapi_id": 338, - "pokemon_name": "Solrock", - "method": "walk", - "encounter_rate": 10, - "min_level": 50, - "max_level": 50 - }, - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 5, - "min_level": 49, - "max_level": 49 - }, - { - "pokeapi_id": 62, - "pokemon_name": "Poliwrath", - "method": "fishing", - "encounter_rate": 5, - "min_level": 45, - "max_level": 70 - } - ] + "pokeapi_id": 549, + "pokemon_name": "Lilligant", + "method": "walk", + "encounter_rate": 5, + "min_level": 22, + "max_level": 22 }, { - "name": "Giant Chasm (Crater forest)", - "order": 102, - "encounters": [ - { - "pokeapi_id": 531, - "pokemon_name": "Audino", - "method": "walk", - "encounter_rate": 85, - "min_level": 52, - "max_level": 55 - }, - { - "pokeapi_id": 35, - "pokemon_name": "Clefairy", - "method": "walk", - "encounter_rate": 60, - "min_level": 52, - "max_level": 64 - }, - { - "pokeapi_id": 221, - "pokemon_name": "Piloswine", - "method": "walk", - "encounter_rate": 50, - "min_level": 52, - "max_level": 64 - }, - { - "pokeapi_id": 132, - "pokemon_name": "Ditto", - "method": "walk", - "encounter_rate": 30, - "min_level": 53, - "max_level": 65 - }, - { - "pokeapi_id": 337, - "pokemon_name": "Lunatone", - "method": "walk", - "encounter_rate": 20, - "min_level": 55, - "max_level": 65 - }, - { - "pokeapi_id": 375, - "pokemon_name": "Metang", - "method": "walk", - "encounter_rate": 20, - "min_level": 53, - "max_level": 65 - }, - { - "pokeapi_id": 338, - "pokemon_name": "Solrock", - "method": "walk", - "encounter_rate": 20, - "min_level": 55, - "max_level": 65 - }, - { - "pokeapi_id": 36, - "pokemon_name": "Clefable", - "method": "walk", - "encounter_rate": 5, - "min_level": 55, - "max_level": 55 - }, - { - "pokeapi_id": 473, - "pokemon_name": "Mamoswine", - "method": "walk", - "encounter_rate": 5, - "min_level": 55, - "max_level": 55 - }, - { - "pokeapi_id": 376, - "pokemon_name": "Metagross", - "method": "walk", - "encounter_rate": 5, - "min_level": 55, - "max_level": 55 - } - ] - }, - { - "name": "Giant Chasm (Cave depths)", - "order": 103, - "encounters": [ - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "surf", - "encounter_rate": 100, - "min_level": 25, - "max_level": 60 - }, - { - "pokeapi_id": 530, - "pokemon_name": "Excadrill", - "method": "walk", - "encounter_rate": 100, - "min_level": 57, - "max_level": 60 - }, - { - "pokeapi_id": 646, - "pokemon_name": "Kyurem", - "method": "static", - "encounter_rate": 100, - "min_level": 75, - "max_level": 75 - }, - { - "pokeapi_id": 86, - "pokemon_name": "Seel", - "method": "surf", - "encounter_rate": 90, - "min_level": 25, - "max_level": 60 - }, - { - "pokeapi_id": 61, - "pokemon_name": "Poliwhirl", - "method": "fishing", - "encounter_rate": 70, - "min_level": 35, - "max_level": 70 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "fishing", - "encounter_rate": 65, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 10016, - "pokemon_name": "Basculin (Blue Striped)", - "method": "fishing", - "encounter_rate": 30, - "min_level": 35, - "max_level": 55 - }, - { - "pokeapi_id": 550, - "pokemon_name": "Basculin Red Striped", - "method": "fishing", - "encounter_rate": 30, - "min_level": 35, - "max_level": 60 - }, - { - "pokeapi_id": 221, - "pokemon_name": "Piloswine", - "method": "walk", - "encounter_rate": 25, - "min_level": 57, - "max_level": 59 - }, - { - "pokeapi_id": 42, - "pokemon_name": "Golbat", - "method": "walk", - "encounter_rate": 20, - "min_level": 57, - "max_level": 57 - }, - { - "pokeapi_id": 225, - "pokemon_name": "Delibird", - "method": "walk", - "encounter_rate": 10, - "min_level": 58, - "max_level": 58 - }, - { - "pokeapi_id": 87, - "pokemon_name": "Dewgong", - "method": "surf", - "encounter_rate": 10, - "min_level": 35, - "max_level": 70 - }, - { - "pokeapi_id": 124, - "pokemon_name": "Jynx", - "method": "walk", - "encounter_rate": 10, - "min_level": 58, - "max_level": 60 - }, - { - "pokeapi_id": 337, - "pokemon_name": "Lunatone", - "method": "walk", - "encounter_rate": 10, - "min_level": 60, - "max_level": 60 - }, - { - "pokeapi_id": 215, - "pokemon_name": "Sneasel", - "method": "walk", - "encounter_rate": 10, - "min_level": 58, - "max_level": 58 - }, - { - "pokeapi_id": 338, - "pokemon_name": "Solrock", - "method": "walk", - "encounter_rate": 10, - "min_level": 60, - "max_level": 60 - }, - { - "pokeapi_id": 525, - "pokemon_name": "Boldore", - "method": "walk", - "encounter_rate": 5, - "min_level": 59, - "max_level": 59 - }, - { - "pokeapi_id": 62, - "pokemon_name": "Poliwrath", - "method": "fishing", - "encounter_rate": 5, - "min_level": 45, - "max_level": 70 - } - ] + "pokeapi_id": 521, + "pokemon_name": "Unfezant", + "method": "walk", + "encounter_rate": 5, + "min_level": 22, + "max_level": 22 } ] }, diff --git a/backend/src/app/seeds/data/x-bosses.json b/backend/src/app/seeds/data/x-bosses.json index a1d0f9b..5197fcf 100644 --- a/backend/src/app/seeds/data/x-bosses.json +++ b/backend/src/app/seeds/data/x-bosses.json @@ -63,7 +63,7 @@ "badge_image_url": "/badges/voltage-badge.png", "level_cap": 37, "order": 5, - "after_route_name": "Lumiose City", + "after_route_name": "Kalos Route 13", "location": "Lumiose Gym", "section": "Main Story", "sprite_url": "/boss-sprites/x/clemont.png", @@ -91,7 +91,7 @@ "badge_image_url": "/badges/psychic-badge.png", "level_cap": 44, "order": 7, - "after_route_name": null, + "after_route_name": "Kalos Route 17", "location": "Anistar Gym", "section": "Main Story", "sprite_url": "/boss-sprites/x/olympia.png", @@ -119,7 +119,7 @@ "badge_image_url": null, "level_cap": 63, "order": 9, - "after_route_name": null, + "after_route_name": "Victory Road (Kalos)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/x/malva.png", @@ -133,7 +133,7 @@ "badge_image_url": null, "level_cap": 63, "order": 10, - "after_route_name": null, + "after_route_name": "Victory Road (Kalos)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/x/siebold.png", @@ -147,7 +147,7 @@ "badge_image_url": null, "level_cap": 63, "order": 11, - "after_route_name": null, + "after_route_name": "Victory Road (Kalos)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/x/wikstrom.png", @@ -161,7 +161,7 @@ "badge_image_url": null, "level_cap": 63, "order": 12, - "after_route_name": null, + "after_route_name": "Victory Road (Kalos)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/x/drasna.png", @@ -175,7 +175,7 @@ "badge_image_url": null, "level_cap": 68, "order": 13, - "after_route_name": null, + "after_route_name": "Victory Road (Kalos)", "location": "Pokemon League", "section": "Main Story", "sprite_url": "/boss-sprites/x/diantha.png", diff --git a/backend/src/app/seeds/data/x.json b/backend/src/app/seeds/data/x.json index c99dc0d..5140bf6 100644 --- a/backend/src/app/seeds/data/x.json +++ b/backend/src/app/seeds/data/x.json @@ -1,58 +1,4 @@ [ - { - "name": "Vaniville Town", - "order": 1, - "encounters": [ - { - "pokeapi_id": 650, - "pokemon_name": "Chespin", - "method": "trade", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 653, - "pokemon_name": "Fennekin", - "method": "trade", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 656, - "pokemon_name": "Froakie", - "method": "trade", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 650, - "pokemon_name": "Chespin", - "method": "starter", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 653, - "pokemon_name": "Fennekin", - "method": "starter", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 656, - "pokemon_name": "Froakie", - "method": "starter", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - } - ] - }, { "name": "Aquacorde Town", "order": 2, @@ -60,7 +6,7 @@ { "pokeapi_id": 650, "pokemon_name": "Chespin", - "method": "gift", + "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5 @@ -68,7 +14,7 @@ { "pokeapi_id": 653, "pokemon_name": "Fennekin", - "method": "gift", + "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5 @@ -76,7 +22,7 @@ { "pokeapi_id": 656, "pokemon_name": "Froakie", - "method": "gift", + "method": "starter", "encounter_rate": 100, "min_level": 5, "max_level": 5 @@ -584,7 +530,7 @@ ] }, { - "name": "South Boulevard", + "name": "Lumiose City", "order": 9, "encounters": [ { @@ -2398,44 +2344,6 @@ } ] }, - { - "name": "Lumiose City", - "order": 38, - "encounters": [ - { - "pokeapi_id": 1, - "pokemon_name": "Bulbasaur", - "method": "gift", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 4, - "pokemon_name": "Charmander", - "method": "gift", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 280, - "pokemon_name": "Ralts", - "method": "trade", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 7, - "pokemon_name": "Squirtle", - "method": "gift", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - } - ] - }, { "name": "Kalos Route 14", "order": 39, @@ -3812,8 +3720,22 @@ ] }, { - "name": "Kalos Route 20", + "name": "Snowbelle City", "order": 57, + "encounters": [ + { + "pokeapi_id": 625, + "pokemon_name": "Bisharp", + "method": "trade", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + } + ] + }, + { + "name": "Kalos Route 20", + "order": 58, "encounters": [ { "pokeapi_id": 709, @@ -3883,7 +3805,7 @@ }, { "name": "Pok\u00e9mon Village", - "order": 58, + "order": 59, "encounters": [ { "pokeapi_id": 354, @@ -4031,20 +3953,6 @@ } ] }, - { - "name": "Snowbelle City", - "order": 59, - "encounters": [ - { - "pokeapi_id": 625, - "pokemon_name": "Bisharp", - "method": "trade", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - } - ] - }, { "name": "Kalos Route 21", "order": 60, diff --git a/backend/src/app/seeds/data/y.json b/backend/src/app/seeds/data/y.json index 219f4f5..be1d89d 100644 --- a/backend/src/app/seeds/data/y.json +++ b/backend/src/app/seeds/data/y.json @@ -1,58 +1,4 @@ [ - { - "name": "Vaniville Town", - "order": 1, - "encounters": [ - { - "pokeapi_id": 650, - "pokemon_name": "Chespin", - "method": "trade", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 653, - "pokemon_name": "Fennekin", - "method": "trade", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 656, - "pokemon_name": "Froakie", - "method": "trade", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 650, - "pokemon_name": "Chespin", - "method": "starter", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 653, - "pokemon_name": "Fennekin", - "method": "starter", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 656, - "pokemon_name": "Froakie", - "method": "starter", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - } - ] - }, { "name": "Aquacorde Town", "order": 2, @@ -584,7 +530,7 @@ ] }, { - "name": "South Boulevard", + "name": "Lumiose City", "order": 9, "encounters": [ { @@ -2398,44 +2344,6 @@ } ] }, - { - "name": "Lumiose City", - "order": 38, - "encounters": [ - { - "pokeapi_id": 1, - "pokemon_name": "Bulbasaur", - "method": "gift", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 4, - "pokemon_name": "Charmander", - "method": "gift", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 280, - "pokemon_name": "Ralts", - "method": "trade", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 7, - "pokemon_name": "Squirtle", - "method": "gift", - "encounter_rate": 100, - "min_level": 10, - "max_level": 10 - } - ] - }, { "name": "Kalos Route 14", "order": 39, @@ -3804,8 +3712,22 @@ ] }, { - "name": "Kalos Route 20", + "name": "Snowbelle City", "order": 57, + "encounters": [ + { + "pokeapi_id": 625, + "pokemon_name": "Bisharp", + "method": "trade", + "encounter_rate": 100, + "min_level": 50, + "max_level": 50 + } + ] + }, + { + "name": "Kalos Route 20", + "order": 58, "encounters": [ { "pokeapi_id": 709, @@ -3875,7 +3797,7 @@ }, { "name": "Pok\u00e9mon Village", - "order": 58, + "order": 59, "encounters": [ { "pokeapi_id": 354, @@ -4023,20 +3945,6 @@ } ] }, - { - "name": "Snowbelle City", - "order": 59, - "encounters": [ - { - "pokeapi_id": 625, - "pokemon_name": "Bisharp", - "method": "trade", - "encounter_rate": 100, - "min_level": 50, - "max_level": 50 - } - ] - }, { "name": "Kalos Route 21", "order": 60, diff --git a/backend/src/app/seeds/data/yellow-bosses.json b/backend/src/app/seeds/data/yellow-bosses.json index 48402dc..7fc2295 100644 --- a/backend/src/app/seeds/data/yellow-bosses.json +++ b/backend/src/app/seeds/data/yellow-bosses.json @@ -119,7 +119,7 @@ "badge_image_url": null, "level_cap": 56, "order": 9, - "after_route_name": "Victory Road (Kanto)", + "after_route_name": "Indigo Plateau", "location": "Indigo Plateau", "section": null, "sprite_url": "/boss-sprites/yellow/lorelei.png", @@ -133,7 +133,7 @@ "badge_image_url": null, "level_cap": 58, "order": 10, - "after_route_name": "Victory Road (Kanto)", + "after_route_name": "Indigo Plateau", "location": "Indigo Plateau", "section": null, "sprite_url": "/boss-sprites/yellow/bruno.png", @@ -147,7 +147,7 @@ "badge_image_url": null, "level_cap": 60, "order": 11, - "after_route_name": "Victory Road (Kanto)", + "after_route_name": "Indigo Plateau", "location": "Indigo Plateau", "section": null, "sprite_url": "/boss-sprites/yellow/agatha.png", @@ -161,7 +161,7 @@ "badge_image_url": null, "level_cap": 62, "order": 12, - "after_route_name": "Victory Road (Kanto)", + "after_route_name": "Indigo Plateau", "location": "Indigo Plateau", "section": null, "sprite_url": "/boss-sprites/yellow/lance.png", @@ -175,7 +175,7 @@ "badge_image_url": null, "level_cap": 65, "order": 13, - "after_route_name": "Victory Road (Kanto)", + "after_route_name": "Indigo Plateau", "location": "Indigo Plateau", "section": null, "sprite_url": "/boss-sprites/yellow/blue.png", diff --git a/backend/src/app/seeds/data/yellow.json b/backend/src/app/seeds/data/yellow.json index 6d61810..8782fee 100644 --- a/backend/src/app/seeds/data/yellow.json +++ b/backend/src/app/seeds/data/yellow.json @@ -4075,13 +4075,43 @@ ] }, { - "name": "Cerulean Cave", + "name": "Indigo Plateau", "order": 75, + "encounters": [ + { + "pokeapi_id": 129, + "pokemon_name": "Magikarp", + "method": "old-rod", + "encounter_rate": 100, + "min_level": 5, + "max_level": 5 + }, + { + "pokeapi_id": 118, + "pokemon_name": "Goldeen", + "method": "good-rod", + "encounter_rate": 50, + "min_level": 10, + "max_level": 10 + }, + { + "pokeapi_id": 60, + "pokemon_name": "Poliwag", + "method": "good-rod", + "encounter_rate": 50, + "min_level": 10, + "max_level": 10 + } + ] + }, + { + "name": "Cerulean Cave", + "order": 76, "encounters": [], "children": [ { "name": "Cerulean Cave (1F)", - "order": 76, + "order": 77, "encounters": [ { "pokeapi_id": 129, @@ -4191,7 +4221,7 @@ }, { "name": "Cerulean Cave (2F)", - "order": 77, + "order": 78, "encounters": [ { "pokeapi_id": 129, @@ -4317,7 +4347,7 @@ }, { "name": "Cerulean Cave (B1F)", - "order": 78, + "order": 79, "encounters": [ { "pokeapi_id": 150, @@ -4330,35 +4360,5 @@ ] } ] - }, - { - "name": "Indigo Plateau", - "order": 79, - "encounters": [ - { - "pokeapi_id": 129, - "pokemon_name": "Magikarp", - "method": "old-rod", - "encounter_rate": 100, - "min_level": 5, - "max_level": 5 - }, - { - "pokeapi_id": 118, - "pokemon_name": "Goldeen", - "method": "good-rod", - "encounter_rate": 50, - "min_level": 10, - "max_level": 10 - }, - { - "pokeapi_id": 60, - "pokemon_name": "Poliwag", - "method": "good-rod", - "encounter_rate": 50, - "min_level": 10, - "max_level": 10 - } - ] } ] diff --git a/frontend/public/boss-sprites/black/alder.png b/frontend/public/boss-sprites/black/alder.png new file mode 100644 index 0000000000000000000000000000000000000000..d61958c1334f3f4128d541465ecd11e920b0a543 GIT binary patch literal 2790 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 literal 0 HcmV?d00001 diff --git a/frontend/public/boss-sprites/diamond/roark.png b/frontend/public/boss-sprites/diamond/roark.png index 2c92fccbf57ec01dd332595ddac8f4bf87c453af..93fc56c7fa50924f9173d856d1d097ee055699bd 100644 GIT binary patch literal 1001 zcmV)vFbqXyt_H~`|Nplm z$qd}q->7vF7&wB=s)l;fdB!x4G3!5wrLu|JwR%ju4|0g9wWa54vhnq zNJK4afMC0{?ykuj$MKMO21K%(VJtJ{r8Krw3fn-(BkA?^V(uQ99zF1+*vM!5l~L4*Uf^u>JT1DDWEI)mr@B1gu(yW`y#^i*;;h@vBcgq4rKhU`y4Yk=Iw_q_f|_NQ0SA(E~=2XxLH@10A;CaGg(fbTRmNO zS<(y8$LveFpdcwZA(W}^{WMjLuNRHBcIW>bOpG)E5zZy<`-OE{`~ZHz@NOj|0loz X2}W4qpz#2o00000NkvXXu0mjf_$0$& literal 3969 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 Date: Sat, 14 Feb 2026 16:30:18 +0100 Subject: [PATCH 08/22] Update bean --- ...vww--fine-tune-route-ordering-and-boss-configuration-fo.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.beans/nuzlocke-tracker-qvww--fine-tune-route-ordering-and-boss-configuration-fo.md b/.beans/nuzlocke-tracker-qvww--fine-tune-route-ordering-and-boss-configuration-fo.md index 3890e83..2e52628 100644 --- a/.beans/nuzlocke-tracker-qvww--fine-tune-route-ordering-and-boss-configuration-fo.md +++ b/.beans/nuzlocke-tracker-qvww--fine-tune-route-ordering-and-boss-configuration-fo.md @@ -41,8 +41,8 @@ Going through all game data version group by version group to fine-tune: - [X] ~~*omega-ruby-alpha-sapphire*~~ [2026-02-14] ### Generation 7 (Alola/Kanto) -- [ ] sun-moon -- [ ] ultra-sun-ultra-moon +- [X] ~~*sun-moon*~~ [2026-02-14] +- [X] ~~*ultra-sun-ultra-moon*~~ [2026-02-14] - [ ] lets-go ### Generation 8 (Galar/Sinnoh/Hisui) -- 2.49.1 From 2963f16aa470cefd8fd0d462b569afde9d48beb2 Mon Sep 17 00:00:00 2001 From: Julian Tabel Date: Sat, 14 Feb 2026 16:41:24 +0100 Subject: [PATCH 09/22] Add pre-commit hooks for linting and formatting Set up pre-commit framework with ruff (backend) and ESLint/Prettier/tsc (frontend) hooks to catch issues locally before CI. Auto-format all frontend files with Prettier to comply with the new check. Co-Authored-By: Claude Opus 4.6 --- ...-implement-pre-commit-hooks-for-linting.md | 11 + .github/workflows/ci.yml | 3 + .pre-commit-config.yaml | 34 ++ CLAUDE.md | 12 + backend/pyproject.toml | 1 + frontend/src/App.tsx | 26 +- frontend/src/api/admin.ts | 75 ++- frontend/src/api/bosses.ts | 21 +- frontend/src/api/client.ts | 8 +- frontend/src/api/encounters.ts | 13 +- frontend/src/api/games.ts | 5 +- frontend/src/api/genlockes.ts | 28 +- frontend/src/api/pokemon.ts | 8 +- frontend/src/api/runs.ts | 8 +- frontend/src/components/BossDefeatModal.tsx | 38 +- frontend/src/components/EggEncounterModal.tsx | 22 +- .../src/components/EncounterMethodBadge.tsx | 12 +- frontend/src/components/EncounterModal.tsx | 110 ++-- frontend/src/components/EndRunModal.tsx | 7 +- frontend/src/components/GameGrid.tsx | 36 +- frontend/src/components/GenlockeGraveyard.tsx | 7 +- frontend/src/components/GenlockeLineage.tsx | 43 +- frontend/src/components/HofTeamModal.tsx | 7 +- frontend/src/components/PokemonCard.tsx | 16 +- frontend/src/components/ShinyBox.tsx | 4 +- .../src/components/ShinyEncounterModal.tsx | 23 +- frontend/src/components/StatusChangeModal.tsx | 121 ++-- frontend/src/components/StepIndicator.tsx | 6 +- frontend/src/components/TransferModal.tsx | 12 +- frontend/src/components/TypeBadge.tsx | 6 +- frontend/src/components/admin/AdminTable.tsx | 15 +- .../components/admin/BossBattleFormModal.tsx | 62 ++- .../src/components/admin/BossTeamEditor.tsx | 104 +++- .../src/components/admin/BulkImportModal.tsx | 14 +- .../components/admin/EvolutionFormModal.tsx | 10 +- frontend/src/components/admin/FormModal.tsx | 6 +- .../src/components/admin/GameFormModal.tsx | 32 +- .../src/components/admin/PokemonFormModal.tsx | 188 ++++--- .../admin/RouteEncounterFormModal.tsx | 39 +- .../src/components/admin/RouteFormModal.tsx | 32 +- frontend/src/hooks/useAdmin.ts | 91 ++- frontend/src/hooks/useBosses.ts | 7 +- frontend/src/hooks/useEncounters.ts | 9 +- frontend/src/hooks/useGenlockes.ts | 33 +- frontend/src/hooks/usePokemon.ts | 7 +- frontend/src/hooks/useRuns.ts | 15 +- frontend/src/index.css | 2 +- frontend/src/main.tsx | 2 +- frontend/src/pages/GenlockeDetail.tsx | 41 +- frontend/src/pages/GenlockeList.tsx | 6 +- frontend/src/pages/Home.tsx | 3 +- frontend/src/pages/NewGenlocke.tsx | 139 +++-- frontend/src/pages/NewRun.tsx | 31 +- frontend/src/pages/RunDashboard.tsx | 58 +- frontend/src/pages/RunEncounters.tsx | 522 +++++++++++------- frontend/src/pages/RunList.tsx | 6 +- frontend/src/pages/Stats.tsx | 53 +- frontend/src/pages/admin/AdminEvolutions.tsx | 28 +- frontend/src/pages/admin/AdminGameDetail.tsx | 103 ++-- frontend/src/pages/admin/AdminGames.tsx | 40 +- .../src/pages/admin/AdminGenlockeDetail.tsx | 81 ++- frontend/src/pages/admin/AdminPokemon.tsx | 55 +- frontend/src/pages/admin/AdminRouteDetail.tsx | 64 ++- frontend/src/pages/admin/AdminRuns.tsx | 31 +- frontend/src/types/game.ts | 21 +- frontend/src/utils/download.ts | 4 +- frontend/src/utils/formatEvolution.ts | 20 +- 67 files changed, 1905 insertions(+), 792 deletions(-) create mode 100644 .beans/nuzlocke-tracker-k4u8--implement-pre-commit-hooks-for-linting.md create mode 100644 .pre-commit-config.yaml diff --git a/.beans/nuzlocke-tracker-k4u8--implement-pre-commit-hooks-for-linting.md b/.beans/nuzlocke-tracker-k4u8--implement-pre-commit-hooks-for-linting.md new file mode 100644 index 0000000..71ae04d --- /dev/null +++ b/.beans/nuzlocke-tracker-k4u8--implement-pre-commit-hooks-for-linting.md @@ -0,0 +1,11 @@ +--- +# nuzlocke-tracker-k4u8 +title: Implement pre-commit hooks for linting +status: completed +type: task +priority: normal +created_at: 2026-02-14T15:37:32Z +updated_at: 2026-02-14T15:40:44Z +--- + +Set up pre-commit framework with hooks for ruff (backend), ESLint/Prettier/tsc (frontend). Add pre-commit to dev deps, update CI with Prettier check, document in CLAUDE.md. \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5ce6a35..2f79340 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,6 +45,9 @@ jobs: - name: Lint run: npm run lint working-directory: frontend + - name: Check formatting + run: npx prettier --check "src/**/*.{ts,tsx,css,json}" + working-directory: frontend - name: Type check run: npx tsc -b working-directory: frontend diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..2640044 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,34 @@ +repos: + # Backend (Python) — ruff linting + formatting + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.15.0 + hooks: + - id: ruff + args: [--fix] + files: ^backend/ + - id: ruff-format + files: ^backend/ + + # Frontend (TypeScript/React) — local hooks using project node_modules + - repo: local + hooks: + - id: eslint + name: eslint + entry: npx eslint + language: system + files: ^frontend/src/.*\.(ts|tsx)$ + pass_filenames: true + + - id: prettier + name: prettier + entry: npx prettier --check + language: system + files: ^frontend/src/.*\.(ts|tsx|css|json)$ + pass_filenames: true + + - id: tsc + name: tsc + entry: bash -c 'cd frontend && npx tsc -b' + language: system + files: ^frontend/src/.*\.(ts|tsx)$ + pass_filenames: false diff --git a/CLAUDE.md b/CLAUDE.md index b981fb1..5b90c79 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -8,6 +8,18 @@ - **Merge commit** `develop` into `main` (marks deploy points). - Always `git pull` the target branch before merging into it. +# Pre-commit Hooks + +This project uses [pre-commit](https://pre-commit.com/) to run linting and formatting checks before each commit. + +**Setup:** `pip install pre-commit && pre-commit install` + +**Hooks configured:** +- **Backend:** `ruff check --fix` and `ruff format` on Python files under `backend/` +- **Frontend:** `eslint`, `prettier --check`, and `tsc -b` on files under `frontend/` + +Frontend hooks require `npm ci` in `frontend/` first (they use `npx` to run from local `node_modules`). + # Instructions - After completing a task, always ask the user if they'd like to commit the changes. diff --git a/backend/pyproject.toml b/backend/pyproject.toml index e83b69d..e4069a2 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -18,6 +18,7 @@ dependencies = [ [project.optional-dependencies] dev = [ "ruff>=0.9.0", + "pre-commit>=4.0.0", "pytest>=8.0.0", "pytest-asyncio>=0.25.0", "httpx>=0.28.0", diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index e7bf0e5..ef8b805 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,7 +1,16 @@ import { Routes, Route, Navigate } from 'react-router-dom' import { Layout } from './components' import { AdminLayout } from './components/admin' -import { GenlockeDetail, GenlockeList, Home, NewGenlocke, NewRun, RunList, RunEncounters, Stats } from './pages' +import { + GenlockeDetail, + GenlockeList, + Home, + NewGenlocke, + NewRun, + RunList, + RunEncounters, + Stats, +} from './pages' import { AdminGames, AdminGameDetail, @@ -25,17 +34,26 @@ function App() { } /> } /> } /> - } /> + } + /> }> } /> } /> } /> - } /> + } + /> } /> } /> } /> } /> - } /> + } + /> diff --git a/frontend/src/api/admin.ts b/frontend/src/api/admin.ts index 89273fc..a3bb289 100644 --- a/frontend/src/api/admin.ts +++ b/frontend/src/api/admin.ts @@ -36,15 +36,17 @@ export const createGame = (data: CreateGameInput) => export const updateGame = (id: number, data: UpdateGameInput) => api.put(`/games/${id}`, data) -export const deleteGame = (id: number) => - api.del(`/games/${id}`) +export const deleteGame = (id: number) => api.del(`/games/${id}`) // Routes export const createRoute = (gameId: number, data: CreateRouteInput) => api.post(`/games/${gameId}/routes`, data) -export const updateRoute = (gameId: number, routeId: number, data: UpdateRouteInput) => - api.put(`/games/${gameId}/routes/${routeId}`, data) +export const updateRoute = ( + gameId: number, + routeId: number, + data: UpdateRouteInput +) => api.put(`/games/${gameId}/routes/${routeId}`, data) export const deleteRoute = (gameId: number, routeId: number) => api.del(`/games/${gameId}/routes/${routeId}`) @@ -53,7 +55,12 @@ export const reorderRoutes = (gameId: number, routes: RouteReorderItem[]) => api.put(`/games/${gameId}/routes/reorder`, { routes }) // Pokemon -export const listPokemon = (search?: string, limit = 50, offset = 0, type?: string) => { +export const listPokemon = ( + search?: string, + limit = 50, + offset = 0, + type?: string +) => { const params = new URLSearchParams() if (search) params.set('search', search) if (type) params.set('type', type) @@ -68,11 +75,17 @@ export const createPokemon = (data: CreatePokemonInput) => export const updatePokemon = (id: number, data: UpdatePokemonInput) => api.put(`/pokemon/${id}`, data) -export const deletePokemon = (id: number) => - api.del(`/pokemon/${id}`) +export const deletePokemon = (id: number) => api.del(`/pokemon/${id}`) -export const bulkImportPokemon = (items: Array<{ pokeapiId: number; nationalDex: number; name: string; types: string[]; spriteUrl?: string | null }>) => - api.post('/pokemon/bulk-import', items) +export const bulkImportPokemon = ( + items: Array<{ + pokeapiId: number + nationalDex: number + name: string + types: string[] + spriteUrl?: string | null + }> +) => api.post('/pokemon/bulk-import', items) export const bulkImportEvolutions = (items: unknown[]) => api.post('/evolutions/bulk-import', items) @@ -84,7 +97,12 @@ export const bulkImportBosses = (gameId: number, items: unknown[]) => api.post(`/games/${gameId}/bosses/bulk-import`, items) // Evolutions -export const listEvolutions = (search?: string, limit = 50, offset = 0, trigger?: string) => { +export const listEvolutions = ( + search?: string, + limit = 50, + offset = 0, + trigger?: string +) => { const params = new URLSearchParams() if (search) params.set('search', search) if (trigger) params.set('trigger', trigger) @@ -99,8 +117,7 @@ export const createEvolution = (data: CreateEvolutionInput) => export const updateEvolution = (id: number, data: UpdateEvolutionInput) => api.put(`/evolutions/${id}`, data) -export const deleteEvolution = (id: number) => - api.del(`/evolutions/${id}`) +export const deleteEvolution = (id: number) => api.del(`/evolutions/${id}`) // Export export const exportGames = () => @@ -119,11 +136,20 @@ export const exportEvolutions = () => api.get[]>('/export/evolutions') // Route Encounters -export const addRouteEncounter = (routeId: number, data: CreateRouteEncounterInput) => - api.post(`/routes/${routeId}/pokemon`, data) +export const addRouteEncounter = ( + routeId: number, + data: CreateRouteEncounterInput +) => api.post(`/routes/${routeId}/pokemon`, data) -export const updateRouteEncounter = (routeId: number, encounterId: number, data: UpdateRouteEncounterInput) => - api.put(`/routes/${routeId}/pokemon/${encounterId}`, data) +export const updateRouteEncounter = ( + routeId: number, + encounterId: number, + data: UpdateRouteEncounterInput +) => + api.put( + `/routes/${routeId}/pokemon/${encounterId}`, + data + ) export const removeRouteEncounter = (routeId: number, encounterId: number) => api.del(`/routes/${routeId}/pokemon/${encounterId}`) @@ -132,8 +158,11 @@ export const removeRouteEncounter = (routeId: number, encounterId: number) => export const createBossBattle = (gameId: number, data: CreateBossBattleInput) => api.post(`/games/${gameId}/bosses`, data) -export const updateBossBattle = (gameId: number, bossId: number, data: UpdateBossBattleInput) => - api.put(`/games/${gameId}/bosses/${bossId}`, data) +export const updateBossBattle = ( + gameId: number, + bossId: number, + data: UpdateBossBattleInput +) => api.put(`/games/${gameId}/bosses/${bossId}`, data) export const deleteBossBattle = (gameId: number, bossId: number) => api.del(`/games/${gameId}/bosses/${bossId}`) @@ -141,15 +170,17 @@ export const deleteBossBattle = (gameId: number, bossId: number) => export const reorderBosses = (gameId: number, bosses: BossReorderItem[]) => api.put(`/games/${gameId}/bosses/reorder`, { bosses }) -export const setBossTeam = (gameId: number, bossId: number, team: BossPokemonInput[]) => - api.put(`/games/${gameId}/bosses/${bossId}/pokemon`, team) +export const setBossTeam = ( + gameId: number, + bossId: number, + team: BossPokemonInput[] +) => api.put(`/games/${gameId}/bosses/${bossId}/pokemon`, team) // Genlockes export const updateGenlocke = (id: number, data: UpdateGenlockeInput) => api.patch(`/genlockes/${id}`, data) -export const deleteGenlocke = (id: number) => - api.del(`/genlockes/${id}`) +export const deleteGenlocke = (id: number) => api.del(`/genlockes/${id}`) export const addGenlockeLeg = (genlockeId: number, data: AddGenlockeLegInput) => api.post(`/genlockes/${genlockeId}/legs`, data) diff --git a/frontend/src/api/bosses.ts b/frontend/src/api/bosses.ts index c212ea9..0960fc3 100644 --- a/frontend/src/api/bosses.ts +++ b/frontend/src/api/bosses.ts @@ -1,7 +1,14 @@ import { api } from './client' -import type { BossBattle, BossResult, CreateBossResultInput } from '../types/game' +import type { + BossBattle, + BossResult, + CreateBossResultInput, +} from '../types/game' -export function getGameBosses(gameId: number, all?: boolean): Promise { +export function getGameBosses( + gameId: number, + all?: boolean +): Promise { const params = all ? '?all=true' : '' return api.get(`/games/${gameId}/bosses${params}`) } @@ -10,10 +17,16 @@ export function getBossResults(runId: number): Promise { return api.get(`/runs/${runId}/boss-results`) } -export function createBossResult(runId: number, data: CreateBossResultInput): Promise { +export function createBossResult( + runId: number, + data: CreateBossResultInput +): Promise { return api.post(`/runs/${runId}/boss-results`, data) } -export function deleteBossResult(runId: number, resultId: number): Promise { +export function deleteBossResult( + runId: number, + resultId: number +): Promise { return api.del(`/runs/${runId}/boss-results/${resultId}`) } diff --git a/frontend/src/api/client.ts b/frontend/src/api/client.ts index 4547c0b..ec6424b 100644 --- a/frontend/src/api/client.ts +++ b/frontend/src/api/client.ts @@ -10,10 +10,7 @@ export class ApiError extends Error { } } -async function request( - path: string, - options?: RequestInit, -): Promise { +async function request(path: string, options?: RequestInit): Promise { const res = await fetch(`${API_BASE}/api/v1${path}`, { ...options, headers: { @@ -52,6 +49,5 @@ export const api = { body: JSON.stringify(body), }), - del: (path: string) => - request(path, { method: 'DELETE' }), + del: (path: string) => request(path, { method: 'DELETE' }), } diff --git a/frontend/src/api/encounters.ts b/frontend/src/api/encounters.ts index f3a34c6..3ffffda 100644 --- a/frontend/src/api/encounters.ts +++ b/frontend/src/api/encounters.ts @@ -9,14 +9,14 @@ import type { export function createEncounter( runId: number, - data: CreateEncounterInput, + data: CreateEncounterInput ): Promise { return api.post(`/runs/${runId}/encounters`, data) } export function updateEncounter( id: number, - data: UpdateEncounterInput, + data: UpdateEncounterInput ): Promise { return api.patch(`/encounters/${id}`, data) } @@ -25,7 +25,10 @@ export function deleteEncounter(id: number): Promise { return api.del(`/encounters/${id}`) } -export function fetchEvolutions(pokemonId: number, region?: string): Promise { +export function fetchEvolutions( + pokemonId: number, + region?: string +): Promise { const params = region ? `?region=${encodeURIComponent(region)}` : '' return api.get(`/pokemon/${pokemonId}/evolutions${params}`) } @@ -34,6 +37,8 @@ export function fetchForms(pokemonId: number): Promise { return api.get(`/pokemon/${pokemonId}/forms`) } -export function bulkRandomizeEncounters(runId: number): Promise<{ created: unknown[]; skippedRoutes: number }> { +export function bulkRandomizeEncounters( + runId: number +): Promise<{ created: unknown[]; skippedRoutes: number }> { return api.post(`/runs/${runId}/encounters/bulk-randomize`, {}) } diff --git a/frontend/src/api/games.ts b/frontend/src/api/games.ts index a092816..f1394ef 100644 --- a/frontend/src/api/games.ts +++ b/frontend/src/api/games.ts @@ -19,7 +19,10 @@ export function getGameRoutes(gameId: number): Promise { return api.get(`/games/${gameId}/routes?flat=true`) } -export function getRoutePokemon(routeId: number, gameId?: number): Promise { +export function getRoutePokemon( + routeId: number, + gameId?: number +): Promise { const params = gameId != null ? `?game_id=${gameId}` : '' return api.get(`/routes/${routeId}/pokemon${params}`) } diff --git a/frontend/src/api/genlockes.ts b/frontend/src/api/genlockes.ts index 618cc3f..be5c42b 100644 --- a/frontend/src/api/genlockes.ts +++ b/frontend/src/api/genlockes.ts @@ -1,5 +1,15 @@ import { api } from './client' -import type { Genlocke, GenlockeListItem, GenlockeDetail, GenlockeGraveyard, GenlockeLineage, CreateGenlockeInput, Region, SurvivorEncounter, AdvanceLegInput } from '../types/game' +import type { + Genlocke, + GenlockeListItem, + GenlockeDetail, + GenlockeGraveyard, + GenlockeLineage, + CreateGenlockeInput, + Region, + SurvivorEncounter, + AdvanceLegInput, +} from '../types/game' export function getGenlockes(): Promise { return api.get('/genlockes') @@ -25,10 +35,20 @@ export function getGenlockeLineages(id: number): Promise { return api.get(`/genlockes/${id}/lineages`) } -export function getLegSurvivors(genlockeId: number, legOrder: number): Promise { +export function getLegSurvivors( + genlockeId: number, + legOrder: number +): Promise { return api.get(`/genlockes/${genlockeId}/legs/${legOrder}/survivors`) } -export function advanceLeg(genlockeId: number, legOrder: number, data?: AdvanceLegInput): Promise { - return api.post(`/genlockes/${genlockeId}/legs/${legOrder}/advance`, data ?? {}) +export function advanceLeg( + genlockeId: number, + legOrder: number, + data?: AdvanceLegInput +): Promise { + return api.post( + `/genlockes/${genlockeId}/legs/${legOrder}/advance`, + data ?? {} + ) } diff --git a/frontend/src/api/pokemon.ts b/frontend/src/api/pokemon.ts index 07b35ea..17f85fb 100644 --- a/frontend/src/api/pokemon.ts +++ b/frontend/src/api/pokemon.ts @@ -10,10 +10,14 @@ export function fetchPokemonFamilies(): Promise<{ families: number[][] }> { return api.get('/pokemon/families') } -export function fetchPokemonEncounterLocations(pokemonId: number): Promise { +export function fetchPokemonEncounterLocations( + pokemonId: number +): Promise { return api.get(`/pokemon/${pokemonId}/encounter-locations`) } -export function fetchPokemonEvolutionChain(pokemonId: number): Promise { +export function fetchPokemonEvolutionChain( + pokemonId: number +): Promise { return api.get(`/pokemon/${pokemonId}/evolution-chain`) } diff --git a/frontend/src/api/runs.ts b/frontend/src/api/runs.ts index 936279e..1dbe336 100644 --- a/frontend/src/api/runs.ts +++ b/frontend/src/api/runs.ts @@ -20,7 +20,7 @@ export function createRun(data: CreateRunInput): Promise { export function updateRun( id: number, - data: UpdateRunInput, + data: UpdateRunInput ): Promise { return api.patch(`/runs/${id}`, data) } @@ -33,7 +33,11 @@ export function getNamingCategories(): Promise { return api.get('/runs/naming-categories') } -export function getNameSuggestions(runId: number, count = 10, pokemonId?: number): Promise { +export function getNameSuggestions( + runId: number, + count = 10, + pokemonId?: number +): Promise { let url = `/runs/${runId}/name-suggestions?count=${count}` if (pokemonId != null) { url += `&pokemon_id=${pokemonId}` diff --git a/frontend/src/components/BossDefeatModal.tsx b/frontend/src/components/BossDefeatModal.tsx index 66856b3..e53bf84 100644 --- a/frontend/src/components/BossDefeatModal.tsx +++ b/frontend/src/components/BossDefeatModal.tsx @@ -10,14 +10,24 @@ interface BossDefeatModalProps { starterName?: string | null } -function matchVariant(labels: string[], starterName?: string | null): string | null { +function matchVariant( + labels: string[], + starterName?: string | null +): string | null { if (!starterName || labels.length === 0) return null const lower = starterName.toLowerCase() const matches = labels.filter((l) => l.toLowerCase().includes(lower)) return matches.length === 1 ? matches[0] : null } -export function BossDefeatModal({ boss, onSubmit, onClose, isPending, hardcoreMode, starterName }: BossDefeatModalProps) { +export function BossDefeatModal({ + boss, + onSubmit, + onClose, + isPending, + hardcoreMode, + starterName, +}: BossDefeatModalProps) { const [result, setResult] = useState<'won' | 'lost'>('won') const [attempts, setAttempts] = useState('1') @@ -30,16 +40,20 @@ export function BossDefeatModal({ boss, onSubmit, onClose, isPending, hardcoreMo }, [boss.pokemon]) const hasVariants = variantLabels.length > 0 - const autoMatch = useMemo(() => matchVariant(variantLabels, starterName), [variantLabels, starterName]) + const autoMatch = useMemo( + () => matchVariant(variantLabels, starterName), + [variantLabels, starterName] + ) const showPills = hasVariants && autoMatch === null const [selectedVariant, setSelectedVariant] = useState( - autoMatch ?? (hasVariants ? variantLabels[0] : null), + autoMatch ?? (hasVariants ? variantLabels[0] : null) ) const displayedPokemon = useMemo(() => { if (!hasVariants) return boss.pokemon return boss.pokemon.filter( - (bp) => bp.conditionLabel === selectedVariant || bp.conditionLabel === null, + (bp) => + bp.conditionLabel === selectedVariant || bp.conditionLabel === null ) }, [boss.pokemon, hasVariants, selectedVariant]) @@ -58,7 +72,9 @@ export function BossDefeatModal({ boss, onSubmit, onClose, isPending, hardcoreMo

Battle: {boss.name}

-

{boss.location}

+

+ {boss.location} +

{/* Boss team preview */} @@ -88,7 +104,11 @@ export function BossDefeatModal({ boss, onSubmit, onClose, isPending, hardcoreMo .map((bp) => (
{bp.pokemon.spriteUrl ? ( - {bp.pokemon.name} + {bp.pokemon.name} ) : (
)} @@ -138,7 +158,9 @@ export function BossDefeatModal({ boss, onSubmit, onClose, isPending, hardcoreMo {!hardcoreMode && (
- + r.parentRouteId !== null).map(r => r.parentRouteId)) - const leafRoutes = routes.filter(r => !parentIds.has(r.id)) + const parentIds = new Set( + routes.filter((r) => r.parentRouteId !== null).map((r) => r.parentRouteId) + ) + const leafRoutes = routes.filter((r) => !parentIds.has(r.id)) // Debounced pokemon search useEffect(() => { @@ -44,7 +46,9 @@ export function EggEncounterModal({ const timer = setTimeout(async () => { setIsSearching(true) try { - const data = await api.get<{ items: Pokemon[] }>(`/pokemon?search=${encodeURIComponent(search)}&limit=20`) + const data = await api.get<{ items: Pokemon[] }>( + `/pokemon?search=${encodeURIComponent(search)}&limit=20` + ) setSearchResults(data.items) } catch { setSearchResults([]) @@ -196,11 +200,13 @@ export function EggEncounterModal({ ))}
)} - {search.length >= 2 && !isSearching && searchResults.length === 0 && ( -

- No pokemon found -

- )} + {search.length >= 2 && + !isSearching && + searchResults.length === 0 && ( +

+ No pokemon found +

+ )} )}
diff --git a/frontend/src/components/EncounterMethodBadge.tsx b/frontend/src/components/EncounterMethodBadge.tsx index 46c9340..f436e33 100644 --- a/frontend/src/components/EncounterMethodBadge.tsx +++ b/frontend/src/components/EncounterMethodBadge.tsx @@ -69,14 +69,15 @@ export const METHOD_ORDER = [ export function getMethodLabel(method: string): string { return ( METHOD_CONFIG[method]?.label ?? - method - .replace(/-/g, ' ') - .replace(/\b\w/g, (c) => c.toUpperCase()) + method.replace(/-/g, ' ').replace(/\b\w/g, (c) => c.toUpperCase()) ) } export function getMethodColor(method: string): string { - return METHOD_CONFIG[method]?.color ?? 'bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300' + return ( + METHOD_CONFIG[method]?.color ?? + 'bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300' + ) } export function EncounterMethodBadge({ @@ -88,7 +89,8 @@ export function EncounterMethodBadge({ }) { const config = METHOD_CONFIG[method] if (!config) return null - const sizeClass = size === 'xs' ? 'text-[8px] px-1 py-0' : 'text-[9px] px-1.5 py-0.5' + const sizeClass = + size === 'xs' ? 'text-[8px] px-1 py-0' : 'text-[9px] px-1.5 py-0.5' return ( () for (const rp of pokemon) { const list = groups.get(rp.encounterMethod) ?? [] @@ -84,7 +89,7 @@ function groupByMethod(pokemon: RouteEncounterDetail[]): { method: string; pokem function pickRandomPokemon( pokemon: RouteEncounterDetail[], - dupedIds?: Set, + dupedIds?: Set ): RouteEncounterDetail | null { const eligible = dupedIds ? pokemon.filter((rp) => !dupedIds.has(rp.pokemonId)) @@ -109,17 +114,17 @@ export function EncounterModal({ }: EncounterModalProps) { const { data: routePokemon, isLoading: loadingPokemon } = useRoutePokemon( route.id, - gameId, + gameId ) const [selectedPokemon, setSelectedPokemon] = useState(null) const [status, setStatus] = useState( - existing?.status ?? 'caught', + existing?.status ?? 'caught' ) const [nickname, setNickname] = useState(existing?.nickname ?? '') const [catchLevel, setCatchLevel] = useState( - existing?.catchLevel?.toString() ?? '', + existing?.catchLevel?.toString() ?? '' ) const [faintLevel, setFaintLevel] = useState('') const [deathCause, setDeathCause] = useState('') @@ -128,27 +133,31 @@ export function EncounterModal({ const isEditing = !!existing const showSuggestions = !!namingScheme && status === 'caught' && !isEditing - const lineagePokemonId = isGenlocke && selectedPokemon ? selectedPokemon.pokemonId : null - const { data: suggestions, refetch: regenerate, isFetching: loadingSuggestions } = - useNameSuggestions(showSuggestions ? runId : null, lineagePokemonId) + const lineagePokemonId = + isGenlocke && selectedPokemon ? selectedPokemon.pokemonId : null + const { + data: suggestions, + refetch: regenerate, + isFetching: loadingSuggestions, + } = useNameSuggestions(showSuggestions ? runId : null, lineagePokemonId) // Pre-select pokemon when editing useEffect(() => { if (existing && routePokemon) { const match = routePokemon.find( - (rp) => rp.pokemonId === existing.pokemonId, + (rp) => rp.pokemonId === existing.pokemonId ) if (match) setSelectedPokemon(match) } }, [existing, routePokemon]) const filteredPokemon = routePokemon?.filter((rp) => - rp.pokemon.name.toLowerCase().includes(search.toLowerCase()), + rp.pokemon.name.toLowerCase().includes(search.toLowerCase()) ) const groupedPokemon = useMemo( () => (filteredPokemon ? groupByMethod(filteredPokemon) : []), - [filteredPokemon], + [filteredPokemon] ) const hasMultipleGroups = groupedPokemon.length > 1 @@ -224,13 +233,15 @@ export function EncounterModal({ loadingPokemon || !routePokemon || (dupedPokemonIds - ? routePokemon.every((rp) => dupedPokemonIds.has(rp.pokemonId)) + ? routePokemon.every((rp) => + dupedPokemonIds.has(rp.pokemonId) + ) : false) } onClick={() => { if (routePokemon) { setSelectedPokemon( - pickRandomPokemon(routePokemon, dupedPokemonIds), + pickRandomPokemon(routePokemon, dupedPokemonIds) ) } }} @@ -268,12 +279,15 @@ export function EncounterModal({ )}
{pokemon.map((rp) => { - const isDuped = dupedPokemonIds?.has(rp.pokemonId) ?? false + const isDuped = + dupedPokemonIds?.has(rp.pokemonId) ?? false return ( @@ -518,11 +540,7 @@ export function EncounterModal({ onClick={handleSubmit} className="px-4 py-2 bg-blue-600 text-white rounded-lg font-medium hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors" > - {isPending - ? 'Saving...' - : isEditing - ? 'Update' - : 'Log Encounter'} + {isPending ? 'Saving...' : isEditing ? 'Update' : 'Log Encounter'}
diff --git a/frontend/src/components/EndRunModal.tsx b/frontend/src/components/EndRunModal.tsx index 253799c..4dc79eb 100644 --- a/frontend/src/components/EndRunModal.tsx +++ b/frontend/src/components/EndRunModal.tsx @@ -7,7 +7,12 @@ interface EndRunModalProps { genlockeContext?: RunGenlockeContext | null } -export function EndRunModal({ onConfirm, onClose, isPending, genlockeContext }: EndRunModalProps) { +export function EndRunModal({ + onConfirm, + onClose, + isPending, + genlockeContext, +}: EndRunModalProps) { const victoryDescription = genlockeContext ? genlockeContext.isFinalLeg ? 'Complete the final leg of your genlocke!' diff --git a/frontend/src/components/GameGrid.tsx b/frontend/src/components/GameGrid.tsx index 01f3339..75f81f5 100644 --- a/frontend/src/components/GameGrid.tsx +++ b/frontend/src/components/GameGrid.tsx @@ -29,32 +29,46 @@ export function GameGrid({ games, selectedId, onSelect, runs }: GameGridProps) { const generations = useMemo( () => [...new Set(games.map((g) => g.generation))].sort(), - [games], + [games] ) const regions = useMemo( () => [...new Set(games.map((g) => g.region))].sort(), - [games], + [games] ) const activeRunGameIds = useMemo(() => { if (!runs) return new Set() - return new Set(runs.filter((r) => r.status === 'active').map((r) => r.gameId)) + return new Set( + runs.filter((r) => r.status === 'active').map((r) => r.gameId) + ) }, [runs]) const completedRunGameIds = useMemo(() => { if (!runs) return new Set() - return new Set(runs.filter((r) => r.status === 'completed').map((r) => r.gameId)) + return new Set( + runs.filter((r) => r.status === 'completed').map((r) => r.gameId) + ) }, [runs]) const filtered = useMemo(() => { let result = games if (filter) result = result.filter((g) => g.generation === filter) if (regionFilter) result = result.filter((g) => g.region === regionFilter) - if (hideWithActiveRun) result = result.filter((g) => !activeRunGameIds.has(g.id)) - if (hideCompleted) result = result.filter((g) => !completedRunGameIds.has(g.id)) + if (hideWithActiveRun) + result = result.filter((g) => !activeRunGameIds.has(g.id)) + if (hideCompleted) + result = result.filter((g) => !completedRunGameIds.has(g.id)) return result - }, [games, filter, regionFilter, hideWithActiveRun, hideCompleted, activeRunGameIds, completedRunGameIds]) + }, [ + games, + filter, + regionFilter, + hideWithActiveRun, + hideCompleted, + activeRunGameIds, + completedRunGameIds, + ]) const grouped = useMemo(() => { const groups: Record = {} @@ -77,7 +91,9 @@ export function GameGrid({ games, selectedId, onSelect, runs }: GameGridProps) {
- Gen: + + Gen: +
- Region: + + Region: +
@@ -143,7 +144,9 @@ export function GenlockeGraveyard({ genlockeId }: GenlockeGraveyardProps) {
setGameId(e.target.value)} @@ -208,7 +232,9 @@ export function BossBattleFormModal({
- + (a[0] ?? '').localeCompare(b[0] ?? '')) + const remaining = [...map.entries()].sort((a, b) => + (a[0] ?? '').localeCompare(b[0] ?? '') + ) for (const [label, pokemon] of remaining) { variants.push({ label, pokemon }) } return variants } -export function BossTeamEditor({ boss, onSave, onClose, isSaving }: BossTeamEditorProps) { - const [variants, setVariants] = useState(() => groupByVariant(boss)) +export function BossTeamEditor({ + boss, + onSave, + onClose, + isSaving, +}: BossTeamEditorProps) { + const [variants, setVariants] = useState(() => + groupByVariant(boss) + ) const [activeTab, setActiveTab] = useState(0) const [newVariantName, setNewVariantName] = useState('') const [showAddVariant, setShowAddVariant] = useState(false) const activeVariant = variants[activeTab] ?? variants[0] - const updateVariant = (tabIndex: number, updater: (v: Variant) => Variant) => { + const updateVariant = ( + tabIndex: number, + updater: (v: Variant) => Variant + ) => { setVariants((prev) => prev.map((v, i) => (i === tabIndex ? updater(v) : v))) } const addSlot = () => { updateVariant(activeTab, (v) => ({ ...v, - pokemon: [...v.pokemon, { pokemonId: null, pokemonName: '', level: '', order: v.pokemon.length + 1 }], + pokemon: [ + ...v.pokemon, + { + pokemonId: null, + pokemonName: '', + level: '', + order: v.pokemon.length + 1, + }, + ], })) } const removeSlot = (index: number) => { updateVariant(activeTab, (v) => ({ ...v, - pokemon: v.pokemon.filter((_, i) => i !== index).map((item, i) => ({ ...item, order: i + 1 })), + pokemon: v.pokemon + .filter((_, i) => i !== index) + .map((item, i) => ({ ...item, order: i + 1 })), })) } - const updateSlot = (index: number, field: string, value: number | string | null) => { + const updateSlot = ( + index: number, + field: string, + value: number | string | null + ) => { updateVariant(activeTab, (v) => ({ ...v, - pokemon: v.pokemon.map((item, i) => (i === index ? { ...item, [field]: value } : item)), + pokemon: v.pokemon.map((item, i) => + i === index ? { ...item, [field]: value } : item + ), })) } @@ -92,7 +125,13 @@ export function BossTeamEditor({ boss, onSave, onClose, isSaving }: BossTeamEdit const name = newVariantName.trim() if (!name) return if (variants.some((v) => v.label === name)) return - setVariants((prev) => [...prev, { label: name, pokemon: [{ pokemonId: null, pokemonName: '', level: '', order: 1 }] }]) + setVariants((prev) => [ + ...prev, + { + label: name, + pokemon: [{ pokemonId: null, pokemonName: '', level: '', order: 1 }], + }, + ]) setActiveTab(variants.length) setNewVariantName('') setShowAddVariant(false) @@ -109,8 +148,11 @@ export function BossTeamEditor({ boss, onSave, onClose, isSaving }: BossTeamEdit e.preventDefault() const allPokemon: BossPokemonInput[] = [] for (const variant of variants) { - const conditionLabel = variants.length === 1 && variant.label === null ? null : variant.label - const validPokemon = variant.pokemon.filter((t) => t.pokemonId != null && t.level) + const conditionLabel = + variants.length === 1 && variant.label === null ? null : variant.label + const validPokemon = variant.pokemon.filter( + (t) => t.pokemonId != null && t.level + ) for (let i = 0; i < validPokemon.length; i++) { allPokemon.push({ pokemonId: validPokemon[i].pokemonId!, @@ -147,7 +189,10 @@ export function BossTeamEditor({ boss, onSave, onClose, isSaving }: BossTeamEdit {v.label ?? 'Default'} {v.label !== null && ( { e.stopPropagation(); removeVariant(i) }} + onClick={(e) => { + e.stopPropagation() + removeVariant(i) + }} className="ml-1.5 text-gray-400 hover:text-red-500 cursor-pointer" title="Remove variant" > @@ -171,13 +216,31 @@ export function BossTeamEditor({ boss, onSave, onClose, isSaving }: BossTeamEdit type="text" value={newVariantName} onChange={(e) => setNewVariantName(e.target.value)} - onKeyDown={(e) => { if (e.key === 'Enter') { e.preventDefault(); addVariant() } if (e.key === 'Escape') setShowAddVariant(false) }} + onKeyDown={(e) => { + if (e.key === 'Enter') { + e.preventDefault() + addVariant() + } + if (e.key === 'Escape') setShowAddVariant(false) + }} placeholder="Variant name..." className="px-2 py-1 text-sm border rounded dark:bg-gray-700 dark:border-gray-600 w-40" autoFocus /> - - + +
)}
@@ -185,7 +248,10 @@ export function BossTeamEditor({ boss, onSave, onClose, isSaving }: BossTeamEdit
{activeVariant.pokemon.map((slot, index) => ( -
+
- + (null) const [result, setResult] = useState(null) @@ -73,7 +80,10 @@ export function BulkImportModal({ title, example, onSubmit, onClose, createdLabe {result && (
-

{createdLabel}: {result.created}, {updatedLabel}: {result.updated}

+

+ {createdLabel}: {result.created}, {updatedLabel}:{' '} + {result.updated} +

{result.errors.length > 0 && (
    {result.errors.map((err, i) => ( diff --git a/frontend/src/components/admin/EvolutionFormModal.tsx b/frontend/src/components/admin/EvolutionFormModal.tsx index 64a6f54..bd42841 100644 --- a/frontend/src/components/admin/EvolutionFormModal.tsx +++ b/frontend/src/components/admin/EvolutionFormModal.tsx @@ -1,7 +1,11 @@ import { type FormEvent, useState } from 'react' import { FormModal } from './FormModal' import { PokemonSelector } from './PokemonSelector' -import type { EvolutionAdmin, CreateEvolutionInput, UpdateEvolutionInput } from '../../types' +import type { + EvolutionAdmin, + CreateEvolutionInput, + UpdateEvolutionInput, +} from '../../types' interface EvolutionFormModalProps { evolution?: EvolutionAdmin @@ -23,10 +27,10 @@ export function EvolutionFormModal({ isDeleting, }: EvolutionFormModalProps) { const [fromPokemonId, setFromPokemonId] = useState( - evolution?.fromPokemonId ?? null, + evolution?.fromPokemonId ?? null ) const [toPokemonId, setToPokemonId] = useState( - evolution?.toPokemonId ?? null, + evolution?.toPokemonId ?? null ) const [trigger, setTrigger] = useState(evolution?.trigger ?? 'level-up') const [minLevel, setMinLevel] = useState(String(evolution?.minLevel ?? '')) diff --git a/frontend/src/components/admin/FormModal.tsx b/frontend/src/components/admin/FormModal.tsx index 137f477..0af37e1 100644 --- a/frontend/src/components/admin/FormModal.tsx +++ b/frontend/src/components/admin/FormModal.tsx @@ -55,7 +55,11 @@ export function FormModal({ onBlur={() => setConfirmingDelete(false)} className="px-4 py-2 text-sm font-medium rounded-md text-red-600 dark:text-red-400 border border-red-300 dark:border-red-600 hover:bg-red-50 dark:hover:bg-red-900/20 disabled:opacity-50" > - {isDeleting ? 'Deleting...' : confirmingDelete ? 'Confirm?' : 'Delete'} + {isDeleting + ? 'Deleting...' + : confirmingDelete + ? 'Confirm?' + : 'Delete'} )}
    diff --git a/frontend/src/components/admin/GameFormModal.tsx b/frontend/src/components/admin/GameFormModal.tsx index fb5f512..1f0ab8f 100644 --- a/frontend/src/components/admin/GameFormModal.tsx +++ b/frontend/src/components/admin/GameFormModal.tsx @@ -20,13 +20,23 @@ function slugify(name: string) { .replace(/^-|-$/g, '') } -export function GameFormModal({ game, onSubmit, onClose, isSubmitting, onDelete, isDeleting, detailUrl }: GameFormModalProps) { +export function GameFormModal({ + game, + onSubmit, + onClose, + isSubmitting, + onDelete, + isDeleting, + detailUrl, +}: GameFormModalProps) { const [name, setName] = useState(game?.name ?? '') const [slug, setSlug] = useState(game?.slug ?? '') const [generation, setGeneration] = useState(String(game?.generation ?? '')) const [region, setRegion] = useState(game?.region ?? '') const [boxArtUrl, setBoxArtUrl] = useState(game?.boxArtUrl ?? '') - const [releaseYear, setReleaseYear] = useState(game?.releaseYear ? String(game.releaseYear) : '') + const [releaseYear, setReleaseYear] = useState( + game?.releaseYear ? String(game.releaseYear) : '' + ) const [autoSlug, setAutoSlug] = useState(!game) useEffect(() => { @@ -53,14 +63,16 @@ export function GameFormModal({ game, onSubmit, onClose, isSubmitting, onDelete, isSubmitting={isSubmitting} onDelete={onDelete} isDeleting={isDeleting} - headerExtra={detailUrl ? ( - - View Routes & Bosses - - ) : undefined} + headerExtra={ + detailUrl ? ( + + View Routes & Bosses + + ) : undefined + } >
    diff --git a/frontend/src/components/admin/PokemonFormModal.tsx b/frontend/src/components/admin/PokemonFormModal.tsx index e165957..7135fac 100644 --- a/frontend/src/components/admin/PokemonFormModal.tsx +++ b/frontend/src/components/admin/PokemonFormModal.tsx @@ -2,8 +2,17 @@ import { type FormEvent, useState, useEffect } from 'react' import { Link } from 'react-router-dom' import { useQueryClient } from '@tanstack/react-query' import { EvolutionFormModal } from './EvolutionFormModal' -import type { Pokemon, CreatePokemonInput, UpdatePokemonInput, EvolutionAdmin, UpdateEvolutionInput } from '../../types' -import { usePokemonEncounterLocations, usePokemonEvolutionChain } from '../../hooks/usePokemon' +import type { + Pokemon, + CreatePokemonInput, + UpdatePokemonInput, + EvolutionAdmin, + UpdateEvolutionInput, +} from '../../types' +import { + usePokemonEncounterLocations, + usePokemonEvolutionChain, +} from '../../hooks/usePokemon' import { useUpdateEvolution, useDeleteEvolution } from '../../hooks/useAdmin' import { formatEvolutionMethod } from '../../utils/formatEvolution' @@ -18,20 +27,32 @@ interface PokemonFormModalProps { type Tab = 'details' | 'evolutions' | 'encounters' -export function PokemonFormModal({ pokemon, onSubmit, onClose, isSubmitting, onDelete, isDeleting }: PokemonFormModalProps) { +export function PokemonFormModal({ + pokemon, + onSubmit, + onClose, + isSubmitting, + onDelete, + isDeleting, +}: PokemonFormModalProps) { const [pokeapiId, setPokeapiId] = useState(String(pokemon?.pokeapiId ?? '')) - const [nationalDex, setNationalDex] = useState(String(pokemon?.nationalDex ?? '')) + const [nationalDex, setNationalDex] = useState( + String(pokemon?.nationalDex ?? '') + ) const [name, setName] = useState(pokemon?.name ?? '') const [types, setTypes] = useState(pokemon?.types.join(', ') ?? '') const [spriteUrl, setSpriteUrl] = useState(pokemon?.spriteUrl ?? '') const [activeTab, setActiveTab] = useState('details') - const [editingEvolution, setEditingEvolution] = useState(null) + const [editingEvolution, setEditingEvolution] = + useState(null) const [confirmingDelete, setConfirmingDelete] = useState(false) const isEdit = !!pokemon const pokemonId = pokemon?.id ?? null - const { data: encounterLocations, isLoading: encountersLoading } = usePokemonEncounterLocations(pokemonId) - const { data: evolutionChain, isLoading: evolutionsLoading } = usePokemonEvolutionChain(pokemonId) + const { data: encounterLocations, isLoading: encountersLoading } = + usePokemonEncounterLocations(pokemonId) + const { data: evolutionChain, isLoading: evolutionsLoading } = + usePokemonEvolutionChain(pokemonId) const queryClient = useQueryClient() const updateEvolution = useUpdateEvolution() @@ -42,7 +63,9 @@ export function PokemonFormModal({ pokemon, onSubmit, onClose, isSubmitting, onD }, [onDelete]) const invalidateChain = () => { - queryClient.invalidateQueries({ queryKey: ['pokemon', pokemonId, 'evolution-chain'] }) + queryClient.invalidateQueries({ + queryKey: ['pokemon', pokemonId, 'evolution-chain'], + }) } const handleSubmit = (e: FormEvent) => { @@ -80,7 +103,9 @@ export function PokemonFormModal({ pokemon, onSubmit, onClose, isSubmitting, onD
    {/* Header */}
    -

    {pokemon ? 'Edit Pokemon' : 'Add Pokemon'}

    +

    + {pokemon ? 'Edit Pokemon' : 'Add Pokemon'} +

    {isEdit && (
    {tabs.map((tab) => ( @@ -99,10 +124,15 @@ export function PokemonFormModal({ pokemon, onSubmit, onClose, isSubmitting, onD {/* Details tab (form) */} {activeTab === 'details' && ( - +
    - +
    - +
    - +
    - + setConfirmingDelete(false)} className="px-4 py-2 text-sm font-medium rounded-md text-red-600 dark:text-red-400 border border-red-300 dark:border-red-600 hover:bg-red-50 dark:hover:bg-red-900/20 disabled:opacity-50" > - {isDeleting ? 'Deleting...' : confirmingDelete ? 'Confirm?' : 'Delete'} + {isDeleting + ? 'Deleting...' + : confirmingDelete + ? 'Confirm?' + : 'Delete'} )}
    @@ -197,28 +237,35 @@ export function PokemonFormModal({ pokemon, onSubmit, onClose, isSubmitting, onD
    {evolutionsLoading && ( -

    Loading...

    - )} - {!evolutionsLoading && (!evolutionChain || evolutionChain.length === 0) && ( -

    No evolutions

    - )} - {!evolutionsLoading && evolutionChain && evolutionChain.length > 0 && ( -
    - {evolutionChain.map((evo) => ( - - ))} -
    +

    + Loading... +

    )} + {!evolutionsLoading && + (!evolutionChain || evolutionChain.length === 0) && ( +

    + No evolutions +

    + )} + {!evolutionsLoading && + evolutionChain && + evolutionChain.length > 0 && ( +
    + {evolutionChain.map((evo) => ( + + ))} +
    + )}
    @@ -318,7 +337,8 @@ export function NewGenlocke() { Retire Hall of Fame
    - Pokemon that beat the Elite Four are retired and cannot be used in the next leg + Pokemon that beat the Elite Four are retired and cannot + be used in the next leg
    @@ -334,7 +354,8 @@ export function NewGenlocke() { Naming Scheme

    - Get nickname suggestions from a themed word list when catching Pokemon. Applied to all legs. + Get nickname suggestions from a themed word list when catching + Pokemon. Applied to all legs.

    @@ -384,7 +405,9 @@ export function NewGenlocke() {

    Name

    -

    {name}

    +

    + {name} +

    @@ -403,7 +426,8 @@ export function NewGenlocke() { {leg.game.name} - {leg.region.charAt(0).toUpperCase() + leg.region.slice(1)} + {leg.region.charAt(0).toUpperCase() + + leg.region.slice(1)}
    @@ -417,22 +441,29 @@ export function NewGenlocke() {
    -
    Nuzlocke Rules
    +
    + Nuzlocke Rules +
    {enabledRuleCount} of {totalRuleCount} enabled
    -
    Hall of Fame
    +
    + Hall of Fame +
    {genlockeRules.retireHoF ? 'Retire' : 'Keep'}
    -
    Naming Scheme
    +
    + Naming Scheme +
    {namingScheme - ? namingScheme.charAt(0).toUpperCase() + namingScheme.slice(1) + ? namingScheme.charAt(0).toUpperCase() + + namingScheme.slice(1) : 'None'}
    @@ -530,8 +561,18 @@ function LegRow({ className="p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 disabled:opacity-30 disabled:cursor-not-allowed" title="Move up" > - - + +
    @@ -576,8 +637,18 @@ function AddLegDropdown({ onClick={() => setOpen(true)} className="flex items-center gap-2 text-sm text-blue-600 dark:text-blue-400 hover:text-blue-700 dark:hover:text-blue-300 font-medium" > - - + + Add Region diff --git a/frontend/src/pages/NewRun.tsx b/frontend/src/pages/NewRun.tsx index 2ddeac3..140b493 100644 --- a/frontend/src/pages/NewRun.tsx +++ b/frontend/src/pages/NewRun.tsx @@ -47,13 +47,13 @@ export function NewRun() { if (!selectedGame) return createRun.mutate( { gameId: selectedGame.id, name: runName, rules, namingScheme }, - { onSuccess: (data) => navigate(`/runs/${data.id}`) }, + { onSuccess: (data) => navigate(`/runs/${data.id}`) } ) } - const visibleRuleKeys = RULE_DEFINITIONS - .filter((r) => !hiddenRules?.has(r.key)) - .map((r) => r.key) + const visibleRuleKeys = RULE_DEFINITIONS.filter( + (r) => !hiddenRules?.has(r.key) + ).map((r) => r.key) const enabledRuleCount = visibleRuleKeys.filter((k) => rules[k]).length const totalRuleCount = visibleRuleKeys.length @@ -84,7 +84,8 @@ export function NewRun() { {selectedGame.name}

    - {selectedGame.region.charAt(0).toUpperCase() + selectedGame.region.slice(1)} + {selectedGame.region.charAt(0).toUpperCase() + + selectedGame.region.slice(1)}

    @@ -137,7 +138,11 @@ export function NewRun() { {step === 2 && (
    - +
    )} @@ -223,7 +229,9 @@ export function NewRun() {
    Region
    - {selectedGame && (selectedGame.region.charAt(0).toUpperCase() + selectedGame.region.slice(1))} + {selectedGame && + selectedGame.region.charAt(0).toUpperCase() + + selectedGame.region.slice(1)}
    @@ -233,10 +241,13 @@ export function NewRun() {
-
Naming Scheme
+
+ Naming Scheme +
{namingScheme - ? namingScheme.charAt(0).toUpperCase() + namingScheme.slice(1) + ? namingScheme.charAt(0).toUpperCase() + + namingScheme.slice(1) : 'None'}
diff --git a/frontend/src/pages/RunDashboard.tsx b/frontend/src/pages/RunDashboard.tsx index b328840..59fed98 100644 --- a/frontend/src/pages/RunDashboard.tsx +++ b/frontend/src/pages/RunDashboard.tsx @@ -3,12 +3,21 @@ import { useParams, Link } from 'react-router-dom' import { useRun, useUpdateRun, useNamingCategories } from '../hooks/useRuns' import { useGameRoutes } from '../hooks/useGames' import { useCreateEncounter, useUpdateEncounter } from '../hooks/useEncounters' -import { StatCard, PokemonCard, RuleBadges, StatusChangeModal, EndRunModal } from '../components' +import { + StatCard, + PokemonCard, + RuleBadges, + StatusChangeModal, + EndRunModal, +} from '../components' import type { RunStatus, EncounterDetail } from '../types' type TeamSortKey = 'route' | 'level' | 'species' | 'dex' -function sortEncounters(encounters: EncounterDetail[], key: TeamSortKey): EncounterDetail[] { +function sortEncounters( + encounters: EncounterDetail[], + key: TeamSortKey +): EncounterDetail[] { return [...encounters].sort((a, b) => { switch (key) { case 'route': @@ -21,7 +30,10 @@ function sortEncounters(encounters: EncounterDetail[], key: TeamSortKey): Encoun return nameA.localeCompare(nameB) } case 'dex': - return (a.currentPokemon ?? a.pokemon).nationalDex - (b.currentPokemon ?? b.pokemon).nationalDex + return ( + (a.currentPokemon ?? a.pokemon).nationalDex - + (b.currentPokemon ?? b.pokemon).nationalDex + ) default: return 0 } @@ -29,9 +41,9 @@ function sortEncounters(encounters: EncounterDetail[], key: TeamSortKey): Encoun } const statusStyles: Record = { - active: 'bg-green-100 text-green-800 dark:bg-green-900/40 dark:text-green-300', - completed: - 'bg-blue-100 text-blue-800 dark:bg-blue-900/40 dark:text-blue-300', + active: + 'bg-green-100 text-green-800 dark:bg-green-900/40 dark:text-green-300', + completed: 'bg-blue-100 text-blue-800 dark:bg-blue-900/40 dark:text-blue-300', failed: 'bg-red-100 text-red-800 dark:bg-red-900/40 dark:text-red-300', } @@ -59,12 +71,24 @@ export function RunDashboard() { const encounters = run?.encounters ?? [] const alive = useMemo( - () => sortEncounters(encounters.filter((e) => e.status === 'caught' && e.faintLevel === null), teamSort), - [encounters, teamSort], + () => + sortEncounters( + encounters.filter( + (e) => e.status === 'caught' && e.faintLevel === null + ), + teamSort + ), + [encounters, teamSort] ) const dead = useMemo( - () => sortEncounters(encounters.filter((e) => e.status === 'caught' && e.faintLevel !== null), teamSort), - [encounters, teamSort], + () => + sortEncounters( + encounters.filter( + (e) => e.status === 'caught' && e.faintLevel !== null + ), + teamSort + ), + [encounters, teamSort] ) if (isLoading) { @@ -111,7 +135,10 @@ export function RunDashboard() { {run.name}

- {run.game.name} · {run.game.region.charAt(0).toUpperCase() + run.game.region.slice(1)} · Started{' '} + {run.game.name} ·{' '} + {run.game.region.charAt(0).toUpperCase() + + run.game.region.slice(1)}{' '} + · Started{' '} {new Date(run.startedAt).toLocaleDateString(undefined, { year: 'numeric', month: 'short', @@ -137,7 +164,9 @@ export function RunDashboard() { }`} >

- {run.status === 'completed' ? '\u{1f3c6}' : '\u{1faa6}'} + + {run.status === 'completed' ? '\u{1f3c6}' : '\u{1faa6}'} +

{run.namingScheme - ? run.namingScheme.charAt(0).toUpperCase() + run.namingScheme.slice(1) + ? run.namingScheme.charAt(0).toUpperCase() + + run.namingScheme.slice(1) : 'None'} )} @@ -329,7 +359,7 @@ export function RunDashboard() { onConfirm={(status) => { updateRun.mutate( { status }, - { onSuccess: () => setShowEndRun(false) }, + { onSuccess: () => setShowEndRun(false) } ) }} onClose={() => setShowEndRun(false)} diff --git a/frontend/src/pages/RunEncounters.tsx b/frontend/src/pages/RunEncounters.tsx index 2693a95..6a592cf 100644 --- a/frontend/src/pages/RunEncounters.tsx +++ b/frontend/src/pages/RunEncounters.tsx @@ -3,9 +3,17 @@ import { useParams, Link, useNavigate } from 'react-router-dom' import { useRun, useUpdateRun } from '../hooks/useRuns' import { useAdvanceLeg } from '../hooks/useGenlockes' import { useGameRoutes } from '../hooks/useGames' -import { useCreateEncounter, useUpdateEncounter, useBulkRandomize } from '../hooks/useEncounters' +import { + useCreateEncounter, + useUpdateEncounter, + useBulkRandomize, +} from '../hooks/useEncounters' import { usePokemonFamilies } from '../hooks/usePokemon' -import { useGameBosses, useBossResults, useCreateBossResult } from '../hooks/useBosses' +import { + useGameBosses, + useBossResults, + useCreateBossResult, +} from '../hooks/useBosses' import { EggEncounterModal, EncounterModal, @@ -35,7 +43,10 @@ import type { type TeamSortKey = 'route' | 'level' | 'species' | 'dex' -function sortEncounters(encounters: EncounterDetail[], key: TeamSortKey): EncounterDetail[] { +function sortEncounters( + encounters: EncounterDetail[], + key: TeamSortKey +): EncounterDetail[] { return [...encounters].sort((a, b) => { switch (key) { case 'route': @@ -48,7 +59,10 @@ function sortEncounters(encounters: EncounterDetail[], key: TeamSortKey): Encoun return nameA.localeCompare(nameB) } case 'dex': - return (a.currentPokemon ?? a.pokemon).nationalDex - (b.currentPokemon ?? b.pokemon).nationalDex + return ( + (a.currentPokemon ?? a.pokemon).nationalDex - + (b.currentPokemon ?? b.pokemon).nationalDex + ) default: return 0 } @@ -56,9 +70,9 @@ function sortEncounters(encounters: EncounterDetail[], key: TeamSortKey): Encoun } const statusStyles: Record = { - active: 'bg-green-100 text-green-800 dark:bg-green-900/40 dark:text-green-300', - completed: - 'bg-blue-100 text-blue-800 dark:bg-blue-900/40 dark:text-blue-300', + active: + 'bg-green-100 text-green-800 dark:bg-green-900/40 dark:text-green-300', + completed: 'bg-blue-100 text-blue-800 dark:bg-blue-900/40 dark:text-blue-300', failed: 'bg-red-100 text-red-800 dark:bg-red-900/40 dark:text-red-300', } @@ -129,7 +143,7 @@ function organizeRoutes(routes: Route[]): RouteWithChildren[] { */ function getGroupEncounter( group: RouteWithChildren, - encounterByRoute: Map, + encounterByRoute: Map ): EncounterDetail | null { for (const child of group.children) { const enc = encounterByRoute.get(child.id) @@ -154,7 +168,7 @@ function effectiveZone(route: Route): number { */ function getZoneEncounters( group: RouteWithChildren, - encounterByRoute: Map, + encounterByRoute: Map ): Map { const zoneMap = new Map() for (const child of group.children) { @@ -172,14 +186,23 @@ function countDistinctZones(group: RouteWithChildren): number { return zones.size } -function matchVariant(labels: string[], starterName?: string | null): string | null { +function matchVariant( + labels: string[], + starterName?: string | null +): string | null { if (!starterName || labels.length === 0) return null const lower = starterName.toLowerCase() const matches = labels.filter((l) => l.toLowerCase().includes(lower)) return matches.length === 1 ? matches[0] : null } -function BossTeamPreview({ pokemon, starterName }: { pokemon: BossPokemon[]; starterName?: string | null }) { +function BossTeamPreview({ + pokemon, + starterName, +}: { + pokemon: BossPokemon[] + starterName?: string | null +}) { const variantLabels = useMemo(() => { const labels = new Set() for (const bp of pokemon) { @@ -189,16 +212,20 @@ function BossTeamPreview({ pokemon, starterName }: { pokemon: BossPokemon[]; sta }, [pokemon]) const hasVariants = variantLabels.length > 0 - const autoMatch = useMemo(() => matchVariant(variantLabels, starterName), [variantLabels, starterName]) + const autoMatch = useMemo( + () => matchVariant(variantLabels, starterName), + [variantLabels, starterName] + ) const showPills = hasVariants && autoMatch === null const [selectedVariant, setSelectedVariant] = useState( - autoMatch ?? (hasVariants ? variantLabels[0] : null), + autoMatch ?? (hasVariants ? variantLabels[0] : null) ) const displayed = useMemo(() => { if (!hasVariants) return pokemon return pokemon.filter( - (bp) => bp.conditionLabel === selectedVariant || bp.conditionLabel === null, + (bp) => + bp.conditionLabel === selectedVariant || bp.conditionLabel === null ) }, [pokemon, hasVariants, selectedVariant]) @@ -228,7 +255,11 @@ function BossTeamPreview({ pokemon, starterName }: { pokemon: BossPokemon[]; sta .map((bp) => (

{bp.pokemon.spriteUrl ? ( - {bp.pokemon.name} + {bp.pokemon.name} ) : (
)} @@ -420,7 +451,7 @@ export function RunEncounters() { const advanceLeg = useAdvanceLeg() const [showTransferModal, setShowTransferModal] = useState(false) const { data: routes, isLoading: loadingRoutes } = useGameRoutes( - run?.gameId ?? null, + run?.gameId ?? null ) const createEncounter = useCreateEncounter(runIdNum) const updateEncounter = useUpdateEncounter(runIdNum) @@ -451,7 +482,9 @@ export function RunEncounters() { try { const saved = localStorage.getItem(storageKey) if (saved) return new Set(JSON.parse(saved) as number[]) - } catch { /* ignore */ } + } catch { + /* ignore */ + } return new Set() }) @@ -463,7 +496,7 @@ export function RunEncounters() { return next }) }, - [storageKey], + [storageKey] ) // Organize routes into hierarchical structure @@ -475,25 +508,35 @@ export function RunEncounters() { // Split encounters into normal (non-shiny) and shiny const transferIdSet = useMemo( () => new Set(run?.transferEncounterIds ?? []), - [run?.transferEncounterIds], + [run?.transferEncounterIds] ) - const { normalEncounters, shinyEncounters, transferEncounters } = useMemo(() => { - if (!run) return { normalEncounters: [], shinyEncounters: [], transferEncounters: [] } - const normal: EncounterDetail[] = [] - const shiny: EncounterDetail[] = [] - const transfer: EncounterDetail[] = [] - for (const enc of run.encounters) { - if (transferIdSet.has(enc.id)) { - transfer.push(enc) - } else if (enc.isShiny) { - shiny.push(enc) - } else { - normal.push(enc) + const { normalEncounters, shinyEncounters, transferEncounters } = + useMemo(() => { + if (!run) + return { + normalEncounters: [], + shinyEncounters: [], + transferEncounters: [], + } + const normal: EncounterDetail[] = [] + const shiny: EncounterDetail[] = [] + const transfer: EncounterDetail[] = [] + for (const enc of run.encounters) { + if (transferIdSet.has(enc.id)) { + transfer.push(enc) + } else if (enc.isShiny) { + shiny.push(enc) + } else { + normal.push(enc) + } } - } - return { normalEncounters: normal, shinyEncounters: shiny, transferEncounters: transfer } - }, [run, transferIdSet]) + return { + normalEncounters: normal, + shinyEncounters: shiny, + transferEncounters: transfer, + } + }, [run, transferIdSet]) // Map routeId → encounter for quick lookup (normal encounters only) const encounterByRoute = useMemo(() => { @@ -635,8 +678,7 @@ export function RunEncounters() { if (organizedRoutes.length === 0 || expandedGroups.size > 0) return const firstUnvisited = organizedRoutes.find( (r) => - r.children.length > 0 && - getGroupEncounter(r, encounterByRoute) === null, + r.children.length > 0 && getGroupEncounter(r, encounterByRoute) === null ) if (firstUnvisited) { updateExpandedGroups(() => new Set([firstUnvisited.id])) @@ -644,21 +686,25 @@ export function RunEncounters() { }, [organizedRoutes, encounterByRoute]) // eslint-disable-line react-hooks/exhaustive-deps const alive = useMemo( - () => sortEncounters( - [...normalEncounters, ...transferEncounters, ...shinyEncounters].filter( - (e) => e.status === 'caught' && e.faintLevel === null, + () => + sortEncounters( + [...normalEncounters, ...transferEncounters, ...shinyEncounters].filter( + (e) => e.status === 'caught' && e.faintLevel === null + ), + teamSort ), - teamSort, - ), - [normalEncounters, transferEncounters, shinyEncounters, teamSort], + [normalEncounters, transferEncounters, shinyEncounters, teamSort] ) const dead = useMemo( - () => sortEncounters( - normalEncounters.filter((e) => e.status === 'caught' && e.faintLevel !== null), - teamSort, - ), - [normalEncounters, teamSort], + () => + sortEncounters( + normalEncounters.filter( + (e) => e.status === 'caught' && e.faintLevel !== null + ), + teamSort + ), + [normalEncounters, teamSort] ) // Resolve HoF team encounters from IDs @@ -810,7 +856,10 @@ export function RunEncounters() { {run.name}

- {run.game.name} · {run.game.region.charAt(0).toUpperCase() + run.game.region.slice(1)} · Started{' '} + {run.game.name} ·{' '} + {run.game.region.charAt(0).toUpperCase() + + run.game.region.slice(1)}{' '} + · Started{' '} {new Date(run.startedAt).toLocaleDateString(undefined, { year: 'numeric', month: 'short', @@ -819,7 +868,8 @@ export function RunEncounters() {

{run.genlocke && (

- Leg {run.genlocke.legOrder} of {run.genlocke.totalLegs} — {run.genlocke.genlockeName} + Leg {run.genlocke.legOrder} of {run.genlocke.totalLegs} —{' '} + {run.genlocke.genlockeName}

)}
@@ -868,7 +918,9 @@ export function RunEncounters() { >
- {run.status === 'completed' ? '\u{1f3c6}' : '\u{1faa6}'} + + {run.status === 'completed' ? '\u{1f3c6}' : '\u{1faa6}'} +

- {run.status === 'completed' && run.genlocke && !run.genlocke.isFinalLeg && ( - - )} + { + onSuccess: (genlocke) => { + const nextLeg = genlocke.legs.find( + (l) => l.legOrder === run.genlocke!.legOrder + 1 + ) + if (nextLeg?.runId) { + navigate(`/runs/${nextLeg.runId}`) + } + }, + } + ) + } + }} + disabled={advanceLeg.isPending} + className="px-4 py-2 text-sm font-medium rounded-lg bg-blue-600 text-white hover:bg-blue-700 disabled:opacity-50 transition-colors" + > + {advanceLeg.isPending + ? 'Advancing...' + : 'Advance to Next Leg'} + + )}
{/* HoF Team Display */} {run.status === 'completed' && ( @@ -957,7 +1016,11 @@ export function RunEncounters() { return (
{dp.spriteUrl ? ( - {dp.name} + {dp.name} ) : (
{dp.name[0].toUpperCase()} @@ -1040,11 +1103,13 @@ export function RunEncounters() { className="w-6 h-6" /> ) : ( -
+
{boss.order}
)} @@ -1077,7 +1142,8 @@ export function RunEncounters() { {isActive ? 'Team' : 'Final Team'} - {alive.length} alive{dead.length > 0 ? `, ${dead.length} dead` : ''} + {alive.length} alive + {dead.length > 0 ? `, ${dead.length} dead` : ''} setSelectedTeamEncounter(enc) : undefined} + onClick={ + isActive + ? () => setSelectedTeamEncounter(enc) + : undefined + } /> ))}
@@ -1130,7 +1200,11 @@ export function RunEncounters() { key={enc.id} encounter={enc} showFaintLevel - onClick={isActive ? () => setSelectedTeamEncounter(enc) : undefined} + onClick={ + isActive + ? () => setSelectedTeamEncounter(enc) + : undefined + } /> ))}
@@ -1146,7 +1220,9 @@ export function RunEncounters() {
setSelectedTeamEncounter(enc) : undefined} + onEncounterClick={ + isActive ? (enc) => setSelectedTeamEncounter(enc) : undefined + } />
)} @@ -1162,7 +1238,9 @@ export function RunEncounters() { setSelectedTeamEncounter(enc) : undefined} + onClick={ + isActive ? () => setSelectedTeamEncounter(enc) : undefined + } /> ))}
@@ -1182,7 +1260,11 @@ export function RunEncounters() { disabled={bulkRandomize.isPending} onClick={() => { const remaining = totalLocations - completedCount - if (window.confirm(`Randomize encounters for all ${remaining} remaining locations?`)) { + if ( + window.confirm( + `Randomize encounters for all ${remaining} remaining locations?` + ) + ) { bulkRandomize.mutate() } }} @@ -1242,9 +1324,10 @@ export function RunEncounters() { )} {filteredRoutes.map((route) => { // Collect all route IDs to check for boss cards after - const routeIds: number[] = route.children.length > 0 - ? [route.id, ...route.children.map((c) => c.id)] - : [route.id] + const routeIds: number[] = + route.children.length > 0 + ? [route.id, ...route.children.map((c) => c.id)] + : [route.id] // Find boss battles positioned after this route (or any of its children) const bossesHere: BossBattle[] = [] @@ -1253,68 +1336,77 @@ export function RunEncounters() { if (b) bossesHere.push(...b) } - const routeElement = route.children.length > 0 ? ( - toggleGroup(route.id)} - onRouteClick={handleRouteClick} - filter={filter} - pinwheelClause={pinwheelClause} - /> - ) : (() => { - const encounter = encounterByRoute.get(route.id) - const rs = getRouteStatus(encounter) - const si = statusIndicator[rs] - - return ( -
- - {si.label} - - + + {si.label} + + + ) + })() ) - })() return (
@@ -1358,67 +1450,83 @@ export function RunEncounters() {
-
-
- - - - {boss.spriteUrl && ( - {boss.name} - )} -
-
- - {boss.name} - - - {bossTypeLabel[boss.bossType] ?? boss.bossType} - - {boss.specialtyType && ( - - )} +
+
+ + + + {boss.spriteUrl && ( + {boss.name} + )} +
+
+ + {boss.name} + + + {bossTypeLabel[boss.bossType] ?? boss.bossType} + + {boss.specialtyType && ( + + )} +
+

+ {boss.location} · Level Cap:{' '} + {boss.levelCap} +

-

- {boss.location} · Level Cap: {boss.levelCap} -

+
+
e.stopPropagation()}> + {isDefeated ? ( + + Defeated ✓ + + ) : isActive ? ( + + ) : null}
-
e.stopPropagation()}> - {isDefeated ? ( - - Defeated ✓ - - ) : isActive ? ( - - ) : null} -
-
- {/* Boss pokemon team */} - {isBossExpanded && boss.pokemon.length > 0 && ( - - )} + {/* Boss pokemon team */} + {isBossExpanded && boss.pokemon.length > 0 && ( + + )}
{sectionAfter && (
- {sectionAfter} + + {sectionAfter} +
)} @@ -1519,7 +1627,7 @@ export function RunEncounters() { setShowHofModal(true) } }, - }, + } ) }} onClose={() => setShowEndRun(false)} @@ -1535,7 +1643,7 @@ export function RunEncounters() { onSubmit={(encounterIds) => { updateRun.mutate( { hofEncounterIds: encounterIds }, - { onSuccess: () => setShowHofModal(false) }, + { onSuccess: () => setShowHofModal(false) } ) }} onSkip={() => setShowHofModal(false)} @@ -1558,13 +1666,13 @@ export function RunEncounters() { onSuccess: (genlocke) => { setShowTransferModal(false) const nextLeg = genlocke.legs.find( - (l) => l.legOrder === run!.genlocke!.legOrder + 1, + (l) => l.legOrder === run!.genlocke!.legOrder + 1 ) if (nextLeg?.runId) { navigate(`/runs/${nextLeg.runId}`) } }, - }, + } ) }} onSkip={() => { @@ -1577,13 +1685,13 @@ export function RunEncounters() { onSuccess: (genlocke) => { setShowTransferModal(false) const nextLeg = genlocke.legs.find( - (l) => l.legOrder === run!.genlocke!.legOrder + 1, + (l) => l.legOrder === run!.genlocke!.legOrder + 1 ) if (nextLeg?.runId) { navigate(`/runs/${nextLeg.runId}`) } }, - }, + } ) }} isPending={advanceLeg.isPending} diff --git a/frontend/src/pages/RunList.tsx b/frontend/src/pages/RunList.tsx index 492033f..cc2cae0 100644 --- a/frontend/src/pages/RunList.tsx +++ b/frontend/src/pages/RunList.tsx @@ -3,9 +3,9 @@ import { useRuns } from '../hooks/useRuns' import type { RunStatus } from '../types' const statusStyles: Record = { - active: 'bg-green-100 text-green-800 dark:bg-green-900/40 dark:text-green-300', - completed: - 'bg-blue-100 text-blue-800 dark:bg-blue-900/40 dark:text-blue-300', + active: + 'bg-green-100 text-green-800 dark:bg-green-900/40 dark:text-green-300', + completed: 'bg-blue-100 text-blue-800 dark:bg-blue-900/40 dark:text-blue-300', failed: 'bg-red-100 text-red-800 dark:bg-red-900/40 dark:text-red-300', } diff --git a/frontend/src/pages/Stats.tsx b/frontend/src/pages/Stats.tsx index e78c736..5ba0061 100644 --- a/frontend/src/pages/Stats.tsx +++ b/frontend/src/pages/Stats.tsx @@ -178,15 +178,25 @@ function StatsContent({ stats }: { stats: StatsResponse }) {
- +
- Win Rate: {pct(stats.winRate)} + Win Rate:{' '} + + {pct(stats.winRate)} + - Avg Duration: {fmt(stats.avgDurationDays, ' days')} + Avg Duration:{' '} + + {fmt(stats.avgDurationDays, ' days')} +
@@ -233,10 +243,16 @@ function StatsContent({ stats }: { stats: StatsResponse }) {
- Catch Rate: {pct(stats.catchRate)} + Catch Rate:{' '} + + {pct(stats.catchRate)} + - Avg per Run: {fmt(stats.avgEncountersPerRun)} + Avg per Run:{' '} + + {fmt(stats.avgEncountersPerRun)} +
@@ -244,10 +260,7 @@ function StatsContent({ stats }: { stats: StatsResponse }) { {/* Pokemon Rankings */}
- +
- +
{pct(stats.mortalityRate)}
-
Mortality Rate
+
+ Mortality Rate +
{fmt(stats.avgCatchLevel)}
-
Avg Catch Lv.
+
+ Avg Catch Lv. +
{fmt(stats.avgFaintLevel)}
-
Avg Faint Lv.
+
+ Avg Faint Lv. +
@@ -347,7 +370,9 @@ export function Stats() { {stats && stats.totalRuns === 0 && (

No data yet

-

Start a Nuzlocke run to see your stats here.

+

+ Start a Nuzlocke run to see your stats here. +

)} diff --git a/frontend/src/pages/admin/AdminEvolutions.tsx b/frontend/src/pages/admin/AdminEvolutions.tsx index 4ca8252..65fbb3b 100644 --- a/frontend/src/pages/admin/AdminEvolutions.tsx +++ b/frontend/src/pages/admin/AdminEvolutions.tsx @@ -11,7 +11,11 @@ import { } from '../../hooks/useAdmin' import { exportEvolutions } from '../../api/admin' import { downloadJson } from '../../utils/download' -import type { EvolutionAdmin, CreateEvolutionInput, UpdateEvolutionInput } from '../../types' +import type { + EvolutionAdmin, + CreateEvolutionInput, + UpdateEvolutionInput, +} from '../../types' const PAGE_SIZE = 50 @@ -28,7 +32,12 @@ export function AdminEvolutions() { const [triggerFilter, setTriggerFilter] = useState('') const [page, setPage] = useState(0) const offset = page * PAGE_SIZE - const { data, isLoading } = useEvolutionList(search || undefined, PAGE_SIZE, offset, triggerFilter || undefined) + const { data, isLoading } = useEvolutionList( + search || undefined, + PAGE_SIZE, + offset, + triggerFilter || undefined + ) const evolutions = data?.items ?? [] const total = data?.total ?? 0 const totalPages = Math.ceil(total / PAGE_SIZE) @@ -120,12 +129,18 @@ export function AdminEvolutions() { > {EVOLUTION_TRIGGERS.map((t) => ( - + ))} {(search || triggerFilter) && ( - {group.order} + + {group.order} + {group.name} {group.pinwheelZone != null ? group.pinwheelZone : '\u2014'} @@ -138,7 +155,9 @@ function SortableRouteGroup({ {child.order} - {'\u2514'} + + {'\u2514'} + {child.name} @@ -172,8 +191,14 @@ function SortableBossRow({ onPositionChange: (bossId: number, afterRouteId: number | null) => void onClick: (b: BossBattle) => void }) { - const { attributes, listeners, setNodeRef, transform, transition, isDragging } = - useSortable({ id: boss.id }) + const { + attributes, + listeners, + setNodeRef, + transform, + transition, + isDragging, + } = useSortable({ id: boss.id }) const style = { transform: CSS.Transform.toString(transform), @@ -208,22 +233,29 @@ function SortableBossRow({ {boss.order} {boss.name} - {boss.gameId != null && (() => { - const g = games.find((g) => g.id === boss.gameId) - return g ? ( - - {g.name} - - ) : null - })()} + {boss.gameId != null && + (() => { + const g = games.find((g) => g.id === boss.gameId) + return g ? ( + + {g.name} + + ) : null + })()} {boss.bossType.replace('_', ' ')} - {boss.specialtyType ? : '\u2014'} + {boss.specialtyType ? ( + + ) : ( + '\u2014' + )} + + + {boss.section ?? '\u2014'} - {boss.section ?? '\u2014'} {boss.location} {(regionFilter || genFilter) && (
-

- {route.name} -

+

{route.name}

@@ -233,16 +206,12 @@ export function EncounterModal({ loadingPokemon || !routePokemon || (dupedPokemonIds - ? routePokemon.every((rp) => - dupedPokemonIds.has(rp.pokemonId) - ) + ? routePokemon.every((rp) => dupedPokemonIds.has(rp.pokemonId)) : false) } onClick={() => { if (routePokemon) { - setSelectedPokemon( - pickRandomPokemon(routePokemon, dupedPokemonIds) - ) + setSelectedPokemon(pickRandomPokemon(routePokemon, dupedPokemonIds)) } }} className="px-2.5 py-1 text-xs font-medium rounded-lg border border-purple-300 dark:border-purple-600 text-purple-600 dark:text-purple-400 hover:bg-purple-50 dark:hover:bg-purple-900/20 disabled:opacity-40 disabled:cursor-not-allowed transition-colors" @@ -279,15 +248,12 @@ export function EncounterModal({ )}
{pokemon.map((rp) => { - const isDuped = - dupedPokemonIds?.has(rp.pokemonId) ?? false + const isDuped = dupedPokemonIds?.has(rp.pokemonId) ?? false return ( @@ -360,7 +320,7 @@ export function EncounterModal({ /> ) : (
- {existing.pokemon.name[0].toUpperCase()} + {existing.pokemon.name[0]?.toUpperCase()}
)}
@@ -477,53 +437,45 @@ export function EncounterModal({ )} {/* Faint Level + Death Cause (only when editing a caught pokemon to mark dead) */} - {isEditing && - existing?.status === 'caught' && - existing?.faintLevel === null && ( - <> -
- - setFaintLevel(e.target.value)} - placeholder="Leave empty if still alive" - className="w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500" - /> -
-
- - setDeathCause(e.target.value)} - placeholder="e.g. Crit from rival's Charizard" - className="w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500" - /> -
- - )} + {isEditing && existing?.status === 'caught' && existing?.faintLevel === null && ( + <> +
+ + setFaintLevel(e.target.value)} + placeholder="Leave empty if still alive" + className="w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500" + /> +
+
+ + setDeathCause(e.target.value)} + placeholder="e.g. Crit from rival's Charizard" + className="w-full px-3 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500" + /> +
+ + )}
diff --git a/frontend/src/components/EndRunModal.tsx b/frontend/src/components/EndRunModal.tsx index 4dc79eb..2059e94 100644 --- a/frontend/src/components/EndRunModal.tsx +++ b/frontend/src/components/EndRunModal.tsx @@ -7,12 +7,7 @@ interface EndRunModalProps { genlockeContext?: RunGenlockeContext | null } -export function EndRunModal({ - onConfirm, - onClose, - isPending, - genlockeContext, -}: EndRunModalProps) { +export function EndRunModal({ onConfirm, onClose, isPending, genlockeContext }: EndRunModalProps) { const victoryDescription = genlockeContext ? genlockeContext.isFinalLeg ? 'Complete the final leg of your genlocke!' @@ -31,9 +26,7 @@ export function EndRunModal({

End Run

-

- How did your run end? -

+

How did your run end?

) : ( -
+
{game.name.replace('Pokemon ', '')}
)}
-

- {game.name} -

+

{game.name}

{game.region.charAt(0).toUpperCase() + game.region.slice(1)} {game.releaseYear && ( - - {game.releaseYear} - + {game.releaseYear} )}
@@ -65,11 +58,7 @@ export function GameCard({ game, selected, onSelect }: GameCardProps) { stroke="currentColor" strokeWidth={3} > - +
)} diff --git a/frontend/src/components/GameGrid.tsx b/frontend/src/components/GameGrid.tsx index 75f81f5..35056f9 100644 --- a/frontend/src/components/GameGrid.tsx +++ b/frontend/src/components/GameGrid.tsx @@ -18,7 +18,7 @@ interface GameGridProps { games: Game[] selectedId: number | null onSelect: (game: Game) => void - runs?: NuzlockeRun[] + runs?: NuzlockeRun[] | undefined } export function GameGrid({ games, selectedId, onSelect, runs }: GameGridProps) { @@ -27,38 +27,26 @@ export function GameGrid({ games, selectedId, onSelect, runs }: GameGridProps) { const [hideWithActiveRun, setHideWithActiveRun] = useState(false) const [hideCompleted, setHideCompleted] = useState(false) - const generations = useMemo( - () => [...new Set(games.map((g) => g.generation))].sort(), - [games] - ) + const generations = useMemo(() => [...new Set(games.map((g) => g.generation))].sort(), [games]) - const regions = useMemo( - () => [...new Set(games.map((g) => g.region))].sort(), - [games] - ) + const regions = useMemo(() => [...new Set(games.map((g) => g.region))].sort(), [games]) const activeRunGameIds = useMemo(() => { if (!runs) return new Set() - return new Set( - runs.filter((r) => r.status === 'active').map((r) => r.gameId) - ) + return new Set(runs.filter((r) => r.status === 'active').map((r) => r.gameId)) }, [runs]) const completedRunGameIds = useMemo(() => { if (!runs) return new Set() - return new Set( - runs.filter((r) => r.status === 'completed').map((r) => r.gameId) - ) + return new Set(runs.filter((r) => r.status === 'completed').map((r) => r.gameId)) }, [runs]) const filtered = useMemo(() => { let result = games if (filter) result = result.filter((g) => g.generation === filter) if (regionFilter) result = result.filter((g) => g.region === regionFilter) - if (hideWithActiveRun) - result = result.filter((g) => !activeRunGameIds.has(g.id)) - if (hideCompleted) - result = result.filter((g) => !completedRunGameIds.has(g.id)) + if (hideWithActiveRun) result = result.filter((g) => !activeRunGameIds.has(g.id)) + if (hideCompleted) result = result.filter((g) => !completedRunGameIds.has(g.id)) return result }, [ games, @@ -91,9 +79,7 @@ export function GameGrid({ games, selectedId, onSelect, runs }: GameGridProps) {
- - Gen: - + Gen:
- - Region: - + Region:
{entry.nickname && ( -
- {displayPokemon.name} -
+
{displayPokemon.name}
)}
@@ -50,9 +48,7 @@ function GraveyardCard({ entry }: { entry: GraveyardEntry }) { Lv. {entry.catchLevel} → {entry.faintLevel}
-
- {entry.routeName} -
+
{entry.routeName}
Leg {entry.legOrder} — {entry.gameName} @@ -134,8 +130,8 @@ export function GenlockeGraveyard({ genlockeId }: GenlockeGraveyardProps) { {data.deadliestLeg && ( - Deadliest: Leg {data.deadliestLeg.legOrder} —{' '} - {data.deadliestLeg.gameName} ({data.deadliestLeg.deathCount}) + Deadliest: Leg {data.deadliestLeg.legOrder} — {data.deadliestLeg.gameName} ( + {data.deadliestLeg.deathCount}) )}
@@ -144,9 +140,7 @@ export function GenlockeGraveyard({ genlockeId }: GenlockeGraveyardProps) {
applyEvolution(true)} className="flex-1 px-4 py-2 bg-amber-600 text-white rounded-lg font-medium hover:bg-amber-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors" > - {isPending - ? 'Saving...' - : `Add ${shedCompanion.toPokemon.name}`} + {isPending ? 'Saving...' : `Add ${shedCompanion.toPokemon.name}`}
@@ -400,14 +361,10 @@ export function StatusChangeModal({ className="w-full flex items-center gap-3 p-3 rounded-lg border border-gray-200 dark:border-gray-600 hover:bg-purple-50 dark:hover:bg-purple-900/20 hover:border-purple-300 dark:hover:border-purple-600 transition-colors disabled:opacity-50" > {form.spriteUrl ? ( - {form.name} + {form.name} ) : (
- {form.name[0].toUpperCase()} + {form.name[0]?.toUpperCase()}
)}
@@ -441,8 +398,7 @@ export function StatusChangeModal({ htmlFor="death-level" className="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1" > - Level at Death{' '} - (optional) + Level at Death (optional) - Cause of Death{' '} - (optional) + Cause of Death (optional) ) })} diff --git a/frontend/src/components/TypeBadge.tsx b/frontend/src/components/TypeBadge.tsx index 52450e8..3250486 100644 --- a/frontend/src/components/TypeBadge.tsx +++ b/frontend/src/components/TypeBadge.tsx @@ -5,7 +5,5 @@ interface TypeBadgeProps { export function TypeBadge({ type, size = 'sm' }: TypeBadgeProps) { const height = size === 'md' ? 'h-5' : 'h-4' - return ( - {type} - ) + return {type} } diff --git a/frontend/src/components/admin/AdminTable.tsx b/frontend/src/components/admin/AdminTable.tsx index bdce169..34d44a8 100644 --- a/frontend/src/components/admin/AdminTable.tsx +++ b/frontend/src/components/admin/AdminTable.tsx @@ -79,10 +79,7 @@ export function AdminTable({ {Array.from({ length: 5 }).map((_, i) => ( {columns.map((col) => ( - +
))} @@ -114,9 +111,7 @@ export function AdminTable({ return ( handleSort(col.header) : undefined - } + onClick={sortable ? () => handleSort(col.header) : undefined} className={`px-4 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider ${col.className ?? ''} ${sortable ? 'cursor-pointer select-none hover:text-gray-700 dark:hover:text-gray-200' : ''}`} > @@ -138,9 +133,7 @@ export function AdminTable({ key={keyFn(row)} onClick={onRowClick ? () => onRowClick(row) : undefined} className={ - onRowClick - ? 'cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800' - : '' + onRowClick ? 'cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800' : '' } > {columns.map((col) => ( diff --git a/frontend/src/components/admin/BossBattleFormModal.tsx b/frontend/src/components/admin/BossBattleFormModal.tsx index 20a11a2..91729f9 100644 --- a/frontend/src/components/admin/BossBattleFormModal.tsx +++ b/frontend/src/components/admin/BossBattleFormModal.tsx @@ -1,10 +1,7 @@ import { type FormEvent, useState } from 'react' import { FormModal } from './FormModal' import type { BossBattle, Game, Route } from '../../types/game' -import type { - CreateBossBattleInput, - UpdateBossBattleInput, -} from '../../types/admin' +import type { CreateBossBattleInput, UpdateBossBattleInput } from '../../types/admin' interface BossBattleFormModalProps { boss?: BossBattle @@ -70,9 +67,7 @@ export function BossBattleFormModal({ const [badgeImageUrl, setBadgeImageUrl] = useState(boss?.badgeImageUrl ?? '') const [levelCap, setLevelCap] = useState(String(boss?.levelCap ?? '')) const [order, setOrder] = useState(String(boss?.order ?? nextOrder)) - const [afterRouteId, setAfterRouteId] = useState( - String(boss?.afterRouteId ?? '') - ) + const [afterRouteId, setAfterRouteId] = useState(String(boss?.afterRouteId ?? '')) const [location, setLocation] = useState(boss?.location ?? '') const [section, setSection] = useState(boss?.section ?? '') const [spriteUrl, setSpriteUrl] = useState(boss?.spriteUrl ?? '') @@ -212,9 +207,7 @@ export function BossBattleFormModal({
{games && games.length > 1 && (
- + setAfterRouteId(e.target.value)} @@ -261,9 +252,7 @@ export function BossBattleFormModal({ />
- + - (a[0] ?? '').localeCompare(b[0] ?? '') - ) + const remaining = [...map.entries()].sort((a, b) => (a[0] ?? '').localeCompare(b[0] ?? '')) for (const [label, pokemon] of remaining) { variants.push({ label, pokemon }) } return variants } -export function BossTeamEditor({ - boss, - onSave, - onClose, - isSaving, -}: BossTeamEditorProps) { - const [variants, setVariants] = useState(() => - groupByVariant(boss) - ) +export function BossTeamEditor({ boss, onSave, onClose, isSaving }: BossTeamEditorProps) { + const [variants, setVariants] = useState(() => groupByVariant(boss)) const [activeTab, setActiveTab] = useState(0) const [newVariantName, setNewVariantName] = useState('') const [showAddVariant, setShowAddVariant] = useState(false) const activeVariant = variants[activeTab] ?? variants[0] - const updateVariant = ( - tabIndex: number, - updater: (v: Variant) => Variant - ) => { + const updateVariant = (tabIndex: number, updater: (v: Variant) => Variant) => { setVariants((prev) => prev.map((v, i) => (i === tabIndex ? updater(v) : v))) } @@ -108,16 +96,10 @@ export function BossTeamEditor({ })) } - const updateSlot = ( - index: number, - field: string, - value: number | string | null - ) => { + const updateSlot = (index: number, field: string, value: number | string | null) => { updateVariant(activeTab, (v) => ({ ...v, - pokemon: v.pokemon.map((item, i) => - i === index ? { ...item, [field]: value } : item - ), + pokemon: v.pokemon.map((item, i) => (i === index ? { ...item, [field]: value } : item)), })) } @@ -138,8 +120,9 @@ export function BossTeamEditor({ } const removeVariant = (tabIndex: number) => { - if (variants[tabIndex].label === null) return - if (!window.confirm(`Remove variant "${variants[tabIndex].label}"?`)) return + const variant = variants[tabIndex] + if (!variant || variant.label === null) return + if (!window.confirm(`Remove variant "${variant.label}"?`)) return setVariants((prev) => prev.filter((_, i) => i !== tabIndex)) setActiveTab((prev) => Math.min(prev, variants.length - 2)) } @@ -148,15 +131,14 @@ export function BossTeamEditor({ e.preventDefault() const allPokemon: BossPokemonInput[] = [] for (const variant of variants) { - const conditionLabel = - variants.length === 1 && variant.label === null ? null : variant.label - const validPokemon = variant.pokemon.filter( - (t) => t.pokemonId != null && t.level - ) + const conditionLabel = variants.length === 1 && variant.label === null ? null : variant.label + const validPokemon = variant.pokemon.filter((t) => t.pokemonId != null && t.level) for (let i = 0; i < validPokemon.length; i++) { + const p = validPokemon[i] + if (!p?.pokemonId) continue allPokemon.push({ - pokemonId: validPokemon[i].pokemonId!, - level: Number(validPokemon[i].level), + pokemonId: p.pokemonId, + level: Number(p.level), order: i + 1, conditionLabel, }) @@ -247,11 +229,8 @@ export function BossTeamEditor({
- {activeVariant.pokemon.map((slot, index) => ( -
+ {activeVariant?.pokemon.map((slot, index) => ( +
- + ))} - {activeVariant.pokemon.length < 6 && ( + {activeVariant && activeVariant.pokemon.length < 6 && (