Sorts quirks into medical record categories (#50647)

* Sorts quirks into medical record categories

Removes Allergens from med record, still need to squash a bug.

* Makes Rohesie's requested changes

* typo

* Replaces magic numbers with defines
This commit is contained in:
RaveRadbury
2020-05-01 04:47:26 -03:00
committed by GitHub
parent 4cfcf55a4d
commit 8e4e34127b
6 changed files with 54 additions and 26 deletions
+6 -7
View File
@@ -260,15 +260,14 @@
M.fields["name"] = H.real_name
M.fields["blood_type"] = H.dna.blood_type
M.fields["b_dna"] = H.dna.unique_enzymes
M.fields["mi_dis"] = "None"
M.fields["mi_dis_d"] = "No minor disabilities have been declared."
M.fields["ma_dis"] = "None"
M.fields["ma_dis_d"] = "No major disabilities have been diagnosed."
M.fields["alg"] = "None"
M.fields["alg_d"] = "No allergies have been detected in this patient."
M.fields["mi_dis"] = H.get_trait_string(!medical, CAT_QUIRK_MINOR_DISABILITY)
M.fields["mi_dis_d"] = H.get_trait_string(medical, CAT_QUIRK_MINOR_DISABILITY)
M.fields["ma_dis"] = H.get_trait_string(!medical, CAT_QUIRK_MAJOR_DISABILITY)
M.fields["ma_dis_d"] = H.get_trait_string(medical, CAT_QUIRK_MAJOR_DISABILITY)
M.fields["cdi"] = "None"
M.fields["cdi_d"] = "No diseases have been diagnosed at the moment."
M.fields["notes"] = H.get_trait_string(medical)
M.fields["notes"] = H.get_trait_string(!medical, CAT_QUIRK_NOTES)
M.fields["notes_d"] = H.get_trait_string(medical, CAT_QUIRK_NOTES)
medical += M
//Security Record
+39 -15
View File
@@ -65,22 +65,46 @@
return
on_process()
/mob/living/proc/get_trait_string(medical) //helper string. gets a string of all the traits the mob has
/mob/living/proc/get_trait_string(medical, category) //helper string. gets a string of all the traits the mob has
var/list/dat = list()
if(!medical)
for(var/V in roundstart_quirks)
var/datum/quirk/T = V
dat += T.name
if(!dat.len)
return "None"
return dat.Join(", ")
else
for(var/V in roundstart_quirks)
var/datum/quirk/T = V
dat += T.medical_record_text
if(!dat.len)
return "None"
return dat.Join("<br>")
switch(category)
if(CAT_QUIRK_ALL)
for(var/V in roundstart_quirks)
var/datum/quirk/T = V
dat += medical ? T.medical_record_text : T.name
if(!dat.len)
return "None"
return medical ? dat.Join("<br>") : dat.Join(",")
//Major Disabilities
if(CAT_QUIRK_MAJOR_DISABILITY)
for(var/V in roundstart_quirks)
var/datum/quirk/T = V
if(T.value < -1)
dat += medical ? T.medical_record_text : T.name
if(!dat.len)
return medical ? "No major disabilities have been declared." : "None"
return medical ? dat.Join("<br>") : dat.Join(",")
//Minor Disabilities
if(CAT_QUIRK_MINOR_DISABILITY)
for(var/V in roundstart_quirks)
var/datum/quirk/T = V
if(T.value == -1)
dat += medical ? T.medical_record_text : T.name
if(!dat.len)
return medical ? "No minor disabilities have been declared." : "None"
return medical ? dat.Join("<br>") : dat.Join(",")
//Neutral and Positive quirks
if(CAT_QUIRK_NOTES)
for(var/V in roundstart_quirks)
var/datum/quirk/T = V
if(T.value > -1)
dat += medical ? T.medical_record_text : T.name
if(!dat.len)
return "None"
return medical ? dat.Join("<br>") : dat.Join(",")
/mob/living/proc/cleanse_trait_datums() //removes all trait datums
for(var/V in roundstart_quirks)