mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-16 09:34:21 +01:00
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:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user