From 11df5ea9999a6d7daf49549c343c5c53f08032a2 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Tue, 6 Sep 2022 17:27:07 +0200 Subject: [PATCH] [MIRROR] Supermatter cascade subsystems fire when it needs to [MDB IGNORE] (#16085) * Supermatter cascade subsystems fire when it needs to (#69686) Supermatter cascade by default is offline, and will fire when a supermatter cascade occurs. * Supermatter cascade subsystems fire when it needs to Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> --- .../subsystem/processing/supermatter_cascade.dm | 1 + .../supermatter/supermatter_delamination/cascade_delam.dm | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/code/controllers/subsystem/processing/supermatter_cascade.dm b/code/controllers/subsystem/processing/supermatter_cascade.dm index a6fbc3de46b..c52f37e7766 100644 --- a/code/controllers/subsystem/processing/supermatter_cascade.dm +++ b/code/controllers/subsystem/processing/supermatter_cascade.dm @@ -2,6 +2,7 @@ PROCESSING_SUBSYSTEM_DEF(supermatter_cascade) name = "Supermatter Cascade" wait = 0.5 SECONDS stat_tag = "SC" + can_fire = FALSE ///Is a cascade happening right now? var/cascade_initiated = FALSE diff --git a/code/modules/power/supermatter/supermatter_delamination/cascade_delam.dm b/code/modules/power/supermatter/supermatter_delamination/cascade_delam.dm index a81b6f0dd8c..4a14ba4144d 100644 --- a/code/modules/power/supermatter/supermatter_delamination/cascade_delam.dm +++ b/code/modules/power/supermatter/supermatter_delamination/cascade_delam.dm @@ -11,14 +11,14 @@ if(!percent || percent < 0.4) return FALSE return TRUE - -/datum/sm_delam/cascade/delam_progress(obj/machinery/power/supermatter_crystal/sm) + +/datum/sm_delam/cascade/delam_progress(obj/machinery/power/supermatter_crystal/sm) . = ..() if(!.) return FALSE sm.radio.talk_into( sm, - "DANGER: HYPERSTRUCTURE OSCILLATION FREQUENCY OUT OF BOUNDS.", + "DANGER: HYPERSTRUCTURE OSCILLATION FREQUENCY OUT OF BOUNDS.", sm.damage >= sm.emergency_point ? sm.emergency_channel : sm.warning_channel ) var/list/messages = list( @@ -64,6 +64,7 @@ var/obj/cascade_portal/rift = effect_evac_rift_start() RegisterSignal(rift, COMSIG_PARENT_QDELETING, .proc/end_round_holder) effect_crystal_mass(sm, rift) + SSsupermatter_cascade.can_fire = TRUE SSsupermatter_cascade.cascade_initiated = TRUE qdel(sm)