diff --git a/code/__DEFINES/lighting_defines.dm b/code/__DEFINES/lighting_defines.dm index 1048965435e..e66e81392cc 100644 --- a/code/__DEFINES/lighting_defines.dm +++ b/code/__DEFINES/lighting_defines.dm @@ -72,6 +72,14 @@ #define LIGHT_COLOR_TUNGSTEN "#FAE1AF" //Extremely diluted yellow, close to skin color (for some reason). rgb(250, 225, 175) #define LIGHT_COLOR_HALOGEN "#F0FAFA" //Barely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250) +// Station Area Lights +#define LIGHT_COLOR_STATION_HALL "#fafaeb" // Slight warm, for station halls. +#define LIGHT_COLOR_STATION_HALL_NIGHT "#fcf4dc" // ^Ditto^, but warmer. +#define LIGHT_COLOR_STATION_WORK "#fae5c9" // Moderately warm, for standard work environments. +#define LIGHT_COLOR_STATION_WORK_NIGHT "#fcd3b1" // ^Ditto^, but warmer. +#define LIGHT_COLOR_STATION_OFFICE "#fac192" // Quite warm, for offices and private rooms. +#define LIGHT_COLOR_STATION_OFFICE_NIGHT "#e29a5f" // ^Ditto^, but warmer. + #define LIGHT_RANGE_FIRE 3 //How many tiles standard fires glow. #define LIGHTING_PLANE_ALPHA_VISIBLE 255 @@ -87,7 +95,6 @@ #define DYNAMIC_LIGHTING_IFSTARLIGHT 3 //dynamic lighting enabled only if starlight is. #define IS_DYNAMIC_LIGHTING(A) A.dynamic_lighting - //code assumes higher numbers override lower numbers. #define LIGHTING_NO_UPDATE 0 #define LIGHTING_VIS_UPDATE 1 diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 857acb1dec7..60946d79b4d 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -114,6 +114,8 @@ */ luminosity = TRUE var/dynamic_lighting = DYNAMIC_LIGHTING_ENABLED + var/area_light_color = null + var/area_nightlight_color = null /area/New(loc, ...) if(!there_can_be_many) // Has to be done in New else the maploader will fuck up and find subtypes for the parent diff --git a/code/game/area/ss13_areas/command_areas.dm b/code/game/area/ss13_areas/command_areas.dm index dd375c3863c..391ec8c87cf 100644 --- a/code/game/area/ss13_areas/command_areas.dm +++ b/code/game/area/ss13_areas/command_areas.dm @@ -3,6 +3,8 @@ /area/station/command airlock_wires = /datum/wires/airlock/command + area_light_color = LIGHT_COLOR_STATION_WORK + area_nightlight_color = LIGHT_COLOR_STATION_WORK_NIGHT /area/station/command/bridge name = "\improper Bridge" @@ -20,6 +22,10 @@ request_console_name = "Bridge" request_console_announces = TRUE +/area/station/command/office + area_light_color = LIGHT_COLOR_STATION_OFFICE + area_nightlight_color = LIGHT_COLOR_STATION_OFFICE_NIGHT + /area/station/command/office/captain name = "\improper Captain's Office" icon_state = "captainoffice" diff --git a/code/game/area/ss13_areas/engineering_areas.dm b/code/game/area/ss13_areas/engineering_areas.dm index a388410add8..d829cb0afbd 100644 --- a/code/game/area/ss13_areas/engineering_areas.dm +++ b/code/game/area/ss13_areas/engineering_areas.dm @@ -41,6 +41,8 @@ ambientsounds = ENGINEERING_SOUNDS sound_environment = SOUND_AREA_LARGE_ENCLOSED airlock_wires = /datum/wires/airlock/engineering + area_light_color = LIGHT_COLOR_STATION_WORK + area_nightlight_color = LIGHT_COLOR_STATION_WORK_NIGHT /area/station/engineering/smes name = "\improper Engineering SMES" diff --git a/code/game/area/ss13_areas/legal_areas.dm b/code/game/area/ss13_areas/legal_areas.dm index 5122db218f6..acd3be62bfc 100644 --- a/code/game/area/ss13_areas/legal_areas.dm +++ b/code/game/area/ss13_areas/legal_areas.dm @@ -15,6 +15,8 @@ icon_state = "law" sound_environment = SOUND_AREA_SMALL_SOFTFLOOR request_console_name = "Internal Affairs Office" + area_light_color = LIGHT_COLOR_STATION_OFFICE + area_nightlight_color = LIGHT_COLOR_STATION_OFFICE_NIGHT /area/station/legal/magistrate name = "\improper Magistrate's Office" @@ -22,3 +24,5 @@ sound_environment = SOUND_AREA_SMALL_SOFTFLOOR request_console_flags = RC_ASSIST | RC_INFO request_console_name = "Magistrate" + area_light_color = LIGHT_COLOR_STATION_OFFICE + area_nightlight_color = LIGHT_COLOR_STATION_OFFICE_NIGHT diff --git a/code/game/area/ss13_areas/procedure_areas.dm b/code/game/area/ss13_areas/procedure_areas.dm index 1f83529bf73..3e15a9fe6fc 100644 --- a/code/game/area/ss13_areas/procedure_areas.dm +++ b/code/game/area/ss13_areas/procedure_areas.dm @@ -2,3 +2,5 @@ name = "\improper Trainer's Office" icon_state = "procedure_nct" airlock_wires = /datum/wires/airlock/command // This or security + area_light_color = LIGHT_COLOR_STATION_OFFICE + area_nightlight_color = LIGHT_COLOR_STATION_OFFICE_NIGHT diff --git a/code/game/area/ss13_areas/public_areas.dm b/code/game/area/ss13_areas/public_areas.dm index 062f3e5dfa0..8ac152da297 100644 --- a/code/game/area/ss13_areas/public_areas.dm +++ b/code/game/area/ss13_areas/public_areas.dm @@ -6,6 +6,8 @@ /area/station/hallway valid_territory = FALSE //too many areas with similar/same names, also not very interesting summon spots sound_environment = SOUND_AREA_STANDARD_STATION + area_light_color = LIGHT_COLOR_STATION_HALL + area_nightlight_color = LIGHT_COLOR_STATION_HALL /area/station/hallway/primary/fore name = "\improper Fore Primary Hallway" @@ -172,6 +174,9 @@ // Other public areas +/area/station/public + area_light_color = LIGHT_COLOR_STATION_HALL + area_nightlight_color = LIGHT_COLOR_STATION_HALL_NIGHT /area/station/public/dorms name = "\improper Dormitories" diff --git a/code/game/area/ss13_areas/security_areas.dm b/code/game/area/ss13_areas/security_areas.dm index aa385dead5f..10e5fcf1a6f 100644 --- a/code/game/area/ss13_areas/security_areas.dm +++ b/code/game/area/ss13_areas/security_areas.dm @@ -3,6 +3,8 @@ ambientsounds = HIGHSEC_SOUNDS sound_environment = SOUND_AREA_STANDARD_STATION airlock_wires = /datum/wires/airlock/security + area_light_color = LIGHT_COLOR_STATION_WORK + area_nightlight_color = LIGHT_COLOR_STATION_WORK_NIGHT /area/station/security/main name = "\improper Security Office" diff --git a/code/game/area/ss13_areas/service_areas.dm b/code/game/area/ss13_areas/service_areas.dm index 3b191946e55..2e9da8d9e0b 100644 --- a/code/game/area/ss13_areas/service_areas.dm +++ b/code/game/area/ss13_areas/service_areas.dm @@ -1,5 +1,7 @@ /area/station/service airlock_wires = /datum/wires/airlock/service + area_light_color = LIGHT_COLOR_STATION_WORK + area_nightlight_color = LIGHT_COLOR_STATION_WORK_NIGHT /area/station/service/cafeteria name = "\improper Cafe" diff --git a/code/game/area/ss13_areas/supply_areas.dm b/code/game/area/ss13_areas/supply_areas.dm index 15200d4f31e..01bbf66b868 100644 --- a/code/game/area/ss13_areas/supply_areas.dm +++ b/code/game/area/ss13_areas/supply_areas.dm @@ -4,6 +4,8 @@ icon_state = "quart" sound_environment = SOUND_AREA_STANDARD_STATION airlock_wires = /datum/wires/airlock/cargo + area_light_color = LIGHT_COLOR_STATION_WORK + area_nightlight_color = LIGHT_COLOR_STATION_WORK_NIGHT /area/station/supply/lobby name = "\improper Cargo Lobby" diff --git a/code/modules/power/lights.dm b/code/modules/power/lights.dm index 2a9842f4bab..0934fa1cbc5 100644 --- a/code/modules/power/lights.dm +++ b/code/modules/power/lights.dm @@ -299,7 +299,7 @@ /// Light intensity when in night shift mode var/nightshift_light_power = 0.45 /// The colour of the light while it's in night shift mode - var/nightshift_light_color = "#e0eeff" + var/nightshift_light_color = "#fafaeb" /// The colour of the light while it's in emergency mode var/bulb_emergency_colour = "#FF3232" @@ -320,7 +320,7 @@ exposure_icon_state = "circle" base_state = "bulb" brightness_range = 4 - brightness_color = "#faca92" + brightness_color = "#fac192" nightshift_light_range = 4 nightshift_light_color = "#e29a5f" // #a0a080 light_type = /obj/item/light/bulb @@ -437,6 +437,11 @@ break_light_tube(TRUE) update(FALSE, TRUE, FALSE) + if(A.area_light_color) + brightness_color = A.area_light_color + if(A.area_nightlight_color) + nightshift_light_color = A.area_nightlight_color + /obj/machinery/light/proc/on_security_level_change_planned(datum/source, previous_level_number, new_level_number) SIGNAL_HANDLER