diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 1fb46abd120..8fb1e71f05e 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -380,15 +380,7 @@ post_status(picture) else if(picture == "currentalert") // You cannot set Code Blue display during Code Red and similiar - switch(SSsecurity_level.get_current_level_as_number()) - if(SEC_LEVEL_DELTA) - post_status("alert", "deltaalert") - if(SEC_LEVEL_RED) - post_status("alert", "redalert") - if(SEC_LEVEL_BLUE) - post_status("alert", "bluealert") - if(SEC_LEVEL_GREEN) - post_status("alert", "greenalert") + post_status("alert", SSsecurity_level?.current_security_level?.status_display_icon_state || "greenalert") else post_status("alert", picture) diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 10055aee5b2..a852ea019c6 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -179,15 +179,7 @@ var/current_level = SSsecurity_level.get_current_level_as_number() . += mutable_appearance(icon, "fire_[current_level]") . += emissive_appearance(icon, "fire_level_e", src, alpha = src.alpha) - switch(current_level) - if(SEC_LEVEL_GREEN) - set_light(l_color = LIGHT_COLOR_BLUEGREEN) - if(SEC_LEVEL_BLUE) - set_light(l_color = LIGHT_COLOR_ELECTRIC_CYAN) - if(SEC_LEVEL_RED) - set_light(l_color = LIGHT_COLOR_FLARE) - if(SEC_LEVEL_DELTA) - set_light(l_color = LIGHT_COLOR_INTENSE_RED) + set_light(l_color = SSsecurity_level?.current_security_level?.fire_alarm_light_color || LIGHT_COLOR_BLUEGREEN) else . += mutable_appearance(icon, "fire_offstation") . += emissive_appearance(icon, "fire_level_e", src, alpha = src.alpha) diff --git a/code/modules/modular_computers/file_system/programs/statusdisplay.dm b/code/modules/modular_computers/file_system/programs/statusdisplay.dm index 6136ab9355b..fa844215b93 100644 --- a/code/modules/modular_computers/file_system/programs/statusdisplay.dm +++ b/code/modules/modular_computers/file_system/programs/statusdisplay.dm @@ -59,15 +59,7 @@ post_status(picture) else if(picture == "currentalert") // You cannot set Code Blue display during Code Red and similiar - switch(SSsecurity_level.get_current_level_as_number()) - if(SEC_LEVEL_DELTA) - post_status("alert", "deltaalert") - if(SEC_LEVEL_RED) - post_status("alert", "redalert") - if(SEC_LEVEL_BLUE) - post_status("alert", "bluealert") - if(SEC_LEVEL_GREEN) - post_status("alert", "greenalert") + post_status("alert", SSsecurity_level?.current_security_level?.status_display_icon_state || "greenalert") else post_status("alert", picture) diff --git a/code/modules/security_levels/security_level_datums.dm b/code/modules/security_levels/security_level_datums.dm index b3402f643c6..d5a2e74e808 100644 --- a/code/modules/security_levels/security_level_datums.dm +++ b/code/modules/security_levels/security_level_datums.dm @@ -13,6 +13,10 @@ var/announcement_color = "default" /// The numerical level of this security level, see defines for more information. var/number_level = -1 + /// Icon state that will be displayed on displays during this security level + var/status_display_icon_state + /// The color of the fire alarm light set when changed to this security level + var/fire_alarm_light_color /// The sound that we will play when this security level is set var/sound /// The looping sound that will be played while the security level is set @@ -47,6 +51,8 @@ announcement_color = "green" sound = 'sound/misc/notice2.ogg' // Friendly beep number_level = SEC_LEVEL_GREEN + status_display_icon_state = "greenalert" + fire_alarm_light_color = LIGHT_COLOR_BLUEGREEN lowering_to_configuration_key = /datum/config_entry/string/alert_green shuttle_call_time_mod = ALERT_COEFF_GREEN @@ -60,6 +66,8 @@ announcement_color = "blue" sound = 'sound/misc/notice1.ogg' // Angry alarm number_level = SEC_LEVEL_BLUE + status_display_icon_state = "bluealert" + fire_alarm_light_color = LIGHT_COLOR_ELECTRIC_CYAN lowering_to_configuration_key = /datum/config_entry/string/alert_blue_downto elevating_to_configuration_key = /datum/config_entry/string/alert_blue_upto shuttle_call_time_mod = ALERT_COEFF_BLUE @@ -74,6 +82,8 @@ announcement_color = "red" sound = 'sound/misc/notice3.ogg' // More angry alarm number_level = SEC_LEVEL_RED + status_display_icon_state = "redalert" + fire_alarm_light_color = LIGHT_COLOR_FLARE lowering_to_configuration_key = /datum/config_entry/string/alert_red_downto elevating_to_configuration_key = /datum/config_entry/string/alert_red_upto shuttle_call_time_mod = ALERT_COEFF_RED @@ -88,5 +98,7 @@ announcement_color = "purple" sound = 'sound/misc/airraid.ogg' // Air alarm to signify importance number_level = SEC_LEVEL_DELTA + status_display_icon_state = "deltaalert" + fire_alarm_light_color = LIGHT_COLOR_INTENSE_RED elevating_to_configuration_key = /datum/config_entry/string/alert_delta shuttle_call_time_mod = ALERT_COEFF_DELTA