diff --git a/code/citadel/_cit_helpers.dm b/code/citadel/_cit_helpers.dm index f20e59b0b6..9ac58122fe 100644 --- a/code/citadel/_cit_helpers.dm +++ b/code/citadel/_cit_helpers.dm @@ -93,6 +93,9 @@ GLOBAL_LIST_EMPTY(mentors) GLOBAL_VAR_INIT(looc_allowed, 1) GLOBAL_VAR_INIT(dlooc_allowed, 1) +//Crew objective and miscreants stuff +GLOBAL_VAR_INIT(miscreants_allowed, FALSE) + /client/proc/reload_mentors() set name = "Reload Mentors" set category = "Admin" diff --git a/code/citadel/cit_crewobjectives.dm b/code/citadel/cit_crewobjectives.dm index 849dcef544..7a4e68850b 100644 --- a/code/citadel/cit_crewobjectives.dm +++ b/code/citadel/cit_crewobjectives.dm @@ -8,6 +8,8 @@ return /datum/controller/subsystem/ticker/proc/generate_individual_objectives(var/datum/mind/crewMind) + if(!config.allow_crew_objectives) + return if(!crewMind) return if(!crewMind.current || !crewMind.objectives || crewMind.special_role) @@ -27,7 +29,8 @@ return newObjective.owner = crewMind crewMind.objectives += newObjective - crewMind.announce_objectives() + to_chat(crewMind, "Your objective: [newObjective.explanation_text]") + //crewMind.announce_objectives() /datum/objective/crew/ explanation_text = "Yell on the development discussion channel on Citadels discord if this ever shows up. Something just broke here, dude" diff --git a/code/citadel/cit_miscreants.dm b/code/citadel/cit_miscreants.dm index 19e75047f5..cc5a3afa98 100644 --- a/code/citadel/cit_miscreants.dm +++ b/code/citadel/cit_miscreants.dm @@ -1,12 +1,14 @@ /datum/controller/subsystem/ticker/proc/generate_miscreant_objectives(var/datum/mind/crewMind) - if(GLOB.master_mode == "extended") - return //Thinking about it, extended's chaos whether or not mini-antags are present. But eh, whatever. Here's a sanity check. + if(!GLOB.miscreants_allowed) + return if(!crewMind) return if(!crewMind.current || !crewMind.objectives || crewMind.special_role) return if(!crewMind.assigned_role) return + if(jobban_isbanned(crewMind, "Syndicate")) + return var/list/objectiveTypes = typesof(/datum/objective/miscreant) - /datum/objective/miscreant if(!objectiveTypes.len) return @@ -18,8 +20,9 @@ crewMind.objectives += newObjective crewMind.special_role = "miscreant" to_chat(crewMind, "You are a Miscreant.") - to_chat(crewMind, "Pursuing your objective is entirely optional, but it isn't tracked. Performing traitorous acts not directly related to your objective may result in permanent termination of your employment.") - crewMind.announce_objectives() + to_chat(crewMind, "Pursuing your objective is entirely optional, but it isn't tracked. Performing traitorous acts not directly related to your objective may result in permanent termination of your employment.") + to_chat(crewMind, "Your objective: [newObjective.explanation_text]") + //crewMind.announce_objectives() /datum/objective/miscreant explanation_text = "Something broke. Horribly. Dear god, im so sorry. Yell about this in the development discussion channel of citadels discord." diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 6d458cb0ee..cee83cb3b8 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -211,6 +211,10 @@ SUBSYSTEM_DEF(ticker) GLOB.start_landmarks_list = shuffle(GLOB.start_landmarks_list) //Shuffle the order of spawn points so they dont always predictably spawn bottom-up and right-to-left create_characters() //Create player characters collect_minds() + if(config.allow_extended_miscreants && GLOB.master_mode == "extended") + GLOB.miscreants_allowed = TRUE + if(config.allow_miscreants && GLOB.master_mode != "extended") + GLOB.miscreants_allowed = TRUE generate_crew_objectives() equip_characters()