From 5713b4fb7750b5dc063ea3845ef2176f0767b2bc Mon Sep 17 00:00:00 2001 From: Ghilker <42839747+Ghilker@users.noreply.github.com> Date: Tue, 10 May 2022 20:52:50 +0200 Subject: [PATCH] improve speed of cascade walls, better description for them + CL for cascade antag (#66800) Cascade walls were processing on object subsystem, they are now in their own subsystem that ticks once per second and should be more reliable even in case of high td better description for the walls to be more interesting --- .../subsystem/processing/supermatter_cascade.dm | 4 ++++ .../power/supermatter/supermatter_cascade_components.dm | 8 ++++---- .../modules/power/supermatter/supermatter_delamination.dm | 1 - tgstation.dme | 1 + 4 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 code/controllers/subsystem/processing/supermatter_cascade.dm diff --git a/code/controllers/subsystem/processing/supermatter_cascade.dm b/code/controllers/subsystem/processing/supermatter_cascade.dm new file mode 100644 index 00000000000..91d6d3b4624 --- /dev/null +++ b/code/controllers/subsystem/processing/supermatter_cascade.dm @@ -0,0 +1,4 @@ +PROCESSING_SUBSYSTEM_DEF(supermatter_cascade) + name = "Supermatter Cascade" + wait = 1 SECONDS + stat_tag = "SC" diff --git a/code/modules/power/supermatter/supermatter_cascade_components.dm b/code/modules/power/supermatter/supermatter_cascade_components.dm index 1d61a4358b9..9f6275a038a 100644 --- a/code/modules/power/supermatter/supermatter_cascade_components.dm +++ b/code/modules/power/supermatter/supermatter_cascade_components.dm @@ -1,6 +1,6 @@ /turf/closed/indestructible/supermatter_wall - name = "wall" - desc = "Effectively impervious any methods of destruction." + name = "crystal mass" + desc = "You see this massive crystal mass looming towards you, cracking and screeching at every seemingly random movement." icon = 'icons/turf/walls.dmi' icon_state = "crystal_cascade_1" layer = AREA_LAYER @@ -17,11 +17,11 @@ /turf/closed/indestructible/supermatter_wall/Initialize(mapload) . = ..() icon_state = "crystal_cascade_[rand(1,6)]" - START_PROCESSING(SSmachines, src) + START_PROCESSING(SSsupermatter_cascade, src) AddComponent(/datum/component/supermatter_crystal, null, null) - playsound(src, 'sound/misc/cracking_crystal.ogg', 20, TRUE) + playsound(src, 'sound/misc/cracking_crystal.ogg', 45, TRUE) /turf/closed/indestructible/supermatter_wall/process() diff --git a/code/modules/power/supermatter/supermatter_delamination.dm b/code/modules/power/supermatter/supermatter_delamination.dm index b731bec0712..33d915ddd1f 100644 --- a/code/modules/power/supermatter/supermatter_delamination.dm +++ b/code/modules/power/supermatter/supermatter_delamination.dm @@ -172,7 +172,6 @@ /datum/supermatter_delamination/proc/start_supermatter_cascade() SSshuttle.registerHostileEnvironment(src) SSshuttle.supermatter_cascade = TRUE - SSair.can_fire = FALSE call_explosion() pick_rift_location() warn_crew() diff --git a/tgstation.dme b/tgstation.dme index a85bcf23088..2816ec3f8d6 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -541,6 +541,7 @@ #include "code\controllers\subsystem\processing\reagents.dm" #include "code\controllers\subsystem\processing\singulo.dm" #include "code\controllers\subsystem\processing\station.dm" +#include "code\controllers\subsystem\processing\supermatter_cascade.dm" #include "code\controllers\subsystem\processing\tramprocess.dm" #include "code\controllers\subsystem\processing\wet_floors.dm" #include "code\datums\action.dm"