"It has been 0 days since the last incident" sign (#70099)

Adds a fun sign to various places in engineering which tracks how many days (read: rounds) it has been since last time the engine delaminated.
This commit is contained in:
Jacquerel
2022-09-29 01:51:59 +03:00
committed by GitHub
parent a247e90697
commit 72a207cc04
11 changed files with 126 additions and 11 deletions
@@ -18,15 +18,19 @@ GLOBAL_LIST_INIT(sm_delam_list, list(
/// Called when the count down has been finished, do the nasty work.
/// [/obj/machinery/power/supermatter_crystal/proc/count_down]
/datum/sm_delam/proc/delaminate(obj/machinery/power/supermatter_crystal/sm)
if (sm.is_main_engine)
SSpersistence.rounds_since_engine_exploded = ROUNDCOUNT_ENGINE_JUST_EXPLODED
for (var/obj/structure/sign/delamination_counter/sign as anything in GLOB.map_delamination_counters)
sign.update_count(ROUNDCOUNT_ENGINE_JUST_EXPLODED)
qdel(sm)
/// Whatever we're supposed to do when a delam is currently in progress.
/// Whatever we're supposed to do when a delam is currently in progress.
/// Mostly just to tell people how useless engi is, and play some alarm sounds.
/// Returns TRUE if we just told people a delam is going on. FALSE if its healing or we didnt say anything.
/// [/obj/machinery/power/supermatter_crystal/proc/process_atmos]
/datum/sm_delam/proc/delam_progress(obj/machinery/power/supermatter_crystal/sm)
if(sm.damage <= sm.warning_point) // Damage is too low, lets not
return FALSE
return FALSE
if (sm.damage >= sm.emergency_point && sm.damage_archived < sm.emergency_point)
sm.investigate_log("has entered the emergency point.", INVESTIGATE_ENGINE)
@@ -66,7 +66,7 @@
SSsupermatter_cascade.can_fire = TRUE
SSsupermatter_cascade.cascade_initiated = TRUE
effect_crystal_mass(sm, rift)
qdel(sm)
return ..()
/datum/sm_delam/cascade/examine(obj/machinery/power/supermatter_crystal/sm)
return list(span_bolddanger("The crystal is vibrating at immense speeds, warping space around it!"))
@@ -12,7 +12,7 @@
return FALSE
sm.radio.talk_into(
sm,
"Warning: Critical coolant mass reached.",
"Warning: Critical coolant mass reached.",
sm.damage > sm.emergency_point ? sm.emergency_channel : sm.warning_channel
)
@@ -26,7 +26,7 @@
effect_anomaly(sm)
if(!effect_singulo(sm))
effect_explosion(sm)
qdel(sm)
return ..()
/// When we have too much power.
/datum/sm_delam/tesla
@@ -54,7 +54,7 @@
effect_anomaly(sm)
effect_tesla(sm)
effect_explosion(sm)
qdel(sm)
return ..()
/// Default delam.
/datum/sm_delam/explosive
@@ -71,4 +71,4 @@
if(sm.is_main_engine)
effect_anomaly(sm)
effect_explosion(sm)
qdel(sm)
return ..()