mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-10 07:41:16 +01:00
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:
@@ -223,6 +223,12 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
|
||||
#define TRAIT_SNOB "snob"
|
||||
#define TRAIT_BALD "bald"
|
||||
|
||||
//Medical Categories for quirks
|
||||
#define CAT_QUIRK_ALL 0
|
||||
#define CAT_QUIRK_NOTES 1
|
||||
#define CAT_QUIRK_MINOR_DISABILITY 2
|
||||
#define CAT_QUIRK_MAJOR_DISABILITY 3
|
||||
|
||||
// common trait sources
|
||||
#define TRAIT_GENERIC "generic"
|
||||
#define GENERIC_ITEM_TRAIT "generic_item"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -122,11 +122,10 @@
|
||||
dat += "<tr><td>Details:</td><td><A href='?src=[REF(src)];field=mi_dis_d'> [active2.fields["mi_dis_d"]] </A></td></tr>"
|
||||
dat += "<tr><td><br>Major Disabilities:</td><td><br><A href='?src=[REF(src)];field=ma_dis'> [active2.fields["ma_dis"]] </A></td></tr>"
|
||||
dat += "<tr><td>Details:</td><td><A href='?src=[REF(src)];field=ma_dis_d'> [active2.fields["ma_dis_d"]] </A></td></tr>"
|
||||
dat += "<tr><td><br>Allergies:</td><td><br><A href='?src=[REF(src)];field=alg'> [active2.fields["alg"]] </A></td></tr>"
|
||||
dat += "<tr><td>Details:</td><td><A href='?src=[REF(src)];field=alg_d'> [active2.fields["alg_d"]] </A></td></tr>"
|
||||
dat += "<tr><td><br>Current Diseases:</td><td><br><A href='?src=[REF(src)];field=cdi'> [active2.fields["cdi"]] </A></td></tr>" //(per disease info placed in log/comment section)
|
||||
dat += "<tr><td>Details:</td><td><A href='?src=[REF(src)];field=cdi_d'> [active2.fields["cdi_d"]] </A></td></tr>"
|
||||
dat += "<tr><td><br>Important Notes:</td><td><br><A href='?src=[REF(src)];field=notes'> [active2.fields["notes"]] </A></td></tr>"
|
||||
dat += "<tr><td><br>Notes Cont'd:</td><td><br><A href='?src=[REF(src)];field=notes'> [active2.fields["notes_d"]] </A></td></tr>"
|
||||
|
||||
dat += "<tr><td><br><b><font size='4'>Comments/Log</font></b></td></tr>"
|
||||
var/counter = 1
|
||||
|
||||
@@ -191,7 +191,7 @@ GENE SCANNER
|
||||
trauma_text += trauma_desc
|
||||
render_list += "<span class='alert ml-1'>Cerebral traumas detected: subject appears to be suffering from [english_list(trauma_text)].</span>\n"
|
||||
if(C.roundstart_quirks.len)
|
||||
render_list += "<span class='info ml-1'>Subject has the following physiological traits: [C.get_trait_string()].</span>\n"
|
||||
render_list += "<span class='info ml-1'>Subject has the following physiological traits: [C.get_trait_string(FALSE, CAT_QUIRK_ALL)].</span>\n"
|
||||
if(advanced)
|
||||
render_list += "<span class='info ml-1'>Brain Activity Level: [(200 - M.getOrganLoss(ORGAN_SLOT_BRAIN))/2]%.</span>\n"
|
||||
|
||||
|
||||
@@ -829,7 +829,7 @@
|
||||
to_chat(src, "<span class='info'>Your [damaged_message] [damaged_plural ? "are" : "is"] hurt.</span>")
|
||||
|
||||
if(roundstart_quirks.len)
|
||||
to_chat(src, "<span class='notice'>You have these quirks: [get_trait_string()].</span>")
|
||||
to_chat(src, "<span class='notice'>You have these quirks: [get_trait_string(FALSE, CAT_QUIRK_ALL)].</span>")
|
||||
|
||||
/mob/living/carbon/human/damage_clothes(damage_amount, damage_type = BRUTE, damage_flag = 0, def_zone)
|
||||
if(damage_type != BRUTE && damage_type != BURN)
|
||||
|
||||
Reference in New Issue
Block a user