From fcd2b603ae4fa02e1b619e10efb684f62ce4f066 Mon Sep 17 00:00:00 2001 From: Gandalf Date: Sun, 21 Feb 2021 00:04:08 +0000 Subject: [PATCH] Thermonuclear Detonation (#3548) * Update nuclearbomb.dm * Update nuclearbomb.dm * a --- code/modules/antagonists/nukeop/equipment/nuclearbomb.dm | 7 ++++++- .../modules/antagonists/nukeop/equipment/nuclearbomb.dm | 9 +++++++++ tgstation.dme | 1 + 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 modular_skyrat/master_files/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index b54083490df..a5f1d9cb874 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -47,6 +47,7 @@ // If we're not exploding, set the alert level back to normal set_safety() GLOB.nuke_list -= src + explosion(src, 50, 70, 80, 100, TRUE, TRUE) //SKYRAT EDIT ADDITION QDEL_NULL(countdown) QDEL_NULL(core) . = ..() @@ -492,6 +493,8 @@ SSshuttle.registerHostileEnvironment(src) SSshuttle.lockdown = TRUE + INVOKE_ASYNC(GLOBAL_PROC,.proc/KillEveryoneOnZLevel, z) //SKYRAT EDIT ADDITION + //Cinematic SSticker.mode.OnNukeExplosion(off_station) really_actually_explode(off_station) @@ -499,7 +502,7 @@ /obj/machinery/nuclearbomb/proc/really_actually_explode(off_station) Cinematic(get_cinematic_type(off_station),world,CALLBACK(SSticker,/datum/controller/subsystem/ticker/proc/station_explosion_detonation,src)) - INVOKE_ASYNC(GLOBAL_PROC,.proc/KillEveryoneOnZLevel, z) + //INVOKE_ASYNC(GLOBAL_PROC,.proc/KillEveryoneOnZLevel, z) SKYRAT EDIT REMOVAL /obj/machinery/nuclearbomb/proc/get_cinematic_type(off_station) if(off_station < 2) @@ -587,6 +590,7 @@ disarm() stationwide_foam() +/* SKYRAT EDIT REMOVAL - MOVED TO MODULAR NUCLEARBOMB.DM /proc/KillEveryoneOnZLevel(z) if(!z) return @@ -594,6 +598,7 @@ var/mob/living/victim = _victim if(victim.stat != DEAD && victim.z == z) victim.gib() +*/ /* This is here to make the tiles around the station mininuke change when it's armed. diff --git a/modular_skyrat/master_files/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/modular_skyrat/master_files/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm new file mode 100644 index 00000000000..55db191ab70 --- /dev/null +++ b/modular_skyrat/master_files/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -0,0 +1,9 @@ +/proc/KillEveryoneOnZLevel(level) + if(!level) + return + for(var/mob/living/M in GLOB.mob_living_list) + if(M.loc.z == level) + M.flash_act(100, TRUE, TRUE) + to_chat(M, "You feel your skin prickle with heat as you're ripped atom from atom in the raging inferno of a nuclear blast. Your last thought is 'Oh fuck.'") + M.emote("scream") + M.gib() diff --git a/tgstation.dme b/tgstation.dme index 96820e97b99..60c8a580306 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3423,6 +3423,7 @@ #include "modular_skyrat\master_files\code\game\objects\structures\sauna_oven.dm" #include "modular_skyrat\master_files\code\game\objects\structures\trash_pile.dm" #include "modular_skyrat\master_files\code\modules\antagonists\ert\ert.dm" +#include "modular_skyrat\master_files\code\modules\antagonists\nukeop\equipment\nuclearbomb.dm" #include "modular_skyrat\master_files\code\modules\clothing\anthro_clothes.dm" #include "modular_skyrat\master_files\code\modules\clothing\non_anthro_clothes.dm" #include "modular_skyrat\master_files\code\modules\clothing\outfits\ert.dm"