mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-21 15:42:35 +00:00
changes: Maps are no longer compiled in, instead loaded directly from the DMMs at runtime. Z level defines have been moved from the config to map datums. Unit tests now use typecaches. DMMS now actually works. DMMS has been updated slightly. DMMS is now capable of loading simple lists of non-text types. DMMS is now faster when loading many types without mapped in attributes and when loading area instances. Asteroid generation is now defined on the map datum instead of being hard-coded in SSasteroid. Holodeck presets are now defined on the map datum. Atmos machinery now uses Initialize().
112 lines
3.4 KiB
Plaintext
112 lines
3.4 KiB
Plaintext
/var/security_level = 0
|
|
//0 = code green
|
|
//1 = code yellow
|
|
//2 = code blue
|
|
//3 = code red
|
|
//4 = code delta
|
|
|
|
//config.alert_desc_blue_downto
|
|
/var/datum/announcement/priority/security/security_announcement_up = new(do_log = 0, do_newscast = 1, new_sound = sound('sound/misc/notice1.ogg'))
|
|
/var/datum/announcement/priority/security/security_announcement_down = new(do_log = 0, do_newscast = 1)
|
|
|
|
/proc/set_security_level(var/level)
|
|
switch(level)
|
|
if("green")
|
|
level = SEC_LEVEL_GREEN
|
|
if("blue")
|
|
level = SEC_LEVEL_BLUE
|
|
if("red")
|
|
level = SEC_LEVEL_RED
|
|
if("yellow")
|
|
level = SEC_LEVEL_YELLOW
|
|
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 != security_level)
|
|
switch(level)
|
|
if(SEC_LEVEL_GREEN)
|
|
security_announcement_down.Announce("[config.alert_desc_green]", "Attention! Security level lowered to green.")
|
|
security_level = SEC_LEVEL_GREEN
|
|
SSnightlight.end_temp_disable()
|
|
if(SEC_LEVEL_BLUE)
|
|
if(security_level < SEC_LEVEL_BLUE)
|
|
security_announcement_up.Announce("[config.alert_desc_blue_upto]", "Attention! Security level elevated to blue.")
|
|
else
|
|
security_announcement_down.Announce("[config.alert_desc_blue_downto]", "Attention! Security level lowered to blue.")
|
|
security_level = SEC_LEVEL_BLUE
|
|
SSnightlight.end_temp_disable()
|
|
if(SEC_LEVEL_YELLOW)
|
|
security_announcement_up.Announce("[config.alert_desc_yellow_to]", "Attention! Biohazard alert declared!")
|
|
security_level = SEC_LEVEL_YELLOW
|
|
SSnightlight.end_temp_disable()
|
|
if(SEC_LEVEL_RED)
|
|
if(security_level < SEC_LEVEL_RED)
|
|
security_announcement_up.Announce("[config.alert_desc_red_upto]", "Attention! Security level elevated to red!")
|
|
SSnightlight.temp_disable()
|
|
else
|
|
security_announcement_down.Announce("[config.alert_desc_red_downto]", "Attention! Code red!")
|
|
security_level = SEC_LEVEL_RED
|
|
post_display_status("alert", "redalert")
|
|
if(SEC_LEVEL_DELTA)
|
|
security_announcement_up.Announce("[config.alert_desc_delta]", "Attention! Delta security level reached!", new_sound = 'sound/effects/siren.ogg')
|
|
security_level = SEC_LEVEL_DELTA
|
|
SSnightlight.temp_disable()
|
|
|
|
var/newlevel = get_security_level()
|
|
for(var/obj/machinery/firealarm/FA in SSmachinery.processing_machines)
|
|
if(FA.z in current_map.contact_levels)
|
|
FA.set_security_level(newlevel)
|
|
|
|
|
|
/proc/get_security_level()
|
|
switch(security_level)
|
|
if(SEC_LEVEL_GREEN)
|
|
return "green"
|
|
if(SEC_LEVEL_BLUE)
|
|
return "blue"
|
|
if(SEC_LEVEL_YELLOW)
|
|
return "yellow"
|
|
if(SEC_LEVEL_RED)
|
|
return "red"
|
|
if(SEC_LEVEL_DELTA)
|
|
return "delta"
|
|
|
|
/proc/num2seclevel(var/num)
|
|
switch(num)
|
|
if(SEC_LEVEL_GREEN)
|
|
return "green"
|
|
if(SEC_LEVEL_BLUE)
|
|
return "blue"
|
|
if(SEC_LEVEL_YELLOW)
|
|
return "yellow"
|
|
if(SEC_LEVEL_RED)
|
|
return "red"
|
|
if(SEC_LEVEL_DELTA)
|
|
return "delta"
|
|
|
|
/proc/seclevel2num(var/seclevel)
|
|
switch( lowertext(seclevel) )
|
|
if("green")
|
|
return SEC_LEVEL_GREEN
|
|
if("blue")
|
|
return SEC_LEVEL_BLUE
|
|
if("yellow")
|
|
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)
|
|
*/
|