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 57f87193f4..ee2a60f8b1 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm @@ -14,7 +14,7 @@ new /obj/item/clothing/under/rank/cargotech/skirt(src) new /obj/item/clothing/under/rank/cargotech/jeans(src) new /obj/item/clothing/under/rank/cargotech/jeans/female(src) - new /obj/item/clothing/suit/hooded/wintercoat/cargo(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/cargo(src) new /obj/item/clothing/shoes/black(src) new /obj/item/device/radio/headset/headset_cargo(src) new /obj/item/clothing/gloves/black(src) @@ -47,5 +47,5 @@ new /obj/item/clothing/mask/gas(src) new /obj/item/clothing/glasses/meson(src) new /obj/item/clothing/head/soft(src) - new /obj/item/clothing/suit/hooded/wintercoat/cargo(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/cargo(src) return 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 a154da88bd..a3e3ad8618 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -17,8 +17,6 @@ new /obj/item/weapon/storage/backpack/satchel_eng(src) if(prob(50)) new /obj/item/weapon/storage/backpack/dufflebag/eng(src) - else - return if (prob(70)) new /obj/item/clothing/accessory/storage/brown_vest(src) else @@ -39,7 +37,7 @@ new /obj/item/device/multitool(src) new /obj/item/device/flash(src) new /obj/item/taperoll/engineering(src) - new /obj/item/clothing/suit/hooded/wintercoat/engineering(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src) return @@ -117,8 +115,6 @@ new /obj/item/weapon/storage/backpack/satchel_eng(src) if(prob(50)) new /obj/item/weapon/storage/backpack/dufflebag/eng(src) - else - return if (prob(70)) new /obj/item/clothing/accessory/storage/brown_vest(src) else @@ -131,7 +127,7 @@ new /obj/item/clothing/glasses/meson(src) new /obj/item/weapon/cartridge/engineering(src) new /obj/item/taperoll/engineering(src) - new /obj/item/clothing/suit/hooded/wintercoat/engineering(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src) return /obj/structure/closet/secure_closet/atmos_personal name = "technician's locker" @@ -152,8 +148,6 @@ new /obj/item/weapon/storage/backpack/satchel_eng(src) if(prob(50)) new /obj/item/weapon/storage/backpack/dufflebag/eng(src) - else - return if (prob(70)) new /obj/item/clothing/accessory/storage/brown_vest(src) else @@ -167,5 +161,5 @@ new /obj/item/clothing/mask/gas(src) new /obj/item/weapon/cartridge/atmos(src) new /obj/item/taperoll/engineering(src) - new /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos(src) return 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 2d10a8f6b4..700106aa72 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -68,8 +68,6 @@ new /obj/item/weapon/storage/backpack/satchel_med(src) if(prob(50)) new /obj/item/weapon/storage/backpack/dufflebag/med(src) - else - return new /obj/item/clothing/under/rank/nursesuit (src) new /obj/item/clothing/head/nursehat (src) switch(pick("blue", "green", "purple")) @@ -101,7 +99,7 @@ // new /obj/item/weapon/cartridge/medical(src) new /obj/item/device/radio/headset/headset_med(src) new /obj/item/device/radio/headset/headset_med/alt(src) - new /obj/item/clothing/suit/hooded/wintercoat/medical(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src) return @@ -124,8 +122,6 @@ new /obj/item/weapon/storage/backpack/satchel_med(src) if(prob(50)) new /obj/item/weapon/storage/backpack/dufflebag/med(src) - else - return new /obj/item/clothing/suit/bio_suit/cmo(src) new /obj/item/clothing/head/bio_hood/cmo(src) new /obj/item/clothing/shoes/white(src) @@ -150,7 +146,7 @@ new /obj/item/device/radio/headset/heads/cmo/alt(src) new /obj/item/device/flash(src) new /obj/item/weapon/reagent_containers/hypospray(src) - new /obj/item/clothing/suit/hooded/wintercoat/medical(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src) return 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 07b7ce65ce..44aa6b0649 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -16,8 +16,6 @@ new /obj/item/weapon/storage/backpack/satchel_cap(src) if(prob(50)) new /obj/item/weapon/storage/backpack/dufflebag/captain(src) - else - return new /obj/item/clothing/suit/captunic(src) new /obj/item/clothing/suit/captunic/capjacket(src) new /obj/item/clothing/head/caphat/cap(src) @@ -35,7 +33,7 @@ new /obj/item/clothing/under/dress/dress_cap(src) new /obj/item/clothing/head/caphat/formal(src) new /obj/item/clothing/under/captainformal(src) - new /obj/item/clothing/suit/hooded/wintercoat/captain(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/captain(src) return @@ -112,8 +110,6 @@ new /obj/item/weapon/storage/backpack/satchel_sec(src) if(prob(50)) new /obj/item/weapon/storage/backpack/dufflebag/sec(src) - else - return new /obj/item/clothing/head/HoS(src) new /obj/item/clothing/suit/storage/vest/hos(src) new /obj/item/clothing/under/rank/head_of_security/jensen(src) @@ -136,7 +132,7 @@ new /obj/item/clothing/accessory/holster/waist(src) new /obj/item/weapon/melee/telebaton(src) new /obj/item/clothing/head/beret/sec/corporate/hos(src) - new /obj/item/clothing/suit/hooded/wintercoat/security(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src) return @@ -160,8 +156,6 @@ new /obj/item/weapon/storage/backpack/satchel_sec(src) if(prob(50)) new /obj/item/weapon/storage/backpack/dufflebag/sec(src) - else - return new /obj/item/clothing/suit/storage/vest/warden(src) new /obj/item/clothing/under/rank/warden(src) new /obj/item/clothing/under/rank/warden/corp(src) @@ -180,7 +174,7 @@ new /obj/item/weapon/gun/energy/gun(src) new /obj/item/weapon/storage/box/holobadge(src) new /obj/item/clothing/head/beret/sec/corporate/warden(src) - new /obj/item/clothing/suit/hooded/wintercoat/security(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src) return @@ -203,8 +197,6 @@ new /obj/item/weapon/storage/backpack/satchel_sec(src) if(prob(50)) new /obj/item/weapon/storage/backpack/dufflebag/sec(src) - else - return new /obj/item/clothing/suit/storage/vest/officer(src) new /obj/item/clothing/head/helmet(src) // new /obj/item/weapon/cartridge/security(src) @@ -224,6 +216,7 @@ new /obj/item/clothing/under/rank/security/corp(src) new /obj/item/ammo_magazine/c45m/rubber(src) new /obj/item/weapon/gun/energy/taser(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src) return diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index 6f23f4d054..d5d8269ab6 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -32,9 +32,9 @@ new /obj/item/clothing/mask/bandana/red(src) new /obj/item/clothing/mask/bandana/red(src) new /obj/item/clothing/mask/bandana/red(src) - new /obj/item/clothing/suit/hooded/wintercoat/security(src) - new /obj/item/clothing/suit/hooded/wintercoat/security(src) - new /obj/item/clothing/suit/hooded/wintercoat/security(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/security(src) return @@ -132,8 +132,8 @@ new /obj/item/clothing/shoes/sandal(src) new /obj/item/clothing/shoes/winterboots(src) new /obj/item/clothing/shoes/winterboots(src) - new /obj/item/clothing/suit/hooded/wintercoat(src) - new /obj/item/clothing/suit/hooded/wintercoat(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat(src) return @@ -198,9 +198,9 @@ new /obj/item/clothing/mask/bandana/gold(src) new /obj/item/clothing/mask/bandana/gold(src) new /obj/item/clothing/mask/bandana/gold(src) - new /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos(src) - new /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos(src) - new /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos(src) return /obj/structure/closet/wardrobe/engineering_yellow @@ -228,9 +228,9 @@ new /obj/item/clothing/mask/bandana/gold(src) new /obj/item/clothing/mask/bandana/gold(src) new /obj/item/clothing/mask/bandana/gold(src) - new /obj/item/clothing/suit/hooded/wintercoat/engineering(src) - new /obj/item/clothing/suit/hooded/wintercoat/engineering(src) - new /obj/item/clothing/suit/hooded/wintercoat/engineering(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/engineering(src) return @@ -289,7 +289,7 @@ new /obj/item/clothing/shoes/slippers(src) new /obj/item/clothing/shoes/slippers(src) new /obj/item/clothing/shoes/slippers(src) - new /obj/item/clothing/suit/hooded/wintercoat/science(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/science(src) return /obj/structure/closet/wardrobe/toxins_white/New() @@ -405,8 +405,8 @@ new /obj/item/clothing/suit/storage/toggle/labcoat(src) new /obj/item/clothing/mask/surgical(src) new /obj/item/clothing/mask/surgical(src) - new /obj/item/clothing/suit/hooded/wintercoat/medical(src) - new /obj/item/clothing/suit/hooded/wintercoat/medical(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src) + new /obj/item/clothing/suit/storage/hooded/wintercoat/medical(src) return @@ -485,8 +485,6 @@ new /obj/item/weapon/storage/belt/security/tactical(src) if(prob(10)) new /obj/item/clothing/mask/bandana/skull(src) - else - return new /obj/item/clothing/shoes/jackboots(src) new /obj/item/clothing/gloves/black(src) new /obj/item/clothing/under/pants/camo(src) diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 45130b6cb1..0e931fd1c4 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -433,3 +433,122 @@ item_state = "yellow_hoodie" icon_open = "yellow_hoodie_open" icon_closed = "yellow_hoodie" + + +// FUN! + +/obj/item/clothing/suit/whitedress + name = "white dress" + desc = "A fancy white dress." + icon_state = "white_dress" + item_state = "white_dress" + body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS + flags_inv = HIDEJUMPSUIT + +/obj/item/clothing/suit/storage/hooded/carp_costume + name = "carp costume" + desc = "A costume made from 'synthetic' carp scales, it smells." + icon_state = "carp_casual" + item_state = "carp_casual" + body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS + cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE //Space carp like space, so you should too + hooded = 1 + action_button_name = "Toggle Carp Hood" + hoodtype = /obj/item/clothing/head/carp_hood + +/obj/item/clothing/head/carp_hood + name = "carp hood" + desc = "A hood attached to a carp costume." + icon_state = "carp_casual" + body_parts_covered = HEAD + cold_protection = HEAD + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE + +/obj/item/clothing/suit/storage/hooded/ian_costume //It's Ian, rub his bell- oh god what happened to his inside parts? + name = "corgi costume" + desc = "A costume that looks like someone made a human-like corgi, it won't guarantee belly rubs." + icon_state = "ian" + item_state = "ian" + body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS + //cold_protection = CHEST|GROIN|ARMS + //min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + hooded = 1 + action_button_name = "Toggle Ian Hood" + hoodtype = /obj/item/clothing/head/ian_hood + +/obj/item/clothing/head/ian_hood + name = "corgi hood" + desc = "A hood that looks just like a corgi's head, it won't guarantee dog biscuits." + icon_state = "ian" + item_state = "ian" + body_parts_covered = HEAD + //cold_protection = HEAD + //min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + +// WINTER COATS + +/obj/item/clothing/suit/storage/hooded/wintercoat + name = "winter coat" + desc = "A heavy jacket made from 'synthetic' animal furs." + icon_state = "coatwinter" + item_state = "labcoat" + body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS + cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) + hooded = 1 + action_button_name = "Toggle Winter Hood" + hoodtype = /obj/item/clothing/head/winterhood + +/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 + flags = BLOCKHAIR + flags_inv = HIDEEARS + min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE + +/obj/item/clothing/suit/storage/hooded/wintercoat/captain + name = "captain's winter coat" + icon_state = "coatcaptain" + armor = list(melee = 25, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0) + +/obj/item/clothing/suit/storage/hooded/wintercoat/security + name = "security winter coat" + icon_state = "coatsecurity" + armor = list(melee = 25, bullet = 15, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0) + +/obj/item/clothing/suit/storage/hooded/wintercoat/medical + name = "medical winter coat" + icon_state = "coatmedical" + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0) + +/obj/item/clothing/suit/storage/hooded/wintercoat/science + name = "science winter coat" + icon_state = "coatscience" + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0) + +/obj/item/clothing/suit/storage/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) + +/obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos + name = "atmospherics winter coat" + icon_state = "coatatmos" + +/obj/item/clothing/suit/storage/hooded/wintercoat/hydro + name = "hydroponics winter coat" + icon_state = "coathydro" + +/obj/item/clothing/suit/storage/hooded/wintercoat/cargo + name = "cargo winter coat" + icon_state = "coatcargo" + +/obj/item/clothing/suit/storage/hooded/wintercoat/miner + name = "mining winter coat" + icon_state = "coatminer" + 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/suits/storage.dm b/code/modules/clothing/suits/storage.dm index 36ece959bf..851cfd0e12 100644 --- a/code/modules/clothing/suits/storage.dm +++ b/code/modules/clothing/suits/storage.dm @@ -51,6 +51,27 @@ return update_clothing_icon() //so our overlays update +/obj/item/clothing/suit/storage/hooded/toggle + var/icon_open + var/icon_closed + verb/toggle() + set name = "Toggle Coat Buttons" + set category = "Object" + set src in usr + if(!usr.canmove || usr.stat || usr.restrained()) + return 0 + + if(icon_state == icon_open) //Will check whether icon state is currently set to the "open" or "closed" state and switch it around with a message to the user + icon_state = icon_closed + usr << "You button up the coat." + else if(icon_state == icon_closed) + icon_state = icon_open + usr << "You unbutton the coat." + else //in case some goofy admin switches icon states around without switching the icon_open or icon_closed + usr << "You attempt to button-up the velcro on your [src], before promptly realising how silly you are." + return + update_clothing_icon() //so our overlays update + //New Vest 4 pocket storage and badge toggles, until suit accessories are a thing. /obj/item/clothing/suit/storage/vest/heavy/New() diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm index 191be59644..d9aa9bbd3d 100644 --- a/code/modules/clothing/suits/toggles.dm +++ b/code/modules/clothing/suits/toggles.dm @@ -1,33 +1,33 @@ //Hoods for winter coats and chaplain hoodie etc -/obj/item/clothing/suit/hooded +/obj/item/clothing/suit/storage/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 + var/hoodtype = null //so the chaplain hoodie or other hoodies can override this var/suittoggled = 0 var/hooded = 0 -/obj/item/clothing/suit/hooded/New() +/obj/item/clothing/suit/storage/hooded/New() MakeHood() ..() -/obj/item/clothing/suit/hooded/Destroy() +/obj/item/clothing/suit/storage/hooded/Destroy() qdel(hood) return ..() -/obj/item/clothing/suit/hooded/proc/MakeHood() +/obj/item/clothing/suit/storage/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() +/obj/item/clothing/suit/storage/hooded/ui_action_click() ToggleHood() -/obj/item/clothing/suit/hooded/equipped(mob/user, slot) +/obj/item/clothing/suit/storage/hooded/equipped(mob/user, slot) if(slot != slot_wear_suit) RemoveHood() ..() -/obj/item/clothing/suit/hooded/proc/RemoveHood() +/obj/item/clothing/suit/storage/hooded/proc/RemoveHood() src.icon_state = "[initial(icon_state)]" suittoggled = 0 if(ishuman(hood.loc)) @@ -36,10 +36,10 @@ H.update_inv_wear_suit() hood.loc = src -/obj/item/clothing/suit/hooded/dropped() +/obj/item/clothing/suit/storage/hooded/dropped() RemoveHood() -/obj/item/clothing/suit/hooded/proc/ToggleHood() +/obj/item/clothing/suit/storage/hooded/proc/ToggleHood() if(!suittoggled) if(ishuman(src.loc)) var/mob/living/carbon/human/H = src.loc diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 5a59efa539..703b20b42e 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ