From 29c02c7989ce471630b959abae274d04cde31ec6 Mon Sep 17 00:00:00 2001 From: Mikhail Dzianishchyts Date: Sun, 26 Jan 2025 00:42:45 +0300 Subject: [PATCH] Add information message to a sec level announcement --- modular_ss220/balance/_balance.dme | 1 + .../balance/code/events/security_level.dm | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 modular_ss220/balance/code/events/security_level.dm diff --git a/modular_ss220/balance/_balance.dme b/modular_ss220/balance/_balance.dme index 43fb96d7346f..51074794006b 100644 --- a/modular_ss220/balance/_balance.dme +++ b/modular_ss220/balance/_balance.dme @@ -2,6 +2,7 @@ #include "code/access/access.dm" #include "code/events/blob.dm" +#include "code/events/security_level.dm" #include "code/items/projectiles.dm" #include "code/items/radio.dm" #include "code/items/storage/surgical_tray.dm" diff --git a/modular_ss220/balance/code/events/security_level.dm b/modular_ss220/balance/code/events/security_level.dm new file mode 100644 index 000000000000..541440d56cf5 --- /dev/null +++ b/modular_ss220/balance/code/events/security_level.dm @@ -0,0 +1,34 @@ +/datum/security_level + /// Tells if every crew member will be allowed to talk on the common frequency. + var/grants_common_channel_access = FALSE + +/datum/security_level/gamma + grants_common_channel_access = TRUE + +/datum/security_level/epsilon + grants_common_channel_access = TRUE + +/datum/security_level/delta + grants_common_channel_access = TRUE + +/datum/controller/subsystem/security_level/announce_security_level(datum/security_level/selected_level) + var/message + var/title + var/sound + var/sound2 = selected_level.ai_announcement_sound + + if(selected_level.number_level > current_security_level.number_level) + message = selected_level.elevating_to_announcement_text + title = selected_level.elevating_to_announcement_title + sound = selected_level.elevating_to_sound + else + message = selected_level.lowering_to_announcement_text + title = selected_level.lowering_to_announcement_title + sound = selected_level.lowering_to_sound + + if(selected_level.grants_common_channel_access && !current_security_level.grants_common_channel_access) + message += " Ограничения на пользование общим каналом связи сняты." + else if(!selected_level.grants_common_channel_access && current_security_level.grants_common_channel_access) + message += " Ограничения на пользование общим каналом связи восстановлены." + + GLOB.security_announcement.Announce(message, title, new_sound = sound, new_sound2 = sound2)