fixes admin given assassinateonce objective. (#23177)

* fixes admin given assassinateonce

* replaces accidently removed comment

* requested adjustments
This commit is contained in:
Aquilar
2023-11-14 21:01:32 +08:00
committed by GitHub
parent 2ea16f0f77
commit d27ead5c0e
2 changed files with 12 additions and 2 deletions
+1
View File
@@ -686,6 +686,7 @@
new_objective:target = new_target:mind
//Will display as special role if assigned mode is equal to special role.. Ninjas/commandos/nuke ops.
new_objective.explanation_text = "[objective_type] [new_target:real_name], the [new_target:mind:assigned_role == new_target:mind:special_role ? (new_target:mind:special_role) : (new_target:mind:assigned_role)]."
new_objective.establish_signals()
if("destroy")
var/list/possible_targets = active_ais(1)
+11 -2
View File
@@ -57,6 +57,12 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
/datum/objective/proc/found_target()
return target
/**
* This is for objectives that need to register signals, so place them in here. Makes it easier for add_objective to call it.
*/
/datum/objective/proc/establish_signals()
return
/**
* Get all owners of the objective, including ones from the objective's team, if it has one.
*
@@ -174,11 +180,14 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
..()
if(target?.current)
explanation_text = "Teach [target.current.real_name], the [target.assigned_role], a lesson they will not forget. The target only needs to die once for success."
RegisterSignal(target.current, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING), PROC_REF(check_midround_completion))
establish_signals()
else
explanation_text = "Free Objective"
return target
/datum/objective/assassinateonce/establish_signals()
RegisterSignal(target.current, list(COMSIG_MOB_DEATH, COMSIG_PARENT_QDELETING), PROC_REF(check_midround_completion))
/datum/objective/assassinateonce/check_completion()
return won || completed || !target?.current?.ckey
@@ -670,7 +679,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
/datum/objective/destroy/post_target_cryo(list/owners)
holder.replace_objective(src, /datum/objective/assassinate)
/datum/objective/steal_five_of_type
name = "Steal Five Items"
explanation_text = "Steal at least five items!"