diff --git a/code/defines/obj/clothing/gloves.dm b/code/defines/obj/clothing/gloves.dm
deleted file mode 100644
index 0e62744ff1c..00000000000
--- a/code/defines/obj/clothing/gloves.dm
+++ /dev/null
@@ -1,241 +0,0 @@
-// NO GLOVES NO LOVES
-
-/obj/item/clothing/gloves
- name = "gloves"
- gender = PLURAL //Carn: for grammarically correct text-parsing
- 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
- slot_flags = SLOT_GLOVES
-
-
-/obj/item/clothing/gloves/boxing
- name = "boxing gloves"
- desc = "Because you really needed another excuse to punch your crewmates."
- icon_state = "boxing"
- item_state = "boxing"
-
-/obj/item/clothing/gloves/boxing/green
- icon_state = "boxinggreen"
- item_state = "boxinggreen"
-
-/obj/item/clothing/gloves/boxing/blue
- icon_state = "boxingblue"
- item_state = "boxingblue"
-
-/obj/item/clothing/gloves/boxing/yellow
- icon_state = "boxingyellow"
- item_state = "boxingyellow"
-
-/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/cyborg
- desc = "beep boop borp"
- 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 = "\improper 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/fyellow //Cheap Chinese Crap
- desc = "These gloves are cheap copies of the coveted gloves, no way this can end badly."
- name = "fake insulated gloves"
- icon_state = "yellow"
- item_state = "ygloves"
- siemens_coefficient = 1 //Set to a default of 1, gets overridden in New()
- permeability_coefficient = 0.05
- protective_temperature = 800
- heat_transfer_coefficient = null
- color="yellow"
-
- New()
- siemens_coefficient = pick(0,0,0.25,0.5,0.5,0.75,1.5)
- heat_transfer_coefficient = pick(0.01,0.1,0.25,0.25,0.5)
-
-/obj/item/clothing/gloves/captain
- desc = "Regal blue gloves, with a nice gold trim. Swanky."
- name = "captain's 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 = "botanist's leather gloves"
- icon_state = "leather"
- item_state = "ggloves"
- permeability_coefficient = 0.9
-
-/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
- name = "red gloves"
- desc = "A pair of gloves, they don't look special in any way."
- icon_state = "red"
- item_state = "redgloves"
- color = "red"
-
-/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/defines/obj/clothing/head.dm b/code/defines/obj/clothing/head.dm
deleted file mode 100644
index 915331d8e01..00000000000
--- a/code/defines/obj/clothing/head.dm
+++ /dev/null
@@ -1,231 +0,0 @@
-// HATS. OH MY WHAT A FINE CHAPEAU, GOOD SIR.
-/obj/item/clothing/head
- name = "head"
- icon = 'hats.dmi'
- body_parts_covered = HEAD
- slot_flags = SLOT_HEAD
-
-/obj/item/clothing/head/cakehat
- name = "cake-hat"
- desc = "It's tasty looking!"
- 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|SUITSPACE
- item_state = "caphat"
-
-/obj/item/clothing/head/centhat
- name = "\improper CentComm. hat"
- icon_state = "centcom"
- desc = "It's good to be emperor."
- flags = FPRINT|TABLEPASS|SUITSPACE
- item_state = "centhat"
-
-
-/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 = "It's an amish looking hat."
- icon_state = "tophat"
- item_state = "that"
- flags = FPRINT|TABLEPASS
-
-
-/obj/item/clothing/head/chefhat
- name = "chef's hat"
- desc = "It's a hat used by chefs to keep hair out of your food. Judging by the food in the mess, they don't work."
- icon_state = "chef"
- item_state = "chef"
- desc = "The commander in chef's head wear."
- flags = FPRINT | TABLEPASS
-
-/obj/item/clothing/head/redcoat
- name = "redcoat's hat"
- icon_state = "redcoat"
- desc = "'I guess it's a redhead.'"
- flags = FPRINT | TABLEPASS
-
-/obj/item/clothing/head/mailman
- name = "mailman's 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 = "These were once used by Plague doctors. They're pretty much 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
-
-/obj/item/clothing/head/chaplain_hood
- name = "chaplain's hood"
- desc = "It's hood that covers the head. It keeps you warm during the space winters."
- icon_state = "chaplain_hood"
- flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|BLOCKHAIR
-
-/obj/item/clothing/head/nun_hood
- name = "nun hood"
- desc = "Maximum piety in this star system."
- icon_state = "nun_hood"
- flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|BLOCKHAIR
-
-/obj/item/clothing/head/hasturhood
- name = "hastur's hood"
- desc = "It's unspeakably stylish"
- icon_state = "hasturhood"
- flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|BLOCKHAIR
-
-/obj/item/clothing/head/nursehat
- name = "nurse's hat"
- desc = "It allows quick identification of trained medical personnel."
- icon_state = "nursehat"
- flags = FPRINT|TABLEPASS
-
-/obj/item/clothing/head/secsoft
- name = "soft cap"
- desc = "It's baseball hat in tasteful red colour."
- icon_state = "secsoft"
- flags = FPRINT|TABLEPASS|HEADCOVERSEYES
- item_state = "helmet"
-
-/obj/item/clothing/head/cargosoft
- name = "cargo cap"
- desc = "It's a baseball hat in a tasteless yellow colour."
- icon_state = "cargosoft"
- flags = FPRINT|TABLEPASS|HEADCOVERSEYES
- item_state = "helmet"
- var/flipped = 0
-
-
-// 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's hat"
- desc = "It's a special helmet issued to the Warden of a securiy force. Protects the head from impacts."
- icon_state = "policehelm"
- flags_inv = 0
-
-/obj/item/clothing/head/helmet/cueball
- name = "cueball helmet"
- desc = "A large, featureless white orb mean to be worn on your head. How do you even see out of this thing?"
- icon_state = "cueball"
- flags = FPRINT|TABLEPASS|SUITSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR
- item_state="cueball"
- flags_inv = 0
- armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 0, rad = 0)
-
-/obj/item/clothing/head/syndicatefake
- name = "red space-helmet replica"
- desc = "It's a very convincing 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
- flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
-
-/obj/item/clothing/head/helmet/swat
- name = "\improper SWAT helmet"
- desc = "They're often used by highly trained Swat Members."
- icon_state = "swat"
- flags = FPRINT | TABLEPASS | SUITSPACE | HEADSPACE | HEADCOVERSEYES
- item_state = "swat"
- armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0)
- flags_inv = HIDEEARS|HIDEEYES
-
-/obj/item/clothing/head/helmet/thunderdome
- name = "\improper Thunderdome helmet"
- desc = "'Let the battle commence!'"
- icon_state = "thunderdome"
- flags = FPRINT | TABLEPASS | SUITSPACE | HEADSPACE | HEADCOVERSEYES
- 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 = "It's 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 = "It's 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 = "It's 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 = "You fear to wear it for the negligence it brings."
- icon_state = "capcap"
- flags = FPRINT|TABLEPASS|SUITSPACE
- armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 0, rad = 0)
- flags_inv = 0
-
-/obj/item/clothing/head/helmet/cardborg
- name = "cardborg helmet"
- desc = "A helmet made out of a box."
- icon_state = "cardborg_h"
- item_state = "cardborg_h"
- flags = FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH
- see_face = 0.0
- armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 0, rad = 0)
- flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
diff --git a/code/defines/obj/clothing/jumpsuit.dm b/code/defines/obj/clothing/jumpsuit.dm
deleted file mode 100644
index df2ee9348ee..00000000000
--- a/code/defines/obj/clothing/jumpsuit.dm
+++ /dev/null
@@ -1,544 +0,0 @@
-// 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
- slot_flags = SLOT_ICLOTHING
- 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 = "It's a plain jumpsuit. It seems to have a small dial on the wrist."
- origin_tech = "syndicate=3"
- var/list/clothing_choices = list()
-
-/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 = "feminine black jumpsuit"
- desc = "It's very smart and in a ladies-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 = "It's standardised 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 = "It's made of a special fiber which gives special 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 = "It's a jumpsuit worn by atmospheric technicians."
- name = "atmospheric technician's jumpsuit"
- icon_state = "atmos"
- item_state = "atmos_suit"
- color = "atmos"
-
-/obj/item/clothing/under/rank/captain
- desc = "It's a blue jumpsuit with some gold markings denoting the rank of \"Captain\"."
- name = "captain's jumpsuit"
- icon_state = "captain"
- item_state = "caparmor"
- color = "captain"
-
-/obj/item/clothing/under/rank/chaplain
- desc = "It's a black jumpsuit, often worn by religious folk."
- name = "chaplain's jumpsuit"
- icon_state = "chaplain"
- item_state = "bl_suit"
- color = "chapblack"
-
-/obj/item/clothing/under/rank/engineer
- desc = "It's an orange high visibility jumpsuit worn by engineers. It has minor radiation shielding."
- name = "engineer's 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 = "forensic technician's jumpsuit"
- icon_state = "darkred"
- item_state = "r_suit"
- color = "forensicsred"
-
-/obj/item/clothing/under/rank/warden
- desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for more robust protection. It has the word \"Warden\" written on the shoulders."
- name = "warden's jumpsuit"
- icon_state = "warden"
- item_state = "r_suit"
- color = "warden"
- armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
-
-/obj/item/clothing/under/rank/security
- name = "security officer's jumpsuit"
- desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for robust protection."
- icon_state = "security"
- item_state = "r_suit"
- color = "secred"
- 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's jumpsuit"
- desc = "It's the standard issue pretty-boy outfit, as seen on Holo-Vision."
- 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 = "It's made of a special fiber that gives special protection against biohazards. It has a genetics rank stripe on it."
- name = "geneticist's 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 = "It's made of a special fiber that gives special protection against biohazards. It has a chemist rank stripe on it."
- name = "chemist's jumpsuit"
- icon_state = "chemistry"
- 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 = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it."
- name = "virologist's 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 = "It's a jumpsuit worn by someone who works in the position of \"Head of Personnel\"."
- name = "head of personnel's jumpsuit"
- icon_state = "hop"
- item_state = "b_suit"
- color = "hop"
-
-/obj/item/clothing/under/rank/centcom_officer
- desc = "It's a jumpsuit worn by CentCom Officers."
- name = "\improper CentCom officer's jumpsuit"
- icon_state = "officer"
- item_state = "g_suit"
- color = "officer"
-
-/obj/item/clothing/under/rank/centcom_commander
- desc = "It's a jumpsuit worn by CentCom's highest-tier Commanders."
- name = "\improper CentCom officer's jumpsuit"
- icon_state = "centcom"
- item_state = "dg_suit"
- color = "centcom"
-
-/obj/item/clothing/under/rank/miner
- desc = "It's a snappy jumpsuit with a sturdy set of overalls. It is very dirty."
- name = "shaft miner's jumpsuit"
- icon_state = "miner"
- item_state = "miner"
- color = "miner"
-
-/obj/item/clothing/under/rank/roboticist
- desc = "It's a slimming black with reinforced seams; great for industrial work."
- name = "roboticist's jumpsuit"
- icon_state = "robotics"
- item_state = "robotics"
- color = "robotics"
-
-/obj/item/clothing/under/rank/head_of_security
- desc = "It's a jumpsuit worn by those few with the dedication to achieve the position of \"Head of Security\". It has additional armor to protect the wearer."
- name = "head of security's 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 = "It's a high visibility jumpsuit given to those engineers insane enough to achieve the rank of \"Chief engineer\". It has minor radiation shielding."
- name = "chief engineer's 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 = "It's a jumpsuit worn by those with the know-how to achieve the position of \"Research Director\". Its fabric provides minor protection from biological contaminants."
- name = "research director's 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 = "It's the official uniform of the station's janitor. It 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 = "It's made of a special fiber that provides minor protection against biohazards. It has markings that denote 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 = "It's made of a special fiber that provides minor protection against biohazards. It 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)
-
-//SKRUBS
-
-/obj/item/clothing/under/rank/medical/blue
- name = "medical scrubs"
- desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in baby blue."
- icon_state = "scrubsblue"
- color = "scrubsblue"
-
-/obj/item/clothing/under/rank/medical/green
- name = "medical scrubs"
- desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in dark green."
- icon_state = "scrubsgreen"
- color = "scrubsgreen"
-
-/obj/item/clothing/under/rank/medical/purple
- name = "medical scrubs"
- desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in deep purple."
- icon_state = "scrubspurple"
- color = "scrubspurple"
-
-/obj/item/clothing/under/rank/chief_medical_officer
- desc = "It's a jumpsuit worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection."
- name = "chief medical officer's jumpsuit"
- icon_state = "cmo"
- item_state = "w_suit"
- color = "cmo"
- 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 = "It's a jumpsuit designed to protect against minor plant-related hazards."
- name = "botanist's 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 = "It's a jumpsuit worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper."
- icon_state = "qm"
- item_state = "lb_suit"
- color = "qm"
-
-/obj/item/clothing/under/rank/cargotech
- name = "cargo technician's jumpsuit"
- desc = "Shooooorts! They're comfy and easy to wear!"
- icon_state = "cargotech"
- item_state = "lb_suit"
- color = "cargo"
-
-/obj/item/clothing/under/rank/mailman
- name = "mailman's jumpsuit"
- desc = "'Special delivery!'"
- icon_state = "mailman"
- item_state = "b_suit"
- color = "mailman"
-
-/obj/item/clothing/under/sexyclown
- name = "sexy-clown suit"
- desc = "It makes you look HONKable!"
- icon_state = "sexyclown"
- item_state = "sexyclown"
- color = "sexyclown"
-
-/obj/item/clothing/under/rank/bartender
- desc = "It looks like it could use some 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 = "'HONK!'"
- icon_state = "clown"
- item_state = "clown"
- color = "clown"
-
-/obj/item/clothing/under/rank/chef
- desc = "It's an apron which is given 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 = "It's made of a special fiber which provides minor protection against biohazards."
- name = "geneticist's 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 = "It's made of a special fiber which provides minor protection against biohazards."
- name = "chemist's 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's 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's 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)
-
-/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 that stylish."
- name = "head of security's 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 = "It's a very amish looking suit."
- name = "amish suit"
- icon_state = "sl_suit"
- color = "sl_suit"
-
-/obj/item/clothing/under/syndicate
- name = "tactical turtleneck"
- desc = "It's some non-descript, slightly suspicious looking, 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 = "\improper Tacticool turtleneck"
- desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-."
- 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's outfit"
- desc = "It's not very colourful."
- icon_state = "mime"
- item_state = "mime"
- color = "mime"
-
-/obj/item/clothing/under/waiter
- name = "waiter's outfit"
- desc = "It's a very smart uniform with 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!"
- gender = PLURAL
- 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 = "\improper NASA jumpsuit"
- desc = "It has a NASA logo on it and is made of space-proofed materials."
- icon_state = "black"
- item_state = "bl_suit"
- color = "black"
- 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 = "\improper Deadpool suit"
- desc = "It's the suit of Deadpool!"
- icon_state = "spiderman"
- item_state = "spiderman"
- color = "spiderman"
-
-/obj/item/clothing/under/rank/nursesuit
- desc = "It's a jumpsuit commonly worn by nursing staff in the medical department."
- name = "nurse's 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 = "it's a cybernetically enhanced jumpsuit used for 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)
\ No newline at end of file
diff --git a/code/defines/obj/clothing/mask.dm b/code/defines/obj/clothing/mask.dm
deleted file mode 100644
index 1052684c0c4..00000000000
--- a/code/defines/obj/clothing/mask.dm
+++ /dev/null
@@ -1,180 +0,0 @@
-// MASK WAS THAT MOVIE WITH THAT GUY WITH THE MESSED UP FACE. WHAT'S HIS NAME . . . JIM CARREY, I THINK.
-//why is this up here -Pete
-//also: please someone make this less terrible, why are things that work with internals not all under one parent, why why why why why whyyyyyyyyyyyyyyy
-
-/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)
- slot_flags = SLOT_MASK
-
-/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
- w_class = 2
- protective_temperature = 420
- heat_transfer_coefficient = 0.90
- gas_transfer_coefficient = 0.10
- permeability_coefficient = 0.50
-
-/obj/item/clothing/mask/breath/medical
- desc = "A close-fitting sterile mask that can be connected to an air supply."
- name = "medical mask"
- icon_state = "medical"
- item_state = "medical"
-
-//WHY DOES THIS EXIST
-/obj/item/clothing/mask/spiderman
- desc = "A mask of Deadpool!"
- name = "\improper 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/balaclava
- name = "balaclava"
- desc = "LOADSAMONEY"
- icon_state = "balaclava"
- item_state = "balaclava"
- see_face = 0.0
- flags = FPRINT|TABLEPASS|HEADSPACE|BLOCKHAIR
- w_class = 2
-
-/obj/item/clothing/mask/luchador
- name = "Luchador Mask"
- desc = "Worn by robust fighters, flying high to defeat their foes!"
- icon_state = "luchag"
- item_state = "luchag"
- flags = FPRINT|TABLEPASS|HEADSPACE|BLOCKHAIR
- see_face = 0.0
- w_class = 2
-
-/obj/item/clothing/mask/luchador/tecnicos
- name = "Tecnicos Mask"
- desc = "Worn by robust fighters who uphold justice and fight honorably."
- icon_state = "luchador"
- item_state = "luchador"
-
-/obj/item/clothing/mask/luchador/rudos
- name = "Rudos Mask"
- desc = "Worn by robust fighters who are willing to do anything to win."
- icon_state = "luchar"
- item_state = "luchar"
-
-/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/fakemoustache
- name = "fake moustache"
- desc = "Warning: moustache is fake."
- icon_state = "fake-moustache"
- flags = FPRINT|TABLEPASS
- see_face = 0.0 //Well, it's a disguise, of course.
-
-//This now uses the alt sprites, like the emergency gasmask. -Pete
-/obj/item/clothing/mask/gas
- name = "gas mask"
- desc = "A face-covering mask that can be connected to an air supply."
- icon_state = "gas_alt"
- flags = FPRINT|TABLEPASS|SUITSPACE|MASKCOVERSMOUTH|MASKCOVERSEYES
- flags_inv = HIDEEARS|HIDEEYES
- w_class = 3.0
- see_face = 0.0
- item_state = "gas_alt"
- 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 = "\improper 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."
- 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 wig and 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"
\ No newline at end of file
diff --git a/code/defines/obj/clothing/costume.dm b/code/defines/obj/costume.dm
similarity index 76%
rename from code/defines/obj/clothing/costume.dm
rename to code/defines/obj/costume.dm
index 7e50baa5ff8..2dd6fc327c9 100644
--- a/code/defines/obj/clothing/costume.dm
+++ b/code/defines/obj/costume.dm
@@ -54,7 +54,7 @@
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)
+ new /obj/item/clothing/head/cueball(src.loc)
del(src)
/obj/effect/landmark/costume/highlander/New()
@@ -102,15 +102,6 @@
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)
@@ -122,18 +113,6 @@
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/marisawizard/fake/New()
new /obj/item/clothing/head/wizard/marisa/fake(src.loc)
new/obj/item/clothing/suit/wizrobe/marisa/fake(src.loc)
@@ -152,22 +131,4 @@
/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 = name
- del(src)
- */
\ No newline at end of file
+ del(src)
\ No newline at end of file
diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm
index 68c2bf86817..0f9f45482df 100644
--- a/code/game/gamemodes/changeling/changeling.dm
+++ b/code/game/gamemodes/changeling/changeling.dm
@@ -6,6 +6,7 @@
name = "changeling"
config_tag = "changeling"
restricted_jobs = list("AI", "Cyborg")
+ protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain")
required_players = 15
required_enemies = 1
recommended_enemies = 4
diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm
index 76a3976a15f..c0a27ceb32b 100644
--- a/code/game/gamemodes/cult/cult.dm
+++ b/code/game/gamemodes/cult/cult.dm
@@ -20,8 +20,8 @@
/datum/game_mode/cult
name = "cult"
config_tag = "cult"
- restricted_jobs = list("Chaplain","AI", "Cyborg")
- protected_jobs = list("Security Officer", "Warden", "Detective", "Captain", "Head of Security")
+ restricted_jobs = list("Chaplain","AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain")
+ protected_jobs = list()
required_players = 15
required_enemies = 3
recommended_enemies = 4
diff --git a/code/game/gamemodes/factions.dm b/code/game/gamemodes/factions.dm
index ed1ef9a9f9b..5045cd8ed3a 100644
--- a/code/game/gamemodes/factions.dm
+++ b/code/game/gamemodes/factions.dm
@@ -142,7 +142,7 @@ Devices and Tools;
/obj/item/weapon/card/emag:3:Cryptographic Sequencer;
/obj/item/weapon/storage/toolbox/syndicate:1:Fully Loaded Toolbox;
/obj/item/weapon/storage/syndie_kit/space:3:Space Suit;
-/obj/item/clothing/glasses/thermal:3:Thermal Imaging Glasses;
+/obj/item/clothing/glasses/thermal/syndi:3:Thermal Imaging Glasses;
/obj/item/device/encryptionkey/binary:3:Binary Translator Key;
/obj/item/weapon/aiModule/syndicate:7:Hacked AI Upload Module;
/obj/item/weapon/plastique:2:C-4 (Destroys walls);
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 3ca08e9c50b..6e92a044c91 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -52,7 +52,7 @@ Devices and Tools;
/obj/item/weapon/card/emag:3:Cryptographic Sequencer;
/obj/item/weapon/storage/toolbox/syndicate:1:Fully Loaded Toolbox;
/obj/item/weapon/storage/syndie_kit/space:3:Space Suit;
-/obj/item/clothing/glasses/thermal:3:Thermal Imaging Glasses;
+/obj/item/clothing/glasses/thermal/syndi:3:Thermal Imaging Glasses;
/obj/item/device/encryptionkey/binary:3:Binary Translator Key;
/obj/item/weapon/aiModule/syndicate:7:Hacked AI Upload Module;
/obj/item/weapon/plastique:2:C-4 (Destroys walls);
diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm
index 1410591ab94..f9ccea19f26 100644
--- a/code/game/gamemodes/traitor/traitor.dm
+++ b/code/game/gamemodes/traitor/traitor.dm
@@ -5,8 +5,8 @@
/datum/game_mode/traitor
name = "traitor"
config_tag = "traitor"
- restricted_jobs = list()
- protected_jobs = list("Cyborg", "AI", "Security Officer", "Warden", "Detective", "Head of Security", "Captain")
+ restricted_jobs = list("Cyborg")//They are part of the AI if he is traitor so are they, they use to get double chances
+ protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain")//AI", Currently out of the list as malf does not work for shit
required_players = 0
required_enemies = 1
recommended_enemies = 4
diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm
index 90981c8ab52..b1e7134dbc9 100644
--- a/code/game/jobs/job/engineering.dm
+++ b/code/game/jobs/job/engineering.dm
@@ -18,7 +18,7 @@
H.equip_if_possible(new /obj/item/clothing/under/rank/chief_engineer(H), H.slot_w_uniform)
H.equip_if_possible(new /obj/item/device/pda/heads/ce(H), H.slot_l_store)
H.equip_if_possible(new /obj/item/clothing/shoes/brown(H), H.slot_shoes)
- H.equip_if_possible(new /obj/item/clothing/head/helmet/hardhat/white(H), H.slot_head)
+ H.equip_if_possible(new /obj/item/clothing/head/hardhat/white(H), H.slot_head)
var/obj/item/clothing/mask/cigarette/CIG = new /obj/item/clothing/mask/cigarette(H)
CIG.light("")
H.equip_if_possible(CIG, H.slot_wear_mask)
@@ -51,7 +51,7 @@
H.equip_if_possible(new /obj/item/clothing/under/rank/engineer(H), H.slot_w_uniform)
H.equip_if_possible(new /obj/item/clothing/shoes/orange(H), H.slot_shoes)
H.equip_if_possible(new /obj/item/weapon/storage/belt/utility/full(H), H.slot_belt)
- H.equip_if_possible(new /obj/item/clothing/head/helmet/hardhat(H), H.slot_head)
+ H.equip_if_possible(new /obj/item/clothing/head/hardhat(H), H.slot_head)
H.equip_if_possible(new /obj/item/device/t_scanner(H), H.slot_r_store)
H.equip_if_possible(new /obj/item/device/pda/engineering(H), H.slot_l_store)
if(H.backbag == 1)
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index e3f58584ad6..1ae8a046ef0 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -12,7 +12,7 @@ var/global/list/autolathe_recipes = list( \
new /obj/item/weapon/screwdriver(), \
new /obj/item/weapon/wirecutters(), \
new /obj/item/weapon/wrench(), \
- new /obj/item/clothing/head/helmet/welding(), \
+ new /obj/item/clothing/head/welding(), \
new /obj/item/weapon/stock_parts/console_screen(), \
new /obj/item/weapon/airlock_electronics(), \
new /obj/item/stack/sheet/metal(), \
diff --git a/code/game/objects/closets/firecloset.dm b/code/game/objects/closets/firecloset.dm
index 3cff6a76c83..42b494f0c06 100644
--- a/code/game/objects/closets/firecloset.dm
+++ b/code/game/objects/closets/firecloset.dm
@@ -8,7 +8,7 @@
new /obj/item/device/flashlight(src)
new /obj/item/weapon/tank/oxygen/red(src)
new /obj/item/weapon/extinguisher(src)
- new /obj/item/clothing/head/helmet/hardhat/red(src)
+ new /obj/item/clothing/head/hardhat/red(src)
/obj/structure/closet/firecloset/New()
..()
@@ -17,7 +17,7 @@
new /obj/item/clothing/mask/gas(src)
new /obj/item/weapon/tank/oxygen/red(src)
new /obj/item/weapon/extinguisher(src)
- new /obj/item/clothing/head/helmet/hardhat/red(src)
+ new /obj/item/clothing/head/hardhat/red(src)
/*switch (pickweight(list("nothing" = 5, "bare-bones" = 35, "basic" = 40, "pickpocketed" = 10, "untouched" = 10)))
if ("nothing")
@@ -70,7 +70,7 @@
if(prob(5))
new /obj/item/clothing/gloves/yellow(src)
if(prob(40))
- new /obj/item/clothing/head/helmet/hardhat(src)
+ new /obj/item/clothing/head/hardhat(src)
/obj/structure/closet/radiation/New()
..()
diff --git a/code/game/objects/closets/secure/engineering.dm b/code/game/objects/closets/secure/engineering.dm
index 82e99b54eac..bcf5ef629d7 100644
--- a/code/game/objects/closets/secure/engineering.dm
+++ b/code/game/objects/closets/secure/engineering.dm
@@ -15,8 +15,8 @@
new /obj/item/weapon/storage/backpack/industrial(src)
new /obj/item/blueprints(src)
new /obj/item/clothing/under/rank/chief_engineer(src)
- new /obj/item/clothing/head/helmet/hardhat/white(src)
- new /obj/item/clothing/head/helmet/welding(src)
+ new /obj/item/clothing/head/hardhat/white(src)
+ new /obj/item/clothing/head/welding(src)
new /obj/item/clothing/gloves/yellow(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/weapon/cartridge/ce(src)
@@ -73,9 +73,9 @@
New()
..()
sleep(2)
- new /obj/item/clothing/head/helmet/welding(src)
- new /obj/item/clothing/head/helmet/welding(src)
- new /obj/item/clothing/head/helmet/welding(src)
+ new /obj/item/clothing/head/welding(src)
+ new /obj/item/clothing/head/welding(src)
+ new /obj/item/clothing/head/welding(src)
new /obj/item/weapon/weldingtool/largetank(src)
new /obj/item/weapon/weldingtool/largetank(src)
new /obj/item/weapon/weldingtool/largetank(src)
diff --git a/code/game/objects/closets/secure/hydroponics.dm b/code/game/objects/closets/secure/hydroponics.dm
index fc79ff02b7b..bf75af4cbde 100644
--- a/code/game/objects/closets/secure/hydroponics.dm
+++ b/code/game/objects/closets/secure/hydroponics.dm
@@ -20,7 +20,7 @@
new /obj/item/weapon/plantbag(src)
new /obj/item/clothing/under/rank/hydroponics(src)
new /obj/item/device/analyzer/plant_analyzer(src)
- new /obj/item/clothing/head/helmet/greenbandana(src)
+ new /obj/item/clothing/head/greenbandana(src)
new /obj/item/weapon/minihoe(src)
new /obj/item/weapon/hatchet(src)
return
\ No newline at end of file
diff --git a/code/game/objects/devices/flashlight.dm b/code/game/objects/devices/flashlight.dm
index 49f1b61c860..d1a4bc734b3 100644
--- a/code/game/objects/devices/flashlight.dm
+++ b/code/game/objects/devices/flashlight.dm
@@ -134,59 +134,6 @@
if(M.reagents) reagents.trans_to(M, 15)
return
-
-//Looks like most of the clothing lights are here
-/obj/item/clothing/head/helmet/hardhat/attack_self(mob/user)
- if(!isturf(user.loc))
- user << "You cannot turn the light on while in this [user.loc]" //To prevent some lighting anomalities.
- return
- on = !on
- icon_state = "hardhat[on]_[color]"
- item_state = "hardhat[on]_[color]"
-
- if(on)
- user.total_luminosity += brightness_on
- else
- user.total_luminosity -= brightness_on
-
-/obj/item/clothing/head/helmet/hardhat/pickup(mob/user)
- if(on)
- user.total_luminosity += brightness_on
- user.UpdateLuminosity()
- src.sd_SetLuminosity(0)
-
-/obj/item/clothing/head/helmet/hardhat/dropped(mob/user)
- if(on)
- user.total_luminosity -= brightness_on
- user.UpdateLuminosity()
- src.sd_SetLuminosity(brightness_on)
-
-//RIG helmet light
-/obj/item/clothing/head/helmet/space/rig/attack_self(mob/user)
- if(!isturf(user.loc))
- user << "You cannot turn the light on while in this [user.loc]" //To prevent some lighting anomalities.
- return
- on = !on
- icon_state = "rig[on]-[color]"
- item_state = "rig[on]-[color]"
-
- if(on)
- user.total_luminosity += brightness_on
- else
- user.total_luminosity -= brightness_on
-
-/obj/item/clothing/head/helmet/space/rig/pickup(mob/user)
- if(on)
- user.total_luminosity += brightness_on
- user.UpdateLuminosity()
- src.sd_SetLuminosity(0)
-
-/obj/item/clothing/head/helmet/space/rig/dropped(mob/user)
- if(on)
- user.total_luminosity -= brightness_on
- user.UpdateLuminosity()
- src.sd_SetLuminosity(brightness_on)
-
// the desk lamps are a bit special
/obj/item/device/flashlight/lamp
name = "desk lamp"
diff --git a/code/game/objects/items/clothing.dm b/code/game/objects/items/clothing.dm
index 3343bf831cb..e4ef3f7a809 100644
--- a/code/game/objects/items/clothing.dm
+++ b/code/game/objects/items/clothing.dm
@@ -104,217 +104,6 @@ THERMAL GLASSES
return
-/obj/item/clothing/under/chameleon/New()
- ..()
-
- for(var/U in typesof(/obj/item/clothing/under/color)-(/obj/item/clothing/under/color))
-
- var/obj/item/clothing/under/V = new U
- src.clothing_choices += V
-
- for(var/U in typesof(/obj/item/clothing/under/rank)-(/obj/item/clothing/under/rank))
-
- var/obj/item/clothing/under/V = new U
- src.clothing_choices += V
-
- return
-
-
-/obj/item/clothing/under/chameleon/all/New()
- ..()
-
- var/blocked = list(/obj/item/clothing/under/chameleon, /obj/item/clothing/under/chameleon/all)
- //to prevent an infinite loop
-
- for(var/U in typesof(/obj/item/clothing/under)-blocked)
-
- var/obj/item/clothing/under/V = new U
- src.clothing_choices += V
-
-
-
-/obj/item/clothing/under/chameleon/attackby(obj/item/clothing/under/U as obj, mob/user as mob)
- ..()
-
- if(istype(U, /obj/item/clothing/under/chameleon))
- user << "\red Nothing happens."
- return
-
- if(istype(U, /obj/item/clothing/under))
-
- if(src.clothing_choices.Find(U))
- user << "\red Pattern is already recognised by the suit."
- return
-
- src.clothing_choices += U
-
- user << "\red Pattern absorbed by the suit."
-
-/obj/item/clothing/under/chameleon/verb/change()
- set name = "Change Color"
- set category = "Object"
- set src in usr
-
- if(icon_state == "psyche")
- usr << "\red Your suit is malfunctioning"
- return
-
- var/obj/item/clothing/under/A
-
- A = input("Select Colour to change it to", "BOOYEA", A) in clothing_choices
-
- if(!A)
- return
-
- desc = null
- permeability_coefficient = 0.90
-
- desc = A.desc
- name = A.name
- icon_state = A.icon_state
- item_state = A.item_state
- color = A.color
- usr.update_inv_w_uniform() //so our overlays update.
-
-/obj/item/clothing/under/chameleon/emp_act(severity)
- name = "psychedelic"
- desc = "Groovy!"
- icon_state = "psyche"
- color = "psyche"
- spawn(200)
- name = "Black Jumpsuit"
- icon_state = "bl_suit"
- color = "black"
- desc = null
- ..()
-
-/*
-/obj/item/clothing/suit/swat_suit/death_commando
- name = "Death Commando Suit"
- icon_state = "death_commando_suit"
- item_state = "death_commando_suit"
- flags = FPRINT | TABLEPASS | SUITSPACE*/
-
-/obj/item/clothing/mask/gas/death_commando
- name = "Death Commando Mask"
- icon_state = "death_commando_mask"
- item_state = "death_commando_mask"
-
-/obj/item/clothing/under/rank/New()
- sensor_mode = pick(0,1,2,3)
- ..()
-
-/obj/item/clothing/under/verb/toggle()
- set name = "Toggle Suit Sensors"
- set category = "Object"
- set src in usr
- var/mob/M = usr
- if (istype(M, /mob/dead/)) return
- if (usr.stat) return
- if(src.has_sensor >= 2)
- usr << "The controls are locked."
- return 0
- if(src.has_sensor <= 0)
- usr << "This suit does not have any sensors"
- return 0
- src.sensor_mode += 1
- if(src.sensor_mode > 3)
- src.sensor_mode = 0
- switch(src.sensor_mode)
- if(0)
- usr << "You disable your suit's remote sensing equipment."
- if(1)
- usr << "Your suit will now report whether you are live or dead."
- if(2)
- usr << "Your suit will now report your vital lifesigns."
- if(3)
- usr << "Your suit will now report your vital lifesigns as well as your coordinate position."
- ..()
-
-/obj/item/clothing/under/examine()
- set src in view()
- ..()
- switch(src.sensor_mode)
- if(0)
- usr << "Its sensors appear to be disabled."
- if(1)
- usr << "Its binary life sensors appear to be enabled."
- if(2)
- usr << "Its vital tracker appears to be enabled."
- if(3)
- usr << "Its vital tracker and tracking beacon appear to be enabled."
-
-
-/obj/item/clothing/head/helmet/welding/attack_self()
- toggle()
-
-/obj/item/clothing/head/helmet/welding/verb/toggle()
- set category = "Object"
- set name = "Adjust welding mask"
- set src in usr
-
- if(usr.canmove && !usr.stat && !usr.restrained())
- if(src.up)
- src.up = !src.up
- src.see_face = !src.see_face
- src.flags |= HEADCOVERSEYES
- flags_inv |= HIDEMASK|HIDEEARS|HIDEEYES
- icon_state = "welding"
- usr << "You flip the mask down to protect your eyes."
- else
- src.up = !src.up
- src.see_face = !src.see_face
- src.flags &= ~HEADCOVERSEYES
- flags_inv &= ~(HIDEMASK|HIDEEARS|HIDEEYES)
- icon_state = "weldingup"
- usr << "You push the mask up out of your face."
- usr.update_inv_head() //so our mob-overlays update
-
-/obj/item/clothing/head/cargosoft/dropped()
- src.icon_state = "cargosoft"
- src.flipped=0
- ..()
-
-/obj/item/clothing/head/cargosoft/verb/flip()
- set category = "Object"
- set name = "Flip cap"
- set src in usr
- if(usr.canmove && !usr.stat && !usr.restrained())
- src.flipped = !src.flipped
- if(src.flipped)
- icon_state = "cargosoft_flipped"
- usr << "You flip the hat backwards."
- else
- icon_state = "cargosoft"
- usr << "You flip the hat back in normal position."
- usr.update_inv_head() //so our mob-overlays update
-
-
-/obj/item/clothing/shoes/magboots/verb/toggle()
- set name = "Toggle Magboots"
- set category = "Object"
- set src in usr
- if(src.magpulse)
- src.flags &= ~NOSLIP
- src.slowdown = SHOES_SLOWDOWN
- src.magpulse = 0
- icon_state = "magboots0"
- usr << "You disable the mag-pulse traction system."
- else
- src.flags |= NOSLIP
- src.slowdown = 2
- src.magpulse = 1
- icon_state = "magboots1"
- usr << "You enable the mag-pulse traction system."
- usr.update_inv_shoes() //so our mob-overlays update
-
-/obj/item/clothing/shoes/magboots/examine()
- set src in view()
- ..()
- var/state = "disabled"
- if(src.flags&NOSLIP)
- state = "enabled"
- usr << "Its mag-pulse traction system appears to be [state]."
/obj/item/clothing/suit/suit/verb/toggle()
set name = "Toggle Jacket Buttons"
@@ -337,62 +126,6 @@ THERMAL GLASSES
return
usr.update_inv_wear_suit()
-/obj/item/clothing/suit/labcoat/verb/toggle()
- set name = "Toggle Labcoat Buttons"
- set category = "Object"
- set src in usr
-
- if(!usr.canmove || usr.stat || usr.restrained())
- return 0
-
- switch(icon_state)
- if("labcoat_open")
- src.icon_state = "labcoat"
- usr << "You button up the labcoat."
- if("labcoat")
- src.icon_state = "labcoat_open"
- usr << "You unbutton the labcoat."
- if("labcoat_cmo_open")
- src.icon_state = "labcoat_cmo"
- usr << "You button up the labcoat."
- if("labcoat_cmo")
- src.icon_state = "labcoat_cmo_open"
- usr << "You unbutton the labcoat."
- if("labcoat_gen_open")
- src.icon_state = "labcoat_gen"
- usr << "You button up the labcoat."
- if("labcoat_gen")
- src.icon_state = "labcoat_gen_open"
- usr << "You unbutton the labcoat."
- if("labcoat_chem_open")
- src.icon_state = "labcoat_chem"
- usr << "You button up the labcoat."
- if("labcoat_chem")
- src.icon_state = "labcoat_chem_open"
- usr << "You unbutton the labcoat."
- if("labcoat_vir_open")
- src.icon_state = "labcoat_vir"
- usr << "You button up the labcoat."
- if("labcoat_vir")
- src.icon_state = "labcoat_vir_open"
- usr << "You unbutton the labcoat."
- if("labcoat_tox_open")
- src.icon_state = "labcoat_tox"
- usr << "You button up the labcoat."
- if("labcoat_tox")
- src.icon_state = "labcoat_tox_open"
- usr << "You unbutton the labcoat."
- if("labgreen_open")
- src.icon_state = "labgreen"
- usr << "You button up the labcoat."
- if("labgreen")
- src.icon_state = "labgreen_open"
- usr << "You unbutton the labcoat."
- else
- usr << "You attempt to button-up the velcro on your [src], before promptly realising how retarded you are."
- return
- usr.update_inv_wear_suit() //so our overlays update
-
/obj/item/clothing/head/ushanka/attack_self(mob/user as mob)
if(src.icon_state == "ushankadown")
src.icon_state = "ushankaup"
@@ -404,16 +137,4 @@ THERMAL GLASSES
user << "You lower the ear flaps on the ushanka."
-/obj/item/clothing/glasses/thermal/emp_act(severity)
- if(istype(src.loc, /mob/living/carbon/human))
- var/mob/living/carbon/human/M = src.loc
- M << "\red The Optical Thermal Scanner overloads and blinds you!"
- if(M.glasses == src)
- M.eye_blind = 3
- M.eye_blurry = 5
- M.disabilities |= 1
- spawn(100)
- M.disabilities &= ~1
- ..()
-
diff --git a/code/game/objects/items/weapons/hydroponics.dm b/code/game/objects/items/weapons/hydroponics.dm
index 9767f4f868b..0b97c0a6bc5 100644
--- a/code/game/objects/items/weapons/hydroponics.dm
+++ b/code/game/objects/items/weapons/hydroponics.dm
@@ -159,7 +159,7 @@ Craftables (Cob pipes, potato batteries, pumpkinheads)
..()
if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || istype(W, /obj/item/weapon/twohanded/fireaxe) || istype(W, /obj/item/weapon/kitchen/utensil/knife) || istype(W, /obj/item/weapon/kitchenknife) || istype(W, /obj/item/weapon/melee/energy))
user.show_message("You carve a face into [src]!", 1)
- new /obj/item/clothing/head/helmet/hardhat/pumpkinhead (user.loc)
+ new /obj/item/clothing/head/pumpkinhead (user.loc)
del(src)
return
diff --git a/code/game/objects/stacks/metal.dm b/code/game/objects/stacks/metal.dm
index 31f110d98a0..e45650f7a28 100644
--- a/code/game/objects/stacks/metal.dm
+++ b/code/game/objects/stacks/metal.dm
@@ -151,7 +151,7 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list ( \
new/datum/stack_recipe("light bulbs", /obj/item/weapon/storage/lightbox/bulbs), \
new/datum/stack_recipe("mouse traps", /obj/item/weapon/storage/mousetraps), \
new/datum/stack_recipe("cardborg suit", /obj/item/clothing/suit/cardborg, 3), \
- new/datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/helmet/cardborg), \
+ new/datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/cardborg), \
)
/obj/item/stack/sheet/cardboard
diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm
index 40cd4e7b2e9..f7c8851b964 100644
--- a/code/game/objects/storage/storage.dm
+++ b/code/game/objects/storage/storage.dm
@@ -322,7 +322,7 @@
if ("murder")
new /obj/item/weapon/melee/energy/sword(src)
- new /obj/item/clothing/glasses/thermal(src)
+ new /obj/item/clothing/glasses/thermal/syndi(src)
new /obj/item/weapon/card/emag(src)
new /obj/item/clothing/shoes/syndigaloshes(src)
return
diff --git a/code/game/objects/uplinks.dm b/code/game/objects/uplinks.dm
index 1b4c88512ee..3008f28c605 100644
--- a/code/game/objects/uplinks.dm
+++ b/code/game/objects/uplinks.dm
@@ -124,7 +124,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid
randomItems.Add("/obj/item/weapon/storage/syndie_kit/space") //Syndicate Space Suit
randomItems.Add("/obj/item/device/encryptionkey/binary") //Binary Translator Key
randomItems.Add("/obj/item/weapon/storage/syndie_kit/imp_freedom") //Freedom Implant
- randomItems.Add("/obj/item/clothing/glasses/thermal") //Thermal Imaging Goggles
+ randomItems.Add("/obj/item/clothing/glasses/thermal/syndi") //Thermal Imaging Goggles
if(uses > 1)
/*
@@ -165,7 +165,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid
uses -= 4
if("/obj/item/weapon/storage/emp_kit" , "/obj/item/weapon/pen/paralysis" , "/obj/item/weapon/cartridge/syndicate" , "/obj/item/clothing/under/chameleon" , \
"/obj/item/weapon/card/id/syndicate" , "/obj/item/weapon/card/emag" , "/obj/item/weapon/storage/syndie_kit/space" , "/obj/item/device/encryptionkey/binary" , \
- "/obj/item/weapon/storage/syndie_kit/imp_freedom" , "/obj/item/clothing/glasses/thermal")
+ "/obj/item/weapon/storage/syndie_kit/imp_freedom" , "/obj/item/clothing/glasses/thermal/syndi")
uses -= 3
if("/obj/item/ammo_magazine/a357" , "/obj/item/clothing/shoes/syndigaloshes" , "/obj/item/weapon/plastique")
uses -= 2
@@ -221,7 +221,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid
feedback_add_details("traitor_uplink_items_bought","BT")
if("/obj/item/weapon/storage/syndie_kit/imp_freedom")
feedback_add_details("traitor_uplink_items_bought","FI")
- if("/obj/item/clothing/glasses/thermal")
+ if("/obj/item/clothing/glasses/thermal/syndi")
feedback_add_details("traitor_uplink_items_bought","TM")
if("/obj/item/ammo_magazine/a357")
feedback_add_details("traitor_uplink_items_bought","RA")
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index e7991d4da9f..c968b08209c 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -585,7 +585,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
M.equip_if_possible(new /obj/item/clothing/shoes/white(M), M.slot_shoes)
M.equip_if_possible(new /obj/item/clothing/gloves/latex(M), M.slot_gloves)
M.equip_if_possible(new /obj/item/clothing/mask/surgical(M), M.slot_wear_mask)
- M.equip_if_possible(new /obj/item/clothing/head/helmet/welding(M), M.slot_head)
+ M.equip_if_possible(new /obj/item/clothing/head/welding(M), M.slot_head)
M.equip_if_possible(new /obj/item/device/radio/headset(M), M.slot_ears)
M.equip_if_possible(new /obj/item/clothing/glasses/thermal/monocle(M), M.slot_glasses)
M.equip_if_possible(new /obj/item/clothing/suit/apron(M), M.slot_wear_suit)
diff --git a/code/defines/obj/clothing/ears.dm b/code/modules/clothing/ears.dm
similarity index 85%
rename from code/defines/obj/clothing/ears.dm
rename to code/modules/clothing/ears.dm
index 12a0a2d4e55..07e82280cdd 100644
--- a/code/defines/obj/clothing/ears.dm
+++ b/code/modules/clothing/ears.dm
@@ -1,5 +1,3 @@
-// EARS
-
/obj/item/clothing/ears
name = "ears"
w_class = 1.0
diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm
index dfe3df7686c..12b0cd3a99c 100644
--- a/code/modules/clothing/glasses/glasses.dm
+++ b/code/modules/clothing/glasses/glasses.dm
@@ -79,14 +79,32 @@
src.hud = new/obj/item/clothing/glasses/hud/security(src)
return
-/obj/item/clothing/glasses/thermal //These are now a traitor item, concealed as mesons. -Pete
+/obj/item/clothing/glasses/thermal
+ name = "Optical Thermal Scanner"
+ desc = "Thermals in the shape of glasses."
+ icon_state = "thermal"
+ item_state = "glasses"
+ origin_tech = "magnets=3"
+ vision_flags = SEE_MOBS
+ invisa_view = 2
+
+ emp_act(severity)
+ if(istype(src.loc, /mob/living/carbon/human))
+ var/mob/living/carbon/human/M = src.loc
+ M << "\red The Optical Thermal Scanner overloads and blinds you!"
+ if(M.glasses == src)
+ M.eye_blind = 3
+ M.eye_blurry = 5
+ M.disabilities |= 1
+ spawn(100)
+ M.disabilities &= ~1
+ ..()
+
+/obj/item/clothing/glasses/thermal/syndi //These are now a traitor item, concealed as mesons. -Pete
name = "Optical Meson Scanner"
desc = "Used for seeing walls, floors, and stuff through anything."
icon_state = "meson"
- item_state = "glasses"
origin_tech = "magnets=3;syndicate=4"
- vision_flags = SEE_MOBS
- invisa_view = 2
/obj/item/clothing/glasses/thermal/monocle
name = "Thermoncle"
diff --git a/code/modules/clothing/gloves.dm b/code/modules/clothing/gloves.dm
new file mode 100644
index 00000000000..299223acdcf
--- /dev/null
+++ b/code/modules/clothing/gloves.dm
@@ -0,0 +1,13 @@
+/obj/item/clothing/gloves
+ name = "gloves"
+ gender = PLURAL //Carn: for grammarically correct text-parsing
+ 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
+ slot_flags = SLOT_GLOVES
diff --git a/code/modules/clothing/gloves/boxing.dm b/code/modules/clothing/gloves/boxing.dm
new file mode 100644
index 00000000000..15e7035974a
--- /dev/null
+++ b/code/modules/clothing/gloves/boxing.dm
@@ -0,0 +1,27 @@
+/obj/item/clothing/gloves/boxing
+ name = "boxing gloves"
+ desc = "Because you really needed another excuse to punch your crewmates."
+ icon_state = "boxing"
+ item_state = "boxing"
+
+/obj/item/clothing/gloves/boxing/green
+ icon_state = "boxinggreen"
+ item_state = "boxinggreen"
+
+/obj/item/clothing/gloves/boxing/blue
+ icon_state = "boxingblue"
+ item_state = "boxingblue"
+
+/obj/item/clothing/gloves/boxing/yellow
+ icon_state = "boxingyellow"
+ item_state = "boxingyellow"
+
+/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.
diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm
new file mode 100644
index 00000000000..7abc17a4281
--- /dev/null
+++ b/code/modules/clothing/gloves/color.dm
@@ -0,0 +1,116 @@
+/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/fyellow //Cheap Chinese Crap
+ desc = "These gloves are cheap copies of the coveted gloves, no way this can end badly."
+ name = "budget insulated gloves"
+ icon_state = "yellow"
+ item_state = "ygloves"
+ siemens_coefficient = 1 //Set to a default of 1, gets overridden in New()
+ permeability_coefficient = 0.05
+ protective_temperature = 800
+
+ color="yellow"
+
+ New()
+ siemens_coefficient = pick(0,0.5,0.5,0.5,0.5,0.75,1.5)
+ if(siemens_coefficient == 0)
+ heat_transfer_coefficient = 0.01
+
+/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/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
+ name = "red gloves"
+ desc = "A pair of gloves, they don't look special in any way."
+ icon_state = "red"
+ item_state = "redgloves"
+ color = "red"
+
+/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/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
new file mode 100644
index 00000000000..9e280943722
--- /dev/null
+++ b/code/modules/clothing/gloves/miscellaneous.dm
@@ -0,0 +1,49 @@
+
+/obj/item/clothing/gloves/cyborg
+ desc = "beep boop borp"
+ name = "cyborg gloves"
+ icon_state = "black"
+ item_state = "r_hands"
+ siemens_coefficient = 1.0
+
+
+/obj/item/clothing/gloves/swat
+ desc = "These tactical gloves are somewhat fire and impact-resistant."
+ name = "\improper 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/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/botanic_leather
+ desc = "These leather gloves protect against thorns, barbs, prickles, spikes and other harmful objects of floral origin."
+ name = "botanist's leather gloves"
+ icon_state = "leather"
+ item_state = "ggloves"
+ permeability_coefficient = 0.9
diff --git a/code/modules/clothing/head.dm b/code/modules/clothing/head.dm
new file mode 100644
index 00000000000..edeb4c282a4
--- /dev/null
+++ b/code/modules/clothing/head.dm
@@ -0,0 +1,5 @@
+/obj/item/clothing/head
+ name = "head"
+ icon = 'hats.dmi'
+ body_parts_covered = HEAD
+ slot_flags = SLOT_HEAD
diff --git a/code/modules/clothing/head/cargo.dm b/code/modules/clothing/head/cargo.dm
new file mode 100644
index 00000000000..f091432518f
--- /dev/null
+++ b/code/modules/clothing/head/cargo.dm
@@ -0,0 +1,26 @@
+/obj/item/clothing/head/cargosoft
+ name = "cargo cap"
+ desc = "It's a baseball hat in a tasteless yellow colour."
+ icon_state = "cargosoft"
+ flags = FPRINT|TABLEPASS|HEADCOVERSEYES
+ item_state = "helmet"
+ var/flipped = 0
+
+ dropped()
+ src.icon_state = "cargosoft"
+ src.flipped=0
+ ..()
+
+ verb/flip()
+ set category = "Object"
+ set name = "Flip cap"
+ set src in usr
+ if(usr.canmove && !usr.stat && !usr.restrained())
+ src.flipped = !src.flipped
+ if(src.flipped)
+ icon_state = "cargosoft_flipped"
+ usr << "You flip the hat backwards."
+ else
+ icon_state = "cargosoft"
+ usr << "You flip the hat back in normal position."
+ usr.update_inv_head() //so our mob-overlays update
diff --git a/code/modules/clothing/hardhat.dm b/code/modules/clothing/head/hardhat.dm
similarity index 53%
rename from code/modules/clothing/hardhat.dm
rename to code/modules/clothing/head/hardhat.dm
index 0cc9afa8b9b..3e49bcef06d 100644
--- a/code/modules/clothing/hardhat.dm
+++ b/code/modules/clothing/head/hardhat.dm
@@ -1,4 +1,4 @@
-/obj/item/clothing/head/helmet/hardhat
+/obj/item/clothing/head/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"
@@ -10,37 +10,52 @@
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
+ attack_self(mob/user)
+ if(!isturf(user.loc))
+ user << "You cannot turn the light on while in this [user.loc]" //To prevent some lighting anomalities.
+ return
+ on = !on
+ icon_state = "hardhat[on]_[color]"
+ item_state = "hardhat[on]_[color]"
+
+ if(on)
+ user.total_luminosity += brightness_on
+ else
+ user.total_luminosity -= brightness_on
+
+ pickup(mob/user)
+ if(on)
+ user.total_luminosity += brightness_on
+ user.UpdateLuminosity()
+ src.sd_SetLuminosity(0)
+
+ dropped(mob/user)
+ if(on)
+ user.total_luminosity -= brightness_on
+ user.UpdateLuminosity()
+ src.sd_SetLuminosity(brightness_on)
+
+
+/obj/item/clothing/head/hardhat/orange
icon_state = "hardhat0_orange"
item_state = "hardhat0_orange"
color = "orange"
-/obj/item/clothing/head/helmet/hardhat/red
+/obj/item/clothing/head/hardhat/red
icon_state = "hardhat0_red"
item_state = "hardhat0_red"
color = "red"
name = "firefighter helmet"
flags = FPRINT | TABLEPASS | SUITSPACE | STOPSPRESSUREDMAGE
-/obj/item/clothing/head/helmet/hardhat/white
+/obj/item/clothing/head/hardhat/white
icon_state = "hardhat0_white"
item_state = "hardhat0_white"
color = "white"
flags = FPRINT | TABLEPASS | SUITSPACE | STOPSPRESSUREDMAGE
-/obj/item/clothing/head/helmet/hardhat/dblue
+/obj/item/clothing/head/hardhat/dblue
icon_state = "hardhat0_dblue"
item_state = "hardhat0_dblue"
color = "dblue"
-/obj/item/clothing/head/helmet/hardhat/pumpkinhead
- name = "carved pumpkin"
- desc = "A jack o' lantern! Believed to ward off evil spirits."
- icon_state = "hardhat0_pumpkin"
- item_state = "hardhat0_pumpkin"
- flags = FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR
- brightness_on = 3
- see_face = 0.0
- color = "pumpkin"
- armor = list(melee = 5, bullet = 0, laser = 5,energy = 5, bomb = 5, bio = 0, rad = 0)
- flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
\ No newline at end of file
diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm
new file mode 100644
index 00000000000..3bfed8dbc81
--- /dev/null
+++ b/code/modules/clothing/head/helmet.dm
@@ -0,0 +1,16 @@
+/obj/item/clothing/head/helmet/swat
+ name = "\improper SWAT helmet"
+ desc = "They're often used by highly trained Swat Members."
+ icon_state = "swat"
+ flags = FPRINT | TABLEPASS | SUITSPACE | HEADSPACE | HEADCOVERSEYES
+ item_state = "swat"
+ armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0)
+ flags_inv = HIDEEARS|HIDEEYES
+
+/obj/item/clothing/head/helmet/thunderdome
+ name = "\improper Thunderdome helmet"
+ desc = "'Let the battle commence!'"
+ icon_state = "thunderdome"
+ flags = FPRINT | TABLEPASS | SUITSPACE | HEADSPACE | HEADCOVERSEYES
+ item_state = "thunderdome"
+ armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0)
diff --git a/code/modules/clothing/head/miscellaneous.dm b/code/modules/clothing/head/miscellaneous.dm
new file mode 100644
index 00000000000..ad4538d21d5
--- /dev/null
+++ b/code/modules/clothing/head/miscellaneous.dm
@@ -0,0 +1,138 @@
+/obj/item/clothing/head/cakehat
+ name = "cake-hat"
+ desc = "It's tasty looking!"
+ 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/centhat
+ name = "\improper CentComm. hat"
+ icon_state = "centcom"
+ desc = "It's good to be emperor."
+ flags = FPRINT|TABLEPASS|SUITSPACE
+ item_state = "centhat"
+
+/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 = "It's an amish looking hat."
+ icon_state = "tophat"
+ item_state = "that"
+ flags = FPRINT|TABLEPASS
+
+/obj/item/clothing/head/chefhat
+ name = "chef's hat"
+ desc = "It's a hat used by chefs to keep hair out of your food. Judging by the food in the mess, they don't work."
+ icon_state = "chef"
+ item_state = "chef"
+ desc = "The commander in chef's head wear."
+ flags = FPRINT | TABLEPASS
+
+/obj/item/clothing/head/redcoat
+ name = "redcoat's hat"
+ icon_state = "redcoat"
+ desc = "'I guess it's a redhead.'"
+ flags = FPRINT | TABLEPASS
+
+/obj/item/clothing/head/mailman
+ name = "mailman's 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 = "These were once used by Plague doctors. They're pretty much 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
+
+/obj/item/clothing/head/chaplain_hood
+ name = "chaplain's hood"
+ desc = "It's hood that covers the head. It keeps you warm during the space winters."
+ icon_state = "chaplain_hood"
+ flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|BLOCKHAIR
+
+/obj/item/clothing/head/nun_hood
+ name = "nun hood"
+ desc = "Maximum piety in this star system."
+ icon_state = "nun_hood"
+ flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|BLOCKHAIR
+
+/obj/item/clothing/head/hasturhood
+ name = "hastur's hood"
+ desc = "It's unspeakably stylish"
+ icon_state = "hasturhood"
+ flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|BLOCKHAIR
+
+/obj/item/clothing/head/nursehat
+ name = "nurse's hat"
+ desc = "It allows quick identification of trained medical personnel."
+ icon_state = "nursehat"
+ flags = FPRINT|TABLEPASS
+
+/obj/item/clothing/head/syndicatefake
+ name = "red space-helmet replica"
+ desc = "It's a very convincing 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
+ flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
+
+
+/obj/item/clothing/head/cueball
+ name = "cueball helmet"
+ desc = "A large, featureless white orb mean to be worn on your head. How do you even see out of this thing?"
+ icon_state = "cueball"
+ flags = FPRINT|TABLEPASS|SUITSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR
+ item_state="cueball"
+ flags_inv = 0
+
+/obj/item/clothing/head/that
+ name = "sturdy top-hat"
+ desc = "It's an amish looking armored top hat."
+ icon_state = "tophat"
+ item_state = "that"
+ flags = FPRINT|TABLEPASS
+ flags_inv = 0
+
+/obj/item/clothing/head/greenbandana
+ name = "green bandana"
+ desc = "It's a green bandana with some fine nanotech lining."
+ icon_state = "greenbandana"
+ item_state = "greenbandana"
+ flags = FPRINT|TABLEPASS
+ flags_inv = 0
+
+/obj/item/clothing/head/cardborg
+ name = "cardborg helmet"
+ desc = "A helmet made out of a box."
+ icon_state = "cardborg_h"
+ item_state = "cardborg_h"
+ flags = FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH
+ see_face = 0.0
+ flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
+
+/obj/item/clothing/head/pumpkinhead
+ name = "carved pumpkin"
+ desc = "A jack o' lantern! Believed to ward off evil spirits."
+ icon_state = "hardhat0_pumpkin"
+ item_state = "hardhat0_pumpkin"
+ flags = FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR
+ see_face = 0.0
+ flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
\ No newline at end of file
diff --git a/code/modules/clothing/head/security.dm b/code/modules/clothing/head/security.dm
new file mode 100644
index 00000000000..57d7f2bfdbc
--- /dev/null
+++ b/code/modules/clothing/head/security.dm
@@ -0,0 +1,32 @@
+/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's hat"
+ desc = "It's 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/riot
+ name = "riot helmet"
+ desc = "It's 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/secsoft
+ name = "soft cap"
+ desc = "It's baseball hat in tasteful red colour."
+ icon_state = "secsoft"
+ flags = FPRINT|TABLEPASS|HEADCOVERSEYES
+ item_state = "helmet"
diff --git a/code/modules/clothing/head/welding.dm b/code/modules/clothing/head/welding.dm
new file mode 100644
index 00000000000..60c5ee6cfbb
--- /dev/null
+++ b/code/modules/clothing/head/welding.dm
@@ -0,0 +1,40 @@
+/obj/item/clothing/head/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 = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+ flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
+
+
+ attack_self()
+ toggle()
+
+
+ verb/toggle()
+ set category = "Object"
+ set name = "Adjust welding mask"
+ set src in usr
+
+ if(usr.canmove && !usr.stat && !usr.restrained())
+ if(src.up)
+ src.up = !src.up
+ src.see_face = !src.see_face
+ src.flags |= HEADCOVERSEYES
+ flags_inv |= HIDEMASK|HIDEEARS|HIDEEYES
+ icon_state = "welding"
+ usr << "You flip the mask down to protect your eyes."
+ else
+ src.up = !src.up
+ src.see_face = !src.see_face
+ src.flags &= ~HEADCOVERSEYES
+ flags_inv &= ~(HIDEMASK|HIDEEARS|HIDEEYES)
+ icon_state = "weldingup"
+ usr << "You push the mask up out of your face."
+ usr.update_inv_head() //so our mob-overlays update
\ 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..723038f9f27
--- /dev/null
+++ b/code/modules/clothing/mask.dm
@@ -0,0 +1,5 @@
+/obj/item/clothing/mask
+ name = "mask"
+ icon = 'masks.dmi'
+ body_parts_covered = HEAD
+ slot_flags = SLOT_MASK
\ No newline at end of file
diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm
new file mode 100644
index 00000000000..a00f4d1f776
--- /dev/null
+++ b/code/modules/clothing/masks/boxing.dm
@@ -0,0 +1,29 @@
+/obj/item/clothing/mask/balaclava
+ name = "balaclava"
+ desc = "LOADSAMONEY"
+ icon_state = "balaclava"
+ item_state = "balaclava"
+ see_face = 0.0
+ flags = FPRINT|TABLEPASS|HEADSPACE|BLOCKHAIR
+ w_class = 2
+
+/obj/item/clothing/mask/luchador
+ name = "Luchador Mask"
+ desc = "Worn by robust fighters, flying high to defeat their foes!"
+ icon_state = "luchag"
+ item_state = "luchag"
+ flags = FPRINT|TABLEPASS|HEADSPACE|BLOCKHAIR
+ see_face = 0.0
+ w_class = 2
+
+/obj/item/clothing/mask/luchador/tecnicos
+ name = "Tecnicos Mask"
+ desc = "Worn by robust fighters who uphold justice and fight honorably."
+ icon_state = "luchador"
+ item_state = "luchador"
+
+/obj/item/clothing/mask/luchador/rudos
+ name = "Rudos Mask"
+ desc = "Worn by robust fighters who are willing to do anything to win."
+ icon_state = "luchar"
+ item_state = "luchar"
\ No newline at end of file
diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm
new file mode 100644
index 00000000000..fa6465b3f4b
--- /dev/null
+++ b/code/modules/clothing/masks/breath.dm
@@ -0,0 +1,17 @@
+/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
+ w_class = 2
+ protective_temperature = 420
+ heat_transfer_coefficient = 0.90
+ gas_transfer_coefficient = 0.10
+ permeability_coefficient = 0.50
+
+/obj/item/clothing/mask/breath/medical
+ desc = "A close-fitting sterile mask that can be connected to an air supply."
+ name = "medical mask"
+ icon_state = "medical"
+ item_state = "medical"
\ No newline at end of file
diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm
new file mode 100644
index 00000000000..7b738e79422
--- /dev/null
+++ b/code/modules/clothing/masks/gasmask.dm
@@ -0,0 +1,80 @@
+/obj/item/clothing/mask/gas
+ name = "gas mask"
+ desc = "A face-covering mask that can be connected to an air supply."
+ icon_state = "gas_alt"
+ flags = FPRINT|TABLEPASS|SUITSPACE|MASKCOVERSMOUTH|MASKCOVERSEYES
+ flags_inv = HIDEEARS|HIDEEYES
+ w_class = 3.0
+ see_face = 0.0
+ item_state = "gas_alt"
+ 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/swat
+ name = "\improper 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."
+ 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 wig and 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/death_commando
+ name = "Death Commando Mask"
+ icon_state = "death_commando_mask"
+ item_state = "death_commando_mask"
\ No newline at end of file
diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm
new file mode 100644
index 00000000000..a318956e32c
--- /dev/null
+++ b/code/modules/clothing/masks/miscellaneous.dm
@@ -0,0 +1,31 @@
+/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 = 0,energy = 0, bomb = 0, bio = 25, rad = 0)
+
+/obj/item/clothing/mask/fakemoustache
+ name = "fake moustache"
+ desc = "Warning: moustache is fake."
+ icon_state = "fake-moustache"
+ flags = FPRINT|TABLEPASS
+ see_face = 0.0 //Well, it's a disguise, of course.
+
+/obj/item/clothing/mask/owl_mask
+ name = "owl mask"
+ desc = "Twoooo!"
+ icon_state = "owl"
\ No newline at end of file
diff --git a/code/defines/obj/clothing/z_gimmick.dm b/code/modules/clothing/random.dm
similarity index 77%
rename from code/defines/obj/clothing/z_gimmick.dm
rename to code/modules/clothing/random.dm
index ce4f90c36ab..55bd897fbbe 100644
--- a/code/defines/obj/clothing/z_gimmick.dm
+++ b/code/modules/clothing/random.dm
@@ -24,23 +24,6 @@
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!"
@@ -73,12 +56,6 @@
fire_resist = T0C+5200
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
-/*/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"
@@ -118,100 +95,6 @@
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
@@ -269,13 +152,6 @@
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" */ //No Sprite - Shiftyeyesshady
/obj/item/clothing/head/flatcap
name = "flat cap"
@@ -484,26 +360,6 @@
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"
diff --git a/code/modules/clothing/shoes.dm b/code/modules/clothing/shoes.dm
new file mode 100644
index 00000000000..39457532057
--- /dev/null
+++ b/code/modules/clothing/shoes.dm
@@ -0,0 +1,14 @@
+/obj/item/clothing/shoes
+ name = "shoes"
+ icon = 'shoes.dmi'
+ desc = "Comfortable-looking shoes."
+ gender = PLURAL //Carn: for grammarically correct text-parsing
+
+ body_parts_covered = FEET
+ slot_flags = SLOT_FEET
+
+ protective_temperature = 500
+ heat_transfer_coefficient = 0.10
+ permeability_coefficient = 0.50
+ slowdown = SHOES_SLOWDOWN
+
diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm
new file mode 100644
index 00000000000..7dcbb38e484
--- /dev/null
+++ b/code/modules/clothing/shoes/magboots.dm
@@ -0,0 +1,36 @@
+/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
+
+
+ verb/toggle()
+ set name = "Toggle Magboots"
+ set category = "Object"
+ set src in usr
+ if(src.magpulse)
+ src.flags &= ~NOSLIP
+ src.slowdown = SHOES_SLOWDOWN
+ src.magpulse = 0
+ icon_state = "magboots0"
+ usr << "You disable the mag-pulse traction system."
+ else
+ src.flags |= NOSLIP
+ src.slowdown = 2
+ src.magpulse = 1
+ icon_state = "magboots1"
+ usr << "You enable the mag-pulse traction system."
+ usr.update_inv_shoes() //so our mob-overlays update
+
+
+ examine()
+ set src in view()
+ ..()
+ var/state = "disabled"
+ if(src.flags&NOSLIP)
+ state = "enabled"
+ usr << "Its mag-pulse traction system appears to be [state]."
\ No newline at end of file
diff --git a/code/defines/obj/clothing/shoes.dm b/code/modules/clothing/shoes/miscellaneous.dm
similarity index 81%
rename from code/defines/obj/clothing/shoes.dm
rename to code/modules/clothing/shoes/miscellaneous.dm
index 74c81a231bc..131707313ef 100644
--- a/code/defines/obj/clothing/shoes.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -1,19 +1,5 @@
-/obj/item/clothing/shoes
- name = "shoes"
- icon = 'shoes.dmi'
- desc = "Comfortable-looking shoes."
- gender = PLURAL //Carn: for grammarically correct text-parsing
-
- body_parts_covered = FEET
- slot_flags = SLOT_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)
-
+//These still need to be broken down into other files or such
/obj/item/clothing/shoes/syndigaloshes
desc = "A pair of brown shoes. They seem to have extra grip."
name = "brown shoes"
@@ -90,6 +76,18 @@
var/chained = 0
color = "orange"
+/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/shoes/swat
name = "\improper SWAT shoes"
desc = "When you want to turn up the heat."
@@ -137,15 +135,6 @@
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"
diff --git a/code/modules/clothing/spacesuits/engineer.dm b/code/modules/clothing/spacesuits/engineer.dm
deleted file mode 100644
index 3e69f3aac1a..00000000000
--- a/code/modules/clothing/spacesuits/engineer.dm
+++ /dev/null
@@ -1,36 +0,0 @@
-/obj/item/clothing/head/helmet/space/engineer
- name = "environment suit helmet"
- desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding."
- flags = FPRINT | TABLEPASS | HEADSPACE | HEADCOVERSEYES
- see_face = 1
- flags_inv = HIDEEARS
- icon_state = "engspace_helmet"
- item_state = "engspace_helmet"
- protective_temperature = 5000
- armor = list(melee = 20, bullet = 5, laser = 10,energy = 5, bomb = 15, bio = 100, rad = 75)
-
-/obj/item/clothing/head/helmet/space/engineer/ce
- name = "chief engineer's environment suit helmet"
- desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding."
- icon_state = "cespace_helmet"
- item_state = "cespace_helmet"
-
-/obj/item/clothing/suit/space/engineer
- name = "environment suit"
- desc = "An environment suit that protects against hazardous, low pressure environments. Has radiation shielding."
- icon_state = "engspace_suit"
- item_state = "engspace_suit"
- protective_temperature = 5000 //For not dieing near a fire, but still not being great in a full inferno
- slowdown = 2
- armor = list(melee = 20, bullet = 5, laser = 10,energy = 5, bomb = 15, bio = 100, rad = 75)
- allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/crowbar, \
- /obj/item/weapon/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/wirecutters, /obj/item/weapon/wrench, /obj/item/device/multitool, \
- /obj/item/device/radio, /obj/item/device/analyzer)
- //yes, you can fit everything and your dog in it.
- //i figure this might mitigate some of the inevitable bitching about it being a downgrade from the rig.
-
-/obj/item/clothing/suit/space/engineer/ce
- name = "chief engineer's environment suit"
- desc = "An environment suit that protects against hazardous, low pressure environments. Has radiation shielding and Chief Engineer colours."
- icon_state = "cespace_suit"
- item_state = "cespace_suit"
\ No newline at end of file
diff --git a/code/modules/clothing/spacesuits/ninja.dm b/code/modules/clothing/spacesuits/ninja.dm
index 51a020a3004..05a236e477e 100644
--- a/code/modules/clothing/spacesuits/ninja.dm
+++ b/code/modules/clothing/spacesuits/ninja.dm
@@ -1,4 +1,15 @@
-//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
+/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
/obj/item/clothing/head/helmet/space/space_ninja
desc = "What may appear to be a simple black garment is in fact a highly sophisticated nano-weave helmet. Standard issue ninja gear."
diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm
index 21b42e3779d..739e5863299 100644
--- a/code/modules/clothing/spacesuits/rig.dm
+++ b/code/modules/clothing/spacesuits/rig.dm
@@ -9,6 +9,32 @@
var/on = 0
color = "engineering" //Determines used sprites: rig[on]-[color] and rig[on]-[color]2 (lying down sprite)
+ attack_self(mob/user)
+ if(!isturf(user.loc))
+ user << "You cannot turn the light on while in this [user.loc]" //To prevent some lighting anomalities.
+ return
+ on = !on
+ icon_state = "rig[on]-[color]"
+ item_state = "rig[on]-[color]"
+
+ if(on)
+ user.total_luminosity += brightness_on
+ else
+ user.total_luminosity -= brightness_on
+
+ pickup(mob/user)
+ if(on)
+ user.total_luminosity += brightness_on
+ user.UpdateLuminosity()
+ src.sd_SetLuminosity(0)
+
+ dropped(mob/user)
+ if(on)
+ user.total_luminosity -= brightness_on
+ user.UpdateLuminosity()
+ src.sd_SetLuminosity(brightness_on)
+
+
/obj/item/clothing/head/helmet/space/rig/mining
name = "mining hardsuit helmet"
icon_state = "rig0-mining"
diff --git a/code/modules/clothing/suits/fire.dm b/code/modules/clothing/suits/fire.dm
index 05732fd6d18..13c88c93e40 100644
--- a/code/modules/clothing/suits/fire.dm
+++ b/code/modules/clothing/suits/fire.dm
@@ -30,26 +30,3 @@
slowdown = 1.5
-
-/obj/item/clothing/head/radiation
- name = "Radiation Hood"
- icon_state = "rad"
- desc = "A hood with radiation protective properties. Label: Made with lead, do not eat insulation"
- flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR
- armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100)
-
-/obj/item/clothing/suit/radiation
- name = "Radiation suit"
- desc = "A suit that protects against radiation. Label: Made with lead, do not eat insulation."
- icon_state = "rad"
- item_state = "rad_suit"
- w_class = 4//bulky item
- gas_transfer_coefficient = 0.90
- permeability_coefficient = 0.50
- heat_transfer_coefficient = 0.30
- protective_temperature = 1000
- body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
- allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen)
- slowdown = 1.5
- armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100)
- flags_inv = HIDEJUMPSUIT
diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm
index 3b4923ceba7..4775477e71e 100644
--- a/code/modules/clothing/suits/labcoat.dm
+++ b/code/modules/clothing/suits/labcoat.dm
@@ -10,6 +10,62 @@
allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0)
+ verb/toggle()
+ set name = "Toggle Labcoat Buttons"
+ set category = "Object"
+ set src in usr
+
+ if(!usr.canmove || usr.stat || usr.restrained())
+ return 0
+
+ switch(icon_state)
+ if("labcoat_open")
+ src.icon_state = "labcoat"
+ usr << "You button up the labcoat."
+ if("labcoat")
+ src.icon_state = "labcoat_open"
+ usr << "You unbutton the labcoat."
+ if("labcoat_cmo_open")
+ src.icon_state = "labcoat_cmo"
+ usr << "You button up the labcoat."
+ if("labcoat_cmo")
+ src.icon_state = "labcoat_cmo_open"
+ usr << "You unbutton the labcoat."
+ if("labcoat_gen_open")
+ src.icon_state = "labcoat_gen"
+ usr << "You button up the labcoat."
+ if("labcoat_gen")
+ src.icon_state = "labcoat_gen_open"
+ usr << "You unbutton the labcoat."
+ if("labcoat_chem_open")
+ src.icon_state = "labcoat_chem"
+ usr << "You button up the labcoat."
+ if("labcoat_chem")
+ src.icon_state = "labcoat_chem_open"
+ usr << "You unbutton the labcoat."
+ if("labcoat_vir_open")
+ src.icon_state = "labcoat_vir"
+ usr << "You button up the labcoat."
+ if("labcoat_vir")
+ src.icon_state = "labcoat_vir_open"
+ usr << "You unbutton the labcoat."
+ if("labcoat_tox_open")
+ src.icon_state = "labcoat_tox"
+ usr << "You button up the labcoat."
+ if("labcoat_tox")
+ src.icon_state = "labcoat_tox_open"
+ usr << "You unbutton the labcoat."
+ if("labgreen_open")
+ src.icon_state = "labgreen"
+ usr << "You button up the labcoat."
+ if("labgreen")
+ src.icon_state = "labgreen_open"
+ usr << "You unbutton the labcoat."
+ else
+ usr << "You attempt to button-up the velcro on your [src], before promptly realising how retarded you are."
+ return
+ usr.update_inv_wear_suit() //so our overlays update
+
/obj/item/clothing/suit/labcoat/cmo
name = "chief medical officer's labcoat"
desc = "Bluer than the standard model."
diff --git a/code/modules/clothing/suits/radiation.dm b/code/modules/clothing/suits/radiation.dm
new file mode 100644
index 00000000000..36d2493f652
--- /dev/null
+++ b/code/modules/clothing/suits/radiation.dm
@@ -0,0 +1,22 @@
+/obj/item/clothing/head/radiation
+ name = "Radiation Hood"
+ icon_state = "rad"
+ desc = "A hood with radiation protective properties. Label: Made with lead, do not eat insulation"
+ flags = FPRINT|TABLEPASS|HEADSPACE|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100)
+
+/obj/item/clothing/suit/radiation
+ name = "Radiation suit"
+ desc = "A suit that protects against radiation. Label: Made with lead, do not eat insulation."
+ icon_state = "rad"
+ item_state = "rad_suit"
+ w_class = 4//bulky item
+ gas_transfer_coefficient = 0.90
+ permeability_coefficient = 0.50
+ heat_transfer_coefficient = 0.30
+ protective_temperature = 1000
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
+ allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen)
+ slowdown = 1.5
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 60, rad = 100)
+ flags_inv = HIDEJUMPSUIT
diff --git a/code/modules/clothing/under.dm b/code/modules/clothing/under.dm
new file mode 100644
index 00000000000..d817763c15e
--- /dev/null
+++ b/code/modules/clothing/under.dm
@@ -0,0 +1,64 @@
+/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
+ slot_flags = SLOT_ICLOTHING
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+ 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
+ */
+
+
+ examine()
+ set src in view()
+ ..()
+ switch(src.sensor_mode)
+ if(0)
+ usr << "Its sensors appear to be disabled."
+ if(1)
+ usr << "Its binary life sensors appear to be enabled."
+ if(2)
+ usr << "Its vital tracker appears to be enabled."
+ if(3)
+ usr << "Its vital tracker and tracking beacon appear to be enabled."
+
+
+ verb/toggle()
+ set name = "Toggle Suit Sensors"
+ set category = "Object"
+ set src in usr
+ var/mob/M = usr
+ if (istype(M, /mob/dead/)) return
+ if (usr.stat) return
+ if(src.has_sensor >= 2)
+ usr << "The controls are locked."
+ return 0
+ if(src.has_sensor <= 0)
+ usr << "This suit does not have any sensors"
+ return 0
+ src.sensor_mode += 1
+ if(src.sensor_mode > 3)
+ src.sensor_mode = 0
+ switch(src.sensor_mode)
+ if(0)
+ usr << "You disable your suit's remote sensing equipment."
+ if(1)
+ usr << "Your suit will now report whether you are live or dead."
+ if(2)
+ usr << "Your suit will now report your vital lifesigns."
+ if(3)
+ usr << "Your suit will now report your vital lifesigns as well as your coordinate position."
+ ..()
+
+
+/obj/item/clothing/under/rank/New()
+ sensor_mode = pick(0,1,2,3)
+ ..()
diff --git a/code/modules/clothing/under/cargo.dm b/code/modules/clothing/under/cargo.dm
new file mode 100644
index 00000000000..0ba3c91a9b2
--- /dev/null
+++ b/code/modules/clothing/under/cargo.dm
@@ -0,0 +1,20 @@
+/obj/item/clothing/under/rank/cargo
+ name = "quartermaster's jumpsuit"
+ desc = "It's a jumpsuit worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper."
+ icon_state = "qm"
+ item_state = "lb_suit"
+ color = "qm"
+
+/obj/item/clothing/under/rank/cargotech
+ name = "cargo technician's jumpsuit"
+ desc = "Shooooorts! They're comfy and easy to wear!"
+ icon_state = "cargotech"
+ item_state = "lb_suit"
+ color = "cargo"
+
+/obj/item/clothing/under/rank/miner
+ desc = "It's a snappy jumpsuit with a sturdy set of overalls. It is very dirty."
+ name = "shaft miner's jumpsuit"
+ icon_state = "miner"
+ item_state = "miner"
+ color = "miner"
diff --git a/code/modules/clothing/under/chameleon.dm b/code/modules/clothing/under/chameleon.dm
new file mode 100644
index 00000000000..c655617db62
--- /dev/null
+++ b/code/modules/clothing/under/chameleon.dm
@@ -0,0 +1,81 @@
+/obj/item/clothing/under/chameleon
+//starts off as black
+ name = "black jumpsuit"
+ icon_state = "black"
+ item_state = "bl_suit"
+ color = "black"
+ desc = "It's a plain jumpsuit. It seems to have a small dial on the wrist."
+ origin_tech = "syndicate=3"
+ var/list/clothing_choices = list()
+
+ New()
+ ..()
+ for(var/U in typesof(/obj/item/clothing/under/color)-(/obj/item/clothing/under/color))
+ var/obj/item/clothing/under/V = new U
+ src.clothing_choices += V
+
+ for(var/U in typesof(/obj/item/clothing/under/rank)-(/obj/item/clothing/under/rank))
+ var/obj/item/clothing/under/V = new U
+ src.clothing_choices += V
+ return
+
+
+ attackby(obj/item/clothing/under/U as obj, mob/user as mob)
+ ..()
+ if(istype(U, /obj/item/clothing/under/chameleon))
+ user << "\red Nothing happens."
+ return
+ if(istype(U, /obj/item/clothing/under))
+ if(src.clothing_choices.Find(U))
+ user << "\red Pattern is already recognised by the suit."
+ return
+ src.clothing_choices += U
+ user << "\red Pattern absorbed by the suit."
+
+
+ emp_act(severity)
+ name = "psychedelic"
+ desc = "Groovy!"
+ icon_state = "psyche"
+ color = "psyche"
+ spawn(200)
+ name = "Black Jumpsuit"
+ icon_state = "bl_suit"
+ color = "black"
+ desc = null
+ ..()
+
+
+ verb/change()
+ set name = "Change Color"
+ set category = "Object"
+ set src in usr
+
+ if(icon_state == "psyche")
+ usr << "\red Your suit is malfunctioning"
+ return
+
+ var/obj/item/clothing/under/A
+ A = input("Select Colour to change it to", "BOOYEA", A) in clothing_choices
+ if(!A)
+ return
+
+ desc = null
+ permeability_coefficient = 0.90
+
+ desc = A.desc
+ name = A.name
+ icon_state = A.icon_state
+ item_state = A.item_state
+ color = A.color
+ usr.update_inv_w_uniform() //so our overlays update.
+
+
+
+/obj/item/clothing/under/chameleon/all/New()
+ ..()
+ var/blocked = list(/obj/item/clothing/under/chameleon, /obj/item/clothing/under/chameleon/all)
+ //to prevent an infinite loop
+ for(var/U in typesof(/obj/item/clothing/under)-blocked)
+ var/obj/item/clothing/under/V = new U
+ src.clothing_choices += V
diff --git a/code/modules/clothing/under/civilian.dm b/code/modules/clothing/under/civilian.dm
new file mode 100644
index 00000000000..f853977ca6a
--- /dev/null
+++ b/code/modules/clothing/under/civilian.dm
@@ -0,0 +1,62 @@
+/obj/item/clothing/under/rank/head_of_personnel
+ desc = "It's a jumpsuit worn by someone who works in the position of \"Head of Personnel\"."
+ name = "head of personnel's jumpsuit"
+ icon_state = "hop"
+ item_state = "b_suit"
+ color = "hop"
+
+/obj/item/clothing/under/rank/chaplain
+ desc = "It's a black jumpsuit, often worn by religious folk."
+ name = "chaplain's jumpsuit"
+ icon_state = "chaplain"
+ item_state = "bl_suit"
+ color = "chapblack"
+
+/obj/item/clothing/under/rank/bartender
+ desc = "It looks like it could use some 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 = "'HONK!'"
+ icon_state = "clown"
+ item_state = "clown"
+ color = "clown"
+
+/obj/item/clothing/under/rank/chef
+ desc = "It's an apron which is given only to the most hardcore chefs in space."
+ name = "chef's uniform"
+ icon_state = "chef"
+ color = "chef"
+
+/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's outfit"
+ desc = "It's not very colourful."
+ icon_state = "mime"
+ item_state = "mime"
+ color = "mime"
+
+/obj/item/clothing/under/rank/janitor
+ desc = "It's the official uniform of the station's janitor. It 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/hydroponics
+ desc = "It's a jumpsuit designed to protect against minor plant-related hazards."
+ name = "botanist's jumpsuit"
+ icon_state = "hydroponics"
+ item_state = "g_suit"
+ color = "hydroponics"
+ permeability_coefficient = 0.50
diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm
new file mode 100644
index 00000000000..27e3eaaca7a
--- /dev/null
+++ b/code/modules/clothing/under/color.dm
@@ -0,0 +1,142 @@
+/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 = "feminine black jumpsuit"
+ desc = "It's very smart and in a ladies-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 = "It's standardised 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
+ name = "white jumpsuit"
+ icon_state = "white"
+ item_state = "w_suit"
+ color = "white"
+
+/obj/item/clothing/under/color/yellow
+ name = "yellow jumpsuit"
+ icon_state = "yellow"
+ item_state = "y_suit"
+ color = "yellow"
+
+/obj/item/clothing/under/psyche
+ name = "psychedelic"
+ desc = "Groovy!"
+ icon_state = "psyche"
+ color = "psyche"
+
+/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"
\ No newline at end of file
diff --git a/code/modules/clothing/under/engineering.dm b/code/modules/clothing/under/engineering.dm
new file mode 100644
index 00000000000..58dbe50c3a6
--- /dev/null
+++ b/code/modules/clothing/under/engineering.dm
@@ -0,0 +1,30 @@
+//Contains: Engineering department jumpsuits
+/obj/item/clothing/under/rank/chief_engineer
+ desc = "It's a high visibility jumpsuit given to those engineers insane enough to achieve the rank of \"Chief engineer\". It has minor radiation shielding."
+ name = "chief engineer's 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/atmospheric_technician
+ desc = "It's a jumpsuit worn by atmospheric technicians."
+ name = "atmospheric technician's jumpsuit"
+ icon_state = "atmos"
+ item_state = "atmos_suit"
+ color = "atmos"
+
+/obj/item/clothing/under/rank/engineer
+ desc = "It's an orange high visibility jumpsuit worn by engineers. It has minor radiation shielding."
+ name = "engineer's 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/roboticist
+ desc = "It's a slimming black with reinforced seams; great for industrial work."
+ name = "roboticist's jumpsuit"
+ icon_state = "robotics"
+ item_state = "robotics"
+ color = "robotics"
\ No newline at end of file
diff --git a/code/modules/clothing/under/medical.dm b/code/modules/clothing/under/medical.dm
new file mode 100644
index 00000000000..bfe7eccb020
--- /dev/null
+++ b/code/modules/clothing/under/medical.dm
@@ -0,0 +1,62 @@
+/obj/item/clothing/under/rank/chief_medical_officer
+ desc = "It's a jumpsuit worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection."
+ name = "chief medical officer's jumpsuit"
+ icon_state = "cmo"
+ item_state = "w_suit"
+ color = "cmo"
+ 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/geneticist
+ desc = "It's made of a special fiber that gives special protection against biohazards. It has a genetics rank stripe on it."
+ name = "geneticist's 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/virologist
+ desc = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it."
+ name = "virologist's 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/nursesuit
+ desc = "It's a jumpsuit commonly worn by nursing staff in the medical department."
+ name = "nurse's 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/rank/medical
+ desc = "It's made of a special fiber that provides minor protection against biohazards. It 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/medical/blue
+ name = "medical scrubs"
+ desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in baby blue."
+ icon_state = "scrubsblue"
+ color = "scrubsblue"
+
+/obj/item/clothing/under/rank/medical/green
+ name = "medical scrubs"
+ desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in dark green."
+ icon_state = "scrubsgreen"
+ color = "scrubsgreen"
+
+/obj/item/clothing/under/rank/medical/purple
+ name = "medical scrubs"
+ desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in deep purple."
+ icon_state = "scrubspurple"
+ color = "scrubspurple"
\ No newline at end of file
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
new file mode 100644
index 00000000000..5376373b9a4
--- /dev/null
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -0,0 +1,83 @@
+/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/sl_suit
+ desc = "It's a very amish looking suit."
+ name = "amish suit"
+ icon_state = "sl_suit"
+ color = "sl_suit"
+
+/obj/item/clothing/under/waiter
+ name = "waiter's outfit"
+ desc = "It's a very smart uniform with a special pocket for tip."
+ icon_state = "waiter"
+ item_state = "waiter"
+ color = "waiter"
+
+/obj/item/clothing/under/rank/mailman
+ name = "mailman's jumpsuit"
+ desc = "'Special delivery!'"
+ icon_state = "mailman"
+ item_state = "b_suit"
+ color = "mailman"
+
+/obj/item/clothing/under/sexyclown
+ name = "sexy-clown suit"
+ desc = "It makes you look HONKable!"
+ icon_state = "sexyclown"
+ item_state = "sexyclown"
+ color = "sexyclown"
+
+/obj/item/clothing/under/rank/vice
+ name = "vice officer's jumpsuit"
+ desc = "It's the standard issue pretty-boy outfit, as seen on Holo-Vision."
+ icon_state = "vice"
+ item_state = "gy_suit"
+ color = "vice"
+
+/obj/item/clothing/under/rank/centcom_officer
+ desc = "It's a jumpsuit worn by CentCom Officers."
+ name = "\improper CentCom officer's jumpsuit"
+ icon_state = "officer"
+ item_state = "g_suit"
+ color = "officer"
+
+/obj/item/clothing/under/rank/centcom_commander
+ desc = "It's a jumpsuit worn by CentCom's highest-tier Commanders."
+ name = "\improper CentCom officer's jumpsuit"
+ icon_state = "centcom"
+ item_state = "dg_suit"
+ color = "centcom"
+
+/obj/item/clothing/under/space
+ name = "\improper NASA jumpsuit"
+ desc = "It has a NASA logo on it and is made of space-proofed materials."
+ icon_state = "black"
+ item_state = "bl_suit"
+ color = "black"
+ 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/acj
+ name = "administrative cybernetic jumpsuit"
+ icon_state = "syndicate"
+ item_state = "bl_suit"
+ color = "syndicate"
+ desc = "it's a cybernetically enhanced jumpsuit used for 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)
\ No newline at end of file
diff --git a/code/modules/clothing/under/rank.dm b/code/modules/clothing/under/rank.dm
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/code/modules/clothing/under/science.dm b/code/modules/clothing/under/science.dm
new file mode 100644
index 00000000000..02512b85d4a
--- /dev/null
+++ b/code/modules/clothing/under/science.dm
@@ -0,0 +1,27 @@
+/obj/item/clothing/under/rank/research_director
+ desc = "It's a jumpsuit worn by those with the know-how to achieve the position of \"Research Director\". Its fabric provides minor protection from biological contaminants."
+ name = "research director's 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/scientist
+ desc = "It's made of a special fiber that provides minor protection against biohazards. It has markings that denote 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/chemist
+ desc = "It's made of a special fiber that gives special protection against biohazards. It has a chemist rank stripe on it."
+ name = "chemist's jumpsuit"
+ icon_state = "chemistry"
+ 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)
+
diff --git a/code/modules/clothing/under/security.dm b/code/modules/clothing/under/security.dm
new file mode 100644
index 00000000000..e4b268c5e3a
--- /dev/null
+++ b/code/modules/clothing/under/security.dm
@@ -0,0 +1,15 @@
+/obj/item/clothing/under/rank/warden
+ desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for more robust protection. It has the word \"Warden\" written on the shoulders."
+ name = "warden's jumpsuit"
+ icon_state = "warden"
+ item_state = "r_suit"
+ color = "warden"
+ armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+
+/obj/item/clothing/under/rank/security
+ name = "security officer's jumpsuit"
+ desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for robust protection."
+ icon_state = "security"
+ item_state = "r_suit"
+ color = "secred"
+ armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
\ No newline at end of file
diff --git a/code/modules/clothing/under/shorts.dm b/code/modules/clothing/under/shorts.dm
new file mode 100644
index 00000000000..f7545801170
--- /dev/null
+++ b/code/modules/clothing/under/shorts.dm
@@ -0,0 +1,26 @@
+/obj/item/clothing/under/shorts
+ name = "athletic shorts"
+ desc = "95% Polyester, 5% Spandex!"
+ gender = PLURAL
+ 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"
\ No newline at end of file
diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm
new file mode 100644
index 00000000000..1ca2d8d952b
--- /dev/null
+++ b/code/modules/clothing/under/syndicate.dm
@@ -0,0 +1,20 @@
+/obj/item/clothing/under/syndicate
+ name = "tactical turtleneck"
+ desc = "It's some non-descript, slightly suspicious looking, 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/combat
+ name = "combat turtleneck"
+
+/obj/item/clothing/under/syndicate/tacticool
+ name = "\improper Tacticool turtleneck"
+ desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-."
+ icon_state = "tactifool"
+ item_state = "bl_suit"
+ color = "tactifool"
+
+
diff --git a/code/modules/clothing/under/under.dm b/code/modules/clothing/under/under.dm
new file mode 100644
index 00000000000..324ce1203bd
--- /dev/null
+++ b/code/modules/clothing/under/under.dm
@@ -0,0 +1,36 @@
+
+/obj/item/clothing/under/rank/geneticist_new
+ desc = "It's made of a special fiber which provides minor protection against biohazards."
+ name = "geneticist's 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 = "It's made of a special fiber which provides minor protection against biohazards."
+ name = "chemist's 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's 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's 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)
diff --git a/code/modules/clothing/spacesuits/captain.dm b/code/modules/clothing/uniforms/captain.dm
similarity index 60%
rename from code/modules/clothing/spacesuits/captain.dm
rename to code/modules/clothing/uniforms/captain.dm
index 227e451c9be..c47da5e020c 100644
--- a/code/modules/clothing/spacesuits/captain.dm
+++ b/code/modules/clothing/uniforms/captain.dm
@@ -1,3 +1,13 @@
+//Contains: Captains clothing
+/obj/item/clothing/under/rank/captain
+ desc = "It's a blue jumpsuit with some gold markings denoting the rank of \"Captain\"."
+ name = "captain's jumpsuit"
+ icon_state = "captain"
+ item_state = "caparmor"
+ color = "captain"
+
+
+//Spacesuit
/obj/item/clothing/head/helmet/space/capspace
name = "space helmet"
icon_state = "capspace"
@@ -25,3 +35,25 @@
slowdown = 1.5
armor = list(melee = 65, bullet = 50, laser = 50, energy = 25, bomb = 50, bio = 100, rad = 50)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
+
+
+/obj/item/clothing/head/caphat
+ name = "captain's hat"
+ icon_state = "captain"
+ desc = "It's good being the king."
+ flags = FPRINT|TABLEPASS|SUITSPACE
+ item_state = "caphat"
+
+/obj/item/clothing/head/helmet/cap
+ name = "captain's cap"
+ desc = "You fear to wear it for the negligence it brings."
+ icon_state = "capcap"
+ flags = FPRINT|TABLEPASS|SUITSPACE
+ flags_inv = 0
+
+/obj/item/clothing/gloves/captain
+ desc = "Regal blue gloves, with a nice gold trim. Swanky."
+ name = "captain's gloves"
+ icon_state = "captain"
+ item_state = "egloves"
+ color = "captain"
\ No newline at end of file
diff --git a/code/modules/clothing/suits/detective.dm b/code/modules/clothing/uniforms/detective.dm
similarity index 82%
rename from code/modules/clothing/suits/detective.dm
rename to code/modules/clothing/uniforms/detective.dm
index 841c9366c69..d5a6676d779 100644
--- a/code/modules/clothing/suits/detective.dm
+++ b/code/modules/clothing/uniforms/detective.dm
@@ -1,3 +1,13 @@
+//Contains: Detective clothing
+/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)
+
+
/obj/item/clothing/head/det_hat
name = "hat"
desc = "Someone who wears this will look very smart."
diff --git a/code/modules/clothing/suits/hos.dm b/code/modules/clothing/uniforms/hos.dm
similarity index 59%
rename from code/modules/clothing/suits/hos.dm
rename to code/modules/clothing/uniforms/hos.dm
index 17737279d06..b1a056f931c 100644
--- a/code/modules/clothing/suits/hos.dm
+++ b/code/modules/clothing/uniforms/hos.dm
@@ -1,3 +1,12 @@
+//Contains: Head of Security clothing
+/obj/item/clothing/under/rank/head_of_security
+ desc = "It's a jumpsuit worn by those few with the dedication to achieve the position of \"Head of Security\". It has additional armor to protect the wearer."
+ name = "head of security's 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/head/helmet/HoS
name = "Head of Security Hat"
@@ -8,11 +17,6 @@
flags_inv = 0
flags_inv = HIDEEARS
-/obj/item/clothing/head/helmet/HoS/dermal
- name = "Dermal Armour Patch"
- desc = "You're not quite sure how you manage to take it on and off, but it implants nicely in your head."
- icon_state = "dermal"
- item_state = "dermal"
/obj/item/clothing/suit/armor/hos
name = "armored coat"
@@ -24,6 +28,23 @@
flags_inv = HIDEJUMPSUIT
+//Jensen cosplay gear
+/obj/item/clothing/under/jensen
+ desc = "You never asked for anything that stylish."
+ name = "head of security's 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/head/helmet/HoS/dermal
+ name = "Dermal Armour Patch"
+ desc = "You're not quite sure how you manage to take it on and off, but it implants nicely in your head."
+ icon_state = "dermal"
+ item_state = "dermal"
+
+
/obj/item/clothing/suit/armor/hos/jensen
name = "armored trenchoat"
desc = "A trenchoat augmented with a special alloy for some protection and style"
diff --git a/code/modules/clothing/uniforms/lawyer.dm b/code/modules/clothing/uniforms/lawyer.dm
index 52d89f83b84..7914c9127b5 100644
--- a/code/modules/clothing/uniforms/lawyer.dm
+++ b/code/modules/clothing/uniforms/lawyer.dm
@@ -32,6 +32,12 @@
item_state = "bluesuit"
color = "bluesuit"
+/obj/item/clothing/under/lawyer/purpsuit
+ name = "Purple Suit"
+ icon_state = "lawyer_purp"
+ item_state = "lawyer_purp"
+ color = "lawyer_purp"
+
/obj/item/clothing/suit/lawyer/bluejacket
name = "Blue Suit Jacket"
desc = "A snappy dress jacket."
@@ -39,13 +45,6 @@
item_state = "suitjacket_blue_open"
body_parts_covered = UPPER_TORSO|ARMS
-
-/obj/item/clothing/under/lawyer/purpsuit
- name = "Purple Suit"
- icon_state = "lawyer_purp"
- item_state = "lawyer_purp"
- color = "lawyer_purp"
-
/obj/item/clothing/suit/lawyer/purpjacket
name = "Purple Suit Jacket"
desc = "A snappy dress jacket."
diff --git a/code/modules/mob/living/carbon/human/Tajara/examine.dm b/code/modules/mob/living/carbon/human/Tajara/examine.dm
deleted file mode 100644
index c3ecc02f043..00000000000
--- a/code/modules/mob/living/carbon/human/Tajara/examine.dm
+++ /dev/null
@@ -1,213 +0,0 @@
-/mob/living/carbon/human/tajaran/examine()
- set src in view()
-
-
-
-
-
-
-
-
-
-
-
-
-/* BS12 Examine. Not sure why this is here, it seems to be mostly a copy and paste of the parent.
-/mob/living/carbon/human/tajaran/examine()
- set src in view()
-
- usr << "\blue *---------*"
-
- usr << "\blue This is \icon[src.icon] [src.name]! One of the cat-like Tajarans."
-
- // crappy hack because you can't do \his[src] etc
- var/t_his = "its"
- var/t_him = "it"
- if (src.gender == MALE)
- t_his = "his"
- t_him = "him"
- else if (src.gender == FEMALE)
- t_his = "her"
- t_him = "her"
-
- if (src.w_uniform)
- if (src.w_uniform.blood_DNA)
- usr << "\red [src.name] is wearing a[src.w_uniform.blood_DNA ? " bloody " : " "] \icon[src.w_uniform] [src.w_uniform.name]!"
- else
- usr << "\blue [src.name] is wearing a \icon[src.w_uniform] [src.w_uniform.name]."
-
- if (src.handcuffed)
- usr << "\blue [src.name] is \icon[src.handcuffed] handcuffed!"
-
- if (src.wear_suit)
- if (src.wear_suit.blood_DNA)
- usr << "\red [src.name] has a[src.wear_suit.blood_DNA ? " bloody " : " "] \icon[src.wear_suit] [src.wear_suit.name] on!"
- else
- usr << "\blue [src.name] has a \icon[src.wear_suit] [src.wear_suit.name] on."
-
- if (src.l_ear)
- usr << "\blue [src.name] has a \icon[src.l_ear] [src.l_ear.name] on [t_his] left ear."
-
- if (src.r_ear)
- usr << "\blue [src.name] has a \icon[src.r_ear] [src.r_ear.name] on [t_his] right ear."
-
- if (src.wear_mask)
- if (src.wear_mask.blood_DNA)
- usr << "\red [src.name] has a[src.wear_mask.blood_DNA ? " bloody " : " "] \icon[src.wear_mask] [src.wear_mask.name] on [t_his] face!"
- else
- usr << "\blue [src.name] has a \icon[src.wear_mask] [src.wear_mask.name] on [t_his] face."
-
- if (src.l_hand)
- if (src.l_hand.blood_DNA)
- usr << "\red [src.name] has a[src.l_hand.blood_DNA ? " bloody " : " "] \icon[src.l_hand] [src.l_hand.name] in [t_his] left hand!"
- else
- usr << "\blue [src.name] has a \icon[src.l_hand] [src.l_hand.name] in [t_his] left hand."
-
- if (src.r_hand)
- if (src.r_hand.blood_DNA)
- usr << "\red [src.name] has a[src.r_hand.blood_DNA ? " bloody " : " "] \icon[src.r_hand] [src.r_hand.name] in [t_his] right hand!"
- else
- usr << "\blue [src.name] has a \icon[src.r_hand] [src.r_hand.name] in [t_his] right hand."
-
- if (src.belt)
- if (src.belt.blood_DNA)
- usr << "\red [src.name] has a[src.belt.blood_DNA ? " bloody " : " "] \icon[src.belt] [src.belt.name] on [t_his] belt!"
- else
- usr << "\blue [src.name] has a \icon[src.belt] [src.belt.name] on [t_his] belt."
- if(src.s_store)
- if(src.s_store.blood_DNA)
- usr << "\red [src.name] has a[src.s_store.blood_DNA ? " bloody " : " "] \icon[src.s_store] [src.s_store.name] on [t_his][src.wear_suit.blood_DNA ? " bloody " : " "] \icon[src.wear_suit] [src.wear_suit.name]!"
- else
- usr << "\blue [src.name] has a \icon[src.s_store] [src.s_store.name] on [t_his][src.wear_suit.blood_DNA ? " bloody " : " "] \icon[src.wear_suit] [src.wear_suit.name]."
- if (src.shoes)
- usr << "[src.shoes.blood_DNA ? "\red" : "\blue"][src.name] has a[src.shoes.blood_DNA ? " bloody " : " "] \icon[src.shoes] [src.shoes.name] on [t_his] feet."
-
-
- if (src.gloves)
- if (src.gloves.blood_DNA)
- usr << "\red [src.name] has bloody \icon[src.gloves] [src.gloves.name] on [t_his] hands!"
- else
- usr << "\blue [src.name] has \icon[src.gloves] [src.gloves.name] on [t_his] hands."
- else if (src.blood_DNA)
- usr << "\red [src.name] has bloody hands!"
-
- if (src.back)
- usr << "\blue [src.name] has a \icon[src.back] [src.back.name] on [t_his] back."
-
- if (src.wear_id)
- var/id
- var/photo = 0
- if(istype(src:wear_id, /obj/item/device/pda))
- var/obj/item/device/pda/pda = src:wear_id
- id = pda.owner
- else
- id = src.wear_id.registered_name_name
- if (src.wear_id.PHOTO)
- photo = 1
- if (id != src.real_name && in_range(src, usr) && prob(10))
- if (photo)
- usr << "\red [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] with a photo yet doesn't seem to be that person!!!"
- else
- usr << "\red [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] yet doesn't seem to be that person!!!"
- else
- if (photo)
- usr << "\blue [src.name] is wearing \icon[src.wear_id] [src.wear_id.name] with a photo."
- else
- usr << "\blue [src.name] is wearing \icon[src.wear_id] [src.wear_id.name]."
-
-
- if (src.is_jittery)
- switch(src.jitteriness)
- if(300 to INFINITY)
- usr << "\red [src] is violently convulsing."
- if(200 to 300)
- usr << "\red [src] looks extremely jittery."
- if(100 to 200)
- usr << "\red [src] is twitching ever so slightly."
-
- if (src.suiciding)
- switch(src.suiciding)
- if(1)
- usr << "\red [src.name] appears to have bitten [t_his] tongue off!"
-
- var/distance = get_dist(usr,src)
- if(istype(usr, /mob/dead/observer) || usr.stat == 2) // ghosts can see anything
- distance = 1
-
- if (src.stat == 1 || stat == 2)
- usr << "\red [name] doesn't seem to be responding to anything around [t_him], [t_his] eyes closed as though asleep."
- if(health < 0 && distance <= 3)
- usr << "\red [name] does not appear to be breathing."
- if(ishuman(src) && usr.stat == 0 && src.stat == 1 && distance <= 1)
- for(var/mob/O in viewers(usr.loc, null))
- O.show_message("[usr] checks [src]'s pulse.", 1)
- sleep(15)
- usr << "\blue [name] has a pulse!"
-
- if (src.stat == 2 || (changeling && changeling.changeling_fakedeath == 1))
- if(distance <= 1)
- if(ishuman(usr) && usr.stat == 0)
- for(var/mob/O in viewers(usr.loc, null) )
- O.show_message("[usr] checks [src]'s pulse.", 1)
- sleep(15)
- usr << "\red [name] has no pulse!"
- else
- if (src.getBruteLoss())
- if (src.getBruteLoss() < 30)
- usr << "\red [src.name] looks slightly injured!"
- else
- usr << "\red [src.name] looks severely injured!"
-
- if (src.cloneloss)
- if (src.cloneloss < 30)
- usr << "\red [src.name] looks slightly... unfinished?"
- else
- usr << "\red [src.name] looks very... unfinished?"
-
- if (src.getFireLoss())
- if (src.getFireLoss() < 30)
- usr << "\red [src.name] looks slightly burned!"
- else
- usr << "\red [src.name] looks severely burned!"
-
- if (src.nutrition < 100)
- usr << "\red [src.name] looks like flesh and bones."
- else if (src.nutrition >= 500)
- if (usr.nutrition < 100)
- usr << "\red [src.name] looks very round and delicious. Like a little piggy. A tasty piggy."
- else
- usr << "\blue [src.name] looks quite chubby."
-
- else if (src.brainloss >= 60)
- usr << "\red [src.name] has a stupid expression on [t_his] face."
- if (!src.client)
- usr << "\red [src.name] doesn't seem as though they want to talk."
-
- for(var/named in organs)
- var/datum/organ/external/temp = organs[named]
- if(temp.destroyed)
- usr << "\red [src.name] is missing [t_his] [temp.display_name]."
- if(temp.wounds)
- for(var/datum/organ/external/wound/w in temp.wounds)
- var/size = w.wound_size
- var/sizetext
- switch(size)
- if(1)
- sizetext = "cut"
- if(2)
- sizetext = "deep cut"
- if(3)
- sizetext = "flesh wound"
- if(4)
- sizetext = "gaping wound"
- if(5)
- sizetext = "big gaping wound"
- if(6)
- sizetext = "massive wound"
- if(w.bleeding)
- usr << "\red [src.name] is bleeding from a [sizetext] on [t_his] [temp.display_name]."
- continue
-
-
- usr << "\blue *---------*"
-*/
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/Tajara/say.dm b/code/modules/mob/living/carbon/human/Tajara/say.dm
deleted file mode 100644
index 60cdf0e9bf1..00000000000
--- a/code/modules/mob/living/carbon/human/Tajara/say.dm
+++ /dev/null
@@ -1,491 +0,0 @@
-//their language needs to hook into radios as well
-
-/mob/living/carbon/human/tajaran/say_quote(var/text,var/is_speaking_taj)
- //work out if the listener can understand or not
-
- var/ending = copytext(text, length(text))
- if (src.stuttering)
- return "stammers, \"[text]\"";
- if (src.slurring)
- return "slurrs, \"[text]\"";
- if (src.brainloss >= 60)
- return "gibbers, \"[text]\"";
-
- if(is_speaking_taj)
- return "mrowls, \"[text]\""//pick("yowls, \"[text]\"", "growls, \"[text]\"","mewls, \"[text]\"", "mrowls, \"[text]\"", "meows, \"[text]\"", "purrs, \"[text]\"");
-
- if (ending == "?")
- return "asks, \"[text]\"";
- else if (ending == "!")
- return "exclaims, \"[text]\"";
-
- return "says, \"[text]\"";
-
-//convert message to an indecipherable series of sounds for anyone who isnt tajaran
-/mob/living/carbon/human/tajaran/proc/tajspeak(var/message)
- //return stars(message)
- var/te = html_decode(message)
- var/t = ""
- var/n = length(message)
- var/p = 1
- while(p <= n)
- if (copytext(te, p, p + 1) != " ")
- t = text("[][]", t, pick(tajspeak_letters))
- p++
- return html_encode(t)
- /*if (pr == null)
- pr = 25
- if (pr <= 0)
- return null
- else
- if (pr >= 100)
- return n
- var/te = html_decode(n)
- var/t = ""
- n = length(n)
- var/p = null
- p = 1
- while(p <= n)
- if ((copytext(te, p, p + 1) == " " || prob(pr)))
- t = text("[][]", t, copytext(te, p, p + 1))
- else
- t = text("[]*", t)
- p++
- return html_encode(t)*/
-
-/mob/living/carbon/human/tajaran/say(var/message)
- var/message_old = message
- message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
-
- if (!message)
- return
-
- log_say("[name]/[key] : [message]")
-
- if (length(message) >= 1)
- if (miming && copytext(message, 1, 2) != "*")
- return
-
- if (stat == 2)
- return say_dead(message)
-
- if (silent)
- return
-
- if (src.client && (client.muted || src.client.muted_complete))
- src << "You are muted."
- return
-
- // wtf?
- if (stat)
- return
-
- // Mute disability
- if (disabilities & 64)
- return
-
- if (istype(wear_mask, /obj/item/clothing/mask/muzzle))
- return
-
- // emotes
- if (copytext(message, 1, 2) == "*" && !stat)
- return emote(copytext(message, 2))
-
- var/alt_name = ""
- if (istype(src, /mob/living/carbon/human) && name != real_name)
- var/mob/living/carbon/human/H = src
- alt_name = " (as [H.get_visible_name()])"
- var/italics = 0
- var/message_range = null
- var/message_mode = null
-
- if (brainloss >= 60 && prob(50))
- if (ishuman(src))
- message_mode = "headset"
- // Special message handling
- else if (copytext(message, 1, 2) == ";")
- if (ishuman(src))
- message_mode = "headset"
- else if(istype(src, /mob/living/silicon/pai) || istype(src, /mob/living/silicon/robot))
- message_mode = "pAI"
- message = copytext(message, 2)
-
- else if (length(message) >= 2)
- var/channel_prefix = copytext(message, 1, 3)
-
- message_mode = department_radio_keys[channel_prefix]
- //world << "channel_prefix=[channel_prefix]; message_mode=[message_mode]"
- if (message_mode)
- message = trim(copytext(message, 3))
- if (!ishuman(src) && (message_mode=="department" || (message_mode in radiochannels)))
- message_mode = null //only humans can use headsets
-
- if (!message)
- return
-
- //work out if we're speaking tajaran or not
- var/is_speaking_taj = 0
- if(copytext(message, 1, 3) == ":j" || copytext(message, 1, 3) == ":J")
- message = copytext(message, 3)
- if(taj_talk_understand)
- is_speaking_taj = 1
-
- if( !message_mode && (disease_symptoms & DISEASE_WHISPER))
- message_mode = "whisper"
-
- if(src.stunned > 0 || (traumatic_shock > 61 && prob(50)))
- message_mode = "" //Stunned people shouldn't be able to physically turn on their radio/hold down the button to speak into it
-
-
- message = capitalize(message) //capitalize the first letter of what they actually say
-
- // :downs:
- if (brainloss >= 60)
- message = dd_replacetext(message, " am ", " ")
- message = dd_replacetext(message, " is ", " ")
- message = dd_replacetext(message, " are ", " ")
- message = dd_replacetext(message, "you", "u")
- message = dd_replacetext(message, "help", "halp")
- message = dd_replacetext(message, "grief", "grife")
- message = dd_replacetext(message, "space", "spess")
- message = dd_replacetext(message, "carp", "crap")
- message = dd_replacetext(message, "reason", "raisin")
- if(prob(50))
- message = uppertext(message)
- message += "[stutter(pick("!", "!!", "!!!"))]"
- if(!stuttering && prob(15))
- message = stutter(message)
-
- if (stuttering)
- message = stutter(message)
- if (slurring)
- message = slur(message)
-
-/* //qw do not have beesease atm.
- if(virus)
- if(virus.name=="beesease" && virus.stage>=2)
- if(prob(virus.stage*10))
- var/bzz = length(message)
- message = "B"
- for(var/i=0,i[gender=="male"?"Mr.":"Mrs."] [changeling.changelingID]: [message]"
- return
-////SPECIAL HEADSETS START
- else
- //world << "SPECIAL HEADSETS"
- if (message_mode in radiochannels)
- if (src:l_ear && istype(src:l_ear,/obj/item/device/radio))
- src:l_ear.talk_into(src, message, message_mode)
- used_radios += src:l_ear
- else if (src:r_ear)
- src:r_ear.talk_into(src, message, message_mode)
- used_radios += src:r_ear
- message_range = 1
- italics = 1
-/////SPECIAL HEADSETS END
-
- var/list/listening
-/*
- if(istype(loc, /obj/item/device/aicard)) // -- TLE
- var/obj/O = loc
- if(istype(O.loc, /mob))
- var/mob/M = O.loc
- listening = hearers(message_range, M)
- else
- listening = hearers(message_range, O)
- else
- listening = hearers(message_range, src)
-
- for (var/obj/O in view(message_range, src))
- for (var/mob/M in O)
- listening += M // maybe need to check if M can hear src
- spawn (0)
- if (O)
- O.hear_talk(src, message)
-
- if (!(src in listening))
- listening += src
-
-*/
- var/turf/T = get_turf(src)
- listening = hearers(message_range, T)
- var/list/V = view(message_range, T)
- var/list/W = V
- //find mobs in lockers, cryo, intellicards, brains, MMIs, and so on.
- for (var/mob/M in world)
- if (!M.client)
- continue //skip monkeys and leavers
- if (istype(M, /mob/new_player))
- continue
- if (M.stat <2) //is alive
- if (isturf(M.loc))
- continue //if M can hear us it was already found by hearers()
- if (get_turf(M) in V) //this is slow, but I don't think we'd have a lot of wardrobewhores every round --rastaf0
- listening+=M
- else
- if (M.client && M.client.ghost_ears)
- listening|=M
-
- var/list/eavesdroppers = get_mobs_in_view(7, src)
- for(var/mob/M in listening)
- eavesdroppers.Remove(M)
- for(var/mob/M in eavesdroppers)
- if(M.stat)
- eavesdroppers.Remove(M)
-
- for (var/obj/O in ((W | contents)-used_radios))
- W |= O
-
- for (var/mob/M in W)
- W |= M.contents
- if(ishuman(M))
- var/mob/living/carbon/human/G = M
- for(var/name in G.organs)
- var/datum/organ/external/F = G.organs[name]
- W |= F.implant
-
- for (var/obj/item/device/pda/M in W)
- W |= M.contents
-
- for (var/obj/O in W) //radio in pocket could work, radio in backpack wouldn't --rastaf0
- spawn (0)
- if(O && !istype(O.loc, /obj/item/weapon/storage))
- O.hear_talk(src, message)
-
- if(isbrain(src))//For brains to properly talk if they are in an MMI..or in a brain. Could be extended to other mobs I guess.
- for(var/obj/O in loc)//Kinda ugly but whatever.
- if(O)
- spawn(0)
- O.hear_talk(src, message)
-
- var/list/heard_a = list() // understood us
- var/list/heard_b = list() // didn't understand us
-
- for (var/mob/M in listening)
- //if speaking in tajaran, only let other tajs understand
- if ( M.say_understands(src) && (M.taj_talk_understand || !is_speaking_taj) )
- heard_a += M
- else
- heard_b += M
-
- var/speech_bubble_test = say_test(message)
- var/image/speech_bubble = image('talk.dmi',src,"h[speech_bubble_test]")
-
- var/rendered = null
- if (length(heard_a))
- var/message_a = say_quote(message,is_speaking_taj)
- if (italics)
- message_a = "[message_a]"
- if (!istype(src, /mob/living/carbon/human))
- rendered = "[name] [message_a]"
- else if(istype(wear_mask, /obj/item/clothing/mask/gas/voice))
- if(wear_mask:vchange)
- rendered = "[wear_mask:voice] [message_a]"
- else
- rendered = "[name] [message_a]"
- else
- rendered = "[real_name][alt_name] [message_a]"
-
-
-/*
- // Create speech bubble
- var/obj/effect/speech_bubble/B = new/obj/effect/speech_bubble
- B.icon = 'speechbubble.dmi'
- B.parent = src
- B.mouse_opacity = 0
- B.invisibility = invisibility
- B.layer = 10
-
- // Determine if the speech bubble's going to have a special look
- var/presay = ""
- if(istype(src, /mob/living/silicon))
- presay = "bot"
- if(istype(src, /mob/living/carbon/alien))
- presay = "xeno"
- if(istype(src, /mob/living/carbon/metroid))
- presay = "metroid"
-*/
- for (var/mob/M in heard_a)
-
- M.show_message(rendered, 2)
- M << speech_bubble
- spawn(30) del(speech_bubble)
- //spawn(30) del(speech_bubble)
- /*
- if(M.client)
-
- // If this client has bubbles disabled, obscure the bubble
- if(!M.client.bubbles || M == src)
- var/image/I = image('speechbubble.dmi', B, "override")
- I.override = 1
- M << I
- */
-
- /*
- // find the suffix, if bot, human or monkey
- var/punctuation = ""
- if(presay == "bot" || presay == "")
- var/ending = copytext(text, length(text))
- if (ending == "?")
- punctuation = "question"
- else if (ending == "!")
- punctuation = "exclamation"
- else
- punctuation = ""
-
- // flick the bubble
- flick("[presay]say[punctuation]", B)
-
- if(istype(loc, /turf))
- B.loc = loc
- else
- B.loc = loc.loc
-
- spawn()
- sleep(11)
- del(B)
- */
-
- if (length(heard_b))
- var/message_b = tajspeak(message)
- message_b = say_quote(message_b,1)
-
- if (italics)
- message_b = "[message_b]"
-
- rendered = "[voice_name] [message_b]"
-
-
- /*
- // Create speech bubble
- var/obj/effect/speech_bubble/B = new/obj/effect/speech_bubble
- B.icon = 'speechbubble.dmi'
- B.parent = src
- B.mouse_opacity = 0
- B.invisibility = invisibility
- B.layer = 10
-
- // Determine if the speech bubble's going to have a special look
- var/presay = ""
- if(istype(src, /mob/living/silicon))
- presay = "bot"
- if(istype(src, /mob/living/carbon/alien))
- presay = "xeno"
- if(istype(src, /mob/living/carbon/metroid))
- presay = "metroid"
- */
-
- for (var/mob/M in heard_b)
- M.show_message(rendered, 2)
- M << speech_bubble
- spawn(30) del(speech_bubble)
-
- /*
- if(M.client)
-
- if(!M.client.bubbles || M == src)
- var/image/I = image('speechbubble.dmi', B, "override")
- I.override = 1
- M << I
-
-
- flick("[presay]say", B)
-
- if(istype(loc, /turf))
- B.loc = loc
- else
- B.loc = loc.loc
-
- spawn()
- sleep(11)
- del(B)
- */
-
- if (length(eavesdroppers))
-
- for (var/mob/M in eavesdroppers)
- M << "\blue [src] speaks into their radio..."
- M << speech_bubble
- spawn(30) del(speech_bubble)
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/Tajara/tajara_transformation.dm b/code/modules/mob/living/carbon/human/Tajara/tajara_transformation.dm
deleted file mode 100644
index 7ea9c26374c..00000000000
--- a/code/modules/mob/living/carbon/human/Tajara/tajara_transformation.dm
+++ /dev/null
@@ -1,60 +0,0 @@
-/mob/living/carbon/human/proc/Tajaraize()
- if (monkeyizing)
- return
- for(var/obj/item/W in src)
- drop_from_slot(W)
- update_clothing()
- monkeyizing = 1
- canmove = 0
- icon = null
- invisibility = 101
- for(var/datum/organ/external/organ in organs)
- del(organ)
-
-
- var/atom/movable/overlay/animation = new /atom/movable/overlay( loc )
- animation.icon_state = "blank"
- animation.icon = 'mob.dmi'
- animation.master = src
- flick("h2monkey", animation)
- sleep(48)
- //animation = null
- var/mob/living/carbon/human/tajaran/O = new /mob/living/carbon/human/tajaran( loc )
- del(animation)
-
- O.real_name = real_name
- O.name = name
- O.dna = dna
- updateappearance(O,O.dna.uni_identity)
- O.loc = loc
- O.viruses = viruses
- viruses = list()
- for(var/datum/disease/D in O.viruses)
- D.affected_mob = O
- O.universal_speak = 1 //hacky fix until someone can figure out how to make them only understand humans
-
- if (client)
- client.mob = O
- if(mind)
- mind.transfer_to(O)
-
- O << "You are now a Tajara."
- spawn(0)//To prevent the proc from returning null.
- del(src)
- return
-
-/client/proc/make_tajaran(mob/living/carbon/human/H as mob)
- set category = "Fun"
- set name = "Make Tajaran"
- set desc = "Make (mob) into a tajaran."
-
- if (!holder)
- src << "Only administrators may use this command."
- return
-
- if(config.no_taj)
- src << "Sorry, Tajarans are not allowed on this server." // For some reason allowing them is a big enough fucking issue that I have to add this flag
- return
-
- if(istype(H))
- H:Tajaraize()
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/Tajara/tajaran.dm b/code/modules/mob/living/carbon/human/Tajara/tajaran.dm
deleted file mode 100644
index ab59b0a5dec..00000000000
--- a/code/modules/mob/living/carbon/human/Tajara/tajaran.dm
+++ /dev/null
@@ -1,670 +0,0 @@
-/mob/living/carbon/human/tajaran
- name = "tajaran"
- real_name = "tajaran"
- voice_name = "tajaran"
- icon = 'tajaran.dmi'
- icon_state = "m-none"
- var/list/tajspeak_letters
- //
- universal_speak = 1 //hacky fix until someone can figure out how to make them only understand humans
- taj_talk_understand = 1
- voice_message = "mrowls"
-
-/mob/living/carbon/human/tajaran/New()
-
- ..()
-
- tajspeak_letters = new/list("~","*","-")
-
- var/g = "m"
- if (gender == FEMALE)
- g = "f"
-
- spawn(1)
- stand_icon = new /icon('tajaran.dmi', "body_[g]_s")
- lying_icon = new /icon('tajaran.dmi', "body_[g]_l")
- icon = stand_icon
- update_clothing()
-
- src << "\blue Your Tajaran icons have been generated!"
-
-
-
-
-/mob/living/carbon/human/tajaran/update_clothing()
-// ..()
-
- if (monkeyizing)
- return
-
- overlays = null
-
- // lol
- var/fat = ""
- /*if (mutations & FAT)
- fat = "fat"*/
-/*
- if (mutations & HULK)
- overlays += image("icon" = 'genetics.dmi', "icon_state" = "hulk[fat][!lying ? "_s" : "_l"]")
-*/
- if (mutations & COLD_RESISTANCE)
- overlays += image("icon" = 'genetics.dmi', "icon_state" = "fire[fat][!lying ? "_s" : "_l"]")
-
- if (mutations & TK)
- overlays += image("icon" = 'genetics.dmi', "icon_state" = "telekinesishead[fat][!lying ? "_s" : "_l"]")
-
- if (mutations & LASER)
- overlays += image("icon" = 'genetics.dmi', "icon_state" = "lasereyes[!lying ? "_s" : "_l"]")
-
- if (mutantrace)
- switch(mutantrace)
- if("golem","metroid")
- overlays += image("icon" = 'genetics.dmi', "icon_state" = "[mutantrace][fat][!lying ? "_s" : "_l"]")
- if(face_standing)
- del(face_standing)
- if(face_lying)
- del(face_lying)
- if(stand_icon)
- del(stand_icon)
- if(lying_icon)
- del(lying_icon)
- if("lizard")
- overlays += image("icon" = 'genetics.dmi', "icon_state" = "[mutantrace][fat]_[gender][!lying ? "_s" : "_l"]")
- if(face_standing)
- del(face_standing)
- if(face_lying)
- del(face_lying)
- if(stand_icon)
- del(stand_icon)
- if(lying_icon)
- del(lying_icon)
- if("plant")
- if(stat != 2) //if not dead, that is
- overlays += image("icon" = 'genetics.dmi', "icon_state" = "[mutantrace][fat]_[gender][!lying ? "_s" : "_l"]")
- else
- overlays += image("icon" = 'genetics.dmi', "icon_state" = "[mutantrace]_d")
- if(face_standing)
- del(face_standing)
- if(face_lying)
- del(face_lying)
- if(stand_icon)
- del(stand_icon)
- if(lying_icon)
- del(lying_icon)
- else
- if(!face_standing || !face_lying)
- update_face()
- if(!stand_icon || !lying_icon)
- update_body()
-
- if(buckled)
- if(istype(buckled, /obj/structure/stool/bed))
- lying = 1
- else
- lying = 0
-
- // Automatically drop anything in store / id / belt if you're not wearing a uniform.
- if (!w_uniform)
- for (var/obj/item/thing in list(r_store, l_store, wear_id, belt))
- if (thing)
- u_equip(thing)
- if (client)
- client.screen -= thing
-
- if (thing)
- thing.loc = loc
- thing.dropped(src)
- thing.layer = initial(thing.layer)
-
-
- //if (zone_sel)
- // zone_sel.overlays = null
- // zone_sel.overlays += body_standing
- // zone_sel.overlays += image("icon" = 'zone_sel.dmi', "icon_state" = text("[]", zone_sel.selecting))
-
- if (lying)
- icon = lying_icon
-
- overlays += body_lying
-
- if (face_lying)
- overlays += face_lying
- else
- icon = stand_icon
-
- overlays += body_standing
-
- if (face_standing)
- overlays += face_standing
-
- // Uniform
- if(w_uniform)
- /*if (mutations & FAT && !(w_uniform.flags & ONESIZEFITSALL))
- src << "\red You burst out of the [w_uniform.name]!"
- var/obj/item/clothing/c = w_uniform
- u_equip(c)
- if(client)
- client.screen -= c
- if(c)
- c:loc = loc
- c:dropped(src)
- c:layer = initial(c:layer)*/
- if(w_uniform)//I should really not need these
- w_uniform.screen_loc = ui_iclothing
- if(istype(w_uniform, /obj/item/clothing/under))
- var/t1 = w_uniform.color
- if (!t1)
- t1 = icon_state
- /*if (mutations & FAT)
- overlays += image("icon" = 'uniform_fat.dmi', "icon_state" = "[t1][!lying ? "_s" : "_l"]", "layer" = MOB_LAYER)
- else*/
- overlays += image("icon" = 'uniform.dmi', "icon_state" = text("[][]",t1, (!(lying) ? "_s" : "_l")), "layer" = MOB_LAYER)
- if (w_uniform.blood_DNA)
- var/icon/stain_icon = icon('blood.dmi', "uniformblood[!lying ? "" : "2"]")
- overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
-
- if (wear_id)
- overlays += image("icon" = 'mob.dmi', "icon_state" = "id[!lying ? null : "2"]", "layer" = MOB_LAYER)
-
- if (client)
- client.screen -= hud_used.intents
- client.screen -= hud_used.mov_int
-
-
- //Screenlocs for these slots are handled by the huds other_update()
- //because theyre located on the 'other' inventory bar.
-
- // Gloves
- var/datum/organ/external/lo = get_organ("l_hand")
- var/datum/organ/external/ro = get_organ("r_hand")
- if (!lo.destroyed || !ro.destroyed)
- if (gloves)
- var/t1 = gloves.item_state
- if (!t1)
- t1 = gloves.icon_state
- var/icon/gloves_icon = new /icon("icon" = 'hands.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")))
- if(lo.destroyed)
- gloves_icon.Blend(new /icon('limb_mask.dmi', "right_[lying?"l":"s"]"), ICON_MULTIPLY)
- else if(ro.destroyed)
- gloves_icon.Blend(new /icon('limb_mask.dmi', "left_[lying?"l":"s"]"), ICON_MULTIPLY)
- overlays += image(gloves_icon, "layer" = MOB_LAYER)
- if (gloves.blood_DNA)
- var/icon/stain_icon = icon('blood.dmi', "bloodyhands[!lying ? "" : "2"]")
- if(lo.destroyed)
- stain_icon.Blend(new /icon('limb_mask.dmi', "right_[lying?"l":"s"]"), ICON_MULTIPLY)
- else if(ro.destroyed)
- stain_icon.Blend(new /icon('limb_mask.dmi', "left_[lying?"l":"s"]"), ICON_MULTIPLY)
- overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
- else if (blood_DNA)
- var/icon/stain_icon = icon('blood.dmi', "bloodyhands[!lying ? "" : "2"]")
- if(lo.destroyed)
- stain_icon.Blend(new /icon('limb_mask.dmi', "right_[lying?"l":"s"]"), ICON_MULTIPLY)
- else if(ro.destroyed)
- stain_icon.Blend(new /icon('limb_mask.dmi', "left_[lying?"l":"s"]"), ICON_MULTIPLY)
- overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
- // Glasses
- if (glasses)
- var/t1 = glasses.icon_state
- overlays += image("icon" = 'eyes.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
- // Ears
- /*
- if (l_ear)
- var/t1 = l_ear.icon_state
- overlays += image("icon" = 'ears.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
- if (r_ear)
- var/t1 = r_ear.icon_state
- overlays += image("icon" = 'ears.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
-
- */
- // Shoes
- lo = get_organ("l_foot")
- ro = get_organ("r_foot")
- if ((!lo.destroyed || !ro.destroyed) && shoes)
- var/t1 = shoes.icon_state
- var/icon/shoes_icon = new /icon("icon" = 'feet.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")))
- if(lo.destroyed && !lying)
- shoes_icon.Blend(new /icon('limb_mask.dmi', "right[lying?"_l":""]"), ICON_MULTIPLY)
- else if(ro.destroyed && !lying)
- shoes_icon.Blend(new /icon('limb_mask.dmi', "left[lying?"_l":""]"), ICON_MULTIPLY)
- overlays += image(shoes_icon, "layer" = MOB_LAYER)
- if (shoes.blood_DNA)
- var/icon/stain_icon = icon('blood.dmi', "shoesblood[!lying ? "" : "2"]")
- if(lo.destroyed)
- stain_icon.Blend(new /icon('limb_mask.dmi', "right_[lying?"l":"s"]"), ICON_MULTIPLY)
- else if(ro.destroyed)
- stain_icon.Blend(new /icon('limb_mask.dmi', "left_[lying?"l":"s"]"), ICON_MULTIPLY)
- overlays += image("icon" = stain_icon, "layer" = MOB_LAYER) // Radio
-/* if (w_radio)
- overlays += image("icon" = 'ears.dmi', "icon_state" = "headset[!lying ? "" : "2"]", "layer" = MOB_LAYER) */
-
- if (s_store)
- var/t1 = s_store.item_state
- if (!t1)
- t1 = s_store.icon_state
- s_store.screen_loc = ui_sstore1
-
- if(client) hud_used.other_update() //Update the screenloc of the items on the 'other' inventory bar
- //to hide / show them.
- if (client)
- if (i_select)
- if (intent)
- client.screen += hud_used.intents
-
- var/list/L = dd_text2list(intent, ",")
- L[1] += ":-11"
- i_select.screen_loc = dd_list2text(L,",") //ICONS4, FUCKING SHIT
- else
- i_select.screen_loc = null
- if (m_select)
- if (m_int)
- client.screen += hud_used.mov_int
-
- var/list/L = dd_text2list(m_int, ",")
- L[1] += ":-11"
- m_select.screen_loc = dd_list2text(L,",") //ICONS4, FUCKING SHIT
- else
- m_select.screen_loc = null
-
- var/tail_shown = 1
- if (wear_suit)
- /*if (mutations & FAT && !(wear_suit.flags & ONESIZEFITSALL))
- src << "\red You burst out of the [wear_suit.name]!"
- var/obj/item/clothing/c = wear_suit
- u_equip(c)
- if(client)
- client.screen -= c
- if(c)
- c:loc = loc
- c:dropped(src)
- c:layer = initial(c:layer)*/
- if (istype(wear_suit, /obj/item/clothing/suit))
- var/t1 = wear_suit.icon_state
- overlays += image("icon" = 'suit.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
- if (wear_suit)
- if (wear_suit.blood_DNA)
- var/icon/stain_icon = null
- if (istype(wear_suit, /obj/item/clothing/suit/armor/vest))
- stain_icon = icon('blood.dmi', "armorblood[!lying ? "" : "2"]")
-
- else
- stain_icon = icon('blood.dmi', "suitblood[!lying ? "" : "2"]")
- overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
- wear_suit.screen_loc = ui_oclothing
- if (istype(wear_suit, /obj/item/clothing/suit/straight_jacket))
- if (handcuffed)
- handcuffed.loc = loc
- handcuffed.layer = initial(handcuffed.layer)
- handcuffed = null
- if ((l_hand || r_hand))
- var/h = hand
- hand = 1
- drop_item()
- hand = 0
- drop_item()
- hand = h
- //if wearing some suits, hide the tail
- if ( istype(wear_suit, /obj/item/clothing/suit/bio_suit) || istype(wear_suit, /obj/item/clothing/suit/bomb_suit) || istype(wear_suit, /obj/item/clothing/suit/space) )
- tail_shown = 0
- if(tail_shown)
- overlays += image("icon" = icon('tajaran.dmi', "tail_[gender==FEMALE ? "f" : "m"]_[lying ? "l" : "s"]"), "layer" = MOB_LAYER)
-
- if (lying)
- if (face_lying)
- overlays += face_lying
- else
- if (face_standing)
- overlays += face_standing
-
- if (wear_mask)
- if (istype(wear_mask, /obj/item/clothing/mask))
- var/t1 = wear_mask.icon_state
- overlays += image("icon" = 'mask.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
- if (!istype(wear_mask, /obj/item/clothing/mask/cigarette))
- if (wear_mask.blood_DNA)
- var/icon/stain_icon = icon('blood.dmi', "maskblood[!lying ? "" : "2"]")
- overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
- wear_mask.screen_loc = ui_mask
-
- // Head
- if (head)
- var/t1 = head.icon_state
- var/icon/head_icon = icon('head.dmi', text("[][]", t1, (!( lying ) ? null : "2")))
- if(istype(head,/obj/item/clothing/head/kitty))
- head_icon = (( lying ) ? head:mob2 : head:mob)
- overlays += image("icon" = head_icon, "layer" = MOB_LAYER)
- if (head.blood_DNA)
- var/icon/stain_icon = icon('blood.dmi', "helmetblood[!lying ? "" : "2"]")
- overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
- head.screen_loc = ui_head
- else
- var/datum/organ/external/head = get_organ("head")
- if(!head.destroyed)
- //if not wearing anything on the head, show the ears
- overlays += image("icon" = icon('tajaran.dmi', "ears_[gender==FEMALE ? "f" : "m"]_[lying ? "l" : "s"]"), "layer" = MOB_LAYER)
-
- // Belt
- if (belt)
- var/t1 = belt.item_state
- if (!t1)
- t1 = belt.icon_state
- overlays += image("icon" = 'belt.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
- belt.screen_loc = ui_belt
-
-
- name = get_visible_name()
-
- if (wear_id)
- wear_id.screen_loc = ui_id
-
- if (l_store)
- l_store.screen_loc = ui_storage1
-
- if (r_store)
- r_store.screen_loc = ui_storage2
-
- if (back)
- var/t1 = back.icon_state
- overlays += image("icon" = 'back.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
- back.screen_loc = ui_back
-
- if (handcuffed)
- pulling = null
- if (!lying)
- overlays += image("icon" = 'mob.dmi', "icon_state" = "handcuff1", "layer" = MOB_LAYER)
- else
- overlays += image("icon" = 'mob.dmi', "icon_state" = "handcuff2", "layer" = MOB_LAYER)
-
- if (client)
- client.screen -= contents
- client.screen += contents
-
- if (r_hand)
- overlays += image("icon" = 'items_righthand.dmi', "icon_state" = r_hand.item_state ? r_hand.item_state : r_hand.icon_state, "layer" = MOB_LAYER+1)
-
- r_hand.screen_loc = ui_rhand
-
- if (l_hand)
- overlays += image("icon" = 'items_lefthand.dmi', "icon_state" = l_hand.item_state ? l_hand.item_state : l_hand.icon_state, "layer" = MOB_LAYER+1)
-
- l_hand.screen_loc = ui_lhand
-
- var/shielded = 0
- for (var/obj/item/weapon/cloaking_device/S in src)
- if (S.active)
- shielded = 2
- break
-
- if(istype(wear_suit, /obj/item/clothing/suit/space/space_ninja)&&wear_suit:s_active)
- shielded = 3
-
- switch(shielded)
- if(1)
- overlays += image("icon" = 'effects.dmi', "icon_state" = "shield", "layer" = MOB_LAYER+1)
- if(2)
- invisibility = 2
- //New stealth. Hopefully doesn't lag too much. /N
- if(istype(loc, /turf))//If they are standing on a turf.
- AddCamoOverlay(loc)//Overlay camo.
- if(3)
- if(istype(loc, /turf))
- //Ninjas may flick into view once in a while if they are stealthed.
- if(prob(90))
- NinjaStealthActive(loc)
- else
- NinjaStealthMalf()
- else
- invisibility = 0
-
- if (shielded == 2)
- invisibility = 2
- else
- invisibility = 0
-/*
- for (var/mob/M in viewers(1, src))//For the love of god DO NOT REFRESH EVERY SECOND - Mport
- if ((M.client && M.machine == src))
- spawn (0)
- show_inv(M)
- return
-*/
- last_b_state = stat
-
-/mob/living/carbon/human/tajaran/update_body()
- if(stand_icon)
- del(stand_icon)
- if(lying_icon)
- del(lying_icon)
-
- if (mutantrace)
- return
-
- var/g = "m"
- if (gender == MALE)
- g = "m"
- else if (gender == FEMALE)
- g = "f"
-
- stand_icon = new /icon('tajaran.dmi', "torso_[g]_s")
- lying_icon = new /icon('tajaran.dmi', "torso_[g]_l")
-
-
-
- var/husk = (mutations & HUSK)
- //var/obese = (mutations & FAT)
-
- stand_icon.Blend(new /icon('tajaran.dmi', "chest_[g]_s"), ICON_OVERLAY)
- lying_icon.Blend(new /icon('tajaran.dmi', "chest_[g]_l"), ICON_OVERLAY)
-
- var/datum/organ/external/head = get_organ("head")
- if(!head.destroyed)
- stand_icon.Blend(new /icon('tajaran.dmi', "head_[g]_s"), ICON_OVERLAY)
- lying_icon.Blend(new /icon('tajaran.dmi', "head_[g]_l"), ICON_OVERLAY)
-
- for(var/datum/organ/external/part in organs)
- if(!istype(part, /datum/organ/external/groin) \
- && !istype(part, /datum/organ/external/chest) \
- && !istype(part, /datum/organ/external/head) \
- && !part.destroyed)
- var/icon/temp = new /icon('tajaran.dmi', "[part.icon_name]_s")
- if(part.robot) temp.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0))
- stand_icon.Blend(temp, ICON_OVERLAY)
- temp = new /icon('tajaran.dmi', "[part.icon_name]_l")
- if(part.robot) temp.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0))
- lying_icon.Blend(temp , ICON_OVERLAY)
-
- stand_icon.Blend(new /icon('tajaran.dmi', "groin_[g]_s"), ICON_OVERLAY)
- lying_icon.Blend(new /icon('tajaran.dmi', "groin_[g]_l"), ICON_OVERLAY)
-
- if (husk)
- var/icon/husk_s = new /icon('tajaran.dmi', "husk_s")
- var/icon/husk_l = new /icon('tajaran.dmi', "husk_l")
-
- for(var/datum/organ/external/part in organs)
- if(!istype(part, /datum/organ/external/groin) \
- && !istype(part, /datum/organ/external/chest) \
- && !istype(part, /datum/organ/external/head) \
- && part.destroyed)
- husk_s.Blend(new /icon('dam_mask.dmi', "[part.icon_name]"), ICON_SUBTRACT)
- husk_l.Blend(new /icon('dam_mask.dmi', "[part.icon_name]2"), ICON_SUBTRACT)
-
- stand_icon.Blend(husk_s, ICON_OVERLAY)
- lying_icon.Blend(husk_l, ICON_OVERLAY)
- /*else if(obese)
- stand_icon.Blend(new /icon('human.dmi', "fatbody_s"), ICON_OVERLAY)
- lying_icon.Blend(new /icon('human.dmi', "fatbody_l"), ICON_OVERLAY)*/
-
- // Skin tone
- if (s_tone >= 0)
- stand_icon.Blend(rgb(s_tone, s_tone, s_tone), ICON_ADD)
- lying_icon.Blend(rgb(s_tone, s_tone, s_tone), ICON_ADD)
- else
- stand_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT)
- lying_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT)
-
- if (underwear > 0)
- //if(!obese)
- stand_icon.Blend(new /icon('tajaran.dmi', "underwear[underwear]_[g]_s"), ICON_OVERLAY)
- lying_icon.Blend(new /icon('tajaran.dmi', "underwear[underwear]_[g]_l"), ICON_OVERLAY)
-
-
-/mob/living/carbon/human/tajaran/update_face()
- if(organs)
- var/datum/organ/external/head = get_organ("head")
- if(head)
- if(head.destroyed)
- del(face_standing)
- del(face_lying)
- return
-
- //if(!facial_hair_style || !hair_style) return//Seems people like to lose their icons, this should stop the runtimes for now
- del(face_standing)
- del(face_lying)
-
- if (mutantrace)
- return
-
- var/g = "m"
- if (gender == MALE)
- g = "m"
- else if (gender == FEMALE)
- g = "f"
-
- var/icon/eyes_s = new/icon("icon" = 'tajaran_face.dmi', "icon_state" = "eyes_s")
- var/icon/eyes_l = new/icon("icon" = 'tajaran_face.dmi', "icon_state" = "eyes_l")
- eyes_s.Blend(rgb(r_eyes, g_eyes, b_eyes), ICON_ADD)
- eyes_l.Blend(rgb(r_eyes, g_eyes, b_eyes), ICON_ADD)
-
- //var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s")
- //var/icon/hair_l = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_l")
- //hair_s.Blend(rgb(r_hair, g_hair, b_hair), ICON_ADD)
- //hair_l.Blend(rgb(r_hair, g_hair, b_hair), ICON_ADD)
-
- //var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s")
- //var/icon/facial_l = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_l")
- //facial_s.Blend(rgb(r_facial, g_facial, b_facial), ICON_ADD)
- //facial_l.Blend(rgb(r_facial, g_facial, b_facial), ICON_ADD)
-
- var/icon/mouth_s = new/icon("icon" = 'tajaran_face.dmi', "icon_state" = "mouth_[g]_s")
- var/icon/mouth_l = new/icon("icon" = 'tajaran_face.dmi', "icon_state" = "mouth_[g]_l")
-
- // if the head or mask has the flag BLOCKHAIR (equal to 5), then do not apply hair
- //if((!(head && (head.flags & BLOCKHAIR))) && !(wear_mask && (wear_mask.flags & BLOCKHAIR)))
- //eyes_s.Blend(hair_s, ICON_OVERLAY)
- //eyes_l.Blend(hair_l, ICON_OVERLAY)
-
- eyes_s.Blend(mouth_s, ICON_OVERLAY)
- eyes_l.Blend(mouth_l, ICON_OVERLAY)
-
- // if BLOCKHAIR, do not apply facial hair
- //if((!(head && (head.flags & BLOCKHAIR))) && !(wear_mask && (wear_mask.flags & BLOCKHAIR)))
- //eyes_s.Blend(facial_s, ICON_OVERLAY)
- //eyes_l.Blend(facial_l, ICON_OVERLAY)
-
-
- face_standing = new /image()
- face_lying = new /image()
- face_standing.icon = eyes_s
- face_standing.layer = MOB_LAYER
- face_lying.icon = eyes_l
- face_lying.layer = MOB_LAYER
-
- del(mouth_l)
- del(mouth_s)
- //del(facial_l)
- //del(facial_s)
- //del(hair_l)
- //del(hair_s)
- del(eyes_l)
- del(eyes_s)
-
-/mob/living/carbon/human/tajaran/co2overloadtime = null
-/mob/living/carbon/human/tajaran/temperature_resistance = T0C+70
-
-
-
-/mob/living/carbon/human/tajaran/Emissary/
- unacidable = 1
- var/aegis = 1
-
-/mob/living/carbon/human/tajaran/Emissary/New()
-
- ..()
-
- reagents.add_reagent("hyperzine", 5000) //From the dark, to the light, it's a supersonic flight!
- // Gotta keep it going!
- if (!(mutations & HULK))
- mutations |= HULK
-
- if (!(mutations & LASER))
- mutations |= LASER
-
- if (!(mutations & XRAY))
- mutations |= XRAY
- sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS)
- see_in_dark = 8
- see_invisible = 2
-
- if (!(mutations & COLD_RESISTANCE))
- mutations |= COLD_RESISTANCE
-
- if (!(mutations & TK))
- mutations |= TK
-
- if(!(mutations & HEAL))
- mutations |= HEAL
-
- spawn(0)
- while(src)
- adjustBruteLoss(-10)
- adjustToxLoss(-10)
- adjustOxyLoss(-10)
- adjustFireLoss(-10)
- sleep(10)
-
-
-/mob/living/carbon/human/tajaran/Emissary/ex_act()
- return
-
-/mob/living/carbon/human/tajaran/Emissary/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, inrange, params)
- if(istype(target , /obj/machinery/door/airlock))
- if(target:locked)
- target:locked = 0
- if(!target:density)
- return 1
- if(target:operating > 0)
- return
- if(!ticker)
- return 0
- if(!target:operating)
- target:operating = 1
-
- target:animate("opening")
- target:sd_SetOpacity(0)
- sleep(10)
- target:layer = 2.7
- target:density = 0
- target:update_icon()
- target:sd_SetOpacity(0)
- target:update_nearby_tiles()
-
- target:operating = -1
-
- user << "You force the door open, shearing the bolts and burning out the motor."
-
- if(target:operating)
- target:operating = -1
- else if(istype(target , /obj/machinery/door/firedoor))
- target:open()
-
-/mob/living/carbon/human/tajaran/Emissary/Life()
-
- ..()
-
- if (!(mutations & HULK))
- mutations |= HULK
-
-
- if((stat == 2) && aegis)
- src.show_message("\red [src]'s eyes open suddenlly.", 3, "\red \"I gave a solemn vow to never die for long.\"", 2)
- src.heal_overall_damage(9001,9001)
- src.stat = 0
- aegis = 0
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/Tajara/whisper.dm b/code/modules/mob/living/carbon/human/Tajara/whisper.dm
deleted file mode 100644
index 9b1f180f22b..00000000000
--- a/code/modules/mob/living/carbon/human/Tajara/whisper.dm
+++ /dev/null
@@ -1,170 +0,0 @@
-/mob/living/carbon/human/tajaran/whisper(message as text)
- //Figured it out. If you use say :w (message) it HTML encodes it, THEN passes it to the whisper code, which does so again. Jeez. --SkyMarshal
- message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
-
- if (!message)
- return
-
- if (silent)
- return
-
- log_whisper("[src.name]/[src.key] : [message]")
-
- if (src.client && (src.client.muted || src.client.muted_complete))
- src << "You are muted."
- return
-
- if (src.stat == 2)
- return src.say_dead(message)
-
- if (src.stat)
- return
-
- var/alt_name = ""
- if (istype(src, /mob/living/carbon/human) && src.name != src.real_name)
- var/mob/living/carbon/human/H = src
- alt_name = " (as [H.get_visible_name()])"
- // Mute disability
- if (src.disabilities & 64)
- return
-
- if (istype(src.wear_mask, /obj/item/clothing/mask/muzzle))
- return
-
- var/italics = 1
- var/message_range = 1
-
- //work out if we're speaking tajaran or not
- var/is_speaking_taj = 0
- if(copytext(message, 1, 4) == ":j ")
- message = copytext(message, 4)
- if(taj_talk_understand)
- is_speaking_taj = 1
-
- if(istype(src.wear_mask, /obj/item/clothing/mask/gas/voice/space_ninja)&&src.wear_mask:voice=="Unknown")
- if(copytext(message, 1, 2) != "*")
- var/list/temp_message = dd_text2list(message, " ")
- var/list/pick_list = list()
- for(var/i = 1, i <= temp_message.len, i++)
- pick_list += i
- for(var/i=1, i <= abs(temp_message.len/3), i++)
- var/H = pick(pick_list)
- if(findtext(temp_message[H], "*") || findtext(temp_message[H], ";") || findtext(temp_message[H], ":")) continue
- temp_message[H] = ninjaspeak(temp_message[H])
- pick_list -= H
- message = dd_list2text(temp_message, " ")
- message = dd_replaceText(message, "o", "¤")
- message = dd_replaceText(message, "p", "þ")
- message = dd_replaceText(message, "l", "£")
- message = dd_replaceText(message, "s", "§")
- message = dd_replaceText(message, "u", "µ")
- message = dd_replaceText(message, "b", "ß")
-
- message = capitalize(message)
-
- if (src.stuttering)
- message = stutter(message)
- if (src.slurring)
- message = slur(message)
-
- for (var/obj/O in view(message_range, src))
- spawn (0)
- if (O)
- O.hear_talk(src, message)
-
- var/list/listening = hearers(message_range, src)
- listening -= src
- listening += src
- var/list/eavesdropping = hearers(2, src)
- eavesdropping -= src
- eavesdropping -= listening
- var/list/watching = hearers(5, src)
- watching -= src
- watching -= listening
- watching -= eavesdropping
-
- var/list/heard_a = list() // understood us
- var/list/heard_b = list() // didn't understand us
-
- for (var/mob/M in listening)
- if ( M.say_understands(src) && (M.taj_talk_understand || !is_speaking_taj) )
- heard_a += M
- else
- heard_b += M
-
- var/rendered = null
-
- for (var/mob/M in watching)
- if ( (M.say_understands(src) && !is_speaking_taj) || istype(M,/mob/living/carbon/human/tajaran) )
- rendered = "[src.name] [is_speaking_taj ? "quietly mrowls" : "whispers"] something."
- else
- rendered = "[src.voice_name] [is_speaking_taj ? "quietly mrowls" : "whispers"] something."
- M.show_message(rendered, 2)
-
- if (length(heard_a))
- var/message_a = message
-
- if (italics)
- message_a = "[message_a]"
- //This appears copied from carbon/living say.dm so the istype check for mob is probably not needed. Appending for src is also not needed as the game will check that automatically.
- if (!istype(src, /mob/living/carbon/human))
- rendered = "[name] [is_speaking_taj ? "mrowls quietly" : "whispers"], \"[message_a]\""
- else if (istype(wear_mask, /obj/item/clothing/mask/gas/voice))
- if (wear_mask:vchange)
- rendered = "[wear_mask:voice] [is_speaking_taj ? "mrowls quietly" : "whispers"], \"[message_a]\""
- else
- rendered = "[name] [is_speaking_taj ? "mrowls quietly" : "whispers"], \"[message_a]\""
- else
- rendered = "[real_name][alt_name] [is_speaking_taj ? "mrowls quietly" : "whispers"], \"[message_a]\""
-
- for (var/mob/M in heard_a)
- M.show_message(rendered, 2)
-
- if (length(heard_b))
- var/message_b
-
- message_b = tajspeak(message)
-
- if (italics)
- message_b = "[message_b]"
-
- rendered = "[src.voice_name] mrows quietly, \"[message_b]\""
-
- for (var/mob/M in heard_b)
- M.show_message(rendered, 2)
-
- for (var/mob/M in eavesdropping)
- if (M.say_understands(src))
- var/message_c = tajspeak(message)
- if (!istype(src, /mob/living/carbon/human))
- rendered = "[name] mrowls quietly, \"[message_c]\""
- else if(istype(wear_mask, /obj/item/clothing/mask/gas/voice))
- if(wear_mask:vchange)
- rendered = "[wear_mask:voice] mrowls quietly, \"[message_c]\""
- else
- rendered = "[name] mrowls quietly, \"[message_c]\""
- else
- rendered = "[real_name][alt_name] mrowls quietly, \"[message_c]\""
- M.show_message(rendered, 2)
- else
- rendered = "[src.voice_name] quietly mrowls something."
- M.show_message(rendered, 2)
-
- if (italics)
- message = "[message]"
-
- if (!istype(src, /mob/living/carbon/human))
- rendered = "[name] [is_speaking_taj ? "mrowls quietly" : "whispers"], \"[message]\""
- else if (istype(src.wear_mask, /obj/item/clothing/mask/gas/voice))
- if(wear_mask:vchange)
- rendered = "[wear_mask:voice] [is_speaking_taj ? "mrowls quietly" : "whispers"], \"[message]\""
- else
- rendered = "[name] [is_speaking_taj ? "mrowls quietly" : "whispers"], \"[message]\""
- else
- rendered = "[real_name][alt_name] [is_speaking_taj ? "mrowls quietly" : "whispers"], \"[message]\""
-
- for (var/mob/M in world)
- if (istype(M, /mob/new_player))
- continue
- if (M.stat > 1 && !(M in heard_a))
- M.show_message(rendered, 2)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 0f2b39f7689..8fb7f877341 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -672,7 +672,7 @@
///Returns a number between -1 to 2
/mob/living/carbon/human/eyecheck()
var/number = 0
- if(istype(src.head, /obj/item/clothing/head/helmet/welding))
+ if(istype(src.head, /obj/item/clothing/head/welding))
if(!src.head:up)
number += 2
if(istype(src.head, /obj/item/clothing/head/helmet/space))
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 529aad1dd99..cbe9c6adb1d 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -939,7 +939,7 @@
- else if(istype(head, /obj/item/clothing/head/helmet/welding)) // wat. This is never fucking called.
+ else if(istype(head, /obj/item/clothing/head/welding)) // wat. This is never fucking called.
if(!head:up && tinted_weldhelh)
see_in_dark = 1
@@ -1101,7 +1101,7 @@
if (druggy)
client.screen += hud_used.druggy
- if ((istype(head, /obj/item/clothing/head/helmet/welding)) )
+ if ((istype(head, /obj/item/clothing/head/welding)) )
if(!head:up && tinted_weldhelh)
client.screen += hud_used.darkMask
diff --git a/code/modules/mob/simple_animal/corgi.dm b/code/modules/mob/simple_animal/corgi.dm
index a23ac110ccc..c5e1296a89a 100644
--- a/code/modules/mob/simple_animal/corgi.dm
+++ b/code/modules/mob/simple_animal/corgi.dm
@@ -123,7 +123,7 @@
/obj/item/clothing/head/caphat,
/obj/item/clothing/head/collectable/captain,
/obj/item/clothing/head/that,
- /obj/item/clothing/head/helmet/that,
+ /obj/item/clothing/head/that,
/obj/item/clothing/head/kitty,
/obj/item/clothing/head/collectable/kitty,
/obj/item/clothing/head/rabbitears,
@@ -141,9 +141,9 @@
/obj/item/clothing/head/wizard/fake,
/obj/item/clothing/head/wizard,
/obj/item/clothing/head/collectable/wizard,
- /obj/item/clothing/head/helmet/hardhat,
+ /obj/item/clothing/head/hardhat,
/obj/item/clothing/head/collectable/hardhat,
- /obj/item/clothing/head/helmet/hardhat/white,
+ /obj/item/clothing/head/hardhat/white,
/obj/item/weapon/bedsheet,
/obj/item/clothing/head/helmet/space/santahat,
/obj/item/clothing/head/collectable/paper,
diff --git a/code/game/verbs/authorize.dm b/code/unused/authorize.dm
similarity index 100%
rename from code/game/verbs/authorize.dm
rename to code/unused/authorize.dm
diff --git a/code/game/verbs/checkkarma.dm b/code/unused/checkkarma.dm
similarity index 100%
rename from code/game/verbs/checkkarma.dm
rename to code/unused/checkkarma.dm
diff --git a/tgstation.dme b/tgstation.dme
index 5a7fd9ac418..8838a8ae0b5 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -90,8 +90,13 @@
#define FILE_DIR "code/modules/client"
#define FILE_DIR "code/modules/clothing"
#define FILE_DIR "code/modules/clothing/glasses"
+#define FILE_DIR "code/modules/clothing/gloves"
+#define FILE_DIR "code/modules/clothing/head"
+#define FILE_DIR "code/modules/clothing/masks"
+#define FILE_DIR "code/modules/clothing/shoes"
#define FILE_DIR "code/modules/clothing/spacesuits"
#define FILE_DIR "code/modules/clothing/suits"
+#define FILE_DIR "code/modules/clothing/under"
#define FILE_DIR "code/modules/clothing/uniforms"
#define FILE_DIR "code/modules/critters"
#define FILE_DIR "code/modules/critters/hivebots"
@@ -308,6 +313,7 @@
#include "code\defines\mob\living\silicon\silicon.dm"
#include "code\defines\obj\closet.dm"
#include "code\defines\obj\clothing.dm"
+#include "code\defines\obj\costume.dm"
#include "code\defines\obj\decal.dm"
#include "code\defines\obj\hydro.dm"
#include "code\defines\obj\machinery.dm"
@@ -319,14 +325,6 @@
#include "code\defines\obj\vending.dm"
#include "code\defines\obj\weapon.dm"
#include "code\defines\obj\window.dm"
-#include "code\defines\obj\clothing\costume.dm"
-#include "code\defines\obj\clothing\ears.dm"
-#include "code\defines\obj\clothing\gloves.dm"
-#include "code\defines\obj\clothing\head.dm"
-#include "code\defines\obj\clothing\jumpsuit.dm"
-#include "code\defines\obj\clothing\mask.dm"
-#include "code\defines\obj\clothing\shoes.dm"
-#include "code\defines\obj\clothing\z_gimmick.dm"
#include "code\defines\procs\AStar.dm"
#include "code\defines\procs\captain_announce.dm"
#include "code\defines\procs\church_name.dm"
@@ -803,14 +801,33 @@
#include "code\modules\chemical\Chemistry-Tools.dm"
#include "code\modules\client\client defines.dm"
#include "code\modules\client\client procs.dm"
+#include "code\modules\clothing\ears.dm"
#include "code\modules\clothing\glasses.dm"
-#include "code\modules\clothing\hardhat.dm"
+#include "code\modules\clothing\gloves.dm"
+#include "code\modules\clothing\head.dm"
+#include "code\modules\clothing\mask.dm"
+#include "code\modules\clothing\random.dm"
+#include "code\modules\clothing\shoes.dm"
#include "code\modules\clothing\spacesuit.dm"
#include "code\modules\clothing\suit.dm"
+#include "code\modules\clothing\under.dm"
#include "code\modules\clothing\glasses\glasses.dm"
#include "code\modules\clothing\glasses\hud.dm"
-#include "code\modules\clothing\spacesuits\captain.dm"
-#include "code\modules\clothing\spacesuits\engineer.dm"
+#include "code\modules\clothing\gloves\boxing.dm"
+#include "code\modules\clothing\gloves\color.dm"
+#include "code\modules\clothing\gloves\miscellaneous.dm"
+#include "code\modules\clothing\head\cargo.dm"
+#include "code\modules\clothing\head\hardhat.dm"
+#include "code\modules\clothing\head\helmet.dm"
+#include "code\modules\clothing\head\miscellaneous.dm"
+#include "code\modules\clothing\head\security.dm"
+#include "code\modules\clothing\head\welding.dm"
+#include "code\modules\clothing\masks\boxing.dm"
+#include "code\modules\clothing\masks\breath.dm"
+#include "code\modules\clothing\masks\gasmask.dm"
+#include "code\modules\clothing\masks\miscellaneous.dm"
+#include "code\modules\clothing\shoes\magboots.dm"
+#include "code\modules\clothing\shoes\miscellaneous.dm"
#include "code\modules\clothing\spacesuits\miscellaneous.dm"
#include "code\modules\clothing\spacesuits\ninja.dm"
#include "code\modules\clothing\spacesuits\rig.dm"
@@ -819,13 +836,28 @@
#include "code\modules\clothing\suits\armor.dm"
#include "code\modules\clothing\suits\bio.dm"
#include "code\modules\clothing\suits\bomb.dm"
-#include "code\modules\clothing\suits\detective.dm"
#include "code\modules\clothing\suits\fire.dm"
#include "code\modules\clothing\suits\heavy.dm"
-#include "code\modules\clothing\suits\hos.dm"
#include "code\modules\clothing\suits\labcoat.dm"
#include "code\modules\clothing\suits\miscellaneous.dm"
+#include "code\modules\clothing\suits\radiation.dm"
#include "code\modules\clothing\suits\robe.dm"
+#include "code\modules\clothing\under\cargo.dm"
+#include "code\modules\clothing\under\chameleon.dm"
+#include "code\modules\clothing\under\civilian.dm"
+#include "code\modules\clothing\under\color.dm"
+#include "code\modules\clothing\under\engineering.dm"
+#include "code\modules\clothing\under\medical.dm"
+#include "code\modules\clothing\under\miscellaneous.dm"
+#include "code\modules\clothing\under\rank.dm"
+#include "code\modules\clothing\under\science.dm"
+#include "code\modules\clothing\under\security.dm"
+#include "code\modules\clothing\under\shorts.dm"
+#include "code\modules\clothing\under\syndicate.dm"
+#include "code\modules\clothing\under\under.dm"
+#include "code\modules\clothing\uniforms\captain.dm"
+#include "code\modules\clothing\uniforms\detective.dm"
+#include "code\modules\clothing\uniforms\hos.dm"
#include "code\modules\clothing\uniforms\lawyer.dm"
#include "code\modules\critters\critter.dm"
#include "code\modules\critters\critter_AI.dm"