Skip to content

Commit

Permalink
Add security level datums
Browse files Browse the repository at this point in the history
  • Loading branch information
m-dzianishchyts committed Aug 24, 2024
1 parent 41e5e31 commit 58a588c
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 0 deletions.
Binary file modified modular_ss220/aesthetics/firealarm/icons/firealarm.dmi
Binary file not shown.
1 change: 1 addition & 0 deletions modular_ss220/modular_ss220.dme
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@
#include "shuttles/_shuttles.dme"
#include "redis220/_redis220.dme"
#include "robolimbs/_robolimbs.dme"
#include "security_levels/_security_levels.dme"

// --- PRIME --- //
// #define MODPACK_MAIN_ONLY
Expand Down
4 changes: 4 additions & 0 deletions modular_ss220/security_levels/_security_levels.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/datum/modpack/security_levels
name = "Дополнительные коды на станции"
desc = "Добавляет оранжевый и фиолетовый коды в игру"
author = "Maxiemar"
4 changes: 4 additions & 0 deletions modular_ss220/security_levels/_security_levels.dme
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#include "_security_levels.dm"

#include "code/security_level_datums.dm"
#include "code/SSsecurity_level.dm"
13 changes: 13 additions & 0 deletions modular_ss220/security_levels/code/SSsecurity_level.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/datum/controller/subsystem/security_level/Initialize()
var/list/sorted_levels = list()
for(var/security_level_type in subtypesof(/datum/security_level))
var/datum/security_level/new_level = new security_level_type
sorted_levels[list("number" = num2text(new_level.number_level, 1), "level" = new_level)] = null // this shit adds list to a list
sorted_levels = sortByKey(sorted_levels, "number")

SSsecurity_level.available_levels.Cut();
for(var/security_level_entry in sorted_levels)
var/datum/security_level/level = security_level_entry["level"]
SSsecurity_level.available_levels[level.name] = level

return ..()
31 changes: 31 additions & 0 deletions modular_ss220/security_levels/code/security_level_datums.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/**
* VIOLET
*
* Medical threat
*/
/datum/security_level/violet
name = "violet"
number_level = SEC_LEVEL_VIOLET
elevating_to_sound = 'sound/misc/notice1.ogg'
ai_announcement_sound = 'sound/AI/blue.ogg' // TODO: to update
color = "darkviolet"
lowering_to_announcement_title = "ВНИМАНИЕ! Уровень угрозы понижен до ФИОЛЕТОВОГО."
lowering_to_announcement_text = "В настоящее время действуют процедуры Фиолетового кода. Медицинский персонал должен получить распоряжения от руководителя отдела. Немедицинский персонал обязан выполнять все соответствующие инструкции медицинского персонала."
elevating_to_announcement_title = "Внимание! Уровень угрозы повышен до ФИОЛЕТОВОГО."
elevating_to_announcement_text = "Возникла серьезная медицинская угроза экипажу станции. Медицинский персонал должен получить распоряжения от руководителя отдела. Немедицинский персонал обязан выполнять все соответствующие инструкции медицинского персонала."

/**
* ORANGE
*
* Engineering emergency
*/
/datum/security_level/orange
name = "orange"
number_level = SEC_LEVEL_ORANGE
elevating_to_sound = 'sound/misc/notice1.ogg'
ai_announcement_sound = 'sound/AI/blue.ogg' // TODO: to update
color = "gold"
lowering_to_announcement_title = "ВНИМАНИЕ! Уровень угрозы понижен до ОРАНЖЕВОГО."
lowering_to_announcement_text = "В настоящее время действуют процедуры Оранжевого кода. Инженерный персонал должен получить распоряжения от руководителя отдела. Неинженерный персонал обязан покинуть аварийные помещения и выполнять все соответствующие инструкции инженерного персонала."
elevating_to_announcement_title = "Внимание! Уровень угрозы повышен до ОРАНЖЕВОГО."
elevating_to_announcement_text = "Произошла серьезная техническая авария. Инженерный персонал должен получить распоряжения от руководителя отдела. Неинженерный персонал обязан покинуть аварийные помещения и выполнять все соответствующие инструкции инженерного персонала."

0 comments on commit 58a588c

Please sign in to comment.