[READY] Adds night shifts (#4281)

* initial commit - adds night shifts

* fixes lighting not updating when nightshift is triggered and fixes compiling issues

* makes red alert override nightshift

* Update lighting.dm

* adds announcements for nightshift changes

* fixes nightshift flip-flopping during the night, adjusts night message a little, moves from minor_announce to priority_announce

* Update cit_nightshift.dm

* fixes compiling errors
This commit is contained in:
deathride58
2018-02-05 03:28:41 +00:00
committed by Poojawa
parent f8b030f18f
commit 142e96a2dd
6 changed files with 88 additions and 6 deletions
+3 -2
View File
@@ -311,8 +311,9 @@
on = FALSE
emergency_mode = FALSE
if(on)
if(!light || light.light_range != brightness)
if(!light || light.light_range != brightness || SSnightshift.nightshift != nightshift) //Cit change - makes lights update when nightshift triggers
switchcount++
nightshift = SSnightshift.nightshift // Cit change - makes lights update when nightshift triggers
if(rigged)
if(status == LIGHT_OK && trigger)
explode()
@@ -321,7 +322,7 @@
burn_out()
else
use_power = ACTIVE_POWER_USE
set_light(brightness, bulb_power, bulb_colour)
set_light(brightness, ((SSnightshift.nightshift && obeysnightshift) ? SSnightshift.nightshift_light_power : bulb_power), ((SSnightshift.nightshift && obeysnightshift) ? SSnightshift.nightshift_light_color : bulb_colour)) // Citadel change. Allows nightshift and admins to modify station light power and color
else if(has_emergency_power(LIGHT_EMERGENCY_POWER_USE) && !turned_off())
use_power = IDLE_POWER_USE
emergency_mode = TRUE
@@ -41,6 +41,8 @@ GLOBAL_VAR_INIT(security_level, 0)
if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL)
SSshuttle.emergency.modTimer(2)
GLOB.security_level = SEC_LEVEL_BLUE
sound_to_playing_players('sound/misc/voybluealert.ogg') // Citadel change - Makes alerts play a sound
for(var/obj/machinery/firealarm/FA in GLOB.machines)
if(is_station_level(FA.z))
FA.update_icon()
@@ -55,6 +57,7 @@ GLOBAL_VAR_INIT(security_level, 0)
else
minor_announce(CONFIG_GET(string/alert_red_downto), "Attention! Code red!")
GLOB.security_level = SEC_LEVEL_RED
sound_to_playing_players('sound/misc/voyalert.ogg') // Citadel change - Makes alerts play a sound
for(var/obj/machinery/firealarm/FA in GLOB.machines)
if(is_station_level(FA.z))
@@ -69,6 +72,8 @@ GLOBAL_VAR_INIT(security_level, 0)
else if(GLOB.security_level == SEC_LEVEL_BLUE)
SSshuttle.emergency.modTimer(0.5)
GLOB.security_level = SEC_LEVEL_DELTA
sound_to_playing_players('sound/misc/deltakalaxon.ogg') // Citadel change - Makes alerts play a sound
for(var/obj/machinery/firealarm/FA in GLOB.machines)
if(is_station_level(FA.z))
FA.update_icon()
@@ -79,6 +84,12 @@ GLOBAL_VAR_INIT(security_level, 0)
if(D.red_alert_access)
D.visible_message("<span class='notice'>[D] whirrs as it automatically lifts access requirements!</span>")
playsound(D, 'sound/machines/boltsup.ogg', 50, TRUE)
//Citadel change, makes red and delta alerts override nightshift lights
SSnightshift.nightshift_override = TRUE
if(SSnightshift.nightshift)
SSnightshift.nightshift = FALSE
SSnightshift.updatenightlights()
//End of citadel changes
SSblackbox.record_feedback("tally", "security_level_changes", 1, get_security_level())
else
return