Adjustments, adds a basic objective for roboticists
This commit is contained in:
@@ -65,7 +65,7 @@
|
||||
/datum/objective/crew/headofsecurity/justicecrew/check_completion()
|
||||
if(owner.current)
|
||||
for(var/datum/mind/M in SSticker.minds)
|
||||
if(M.current && isliving(owner))
|
||||
if(M.current && isliving(M.current))
|
||||
if(!M.special_role && !M.assigned_role == "Security Officer" && !M.assigned_role == "Detective" && !M.assigned_role == "Head of Security" && !M.assigned_role == "Lawyer" && get_area(M.current) != typesof(/area/security))
|
||||
return 0
|
||||
return 1
|
||||
@@ -78,7 +78,7 @@
|
||||
/datum/objective/crew/securityofficer/justicecrew/check_completion()
|
||||
if(owner.current)
|
||||
for(var/datum/mind/M in SSticker.minds)
|
||||
if(M.current && isliving(owner))
|
||||
if(M.current && isliving(M.current))
|
||||
if(!M.special_role && !M.assigned_role == "Security Officer" && !M.assigned_role == "Detective" && !M.assigned_role == "Head of Security" && !M.assigned_role == "Lawyer" && get_area(M.current) != typesof(/area/security))
|
||||
return 0
|
||||
return 1
|
||||
@@ -91,7 +91,7 @@
|
||||
/datum/objective/crew/detective/justicecrew/check_completion()
|
||||
if(owner.current)
|
||||
for(var/datum/mind/M in SSticker.minds)
|
||||
if(M.current && isliving(owner))
|
||||
if(M.current && isliving(M.current))
|
||||
if(!M.special_role && !M.assigned_role == "Security Officer" && !M.assigned_role == "Detective" && !M.assigned_role == "Head of Security" && !M.assigned_role == "Lawyer" && get_area(M.current) != typesof(/area/security))
|
||||
return 0
|
||||
return 1
|
||||
@@ -104,7 +104,55 @@
|
||||
/datum/objective/crew/lawyer/justicecrew/check_completion()
|
||||
if(owner.current)
|
||||
for(var/datum/mind/M in SSticker.minds)
|
||||
if(M.current && isliving(owner))
|
||||
if(M.current && isliving(M.current))
|
||||
if(!M.special_role && !M.assigned_role == "Security Officer" && !M.assigned_role == "Detective" && !M.assigned_role == "Head of Security" && !M.assigned_role == "Lawyer" && get_area(M.current) != typesof(/area/security))
|
||||
return 0
|
||||
return 1
|
||||
|
||||
/* SCIENCE OBJECTIVES */
|
||||
|
||||
/datum/objective/crew/researchdirector/
|
||||
|
||||
/datum/objective/crew/researchdirector/cyborgs
|
||||
explanation_text = "Ensure there are at least (Yo something broke here, yell on citadel's codebus discussion channel about this) functioning cyborgs when the shift ends."
|
||||
|
||||
/datum/objective/crew/researchdirector/cyborgs/New()
|
||||
target_amount = rand(3,20)
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/researchdirector/cyborgs/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Ensure there are at least [target_amount] functioning cyborgs when the shift ends."
|
||||
|
||||
/datum/objective/crew/researchdirector/cyborgs/check_completion()
|
||||
var/borgcount = target_amount
|
||||
for(var/mob/living/silicon/robot/R in GLOB.living_mob_list)
|
||||
if(!R.stat == DEAD)
|
||||
borgcount--
|
||||
if(borgcount <= 0)
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
||||
/datum/objective/crew/roboticist/
|
||||
|
||||
/datum/objective/crew/roboticist/cyborgs
|
||||
explanation_text = "Ensure there are at least (Yo something broke here, yell on citadel's codebus discussion channel about this) functioning cyborgs when the shift ends."
|
||||
|
||||
/datum/objective/crew/roboticist/cyborgs/New()
|
||||
target_amount = rand(3,20)
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/roboticist/cyborgs/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Ensure there are at least [target_amount] functioning cyborgs when the shift ends."
|
||||
|
||||
/datum/objective/crew/roboticist/cyborgs/check_completion()
|
||||
var/borgcount = target_amount
|
||||
for(var/mob/living/silicon/robot/R in GLOB.living_mob_list)
|
||||
if(!R.stat == DEAD)
|
||||
borgcount--
|
||||
if(borgcount <= 0)
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
crewMind.objectives += newObjective
|
||||
crewMind.special_role = "miscreant"
|
||||
to_chat(crewMind, "<B><font size=3 color=red>You are a Miscreant.</font></B>")
|
||||
to_chat(crewMind, "Pursuing your objective is purely optional, but it is not tracked. You may not commit any traitorous acts not directly related to them.")
|
||||
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()
|
||||
|
||||
/datum/objective/miscreant
|
||||
|
||||
@@ -595,10 +595,10 @@ SUBSYSTEM_DEF(ticker)
|
||||
miscreants += "<B>[crewMind.current.real_name]</B> (Played by: <B>[crewMind.key]</B>). <B>Objective</B>: [MO.explanation_text]"
|
||||
for(var/datum/objective/crew/CO in crewMind.objectives)
|
||||
if(CO.check_completion())
|
||||
to_chat(crewMind.current, "<br><B>Objective</B>: [CO.explanation_text] <font color='green'><B>Success!</B></font>")
|
||||
to_chat(crewMind.current, "<br><B>Your objective</B>: [CO.explanation_text] <font color='green'><B>Success!</B></font>")
|
||||
successfulCrew += "<B>[crewMind.current.real_name]</B> (Played by: <B>[crewMind.key]</B>). <B>Objective</B>: [CO.explanation_text]"
|
||||
else
|
||||
to_chat(crewMind.current, "<br><B>Objective</B>: [CO.explanation_text] <font color='red'><B>Failed.</B></font>")
|
||||
to_chat(crewMind.current, "<br><B>Your objective</B>: [CO.explanation_text] <font color='red'><B>Failed.</B></font>")
|
||||
|
||||
if (successfulCrew.len)
|
||||
to_chat(world, "<B>The following crew members completed their Crew Objectives:</B>")
|
||||
|
||||
Reference in New Issue
Block a user