diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 3fd5d2277e..15ddee2669 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -221,8 +221,9 @@ GLOBAL_LIST_EMPTY(objectives) explanation_text = "Free Objective" /datum/objective/protect//The opposite of killing a dude. - var/target_role_type=0 martyr_compatible = 1 + var/target_role_type = 0 + var/human_check = TRUE /datum/objective/protect/find_target_by_role(role, role_type=0, invert=0) if(!invert) @@ -231,7 +232,7 @@ GLOBAL_LIST_EMPTY(objectives) return target /datum/objective/protect/check_completion() - return !target || considered_alive(target) + return !target || considered_alive(target, enforce_human = human_check) /datum/objective/protect/update_explanation_text() ..() @@ -240,6 +241,9 @@ GLOBAL_LIST_EMPTY(objectives) else explanation_text = "Free Objective" +/datum/objective/protect/nonhuman + human_check = FALSE + /datum/objective/hijack explanation_text = "Hijack the shuttle to ensure no loyalist Nanotrasen crew escape alive and out of custody." team_explanation_text = "Hijack the shuttle to ensure no loyalist Nanotrasen crew escape alive and out of custody. Leave no team member behind." diff --git a/code/modules/antagonists/valentines/valentine.dm b/code/modules/antagonists/valentines/valentine.dm index 1ca8e39318..b29c4d6bf3 100644 --- a/code/modules/antagonists/valentines/valentine.dm +++ b/code/modules/antagonists/valentines/valentine.dm @@ -8,6 +8,8 @@ var/datum/objective/protect/protect_objective = new /datum/objective/protect protect_objective.owner = owner protect_objective.target = date + if(!ishuman(date.current)) + protect_objective.human_check = FALSE protect_objective.explanation_text = "Protect [date.name], your date." objectives += protect_objective owner.objectives += objectives