From 9ee9f79fdcb4b25e39a3e4b03f01095c5b77a878 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Jan 2020 23:52:33 -0700 Subject: [PATCH] checks --- code/game/gamemodes/clock_cult/clock_cult.dm | 7 +++++-- code/game/gamemodes/cult/cult.dm | 7 +++++-- code/modules/antagonists/clockcult/clockcult.dm | 4 ++++ code/modules/antagonists/cult/cult.dm | 3 +++ 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm index a76e8234ba..dcf5779f97 100644 --- a/code/game/gamemodes/clock_cult/clock_cult.dm +++ b/code/game/gamemodes/clock_cult/clock_cult.dm @@ -45,8 +45,11 @@ Credit where due: // PROCS // /////////// -/proc/is_servant_of_ratvar(mob/M) - return istype(M) && !isobserver(M) && M.mind && M.mind.has_antag_datum(/datum/antagonist/clockcult) +/proc/is_servant_of_ratvar(mob/M, require_full_power = FALSE) + if(!istype(M) || isobserver(M)) + return FALSE + var/datum/antagonist/clockcult/D = M?.mind?.has_antag_datum(/datum/antagonist/clockcult) + return D && (!require_full_power || !D.neutered) /proc/is_eligible_servant(mob/M) if(!istype(M)) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 497cc2f1c3..1b295bcc50 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -3,8 +3,11 @@ /datum/game_mode var/list/datum/mind/cult = list() -/proc/iscultist(mob/living/M) - return istype(M) && M.mind && M.mind.has_antag_datum(/datum/antagonist/cult) +/proc/iscultist(mob/living/M, require_full_power = FALSE) + if(!istype(M)) + return FALSE + var/datum/antagonist/cult/D = M?.mind?.has_antag_datum(/datum/antagonist/cult) + return D && (!require_full_power || !D.neutered) /datum/team/cult/proc/is_sacrifice_target(datum/mind/mind) for(var/datum/objective/sacrifice/sac_objective in objectives) diff --git a/code/modules/antagonists/clockcult/clockcult.dm b/code/modules/antagonists/clockcult/clockcult.dm index d68e9b594d..7462620287 100644 --- a/code/modules/antagonists/clockcult/clockcult.dm +++ b/code/modules/antagonists/clockcult/clockcult.dm @@ -8,11 +8,15 @@ var/datum/action/innate/hierophant/hierophant_network = new() var/datum/team/clockcult/clock_team var/make_team = TRUE //This should be only false for tutorial scarabs + var/neutered = FALSE //can not use round ending, gibbing, converting, or similar things with unmatched round impact /datum/antagonist/clockcult/silent silent = TRUE show_in_antagpanel = FALSE //internal +/datum/antagonist/clockcult/neutered + neutered = TRUE + /datum/antagonist/clockcult/Destroy() qdel(hierophant_network) return ..() diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index df2383f892..4dbdf6a7d5 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -12,7 +12,10 @@ var/ignore_implant = FALSE var/give_equipment = FALSE var/datum/team/cult/cult_team + var/neutered = FALSE //can not use round ending, gibbing, converting, or similar things with unmatched round impact +/datum/antagonist/cult/neutered + neutered = TRUE /datum/antagonist/cult/get_team() return cult_team