diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 694255702a..128a794bc6 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -182,6 +182,10 @@ /datum/game_mode/process() return 0 +//For things that do not die easily +/datum/game_mode/proc/are_special_antags_dead() + return TRUE + /datum/game_mode/proc/check_finished(force_ending) //to be called by SSticker if(!SSticker.setup_done) @@ -218,6 +222,9 @@ living_antag_player = Player return 0 + if(!are_special_antags_dead()) + return FALSE + if(!continuous[config_tag] || force_ending) return 1 diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 326889b872..304f80b470 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -42,7 +42,8 @@ man is a dangerous mutant with the ability to alter himself and the world around him by what he and his leaders believe to be magic. If this man attempts an attack on your station, \ his execution is highly encouraged, as is the preservation of his body for later study." -/datum/game_mode/wizard/check_finished() + +/datum/game_mode/wizard/are_special_antags_dead() for(var/datum/mind/wizard in wizards) if(isliving(wizard.current) && wizard.current.stat!=DEAD) return FALSE @@ -54,8 +55,8 @@ if(SSevents.wizardmode) //If summon events was active, turn it off SSevents.toggleWizardmode() SSevents.resetFrequency() - - return ..() + + return TRUE /datum/game_mode/wizard/declare_completion() if(finished)