diff --git a/code/defines/atom.dm b/code/defines/atom.dm index a8109647e3b..0d6a69961ee 100644 --- a/code/defines/atom.dm +++ b/code/defines/atom.dm @@ -2,6 +2,7 @@ layer = 2 var/level = 2 var/flags = FPRINT + var/flags_inv //This flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc. var/fingerprints = null var/list/fingerprintshidden = new/list() var/fingerprintslast = null diff --git a/code/defines/obj/clothing/head.dm b/code/defines/obj/clothing/head.dm index 36684e9fa71..1b068cfa4f3 100644 --- a/code/defines/obj/clothing/head.dm +++ b/code/defines/obj/clothing/head.dm @@ -78,12 +78,30 @@ // CHUMP HELMETS: COOKING THEM DESTROYS THE CHUMP HELMET SPAWN. +/obj/item/clothing/head/helmet + name = "helmet" + desc = "Standard Security gear. Protects the head from impacts." + icon_state = "helmet" + flags = FPRINT | TABLEPASS | SUITSPACE | HEADCOVERSEYES + item_state = "helmet" + armor = list(melee = 50, bullet = 15, laser = 50,energy = 10, bomb = 25, bio = 0, rad = 0) + protective_temperature = 500 + heat_transfer_coefficient = 0.10 + flags_inv = HIDEEARS|HIDEEYES + +/obj/item/clothing/head/helmet/warden + name = "Warden Hat" + desc = "A special helmet issued to the Warden of a securiy force. Protects the head from impacts." + icon_state = "policehelm" + flags_inv = 0 + /obj/item/clothing/head/helmet/cueball name = "cueball helmet" desc = "A large, featureless white orb mean to be worn on your head. How do you even see out of this thing?" icon_state = "cueball" flags = FPRINT|TABLEPASS|SUITSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR item_state="cueball" + flags_inv = 0 /obj/item/clothing/head/secsoft name = "Soft Cap" @@ -107,6 +125,7 @@ desc = "A plastic replica of a syndicate agent's space helmet, you'll look just like a real murderous syndicate agent in this! This is a toy, it is not made for use in space!" see_face = 0.0 flags = FPRINT | TABLEPASS | BLOCKHAIR + flags_inv = HIDEMASK|HIDEEARS|HIDEEYES /obj/item/clothing/head/helmet/swat name = "swat helmet" @@ -115,6 +134,7 @@ flags = FPRINT | TABLEPASS | SUITSPACE | HEADSPACE | HEADCOVERSEYES | BLOCKHAIR item_state = "swat" armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0) + flags_inv = HIDEEARS|HIDEEYES /obj/item/clothing/head/helmet/thunderdome name = "Thunderdome helmet" @@ -138,6 +158,7 @@ g_amt = 1000 var/up = 0 armor = list(melee = 10, bullet = 5, laser = 10,energy = 5, bomb = 10, bio = 5, rad = 10) + flags_inv = HIDEMASK|HIDEEARS|HIDEEYES /obj/item/clothing/head/helmet/that name = "Sturdy Top hat" @@ -146,6 +167,7 @@ item_state = "that" flags = FPRINT|TABLEPASS armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 0, rad = 0) + flags_inv = 0 /obj/item/clothing/head/helmet/greenbandana name = "Green Bandana" @@ -154,6 +176,7 @@ item_state = "greenbandana" flags = FPRINT|TABLEPASS armor = list(melee = 5, bullet = 5, laser = 5,energy = 5, bomb = 15, bio = 15, rad = 15) + flags_inv = 0 /obj/item/clothing/head/helmet/riot name = "Riot Helmet" @@ -162,6 +185,7 @@ item_state = "helmet" flags = FPRINT|TABLEPASS|SUITSPACE|HEADCOVERSEYES armor = list(melee = 82, bullet = 15, laser = 5,energy = 5, bomb = 5, bio = 2, rad = 0) + flags_inv = HIDEEARS /obj/item/clothing/head/helmet/cap name = "Captain's cap" @@ -169,6 +193,7 @@ icon_state = "capcap" flags = FPRINT|TABLEPASS|SUITSPACE armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 0, rad = 0) + flags_inv = 0 /obj/item/clothing/head/chaplain_hood name = "Chaplain's hood" @@ -195,3 +220,4 @@ item_state = "cardborg_h" flags = FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH see_face = 0.0 + flags_inv = HIDEMASK|HIDEEARS|HIDEEYES diff --git a/code/defines/obj/clothing/gimmick.dm b/code/defines/obj/clothing/z_gimmick.dm similarity index 94% rename from code/defines/obj/clothing/gimmick.dm rename to code/defines/obj/clothing/z_gimmick.dm index 4b4463a753d..32d1ed8545a 100644 --- a/code/defines/obj/clothing/gimmick.dm +++ b/code/defines/obj/clothing/z_gimmick.dm @@ -71,6 +71,7 @@ item_state = "death" flags = FPRINT | TABLEPASS | CONDUCT fire_resist = T0C+5200 + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /*/obj/item/clothing/under/nazi1 name = "Nazi uniform" @@ -326,6 +327,7 @@ icon_state = "hgpirate" item_state = "hgpirate" flags = FPRINT | TABLEPASS + flags_inv = HIDEJUMPSUIT /obj/item/clothing/glasses/eyepatch name = "eyepatch" @@ -358,6 +360,7 @@ desc = "Perfect for winter in Siberia, da?" icon_state = "ushankadown" item_state = "ushankadown" + flags_inv = HIDEEARS /obj/item/clothing/head/collectable //Hat Station 13 name = "Collectable Hat" @@ -547,6 +550,7 @@ obj/item/clothing/suit/justice icon_state = "justice" item_state = "justice" flags = FPRINT | TABLEPASS + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/under/gladiator name = "gladiator uniform" @@ -561,4 +565,5 @@ obj/item/clothing/suit/justice desc = "Ave, Imperator, morituri te salutant." icon_state = "gladiator" flags = FPRINT|TABLEPASS|SUITSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR - item_state="gladiator" \ No newline at end of file + item_state="gladiator" + flags_inv = HIDEMASK|HIDEEARS|HIDEEYES \ No newline at end of file diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index e8d086e43d0..e003c70eb34 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -28,6 +28,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS allowed = list(/obj/item/weapon/tome,/obj/item/weapon/melee/cultblade) armor = list(melee = 50, bullet = 30, laser = 50,energy = 20, bomb = 25, bio = 10, rad = 0) + flags_inv = HIDEJUMPSUIT /obj/item/clothing/head/magus name = "magus helm" @@ -46,4 +47,5 @@ flags = FPRINT | TABLEPASS | ONESIZEFITSALL body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS allowed = list(/obj/item/weapon/tome,/obj/item/weapon/melee/cultblade) - armor = list(melee = 50, bullet = 30, laser = 50,energy = 20, bomb = 25, bio = 10, rad = 0) \ No newline at end of file + armor = list(melee = 50, bullet = 30, laser = 50,energy = 20, bomb = 25, bio = 10, rad = 0) + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT \ No newline at end of file diff --git a/code/game/objects/items/clothing.dm b/code/game/objects/items/clothing.dm index 24b34fcf691..f3a669b34a5 100644 --- a/code/game/objects/items/clothing.dm +++ b/code/game/objects/items/clothing.dm @@ -255,12 +255,14 @@ THERMAL GLASSES src.up = !src.up src.see_face = !src.see_face src.flags |= HEADCOVERSEYES + flags_inv |= HIDEMASK|HIDEEARS|HIDEEYES icon_state = "welding" usr << "You flip the mask down to protect your eyes." else src.up = !src.up src.see_face = !src.see_face src.flags &= ~HEADCOVERSEYES + flags_inv &= ~(HIDEMASK|HIDEEARS|HIDEEYES) icon_state = "weldingup" usr << "You push the mask up out of your face." diff --git a/code/modules/clothing/hardhat.dm b/code/modules/clothing/hardhat.dm index c5a60e08ae3..daad057b527 100644 --- a/code/modules/clothing/hardhat.dm +++ b/code/modules/clothing/hardhat.dm @@ -8,6 +8,7 @@ var/on = 0 color = "yellow" //Determines used sprites: hardhat[on]_[color] and hardhat[on]_[color]2 (lying down sprite) armor = list(melee = 30, bullet = 5, laser = 20,energy = 10, bomb = 20, bio = 10, rad = 20) + flags_inv = 0 /obj/item/clothing/head/helmet/hardhat/orange icon_state = "hardhat0_orange" diff --git a/code/modules/clothing/spacesuit.dm b/code/modules/clothing/spacesuit.dm index bc704bf2e30..b2236db28a0 100644 --- a/code/modules/clothing/spacesuit.dm +++ b/code/modules/clothing/spacesuit.dm @@ -13,6 +13,7 @@ Space suit parts item_state = "space" permeability_coefficient = 0.01 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) + flags_inv = HIDEMASK|HIDEEARS|HIDEEYES /obj/item/clothing/suit/space @@ -30,4 +31,5 @@ Space suit parts allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen) slowdown = 3 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT diff --git a/code/modules/clothing/spacesuits/captain.dm b/code/modules/clothing/spacesuits/captain.dm index 5e8fdb8b97f..7b9c59add27 100644 --- a/code/modules/clothing/spacesuits/captain.dm +++ b/code/modules/clothing/spacesuits/captain.dm @@ -24,3 +24,4 @@ allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy, /obj/item/weapon/gun/projectile, /obj/item/ammo_magazine, /obj/item/ammo_casing, /obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs) slowdown = 1.5 armor = list(melee = 65, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50) + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 3e92d8dca3b..f188ad0aa7c 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -4,21 +4,6 @@ flags = FPRINT | TABLEPASS -/obj/item/clothing/head/helmet - name = "helmet" - desc = "Standard Security gear. Protects the head from impacts." - icon_state = "helmet" - flags = FPRINT | TABLEPASS | SUITSPACE | HEADCOVERSEYES - item_state = "helmet" - armor = list(melee = 50, bullet = 15, laser = 50,energy = 10, bomb = 25, bio = 0, rad = 0) - protective_temperature = 500 - heat_transfer_coefficient = 0.10 - - -/obj/item/clothing/head/helmet/warden - name = "Warden Hat" - desc = "A special helmet issued to the Warden of a securiy force. Protects the head from impacts." - icon_state = "policehelm" /obj/item/clothing/suit/armor/vest @@ -43,6 +28,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS slowdown = 1 armor = list(melee = 80, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0) + flags_inv = HIDEJUMPSUIT /obj/item/clothing/suit/armor/bulletproof diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index a6f39841e9e..2c461cd0f3c 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -5,6 +5,7 @@ permeability_coefficient = 0.01 flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) + flags_inv = HIDEMASK|HIDEEARS|HIDEEYES /obj/item/clothing/suit/bio_suit name = "bio suit" @@ -20,6 +21,7 @@ slowdown = 1.0 allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/pen,/obj/item/device/flashlight/pen) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/head/bio_hood/general diff --git a/code/modules/clothing/suits/bomb.dm b/code/modules/clothing/suits/bomb.dm index 9e341caec43..07329b71fbe 100644 --- a/code/modules/clothing/suits/bomb.dm +++ b/code/modules/clothing/suits/bomb.dm @@ -4,6 +4,7 @@ icon_state = "bombsuit" flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 100, bio = 0, rad = 0) + flags_inv = HIDEMASK|HIDEEARS|HIDEEYES /obj/item/clothing/suit/bomb_suit name = "bomb suit" @@ -18,6 +19,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS slowdown = 2 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 100, bio = 0, rad = 0) + flags_inv = HIDEJUMPSUIT /obj/item/clothing/head/bomb_hood/security diff --git a/code/modules/clothing/suits/fire.dm b/code/modules/clothing/suits/fire.dm index 094505a7959..61559789af6 100644 --- a/code/modules/clothing/suits/fire.dm +++ b/code/modules/clothing/suits/fire.dm @@ -11,6 +11,7 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/extinguisher) slowdown = 1.0 + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/fire/firefighter @@ -50,3 +51,4 @@ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen) slowdown = 1.5 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100) + flags_inv = HIDEJUMPSUIT diff --git a/code/modules/clothing/suits/heavy.dm b/code/modules/clothing/suits/heavy.dm index cca35dbe5a6..2ed8250813e 100644 --- a/code/modules/clothing/suits/heavy.dm +++ b/code/modules/clothing/suits/heavy.dm @@ -7,6 +7,7 @@ w_class = 4//bulky item body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen) + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/armor/heavy name = "heavy armor" @@ -17,9 +18,11 @@ gas_transfer_coefficient = 0.90 body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS slowdown = 3 + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/armor/tdome body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/armor/tdome/red name = "Thunderdome suit (red)" @@ -47,13 +50,14 @@ allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen) slowdown = 1 armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 0, rad = 0) + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/armor/swat/officer name = "officer jacket" desc = "An armored jacket used in special operations." icon_state = "detective" item_state = "det_suit" - + flags_inv = 0 diff --git a/code/modules/clothing/suits/hos.dm b/code/modules/clothing/suits/hos.dm index eb3acd33986..17737279d06 100644 --- a/code/modules/clothing/suits/hos.dm +++ b/code/modules/clothing/suits/hos.dm @@ -5,6 +5,8 @@ icon_state = "hoscap" flags = FPRINT | TABLEPASS | SUITSPACE | HEADCOVERSEYES armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0) + flags_inv = 0 + flags_inv = HIDEEARS /obj/item/clothing/head/helmet/HoS/dermal name = "Dermal Armour Patch" @@ -19,6 +21,7 @@ item_state = "hos" body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS armor = list(melee = 65, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) + flags_inv = HIDEJUMPSUIT /obj/item/clothing/suit/armor/hos/jensen @@ -26,3 +29,4 @@ desc = "A trenchoat augmented with a special alloy for some protection and style" icon_state = "jensencoat" item_state = "jensencoat" + flags_inv = 0 \ No newline at end of file diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index fa785deee14..dab05d8afbc 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -4,6 +4,7 @@ icon_state = "straight_jacket" item_state = "straight_jacket" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/wcoat @@ -66,6 +67,7 @@ w_class = 3 flags = FPRINT | TABLEPASS allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/toy) + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/captunic @@ -74,6 +76,7 @@ icon_state = "captunic" item_state = "bio_suit" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS + flags_inv = HIDEJUMPSUIT /obj/item/clothing/suit/nun @@ -82,6 +85,7 @@ icon_state = "nun" item_state = "nun" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS + flags_inv = HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/chaplain_hoodie @@ -98,6 +102,7 @@ icon_state = "hastur" item_state = "hastur" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/imperium_monk @@ -106,6 +111,7 @@ icon_state = "imperium_monk" item_state = "imperium_monk" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS + flags_inv = HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/chickensuit @@ -114,6 +120,7 @@ icon_state = "chickensuit" item_state = "chickensuit" body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS|FEET|HEAD + flags_inv = HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/monkeysuit @@ -122,6 +129,7 @@ icon_state = "monkeysuit" item_state = "monkeysuit" body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS|FEET|HANDS + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/holidaypriest @@ -130,6 +138,7 @@ icon_state = "holidaypriest" item_state = "holidaypriest" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS + flags_inv = HIDEJUMPSUIT // BubbleWrap - Nothing to see here @@ -140,4 +149,5 @@ icon_state = "cardborg" item_state = "cardborg" body_parts_covered = UPPER_TORSO|LOWER_TORSO + flags_inv = HIDEJUMPSUIT diff --git a/code/modules/clothing/suits/robe.dm b/code/modules/clothing/suits/robe.dm index 7f9cd4d9879..1cc084da0f6 100644 --- a/code/modules/clothing/suits/robe.dm +++ b/code/modules/clothing/suits/robe.dm @@ -37,6 +37,7 @@ body_parts_covered = FULL_BODY //It's magic, I ain't gotta explain shit. --NEO armor = list(melee = 30, bullet = 20, laser = 20,energy = 20, bomb = 20, bio = 20, rad = 20) allowed = list(/obj/item/weapon/teleportation_scroll) + flags_inv = HIDEJUMPSUIT /obj/item/clothing/suit/wizrobe/red diff --git a/code/modules/clothing/uniforms/lawyer.dm b/code/modules/clothing/uniforms/lawyer.dm index 2fe4d31263e..52d89f83b84 100644 --- a/code/modules/clothing/uniforms/lawyer.dm +++ b/code/modules/clothing/uniforms/lawyer.dm @@ -62,3 +62,4 @@ flags = FPRINT | TABLEPASS | ONESIZEFITSALL body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS allowed = list(/obj/item/weapon/cigpacket,/obj/item/weapon/spacecash) + flags_inv = HIDEJUMPSUIT diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index a0bd45cfe2b..85e07c43974 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -15,25 +15,50 @@ t_his = "her" t_him = "her" - if (src.w_uniform) + var/skipgloves = 0 + var/skipsuitstorage = 0 + var/skipjumpsuit = 0 + var/skipshoes = 0 + var/skipmask = 0 + var/skipears = 0 + var/skipeyes = 0 + + if (src.wear_suit) + skipgloves = src.wear_suit.flags_inv & HIDEGLOVES + skipsuitstorage = src.wear_suit.flags_inv & HIDESUITSTORAGE + skipjumpsuit = src.wear_suit.flags_inv & HIDEJUMPSUIT + skipshoes = src.wear_suit.flags_inv & HIDESHOES + + if (src.head) + skipmask = src.head.flags_inv & HIDEMASK + skipeyes = src.head.flags_inv & HIDEEYES + skipears = src.head.flags_inv & HIDEEARS + + if (src.w_uniform && !skipjumpsuit) if (src.w_uniform.blood_DNA) usr << "\red [src.name] is wearing a[src.w_uniform.blood_DNA ? " bloody " : " "] \icon[src.w_uniform] [src.w_uniform.name]!" else usr << "\blue [src.name] is wearing a \icon[src.w_uniform] [src.w_uniform.name]." - if (src.handcuffed) - usr << "\blue [src.name] is \icon[src.handcuffed] handcuffed!" - if (src.wear_suit) if (src.wear_suit.blood_DNA) usr << "\red [src.name] has a[src.wear_suit.blood_DNA ? " bloody " : " "] \icon[src.wear_suit] [src.wear_suit.name] on!" else usr << "\blue [src.name] has a \icon[src.wear_suit] [src.wear_suit.name] on." - if (src.ears) + if (src.head) + if (src.head.blood_DNA) + usr << "\red [src.name] has a[src.head.blood_DNA ? " bloody " : " "] \icon[src.head] [src.head.name] on his head!" + else + usr << "\blue [src.name] has a \icon[src.head] [src.head.name] on." + + if (src.handcuffed) + usr << "\blue [src.name] is \icon[src.handcuffed] handcuffed!" + + if (src.ears && !skipears) usr << "\blue [src.name] has a \icon[src.ears] [src.ears.name] by [t_his] mouth." - if (src.wear_mask) + if (src.wear_mask && !skipmask) if (src.wear_mask.blood_DNA) usr << "\red [src.name] has a[src.wear_mask.blood_DNA ? " bloody " : " "] \icon[src.wear_mask] [src.wear_mask.name] on [t_his] face!" else @@ -56,16 +81,16 @@ usr << "\red [src.name] has a[src.belt.blood_DNA ? " bloody " : " "] \icon[src.belt] [src.belt.name] on [t_his] belt!" else usr << "\blue [src.name] has a \icon[src.belt] [src.belt.name] on [t_his] belt." - if(src.s_store) + if(src.s_store && !skipsuitstorage) if(src.s_store.blood_DNA) usr << "\red [src.name] has a[src.s_store.blood_DNA ? " bloody " : " "] \icon[src.s_store] [src.s_store.name] on [t_his][src.wear_suit.blood_DNA ? " bloody " : " "] \icon[src.wear_suit] [src.wear_suit.name]!" else usr << "\blue [src.name] has a \icon[src.s_store] [src.s_store.name] on [t_his][src.wear_suit.blood_DNA ? " bloody " : " "] \icon[src.wear_suit] [src.wear_suit.name]." - if (src.shoes) + + if (src.shoes && !skipshoes) usr << "[src.shoes.blood_DNA ? "\red" : "\blue"] [src.name] is wearing[src.shoes.blood_DNA ? " bloody " : " "] \icon[src.shoes] [src.shoes.name] on [t_his] feet." - - if (src.gloves) + if (src.gloves && !skipgloves) if (src.gloves.blood_DNA) usr << "\red [src.name] has bloody \icon[src.gloves] [src.gloves.name] on [t_his] hands!" else @@ -73,6 +98,12 @@ else if (src.blood_DNA) usr << "\red [src.name] has[src.blood_DNA ? " bloody " : " "] hands!" + if (src.glasses && !skipeyes) + if (src.glasses.blood_DNA) + usr << "\red [src.name] has bloody \icon[src.glasses] [src.glasses.name] on [t_his] eyes!" + else + usr << "\blue [src.name] has \icon[src.glasses] [src.glasses.name] on [t_his] eyes." + if (src.back) usr << "\blue [src.name] has a \icon[src.back] [src.back.name] on [t_his] back." diff --git a/code/setup.dm b/code/setup.dm index 9be9049588c..393aee41b62 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -136,8 +136,18 @@ //turf-only flags #define NOJAUNT 1 -//Cant seem to find a mob bitflags area other than the powers one +//Bit flags for the flags_inv variable, which determine when a piece of clothing hides another. IE a helmet hiding glasses. +#define HIDEGLOVES 1 //APPLIES ONLY TO THE EXTERIOR SUIT!! +#define HIDESUITSTORAGE 2 //APPLIES ONLY TO THE EXTERIOR SUIT!! +#define HIDEJUMPSUIT 4 //APPLIES ONLY TO THE EXTERIOR SUIT!! +#define HIDESHOES 8 //APPLIES ONLY TO THE EXTERIOR SUIT!! +#define HIDEMASK 1 //APPLIES ONLY TO HELMETS!! +#define HIDEEARS 2 //APPLIES ONLY TO HELMETS!! +#define HIDEEYES 4 //APPLIES ONLY TO HELMETS!! + + +//Cant seem to find a mob bitflags area other than the powers one // bitflags for clothing parts #define HEAD 1 diff --git a/html/changelog.html b/html/changelog.html index a15b9e69a2f..e06e450049b 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -60,6 +60,14 @@ Stuff which is in development and not yet visible to players or just code relate (ie. code improvements for expandability, etc.) should not be listed here. They should be listed in the changelog upon commit tho. Thanks. --> +4 February 2012, World Cancer Day + + 31 January 2012
  • Carn updated: diff --git a/tgstation.dme b/tgstation.dme index 8245993a563..7962b161be8 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -298,12 +298,12 @@ #include "code\defines\obj\window.dm" #include "code\defines\obj\clothing\costume.dm" #include "code\defines\obj\clothing\ears.dm" -#include "code\defines\obj\clothing\gimmick.dm" #include "code\defines\obj\clothing\gloves.dm" #include "code\defines\obj\clothing\head.dm" #include "code\defines\obj\clothing\jumpsuit.dm" #include "code\defines\obj\clothing\mask.dm" #include "code\defines\obj\clothing\shoes.dm" +#include "code\defines\obj\clothing\z_gimmick.dm" #include "code\defines\procs\AStar.dm" #include "code\defines\procs\captain_announce.dm" #include "code\defines\procs\church_name.dm"