From 6bd0d0813af31660498afb0085d72e0d814382eb Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Wed, 25 Sep 2019 20:47:16 -0600 Subject: [PATCH] Revert "Revert "Datumizes traitors and mindslaves"" (#12378) --- code/__DEFINES/role_preferences.dm | 1 + code/datums/mind.dm | 189 ++++---- .../game/gamemodes/autotraitor/autotraitor.dm | 22 +- code/game/gamemodes/objective.dm | 1 + code/game/gamemodes/traitor/traitor.dm | 321 +------------- code/game/machinery/cloning.dm | 2 - code/game/machinery/syndicatebeacon.dm | 23 +- .../objects/items/weapons/holy_weapons.dm | 1 + .../items/weapons/implants/implant_traitor.dm | 84 ++-- code/modules/admin/topic.dm | 56 +-- code/modules/admin/verbs/randomverbs.dm | 12 +- .../antagonists/traitor/datum_mindslave.dm | 52 +++ .../antagonists/traitor/datum_traitor.dm | 418 ++++++++++++++++++ code/modules/power/apc.dm | 2 +- paradise.dme | 2 + 15 files changed, 674 insertions(+), 512 deletions(-) create mode 100644 code/modules/antagonists/traitor/datum_mindslave.dm create mode 100644 code/modules/antagonists/traitor/datum_traitor.dm diff --git a/code/__DEFINES/role_preferences.dm b/code/__DEFINES/role_preferences.dm index 34ad4d69e54..5b93e570222 100644 --- a/code/__DEFINES/role_preferences.dm +++ b/code/__DEFINES/role_preferences.dm @@ -10,6 +10,7 @@ // justice if someone's abusing your role #define ROLE_SYNDICATE "Syndicate" #define ROLE_TRAITOR "traitor" +#define ROLE_MINDSLAVE "mindslave" #define ROLE_OPERATIVE "operative" #define ROLE_CHANGELING "changeling" #define ROLE_WIZARD "wizard" diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 84d5ab32b8a..1a6bc4eb1c7 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -132,11 +132,17 @@ var/output = "[current.real_name]'s Memories:
" output += memory - if(objectives.len) + var/antag_datum_objectives = FALSE + for(var/datum/antagonist/A in antag_datums) + output += A.antag_memory + if(!antag_datum_objectives && LAZYLEN(A.objectives)) + antag_datum_objectives = TRUE + + if(LAZYLEN(objectives) || antag_datum_objectives) output += "
Objectives:
" output += gen_objective_text() - if(job_objectives.len) + if(LAZYLEN(job_objectives)) output += "
Job Objectives: