mirror of
https://github.com/pret/pokegold.git
synced 2026-10-01 19:36:41 -05:00
Add engine/overworld/wildmons.asm (without data files).
This commit is contained in:
@@ -102,6 +102,8 @@ NUM_WATERMON EQU 3
|
||||
GRASS_WILDDATA_LENGTH EQU (NUM_GRASSMON * 2 + 1) * 3 + 2
|
||||
WATER_WILDDATA_LENGTH EQU (NUM_WATERMON * 2 + 1) * 1 + 2
|
||||
|
||||
NUM_ROAMMON_MAPS EQU 16 ; RoamMaps table size (see data/wild/roammon_maps.asm)
|
||||
|
||||
; treemon sets
|
||||
; TreeMons indexes (see data/wild/treemons.asm)
|
||||
const_def
|
||||
|
||||
@@ -993,7 +993,7 @@ _ButNoSpaceText::
|
||||
line "no space left…"
|
||||
done
|
||||
|
||||
UnknownText_0x1bd34b::
|
||||
_JustSawSomeRareMonText::
|
||||
text "I just saw some"
|
||||
line "rare @"
|
||||
text_ram wStringBuffer1
|
||||
@@ -1007,7 +1007,7 @@ UnknownText_0x1bd34b::
|
||||
cont "#MON, OK?"
|
||||
prompt
|
||||
|
||||
UnknownText_0x1bd39e::
|
||||
_SavingRecordText::
|
||||
text "SAVING RECORD…"
|
||||
line "DON'T TURN OFF!"
|
||||
done
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
; Johto Pokémon in grass
|
||||
|
||||
map SPROUT_TOWER_2F
|
||||
JohtoGrassWildMons:
|
||||
|
||||
map_id SPROUT_TOWER_2F
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 3, RATTATA
|
||||
@@ -27,7 +29,7 @@
|
||||
db 5, RATTATA
|
||||
db 5, RATTATA
|
||||
|
||||
map SPROUT_TOWER_3F
|
||||
map_id SPROUT_TOWER_3F
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 3, RATTATA
|
||||
@@ -54,7 +56,7 @@
|
||||
db 5, RATTATA
|
||||
db 5, RATTATA
|
||||
|
||||
map TIN_TOWER_2F
|
||||
map_id TIN_TOWER_2F
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 20, RATTATA
|
||||
@@ -81,7 +83,7 @@
|
||||
db 24, RATTATA
|
||||
db 24, RATTATA
|
||||
|
||||
map TIN_TOWER_3F
|
||||
map_id TIN_TOWER_3F
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 20, RATTATA
|
||||
@@ -108,7 +110,7 @@
|
||||
db 24, RATTATA
|
||||
db 24, RATTATA
|
||||
|
||||
map TIN_TOWER_4F
|
||||
map_id TIN_TOWER_4F
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 20, RATTATA
|
||||
@@ -135,7 +137,7 @@
|
||||
db 24, RATTATA
|
||||
db 24, RATTATA
|
||||
|
||||
map TIN_TOWER_5F
|
||||
map_id TIN_TOWER_5F
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 20, RATTATA
|
||||
@@ -162,7 +164,7 @@
|
||||
db 24, RATTATA
|
||||
db 24, RATTATA
|
||||
|
||||
map TIN_TOWER_6F
|
||||
map_id TIN_TOWER_6F
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 20, RATTATA
|
||||
@@ -189,7 +191,7 @@
|
||||
db 24, RATTATA
|
||||
db 24, RATTATA
|
||||
|
||||
map TIN_TOWER_7F
|
||||
map_id TIN_TOWER_7F
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 20, RATTATA
|
||||
@@ -216,7 +218,7 @@
|
||||
db 24, RATTATA
|
||||
db 24, RATTATA
|
||||
|
||||
map TIN_TOWER_8F
|
||||
map_id TIN_TOWER_8F
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 20, RATTATA
|
||||
@@ -243,7 +245,7 @@
|
||||
db 24, RATTATA
|
||||
db 24, RATTATA
|
||||
|
||||
map TIN_TOWER_9F
|
||||
map_id TIN_TOWER_9F
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 20, RATTATA
|
||||
@@ -270,7 +272,7 @@
|
||||
db 24, RATTATA
|
||||
db 24, RATTATA
|
||||
|
||||
map BURNED_TOWER_1F
|
||||
map_id BURNED_TOWER_1F
|
||||
db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 13, RATTATA
|
||||
@@ -297,7 +299,7 @@
|
||||
db 15, RATICATE
|
||||
db 15, RATICATE
|
||||
|
||||
map BURNED_TOWER_B1F
|
||||
map_id BURNED_TOWER_B1F
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 14, RATTATA
|
||||
@@ -324,7 +326,7 @@
|
||||
db 16, KOFFING
|
||||
db 16, WEEZING
|
||||
|
||||
map NATIONAL_PARK
|
||||
map_id NATIONAL_PARK
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 12, NIDORAN_M
|
||||
@@ -351,7 +353,7 @@
|
||||
db 12, VENONAT
|
||||
db 12, VENONAT
|
||||
|
||||
map RUINS_OF_ALPH_OUTSIDE
|
||||
map_id RUINS_OF_ALPH_OUTSIDE
|
||||
db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 20, NATU
|
||||
@@ -378,7 +380,7 @@
|
||||
db 22, QUAGSIRE
|
||||
db 22, QUAGSIRE
|
||||
|
||||
map RUINS_OF_ALPH_INNER_CHAMBER
|
||||
map_id RUINS_OF_ALPH_INNER_CHAMBER
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 5, UNOWN
|
||||
@@ -405,7 +407,7 @@
|
||||
db 5, UNOWN
|
||||
db 5, UNOWN
|
||||
|
||||
map UNION_CAVE_1F
|
||||
map_id UNION_CAVE_1F
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 6, GEODUDE
|
||||
@@ -432,7 +434,7 @@
|
||||
db 6, ONIX
|
||||
db 6, ONIX
|
||||
|
||||
map UNION_CAVE_B1F
|
||||
map_id UNION_CAVE_B1F
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 8, GEODUDE
|
||||
@@ -459,7 +461,7 @@
|
||||
db 8, RATTATA
|
||||
db 8, RATTATA
|
||||
|
||||
map UNION_CAVE_B2F
|
||||
map_id UNION_CAVE_B2F
|
||||
db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 22, ZUBAT
|
||||
@@ -486,7 +488,7 @@
|
||||
db 23, ONIX
|
||||
db 23, ONIX
|
||||
|
||||
map SLOWPOKE_WELL_B1F
|
||||
map_id SLOWPOKE_WELL_B1F
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 5, ZUBAT
|
||||
@@ -513,7 +515,7 @@
|
||||
db 8, SLOWPOKE
|
||||
db 8, SLOWPOKE
|
||||
|
||||
map SLOWPOKE_WELL_B2F
|
||||
map_id SLOWPOKE_WELL_B2F
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 21, ZUBAT
|
||||
@@ -540,7 +542,7 @@
|
||||
db 23, SLOWPOKE
|
||||
db 23, SLOWPOKE
|
||||
|
||||
map ILEX_FOREST
|
||||
map_id ILEX_FOREST
|
||||
db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 5, CATERPIE
|
||||
@@ -567,7 +569,7 @@
|
||||
db 6, PARAS
|
||||
db 6, PARAS
|
||||
|
||||
map MOUNT_MORTAR_1F_OUTSIDE
|
||||
map_id MOUNT_MORTAR_1F_OUTSIDE
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 14, RATTATA
|
||||
@@ -594,7 +596,7 @@
|
||||
db 16, RATICATE
|
||||
db 16, RATICATE
|
||||
|
||||
map MOUNT_MORTAR_1F_INSIDE
|
||||
map_id MOUNT_MORTAR_1F_INSIDE
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 13, GEODUDE
|
||||
@@ -621,7 +623,7 @@
|
||||
db 15, GOLBAT
|
||||
db 15, GOLBAT
|
||||
|
||||
map MOUNT_MORTAR_2F_INSIDE
|
||||
map_id MOUNT_MORTAR_2F_INSIDE
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 31, GRAVELER
|
||||
@@ -648,7 +650,7 @@
|
||||
db 32, GOLBAT
|
||||
db 32, GOLBAT
|
||||
|
||||
map MOUNT_MORTAR_B1F
|
||||
map_id MOUNT_MORTAR_B1F
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 15, ZUBAT
|
||||
@@ -675,7 +677,7 @@
|
||||
db 18, RATICATE
|
||||
db 18, RATICATE
|
||||
|
||||
map ICE_PATH_1F
|
||||
map_id ICE_PATH_1F
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 21, SWINUB
|
||||
@@ -702,7 +704,7 @@
|
||||
db 22, GOLBAT
|
||||
db 22, GOLBAT
|
||||
|
||||
map ICE_PATH_B1F
|
||||
map_id ICE_PATH_B1F
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 22, SWINUB
|
||||
@@ -729,7 +731,7 @@
|
||||
db 23, GOLBAT
|
||||
db 22, SNEASEL
|
||||
|
||||
map ICE_PATH_B2F_MAHOGANY_SIDE
|
||||
map_id ICE_PATH_B2F_MAHOGANY_SIDE
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 23, SWINUB
|
||||
@@ -756,7 +758,7 @@
|
||||
db 22, SNEASEL
|
||||
db 24, SNEASEL
|
||||
|
||||
map ICE_PATH_B2F_BLACKTHORN_SIDE
|
||||
map_id ICE_PATH_B2F_BLACKTHORN_SIDE
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 23, SWINUB
|
||||
@@ -783,7 +785,7 @@
|
||||
db 22, SNEASEL
|
||||
db 24, SNEASEL
|
||||
|
||||
map ICE_PATH_B3F
|
||||
map_id ICE_PATH_B3F
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 24, SWINUB
|
||||
@@ -810,7 +812,7 @@
|
||||
db 24, SNEASEL
|
||||
db 26, SNEASEL
|
||||
|
||||
map WHIRL_ISLAND_NW
|
||||
map_id WHIRL_ISLAND_NW
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 22, KRABBY
|
||||
@@ -837,7 +839,7 @@
|
||||
db 24, GOLBAT
|
||||
db 24, GOLBAT
|
||||
|
||||
map WHIRL_ISLAND_NE
|
||||
map_id WHIRL_ISLAND_NE
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 22, KRABBY
|
||||
@@ -864,7 +866,7 @@
|
||||
db 24, GOLBAT
|
||||
db 24, GOLBAT
|
||||
|
||||
map WHIRL_ISLAND_SW
|
||||
map_id WHIRL_ISLAND_SW
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 22, KRABBY
|
||||
@@ -891,7 +893,7 @@
|
||||
db 24, GOLBAT
|
||||
db 24, GOLBAT
|
||||
|
||||
map WHIRL_ISLAND_CAVE
|
||||
map_id WHIRL_ISLAND_CAVE
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 22, KRABBY
|
||||
@@ -918,7 +920,7 @@
|
||||
db 24, GOLBAT
|
||||
db 24, GOLBAT
|
||||
|
||||
map WHIRL_ISLAND_SE
|
||||
map_id WHIRL_ISLAND_SE
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 22, KRABBY
|
||||
@@ -945,7 +947,7 @@
|
||||
db 24, GOLBAT
|
||||
db 24, GOLBAT
|
||||
|
||||
map WHIRL_ISLAND_B1F
|
||||
map_id WHIRL_ISLAND_B1F
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 23, KRABBY
|
||||
@@ -972,7 +974,7 @@
|
||||
db 25, GOLBAT
|
||||
db 25, GOLBAT
|
||||
|
||||
map WHIRL_ISLAND_B2F
|
||||
map_id WHIRL_ISLAND_B2F
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 24, KRABBY
|
||||
@@ -999,7 +1001,7 @@
|
||||
db 26, GOLBAT
|
||||
db 26, GOLBAT
|
||||
|
||||
map WHIRL_ISLAND_LUGIA_CHAMBER
|
||||
map_id WHIRL_ISLAND_LUGIA_CHAMBER
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 25, KRABBY
|
||||
@@ -1026,7 +1028,7 @@
|
||||
db 27, GOLBAT
|
||||
db 27, GOLBAT
|
||||
|
||||
map SILVER_CAVE_ROOM_1
|
||||
map_id SILVER_CAVE_ROOM_1
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 43, GRAVELER
|
||||
@@ -1053,7 +1055,7 @@
|
||||
db 46, GOLBAT
|
||||
db 46, GOLBAT
|
||||
|
||||
map SILVER_CAVE_ROOM_2
|
||||
map_id SILVER_CAVE_ROOM_2
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 48, GOLBAT
|
||||
@@ -1080,7 +1082,7 @@
|
||||
db 45, MISDREAVUS
|
||||
db 45, MISDREAVUS
|
||||
|
||||
map SILVER_CAVE_ROOM_3
|
||||
map_id SILVER_CAVE_ROOM_3
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 51, GOLBAT
|
||||
@@ -1107,7 +1109,7 @@
|
||||
db 53, GOLBAT
|
||||
db 53, GOLBAT
|
||||
|
||||
map SILVER_CAVE_ITEM_ROOMS
|
||||
map_id SILVER_CAVE_ITEM_ROOMS
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 48, GOLBAT
|
||||
@@ -1134,7 +1136,7 @@
|
||||
db 50, PARASECT
|
||||
db 52, PARASECT
|
||||
|
||||
map DARK_CAVE_VIOLET_ENTRANCE
|
||||
map_id DARK_CAVE_VIOLET_ENTRANCE
|
||||
db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 3, GEODUDE
|
||||
@@ -1161,7 +1163,7 @@
|
||||
db 4, ZUBAT
|
||||
db 4, DUNSPARCE
|
||||
|
||||
map DARK_CAVE_BLACKTHORN_ENTRANCE
|
||||
map_id DARK_CAVE_BLACKTHORN_ENTRANCE
|
||||
db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 23, GEODUDE
|
||||
@@ -1188,7 +1190,7 @@
|
||||
db 23, GOLBAT
|
||||
db 23, GOLBAT
|
||||
|
||||
map ROUTE_29
|
||||
map_id ROUTE_29
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 2, PIDGEY
|
||||
@@ -1215,7 +1217,7 @@
|
||||
db 3, HOOTHOOT
|
||||
db 3, HOOTHOOT
|
||||
|
||||
map ROUTE_30
|
||||
map_id ROUTE_30
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 3, LEDYBA
|
||||
@@ -1242,7 +1244,7 @@
|
||||
db 4, HOOTHOOT
|
||||
db 4, HOOTHOOT
|
||||
|
||||
map ROUTE_31
|
||||
map_id ROUTE_31
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 4, LEDYBA
|
||||
@@ -1269,7 +1271,7 @@
|
||||
db 5, GASTLY
|
||||
db 5, GASTLY
|
||||
|
||||
map ROUTE_32
|
||||
map_id ROUTE_32
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 4, EKANS
|
||||
@@ -1296,7 +1298,7 @@
|
||||
db 7, GASTLY
|
||||
db 7, GASTLY
|
||||
|
||||
map ROUTE_33
|
||||
map_id ROUTE_33
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 6, RATTATA
|
||||
@@ -1323,7 +1325,7 @@
|
||||
db 7, RATTATA
|
||||
db 7, RATTATA
|
||||
|
||||
map ROUTE_34
|
||||
map_id ROUTE_34
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 10, SNUBBULL
|
||||
@@ -1350,7 +1352,7 @@
|
||||
db 10, DITTO
|
||||
db 10, DITTO
|
||||
|
||||
map ROUTE_35
|
||||
map_id ROUTE_35
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 12, SNUBBULL
|
||||
@@ -1377,7 +1379,7 @@
|
||||
db 10, DITTO
|
||||
db 12, YANMA
|
||||
|
||||
map ROUTE_36
|
||||
map_id ROUTE_36
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 4, LEDYBA
|
||||
@@ -1404,7 +1406,7 @@
|
||||
db 5, GASTLY
|
||||
db 5, GASTLY
|
||||
|
||||
map ROUTE_37
|
||||
map_id ROUTE_37
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 13, LEDYBA
|
||||
@@ -1431,7 +1433,7 @@
|
||||
db 15, ARIADOS
|
||||
db 15, ARIADOS
|
||||
|
||||
map ROUTE_38
|
||||
map_id ROUTE_38
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 16, RATTATA
|
||||
@@ -1458,7 +1460,7 @@
|
||||
db 16, MEOWTH
|
||||
db 16, MEOWTH
|
||||
|
||||
map ROUTE_39
|
||||
map_id ROUTE_39
|
||||
db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 16, RATTATA
|
||||
@@ -1485,7 +1487,7 @@
|
||||
db 18, MEOWTH
|
||||
db 18, MEOWTH
|
||||
|
||||
map ROUTE_42
|
||||
map_id ROUTE_42
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 13, EKANS
|
||||
@@ -1512,7 +1514,7 @@
|
||||
db 16, GOLBAT
|
||||
db 16, GOLBAT
|
||||
|
||||
map ROUTE_43
|
||||
map_id ROUTE_43
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 15, SENTRET
|
||||
@@ -1539,7 +1541,7 @@
|
||||
db 17, VENOMOTH
|
||||
db 17, VENOMOTH
|
||||
|
||||
map ROUTE_44
|
||||
map_id ROUTE_44
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 23, TANGELA
|
||||
@@ -1566,7 +1568,7 @@
|
||||
db 26, POLIWHIRL
|
||||
db 26, POLIWHIRL
|
||||
|
||||
map ROUTE_45
|
||||
map_id ROUTE_45
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 23, GEODUDE
|
||||
@@ -1593,7 +1595,7 @@
|
||||
db 27, GRAVELER
|
||||
db 27, GRAVELER
|
||||
|
||||
map ROUTE_46
|
||||
map_id ROUTE_46
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 2, GEODUDE
|
||||
@@ -1620,7 +1622,7 @@
|
||||
db 2, RATTATA
|
||||
db 2, RATTATA
|
||||
|
||||
map SILVER_CAVE_OUTSIDE
|
||||
map_id SILVER_CAVE_OUTSIDE
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 41, TANGELA
|
||||
|
||||
@@ -1,228 +1,230 @@
|
||||
; Johto Pokémon in water
|
||||
|
||||
map RUINS_OF_ALPH_OUTSIDE
|
||||
JohtoWaterWildMons:
|
||||
|
||||
map_id RUINS_OF_ALPH_OUTSIDE
|
||||
db 2 percent ; encounter rate
|
||||
db 15, WOOPER
|
||||
db 20, QUAGSIRE
|
||||
db 15, QUAGSIRE
|
||||
|
||||
map UNION_CAVE_1F
|
||||
map_id UNION_CAVE_1F
|
||||
db 2 percent ; encounter rate
|
||||
db 15, WOOPER
|
||||
db 20, QUAGSIRE
|
||||
db 15, QUAGSIRE
|
||||
|
||||
map UNION_CAVE_B1F
|
||||
map_id UNION_CAVE_B1F
|
||||
db 2 percent ; encounter rate
|
||||
db 15, WOOPER
|
||||
db 20, QUAGSIRE
|
||||
db 15, QUAGSIRE
|
||||
|
||||
map UNION_CAVE_B2F
|
||||
map_id UNION_CAVE_B2F
|
||||
db 4 percent ; encounter rate
|
||||
db 15, TENTACOOL
|
||||
db 20, QUAGSIRE
|
||||
db 20, TENTACRUEL
|
||||
|
||||
map SLOWPOKE_WELL_B1F
|
||||
map_id SLOWPOKE_WELL_B1F
|
||||
db 2 percent ; encounter rate
|
||||
db 15, SLOWPOKE
|
||||
db 20, SLOWPOKE
|
||||
db 10, SLOWPOKE
|
||||
|
||||
map SLOWPOKE_WELL_B2F
|
||||
map_id SLOWPOKE_WELL_B2F
|
||||
db 2 percent ; encounter rate
|
||||
db 15, SLOWPOKE
|
||||
db 20, SLOWPOKE
|
||||
db 20, SLOWBRO
|
||||
|
||||
map ILEX_FOREST
|
||||
map_id ILEX_FOREST
|
||||
db 2 percent ; encounter rate
|
||||
db 15, PSYDUCK
|
||||
db 10, PSYDUCK
|
||||
db 15, GOLDUCK
|
||||
|
||||
map MOUNT_MORTAR_1F_OUTSIDE
|
||||
map_id MOUNT_MORTAR_1F_OUTSIDE
|
||||
db 4 percent ; encounter rate
|
||||
db 15, GOLDEEN
|
||||
db 20, MARILL
|
||||
db 20, SEAKING
|
||||
|
||||
map MOUNT_MORTAR_2F_INSIDE
|
||||
map_id MOUNT_MORTAR_2F_INSIDE
|
||||
db 2 percent ; encounter rate
|
||||
db 20, GOLDEEN
|
||||
db 25, MARILL
|
||||
db 25, SEAKING
|
||||
|
||||
map MOUNT_MORTAR_B1F
|
||||
map_id MOUNT_MORTAR_B1F
|
||||
db 2 percent ; encounter rate
|
||||
db 15, GOLDEEN
|
||||
db 20, MARILL
|
||||
db 20, SEAKING
|
||||
|
||||
map WHIRL_ISLAND_SW
|
||||
map_id WHIRL_ISLAND_SW
|
||||
db 4 percent ; encounter rate
|
||||
db 20, TENTACOOL
|
||||
db 15, HORSEA
|
||||
db 20, TENTACRUEL
|
||||
|
||||
map WHIRL_ISLAND_B2F
|
||||
map_id WHIRL_ISLAND_B2F
|
||||
db 4 percent ; encounter rate
|
||||
db 15, HORSEA
|
||||
db 20, HORSEA
|
||||
db 20, TENTACRUEL
|
||||
|
||||
map WHIRL_ISLAND_LUGIA_CHAMBER
|
||||
map_id WHIRL_ISLAND_LUGIA_CHAMBER
|
||||
db 4 percent ; encounter rate
|
||||
db 20, HORSEA
|
||||
db 20, TENTACRUEL
|
||||
db 20, SEADRA
|
||||
|
||||
map SILVER_CAVE_ROOM_2
|
||||
map_id SILVER_CAVE_ROOM_2
|
||||
db 2 percent ; encounter rate
|
||||
db 35, SEAKING
|
||||
db 35, GOLDUCK
|
||||
db 35, GOLDEEN
|
||||
|
||||
map DARK_CAVE_VIOLET_ENTRANCE
|
||||
map_id DARK_CAVE_VIOLET_ENTRANCE
|
||||
db 2 percent ; encounter rate
|
||||
db 15, MAGIKARP
|
||||
db 10, MAGIKARP
|
||||
db 5, MAGIKARP
|
||||
|
||||
map DARK_CAVE_BLACKTHORN_ENTRANCE
|
||||
map_id DARK_CAVE_BLACKTHORN_ENTRANCE
|
||||
db 2 percent ; encounter rate
|
||||
db 15, MAGIKARP
|
||||
db 10, MAGIKARP
|
||||
db 5, MAGIKARP
|
||||
|
||||
map DRAGONS_DEN_B1F
|
||||
map_id DRAGONS_DEN_B1F
|
||||
db 4 percent ; encounter rate
|
||||
db 15, MAGIKARP
|
||||
db 10, MAGIKARP
|
||||
db 10, DRATINI
|
||||
|
||||
map OLIVINE_PORT
|
||||
map_id OLIVINE_PORT
|
||||
db 2 percent ; encounter rate
|
||||
db 20, TENTACOOL
|
||||
db 15, TENTACOOL
|
||||
db 20, TENTACRUEL
|
||||
|
||||
map ROUTE_30
|
||||
map_id ROUTE_30
|
||||
db 2 percent ; encounter rate
|
||||
db 20, POLIWAG
|
||||
db 15, POLIWAG
|
||||
db 20, POLIWHIRL
|
||||
|
||||
map ROUTE_31
|
||||
map_id ROUTE_31
|
||||
db 2 percent ; encounter rate
|
||||
db 20, POLIWAG
|
||||
db 15, POLIWAG
|
||||
db 20, POLIWHIRL
|
||||
|
||||
map ROUTE_32
|
||||
map_id ROUTE_32
|
||||
db 6 percent ; encounter rate
|
||||
db 15, TENTACOOL
|
||||
db 20, QUAGSIRE
|
||||
db 20, TENTACRUEL
|
||||
|
||||
map ROUTE_34
|
||||
map_id ROUTE_34
|
||||
db 6 percent ; encounter rate
|
||||
db 20, TENTACOOL
|
||||
db 15, TENTACOOL
|
||||
db 20, TENTACRUEL
|
||||
|
||||
map ROUTE_35
|
||||
map_id ROUTE_35
|
||||
db 4 percent ; encounter rate
|
||||
db 20, PSYDUCK
|
||||
db 15, PSYDUCK
|
||||
db 20, GOLDUCK
|
||||
|
||||
map ROUTE_40
|
||||
map_id ROUTE_40
|
||||
db 6 percent ; encounter rate
|
||||
db 20, TENTACOOL
|
||||
db 15, TENTACOOL
|
||||
db 20, TENTACRUEL
|
||||
|
||||
map ROUTE_41
|
||||
map_id ROUTE_41
|
||||
db 6 percent ; encounter rate
|
||||
db 20, TENTACOOL
|
||||
db 20, TENTACRUEL
|
||||
db 20, MANTINE
|
||||
|
||||
map ROUTE_42
|
||||
map_id ROUTE_42
|
||||
db 4 percent ; encounter rate
|
||||
db 20, GOLDEEN
|
||||
db 15, GOLDEEN
|
||||
db 20, SEAKING
|
||||
|
||||
map ROUTE_43
|
||||
map_id ROUTE_43
|
||||
db 2 percent ; encounter rate
|
||||
db 20, MAGIKARP
|
||||
db 15, MAGIKARP
|
||||
db 10, MAGIKARP
|
||||
|
||||
map ROUTE_44
|
||||
map_id ROUTE_44
|
||||
db 2 percent ; encounter rate
|
||||
db 25, POLIWAG
|
||||
db 20, POLIWAG
|
||||
db 25, POLIWHIRL
|
||||
|
||||
map ROUTE_45
|
||||
map_id ROUTE_45
|
||||
db 2 percent ; encounter rate
|
||||
db 20, MAGIKARP
|
||||
db 15, MAGIKARP
|
||||
db 5, MAGIKARP
|
||||
|
||||
map NEW_BARK_TOWN
|
||||
map_id NEW_BARK_TOWN
|
||||
db 6 percent ; encounter rate
|
||||
db 20, TENTACOOL
|
||||
db 15, TENTACOOL
|
||||
db 20, TENTACRUEL
|
||||
|
||||
map CHERRYGROVE_CITY
|
||||
map_id CHERRYGROVE_CITY
|
||||
db 6 percent ; encounter rate
|
||||
db 20, TENTACOOL
|
||||
db 15, TENTACOOL
|
||||
db 20, TENTACRUEL
|
||||
|
||||
map VIOLET_CITY
|
||||
map_id VIOLET_CITY
|
||||
db 2 percent ; encounter rate
|
||||
db 20, POLIWAG
|
||||
db 15, POLIWAG
|
||||
db 20, POLIWHIRL
|
||||
|
||||
map CIANWOOD_CITY
|
||||
map_id CIANWOOD_CITY
|
||||
db 6 percent ; encounter rate
|
||||
db 20, TENTACOOL
|
||||
db 15, TENTACOOL
|
||||
db 20, TENTACRUEL
|
||||
|
||||
map OLIVINE_CITY
|
||||
map_id OLIVINE_CITY
|
||||
db 6 percent ; encounter rate
|
||||
db 20, TENTACOOL
|
||||
db 15, TENTACOOL
|
||||
db 20, TENTACRUEL
|
||||
|
||||
map ECRUTEAK_CITY
|
||||
map_id ECRUTEAK_CITY
|
||||
db 2 percent ; encounter rate
|
||||
db 20, POLIWAG
|
||||
db 15, POLIWAG
|
||||
db 20, POLIWHIRL
|
||||
|
||||
map LAKE_OF_RAGE
|
||||
map_id LAKE_OF_RAGE
|
||||
db 6 percent ; encounter rate
|
||||
db 15, MAGIKARP
|
||||
db 10, MAGIKARP
|
||||
db 15, GYARADOS
|
||||
|
||||
map BLACKTHORN_CITY
|
||||
map_id BLACKTHORN_CITY
|
||||
db 4 percent ; encounter rate
|
||||
db 15, MAGIKARP
|
||||
db 10, MAGIKARP
|
||||
db 5, MAGIKARP
|
||||
|
||||
map SILVER_CAVE_OUTSIDE
|
||||
map_id SILVER_CAVE_OUTSIDE
|
||||
db 2 percent ; encounter rate
|
||||
db 35, POLIWHIRL
|
||||
db 40, POLIWHIRL
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
; Kanto Pokémon in grass
|
||||
|
||||
map DIGLETTS_CAVE
|
||||
KantoGrassWildMons:
|
||||
|
||||
map_id DIGLETTS_CAVE
|
||||
db 4 percent, 2 percent, 8 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 3, DIGLETT
|
||||
@@ -27,7 +29,7 @@
|
||||
db 32, DUGTRIO
|
||||
db 32, DUGTRIO
|
||||
|
||||
map MOUNT_MOON
|
||||
map_id MOUNT_MOON
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 6, ZUBAT
|
||||
@@ -54,7 +56,7 @@
|
||||
db 12, CLEFAIRY
|
||||
db 12, CLEFAIRY
|
||||
|
||||
map ROCK_TUNNEL_1F
|
||||
map_id ROCK_TUNNEL_1F
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 10, CUBONE
|
||||
@@ -81,7 +83,7 @@
|
||||
db 15, ZUBAT
|
||||
db 15, ZUBAT
|
||||
|
||||
map ROCK_TUNNEL_B1F
|
||||
map_id ROCK_TUNNEL_B1F
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 12, CUBONE
|
||||
@@ -108,7 +110,7 @@
|
||||
db 15, GOLBAT
|
||||
db 15, GOLBAT
|
||||
|
||||
map VICTORY_ROAD
|
||||
map_id VICTORY_ROAD
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 34, GRAVELER
|
||||
@@ -135,7 +137,7 @@
|
||||
db 40, GRAVELER
|
||||
db 40, GRAVELER
|
||||
|
||||
map TOHJO_FALLS
|
||||
map_id TOHJO_FALLS
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 22, ZUBAT
|
||||
@@ -162,7 +164,7 @@
|
||||
db 23, SLOWPOKE
|
||||
db 23, SLOWPOKE
|
||||
|
||||
map ROUTE_1
|
||||
map_id ROUTE_1
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 2, PIDGEY
|
||||
@@ -189,7 +191,7 @@
|
||||
db 4, HOOTHOOT
|
||||
db 4, HOOTHOOT
|
||||
|
||||
map ROUTE_2
|
||||
map_id ROUTE_2
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 3, CATERPIE
|
||||
@@ -216,7 +218,7 @@
|
||||
db 4, NOCTOWL
|
||||
db 4, NOCTOWL
|
||||
|
||||
map ROUTE_3
|
||||
map_id ROUTE_3
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 5, SPEAROW
|
||||
@@ -243,7 +245,7 @@
|
||||
db 6, CLEFAIRY
|
||||
db 6, CLEFAIRY
|
||||
|
||||
map ROUTE_4
|
||||
map_id ROUTE_4
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 5, SPEAROW
|
||||
@@ -270,7 +272,7 @@
|
||||
db 6, CLEFAIRY
|
||||
db 6, CLEFAIRY
|
||||
|
||||
map ROUTE_5
|
||||
map_id ROUTE_5
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 13, PIDGEY
|
||||
@@ -297,7 +299,7 @@
|
||||
db 14, ABRA
|
||||
db 14, ABRA
|
||||
|
||||
map ROUTE_6
|
||||
map_id ROUTE_6
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 13, RATTATA
|
||||
@@ -324,7 +326,7 @@
|
||||
db 15, RATICATE
|
||||
db 15, RATICATE
|
||||
|
||||
map ROUTE_7
|
||||
map_id ROUTE_7
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 17, RATTATA
|
||||
@@ -351,7 +353,7 @@
|
||||
db 16, ABRA
|
||||
db 16, ABRA
|
||||
|
||||
map ROUTE_8
|
||||
map_id ROUTE_8
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 17, SNUBBULL
|
||||
@@ -378,7 +380,7 @@
|
||||
db 18, KADABRA
|
||||
db 18, KADABRA
|
||||
|
||||
map ROUTE_9
|
||||
map_id ROUTE_9
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 15, RATTATA
|
||||
@@ -405,7 +407,7 @@
|
||||
db 18, RATICATE
|
||||
db 18, RATICATE
|
||||
|
||||
map ROUTE_10_NORTH
|
||||
map_id ROUTE_10_NORTH
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 15, SPEAROW
|
||||
@@ -432,7 +434,7 @@
|
||||
db 16, ELECTABUZZ
|
||||
db 16, ELECTABUZZ
|
||||
|
||||
map ROUTE_11
|
||||
map_id ROUTE_11
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 14, HOPPIP
|
||||
@@ -459,7 +461,7 @@
|
||||
db 16, HYPNO
|
||||
db 16, HYPNO
|
||||
|
||||
map ROUTE_13
|
||||
map_id ROUTE_13
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 23, NIDORINO
|
||||
@@ -486,7 +488,7 @@
|
||||
db 25, QUAGSIRE
|
||||
db 25, CHANSEY
|
||||
|
||||
map ROUTE_14
|
||||
map_id ROUTE_14
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 26, NIDORINO
|
||||
@@ -513,7 +515,7 @@
|
||||
db 28, QUAGSIRE
|
||||
db 28, CHANSEY
|
||||
|
||||
map ROUTE_15
|
||||
map_id ROUTE_15
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 23, NIDORINO
|
||||
@@ -540,7 +542,7 @@
|
||||
db 25, QUAGSIRE
|
||||
db 25, CHANSEY
|
||||
|
||||
map ROUTE_16
|
||||
map_id ROUTE_16
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 26, GRIMER
|
||||
@@ -567,7 +569,7 @@
|
||||
db 30, MUK
|
||||
db 30, MUK
|
||||
|
||||
map ROUTE_17
|
||||
map_id ROUTE_17
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 30, FEAROW
|
||||
@@ -594,7 +596,7 @@
|
||||
db 33, MUK
|
||||
db 33, MUK
|
||||
|
||||
map ROUTE_18
|
||||
map_id ROUTE_18
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 26, GRIMER
|
||||
@@ -621,7 +623,7 @@
|
||||
db 30, MUK
|
||||
db 30, MUK
|
||||
|
||||
map ROUTE_21
|
||||
map_id ROUTE_21
|
||||
db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 30, TANGELA
|
||||
@@ -648,7 +650,7 @@
|
||||
db 28, TANGELA
|
||||
db 28, TANGELA
|
||||
|
||||
map ROUTE_22
|
||||
map_id ROUTE_22
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 3, RATTATA
|
||||
@@ -675,7 +677,7 @@
|
||||
db 7, RATTATA
|
||||
db 7, RATTATA
|
||||
|
||||
map ROUTE_24
|
||||
map_id ROUTE_24
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 8, CATERPIE
|
||||
@@ -702,7 +704,7 @@
|
||||
db 14, GLOOM
|
||||
db 14, GLOOM
|
||||
|
||||
map ROUTE_25
|
||||
map_id ROUTE_25
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 10, CATERPIE
|
||||
@@ -729,7 +731,7 @@
|
||||
db 14, NOCTOWL
|
||||
db 14, NOCTOWL
|
||||
|
||||
map ROUTE_26
|
||||
map_id ROUTE_26
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 28, DODUO
|
||||
@@ -756,7 +758,7 @@
|
||||
db 30, QUAGSIRE
|
||||
db 30, QUAGSIRE
|
||||
|
||||
map ROUTE_27
|
||||
map_id ROUTE_27
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 28, DODUO
|
||||
@@ -783,7 +785,7 @@
|
||||
db 32, NOCTOWL
|
||||
db 32, NOCTOWL
|
||||
|
||||
map ROUTE_28
|
||||
map_id ROUTE_28
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 39, TANGELA
|
||||
|
||||
@@ -1,144 +1,146 @@
|
||||
; Kanto Pokémon in water
|
||||
|
||||
map TOHJO_FALLS
|
||||
KantoWaterWildMons:
|
||||
|
||||
map_id TOHJO_FALLS
|
||||
db 4 percent ; encounter rate
|
||||
db 20, GOLDEEN
|
||||
db 20, SLOWPOKE
|
||||
db 20, SEAKING
|
||||
|
||||
map VERMILION_PORT
|
||||
map_id VERMILION_PORT
|
||||
db 2 percent ; encounter rate
|
||||
db 35, TENTACOOL
|
||||
db 30, TENTACOOL
|
||||
db 35, TENTACRUEL
|
||||
|
||||
map ROUTE_4
|
||||
map_id ROUTE_4
|
||||
db 4 percent ; encounter rate
|
||||
db 10, GOLDEEN
|
||||
db 5, GOLDEEN
|
||||
db 10, SEAKING
|
||||
|
||||
map ROUTE_6
|
||||
map_id ROUTE_6
|
||||
db 2 percent ; encounter rate
|
||||
db 10, PSYDUCK
|
||||
db 5, PSYDUCK
|
||||
db 10, GOLDUCK
|
||||
|
||||
map ROUTE_9
|
||||
map_id ROUTE_9
|
||||
db 4 percent ; encounter rate
|
||||
db 15, GOLDEEN
|
||||
db 10, GOLDEEN
|
||||
db 15, SEAKING
|
||||
|
||||
map ROUTE_10_NORTH
|
||||
map_id ROUTE_10_NORTH
|
||||
db 4 percent ; encounter rate
|
||||
db 15, GOLDEEN
|
||||
db 10, GOLDEEN
|
||||
db 15, SEAKING
|
||||
|
||||
map ROUTE_12
|
||||
map_id ROUTE_12
|
||||
db 6 percent ; encounter rate
|
||||
db 25, TENTACOOL
|
||||
db 25, QUAGSIRE
|
||||
db 25, TENTACRUEL
|
||||
|
||||
map ROUTE_13
|
||||
map_id ROUTE_13
|
||||
db 6 percent ; encounter rate
|
||||
db 25, TENTACOOL
|
||||
db 25, QUAGSIRE
|
||||
db 25, TENTACRUEL
|
||||
|
||||
map ROUTE_19
|
||||
map_id ROUTE_19
|
||||
db 6 percent ; encounter rate
|
||||
db 35, TENTACOOL
|
||||
db 30, TENTACOOL
|
||||
db 35, TENTACRUEL
|
||||
|
||||
map ROUTE_20
|
||||
map_id ROUTE_20
|
||||
db 6 percent ; encounter rate
|
||||
db 35, TENTACOOL
|
||||
db 30, TENTACOOL
|
||||
db 35, TENTACRUEL
|
||||
|
||||
map ROUTE_21
|
||||
map_id ROUTE_21
|
||||
db 6 percent ; encounter rate
|
||||
db 35, TENTACOOL
|
||||
db 30, TENTACOOL
|
||||
db 35, TENTACRUEL
|
||||
|
||||
map ROUTE_22
|
||||
map_id ROUTE_22
|
||||
db 2 percent ; encounter rate
|
||||
db 10, POLIWAG
|
||||
db 5, POLIWAG
|
||||
db 10, POLIWHIRL
|
||||
|
||||
map ROUTE_24
|
||||
map_id ROUTE_24
|
||||
db 4 percent ; encounter rate
|
||||
db 10, GOLDEEN
|
||||
db 5, GOLDEEN
|
||||
db 10, SEAKING
|
||||
|
||||
map ROUTE_25
|
||||
map_id ROUTE_25
|
||||
db 4 percent ; encounter rate
|
||||
db 10, GOLDEEN
|
||||
db 5, GOLDEEN
|
||||
db 10, SEAKING
|
||||
|
||||
map ROUTE_26
|
||||
map_id ROUTE_26
|
||||
db 6 percent ; encounter rate
|
||||
db 30, TENTACOOL
|
||||
db 25, TENTACOOL
|
||||
db 30, TENTACRUEL
|
||||
|
||||
map ROUTE_27
|
||||
map_id ROUTE_27
|
||||
db 6 percent ; encounter rate
|
||||
db 20, TENTACOOL
|
||||
db 15, TENTACOOL
|
||||
db 20, TENTACRUEL
|
||||
|
||||
map ROUTE_28
|
||||
map_id ROUTE_28
|
||||
db 2 percent ; encounter rate
|
||||
db 40, POLIWAG
|
||||
db 35, POLIWAG
|
||||
db 40, POLIWHIRL
|
||||
|
||||
map PALLET_TOWN
|
||||
map_id PALLET_TOWN
|
||||
db 6 percent ; encounter rate
|
||||
db 35, TENTACOOL
|
||||
db 30, TENTACOOL
|
||||
db 35, TENTACRUEL
|
||||
|
||||
map VIRIDIAN_CITY
|
||||
map_id VIRIDIAN_CITY
|
||||
db 2 percent ; encounter rate
|
||||
db 10, POLIWAG
|
||||
db 5, POLIWAG
|
||||
db 10, POLIWHIRL
|
||||
|
||||
map CERULEAN_CITY
|
||||
map_id CERULEAN_CITY
|
||||
db 4 percent ; encounter rate
|
||||
db 10, GOLDEEN
|
||||
db 5, GOLDEEN
|
||||
db 10, SEAKING
|
||||
|
||||
map VERMILION_CITY
|
||||
map_id VERMILION_CITY
|
||||
db 6 percent ; encounter rate
|
||||
db 35, TENTACOOL
|
||||
db 30, TENTACOOL
|
||||
db 35, TENTACRUEL
|
||||
|
||||
map CELADON_CITY
|
||||
map_id CELADON_CITY
|
||||
db 2 percent ; encounter rate
|
||||
db 20, GRIMER
|
||||
db 15, GRIMER
|
||||
db 15, MUK
|
||||
|
||||
map FUCHSIA_CITY
|
||||
map_id FUCHSIA_CITY
|
||||
db 2 percent ; encounter rate
|
||||
db 20, MAGIKARP
|
||||
db 15, MAGIKARP
|
||||
db 10, MAGIKARP
|
||||
|
||||
map CINNABAR_ISLAND
|
||||
map_id CINNABAR_ISLAND
|
||||
db 6 percent ; encounter rate
|
||||
db 35, TENTACOOL
|
||||
db 30, TENTACOOL
|
||||
|
||||
18
data/wild/probabilities.asm
Normal file
18
data/wild/probabilities.asm
Normal file
@@ -0,0 +1,18 @@
|
||||
mon_prob: MACRO
|
||||
; percent, index
|
||||
db \1, \2 * 2
|
||||
ENDM
|
||||
|
||||
GrassMonProbTable:
|
||||
mon_prob 30, 0 ; 30% chance
|
||||
mon_prob 60, 1 ; 30% chance
|
||||
mon_prob 80, 2 ; 20% chance
|
||||
mon_prob 90, 3 ; 10% chance
|
||||
mon_prob 95, 4 ; 5% chance
|
||||
mon_prob 99, 5 ; 4% chance
|
||||
mon_prob 100, 6 ; 1% chance
|
||||
|
||||
WaterMonProbTable:
|
||||
mon_prob 60, 0 ; 60% chance
|
||||
mon_prob 90, 1 ; 30% chance
|
||||
mon_prob 100, 2 ; 10% chance
|
||||
33
data/wild/roammon_maps.asm
Normal file
33
data/wild/roammon_maps.asm
Normal file
@@ -0,0 +1,33 @@
|
||||
; Maps that roaming monsters can be on, and possible maps they can jump to.
|
||||
; Notably missing are Route 40 and Route 41, which are water routes.
|
||||
|
||||
roam_map: MACRO
|
||||
map_id \1
|
||||
db _NARG - 1
|
||||
rept _NARG - 1
|
||||
map_id \2
|
||||
shift
|
||||
endr
|
||||
db 0
|
||||
ENDM
|
||||
|
||||
RoamMaps:
|
||||
; there are NUM_ROAMMON_MAPS entries
|
||||
; start map, ...other maps
|
||||
roam_map ROUTE_29, ROUTE_30, ROUTE_46
|
||||
roam_map ROUTE_30, ROUTE_29, ROUTE_31
|
||||
roam_map ROUTE_31, ROUTE_30, ROUTE_32, ROUTE_36
|
||||
roam_map ROUTE_32, ROUTE_36, ROUTE_31, ROUTE_33
|
||||
roam_map ROUTE_33, ROUTE_32, ROUTE_34
|
||||
roam_map ROUTE_34, ROUTE_33, ROUTE_35
|
||||
roam_map ROUTE_35, ROUTE_34, ROUTE_36
|
||||
roam_map ROUTE_36, ROUTE_35, ROUTE_31, ROUTE_32, ROUTE_37
|
||||
roam_map ROUTE_37, ROUTE_36, ROUTE_38, ROUTE_42
|
||||
roam_map ROUTE_38, ROUTE_37, ROUTE_39, ROUTE_42
|
||||
roam_map ROUTE_39, ROUTE_38
|
||||
roam_map ROUTE_42, ROUTE_43, ROUTE_44, ROUTE_37, ROUTE_38
|
||||
roam_map ROUTE_43, ROUTE_42, ROUTE_44
|
||||
roam_map ROUTE_44, ROUTE_42, ROUTE_43, ROUTE_45
|
||||
roam_map ROUTE_45, ROUTE_44, ROUTE_46
|
||||
roam_map ROUTE_46, ROUTE_45, ROUTE_29
|
||||
db -1 ; end
|
||||
@@ -1,7 +1,9 @@
|
||||
; swarms in grass
|
||||
; Pokémon swarms in grass
|
||||
|
||||
SwarmGrassWildMons:
|
||||
|
||||
; Dunsparce swarm
|
||||
map DARK_CAVE_VIOLET_ENTRANCE
|
||||
map_id DARK_CAVE_VIOLET_ENTRANCE
|
||||
db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 3, GEODUDE
|
||||
@@ -29,7 +31,7 @@
|
||||
db 4, DUNSPARCE
|
||||
|
||||
; Yanma swarm
|
||||
map ROUTE_35
|
||||
map_id ROUTE_35
|
||||
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
|
||||
; morn
|
||||
db 12, NIDORAN_M
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
; swarms in water
|
||||
; Pokémon swarms in water
|
||||
|
||||
SwarmWaterWildMons:
|
||||
|
||||
; No swarms encountered while surfing in Crystal
|
||||
|
||||
|
||||
971
engine/overworld/wildmons.asm
Normal file
971
engine/overworld/wildmons.asm
Normal file
@@ -0,0 +1,971 @@
|
||||
LoadWildMonData:
|
||||
call _GrassWildmonLookup
|
||||
jr c, .copy
|
||||
ld hl, wMornEncounterRate
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
jr .done_copy
|
||||
|
||||
.copy
|
||||
inc hl
|
||||
inc hl
|
||||
ld de, wMornEncounterRate
|
||||
ld bc, 3
|
||||
call CopyBytes
|
||||
.done_copy
|
||||
call _WaterWildmonLookup
|
||||
ld a, 0
|
||||
jr nc, .no_copy
|
||||
inc hl
|
||||
inc hl
|
||||
ld a, [hl]
|
||||
.no_copy
|
||||
ld [wWaterEncounterRate], a
|
||||
ret
|
||||
|
||||
FindNest:
|
||||
; Parameters:
|
||||
; e: 0 = Johto, 1 = Kanto
|
||||
; wNamedObjectIndexBuffer: species
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
xor a
|
||||
call ByteFill
|
||||
ld a, e
|
||||
and a
|
||||
jr nz, .kanto
|
||||
decoord 0, 0
|
||||
ld hl, JohtoGrassWildMons
|
||||
call .FindGrass
|
||||
ld hl, JohtoWaterWildMons
|
||||
call .FindWater
|
||||
call .RoamMon1
|
||||
call .RoamMon2
|
||||
call .RoamMon3
|
||||
ret
|
||||
|
||||
.kanto
|
||||
decoord 0, 0
|
||||
ld hl, KantoGrassWildMons
|
||||
call .FindGrass
|
||||
ld hl, KantoWaterWildMons
|
||||
jp .FindWater
|
||||
|
||||
.FindGrass:
|
||||
ld a, [hl]
|
||||
cp -1
|
||||
ret z
|
||||
push hl
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
ld a, [hli]
|
||||
ld c, a
|
||||
inc hl
|
||||
inc hl
|
||||
inc hl
|
||||
ld a, NUM_GRASSMON * 3
|
||||
call .SearchMapForMon
|
||||
jr nc, .next_grass
|
||||
ld [de], a
|
||||
inc de
|
||||
|
||||
.next_grass
|
||||
pop hl
|
||||
ld bc, GRASS_WILDDATA_LENGTH
|
||||
add hl, bc
|
||||
jr .FindGrass
|
||||
|
||||
.FindWater:
|
||||
ld a, [hl]
|
||||
cp -1
|
||||
ret z
|
||||
push hl
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
ld a, [hli]
|
||||
ld c, a
|
||||
inc hl
|
||||
ld a, NUM_WATERMON
|
||||
call .SearchMapForMon
|
||||
jr nc, .next_water
|
||||
ld [de], a
|
||||
inc de
|
||||
|
||||
.next_water
|
||||
pop hl
|
||||
ld bc, WATER_WILDDATA_LENGTH
|
||||
add hl, bc
|
||||
jr .FindWater
|
||||
|
||||
.SearchMapForMon:
|
||||
inc hl
|
||||
.ScanMapLoop:
|
||||
push af
|
||||
ld a, [wNamedObjectIndexBuffer]
|
||||
cp [hl]
|
||||
jr z, .found
|
||||
inc hl
|
||||
inc hl
|
||||
pop af
|
||||
dec a
|
||||
jr nz, .ScanMapLoop
|
||||
and a
|
||||
ret
|
||||
|
||||
.found
|
||||
pop af
|
||||
jp .AppendNest
|
||||
|
||||
.AppendNest:
|
||||
push de
|
||||
call GetWorldMapLocation
|
||||
ld c, a
|
||||
hlcoord 0, 0
|
||||
ld de, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
.AppendNestLoop:
|
||||
ld a, [hli]
|
||||
cp c
|
||||
jr z, .found_nest
|
||||
dec de
|
||||
ld a, e
|
||||
or d
|
||||
jr nz, .AppendNestLoop
|
||||
ld a, c
|
||||
pop de
|
||||
scf
|
||||
ret
|
||||
|
||||
.found_nest
|
||||
pop de
|
||||
and a
|
||||
ret
|
||||
|
||||
.RoamMon1:
|
||||
ld a, [wRoamMon1Species]
|
||||
ld b, a
|
||||
ld a, [wNamedObjectIndexBuffer]
|
||||
cp b
|
||||
ret nz
|
||||
ld a, [wRoamMon1MapGroup]
|
||||
ld b, a
|
||||
ld a, [wRoamMon1MapNumber]
|
||||
ld c, a
|
||||
call .AppendNest
|
||||
ret nc
|
||||
ld [de], a
|
||||
inc de
|
||||
ret
|
||||
|
||||
.RoamMon2:
|
||||
ld a, [wRoamMon2Species]
|
||||
ld b, a
|
||||
ld a, [wNamedObjectIndexBuffer]
|
||||
cp b
|
||||
ret nz
|
||||
ld a, [wRoamMon2MapGroup]
|
||||
ld b, a
|
||||
ld a, [wRoamMon2MapNumber]
|
||||
ld c, a
|
||||
call .AppendNest
|
||||
ret nc
|
||||
ld [de], a
|
||||
inc de
|
||||
ret
|
||||
|
||||
.RoamMon3:
|
||||
ld a, [wRoamMon3Species]
|
||||
ld b, a
|
||||
ld a, [wNamedObjectIndexBuffer]
|
||||
cp b
|
||||
ret nz
|
||||
ld a, [wRoamMon3MapGroup]
|
||||
ld b, a
|
||||
ld a, [wRoamMon3MapNumber]
|
||||
ld c, a
|
||||
call .AppendNest
|
||||
ret nc
|
||||
ld [de], a
|
||||
inc de
|
||||
ret
|
||||
|
||||
TryWildEncounter::
|
||||
; Try to trigger a wild encounter.
|
||||
call .EncounterRate
|
||||
jr nc, .no_battle
|
||||
call ChooseWildEncounter
|
||||
jr nz, .no_battle
|
||||
call CheckRepelEffect
|
||||
jr nc, .no_battle
|
||||
xor a
|
||||
ret
|
||||
|
||||
.no_battle
|
||||
xor a ; BATTLETYPE_NORMAL
|
||||
ld [wTempWildMonSpecies], a
|
||||
ld [wBattleType], a
|
||||
ld a, 1
|
||||
and a
|
||||
ret
|
||||
|
||||
.EncounterRate:
|
||||
call GetMapEncounterRate
|
||||
call ApplyMusicEffectOnEncounterRate
|
||||
call ApplyCleanseTagEffectOnEncounterRate
|
||||
call Random
|
||||
cp b
|
||||
ret
|
||||
|
||||
GetMapEncounterRate:
|
||||
ld hl, wMornEncounterRate
|
||||
call CheckOnWater
|
||||
ld a, wWaterEncounterRate - wMornEncounterRate
|
||||
jr z, .ok
|
||||
ld a, [wTimeOfDay]
|
||||
.ok
|
||||
ld c, a
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
ld b, [hl]
|
||||
ret
|
||||
|
||||
ApplyMusicEffectOnEncounterRate::
|
||||
; Pokemon March and Ruins of Alph signal double encounter rate.
|
||||
; Pokemon Lullaby halves encounter rate.
|
||||
ld a, [wMapMusic]
|
||||
cp MUSIC_POKEMON_MARCH
|
||||
jr z, .double
|
||||
cp MUSIC_RUINS_OF_ALPH_RADIO
|
||||
jr z, .double
|
||||
cp MUSIC_POKEMON_LULLABY
|
||||
ret nz
|
||||
srl b
|
||||
ret
|
||||
|
||||
.double
|
||||
sla b
|
||||
ret
|
||||
|
||||
ApplyCleanseTagEffectOnEncounterRate::
|
||||
; Cleanse Tag halves encounter rate.
|
||||
ld hl, wPartyMon1Item
|
||||
ld de, PARTYMON_STRUCT_LENGTH
|
||||
ld a, [wPartyCount]
|
||||
ld c, a
|
||||
.loop
|
||||
ld a, [hl]
|
||||
cp CLEANSE_TAG
|
||||
jr z, .cleansetag
|
||||
add hl, de
|
||||
dec c
|
||||
jr nz, .loop
|
||||
ret
|
||||
|
||||
.cleansetag
|
||||
srl b
|
||||
ret
|
||||
|
||||
ChooseWildEncounter:
|
||||
call LoadWildMonDataPointer
|
||||
jp nc, .nowildbattle
|
||||
call CheckEncounterRoamMon
|
||||
jp c, .startwildbattle
|
||||
|
||||
inc hl
|
||||
inc hl
|
||||
inc hl
|
||||
call CheckOnWater
|
||||
ld de, WaterMonProbTable
|
||||
jr z, .watermon
|
||||
inc hl
|
||||
inc hl
|
||||
ld a, [wTimeOfDay]
|
||||
ld bc, NUM_GRASSMON * 2
|
||||
call AddNTimes
|
||||
ld de, GrassMonProbTable
|
||||
|
||||
.watermon
|
||||
; hl contains the pointer to the wild mon data, let's save that to the stack
|
||||
push hl
|
||||
.randomloop
|
||||
call Random
|
||||
cp 100
|
||||
jr nc, .randomloop
|
||||
inc a ; 1 <= a <= 100
|
||||
ld b, a
|
||||
ld h, d
|
||||
ld l, e
|
||||
; This next loop chooses which mon to load up.
|
||||
.prob_bracket_loop
|
||||
ld a, [hli]
|
||||
cp b
|
||||
jr nc, .got_it
|
||||
inc hl
|
||||
jr .prob_bracket_loop
|
||||
|
||||
.got_it
|
||||
ld c, [hl]
|
||||
ld b, 0
|
||||
pop hl
|
||||
add hl, bc ; this selects our mon
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
; If the Pokemon is encountered by surfing, we need to give the levels some variety.
|
||||
call CheckOnWater
|
||||
jr nz, .ok
|
||||
; Check if we buff the wild mon, and by how much.
|
||||
call Random
|
||||
cp 35 percent
|
||||
jr c, .ok
|
||||
inc b
|
||||
cp 65 percent
|
||||
jr c, .ok
|
||||
inc b
|
||||
cp 85 percent
|
||||
jr c, .ok
|
||||
inc b
|
||||
cp 95 percent
|
||||
jr c, .ok
|
||||
inc b
|
||||
; Store the level
|
||||
.ok
|
||||
ld a, b
|
||||
ld [wCurPartyLevel], a
|
||||
ld b, [hl]
|
||||
; ld a, b
|
||||
call ValidateTempWildMonSpecies
|
||||
jr c, .nowildbattle
|
||||
|
||||
ld a, b ; This is in the wrong place.
|
||||
cp UNOWN
|
||||
jr nz, .done
|
||||
|
||||
ld a, [wUnlockedUnowns]
|
||||
and a
|
||||
jr z, .nowildbattle
|
||||
|
||||
.done
|
||||
jr .loadwildmon
|
||||
|
||||
.nowildbattle
|
||||
ld a, 1
|
||||
and a
|
||||
ret
|
||||
|
||||
.loadwildmon
|
||||
ld a, b
|
||||
ld [wTempWildMonSpecies], a
|
||||
|
||||
.startwildbattle
|
||||
xor a
|
||||
ret
|
||||
|
||||
INCLUDE "data/wild/probabilities.asm"
|
||||
|
||||
CheckRepelEffect::
|
||||
; If there is no active Repel, there's no need to be here.
|
||||
ld a, [wRepelEffect]
|
||||
and a
|
||||
jr z, .encounter
|
||||
; Get the first Pokemon in your party that isn't fainted.
|
||||
ld hl, wPartyMon1HP
|
||||
ld bc, PARTYMON_STRUCT_LENGTH - 1
|
||||
.loop
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
jr nz, .ok
|
||||
add hl, bc
|
||||
jr .loop
|
||||
|
||||
.ok
|
||||
; to PartyMonLevel
|
||||
rept 4
|
||||
dec hl
|
||||
endr
|
||||
|
||||
ld a, [wCurPartyLevel]
|
||||
cp [hl]
|
||||
jr nc, .encounter
|
||||
and a
|
||||
ret
|
||||
|
||||
.encounter
|
||||
scf
|
||||
ret
|
||||
|
||||
LoadWildMonDataPointer:
|
||||
call CheckOnWater
|
||||
jr z, _WaterWildmonLookup
|
||||
|
||||
_GrassWildmonLookup:
|
||||
ld hl, SwarmGrassWildMons
|
||||
ld bc, GRASS_WILDDATA_LENGTH
|
||||
call _SwarmWildmonCheck
|
||||
ret c
|
||||
ld hl, JohtoGrassWildMons
|
||||
ld de, KantoGrassWildMons
|
||||
call _JohtoWildmonCheck
|
||||
ld bc, GRASS_WILDDATA_LENGTH
|
||||
jr _NormalWildmonOK
|
||||
|
||||
_WaterWildmonLookup:
|
||||
ld hl, SwarmWaterWildMons
|
||||
ld bc, WATER_WILDDATA_LENGTH
|
||||
call _SwarmWildmonCheck
|
||||
ret c
|
||||
ld hl, JohtoWaterWildMons
|
||||
ld de, KantoWaterWildMons
|
||||
call _JohtoWildmonCheck
|
||||
ld bc, WATER_WILDDATA_LENGTH
|
||||
jr _NormalWildmonOK
|
||||
|
||||
_JohtoWildmonCheck:
|
||||
call IsInJohto
|
||||
and a
|
||||
ret z
|
||||
ld h, d
|
||||
ld l, e
|
||||
ret
|
||||
|
||||
_SwarmWildmonCheck:
|
||||
call CopyCurrMapDE
|
||||
ld a, [wDunsparceMapGroup]
|
||||
cp d
|
||||
jr nz, _NoSwarmWildmon
|
||||
ld a, [wDunsparceMapNumber]
|
||||
cp e
|
||||
jr nz, _NoSwarmWildmon
|
||||
call LookUpWildmonsForMapDE
|
||||
jr nc, _NoSwarmWildmon
|
||||
scf
|
||||
ret
|
||||
|
||||
_NoSwarmWildmon:
|
||||
and a
|
||||
ret
|
||||
|
||||
_NormalWildmonOK:
|
||||
call CopyCurrMapDE
|
||||
jr LookUpWildmonsForMapDE
|
||||
|
||||
CopyCurrMapDE:
|
||||
ld a, [wMapGroup]
|
||||
ld d, a
|
||||
ld a, [wMapNumber]
|
||||
ld e, a
|
||||
ret
|
||||
|
||||
LookUpWildmonsForMapDE:
|
||||
.loop
|
||||
push hl
|
||||
ld a, [hl]
|
||||
inc a
|
||||
jr z, .nope
|
||||
ld a, d
|
||||
cp [hl]
|
||||
jr nz, .next
|
||||
inc hl
|
||||
ld a, e
|
||||
cp [hl]
|
||||
jr z, .yup
|
||||
|
||||
.next
|
||||
pop hl
|
||||
add hl, bc
|
||||
jr .loop
|
||||
|
||||
.nope
|
||||
pop hl
|
||||
and a
|
||||
ret
|
||||
|
||||
.yup
|
||||
pop hl
|
||||
scf
|
||||
ret
|
||||
|
||||
InitRoamMons:
|
||||
; initialize wRoamMon structs
|
||||
|
||||
; species
|
||||
ld a, RAIKOU
|
||||
ld [wRoamMon1Species], a
|
||||
ld a, ENTEI
|
||||
ld [wRoamMon2Species], a
|
||||
ld a, SUICUNE
|
||||
ld [wRoamMon3Species], a
|
||||
|
||||
; level
|
||||
ld a, 40
|
||||
ld [wRoamMon1Level], a
|
||||
ld [wRoamMon2Level], a
|
||||
ld [wRoamMon3Level], a
|
||||
|
||||
; raikou starting map
|
||||
ld a, GROUP_ROUTE_42
|
||||
ld [wRoamMon1MapGroup], a
|
||||
ld a, MAP_ROUTE_42
|
||||
ld [wRoamMon1MapNumber], a
|
||||
|
||||
; entei starting map
|
||||
ld a, GROUP_ROUTE_37
|
||||
ld [wRoamMon2MapGroup], a
|
||||
ld a, MAP_ROUTE_37
|
||||
ld [wRoamMon2MapNumber], a
|
||||
|
||||
; suicune starting map
|
||||
ld a, GROUP_ROUTE_38
|
||||
ld [wRoamMon3MapGroup], a
|
||||
ld a, MAP_ROUTE_38
|
||||
ld [wRoamMon3MapNumber], a
|
||||
|
||||
; hp
|
||||
xor a ; generate new stats
|
||||
ld [wRoamMon1HP], a
|
||||
ld [wRoamMon2HP], a
|
||||
ld [wRoamMon3HP], a
|
||||
|
||||
ret
|
||||
|
||||
CheckEncounterRoamMon:
|
||||
push hl
|
||||
; Don't trigger an encounter if we're on water.
|
||||
call CheckOnWater
|
||||
jr z, .DontEncounterRoamMon
|
||||
; Load the current map group and number to de
|
||||
call CopyCurrMapDE
|
||||
; Randomly select a beast.
|
||||
call Random
|
||||
cp 100 ; 25/64 chance
|
||||
jr nc, .DontEncounterRoamMon
|
||||
and %00000011 ; Of that, a 3/4 chance. Running total: 75/256, or around 29.3%.
|
||||
jr z, .DontEncounterRoamMon
|
||||
dec a ; 1/3 chance that it's Entei, 1/3 chance that it's Raikou, 1/3 chance that it's Suicune
|
||||
; Compare its current location with yours
|
||||
ld hl, wRoamMon1MapGroup
|
||||
ld c, a
|
||||
ld b, 0
|
||||
ld a, 7 ; length of the roam_struct
|
||||
call AddNTimes
|
||||
ld a, d
|
||||
cp [hl]
|
||||
jr nz, .DontEncounterRoamMon
|
||||
inc hl
|
||||
ld a, e
|
||||
cp [hl]
|
||||
jr nz, .DontEncounterRoamMon
|
||||
; We've decided to take on a beast, so stage its information for battle.
|
||||
dec hl
|
||||
dec hl
|
||||
dec hl
|
||||
ld a, [hli]
|
||||
ld [wTempWildMonSpecies], a
|
||||
ld a, [hl]
|
||||
ld [wCurPartyLevel], a
|
||||
ld a, BATTLETYPE_ROAMING
|
||||
ld [wBattleType], a
|
||||
|
||||
pop hl
|
||||
scf
|
||||
ret
|
||||
|
||||
.DontEncounterRoamMon:
|
||||
pop hl
|
||||
and a
|
||||
ret
|
||||
|
||||
UpdateRoamMons:
|
||||
ld a, [wRoamMon1MapGroup]
|
||||
cp GROUP_N_A
|
||||
jr z, .SkipRaikou
|
||||
ld b, a
|
||||
ld a, [wRoamMon1MapNumber]
|
||||
ld c, a
|
||||
call .Update
|
||||
ld a, b
|
||||
ld [wRoamMon1MapGroup], a
|
||||
ld a, c
|
||||
ld [wRoamMon1MapNumber], a
|
||||
|
||||
.SkipRaikou:
|
||||
ld a, [wRoamMon2MapGroup]
|
||||
cp GROUP_N_A
|
||||
jr z, .SkipEntei
|
||||
ld b, a
|
||||
ld a, [wRoamMon2MapNumber]
|
||||
ld c, a
|
||||
call .Update
|
||||
ld a, b
|
||||
ld [wRoamMon2MapGroup], a
|
||||
ld a, c
|
||||
ld [wRoamMon2MapNumber], a
|
||||
|
||||
.SkipEntei:
|
||||
ld a, [wRoamMon3MapGroup]
|
||||
cp GROUP_N_A
|
||||
jr z, .Finished
|
||||
ld b, a
|
||||
ld a, [wRoamMon3MapNumber]
|
||||
ld c, a
|
||||
call .Update
|
||||
ld a, b
|
||||
ld [wRoamMon3MapGroup], a
|
||||
ld a, c
|
||||
ld [wRoamMon3MapNumber], a
|
||||
|
||||
.Finished:
|
||||
jp _BackUpMapIndices
|
||||
|
||||
.Update:
|
||||
ld hl, RoamMaps
|
||||
.loop
|
||||
; Are we at the end of the table?
|
||||
ld a, [hl]
|
||||
cp -1
|
||||
ret z
|
||||
; Is this the correct entry?
|
||||
ld a, b
|
||||
cp [hl]
|
||||
jr nz, .next
|
||||
inc hl
|
||||
ld a, c
|
||||
cp [hl]
|
||||
jr z, .yes
|
||||
; We don't have the correct entry yet, so let's continue. A 0 terminates each entry.
|
||||
.next
|
||||
ld a, [hli]
|
||||
and a
|
||||
jr nz, .next
|
||||
jr .loop
|
||||
|
||||
; We have the correct entry now, so let's choose a random map from it.
|
||||
.yes
|
||||
inc hl
|
||||
ld d, h
|
||||
ld e, l
|
||||
.update_loop
|
||||
ld h, d
|
||||
ld l, e
|
||||
; Choose which map to warp to.
|
||||
call Random
|
||||
and %00011111 ; 1/8n chance it moves to a completely random map, where n is the number of roaming connections from the current map.
|
||||
jr z, JumpRoamMon
|
||||
and %11
|
||||
cp [hl]
|
||||
jr nc, .update_loop ; invalid index, try again
|
||||
inc hl
|
||||
ld c, a
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
add hl, bc
|
||||
ld a, [wRoamMons_LastMapGroup]
|
||||
cp [hl]
|
||||
jr nz, .done
|
||||
inc hl
|
||||
ld a, [wRoamMons_LastMapNumber]
|
||||
cp [hl]
|
||||
jr z, .update_loop
|
||||
dec hl
|
||||
|
||||
.done
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
ld c, [hl]
|
||||
ret
|
||||
|
||||
JumpRoamMons:
|
||||
ld a, [wRoamMon1MapGroup]
|
||||
cp GROUP_N_A
|
||||
jr z, .SkipRaikou
|
||||
call JumpRoamMon
|
||||
ld a, b
|
||||
ld [wRoamMon1MapGroup], a
|
||||
ld a, c
|
||||
ld [wRoamMon1MapNumber], a
|
||||
|
||||
.SkipRaikou:
|
||||
ld a, [wRoamMon2MapGroup]
|
||||
cp GROUP_N_A
|
||||
jr z, .SkipEntei
|
||||
call JumpRoamMon
|
||||
ld a, b
|
||||
ld [wRoamMon2MapGroup], a
|
||||
ld a, c
|
||||
ld [wRoamMon2MapNumber], a
|
||||
|
||||
.SkipEntei:
|
||||
ld a, [wRoamMon3MapGroup]
|
||||
cp GROUP_N_A
|
||||
jr z, .Finished
|
||||
call JumpRoamMon
|
||||
ld a, b
|
||||
ld [wRoamMon3MapGroup], a
|
||||
ld a, c
|
||||
ld [wRoamMon3MapNumber], a
|
||||
|
||||
.Finished:
|
||||
jp _BackUpMapIndices
|
||||
|
||||
JumpRoamMon:
|
||||
.loop
|
||||
ld hl, RoamMaps
|
||||
.innerloop1 ; This loop happens to be unnecessary.
|
||||
call Random ; Choose a random number.
|
||||
maskbits NUM_ROAMMON_MAPS ; Mask the number to limit it between 0 and 15.
|
||||
cp NUM_ROAMMON_MAPS ; If the number is not less than 16, try again.
|
||||
jr nc, .innerloop1 ; I'm sure you can guess why this check is bogus.
|
||||
inc a
|
||||
ld b, a
|
||||
.innerloop2 ; Loop to get hl to the address of the chosen roam map.
|
||||
dec b
|
||||
jr z, .ok
|
||||
.innerloop3 ; Loop to skip the current roam map, which is terminated by a 0.
|
||||
ld a, [hli]
|
||||
and a
|
||||
jr nz, .innerloop3
|
||||
jr .innerloop2
|
||||
; Check to see if the selected map is the one the player is currently in. If so, try again.
|
||||
.ok
|
||||
ld a, [wMapGroup]
|
||||
cp [hl]
|
||||
jr nz, .done
|
||||
inc hl
|
||||
ld a, [wMapNumber]
|
||||
cp [hl]
|
||||
jr z, .loop
|
||||
dec hl
|
||||
; Return the map group and number in bc.
|
||||
.done
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
ld c, [hl]
|
||||
ret
|
||||
|
||||
_BackUpMapIndices:
|
||||
ld a, [wRoamMons_CurMapNumber]
|
||||
ld [wRoamMons_LastMapNumber], a
|
||||
ld a, [wRoamMons_CurMapGroup]
|
||||
ld [wRoamMons_LastMapGroup], a
|
||||
ld a, [wMapNumber]
|
||||
ld [wRoamMons_CurMapNumber], a
|
||||
ld a, [wMapGroup]
|
||||
ld [wRoamMons_CurMapGroup], a
|
||||
ret
|
||||
|
||||
INCLUDE "data/wild/roammon_maps.asm"
|
||||
|
||||
ValidateTempWildMonSpecies:
|
||||
; Due to a development oversight, this function is called with the wild Pokemon's level, not its species, in a.
|
||||
and a
|
||||
jr z, .nowildmon ; = 0
|
||||
cp NUM_POKEMON + 1 ; 252
|
||||
jr nc, .nowildmon ; >= 252
|
||||
and a ; 1 <= Species <= 251
|
||||
ret
|
||||
|
||||
.nowildmon
|
||||
scf
|
||||
ret
|
||||
|
||||
; Finds a rare wild Pokemon in the route of the trainer calling, then checks if it's been Seen already.
|
||||
; The trainer will then tell you about the Pokemon if you haven't seen it.
|
||||
RandomUnseenWildMon:
|
||||
farcall GetCallerLocation
|
||||
ld d, b
|
||||
ld e, c
|
||||
ld hl, JohtoGrassWildMons
|
||||
ld bc, GRASS_WILDDATA_LENGTH
|
||||
call LookUpWildmonsForMapDE
|
||||
jr c, .GetGrassmon
|
||||
ld hl, KantoGrassWildMons
|
||||
call LookUpWildmonsForMapDE
|
||||
jr nc, .done
|
||||
|
||||
.GetGrassmon:
|
||||
push hl
|
||||
ld bc, 5 + 4 * 2 ; Location of the level of the 5th wild Pokemon in that map
|
||||
add hl, bc
|
||||
ld a, [wTimeOfDay]
|
||||
ld bc, NUM_GRASSMON * 2
|
||||
call AddNTimes
|
||||
.randloop1
|
||||
call Random
|
||||
and %11
|
||||
jr z, .randloop1
|
||||
dec a
|
||||
ld c, a
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
add hl, bc
|
||||
; We now have the pointer to one of the last (rarest) three wild Pokemon found in that area.
|
||||
inc hl
|
||||
ld c, [hl] ; Contains the species index of this rare Pokemon
|
||||
pop hl
|
||||
ld de, 5 + 0 * 2
|
||||
add hl, de
|
||||
inc hl ; Species index of the most common Pokemon on that route
|
||||
ld b, 4
|
||||
.loop2
|
||||
ld a, [hli]
|
||||
cp c ; Compare this most common Pokemon with the rare one stored in c.
|
||||
jr z, .done
|
||||
inc hl
|
||||
dec b
|
||||
jr nz, .loop2
|
||||
; This Pokemon truly is rare.
|
||||
push bc
|
||||
dec c
|
||||
ld a, c
|
||||
call CheckSeenMon
|
||||
pop bc
|
||||
jr nz, .done
|
||||
; Since we haven't seen it, have the caller tell us about it.
|
||||
ld de, wStringBuffer1
|
||||
call CopyName1
|
||||
ld a, c
|
||||
ld [wNamedObjectIndexBuffer], a
|
||||
call GetPokemonName
|
||||
ld hl, .JustSawSomeRareMonText
|
||||
call PrintText
|
||||
xor a
|
||||
ld [wScriptVar], a
|
||||
ret
|
||||
|
||||
.done
|
||||
ld a, $1
|
||||
ld [wScriptVar], a
|
||||
ret
|
||||
|
||||
.JustSawSomeRareMonText:
|
||||
text_far _JustSawSomeRareMonText
|
||||
text_end
|
||||
|
||||
RandomPhoneWildMon:
|
||||
farcall GetCallerLocation
|
||||
ld d, b
|
||||
ld e, c
|
||||
ld hl, JohtoGrassWildMons
|
||||
ld bc, GRASS_WILDDATA_LENGTH
|
||||
call LookUpWildmonsForMapDE
|
||||
jr c, .ok
|
||||
ld hl, KantoGrassWildMons
|
||||
call LookUpWildmonsForMapDE
|
||||
|
||||
.ok
|
||||
ld bc, 5 + 0 * 2
|
||||
add hl, bc
|
||||
ld a, [wTimeOfDay]
|
||||
inc a
|
||||
ld bc, NUM_GRASSMON * 2
|
||||
.loop
|
||||
dec a
|
||||
jr z, .done
|
||||
add hl, bc
|
||||
jr .loop
|
||||
|
||||
.done
|
||||
call Random
|
||||
and %11
|
||||
ld c, a
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
add hl, bc
|
||||
inc hl
|
||||
ld a, [hl]
|
||||
ld [wNamedObjectIndexBuffer], a
|
||||
call GetPokemonName
|
||||
ld hl, wStringBuffer1
|
||||
ld de, wStringBuffer4
|
||||
ld bc, MON_NAME_LENGTH
|
||||
jp CopyBytes
|
||||
|
||||
RandomPhoneMon:
|
||||
; Get a random monster owned by the trainer who's calling.
|
||||
farcall GetCallerLocation
|
||||
ld hl, TrainerGroups
|
||||
ld a, d
|
||||
dec a
|
||||
ld c, a
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
add hl, bc
|
||||
ld a, BANK(TrainerGroups)
|
||||
call GetFarHalfword
|
||||
|
||||
.skip_trainer
|
||||
dec e
|
||||
jr z, .skipped
|
||||
.skip
|
||||
ld a, BANK(Trainers)
|
||||
call GetFarByte
|
||||
inc hl
|
||||
cp -1
|
||||
jr nz, .skip
|
||||
jr .skip_trainer
|
||||
.skipped
|
||||
|
||||
.skip_name
|
||||
ld a, BANK(Trainers)
|
||||
call GetFarByte
|
||||
inc hl
|
||||
cp "@"
|
||||
jr nz, .skip_name
|
||||
|
||||
ld a, BANK(Trainers)
|
||||
call GetFarByte
|
||||
inc hl
|
||||
ld bc, 2 ; level, species
|
||||
cp TRAINERTYPE_NORMAL
|
||||
jr z, .got_mon_length
|
||||
ld bc, 2 + NUM_MOVES ; level, species, moves
|
||||
cp TRAINERTYPE_MOVES
|
||||
jr z, .got_mon_length
|
||||
ld bc, 2 + 1 ; level, species, item
|
||||
cp TRAINERTYPE_ITEM
|
||||
jr z, .got_mon_length
|
||||
; TRAINERTYPE_ITEM_MOVES
|
||||
ld bc, 2 + 1 + NUM_MOVES ; level, species, item, moves
|
||||
.got_mon_length
|
||||
|
||||
ld e, 0
|
||||
push hl
|
||||
.count_mon
|
||||
inc e
|
||||
add hl, bc
|
||||
ld a, BANK(Trainers)
|
||||
call GetFarByte
|
||||
cp -1
|
||||
jr nz, .count_mon
|
||||
pop hl
|
||||
|
||||
.rand
|
||||
call Random
|
||||
maskbits PARTY_LENGTH
|
||||
cp e
|
||||
jr nc, .rand
|
||||
|
||||
inc a
|
||||
.get_mon
|
||||
dec a
|
||||
jr z, .got_mon
|
||||
add hl, bc
|
||||
jr .get_mon
|
||||
.got_mon
|
||||
|
||||
inc hl ; species
|
||||
ld a, BANK(Trainers)
|
||||
call GetFarByte
|
||||
ld [wNamedObjectIndexBuffer], a
|
||||
call GetPokemonName
|
||||
ld hl, wStringBuffer1
|
||||
ld de, wStringBuffer4
|
||||
ld bc, MON_NAME_LENGTH
|
||||
jp CopyBytes
|
||||
|
||||
;INCLUDE "data/wild/johto_grass.asm"
|
||||
;INCLUDE "data/wild/johto_water.asm"
|
||||
;INCLUDE "data/wild/kanto_grass.asm"
|
||||
;INCLUDE "data/wild/kanto_water.asm"
|
||||
;INCLUDE "data/wild/swarm_grass.asm"
|
||||
;INCLUDE "data/wild/swarm_water.asm"
|
||||
@@ -50,14 +50,11 @@ ROMX $08
|
||||
org $4000
|
||||
"bank8"
|
||||
ROMX $09
|
||||
org $4000
|
||||
"bank9"
|
||||
ROMX $0a
|
||||
org $4000
|
||||
"banka"
|
||||
"bankA"
|
||||
ROMX $0b
|
||||
org $4000
|
||||
"bankb"
|
||||
"bankB"
|
||||
ROMX $0c
|
||||
org $4000
|
||||
"bankc"
|
||||
|
||||
44
main.asm
44
main.asm
@@ -249,38 +249,26 @@ INCLUDE "engine/battle/consume_held_item.asm"
|
||||
INCLUDE "data/moves/effects.asm"
|
||||
|
||||
|
||||
SECTION "banka", ROMX
|
||||
SECTION "bankA", ROMX
|
||||
|
||||
INCLUDE "engine/link/link.asm"
|
||||
INCLUDE "engine/link/mystery_gift.asm"
|
||||
INCLUDE "engine/overworld/wildmons.asm"
|
||||
|
||||
LoadWildMonData::
|
||||
dr $2a539, $2a643
|
||||
TryWildEncounter::
|
||||
dr $2a643, $2a680
|
||||
ApplyMusicEffectOnEncounterRate::
|
||||
dr $2a680, $2a694
|
||||
ApplyCleanseTagEffectOnEncounterRate::
|
||||
dr $2a694, $2a73b
|
||||
CheckRepelEffect::
|
||||
dr $2a73b, $2a7d7
|
||||
InitRoamMons::
|
||||
dr $2a7d7, $2a859
|
||||
UpdateRoamMons::
|
||||
dr $2a859, $2a8e0
|
||||
JumpRoamMons::
|
||||
dr $2a8e0, $2a9f7
|
||||
RandomUnseenWildMon::
|
||||
dr $2a9f7, $2aa6b
|
||||
RandomPhoneWildMon::
|
||||
dr $2aa6b, $2aab3
|
||||
RandomPhoneMon::
|
||||
dr $2aab3, $2ab35
|
||||
JohtoGrassWildMons::
|
||||
dr $2ab35, $2bee3
|
||||
dr $2ab35, $2b669
|
||||
JohtoWaterWildMons::
|
||||
dr $2b669, $2b7c0
|
||||
KantoGrassWildMons::
|
||||
dr $2b7c0, $2bd43
|
||||
KantoWaterWildMons::
|
||||
dr $2bd43, $2be1c
|
||||
SwarmGrassWildMons::
|
||||
dr $2be1c, $2bed9
|
||||
SwarmWaterWildMons::
|
||||
dr $2bed9, $2bee3
|
||||
|
||||
|
||||
SECTION "bankb", ROMX
|
||||
SECTION "bankB", ROMX
|
||||
|
||||
PrintItemDescription::
|
||||
dr $2c000, $2c033
|
||||
@@ -649,7 +637,9 @@ Script_SpecialBillCall::
|
||||
PhoneCall::
|
||||
dr $90298, $902df
|
||||
HangUp::
|
||||
dr $902df, $90641
|
||||
dr $902df, $90414
|
||||
GetCallerLocation::
|
||||
dr $90414, $90641
|
||||
InitClock::
|
||||
dr $90641, $908dc
|
||||
SetDayOfWeek::
|
||||
|
||||
12
wram.asm
12
wram.asm
@@ -1708,10 +1708,10 @@ wd140:: ds 1 ; d140
|
||||
wCurDamage:: ds 2 ; d141
|
||||
wd143:: ds 1 ; d143
|
||||
wd144:: ds 1 ; d144
|
||||
wd145:: ds 1 ; d145
|
||||
wMornEncounterRate:: db ; d145
|
||||
wd146:: ds 1 ; d146
|
||||
wd147:: ds 1 ; d147
|
||||
wd148:: ds 1 ; d148
|
||||
wWaterEncounterRate:: db ; d148
|
||||
wListMoves_MoveIndicesBuffer:: ds NUM_MOVES
|
||||
wPutativeTMHMMove:: db ; d14d
|
||||
wInitListType:: db ; d14e
|
||||
@@ -2646,10 +2646,10 @@ wRoamMon1:: roam_struct wRoamMon1 ; dd1a
|
||||
wRoamMon2:: roam_struct wRoamMon2 ; dd21
|
||||
wRoamMon3:: roam_struct wRoamMon3 ; dd28
|
||||
|
||||
wRoamMons_CurrentMapNumber:: ds 1 ; dd2f
|
||||
wRoamMons_CurrentMapGroup:: ds 1 ; dd30
|
||||
wRoamMons_LastMapNumber:: ds 1 ; dd31
|
||||
wRoamMons_LastMapGroup:: ds 1 ; dd32
|
||||
wRoamMons_CurMapNumber:: db ; dd2f
|
||||
wRoamMons_CurMapGroup:: db ; dd30
|
||||
wRoamMons_LastMapNumber:: db ; dd31
|
||||
wRoamMons_LastMapGroup:: db ; dd32
|
||||
|
||||
wBestMagikarpLengthFeet:: ds 1 ; dd33
|
||||
wBestMagikarpLengthInches:: ds 1 ; dd34
|
||||
|
||||
Reference in New Issue
Block a user