Quiet Cave

This adds Quiet Cave, with all the relevant details. Wild Pokemon still don't appear, though.

I defined it as a route, as if it were a cave, the Pokemon would jump out anywhere, regardless of grass.
This commit is contained in:
Llinos Evans 2023-11-04 01:47:45 +00:00
parent 8de60fe1a8
commit e7fb81e28e
19 changed files with 359 additions and 69 deletions

View file

@ -1483,5 +1483,9 @@
const EVENT_BATTLE_TOWER_OPEN_CIVILIANS
; Unused: next 48 events
; Nihon Trainers
const EVENT_BEAT_BUG_CATCHER_ELWYN
const EVENT_BEAT_SCHOOLBOY_PERO
const_next 2048
DEF NUM_EVENTS EQU const_value ; 800

View file

@ -122,6 +122,7 @@ DEF KANTO_LANDMARK EQU const_value
DEF NIHON_LANDMARK EQU const_value
const LANDMARK_SILENT_HILLS
const LANDMARK_ROUTE_49
const LANDMARK_QUIET_CAVE
const LANDMARK_BLUE_FOREST
DEF NUM_LANDMARKS EQU const_value

View file

@ -518,7 +518,8 @@ 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
map_const ROUTE_49, 15, 9 ; 3
map_const QUIET_CAVE, 27, 18 ; 4
endgroup
newgroup BLUE_FOREST ; 27

View file

@ -151,6 +151,7 @@ DEF KRIS EQU __trainer_class__
const ALAN5
const CHAD4
const CHAD5
const PERO
trainerclass BIRD_KEEPER ; 18
const ROD
@ -349,6 +350,7 @@ DEF KRIS EQU __trainer_class__
const ARNIE5
const WAYNE
const SIONED
const ELWYN
const BUG_CATCHER_DANE
const BUG_CATCHER_DION
const BUG_CATCHER_STACEY

View file

@ -715,3 +715,4 @@ ENDM
map_attributes CliffCave, CLIFF_CAVE, $00, 0
map_attributes Route49, ROUTE_49, $00, 0
map_attributes BlueForest, BLUE_FOREST, $00, 0 ; this is on its own for now. add connections later.
map_attributes QuietCave, QUIET_CAVE, $00, 0

View file

@ -1089,3 +1089,6 @@ BlueForest_Blocks:
Route49_Blocks:
INCBIN "maps/Route49.ablk"
QuietCave_Blocks:
INCBIN "maps/QuietCave.ablk"

View file

@ -110,6 +110,7 @@ Landmarks:
assert_table_length NIHON_LANDMARK
landmark 92, 108, SilentHillsName
landmark 91, 108, Route49Name ; probably not correct
landmark 91, 108, QuietCaveName ; probably not correct
landmark 140, 60, BlueForestName
assert_table_length NUM_LANDMARKS
@ -218,4 +219,5 @@ BattleTowerName: db "BATTLE¯TOWER@"
SpecialMapName: db "SPECIAL@"
SilentHillsName: db "SILENT¯HILLS@"
Route49Name: db "ROUTE 49@"
QuietCaveName: db "QUIET¯CAVE@"
BlueForestName: db "BLUE¯FOREST@"

View file

@ -558,6 +558,7 @@ 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
map QuietCave, TILESET_NIHON_01, ROUTE, LANDMARK_QUIET_CAVE, MUSIC_ROUTE_30, TRUE, PALETTE_AUTO, FISHGROUP_POND
assert_table_length NUM_SILENT_HILLS_MAPS
MapGroup_BlueForest:

View file

@ -673,3 +673,31 @@ CableClubGroupSprites:
db SPRITE_FISHING_GURU
db SPRITE_POKE_BALL
db SPRITE_POKEDEX
SilentHillsGroupSprites:
; 12 non-walking filler sprites
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
db SPRITE_POKEDEX
db SPRITE_WILL
db SPRITE_KAREN
db SPRITE_NURSE
db SPRITE_OLD_LINK_RECEPTIONIST
db SPRITE_BIG_LAPRAS
db SPRITE_BIG_ONIX
db SPRITE_SUDOWOODO
db SPRITE_BIG_SNORLAX
db SPRITE_RIVAL
db SPRITE_TEACHER
db SPRITE_FISHER
; 9 walking sprites
db SPRITE_COOLTRAINER_M
db SPRITE_YOUNGSTER
db SPRITE_MONSTER
db SPRITE_BEAUTY
db SPRITE_BUG_CATCHER
db SPRITE_ROCKER
; 2 non-walking sprites
db SPRITE_POKE_BALL
db SPRITE_FRUIT_TREE

View file

@ -502,3 +502,4 @@ INCLUDE "maps/DebugRoom.asm"
INCLUDE "maps/CliffCave.asm"
INCLUDE "maps/Route49.asm"
INCLUDE "maps/BlueForest.asm"
INCLUDE "maps/QuietCave.asm"

View file

@ -192,9 +192,9 @@ MonMenuIcons:
db ICON_FOX ; CUBBURN
db ICON_FOX ; FLAMBEAR
db ICON_FOX ; BRUINOUS
db ICON_SERPENT ; PALSSIO
db ICON_SERPENT ; PRESSIO
db ICON_SERPENT ; DONMARIN
db ICON_LAPRAS ; PALSSIO
db ICON_LAPRAS ; PRESSIO
db ICON_LAPRAS ; DONMARIN
db ICON_FOX ; SENTRET
db ICON_FOX ; FURRET
db ICON_BIRD ; HOOTHOOT

Binary file not shown.

View file

@ -47,25 +47,25 @@
tilecoll FLOOR, FLOOR, WALL, WALL ; 2e
tilecoll FLOOR, FLOOR, WALL, WALL ; 2f
tilecoll WALL, WALL, FLOOR, WALL ; 30
tilecoll WALL, WALL, FLOOR, WALL ; 31
tilecoll BUOY, BUOY, WATER, BUOY ; 32
tilecoll FLOOR, FLOOR, FLOOR, WALL ; 31
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
tilecoll FLOOR, FLOOR, WALL, WALL ; 33
tilecoll BUOY, WATER, BUOY, WATER ; 34
tilecoll WALL, HEADBUTT_TREE, FLOOR, WALL ; 34
tilecoll WATER, WATER, WATER, WATER ; 35
tilecoll WATER, BUOY, WATER, BUOY ; 36
tilecoll WALL, WALL, WALL, DOOR ; 37
tilecoll BUOY, WATER, BUOY, BUOY ; 38
tilecoll WATER, WATER, BUOY, BUOY ; 39
tilecoll WATER, BUOY, BUOY, BUOY ; 3a
tilecoll WALL, WALL, WALL, WALL ; 3b
tilecoll HEADBUTT_TREE, FLOOR, FLOOR, FLOOR ; 3c
tilecoll FLOOR, HEADBUTT_TREE, FLOOR, FLOOR ; 3d
tilecoll FLOOR, FLOOR, HEADBUTT_TREE, FLOOR ; 3e
tilecoll FLOOR, FLOOR, FLOOR, HEADBUTT_TREE ; 3f
tilecoll FLOOR, WALL, FLOOR, WALL ; 36
tilecoll FLOOR, FLOOR, FLOOR, WALL ; 37
tilecoll WALL, FLOOR, WALL, FLOOR ; 38
tilecoll FLOOR, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 39
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
tilecoll WALL, HEADBUTT_TREE, WALL, FLOOR ; 3b
tilecoll WALL, WALL, FLOOR, WALL ; 3c
tilecoll WALL, WALL, FLOOR, FLOOR ; 3d
tilecoll FLOOR, FLOOR, WARP_CARPET_RIGHT, FLOOR ; 3e
tilecoll FLOOR, HEADBUTT_TREE, FLOOR, HEADBUTT_TREE ; 3f
tilecoll WALL, WALL, WALL, FLOOR ; 40
tilecoll WALL, WALL, FLOOR, FLOOR ; 41
tilecoll WALL, WALL, FLOOR, WALL ; 42
tilecoll WATER, WATER, WATER, WATER ; 43
tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, HEADBUTT_TREE ; 43
tilecoll WALL, FLOOR, WALL, FLOOR ; 44
tilecoll WALL, FLOOR, FLOOR, FLOOR ; 45
tilecoll FLOOR, WALL, FLOOR, WALL ; 46
@ -88,22 +88,22 @@
tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 57
tilecoll WATER, WATER, WATER, WATER ; 58
tilecoll WATER, WATER, WATER, WATER ; 59
tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 5a
tilecoll HEADBUTT_TREE, CUT_TREE, FLOOR, FLOOR ; 5b
tilecoll FLOOR, FLOOR, WALL, FLOOR ; 5a
tilecoll WALL, WALL, WALL, FLOOR ; 5b
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 WALL, FLOOR, FLOOR, FLOOR ; 5f
tilecoll WALL, FLOOR, WALL, FLOOR ; 60
tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 61
tilecoll FLOOR, WALL, FLOOR, WALL ; 62
tilecoll FLOOR, FLOOR, CUT_TREE, HEADBUTT_TREE ; 63
tilecoll FLOOR, WALL, FLOOR, FLOOR ; 63
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
tilecoll FLOOR, WALL, FLOOR, FLOOR ; 67
tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, FLOOR ; 68
tilecoll WARP_CARPET_UP, WARP_CARPET_UP, FLOOR, FLOOR ; 69
tilecoll WALL, UP_WALL, WALL, FLOOR ; 6a
tilecoll UP_WALL, WALL, FLOOR, WALL ; 6b
tilecoll WALL, FLOOR, WALL, WALL ; 6c

Binary file not shown.

View file

@ -962,6 +962,14 @@ SchoolboyGroup:
dw ZAP_CANNON, THUNDER_WAVE, LOCK_ON, SWIFT
db -1 ; end
next_list_item ; SCHOOLBOY (23)
db "PERO@", TRAINERTYPE_NORMAL
db 49
dw SLOWKING ; How did bro have a L9 slowking in the spaceworld demo bro
db 49
dw CLOYSTER ; DISTURBAN
db -1 ; end
end_list_items
BirdKeeperGroup:
@ -1730,8 +1738,10 @@ BeautyGroup:
next_list_item ; BEAUTY (3)
db "JULIE@", TRAINERTYPE_NORMAL
db 15
dw SENTRET
db 45
dw FURRET
db 48
dw PERSIAN ; Uses L10 Meowth in SW97 demo
db -1 ; end
next_list_item ; BEAUTY (4)
@ -2466,12 +2476,24 @@ BugCatcherGroup:
next_list_item ; BUG_CATCHER (20)
db "SIONED@", TRAINERTYPE_NORMAL
db 40
dw PARASECT ; Uses L7 Paras in SW97 demo
db 42
dw BARREAU
db 42
dw CARAPTHOR
db -1 ; end
next_list_item ; BUG_CATCHER (21)
db "ELWYN@", TRAINERTYPE_NORMAL
db 40
dw LEDIAN ; Uses L9 Ledian in SW97 demo
db 42
dw TRICULES
db 42
dw BUTTERFREE
db -1 ; end
end_list_items
FisherGroup:
@ -3804,8 +3826,10 @@ FirebreatherGroup:
next_list_item ; FIREBREATHER (2)
db "DICK@", TRAINERTYPE_NORMAL
db 17
dw CHARMELEON
db 43
dw MAGMAR ; MAGMORTAR
db 48
dw CHARIZARD
db -1 ; end
next_list_item ; FIREBREATHER (3)

View file

@ -8,7 +8,7 @@ NihonGrassWildMons:
dbw 30, PIKACHU
dbw 31, MAREEP
dbw 32, HOPPIP
dbw 32, METAPOD
dbw 32, MARILL
dbw 35, SUNFLORA
; day
dbw 30, PIDGEY
@ -16,15 +16,43 @@ NihonGrassWildMons:
dbw 30, PIKACHU
dbw 31, MAREEP
dbw 32, HOPPIP
dbw 32, METAPOD
dbw 32, MARILL
dbw 35, GIRAFARIG
; nite
dbw 30, PIDGEY
dbw 30, HOOTHOOT
dbw 31, RATTATA
dbw 30, PIKACHU
dbw 31, MAREEP
dbw 32, HOPPIP
dbw 32, METAPOD
dbw 32, MARILL
dbw 35, SKARMORY
end_grass_wildmons
def_grass_wildmons QUIET_CAVE
db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite
; morn
dbw 30, LEDYBA
dbw 31, LEDYBA
dbw 30, METAPOD
dbw 31, PIKACHU
dbw 32, MARILL
dbw 32, PIDGEY
dbw 35, SUNFLORA
; day
dbw 30, LEDYBA
dbw 31, LEDYBA
dbw 30, METAPOD
dbw 31, PIKACHU
dbw 32, MARILL
dbw 32, PIDGEY
dbw 35, GIRAFARIG
; nite
dbw 30, LEDYBA
dbw 31, LEDYBA
dbw 30, METAPOD
dbw 31, PIKACHU
dbw 32, MARILL
dbw 32, HOOTHOOT
dbw 35, SKARMORY
end_grass_wildmons

BIN
maps/QuietCave.ablk Normal file

Binary file not shown.

226
maps/QuietCave.asm Normal file
View file

@ -0,0 +1,226 @@
; Text in this area uses translations from Minamitoku.
; https://www.youtube.com/watch?v=Pe1vsKRl7_M&ab_channel=Minamitoku
object_const_def
const QUIET_CAVE_BUG_CATCHER
QuietCave_MapScripts:
def_scene_scripts
def_callbacks
QuietCaveSign1:
jumptext QuietCaveSign1Text
QuietCaveSign1Text:
text "SILENT HILLS"
line "This way!"
done
QuietCaveSign2:
jumptext Route49Sign2Text
QuietCaveSign2Text:
text "OLD CITY"
line "This way!"
done
QuietCaveBoy1:
jumptextfaceplayer QuietCaveBoy1Text
QuietCaveBoy1Text:
text "The wild #MON"
line "here are weak,"
cont "so my friends"
cont "train here!"
para "Test your strength"
line "against them!"
done
TrainerBugCatcherSioned:
trainer BUG_CATCHER, SIONED, EVENT_BEAT_BUG_CATCHER_SIONED, BugCatcherSionedSeenText, BugCatcherSionedBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext BugCatcherSionedAfterText
waitbutton
closetext
end
; Minamitoku didn't translate the text outside of the spotted text, so we'll stick with this.
BugCatcherSionedSeenText:
text "I know more"
line "about bug type"
cont "#MON than"
cont "anyone else!"
done
BugCatcherSionedBeatenText:
text "Not bad!"
done
BugCatcherSionedAfterText:
text "Foreigners often"
line "say this place"
cont "feels familiar."
para "What's so special"
line "about this place,"
cont "anyhow?"
done
; Reusing previously unused Beauty here.
TrainerBeautyJulie:
trainer BEAUTY, JULIE, EVENT_BEAT_BEAUTY_JULIE, BeautyJulieSeenText, BeautyJulieBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext BeautyJulieAfterText
waitbutton
closetext
end
; Minamitoku didn't translate the text outside of the spotted text here too.
BeautyJulieSeenText:
text "Nice weather..."
line "How are you?"
done
BeautyJulieBeatenText:
text "PERSIAN! No!"
done
BeautyJulieAfterText:
text "Huh? This is a"
line "cave?"
para "I see..."
done
; Reusing previously unused Firebreather here.
; He's also the most funny.
TrainerFirebreatherDick:
trainer FIREBREATHER, DICK, EVENT_BEAT_FIREBREATHER_DICK, FirebreatherDickSeenText, FirebreatherDickBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext FirebreatherDickAfterText
waitbutton
closetext
end
; Minamitoku didn't translate the text outside of the spotted text here too.
FirebreatherDickSeenText:
text "I'm practicing"
line "FLAMETHROWER!"
done
FirebreatherDickBeatenText:
text "Fwoosh!"
done
FirebreatherDickAfterText:
text "It's nice to"
line "light up the"
cont "cave, but..."
para "It's a little"
line "dangerous, isn't"
cont "it?"
done
TrainerBugCatcherElwyn:
trainer BUG_CATCHER, ELWYN, EVENT_BEAT_BUG_CATCHER_ELWYN, BugCatcherElwynSeenText, BugCatcherElwynBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext BugCatcherElwynBeatenText
waitbutton
closetext
end
; Minamitoku didn't translate the text outside of the spotted text here too.
BugCatcherElwynSeenText:
text "Hey! Hey! Watch!"
para "This is definitely"
line "a new #MON!"
done
BugCatcherElwynBeatenText:
text "Huh?!"
done
; Definitely creative liberties here - if a translation is brought in, it'll definitely be replaced. Very funny for now.
BugCatcherElwynAfterText:
text "This LEDIAN is"
line "so weak!"
para "I guess new"
line "doesn't mean"
cont "strong..."
done
TrainerSchoolboyPero:
trainer SCHOOLBOY, PERO, EVENT_BEAT_SCHOOLBOY_PERO, SchoolboyPeroSeenText, SchoolboyPeroBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext SchoolboyPeroAfterText
waitbutton
closetext
end
; Minamitoku didn't translate the text outside of the spotted text here too.
SchoolboyPeroSeenText:
text "I've studied a"
line "lot, so I have"
cont "to be stronger"
cont "than you!"
done
SchoolboyPeroBeatenText:
text "How?!"
done
; Definitely creative liberties here - if a translation is brought in, it'll definitely be replaced. Very funny for now.
SchoolboyPeroAfterText:
text "Huh? How did"
line "I get DISTURBAN?"
para "I tricked my"
line "SHELLDER into"
cont "evolving!"
para "It's easy! Just"
line "a SLOWPOKETAIL!"
done
QuietCave_MapEvents:
db 0, 0 ; filler
def_warp_events
warp_event 53, 29, ROUTE_49, 1
warp_event 53, 30, ROUTE_49, 2
; warp_event 8, 0, ROUTE_49_2, 1
; warp_event 9, 0, ROUTE_49_2, 2
def_coord_events
def_bg_events
bg_event 50, 28, BGEVENT_READ, Route49Sign1
bg_event 13, 2, BGEVENT_READ, Route49Sign2
def_object_events
object_event 45, 28, SPRITE_ROCKER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, QuietCaveBoy1, -1
object_event 45, 19, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 2, TrainerBugCatcherSioned, -1
object_event 33, 26, SPRITE_BEAUTY, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 5, TrainerBeautyJulie, -1
object_event 31, 6, SPRITE_FISHER, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerFirebreatherDick, -1
object_event 11, 27, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 4, TrainerBugCatcherElwyn, -1
object_event 11, 6, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_TRAINER, 6, TrainerSchoolboyPero, -1

View file

@ -2,7 +2,8 @@
; https://www.youtube.com/watch?v=Pe1vsKRl7_M&ab_channel=Minamitoku
object_const_def
const ROUTE_49_BUG_CATCHER
const ROUTE_49_BOY1
const ROUTE_49_BOY2
Route49_MapScripts:
def_scene_scripts
@ -50,44 +51,12 @@ Route49Boy2Text:
cont "the #MON!"
done
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, QUIET_CAVE, 1
;warp_event 8, 8, QUIET_CAVE, 1
warp_event 8, 9, QUIET_CAVE, 1
warp_event 8, 8, QUIET_CAVE, 2
def_coord_events
@ -96,6 +65,5 @@ Route49_MapEvents:
bg_event 12, 7, BGEVENT_READ, Route49Sign2
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
object_event 20, 5, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, Route49Boy2, -1
object_event 19, 12, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Route49Boy1, -1