From e5e97302d49b9f0e1ef97c63110cfc3b3b0a1314 Mon Sep 17 00:00:00 2001 From: Tupinambis <42078130+Tupinambis@users.noreply.github.com> Date: Tue, 5 Feb 2019 19:53:58 -0600 Subject: [PATCH] Adds a new security level: Amber (#7976) * Adds the Amber security level. * This isn't C --- code/__DEFINES/misc.dm | 5 +- .../configuration/entries/game_options.dm | 14 ++++-- code/controllers/subsystem/shuttle.dm | 5 +- .../game/machinery/computer/communications.dm | 14 ++++-- code/modules/admin/verbs/randomverbs.dm | 2 +- code/modules/antagonists/cult/cult_items.dm | 4 +- .../security_levels/security_levels.dm | 47 +++++++++++++++--- code/modules/shuttle/emergency.dm | 4 +- config/game_options.txt | 10 ++-- icons/obj/monitors.dmi | Bin 14569 -> 15245 bytes 10 files changed, 81 insertions(+), 24 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 0cc1131df2..7301284ee4 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -98,8 +98,9 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s //Security levels #define SEC_LEVEL_GREEN 0 #define SEC_LEVEL_BLUE 1 -#define SEC_LEVEL_RED 2 -#define SEC_LEVEL_DELTA 3 +#define SEC_LEVEL_AMBER 2 +#define SEC_LEVEL_RED 3 +#define SEC_LEVEL_DELTA 4 //some arbitrary defines to be used by self-pruning global lists. (see master_controller) #define PROCESS_KILL 26 //Used to trigger removal from a processing list diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index ab98db1620..f216b025f8 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -162,16 +162,22 @@ config_entry_value = "All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced." /datum/config_entry/string/alert_blue_upto - config_entry_value = "The station has received reliable information about possible hostile activity on the station. Security staff may have weapons visible, random searches are permitted." + config_entry_value = "The station has received reliable information about potential threats to the station. Security staff may have weapons visible, random searches are permitted." /datum/config_entry/string/alert_blue_downto - config_entry_value = "The immediate threat has passed. Security may no longer have weapons drawn at all times, but may continue to have them visible. Random searches are still allowed." + config_entry_value = "Significant confirmed threats have been neutralized. Security may no longer have weapons drawn at all times, but may continue to have them visible. Random searches are still permitted." + +/datum/config_entry/string/alert_amber_upto + config_entry_value = "There are significant confirmed threats to the station. Security staff may have weapons unholstered at all times. Random searches are allowed and advised." + +/datum/config_entry/string/alert_amber_downto + config_entry_value = "The immediate threat has passed. Security is no longer authorized to use lethal force, but may continue to have weapons drawn. Access requirements have been restored." /datum/config_entry/string/alert_red_upto - config_entry_value = "There is an immediate serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised." + config_entry_value = "There is an immediate serious threat to the station. Security is now authorized to use lethal force. Additionally, access requirements on some machines have been lifted." /datum/config_entry/string/alert_red_downto - config_entry_value = "The station's destruction has been averted. There is still however an immediate serious threat to the station. Security may have weapons unholstered at all times, random searches are allowed and advised." + config_entry_value = "The station's destruction has been averted. There is still however an immediate serious threat to the station. Security is still authorized to use lethal force." /datum/config_entry/string/alert_delta config_entry_value = "Destruction of the station is imminent. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill." diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 32d87425ff..8402a0150e 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -281,7 +281,10 @@ SUBSYSTEM_DEF(shuttle) if(emergency.timeLeft(1) < emergencyCallTime) return if(SEC_LEVEL_BLUE) - if(emergency.timeLeft(1) < emergencyCallTime * 0.5) + if(emergency.timeLeft(1) < emergencyCallTime * 0.6) + return + if(SEC_LEVEL_AMBER) + if(emergency.timeLeft(1) < emergencyCallTime * 0.4) return else if(emergency.timeLeft(1) < emergencyCallTime * 0.25) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 72944d6afe..3b87c923d7 100755 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -108,8 +108,10 @@ tmp_alertlevel = SEC_LEVEL_GREEN if(tmp_alertlevel < SEC_LEVEL_GREEN) tmp_alertlevel = SEC_LEVEL_GREEN - if(tmp_alertlevel > SEC_LEVEL_BLUE) - tmp_alertlevel = SEC_LEVEL_BLUE //Cannot engage delta with this + if(tmp_alertlevel == SEC_LEVEL_BLUE) + tmp_alertlevel = SEC_LEVEL_BLUE + if(tmp_alertlevel > SEC_LEVEL_AMBER) + tmp_alertlevel = SEC_LEVEL_AMBER //Cannot engage delta with this set_security_level(tmp_alertlevel) if(GLOB.security_level != old_level) to_chat(usr, "Authorization confirmed. Modifying security level.") @@ -390,8 +392,10 @@ tmp_alertlevel = SEC_LEVEL_GREEN if(tmp_alertlevel < SEC_LEVEL_GREEN) tmp_alertlevel = SEC_LEVEL_GREEN - if(tmp_alertlevel > SEC_LEVEL_BLUE) - tmp_alertlevel = SEC_LEVEL_BLUE //Cannot engage delta with this + if(tmp_alertlevel == SEC_LEVEL_BLUE) + tmp_alertlevel = SEC_LEVEL_BLUE + if(tmp_alertlevel > SEC_LEVEL_AMBER) + tmp_alertlevel = SEC_LEVEL_AMBER //Cannot engage delta with this set_security_level(tmp_alertlevel) if(GLOB.security_level != old_level) //Only notify people if an actual change happened @@ -548,6 +552,7 @@ if(GLOB.security_level == SEC_LEVEL_DELTA) dat += "The self-destruct mechanism is active. Find a way to deactivate the mechanism to lower the alert level or evacuate." else + dat += "Amber
" dat += "Blue
" dat += "Green" if(STATE_CONFIRM_LEVEL) @@ -690,6 +695,7 @@ if(GLOB.security_level == SEC_LEVEL_DELTA) dat += "The self-destruct mechanism is active. Find a way to deactivate the mechanism to lower the alert level or evacuate." else + dat += "Amber
" dat += "Blue
" dat += "Green" diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index b227e6cce1..808c48e002 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -845,7 +845,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!check_rights(R_ADMIN)) return - var/level = input("Select security level to change to","Set Security Level") as null|anything in list("green","blue","red","delta") + var/level = input("Select security level to change to","Set Security Level") as null|anything in list("green","blue","amber","red","delta") if(level) set_security_level(level) diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 5e3c0aa872..c582d0f8f2 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -508,7 +508,9 @@ if(SEC_LEVEL_GREEN) set_coefficient = 2 if(SEC_LEVEL_BLUE) - set_coefficient = 1 + set_coefficient = 1.2 + if(SEC_LEVEL_AMBER) + set_coefficient = 0.8 else set_coefficient = 0.5 var/surplus = timer - (SSshuttle.emergencyCallTime * set_coefficient) diff --git a/code/modules/security_levels/security_levels.dm b/code/modules/security_levels/security_levels.dm index 7e45854628..70b06e6438 100644 --- a/code/modules/security_levels/security_levels.dm +++ b/code/modules/security_levels/security_levels.dm @@ -1,6 +1,7 @@ GLOBAL_VAR_INIT(security_level, SEC_LEVEL_GREEN) //SEC_LEVEL_GREEN = code green //SEC_LEVEL_BLUE = code blue +//SEC_LEVEL_AMBER = code amber //SEC_LEVEL_RED = code red //SEC_LEVEL_DELTA = code delta @@ -12,6 +13,8 @@ GLOBAL_VAR_INIT(security_level, SEC_LEVEL_GREEN) level = SEC_LEVEL_GREEN if("blue") level = SEC_LEVEL_BLUE + if("amber") + level = SEC_LEVEL_AMBER if("red") level = SEC_LEVEL_RED if("delta") @@ -25,8 +28,10 @@ GLOBAL_VAR_INIT(security_level, SEC_LEVEL_GREEN) if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL) if(GLOB.security_level >= SEC_LEVEL_RED) SSshuttle.emergency.modTimer(4) + else if(GLOB.security_level == SEC_LEVEL_AMBER) + SSshuttle.emergency.modTimer(2.5) else - SSshuttle.emergency.modTimer(2) + SSshuttle.emergency.modTimer(1.66) GLOB.security_level = SEC_LEVEL_GREEN for(var/obj/machinery/firealarm/FA in GLOB.machines) if(is_station_level(FA.z)) @@ -35,24 +40,46 @@ GLOBAL_VAR_INIT(security_level, SEC_LEVEL_GREEN) if(GLOB.security_level < SEC_LEVEL_BLUE) minor_announce(CONFIG_GET(string/alert_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) + SSshuttle.emergency.modTimer(0.6) else minor_announce(CONFIG_GET(string/alert_blue_downto), "Attention! Security level lowered to blue:") if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL) - SSshuttle.emergency.modTimer(2) + if(GLOB.security_level >= SEC_LEVEL_RED) + SSshuttle.emergency.modTimer(2.4) + else + SSshuttle.emergency.modTimer(1.5) 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() + if(SEC_LEVEL_AMBER) + if(GLOB.security_level < SEC_LEVEL_AMBER) + minor_announce(CONFIG_GET(string/alert_amber_upto), "Attention! Security level elevated to amber:",1) + if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL) + if(GLOB.security_level == SEC_LEVEL_GREEN) + SSshuttle.emergency.modTimer(0.4) + else + SSshuttle.emergency.modTimer(0.66) + else + minor_announce(CONFIG_GET(string/alert_amber_downto), "Attention! Security level lowered to amber:") + if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL) + SSshuttle.emergency.modTimer(1.6) + GLOB.security_level = SEC_LEVEL_AMBER + sound_to_playing_players('sound/effects/alert.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() if(SEC_LEVEL_RED) if(GLOB.security_level < SEC_LEVEL_RED) minor_announce(CONFIG_GET(string/alert_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 if(GLOB.security_level == SEC_LEVEL_BLUE) + SSshuttle.emergency.modTimer(0.416) else - SSshuttle.emergency.modTimer(0.5) + SSshuttle.emergency.modTimer(0.625) else minor_announce(CONFIG_GET(string/alert_red_downto), "Attention! Code red!") GLOB.security_level = SEC_LEVEL_RED @@ -66,10 +93,12 @@ GLOBAL_VAR_INIT(security_level, SEC_LEVEL_GREEN) if(SEC_LEVEL_DELTA) minor_announce(CONFIG_GET(string/alert_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) + if(GLOB.security_level < SEC_LEVEL_BLUE) SSshuttle.emergency.modTimer(0.25) else if(GLOB.security_level == SEC_LEVEL_BLUE) - SSshuttle.emergency.modTimer(0.5) + SSshuttle.emergency.modTimer(0.416) + else + SSshuttle.emergency.modTimer(0.625) 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) @@ -93,6 +122,8 @@ GLOBAL_VAR_INIT(security_level, SEC_LEVEL_GREEN) return "green" if(SEC_LEVEL_BLUE) return "blue" + if(SEC_LEVEL_AMBER) + return "amber" if(SEC_LEVEL_RED) return "red" if(SEC_LEVEL_DELTA) @@ -104,6 +135,8 @@ GLOBAL_VAR_INIT(security_level, SEC_LEVEL_GREEN) return "green" if(SEC_LEVEL_BLUE) return "blue" + if(SEC_LEVEL_AMBER) + return "amber" if(SEC_LEVEL_RED) return "red" if(SEC_LEVEL_DELTA) @@ -115,6 +148,8 @@ GLOBAL_VAR_INIT(security_level, SEC_LEVEL_GREEN) return SEC_LEVEL_GREEN if("blue") return SEC_LEVEL_BLUE + if("amber") + return SEC_LEVEL_AMBER if("red") return SEC_LEVEL_RED if("delta") diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index cbc6810143..9af4194049 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -206,7 +206,9 @@ if(SEC_LEVEL_GREEN) set_coefficient = 2 if(SEC_LEVEL_BLUE) - set_coefficient = 1 + set_coefficient = 1.2 + if(SEC_LEVEL_AMBER) + set_coefficient = 0.8 else set_coefficient = 0.5 var/call_time = SSshuttle.emergencyCallTime * set_coefficient * engine_coeff diff --git a/config/game_options.txt b/config/game_options.txt index bfc5ed5edb..6ff9182f0a 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -57,10 +57,12 @@ MULTIPLICATIVE_MOVESPEED /mob/living/simple_animal 1 ## ALERT LEVELS ### ALERT_GREEN All threats to the station have passed. Security may not have weapons visible, privacy laws are once again fully enforced. -ALERT_BLUE_UPTO The station has received reliable information about possible hostile activity on the station. Security staff may have weapons visible, random searches are permitted. -ALERT_BLUE_DOWNTO The immediate threat has passed. Security may no longer have weapons drawn at all times, but may continue to have them visible. Random searches are still allowed. -ALERT_RED_UPTO There is an immediate serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised. Additionally, access requirements on some doors have been lifted. -ALERT_RED_DOWNTO The station's destruction has been averted. There is still however an immediate serious threat to the station. Security may have weapons unholstered at all times, random searches are allowed and advised. +ALERT_BLUE_UPTO The station has received reliable information about potential threats to the station. Security staff may have weapons visible, random searches are permitted. +ALERT_BLUE_DOWNTO Significant confirmed threats have been neutralized. Security may no longer have weapons drawn at all times, but may continue to have them visible. Random searches are still permitted. +ALERT_AMBER_UPTO There are signficant confirmed threats to the station. Security staff may have weapons unholstered at all times. Random searches are allowed and advised. +ALERT_AMBER_DOWNTO The immediate threat has passed. Security is no longer authorized to use lethal force, but may continue to have weapons drawn. Access requirements have been restored. +ALERT_RED_UPTO There is an immediate serious threat to the station. Security is now authorized to use lethal force. Additionally, access requirements on some machines have been lifted. +ALERT_RED_DOWNTO The station's destruction has been averted. There is still however an immediate serious threat to the station. Security is still authorized to use lethal force. ALERT_DELTA Destruction of the station is imminent. All crew are instructed to obey all instructions given by heads of staff. Any violations of these orders can be punished by death. This is not a drill. diff --git a/icons/obj/monitors.dmi b/icons/obj/monitors.dmi index f338ffcf3d146807abdfc7a9ac90f14203e0a140..98807070107f635a191ac520a2c34c2916aedae0 100644 GIT binary patch literal 15245 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 W7n2&;0(i|9^hRD)u0qBn^#1`l#g}^k literal 14569 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