Files
GS13NG/code/citadel/crew_objectives/cit_crewobjectives_medical.dm
T
deathride58andkevinz000 5d0853e16a 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!
2017-10-08 10:05:40 -07:00

87 lines
3.6 KiB
Plaintext

/* MEDICAL OBJECTIVES */
/datum/objective/crew/morgue //Ported from old Hippie
explanation_text = "Ensure there are no corpses on the station outside of the morgue when the shift ends."
jobs = "chiefmedicalofficer,geneticist,medicaldoctor"
/datum/objective/crew/morgue/check_completion()
for(var/mob/living/carbon/human/H in GLOB.mob_list)
if(H.stat == DEAD && H.z == ZLEVEL_STATION_PRIMARY)
if(get_area(H) != /area/medical/morgue)
return FALSE
return TRUE
/datum/objective/crew/chems //Ported from old Hippie
var/targetchem = "none"
var/datum/reagent/chempath
explanation_text = "Have (yell about this in the development discussion channel of citadel's discord, something broke) in your bloodstream when the shift ends."
jobs = "chiefmedicalofficer,chemist"
/datum/objective/crew/chems/New()
. = ..()
var/blacklist = list(/datum/reagent/drug, /datum/reagent/drug/nicotine, /datum/reagent/drug/menthol, /datum/reagent/medicine, /datum/reagent/medicine/adminordrazine, /datum/reagent/medicine/adminordrazine/nanites, /datum/reagent/medicine/mine_salve, /datum/reagent/medicine/omnizine, /datum/reagent/medicine/syndicate_nanites, /datum/reagent/medicine/earthsblood, /datum/reagent/medicine/strange_reagent, /datum/reagent/medicine/miningnanites, /datum/reagent/medicine/changelingAdrenaline, /datum/reagent/medicine/changelingAdrenaline2)
var/drugs = typesof(/datum/reagent/drug) - blacklist
var/meds = typesof(/datum/reagent/medicine) - blacklist
var/chemlist = drugs + meds
chempath = pick(chemlist)
targetchem = initial(chempath.id)
update_explanation_text()
/datum/objective/crew/chems/update_explanation_text()
. = ..()
explanation_text = "Have [initial(chempath.name)] in your bloodstream when the shift ends."
/datum/objective/crew/chems/check_completion()
if(owner.current)
if(!owner.current.stat == DEAD && owner.current.reagents)
if(owner.current.reagents.has_reagent(targetchem))
return TRUE
else
return FALSE
/datum/objective/crew/druglordchem //ported from old Hippie with adjustments
var/targetchem = "none"
var/datum/reagent/chempath
var/chemamount = 0
explanation_text = "Have at least (somethin broke here) pills containing at least (like really broke) units of(report this on the development discussion channel of citadel's discord) when the shift ends."
jobs = "chemist"
/datum/objective/crew/druglordchem/New()
. = ..()
target_amount = rand(5,50)
chemamount = rand(1,20)
var/blacklist = list(/datum/reagent/drug, /datum/reagent/drug/nicotine, /datum/reagent/drug/menthol)
var/drugs = typesof(/datum/reagent/drug) - blacklist
var/chemlist = drugs
chempath = pick(chemlist)
targetchem = initial(chempath.id)
update_explanation_text()
/datum/objective/crew/druglordchem/update_explanation_text()
. = ..()
explanation_text = "Have at least [target_amount] pills containing at least [chemamount] units of [initial(chempath.name)] when the shift ends."
/datum/objective/crew/druglordchem/check_completion()
var/pillcount = target_amount
if(owner.current)
if(owner.current.contents)
for(var/obj/item/reagent_containers/pill/P in owner.current.get_contents())
if(P.reagents.has_reagent(targetchem, chemamount))
pillcount--
if(pillcount <= 0)
return TRUE
else
return FALSE
/datum/objective/crew/noinfections
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()
for(var/mob/living/carbon/human/H in GLOB.mob_list)
if(!H.stat == DEAD)
if(H.z == ZLEVEL_STATION_PRIMARY || SSshuttle.emergency.shuttle_areas[get_area(H)])
if(H.check_virus() == 2)
return FALSE
return TRUE