From 1bdfe2e4428496bba985d1dfc0228bb2d2375a3b Mon Sep 17 00:00:00 2001 From: cib Date: Wed, 19 Dec 2012 22:27:15 +0100 Subject: [PATCH] Traitor objectives are now checked regularly. This doesn't mean the game can end early, it just means certain traitor objectives get a chance to process themselves before the round ended. For instance, the brig objective can now check periodically how long someone's been in the brig. --- code/game/gamemodes/traitor/traitor.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index d94b99026b..b44b415a7d 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -150,6 +150,13 @@ ..() return//Traitors will be checked as part of check_extra_completion. Leaving this here as a reminder. +/datum/game_mode/traitor/process() + // Make sure all objectives are processed regularly, so that objectives + // which can be checked mid-round are checked mid-round. + for(var/datum/mind/traitor_mind in traitors) + for(var/datum/objective/objective in traitor_mind.objectives) + objective.check_completion() + return 0 /datum/game_mode/proc/add_law_zero(mob/living/silicon/ai/killer) var/law = "Accomplish your objectives at all costs."