From 5c82a7fb9f55fa33ade4aee7f30cb907be02fa69 Mon Sep 17 00:00:00 2001 From: L <105110468+kittysmooch@users.noreply.github.com> Date: Sun, 25 Aug 2024 14:54:27 -0700 Subject: [PATCH 1/4] gives jackets pockets & ports some nova jackets --- .../modular_cosmetics/code/jacket_pockets.dm | 30 +++ .../modular_cosmetics/code/suits/jacket.dm | 238 ++++++++++++++++++ .../icons/mob/head/hoods.dmi | Bin 0 -> 385 bytes .../icons/mob/suit/jacket.dmi | Bin 0 -> 8862 bytes .../icons/obj/head/hoods.dmi | Bin 0 -> 262 bytes .../icons/obj/suit/jacket.dmi | Bin 0 -> 3538 bytes tgstation.dme | 2 + 7 files changed, 270 insertions(+) create mode 100644 modular_doppler/modular_cosmetics/code/jacket_pockets.dm create mode 100644 modular_doppler/modular_cosmetics/code/suits/jacket.dm create mode 100644 modular_doppler/modular_cosmetics/icons/mob/head/hoods.dmi create mode 100644 modular_doppler/modular_cosmetics/icons/mob/suit/jacket.dmi create mode 100644 modular_doppler/modular_cosmetics/icons/obj/head/hoods.dmi create mode 100644 modular_doppler/modular_cosmetics/icons/obj/suit/jacket.dmi diff --git a/modular_doppler/modular_cosmetics/code/jacket_pockets.dm b/modular_doppler/modular_cosmetics/code/jacket_pockets.dm new file mode 100644 index 0000000000000..6da50f71a08d5 --- /dev/null +++ b/modular_doppler/modular_cosmetics/code/jacket_pockets.dm @@ -0,0 +1,30 @@ +/datum/storage/pockets/jacket + max_slots = 2 + max_total_storage = 5 + +/datum/storage/pockets/jacket/New( + atom/parent, + max_slots, + max_specific_storage, + max_total_storage, +) + . = ..() + set_holdable(list( + /obj/item/, + )) + +/datum/storage/pockets/jacket/jumbo + max_specific_storage = WEIGHT_CLASS_NORMAL + max_slots = 3 + max_total_storage = 6 + +/datum/storage/pockets/jacket/jumbo/New( + atom/parent, + max_slots, + max_specific_storage, + max_total_storage, +) + . = ..() + set_holdable(list( + /obj/item/, + )) diff --git a/modular_doppler/modular_cosmetics/code/suits/jacket.dm b/modular_doppler/modular_cosmetics/code/suits/jacket.dm new file mode 100644 index 0000000000000..2eb75e2389e1d --- /dev/null +++ b/modular_doppler/modular_cosmetics/code/suits/jacket.dm @@ -0,0 +1,238 @@ +/obj/item/clothing/suit/jacket/doppler + icon = 'modular_doppler/modular_cosmetics/icons/obj/suit/jacket.dmi' + worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/suit/jacket.dmi' + slot_flags = ITEM_SLOT_OCLOTHING|ITEM_SLOT_NECK + +/obj/item/clothing/suit/jacket/doppler/Initialize(mapload) + . = ..() + create_storage(storage_type = /datum/storage/pockets/jacket) + +/obj/item/clothing/suit/hooded/doppler + icon = 'modular_doppler/modular_cosmetics/icons/obj/suit/jacket.dmi' + worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/suit/jacket.dmi' + slot_flags = ITEM_SLOT_OCLOTHING|ITEM_SLOT_NECK + +/obj/item/clothing/suit/hooded/doppler/Initialize(mapload) + . = ..() + create_storage(storage_type = /datum/storage/pockets/jacket) + +/datum/armor/jacket_armor //because our jackets can go in the neck slot, they should have little to no armor + melee = 0 + bullet = 0 + laser = 0 + energy = 0 + bomb = 0 + bio = 10 + fire = 0 + acid = 10 + wound = 5 + +//////////////////////// +//DEPARTMENTAL JACKETS// +//////////////////////// + +/obj/item/clothing/suit/jacket/doppler/departmental_jacket + name = "work jacket" + desc = "A simple and practical jacket for labor with a center front zipper closure, two handwarmer pockets, \ + and two interior pockets. A venerable old design in cutting edge textile fiber." + icon_state = "off_dep_jacket" + allowed = list( + /obj/item/flashlight, + /obj/item/tank/internals/emergency_oxygen, + /obj/item/tank/internals/plasmaman, + /obj/item/toy, + /obj/item/storage/fancy/cigarettes, + /obj/item/lighter, + /obj/item/radio, + ) + body_parts_covered = CHEST|ARMS|GROIN + cold_protection = CHEST|ARMS|GROIN + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + +/obj/item/clothing/suit/jacket/doppler/departmental_jacket/Initialize(mapload) + . = ..() + AddComponent(/datum/component/toggle_icon, "zipper") + +/obj/item/clothing/suit/jacket/doppler/departmental_jacket/engi + name = "engineering department jacket" + desc = "A simple jacket emblazoned with the ship's engineering team insignia, it features tape-welded seams \ + and expanded pockets." + icon_state = "engi_dep_jacket" + armor_type = /datum/armor/jacket_armor + allowed = list( + /obj/item/flashlight, + /obj/item/tank/internals/emergency_oxygen, + /obj/item/tank/internals/plasmaman, + /obj/item/t_scanner, + /obj/item/construction/rcd, + /obj/item/pipe_dispenser, + /obj/item/toy, + /obj/item/storage/fancy/cigarettes, + /obj/item/lighter, + ) + +/obj/item/clothing/suit/jacket/doppler/departmental_jacket/engi/Initialize(mapload) + . = ..() + AddComponent(/datum/component/toggle_icon, "zipper") + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) + +/obj/item/clothing/suit/jacket/doppler/departmental_jacket/sci + name = "science department jacket" + desc = "A spill-proof Harrington style jacket denoting employment in the R&D division." + icon_state = "sci_dep_jacket" + armor_type = /datum/armor/jacket_armor + +/obj/item/clothing/suit/jacket/doppler/departmental_jacket/med + name = "medical department jacket" + desc = "A basic Harrington style jacket in stain-resistant and washable hyperpoly fibers. It isn't \ + apparent from looking at it, but this style is cut with wider sleeves and relaxed cuffs, to better \ + allow for pushing them up past the elbows." + icon_state = "med_dep_jacket" + armor_type = /datum/armor/jacket_armor + +/obj/item/clothing/suit/jacket/doppler/departmental_jacket/supply + name = "cargo department jacket" + desc = "A hardwearing jacket for chilly warehouses and cargo holds. By popular and incessant request \ + these are fitted with extra large pockets." + icon_state = "supply_dep_jacket" + +/obj/item/clothing/suit/jacket/doppler/departmental_jacket/supply/Initialize(mapload) + . = ..() + AddComponent(/datum/component/toggle_icon, "zipper") + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) + +/obj/item/clothing/suit/jacket/doppler/departmental_jacket/sec + name = "blue security department jacket" + desc = "A basic style of jacket cut just so to ensure that the plate carrier beneath it doesn't imprint \ + on the shell, and to readily accomodate a holstered weapon." + icon_state = "sec_dep_jacket" + armor_type = /datum/armor/jacket_armor + +/obj/item/clothing/suit/jacket/doppler/departmental_jacket/sec/Initialize(mapload) + . = ..() + AddComponent(/datum/component/toggle_icon, "zipper") + allowed = GLOB.security_vest_allowed + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) + +/obj/item/clothing/suit/jacket/doppler/departmental_jacket/sec/red + name = "red security department jacket" + desc = "A basic style of jacket cut just so to ensure that the plate carrier beneath it doesn't imprint \ + on the shell, and to readily accomodate a holstered weapon." + icon_state = "sec_dep_jacket_old" + +/obj/item/clothing/suit/jacket/doppler/sec_medic + name = "security medic jacket" + desc = "A tight synthetic knit protects the wearer from errant needlestabs, though the sleeves are often rolled \ + away from the forarm. Its pockets are very generous." + icon_state = "secmed_labcoat_blue" + +/obj/item/clothing/suit/jacket/doppler/sec_medic/Initialize(mapload) + . = ..() + allowed = GLOB.security_vest_allowed + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) + +//////////////////// +//MORE SEC JACKETS// +//////////////////// + +/obj/item/clothing/suit/jacket/doppler/peacekeeper_jacket + name = "peacekeeper jacket" + desc = "A slightly vintage canvas and aramid jacket; hi-vis checkers included. Armored and stylish? Implausible." + icon_state = "peacekeeper_jacket" + body_parts_covered = CHEST|GROIN|ARMS + cold_protection = CHEST|GROIN|ARMS + heat_protection = CHEST|GROIN|ARMS + armor_type = /datum/armor/jacket_armor + +/obj/item/clothing/suit/jacket/doppler/peacekeeper_jacket/Initialize(mapload) + . = ..() + AddComponent(/datum/component/toggle_icon, "zipper") + allowed = GLOB.security_vest_allowed + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) + +/obj/item/clothing/suit/jacket/doppler/peacekeeper_jacket/badged + name = "badged peacekeeper jacket" + desc = "A slightly vintage canvas and aramid jacket; hi-vis checkers and chevron badge included. Armored and stylish? Implausible." + icon_state = "peacekeeper_jacket_badge" + +/obj/item/clothing/suit/jacket/doppler/peacekeeper_jacket/hazard + name = "security hazard vest" + desc = "Strips of retroreflective tape bind dayglo mesh into a visually protective vest." + icon_state = "hazardbg" + +/obj/item/clothing/suit/jacket/doppler/runner_coat + name = "runner coat" + desc = "A weighty coat of thick synthshearling still bears the patternmaking concessions to the limited size \ + of pre-printed sheepskin. What was once a style of necessity has become a matter of authenticity." + icon_state = "runner_coat" + armor_type = /datum/armor/jacket_armor + +/obj/item/clothing/suit/jacket/doppler/runner_coat/Initialize(mapload) + . = ..() + allowed = GLOB.security_vest_allowed + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) + +//////////////// +//MORE JACKETS// +//////////////// + +/obj/item/clothing/suit/jacket/doppler/field_jacket + name = "venerable old field jacket" + desc = "Something like this style of gabardine jacket has been in and out of style for military forces for \ + centuries. Simple drab is sometimes used where camoflauge would be irrelevant even now." + icon_state = "field_jacket" + +/obj/item/clothing/suit/jacket/doppler/field_jacket/Initialize(mapload) + . = ..() + AddComponent(/datum/component/toggle_icon, "zipper") + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) + +/obj/item/clothing/suit/jacket/doppler/field_jacket/tan + name = "venerable old tan jacket" + desc = "A lightened field jacket with ample pockets, intended for arid deployments some decades now and now \ + serving a second life as a fashion item." + icon_state = "tan_field_jacket" + +/obj/item/clothing/suit/hooded/doppler/leather_hoodie + name = "leather jacket with hoodie" + desc = "" + icon_state = "leatherhoodie" + body_parts_covered = CHEST|GROIN|ARMS + hoodtype = /obj/item/clothing/head/hooded/leather + +/obj/item/clothing/head/hooded/leather + name = "sweatshirt hood" + desc = "A hood attached to a hoodie, nothing special." + icon_state = "leatherhood" + icon = 'modular_doppler/modular_cosmetics/icons/obj/head/hoods.dmi' + worn_icon = 'modular_doppler/modular_cosmetics/icons/mob/head/hoods.dmi' + flags_inv = HIDEHAIR + armor_type = /datum/armor/jacket_armor + +///////// +//COATS// +///////// + +/obj/item/clothing/suit/jacket/doppler/fur_coat + name = "rugged fur coat" + desc = "Even in an age where any large mammal can be grown in situ at industrial levels some insist on having \ + the pelts of 'real' creatures to wear. The unnecessary suffering gives this coat a grim aura." + icon_state = "winter_coat" + armor_type = /datum/armor/jacket_armor + +/obj/item/clothing/suit/jacket/doppler/wrap_coat + name = "chic wrap coat" + desc = "A jacket possessed of measured asymmetry, its fly-front closure conceals its fasteners as if the single \ + wide belt is all that holds it closed. Surprisingly warm." + icon_state = "modern_winter" + +/obj/item/clothing/suit/jacket/doppler/red_trench + name = "Marsian PLA trenchcoat by Alpha Atelier" + desc = "An exhaustive and expensive reproduction of trenchcoats favored by the vanguards of a Marsian revolutionary \ + movement who would likely shoot its wearer if they were alive to see the price tag." + icon_state = "red_trench" + armor_type = /datum/armor/jacket_armor + +/obj/item/clothing/suit/jacket/doppler/red_trench/Initialize(mapload) + . = ..() + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) diff --git a/modular_doppler/modular_cosmetics/icons/mob/head/hoods.dmi b/modular_doppler/modular_cosmetics/icons/mob/head/hoods.dmi new file mode 100644 index 0000000000000000000000000000000000000000..792459b7862509e3ee58db3796390dcff27dadf7 GIT binary patch literal 385 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 literal 0 HcmV?d00001 diff --git a/modular_doppler/modular_cosmetics/icons/obj/head/hoods.dmi b/modular_doppler/modular_cosmetics/icons/obj/head/hoods.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f92acda7790c6cd779f18b4b0705cb59c54ceaf3 GIT binary patch literal 262 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 literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index 2931b5c6e8ace..b29974b939d30 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6361,6 +6361,8 @@ #include "modular_doppler\emotes\code\added_emotes\human_things.dm" #include "modular_doppler\emotes\code\added_emotes\robot_sounds.dm" #include "modular_doppler\face_mouse_preferences\code\face_mouse_pref.dm" +#include "modular_doppler\modular_cosmetics\code\jacket_pockets.dm" +#include "modular_doppler\modular_cosmetics\code\suits\jacket.dm" #include "modular_doppler\wargaming\code\game_kit.dm" #include "modular_doppler\wargaming\code\holograms.dm" #include "modular_doppler\wargaming\code\projectors.dm" From 31e54835b9cb927d9f68b60926b15201ed92b72c Mon Sep 17 00:00:00 2001 From: L <105110468+kittysmooch@users.noreply.github.com> Date: Sun, 25 Aug 2024 15:17:29 -0700 Subject: [PATCH 2/4] haha whoops :3c --- .../modular_cosmetics/code/suits/jacket.dm | 4 ++-- .../icons/obj/suit/jacket.dmi | Bin 3538 -> 7076 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_doppler/modular_cosmetics/code/suits/jacket.dm b/modular_doppler/modular_cosmetics/code/suits/jacket.dm index 2eb75e2389e1d..fe950fa515b0c 100644 --- a/modular_doppler/modular_cosmetics/code/suits/jacket.dm +++ b/modular_doppler/modular_cosmetics/code/suits/jacket.dm @@ -217,14 +217,14 @@ name = "rugged fur coat" desc = "Even in an age where any large mammal can be grown in situ at industrial levels some insist on having \ the pelts of 'real' creatures to wear. The unnecessary suffering gives this coat a grim aura." - icon_state = "winter_coat" + icon_state = "fur_coat" armor_type = /datum/armor/jacket_armor /obj/item/clothing/suit/jacket/doppler/wrap_coat name = "chic wrap coat" desc = "A jacket possessed of measured asymmetry, its fly-front closure conceals its fasteners as if the single \ wide belt is all that holds it closed. Surprisingly warm." - icon_state = "modern_winter" + icon_state = "wrap_coat" /obj/item/clothing/suit/jacket/doppler/red_trench name = "Marsian PLA trenchcoat by Alpha Atelier" diff --git a/modular_doppler/modular_cosmetics/icons/obj/suit/jacket.dmi b/modular_doppler/modular_cosmetics/icons/obj/suit/jacket.dmi index a3b3969565a775c6134708828bf0192231ddc0c5..3624fb24c0312b90132f583f043450189c276fda 100644 GIT binary patch literal 7076 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 Xt5{N|td{)u4Pc;WtXqETNyPsEuJ7ZY literal 3538 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 From 87e536ebfe0a4a427a2ed6850263b17612f52035 Mon Sep 17 00:00:00 2001 From: L <105110468+kittysmooch@users.noreply.github.com> Date: Mon, 26 Aug 2024 06:00:40 -0700 Subject: [PATCH 3/4] pocketifies tg jackets --- .../modular_cosmetics/code/jacket_pockets.dm | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/modular_doppler/modular_cosmetics/code/jacket_pockets.dm b/modular_doppler/modular_cosmetics/code/jacket_pockets.dm index 6da50f71a08d5..258e962276bb4 100644 --- a/modular_doppler/modular_cosmetics/code/jacket_pockets.dm +++ b/modular_doppler/modular_cosmetics/code/jacket_pockets.dm @@ -1,3 +1,5 @@ +//the pockets themselves + /datum/storage/pockets/jacket max_slots = 2 max_total_storage = 5 @@ -28,3 +30,66 @@ set_holdable(list( /obj/item/, )) + +//overrides for existing tg jackets to get pockets and neckslotability + +/obj/item/clothing/suit/jacket //we give all jackets neckslotability and basic pockets and override individually when we want jumbo pockets or no pockets + slot_flags = ITEM_SLOT_OCLOTHING|ITEM_SLOT_NECK +/obj/item/clothing/suit/jacket/Initialize(mapload) + . = ..() + create_storage(storage_type = /datum/storage/pockets/jacket) + +/obj/item/clothing/suit/jacket/oversized/Initialize(mapload) + . = ..() + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) + +/obj/item/clothing/suit/jacket/bomber/Initialize(mapload) + . = ..() + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) + +/obj/item/clothing/suit/jacket/miljacket/Initialize(mapload) + . = ..() + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) + +/obj/item/clothing/suit/jacket/letterman_syndie/Initialize(mapload) + . = ..() + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) + +// suit/toggle objects are basically deprecated but there's a few desirable sprites. we override individually +// because otherwise we would put pockets on suspenders + +/obj/item/clothing/suit/toggle/cargo_tech + slot_flags = ITEM_SLOT_OCLOTHING|ITEM_SLOT_NECK +/obj/item/clothing/suit/toggle/cargo_tech/Initialize(mapload) + . = ..() + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) + +/obj/item/clothing/suit/toggle/chef + slot_flags = ITEM_SLOT_OCLOTHING|ITEM_SLOT_NECK +/obj/item/clothing/suit/toggle/chef/Initialize(mapload) + . = ..() + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) + +/obj/item/clothing/suit/toggle/labcoat + slot_flags = ITEM_SLOT_OCLOTHING|ITEM_SLOT_NECK +/obj/item/clothing/suit/toggle/labcoat/Initialize(mapload) + . = ..() + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) + +/obj/item/clothing/suit/toggle/lawyer + slot_flags = ITEM_SLOT_OCLOTHING|ITEM_SLOT_NECK +/obj/item/clothing/suit/toggle/lawyer/Initialize(mapload) + . = ..() + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) + +// some wintercoats come with pretty significant armor, so we only give them pockets and not neckslots to stave off a meta + +/obj/item/clothing/suit/hooded/wintercoat/Initialize(mapload) + . = ..() + create_storage(storage_type = /datum/storage/pockets/jacket/jumbo) + +// most costumes don't have pockets, but neckslotability is probably fine. + +/obj/item/clothing/suit/costume + slot_flags = ITEM_SLOT_OCLOTHING|ITEM_SLOT_NECK + From bd5372c6e254621b9e61043b5470b11e44261541 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 26 Aug 2024 20:19:07 +0000 Subject: [PATCH 4/4] Automatic changelog for PR #8 [ci skip] --- html/changelogs/AutoChangeLog-pr-8.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8.yml diff --git a/html/changelogs/AutoChangeLog-pr-8.yml b/html/changelogs/AutoChangeLog-pr-8.yml new file mode 100644 index 0000000000000..e88402bd56ed7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8.yml @@ -0,0 +1,5 @@ +author: "kittysmooch" +delete-after: True +changes: + - rscadd: "adds a dozen or so jackets" + - rscadd: "adds pockets to jackets\n:cl:" \ No newline at end of file