From 6fb964f34ae5a70ab1456b2c6ed303c151bc3ce9 Mon Sep 17 00:00:00 2001 From: Incoming Date: Thu, 19 Mar 2015 23:58:32 -0400 Subject: [PATCH] As a mercy, if your target doesn't have his ID on him (or never had an ID) when you're assigned to steal his identity you won't need to wear an ID to complete the objective. Have fun DNA stinging the wizard all the same though. --- code/game/gamemodes/objective.dm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 23d485f84a2..c8c3ff6cb76 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -258,6 +258,7 @@ datum/objective/escape/check_completion() datum/objective/escape/escape_with_identity dangerrating = 10 var/target_real_name // Has to be stored because the target's real_name can change over the course of the round + var/target_missing_id datum/objective/escape/escape_with_identity/find_target() target = ..() @@ -266,7 +267,16 @@ datum/objective/escape/escape_with_identity/find_target() datum/objective/escape/escape_with_identity/update_explanation_text() if(target && target.current) target_real_name = target.current.real_name - explanation_text = "Escape on the shuttle or an escape pod with the identity of [target_real_name], the [target.assigned_role] while wearing their identification card." + explanation_text = "Escape on the shuttle or an escape pod with the identity of [target_real_name], the [target.assigned_role]" + var/mob/living/carbon/human/H + if(ishuman(target.current)) + H = target.current + if(H && H.get_id_name() != target_real_name) + target_missing_id = 1 + else + explanation_text += " while wearing their identification card" + explanation_text += "." //Proper punctuation is important! + else explanation_text = "Free Objective." @@ -278,7 +288,7 @@ datum/objective/escape/escape_with_identity/check_completion() var/mob/living/carbon/human/H = owner.current if(..()) if(H.dna.real_name == target_real_name) - if(H.get_id_name()== target_real_name) + if(H.get_id_name()== target_real_name || target_missing_id) return 1 return 0