From 72822c8978e297b8c980ff545c524aef130637d0 Mon Sep 17 00:00:00 2001 From: Erthilo Date: Sun, 19 Aug 2012 03:57:44 +0100 Subject: [PATCH 1/2] SecHuds and MedHuds can now view appropriate records. MedHuds can now set Physical Status. --- .../mob/living/carbon/human/examine.dm | 27 +++++ code/modules/mob/living/carbon/human/human.dm | 100 ++++++++++++++++++ 2 files changed, 127 insertions(+) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index fbf7a07f3b9..fa11ed4e2a1 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -413,8 +413,35 @@ msg += "Criminal status: \[[criminal]\]\n" + msg += "Security records: \[View\]\n" //msg += "\[Set Hostile Identification\]\n" + if(istype(usr, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = usr + if(istype(H.glasses, /obj/item/clothing/glasses/hud/health)) + var/perpname = "wot" + var/medical = "None" + + if(wear_id) + if(istype(wear_id,/obj/item/weapon/card/id)) + perpname = wear_id:registered_name + else if(istype(wear_id,/obj/item/device/pda)) + var/obj/item/device/pda/tempPda = wear_id + perpname = tempPda.owner + else + perpname = src.name + + for (var/datum/data/record/E in data_core.general) + if (E.fields["name"] == perpname) + for (var/datum/data/record/R in data_core.general) + if (R.fields["id"] == E.fields["id"]) + medical = R.fields["p_stat"] + + + msg += "Physical status: \[[medical]\]\n" + msg += "Medical records: \[View\]\n" + + if(print_flavor_text()) msg += "[print_flavor_text()]\n" msg += "\blue *---------*" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 5ad5b812acd..9091cc49d67 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -2600,10 +2600,110 @@ It can still be worn/put on as normal. if(!modified) usr << "\red Unable to locate a data core entry for this person." + + if (href_list["secrecord"]) + if(istype(usr, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = usr + if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.glasses, /obj/item/clothing/glasses/sunglasses/sechud)) + var/perpname = "wot" + var/read = 0 + + if(wear_id) + if(istype(wear_id,/obj/item/weapon/card/id)) + perpname = wear_id:registered_name + else if(istype(wear_id,/obj/item/device/pda)) + var/obj/item/device/pda/tempPda = wear_id + perpname = tempPda.owner + else + perpname = src.name + for (var/datum/data/record/E in data_core.general) + if (E.fields["name"] == perpname) + for (var/datum/data/record/R in data_core.security) + if (R.fields["id"] == E.fields["id"]) + if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.glasses, /obj/item/clothing/glasses/sunglasses/sechud)) + usr << "Name: [R.fields["name"]] Criminal Status: [R.fields["criminal"]]" + usr << "Minor Crimes: [R.fields["mi_crim"]]" + usr << "Details: [R.fields["mi_crim_d"]]" + usr << "Major Crimes: [R.fields["ma_crim"]]" + usr << "Details: [R.fields["ma_crim_d"]]" + usr << "Notes: [R.fields["notes"]]" + read = 1 + + if(!read) + usr << "\red Unable to locate a data core entry for this person." + + + if (href_list["medical"]) + if(istype(usr, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = usr + if(istype(H.glasses, /obj/item/clothing/glasses/hud/health)) + var/perpname = "wot" + var/modified = 0 + + if(wear_id) + if(istype(wear_id,/obj/item/weapon/card/id)) + perpname = wear_id:registered_name + else if(istype(wear_id,/obj/item/device/pda)) + var/obj/item/device/pda/tempPda = wear_id + perpname = tempPda.owner + else + perpname = src.name + + for (var/datum/data/record/E in data_core.general) + if (E.fields["name"] == perpname) + for (var/datum/data/record/R in data_core.general) + if (R.fields["id"] == E.fields["id"]) + + var/setmedical = input(usr, "Specify a new criminal status for this person.", "Medical HUD", R.fields["p_stat"]) in list("*Deceased*", "*Unconscious*", "Physically Unfit", "Active", "Cancel") + + if(istype(H.glasses, /obj/item/clothing/glasses/hud/health)) + if(setmedical != "Cancel") + R.fields["p_stat"] = setmedical + modified = 1 + + spawn() + H.handle_regular_hud_updates() + + if(!modified) + usr << "\red Unable to locate a data core entry for this person." + + if (href_list["medrecord"]) + if(istype(usr, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = usr + if(istype(H.glasses, /obj/item/clothing/glasses/hud/health)) + var/perpname = "wot" + var/read = 0 + + if(wear_id) + if(istype(wear_id,/obj/item/weapon/card/id)) + perpname = wear_id:registered_name + else if(istype(wear_id,/obj/item/device/pda)) + var/obj/item/device/pda/tempPda = wear_id + perpname = tempPda.owner + else + perpname = src.name + for (var/datum/data/record/E in data_core.general) + if (E.fields["name"] == perpname) + for (var/datum/data/record/R in data_core.medical) + if (R.fields["id"] == E.fields["id"]) + if(istype(H.glasses, /obj/item/clothing/glasses/hud/health)) + usr << "Name: [R.fields["name"]] Blood Type: [R.fields["b_type"]]" + usr << "DNA: [R.fields["b_dna"]]" + usr << "Minor Disabilities: [R.fields["mi_dis"]]" + usr << "Details: [R.fields["mi_dis_d"]]" + usr << "Major Disabilities: [R.fields["ma_dis"]]" + usr << "Details: [R.fields["ma_dis_d"]]" + usr << "Notes: [R.fields["notes"]]" + read = 1 + + if(!read) + usr << "\red Unable to locate a data core entry for this person." + ..() return + ///eyecheck() ///Returns a number between -1 to 2 /mob/living/carbon/human/eyecheck() From 6a6a97b5517069136c9342f3da71ebc3530481c4 Mon Sep 17 00:00:00 2001 From: Erthilo Date: Sun, 19 Aug 2012 03:58:39 +0100 Subject: [PATCH 2/2] Reduces roach damage. --- code/modules/critters/critters.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/critters/critters.dm b/code/modules/critters/critters.dm index 7bd3a1b6959..ff7fe658fb2 100644 --- a/code/modules/critters/critters.dm +++ b/code/modules/critters/critters.dm @@ -164,6 +164,8 @@ atkcarbon = 1 atksilicon = 0 attacktext = "bites" + melee_damage_lower = 0.1 + melee_damage_upper = 0.5 //They're just roaches! layer = 2.5 //so they can hide under objects Bump(var/mob/M)