diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm index 908a659c9..5faa12864 100644 --- a/constants/map_data_constants.asm +++ b/constants/map_data_constants.asm @@ -35,9 +35,12 @@ DEF NUM_ENVIRONMENTS EQU const_value - 1 const PALETTE_DAY const PALETTE_NITE const PALETTE_MORN - const PALETTE_DARK + const PALETTE_EVE DEF NUM_MAP_PALETTES EQU const_value +IN_DARKNESS_F EQU 3 +IN_DARKNESS EQU 1 << IN_DARKNESS_F ; masked with a PALETTE_* constant + ; FishGroups indexes (see data/wild/fish.asm) const_def const FISHGROUP_NONE diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index 7294a440f..c1d557ba5 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -159,7 +159,7 @@ DEF NUM_HOF_TEAMS EQU 30 const_def 1 const TR_ANYTIME const TR_MORNDAY - const TR_NITE + const TR_EVENITE ; EVOLVE_STAT triggers const_def 1 @@ -172,7 +172,7 @@ DEF NUM_HOF_TEAMS EQU 30 DEF NUM_GRASSMON EQU 7 ; data/wild/*_grass.asm table size DEF NUM_WATERMON EQU 3 ; data/wild/*_water.asm table size -DEF GRASS_WILDDATA_LENGTH EQU 2 + 3 + NUM_GRASSMON * 2 * 3 +DEF GRASS_WILDDATA_LENGTH EQU 2 + NUM_DAYTIMES + NUM_GRASSMON * 2 * NUM_DAYTIMES DEF WATER_WILDDATA_LENGTH EQU 2 + 1 + NUM_WATERMON * 2 DEF FISHGROUP_DATA_LENGTH EQU 1 + 2 * 3 diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index 9a80a8c9d..edd5e5e10 100644 --- a/constants/wram_constants.asm +++ b/constants/wram_constants.asm @@ -118,18 +118,19 @@ DEF INIT_MON_LIST EQU 5 const MORN_F ; 0 const DAY_F ; 1 const NITE_F ; 2 - const DARKNESS_F ; 3 + const EVE_F ; 3 DEF NUM_DAYTIMES EQU const_value DEF MORN EQU 1 << MORN_F DEF DAY EQU 1 << DAY_F DEF NITE EQU 1 << NITE_F -DEF DARKNESS EQU 1 << DARKNESS_F +DEF EVE EQU 1 << EVE_F -DEF ANYTIME EQU MORN | DAY | NITE +DEF ANYTIME EQU MORN | DAY | NITE | EVE ; wTimeOfDayPalset:: -DEF DARKNESS_PALSET EQU (DARKNESS_F << 6) | (DARKNESS_F << 4) | (DARKNESS_F << 2) | DARKNESS_F +; Must be different from any in ReplaceTimeOfDayPals.BrightnessLevels +DEF DARKNESS_PALSET EQU $80 ; wBattleAnimFlags:: const_def diff --git a/data/maps/environment_colors.asm b/data/maps/environment_colors.asm index 99e9be734..e11f3bd8c 100644 --- a/data/maps/environment_colors.asm +++ b/data/maps/environment_colors.asm @@ -11,27 +11,27 @@ EnvironmentColorsPointers: dw .DungeonColors ; DUNGEON assert_table_length NUM_ENVIRONMENTS + 1 -; Valid indices: $00 - $29 (see gfx/tilesets/bg_tiles.pal) +; Valid indices: $00 - $2b (see gfx/tilesets/bg_tiles.pal) .OutdoorColors: db $00, $01, $02, $28, $04, $05, $06, $07 ; morn - db $08, $09, $0a, $28, $0c, $0d, $0e, $0f ; day - db $10, $11, $12, $29, $14, $15, $16, $17 ; nite - db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark + db $08, $09, $0a, $29, $0c, $0d, $0e, $0f ; day + db $10, $11, $12, $2a, $14, $15, $16, $17 ; nite + db $18, $19, $1a, $2b, $1c, $1d, $1e, $1f ; eve .IndoorColors: db $20, $21, $22, $23, $24, $25, $26, $07 ; morn db $20, $21, $22, $23, $24, $25, $26, $07 ; day db $10, $11, $12, $13, $14, $15, $16, $07 ; nite - db $18, $19, $1a, $1b, $1c, $1d, $1e, $07 ; dark + db $18, $19, $1a, $1b, $1c, $1d, $1e, $07 ; eve .DungeonColors: db $00, $01, $02, $03, $04, $05, $06, $07 ; morn db $08, $09, $0a, $0b, $0c, $0d, $0e, $0f ; day db $10, $11, $12, $13, $14, $15, $16, $17 ; nite - db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark + db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; eve .Env5Colors: db $00, $01, $02, $03, $04, $05, $06, $07 ; morn db $08, $09, $0a, $0b, $0c, $0d, $0e, $0f ; day db $10, $11, $12, $13, $14, $15, $16, $17 ; nite - db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; dark + db $18, $19, $1a, $1b, $1c, $1d, $1e, $1f ; eve diff --git a/data/pokemon/evos_attacks.asm b/data/pokemon/evos_attacks.asm index 54a0689d1..b3700999f 100644 --- a/data/pokemon/evos_attacks.asm +++ b/data/pokemon/evos_attacks.asm @@ -1796,7 +1796,7 @@ EeveeEvosAttacks: db EVOLVE_ITEM, WATER_STONE, VAPOREON db EVOLVE_ITEM, FIRE_STONE, FLAREON db EVOLVE_HAPPINESS, TR_MORNDAY, ESPEON - db EVOLVE_HAPPINESS, TR_NITE, UMBREON + db EVOLVE_HAPPINESS, TR_EVENITE, UMBREON db 0 ; no more evolutions db 1, TACKLE db 1, TAIL_WHIP diff --git a/data/text/std_text.asm b/data/text/std_text.asm index 5415c4876..b06320d85 100644 --- a/data/text/std_text.asm +++ b/data/text/std_text.asm @@ -10,6 +10,12 @@ NurseDayText: cont "#MON CENTER." done +NurseEveText: + text "Good evening!" + line "Welcome to our" + cont "#MON CENTER." + done + NurseNiteText: text "Good evening!" line "You're out late." diff --git a/data/wild/fish.asm b/data/wild/fish.asm index 3833c4fe5..9d2f48158 100644 --- a/data/wild/fish.asm +++ b/data/wild/fish.asm @@ -208,7 +208,7 @@ FishGroups: db 100 percent, REMORAID, 40 TimeFishGroups: - ; day nite + ; morn/day eve/nite db CORSOLA, 20, STARYU, 20 ; 0 db CORSOLA, 40, STARYU, 40 ; 1 db SHELLDER, 20, SHELLDER, 20 ; 2 diff --git a/data/wild/johto_grass.asm b/data/wild/johto_grass.asm index d1ceaa65f..14d5a3c74 100644 --- a/data/wild/johto_grass.asm +++ b/data/wild/johto_grass.asm @@ -3,7 +3,7 @@ JohtoGrassWildMons: def_grass_wildmons N_A - db 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite + db 2 percent, 2 percent, 2 percent, 2 percent ; encounter rates: morn/day/nite/eve ; morn db 3, RATTATA db 4, RATTATA @@ -28,6 +28,14 @@ JohtoGrassWildMons: db 6, GASTLY db 5, RATTATA db 5, RATTATA + ; eve + db 3, RATTATA + db 4, GASTLY + db 5, RATTATA + db 3, RATTATA + db 6, GASTLY + db 5, RATTATA + db 5, RATTATA end_grass_wildmons db -1 ; end diff --git a/data/wild/kanto_grass.asm b/data/wild/kanto_grass.asm index e833628bb..d03bd1524 100644 --- a/data/wild/kanto_grass.asm +++ b/data/wild/kanto_grass.asm @@ -3,7 +3,7 @@ KantoGrassWildMons: def_grass_wildmons N_A - db 4 percent, 2 percent, 8 percent ; encounter rates: morn/day/nite + db 4 percent, 2 percent, 8 percent, 4 percent ; encounter rates: morn/day/nite/eve ; morn db 3, DIGLETT db 6, DIGLETT @@ -28,6 +28,14 @@ KantoGrassWildMons: db 32, DUGTRIO db 32, DUGTRIO db 32, DUGTRIO + ; eve + db 3, DIGLETT + db 6, DIGLETT + db 12, DIGLETT + db 24, DIGLETT + db 24, DUGTRIO + db 24, DUGTRIO + db 24, DUGTRIO end_grass_wildmons db -1 ; end diff --git a/data/wild/swarm_grass.asm b/data/wild/swarm_grass.asm index f0b070c42..2248a650f 100644 --- a/data/wild/swarm_grass.asm +++ b/data/wild/swarm_grass.asm @@ -4,7 +4,7 @@ SwarmGrassWildMons: ; Dunsparce swarm map_id N_A - db 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite + db 4 percent, 4 percent, 4 percent, 4 percent ; encounter rates: morn/day/nite/eve ; morn db 3, GEODUDE db 3, DUNSPARCE @@ -29,5 +29,13 @@ SwarmGrassWildMons: db 2, DUNSPARCE db 4, DUNSPARCE db 4, DUNSPARCE + ; eve + db 3, GEODUDE + db 3, DUNSPARCE + db 2, ZUBAT + db 2, GEODUDE + db 2, DUNSPARCE + db 4, DUNSPARCE + db 4, DUNSPARCE db -1 ; end diff --git a/engine/battle/battle_transition.asm b/engine/battle/battle_transition.asm index d0bc72b67..7d145796b 100644 --- a/engine/battle/battle_transition.asm +++ b/engine/battle/battle_transition.asm @@ -637,9 +637,8 @@ StartTrainerBattle_LoadPokeBallGraphics: jr nz, .tile_loop ld hl, .pals - ld a, [wTimeOfDayPal] - maskbits NUM_DAYTIMES - cp DARKNESS_F + ld a, [wTimeOfDayPalset] + cp DARKNESS_PALSET jr nz, .not_dark ld hl, .darkpals .not_dark diff --git a/engine/battle/start_battle.asm b/engine/battle/start_battle.asm index 8495666a8..42b8cde4e 100644 --- a/engine/battle/start_battle.asm +++ b/engine/battle/start_battle.asm @@ -73,7 +73,7 @@ PlayBattleMusic: ld de, MUSIC_JOHTO_WILD_BATTLE ld a, [wTimeOfDay] cp NITE_F - jr nz, .done + jr c, .done ; not NITE_F or EVE_F ld de, MUSIC_JOHTO_WILD_BATTLE_NIGHT jr .done diff --git a/engine/events/checktime.asm b/engine/events/checktime.asm index 6e470e883..cf12074af 100644 --- a/engine/events/checktime.asm +++ b/engine/events/checktime.asm @@ -15,5 +15,5 @@ CheckTime:: db MORN_F, MORN db DAY_F, DAY db NITE_F, NITE - db NITE_F, NITE + db EVE_F, EVE db -1 diff --git a/engine/events/poke_seer.asm b/engine/events/poke_seer.asm index 9ad8d71dd..c5c2b6958 100644 --- a/engine/events/poke_seer.asm +++ b/engine/events/poke_seer.asm @@ -181,11 +181,10 @@ GetCaughtLevel: GetCaughtTime: ld a, [wSeerCaughtData] and CAUGHT_TIME_MASK - jr z, .none - rlca rlca dec a + maskbits NUM_DAYTIMES ld hl, .times call GetNthString ld d, h @@ -195,15 +194,11 @@ GetCaughtTime: and a ret -.none - ld de, wSeerTimeOfDay - call UnknownCaughtData - ret - .times db "Morning@" db "Day@" db "Night@" + db "Evening@" UnknownCaughtData: ld hl, .unknown diff --git a/engine/events/std_scripts.asm b/engine/events/std_scripts.asm index beb6eba36..1b26c899c 100644 --- a/engine/events/std_scripts.asm +++ b/engine/events/std_scripts.asm @@ -63,6 +63,8 @@ PokecenterNurseScript: iftrue .morn checktime DAY iftrue .day + checktime EVE + iftrue .eve checktime NITE iftrue .nite sjump .ok @@ -77,6 +79,11 @@ PokecenterNurseScript: promptbutton sjump .ok +.eve + farwritetext NurseEveText + promptbutton + sjump .ok + .nite farwritetext NurseNiteText promptbutton diff --git a/engine/gfx/color.asm b/engine/gfx/color.asm index 7b3a347ec..9e9ba3738 100644 --- a/engine/gfx/color.asm +++ b/engine/gfx/color.asm @@ -628,7 +628,7 @@ INCLUDE "data/pokemon/palettes.asm" INCLUDE "data/trainers/palettes.asm" LoadMapPals: - farcall LoadSpecialMapPalette + farcall LoadSpecialMapPalette ; also handles darkness palettes jr c, .got_pals ; Which palette group is based on whether we're outside or inside @@ -688,6 +688,20 @@ LoadMapPals: ldh [rSVBK], a .got_pals + ; BG pals done. Now do OBJ pals. + call GetMapTimeOfDay + bit IN_DARKNESS_F, a + jr z, .not_darkness + ld a, [wStatusFlags] + bit STATUSFLAGS_FLASH_F, a + jr nz, .not_darkness + ld a, BANK(wOBPals1) + ld de, wOBPals1 + ld hl, NPCDarknessPalette + ld bc, 8 palettes + jp FarCopyWRAM + +.not_darkness ld a, [wTimeOfDayPal] maskbits NUM_DAYTIMES ld bc, 8 palettes @@ -705,21 +719,21 @@ LoadMapPals: ret nz .outside ld a, [wMapGroup] - ld l, a - ld h, 0 - add hl, hl - add hl, hl - add hl, hl - ld de, RoofPals + add a + add a + ld e, a + ld d, 0 + ld hl, RoofPals +rept NUM_DAYTIMES add hl, de +endr ld a, [wTimeOfDayPal] maskbits NUM_DAYTIMES - cp NITE_F - jr c, .morn_day -rept 4 - inc hl -endr -.morn_day + add a + add a + ld e, a + ld d, 0 + add hl, de ld de, wBGPals1 palette PAL_BG_ROOF color 1 ld bc, 4 ld a, BANK(wBGPals1) @@ -737,11 +751,14 @@ INCLUDE "gfx/stats/party_menu_bg.pal" TilesetBGPalette: INCLUDE "gfx/tilesets/bg_tiles.pal" +NPCDarknessPalette: +INCLUDE "gfx/overworld/npc_sprites_darkness.pal" + MapObjectPals:: INCLUDE "gfx/overworld/npc_sprites.pal" RoofPals: - table_width PAL_COLOR_SIZE * 2 * 2, RoofPals + table_width PAL_COLOR_SIZE * 4 * 2, RoofPals INCLUDE "gfx/tilesets/roofs.pal" assert_table_length NUM_MAP_GROUPS + 1 diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index bfb3b564d..5a207fb98 100644 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -204,7 +204,7 @@ MainMenu_PrintCurrentTimeAndDay: db "MORN@" db "DAY@" db "NITE@" - db "NITE@" + db "EVE@" ClearTilemapEtc: xor a diff --git a/engine/overworld/wildmons.asm b/engine/overworld/wildmons.asm index cc295e41c..0e7b9c957 100644 --- a/engine/overworld/wildmons.asm +++ b/engine/overworld/wildmons.asm @@ -5,6 +5,7 @@ LoadWildMonData: xor a ld [hli], a ld [hli], a + ld [hli], a ld [hl], a jr .done_copy @@ -12,7 +13,7 @@ LoadWildMonData: inc hl inc hl ld de, wMornEncounterRate - ld bc, 3 + ld bc, NUM_DAYTIMES call CopyBytes .done_copy call _WaterWildmonLookup diff --git a/engine/pokegear/radio.asm b/engine/pokegear/radio.asm index af3a1f168..8c2c38739 100644 --- a/engine/pokegear/radio.asm +++ b/engine/pokegear/radio.asm @@ -231,12 +231,10 @@ OaksPKMNTalk4: rept 4 inc hl endr - ; Generate a number, either 0, 1, or 2, to choose a time of day. + ; Generate a number, either 0, 1, 2, or 3 to choose a time of day. .loop2 call Random maskbits NUM_DAYTIMES - cp DARKNESS_F - jr z, .loop2 ld bc, 2 * NUM_GRASSMON call AddNTimes diff --git a/engine/pokemon/caught_data.asm b/engine/pokemon/caught_data.asm index 930f2e849..54471e1b6 100644 --- a/engine/pokemon/caught_data.asm +++ b/engine/pokemon/caught_data.asm @@ -166,6 +166,7 @@ SetBoxmonOrEggmonCaughtData: inc a rrca rrca + and CAUGHT_TIME_MASK ; caught in eve becomes $0 ld b, a ld a, [wCurPartyLevel] or b diff --git a/engine/pokemon/evolve.asm b/engine/pokemon/evolve.asm index b3a620c05..3f457b97e 100644 --- a/engine/pokemon/evolve.asm +++ b/engine/pokemon/evolve.asm @@ -129,16 +129,16 @@ EvolveAfterBattle_MasterLoop: cp TR_MORNDAY jr z, .happiness_daylight -; TR_NITE +; TR_EVENITE ld a, [wTimeOfDay] cp NITE_F - jp nz, .dont_evolve_3 + jp c, .dont_evolve_3 ; MORN_F or DAY_F jr .proceed .happiness_daylight ld a, [wTimeOfDay] cp NITE_F - jp z, .dont_evolve_3 + jp nc, .dont_evolve_3 ; NITE_F or EVE_F jr .proceed .trade diff --git a/engine/tilesets/tileset_palettes.asm b/engine/tilesets/tileset_palettes.asm index 994102238..061a57b2d 100644 --- a/engine/tilesets/tileset_palettes.asm +++ b/engine/tilesets/tileset_palettes.asm @@ -1,4 +1,12 @@ LoadSpecialMapPalette: + call GetMapTimeOfDay + bit IN_DARKNESS_F, a + jr z, .not_dark + ld a, [wStatusFlags] + bit STATUSFLAGS_FLASH_F, a + jr z, .darkness + +.not_dark ld a, [wMapTileset] cp TILESET_POKECOM_CENTER jr z, .pokecom_2f @@ -14,6 +22,11 @@ LoadSpecialMapPalette: jr z, .mansion_mobile jr .do_nothing +.darkness + call LoadDarknessPalette + scf + ret + .pokecom_2f call LoadPokeComPalette scf @@ -52,6 +65,16 @@ LoadSpecialMapPalette: and a ret +LoadDarknessPalette: + ld a, BANK(wBGPals1) + ld de, wBGPals1 + ld hl, DarknessPalette + ld bc, 8 palettes + jp FarCopyWRAM + +DarknessPalette: +INCLUDE "gfx/tilesets/bg_tiles_darkness.pal" + LoadPokeComPalette: ld a, BANK(wBGPals1) ld de, wBGPals1 diff --git a/engine/tilesets/timeofday_pals.asm b/engine/tilesets/timeofday_pals.asm index 1dc7165f1..154a04e7d 100644 --- a/engine/tilesets/timeofday_pals.asm +++ b/engine/tilesets/timeofday_pals.asm @@ -185,10 +185,18 @@ endr ret ReplaceTimeOfDayPals: + ld a, [wMapTimeOfDay] + bit IN_DARKNESS_F, a + jr z, .not_dark + ld a, [wStatusFlags] + bit STATUSFLAGS_FLASH_F, a + jr nz, .not_dark + ld a, DARKNESS_PALSET + jr .done + +.not_dark: ld hl, .BrightnessLevels ld a, [wMapTimeOfDay] - cp PALETTE_DARK - jr z, .NeedsFlash maskbits NUM_MAP_PALETTES add l ld l, a @@ -196,33 +204,21 @@ ReplaceTimeOfDayPals: adc h ld h, a ld a, [hl] - ld [wTimeOfDayPalset], a - ret - -.NeedsFlash: - ld a, [wStatusFlags] - bit STATUSFLAGS_FLASH_F, a - jr nz, .UsedFlash - ld a, DARKNESS_PALSET - ld [wTimeOfDayPalset], a - ret - -.UsedFlash: - ld a, (NITE_F << 6) | (NITE_F << 4) | (NITE_F << 2) | NITE_F +.done ld [wTimeOfDayPalset], a ret .BrightnessLevels: ; actual palettes used when time is -; DARKNESS_F, NITE_F, DAY_F, MORN_F - dc DARKNESS_F, NITE_F, DAY_F, MORN_F ; PALETTE_AUTO +; EVE_F, NITE_F, DAY_F, MORN_F + dc EVE_F, NITE_F, DAY_F, MORN_F ; PALETTE_AUTO dc DAY_F, DAY_F, DAY_F, DAY_F ; PALETTE_DAY dc NITE_F, NITE_F, NITE_F, NITE_F ; PALETTE_NITE dc MORN_F, MORN_F, MORN_F, MORN_F ; PALETTE_MORN - dc DARKNESS_F, DARKNESS_F, DARKNESS_F, DARKNESS_F ; PALETTE_DARK - dc DARKNESS_F, NITE_F, DAY_F, MORN_F - dc DARKNESS_F, NITE_F, DAY_F, MORN_F - dc DARKNESS_F, NITE_F, DAY_F, MORN_F + dc EVE_F, EVE_F, EVE_F, EVE_F ; PALETTE_EVE + dc EVE_F, NITE_F, DAY_F, MORN_F + dc EVE_F, NITE_F, DAY_F, MORN_F + dc EVE_F, NITE_F, DAY_F, MORN_F GetTimePalette: jumptable .TimePalettes, wTimeOfDay @@ -231,7 +227,7 @@ GetTimePalette: dw .MorningPalette ; MORN_F dw .DayPalette ; DAY_F dw .NitePalette ; NITE_F - dw .DarknessPalette ; DARKNESS_F + dw .EveningPalette ; EVE_F .MorningPalette: ld a, [wTimeOfDayPalset] @@ -251,7 +247,7 @@ GetTimePalette: swap a ret -.DarknessPalette: +.EveningPalette: ld a, [wTimeOfDayPalset] and %11000000 rlca diff --git a/gfx/overworld/npc_sprites.pal b/gfx/overworld/npc_sprites.pal index b0f33479a..14c9382cd 100644 --- a/gfx/overworld/npc_sprites.pal +++ b/gfx/overworld/npc_sprites.pal @@ -28,12 +28,12 @@ RGB 15,14,24, 08,13,19, 00,11,13, 00,00,00 ; tree RGB 15,14,24, 12,09,15, 08,04,05, 00,00,00 ; rock -; dark - RGB 01,01,02, 31,19,10, 31,07,01, 00,00,00 ; red - RGB 01,01,02, 31,19,10, 10,09,31, 00,00,00 ; blue - RGB 01,01,02, 31,19,10, 07,23,03, 00,00,00 ; green - RGB 01,01,02, 31,19,10, 15,10,03, 00,00,00 ; brown - RGB 01,01,02, 31,19,10, 30,10,06, 00,00,00 ; pink +; eve + RGB 31,21,14, 31,19,10, 31,07,01, 00,00,00 ; red + RGB 31,21,14, 31,19,10, 10,09,31, 00,00,00 ; blue + RGB 31,21,14, 31,19,10, 07,23,03, 00,00,00 ; green + RGB 31,21,14, 31,19,10, 15,10,03, 00,00,00 ; brown + RGB 31,21,14, 31,19,10, 30,10,06, 00,00,00 ; pink RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver - RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; tree - RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; rock + RGB 19,23,08, 10,19,01, 04,10,00, 06,05,05 ; tree + RGB 31,21,14, 21,13,05, 16,09,01, 06,05,05 ; rock diff --git a/gfx/overworld/npc_sprites_darkness.pal b/gfx/overworld/npc_sprites_darkness.pal new file mode 100755 index 000000000..8c3959e6a --- /dev/null +++ b/gfx/overworld/npc_sprites_darkness.pal @@ -0,0 +1,9 @@ +; dark + RGB 01,01,02, 31,19,10, 31,07,01, 00,00,00 ; red + RGB 01,01,02, 31,19,10, 10,09,31, 00,00,00 ; blue + RGB 01,01,02, 31,19,10, 07,23,03, 00,00,00 ; green + RGB 01,01,02, 31,19,10, 15,10,03, 00,00,00 ; brown + RGB 01,01,02, 31,19,10, 30,10,06, 00,00,00 ; pink + RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver + RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; tree + RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; rock diff --git a/gfx/tilesets/bg_tiles.pal b/gfx/tilesets/bg_tiles.pal index 3605e2184..85e8b0dd4 100644 --- a/gfx/tilesets/bg_tiles.pal +++ b/gfx/tilesets/bg_tiles.pal @@ -28,17 +28,17 @@ RGB 15,14,24, 13,12,23, 11,09,20, 00,00,00 ; roof RGB 31,31,16, 31,31,16, 14,09,00, 00,00,00 ; text -; dark - RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; gray - RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; red - RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; green - RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; water - RGB 30,30,11, 00,00,00, 00,00,00, 00,00,00 ; yellow - RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; brown - RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; roof +; eve + RGB 31,21,14, 18,16,16, 11,10,10, 06,05,05 ; gray + RGB 31,21,14, 25,14,18, 24,08,05, 06,05,05 ; red + RGB 19,23,08, 10,19,01, 04,10,00, 06,05,05 ; green + RGB 31,21,14, 07,09,23, 01,03,23, 06,05,05 ; water + RGB 31,31,07, 27,21,10, 25,12,01, 06,05,05 ; yellow + RGB 31,21,14, 21,13,05, 16,09,01, 06,05,05 ; brown + RGB 31,21,14, 13,23,23, 04,13,23, 06,05,05 ; roof RGB 31,31,16, 31,31,16, 14,09,00, 00,00,00 ; text -; indoor +; indoor (morn/day) RGB 30,28,26, 19,19,19, 13,13,13, 07,07,07 ; gray RGB 30,28,26, 31,19,24, 30,10,06, 07,07,07 ; red RGB 18,24,09, 15,20,01, 09,13,00, 07,07,07 ; green @@ -48,6 +48,8 @@ RGB 30,28,26, 17,19,31, 14,16,31, 07,07,07 ; roof RGB 31,31,16, 31,31,16, 14,09,00, 00,00,00 ; text -; overworld water - RGB 23,23,31, 18,19,31, 13,12,31, 07,07,07 ; morn/day - RGB 15,13,27, 10,09,20, 04,03,18, 00,00,00 ; nite +; overworld water (outdoor) + RGB 23,23,31, 18,19,31, 13,12,31, 07,07,07 ; morn + RGB 23,23,31, 18,19,31, 13,12,31, 07,07,07 ; day + RGB 15,13,27, 10,09,20, 04,03,18, 00,00,00 ; nite + RGB 31,21,14, 16,14,23, 11,09,23, 06,05,05 ; eve diff --git a/gfx/tilesets/bg_tiles_darkness.pal b/gfx/tilesets/bg_tiles_darkness.pal new file mode 100755 index 000000000..0db5d2309 --- /dev/null +++ b/gfx/tilesets/bg_tiles_darkness.pal @@ -0,0 +1,9 @@ +; dark + RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; gray + RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; red + RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; green + RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; water + RGB 30,30,11, 00,00,00, 00,00,00, 00,00,00 ; yellow + RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; brown + RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; roof + RGB 31,31,16, 31,31,16, 14,09,00, 00,00,00 ; text diff --git a/gfx/tilesets/roofs.pal b/gfx/tilesets/roofs.pal index 1e3d19e52..dfe559ba3 100644 --- a/gfx/tilesets/roofs.pal +++ b/gfx/tilesets/roofs.pal @@ -1,107 +1,161 @@ ; group 0 (unused) - RGB 21,21,21, 11,11,11 ; morn/day + RGB 21,21,21, 11,11,11 ; morn + RGB 21,21,21, 11,11,11 ; day RGB 21,21,21, 11,11,11 ; nite + RGB 18,16,16, 09,08,08 ; eve ; group 1 (Level1) - RGB 14,17,31, 07,11,15 ; morn/day + RGB 14,17,31, 07,11,15 ; morn + RGB 14,17,31, 07,11,15 ; day RGB 09,09,17, 05,07,13 ; nite + RGB 12,13,23, 06,08,11 ; eve ; group 2 (Mahogany) -; RGB 12,19,00, 06,10,00 ; morn/day +; RGB 12,19,00, 06,10,00 ; morn +; RGB 12,19,00, 06,10,00 ; day ; RGB 06,09,07, 04,05,06 ; nite +; RGB 10,14,00, 05,08,00 ; eve ; group 3 (dungeons) -; RGB 21,21,21, 11,11,11 ; morn/day +; RGB 21,21,21, 11,11,11 ; morn +; RGB 21,21,21, 11,11,11 ; day ; RGB 21,21,21, 17,08,07 ; nite +; RGB 18,16,16, 09,08,08 ; eve ; group 4 (Ecruteak) -; RGB 31,19,00, 27,10,05 ; morn/day +; RGB 31,19,00, 27,10,05 ; morn +; RGB 31,19,00, 27,10,05 ; day ; RGB 15,07,02, 11,04,02 ; nite +; RGB 25,14,00, 22,08,03 ; eve ; group 5 (Blackthorn) -; RGB 11,10,16, 05,06,07 ; morn/day +; RGB 11,10,16, 05,06,07 ; morn +; RGB 11,10,16, 05,06,07 ; day ; RGB 03,04,08, 00,00,00 ; nite +; RGB 09,08,12, 04,04,05 ; eve ; group 6 (Cinnabar) -; RGB 31,10,00, 18,06,00 ; morn/day +; RGB 31,10,00, 18,06,00 ; morn +; RGB 31,10,00, 18,06,00 ; day ; RGB 18,05,09, 17,08,07 ; nite +; RGB 25,08,00, 15,04,00 ; eve ; group 7 (Cerulean) -; RGB 17,27,31, 05,15,31 ; morn/day +; RGB 17,27,31, 05,15,31 ; morn +; RGB 17,27,31, 05,15,31 ; day ; RGB 07,08,22, 07,07,16 ; nite +; RGB 14,21,23, 04,11,23 ; eve ; group 8 (Azalea) -; RGB 22,20,10, 17,14,03 ; morn/day +; RGB 22,20,10, 17,14,03 ; morn +; RGB 22,20,10, 17,14,03 ; day ; RGB 11,11,05, 10,09,07 ; nite +; RGB 19,15,08, 14,10,01 ; eve ; group 9 (Lake of Rage) -; RGB 31,08,04, 09,09,08 ; morn/day +; RGB 31,08,04, 09,09,08 ; morn +; RGB 31,08,04, 09,09,08 ; day ; RGB 18,05,09, 09,09,08 ; nite +; RGB 25,06,02, 08,07,06 ; eve ; group 10 (Violet) -; RGB 24,14,31, 13,07,21 ; morn/day +; RGB 24,14,31, 13,07,21 ; morn +; RGB 24,14,31, 13,07,21 ; day ; RGB 12,03,18, 09,03,15 ; nite +; RGB 21,10,23, 11,05,16 ; eve ; group 11 (Goldenrod) -; RGB 25,25,00, 20,17,08 ; morn/day +; RGB 25,25,00, 20,17,08 ; morn +; RGB 25,25,00, 20,17,08 ; day ; RGB 12,12,00, 10,09,05 ; nite +; RGB 21,19,00, 17,13,06 ; eve ; group 12 (Vermilion) -; RGB 27,23,01, 23,11,00 ; morn/day +; RGB 27,23,01, 23,11,00 ; morn +; RGB 27,23,01, 23,11,00 ; day ; RGB 15,11,01, 11,10,01 ; nite +; RGB 21,19,00, 17,13,06 ; eve ; group 13 (Pallet) -; RGB 27,28,31, 17,19,22 ; morn/day +; RGB 27,28,31, 17,19,22 ; morn +; RGB 27,28,31, 17,19,22 ; day ; RGB 14,14,18, 10,09,13 ; nite +; RGB 25,12,10, 21,08,06 ; eve ; group 14 (Pewter) -; RGB 19,19,16, 10,12,15 ; morn/day +; RGB 19,19,16, 10,12,15 ; morn +; RGB 19,19,16, 10,12,15 ; day ; RGB 09,09,11, 04,05,07 ; nite +; RGB 16,14,12, 08,09,11 ; eve ; group 15 (Mount Moon Square) -; RGB 14,17,31, 07,11,15 ; morn/day +; RGB 14,17,31, 07,11,15 ; morn +; RGB 14,17,31, 07,11,15 ; day ; RGB 09,13,19, 07,07,16 ; nite +; RGB 12,13,23, 06,08,11 ; eve ; group 16 (Indigo) -; RGB 21,21,21, 13,13,13 ; morn/day +; RGB 21,21,21, 13,13,13 ; morn +; RGB 21,21,21, 13,13,13 ; day ; RGB 11,11,19, 07,07,12 ; nite +; RGB 20,19,19, 11,10,10 ; eve ; group 17 (Fuchsia) -; RGB 31,18,29, 17,13,20 ; morn/day +; RGB 31,18,29, 17,13,20 ; morn +; RGB 31,18,29, 17,13,20 ; day ; RGB 14,06,12, 11,03,10 ; nite +; RGB 25,13,21, 14,10,15 ; eve ; group 18 (Lavender) -; RGB 23,15,31, 16,05,31 ; morn/day +; RGB 23,15,31, 16,05,31 ; morn +; RGB 23,15,31, 16,05,31 ; day ; RGB 12,07,17, 08,06,10 ; nite +; RGB 20,11,23, 13,03,23 ; eve ; group 19 (Silver Cave) -; RGB 21,21,25, 16,16,16 ; morn/day +; RGB 21,21,25, 16,16,16 ; morn +; RGB 21,21,25, 16,16,16 ; day ; RGB 13,13,13, 07,07,07 ; nite +; RGB 08,18,22, 08,10,19 ; eve ; group 20 (Cable Club) -; RGB 21,21,21, 11,11,11 ; morn/day +; RGB 21,21,21, 11,11,11 ; morn +; RGB 21,21,21, 11,11,11 ; day ; RGB 21,21,21, 11,11,11 ; nite +; RGB 20,19,19, 10,09,09 ; eve ; group 21 (Celadon) -; RGB 19,31,15, 31,22,02 ; morn/day +; RGB 19,31,15, 31,22,02 ; morn +; RGB 19,31,15, 31,22,02 ; day ; RGB 12,13,09, 09,12,03 ; nite +; RGB 11,19,02, 04,14,04 ; eve ; group 22 (Cianwood) -; RGB 15,10,31, 07,05,15 ; morn/day +; RGB 15,10,31, 07,05,15 ; morn +; RGB 15,10,31, 07,05,15 ; day ; RGB 06,05,17, 02,02,08 ; nite +; RGB 13,08,23, 06,03,11 ; eve ; group 23 (Viridian) -; RGB 21,31,07, 13,25,04 ; morn/day +; RGB 21,31,07, 13,25,04 ; morn +; RGB 21,31,07, 13,25,04 ; day ; RGB 09,14,08, 06,10,04 ; nite +; RGB 18,24,05, 11,19,02 ; eve ; group 24 (New Bark) -; RGB 20,31,14, 11,23,05 ; morn/day +; RGB 20,31,14, 11,23,05 ; morn +; RGB 20,31,14, 11,23,05 ; day ; RGB 09,13,08, 06,09,04 ; nite +; RGB 17,24,10, 09,18,03 ; eve ; group 25 (Saffron) -; RGB 31,26,00, 31,15,00 ; morn/day +; RGB 31,26,00, 31,15,00 ; morn +; RGB 31,26,00, 31,15,00 ; day ; RGB 13,13,01, 08,08,01 ; nite +; RGB 25,20,00, 25,11,00 ; eve ; group 26 (Cherrygrove) -; RGB 31,14,28, 31,05,21 ; morn/day +; RGB 31,14,28, 31,05,21 ; morn +; RGB 31,14,28, 31,05,21 ; day ; RGB 14,07,17, 13,00,08 ; nite +; RGB 25,10,20, 25,03,16 ; eve diff --git a/home/map_objects.asm b/home/map_objects.asm index 0a66dfdf8..c0e9d0a57 100644 --- a/home/map_objects.asm +++ b/home/map_objects.asm @@ -262,6 +262,7 @@ CheckObjectTime:: db MORN db DAY db NITE + db EVE .check_hour ld hl, MAPOBJECT_HOUR_1 diff --git a/ram/wram.asm b/ram/wram.asm index 94568cad1..e847d2123 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -2064,6 +2064,7 @@ wCurDamage:: dw wMornEncounterRate:: db wDayEncounterRate:: db wNiteEncounterRate:: db +wEveEncounterRate:: db wWaterEncounterRate:: db wListMoves_MoveIndicesBuffer:: ds NUM_MOVES wPutativeTMHMMove:: db