From 40c75f6b72185094e8365ef0190e81cc69824095 Mon Sep 17 00:00:00 2001 From: KasparoVy Date: Sun, 19 Mar 2017 03:08:22 -0400 Subject: [PATCH 1/3] Nuke kills everything. Even IPCs. --- code/game/gamemodes/gameticker.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 8067aabe719..a423b6106fd 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -264,7 +264,7 @@ var/round_start_time = 0 if(M.stat != DEAD) var/turf/T = get_turf(M) if(T && is_station_level(T.z)) - M.death(0) //no mercy + M.dust() //no mercy //Now animate the cinematic switch(station_missed) @@ -472,7 +472,7 @@ var/round_start_time = 0 // Declare the completion of the station goals mode.declare_station_goal_completion() - + //Ask the event manager to print round end information event_manager.RoundEnd() From 1c556648c6c1fac3c8f9d6f8724dcd2a765bd1b9 Mon Sep 17 00:00:00 2001 From: KasparoVy Date: Sun, 19 Mar 2017 05:37:26 -0400 Subject: [PATCH 2/3] Keeping up with the Jones. Nukeproof fridges. --- code/game/gamemodes/gameticker.dm | 2 +- .../objects/structures/crates_lockers/closets/secure/freezer.dm | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index a423b6106fd..7906cda1a0d 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -263,7 +263,7 @@ var/round_start_time = 0 M.client.screen += cinematic if(M.stat != DEAD) var/turf/T = get_turf(M) - if(T && is_station_level(T.z)) + if(T && is_station_level(T.z) && !istype(M.loc, /obj/structure/closet/secure_closet/freezer)) M.dust() //no mercy //Now animate the cinematic diff --git a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm index 395b3b47cce..79b2b447d36 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm @@ -1,4 +1,5 @@ /obj/structure/closet/secure_closet/freezer + desc = "It's an immobile card-locked refrigerative storage unit. This one is lead-lined." /obj/structure/closet/secure_closet/freezer/update_icon() if(broken) From 7d3f58c6bbd40098eb3a5da91e98cbdb4ea7f6cf Mon Sep 17 00:00:00 2001 From: KasparoVy Date: Mon, 20 Mar 2017 04:14:33 -0400 Subject: [PATCH 3/3] Lag reduction. Also tweaks the rendering of the cinematic so it isn't interrupted by dust(). --- code/game/gamemodes/gameticker.dm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 7906cda1a0d..006c0642202 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -259,12 +259,16 @@ var/round_start_time = 0 else //nuke kills everyone on z-level 1 to prevent "hurr-durr I survived" for(var/mob/M in mob_list) M.buckled = temp_buckle - if(M.client) - M.client.screen += cinematic if(M.stat != DEAD) var/turf/T = get_turf(M) if(T && is_station_level(T.z) && !istype(M.loc, /obj/structure/closet/secure_closet/freezer)) + var/mob/ghost = M.ghostize() M.dust() //no mercy + if(ghost && ghost.client) //Play the victims an uninterrupted cinematic. + ghost.client.screen += cinematic + CHECK_TICK + if(M && M.client) //Play the survivors a cinematic. + M.client.screen += cinematic //Now animate the cinematic switch(station_missed)