diff --git a/code/game/objects/items/weapons/medical.dm b/code/game/objects/items/weapons/medical.dm
index 6b03295bd14..07c90d3bdb3 100644
--- a/code/game/objects/items/weapons/medical.dm
+++ b/code/game/objects/items/weapons/medical.dm
@@ -37,6 +37,11 @@ MEDICAL
else
if(!istype(affecting, /datum/organ/external) || affecting:burn_dam <= 0)
affecting = H.get_organ("head")
+ if(affecting.destroyed && !affecting.gauzed)
+ H.visible_message("\red You do your best to stop the bleeding from [H]'s stump.", "\red [user] does their best to stem [H]'s bleeding from [H.gender == MALE? "his" : "her"] stump.", "\red You hear something like gauze being ripped.")
+ affecting.gauzed = 1
+ use(1)
+ return
for(var/datum/organ/wound/W in affecting.wounds)
if(W.bleeding || !W.healing_state)
@@ -44,12 +49,14 @@ MEDICAL
continue
if(heal_burn && W.wound_type < 2)
continue
+ if(stoppedblood)
+ stoppedblood++
+ break
if(W.wound_size > 3)
W.bleeding = 0
else
W.stopbleeding()
stoppedblood = 1
- break
if (user && stoppedblood)
if (M != user)
@@ -140,6 +147,11 @@ MEDICAL
else
if(!istype(affecting, /datum/organ/external) || affecting:burn_dam <= 0)
affecting = H.get_organ("head")
+ if(affecting.destroyed && !affecting.gauzed)
+ H.visible_message("\red You do your best to stop the bleeding from [H]'s stump.", "\red [user] does their best to stem [H]'s bleeding from [H.gender == MALE? "his" : "her"] stump.", "\red You hear something like gauze being ripped.")
+ affecting.gauzed = 1
+ use(1)
+ return
for(var/datum/organ/wound/W in affecting.wounds)
if(W.bleeding || !W.healing_state)
@@ -147,9 +159,11 @@ MEDICAL
continue
if(heal_burn && W.wound_type < 2)
continue
+ if(stoppedblood)
+ stoppedblood++
+ break
W.stopbleeding()
stoppedblood = 1
- break
if (user && stoppedblood)
if (M != user)
diff --git a/code/modules/clothing/costume.dm b/code/modules/clothing/costume.dm
new file mode 100644
index 00000000000..2c589dc2def
--- /dev/null
+++ b/code/modules/clothing/costume.dm
@@ -0,0 +1,168 @@
+//Costume spawner
+
+/obj/effect/landmark/costume/New() //costume spawner, selects a random subclass and disappears
+
+ var/list/options = typesof(/obj/effect/landmark/costume)
+ var/PICK= options[rand(1,options.len)]
+ new PICK(src.loc)
+ del(src)
+
+//SUBCLASSES. Spawn a bunch of items and disappear likewise
+/obj/effect/landmark/costume/chicken/New()
+ new /obj/item/clothing/suit/chickensuit(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/justice/New()
+ new /obj/item/clothing/suit/justice(src.loc)
+ var/CHOICE = pick( /obj/item/clothing/head/justice , /obj/item/clothing/head/justice/blue , /obj/item/clothing/head/justice/yellow , /obj/item/clothing/head/justice/green , /obj/item/clothing/head/justice/pink )
+ new CHOICE(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/madscientist/New()
+ new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc)
+ new /obj/item/clothing/head/flatcap(src.loc)
+ new /obj/item/clothing/suit/storage/labcoat/mad(src.loc)
+ new /obj/item/clothing/glasses/gglasses(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/elpresidente/New()
+ new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc)
+ new /obj/item/clothing/head/flatcap(src.loc)
+ new /obj/item/clothing/mask/cigarette/cigar/havanian(src.loc)
+ new /obj/item/clothing/shoes/jackboots(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/nyangirl/New()
+ new /obj/item/clothing/under/schoolgirl(src.loc)
+ new /obj/item/clothing/head/kitty(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/maid/New()
+ new /obj/item/clothing/under/blackskirt(src.loc)
+ var/CHOICE = pick( /obj/item/clothing/head/beret , /obj/item/clothing/head/rabbitears )
+ new CHOICE(src.loc)
+ new /obj/item/clothing/glasses/blindfold(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/butler/New()
+ new /obj/item/clothing/suit/storage/wcoat(src.loc)
+ new /obj/item/clothing/under/suit_jacket(src.loc)
+ new /obj/item/clothing/head/that(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/scratch/New()
+ new /obj/item/clothing/gloves/white(src.loc)
+ new /obj/item/clothing/shoes/white(src.loc)
+ new /obj/item/clothing/under/scratch(src.loc)
+// if (prob(30))
+// new /obj/item/clothing/head/helmet/cueball(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/highlander/New()
+ new /obj/item/clothing/under/kilt(src.loc)
+ new /obj/item/clothing/head/beret(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/prig/New()
+ new /obj/item/clothing/suit/storage/wcoat(src.loc)
+ new /obj/item/clothing/glasses/monocle(src.loc)
+ var/CHOICE= pick( /obj/item/clothing/head/bowlerhat, /obj/item/clothing/head/that)
+ new CHOICE(src.loc)
+ new /obj/item/clothing/shoes/black(src.loc)
+ new /obj/item/weapon/cane(src.loc)
+ new /obj/item/clothing/under/sl_suit(src.loc)
+ new /obj/item/clothing/mask/gas/fakemoustache(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/plaguedoctor/New()
+ new /obj/item/clothing/suit/bio_suit/plaguedoctorsuit(src.loc)
+ new /obj/item/clothing/head/plaguedoctorhat(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/nightowl/New()
+ new /obj/item/clothing/under/owl(src.loc)
+ new /obj/item/clothing/mask/owl_mask(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/waiter/New()
+ new /obj/item/clothing/under/waiter(src.loc)
+ var/CHOICE= pick( /obj/item/clothing/head/kitty, /obj/item/clothing/head/rabbitears)
+ new CHOICE(src.loc)
+ new /obj/item/clothing/suit/storage/apron(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/pirate/New()
+ new /obj/item/clothing/under/pirate(src.loc)
+ new /obj/item/clothing/suit/pirate(src.loc)
+ var/CHOICE = pick( /obj/item/clothing/head/pirate , /obj/item/clothing/head/bandana )
+ new CHOICE(src.loc)
+ new /obj/item/clothing/glasses/eyepatch(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/commie/New()
+ new /obj/item/clothing/under/soviet(src.loc)
+ new /obj/item/clothing/head/ushanka(src.loc)
+ del(src)
+/*
+/obj/effect/landmark/costume/nurse/New()
+ new /obj/item/clothing/under/rank/nursesuit(src.loc)
+ new /obj/item/clothing/head/nursehat(src.loc)
+ new /obj/item/clothing/glasses/regular(src.loc)
+ new /obj/item/clothing/gloves/latex(src.loc)
+ new /obj/item/clothing/mask/surgical(src.loc)
+ del(src)*/
+
+
+/obj/effect/landmark/costume/imperium_monk/New()
+ new /obj/item/clothing/suit/imperium_monk(src.loc)
+ if (prob(25))
+ new /obj/item/clothing/mask/gas/cyborg(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/holiday_priest/New()
+ new /obj/item/clothing/suit/holidaypriest(src.loc)
+ del(src)
+
+/*
+/obj/effect/landmark/costume/spiderman/New()
+ new /obj/item/clothing/under/spiderman(src.loc)
+ new /obj/item/clothing/mask/spiderman(src.loc)
+ del(src)*/
+
+/obj/effect/landmark/costume/marisawizard/New()
+ new /obj/item/clothing/head/wizard/marisa(src.loc)
+ new/obj/item/clothing/suit/wizrobe/marisa(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/fakewizard/New()
+ new /obj/item/clothing/suit/wizrobe/fake(src.loc)
+ new /obj/item/clothing/head/wizard/fake(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/sexyclown/New()
+ new /obj/item/clothing/mask/gas/sexyclown(src.loc)
+ new /obj/item/clothing/under/sexyclown(src.loc)
+ del(src)
+
+/obj/effect/landmark/costume/sexymime/New()
+ new /obj/item/clothing/mask/gas/sexymime(src.loc)
+ new /obj/item/clothing/under/sexymime(src.loc)
+ del(src)
+
+
+/*
+/obj/effect/landmark/costume/cyborg/New()
+ new /obj/item/clothing/mask/gas/cyborg(src.loc)
+ new /obj/item/clothing/shoes/cyborg(src.loc)
+ new /obj/item/clothing/suit/cyborg_suit(src.loc)
+ new /obj/item/clothing/gloves/cyborg(src.loc)
+
+ var/obj/item/weapon/card/id/W = new /obj/item/weapon/card/id(src.loc)
+ var/name = "Cyborg"
+ name += " [pick(rand(1, 999))]"
+ W.name = "Fake Cyborg Card"
+ W.access = list(access_theatre)
+ W.assignment = "Kill all humans! Beep. Boop."
+ W.registered = name
+ del(src)
+ */
\ No newline at end of file
diff --git a/code/modules/clothing/ears.dm b/code/modules/clothing/ears.dm
new file mode 100644
index 00000000000..05493ff2e10
--- /dev/null
+++ b/code/modules/clothing/ears.dm
@@ -0,0 +1,62 @@
+// EARS
+
+/obj/item/clothing/ears
+ name = "ears"
+ w_class = 1.0
+ throwforce = 2
+ var/twoeared = 0
+
+/obj/item/clothing/ears/attack_hand(mob/user as mob)
+ if (!user) return
+
+ if (src.loc != user || !istype(user,/mob/living/carbon/human))
+ ..()
+ return
+ var/mob/living/carbon/human/H = user
+ if(H.l_ear != src && H.r_ear != src)
+ ..()
+ return
+
+ if(!canremove)
+ return
+
+ var/obj/item/clothing/ears/O
+ if(twoeared)
+ O = (H.l_ear == src ? H.r_ear : H.l_ear)
+ user.u_equip(O)
+ if(!istype(src,/obj/item/clothing/ears/offear))
+ del(O)
+ O = src
+ else
+ O = src
+
+ user.u_equip(src)
+
+ if (O)
+ user.put_in_hand(O)
+ O.add_fingerprint(user)
+
+ if(istype(src,/obj/item/clothing/ears/offear))
+ del(src)
+
+/obj/item/clothing/ears/offear
+ name = "Other ear"
+ w_class = 5.0
+ icon = 'screen1_old.dmi'
+ icon_state = "block"
+ twoeared = 1
+
+ New(var/obj/O)
+ name = O.name
+ desc = O.desc
+ icon = O.icon
+ icon_state = O.icon_state
+ dir = O.dir
+
+/obj/item/clothing/ears/earmuffs
+ name = "earmuffs"
+ desc = "Protects your hearing from loud noises, and quiet ones as well."
+ icon_state = "earmuffs"
+ protective_temperature = 500
+ item_state = "earmuffs"
+ twoeared = 1
\ No newline at end of file
diff --git a/code/modules/clothing/gimmick.dm b/code/modules/clothing/gimmick.dm
new file mode 100644
index 00000000000..28d2ce1bf53
--- /dev/null
+++ b/code/modules/clothing/gimmick.dm
@@ -0,0 +1,679 @@
+/obj/item/clothing/head/rabbitears
+ name = "Rabbit Ears"
+ desc = "Wearing these makes you looks useless, and only good for your sex appeal."
+ icon_state = "bunny"
+ flags = FPRINT | TABLEPASS
+
+/obj/item/clothing/head/kitty
+ name = "Kitty Ears"
+ desc = "A pair of kitty ears. Meow!"
+ icon_state = "kitty"
+ flags = FPRINT | TABLEPASS
+ var/icon/mob
+ var/icon/mob2
+
+ update_icon(var/mob/living/carbon/human/user)
+ if(!istype(user)) return
+ mob = new/icon("icon" = 'head.dmi', "icon_state" = "kitty")
+ mob2 = new/icon("icon" = 'head.dmi', "icon_state" = "kitty2")
+ mob.Blend(rgb(user.r_hair, user.g_hair, user.b_hair), ICON_ADD)
+ mob2.Blend(rgb(user.r_hair, user.g_hair, user.b_hair), ICON_ADD)
+
+ var/icon/earbit = new/icon("icon" = 'head.dmi', "icon_state" = "kittyinner")
+ var/icon/earbit2 = new/icon("icon" = 'head.dmi', "icon_state" = "kittyinner2")
+ mob.Blend(earbit, ICON_OVERLAY)
+ mob2.Blend(earbit2, ICON_OVERLAY)
+
+/obj/item/clothing/shoes/red
+ name = "red shoes"
+ desc = "Stylish red shoes."
+ icon_state = "red"
+ color = "red"
+
+/obj/item/clothing/shoes/rainbow
+ name = "rainbow shoes"
+ desc = "Very gay shoes."
+ icon_state = "rain_bow"
+ color = "rainbow"
+
+/obj/item/clothing/mask/owl_mask
+ name = "Owl mask"
+ desc = "Twoooo!"
+ icon_state = "owl"
+
+/obj/item/clothing/under/owl
+ name = "Owl uniform"
+ desc = "A jumpsuit with owl wings. Photorealistic owl feathers! Twooooo!"
+ icon_state = "owl"
+ color = "owl"
+
+/obj/item/clothing/gloves/cyborg
+ desc = "beep boop borp"
+ name = "cyborg gloves"
+ icon_state = "black"
+ item_state = "r_hands"
+ siemens_coefficient = 1
+
+/obj/item/clothing/mask/gas/cyborg
+ name = "cyborg visor"
+ desc = "Beep boop"
+ icon_state = "death"
+
+/obj/item/clothing/shoes/cyborg
+ name = "cyborg boots"
+ desc = "Shoes for a cyborg costume"
+ icon_state = "boots"
+
+/obj/item/clothing/suit/cyborg_suit
+ name = "cyborg suit"
+ desc = "Suit for a cyborg costume."
+ icon_state = "death"
+ item_state = "death"
+ flags = FPRINT | TABLEPASS | CONDUCT
+ fire_resist = T0C+5200
+
+/*/obj/item/clothing/under/nazi1
+ name = "Nazi uniform"
+ desc = "SIEG HEIL!"
+ icon_state = "nazi"
+ color = "nazi1"*/ //no direction sprites
+
+/obj/item/clothing/suit/greatcoat
+ name = "great coat"
+ desc = "A Nazi great coat."
+ icon_state = "nazi"
+ item_state = "nazi"
+ flags = FPRINT | TABLEPASS
+
+/obj/item/clothing/under/johnny
+ name = "Johnny~~"
+ desc = "Johnny~~"
+ icon_state = "johnny"
+ color = "johnny"
+
+/obj/item/clothing/suit/johnny_coat
+ name = "Johnny~~"
+ desc = "Johnny~~"
+ icon_state = "johnny"
+ item_state = "johnny"
+ flags = FPRINT | TABLEPASS
+
+
+/obj/item/clothing/under/rainbow
+ name = "rainbow"
+ desc = "rainbow"
+ icon_state = "rainbow"
+ item_state = "rainbow"
+ color = "rainbow"
+
+/obj/item/clothing/under/cloud
+ name = "cloud"
+ desc = "cloud"
+ icon_state = "cloud"
+ color = "cloud"
+
+/*/obj/item/clothing/under/yay
+ name = "yay"
+ desc = "Yay!"
+ icon_state = "yay"
+ color = "yay"*/ // no sprite --errorage
+
+// UNUSED COLORS
+
+/obj/item/clothing/under/psyche
+ name = "psychedelic"
+ desc = "Groovy!"
+ icon_state = "psyche"
+ color = "psyche"
+
+/*
+/obj/item/clothing/under/maroon
+ name = "maroon"
+ desc = "maroon"
+ icon_state = "maroon"
+ color = "maroon"*/ // no sprite -- errorage
+
+/obj/item/clothing/under/lightblue
+ name = "lightblue"
+ desc = "lightblue"
+ icon_state = "lightblue"
+ color = "lightblue"
+
+/obj/item/clothing/under/aqua
+ name = "aqua"
+ desc = "aqua"
+ icon_state = "aqua"
+ color = "aqua"
+
+/obj/item/clothing/under/purple
+ name = "purple"
+ desc = "purple"
+ icon_state = "purple"
+ item_state = "p_suit"
+ color = "purple"
+
+/obj/item/clothing/under/lightpurple
+ name = "lightpurple"
+ desc = "lightpurple"
+ icon_state = "lightpurple"
+ color = "lightpurple"
+
+/obj/item/clothing/under/lightgreen
+ name = "lightgreen"
+ desc = "lightgreen"
+ icon_state = "lightgreen"
+ color = "lightgreen"
+
+/obj/item/clothing/under/lightblue
+ name = "lightblue"
+ desc = "lightblue"
+ icon_state = "lightblue"
+ color = "lightblue"
+
+/obj/item/clothing/under/lightbrown
+ name = "lightbrown"
+ desc = "lightbrown"
+ icon_state = "lightbrown"
+ color = "lightbrown"
+
+/obj/item/clothing/under/brown
+ name = "brown"
+ desc = "brown"
+ icon_state = "brown"
+ color = "brown"
+
+/obj/item/clothing/under/yellowgreen
+ name = "yellowgreen"
+ desc = "yellowgreen"
+ icon_state = "yellowgreen"
+ color = "yellowgreen"
+
+/obj/item/clothing/under/darkblue
+ name = "darkblue"
+ desc = "darkblue"
+ icon_state = "darkblue"
+ color = "darkblue"
+
+/obj/item/clothing/under/lightred
+ name = "lightred"
+ desc = "lightred"
+ icon_state = "lightred"
+ color = "lightred"
+
+/obj/item/clothing/under/darkred
+ name = "darkred"
+ desc = "darkred"
+ icon_state = "darkred"
+ color = "darkred"
+
+// STEAMPUNK STATION
+
+/obj/item/clothing/glasses/monocle
+ name = "monocle"
+ desc = "Such a dapper eyepiece!"
+ icon_state = "monocle"
+ item_state = "headset" // lol
+
+/obj/item/clothing/under/gimmick/rank/captain/suit
+ name = "Captain's Suit"
+ desc = "A green suit and yellow necktie. Exemplifies authority."
+ icon_state = "green_suit"
+ item_state = "dg_suit"
+ color = "green_suit"
+
+/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit
+ name = "Head of Personnel's Suit"
+ desc = "A teal suit and yellow necktie. An authoritative yet tacky ensemble."
+ icon_state = "teal_suit"
+ item_state = "g_suit"
+ color = "teal_suit"
+
+/obj/item/clothing/under/suit_jacket
+ name = "Black Suit"
+ desc = "A black suit and red tie. Very formal."
+ icon_state = "black_suit"
+ item_state = "bl_suit"
+ color = "black_suit"
+
+/obj/item/clothing/under/suit_jacket/really_black
+ name = "Executive Suit"
+ desc = "A formal black suit and red tie, intended for the station's finest."
+ icon_state = "really_black_suit"
+ item_state = "bl_suit"
+ color = "black_suit"
+
+/obj/item/clothing/under/suit_jacket/red
+ name = "Red Suit"
+ desc = "A red suit and blue tie. Somewhat formal."
+ icon_state = "red_suit"
+ item_state = "r_suit"
+ color = "red_suit"
+
+/obj/item/clothing/under/blackskirt
+ name = "Black skirt"
+ desc = "A black skirt, very fancy!"
+ icon_state = "blackskirt"
+ color = "blackskirt"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+
+/obj/item/clothing/under/schoolgirl
+ name = "schoolgirl uniform"
+ desc = "It's just like one of my Japanese animes!"
+ icon_state = "schoolgirl"
+ item_state = "schoolgirl"
+ color = "schoolgirl"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+
+/obj/item/clothing/under/gimmick/rank/police
+ name = "Police Uniform"
+ desc = "Move along, nothing to see here."
+ icon_state = "police"
+ item_state = "b_suit"
+ color = "police"
+
+/obj/item/clothing/head/flatcap
+ name = "flat cap"
+ desc = "A working man's cap."
+ icon_state = "flat_cap"
+ item_state = "detective"
+
+/obj/item/clothing/under/overalls
+ name = "Laborer's Overalls"
+ desc = "A set of durable overalls for getting the job done."
+ icon_state = "overalls"
+ item_state = "lb_suit"
+ color = "overalls"
+
+/obj/item/weapon/melee/classic_baton
+ name = "police baton"
+ desc = "A wooden truncheon for beating criminal scum."
+ icon = 'weapons.dmi'
+ icon_state = "baton"
+ item_state = "classic_baton"
+ flags = FPRINT | ONBELT | TABLEPASS
+ force = 10
+
+/obj/item/clothing/under/pirate
+ name = "Pirate Outfit"
+ desc = "Yarr."
+ icon_state = "pirate"
+ item_state = "pirate"
+ color = "pirate"
+
+/obj/item/clothing/head/pirate
+ name = "pirate hat"
+ desc = "Yarr."
+ icon_state = "pirate"
+ item_state = "pirate"
+
+/obj/item/clothing/head/hgpiratecap
+ name = "pirate hat"
+ desc = "Yarr."
+ icon_state = "hgpiratecap"
+ item_state = "hgpiratecap"
+
+/obj/item/clothing/suit/pirate
+ name = "pirate coat"
+ desc = "Yarr."
+ icon_state = "pirate"
+ item_state = "pirate"
+ flags = FPRINT | TABLEPASS
+
+
+/obj/item/clothing/suit/hgpirate
+ name = "pirate captain coat"
+ desc = "Yarr."
+ icon_state = "hgpirate"
+ item_state = "hgpirate"
+ flags = FPRINT | TABLEPASS
+
+/obj/item/clothing/glasses/eyepatch
+ name = "eyepatch"
+ desc = "Yarr."
+ icon_state = "eyepatch"
+ item_state = "eyepatch"
+
+/obj/item/clothing/head/bandana
+ name = "pirate bandana"
+ desc = "Yarr."
+ icon_state = "bandana"
+ item_state = "bandana"
+
+/obj/item/clothing/under/soviet
+ name = "soviet uniform"
+ desc = "For the Motherland!"
+ icon_state = "soviet"
+ item_state = "soviet"
+ color = "soviet"
+
+/obj/item/clothing/under/redcoat
+ name = "redcoat uniform"
+ desc = "Looks old."
+ icon_state = "redcoat"
+ item_state = "redcoat"
+ color = "redcoat"
+
+/obj/item/clothing/head/ushanka
+ name = "ushanka"
+ desc = "Perfect for winter in Siberia, da?"
+ icon_state = "ushankadown"
+ item_state = "ushankadown"
+
+/obj/item/clothing/head/collectable //Hat Station 13
+ name = "Collectable Hat"
+ desc = "A rare collectable hat."
+
+/obj/item/clothing/head/collectable/petehat
+ name = "Ultra Rare! Pete's Hat!"
+ desc = "It smells faintly of plasma"
+ icon_state = "petehat"
+
+/obj/item/clothing/head/collectable/metroid
+ name = "Collectable Metroid Cap!"
+ desc = "It just latches right in place!"
+ icon_state = "metroid"
+
+/obj/item/clothing/head/collectable/xenom
+ name = "Collectable Xenomorph Helmet!"
+ desc = "Hiss hiss hiss!"
+ icon_state = "xenom"
+
+/obj/item/clothing/head/collectable/chef
+ name = "Collectable Chef's Hat"
+ desc = "A rare Chef's Hat meant for hat collectors!"
+ icon_state = "chef"
+ item_state = "chef"
+
+/obj/item/clothing/head/collectable/paper
+ name = "Collectable Paper Hat"
+ desc = "What looks like an ordinary paper hat, is actually a rare and valuable collector's edition paper hat. Keep away from water, fire and Librarians."
+ icon_state = "paper"
+
+/obj/item/clothing/head/collectable/tophat
+ name = "Collectable Top Hat"
+ desc = "A top hat worn by only the most prestigious hat collectors."
+ icon_state = "tophat"
+ item_state = "that"
+
+/obj/item/clothing/head/collectable/captain
+ name = "Collectable Captain's Hat"
+ desc = "A Collectable Hat that'll make you look just like a real comdom!"
+ icon_state = "captain"
+ item_state = "caphat"
+
+/obj/item/clothing/head/collectable/police
+ name = "Collectable Police Officer's Hat"
+ desc = "A Collectable Police Officer's Hat. This hat emphasizes that you are THE LAW."
+ icon_state = "policehelm"
+
+/obj/item/clothing/head/collectable/beret
+ name = "Collectable Beret"
+ desc = "A Collectable red beret. It smells faintly of garlic."
+ icon_state = "beret"
+
+/obj/item/clothing/head/collectable/welding
+ name = "Collectable Welding Helmet"
+ desc = "A Collectable Welding Helmet. Now with 80% less lead! Not for actual welding. Any welding done while wearing this Helmet is done so at the owner's own risk!"
+ icon_state = "welding"
+ item_state = "welding"
+
+/obj/item/clothing/head/collectable/slime
+ name = "Collectable Slime Hat"
+ desc = "Just like a real Brain Slug!"
+ icon_state = "headslime"
+ item_state = "headslime"
+
+/obj/item/clothing/head/collectable/flatcap
+ name = "Collectable Flat Cap"
+ desc = "A Collectible farmer's Flat Cap!"
+ icon_state = "flat_cap"
+ item_state = "detective"
+
+/obj/item/clothing/head/collectable/pirate
+ name = "Collectable Pirate Hat"
+ desc = "You'd make a great Dread Syndie Roberts!"
+ icon_state = "pirate"
+ item_state = "pirate"
+
+/obj/item/clothing/head/collectable/kitty
+ name = "Collectable Kitty Ears"
+ desc = "The fur feels.....a bit too realistic."
+ icon_state = "kitty"
+ item_state = "kitty"
+
+/obj/item/clothing/head/collectable/rabbitears
+ name = "Collectable Rabbit Ears"
+ desc = "Not as lucky as the feet!"
+ icon_state = "bunny"
+ item_state = "bunny"
+
+/obj/item/clothing/head/collectable/wizard
+ name = "Collectable Wizard's Hat"
+ desc = "NOTE:Any magical powers gained from wearing this hat are purely coincidental."
+ icon_state = "wizard"
+
+/obj/item/clothing/head/collectable/hardhat
+ name = "Collectable Hard Hat"
+ desc = "WARNING! Offers no real protection, or luminosity, but it is damn fancy!"
+ icon_state = "hardhat0_yellow"
+ item_state = "hardhat0_yellow"
+
+/obj/item/clothing/head/collectable/HoS
+ name = "Collectable HoS Hat"
+ desc = "Now you can beat prisoners, set silly sentences and arrest for no reason too!"
+ icon_state = "hoscap"
+
+/obj/item/clothing/head/collectable/thunderdome
+ name = "Collectable Thunderdome helmet"
+ desc = "Go Red! I mean Green! I mean Red! No Green!"
+ icon_state = "thunderdome"
+ item_state = "thunderdome"
+
+/obj/item/clothing/head/collectable/swat
+ name = "Collectable SWAT Helmet"
+ desc = "Now you can be in the Deathsquad too!"
+ icon_state = "swat"
+ item_state = "swat"
+
+//obj/item/clothing/head/collectable
+
+
+
+/* no left/right sprites
+/obj/item/clothing/under/mario
+ name = "Mario costume"
+ desc = "Worn by Italian plumbers everywhere. Probably."
+ icon_state = "mario"
+ item_state = "mario"
+ color = "mario"
+
+/obj/item/clothing/under/luigi
+ name = "Mario costume"
+ desc = "Player two. Couldn't you get the first controller?"
+ icon_state = "luigi"
+ item_state = "luigi"
+ color = "luigi"
+*/
+
+/obj/item/clothing/under/kilt
+ name = "kilt"
+ desc = "Includes shoes and plaid."
+ icon_state = "kilt"
+ item_state = "kilt"
+ color = "kilt"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|FEET
+
+/obj/item/clothing/under/sexymime
+ name = "Sexy mime outfit"
+ desc = "The only time when you DON'T enjoy looking at someone's rack."
+ icon_state = "sexymime"
+ item_state = "sexymime"
+ color = "sexymime"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO
+
+/obj/item/clothing/head/bowler
+ name = "bowler-hat"
+ desc = "Gentleman, elite aboard!"
+ icon_state = "bowler"
+ item_state = "bowler"
+ flags = FPRINT | TABLEPASS
+
+/obj/item/clothing/head/justice
+ name = "Justice Hat"
+ desc = "Fight for what's righteous!"
+ icon_state = "justicered"
+ item_state = "justicered"
+ flags = FPRINT|TABLEPASS|SUITSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR
+
+/obj/item/clothing/head/justice/blue
+ icon_state = "justiceblue"
+ item_state = "justiceblue"
+
+/obj/item/clothing/head/justice/yellow
+ icon_state = "justiceyellow"
+ item_state = "justiceyellow"
+
+/obj/item/clothing/head/justice/green
+ icon_state = "justicegreen"
+ item_state = "justicegreen"
+
+/obj/item/clothing/head/justice/pink
+ icon_state = "justicepink"
+ item_state = "justicepink"
+
+obj/item/clothing/suit/justice
+ name = "Justice Suit"
+ desc = "This pretty much looks ridiculous."
+ icon_state = "justice"
+ item_state = "justice"
+ flags = FPRINT | TABLEPASS
+
+//stylish new hats
+
+/obj/item/clothing/head/bowlerhat
+ name = "Bowler hat"
+ icon_state = "bowler_hat"
+ item_state = "bowler_hat"
+ desc = "For the gentleman of distinction."
+ flags = FPRINT|TABLEPASS
+
+/obj/item/clothing/head/beaverhat
+ name = "Beaver hat"
+ icon_state = "beaver_hat"
+ item_state = "beaver_hat"
+ desc = "Soft felt make this hat both comfortable and elegant."
+ flags = FPRINT|TABLEPASS
+
+/obj/item/clothing/head/boaterhat
+ name = "Boater hat"
+ icon_state = "boater_hat"
+ item_state = "boater_hat"
+ desc = "The ultimate in summer fashion."
+ flags = FPRINT|TABLEPASS
+
+/obj/item/clothing/head/fedora
+ name = "Fedora"
+ icon_state = "fedora"
+ item_state = "fedora"
+ desc = "A sharp, stylish hat."
+ flags = FPRINT|TABLEPASS
+
+/obj/item/clothing/head/feathertrilby
+ name = "Feather trilby"
+ icon_state = "feather_trilby"
+ item_state = "feather_trilby"
+ desc = "A sharp, stylish hat with a feather."
+ flags = FPRINT|TABLEPASS
+
+//pyjamas
+
+/obj/item/clothing/under/bluepyjamas
+ name = "Blue pyjamas"
+ desc = "Slightly old-fashioned sleepwear."
+ icon_state = "blue_pyjamas"
+ item_state = "blue_pyjamas"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
+
+/obj/item/clothing/under/redpyjamas
+ name = "Red pyjamas"
+ desc = "Slightly old-fashioned sleepwear."
+ icon_state = "red_pyjamas"
+ item_state = "red_pyjamas"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
+
+//scarves (fit in in mask slot)
+
+/obj/item/clothing/mask/bluescarf
+ name = "Blue neck scarf"
+ desc = "A blue neck scarf."
+ icon_state = "blueneckscarf"
+ item_state = "blueneckscarf"
+ flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH
+ w_class = 2
+ gas_transfer_coefficient = 0.90
+
+/obj/item/clothing/mask/redscarf
+ name = "Red scarf"
+ desc = "A red and white checkered neck scarf."
+ icon_state = "redwhite_scarf"
+ item_state = "redwhite_scarf"
+ flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH
+ w_class = 2
+ gas_transfer_coefficient = 0.90
+
+/obj/item/clothing/mask/greenscarf
+ name = "Green scarf"
+ desc = "A green neck scarf."
+ icon_state = "green_scarf"
+ item_state = "green_scarf"
+ flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH
+ w_class = 2
+ gas_transfer_coefficient = 0.90
+
+/obj/item/clothing/mask/ninjascarf
+ name = "Ninja scarf"
+ desc = "A stealthy, dark scarf."
+ icon_state = "ninja_scarf"
+ item_state = "ninja_scarf"
+ flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH
+ w_class = 2
+ gas_transfer_coefficient = 0.90
+
+//shoes
+
+/obj/item/clothing/shoes/laceups
+ name = "Laceup shoes"
+ desc = "Stylish black leather."
+ icon_state = "laceups"
+ item_state = "laceups"
+ color = "black"
+
+//suits
+
+/obj/item/clothing/suit/leathercoat
+ name = "Leather Coat"
+ desc = "A long, thick black leather coat."
+ icon_state = "leathercoat"
+ item_state = "leathercoat"
+ flags = FPRINT | TABLEPASS
+
+/obj/item/clothing/suit/browncoat
+ name = "Brown Leather Coat"
+ desc = "A long, brown leather coat."
+ icon_state = "browncoat"
+ item_state = "browncoat"
+ flags = FPRINT | TABLEPASS
+
+/obj/item/clothing/suit/neocoat
+ name = "Black coat"
+ desc = "A flowing, black coat."
+ icon_state = "neocoat"
+ item_state = "neocoat"
+ flags = FPRINT | TABLEPASS
+
+/obj/item/clothing/suit/creamsuit
+ name = "Cream suit"
+ desc = "A cream coloured, genteel suit."
+ icon_state = "creamsuit"
+ item_state = "creamsuit"
+ flags = FPRINT | TABLEPASS
diff --git a/code/modules/clothing/gloves.dm b/code/modules/clothing/gloves.dm
new file mode 100644
index 00000000000..153b1945fb8
--- /dev/null
+++ b/code/modules/clothing/gloves.dm
@@ -0,0 +1,226 @@
+// NO GLOVES NO LOVES
+
+/obj/item/clothing/gloves
+ name = "gloves"
+ w_class = 2.0
+ icon = 'gloves.dmi'
+ protective_temperature = 400
+ heat_transfer_coefficient = 0.25
+ siemens_coefficient = 0.50
+ var/siemens_coefficient_archived = 0
+ var/wired = 0
+ var/obj/item/weapon/cell/cell = 0
+ body_parts_covered = HANDS
+
+/obj/item/clothing/gloves/white
+ name = "White Gloves"
+ desc = "These look pretty fancy."
+ icon_state = "latex"
+ item_state = "lgloves"
+ color="mime"
+
+ redcoat
+ color = "redcoat" //Exists for washing machines. Is not different from white gloves in any way.
+
+/obj/item/clothing/gloves/black
+ desc = "These gloves are fire-resistant."
+ name = "Black Gloves"
+ icon_state = "black"
+ item_state = "bgloves"
+ color="brown"
+ protective_temperature = 1500
+ heat_transfer_coefficient = 0.01
+
+ hos
+ color = "hosred" //Exists for washing machines. Is not different from black gloves in any way.
+
+ ce
+ color = "chief" //Exists for washing machines. Is not different from black gloves in any way.
+
+/obj/item/clothing/gloves/detective
+ desc = "Made of well worn leather. These gloves are comfortable, useful, and stylish!"
+ name = "The Detective's Gloves"
+ icon_state = "black"
+ item_state = "bgloves"
+ color="brown"
+ siemens_coefficient = 0.30
+ protective_temperature = 1100
+
+/obj/item/clothing/gloves/hos
+ desc = "These gloves belong to the man in charge of the guns."
+ name = "Head of Security's Gloves"
+ icon_state = "black"
+ item_state = "bgloves"
+ color="brown"
+ siemens_coefficient = 0.30
+ protective_temperature = 1100
+
+/obj/item/clothing/gloves/cyborg
+ desc = "Beep. Boop. Beep."
+ name = "cyborg gloves"
+ icon_state = "black"
+ item_state = "r_hands"
+ siemens_coefficient = 1.0
+
+/obj/item/clothing/gloves/latex
+ name = "Latex Gloves"
+ desc = "Sterile latex gloves."
+ icon_state = "latex"
+ item_state = "lgloves"
+ siemens_coefficient = 0.30
+ permeability_coefficient = 0.01
+ protective_temperature = 310
+ heat_transfer_coefficient = 0.90
+ color="white"
+
+ cmo
+ color = "medical" //Exists for washing machines. Is not different from latex gloves in any way.
+
+/obj/item/clothing/gloves/swat
+ desc = "These tactical gloves are somewhat fire and impact-resistant."
+ name = "SWAT Gloves"
+ icon_state = "black"
+ item_state = "swat_gl"
+ siemens_coefficient = 0
+ permeability_coefficient = 0.05
+ protective_temperature = 1100
+ heat_transfer_coefficient = 0.01
+
+/obj/item/clothing/gloves/combat //Combined effect of SWAT gloves and insulated gloves
+ desc = "These tactical gloves are somewhat fire and impact resistant."
+ name = "combat gloves"
+ icon_state = "black"
+ item_state = "swat_gl"
+ siemens_coefficient = 0
+ permeability_coefficient = 0.05
+ protective_temperature = 1100
+ heat_transfer_coefficient = 0.01
+
+/obj/item/clothing/gloves/space_ninja
+ desc = "These nano-enhanced gloves insulate from electricity and provide fire resistance."
+ name = "ninja gloves"
+ icon_state = "s-ninja"
+ item_state = "s-ninja"
+ siemens_coefficient = 0
+ protective_temperature = 1100
+ heat_transfer_coefficient = 0.05
+ var/draining = 0
+ var/candrain = 0
+ var/mindrain = 200
+ var/maxdrain = 400
+
+//BEEP BEEP IT'S THE COMMENT BRIGADE -Pete (gloves overhaul)
+/*
+/obj/item/clothing/gloves/stungloves/
+ name = "Stungloves"
+ desc = "These gloves are electrically charged."
+ icon_state = "yellow"
+ item_state = "ygloves"
+ siemens_coefficient = 0.30
+ elecgen = 1
+ uses = 10
+*/
+
+/obj/item/clothing/gloves/yellow
+ desc = "These gloves will protect the wearer from electric shock."
+ name = "insulated gloves"
+ icon_state = "yellow"
+ item_state = "ygloves"
+ siemens_coefficient = 0
+ permeability_coefficient = 0.05
+ protective_temperature = 1000
+ heat_transfer_coefficient = 0.01
+ color="yellow"
+
+/obj/item/clothing/gloves/captain
+ desc = "Regal blue gloves, with a nice gold trim. Swanky."
+ name = "Captain Gloves"
+ icon_state = "captain"
+ item_state = "egloves"
+ color = "captain"
+
+/obj/item/clothing/gloves/botanic_leather
+ desc = "These leather gloves protect against thorns, barbs, prickles, spikes and other harmful objects of floral origin."
+ name = "botanic leather gloves"
+ icon_state = "leather"
+ item_state = "ggloves"
+ siemens_coefficient = 0.50
+ permeability_coefficient = 0.9
+ protective_temperature = 400
+ heat_transfer_coefficient = 0.70
+
+/obj/item/clothing/gloves/orange
+ name = "Orange Gloves"
+ desc = "A pair of gloves. They don't look special in any way."
+ icon_state = "orange"
+ item_state = "orangegloves"
+ color="orange"
+
+/obj/item/clothing/gloves/red
+ desc = "Heavily padded heavy-duty red gloves."
+ name = "red gloves"
+ icon_state = "red"
+ item_state = "redgloves"
+ siemens_coefficient = 0.30
+ protective_temperature = 1100
+
+/obj/item/clothing/gloves/rainbow
+ name = "Rainbow Gloves"
+ desc = "A pair of gloves. They don't look special in any way."
+ icon_state = "rainbow"
+ item_state = "rainbowgloves"
+ color = "rainbow"
+
+ clown
+ color = "clown"
+
+/obj/item/clothing/gloves/blue
+ name = "Blue Gloves"
+ desc = "A pair of gloves. They don't look special in any way."
+ icon_state = "blue"
+ item_state = "bluegloves"
+ color="blue"
+
+/obj/item/clothing/gloves/purple
+ name = "Purple Gloves"
+ desc = "A pair of gloves. They don't look special in any way."
+ icon_state = "purple"
+ item_state = "purplegloves"
+ color="purple"
+
+/obj/item/clothing/gloves/green
+ name = "Green Gloves"
+ desc = "A pair of gloves. They don't look special in any way."
+ icon_state = "green"
+ item_state = "greengloves"
+ color="green"
+
+/obj/item/clothing/gloves/grey
+ name = "Grey Gloves"
+ desc = "A pair of gloves. They don't look special in any way."
+ icon_state = "gray"
+ item_state = "graygloves"
+ color="grey"
+
+ rd
+ color = "director" //Exists for washing machines. Is not different from gray gloves in any way.
+
+ hop
+ color = "hop" //Exists for washing machines. Is not different from gray gloves in any way.
+
+/obj/item/clothing/gloves/light_brown
+ name = "Light Brown Gloves"
+ desc = "A pair of gloves. They don't look special in any way."
+ icon_state = "lightbrown"
+ item_state = "lightbrowngloves"
+ color="light brown"
+
+/obj/item/clothing/gloves/brown
+ name = "Brown Gloves"
+ desc = "A pair of gloves. They don't look special in any way."
+ icon_state = "brown"
+ item_state = "browngloves"
+ color="brown"
+
+ cargo
+ color = "cargo" //Exists for washing machines. Is not different from brown gloves in any way.
\ No newline at end of file
diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm
new file mode 100644
index 00000000000..c0f955315f6
--- /dev/null
+++ b/code/modules/clothing/head/hardhat.dm
@@ -0,0 +1,31 @@
+/obj/item/clothing/head/helmet/hardhat
+ name = "hard hat"
+ desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight."
+ icon_state = "hardhat0_yellow"
+ flags = FPRINT | TABLEPASS | SUITSPACE
+ item_state = "hardhat0_yellow"
+ var/brightness_on = 4 //luminosity when on
+ 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"
+ item_state = "hardhat0_orange"
+ color = "orange"
+
+/obj/item/clothing/head/helmet/hardhat/red
+ icon_state = "hardhat0_red"
+ item_state = "hardhat0_red"
+ color = "red"
+
+/obj/item/clothing/head/helmet/hardhat/white
+ icon_state = "hardhat0_white"
+ item_state = "hardhat0_white"
+ color = "white"
+
+/obj/item/clothing/head/helmet/hardhat/dblue
+ icon_state = "hardhat0_dblue"
+ item_state = "hardhat0_dblue"
+ color = "dblue"
\ No newline at end of file
diff --git a/code/modules/clothing/head/hats.dm b/code/modules/clothing/head/hats.dm
new file mode 100644
index 00000000000..915b5b02e71
--- /dev/null
+++ b/code/modules/clothing/head/hats.dm
@@ -0,0 +1,126 @@
+// HATS. OH MY WHAT A FINE CHAPEAU, GOOD SIR.
+/obj/item/clothing/head
+ name = "head"
+ icon = 'hats.dmi'
+ body_parts_covered = HEAD
+ var/list/allowed = list()
+
+/obj/item/clothing/head/cakehat
+ name = "cakehat"
+ desc = "It is a cakehat!"
+ icon_state = "cake0"
+ var/onfire = 0.0
+ var/status = 0
+ flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES
+ var/fire_resist = T0C+1300 //this is the max temp it can stand before you start to cook. although it might not burn away, you take damage
+
+/obj/item/clothing/head/caphat
+ name = "Captain's hat"
+ icon_state = "captain"
+ desc = "It's good being the king."
+ flags = FPRINT|TABLEPASS
+ item_state = "caphat"
+
+/obj/item/clothing/head/centhat
+ name = "Cent. Comm. hat"
+ icon_state = "centcom"
+ desc = "It's even better to be the emperor."
+ flags = FPRINT|TABLEPASS
+ item_state = "centhat"
+
+/obj/item/clothing/head/deathsquad/beret
+ name = "officer's beret"
+ desc = "An armored beret commonly used by special operations officers."
+ icon_state = "beret_badge"
+ flags = FPRINT|TABLEPASS
+ armor = list(melee = 65, bullet = 55, laser = 35,energy = 20, bomb = 30, bio = 30, rad = 30)
+
+
+/obj/item/clothing/head/powdered_wig
+ name = "powdered wig"
+ desc = "A powdered wig."
+ icon_state = "pwig"
+ item_state = "pwig"
+
+/obj/item/clothing/head/that
+ name = "Top hat"
+ desc = "An amish looking hat."
+ icon_state = "tophat"
+ item_state = "that"
+ flags = FPRINT|TABLEPASS
+
+
+/obj/item/clothing/head/chefhat
+ name = "Chef's Hat"
+ icon_state = "chef"
+ item_state = "chef"
+ desc = "The commander in chef's head wear."
+ flags = FPRINT | TABLEPASS
+
+/obj/item/clothing/head/redcoat
+ name = "Redcoat hat"
+ icon_state = "redcoat"
+ desc = "I guess it's a redhead."
+ flags = FPRINT | TABLEPASS
+
+/obj/item/clothing/head/mailman
+ name = "Mailman Hat"
+ icon_state = "mailman"
+ desc = "Right-on-time mail service head wear."
+ flags = FPRINT | TABLEPASS
+
+/obj/item/clothing/head/plaguedoctorhat
+ name = "Plague doctor's hat"
+ desc = "Once used by Plague doctors. Now useless."
+ icon_state = "plaguedoctor"
+ flags = FPRINT | TABLEPASS
+ permeability_coefficient = 0.01
+
+/obj/item/clothing/head/beret
+ name = "beret"
+ desc = "A beret. A mime's favorite headwear."
+ icon_state = "beret"
+ flags = FPRINT | TABLEPASS
+
+
+// CHUMP HELMETS: COOKING THEM DESTROYS THE CHUMP HELMET SPAWN.
+
+/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"
+
+/obj/item/clothing/head/secsoft
+ name = "Soft Cap"
+ desc = "A baseball hat in tasteful red."
+ icon_state = "secsoft"
+ flags = FPRINT|TABLEPASS|HEADCOVERSEYES
+ item_state = "helmet"
+
+/obj/item/clothing/head/syndicatefake
+ name = "red space helmet replica"
+ icon_state = "syndicate"
+ item_state = "syndicate"
+ 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
+
+/obj/item/clothing/head/chaplain_hood
+ name = "Chaplain's hood"
+ desc = "A hood that covers the head. Keeps you warm during the space winters."
+ icon_state = "chaplain_hood"
+ flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|BLOCKHAIR
+
+/obj/item/clothing/head/hasturhood
+ name = "Hastur's Hood"
+ desc = "This hood is unspeakably stylish"
+ icon_state = "hasturhood"
+ flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|BLOCKHAIR
+
+/obj/item/clothing/head/nursehat
+ name = "Nurse Hat"
+ desc = "For quick identification of trained medical personnel."
+ icon_state = "nursehat"
+ flags = FPRINT|TABLEPASS
diff --git a/code/modules/clothing/head/helmets.dm b/code/modules/clothing/head/helmets.dm
new file mode 100644
index 00000000000..069d8dba8ed
--- /dev/null
+++ b/code/modules/clothing/head/helmets.dm
@@ -0,0 +1,81 @@
+/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/swat
+ name = "swat helmet"
+ desc = "Used by highly trained Swat Members."
+ icon_state = "swat"
+ 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)
+
+/obj/item/clothing/head/helmet/thunderdome
+ name = "Thunderdome helmet"
+ desc = "Let the battle commence!"
+ icon_state = "thunderdome"
+ flags = FPRINT | TABLEPASS | SUITSPACE | HEADSPACE | HEADCOVERSEYES | BLOCKHAIR
+ item_state = "thunderdome"
+ armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0)
+
+/obj/item/clothing/head/helmet/welding
+ name = "welding helmet"
+ desc = "A head-mounted face cover designed to protect the wearer completely from space-arc eye."
+ icon_state = "welding"
+ flags = FPRINT | TABLEPASS | SUITSPACE | HEADCOVERSEYES | HEADCOVERSMOUTH
+ see_face = 0.0
+ item_state = "welding"
+ protective_temperature = 1300
+ m_amt = 3000
+ 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"
+ desc = "An amish looking, armored top hat."
+ icon_state = "tophat"
+ 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"
+ desc = "A green bandana with some fine nanotech lining."
+ icon_state = "greenbandana"
+ 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"
+ desc = "A helmet specifically designed to protect against close range attacks."
+ icon_state = "riot"
+ 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"
+ desc = "For irresponsible Captains."
+ 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
diff --git a/code/modules/clothing/jumpsuit.dm b/code/modules/clothing/jumpsuit.dm
new file mode 100644
index 00000000000..a6b2d3c1f49
--- /dev/null
+++ b/code/modules/clothing/jumpsuit.dm
@@ -0,0 +1,546 @@
+// UNDERS AND BY THAT, NATURALLY I MEAN UNIFORMS/JUMPSUITS
+
+/obj/item/clothing/under
+ icon = 'uniforms.dmi'
+ name = "under"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
+ protective_temperature = T0C + 50
+ heat_transfer_coefficient = 0.30
+ permeability_coefficient = 0.90
+ flags = FPRINT | TABLEPASS | ONESIZEFITSALL
+ var/has_sensor = 1//For the crew computer 2 = unable to change mode
+ var/sensor_mode = 0
+ /*
+ 1 = Report living/dead
+ 2 = Report detailed damages
+ 3 = Report location
+ */
+
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+
+// Colors
+
+/obj/item/clothing/under/chameleon
+//starts off as black
+ name = "Black Jumpsuit"
+ icon_state = "black"
+ item_state = "bl_suit"
+ color = "black"
+ desc = "A plain jumpsuit. It seems to have a small dial on the wrist."
+ origin_tech = "syndicate=3"
+ var/list/clothing_choices = list()
+ armor = list(melee = 10, bullet = 0, laser = 50,energy = 0, bomb = 0, bio = 0, rad = 0)
+
+/obj/item/clothing/under/chameleon/psyche
+ item_state = "bl_suit"
+ name = "Groovy Jumpsuit"
+ desc = "A groovy jumpsuit! It seems to have a small dial on the wrist, that won't stop spinning."
+ icon_state = "psyche"
+ color = "psyche"
+
+/obj/item/clothing/under/chameleon/all
+
+/obj/item/clothing/under/color/black
+ name = "Black Jumpsuit"
+ icon_state = "black"
+ item_state = "bl_suit"
+ color = "black"
+
+/obj/item/clothing/under/color/blackf
+ name = "Female Black Jumpsuit"
+ desc = "This one is a lady-size!"
+ icon_state = "black"
+ item_state = "bl_suit"
+ color = "blackf"
+
+/obj/item/clothing/under/color/blue
+ name = "Blue Jumpsuit"
+ icon_state = "blue"
+ item_state = "b_suit"
+ color = "blue"
+
+/obj/item/clothing/under/color/green
+ name = "Green Jumpsuit"
+ icon_state = "green"
+ item_state = "g_suit"
+ color = "green"
+
+/obj/item/clothing/under/color/grey
+ name = "Grey Jumpsuit"
+ icon_state = "grey"
+ item_state = "gy_suit"
+ color = "grey"
+
+/obj/item/clothing/under/color/orange
+ name = "Orange Jumpsuit"
+ desc = "Standard Nanotrasen prisoner wear. Its suit sensors are stuck in the \"Fully On\" position."
+ icon_state = "orange"
+ item_state = "o_suit"
+ color = "orange"
+ has_sensor = 2
+ sensor_mode = 3
+
+/obj/item/clothing/under/color/pink
+ name = "Pink Jumpsuit"
+ icon_state = "pink"
+ item_state = "p_suit"
+ color = "pink"
+
+/obj/item/clothing/under/color/red
+ name = "Red Jumpsuit"
+ icon_state = "red"
+ item_state = "r_suit"
+ color = "red"
+
+/obj/item/clothing/under/color/white
+ desc = "Made of a special fiber that gives protection against biohazards."
+ name = "White Jumpsuit"
+ icon_state = "white"
+ item_state = "w_suit"
+ color = "white"
+ permeability_coefficient = 0.50
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+
+/obj/item/clothing/under/color/yellow
+ name = "Yellow Jumpsuit"
+ icon_state = "yellow"
+ item_state = "y_suit"
+ color = "yellow"
+
+// RANKS
+/obj/item/clothing/under/rank
+
+/obj/item/clothing/under/rank/atmospheric_technician
+ desc = "A jumpsuit used by atmospheric technicians."
+ name = "Atmospherics Jumpsuit"
+ icon_state = "atmos"
+ item_state = "atmos_suit"
+ color = "atmos"
+
+/obj/item/clothing/under/rank/captain
+ desc = "A blue jumpsuit with gold marking denoting the rank of \"Captain\"."
+ name = "Captain Jumpsuit"
+ icon_state = "captain"
+ item_state = "caparmor"
+ color = "captain"
+
+/obj/item/clothing/under/rank/chaplain
+ desc = "A black jumpsuit, worn by religious folk."
+ name = "Chaplain Jumpsuit"
+ icon_state = "chaplain"
+ item_state = "bl_suit"
+ color = "chapblack"
+
+/obj/item/clothing/under/rank/engineer
+ desc = "An orange high visibility jumpsuit. Used by Nanotrasen Engineers, has minor radiation shielding."
+ name = "Engineering Jumpsuit"
+ icon_state = "engine"
+ item_state = "engi_suit"
+ color = "engine"
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10)
+
+/obj/item/clothing/under/rank/forensic_technician
+ desc = "It has a Forensics rank stripe on it."
+ name = "Forensics Jumpsuit"
+ icon_state = "darkred"
+ item_state = "r_suit"
+ color = "forensicsred"
+
+/obj/item/clothing/under/rank/warden
+ desc = "Made of a slightly sturdier material than standard jumpsuits, to allow for more robust protection. This one has the word \"Warden\" written on the shoulders."
+ name = "Warden Jumpsuit"
+ icon_state = "darkred"
+ item_state = "r_suit"
+ color = "darkred"
+ armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+
+/obj/item/clothing/under/rank/security
+ name = "Security Jumpsuit"
+ desc = "Made of a slightly sturdier material than standard jumpsuits, to allow for more robust protection."
+ icon_state = "red"
+ item_state = "r_suit"
+ color = "red"
+ armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+
+/obj/item/clothing/under/rank/vice
+ name = "Vice officer Jumpsuit"
+ desc = "Your standard issue pretty-boy outfit, as seen on TV."
+ icon_state = "vice"
+ item_state = "gy_suit"
+ color = "vice"
+ armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+
+/obj/item/clothing/under/rank/geneticist
+ desc = "Made of a special fiber that gives special protection against biohazards. Has a genetics rank stripe on it."
+ name = "Genetics Jumpsuit"
+ icon_state = "genetics"
+ item_state = "w_suit"
+ color = "geneticswhite"
+ permeability_coefficient = 0.50
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+
+/obj/item/clothing/under/rank/chemist
+ desc = "Made of a special fiber that gives special protection against biohazards. Has a chemist rank stripe on it."
+ name = "Chemist Jumpsuit"
+ icon_state = "genetics"
+ item_state = "w_suit"
+ color = "chemistrywhite"
+ permeability_coefficient = 0.50
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+
+/obj/item/clothing/under/rank/virologist
+ desc = "Made of a special fiber that gives special protection against biohazards. Has a virologist rank stripe on it."
+ name = "Virology Jumpsuit"
+ icon_state = "virology"
+ item_state = "w_suit"
+ color = "virologywhite"
+ permeability_coefficient = 0.50
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+
+/obj/item/clothing/under/rank/head_of_personnel
+ desc = "A jumpsuit worn by someone who works in the position of \"Head of Personnel\"."
+ name = "Head of Personnel Jumpsuit"
+ icon_state = "hop"
+ item_state = "b_suit"
+ color = "hop"
+
+/obj/item/clothing/under/rank/centcom_officer
+ desc = "A jumpsuit worn by Centcom Officers."
+ name = "CentCom Officer Jumpsuit"
+ icon_state = "centcom"
+ item_state = "g_suit"
+ color = "centcom"
+
+/obj/item/clothing/under/rank/centcom_commander
+ desc = "A jumpsuit worn by Centcom's highest level Commanders."
+ name = "CentCom Officer Jumpsuit"
+ icon_state = "officer"
+ item_state = "dg_suit"
+ color = "officer"
+
+/obj/item/clothing/under/rank/miner
+ desc = "A snappy jumpsuit with a sturdy set of overalls. It is very dirty."
+ name = "Shaft Miner Jumpsuit"
+ icon_state = "miner"
+ item_state = "miner"
+ color = "miner"
+
+/obj/item/clothing/under/rank/roboticist
+ desc = "A slimming black with reinforced seams. Great for industrial work."
+ name = "Roboticist Jumpsuit"
+ icon_state = "robotics"
+ item_state = "robotics"
+ color = "robotics"
+
+/obj/item/clothing/under/rank/head_of_security
+ desc = "A jumpsuit worn by those few with the dedication to achieve the position of \"Head of Security\". Has slight armor to protect the wearer."
+ name = "Head of Security Jumpsuit"
+ icon_state = "hos"
+ item_state = "r_suit"
+ color = "hosred"
+ armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+
+/obj/item/clothing/under/rank/chief_engineer
+ desc = "A high visibility jumpsuit given to those engineers committed enough to their jobs to achieve the rank of \"Chief engineer\". Has minor radiation shielding."
+ name = "Chief Engineer Jumpsuit"
+ icon_state = "chiefengineer"
+ item_state = "g_suit"
+ color = "chief"
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10)
+
+/obj/item/clothing/under/rank/research_director
+ desc = "A jumpsuit worn by those dedicated to all that is science and have achieved the position of \"Research Director\". Has minor biological anomaly protection."
+ name = "Research Director Jumpsuit"
+ icon_state = "director"
+ item_state = "g_suit"
+ color = "director"
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+
+/obj/item/clothing/under/rank/janitor
+ desc = "Official clothing of the station's janitor. Has minor protection from biohazards."
+ name = "Janitor's Jumpsuit"
+ icon_state = "janitor"
+ color = "janitor"
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+
+/obj/item/clothing/under/rank/scientist
+ desc = "Made of a special fiber that gives special protection against biohazards. Has markings denoting the wearer as a scientist."
+ name = "Scientist's Jumpsuit"
+ icon_state = "toxins"
+ item_state = "w_suit"
+ color = "toxinswhite"
+ permeability_coefficient = 0.50
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
+
+/obj/item/clothing/under/rank/medical
+ desc = "Made of a special fiber that gives special protection against biohazards. Has a cross on the chest denoting that the wearer is trained medical personnel."
+ name = "Medical Doctor's Jumpsuit"
+ icon_state = "medical"
+ item_state = "w_suit"
+ color = "medical"
+ permeability_coefficient = 0.50
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+
+/obj/item/clothing/under/rank/chief_medical_officer
+ desc = "A jumpsuit worn by those with the dedication to the medical profession who have achieved the position of \"Chief Medical Officer\". Has minor biological protection."
+ name = "Chief Medical Officer's Jumpsuit"
+ icon_state = "medical"
+ item_state = "w_suit"
+ color = "medical"
+ permeability_coefficient = 0.50
+ armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 10, rad = 0)
+
+/obj/item/clothing/under/rank/hydroponics
+ desc = "A jumpsuit designed to protect against minor plant-related hazards."
+ name = "Hydroponics Jumpsuit"
+ icon_state = "hydroponics"
+ item_state = "g_suit"
+ color = "hydroponics"
+ permeability_coefficient = 0.50
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+
+/obj/item/clothing/under/rank/cargo
+ name = "Quartermaster's Jumpsuit"
+ desc = "What can brown do for you?"
+ icon_state = "lightbrown"
+ item_state = "lb_suit"
+ color = "cargo"
+
+/obj/item/clothing/under/rank/cargotech
+ name = "Cargotech's Jumpsuit"
+ desc = "Shooooorts! They're comfy and easy to wear!"
+ icon_state = "cargotech"
+ item_state = "cargotech"
+ color = "cargotech"
+
+/obj/item/clothing/under/rank/mailman
+ name = "Mailman Jumpsuit"
+ desc = "Special delivery!"
+ icon_state = "mailman"
+ item_state = "b_suit"
+ color = "mailman"
+
+/obj/item/clothing/under/sexyclown
+ name = "Sexyclown suit"
+ desc = "What can I do for you?"
+ icon_state = "sexyclown"
+ item_state = "sexyclown"
+ color = "sexyclown"
+
+/obj/item/clothing/under/rank/bartender
+ desc = "It looks like it could use more flair."
+ name = "Bartender's Uniform"
+ icon_state = "ba_suit"
+ item_state = "ba_suit"
+ color = "ba_suit"
+
+/obj/item/clothing/under/rank/clown
+ name = "clown suit"
+ desc = "Wearing this, all the children love you, for all the wrong reasons."
+ icon_state = "clown"
+ item_state = "clown"
+ color = "clown"
+
+/obj/item/clothing/under/rank/chef
+ desc = "Issued only to the most hardcore chefs in space."
+ name = "Chef's Uniform"
+ icon_state = "chef"
+ color = "chef"
+
+/obj/item/clothing/under/rank/geneticist_new
+ desc = "Made of a special fiber that gives special protection against biohazards."
+ name = "Genetics Jumpsuit"
+ icon_state = "genetics_new"
+ item_state = "w_suit"
+ color = "genetics_new"
+ permeability_coefficient = 0.50
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+
+/obj/item/clothing/under/rank/chemist_new
+ desc = "Made of a special fiber that gives special protection against biohazards."
+ name = "Chemist Jumpsuit"
+ icon_state = "chemist_new"
+ item_state = "w_suit"
+ color = "chemist_new"
+ permeability_coefficient = 0.50
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+
+/obj/item/clothing/under/rank/scientist_new
+ desc = "Made of a special fiber that gives special protection against biohazards and small explosions."
+ name = "Scientist Jumpsuit"
+ icon_state = "scientist_new"
+ item_state = "w_suit"
+ color = "scientist_new"
+ permeability_coefficient = 0.50
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
+
+/obj/item/clothing/under/rank/virologist_new
+ desc = "Made of a special fiber that gives increased protection against biohazards."
+ name = "Virologist Jumpsuit"
+ icon_state = "virologist_new"
+ item_state = "w_suit"
+ color = "virologist_new"
+ permeability_coefficient = 0.50
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+
+
+// OTHER NONRANKED STATION JOBS
+/obj/item/clothing/under/det
+ name = "Hard worn suit"
+ desc = "Someone who wears this means business."
+ icon_state = "detective"
+ item_state = "det"
+ color = "detective"
+ armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+ var/obj/item/weapon/gun
+
+/obj/item/clothing/under/scratch
+ name = "White Suit"
+ desc = "A white suit, suitable for an excellent host"
+ flags = FPRINT | TABLEPASS
+ icon_state = "scratch"
+ item_state = "scratch"
+ color = "scratch"
+
+/obj/item/clothing/under/jensen
+ desc = "You never asked for anything this stylish."
+ name = "Head of Security Jumpsuit"
+ icon_state = "jensen"
+ item_state = "jensen"
+ color = "jensen"
+ armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+
+/obj/item/clothing/under/sl_suit
+ desc = "A very amish looking suit."
+ name = "Amish Suit"
+ icon_state = "sl_suit"
+ color = "sl_suit"
+
+/obj/item/clothing/under/syndicate
+ name = "Tactical Turtleneck"
+ desc = "Non-descript, slightly suspicious civilian clothing."
+ icon_state = "syndicate"
+ item_state = "bl_suit"
+ color = "syndicate"
+ has_sensor = 0
+ armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+
+/obj/item/clothing/under/syndicate/tacticool
+ name = "Tacticool Turtleneck"
+ desc = "Wearing this makes you feel like buying an SKS, going into the woods, and operating."
+ icon_state = "tactifool"
+ item_state = "bl_suit"
+ color = "tactifool"
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+
+/obj/item/clothing/under/syndicate/combat
+ name = "Combat Turtleneck"
+
+/obj/item/clothing/under/librarian
+ name = "Sensible Suit"
+ desc = "It's very... sensible."
+ icon_state = "red_suit"
+ item_state = "red_suit"
+ color = "red_suit"
+
+/obj/item/clothing/under/mime
+ name = "Mime Outfit"
+ desc = "It's not very colourful."
+ icon_state = "mime"
+ item_state = "mime"
+ color = "mime"
+
+/obj/item/clothing/under/waiter
+ name = "Waiter Outfit"
+ desc = "There is a special pocket for tip."
+ icon_state = "waiter"
+ item_state = "waiter"
+ color = "waiter"
+
+
+// Athletic shorts.. heh
+/obj/item/clothing/under/shorts
+ name = "athletic shorts"
+ desc = "95% Polyester, 5% Spandex!"
+ flags = FPRINT | TABLEPASS
+ body_parts_covered = LOWER_TORSO
+
+/obj/item/clothing/under/shorts/red
+ icon_state = "redshorts"
+ color = "redshorts"
+
+/obj/item/clothing/under/shorts/green
+ icon_state = "greenshorts"
+ color = "greenshorts"
+
+/obj/item/clothing/under/shorts/blue
+ icon_state = "blueshorts"
+ color = "blueshorts"
+
+/obj/item/clothing/under/shorts/black
+ icon_state = "blackshorts"
+ color = "blackshorts"
+
+/obj/item/clothing/under/shorts/grey
+ icon_state = "greyshorts"
+ color = "greyshorts"
+
+/obj/item/clothing/under/space
+ name = "NASA Jumpsuit"
+ icon_state = "black"
+ item_state = "bl_suit"
+ color = "black"
+ desc = "Has a NASA logo on it, made of space proofed materials."
+ w_class = 4//bulky item
+ gas_transfer_coefficient = 0.01
+ permeability_coefficient = 0.02
+ heat_transfer_coefficient = 0.02
+ protective_temperature = 1000
+ flags = FPRINT | TABLEPASS | SUITSPACE
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
+
+/obj/item/clothing/under/spiderman
+ name = "Deadpool Suit"
+ desc = "A suit of Deadpool!"
+ icon_state = "spiderman"
+ item_state = "spiderman"
+ color = "spiderman"
+
+/obj/item/clothing/under/rank/nursesuit
+ desc = "Made of a special fiber that gives special protection against biohazards. A jumpsuit commonly worn by nursing staff in the medical department."
+ name = "Nurse Suit"
+ icon_state = "nursesuit"
+ item_state = "nursesuit"
+ color = "nursesuit"
+ permeability_coefficient = 0.50
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+
+/obj/item/clothing/under/acj
+ name = "Administrative Cybernetic Jumpsuit"
+ icon_state = "syndicate"
+ item_state = "bl_suit"
+ color = "syndicate"
+ desc = "A cybernetically enhanced jumpsuit used in administrative duties."
+ gas_transfer_coefficient = 0.01
+ permeability_coefficient = 0.01
+ heat_transfer_coefficient = 0.01
+ protective_temperature = 100000
+ flags = FPRINT | TABLEPASS | SUITSPACE
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
+ armor = list(melee = 100, bullet = 100, laser = 100,energy = 100, bomb = 100, bio = 100, rad = 100)
+
+/obj/item/clothing/under/rank/medical_sleeve
+ desc = "Made of a special fiber that gives special protection against biohazards. Has a cross on the chest denoting that the wearer is trained medical personneland short sleeves."
+ name = "Short Sleeve Medical Jumpsuit"
+ icon_state = "medical_sleeve"
+ item_state = "w_suit"
+ color = "medical_sleeve"
+ permeability_coefficient = 0.50
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+
+/obj/item/clothing/under/jumpsuitdown
+ desc = "A rolled down jumpsuit. Great for mechanics."
+ name = "Rolled Down Jumpsuit"
+ icon_state = "jumpsuitdown"
+ item_state = "jumpsuitdown"
+ color = "jumpsuitdown"
\ No newline at end of file
diff --git a/code/modules/clothing/mask.dm b/code/modules/clothing/mask.dm
new file mode 100644
index 00000000000..5873d125701
--- /dev/null
+++ b/code/modules/clothing/mask.dm
@@ -0,0 +1,149 @@
+// MASK WAS THAT MOVIE WITH THAT GUY WITH THE MESSED UP FACE. WHAT'S HIS NAME . . . JIM CARREY, I THINK.
+
+/obj/item/clothing/mask
+ name = "mask"
+ icon = 'masks.dmi'
+ body_parts_covered = HEAD
+ armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 0, rad = 0)
+
+
+/obj/item/clothing/mask/breath
+ desc = "A close-fitting mask that can be connected to an air supply."
+ name = "Breath Mask"
+ icon_state = "breath"
+ item_state = "breath"
+ flags = FPRINT | TABLEPASS | SUITSPACE | HEADSPACE | MASKCOVERSMOUTH | HALFMASK
+ w_class = 2
+ protective_temperature = 420
+ heat_transfer_coefficient = 0.90
+ gas_transfer_coefficient = 0.10
+ permeability_coefficient = 0.50
+
+/obj/item/clothing/mask/medical
+ desc = "A close-fitting sterile mask that can be connected to an air supply."
+ name = "Medical Mask"
+ icon_state = "medical"
+ item_state = "medical"
+ flags = FPRINT|TABLEPASS|SUITSPACE|HEADSPACE|MASKCOVERSMOUTH
+ w_class = 3
+ protective_temperature = 420
+ gas_transfer_coefficient = 0.10
+ permeability_coefficient = 0.10
+
+/obj/item/clothing/mask/spiderman
+ desc = "A mask of Deadpool!"
+ name = "Deadpool mask"
+ icon_state = "spiderman"
+ item_state = "spiderman"
+ flags = FPRINT|TABLEPASS|SUITSPACE|HEADSPACE|MASKCOVERSMOUTH|BLOCKHAIR
+ w_class = 3
+ protective_temperature = 420
+ gas_transfer_coefficient = 0.01
+ permeability_coefficient = 0.01
+
+/obj/item/clothing/mask/muzzle
+ name = "muzzle"
+ desc = "To stop that awful noise."
+ icon_state = "muzzle"
+ item_state = "muzzle"
+ flags = FPRINT|TABLEPASS|MASKCOVERSMOUTH
+ w_class = 2
+ gas_transfer_coefficient = 0.90
+
+/obj/item/clothing/mask/surgical
+ name = "Sterile Mask"
+ desc = "A sterile mask designed to help prevent the spread of diseases."
+ icon_state = "sterile"
+ item_state = "sterile"
+ w_class = 1
+ flags = FPRINT|TABLEPASS|HEADSPACE|MASKCOVERSMOUTH
+ gas_transfer_coefficient = 0.90
+ permeability_coefficient = 0.05
+ armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 75, rad = 0)
+
+/obj/item/clothing/mask/gas
+ name = "gas mask"
+ desc = "A face-covering mask that can be connected to an air supply."
+ icon_state = "gas_mask"
+ flags = FPRINT|TABLEPASS|SUITSPACE|MASKCOVERSMOUTH|MASKCOVERSEYES
+ w_class = 3.0
+ see_face = 0.0
+ item_state = "gas_mask"
+ protective_temperature = 500
+ heat_transfer_coefficient = 0.01
+ gas_transfer_coefficient = 0.01
+ permeability_coefficient = 0.01
+
+/obj/item/clothing/mask/gas/plaguedoctor
+ name = "Plague doctor mask"
+ desc = "A modernised version of the classic design, this mask will not only filter out toxins but it can also be connected to an air supply."
+ icon_state = "plaguedoctor"
+ item_state = "gas_mask"
+ armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 75, rad = 0)
+
+/obj/item/clothing/mask/gas/emergency
+ name = "emergency gas mask"
+ desc = "A face-covering mask that can be connected to an air supply. For use in emergencies."
+ icon_state = "gas_alt"
+ item_state = "gas_alt"
+
+/obj/item/clothing/mask/gas/swat
+ name = "SWAT Mask"
+ desc = "A close-fitting tactical mask that can be connected to an air supply."
+ icon_state = "swat"
+
+/obj/item/clothing/mask/gas/syndicate
+ name = "syndicate mask"
+ desc = "A close-fitting tactical mask that can be connected to an air supply."
+ icon_state = "swat"
+
+/obj/item/clothing/mask/gas/voice
+ name = "gas mask"
+ //desc = "A face-covering mask that can be connected to an air supply. It seems to house some odd electronics."
+ icon_state = "gas_mask"
+ var/mode = 0// 0==Scouter | 1==Night Vision | 2==Thermal | 3==Meson
+ var/voice = "Unknown"
+ var/vchange = 0//This didn't do anything before. It now checks if the mask has special functions/N
+ origin_tech = "syndicate=4"
+
+/obj/item/clothing/mask/gas/voice/space_ninja
+ name = "ninja mask"
+ desc = "A close-fitting mask that acts both as an air filter and a post-modern fashion statement."
+ icon_state = "s-ninja"
+ item_state = "s-ninja_mask"
+ vchange = 1
+
+/obj/item/clothing/mask/gas/clown_hat
+ name = "clown wig and mask"
+ desc = "A true prankster's facial attire. A clown is incomplete without his wig and mask."
+ icon_state = "clown"
+ item_state = "clown_hat"
+
+/obj/item/clothing/mask/gas/sexyclown
+ name = "sexy clown mask"
+ desc = "A feminine clown mask for the dabbling crossdressers or female entertainers."
+ icon_state = "sexyclown"
+ item_state = "sexyclown"
+
+/obj/item/clothing/mask/gas/mime
+ name = "mime mask"
+ desc = "The traditional mime's mask. It has an eerie facial posture."
+ icon_state = "mime"
+ item_state = "mime"
+
+/obj/item/clothing/mask/gas/monkeymask
+ name = "monkey mask"
+ desc = "A mask used when acting as a monkey."
+ icon_state = "monkeymask"
+ item_state = "monkeymask"
+
+/obj/item/clothing/mask/gas/sexymime
+ name = "sexy mime mask"
+ desc = "A traditional female mime's mask."
+ icon_state = "sexymime"
+ item_state = "sexymime"
+
+/obj/item/clothing/mask/gas/fakemoustache
+ name = "fake moustache"
+ desc = "Warning: moustache is fake."
+ icon_state = "fake-moustache"
\ No newline at end of file
diff --git a/code/modules/clothing/shoes.dm b/code/modules/clothing/shoes.dm
new file mode 100644
index 00000000000..d83cecfa01b
--- /dev/null
+++ b/code/modules/clothing/shoes.dm
@@ -0,0 +1,162 @@
+// OMG SHOES
+
+/obj/item/clothing/shoes
+ name = "shoes"
+ icon = 'shoes.dmi'
+ desc = "Comfortable-looking shoes."
+
+ body_parts_covered = FEET
+
+ protective_temperature = 500
+ heat_transfer_coefficient = 0.10
+ permeability_coefficient = 0.50
+ slowdown = SHOES_SLOWDOWN
+ armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 0, rad = 0)
+
+
+/obj/item/clothing/shoes/syndigaloshes
+ desc = "A pair of brown shoes. They seem to have extra grip."
+ name = "Brown Shoes"
+ icon_state = "brown"
+ item_state = "brown"
+ permeability_coefficient = 0.05
+ flags = NOSLIP
+ origin_tech = "syndicate=3"
+ var/list/clothing_choices = list()
+
+/obj/item/clothing/shoes/syndigaloshes/all
+
+/obj/item/clothing/shoes/black
+ name = "Black Shoes"
+ icon_state = "black"
+ color = "black"
+ desc = "A pair of black shoes."
+
+ redcoat
+ color = "redcoat" //Exists for washing machines. Is not different from black shoes in any way.
+
+/obj/item/clothing/shoes/brown
+ name = "Brown Shoes"
+ desc = "A pair of brown shoes."
+ icon_state = "brown"
+ color = "brown"
+
+ captain
+ color = "captain" //Exists for washing machines. Is not different from brown shoes in any way.
+ hop
+ color = "hop" //Exists for washing machines. Is not different from brown shoes in any way.
+ ce
+ color = "chief" //Exists for washing machines. Is not different from brown shoes in any way.
+ rd
+ color = "director" //Exists for washing machines. Is not different from brown shoes in any way.
+ cmo
+ color = "medical" //Exists for washing machines. Is not different from brown shoes in any way.
+ cmo
+ color = "cargo" //Exists for washing machines. Is not different from brown shoes in any way.
+
+/obj/item/clothing/shoes/blue
+ name = "Blue Shoes"
+ icon_state = "blue"
+ color = "blue"
+
+/obj/item/clothing/shoes/green
+ name = "Green Shoes"
+ icon_state = "green"
+ color = "green"
+
+/obj/item/clothing/shoes/yellow
+ name = "Yellow Shoes"
+ icon_state = "yellow"
+ color = "yellow"
+
+/obj/item/clothing/shoes/mime
+ name = "Mime Shoes"
+ icon_state = "mime"
+ color = "mime"
+
+/obj/item/clothing/shoes/purple
+ name = "Purple Shoes"
+ icon_state = "purple"
+ color = "purple"
+
+/obj/item/clothing/shoes/brown
+ name = "Brown Shoes"
+ icon_state = "brown"
+ color = "brown"
+
+/obj/item/clothing/shoes/orange
+ name = "Orange Shoes"
+ icon_state = "orange"
+ var/chained = 0
+ color = "orange"
+
+/obj/item/clothing/shoes/swat
+ name = "SWAT shoes"
+ desc = "When you want to turn up the heat."
+ icon_state = "swat"
+ armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0)
+ flags = NOSLIP
+
+/obj/item/clothing/shoes/combat //Basically SWAT shoes combined with galoshes.
+ name = "combat boots"
+ desc = "When you REALLY want to turn up the heat"
+ icon_state = "swat"
+ armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0)
+ flags = NOSLIP
+
+/obj/item/clothing/shoes/space_ninja
+ name = "ninja shoes"
+ desc = "A pair of running shoes. Excellent for running and even better for smashing skulls."
+ icon_state = "s-ninja"
+ protective_temperature = 700
+ permeability_coefficient = 0.01
+ flags = NOSLIP
+ armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
+
+/obj/item/clothing/shoes/white
+ name = "White Shoes"
+ icon_state = "white"
+ permeability_coefficient = 0.25
+ color = "white"
+
+/obj/item/clothing/shoes/sandal
+ desc = "A pair of rather plain, wooden sandals."
+ name = "sandals"
+ icon_state = "wizard"
+
+/obj/item/clothing/shoes/sandal/marisa
+ desc = "A pair of magic, black shoes."
+ name = "Magic Shoes"
+ icon_state = "black"
+
+/obj/item/clothing/shoes/galoshes
+ desc = "Rubber boots"
+ name = "galoshes"
+ icon_state = "galoshes"
+ permeability_coefficient = 0.05
+ flags = NOSLIP
+ slowdown = SHOES_SLOWDOWN+1
+
+/obj/item/clothing/shoes/magboots
+ desc = "Magnetic boots, often used during extravehicular activity to ensure the user remains safely attached to the vehicle."
+ name = "magboots"
+ icon_state = "magboots0"
+ protective_temperature = 800
+ heat_transfer_coefficient = 0.01
+ var/magpulse = 0
+// flags = NOSLIP //disabled by default
+
+/obj/item/clothing/shoes/clown_shoes
+ desc = "The prankster's standard-issue clowning shoes. Damn they're huge!"
+ name = "clown shoes"
+ icon_state = "clown"
+ item_state = "clown_shoes"
+ slowdown = SHOES_SLOWDOWN+1
+ color = "clown"
+
+/obj/item/clothing/shoes/jackboots
+ name = "Jackboots"
+ desc = "Nanotrasen-issue Security combat boots for combat scenarios or combat situations. All combat, all the time."
+ icon_state = "jackboots"
+ item_state = "jackboots"
+ color = "hosred"
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index 44152d06886..cc75597ada4 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -275,6 +275,7 @@
else
wound_flavor_text["[temp.display_name]"] = ""
//Now that we have a big list of all the wounds, on all the limbs.
+ var/list/is_bleeding = list()
for(var/named in wound_descriptions)
var/list/wound_states = wound_descriptions[named]
var/list/flavor_text = list()
@@ -284,6 +285,7 @@
"tiny bruise" = 0, "small bruise" = 0, "moderate bruise" = 0, "large bruise" = 0, "huge bruise" = 0, "monumental bruise" = 0,\
"small burn" = 0, "moderate burn" = 0, "large burn" = 0, "severe burn" = 0, "deep burn" = 0, "carbonised area" = 0) //How many wounds of what size.
for(var/datum/organ/wound/w in wound_state)
+ if(w.bleeding && !is_bleeding[named]) is_bleeding[named] = 1
switch(w.wound_size)
if(1)
switch(w.wound_type)
@@ -429,26 +431,38 @@
wound_flavor_text["[named]"] = flavor_text_string
if(wound_flavor_text["head"] && !skipmask && !(wear_mask && istype(wear_mask, /obj/item/clothing/mask/gas)))
msg += wound_flavor_text["head"]
+ else if(is_bleeding["head"])
+ msg += "[src] has blood running down [t_his] face!\n"
if(wound_flavor_text["chest"] && !w_uniform && !skipjumpsuit)
msg += wound_flavor_text["chest"]
+ else if(is_bleeding["chest"])
+ msg += "[src] has blood from under [t_his] clothing!\n"
if(wound_flavor_text["left arm"] && !w_uniform && !skipjumpsuit)
msg += wound_flavor_text["left arm"]
if(wound_flavor_text["left hand"] && !gloves && !skipgloves)
msg += wound_flavor_text["left hand"]
+ else if(is_bleeding["left hand"])
+ msg += "[src] has blood running from under [t_his] gloves!\n"
if(wound_flavor_text["right arm"] && !w_uniform && !skipjumpsuit)
msg += wound_flavor_text["right arm"]
if(wound_flavor_text["right hand"] && !gloves && !skipgloves)
msg += wound_flavor_text["right hand"]
+ else if(is_bleeding["right hand"])
+ msg += "[src] has blood running from under [t_his] gloves!\n"
if(wound_flavor_text["groin"] && !w_uniform && !skipjumpsuit)
msg += wound_flavor_text["groin"]
if(wound_flavor_text["left leg"] && !w_uniform && !skipjumpsuit)
msg += wound_flavor_text["left leg"]
if(wound_flavor_text["left foot"]&& !shoes && !skipshoes)
msg += wound_flavor_text["left foot"]
+ else if(is_bleeding["left foot"])
+ msg += "[src] has blood running from [t_his] shoes!\n"
if(wound_flavor_text["right leg"] && !w_uniform && !skipjumpsuit)
msg += wound_flavor_text["right leg"]
if(wound_flavor_text["right foot"]&& !shoes && !skipshoes)
msg += wound_flavor_text["right foot"]
+ else if(is_bleeding["right foot"])
+ msg += "[src] has blood running from [t_his] shoes!\n"
// if(w.bleeding)
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index a8ca5af66f2..d5806a36423 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -92,10 +92,11 @@ emp_act
var/datum/organ/external/affecting = get_organ(ran_zone(user.zone_sel.selecting))
var/hit_area = affecting.display_name
- if(affecting.destroyed)
+ if(!affecting.destroyed)
visible_message("\red [src] has been attacked in the [hit_area] with [I.name] by [user]!")
else
user << "What [affecting]?"
+ return
if((user != src) && check_shields(I.force, "the [I.name]"))
return 0
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index fd89280ca30..15ad58ee27f 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -966,6 +966,8 @@
for(var/datum/organ/wound/W in temp.wounds)
if(W.wound_size && W.bleeding)
blood_max += W.wound_size
+ if(temp.destroyed && !temp.gauzed)
+ blood_max += 10 //Yer missing a fucking limb.
bloodloss = min(bloodloss+1,sqrt(blood_max))
if (eye_blind)
eye_blind--
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 280986c3611..b030a59c721 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -389,6 +389,9 @@
memory()
/mob/proc/update_flavor_text()
+ set src in usr
+ if(usr != src)
+ usr << "No."
var/msg = input(usr,"Set the flavor text in your 'examine' verb. Don't metagame!","Flavor Text",html_decode(flavor_text)) as message|null
if(msg != null)
diff --git a/code/modules/mob/organ/organ.dm b/code/modules/mob/organ/organ.dm
index d6e679ac586..5e4977c652f 100644
--- a/code/modules/mob/organ/organ.dm
+++ b/code/modules/mob/organ/organ.dm
@@ -56,6 +56,7 @@
broken = 0
destroyed = 0
destspawn = 0 //Has it spawned the broken limb?
+ gauzed = 0 //Has the missing limb been patched?
min_broken_damage = 30
datum/organ/external/parent
damage_msg = "\red You feel a intense pain"
@@ -228,9 +229,7 @@
var/dmgmsg = "[damage_msg] in your [display_name]"
owner << dmgmsg
//owner.unlock_medal("Broke Yarrr Bones!", 0, "Break a bone.", "easy")
- for(var/mob/M in viewers(owner))
- if(M != owner)
- M.show_message("\red You hear a loud cracking sound coming from [owner.name].")
+ owner.visible_message("\red You hear a loud cracking sound coming from [owner.name].","\red Something feels like it shattered in your [display_name]!","You hear a sickening crack.")
owner.emote("scream")
broken = 1
wound = "broken" //Randomise in future
@@ -300,11 +299,7 @@
if(owner:organs["r_hand"])
var/datum/organ/external/S = owner:organs["r_hand"]
if(!S.destroyed)
- var/obj/item/weapon/organ/r_hand/X = new(owner.loc, owner)
- for(var/mob/M in viewers(owner))
- M.show_message("\red [owner.name]'s [X.name] flies off in an arc.")
- var/lol2 = pick(cardinal)
- step(X,lol2)
+ S.droplimb()
var/lol = pick(cardinal)
step(H,lol)
destroyed = 1
@@ -313,11 +308,7 @@
if(owner:organs["l_hand"])
var/datum/organ/external/S = owner:organs["l_hand"]
if(!S.destroyed)
- var/obj/item/weapon/organ/l_hand/X = new(owner.loc, owner)
- for(var/mob/M in viewers(owner))
- M.show_message("\red [owner.name]'s [X.name] flies off in an arc.")
- var/lol2 = pick(cardinal)
- step(X,lol2)
+ S.droplimb()
var/lol = pick(cardinal)
step(H,lol)
destroyed = 1
@@ -326,11 +317,7 @@
if(owner:organs["r_foot"])
var/datum/organ/external/S = owner:organs["r_foot"]
if(!S.destroyed)
- var/obj/item/weapon/organ/r_foot/X = new(owner.loc, owner)
- for(var/mob/M in viewers(owner))
- M.show_message("\red [owner.name]'s [X.name] flies off in an arc.")
- var/lol2 = pick(cardinal)
- step(X,lol2)
+ S.droplimb()
var/lol = pick(cardinal)
step(H,lol)
destroyed = 1
@@ -339,11 +326,7 @@
if(owner:organs["l_foot"])
var/datum/organ/external/S = owner:organs["l_foot"]
if(!S.destroyed)
- var/obj/item/weapon/organ/l_foot/X = new(owner.loc, owner)
- for(var/mob/M in viewers(owner))
- M.show_message("\red [owner.name]'s [X.name] flies off in an arc.")
- var/lol2 = pick(cardinal)
- step(X,lol2)
+ S.droplimb()
var/lol = pick(cardinal)
step(H,lol)
destroyed = 1
@@ -376,6 +359,10 @@
step(X,lol2)
destroyed = 1
destspawn = 1
+ for(var/datum/organ/wound/W in wounds)
+ W.update_health()
+ del(W)
+ del(wounds)
src.owner.update_clothing()
proc/createwound(var/size = 1, var/type = 0, var/damage)
@@ -429,7 +416,7 @@
return
proc/stopbleeding()
- if(!bleeding && !healing_state)
+ if(healing_state)
return 0
// owner:bloodloss -= 10 * src.wound_size
parent.bleeding = 0