mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-01 13:02:32 +00:00
Steals more modular armor code
This commit is contained in:
@@ -34,6 +34,7 @@
|
||||
#define ACCESSORY_SLOT_ARMOR_L "Leg armor"
|
||||
#define ACCESSORY_SLOT_ARMOR_S "Armor storage"
|
||||
#define ACCESSORY_SLOT_ARMOR_M "Misc armor"
|
||||
#define ACCESSORY_SLOT_HELM_C "Helmet cover"
|
||||
|
||||
// Flags bitmasks.
|
||||
#define NOBLUDGEON 0x1 // When an item has this it produces no "X has been hit by Y with Z" message with the default handler.
|
||||
@@ -111,6 +112,21 @@
|
||||
#define slot_w_uniform_str "slot_w_uniform"
|
||||
#define slot_head_str "slot_head"
|
||||
#define slot_wear_suit_str "slot_suit"
|
||||
#define slot_l_ear_str "slot_l_ear"
|
||||
#define slot_r_ear_str "slot_r_ear"
|
||||
#define slot_belt_str "slot_belt"
|
||||
#define slot_shoes_str "slot_shoes"
|
||||
#define slot_head_str "slot_head"
|
||||
#define slot_wear_mask_str "slot_wear_mask"
|
||||
#define slot_handcuffed_str "slot_handcuffed"
|
||||
#define slot_legcuffed_str "slot_legcuffed"
|
||||
#define slot_wear_mask_str "slot_wear_mask"
|
||||
#define slot_wear_id_str "slot_wear_id"
|
||||
#define slot_gloves_str "slot_gloves"
|
||||
#define slot_glasses_str "slot_glasses"
|
||||
#define slot_s_store_str "slot_s_store"
|
||||
#define slot_tie_str "slot_tie"
|
||||
|
||||
|
||||
// Bitflags for clothing parts.
|
||||
#define HEAD 0x1
|
||||
|
||||
@@ -102,6 +102,8 @@
|
||||
desc = "You could probably shock someone badly if you touched them, or recharge something."
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
icon_state = "electric_hand"
|
||||
show_examine = 0
|
||||
|
||||
var/shock_cost = 10
|
||||
var/agony_amount = 60
|
||||
var/electrocute_amount = 10
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
desc = "This finger appears to be an organic datajack."
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
icon_state = "electric_hand"
|
||||
show_examine = 0
|
||||
|
||||
/obj/item/weapon/finger_lockpick/New()
|
||||
if(ismob(loc))
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
)
|
||||
throwforce = 0
|
||||
force = 0
|
||||
show_examine = 0
|
||||
// var/mob/living/carbon/human/owner = null
|
||||
var/mob/living/owner = null
|
||||
var/obj/item/weapon/technomancer_core/core = null
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
var/show_messages
|
||||
var/preserve_item = 0 //whether this object is preserved when its owner goes into cryo-storage, gateway, etc
|
||||
|
||||
var/show_examine = 1 // Does this pop up on a mob when the mob is examined?
|
||||
|
||||
/obj/Destroy()
|
||||
processing_objects -= src
|
||||
return ..()
|
||||
|
||||
@@ -37,6 +37,8 @@
|
||||
for(var/obj/item/clothing/accessory/A in accessories)
|
||||
A.attack_hand(user)
|
||||
return
|
||||
if ((ishuman(usr) || issmall(usr)) && src.loc == user)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/MouseDrop(var/obj/over_object)
|
||||
@@ -70,10 +72,16 @@
|
||||
* user is the user doing the attaching. Can be null, such as when attaching
|
||||
* items on spawn
|
||||
*/
|
||||
/obj/item/clothing/proc/update_accessory_slowdown()
|
||||
slowdown = initial(slowdown)
|
||||
for(var/obj/item/clothing/accessory/A in accessories)
|
||||
slowdown += A.slowdown
|
||||
|
||||
/obj/item/clothing/proc/attach_accessory(mob/user, obj/item/clothing/accessory/A)
|
||||
accessories += A
|
||||
A.on_attached(src, user)
|
||||
src.verbs |= /obj/item/clothing/proc/removetie_verb
|
||||
update_accessory_slowdown()
|
||||
update_clothing_icon()
|
||||
|
||||
/obj/item/clothing/proc/remove_accessory(mob/user, obj/item/clothing/accessory/A)
|
||||
@@ -82,6 +90,7 @@
|
||||
|
||||
A.on_removed(user)
|
||||
accessories -= A
|
||||
update_accessory_slowdown()
|
||||
update_clothing_icon()
|
||||
|
||||
/obj/item/clothing/proc/removetie_verb()
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
icon_state = "arm_guards_bullet"
|
||||
item_state_slots = list(slot_r_hand_str = "swat", slot_l_hand_str = "swat")
|
||||
siemens_coefficient = 0.7
|
||||
armor = list(melee = 10, bullet = 80, laser = 10, energy = 50, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(melee = 10, bullet = 80, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/gloves/arm_guard/riot
|
||||
name = "riot arm guards"
|
||||
@@ -36,7 +36,7 @@
|
||||
icon_state = "arm_guards_riot"
|
||||
item_state_slots = list(slot_r_hand_str = "swat", slot_l_hand_str = "swat")
|
||||
siemens_coefficient = 0.5
|
||||
armor = list(melee = 80, bullet = 10, laser = 10, energy = 50, bomb = 0, bio = 0, rad = 0)
|
||||
armor = list(melee = 80, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/gloves/arm_guard/combat
|
||||
name = "combat arm guards"
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
name = "helmet"
|
||||
desc = "Standard Security gear. Protects the head from impacts."
|
||||
icon_state = "helmet"
|
||||
valid_accessory_slots = list(ACCESSORY_SLOT_HELM_C)
|
||||
restricted_accessory_slots = list(ACCESSORY_SLOT_HELM_C)
|
||||
flags = THICKMATERIAL
|
||||
armor = list(melee = 40, bullet = 30, laser = 30, energy = 10, bomb = 10, bio = 0, rad = 0)
|
||||
flags_inv = HIDEEARS|HIDEEYES
|
||||
@@ -18,6 +20,7 @@
|
||||
desc = "A helmet painted in Peacekeeper blue. Stands out like a sore thumb."
|
||||
icon_state = "helmet_sol"
|
||||
armor = list(melee = 50, bullet = 50, laser = 50,energy = 25, bomb = 30, bio = 0, rad = 0)
|
||||
valid_accessory_slots = null
|
||||
|
||||
/obj/item/clothing/head/helmet/solgov/command
|
||||
name = "command helmet"
|
||||
@@ -61,6 +64,7 @@
|
||||
armor = list(melee = 80, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
flags_inv = HIDEEARS
|
||||
siemens_coefficient = 0.7
|
||||
valid_accessory_slots = null
|
||||
action_button_name = "Toggle Visor"
|
||||
|
||||
/obj/item/clothing/head/helmet/riot/attack_self(mob/user as mob)
|
||||
@@ -80,6 +84,7 @@
|
||||
armor = list(melee = 10, bullet = 10, laser = 80 ,energy = 50, bomb = 0, bio = 0, rad = 0)
|
||||
flags_inv = HIDEEARS
|
||||
siemens_coefficient = 0.1
|
||||
valid_accessory_slots = null
|
||||
|
||||
/obj/item/clothing/head/helmet/bulletproof
|
||||
name = "bullet-resistant helmet"
|
||||
@@ -89,6 +94,7 @@
|
||||
armor = list(melee = 10, bullet = 80, laser = 10 ,energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
flags_inv = HIDEEARS
|
||||
siemens_coefficient = 0.7
|
||||
valid_accessory_slots = null
|
||||
|
||||
/obj/item/clothing/head/helmet/combat
|
||||
name = "combat helmet"
|
||||
@@ -98,6 +104,7 @@
|
||||
armor = list(melee = 50, bullet = 50, laser = 50 ,energy = 30, bomb = 30, bio = 0, rad = 0)
|
||||
flags_inv = HIDEEARS
|
||||
siemens_coefficient = 0.6
|
||||
valid_accessory_slots = null
|
||||
|
||||
/obj/item/clothing/head/helmet/swat
|
||||
name = "\improper SWAT helmet"
|
||||
@@ -115,6 +122,7 @@
|
||||
icon_state = "alienhelmet"
|
||||
siemens_coefficient = 0.4
|
||||
armor = list(melee = 50, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 0, rad = 40)
|
||||
valid_accessory_slots = null
|
||||
|
||||
/obj/item/clothing/head/helmet/alien/tank
|
||||
name = "alien warhelm"
|
||||
@@ -137,6 +145,7 @@
|
||||
flags = BLOCKHAIR
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
|
||||
siemens_coefficient = 1
|
||||
valid_accessory_slots = null
|
||||
|
||||
/obj/item/clothing/head/helmet/tactical
|
||||
name = "tactical helmet"
|
||||
@@ -151,6 +160,7 @@
|
||||
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0)
|
||||
flags_inv = HIDEEARS
|
||||
siemens_coefficient = 0.7
|
||||
valid_accessory_slots = null
|
||||
|
||||
/obj/item/clothing/head/helmet/augment
|
||||
name = "Augment Array"
|
||||
@@ -162,6 +172,7 @@
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE
|
||||
siemens_coefficient = 0.5
|
||||
valid_accessory_slots = null
|
||||
|
||||
//Non-hardsuit ERT helmets.
|
||||
/obj/item/clothing/head/helmet/ert
|
||||
@@ -170,6 +181,7 @@
|
||||
icon_state = "erthelmet_cmd"
|
||||
item_state_slots = list(slot_r_hand_str = "syndicate-helm-green", slot_l_hand_str = "syndicate-helm-green")
|
||||
armor = list(melee = 62, bullet = 50, laser = 50,energy = 35, bomb = 10, bio = 2, rad = 0)
|
||||
valid_accessory_slots = null
|
||||
|
||||
//Commander
|
||||
/obj/item/clothing/head/helmet/ert/command
|
||||
|
||||
@@ -103,18 +103,27 @@
|
||||
icon_state = "beret_corporate_warden"
|
||||
item_state_slots = list(slot_r_hand_str = "beret_black", slot_l_hand_str = "beret_black")
|
||||
|
||||
/obj/item/clothing/head/helmet/warden //should these be helmets?
|
||||
/obj/item/clothing/head/helmet/warden
|
||||
name = "warden's helmet"
|
||||
desc = "Standard Warden gear. Protects the head from impacts."
|
||||
|
||||
/obj/item/clothing/head/helmet/warden/hat //should these be helmets?
|
||||
name = "warden's hat"
|
||||
desc = "It's a special helmet issued to the Warden of a securiy force."
|
||||
icon_state = "policehelm"
|
||||
body_parts_covered = 0
|
||||
|
||||
/obj/item/clothing/head/helmet/HoS
|
||||
name = "Head of Security helmet"
|
||||
desc = "Standard Head of Security gear. Protects the head from impacts."
|
||||
|
||||
/obj/item/clothing/head/helmet/HoS/hat
|
||||
name = "Head of Security Hat"
|
||||
desc = "The hat of the Head of Security. For showing the officers who's in charge."
|
||||
icon_state = "hoscap"
|
||||
body_parts_covered = 0
|
||||
|
||||
|
||||
/obj/item/clothing/head/helmet/HoS/dermal
|
||||
name = "Dermal Armour Patch"
|
||||
desc = "You're not quite sure how you manage to take it on and off, but it implants nicely in your head."
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
preserve_item = 1
|
||||
phoronproof = 1
|
||||
flash_protection = FLASH_PROTECTION_MAJOR
|
||||
valid_accessory_slots = null
|
||||
|
||||
var/obj/machinery/camera/camera
|
||||
var/list/camera_networks
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
/*
|
||||
// This file holds all of the accessories used as part of the modular armor system. At some point it might be wise to split this into multiple files.
|
||||
*/
|
||||
|
||||
///////////
|
||||
//Pouches
|
||||
///////////
|
||||
/obj/item/clothing/accessory/storage/pouches
|
||||
name = "storage pouches"
|
||||
desc = "A collection of black pouches that can be attached to a plate carrier. Carries up to two items."
|
||||
@@ -31,6 +37,7 @@
|
||||
desc = "A collection of black pouches that can be attached to a plate carrier. Carries up to four items."
|
||||
icon_state = "lpouches"
|
||||
slots = 4
|
||||
slowdown = 0.25
|
||||
|
||||
/obj/item/clothing/accessory/storage/pouches/large/blue
|
||||
desc = "A collection of blue pouches that can be attached to a plate carrier. Carries up to four items."
|
||||
@@ -48,7 +55,9 @@
|
||||
desc = "A collection of tan pouches that can be attached to a plate carrier. Carries up to four items."
|
||||
icon_state = "lpouches_tan"
|
||||
|
||||
////////////////
|
||||
//Armor plates
|
||||
////////////////
|
||||
/obj/item/clothing/accessory/armorplate
|
||||
name = "light armor plate"
|
||||
desc = "A basic armor plate made of steel-reinforced synthetic fibers. Attaches to a plate carrier."
|
||||
@@ -76,7 +85,9 @@
|
||||
icon_state = "armor_heavy"
|
||||
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0)
|
||||
|
||||
//////////////
|
||||
//Arm guards
|
||||
//////////////
|
||||
/obj/item/clothing/accessory/armguards
|
||||
name = "arm guards"
|
||||
desc = "A pair of black arm pads reinforced with armor plating. Attaches to a plate carrier."
|
||||
@@ -111,7 +122,33 @@
|
||||
icon_state = "armguards_merc"
|
||||
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/accessory/armguards/laserproof
|
||||
name = "ablative arm guards"
|
||||
desc = "These arm guards will protect your arms from energy weapons."
|
||||
icon_state = "armguards_laser"
|
||||
item_state_slots = list(slot_r_hand_str = "swat", slot_l_hand_str = "swat")
|
||||
siemens_coefficient = 0.4 //This is worse than the other ablative pieces, to avoid this from becoming the poor warden's insulated gloves.
|
||||
armor = list(melee = 10, bullet = 10, laser = 80, energy = 50, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/accessory/armguards/bulletproof
|
||||
name = "bullet resistant arm guards"
|
||||
desc = "These arm guards will protect your arms from ballistic weapons."
|
||||
icon_state = "armguards_bullet"
|
||||
item_state_slots = list(slot_r_hand_str = "swat", slot_l_hand_str = "swat")
|
||||
siemens_coefficient = 0.7
|
||||
armor = list(melee = 10, bullet = 80, laser = 10, energy = 50, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/accessory/armguards/riot
|
||||
name = "riot arm guards"
|
||||
desc = "These arm guards will protect your arms from close combat weapons."
|
||||
icon_state = "armguards_riot"
|
||||
item_state_slots = list(slot_r_hand_str = "swat", slot_l_hand_str = "swat")
|
||||
siemens_coefficient = 0.5
|
||||
armor = list(melee = 80, bullet = 10, laser = 10, energy = 50, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
//////////////
|
||||
//Leg guards
|
||||
//////////////
|
||||
/obj/item/clothing/accessory/legguards
|
||||
name = "leg guards"
|
||||
desc = "A pair of armored leg pads in black. Attaches to a plate carrier."
|
||||
@@ -146,8 +183,33 @@
|
||||
icon_state = "legguards_merc"
|
||||
armor = list(melee = 60, bullet = 60, laser = 60, energy = 40, bomb = 40, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/shoes/legguard/laserproof
|
||||
name = "ablative leg guards"
|
||||
desc = "These will protect your legs from energy weapons."
|
||||
icon_state = "legguards_laser"
|
||||
item_state_slots = list(slot_r_hand_str = "jackboots", slot_l_hand_str = "jackboots")
|
||||
siemens_coefficient = 0.1
|
||||
armor = list(melee = 10, bullet = 10, laser = 80, energy = 50, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/shoes/legguard/bulletproof
|
||||
name = "bullet resistant leg guards"
|
||||
desc = "These will protect your legs from ballistic weapons."
|
||||
icon_state = "legguards_bullet"
|
||||
item_state_slots = list(slot_r_hand_str = "jackboots", slot_l_hand_str = "jackboots")
|
||||
siemens_coefficient = 0.7
|
||||
armor = list(melee = 10, bullet = 80, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/shoes/legguard/riot
|
||||
name = "riot leg guards"
|
||||
desc = "These will protect your legs from close combat weapons."
|
||||
icon_state = "legguards_riot"
|
||||
item_state_slots = list(slot_r_hand_str = "jackboots", slot_l_hand_str = "jackboots")
|
||||
siemens_coefficient = 0.5
|
||||
armor = list(melee = 80, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
//////////////////////////
|
||||
//Decorative attachments
|
||||
//////////////////////////
|
||||
/obj/item/clothing/accessory/armor/tag
|
||||
name = "\improper SCG Flag"
|
||||
desc = "An emblem depicting the Solar Confederate Government's flag."
|
||||
@@ -226,3 +288,50 @@
|
||||
name = "\improper AB- blood patch"
|
||||
desc = "An embroidered patch indicating the wearer's blood type as AB NEGATIVE."
|
||||
icon_state = "abnegtag"
|
||||
|
||||
/////////////////
|
||||
// Helmet Covers
|
||||
/////////////////
|
||||
|
||||
obj/item/clothing/accessory/armor/helmcover
|
||||
name = "helmet cover"
|
||||
desc = "A fabric cover for armored helmets."
|
||||
icon_override = 'icons/mob/ties.dmi'
|
||||
icon = 'icons/obj/clothing/modular_armor.dmi'
|
||||
icon_state = "helmcover_blue"
|
||||
slot = ACCESSORY_SLOT_HELM_C
|
||||
|
||||
/obj/item/clothing/accessory/armor/helmcover/blue
|
||||
name = "blue helmet cover"
|
||||
desc = "A fabric cover for armored helmets in a bright blue color."
|
||||
icon_state = "helmcover_blue"
|
||||
|
||||
/obj/item/clothing/accessory/armor/helmcover/navy
|
||||
name = "navy blue helmet cover"
|
||||
desc = "A fabric cover for armored helmets. This one is colored navy blue."
|
||||
icon_state = "helmcover_navy"
|
||||
|
||||
/obj/item/clothing/accessory/armor/helmcover/green
|
||||
name = "green helmet cover"
|
||||
desc = "A fabric cover for armored helmets. This one has a woodland camouflage pattern."
|
||||
icon_state = "helmcover_green"
|
||||
|
||||
/obj/item/clothing/accessory/armor/helmcover/tan
|
||||
name = "tan helmet cover"
|
||||
desc = "A fabric cover for armored helmets. This one has a desert camouflage pattern."
|
||||
icon_state = "helmcover_tan"
|
||||
|
||||
/obj/item/clothing/accessory/armor/helmcover/nt
|
||||
name = "\improper NanoTrasen helmet cover"
|
||||
desc = "A fabric cover for armored helmets. This one has NanoTrasen's colors."
|
||||
icon_state = "helmcover_nt"
|
||||
|
||||
/obj/item/clothing/accessory/armor/helmcover/pcrc
|
||||
name = "\improper PCRC helmet cover"
|
||||
desc = "A fabric cover for armored helmets. This one is colored navy blue and has a tag in the back with the words PROXIMA CENTAURI RISK CONTROL printed in cyan lettering on it."
|
||||
icon_state = "helmcover_pcrc"
|
||||
|
||||
/obj/item/clothing/accessory/armor/helmcover/saare
|
||||
name = "\improper SAARE helmet cover"
|
||||
desc = "A fabric cover for armored helmets. This one has SAARE's colors."
|
||||
icon_state = "helmcover_saare"
|
||||
@@ -133,7 +133,7 @@
|
||||
msg += "<br>"
|
||||
|
||||
//uniform
|
||||
if(w_uniform && !skipjumpsuit)
|
||||
if(w_uniform && !skipjumpsuit && w_uniform.show_examine)
|
||||
//Ties
|
||||
var/tie_msg
|
||||
if(istype(w_uniform,/obj/item/clothing/under) && !skiptie)
|
||||
@@ -142,7 +142,7 @@
|
||||
if(skipholster)
|
||||
var/list/accessories_visible = new/list() //please let this fix the stupid fucking runtimes
|
||||
for(var/obj/item/clothing/accessory/A in U.accessories)
|
||||
if(A.concealed_holster == 0)
|
||||
if(A.concealed_holster == 0 && A.show_examine)
|
||||
accessories_visible.Add(A)
|
||||
if(accessories_visible.len)
|
||||
tie_msg += ". Attached to it is [lowertext(english_list(accessories_visible))]"
|
||||
@@ -154,7 +154,7 @@
|
||||
msg += "[T.He] [T.is] wearing \icon[w_uniform] \a [w_uniform][tie_msg].\n"
|
||||
|
||||
//head
|
||||
if(head)
|
||||
if(head && head.show_examine)
|
||||
if(head.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing \icon[head] [head.gender==PLURAL?"some":"a"] [(head.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [head.name] on [T.his] head!</span>\n"
|
||||
else
|
||||
@@ -174,35 +174,35 @@
|
||||
msg += "[T.He] [T.is] wearing \icon[wear_suit] \a [wear_suit][tie_msg].\n"
|
||||
|
||||
//suit/armour storage
|
||||
if(s_store && !skipsuitstorage)
|
||||
if(s_store && !skipsuitstorage && s_store.show_examine)
|
||||
if(s_store.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] carrying \icon[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]!</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.is] carrying \icon[s_store] \a [s_store] on [T.his] [wear_suit.name].\n"
|
||||
|
||||
//back
|
||||
if(back)
|
||||
if(back && back.show_examine)
|
||||
if(back.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.has] \icon[back] [back.gender==PLURAL?"some":"a"] [(back.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [back] on [T.his] back.</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.has] \icon[back] \a [back] on [T.his] back.\n"
|
||||
|
||||
//left hand
|
||||
if(l_hand)
|
||||
if(l_hand && l_hand.show_examine)
|
||||
if(l_hand.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] holding \icon[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!</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.is] holding \icon[l_hand] \a [l_hand] in [T.his] left hand.\n"
|
||||
|
||||
//right hand
|
||||
if(r_hand)
|
||||
if(r_hand && r_hand.show_examine)
|
||||
if(r_hand.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] holding \icon[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!</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.is] holding \icon[r_hand] \a [r_hand] in [T.his] right hand.\n"
|
||||
|
||||
//gloves
|
||||
if(gloves && !skipgloves)
|
||||
if(gloves && !skipgloves && gloves.show_examine)
|
||||
if(gloves.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.has] \icon[gloves] [gloves.gender==PLURAL?"some":"a"] [(gloves.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [gloves.name] on [T.his] hands!</span>\n"
|
||||
else
|
||||
@@ -211,7 +211,7 @@
|
||||
msg += "<span class='warning'>[T.He] [T.has] [(hand_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained hands!</span>\n"
|
||||
|
||||
//handcuffed?
|
||||
if(handcuffed)
|
||||
if(handcuffed && handcuffed.show_examine)
|
||||
if(istype(handcuffed, /obj/item/weapon/handcuffs/cable))
|
||||
msg += "<span class='warning'>[T.He] [T.is] \icon[handcuffed] restrained with cable!</span>\n"
|
||||
else
|
||||
@@ -222,14 +222,14 @@
|
||||
msg += "<span class='warning'>[T.He] [T.is] \icon[buckled] buckled to [buckled]!</span>\n"
|
||||
|
||||
//belt
|
||||
if(belt)
|
||||
if(belt && belt.show_examine)
|
||||
if(belt.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.has] \icon[belt] [belt.gender==PLURAL?"some":"a"] [(belt.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [belt.name] about [T.his] waist!</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.has] \icon[belt] \a [belt] about [T.his] waist.\n"
|
||||
|
||||
//shoes
|
||||
if(shoes && !skipshoes)
|
||||
if(shoes && !skipshoes && shoes.show_examine)
|
||||
if(shoes.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing \icon[shoes] [shoes.gender==PLURAL?"some":"a"] [(shoes.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [shoes.name] on [T.his] feet!</span>\n"
|
||||
else
|
||||
@@ -238,7 +238,7 @@
|
||||
msg += "<span class='warning'>[T.He] [T.has] [(feet_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained feet!</span>\n"
|
||||
|
||||
//mask
|
||||
if(wear_mask && !skipmask)
|
||||
if(wear_mask && !skipmask && wear_mask.show_examine)
|
||||
var/descriptor = "on [T.his] face"
|
||||
if(istype(wear_mask, /obj/item/weapon/grenade) && check_has_mouth())
|
||||
descriptor = "in [T.his] mouth"
|
||||
@@ -249,22 +249,22 @@
|
||||
msg += "[T.He] [T.has] \icon[wear_mask] \a [wear_mask] [descriptor].\n"
|
||||
|
||||
//eyes
|
||||
if(glasses && !skipeyes)
|
||||
if(glasses && !skipeyes && glasses.show_examine)
|
||||
if(glasses.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.has] \icon[glasses] [glasses.gender==PLURAL?"some":"a"] [(glasses.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [glasses] covering [T.his] eyes!</span>\n"
|
||||
else
|
||||
msg += "[T.He] [T.has] \icon[glasses] \a [glasses] covering [T.his] eyes.\n"
|
||||
|
||||
//left ear
|
||||
if(l_ear && !skipears)
|
||||
if(l_ear && !skipears && l_ear.show_examine)
|
||||
msg += "[T.He] [T.has] \icon[l_ear] \a [l_ear] on [T.his] left ear.\n"
|
||||
|
||||
//right ear
|
||||
if(r_ear && !skipears)
|
||||
if(r_ear && !skipears && r_ear.show_examine)
|
||||
msg += "[T.He] [T.has] \icon[r_ear] \a [r_ear] on [T.his] right ear.\n"
|
||||
|
||||
//ID
|
||||
if(wear_id)
|
||||
if(wear_id && wear_id.show_examine)
|
||||
/*var/id
|
||||
if(istype(wear_id, /obj/item/device/pda))
|
||||
var/obj/item/device/pda/pda = wear_id
|
||||
|
||||
@@ -949,10 +949,12 @@ var/global/list/damage_icon_parts = list()
|
||||
|
||||
|
||||
/mob/living/carbon/human/update_inv_head(var/update_icons=1)
|
||||
world << "update_inv_head"
|
||||
if(QDESTROYING(src))
|
||||
return
|
||||
|
||||
if(head)
|
||||
world << "Has head"
|
||||
head.screen_loc = ui_head //TODO
|
||||
|
||||
//Determine the icon to use
|
||||
@@ -1004,6 +1006,14 @@ var/global/list/damage_icon_parts = list()
|
||||
standing = image(base)
|
||||
else
|
||||
standing.color = head.color
|
||||
|
||||
// Accessories - copied from uniform, BOILERPLATE because fuck this system.
|
||||
var/obj/item/clothing/head/hat = head
|
||||
if(istype(hat) && hat.accessories.len)
|
||||
for(var/obj/item/clothing/accessory/A in hat.accessories)
|
||||
world << "[A.name]"
|
||||
standing.overlays |= A.get_mob_overlay()
|
||||
|
||||
overlays_standing[HEAD_LAYER] = standing
|
||||
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user