diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 4fe4a83c8c..930b85b87f 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -76,7 +76,7 @@ BP_L_LEG = skip_body & EXAMINE_SKIPLEGS, BP_R_LEG = skip_body & EXAMINE_SKIPLEGS) - + var/gender_hidden = (skip_gear & EXAMINE_SKIPJUMPSUIT) && (skip_body & EXAMINE_SKIPFACE) var/gender_key = get_visible_gender(user, gender_hidden) var/datum/gender/T = gender_datums[gender_key] @@ -103,81 +103,88 @@ if(w_uniform && !(skip_gear & EXAMINE_SKIPJUMPSUIT) && w_uniform.show_examine) //Ties var/tie_msg + var/tie_msg_warn if(istype(w_uniform,/obj/item/clothing/under) && !(skip_gear & EXAMINE_SKIPTIE)) var/obj/item/clothing/under/U = w_uniform if(LAZYLEN(U.accessories)) - var/list/accessories_visible = list() //please let this fix the stupid fucking runtimes + tie_msg += ". Attached to it is" + tie_msg_warn += "! Attached to it is" + var/list/accessory_descs = list() if(skip_gear & EXAMINE_SKIPHOLSTER) for(var/obj/item/clothing/accessory/A in U.accessories) if(A.show_examine && !istype(A, /obj/item/clothing/accessory/holster)) // If we're supposed to skip holsters, actually skip them - accessories_visible.Add(A) + accessory_descs += "\a [A]" else for(var/obj/item/clothing/accessory/A in U.accessories) if(A.concealed_holster == 0 && A.show_examine) - accessories_visible.Add(A) - - if(accessories_visible.len) - tie_msg += " Attached to it is [english_list(accessories_visible)]." + accessory_descs += "\a [A]" + tie_msg += " [lowertext(english_list(accessory_descs))]." if(w_uniform.blood_DNA) - msg += "[T.He] [T.is] wearing [bicon(w_uniform)] [w_uniform.gender==PLURAL?"some":"a"] [(w_uniform.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [w_uniform.name]![tie_msg]" + msg += "[T.He] [T.is] wearing [bicon(w_uniform)] [w_uniform.gender==PLURAL?"some":"a"] [(w_uniform.blood_color != "#030303") ? "blood" : "oil"]-stained [w_uniform.name]![tie_msg]" else - msg += "[T.He] [T.is] wearing [bicon(w_uniform)] \a [w_uniform].[tie_msg]" + msg += "[T.He] [T.is] wearing [bicon(w_uniform)] \a [w_uniform].[tie_msg]" //head if(head && !(skip_gear & EXAMINE_SKIPHELMET) && head.show_examine) if(head.blood_DNA) - msg += "[T.He] [T.is] wearing [bicon(head)] [head.gender==PLURAL?"some":"a"] [(head.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [head.name] on [T.his] head!" + msg += "[T.He] [T.is] wearing [bicon(head)] [head.gender==PLURAL?"some":"a"] [(head.blood_color != "#030303") ? "blood" : "oil"]-stained [head.name] on [T.his] head!" else - msg += "[T.He] [T.is] wearing [bicon(head)] \a [head] on [T.his] head." + msg += "[T.He] [T.is] wearing [bicon(head)] \a [head] on [T.his] head." //suit/armour if(wear_suit) var/tie_msg + var/tie_msg_warn if(istype(wear_suit,/obj/item/clothing/suit)) var/obj/item/clothing/suit/U = wear_suit if(LAZYLEN(U.accessories)) - tie_msg += " Attached to it is [english_list(U.accessories)]." + tie_msg += ". Attached to it is" + tie_msg_warn += "! Attached to it is" + var/list/accessory_descs = list() + for(var/accessory in U.accessories) + accessory_descs += "\a [accessory]" + tie_msg += " [lowertext(english_list(accessory_descs))]." if(wear_suit.blood_DNA) - msg += "[T.He] [T.is] wearing [bicon(wear_suit)] [wear_suit.gender==PLURAL?"some":"a"] [(wear_suit.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [wear_suit.name][tie_msg]!" + msg += "[T.He] [T.is] wearing [bicon(wear_suit)] [wear_suit.gender==PLURAL?"some":"a"] [(wear_suit.blood_color != "#030303") ? "blood" : "oil"]-stained [wear_suit.name]![tie_msg]" else - msg += "[T.He] [T.is] wearing [bicon(wear_suit)] \a [wear_suit].[tie_msg]" + msg += "[T.He] [T.is] wearing [bicon(wear_suit)] \a [wear_suit].[tie_msg]" //suit/armour storage if(s_store && !(skip_gear & EXAMINE_SKIPSUITSTORAGE) && s_store.show_examine) if(s_store.blood_DNA) - msg += "[T.He] [T.is] carrying [bicon(s_store)] [s_store.gender==PLURAL?"some":"a"] [(s_store.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [s_store.name] on [T.his] [wear_suit.name]!" + msg += "[T.He] [T.is] carrying [bicon(s_store)] [s_store.gender==PLURAL?"some":"a"] [(s_store.blood_color != "#030303") ? "blood" : "oil"]-stained [s_store.name] on [T.his] [wear_suit.name]!" else - msg += "[T.He] [T.is] carrying [bicon(s_store)] \a [s_store] on [T.his] [wear_suit.name]." + msg += "[T.He] [T.is] carrying [bicon(s_store)] \a [s_store] on [T.his] [wear_suit.name]." //back if(back && !(skip_gear & EXAMINE_SKIPBACKPACK) && back.show_examine) if(back.blood_DNA) - msg += "[T.He] [T.has] [bicon(back)] [back.gender==PLURAL?"some":"a"] [(back.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [back] on [T.his] back." + msg += "[T.He] [T.has] [bicon(back)] [back.gender==PLURAL?"some":"a"] [(back.blood_color != "#030303") ? "blood" : "oil"]-stained [back] on [T.his] back." else - msg += "[T.He] [T.has] [bicon(back)] \a [back] on [T.his] back." + msg += "[T.He] [T.has] [bicon(back)] \a [back] on [T.his] back." //left hand if(l_hand && l_hand.show_examine) if(l_hand.blood_DNA) - msg += "[T.He] [T.is] holding [bicon(l_hand)] [l_hand.gender==PLURAL?"some":"a"] [(l_hand.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [l_hand.name] in [T.his] left hand!" + msg += "[T.He] [T.is] holding [bicon(l_hand)] [l_hand.gender==PLURAL?"some":"a"] [(l_hand.blood_color != "#030303") ? "blood" : "oil"]-stained [l_hand.name] in [T.his] left hand!" else - msg += "[T.He] [T.is] holding [bicon(l_hand)] \a [l_hand] in [T.his] left hand." + msg += "[T.He] [T.is] holding [bicon(l_hand)] \a [l_hand] in [T.his] left hand." //right hand if(r_hand && r_hand.show_examine) if(r_hand.blood_DNA) - msg += "[T.He] [T.is] holding [bicon(r_hand)] [r_hand.gender==PLURAL?"some":"a"] [(r_hand.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [r_hand.name] in [T.his] right hand!" + msg += "[T.He] [T.is] holding [bicon(r_hand)] [r_hand.gender==PLURAL?"some":"a"] [(r_hand.blood_color != "#030303") ? "blood" : "oil"]-stained [r_hand.name] in [T.his] right hand!" else - msg += "[T.He] [T.is] holding [bicon(r_hand)] \a [r_hand] in [T.his] right hand." + msg += "[T.He] [T.is] holding [bicon(r_hand)] \a [r_hand] in [T.his] right hand." //gloves if(gloves && !(skip_gear & EXAMINE_SKIPGLOVES) && gloves.show_examine) if(gloves.blood_DNA) - msg += "[T.He] [T.has] [bicon(gloves)] [gloves.gender==PLURAL?"some":"a"] [(gloves.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [gloves.name] on [T.his] hands!" + msg += "[T.He] [T.has] [bicon(gloves)] [gloves.gender==PLURAL?"some":"a"] [(gloves.blood_color != "#030303") ? "blood" : "oil"]-stained [gloves.name] on [T.his] hands!" else - msg += "[T.He] [T.has] [bicon(gloves)] \a [gloves] on [T.his] hands." + msg += "[T.He] [T.has] [bicon(gloves)] \a [gloves] on [T.his] hands." else if(blood_DNA && !(skip_body & EXAMINE_SKIPHANDS)) msg += "[T.He] [T.has] [(hand_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained hands!" @@ -195,16 +202,16 @@ //belt if(belt && !(skip_gear & EXAMINE_SKIPBELT) && belt.show_examine) if(belt.blood_DNA) - msg += "[T.He] [T.has] [bicon(belt)] [belt.gender==PLURAL?"some":"a"] [(belt.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [belt.name] about [T.his] waist!" + msg += "[T.He] [T.has] [bicon(belt)] [belt.gender==PLURAL?"some":"a"] [(belt.blood_color != "#030303") ? "blood" : "oil"]-stained [belt.name] about [T.his] waist!" else - msg += "[T.He] [T.has] [bicon(belt)] \a [belt] about [T.his] waist." + msg += "[T.He] [T.has] [bicon(belt)] \a [belt] about [T.his] waist." //shoes if(shoes && !(skip_gear & EXAMINE_SKIPSHOES) && shoes.show_examine) if(shoes.blood_DNA) - msg += "[T.He] [T.is] wearing [bicon(shoes)] [shoes.gender==PLURAL?"some":"a"] [(shoes.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [shoes.name] on [T.his] feet!" + msg += "[T.He] [T.is] wearing [bicon(shoes)] [shoes.gender==PLURAL?"some":"a"] [(shoes.blood_color != "#030303") ? "blood" : "oil"]-stained [shoes.name] on [T.his] feet!" else - msg += "[T.He] [T.is] wearing [bicon(shoes)] \a [shoes] on [T.his] feet." + msg += "[T.He] [T.is] wearing [bicon(shoes)] \a [shoes] on [T.his] feet." else if(feet_blood_DNA && !(skip_body & EXAMINE_SKIPHANDS)) msg += "[T.He] [T.has] [(feet_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained feet!" @@ -215,38 +222,28 @@ descriptor = "in [T.his] mouth" if(wear_mask.blood_DNA) - msg += "[T.He] [T.has] [bicon(wear_mask)] [wear_mask.gender==PLURAL?"some":"a"] [(wear_mask.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [wear_mask.name] [descriptor]!" + msg += "[T.He] [T.has] [bicon(wear_mask)] [wear_mask.gender==PLURAL?"some":"a"] [(wear_mask.blood_color != "#030303") ? "blood" : "oil"]-stained [wear_mask.name] [descriptor]!" else - msg += "[T.He] [T.has] [bicon(wear_mask)] \a [wear_mask] [descriptor]." + msg += "[T.He] [T.has] [bicon(wear_mask)] \a [wear_mask] [descriptor]." //eyes if(glasses && !(skip_gear & EXAMINE_SKIPEYEWEAR) && glasses.show_examine) if(glasses.blood_DNA) - msg += "[T.He] [T.has] [bicon(glasses)] [glasses.gender==PLURAL?"some":"a"] [(glasses.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [glasses] covering [T.his] eyes!" + msg += "[T.He] [T.has] [bicon(glasses)] [glasses.gender==PLURAL?"some":"a"] [(glasses.blood_color != "#030303") ? "blood" : "oil"]-stained [glasses] covering [T.his] eyes!" else - msg += "[T.He] [T.has] [bicon(glasses)] \a [glasses] covering [T.his] eyes." + msg += "[T.He] [T.has] [bicon(glasses)] \a [glasses] covering [T.his] eyes." //left ear if(l_ear && !(skip_gear & EXAMINE_SKIPEARS) && l_ear.show_examine) - msg += "[T.He] [T.has] [bicon(l_ear)] \a [l_ear] on [T.his] left ear." + msg += "[T.He] [T.has] [bicon(l_ear)] \a [l_ear] on [T.his] left ear." //right ear if(r_ear && !(skip_gear & EXAMINE_SKIPEARS) && r_ear.show_examine) - msg += "[T.He] [T.has] [bicon(r_ear)] \a [r_ear] on [T.his] right ear." + msg += "[T.He] [T.has] [bicon(r_ear)] \a [r_ear] on [T.his] right ear." //ID if(wear_id && wear_id.show_examine) - /*var/id - if(istype(wear_id, /obj/item/pda)) - var/obj/item/pda/pda = wear_id - id = pda.owner - else if(istype(wear_id, /obj/item/card/id)) //just in case something other than a PDA/ID card somehow gets in the ID slot :[ - var/obj/item/card/id/idcard = wear_id - id = idcard.registered_name - if(id && (id != real_name) && (get_dist(src, usr) <= 1) && prob(10)) - msg += "[T.He] [T.is] wearing [bicon(wear_id)] \a [wear_id] yet something doesn't seem right..." - else*/ - msg += "[T.He] [T.is] wearing [bicon(wear_id)] \a [wear_id]." + msg += "[T.He] [T.is] wearing [bicon(wear_id)]\a [wear_id]." //Jitters if(is_jittery) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 17101ea86e..cf7fc5d1c5 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -572,6 +572,12 @@ var/obj/item/I = locate(href_list["lookitem"]) src.examinate(I) + if (href_list["lookitem_desc_only"]) + var/obj/item/I = locate(href_list["lookitem_desc_only"]) + if(!I) + return + usr.examinate(I, 1) + if (href_list["lookmob"]) var/mob/M = locate(href_list["lookmob"]) src.examinate(M)