From 61854773af445d31d1e92445e06e1be26491c172 Mon Sep 17 00:00:00 2001 From: Azarak Date: Sun, 11 Oct 2020 06:47:36 +0200 Subject: [PATCH] [SEMI-MODULAR] Adds missing alerts and various alert features (#1238) * alertz * Create readme.md --- code/__DEFINES/misc.dm | 4 + .../~skyrat_defines/security_alerts.dm | 8 + code/controllers/subsystem/shuttle.dm | 14 +- .../game/machinery/computer/communications.dm | 22 ++- code/game/machinery/firealarm.dm | 3 +- .../modules/mob/dead/new_player/new_player.dm | 3 + .../security_levels/security_levels.dm | 5 +- config/config.txt | 1 + config/skyrat/skyrat_config.txt | 6 + modular_skyrat/modules/alerts/code/config.dm | 17 ++ .../modules/alerts/code/firealarm.dm | 16 ++ .../modules/alerts/code/set_security_level.dm | 182 +++++++++++++++++- .../modules/alerts/icons/obj/monitors.dmi | Bin 0 -> 8770 bytes modular_skyrat/modules/alerts/readme.md | 29 +++ .../alerts/sound/misc/voybluealert.ogg | Bin 0 -> 76242 bytes tgstation.dme | 3 + 16 files changed, 303 insertions(+), 10 deletions(-) create mode 100644 code/__DEFINES/~skyrat_defines/security_alerts.dm create mode 100644 config/skyrat/skyrat_config.txt create mode 100644 modular_skyrat/modules/alerts/code/config.dm create mode 100644 modular_skyrat/modules/alerts/code/firealarm.dm create mode 100644 modular_skyrat/modules/alerts/icons/obj/monitors.dmi create mode 100644 modular_skyrat/modules/alerts/readme.md create mode 100644 modular_skyrat/modules/alerts/sound/misc/voybluealert.ogg diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 2c906a34868..c565e963d60 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -54,11 +54,15 @@ #define ABOVE_BODY_FRONT_LAYER (BODY_FRONT_LAYER-1) +//SKYRAT EDIT REMOVAL BEGIN - ALERTS (moved to modular defines) +/* //Security levels #define SEC_LEVEL_GREEN 0 #define SEC_LEVEL_BLUE 1 #define SEC_LEVEL_RED 2 #define SEC_LEVEL_DELTA 3 +*/ +//SKYRAT EDIT END //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/__DEFINES/~skyrat_defines/security_alerts.dm b/code/__DEFINES/~skyrat_defines/security_alerts.dm new file mode 100644 index 00000000000..11b5eb3f8b6 --- /dev/null +++ b/code/__DEFINES/~skyrat_defines/security_alerts.dm @@ -0,0 +1,8 @@ +//Security levels +#define SEC_LEVEL_GREEN 0 +#define SEC_LEVEL_BLUE 1 +#define SEC_LEVEL_VIOLET 2 +#define SEC_LEVEL_ORANGE 3 +#define SEC_LEVEL_AMBER 4 +#define SEC_LEVEL_RED 5 +#define SEC_LEVEL_DELTA 6 diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index f176b7af423..35edb9abbff 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -309,8 +309,20 @@ 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.5) ORIGINAL + if(emergency.timeLeft(1) < emergencyCallTime * 0.6) //SKYRAT EDIT CHANGE - ALERTS return + //SKYRAT EDIT ADDITION BEGIN - ALERTS + if(SEC_LEVEL_ORANGE) + if(emergency.timeLeft(1) < emergencyCallTime * 0.4) + return + if(SEC_LEVEL_VIOLET) + if(emergency.timeLeft(1) < emergencyCallTime * 0.4) + return + if(SEC_LEVEL_AMBER) + if(emergency.timeLeft(1) < emergencyCallTime * 0.4) + return + //SKYRAT EDIT ADDITION END else if(emergency.timeLeft(1) < emergencyCallTime * 0.25) return diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index b6e29cc7593..911d6061664 100755 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -100,8 +100,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) //ORIGINAL + // tmp_alertlevel = SEC_LEVEL_BLUE //Cannot engage delta with this //ORIGINAL + if(tmp_alertlevel > SEC_LEVEL_AMBER) //SKYRAT EDIT CHANGE - ALERTS + tmp_alertlevel = SEC_LEVEL_AMBER //Cannot engage delta with this //SKYRAT EDIT CHANGE - ALERTS set_security_level(tmp_alertlevel) if(GLOB.security_level != old_level) to_chat(usr, "Authorization confirmed. Modifying security level.") @@ -389,8 +391,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) //ORIGINAL + // tmp_alertlevel = SEC_LEVEL_BLUE //Cannot engage delta with this //ORIGINAL + if(tmp_alertlevel > SEC_LEVEL_AMBER) //SKYRAT EDIT CHANGE - ALERTS + tmp_alertlevel = SEC_LEVEL_AMBER //Cannot engage delta with this //SKYRAT EDIT CHANGE - ALERTS set_security_level(tmp_alertlevel) if(GLOB.security_level != old_level) //Only notify people if an actual change happened @@ -551,6 +555,11 @@ 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 + //SKYRAT CHANGE ADDITION BEGIN - ALERTS + dat += "Amber
" + dat += "Orange
" + dat += "Violet
" + //SKYRAT CHANGE END dat += "Blue
" dat += "Green" if(STATE_CONFIRM_LEVEL) @@ -692,6 +701,11 @@ 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 + //SKYRAT EDIT ADDITION - ALERTS + dat += "Amber
" + dat += "Orange
" + dat += "Violet
" + //SKYRAT EDIT END dat += "Blue
" dat += "Green" diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 00c0cd2e5a3..7e7c2a150b7 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -15,7 +15,8 @@ /obj/machinery/firealarm name = "fire alarm" desc = "\"Pull this in case of emergency\". Thus, keep pulling it forever." - icon = 'icons/obj/monitors.dmi' + //icon = 'icons/obj/monitors.dmi' //ORIGINAL + icon = 'modular_skyrat/modules/alerts/icons/obj/monitors.dmi' //SKYRAT EDIT CHANGE icon_state = "fire0" max_integrity = 250 integrity_failure = 0.4 diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 0526e6fd154..50f7b18dc3f 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -386,6 +386,9 @@ /mob/dead/new_player/proc/LateChoices() var/list/dat = list("
Round Duration: [DisplayTimeText(world.time - SSticker.round_start_time)]
") + //SKYRAT EDIT ADDITION BEGIN - ALERTS + dat += "
Alert Level: [capitalize(num2seclevel(GLOB.security_level))]
" + //SKYRAT EDIT END if(SSshuttle.emergency) switch(SSshuttle.emergency.mode) if(SHUTTLE_ESCAPE) diff --git a/code/modules/security_levels/security_levels.dm b/code/modules/security_levels/security_levels.dm index fa29dbc1466..120973bc260 100644 --- a/code/modules/security_levels/security_levels.dm +++ b/code/modules/security_levels/security_levels.dm @@ -6,6 +6,8 @@ GLOBAL_VAR_INIT(security_level, SEC_LEVEL_GREEN) //config.alert_desc_blue_downto +//SKYRAT EDIT REMOVAL BEGIN - ALERTS (moved to modular) +/* /proc/set_security_level(level) switch(level) if("green") @@ -19,7 +21,6 @@ GLOBAL_VAR_INIT(security_level, SEC_LEVEL_GREEN) //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) - set_security_level_skyrat(level) //SKYRAT EDIT ADDITION - ALERTS switch(level) if(SEC_LEVEL_GREEN) minor_announce(CONFIG_GET(string/alert_green), "Attention! Security level lowered to green:") @@ -117,3 +118,5 @@ GLOBAL_VAR_INIT(security_level, SEC_LEVEL_GREEN) return SEC_LEVEL_RED if("delta") return SEC_LEVEL_DELTA +*/ +//SKYRAT EDIT END diff --git a/config/config.txt b/config/config.txt index 423a44f3ce4..27a2bf9e555 100644 --- a/config/config.txt +++ b/config/config.txt @@ -5,6 +5,7 @@ $include dbconfig.txt $include comms.txt $include antag_rep.txt $include resources.txt +$include skyrat/skyrat_config.txt # You can use the @ character at the beginning of a config option to lock it from being edited in-game # Example usage: diff --git a/config/skyrat/skyrat_config.txt b/config/skyrat/skyrat_config.txt new file mode 100644 index 00000000000..683b206b584 --- /dev/null +++ b/config/skyrat/skyrat_config.txt @@ -0,0 +1,6 @@ +ALERT_AMBER_UPTO A major security emergency has developed. Security staff may have weapons unholstered at all times. Random searches are allowed and advised. +ALERT_AMBER_DOWNTO A major security emergency is still underway. Non-security personnel are required to obey all relevant instructions from security staff. +ALERT_ORANGE_UPTO A major engineering emergency has developed. Non-engineering personnel are required to evacuate any affected areas and obey relevant instructions from engineering staff. +ALERT_ORANGE_DOWNTO A major engineering emergency has developed. Non-engineering personnel are required to evacuate any affected areas and obey relevant instructions from engineering staff. +ALERT_VIOLET_UPTO A major medical emergency has developed. Non-medical personnel are required to obey all relevant instructions from medical staff. +ALERT_VIOLET_DOWNTO A major medical emergency has developed. Non-medical personnel are required to obey all relevant instructions from medical staff. diff --git a/modular_skyrat/modules/alerts/code/config.dm b/modular_skyrat/modules/alerts/code/config.dm new file mode 100644 index 00000000000..f4fa1207ed6 --- /dev/null +++ b/modular_skyrat/modules/alerts/code/config.dm @@ -0,0 +1,17 @@ +/datum/config_entry/string/alert_amber_upto + config_entry_value = "A major security emergency has developed. 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 = "A major security emergency is still underway. Non-security personnel are required to obey all relevant instructions from security staff." + +/datum/config_entry/string/alert_orange_upto + config_entry_value = "A major engineering emergency has developed. Non-engineering personnel are required to evacuate any affected areas and obey relevant instructions from engineering staff." + +/datum/config_entry/string/alert_orange_downto + config_entry_value = "A major engineering emergency has developed. Non-engineering personnel are required to evacuate any affected areas and obey relevant instructions from engineering staff." + +/datum/config_entry/string/alert_violet_upto + config_entry_value = "A major medical emergency has developed. Non-medical personnel are required to obey all relevant instructions from medical staff." + +/datum/config_entry/string/alert_violet_downto + config_entry_value = "A major medical emergency has developed. Non-medical personnel are required to obey all relevant instructions from medical staff." diff --git a/modular_skyrat/modules/alerts/code/firealarm.dm b/modular_skyrat/modules/alerts/code/firealarm.dm new file mode 100644 index 00000000000..e749258dc45 --- /dev/null +++ b/modular_skyrat/modules/alerts/code/firealarm.dm @@ -0,0 +1,16 @@ +/obj/machinery/firealarm/examine(mob/user) + . = ..() + if(GLOB.security_level == SEC_LEVEL_GREEN) + . += "The current alert level is green." + if(GLOB.security_level == SEC_LEVEL_BLUE) + . += "The current alert level is blue." + if(GLOB.security_level == SEC_LEVEL_AMBER) + . += "The current alert level is amber." + if(GLOB.security_level == SEC_LEVEL_ORANGE) + . += "The current alert level is orange." + if(GLOB.security_level == SEC_LEVEL_VIOLET) + . += "The current alert level is violet." + if(GLOB.security_level == SEC_LEVEL_RED) + . += "The current alert level is red!" + if(GLOB.security_level == SEC_LEVEL_DELTA) + . += "The current alert level is delta! Evacuate!" diff --git a/modular_skyrat/modules/alerts/code/set_security_level.dm b/modular_skyrat/modules/alerts/code/set_security_level.dm index a0d571aff95..0f337fa9b70 100644 --- a/modular_skyrat/modules/alerts/code/set_security_level.dm +++ b/modular_skyrat/modules/alerts/code/set_security_level.dm @@ -1,9 +1,185 @@ -/proc/set_security_level_skyrat(level) +/proc/set_security_level(level) + level = seclevel2num(level) || level + + //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) + play_security_alert_sound(level) + switch(level) + if(SEC_LEVEL_GREEN) + minor_announce(CONFIG_GET(string/alert_green), "Attention! Alert 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(is_station_level(FA.z)) + FA.update_icon() + if(SEC_LEVEL_BLUE) + if(GLOB.security_level < SEC_LEVEL_BLUE) + minor_announce(CONFIG_GET(string/alert_blue_upto), "Attention! Alert 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_GET(string/alert_blue_downto), "Attention! Alert 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(is_station_level(FA.z)) + FA.update_icon() + if(SEC_LEVEL_VIOLET) + if(GLOB.security_level < SEC_LEVEL_VIOLET) + minor_announce(CONFIG_GET(string/alert_violet_upto), "Attention! Alert level set to violet:",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_violet_downto), "Attention! Alert level set to violet:") + if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL) + SSshuttle.emergency.modTimer(1.6) + GLOB.security_level = SEC_LEVEL_VIOLET + for(var/obj/machinery/firealarm/FA in GLOB.machines) + if(is_station_level(FA.z)) + FA.update_icon() + if(SEC_LEVEL_ORANGE) + if(GLOB.security_level < SEC_LEVEL_ORANGE) + minor_announce(CONFIG_GET(string/alert_orange_upto), "Attention! Alert level set to orange:",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_orange_downto), "Attention! Alert level set to orange:") + if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL) + SSshuttle.emergency.modTimer(1.6) + GLOB.security_level = SEC_LEVEL_ORANGE + 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! Alert level set to amber:",1) //Skyrat change + 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! Alert level set to amber:") //Skyrat change + if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL) + SSshuttle.emergency.modTimer(1.6) + GLOB.security_level = SEC_LEVEL_AMBER + 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 + SSshuttle.emergency.modTimer(0.5) + else + minor_announce(CONFIG_GET(string/alert_red_downto), "Attention! Code red!") + GLOB.security_level = SEC_LEVEL_RED + + for(var/obj/machinery/firealarm/FA in GLOB.machines) + if(is_station_level(FA.z)) + FA.update_icon() + for(var/obj/machinery/computer/shuttle/pod/pod in GLOB.machines) + pod.locked = FALSE + if(SEC_LEVEL_DELTA) + minor_announce(CONFIG_GET(string/alert_delta), "Attention! Delta Alert 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(is_station_level(FA.z)) + FA.update_icon() + for(var/obj/machinery/computer/shuttle/pod/pod in GLOB.machines) + pod.locked = FALSE + if(level >= SEC_LEVEL_RED) + for(var/obj/machinery/door/D in GLOB.machines) + if(D.red_alert_access) + D.visible_message("[D] whirrs as it automatically lifts access requirements!") + playsound(D, 'sound/machines/boltsup.ogg', 50, TRUE) + SSblackbox.record_feedback("tally", "security_level_changes", 1, get_security_level()) + SSnightshift.check_nightshift() + 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_VIOLET) + return "violet" + if(SEC_LEVEL_ORANGE) + return "orange" + if(SEC_LEVEL_AMBER) + return "amber" + 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_VIOLET) + return "violet" + if(SEC_LEVEL_ORANGE) + return "orange" + if(SEC_LEVEL_AMBER) + return "amber" + 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("violet") + return SEC_LEVEL_VIOLET + if("orange") + return SEC_LEVEL_ORANGE + if("amber") + return SEC_LEVEL_AMBER + if("red") + return SEC_LEVEL_RED + if("delta") + return SEC_LEVEL_DELTA + +/proc/play_security_alert_sound(level) switch(level) if(SEC_LEVEL_BLUE) - alert_sound_to_playing('modular_skyrat/modules/alerts/sound/misc/voyalert.ogg', volume = 50) + alert_sound_to_playing('modular_skyrat/modules/alerts/sound/misc/voybluealert.ogg', volume = 50) + if(SEC_LEVEL_VIOLET) + alert_sound_to_playing('modular_skyrat/modules/alerts/sound/misc/notice1.ogg', volume = 50) + if(SEC_LEVEL_ORANGE) + alert_sound_to_playing('modular_skyrat/modules/alerts/sound/misc/notice1.ogg', volume = 50) + if(SEC_LEVEL_AMBER) + alert_sound_to_playing('modular_skyrat/modules/alerts/sound/misc/notice1.ogg', volume = 50) if(SEC_LEVEL_RED) - alert_sound_to_playing('modular_skyrat/modules/alerts/sound/misc/tas_red_alert.ogg', volume = 50) + alert_sound_to_playing('modular_skyrat/modules/alerts/sound/misc/redalert1.ogg', volume = 50) if(SEC_LEVEL_DELTA) alert_sound_to_playing('modular_skyrat/modules/alerts/sound/misc/deltaklaxon.ogg') diff --git a/modular_skyrat/modules/alerts/icons/obj/monitors.dmi b/modular_skyrat/modules/alerts/icons/obj/monitors.dmi new file mode 100644 index 0000000000000000000000000000000000000000..507e846e81f77897c2432e1f785aff4159fa9f97 GIT binary patch literal 8770 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 /datum/controller/subsystem/shuttle/proc/canRecall() +- EDIT: code/game/machinery/computer/communications.dm > /obj/machinery/computer/communications/Topic(), /obj/machinery/computer/communications/ui_interact() +- EDIT: code/modules/mob/dead/new_player/new_player.dm > /mob/dead/new_player/proc/LateChoices() +- MOVED: code/modules/security_levels/security_levels.dm > about the entire file + +### Defines: + + ./code/__DEFINES/misc.dm > moved alert defines to: code/__DEFINES/~skyrat_defines/security_alerts.dm + +### Master file additions + +- N/A + +### Included files that are not contained in this module: + +- N/A + +### Credits: +Azarak - Porting +Afya - OG code diff --git a/modular_skyrat/modules/alerts/sound/misc/voybluealert.ogg b/modular_skyrat/modules/alerts/sound/misc/voybluealert.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f450185e2740d17cf4b5d1394d9e528c4b978ef4 GIT binary patch literal 76242 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 literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index 8e77046a336..60c2e4691af 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -141,6 +141,7 @@ #include "code\__DEFINES\~skyrat_defines\preferences.dm" #include "code\__DEFINES\~skyrat_defines\robot_defines.dm" #include "code\__DEFINES\~skyrat_defines\say.dm" +#include "code\__DEFINES\~skyrat_defines\security_alerts.dm" #include "code\__DEFINES\~skyrat_defines\signals.dm" #include "code\__DEFINES\~skyrat_defines\traits.dm" #include "code\__HELPERS\_lists.dm" @@ -3266,6 +3267,8 @@ #include "modular_skyrat\master_files\code\modules\clothing\non_anthro_clothes.dm" #include "modular_skyrat\master_files\code\modules\power\lighting.dm" #include "modular_skyrat\modules\admin\code\loud_say.dm" +#include "modular_skyrat\modules\alerts\code\config.dm" +#include "modular_skyrat\modules\alerts\code\firealarm.dm" #include "modular_skyrat\modules\alerts\code\set_security_level.dm" #include "modular_skyrat\modules\altborgs\code\game\objects\items\robot_items.dm" #include "modular_skyrat\modules\altborgs\code\modules\mob\living\silicon\robot\inventory.dm"