mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 18:02:57 +00:00
129 lines
4.2 KiB
Plaintext
129 lines
4.2 KiB
Plaintext
GLOBAL_VAR_INIT(security_level, 0)
|
|
//0 = code green
|
|
//1 = code blue
|
|
//2 = code red
|
|
//3 = code delta
|
|
|
|
//config.alert_desc_blue_downto
|
|
|
|
/proc/set_security_level(level)
|
|
switch(level)
|
|
if("green")
|
|
level = SEC_LEVEL_GREEN
|
|
if("blue")
|
|
level = SEC_LEVEL_BLUE
|
|
if("red")
|
|
level = SEC_LEVEL_RED
|
|
if("delta")
|
|
level = SEC_LEVEL_DELTA
|
|
|
|
//Will not be announced if you try to set to the same level as it already is
|
|
if(level >= SEC_LEVEL_GREEN && level <= SEC_LEVEL_DELTA && level != GLOB.security_level)
|
|
switch(level)
|
|
if(SEC_LEVEL_GREEN)
|
|
minor_announce(config.alert_desc_green, "Attention! Security level lowered to green:")
|
|
if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL)
|
|
if(GLOB.security_level >= SEC_LEVEL_RED)
|
|
SSshuttle.emergency.modTimer(4)
|
|
else
|
|
SSshuttle.emergency.modTimer(2)
|
|
GLOB.security_level = SEC_LEVEL_GREEN
|
|
for(var/obj/machinery/firealarm/FA in GLOB.machines)
|
|
if(FA.z in GLOB.station_z_levels)
|
|
FA.update_icon()
|
|
if(SEC_LEVEL_BLUE)
|
|
if(GLOB.security_level < SEC_LEVEL_BLUE)
|
|
minor_announce(config.alert_desc_blue_upto, "Attention! Security level elevated to blue:",1)
|
|
if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL)
|
|
SSshuttle.emergency.modTimer(0.5)
|
|
else
|
|
minor_announce(config.alert_desc_blue_downto, "Attention! Security level lowered to blue:")
|
|
if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL)
|
|
SSshuttle.emergency.modTimer(2)
|
|
GLOB.security_level = SEC_LEVEL_BLUE
|
|
for(var/obj/machinery/firealarm/FA in GLOB.machines)
|
|
if(FA.z in GLOB.station_z_levels)
|
|
FA.update_icon()
|
|
if(SEC_LEVEL_RED)
|
|
if(GLOB.security_level < SEC_LEVEL_RED)
|
|
minor_announce(config.alert_desc_red_upto, "Attention! Code red!",1)
|
|
if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL)
|
|
if(GLOB.security_level == SEC_LEVEL_GREEN)
|
|
SSshuttle.emergency.modTimer(0.25)
|
|
else
|
|
SSshuttle.emergency.modTimer(0.5)
|
|
else
|
|
minor_announce(config.alert_desc_red_downto, "Attention! Code red!")
|
|
GLOB.security_level = SEC_LEVEL_RED
|
|
|
|
/* - At the time of commit, setting status displays didn't work properly
|
|
var/obj/machinery/computer/communications/CC = locate(/obj/machinery/computer/communications,world)
|
|
if(CC)
|
|
CC.post_status("alert", "redalert")*/
|
|
|
|
for(var/obj/machinery/firealarm/FA in GLOB.machines)
|
|
if(FA.z in GLOB.station_z_levels)
|
|
FA.update_icon()
|
|
for(var/obj/machinery/computer/shuttle/pod/pod in GLOB.machines)
|
|
pod.admin_controlled = 0
|
|
if(SEC_LEVEL_DELTA)
|
|
minor_announce(config.alert_desc_delta, "Attention! Delta security level reached!",1)
|
|
if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL)
|
|
if(GLOB.security_level == SEC_LEVEL_GREEN)
|
|
SSshuttle.emergency.modTimer(0.25)
|
|
else if(GLOB.security_level == SEC_LEVEL_BLUE)
|
|
SSshuttle.emergency.modTimer(0.5)
|
|
GLOB.security_level = SEC_LEVEL_DELTA
|
|
for(var/obj/machinery/firealarm/FA in GLOB.machines)
|
|
if(FA.z in GLOB.station_z_levels)
|
|
FA.update_icon()
|
|
for(var/obj/machinery/computer/shuttle/pod/pod in GLOB.machines)
|
|
pod.admin_controlled = 0
|
|
else
|
|
return
|
|
|
|
/proc/get_security_level()
|
|
switch(GLOB.security_level)
|
|
if(SEC_LEVEL_GREEN)
|
|
return "green"
|
|
if(SEC_LEVEL_BLUE)
|
|
return "blue"
|
|
if(SEC_LEVEL_RED)
|
|
return "red"
|
|
if(SEC_LEVEL_DELTA)
|
|
return "delta"
|
|
|
|
/proc/num2seclevel(num)
|
|
switch(num)
|
|
if(SEC_LEVEL_GREEN)
|
|
return "green"
|
|
if(SEC_LEVEL_BLUE)
|
|
return "blue"
|
|
if(SEC_LEVEL_RED)
|
|
return "red"
|
|
if(SEC_LEVEL_DELTA)
|
|
return "delta"
|
|
|
|
/proc/seclevel2num(seclevel)
|
|
switch( lowertext(seclevel) )
|
|
if("green")
|
|
return SEC_LEVEL_GREEN
|
|
if("blue")
|
|
return SEC_LEVEL_BLUE
|
|
if("red")
|
|
return SEC_LEVEL_RED
|
|
if("delta")
|
|
return SEC_LEVEL_DELTA
|
|
|
|
|
|
/*DEBUG
|
|
/mob/verb/set_thing0()
|
|
set_security_level(0)
|
|
/mob/verb/set_thing1()
|
|
set_security_level(1)
|
|
/mob/verb/set_thing2()
|
|
set_security_level(2)
|
|
/mob/verb/set_thing3()
|
|
set_security_level(3)
|
|
*/
|