From 2809f4e6947a7ac21ba875a266d0008ce40df13f Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 22 Feb 2018 23:40:19 -0600 Subject: [PATCH] [MIRROR] Admin-only extended AND speedy versions of revs (#5661) * Admin-only extended AND speedy versions of revs (#35873) * extendedrevs * honk * add speedy revs, testing * nit * Admin-only extended AND speedy versions of revs --- code/game/gamemodes/revolution/revolution.dm | 30 +++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 9fe7acd2cd..45f85719d3 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -28,6 +28,7 @@ var/max_headrevs = 3 var/datum/team/revolution/revolution var/list/datum/mind/headrev_candidates = list() + var/end_when_heads_dead = TRUE /////////////////////////// //Announces the game type// @@ -135,7 +136,7 @@ if(finished) SSshuttle.clearHostileEnvironment(src) return ..() - if(finished != 0) + if(finished != 0 && end_when_heads_dead) return TRUE else return ..() @@ -190,3 +191,30 @@ return "Employee unrest has spiked in recent weeks, with several attempted mutinies on heads of staff. Some crew have been observed using flashbulb devices to blind their colleagues, \ who then follow their orders without question and work towards dethroning departmental leaders. Watch for behavior such as this with caution. If the crew attempts a mutiny, you and \ your heads of staff are fully authorized to execute them using lethal weaponry - they will be later cloned and interrogated at Central Command." + +/datum/game_mode/revolution/extended + name = "extended_revolution" + config_tag = "extended_revolution" + end_when_heads_dead = FALSE + +/datum/game_mode/revolution/speedy + name = "speedy_revolution" + config_tag = "speedy_revolution" + end_when_heads_dead = FALSE + var/endtime = null + var/fuckingdone = FALSE + +/datum/game_mode/revolution/speedy/pre_setup() + endtime = world.time + 20 MINUTES + return ..() + +/datum/game_mode/revolution/speedy/process() + . = ..() + if(check_counter == 0) + if (world.time > endtime && !fuckingdone) + fuckingdone = TRUE + for (var/obj/machinery/nuclearbomb/N in GLOB.nuke_list) + if (!N.timing) + N.timer_set = 200 + N.set_safety() + N.set_active()