From 11441e5daef35ee8fa8bcd67885b3e8e835818b2 Mon Sep 17 00:00:00 2001 From: AnturK Date: Mon, 27 May 2019 12:33:55 +0200 Subject: [PATCH] Makes supermatter melt walls if it finds itself in one (#44068) * Makes supermatter keep producing gases in walls. * While i'm at it, fixes sm radio runtime * Oh right this was split. * Alright switching it to melting through. --- code/modules/power/supermatter/supermatter.dm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 92e7c7e6b5d..b4cca3bc4b9 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -304,6 +304,12 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) if(!istype(T)) //We are in a crate or somewhere that isn't turf, if we return to turf resume processing but for now. return //Yeah just stop. + if(isclosedturf(T)) + var/turf/did_it_melt = T.Melt() + if(!isclosedturf(did_it_melt)) //In case some joker finds way to place these on indestructible walls + visible_message("[src] melts through [T]!") + return + if(power) soundloop.volume = min(40, (round(power/100)/50)+1) // 5 +1 volume per 20 power. 2500 power is max @@ -649,6 +655,13 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) else L.show_message("You hear an unearthly ringing and notice your skin is covered in fresh radiation burns.", 2) +//Do not blow up our internal radio +/obj/machinery/power/supermatter_crystal/contents_explosion(severity, target) + return + +/obj/machinery/power/supermatter_crystal/prevent_content_explosion() + return TRUE + /obj/machinery/power/supermatter_crystal/engine is_main_engine = TRUE