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"