diff --git a/code/datums/antagonists/datum_traitor.dm b/code/datums/antagonists/datum_traitor.dm index 245c620dd3..eeb803ca1e 100644 --- a/code/datums/antagonists/datum_traitor.dm +++ b/code/datums/antagonists/datum_traitor.dm @@ -186,9 +186,9 @@ kill_objective.find_target() add_objective(kill_objective) - var/datum/objective/survive/survive_objective = new - survive_objective.owner = owner - add_objective(survive_objective) + var/datum/objective/survive/exist/exist_objective = new + exist_objective.owner = owner + add_objective(exist_objective) /datum/antagonist/traitor/proc/forge_single_objective() return 0 /datum/antagonist/traitor/human/forge_single_objective() //Returns how many objectives are added diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 8329298910..75ed90d712 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -348,6 +348,14 @@ return FALSE return TRUE +//Like survive, but works for silicons and zombies and such. +/datum/objective/survive/exist/considered_alive(var/datum/mind/M) + if(M && M.current) + if(isliving(M.current)) + var/mob/living/L = M.current + return L.stat != DEAD + return FALSE + /datum/objective/martyr explanation_text = "Die a glorious death."