Crew objective/miscreant system tweaks (#3213)
* Loadsa tweaks * adds miscreant pref, other fixes * fixes runtime * fixes compiling errors for REAL now hopefully * HOPEFULLY fixes compiling errors * COMPILE!
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/datum/controller/subsystem/ticker/proc/generate_crew_objectives()
|
||||
for(var/datum/mind/crewMind in SSticker.minds)
|
||||
if(prob(2) && !issilicon(crewMind.current) && !jobban_isbanned(crewMind, "Syndicate") && GLOB.miscreants_allowed)
|
||||
if(prob(2) && !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))
|
||||
@@ -25,7 +25,8 @@
|
||||
return
|
||||
newObjective.owner = crewMind
|
||||
crewMind.objectives += newObjective
|
||||
to_chat(crewMind, "<B>Your objective:</B> [newObjective.explanation_text]")
|
||||
to_chat(crewMind, "<B>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. <font color=red>Performing traitorous acts in pursuit of your objective may result in termination of your employment.</font></B>")
|
||||
to_chat(crewMind, "<B>Your optional objective:</B> [newObjective.explanation_text]")
|
||||
|
||||
/datum/controller/subsystem/ticker/proc/get_valid_crew_objs(var/job = "")//taken from old hippie with adjustments
|
||||
var/list/objpaths = typesof(/datum/objective/crew)
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
return
|
||||
if(!crewMind.assigned_role)
|
||||
return
|
||||
if(ROLE_MISCREANT in crewMind.current.client.prefs.be_special)
|
||||
return
|
||||
if(jobban_isbanned(crewMind, "Syndicate"))
|
||||
return
|
||||
var/list/objectiveTypes = typesof(/datum/objective/miscreant) - /datum/objective/miscreant
|
||||
@@ -58,4 +60,7 @@
|
||||
explanation_text = "Act as out of character as you possibly can."
|
||||
|
||||
/datum/objective/miscreant/racism
|
||||
explanation_text = "Attempt to establish superiority of your race."
|
||||
explanation_text = "Attempt to establish superiority of your species."
|
||||
|
||||
/datum/objective/miscreant/cargonia
|
||||
explanation_text = "Attempt to establish independence of your department."
|
||||
|
||||
@@ -185,29 +185,6 @@
|
||||
else
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/departmentclothes
|
||||
var/obj/item/clothing/under/rank/targetuniform
|
||||
explanation_text = "Be wearing a (Yo, this objective broke. report this to citadels discord via the development channel) at the end of the shift."
|
||||
jobs = "assistant"
|
||||
|
||||
/datum/objective/crew/departmentclothes/New()
|
||||
. = ..()
|
||||
var/list/blacklist = list(/obj/item/clothing/under/rank, /obj/item/clothing/under/rank/miner, /obj/item/clothing/under/rank/medical/blue, /obj/item/clothing/under/rank/medical/green, /obj/item/clothing/under/rank/medical/purple, /obj/item/clothing/under/rank/security/grey, /obj/item/clothing/under/rank/warden/grey, /obj/item/clothing/under/rank/head_of_security/grey, /obj/item/clothing/under/rank/mailman, /obj/item/clothing/under/rank/psyche, /obj/item/clothing/under/rank/clown/sexy, /obj/item/clothing/under/rank/centcom_officer, /obj/item/clothing/under/rank/centcom_commander, /obj/item/clothing/under/rank/security/navyblue/russian, /obj/item/clothing/under/rank/security/blueshirt)
|
||||
var/list/validclothes = typesof(/obj/item/clothing/under/rank) - blacklist
|
||||
targetuniform = pick(validclothes)
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/departmentclothes/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Be wearing a [initial(targetuniform.name)] at the end of the shift."
|
||||
|
||||
/datum/objective/crew/departmentclothes/check_completion()
|
||||
if(owner && owner.current)
|
||||
var/mob/living/carbon/human/H = owner.current
|
||||
if(istype(H.w_uniform, targetuniform))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/pwrgame //ported from Goon with adjustments
|
||||
var/obj/item/clothing/targettidegarb
|
||||
explanation_text = "Get your grubby hands on a (Dear god something broke. Report this to Citadel's development dicussion channel)."
|
||||
@@ -215,7 +192,9 @@
|
||||
|
||||
/datum/objective/crew/pwrgame/New()
|
||||
. = ..()
|
||||
var/list/muhvalids = list(/obj/item/clothing/mask/gas, /obj/item/clothing/head/welding, /obj/item/clothing/head/ushanka, /obj/item/clothing/gloves/color/yellow, /obj/item/clothing/mask/gas/owl_mask, /obj/item/clothing/suit/space)
|
||||
var/list/muhvalids = list(/obj/item/clothing/mask/gas, /obj/item/clothing/head/welding, /obj/item/clothing/head/ushanka, /obj/item/clothing/gloves/color/yellow, /obj/item/clothing/mask/gas/owl_mask)
|
||||
if(prob(10))
|
||||
muhvalids += list(/obj/item/clothing/suit/space)
|
||||
targettidegarb = pick(muhvalids)
|
||||
update_explanation_text()
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/noinfections
|
||||
explanation_text = "Ensure no living crew members are infected with harmful viruses at the end of the shift"
|
||||
explanation_text = "Make sure there are no crew members with harmful diseases at the end of the shift."
|
||||
jobs = "virologist"
|
||||
|
||||
/datum/objective/crew/noinfections/check_completion()
|
||||
|
||||
Reference in New Issue
Block a user