Nihon Route 49, Folage, and Barreau

This commit adds Nihon Route 49. It has everything necessary to work, but the wild Pokemon don't seem to spawn. I've added infrastructure that should allow this to happen, and it works for Kanto, so I am presuming that some other tomfoolery is at work.

I've also added Folage and Barreau, and implemented Folage into the Headbutt Tree table. This was to give them to the Bug Catcher on the route.
This commit is contained in:
Llinos Evans 2023-11-03 22:17:30 +00:00
parent e9cab6db16
commit 9c824b3c5e
65 changed files with 369 additions and 59 deletions

View file

@ -38,6 +38,7 @@ In general, there have been many wild encounter tweaks. View this document for d
- Johto wild encounters have been changed to be more weighted towards Johto Pokemon; eg. Murkrow is available about Ecruteak at night, Misdreavus largely replaces Gastly, etc.
- Kanto wild encounters have generally higher levels to aid in improving the level curve.
- Rock Smash now has variable and larger wild data, featuring rare, location-based Pokemon (eg. Corsola on the shore), and level adjustments to make them more appropriate.
- Viridian Forest has been restored.
- The Pewter Museum of Science has been restored.
- Cerulean Cave has been restored, complete with a Mewtwo fight!

View file

@ -915,6 +915,7 @@
const EVENT_BEAT_BUG_CATCHER_STACEY
const EVENT_BEAT_BUG_CATCHER_ELLIS
const EVENT_BEAT_BUG_CATCHER_ABNER
const EVENT_BEAT_BUG_CATCHER_SIONED
; Officer
const EVENT_BEAT_OFFICER_KEITH
const EVENT_BEAT_OFFICER_DIRK

View file

@ -121,6 +121,7 @@ DEF KANTO_LANDMARK EQU const_value
;const LANDMARK_ONE_ISLAND
DEF NIHON_LANDMARK EQU const_value
const LANDMARK_SILENT_HILLS
const LANDMARK_ROUTE_49
const LANDMARK_BLUE_FOREST
DEF NUM_LANDMARKS EQU const_value

View file

@ -518,6 +518,7 @@ ENDM
newgroup SILENT_HILLS ; 27
map_const SILENT_HILLS, 10, 10 ; 1
map_const DEBUG_ROOM, 20, 20 ; 2
map_const ROUTE_49, 15, 9 ; 3
endgroup
newgroup BLUE_FOREST ; 27

View file

@ -221,6 +221,8 @@ DEF JOHTO_POKEMON EQU const_value
const LEDIAN ; a6
const SPINARAK ; a7
const ARIADOS ; a8
const FOLAGE
const BARREAU
const CROBAT ; a9
const CHINCHOU ; aa
const LANTURN ; ab

View file

@ -348,6 +348,7 @@ DEF KRIS EQU __trainer_class__
const ARNIE4
const ARNIE5
const WAYNE
const SIONED
const BUG_CATCHER_DANE
const BUG_CATCHER_DION
const BUG_CATCHER_STACEY

View file

@ -374,6 +374,9 @@ ENDM
map_attributes Route10South, ROUTE_10_SOUTH, $2c, NORTH | SOUTH
connection north, Route10North, ROUTE_10_NORTH, 0
connection south, LavenderTown, LAVENDER_TOWN, 0
map_attributes SilentHills, SILENT_HILLS, $00, WEST ; this is on its own for now. add connections to mt. silver later.
connection west, Route49, ROUTE_49, 0
map_attributes Route23, ROUTE_23, $0f, 0
map_attributes SproutTower1F, SPROUT_TOWER_1F, $00, 0
@ -708,7 +711,7 @@ ENDM
map_attributes CeruleanCave1F, CERULEAN_CAVE_1F, $00, 0
map_attributes CeruleanCave2F, CERULEAN_CAVE_2F, $00, 0
map_attributes CeruleanCaveB1F, CERULEAN_CAVE_B1F, $00, 0
map_attributes SilentHills, SILENT_HILLS, $00, 0 ; this is on its own for now. add connections to mt. silver later.
map_attributes DebugRoom, DEBUG_ROOM, $05, 0 ; Debug Room :V
map_attributes CliffCave, CLIFF_CAVE, $00, 0
map_attributes BlueForest, BLUE_FOREST, $00, 0 ; this is on its own for now. add connections later.
map_attributes Route49, ROUTE_49, $00, 0
map_attributes BlueForest, BLUE_FOREST, $00, 0 ; this is on its own for now. add connections later.

View file

@ -1086,3 +1086,6 @@ CliffCave_Blocks:
BlueForest_Blocks:
INCBIN "maps/BlueForest.ablk"
Route49_Blocks:
INCBIN "maps/Route49.ablk"

View file

@ -109,6 +109,7 @@ Landmarks:
landmark 140, 116, FastShipName
assert_table_length NIHON_LANDMARK
landmark 92, 108, SilentHillsName
landmark 91, 108, Route49Name ; probably not correct
landmark 140, 60, BlueForestName
assert_table_length NUM_LANDMARKS
@ -216,4 +217,5 @@ UndergroundName: db "UNDERGROUND@"
BattleTowerName: db "BATTLE¯TOWER@"
SpecialMapName: db "SPECIAL@"
SilentHillsName: db "SILENT¯HILLS@"
Route49Name: db "ROUTE 49@"
BlueForestName: db "BLUE¯FOREST@"

View file

@ -557,6 +557,7 @@ MapGroup_SilentHills:
table_width MAP_LENGTH, MapGroup_SilentHills
map SilentHills, TILESET_NIHON_01, TOWN, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, TRUE, PALETTE_AUTO, FISHGROUP_SHORE
map DebugRoom, TILESET_NIHON_01, TOWN, LANDMARK_SILENT_HILLS, MUSIC_SINJOH_RUINS, TRUE, PALETTE_MORN, FISHGROUP_SHORE
map Route49, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, TRUE, PALETTE_AUTO, FISHGROUP_POND
assert_table_length NUM_SILENT_HILLS_MAPS
MapGroup_BlueForest:

View file

@ -500,4 +500,5 @@ INCLUDE "maps/LakeOfRageMart.asm"
INCLUDE "maps/LakeOfRagePrycesHouse.asm"
INCLUDE "maps/DebugRoom.asm"
INCLUDE "maps/CliffCave.asm"
INCLUDE "maps/Route49.asm"
INCLUDE "maps/BlueForest.asm"

View file

@ -228,6 +228,8 @@ INCLUDE "data/pokemon/base_stats/ledyba.asm"
INCLUDE "data/pokemon/base_stats/ledian.asm"
INCLUDE "data/pokemon/base_stats/spinarak.asm"
INCLUDE "data/pokemon/base_stats/ariados.asm"
INCLUDE "data/pokemon/base_stats/folage.asm"
INCLUDE "data/pokemon/base_stats/barreau.asm"
INCLUDE "data/pokemon/base_stats/crobat.asm"
INCLUDE "data/pokemon/base_stats/chinchou.asm"
INCLUDE "data/pokemon/base_stats/lanturn.asm"

View file

@ -0,0 +1,21 @@
db 0 ; species ID placeholder
db 60, 35, 60, 80, 75, 85
; hp atk def spd sat sdf
db BUG, PSYCHIC_TYPE ; type
db 45 ; catch rate
db 160 ; base exp
db NO_ITEM, SILVERPOWDER ; items
db GENDER_F50 ; gender ratio
db 100 ; unknown 1
db 15 ; step cycles to hatch
db 5 ; unknown 2
INCBIN "gfx/pokemon/barreau/front.dimensions"
dw NULL, NULL ; unused (beta front/back pics)
db GROWTH_MEDIUM_FAST ; growth rate
dn EGG_BUG, EGG_BUG ; egg groups
; tm/hm learnset
tmhm CURSE, TOXIC, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, GIGA_DRAIN, ENDURE, FRUSTRATION, SOLARBEAM, RETURN, PSYCHIC_M, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, REST, ATTRACT, NIGHTMARE, FLASH
; end

View file

@ -0,0 +1,21 @@
db 0 ; species ID placeholder
db 40, 25, 45, 15, 25, 45
; hp atk def spd sat sdf
db BUG, BUG ; type
db 255 ; catch rate
db 53 ; base exp
db NO_ITEM, NO_ITEM ; items
db GENDER_F50 ; gender ratio
db 100 ; unknown 1
db 15 ; step cycles to hatch
db 5 ; unknown 2
INCBIN "gfx/pokemon/folage/front.dimensions"
dw NULL, NULL ; unused (beta front/back pics)
db GROWTH_MEDIUM_FAST ; growth rate
dn EGG_BUG, EGG_BUG ; egg groups
; tm/hm learnset
tmhm HIDDEN_POWER, PROTECT
; end

View file

@ -207,6 +207,8 @@ PokemonCries::
mon_cry CRY_LEDYBA, -150, 312 ; LEDIAN
mon_cry CRY_SPINARAK, 17, 512 ; SPINARAK
mon_cry CRY_SPINARAK, -174, 482 ; ARIADOS
mon_cry CRY_NIDORAN_M, 0, 0 ; FOLAGE (incomplete)
mon_cry CRY_NIDORAN_M, 0, 0 ; BARREAU (incomplete)
mon_cry CRY_SQUIRTLE, -16, 320 ; CROBAT
mon_cry CRY_CYNDAQUIL, 969, 320 ; CHINCHOU
mon_cry CRY_CYNDAQUIL, 720, 272 ; LANTURN

View file

@ -209,6 +209,8 @@ LedybaPokedexEntry:: INCLUDE "data/pokemon/dex_entries/ledyba.asm"
LedianPokedexEntry:: INCLUDE "data/pokemon/dex_entries/ledian.asm"
SpinarakPokedexEntry:: INCLUDE "data/pokemon/dex_entries/spinarak.asm"
AriadosPokedexEntry:: INCLUDE "data/pokemon/dex_entries/ariados.asm"
FolagePokedexEntry:: INCLUDE "data/pokemon/dex_entries/folage.asm"
BarreauPokedexEntry:: INCLUDE "data/pokemon/dex_entries/barreau.asm"
CrobatPokedexEntry:: INCLUDE "data/pokemon/dex_entries/crobat.asm"
ChinchouPokedexEntry:: INCLUDE "data/pokemon/dex_entries/chinchou.asm"
LanturnPokedexEntry:: INCLUDE "data/pokemon/dex_entries/lanturn.asm"

View file

@ -0,0 +1,10 @@
db "MOTH@" ; species name
dw 411, 280 ; height, weight
db "The dust covering"
next "its wings scatters"
next "easily, causing"
page "allergic reactions"
next "in attackers. It"
next "loves nectar.@"

View file

@ -0,0 +1,10 @@
db "BAGWORM@" ; species name
dw 100, 75 ; height, weight
db "Dangles in trees."
next "Shaking its home"
next "makes it drop,"
page "scaring passersby."
next "Easy prey for bird"
next "#MON.@"

View file

@ -202,6 +202,8 @@ PokedexDataPointerTable:
dba LedianPokedexEntry
dba SpinarakPokedexEntry
dba AriadosPokedexEntry
dba FolagePokedexEntry
dba BarreauPokedexEntry
dba CrobatPokedexEntry
dba ChinchouPokedexEntry
dba LanturnPokedexEntry

View file

@ -13,6 +13,7 @@ AlphabeticalPokedexOrder:
dw ARIADOS
dw ARTICUNO
dw AZUMARILL
dw BARREAU
dw BAYLEEF
dw BEEDRILL
dw BELLIGNAN
@ -75,6 +76,7 @@ AlphabeticalPokedexOrder:
dw FLAAFFY
dw FLAMBEAR
dw FLAREON
dw FOLAGE
dw FORRETRESS
dw FURRET
dw GASTLY

View file

@ -49,6 +49,8 @@ NewPokedexOrder:
dw LEDIAN
dw SPINARAK
dw ARIADOS
dw FOLAGE
dw BARREAU
dw GEODUDE
dw GRAVELER
dw GOLEM

View file

@ -24,6 +24,8 @@ EggMovePointers2::
dw NoEggMoves2
dw SpinarakEggMoves
dw NoEggMoves2
dw NoEggMoves2 ; Folage
dw NoEggMoves2 ; Barreau
dw NoEggMoves2
dw ChinchouEggMoves
dw NoEggMoves2

View file

@ -24,6 +24,8 @@ EvosAttacksPointers2::
dw LedianEvosAttacks
dw SpinarakEvosAttacks
dw AriadosEvosAttacks
dw FolageEvosAttacks
dw BarreauEvosAttacks
dw CrobatEvosAttacks
dw ChinchouEvosAttacks
dw LanturnEvosAttacks
@ -447,6 +449,28 @@ AriadosEvosAttacks:
dbw 63, PSYCHIC_M
db 0 ; no more level-up moves
FolageEvosAttacks:
dbbw EVOLVE_LEVEL, 10, BARREAU
db 0 ; no more evolutions
dbw 1, TACKLE
dbw 1, STRING_SHOT
dbw 1, PROTECT
dbw 10, SAFEGUARD
db 0 ; no more level-up moves
BarreauEvosAttacks:
db 0 ; no more evolutions
dbw 1, CONFUSION
dbw 10, CONFUSION
dbw 13, REFLECT
dbw 13, LIGHT_SCREEN
dbw 18, GUST
dbw 23, WHIRLWIND
dbw 28, PSYBEAM
dbw 34, BARRIER
dbw 40, MIRROR_COAT
db 0 ; no more level-up moves
CrobatEvosAttacks:
db 0 ; no more evolutions
dbw 1, SCREECH

View file

@ -202,6 +202,8 @@ FirstEvoStages::
dw LEDYBA
dw SPINARAK
dw SPINARAK ;a8
dw FOLAGE
dw BARREAU
dw BITTYBAT
dw CHINCHOU
dw CHINCHOU

View file

@ -289,4 +289,6 @@ Pokered_MonIndices:
db BURGELA
db TANGROWTH
db JUNGELA
db FOLAGE
db BARREAU
assert_table_length NUM_POKEMON - 1

View file

@ -203,6 +203,8 @@ MonMenuIcons:
db ICON_BUG ; LEDIAN
db ICON_BUG ; SPINARAK
db ICON_BUG ; ARIADOS
db ICON_BUG ; FOLAGE
db ICON_MOTH ; BARREAU
db ICON_BAT ; CROBAT
db ICON_FISH ; CHINCHOU
db ICON_FISH ; LANTURN

View file

@ -205,6 +205,8 @@ PokemonNames::
db "LEDIAN@@@@"
db "SPINARAK@@"
db "ARIADOS@@@"
db "FOLAGE@@@@"
db "BARREAU@@@"
db "CROBAT@@@@"
db "CHINCHOU@@"
db "LANTURN@@@"

View file

@ -435,6 +435,10 @@ INCBIN "gfx/pokemon/spinarak/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/spinarak/shiny.pal"
INCBIN "gfx/pokemon/ariados/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/ariados/shiny.pal"
INCBIN "gfx/pokemon/folage/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/folage/shiny.pal"
INCBIN "gfx/pokemon/barreau/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/barreau/shiny.pal"
INCBIN "gfx/pokemon/crobat/front.gbcpal", middle_colors
INCLUDE "gfx/pokemon/crobat/shiny.pal"
INCBIN "gfx/pokemon/chinchou/front.gbcpal", middle_colors

View file

@ -415,6 +415,10 @@ PokemonPicPointers::
dba SpinarakBackpic
dba AriadosFrontpic
dba AriadosBackpic
dba FolageFrontpic
dba FolageBackpic
dba BarreauFrontpic
dba BarreauBackpic
dba CrobatFrontpic
dba CrobatBackpic
dba ChinchouFrontpic

Binary file not shown.

View file

@ -14,10 +14,10 @@
tilecoll FLOOR, WALL, WALL, WALL ; 0d
tilecoll WALL, WALL, DOOR, WALL ; 0e
tilecoll WALL, WALL, WALL, WALL ; 0f
tilecoll WALL, WALL, WALL, WALL ; 10
tilecoll WALL, WALL, WALL, WALL ; 11
tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, FLOOR ; 10
tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, CUT_TREE ; 11
tilecoll WALL, WALL, WALL, WALL ; 12
tilecoll WALL, WALL, WALL, WALL ; 13
tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, FLOOR ; 13
tilecoll WALL, WALL, WALL, DOOR ; 14
tilecoll WALL, WALL, WALL, WALL ; 15
tilecoll WALL, WALL, WALL, DOOR ; 16
@ -32,22 +32,22 @@
tilecoll WALL, WALL, WALL, WALL ; 1f
tilecoll WALL, WALL, WALL, WALL ; 20
tilecoll WALL, WALL, WALL, WALL ; 21
tilecoll WALL, WALL, WALL, WALL ; 22
tilecoll WALL, WALL, WALL, WALL ; 23
tilecoll FLOOR, WALL, FLOOR, WALL ; 24
tilecoll WALL, WALL, WALL, WALL ; 25
tilecoll WALL, WALL, WALL, WALL ; 26
tilecoll WALL, WALL, DOOR, WALL ; 27
tilecoll WALL, WALL, WALL, DOOR ; 28
tilecoll WALL, WALL, WALL, WALL ; 29
tilecoll HEADBUTT_TREE, HEADBUTT_TREE, WALL, WALL ; 2a
tilecoll HEADBUTT_TREE, FLOOR, HEADBUTT_TREE, FLOOR ; 22
tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 23
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
tilecoll FLOOR, WALL, WALL, WALL ; 25
tilecoll FLOOR, WALL, FLOOR, WALL ; 26
tilecoll FLOOR, FLOOR, WALL, WALL ; 27
tilecoll WALL, WALL, FLOOR, WALL ; 28
tilecoll WALL, WALL, FLOOR, FLOOR ; 29
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a
tilecoll WALL, WALL, FLOOR, FLOOR ; 2b
tilecoll HEADBUTT_TREE, HEADBUTT_TREE, WALL, WALL ; 2c
tilecoll HEADBUTT_TREE, HEADBUTT_TREE, WALL, WALL ; 2d
tilecoll WALL, WALL, WALL, DOOR ; 2e
tilecoll FLOOR, FLOOR, FLOOR, WALL ; 2c
tilecoll WALL, FLOOR, FLOOR, FLOOR ; 2d
tilecoll FLOOR, FLOOR, WALL, WALL ; 2e
tilecoll FLOOR, FLOOR, WALL, WALL ; 2f
tilecoll BUOY, BUOY, BUOY, WATER ; 30
tilecoll BUOY, BUOY, WATER, WATER ; 31
tilecoll WALL, WALL, FLOOR, WALL ; 30
tilecoll WALL, WALL, FLOOR, WALL ; 31
tilecoll BUOY, BUOY, WATER, BUOY ; 32
tilecoll FLOOR, FLOOR, WALL, WALL ; 33
tilecoll BUOY, WATER, BUOY, WATER ; 34
@ -90,17 +90,17 @@
tilecoll WATER, WATER, WATER, WATER ; 59
tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 5a
tilecoll HEADBUTT_TREE, CUT_TREE, FLOOR, FLOOR ; 5b
tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, FLOOR ; 5c
tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, FLOOR ; 5d
tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, HEADBUTT_TREE ; 5e
tilecoll WALL, WALL, WALL, FLOOR ; 5c
tilecoll WALL, WALL, FLOOR, FLOOR ; 5d
tilecoll WALL, WALL, FLOOR, WALL ; 5e
tilecoll FLOOR, HEADBUTT_TREE, FLOOR, CUT_TREE ; 5f
tilecoll HEADBUTT_TREE, FLOOR, HEADBUTT_TREE, FLOOR ; 60
tilecoll WALL, FLOOR, WALL, FLOOR ; 60
tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 61
tilecoll FLOOR, HEADBUTT_TREE, FLOOR, HEADBUTT_TREE ; 62
tilecoll FLOOR, WALL, FLOOR, WALL ; 62
tilecoll FLOOR, FLOOR, CUT_TREE, HEADBUTT_TREE ; 63
tilecoll HEADBUTT_TREE, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 64
tilecoll FLOOR, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 65
tilecoll FLOOR, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 66
tilecoll WALL, FLOOR, WALL, WALL ; 64
tilecoll FLOOR, FLOOR, WALL, WALL ; 65
tilecoll FLOOR, WALL, WALL, WALL ; 66
tilecoll CUT_TREE, FLOOR, HEADBUTT_TREE, FLOOR ; 67
tilecoll WALL, FLOOR, WALL, FLOOR ; 68
tilecoll FLOOR, WALL, FLOOR, WALL ; 69

Binary file not shown.

View file

@ -2464,6 +2464,14 @@ BugCatcherGroup:
dw PARAS
db -1 ; end
next_list_item ; BUG_CATCHER (20)
db "SIONED@", TRAINERTYPE_NORMAL
db 42
dw BARREAU
db 42
dw CARAPTHOR
db -1 ; end
end_list_items
FisherGroup:
@ -5085,6 +5093,10 @@ TwinsGroup:
end_list_items
; Added this to make room for more stuff.
; Yeah, they filled trainers to max capacity originally. Pretty impressive.
SECTION "Enemy Trainer Parties 3", ROMX
PokefanFGroup:
next_list_item ; POKEFANF (1)
db "BEVERLY@", TRAINERTYPE_ITEM

31
data/wild/nihon_grass.asm Normal file
View file

@ -0,0 +1,31 @@
NihonGrassWildMons:
def_grass_wildmons ROUTE_49
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
; morn
dbw 30, PIDGEY
dbw 31, RATTATA
dbw 30, PIKACHU
dbw 31, MAREEP
dbw 32, HOPPIP
dbw 32, METAPOD
dbw 35, SUNFLORA
; day
dbw 30, PIDGEY
dbw 31, RATTATA
dbw 30, PIKACHU
dbw 31, MAREEP
dbw 32, HOPPIP
dbw 32, METAPOD
dbw 35, GIRAFARIG
; nite
dbw 30, PIDGEY
dbw 31, RATTATA
dbw 30, PIKACHU
dbw 31, MAREEP
dbw 32, HOPPIP
dbw 32, METAPOD
dbw 35, SKARMORY
end_grass_wildmons
db -1 ; end

View file

@ -0,0 +1,3 @@
NihonWaterWildMons:
db -1 ; end

View file

@ -43,7 +43,7 @@ TreeMonSet_Canyon:
TreeMonSet_Town:
; common
dbbw 50, 10, SPEAROW
dbbw 15, 10, EKANS
dbbw 15, 10, FOLAGE
dbbw 15, 10, SPEAROW
dbbw 10, 10, AIPOM
dbbw 5, 10, AIPOM
@ -63,16 +63,16 @@ TreeMonSet_Route:
dbbw 50, 10, HOOTHOOT
dbbw 15, 10, SPINARAK
dbbw 15, 10, LEDYBA
dbbw 10, 10, EXEGGCUTE
dbbw 5, 10, EXEGGCUTE
dbbw 10, 10, FOLAGE
dbbw 5, 10, FOLAGE
dbbw 5, 10, EXEGGCUTE
db -1
; rare
dbbw 50, 10, HOOTHOOT
dbbw 15, 10, PINECO
dbbw 15, 10, PINECO
dbbw 10, 10, EXEGGCUTE
dbbw 5, 10, EXEGGCUTE
dbbw 10, 10, FOLAGE
dbbw 5, 10, FOLAGE
dbbw 5, 10, EXEGGCUTE
db -1
@ -89,8 +89,8 @@ TreeMonSet_Kanto:
dbbw 50, 10, HOOTHOOT
dbbw 15, 10, PINECO
dbbw 15, 10, PINECO
dbbw 10, 10, EXEGGCUTE
dbbw 5, 10, EXEGGCUTE
dbbw 10, 10, FOLAGE
dbbw 5, 10, FOLAGE
dbbw 5, 10, EXEGGCUTE
db -1
@ -99,16 +99,16 @@ TreeMonSet_Lake:
dbbw 50, 10, HOOTHOOT
dbbw 15, 10, VENONAT
dbbw 15, 10, HOOTHOOT
dbbw 10, 10, EXEGGCUTE
dbbw 5, 10, EXEGGCUTE
dbbw 10, 10, FOLAGE
dbbw 5, 10, FOLAGE
dbbw 5, 10, EXEGGCUTE
db -1
; rare
dbbw 50, 10, HOOTHOOT
dbbw 15, 10, PINECO
dbbw 15, 10, PINECO
dbbw 10, 10, EXEGGCUTE
dbbw 5, 10, EXEGGCUTE
dbbw 10, 10, FOLAGE
dbbw 5, 10, FOLAGE
dbbw 5, 10, EXEGGCUTE
db -1
@ -117,14 +117,14 @@ TreeMonSet_Forest:
dbbw 50, 10, HOOTHOOT
dbbw 15, 10, PINECO
dbbw 15, 10, PINECO
dbbw 10, 10, NOCTOWL
dbbw 10, 10, FOLAGE
dbbw 5, 10, BUTTERFREE
dbbw 5, 10, BEEDRILL
db -1
; rare
dbbw 50, 10, HOOTHOOT
dbbw 15, 10, CATERPIE
dbbw 15, 10, WEEDLE
dbbw 15, 10, FOLAGE
dbbw 10, 10, HOOTHOOT
dbbw 5, 10, METAPOD
dbbw 5, 10, KAKUNA

View file

@ -12,6 +12,7 @@ AsleepTreeMonsNite:
dw EXEGGCUTE
dw LEDYBA
dw AIPOM
dw FOLAGE
dw -1 ; end
AsleepTreeMonsDay:

View file

@ -38,6 +38,8 @@ FindNest:
ld b, h
ld c, l
ld a, e
cp 2
jr z, .nihon
and a
jr nz, .kanto
decoord 0, 0
@ -56,6 +58,13 @@ FindNest:
ld hl, KantoWaterWildMons
jp .FindWater
.nihon
decoord 0, 0
ld hl, NihonGrassWildMons
call .FindGrass
ld hl, NihonWaterWildMons
jp .FindWater
.FindGrass:
ld a, [hl]
cp -1
@ -412,8 +421,24 @@ _GrassWildmonLookup:
call _SwarmWildmonCheck
ret c
ld hl, JohtoGrassWildMons
ld de, KantoGrassWildMons
call _JohtoWildmonCheck
; Nihon Check
; Basically, conditionally load Nihon or Kanto into de, depending on region check.
; IsInJohto returns 1 if Kanto, 2 if Nihon.
; This way, when _JohtoWildmonCheck loads, it'll have Nihon's spliced in if you're there.
; This is INCREDIBLY suboptimal. Consider revising.
; As of 3rd Nov '23, this works correctly for Johto and Kanto, but Nihon routes will return nothing.
call IsInJohto ; Run IsInJohto
cp 1 ; If we're in Kanto...
jr z, .skip ; Skip the splicing.
ld de, NihonGrassWildMons ; No? Splice in Nihon.
jr .skip2 ; Now skip loading Kanto.
.skip ; If you skip here, you're in Kanto.
ld de, KantoGrassWildMons ; So take this as normal.
; fallthrough
.skip2 ; If you skip here, you're in Nihon or Johto.
call _JohtoWildmonCheck ; So run this check. More commentary there.
ld bc, GRASS_WILDDATA_LENGTH
jr _NormalWildmonOK
@ -423,18 +448,35 @@ _WaterWildmonLookup:
call _SwarmWildmonCheck
ret c
ld hl, JohtoWaterWildMons
; Nihon Check 2
call IsInJohto
cp 1
jr z, .skip
ld de, NihonWaterWildMons
jr .skip2
.skip
ld de, KantoWaterWildMons
; fallthrough
.skip2
call _JohtoWildmonCheck
ld bc, WATER_WILDDATA_LENGTH
jr _NormalWildmonOK
; The Nihon check works with this, because of the following:
; _JohtoWildmonCheck checks if you're above 0.
; Kanto is 1, Nihon is 2.
; Therefore, it'll always take the data from de.
; We've already decided what de is before between Kanto and Nihon.
; Nothing fancy, but don't worry about it.
_JohtoWildmonCheck:
call IsInJohto
and a
ret z
ld h, d
ld l, e
ret
call IsInJohto ; Check if we're in Johto or not.
and a ; Are we?
ret z ; If zero, skip. This means you're in Johto, so you take what's in hl.
ld h, d ; If you're not, though, you take what's in d...
ld l, e ; and e.
ret ; Therefore, you'll take either Kanto or Nihon wild data.
_SwarmWildmonCheck:
call CopyCurrMapDE
@ -1000,5 +1042,7 @@ 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/nihon_grass.asm"
INCLUDE "data/wild/nihon_water.asm"
INCLUDE "data/wild/swarm_grass.asm"
INCLUDE "data/wild/swarm_water.asm"

View file

@ -202,6 +202,8 @@ INCBIN "gfx/footprints/ledyba.1bpp"
INCBIN "gfx/footprints/ledian.1bpp"
INCBIN "gfx/footprints/spinarak.1bpp"
INCBIN "gfx/footprints/ariados.1bpp"
INCBIN "gfx/footprints/folage.1bpp"
INCBIN "gfx/footprints/barreau.1bpp"
INCBIN "gfx/footprints/crobat.1bpp"
INCBIN "gfx/footprints/chinchou.1bpp"
INCBIN "gfx/footprints/lanturn.1bpp"

BIN
gfx/footprints/barreau.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 B

BIN
gfx/footprints/folage.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 B

View file

@ -794,3 +794,8 @@ PressioFrontpic: INCBIN "gfx/pokemon/pressio/front.animated.2bpp.lz"
PressioBackpic: INCBIN "gfx/pokemon/pressio/back.2bpp.lz"
DonmarinFrontpic: INCBIN "gfx/pokemon/donmarin/front.animated.2bpp.lz"
DonmarinBackpic: INCBIN "gfx/pokemon/donmarin/back.2bpp.lz"
FolageFrontpic: INCBIN "gfx/pokemon/folage/front.animated.2bpp.lz"
FolageBackpic: INCBIN "gfx/pokemon/folage/back.2bpp.lz"
BarreauFrontpic: INCBIN "gfx/pokemon/barreau/front.animated.2bpp.lz"
BarreauBackpic: INCBIN "gfx/pokemon/barreau/back.2bpp.lz"

View file

@ -201,6 +201,8 @@ AnimationPointers:
dw LedianAnimation
dw SpinarakAnimation
dw AriadosAnimation
dw FolageAnimation
dw BarreauAnimation
dw CrobatAnimation
dw ChinchouAnimation
dw LanturnAnimation

View file

@ -199,6 +199,8 @@ LedybaAnimation: INCLUDE "gfx/pokemon/ledyba/anim.asm"
LedianAnimation: INCLUDE "gfx/pokemon/ledian/anim.asm"
SpinarakAnimation: INCLUDE "gfx/pokemon/spinarak/anim.asm"
AriadosAnimation: INCLUDE "gfx/pokemon/ariados/anim.asm"
FolageAnimation: INCLUDE "gfx/pokemon/folage/anim.asm"
BarreauAnimation: INCLUDE "gfx/pokemon/barreau/anim.asm"
CrobatAnimation: INCLUDE "gfx/pokemon/crobat/anim.asm"
ChinchouAnimation: INCLUDE "gfx/pokemon/chinchou/anim.asm"
LanturnAnimation: INCLUDE "gfx/pokemon/lanturn/anim.asm"

View file

@ -0,0 +1 @@
endanim

View file

@ -0,0 +1 @@
endanim

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

View file

@ -0,0 +1,2 @@
RGB 22, 22, 12
RGB 07, 15, 25

View file

@ -201,6 +201,8 @@ BitmasksPointers:
dw LedianBitmasks
dw SpinarakBitmasks
dw AriadosBitmasks
dw FolageBitmasks
dw BarreauBitmasks
dw CrobatBitmasks
dw ChinchouBitmasks
dw LanturnBitmasks

View file

@ -199,6 +199,8 @@ LedybaBitmasks: INCLUDE "gfx/pokemon/ledyba/bitmask.asm"
LedianBitmasks: INCLUDE "gfx/pokemon/ledian/bitmask.asm"
SpinarakBitmasks: INCLUDE "gfx/pokemon/spinarak/bitmask.asm"
AriadosBitmasks: INCLUDE "gfx/pokemon/ariados/bitmask.asm"
FolageBitmasks: INCLUDE "gfx/pokemon/folage/bitmask.asm"
BarreauBitmasks: INCLUDE "gfx/pokemon/barreau/bitmask.asm"
CrobatBitmasks: INCLUDE "gfx/pokemon/crobat/bitmask.asm"
ChinchouBitmasks: INCLUDE "gfx/pokemon/chinchou/bitmask.asm"
LanturnBitmasks: INCLUDE "gfx/pokemon/lanturn/bitmask.asm"

View file

@ -0,0 +1 @@
endanim

View file

@ -0,0 +1 @@
endanim

BIN
gfx/pokemon/folage/back.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 B

View file

@ -0,0 +1,2 @@
RGB 22, 22, 12
RGB 07, 15, 25

View file

@ -201,6 +201,8 @@ FramesPointers:
dba LedianFrames
dba SpinarakFrames
dba AriadosFrames
dba FolageFrames
dba BarreauFrames
dba CrobatFrames
dba ChinchouFrames
dba LanturnFrames

View file

@ -201,6 +201,8 @@ AnimationIdlePointers:
dw LedianAnimationIdle
dw SpinarakAnimationIdle
dw AriadosAnimationIdle
dw FolageAnimationIdle
dw BarreauAnimationIdle
dw CrobatAnimationIdle
dw ChinchouAnimationIdle
dw LanturnAnimationIdle

View file

@ -199,6 +199,8 @@ LedybaAnimationIdle: INCLUDE "gfx/pokemon/ledyba/anim_idle.asm"
LedianAnimationIdle: INCLUDE "gfx/pokemon/ledian/anim_idle.asm"
SpinarakAnimationIdle: INCLUDE "gfx/pokemon/spinarak/anim_idle.asm"
AriadosAnimationIdle: INCLUDE "gfx/pokemon/ariados/anim_idle.asm"
FolageAnimationIdle: INCLUDE "gfx/pokemon/folage/anim_idle.asm"
BarreauAnimationIdle: INCLUDE "gfx/pokemon/barreau/anim_idle.asm"
CrobatAnimationIdle: INCLUDE "gfx/pokemon/crobat/anim_idle.asm"
ChinchouAnimationIdle: INCLUDE "gfx/pokemon/chinchou/anim_idle.asm"
LanturnAnimationIdle: INCLUDE "gfx/pokemon/lanturn/anim_idle.asm"

View file

@ -23,6 +23,8 @@ LedybaFrames: INCLUDE "gfx/pokemon/ledyba/frames.asm"
LedianFrames: INCLUDE "gfx/pokemon/ledian/frames.asm"
SpinarakFrames: INCLUDE "gfx/pokemon/spinarak/frames.asm"
AriadosFrames: INCLUDE "gfx/pokemon/ariados/frames.asm"
FolageFrames: INCLUDE "gfx/pokemon/folage/frames.asm"
BarreauFrames: INCLUDE "gfx/pokemon/barreau/frames.asm"
CrobatFrames: INCLUDE "gfx/pokemon/crobat/frames.asm"
ChinchouFrames: INCLUDE "gfx/pokemon/chinchou/frames.asm"
LanturnFrames: INCLUDE "gfx/pokemon/lanturn/frames.asm"

View file

@ -196,7 +196,6 @@ ROMX $46
ROMX $47
"Battle Tower"
ROMX $48
"Pic Pointers"
"Pics 1"
ROMX $49
"Unown Pic Pointers"
@ -318,6 +317,7 @@ ROMX $7f
"Stadium 2 Checksums"
ROMX $80
"Cries"
"Pic Pointers"
WRAM0
"Stack"
"Audio RAM"

View file

@ -8,12 +8,12 @@ DebugRoom_MapScripts:
DebugPokemon1Script:
opentext
getmonname STRING_BUFFER_3, PALSSIO
getmonname STRING_BUFFER_3, FOLAGE
writetext ReceivedDebugPokemonText
playsound SFX_CAUGHT_MON
waitsfx
promptbutton
givepoke PALSSIO, 42, RARE_CANDY
givepoke FOLAGE, 42, RARE_CANDY
closetext
end

1
maps/Route49.ablk Normal file
View file

@ -0,0 +1 @@
)))($eeeeee$))(&$$$$$$`*,%&.$dee'%*&#$$-$'''%VV\]]"`]]]]]]]]]]]]$

53
maps/Route49.asm Normal file
View file

@ -0,0 +1,53 @@
object_const_def
const ROUTE_49_BUG_CATCHER
Route49_MapScripts:
def_scene_scripts
def_callbacks
TrainerBugCatcherSioned:
trainer BUG_CATCHER, SIONED, EVENT_BEAT_BUG_CATCHER_SIONED, BugCatcherSionedSeenText, BugCatcherSionedBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext BugCatcherSionedAfterText
waitbutton
closetext
end
BugCatcherSionedSeenText:
text "I haven't seen"
line "you around here"
cont "before!"
done
BugCatcherSionedBeatenText:
text "You're good,"
line "too!"
done
BugCatcherSionedAfterText:
text "Foreigners often"
line "say this place"
cont "feels familiar."
para "What's so special"
line "about this place,"
cont "anyhow?"
done
Route49_MapEvents:
db 0, 0 ; filler
def_warp_events
;warp_event 8, 9, SILENT_CAVE, 1
;warp_event 8, 8, SILENT_CAVE, 1
def_coord_events
def_bg_events
def_object_events
object_event 23, 7, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 5, TrainerBugCatcherSioned, -1

View file

@ -1,15 +1,16 @@
Exception: STATUS_ACCESS_VIOLATION at rip=00100401246
rax=FFFFFFF7FFF92891 rbx=0000000000000119 rcx=0000000800000010
rdx=0000000000000000 rsi=0000000800059C23 rdi=0000000000000000
r8 =00000000FFFFC7C4 r9 =0000000000000000 r10=0000000100000000
r11=0000000100401282 r12=000000080006D770 r13=0000000100403148
r14=0000000800059C22 r15=0000000000000001
rbp=0000000100403156 rsp=00000000FFFFCA60
program=C:\cygwin64\home\chipp\jep-hack\tools\scan_includes.exe, pid 2190, thread main
rax=FFFFFFF7FFF8E981 rbx=0000000000000230 rcx=0000000800000010
rdx=0000000000000000 rsi=00000008000715EC rdi=0000000000000000
r8 =00000000FFFFC744 r9 =0000000000000000 r10=0000000100000000
r11=0000000100401282 r12=0000000800071680 r13=0000000100403148
r14=0000000000000000 r15=0000000000000001
rbp=0000000100403156 rsp=00000000FFFFC9E0
program=C:\cygwin64\home\chipp\jep-hack\tools\scan_includes.exe, pid 7298, thread main
cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame Function Args
00100403156 00100401246 (00800059C23, 00000000022, 00100403166, 000FFFFCB90)
00100403156 00100401246 (008000715EC, 00000000022, 00100403166, 00100403148)
00100403156 00100401409 (008000596E3, 00000000022, 00100403166, 000FFFFCB90)
00100403156 00100401409 (00000000000, 00100000001, 00180227860, 00100407000)
00100403178 00100401C87 (00000000020, 00000000000, 00180049B11, 00180048A70)
000FFFFCD30 00180049B7D (00000000000, 00000000000, 00000000000, 00000000000)