Removes die a glorious death, antagonists that would have rolled it now no longer need to escape alive (#21323)

* Removes die a glorious death, antagonists that would have rolled it now no longer need to escape alive

* steels review
This commit is contained in:
GDN
2023-06-28 18:39:20 -05:00
committed by GitHub
parent ee83ab8d17
commit 8bb8000fc4
3 changed files with 3 additions and 27 deletions
-4
View File
@@ -677,10 +677,6 @@
new_objective = new /datum/objective/survive
new_objective.owner = src
if("die")
new_objective = new /datum/objective/die
new_objective.owner = src
if("nuclear")
new_objective = new /datum/objective/nuclear
new_objective.owner = src
-16
View File
@@ -453,22 +453,6 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
return TRUE
return FALSE
/datum/objective/die
name = "Die a glorious death"
explanation_text = "Die a glorious death."
needs_target = FALSE
/datum/objective/die/check_completion()
for(var/datum/mind/M in get_owners())
if(QDELETED(M.current) || M.current.stat == DEAD || is_special_dead(M.current, check_silicon = FALSE))
continue
if(issilicon(M.current) && !M.is_original_mob(M.current))
continue
return FALSE // Some owner didn't meet the above criteria.
return TRUE
/datum/objective/survive
name = "Survive"
explanation_text = "Stay alive until the end."
@@ -100,21 +100,17 @@
for(var/i in 1 to GLOB.configuration.gamemode.traitor_objectives_amount)
forge_single_human_objective()
// Die a glorious death objective.
// Are they required to stay alive for their objectives?
var/martyr_compatibility = TRUE
if(prob(20))
var/martyr_compatibility = TRUE
for(var/objective in owner.get_all_objectives())
var/datum/objective/O = objective
if(!O.martyr_compatible) // Check if our current objectives can co-exist with martyr.
martyr_compatibility = FALSE
break
if(martyr_compatibility)
add_objective(/datum/objective/die)
return
// Give them an escape objective if they don't have one already.
if(!(locate(/datum/objective/escape) in owner.get_all_objectives()))
if(!(locate(/datum/objective/escape) in owner.get_all_objectives()) && martyr_compatibility)
add_objective(/datum/objective/escape)
/**