diff --git a/_maps/map_files/generic/z3.dmm b/_maps/map_files/generic/z3.dmm index a780d23ab58..8f2722e3b71 100644 --- a/_maps/map_files/generic/z3.dmm +++ b/_maps/map_files/generic/z3.dmm @@ -23,7 +23,7 @@ "aw" = (/turf/simulated/shuttle/plating,/area/space) "ax" = (/obj/machinery/door/airlock/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) "ay" = (/turf/simulated/shuttle/wall{tag = "icon-swall_f13"; icon_state = "swall_f13"},/area/space) -"az" = (/obj/structure/rack,/obj/item/clothing/suit/space/hardsuit/medical,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/hardsuit/medical,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) +"az" = (/obj/structure/rack,/obj/item/clothing/suit/space/hardsuit/medical,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space) "aA" = (/obj/machinery/mass_driver{dir = 4; icon_state = "mass_driver"; id = "oldship_gun"},/turf/simulated/shuttle/plating,/area/space) "aB" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/plating,/area/space) "aC" = (/obj/machinery/door/poddoor{id = "oldship_gun"; name = "pod bay door"},/turf/simulated/shuttle/plating,/area/space) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 9a2b80739f7..4670945c3d0 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -990,8 +990,8 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/book/bible/booze, /obj/item/weapon/storage/book/bible/booze, - /obj/item/clothing/suit/toggle/chaplain_hoodie, - /obj/item/clothing/suit/toggle/chaplain_hoodie) + /obj/item/clothing/suit/hooded/chaplain_hoodie, + /obj/item/clothing/suit/hooded/chaplain_hoodie) cost = 40 // it costs so much because the Space Church is ran by Space Jews containername = "religious supplies crate" diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm index 1d96ad8c791..ffe84d0a232 100644 --- a/code/game/gamemodes/wizard/rightandwrong.dm +++ b/code/game/gamemodes/wizard/rightandwrong.dm @@ -129,7 +129,6 @@ new /obj/item/weapon/gun/magic/staff/door(get_turf(H)) if("armor") new /obj/item/clothing/suit/space/hardsuit/wizard(get_turf(H)) - new /obj/item/clothing/head/helmet/space/hardsuit/wizard(get_turf(H)) if("scrying") new /obj/item/weapon/scrying(get_turf(H)) if (!(H.dna.check_mutation(XRAY))) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index d0804ebe6cf..34cc59457e9 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -345,7 +345,6 @@ new /obj/item/clothing/shoes/sandal(get_turf(H)) //In case they've lost them. new /obj/item/clothing/gloves/color/purple(get_turf(H))//To complete the outfit new /obj/item/clothing/suit/space/hardsuit/wizard(get_turf(H)) - new /obj/item/clothing/head/helmet/space/hardsuit/wizard(get_turf(H)) temp = "You have purchased a suit of wizard armor." max_uses-- if("staffanimation") diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 7fdef2fbeb4..2ea08978303 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -33,8 +33,8 @@ //The units themselves///////////////// /obj/machinery/suit_storage_unit/standard_unit - SUIT_TYPE = /obj/item/clothing/suit/space - HELMET_TYPE = /obj/item/clothing/head/helmet/space + SUIT_TYPE = /obj/item/clothing/suit/space/eva + HELMET_TYPE = /obj/item/clothing/head/helmet/space/eva MASK_TYPE = /obj/item/clothing/mask/breath /obj/machinery/suit_storage_unit/captain @@ -45,34 +45,28 @@ /obj/machinery/suit_storage_unit/engine SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit - HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit MASK_TYPE = /obj/item/clothing/mask/breath /obj/machinery/suit_storage_unit/ce SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/elite - HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit/elite MASK_TYPE = /obj/item/clothing/mask/breath STORAGE_TYPE= /obj/item/clothing/shoes/magboots/advance /obj/machinery/suit_storage_unit/security SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/security - HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit/security MASK_TYPE = /obj/item/clothing/mask/gas /obj/machinery/suit_storage_unit/atmos SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/atmos - HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit/atmos MASK_TYPE = /obj/item/clothing/mask/gas STORAGE_TYPE = /obj/item/weapon/watertank/atmos /obj/machinery/suit_storage_unit/mining SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/mining - HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit/mining MASK_TYPE = /obj/item/clothing/mask/breath /obj/machinery/suit_storage_unit/cmo SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/medical - HELMET_TYPE = /obj/item/clothing/head/helmet/space/hardsuit/medical MASK_TYPE = /obj/item/clothing/mask/breath /obj/machinery/suit_storage_unit/syndicate diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index e32338540d2..d8998295710 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -46,6 +46,7 @@ var/suittoggled = 0 var/hooded = 0 + var/list/can_be_placed_into = list( /obj/structure/table, /obj/structure/rack, diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index d8b9586f652..89b613af2e3 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -84,7 +84,7 @@ new /obj/item/weapon/melee/energy/sword/saber(src) new /obj/item/weapon/melee/energy/sword/saber(src) new /obj/item/weapon/dnainjector/telemut/darkbundle(src) - new /obj/item/clothing/suit/toggle/chaplain_hoodie(src) + new /obj/item/clothing/suit/hooded/chaplain_hoodie(src) new /obj/item/weapon/card/id/syndicate(src) return diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm index 6ebd72cae79..af573d346f1 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm @@ -30,7 +30,7 @@ /obj/structure/closet/secure_closet/quartermaster/New() ..() - new /obj/item/clothing/suit/toggle/wintercoat/cargo(src) + new /obj/item/clothing/suit/hooded/wintercoat/cargo(src) new /obj/item/clothing/under/rank/cargo(src) new /obj/item/clothing/shoes/sneakers/brown(src) new /obj/item/device/radio/headset/headset_cargo(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index 921d00453c7..75c5298b2d2 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -11,8 +11,8 @@ /obj/structure/closet/secure_closet/engineering_chief/New() ..() - new /obj/item/clothing/suit/toggle/wintercoat/engineering(src) - new /obj/item/clothing/suit/toggle/wintercoat/engineering/atmos(src) + new /obj/item/clothing/suit/hooded/wintercoat/engineering(src) + new /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos(src) if(prob(50)) new /obj/item/weapon/storage/backpack/industrial(src) else diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm index ccfb8914254..144f70fbd1a 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm @@ -11,7 +11,7 @@ New() ..() - new /obj/item/clothing/suit/toggle/wintercoat/hydro(src) + new /obj/item/clothing/suit/hooded/wintercoat/hydro(src) switch(rand(1,2)) if(1) new /obj/item/clothing/suit/apron(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index ea60993eea4..f8659cfbd55 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -97,7 +97,7 @@ /obj/structure/closet/secure_closet/CMO/New() ..() - new /obj/item/clothing/suit/toggle/wintercoat/medical(src) + new /obj/item/clothing/suit/hooded/wintercoat/medical(src) if(prob(50)) new /obj/item/weapon/storage/backpack/medic(src) else diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm index 99da71e8f6d..86db3895e78 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm @@ -33,7 +33,7 @@ /obj/structure/closet/secure_closet/RD/New() ..() - new /obj/item/clothing/suit/toggle/wintercoat/science(src) + new /obj/item/clothing/suit/hooded/wintercoat/science(src) new /obj/item/clothing/suit/bio_suit/scientist(src) new /obj/item/clothing/head/bio_hood/scientist(src) new /obj/item/clothing/suit/toggle/labcoat(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 5cc981fc00c..c40411364be 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -10,7 +10,7 @@ /obj/structure/closet/secure_closet/captains/New() ..() - new /obj/item/clothing/suit/toggle/wintercoat/captain(src) + new /obj/item/clothing/suit/hooded/wintercoat/captain(src) if(prob(50)) new /obj/item/weapon/storage/backpack/captain(src) else @@ -40,7 +40,7 @@ /obj/structure/closet/secure_closet/hop/New() ..() - new /obj/item/clothing/suit/toggle/wintercoat/cargo(src) + new /obj/item/clothing/suit/hooded/wintercoat/cargo(src) new /obj/item/clothing/under/rank/head_of_personnel(src) new /obj/item/clothing/head/hopcap(src) new /obj/item/weapon/cartridge/hop(src) @@ -69,7 +69,7 @@ /obj/structure/closet/secure_closet/hos/New() ..() - new /obj/item/clothing/suit/toggle/wintercoat/security(src) + new /obj/item/clothing/suit/hooded/wintercoat/security(src) new /obj/item/weapon/cartridge/hos(src) new /obj/item/device/radio/headset/heads/hos(src) new /obj/item/clothing/under/hosparadefem(src) diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index 725e42645c5..c7d5f263928 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -95,7 +95,7 @@ new /obj/item/clothing/shoes/sneakers/black(src) new /obj/item/clothing/suit/nun(src) new /obj/item/clothing/head/nun_hood(src) - new /obj/item/clothing/suit/toggle/chaplain_hoodie(src) + new /obj/item/clothing/suit/hooded/chaplain_hoodie(src) new /obj/item/clothing/suit/holidaypriest(src) new /obj/item/weapon/storage/backpack/cultpack (src) new /obj/item/weapon/storage/fancy/candle_box(src) @@ -354,7 +354,7 @@ if(prob(40)) new /obj/item/clothing/under/assistantformal(src) if(prob(30)) - new /obj/item/clothing/suit/toggle/wintercoat(src) + new /obj/item/clothing/suit/hooded/wintercoat(src) new /obj/item/clothing/shoes/winterboots(src) return @@ -394,6 +394,6 @@ new /obj/item/clothing/shoes/sneakers/brown(src) new /obj/item/clothing/shoes/sneakers/white(src) if(prob(30)) - new /obj/item/clothing/suit/toggle/wintercoat(src) + new /obj/item/clothing/suit/hooded/wintercoat(src) new /obj/item/clothing/shoes/winterboots(src) return diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 8644ac28ff2..1a99e573f41 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -748,7 +748,7 @@ var/global/list/g_fancy_list_of_types = null M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/clown_hat(M), slot_wear_mask) M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_ears) M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/monocle(M), slot_glasses) - M.equip_to_slot_or_del(new /obj/item/clothing/suit/toggle/chaplain_hoodie(M), slot_wear_suit) + M.equip_to_slot_or_del(new /obj/item/clothing/suit/hooded/chaplain_hoodie(M), slot_wear_suit) M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/food/snacks/grown/banana(M), slot_l_store) M.equip_to_slot_or_del(new /obj/item/weapon/bikehorn(M), slot_r_store) diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 24b3d0e0d09..d383475aee2 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -198,7 +198,6 @@ /obj/effect/landmark/corpse/engineer/rig corpsesuit = /obj/item/clothing/suit/space/hardsuit corpsemask = /obj/item/clothing/mask/breath - corpsehelmet = /obj/item/clothing/head/helmet/space/hardsuit /obj/effect/landmark/corpse/clown name = "Clown" @@ -236,7 +235,6 @@ /obj/effect/landmark/corpse/miner/rig corpsesuit = /obj/item/clothing/suit/space/hardsuit/mining corpsemask = /obj/item/clothing/mask/breath - corpsehelmet = /obj/item/clothing/head/helmet/space/hardsuit/mining /////////////////Officers////////////////////// diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index f3d7830d6de..52dd1332283 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -155,10 +155,10 @@ BLIND // can't see anything // Meaning the the suit is defined directly after the corrisponding helmet. Just like below! /obj/item/clothing/head/helmet/space name = "space helmet" - icon_state = "space" - desc = "A special helmet designed for work in a hazardous, low-pressure environment." + icon_state = "spaceold" + desc = "A special helmet with solar UV shielding to protect your eyes from harmful rays." flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL - item_state = "space" + item_state = "spaceold" permeability_coefficient = 0.01 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 50) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE @@ -173,7 +173,7 @@ BLIND // can't see anything /obj/item/clothing/suit/space name = "space suit" desc = "A suit that protects against low pressure environments. Has a big 13 on the back." - icon_state = "space" + icon_state = "spaceold" item_state = "s_suit" w_class = 4//bulky item gas_transfer_coefficient = 0.01 diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 92f23576991..fb75f3e5711 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -9,6 +9,7 @@ var/on = 0 item_color = "engineering" //Determines used sprites: hardsuit[on]-[color] and hardsuit[on]-[color]2 (lying down sprite) action_button_name = "Toggle Helmet Light" + flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL | NODROP /obj/item/clothing/head/helmet/space/hardsuit/attack_self(mob/user) if(!isturf(user.loc)) @@ -42,7 +43,9 @@ slowdown = 2 armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/device/t_scanner, /obj/item/weapon/rcd) - + var/obj/item/clothing/head/helmet/space/hardsuit/helmet + action_button_name = "Toggle Helmet" + var/helmettype = /obj/item/clothing/head/helmet/space/hardsuit //Atmospherics /obj/item/clothing/head/helmet/space/hardsuit/atmos @@ -63,6 +66,7 @@ armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 0) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/atmos //Chief Engineer's hardsuit @@ -84,6 +88,7 @@ armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 90) heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/elite //Mining hardsuit @@ -103,6 +108,7 @@ item_state = "mining_hardsuit" armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/storage/bag/ore,/obj/item/weapon/pickaxe) + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining @@ -116,6 +122,7 @@ armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50) on = 1 action_button_name = "Toggle Helmet Mode" + flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL /obj/item/clothing/head/helmet/space/hardsuit/syndi/update_icon() icon_state = "hardsuit[on]-[item_color]" @@ -158,6 +165,7 @@ action_button_name = "Toggle Hardsuit Mode" armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50) allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank/emergency_oxygen) + helmettype = null /obj/item/clothing/suit/space/hardsuit/syndi/update_icon() icon_state = "hardsuit[on]-[item_color]" @@ -186,6 +194,7 @@ user.update_inv_wear_suit() user.update_inv_w_uniform() + //Wizard hardsuit /obj/item/clothing/head/helmet/space/hardsuit/wizard name = "gem-encrusted hardsuit helmet" @@ -212,15 +221,18 @@ heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT unacidable = 1 + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/wizard //Medical hardsuit /obj/item/clothing/head/helmet/space/hardsuit/medical name = "medical hardsuit helmet" - desc = "A special helmet designed for work in a hazardous, low pressure environment. Built with lightweight materials for extra comfort." + desc = "A special helmet designed for work in a hazardous, low pressure environment. Built with lightweight materials for extra comfort, but does not protect the eyes from intense light." icon_state = "hardsuit0-medical" item_state = "medical_helm" item_color = "medical" + flash_protect = 0 + flags_inv = HIDEMASK|HIDEEARS|HIDEEYES armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 50) /obj/item/clothing/suit/space/hardsuit/medical @@ -231,6 +243,7 @@ slowdown = 1 allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical) armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 50) + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/medical //Security hardsuit @@ -249,3 +262,4 @@ item_state = "sec_hardsuit" allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen, /obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs) armor = list(melee = 30, bullet = 15, laser = 30, energy = 10, bomb = 10, bio = 100, rad = 50) + helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 5e4f5b97571..4dc3903591c 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -125,21 +125,22 @@ item_color = "ert_commander" armor = list(melee = 65, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 100, rad = 100) strip_delay = 130 + flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL /obj/item/clothing/head/helmet/space/hardsuit/ert/sec - desc = "Standard issue security helmet for the ERT" + desc = "Standard issue security helmet for the ERT." icon_state = "hardsuit0-ert_security" item_state = "hardsuit0-ert_security" item_color = "ert_security" /obj/item/clothing/head/helmet/space/hardsuit/ert/engi - desc = "Standard issue engineer helmet for the ERT" + desc = "Standard issue engineer helmet for the ERT." icon_state = "hardsuit0-ert_engineer" item_state = "hardsuit0-ert_engineer" item_color = "ert_engineer" /obj/item/clothing/head/helmet/space/hardsuit/ert/med - desc = "Standard issue medical helmet for the ERT" + desc = "Standard issue medical helmet for the ERT." icon_state = "hardsuit0-ert_medical" item_state = "hardsuit0-ert_medical" item_color = "ert_medical" @@ -167,4 +168,21 @@ /obj/item/clothing/suit/space/ert/med desc = "Standard issue medical suit for the ERT." icon_state = "ert_medical" - item_state = "ert_medical" \ No newline at end of file + item_state = "ert_medical" + +/obj/item/clothing/suit/space/eva + name = "EVA suit" + icon_state = "space" + item_state = "s_suit" + desc = "A lightweight space suit with the basic ability to protect the wearer from the vacuum of space during emergencies." + slowdown = 1 + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) + +/obj/item/clothing/head/helmet/space/eva + name = "EVA helmet" + icon_state = "space" + item_state = "space" + desc = "A lightweight space helmet with the basic ability to protect the wearer from the vacuum of space during emergencies." + flash_protect = 0 + flags_inv = HIDEMASK|HIDEEARS|HIDEEYES + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) \ No newline at end of file diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 5ee620e25c4..0b63ed9999f 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -23,7 +23,7 @@ allowed = list(/obj/item/weapon/disk, /obj/item/weapon/stamp, /obj/item/weapon/reagent_containers/food/drinks/flask, /obj/item/weapon/melee, /obj/item/weapon/storage/lockbox/medal, /obj/item/device/flash/handheld, /obj/item/weapon/storage/box/matches, /obj/item/weapon/lighter, /obj/item/clothing/mask/cigarette, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/tank/emergency_oxygen) //Chaplain -/obj/item/clothing/suit/toggle/chaplain_hoodie +/obj/item/clothing/suit/hooded/chaplain_hoodie name = "chaplain hoodie" desc = "This suit says to you 'hush'!" icon_state = "chaplain_hoodie" @@ -31,9 +31,15 @@ body_parts_covered = CHEST|GROIN|LEGS|ARMS allowed = list(/obj/item/weapon/storage/book/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/emergency_oxygen) hooded = 1 - suittoggled = 0 - action_button_name = "Toggle Hoodie" - togglename = "hood" + action_button_name = "Toggle Chaplain Hoodie" + hoodtype = /obj/item/clothing/head/chaplain_hood + +/obj/item/clothing/head/chaplain_hood + name = "chaplain hood" + desc = "For protecting your identity when immolating demons." + icon_state = "chaplain_hood" + body_parts_covered = HEAD + flags = NODROP //Chaplain /obj/item/clothing/suit/nun @@ -119,23 +125,6 @@ icon_state = "suitjacket_black" item_state = "ro_suit" -//Toggle exosuits for different aesthetic styles (hoodies, suit jacket buttons, etc) - -/obj/item/clothing/suit/toggle/attack_self() - set src in usr - - if(!can_use(usr)) - return 0 - - usr << "You toggle [src]'s [togglename]." - if(src.suittoggled) - src.icon_state = "[initial(icon_state)]" - src.suittoggled = 0 - else if(!src.suittoggled) - src.icon_state = "[initial(icon_state)]_t" - src.suittoggled = 1 - usr.update_inv_wear_suit() - //Mime /obj/item/clothing/suit/suspenders diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 53e796746ed..e4d2af2ca59 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -221,64 +221,72 @@ // WINTER COATS -/obj/item/clothing/suit/toggle/wintercoat +/obj/item/clothing/suit/hooded/wintercoat name = "winter coat" desc = "A heavy jacket made from 'synthetic' animal furs." icon_state = "coatwinter" item_state = "labcoat" - body_parts_covered = CHEST|GROIN|ARMS|HEAD - cold_protection = CHEST|GROIN|ARMS|HEAD + body_parts_covered = CHEST|GROIN|ARMS + cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter) hooded = 1 action_button_name = "Toggle Winter Hood" - togglename = "hood" -/obj/item/clothing/suit/toggle/wintercoat/captain +/obj/item/clothing/head/winterhood + name = "winter hood" + desc = "A hood attached to a heavy winter jacket." + icon_state = "generic_hood" + body_parts_covered = HEAD + cold_protection = HEAD + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + flags = NODROP + +/obj/item/clothing/suit/hooded/wintercoat/captain name = "captain's winter coat" icon_state = "coatcaptain" armor = list(melee = 50, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic) -/obj/item/clothing/suit/toggle/wintercoat/security +/obj/item/clothing/suit/hooded/wintercoat/security name = "security winter coat" icon_state = "coatsecurity" armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic) -/obj/item/clothing/suit/toggle/wintercoat/medical +/obj/item/clothing/suit/hooded/wintercoat/medical name = "medical winter coat" icon_state = "coatmedical" 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,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper,/obj/item/weapon/melee/classic_baton/telescopic) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0) -/obj/item/clothing/suit/toggle/wintercoat/science +/obj/item/clothing/suit/hooded/wintercoat/science name = "science winter coat" icon_state = "coatscience" 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,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper,/obj/item/weapon/melee/classic_baton/telescopic) armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0) -/obj/item/clothing/suit/toggle/wintercoat/engineering +/obj/item/clothing/suit/hooded/wintercoat/engineering name = "engineering winter coat" icon_state = "coatengineer" armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 20) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/device/t_scanner, /obj/item/weapon/rcd) -/obj/item/clothing/suit/toggle/wintercoat/engineering/atmos +/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos name = "atmospherics winter coat" icon_state = "coatatmos" -/obj/item/clothing/suit/toggle/wintercoat/hydro +/obj/item/clothing/suit/hooded/wintercoat/hydro name = "hydroponics winter coat" icon_state = "coathydro" allowed = list(/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/device/analyzer/plant_analyzer,/obj/item/seeds,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/minihoe,/obj/item/weapon/reagent_containers/spray/pestspray,/obj/item/weapon/hatchet,/obj/item/weapon/storage/bag/plants) -/obj/item/clothing/suit/toggle/wintercoat/cargo +/obj/item/clothing/suit/hooded/wintercoat/cargo name = "cargo winter coat" icon_state = "coatcargo" -/obj/item/clothing/suit/toggle/wintercoat/miner +/obj/item/clothing/suit/hooded/wintercoat/miner name = "mining winter coat" icon_state = "coatminer" allowed = list(/obj/item/weapon/pickaxe,/obj/item/device/flashlight,/obj/item/weapon/tank/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter) diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm new file mode 100644 index 00000000000..6aea7b47eb1 --- /dev/null +++ b/code/modules/clothing/suits/toggles.dm @@ -0,0 +1,129 @@ +//Hoods for winter coats and chaplain hoodie etc + +/obj/item/clothing/suit/hooded + var/obj/item/clothing/head/winterhood/hood + var/hoodtype = /obj/item/clothing/head/winterhood //so the chaplain hoodie or other hoodies can override this + +/obj/item/clothing/suit/hooded/New() + MakeHood() + ..() + +/obj/item/clothing/suit/hooded/proc/MakeHood() + if(!hood) + var/obj/item/clothing/head/winterhood/W = new hoodtype(src) + hood = W + +/obj/item/clothing/suit/hooded/ui_action_click() + ToggleHood() + +/obj/item/clothing/suit/hooded/equipped(mob/user, slot) + if(slot != slot_wear_suit) + RemoveHood() + ..() + +/obj/item/clothing/suit/hooded/proc/RemoveHood() + src.icon_state = "[initial(icon_state)]" + suittoggled = 0 + if(ishuman(hood.loc)) + var/mob/living/carbon/H = hood.loc + H.unEquip(hood, 1) + H.update_inv_wear_suit() + hood.loc = src + +/obj/item/clothing/suit/hooded/dropped() + RemoveHood() + +/obj/item/clothing/suit/hooded/proc/ToggleHood() + if(!suittoggled) + if(ishuman(src.loc)) + var/mob/living/carbon/human/H = src.loc + if(H.wear_suit != src) + H << "You must be wearing [src] to put up the hood." + return + if(H.head) + H << "You're already wearing something on your head." + return + else + H.equip_to_slot_if_possible(hood,slot_head,0,0,1) + suittoggled = 1 + src.icon_state = "[initial(icon_state)]_t" + H.update_inv_wear_suit() + else + RemoveHood() + +//Toggle exosuits for different aesthetic styles (hoodies, suit jacket buttons, etc) + +/obj/item/clothing/suit/toggle/attack_self() + set src in usr + + if(!can_use(usr)) + return 0 + + usr << "You toggle [src]'s [togglename]." + if(src.suittoggled) + src.icon_state = "[initial(icon_state)]" + src.suittoggled = 0 + else if(!src.suittoggled) + src.icon_state = "[initial(icon_state)]_t" + src.suittoggled = 1 + usr.update_inv_wear_suit() + +//Hardsuit toggle code + +/obj/item/clothing/suit/space/hardsuit/New() + MakeHelmet() + ..() + +/obj/item/clothing/suit/space/hardsuit/proc/MakeHelmet() + if(!helmettype) + return + if(!helmet) + var/obj/item/clothing/head/helmet/space/hardsuit/W = new helmettype(src) + helmet = W + +/obj/item/clothing/suit/space/hardsuit/ui_action_click() + ..() + ToggleHelmet() + +/obj/item/clothing/suit/space/hardsuit/equipped(mob/user, slot) + if(!helmettype) + return + if(slot != slot_wear_suit) + RemoveHelmet() + ..() + +/obj/item/clothing/suit/space/hardsuit/proc/RemoveHelmet() + suittoggled = 0 + if(ishuman(helmet.loc)) + var/mob/living/carbon/H = helmet.loc + if(helmet.on) + helmet.attack_self(H) + H.unEquip(helmet, 1) + H.update_inv_wear_suit() + helmet.loc = src + +/obj/item/clothing/suit/space/hardsuit/dropped() + RemoveHelmet() + +/obj/item/clothing/suit/space/hardsuit/proc/ToggleHelmet() + var/mob/living/carbon/human/H = src.loc + if(!helmettype) + return + if(!suittoggled) + if(ishuman(src.loc)) + if(H.wear_suit != src) + H << "You must be wearing [src] to engage the helmet." + return + if(H.head) + H << "You're already wearing something on your head." + return + else + H << "You engage the helmet on the hardsuit." + H.equip_to_slot_if_possible(helmet,slot_head,0,0,1) + suittoggled = 1 + H.update_inv_wear_suit() + playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, 1) + else + H << "You disengage the helmet on the hardsuit." + playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, 1) + RemoveHelmet() \ No newline at end of file diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 00ecca4ae98..20b5c68d940 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 4d2206d9b78..eac882be2d0 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 9bc869bc708..fadad95ebc8 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -861,6 +861,7 @@ #include "code\modules\clothing\suits\jobs.dm" #include "code\modules\clothing\suits\labcoat.dm" #include "code\modules\clothing\suits\miscellaneous.dm" +#include "code\modules\clothing\suits\toggles.dm" #include "code\modules\clothing\suits\utility.dm" #include "code\modules\clothing\suits\wiz_robe.dm" #include "code\modules\clothing\under\chameleon.dm"