Adjustments, adds a basic objective for roboticists

This commit is contained in:
deathride58
2017-09-04 22:04:52 -04:00
parent 35bdf826cd
commit 3d4d2d7024
3 changed files with 55 additions and 7 deletions
+52 -4
View File
@@ -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
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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>")