/datum/controller/subsystem/ticker/proc/generate_crew_objectives()
for(var/datum/mind/crewMind in SSticker.minds)
if(prob(5) && !issilicon(crewMind.current) && !jobban_isbanned(crewMind, "Syndicate") && GLOB.miscreants_allowed && ROLE_MISCREANT in crewMind.current.client.prefs.be_special)
generate_miscreant_objectives(crewMind)
else
if(CONFIG_GET(flag/allow_crew_objectives))
generate_individual_objectives(crewMind)
return
/datum/controller/subsystem/ticker/proc/generate_individual_objectives(var/datum/mind/crewMind)
if(!(CONFIG_GET(flag/allow_crew_objectives)))
return
if(!crewMind)
return
if(!crewMind.current || !crewMind.objectives || crewMind.special_role)
return
if(!crewMind.assigned_role)
return
var/list/validobjs = crewobjjobs["[ckey(crewMind.assigned_role)]"]
if(!validobjs || !validobjs.len)
return
var/selectedObj = pick(validobjs)
var/datum/objective/crew/newObjective = new selectedObj
if(!newObjective)
return
newObjective.owner = crewMind
crewMind.objectives += newObjective
to_chat(crewMind, "As a part of Nanotrasen's anti-tide efforts, you have been assigned an optional objective. It will be checked at the end of the shift. Performing traitorous acts in pursuit of your objective may result in termination of your employment.")
to_chat(crewMind, "Your optional objective: [newObjective.explanation_text]")
/datum/objective/crew/
var/jobs = ""
explanation_text = "Yell on the development discussion channel on Citadels discord if this ever shows up. Something just broke here, dude"
/datum/objective/crew/proc/setup()