Examining humans is now smarter and displays only the things you can see. Certain outerwear suits and helmets hide other pieces of clothing on you.

A diagram that displays what can hide what:
http://www.kamletos.si/inventory%20visibility%20hierarchy.png

Note that not all suits and helmets hide stuff.

Added this to the changelog.

Technical information:

Renamed gimmick.dm to z_gimmick.dm because whenever I doubleclicked on any piece of clothing in the object tree it always pointed me to some random gimmick item instead of the root definition. Now the file is at the bottom of the folder and so everything else is looked up first.

Created a bitflag variable which is used to determine which piece of clothing hides another. The variable is flags_inv and the flags it contains are:

#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!!

The first 4 only apply to exterior suits and the last 3 only to helmets, so they can use the same numbers. 

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3031 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
baloh.matevz
2012-02-04 20:09:46 +00:00
parent 29db1914cd
commit 0fa1f3d924
21 changed files with 131 additions and 30 deletions

View File

@@ -2,6 +2,7 @@
layer = 2 layer = 2
var/level = 2 var/level = 2
var/flags = FPRINT 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/fingerprints = null
var/list/fingerprintshidden = new/list() var/list/fingerprintshidden = new/list()
var/fingerprintslast = null var/fingerprintslast = null

View File

@@ -78,12 +78,30 @@
// CHUMP HELMETS: COOKING THEM DESTROYS THE CHUMP HELMET SPAWN. // 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 /obj/item/clothing/head/helmet/cueball
name = "cueball helmet" 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?" 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" icon_state = "cueball"
flags = FPRINT|TABLEPASS|SUITSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR flags = FPRINT|TABLEPASS|SUITSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR
item_state="cueball" item_state="cueball"
flags_inv = 0
/obj/item/clothing/head/secsoft /obj/item/clothing/head/secsoft
name = "Soft Cap" 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!" 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 see_face = 0.0
flags = FPRINT | TABLEPASS | BLOCKHAIR flags = FPRINT | TABLEPASS | BLOCKHAIR
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
/obj/item/clothing/head/helmet/swat /obj/item/clothing/head/helmet/swat
name = "swat helmet" name = "swat helmet"
@@ -115,6 +134,7 @@
flags = FPRINT | TABLEPASS | SUITSPACE | HEADSPACE | HEADCOVERSEYES | BLOCKHAIR flags = FPRINT | TABLEPASS | SUITSPACE | HEADSPACE | HEADCOVERSEYES | BLOCKHAIR
item_state = "swat" item_state = "swat"
armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0) 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 /obj/item/clothing/head/helmet/thunderdome
name = "Thunderdome helmet" name = "Thunderdome helmet"
@@ -138,6 +158,7 @@
g_amt = 1000 g_amt = 1000
var/up = 0 var/up = 0
armor = list(melee = 10, bullet = 5, laser = 10,energy = 5, bomb = 10, bio = 5, rad = 10) 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 /obj/item/clothing/head/helmet/that
name = "Sturdy Top hat" name = "Sturdy Top hat"
@@ -146,6 +167,7 @@
item_state = "that" item_state = "that"
flags = FPRINT|TABLEPASS flags = FPRINT|TABLEPASS
armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 0, rad = 0) 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 /obj/item/clothing/head/helmet/greenbandana
name = "Green Bandana" name = "Green Bandana"
@@ -154,6 +176,7 @@
item_state = "greenbandana" item_state = "greenbandana"
flags = FPRINT|TABLEPASS flags = FPRINT|TABLEPASS
armor = list(melee = 5, bullet = 5, laser = 5,energy = 5, bomb = 15, bio = 15, rad = 15) 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 /obj/item/clothing/head/helmet/riot
name = "Riot Helmet" name = "Riot Helmet"
@@ -162,6 +185,7 @@
item_state = "helmet" item_state = "helmet"
flags = FPRINT|TABLEPASS|SUITSPACE|HEADCOVERSEYES flags = FPRINT|TABLEPASS|SUITSPACE|HEADCOVERSEYES
armor = list(melee = 82, bullet = 15, laser = 5,energy = 5, bomb = 5, bio = 2, rad = 0) 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 /obj/item/clothing/head/helmet/cap
name = "Captain's cap" name = "Captain's cap"
@@ -169,6 +193,7 @@
icon_state = "capcap" icon_state = "capcap"
flags = FPRINT|TABLEPASS|SUITSPACE flags = FPRINT|TABLEPASS|SUITSPACE
armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 0, rad = 0) 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 /obj/item/clothing/head/chaplain_hood
name = "Chaplain's hood" name = "Chaplain's hood"
@@ -195,3 +220,4 @@
item_state = "cardborg_h" item_state = "cardborg_h"
flags = FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH flags = FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH
see_face = 0.0 see_face = 0.0
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES

View File

@@ -71,6 +71,7 @@
item_state = "death" item_state = "death"
flags = FPRINT | TABLEPASS | CONDUCT flags = FPRINT | TABLEPASS | CONDUCT
fire_resist = T0C+5200 fire_resist = T0C+5200
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
/*/obj/item/clothing/under/nazi1 /*/obj/item/clothing/under/nazi1
name = "Nazi uniform" name = "Nazi uniform"
@@ -326,6 +327,7 @@
icon_state = "hgpirate" icon_state = "hgpirate"
item_state = "hgpirate" item_state = "hgpirate"
flags = FPRINT | TABLEPASS flags = FPRINT | TABLEPASS
flags_inv = HIDEJUMPSUIT
/obj/item/clothing/glasses/eyepatch /obj/item/clothing/glasses/eyepatch
name = "eyepatch" name = "eyepatch"
@@ -358,6 +360,7 @@
desc = "Perfect for winter in Siberia, da?" desc = "Perfect for winter in Siberia, da?"
icon_state = "ushankadown" icon_state = "ushankadown"
item_state = "ushankadown" item_state = "ushankadown"
flags_inv = HIDEEARS
/obj/item/clothing/head/collectable //Hat Station 13 /obj/item/clothing/head/collectable //Hat Station 13
name = "Collectable Hat" name = "Collectable Hat"
@@ -547,6 +550,7 @@ obj/item/clothing/suit/justice
icon_state = "justice" icon_state = "justice"
item_state = "justice" item_state = "justice"
flags = FPRINT | TABLEPASS flags = FPRINT | TABLEPASS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
/obj/item/clothing/under/gladiator /obj/item/clothing/under/gladiator
name = "gladiator uniform" name = "gladiator uniform"
@@ -561,4 +565,5 @@ obj/item/clothing/suit/justice
desc = "Ave, Imperator, morituri te salutant." desc = "Ave, Imperator, morituri te salutant."
icon_state = "gladiator" icon_state = "gladiator"
flags = FPRINT|TABLEPASS|SUITSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR flags = FPRINT|TABLEPASS|SUITSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR
item_state="gladiator" item_state="gladiator"
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES

View File

@@ -28,6 +28,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
allowed = list(/obj/item/weapon/tome,/obj/item/weapon/melee/cultblade) 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) armor = list(melee = 50, bullet = 30, laser = 50,energy = 20, bomb = 25, bio = 10, rad = 0)
flags_inv = HIDEJUMPSUIT
/obj/item/clothing/head/magus /obj/item/clothing/head/magus
name = "magus helm" name = "magus helm"
@@ -46,4 +47,5 @@
flags = FPRINT | TABLEPASS | ONESIZEFITSALL flags = FPRINT | TABLEPASS | ONESIZEFITSALL
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
allowed = list(/obj/item/weapon/tome,/obj/item/weapon/melee/cultblade) 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) armor = list(melee = 50, bullet = 30, laser = 50,energy = 20, bomb = 25, bio = 10, rad = 0)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT

View File

@@ -255,12 +255,14 @@ THERMAL GLASSES
src.up = !src.up src.up = !src.up
src.see_face = !src.see_face src.see_face = !src.see_face
src.flags |= HEADCOVERSEYES src.flags |= HEADCOVERSEYES
flags_inv |= HIDEMASK|HIDEEARS|HIDEEYES
icon_state = "welding" icon_state = "welding"
usr << "You flip the mask down to protect your eyes." usr << "You flip the mask down to protect your eyes."
else else
src.up = !src.up src.up = !src.up
src.see_face = !src.see_face src.see_face = !src.see_face
src.flags &= ~HEADCOVERSEYES src.flags &= ~HEADCOVERSEYES
flags_inv &= ~(HIDEMASK|HIDEEARS|HIDEEYES)
icon_state = "weldingup" icon_state = "weldingup"
usr << "You push the mask up out of your face." usr << "You push the mask up out of your face."

View File

@@ -8,6 +8,7 @@
var/on = 0 var/on = 0
color = "yellow" //Determines used sprites: hardhat[on]_[color] and hardhat[on]_[color]2 (lying down sprite) 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) 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 /obj/item/clothing/head/helmet/hardhat/orange
icon_state = "hardhat0_orange" icon_state = "hardhat0_orange"

View File

@@ -13,6 +13,7 @@ Space suit parts
item_state = "space" item_state = "space"
permeability_coefficient = 0.01 permeability_coefficient = 0.01
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) 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 /obj/item/clothing/suit/space
@@ -30,4 +31,5 @@ Space suit parts
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen)
slowdown = 3 slowdown = 3
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT

View File

@@ -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) 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 slowdown = 1.5
armor = list(melee = 65, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50) armor = list(melee = 65, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT

View File

@@ -4,21 +4,6 @@
flags = FPRINT | TABLEPASS 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 /obj/item/clothing/suit/armor/vest
@@ -43,6 +28,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
slowdown = 1 slowdown = 1
armor = list(melee = 80, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0) 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 /obj/item/clothing/suit/armor/bulletproof

View File

@@ -5,6 +5,7 @@
permeability_coefficient = 0.01 permeability_coefficient = 0.01
flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) 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 /obj/item/clothing/suit/bio_suit
name = "bio suit" name = "bio suit"
@@ -20,6 +21,7 @@
slowdown = 1.0 slowdown = 1.0
allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/pen,/obj/item/device/flashlight/pen) 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) 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 /obj/item/clothing/head/bio_hood/general

View File

@@ -4,6 +4,7 @@
icon_state = "bombsuit" icon_state = "bombsuit"
flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 100, bio = 0, rad = 0) 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 /obj/item/clothing/suit/bomb_suit
name = "bomb suit" name = "bomb suit"
@@ -18,6 +19,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
slowdown = 2 slowdown = 2
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 100, bio = 0, rad = 0) 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 /obj/item/clothing/head/bomb_hood/security

View File

@@ -11,6 +11,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS 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) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/extinguisher)
slowdown = 1.0 slowdown = 1.0
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
/obj/item/clothing/suit/fire/firefighter /obj/item/clothing/suit/fire/firefighter
@@ -50,3 +51,4 @@
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen)
slowdown = 1.5 slowdown = 1.5
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100)
flags_inv = HIDEJUMPSUIT

View File

@@ -7,6 +7,7 @@
w_class = 4//bulky item w_class = 4//bulky item
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS 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) 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 /obj/item/clothing/suit/armor/heavy
name = "heavy armor" name = "heavy armor"
@@ -17,9 +18,11 @@
gas_transfer_coefficient = 0.90 gas_transfer_coefficient = 0.90
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
slowdown = 3 slowdown = 3
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
/obj/item/clothing/suit/armor/tdome /obj/item/clothing/suit/armor/tdome
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
/obj/item/clothing/suit/armor/tdome/red /obj/item/clothing/suit/armor/tdome/red
name = "Thunderdome suit (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) 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 slowdown = 1
armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 0, rad = 0) 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 /obj/item/clothing/suit/armor/swat/officer
name = "officer jacket" name = "officer jacket"
desc = "An armored jacket used in special operations." desc = "An armored jacket used in special operations."
icon_state = "detective" icon_state = "detective"
item_state = "det_suit" item_state = "det_suit"
flags_inv = 0

View File

@@ -5,6 +5,8 @@
icon_state = "hoscap" icon_state = "hoscap"
flags = FPRINT | TABLEPASS | SUITSPACE | HEADCOVERSEYES flags = FPRINT | TABLEPASS | SUITSPACE | HEADCOVERSEYES
armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0) 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 /obj/item/clothing/head/helmet/HoS/dermal
name = "Dermal Armour Patch" name = "Dermal Armour Patch"
@@ -19,6 +21,7 @@
item_state = "hos" item_state = "hos"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS 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) 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 /obj/item/clothing/suit/armor/hos/jensen
@@ -26,3 +29,4 @@
desc = "A trenchoat augmented with a special alloy for some protection and style" desc = "A trenchoat augmented with a special alloy for some protection and style"
icon_state = "jensencoat" icon_state = "jensencoat"
item_state = "jensencoat" item_state = "jensencoat"
flags_inv = 0

View File

@@ -4,6 +4,7 @@
icon_state = "straight_jacket" icon_state = "straight_jacket"
item_state = "straight_jacket" item_state = "straight_jacket"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
/obj/item/clothing/suit/wcoat /obj/item/clothing/suit/wcoat
@@ -66,6 +67,7 @@
w_class = 3 w_class = 3
flags = FPRINT | TABLEPASS flags = FPRINT | TABLEPASS
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/toy) 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 /obj/item/clothing/suit/captunic
@@ -74,6 +76,7 @@
icon_state = "captunic" icon_state = "captunic"
item_state = "bio_suit" item_state = "bio_suit"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDEJUMPSUIT
/obj/item/clothing/suit/nun /obj/item/clothing/suit/nun
@@ -82,6 +85,7 @@
icon_state = "nun" icon_state = "nun"
item_state = "nun" item_state = "nun"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS
flags_inv = HIDESHOES|HIDEJUMPSUIT
/obj/item/clothing/suit/chaplain_hoodie /obj/item/clothing/suit/chaplain_hoodie
@@ -98,6 +102,7 @@
icon_state = "hastur" icon_state = "hastur"
item_state = "hastur" item_state = "hastur"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
/obj/item/clothing/suit/imperium_monk /obj/item/clothing/suit/imperium_monk
@@ -106,6 +111,7 @@
icon_state = "imperium_monk" icon_state = "imperium_monk"
item_state = "imperium_monk" item_state = "imperium_monk"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDESHOES|HIDEJUMPSUIT
/obj/item/clothing/suit/chickensuit /obj/item/clothing/suit/chickensuit
@@ -114,6 +120,7 @@
icon_state = "chickensuit" icon_state = "chickensuit"
item_state = "chickensuit" item_state = "chickensuit"
body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS|FEET|HEAD body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS|FEET|HEAD
flags_inv = HIDESHOES|HIDEJUMPSUIT
/obj/item/clothing/suit/monkeysuit /obj/item/clothing/suit/monkeysuit
@@ -122,6 +129,7 @@
icon_state = "monkeysuit" icon_state = "monkeysuit"
item_state = "monkeysuit" item_state = "monkeysuit"
body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS|FEET|HANDS body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS|FEET|HANDS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
/obj/item/clothing/suit/holidaypriest /obj/item/clothing/suit/holidaypriest
@@ -130,6 +138,7 @@
icon_state = "holidaypriest" icon_state = "holidaypriest"
item_state = "holidaypriest" item_state = "holidaypriest"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDEJUMPSUIT
// BubbleWrap - Nothing to see here // BubbleWrap - Nothing to see here
@@ -140,4 +149,5 @@
icon_state = "cardborg" icon_state = "cardborg"
item_state = "cardborg" item_state = "cardborg"
body_parts_covered = UPPER_TORSO|LOWER_TORSO body_parts_covered = UPPER_TORSO|LOWER_TORSO
flags_inv = HIDEJUMPSUIT

View File

@@ -37,6 +37,7 @@
body_parts_covered = FULL_BODY //It's magic, I ain't gotta explain shit. --NEO 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) armor = list(melee = 30, bullet = 20, laser = 20,energy = 20, bomb = 20, bio = 20, rad = 20)
allowed = list(/obj/item/weapon/teleportation_scroll) allowed = list(/obj/item/weapon/teleportation_scroll)
flags_inv = HIDEJUMPSUIT
/obj/item/clothing/suit/wizrobe/red /obj/item/clothing/suit/wizrobe/red

View File

@@ -62,3 +62,4 @@
flags = FPRINT | TABLEPASS | ONESIZEFITSALL flags = FPRINT | TABLEPASS | ONESIZEFITSALL
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
allowed = list(/obj/item/weapon/cigpacket,/obj/item/weapon/spacecash) allowed = list(/obj/item/weapon/cigpacket,/obj/item/weapon/spacecash)
flags_inv = HIDEJUMPSUIT

View File

@@ -15,25 +15,50 @@
t_his = "her" t_his = "her"
t_him = "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) 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]!" usr << "\red [src.name] is wearing a[src.w_uniform.blood_DNA ? " bloody " : " "] \icon[src.w_uniform] [src.w_uniform.name]!"
else else
usr << "\blue [src.name] is wearing a \icon[src.w_uniform] [src.w_uniform.name]." 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)
if (src.wear_suit.blood_DNA) 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!" usr << "\red [src.name] has a[src.wear_suit.blood_DNA ? " bloody " : " "] \icon[src.wear_suit] [src.wear_suit.name] on!"
else else
usr << "\blue [src.name] has a \icon[src.wear_suit] [src.wear_suit.name] on." 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." 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) 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!" 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 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!" usr << "\red [src.name] has a[src.belt.blood_DNA ? " bloody " : " "] \icon[src.belt] [src.belt.name] on [t_his] belt!"
else else
usr << "\blue [src.name] has a \icon[src.belt] [src.belt.name] on [t_his] belt." 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) 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]!" 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 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]." 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." 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 && !skipgloves)
if (src.gloves)
if (src.gloves.blood_DNA) if (src.gloves.blood_DNA)
usr << "\red [src.name] has bloody \icon[src.gloves] [src.gloves.name] on [t_his] hands!" usr << "\red [src.name] has bloody \icon[src.gloves] [src.gloves.name] on [t_his] hands!"
else else
@@ -73,6 +98,12 @@
else if (src.blood_DNA) else if (src.blood_DNA)
usr << "\red [src.name] has[src.blood_DNA ? " bloody " : " "] hands!" 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) if (src.back)
usr << "\blue [src.name] has a \icon[src.back] [src.back.name] on [t_his] back." usr << "\blue [src.name] has a \icon[src.back] [src.back.name] on [t_his] back."

View File

@@ -136,8 +136,18 @@
//turf-only flags //turf-only flags
#define NOJAUNT 1 #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 // bitflags for clothing parts
#define HEAD 1 #define HEAD 1

View File

@@ -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 (ie. code improvements for expandability, etc.) should not be listed here. They
should be listed in the changelog upon commit tho. Thanks. --> should be listed in the changelog upon commit tho. Thanks. -->
<b><font color='blue'>4 February 2012, World Cancer Day</font><b>
<ul>
<li><b>Erro updated:</b>
<ul>
<li>Examining humans now works a bit differently. Some external suits and helmets can hide certain pieces of clothing so you don't see them when examining. Glasses are also now displayed when examining.</li>
</ul>
</ul>
<b><font color='blue'>31 January 2012</font><b> <b><font color='blue'>31 January 2012</font><b>
<ul> <ul>
<li><b>Carn updated:</b> <li><b>Carn updated:</b>

View File

@@ -298,12 +298,12 @@
#include "code\defines\obj\window.dm" #include "code\defines\obj\window.dm"
#include "code\defines\obj\clothing\costume.dm" #include "code\defines\obj\clothing\costume.dm"
#include "code\defines\obj\clothing\ears.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\gloves.dm"
#include "code\defines\obj\clothing\head.dm" #include "code\defines\obj\clothing\head.dm"
#include "code\defines\obj\clothing\jumpsuit.dm" #include "code\defines\obj\clothing\jumpsuit.dm"
#include "code\defines\obj\clothing\mask.dm" #include "code\defines\obj\clothing\mask.dm"
#include "code\defines\obj\clothing\shoes.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\AStar.dm"
#include "code\defines\procs\captain_announce.dm" #include "code\defines\procs\captain_announce.dm"
#include "code\defines\procs\church_name.dm" #include "code\defines\procs\church_name.dm"