diff --git a/audio.asm b/audio.asm index 06d122d..491021b 100644 --- a/audio.asm +++ b/audio.asm @@ -150,6 +150,11 @@ SECTION "Extra Songs 2", ROMX INCLUDE "audio/music/postcredits.asm" +SECTION "New Songs", ROMX + +INCLUDE "audio/music/nihontest.asm" + + SECTION "Sound Effects", ROMX INCLUDE "audio/sfx.asm" diff --git a/audio/music/nihontest.asm b/audio/music/nihontest.asm new file mode 100644 index 0000000..ea4d231 --- /dev/null +++ b/audio/music/nihontest.asm @@ -0,0 +1,336 @@ +Music_NihonTown01: + channel_count 4 + channel 1, Music_NihonTown01_Ch1 + channel 2, Music_NihonTown01_Ch2 + channel 3, Music_NihonTown01_Ch3 + channel 4, Music_NihonTown01_Ch4 + +Music_NihonTown01_Ch1: + tempo 256 + volume 7, 7 + note_type 12, 15, 8 + stereo_panning TRUE, FALSE +.mainLoop: + duty_cycle 0 + tempo 107 + octave 3 + volume_envelope 13, 8 + transpose 0, 0 + note D#, 4 + rest 4 + note F#, 4 + rest 4 + note D#, 4 + rest 4 + note C#, 4 + rest 4 + note D#, 4 + rest 4 + note F#, 4 + rest 4 + note C#, 4 + rest 4 + octave 2 + note A#, 4 + octave 3 + rest 4 + note C#, 4 + rest 4 + note F_, 4 + rest 4 + note D#, 4 + rest 4 + note G#, 4 + rest 4 + octave 2 + note B_, 4 + octave 3 + rest 4 + note D#, 4 + rest 4 + note C#, 4 + rest 4 + octave 2 + note B_, 4 + rest 4 +.loop1: + octave 2 + note A#, 4 + rest 4 + note B_, 4 + octave 3 + rest 4 + note C#, 4 + rest 4 + note D#, 4 + rest 4 + note D#, 4 + rest 4 + note G#, 4 + rest 4 + note F#, 4 + rest 4 + note C#, 4 + rest 4 + note D#, 4 + rest 4 + octave 2 + note G#, 4 + octave 3 + rest 4 + note C#, 4 + rest 4 + octave 2 + note A#, 4 + octave 3 + rest 4 + note C#, 4 + rest 4 + note D#, 4 + rest 4 + octave 2 + note A#, 4 + octave 3 + rest 4 + note C#, 4 + rest 4 + octave 8 + sound_loop 2, .loop1 + sound_loop 0, .mainLoop + +Music_NihonTown01_Ch2: + note_type 12, 15, 8 + stereo_panning FALSE, TRUE +.mainLoop: + transpose 1, 0 + duty_cycle 2 + octave 5 + volume_envelope 10, 8 + note F_, 4 + octave 4 + note F#, 4 + note F#, 4 + note F#, 4 + octave 5 + note C#, 4 + octave 4 + note C#, 4 + note C#, 4 + note C#, 4 + octave 5 + note D#, 4 + octave 4 + note D#, 4 + note D#, 4 + note D#, 4 + note A#, 4 + octave 3 + note A#, 4 + note A#, 4 + note A#, 4 + octave 4 + note A#, 4 + note C#, 4 + note C#, 4 + note C#, 4 + note G#, 4 + octave 3 + note G#, 4 + note G#, 4 + note G#, 4 + octave 4 + note G#, 4 + note D#, 4 + note D#, 4 + note D#, 4 + note F#, 4 + octave 3 + note F#, 4 + note F#, 4 + note F#, 4 +.loop1: + rest 4 + octave 4 + note A#, 4 + note A#, 4 + note A#, 4 + rest 4 + note G#, 4 + note G#, 4 + note G#, 4 + rest 4 + note G#, 4 + note G#, 4 + note G#, 4 + rest 4 + note F_, 4 + note F_, 4 + note F_, 4 + rest 4 + note D#, 4 + note D#, 4 + note D#, 4 + rest 4 + note F_, 4 + note F_, 4 + note F_, 4 + rest 4 + note A#, 4 + note A#, 4 + note A#, 4 + rest 4 + octave 3 + note A#, 4 + note A#, 4 + note A#, 4 + octave 8 + sound_loop 2, .loop1 + sound_loop 0, .mainLoop + +Music_NihonTown01_Ch3: + note_type 12, 1, 0 +.mainLoop: + note_type 12, 1, 0 + volume_envelope 1, 3 + octave 5 + vibrato 7, 1, 9 + note G#, 2 + note A#, 2 + note A#, 1 + note B_, 7 + note G#, 8 + note F_, 12 + note F#, 2 + note G#, 2 + note G#, 1 + note A#, 1 + rest 2 + note A#, 2 + rest 2 + note F#, 2 + rest 2 + note F#, 2 + rest 2 + note C#, 12 + note D#, 2 + note F#, 2 + note F#, 1 + note G#, 7 + note F_, 8 + note C#, 4 + note F#, 1 + note G#, 7 + note F_, 4 + vibrato 5, 1, 9 + note F#, 14 + vibrato 0, 1, 9 + note F#, 14 +.loop1: + octave 5 + vibrato 7, 1, 9 + note D#, 4 + note F_, 1 + note F#, 11 + note F_, 4 + note C#, 12 + octave 4 + note B_, 4 + octave 5 + note D#, 1 + note F_, 3 + note D#, 4 + note F#, 4 + octave 4 + note A#, 4 + note B_, 1 + octave 5 + note C#, 11 + octave 4 + note G#, 4 + note A#, 1 + note B_, 11 + octave 5 + note D#, 4 + note C#, 12 + note F_, 4 + note F_, 1 + note F#, 11 + vibrato 0, 1, 9 + note F#, 16 + octave 8 + sound_loop 2, .loop1 + sound_loop 0, .mainLoop + +Music_NihonTown01_Ch4: + toggle_noise 0 + drum_speed 12 +.mainLoop: + rest 12 + octave 3 + drum_note 1, 1 + rest 15 + drum_note 1, 1 + rest 3 + drum_note 1, 1 + rest 1 + drum_note 1, 1 + rest 9 + drum_note 1, 1 + rest 15 + drum_note 1, 1 + rest 3 + drum_note 1, 1 + rest 1 + drum_note 1, 1 + rest 9 + drum_note 1, 1 + rest 15 + drum_note 1, 1 + rest 3 + drum_note 1, 1 + rest 1 + drum_note 1, 1 + rest 9 + drum_note 1, 1 + rest 15 + drum_note 1, 1 + rest 3 +.loop1: + drum_speed 12 + drum_note 1, 1 + drum_speed 1 + rest 12 + drum_speed 12 + drum_note 1, 1 + rest 9 + drum_note 1, 1 + rest 15 + drum_note 1, 1 + rest 3 + drum_note 1, 1 + rest 1 + drum_note 1, 1 + rest 9 + drum_note 1, 1 + rest 15 + drum_note 1, 1 + rest 3 + drum_note 1, 1 + rest 1 + drum_note 1, 1 + rest 9 + drum_note 1, 1 + rest 15 + drum_note 1, 1 + rest 3 + drum_note 1, 1 + rest 1 + drum_note 1, 1 + rest 9 + drum_note 1, 1 + rest 15 + drum_note 1, 1 + octave 8 + rest 3 + sound_loop 0, .loop1 + sound_loop 0, .mainLoop diff --git a/audio/music_pointers.asm b/audio/music_pointers.asm index f3124c7..261c8b5 100644 --- a/audio/music_pointers.asm +++ b/audio/music_pointers.asm @@ -107,4 +107,5 @@ Music: dba Music_SuicuneBattle dba Music_BattleTowerLobby dba Music_MobileCenter + dba Music_NihonTown01 assert_table_length NUM_MUSIC_SONGS diff --git a/constants/music_constants.asm b/constants/music_constants.asm index d64fa57..a25891c 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -105,6 +105,7 @@ const MUSIC_SUICUNE_BATTLE ; 64 const MUSIC_BATTLE_TOWER_LOBBY ; 65 const MUSIC_MOBILE_CENTER ; 66 + const MUSIC_NIHON_TOWN_01 ; 67 DEF NUM_MUSIC_SONGS EQU const_value ; GetMapMusic picks music for this value (see home/map.asm) diff --git a/constants/tileset_constants.asm b/constants/tileset_constants.asm index c259ac2..ce9d0d0 100644 --- a/constants/tileset_constants.asm +++ b/constants/tileset_constants.asm @@ -38,6 +38,7 @@ const TILESET_AERODACTYL_WORD_ROOM ; 24 const TILESET_NIHON_01 ; 25 const TILESET_FOREST_KANTO ; 26 + const TILESET_MUSEUM ; 27 DEF NUM_TILESETS EQU const_value - 1 ; wTileset struct size diff --git a/data/maps/maps.asm b/data/maps/maps.asm index 956438d..039ab37 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -494,7 +494,7 @@ MapGroup_Viridian: map Route2NuggetHouse, TILESET_HOUSE, INDOOR, LANDMARK_ROUTE_2, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE map Route2Gate, TILESET_GATE, GATE, LANDMARK_ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_DAY, FISHGROUP_SHORE map VictoryRoadGate, TILESET_GATE, GATE, LANDMARK_ROUTE_26, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE - map ViridianForest, TILESET_FOREST, CAVE, LANDMARK_VIRIDIAN_FOREST, MUSIC_ROUTE_2, FALSE, PALETTE_AUTO, FISHGROUP_SHORE ; MUSIC_ROUTE_2 is the viridian forest remix + map ViridianForest, TILESET_FOREST_KANTO, CAVE, LANDMARK_VIRIDIAN_FOREST, MUSIC_ROUTE_2, FALSE, PALETTE_AUTO, FISHGROUP_SHORE ; MUSIC_ROUTE_2 is the viridian forest remix map ViridianForestViridianGate, TILESET_GATE, GATE, LANDMARK_ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_DAY, FISHGROUP_SHORE map ViridianForestPewterGate, TILESET_GATE, GATE, LANDMARK_ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_DAY, FISHGROUP_SHORE assert_table_length NUM_VIRIDIAN_MAPS @@ -552,5 +552,5 @@ MapGroup_Cherrygrove: MapGroup_SilentHills: table_width MAP_LENGTH, MapGroup_SilentHills - map SilentHills, TILESET_NIHON_01, TOWN, LANDMARK_SILENT_HILLS, MUSIC_NEW_BARK_TOWN, TRUE, PALETTE_AUTO, FISHGROUP_SHORE + map SilentHills, TILESET_NIHON_01, TOWN, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, TRUE, PALETTE_AUTO, FISHGROUP_SHORE assert_table_length NUM_SILENT_HILLS_MAPS diff --git a/data/tilesets.asm b/data/tilesets.asm index 57a6454..c531ccd 100644 --- a/data/tilesets.asm +++ b/data/tilesets.asm @@ -50,4 +50,5 @@ Tilesets:: tileset TilesetAerodactylWordRoom tileset TilesetNihon1 tileset TilesetForestKanto + tileset TilesetMuseum assert_table_length NUM_TILESETS + 1 diff --git a/data/tilesets/museum_attributes.bin b/data/tilesets/museum_attributes.bin new file mode 100644 index 0000000..42dec29 Binary files /dev/null and b/data/tilesets/museum_attributes.bin differ diff --git a/data/tilesets/museum_collision.asm b/data/tilesets/museum_collision.asm new file mode 100644 index 0000000..b9261b0 --- /dev/null +++ b/data/tilesets/museum_collision.asm @@ -0,0 +1,128 @@ + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 00 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08 + tilecoll WALL, FLOOR, WALL, FLOOR ; 09 + tilecoll WALL, WALL, WALL, WALL ; 0a + tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0b + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 12 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 15 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 16 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 17 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 18 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 19 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1a + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1b + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1c + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1d + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1e + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1f + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 20 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 21 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 25 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 26 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 29 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b + tilecoll WALL, WALL, FLOOR, FLOOR ; 3c + tilecoll WALL, WALL, WALL, WALL ; 3d + tilecoll WALL, WALL, WALL, FLOOR ; 3e + tilecoll WALL, WALL, FLOOR, FLOOR ; 3f + tilecoll FLOOR, WALL, FLOOR, WALL ; 40 + tilecoll WALL, WALL, WALL, WALL ; 41 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 42 + tilecoll WALL, WALL, FLOOR, WALL ; 43 + tilecoll FLOOR, FLOOR, FLOOR, WALL ; 44 + tilecoll FLOOR, FLOOR, WALL, WALL ; 45 + tilecoll WALL, FLOOR, WALL, FLOOR ; 46 + tilecoll FLOOR, FLOOR, WALL, FLOOR ; 47 + tilecoll FLOOR, WALL, FLOOR, FLOOR ; 48 + tilecoll WALL, WALL, FLOOR, FLOOR ; 49 + tilecoll FLOOR, WALL, FLOOR, WALL ; 4a + tilecoll WALL, FLOOR, FLOOR, FLOOR ; 4b + tilecoll FLOOR, WALL, FLOOR, WALL ; 4c + tilecoll WALL, WALL, WALL, WALL ; 4d + tilecoll WALL, FLOOR, WALL, FLOOR ; 4e + tilecoll WALL, FLOOR, FLOOR, FLOOR ; 4f + tilecoll WALL, WALL, FLOOR, FLOOR ; 50 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 51 + tilecoll FLOOR, FLOOR, FLOOR, STAIRCASE ; 52 + tilecoll WALL, FLOOR, WALL, FLOOR ; 53 + tilecoll FLOOR, FLOOR, WALL, WALL ; 54 + tilecoll FLOOR, FLOOR, WALL, WALL ; 55 + tilecoll FLOOR, FLOOR, FLOOR, STAIRCASE ; 56 + tilecoll FLOOR, FLOOR, WALL, FLOOR ; 57 + tilecoll FLOOR, WALL, FLOOR, WALL ; 58 + tilecoll WALL, WALL, WALL, WALL ; 59 + tilecoll WALL, FLOOR, WALL, FLOOR ; 5a + tilecoll WALL, FLOOR, FLOOR, FLOOR ; 5b + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5c + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5d + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5e + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5f + tilecoll FLOOR, FLOOR, WALL, FLOOR ; 60 + tilecoll FLOOR, FLOOR, WALL, FLOOR ; 61 + tilecoll FLOOR, WALL, FLOOR, WALL ; 62 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 63 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 64 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 65 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 66 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 67 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 68 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 69 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6a + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6b + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6c + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6d + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6e + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6f + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 70 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 71 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 72 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 73 + tilecoll FLOOR, WALL, FLOOR, WALL ; 74 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 75 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 76 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 77 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 78 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 79 + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7a + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7b + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7c + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7d + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7e + tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7f diff --git a/data/tilesets/museum_metatiles.bin b/data/tilesets/museum_metatiles.bin new file mode 100644 index 0000000..442127b Binary files /dev/null and b/data/tilesets/museum_metatiles.bin differ diff --git a/data/tilesets/nihon01_collision.asm b/data/tilesets/nihon01_collision.asm index 692b0f8..aaa7085 100644 --- a/data/tilesets/nihon01_collision.asm +++ b/data/tilesets/nihon01_collision.asm @@ -123,6 +123,6 @@ tilecoll WATER, WATER, WATER, WATER ; 7a tilecoll WALL, WALL, WALL, WALL ; 7b tilecoll WALL, WALL, WALL, WALL ; 7c - tilecoll WALL, WALL, FLOOR, FLOOR ; 7d + tilecoll WALL, WALL, WALL, WALL ; 7d tilecoll WALL, DOOR, FLOOR, FLOOR ; 7e tilecoll WALL, WALL, FLOOR, FLOOR ; 7f diff --git a/data/wild/johto_grass.asm b/data/wild/johto_grass.asm index 44b6550..bf3d5df 100644 --- a/data/wild/johto_grass.asm +++ b/data/wild/johto_grass.asm @@ -282,6 +282,11 @@ JohtoGrassWildMons: dbw 24, RATTATA end_grass_wildmons +; Reworked to be way more Fire-type themed. +; The Burned Tower isn't very useful because stuff like Rattata can be found anywhere. +; They're good for worldbuilding but little else. +; Did you know they removed Magmar in B1F in Crystal? For Weezing?? +; The Rattata could possibly be replaced with Vulpiii later. def_grass_wildmons BURNED_TOWER_1F db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite ; morn @@ -289,53 +294,53 @@ JohtoGrassWildMons: dbw 14, KOFFING dbw 15, RATTATA dbw 14, ZUBAT - dbw 15, RATTATA - dbw 15, RATICATE - dbw 15, RATICATE + dbw 16, KOFFING + dbw 15, HOUNDOUR + dbw 15, HOUNDOUR ; day dbw 13, RATTATA dbw 14, KOFFING dbw 15, RATTATA dbw 14, ZUBAT - dbw 15, RATTATA - dbw 15, RATICATE - dbw 15, RATICATE + dbw 16, KOFFING + dbw 15, HOUNDOUR + dbw 15, HOUNDOUR ; nite dbw 13, RATTATA dbw 14, KOFFING dbw 15, RATTATA dbw 14, ZUBAT - dbw 15, RATTATA - dbw 15, RATICATE - dbw 15, RATICATE + dbw 16, KOFFING + dbw 15, HOUNDOUR + dbw 15, HOUNDOUR end_grass_wildmons def_grass_wildmons BURNED_TOWER_B1F db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn dbw 14, RATTATA - dbw 14, KOFFING - dbw 16, KOFFING + dbw 14, SLUGMA + dbw 16, SLUGMA + dbw 16, RATTATA dbw 15, ZUBAT - dbw 12, KOFFING - dbw 16, KOFFING - dbw 16, WEEZING + dbw 14, MAGBY + dbw 14, MAGBY ; day dbw 14, RATTATA - dbw 14, KOFFING - dbw 16, KOFFING + dbw 14, SLUGMA + dbw 16, SLUGMA + dbw 16, RATTATA dbw 15, ZUBAT - dbw 12, KOFFING - dbw 16, KOFFING - dbw 16, WEEZING + dbw 14, MAGBY + dbw 14, MAGBY ; nite dbw 14, RATTATA - dbw 14, KOFFING - dbw 16, KOFFING + dbw 14, SLUGMA + dbw 16, SLUGMA + dbw 16, RATTATA dbw 15, ZUBAT - dbw 12, KOFFING - dbw 16, KOFFING - dbw 16, WEEZING + dbw 14, MAGMAR + dbw 14, MAGMAR end_grass_wildmons def_grass_wildmons NATIONAL_PARK @@ -562,34 +567,40 @@ JohtoGrassWildMons: dbw 23, SLOWPOKE end_grass_wildmons +; With Viridian Forest existing, much of this wild data no longer made sense. +; Changed to feature Yanma, Ledyba, etc. +; Yanma gives easier Yanmega access, Ledyba and Spinarak are nice flavour. +; Paras remains accessible for HM usage. It should be Paraspor, though. +; Shuckle, Pineco, and Heracross should be made more common Headbutt tree Pokemon. def_grass_wildmons ILEX_FOREST db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite ; morn dbw 5, CATERPIE dbw 5, WEEDLE - dbw 7, METAPOD - dbw 7, KAKUNA + dbw 7, LEDYBA + dbw 7, LEDYBA dbw 7, PIDGEY - dbw 6, PARAS - dbw 6, PARAS + dbw 6, YANMA + dbw 6, YANMA ; day dbw 5, CATERPIE dbw 5, WEEDLE - dbw 7, METAPOD - dbw 7, KAKUNA + dbw 7, LEDYBA + dbw 7, LEDYBA dbw 7, PIDGEY - dbw 6, PARAS - dbw 6, PARAS + dbw 6, YANMA + dbw 6, YANMA ; nite - dbw 5, ODDISH + dbw 5, SPINARAK dbw 5, VENONAT - dbw 7, ODDISH + dbw 7, SPINARAK dbw 7, PSYDUCK dbw 7, HOOTHOOT - dbw 6, PARAS - dbw 6, PARAS + dbw 6, PARAS ; PARASPOR + dbw 6, PARAS ; PARASPOR end_grass_wildmons +; Mt. Mortar now has consistent Marill access like GS. def_grass_wildmons MOUNT_MORTAR_1F_OUTSIDE db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn @@ -618,6 +629,8 @@ JohtoGrassWildMons: dbw 16, RATICATE end_grass_wildmons +; Also, Larvitar is available in the morning and daytime, unless it's B2F, wherein it's all-day. +; It's known to eat mountain soil, so it makes sense to me. def_grass_wildmons MOUNT_MORTAR_1F_INSIDE db 6 percent, 6 percent, 6 percent ; encounter rates: morn/day/nite ; morn @@ -625,17 +638,17 @@ JohtoGrassWildMons: dbw 14, RATTATA dbw 15, MACHOP dbw 14, RATICATE - dbw 15, ZUBAT - dbw 15, GOLBAT - dbw 15, GOLBAT + dbw 15, MARILL + dbw 15, LARVITAR + dbw 15, LARVITAR ; day dbw 13, GEODUDE dbw 14, RATTATA dbw 15, MACHOP dbw 14, RATICATE - dbw 15, ZUBAT - dbw 15, GOLBAT - dbw 15, GOLBAT + dbw 15, MARILL + dbw 15, LARVITAR + dbw 15, LARVITAR ; nite dbw 13, GEODUDE dbw 14, RATTATA @@ -653,17 +666,17 @@ JohtoGrassWildMons: dbw 32, MACHOKE dbw 31, GEODUDE dbw 30, RATICATE - dbw 28, MACHOP - dbw 30, GOLBAT - dbw 30, GOLBAT + dbw 28, MARILL + dbw 30, LARVITAR + dbw 30, LARVITAR ; day dbw 31, GRAVELER dbw 32, MACHOKE dbw 31, GEODUDE dbw 30, RATICATE - dbw 28, MACHOP - dbw 30, GOLBAT - dbw 30, GOLBAT + dbw 28, MARILL + dbw 30, LARVITAR + dbw 30, LARVITAR ; nite dbw 31, GRAVELER dbw 31, GEODUDE @@ -680,52 +693,56 @@ JohtoGrassWildMons: dbw 15, ZUBAT dbw 17, ZUBAT dbw 17, GOLBAT - dbw 16, MACHOP + dbw 16, MARILL dbw 16, GEODUDE - dbw 18, RATICATE - dbw 18, RATICATE + dbw 18, LARVITAR + dbw 18, LARVITAR ; day dbw 15, ZUBAT dbw 17, ZUBAT dbw 17, GOLBAT - dbw 16, MACHOP + dbw 16, MARILL dbw 16, GEODUDE - dbw 18, RATICATE - dbw 18, RATICATE + dbw 18, LARVITAR + dbw 18, LARVITAR ; nite dbw 15, ZUBAT dbw 17, ZUBAT dbw 17, GOLBAT dbw 16, MARILL dbw 16, GEODUDE - dbw 18, RATICATE - dbw 18, RATICATE + dbw 18, LARVITAR + dbw 18, LARVITAR end_grass_wildmons +; Ice Path is very close to working. It just doesn't have good frequency in Johto encounters. +; Also, jesus, so much Golbat?? +; Changed so Sneasel exists all day in the Ice Path with higher frequency. +; Down the line, consider Buu, Bunice/Bundra, etc. def_grass_wildmons ICE_PATH_1F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn dbw 21, SWINUB - dbw 22, ZUBAT + dbw 22, SNEASEL dbw 22, GOLBAT dbw 23, SWINUB - dbw 24, GOLBAT + dbw 24, SNEASEL dbw 22, GOLBAT dbw 22, GOLBAT ; day dbw 21, SWINUB - dbw 22, ZUBAT + dbw 22, SNEASEL dbw 22, GOLBAT dbw 23, SWINUB - dbw 24, GOLBAT + dbw 24, SNEASEL dbw 22, GOLBAT dbw 22, GOLBAT ; nite dbw 21, DELIBIRD - dbw 22, ZUBAT + dbw 22, SNEASEL dbw 22, GOLBAT dbw 23, DELIBIRD - dbw 24, GOLBAT + dbw 24, SNEASEL dbw 22, GOLBAT dbw 22, GOLBAT end_grass_wildmons @@ -734,112 +751,112 @@ JohtoGrassWildMons: db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn dbw 22, SWINUB - dbw 23, ZUBAT + dbw 23, SNEASEL dbw 23, GOLBAT dbw 24, SWINUB - dbw 25, GOLBAT + dbw 25, SNEASEL dbw 23, GOLBAT dbw 22, JYNX ; day dbw 22, SWINUB - dbw 23, ZUBAT + dbw 23, SNEASEL dbw 23, GOLBAT dbw 24, SWINUB - dbw 25, GOLBAT + dbw 25, SNEASEL dbw 23, GOLBAT dbw 22, JYNX ; nite dbw 22, DELIBIRD - dbw 23, ZUBAT + dbw 23, SNEASEL dbw 23, GOLBAT dbw 24, DELIBIRD - dbw 25, GOLBAT + dbw 25, SNEASEL dbw 23, GOLBAT - dbw 22, SNEASEL + dbw 22, JYNX ; BUU end_grass_wildmons def_grass_wildmons ICE_PATH_B2F_MAHOGANY_SIDE db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn dbw 23, SWINUB - dbw 24, ZUBAT + dbw 24, SNEASEL dbw 24, GOLBAT dbw 25, SWINUB - dbw 26, GOLBAT + dbw 26, SNEASEL dbw 22, JYNX dbw 24, JYNX ; day dbw 23, SWINUB - dbw 24, ZUBAT + dbw 24, SNEASEL dbw 24, GOLBAT dbw 25, SWINUB - dbw 26, GOLBAT + dbw 26, SNEASEL dbw 22, JYNX dbw 24, JYNX ; nite dbw 23, DELIBIRD - dbw 24, ZUBAT + dbw 24, SNEASEL dbw 24, GOLBAT dbw 25, DELIBIRD - dbw 26, GOLBAT - dbw 22, SNEASEL - dbw 24, SNEASEL + dbw 26, SNEASEL + dbw 22, JYNX ; BUU + dbw 24, JYNX ; BUU end_grass_wildmons def_grass_wildmons ICE_PATH_B2F_BLACKTHORN_SIDE db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn dbw 23, SWINUB - dbw 24, ZUBAT + dbw 24, SNEASEL dbw 24, GOLBAT dbw 25, SWINUB - dbw 26, GOLBAT + dbw 26, SNEASEL dbw 22, JYNX dbw 24, JYNX ; day dbw 23, SWINUB - dbw 24, ZUBAT + dbw 24, SNEASEL dbw 24, GOLBAT dbw 25, SWINUB - dbw 26, GOLBAT + dbw 26, SNEASEL dbw 22, JYNX dbw 24, JYNX ; nite dbw 23, DELIBIRD - dbw 24, ZUBAT + dbw 24, SNEASEL dbw 24, GOLBAT dbw 25, DELIBIRD dbw 26, GOLBAT - dbw 22, SNEASEL - dbw 24, SNEASEL + dbw 22, JYNX ; BUU + dbw 24, JYNX ; BUU end_grass_wildmons def_grass_wildmons ICE_PATH_B3F db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite ; morn dbw 24, SWINUB - dbw 25, ZUBAT + dbw 25, SNEASEL dbw 25, GOLBAT dbw 26, SWINUB - dbw 22, JYNX + dbw 22, SNEASEL dbw 24, JYNX dbw 26, JYNX ; day dbw 24, SWINUB - dbw 25, ZUBAT + dbw 25, SNEASEL dbw 25, GOLBAT dbw 26, SWINUB - dbw 22, JYNX + dbw 22, SNEASEL dbw 24, JYNX dbw 26, JYNX ; nite dbw 24, DELIBIRD - dbw 25, ZUBAT + dbw 25, SNEASEL dbw 25, GOLBAT dbw 26, DELIBIRD dbw 22, SNEASEL - dbw 24, SNEASEL - dbw 26, SNEASEL + dbw 24, JYNX ; BUU + dbw 26, JYNX ; BUU end_grass_wildmons def_grass_wildmons WHIRL_ISLAND_NW @@ -1290,6 +1307,9 @@ JohtoGrassWildMons: dbw 4, HOOTHOOT end_grass_wildmons +; Replaced Gastly with Misdreavus for increased Johto frequency. +; Gastly will remain in Sprout Tower for choice purposes. +; This is technically a nerf: Gastly is wayyy stronger. def_grass_wildmons ROUTE_31 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn @@ -1314,8 +1334,8 @@ JohtoGrassWildMons: dbw 5, BELLSPROUT dbw 5, HOOTHOOT dbw 4, ZUBAT - dbw 5, GASTLY - dbw 5, GASTLY + dbw 5, MISDREAVUS + dbw 5, MISDREAVUS end_grass_wildmons def_grass_wildmons ROUTE_32 @@ -1323,7 +1343,7 @@ JohtoGrassWildMons: ; morn dbw 4, EKANS dbw 5, RATTATA - dbw 7, BELLSPROUT + dbw 6, MAREEP ; From Gold dbw 6, HOPPIP dbw 7, PIDGEY dbw 7, HOPPIP @@ -1331,7 +1351,7 @@ JohtoGrassWildMons: ; day dbw 4, EKANS dbw 5, RATTATA - dbw 7, BELLSPROUT + dbw 6, MAREEP ; From Gold dbw 6, HOPPIP dbw 7, PIDGEY dbw 7, HOPPIP @@ -1340,10 +1360,10 @@ JohtoGrassWildMons: dbw 4, WOOPER dbw 5, RATTATA dbw 7, BELLSPROUT - dbw 6, ZUBAT + dbw 6, MAREEP ; From Gold dbw 7, HOOTHOOT - dbw 7, GASTLY - dbw 7, GASTLY + dbw 7, MISDREAVUS + dbw 7, MISDREAVUS end_grass_wildmons def_grass_wildmons ROUTE_33 @@ -1454,15 +1474,18 @@ JohtoGrassWildMons: dbw 5, BELLSPROUT dbw 5, HOOTHOOT dbw 5, HOOTHOOT - dbw 5, GASTLY - dbw 5, GASTLY + dbw 5, MISDREAVUS + dbw 5, MISDREAVUS end_grass_wildmons +; Restored the 30% Stantler from GS. +; Removing it was a blunder but Crystal does get Ledian and Ariados right. +; Murkrow is here too, 10%. def_grass_wildmons ROUTE_37 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn dbw 13, LEDYBA - dbw 14, GROWLITHE + dbw 14, STANTLER dbw 15, PIDGEY dbw 16, GROWLITHE dbw 15, PIDGEOTTO @@ -1470,7 +1493,7 @@ JohtoGrassWildMons: dbw 15, LEDIAN ; day dbw 13, PIDGEY - dbw 14, GROWLITHE + dbw 14, STANTLER dbw 15, PIDGEY dbw 16, GROWLITHE dbw 15, PIDGEOTTO @@ -1480,38 +1503,40 @@ JohtoGrassWildMons: dbw 13, SPINARAK dbw 14, STANTLER dbw 15, HOOTHOOT - dbw 16, STANTLER - dbw 15, NOCTOWL + dbw 16, MURKROW + dbw 15, MURKROW dbw 15, ARIADOS dbw 15, ARIADOS end_grass_wildmons +; Made Murkrow a 10% night time encounter for increased Johto frequency. +; Built off Silver data to add Snubbull and have Meowth in the daytime. def_grass_wildmons ROUTE_38 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn - dbw 16, RATTATA + dbw 16, MEOWTH dbw 16, RATICATE dbw 16, MAGNEMITE - dbw 16, PIDGEOTTO + dbw 16, FARFETCH_D + dbw 13, MILTANK dbw 13, TAUROS - dbw 13, MILTANK - dbw 13, MILTANK + dbw 13, SNUBBULL ; day - dbw 16, RATTATA + dbw 16, MEOWTH dbw 16, RATICATE dbw 16, MAGNEMITE - dbw 16, PIDGEOTTO + dbw 16, FARFETCH_D + dbw 13, MILTANK dbw 13, TAUROS - dbw 13, MILTANK - dbw 13, MILTANK + dbw 13, SNUBBULL ; nite - dbw 16, MEOWTH + dbw 16, MEOWTH ; MOIBELLE dbw 16, RATICATE dbw 16, MAGNEMITE - dbw 16, NOCTOWL - dbw 16, MEOWTH - dbw 16, MEOWTH - dbw 16, MEOWTH + dbw 16, MEOWTH ; MOIBELLE + dbw 13, MURKROW ; Replacing Tauros and Miltank at night to replicate Crystal's idea. + dbw 13, MURKROW ; To me, the bovines sleeping makes sense. + dbw 13, SNUBBULL end_grass_wildmons def_grass_wildmons ROUTE_39 @@ -1542,56 +1567,58 @@ JohtoGrassWildMons: dbw 18, MEOWTH end_grass_wildmons +; Uses Wild Data from Gold version, but with Ekans over Mareep. +; At night, Hoothoot is seen instead of Zubat, and Murkrow is a 10% encounter. def_grass_wildmons ROUTE_42 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn + dbw 15, MANKEY dbw 13, EKANS dbw 14, SPEAROW - dbw 15, RATTATA - dbw 16, RATICATE - dbw 15, ARBOK - dbw 16, FEAROW - dbw 16, FEAROW + dbw 16, SPEAROW + dbw 15, FLAAFFY + dbw 17, FLAAFFY + dbw 17, FLAAFFY ; day + dbw 15, MANKEY dbw 13, EKANS dbw 14, SPEAROW - dbw 15, RATTATA - dbw 16, RATICATE - dbw 15, ARBOK - dbw 16, FEAROW - dbw 16, FEAROW + dbw 16, SPEAROW + dbw 15, FLAAFFY + dbw 17, FLAAFFY + dbw 17, FLAAFFY ; nite - dbw 13, RATTATA - dbw 14, ZUBAT - dbw 15, RATICATE - dbw 16, GOLBAT - dbw 15, MARILL - dbw 16, GOLBAT - dbw 16, GOLBAT + dbw 15, MANKEY + dbw 13, EKANS + dbw 14, HOOTHOOT + dbw 16, MURKROW + dbw 15, MURKROW + dbw 17, FLAAFFY + dbw 17, FLAAFFY end_grass_wildmons def_grass_wildmons ROUTE_43 db 10 percent, 10 percent, 10 percent ; encounter rates: morn/day/nite ; morn - dbw 15, SENTRET - dbw 16, PIDGEOTTO + dbw 15, FLAAFFY ; From Gold + dbw 15, GIRAFARIG ; From Gold dbw 16, FARFETCH_D dbw 15, FURRET dbw 17, RATICATE dbw 17, FURRET dbw 17, FURRET ; day - dbw 15, SENTRET - dbw 16, PIDGEOTTO + dbw 15, FLAAFFY ; From Gold + dbw 16, GIRAFARIG ; From Gold dbw 16, FARFETCH_D dbw 15, FURRET dbw 17, RATICATE dbw 17, FURRET dbw 17, FURRET ; nite - dbw 15, VENONAT - dbw 16, NOCTOWL - dbw 16, RATICATE + dbw 15, FLAAFFY ; From Gold + dbw 16, GIRAFARIG ; From Gold + dbw 16, NOCTOWL ; From Gold dbw 17, VENONAT dbw 17, RATICATE dbw 17, VENOMOTH diff --git a/data/wild/kanto_grass.asm b/data/wild/kanto_grass.asm index cc8de0b..79d593c 100644 --- a/data/wild/kanto_grass.asm +++ b/data/wild/kanto_grass.asm @@ -869,5 +869,35 @@ KantoGrassWildMons: dbw 43, MAROWAK dbw 43, CHANSEY end_grass_wildmons + +; Viridian Forest uses Ilex Forest's data for now. +; Yes, it was THAT bad. + def_grass_wildmons VIRIDIAN_FOREST + db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite + ; morn + dbw 5, CATERPIE + dbw 6, METAPOD + dbw 6, CATERPIE + dbw 5, PARAS + dbw 5, ZUBAT ; KOKANA + dbw 6, PARAS + dbw 6, PIKACHU + ; day + dbw 5, CATERPIE + dbw 6, CATERPIE + dbw 5, METAPOD + dbw 6, METAPOD + dbw 5, ZUBAT ; KOKANA + dbw 6, PARAS + dbw 6, PIKACHU + ; nite + dbw 5, ODDISH ; KOTORA + dbw 6, ODDISH ; KOTORA + dbw 6, ZUBAT + dbw 5, PARAS + dbw 5, ZUBAT ; KOKANA + dbw 6, PARAS + dbw 6, PIKACHU + end_grass_wildmons db -1 ; end diff --git a/engine/tilesets/tileset_anims.asm b/engine/tilesets/tileset_anims.asm index 8412ae7..5d568ee 100644 --- a/engine/tilesets/tileset_anims.asm +++ b/engine/tilesets/tileset_anims.asm @@ -298,6 +298,7 @@ TilesetHoOhWordRoomAnim: TilesetKabutoWordRoomAnim: TilesetOmanyteWordRoomAnim: TilesetAerodactylWordRoomAnim: +TilesetMuseumAnim: dw NULL, WaitTileAnimation dw NULL, WaitTileAnimation dw NULL, WaitTileAnimation diff --git a/gfx/tilesets.asm b/gfx/tilesets.asm index cc179bc..5a97b66 100644 --- a/gfx/tilesets.asm +++ b/gfx/tilesets.asm @@ -345,6 +345,15 @@ INCBIN "data/tilesets/forest_kanto_metatiles.bin" TilesetForestKantoColl:: INCLUDE "data/tilesets/forest_kanto_collision.asm" +TilesetMuseumGFX:: +INCBIN "gfx/tilesets/museum.2bpp.lz" + +TilesetMuseumMeta:: +INCBIN "data/tilesets/museum_metatiles.bin" + +TilesetMuseumColl:: +INCLUDE "data/tilesets/museum_collision.asm" + SECTION "Tileset Data 9", ROMX @@ -469,6 +478,9 @@ INCBIN "data/tilesets/forest_kanto_attributes.bin" SECTION "Tileset Data 12", ROMX +TilesetMuseumAttr:: +INCBIN "data/tilesets/museum_attributes.bin" + TilesetTraditionalHouseGFX:: INCBIN "gfx/tilesets/traditional_house.2bpp.lz" diff --git a/gfx/tilesets/museum.png b/gfx/tilesets/museum.png new file mode 100644 index 0000000..03574a7 Binary files /dev/null and b/gfx/tilesets/museum.png differ diff --git a/layout.link b/layout.link index 27f015f..e88be65 100644 --- a/layout.link +++ b/layout.link @@ -305,7 +305,6 @@ ROMX $77 "European Mail" ROMX $78 "Debug Room" - "Tileset Data 8" ROMX $7b "Battle Tower Text" ROMX $7c diff --git a/maps/Museum1F.ablk b/maps/Museum1F.ablk new file mode 100644 index 0000000..0efaefa Binary files /dev/null and b/maps/Museum1F.ablk differ diff --git a/maps/Museum2F.ablk b/maps/Museum2F.ablk new file mode 100644 index 0000000..355e5d8 Binary files /dev/null and b/maps/Museum2F.ablk differ