This implements Old City, the Honey Grandma's House, and its Pokecenter+Mart. Bunch of other bits and pieces not added yet, need to figure out the lore for them.

Honey Grandma is designed to make it easier to get important Pokemon, rather than give access to anything new. Thus, she's Nihon-locked by being an Old City resident. Martha's Perfect Rod will follow this trend.

Gold Berry tree exists to make them renewable in-game, I think this is very important.

The flypoint seems bugged.
This commit is contained in:
Llinos Evans 2024-07-22 23:40:53 +01:00
parent aa970c326e
commit 4eb81eec25
47 changed files with 699 additions and 147 deletions

View file

@ -100,6 +100,7 @@ EngineFlags:
engine_flag wVisitedSpawns, SPAWN_BLACKTHORN
engine_flag wVisitedSpawns, SPAWN_MT_SILVER
engine_flag wVisitedSpawns, SPAWN_SILENT_HILLS
engine_flag wVisitedSpawns, SPAWN_OLD_CITY
engine_flag wVisitedSpawns, NUM_SPAWNS ; unused
engine_flag wLuckyNumberShowFlag, LUCKYNUMBERSHOW_GAME_OVER_F

View file

@ -31,4 +31,5 @@ FruitTreeItems:
db ICE_BERRY ; PEWTER_CITY_1
db MINT_BERRY ; PEWTER_CITY_2
db BURNT_BERRY ; FUCHSIA_CITY
db GOLD_BERRY ; OLD_CITY - now there's a farming spot!
assert_table_length NUM_FRUIT_TREES

View file

@ -36,6 +36,7 @@ Marts:
dw MartIndigoPlateau
dw MartUnderground
dw MartLakeOfRage
dw MartOldCity
assert_table_length NUM_MARTS
MartCherrygrove:
@ -421,3 +422,16 @@ MartLakeOfRage:
db DUSK_STONE
db SHINY_STONE
db -1 ; end
MartOldCity:
db 9 ; # items
db ULTRA_BALL
db HYPER_POTION
db FULL_HEAL
db REVIVE
db ANTIDOTE
db PARLYZ_HEAL
db AWAKENING
db MAX_REPEL
db PORTRAITMAIL
db -1 ; end

View file

@ -813,16 +813,24 @@ ENDM
map_attributes Route66, ROUTE_66, $05, WEST | SOUTH
connection south, WinnersPathOutside, WINNERS_PATH_OUTSIDE, 0
connection west, SilentHills, SILENT_HILLS, 0
map_attributes BlueForest, BLUE_FOREST, $00, 0 ; this is on its own for now. add connections later.
map_attributes BlueLab, BLUE_LAB, $00, 0
connection west, SilentHills, SILENT_HILLS, 0
map_attributes QuietCave, QUIET_CAVE, $76, 0
map_attributes BlueLab, BLUE_LAB, $00, 0
map_attributes SilentHillsPokecenter1F, SILENT_HILLS_POKECENTER_1F, $00, 0
map_attributes SilversHouse, SILVERS_HOUSE, $00, 0
map_attributes CalsHouse1F, CALS_HOUSE_1F, $00, 0
map_attributes CalsHouse2F, CALS_HOUSE_2F, $00, 0
map_attributes SinjohRuinsExterior, SINJOH_RUINS_EXTERIOR, $00, 0
map_attributes SinjohRuinsInterior, SINJOH_RUINS_EXTERIOR, $00, 0
map_attributes OldCity, OLD_CITY, $00, 0 ; will have a west exit.
map_attributes Route49OldCityGate1F, ROUTE_49_OLD_CITY_GATE_1F, $00, 0
map_attributes Route49OldCityGate2F, ROUTE_49_OLD_CITY_GATE_2F, $00, 0
map_attributes OldCityPokecenter1F, OLD_CITY_POKECENTER_1F, $00, 0
map_attributes OldMart, OLD_MART, $00, 0
map_attributes HoneyGrandmasHouse, HONEY_GRANDMAS_HOUSE, $00, 0
map_attributes BlueForest, BLUE_FOREST, $00, 0 ; this is on its own for now. add connections later.
map_attributes SinjohRuinsExterior, SINJOH_RUINS_EXTERIOR, $00, 0
map_attributes SinjohRuinsInterior, SINJOH_RUINS_EXTERIOR, $00, 0

View file

@ -1039,8 +1039,13 @@ Route49_2_Blocks:
; All Nihon Pokecenter1Fs go here.
SilentHillsPokecenter1F_Blocks:
OldCityPokecenter1F_Blocks:
INCBIN "maps/NihonPokecenter1F.ablk"
; All generic Nihon Pokemarts go here.
OldMart_Blocks:
INCBIN "maps/NihonMart.ablk"
NihonPokecenter2F_Blocks:
INCBIN "maps/NihonPokecenter2F.ablk"
@ -1219,3 +1224,9 @@ Route49OldCityGate2F_Blocks:
;InsertGateNameHere_Blocks:
; INCBIN "maps/NihonGateWestEast.ablk"
OldCity_Blocks:
INCBIN "maps/OldCity.ablk"
HoneyGrandmasHouse_Blocks:
INCBIN "maps/HoneyGrandmasHouse.ablk"

View file

@ -29,4 +29,5 @@ Flypoints:
db LANDMARK_INDIGO_PLATEAU, SPAWN_INDIGO
; Nihon
db LANDMARK_SILENT_HILLS, SPAWN_SILENT_HILLS
db LANDMARK_OLD_CITY, SPAWN_OLD_CITY
db -1 ; end

View file

@ -131,12 +131,13 @@ Landmarks:
landmark 0, 0, UnknownName ; Seven Island
assert_table_length NIHON_LANDMARK
landmark 108, 116, WinnersPathName
landmark 108, 108, Route66Name
landmark 92, 108, SilentHillsName
landmark 20, 28, UnknownName ; Debug Room
landmark 84, 108, Route49Name
landmark 76, 108, QuietCaveName
landmark 76, 100, OldCityName
landmark 140, 60, BlueForestName
landmark 108, 108, Route66Name
assert_table_length NUM_LANDMARKS
NewBarkTownName: db "NEW BARK¯TOWN@"
@ -248,4 +249,5 @@ UnknownName: db "?????@"
Route66Name: db "ROUTE 66@"
Route49Name: db "ROUTE 49@"
QuietCaveName: db "QUIET¯CAVE@"
OldCityName: db "OLD CITY@" ; I've considered the name "Archaic City", whereas "High Tech" will be "Vogue City". Thoughts? Archaic is considered a little snarly in modern day, so I haven't put it in yet.
BlueForestName: db "BLUE¯FOREST@"

View file

@ -52,7 +52,8 @@ MapGroupPointers::
dw MapGroup_SixIsland ; 33
dw MapGroup_SevenIsland ; 34
dw MapGroup_SilentHills ; 35
dw MapGroup_BlueForest ; 36
dw MapGroup_OldCity ; 36
dw MapGroup_BlueForest ; 37
assert_table_length NUM_MAP_GROUPS
MapGroup_Olivine:
@ -691,7 +692,15 @@ MapGroup_SilentHills:
map Route49OldCityGate2F, TILESET_NIHON_GATE, GATE, LANDMARK_ROUTE_49, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_NONE
map BlueLab, TILESET_BLUE_LAB, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_POKEMON_TALK, FALSE, PALETTE_DAY, FISHGROUP_NONE
assert_table_length NUM_SILENT_HILLS_MAPS
MapGroup_OldCity:
table_width MAP_LENGTH, MapGroup_OldCity
map OldCity, TILESET_NIHON_OLD, TOWN, LANDMARK_OLD_CITY, MUSIC_VIOLET_CITY, TRUE, PALETTE_AUTO, FISHGROUP_POND
map OldCityPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_OLD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_NONE
map OldMart, TILESET_NIHON_MART, INDOOR, LANDMARK_OLD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_NONE
map HoneyGrandmasHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, LANDMARK_OLD_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_NONE
assert_table_length NUM_OLD_CITY_MAPS
MapGroup_BlueForest:
table_width MAP_LENGTH, MapGroup_BlueForest
map BlueForest, TILESET_NIHON_SNOWY, TOWN, LANDMARK_BLUE_FOREST, MUSIC_SINJOH_RUINS, TRUE, PALETTE_AUTO, FISHGROUP_SHORE

View file

@ -39,6 +39,7 @@ OutdoorSprites:
dw SixIslandGroupSprites
dw SevenIslandGroupSprites
dw SilentHillsGroupSprites
dw OldCityGroupSprites
dw BlueForestGroupSprites
assert_table_length NUM_MAP_GROUPS
@ -717,3 +718,31 @@ SilentHillsGroupSprites:
; 2 non-walking sprites
db SPRITE_POKE_BALL
db SPRITE_FRUIT_TREE
OldCityGroupSprites:
; 12 non-walking filler sprites
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
db SPRITE_POKEDEX
db SPRITE_WILL
db SPRITE_ROCKER
db SPRITE_NURSE
db SPRITE_FISHER
db SPRITE_BIG_LAPRAS
db SPRITE_BIG_ONIX
db SPRITE_SUDOWOODO
db SPRITE_RIVAL
; 9 walking sprites
db SPRITE_GRAMPS
db SPRITE_TWIN
db SPRITE_BUG_CATCHER
db SPRITE_YOUNGSTER
db SPRITE_BEAUTY
db SPRITE_SUPER_NERD
db SPRITE_GRANNY
db SPRITE_MONSTER
; 2 non-walking sprites
db SPRITE_POKE_BALL
db SPRITE_FRUIT_TREE

View file

@ -47,7 +47,8 @@ MapGroupRoofs:
db ROOF_VIOLET ; 33 (Six Island)
db ROOF_VIOLET ; 34 (Seven Island)
db ROOF_NEW_BARK ; 35 (Silent Hills)
db ROOF_NEW_BARK ; 36 (Blue Forest)
db ROOF_VIOLET ; 36 (Old City)
db ROOF_NEW_BARK ; 37 (Blue Forest)
assert_table_length NUM_MAP_GROUPS + 1
Roofs:

View file

@ -578,8 +578,12 @@ INCLUDE "maps/WinnersPath.asm"
INCLUDE "maps/WinnersPathOutside.asm"
INCLUDE "maps/Route66.asm"
INCLUDE "maps/BlueLab.asm"
INCLUDE "maps/OldCity.asm"
INCLUDE "maps/OldCityPokecenter1F.asm"
INCLUDE "maps/OldMart.asm"
INCLUDE "maps/HoneyGrandmasHouse.asm"
SECTION "Map Scripts 30", ROMX
SECTION "Map Scripts 30", ROMX ; spillover
INCLUDE "maps/TanobyRuins.asm"
INCLUDE "maps/TanobyChambers.asm"
INCLUDE "maps/NavalRockExterior.asm"

View file

@ -39,5 +39,6 @@ MapGroupRoofSGBPalInds:
db PREDEFPAL_SIX_ISLAND
db PREDEFPAL_SEVEN_ISLAND
db PREDEFPAL_SILENT_HILLS
db PREDEFPAL_ECRUTEAK
db PREDEFPAL_BLUE_FOREST
assert_table_length NUM_MAP_GROUPS + 1

View file

@ -40,6 +40,7 @@ SpawnPoints:
spawn FAST_SHIP_CABINS_SW_SSW_NW, 6, 2
spawn SILENT_HILLS, 13, 5
spawn OLD_CITY, 27, 29
spawn N_A, -1, -1

View file

@ -61,4 +61,5 @@ Tilesets::
tileset TilesetLavenderCrypt
tileset TilesetBlueLab
tileset TilesetNihonGate
tileset TilesetNihonMart
assert_table_length NUM_TILESETS + 1

View file

@ -0,0 +1,64 @@
tilecoll WALL, WALL, WALL, WALL ; 00
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
tilecoll FLOOR, HEADBUTT_TREE, FLOOR, HEADBUTT_TREE ; 04
tilecoll WATER, WATER, WATER, WATER ; 05
tilecoll WATER, WATER, WATER, WATER ; 06
tilecoll WATER, WATER, WATER, WATER ; 07
tilecoll WATER, WATER, WATER, WATER ; 08
tilecoll WATER, WATER, WATER, WATER ; 09
tilecoll WATER, WATER, WATER, WATER ; 0a
tilecoll WATER, WATER, WATER, WATER ; 0b
tilecoll WATER, WATER, WATER, WATER ; 0c
tilecoll WALL, FLOOR, FLOOR, FLOOR ; 0d
tilecoll WALL, WALL, FLOOR, FLOOR ; 0e
tilecoll WALL, WALL, FLOOR, FLOOR ; 0f
tilecoll WALL, WALL, WALL, FLOOR ; 10
tilecoll FLOOR, WALL, FLOOR, WALL ; 11
tilecoll WALL, WALL, FLOOR, WALL ; 12
tilecoll FLOOR, WALL, WALL, WALL ; 13
tilecoll WALL, FLOOR, WALL, FLOOR ; 14
tilecoll FLOOR, FLOOR, WALL, FLOOR ; 15
tilecoll FLOOR, FLOOR, WALL, WALL ; 16
tilecoll HEADBUTT_TREE, CUT_TREE, FLOOR, FLOOR ; 17
tilecoll FLOOR, FLOOR, WALL, WALL ; 18
tilecoll WALL, WALL, WALL, WALL ; 19
tilecoll WALL, WALL, WALL, WALL ; 1a
tilecoll WALL, WALL, WALL, WALL ; 1b
tilecoll WALL, WALL, WALL, FLOOR ; 1c
tilecoll WALL, WALL, WALL, WALL ; 1d
tilecoll WALL, WALL, WALL, WALL ; 1e
tilecoll WALL, WALL, WALL, WALL ; 1f
tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 20
tilecoll WALL, WALL, WALL, WALL ; 21
tilecoll WALL, WALL, WALL, WALL ; 22
tilecoll DOOR, WALL, FLOOR, FLOOR ; 23
tilecoll WALL, WALL, FLOOR, FLOOR ; 24
tilecoll WALL, WALL, FLOOR, FLOOR ; 25
tilecoll WALL, WALL, FLOOR, FLOOR ; 26
tilecoll WALL, WALL, WALL, WALL ; 27
tilecoll WALL, WALL, WALL, WALL ; 28
tilecoll WALL, DOOR, FLOOR, FLOOR ; 29
tilecoll WALL, WALL, WALL, WALL ; 2a
tilecoll WALL, WALL, WALL, WALL ; 2b
tilecoll WALL, WALL, FLOOR, FLOOR ; 2c
tilecoll WALL, WALL, FLOOR, FLOOR ; 2d
tilecoll WALL, DOOR, FLOOR, FLOOR ; 2e
tilecoll WALL, WALL, WALL, WALL ; 2f
tilecoll WALL, WALL, WALL, WALL ; 30
tilecoll WALL, WALL, WALL, DOOR ; 31
tilecoll WALL, WALL, WALL, WALL ; 32
tilecoll WALL, WALL, WALL, WALL ; 33
tilecoll DOOR, DOOR, FLOOR, FLOOR ; 34
tilecoll WALL, WALL, WALL, WALL ; 35
tilecoll WALL, WALL, WALL, WALL ; 36
tilecoll WALL, WALL, WALL, WALL ; 37
tilecoll WALL, WALL, WALL, WALL ; 38
tilecoll WALL, WALL, WALL, WALL ; 39
tilecoll WALL, WALL, WALL, WALL ; 3a
tilecoll WALL, WALL, WALL, WALL ; 3b
tilecoll WALL, WALL, WALL, WALL ; 3c
tilecoll WALL, DOOR, FLOOR, FLOOR ; 3d
tilecoll DOOR, WALL, WALL, WALL ; 3e
tilecoll WALL, WALL, WALL, WALL ; 3f

Binary file not shown.

View file

@ -0,0 +1,23 @@
tilecoll WALL, WALL, WALL, WALL ; 00
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
tilecoll WALL, FLOOR, WALL, FLOOR ; 02
tilecoll COUNTER, WALL, COUNTER, FLOOR ; 03
tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 04
tilecoll WALL, WALL, WALL, WALL ; 05
tilecoll WALL, FLOOR, WALL, FLOOR ; 06
tilecoll WALL, WALL, WALL, WALL ; 07
tilecoll WALL, WALL, WALL, WALL ; 08
tilecoll WALL, WALL, WALL, WALL ; 09
tilecoll WALL, WALL, FLOOR, FLOOR ; 0a
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0d
tilecoll FLOOR, FLOOR, WALL, WALL ; 0e
tilecoll WALL, WALL, FLOOR, FLOOR ; 0f
tilecoll FLOOR, FLOOR, WALL, WALL ; 10
tilecoll WALL, WALL, WALL, WALL ; 11
tilecoll WALL, WALL, FLOOR, FLOOR ; 12
tilecoll FLOOR, FLOOR, WALL, WALL ; 13
tilecoll FLOOR, FLOOR, WALL, WALL ; 14
tilecoll WALL, WALL, FLOOR, FLOOR ; 15
tilecoll WALL, WALL, FLOOR, FLOOR ; 16

Binary file not shown.

View file

@ -56,9 +56,3 @@
tilecoll WALL, WALL, FLOOR, WALL ; 37
tilecoll FLOOR, FLOOR, FLOOR, WALL ; 38
tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 39
tilecoll 04, 03, 03, 03 ; 3a
tilecoll 03, 03, 03, 03 ; 3b
tilecoll 03, 03, 04, 04 ; 3c
tilecoll 04, 04, 04, 04 ; 3d
tilecoll 03, 03, 03, 03 ; 3e
tilecoll WARP_CARPET_DOWN, 04, 03, 03 ; 3f