From 8ea5bc8c04fe0bd96c378d7f0250a9fffbcfe02a Mon Sep 17 00:00:00 2001
From: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
Date: Thu, 4 Aug 2022 16:47:58 +0200
Subject: [PATCH] [MIRROR] The GAGening: Families edition [MDB IGNORE] (#15353)
* The GAGening: Families edition
* ew
Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
---
.../map_files/IceBoxStation/IceBoxStation.dmm | 2 +-
.../config_types/greyscale_configs.dm | 126 ++++++++++++++-
.../json_configs/buttondown_shorts.json | 28 ++++
.../json_configs/buttondown_shorts_worn.json | 28 ++++
.../json_configs/buttondown_slacks.json | 28 ++++
.../json_configs/buttondown_slacks_worn.json | 28 ++++
.../greyscale/json_configs/fancy_coat.json | 16 ++
.../json_configs/fancy_coat_worn.json | 16 ++
.../greyscale/json_configs/fancy_hat.json | 16 ++
.../json_configs/fancy_hat_worn.json | 16 ++
.../json_configs/football_armor.json | 15 ++
.../json_configs/football_armor_worn.json | 15 ++
.../json_configs/football_helmet.json | 15 ++
.../json_configs/football_helmet_worn.json | 15 ++
.../greyscale/json_configs/football_suit.json | 15 ++
.../json_configs/football_suit_worn.json | 15 ++
.../json_configs/infinity_scarf.json | 10 ++
.../json_configs/infinity_scarf_worn.json | 10 ++
.../json_configs/jacket_oversized.json | 10 ++
.../json_configs/jacket_oversized_worn.json | 10 ++
code/datums/greyscale/json_configs/jeans.json | 6 +-
.../greyscale/json_configs/jeans_worn.json | 6 +-
.../greyscale/json_configs/jeanshorts.json | 6 +-
.../json_configs/jeanshorts_worn.json | 6 +-
.../datums/greyscale/json_configs/shorts.json | 6 +-
.../greyscale/json_configs/shorts_worn.json | 6 +-
.../datums/greyscale/json_configs/slacks.json | 6 +-
.../greyscale/json_configs/slacks_worn.json | 6 +-
.../greyscale/json_configs/sweater.json | 18 +++
.../greyscale/json_configs/sweater_worn.json | 18 +++
.../greyscale/json_configs/waistcoat.json | 10 ++
.../json_configs/waistcoat_worn.json | 10 ++
.../crates_lockers/closets/wardrobe.dm | 2 +-
code/modules/antagonists/nukeop/outfits.dm | 2 +-
code/modules/clothing/glasses/_glasses.dm | 24 +--
code/modules/clothing/head/costume.dm | 91 +++++------
code/modules/clothing/head/hat.dm | 9 --
code/modules/clothing/masks/gasmask.dm | 16 +-
code/modules/clothing/neck/_neck.dm | 13 +-
code/modules/clothing/shoes/costume.dm | 49 ++----
code/modules/clothing/suits/costume.dm | 127 +++------------
code/modules/clothing/suits/jacket.dm | 42 ++++-
code/modules/clothing/under/accessories.dm | 4 +
code/modules/clothing/under/costume.dm | 151 +++++++-----------
code/modules/clothing/under/pants.dm | 4 +-
code/modules/vending/autodrobe.dm | 5 +
code/modules/vending/clothesmate.dm | 91 ++++-------
icons/mob/clothing/accessories.dmi | Bin 12993 -> 12022 bytes
icons/mob/clothing/eyes.dmi | Bin 15318 -> 15197 bytes
icons/mob/clothing/feet.dmi | Bin 22365 -> 21823 bytes
icons/mob/clothing/head.dmi | Bin 154324 -> 151448 bytes
icons/mob/clothing/mask.dmi | Bin 48479 -> 48481 bytes
icons/mob/clothing/neck.dmi | Bin 110008 -> 111970 bytes
icons/mob/clothing/suits/costume.dmi | Bin 86458 -> 78903 bytes
icons/mob/clothing/suits/jacket.dmi | Bin 23496 -> 27309 bytes
icons/mob/clothing/under/costume.dmi | Bin 66005 -> 55052 bytes
icons/mob/clothing/under/shorts_pants.dmi | Bin 2127 -> 0 bytes
.../clothing/under/shorts_pants_shirts.dmi | Bin 0 -> 2291 bytes
icons/obj/clothing/accessories.dmi | Bin 16589 -> 15672 bytes
icons/obj/clothing/glasses.dmi | Bin 18269 -> 18326 bytes
icons/obj/clothing/hats.dmi | Bin 86011 -> 84171 bytes
icons/obj/clothing/neck.dmi | Bin 3445 -> 3514 bytes
icons/obj/clothing/shoes.dmi | Bin 21228 -> 19879 bytes
icons/obj/clothing/suits.dmi | Bin 120365 -> 117443 bytes
icons/obj/clothing/under/costume.dmi | Bin 26615 -> 22685 bytes
icons/obj/clothing/under/shorts_pants.dmi | Bin 1435 -> 0 bytes
.../clothing/under/shorts_pants_shirts.dmi | Bin 0 -> 1469 bytes
.../loadout_items/loadout_datum_heads.dm | 3 -
.../loadout_items/loadout_datum_shoes.dm | 28 ----
.../under/loadout_datum_under.dm | 31 ----
70 files changed, 757 insertions(+), 473 deletions(-)
create mode 100644 code/datums/greyscale/json_configs/buttondown_shorts.json
create mode 100644 code/datums/greyscale/json_configs/buttondown_shorts_worn.json
create mode 100644 code/datums/greyscale/json_configs/buttondown_slacks.json
create mode 100644 code/datums/greyscale/json_configs/buttondown_slacks_worn.json
create mode 100644 code/datums/greyscale/json_configs/fancy_coat.json
create mode 100644 code/datums/greyscale/json_configs/fancy_coat_worn.json
create mode 100644 code/datums/greyscale/json_configs/fancy_hat.json
create mode 100644 code/datums/greyscale/json_configs/fancy_hat_worn.json
create mode 100644 code/datums/greyscale/json_configs/football_armor.json
create mode 100644 code/datums/greyscale/json_configs/football_armor_worn.json
create mode 100644 code/datums/greyscale/json_configs/football_helmet.json
create mode 100644 code/datums/greyscale/json_configs/football_helmet_worn.json
create mode 100644 code/datums/greyscale/json_configs/football_suit.json
create mode 100644 code/datums/greyscale/json_configs/football_suit_worn.json
create mode 100644 code/datums/greyscale/json_configs/infinity_scarf.json
create mode 100644 code/datums/greyscale/json_configs/infinity_scarf_worn.json
create mode 100644 code/datums/greyscale/json_configs/jacket_oversized.json
create mode 100644 code/datums/greyscale/json_configs/jacket_oversized_worn.json
create mode 100644 code/datums/greyscale/json_configs/sweater.json
create mode 100644 code/datums/greyscale/json_configs/sweater_worn.json
create mode 100644 code/datums/greyscale/json_configs/waistcoat.json
create mode 100644 code/datums/greyscale/json_configs/waistcoat_worn.json
delete mode 100644 icons/mob/clothing/under/shorts_pants.dmi
create mode 100644 icons/mob/clothing/under/shorts_pants_shirts.dmi
delete mode 100644 icons/obj/clothing/under/shorts_pants.dmi
create mode 100644 icons/obj/clothing/under/shorts_pants_shirts.dmi
diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
index 83eaea58a81..db7dcd39a8a 100644
--- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm
+++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
@@ -49682,7 +49682,7 @@
"pmY" = (
/obj/structure/rack,
/obj/structure/window/reinforced/spawner/east,
-/obj/item/clothing/head/saints,
+/obj/item/clothing/head/fancy,
/turf/open/floor/iron/dark/textured,
/area/station/security/prison)
"pna" = (
diff --git a/code/datums/greyscale/config_types/greyscale_configs.dm b/code/datums/greyscale/config_types/greyscale_configs.dm
index 86949a7ba1a..d9a37483236 100644
--- a/code/datums/greyscale/config_types/greyscale_configs.dm
+++ b/code/datums/greyscale/config_types/greyscale_configs.dm
@@ -645,42 +645,42 @@
/datum/greyscale_config/slacks
name = "Slacks"
- icon_file = 'icons/obj/clothing/under/shorts_pants.dmi'
+ icon_file = 'icons/obj/clothing/under/shorts_pants_shirts.dmi'
json_config = 'code/datums/greyscale/json_configs/slacks.json'
/datum/greyscale_config/slacks_worn
name = "Worn Slacks"
- icon_file = 'icons/mob/clothing/under/shorts_pants.dmi'
+ icon_file = 'icons/mob/clothing/under/shorts_pants_shirts.dmi'
json_config = 'code/datums/greyscale/json_configs/slacks_worn.json'
/datum/greyscale_config/shorts
name = "Shorts"
- icon_file = 'icons/obj/clothing/under/shorts_pants.dmi'
+ icon_file = 'icons/obj/clothing/under/shorts_pants_shirts.dmi'
json_config = 'code/datums/greyscale/json_configs/shorts.json'
/datum/greyscale_config/shorts_worn
name = "Worn Shorts"
- icon_file = 'icons/mob/clothing/under/shorts_pants.dmi'
+ icon_file = 'icons/mob/clothing/under/shorts_pants_shirts.dmi'
json_config = 'code/datums/greyscale/json_configs/shorts_worn.json'
/datum/greyscale_config/jeans
name = "Jeans"
- icon_file = 'icons/obj/clothing/under/shorts_pants.dmi'
+ icon_file = 'icons/obj/clothing/under/shorts_pants_shirts.dmi'
json_config = 'code/datums/greyscale/json_configs/jeans.json'
/datum/greyscale_config/jeans_worn
name = "Worn Jeans"
- icon_file = 'icons/mob/clothing/under/shorts_pants.dmi'
+ icon_file = 'icons/mob/clothing/under/shorts_pants_shirts.dmi'
json_config = 'code/datums/greyscale/json_configs/jeans_worn.json'
/datum/greyscale_config/jeanshorts
name = "Jean Shorts"
- icon_file = 'icons/obj/clothing/under/shorts_pants.dmi'
+ icon_file = 'icons/obj/clothing/under/shorts_pants_shirts.dmi'
json_config = 'code/datums/greyscale/json_configs/jeanshorts.json'
/datum/greyscale_config/jeanshorts_worn
name = "Worn Jean Shorts"
- icon_file = 'icons/mob/clothing/under/shorts_pants.dmi'
+ icon_file = 'icons/mob/clothing/under/shorts_pants_shirts.dmi'
json_config = 'code/datums/greyscale/json_configs/jeanshorts_worn.json'
/datum/greyscale_config/tape
@@ -712,3 +712,113 @@
name = "Worn Tape Piece"
icon_file = 'icons/obj/tapes.dmi'
json_config = 'code/datums/greyscale/json_configs/tape_piece_spikes_worn.json'
+
+/datum/greyscale_config/buttondown_slacks
+ name = "Buttondown with Slacks"
+ icon_file = 'icons/obj/clothing/under/shorts_pants_shirts.dmi'
+ json_config = 'code/datums/greyscale/json_configs/buttondown_slacks.json'
+
+/datum/greyscale_config/buttondown_slacks_worn
+ name = "Worn Buttondown with Slacks"
+ icon_file = 'icons/mob/clothing/under/shorts_pants_shirts.dmi'
+ json_config = 'code/datums/greyscale/json_configs/buttondown_slacks_worn.json'
+
+/datum/greyscale_config/buttondown_shorts
+ name = "Buttondown with Shorts"
+ icon_file = 'icons/obj/clothing/under/shorts_pants_shirts.dmi'
+ json_config = 'code/datums/greyscale/json_configs/buttondown_shorts.json'
+
+/datum/greyscale_config/buttondown_shorts_worn
+ name = "Worn Buttondown with Shorts"
+ icon_file = 'icons/mob/clothing/under/shorts_pants_shirts.dmi'
+ json_config = 'code/datums/greyscale/json_configs/buttondown_shorts_worn.json'
+
+/datum/greyscale_config/sweater
+ name = "Sweater"
+ icon_file = 'icons/obj/clothing/suits.dmi'
+ json_config = 'code/datums/greyscale/json_configs/sweater.json'
+
+/datum/greyscale_config/sweater_worn
+ name = "Worn Sweater"
+ icon_file = 'icons/mob/clothing/suits/jacket.dmi'
+ json_config = 'code/datums/greyscale/json_configs/sweater_worn.json'
+
+/datum/greyscale_config/jacket_oversized
+ name = "Oversized Jacket"
+ icon_file = 'icons/obj/clothing/suits.dmi'
+ json_config = 'code/datums/greyscale/json_configs/jacket_oversized.json'
+
+/datum/greyscale_config/jacket_oversized_worn
+ name = "Worn Oversized Jacket"
+ icon_file = 'icons/mob/clothing/suits/jacket.dmi'
+ json_config = 'code/datums/greyscale/json_configs/jacket_oversized_worn.json'
+
+/datum/greyscale_config/infinity_scarf
+ name = "Infinity Scarf"
+ icon_file = 'icons/obj/clothing/neck.dmi'
+ json_config = 'code/datums/greyscale/json_configs/infinity_scarf.json'
+
+/datum/greyscale_config/infinity_scarf_worn
+ name = "Worn Infinity Scarf"
+ icon_file = 'icons/mob/clothing/neck.dmi'
+ json_config = 'code/datums/greyscale/json_configs/infinity_scarf_worn.json'
+
+/datum/greyscale_config/football_helmet
+ name = "Football Helmet"
+ icon_file = 'icons/obj/clothing/hats.dmi'
+ json_config = 'code/datums/greyscale/json_configs/football_helmet.json'
+
+/datum/greyscale_config/football_helmet_worn
+ name = "Worn Football Helmet"
+ icon_file = 'icons/mob/clothing/head.dmi'
+ json_config = 'code/datums/greyscale/json_configs/football_helmet_worn.json'
+
+/datum/greyscale_config/football_suit
+ name = "Football Suit"
+ icon_file = 'icons/obj/clothing/under/costume.dmi'
+ json_config = 'code/datums/greyscale/json_configs/football_suit.json'
+
+/datum/greyscale_config/football_suit_worn
+ name = "Worn Football Suit"
+ icon_file = 'icons/mob/clothing/under/costume.dmi'
+ json_config = 'code/datums/greyscale/json_configs/football_suit_worn.json'
+
+/datum/greyscale_config/football_armor
+ name = "Football Armor"
+ icon_file = 'icons/obj/clothing/suits.dmi'
+ json_config = 'code/datums/greyscale/json_configs/football_armor.json'
+
+/datum/greyscale_config/football_armor_worn
+ name = "Worn Football Armor"
+ icon_file = 'icons/mob/clothing/suits/costume.dmi'
+ json_config = 'code/datums/greyscale/json_configs/football_armor_worn.json'
+
+/datum/greyscale_config/waistcoat
+ name = "Waistcoat"
+ icon_file = 'icons/obj/clothing/accessories.dmi'
+ json_config = 'code/datums/greyscale/json_configs/waistcoat.json'
+
+/datum/greyscale_config/waistcoat_worn
+ name = "Worn Waistcoat"
+ icon_file = 'icons/mob/clothing/accessories.dmi'
+ json_config = 'code/datums/greyscale/json_configs/waistcoat_worn.json'
+
+/datum/greyscale_config/fancy_hat
+ name = "Fancy Hat"
+ icon_file = 'icons/obj/clothing/hats.dmi'
+ json_config = 'code/datums/greyscale/json_configs/fancy_hat.json'
+
+/datum/greyscale_config/fancy_hat_worn
+ name = "Worn Fancy Hat"
+ icon_file = 'icons/mob/clothing/head.dmi'
+ json_config = 'code/datums/greyscale/json_configs/fancy_hat_worn.json'
+
+/datum/greyscale_config/fancy_coat
+ name = "Fancy Coat"
+ icon_file = 'icons/obj/clothing/suits.dmi'
+ json_config = 'code/datums/greyscale/json_configs/fancy_coat.json'
+
+/datum/greyscale_config/fancy_coat_worn
+ name = "Worn Fancy Coat"
+ icon_file = 'icons/mob/clothing/suits/jacket.dmi'
+ json_config = 'code/datums/greyscale/json_configs/fancy_coat_worn.json'
diff --git a/code/datums/greyscale/json_configs/buttondown_shorts.json b/code/datums/greyscale/json_configs/buttondown_shorts.json
new file mode 100644
index 00000000000..8c4f4daf067
--- /dev/null
+++ b/code/datums/greyscale/json_configs/buttondown_shorts.json
@@ -0,0 +1,28 @@
+{
+ "buttondown_shorts": [
+ {
+ "type": "icon_state",
+ "icon_state": "buttondown",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "buckle",
+ "blend_mode": "overlay",
+ "color_ids": [ 2 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "belt",
+ "blend_mode": "overlay",
+ "color_ids": [ 3 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "shorts",
+ "blend_mode": "overlay",
+ "color_ids": [ 4 ]
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/buttondown_shorts_worn.json b/code/datums/greyscale/json_configs/buttondown_shorts_worn.json
new file mode 100644
index 00000000000..8c4f4daf067
--- /dev/null
+++ b/code/datums/greyscale/json_configs/buttondown_shorts_worn.json
@@ -0,0 +1,28 @@
+{
+ "buttondown_shorts": [
+ {
+ "type": "icon_state",
+ "icon_state": "buttondown",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "buckle",
+ "blend_mode": "overlay",
+ "color_ids": [ 2 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "belt",
+ "blend_mode": "overlay",
+ "color_ids": [ 3 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "shorts",
+ "blend_mode": "overlay",
+ "color_ids": [ 4 ]
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/buttondown_slacks.json b/code/datums/greyscale/json_configs/buttondown_slacks.json
new file mode 100644
index 00000000000..e92706ef5bc
--- /dev/null
+++ b/code/datums/greyscale/json_configs/buttondown_slacks.json
@@ -0,0 +1,28 @@
+{
+ "buttondown_slacks": [
+ {
+ "type": "icon_state",
+ "icon_state": "buttondown",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "buckle",
+ "blend_mode": "overlay",
+ "color_ids": [ 2 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "belt",
+ "blend_mode": "overlay",
+ "color_ids": [ 3 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "slacks",
+ "blend_mode": "overlay",
+ "color_ids": [ 4 ]
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/buttondown_slacks_worn.json b/code/datums/greyscale/json_configs/buttondown_slacks_worn.json
new file mode 100644
index 00000000000..e92706ef5bc
--- /dev/null
+++ b/code/datums/greyscale/json_configs/buttondown_slacks_worn.json
@@ -0,0 +1,28 @@
+{
+ "buttondown_slacks": [
+ {
+ "type": "icon_state",
+ "icon_state": "buttondown",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "buckle",
+ "blend_mode": "overlay",
+ "color_ids": [ 2 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "belt",
+ "blend_mode": "overlay",
+ "color_ids": [ 3 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "slacks",
+ "blend_mode": "overlay",
+ "color_ids": [ 4 ]
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/fancy_coat.json b/code/datums/greyscale/json_configs/fancy_coat.json
new file mode 100644
index 00000000000..b4bb94f4fef
--- /dev/null
+++ b/code/datums/greyscale/json_configs/fancy_coat.json
@@ -0,0 +1,16 @@
+{
+ "fancy_coat": [
+ {
+ "type": "icon_state",
+ "icon_state": "fancy_fur",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "fancy_coat",
+ "blend_mode": "overlay",
+ "color_ids": [ 2 ]
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/fancy_coat_worn.json b/code/datums/greyscale/json_configs/fancy_coat_worn.json
new file mode 100644
index 00000000000..b4bb94f4fef
--- /dev/null
+++ b/code/datums/greyscale/json_configs/fancy_coat_worn.json
@@ -0,0 +1,16 @@
+{
+ "fancy_coat": [
+ {
+ "type": "icon_state",
+ "icon_state": "fancy_fur",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "fancy_coat",
+ "blend_mode": "overlay",
+ "color_ids": [ 2 ]
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/fancy_hat.json b/code/datums/greyscale/json_configs/fancy_hat.json
new file mode 100644
index 00000000000..d3268100171
--- /dev/null
+++ b/code/datums/greyscale/json_configs/fancy_hat.json
@@ -0,0 +1,16 @@
+{
+ "fancy_hat": [
+ {
+ "type": "icon_state",
+ "icon_state": "fancy_feather",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "fancy_hat",
+ "blend_mode": "overlay",
+ "color_ids": [ 2 ]
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/fancy_hat_worn.json b/code/datums/greyscale/json_configs/fancy_hat_worn.json
new file mode 100644
index 00000000000..d3268100171
--- /dev/null
+++ b/code/datums/greyscale/json_configs/fancy_hat_worn.json
@@ -0,0 +1,16 @@
+{
+ "fancy_hat": [
+ {
+ "type": "icon_state",
+ "icon_state": "fancy_feather",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "fancy_hat",
+ "blend_mode": "overlay",
+ "color_ids": [ 2 ]
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/football_armor.json b/code/datums/greyscale/json_configs/football_armor.json
new file mode 100644
index 00000000000..c928d84195f
--- /dev/null
+++ b/code/datums/greyscale/json_configs/football_armor.json
@@ -0,0 +1,15 @@
+{
+ "football_armor": [
+ {
+ "type": "icon_state",
+ "icon_state": "football_armor",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "football_number",
+ "blend_mode": "overlay"
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/football_armor_worn.json b/code/datums/greyscale/json_configs/football_armor_worn.json
new file mode 100644
index 00000000000..c928d84195f
--- /dev/null
+++ b/code/datums/greyscale/json_configs/football_armor_worn.json
@@ -0,0 +1,15 @@
+{
+ "football_armor": [
+ {
+ "type": "icon_state",
+ "icon_state": "football_armor",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "football_number",
+ "blend_mode": "overlay"
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/football_helmet.json b/code/datums/greyscale/json_configs/football_helmet.json
new file mode 100644
index 00000000000..5c7aff3c7a9
--- /dev/null
+++ b/code/datums/greyscale/json_configs/football_helmet.json
@@ -0,0 +1,15 @@
+{
+ "football_helmet": [
+ {
+ "type": "icon_state",
+ "icon_state": "football_helmet",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "football_stripe",
+ "blend_mode": "overlay"
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/football_helmet_worn.json b/code/datums/greyscale/json_configs/football_helmet_worn.json
new file mode 100644
index 00000000000..5c7aff3c7a9
--- /dev/null
+++ b/code/datums/greyscale/json_configs/football_helmet_worn.json
@@ -0,0 +1,15 @@
+{
+ "football_helmet": [
+ {
+ "type": "icon_state",
+ "icon_state": "football_helmet",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "football_stripe",
+ "blend_mode": "overlay"
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/football_suit.json b/code/datums/greyscale/json_configs/football_suit.json
new file mode 100644
index 00000000000..d1830d6c83a
--- /dev/null
+++ b/code/datums/greyscale/json_configs/football_suit.json
@@ -0,0 +1,15 @@
+{
+ "football_suit": [
+ {
+ "type": "icon_state",
+ "icon_state": "football_suit",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "football_number",
+ "blend_mode": "overlay"
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/football_suit_worn.json b/code/datums/greyscale/json_configs/football_suit_worn.json
new file mode 100644
index 00000000000..d1830d6c83a
--- /dev/null
+++ b/code/datums/greyscale/json_configs/football_suit_worn.json
@@ -0,0 +1,15 @@
+{
+ "football_suit": [
+ {
+ "type": "icon_state",
+ "icon_state": "football_suit",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ },
+ {
+ "type": "icon_state",
+ "icon_state": "football_number",
+ "blend_mode": "overlay"
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/infinity_scarf.json b/code/datums/greyscale/json_configs/infinity_scarf.json
new file mode 100644
index 00000000000..80996df563b
--- /dev/null
+++ b/code/datums/greyscale/json_configs/infinity_scarf.json
@@ -0,0 +1,10 @@
+{
+ "infinity_scarf": [
+ {
+ "type": "icon_state",
+ "icon_state": "infinity_scarf",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/infinity_scarf_worn.json b/code/datums/greyscale/json_configs/infinity_scarf_worn.json
new file mode 100644
index 00000000000..80996df563b
--- /dev/null
+++ b/code/datums/greyscale/json_configs/infinity_scarf_worn.json
@@ -0,0 +1,10 @@
+{
+ "infinity_scarf": [
+ {
+ "type": "icon_state",
+ "icon_state": "infinity_scarf",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/jacket_oversized.json b/code/datums/greyscale/json_configs/jacket_oversized.json
new file mode 100644
index 00000000000..e1aaa566bcd
--- /dev/null
+++ b/code/datums/greyscale/json_configs/jacket_oversized.json
@@ -0,0 +1,10 @@
+{
+ "jacket_oversized": [
+ {
+ "type": "icon_state",
+ "icon_state": "jacket_oversized",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/jacket_oversized_worn.json b/code/datums/greyscale/json_configs/jacket_oversized_worn.json
new file mode 100644
index 00000000000..e1aaa566bcd
--- /dev/null
+++ b/code/datums/greyscale/json_configs/jacket_oversized_worn.json
@@ -0,0 +1,10 @@
+{
+ "jacket_oversized": [
+ {
+ "type": "icon_state",
+ "icon_state": "jacket_oversized",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/jeans.json b/code/datums/greyscale/json_configs/jeans.json
index a384f52d8f0..e16642511a3 100644
--- a/code/datums/greyscale/json_configs/jeans.json
+++ b/code/datums/greyscale/json_configs/jeans.json
@@ -2,19 +2,19 @@
"jeans": [
{
"type": "icon_state",
- "icon_state": "jeans_buckle",
+ "icon_state": "buckle",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
- "icon_state": "jeans_belt",
+ "icon_state": "belt",
"blend_mode": "overlay",
"color_ids": [ 2 ]
},
{
"type": "icon_state",
- "icon_state": "jeans_base",
+ "icon_state": "jeans",
"blend_mode": "overlay",
"color_ids": [ 3 ]
}
diff --git a/code/datums/greyscale/json_configs/jeans_worn.json b/code/datums/greyscale/json_configs/jeans_worn.json
index a384f52d8f0..e16642511a3 100644
--- a/code/datums/greyscale/json_configs/jeans_worn.json
+++ b/code/datums/greyscale/json_configs/jeans_worn.json
@@ -2,19 +2,19 @@
"jeans": [
{
"type": "icon_state",
- "icon_state": "jeans_buckle",
+ "icon_state": "buckle",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
- "icon_state": "jeans_belt",
+ "icon_state": "belt",
"blend_mode": "overlay",
"color_ids": [ 2 ]
},
{
"type": "icon_state",
- "icon_state": "jeans_base",
+ "icon_state": "jeans",
"blend_mode": "overlay",
"color_ids": [ 3 ]
}
diff --git a/code/datums/greyscale/json_configs/jeanshorts.json b/code/datums/greyscale/json_configs/jeanshorts.json
index 6cb7bd7cbb6..2d595b7a385 100644
--- a/code/datums/greyscale/json_configs/jeanshorts.json
+++ b/code/datums/greyscale/json_configs/jeanshorts.json
@@ -2,19 +2,19 @@
"jeanshorts": [
{
"type": "icon_state",
- "icon_state": "jeanshorts_buckle",
+ "icon_state": "buckle",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
- "icon_state": "jeanshorts_belt",
+ "icon_state": "belt",
"blend_mode": "overlay",
"color_ids": [ 2 ]
},
{
"type": "icon_state",
- "icon_state": "jeanshorts_base",
+ "icon_state": "jeanshorts",
"blend_mode": "overlay",
"color_ids": [ 3 ]
}
diff --git a/code/datums/greyscale/json_configs/jeanshorts_worn.json b/code/datums/greyscale/json_configs/jeanshorts_worn.json
index 6cb7bd7cbb6..2d595b7a385 100644
--- a/code/datums/greyscale/json_configs/jeanshorts_worn.json
+++ b/code/datums/greyscale/json_configs/jeanshorts_worn.json
@@ -2,19 +2,19 @@
"jeanshorts": [
{
"type": "icon_state",
- "icon_state": "jeanshorts_buckle",
+ "icon_state": "buckle",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
- "icon_state": "jeanshorts_belt",
+ "icon_state": "belt",
"blend_mode": "overlay",
"color_ids": [ 2 ]
},
{
"type": "icon_state",
- "icon_state": "jeanshorts_base",
+ "icon_state": "jeanshorts",
"blend_mode": "overlay",
"color_ids": [ 3 ]
}
diff --git a/code/datums/greyscale/json_configs/shorts.json b/code/datums/greyscale/json_configs/shorts.json
index 7e05907121d..6e9e77d8391 100644
--- a/code/datums/greyscale/json_configs/shorts.json
+++ b/code/datums/greyscale/json_configs/shorts.json
@@ -2,19 +2,19 @@
"shorts": [
{
"type": "icon_state",
- "icon_state": "shorts_buckle",
+ "icon_state": "buckle",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
- "icon_state": "shorts_belt",
+ "icon_state": "belt",
"blend_mode": "overlay",
"color_ids": [ 2 ]
},
{
"type": "icon_state",
- "icon_state": "shorts_base",
+ "icon_state": "shorts",
"blend_mode": "overlay",
"color_ids": [ 3 ]
}
diff --git a/code/datums/greyscale/json_configs/shorts_worn.json b/code/datums/greyscale/json_configs/shorts_worn.json
index 7e05907121d..6e9e77d8391 100644
--- a/code/datums/greyscale/json_configs/shorts_worn.json
+++ b/code/datums/greyscale/json_configs/shorts_worn.json
@@ -2,19 +2,19 @@
"shorts": [
{
"type": "icon_state",
- "icon_state": "shorts_buckle",
+ "icon_state": "buckle",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
- "icon_state": "shorts_belt",
+ "icon_state": "belt",
"blend_mode": "overlay",
"color_ids": [ 2 ]
},
{
"type": "icon_state",
- "icon_state": "shorts_base",
+ "icon_state": "shorts",
"blend_mode": "overlay",
"color_ids": [ 3 ]
}
diff --git a/code/datums/greyscale/json_configs/slacks.json b/code/datums/greyscale/json_configs/slacks.json
index 5393378daec..85242d6e235 100644
--- a/code/datums/greyscale/json_configs/slacks.json
+++ b/code/datums/greyscale/json_configs/slacks.json
@@ -2,19 +2,19 @@
"slacks": [
{
"type": "icon_state",
- "icon_state": "slacks_buckle",
+ "icon_state": "buckle",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
- "icon_state": "slacks_belt",
+ "icon_state": "belt",
"blend_mode": "overlay",
"color_ids": [ 2 ]
},
{
"type": "icon_state",
- "icon_state": "slacks_base",
+ "icon_state": "slacks",
"blend_mode": "overlay",
"color_ids": [ 3 ]
}
diff --git a/code/datums/greyscale/json_configs/slacks_worn.json b/code/datums/greyscale/json_configs/slacks_worn.json
index 5393378daec..85242d6e235 100644
--- a/code/datums/greyscale/json_configs/slacks_worn.json
+++ b/code/datums/greyscale/json_configs/slacks_worn.json
@@ -2,19 +2,19 @@
"slacks": [
{
"type": "icon_state",
- "icon_state": "slacks_buckle",
+ "icon_state": "buckle",
"blend_mode": "overlay",
"color_ids": [ 1 ]
},
{
"type": "icon_state",
- "icon_state": "slacks_belt",
+ "icon_state": "belt",
"blend_mode": "overlay",
"color_ids": [ 2 ]
},
{
"type": "icon_state",
- "icon_state": "slacks_base",
+ "icon_state": "slacks",
"blend_mode": "overlay",
"color_ids": [ 3 ]
}
diff --git a/code/datums/greyscale/json_configs/sweater.json b/code/datums/greyscale/json_configs/sweater.json
new file mode 100644
index 00000000000..031ee45d4a5
--- /dev/null
+++ b/code/datums/greyscale/json_configs/sweater.json
@@ -0,0 +1,18 @@
+{
+ "sweater": [
+ {
+ "type": "icon_state",
+ "icon_state": "sweater",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "sweater_t": [
+ {
+ "type": "icon_state",
+ "icon_state": "sweater_t",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/sweater_worn.json b/code/datums/greyscale/json_configs/sweater_worn.json
new file mode 100644
index 00000000000..031ee45d4a5
--- /dev/null
+++ b/code/datums/greyscale/json_configs/sweater_worn.json
@@ -0,0 +1,18 @@
+{
+ "sweater": [
+ {
+ "type": "icon_state",
+ "icon_state": "sweater",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ],
+ "sweater_t": [
+ {
+ "type": "icon_state",
+ "icon_state": "sweater_t",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/waistcoat.json b/code/datums/greyscale/json_configs/waistcoat.json
new file mode 100644
index 00000000000..bfab0e850bb
--- /dev/null
+++ b/code/datums/greyscale/json_configs/waistcoat.json
@@ -0,0 +1,10 @@
+{
+ "waistcoat": [
+ {
+ "type": "icon_state",
+ "icon_state": "waistcoat",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ]
+}
diff --git a/code/datums/greyscale/json_configs/waistcoat_worn.json b/code/datums/greyscale/json_configs/waistcoat_worn.json
new file mode 100644
index 00000000000..bfab0e850bb
--- /dev/null
+++ b/code/datums/greyscale/json_configs/waistcoat_worn.json
@@ -0,0 +1,10 @@
+{
+ "waistcoat": [
+ {
+ "type": "icon_state",
+ "icon_state": "waistcoat",
+ "blend_mode": "overlay",
+ "color_ids": [ 1 ]
+ }
+ ]
+}
diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
index 0da4df23fdc..45649010659 100644
--- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
@@ -166,7 +166,7 @@
/obj/structure/closet/wardrobe/mixed/PopulateContents()
if(prob(40))
- new /obj/item/clothing/suit/jacket(src)
+ new /obj/item/clothing/suit/jacket/bomber(src)
new /obj/item/clothing/under/color/white(src)
new /obj/item/clothing/under/color/jumpskirt/white(src)
new /obj/item/clothing/under/color/blue(src)
diff --git a/code/modules/antagonists/nukeop/outfits.dm b/code/modules/antagonists/nukeop/outfits.dm
index 1fec618a12d..bf0d361f58f 100644
--- a/code/modules/antagonists/nukeop/outfits.dm
+++ b/code/modules/antagonists/nukeop/outfits.dm
@@ -88,7 +88,7 @@
/datum/outfit/syndicate/reinforcement/cybersun
name = "Syndicate Operative - Cybersun Reinforcement"
uniform = /obj/item/clothing/under/syndicate/combat
- suit = /obj/item/clothing/suit/jacket/det_suit/dark
+ suit = /obj/item/clothing/suit/jacket/oversized
gloves = /obj/item/clothing/gloves/fingerless
glasses = /obj/item/clothing/glasses/sunglasses
mask = /obj/item/clothing/mask/cigarette/cigar
diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm
index 074dee04ae6..2b276bf0ff5 100644
--- a/code/modules/clothing/glasses/_glasses.dm
+++ b/code/modules/clothing/glasses/_glasses.dm
@@ -595,18 +595,6 @@
var/mob/living/carbon/human/H = user
H.update_sight()
-/obj/item/clothing/glasses/osi
- name = "O.S.I. Sunglasses"
- desc = "There's no such thing as good news! Just bad news and... weird news.."
- icon_state = "osi_glasses"
- inhand_icon_state = "osi_glasses"
-
-/obj/item/clothing/glasses/phantom
- name = "Phantom Thief Mask"
- desc = "Lookin' cool."
- icon_state = "phantom_glasses"
- inhand_icon_state = "phantom_glasses"
-
/obj/item/clothing/glasses/regular/kim
name = "binoclard lenses"
desc = "Shows you know how to sew a lapel and center a back vent."
@@ -653,3 +641,15 @@
inhand_icon_state = "glasses"
glass_colour_type = /datum/client_colour/glass_colour/nightmare
forced_glass_color = TRUE
+
+/obj/item/clothing/glasses/osi
+ name = "O.S.I. Sunglasses"
+ desc = "There's no such thing as good news! Just bad news and... weird news.."
+ icon_state = "osi_glasses"
+ inhand_icon_state = "osi_glasses"
+
+/obj/item/clothing/glasses/phantom
+ name = "Phantom Thief Mask"
+ desc = "Lookin' cool."
+ icon_state = "phantom_glasses"
+ inhand_icon_state = "phantom_glasses"
diff --git a/code/modules/clothing/head/costume.dm b/code/modules/clothing/head/costume.dm
index 1240ad58f32..d94c29a3d41 100644
--- a/code/modules/clothing/head/costume.dm
+++ b/code/modules/clothing/head/costume.dm
@@ -128,57 +128,21 @@
flags_inv = HIDEEARS|HIDEHAIR
armor = list(MELEE = 5, BULLET = 0, LASER = -5, ENERGY = -15, BOMB = 10, BIO = 0, FIRE = 20, ACID = 20)
-/obj/item/clothing/head/irs
- name = "internal revenue service cap"
- icon_state = "irs_hat"
- inhand_icon_state = "irs_hat"
+/obj/item/clothing/head/fancy
+ name = "fancy hat"
+ icon_state = "fancy_hat"
+ greyscale_colors = "#E3C937#782A81"
+ greyscale_config = /datum/greyscale_config/fancy_hat
+ greyscale_config_worn = /datum/greyscale_config/fancy_hat_worn
+ flags_1 = IS_PLAYER_COLORABLE_1
-/obj/item/clothing/head/pg
- name = "powder ganger beanie"
- icon_state = "pg_hat"
- inhand_icon_state = "pg_hat"
-
-/obj/item/clothing/head/tmc
- name = "Lost M.C. bandana"
- icon_state = "tmc_hat"
- inhand_icon_state = "tmc_hat"
-
-/obj/item/clothing/head/deckers
- name = "Decker headphones"
- icon_state = "decker_hat"
- inhand_icon_state = "decker_hat"
-
-/obj/item/clothing/head/morningstar
- name = "Morningstar beret"
- icon_state = "morningstar_hat"
- inhand_icon_state = "morningstar_hat"
-
-/obj/item/clothing/head/saints
- name = "Saints hat"
- icon_state = "saints_hat"
- inhand_icon_state = "saints_hat"
-
-/obj/item/clothing/head/allies
- name = "allies helmet"
- icon_state = "allies_helmet"
- inhand_icon_state = "allies_helmet"
-
-/obj/item/clothing/head/yuri
- name = "yuri initiate helmet"
- icon_state = "yuri_helmet"
- inhand_icon_state = "yuri_helmet"
- clothing_flags = SNUG_FIT
- flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
-
-/obj/item/clothing/head/sybil_slickers
- name = "sybil slickers helmet"
- icon_state = "football_helmet_blue"
- inhand_icon_state = "football_helmet_blue"
-
-/obj/item/clothing/head/basil_boys
- name = "basil boys helmet"
- icon_state = "football_helmet_red"
- inhand_icon_state = "football_helmet_red"
+/obj/item/clothing/head/football_helmet
+ name = "football helmet"
+ icon_state = "football_helmet"
+ greyscale_colors = "#D74722"
+ greyscale_config = /datum/greyscale_config/football_helmet
+ greyscale_config_worn = /datum/greyscale_config/football_helmet_worn
+ flags_1 = IS_PLAYER_COLORABLE_1
/obj/item/clothing/head/tv_head
name = "television helmet"
@@ -201,3 +165,30 @@
/obj/item/clothing/head/tv_head/fov_less
desc = "A mysterious headgear made from the hollowed out remains of a status display. How very retro-retro-futuristic of you. It's very easy to see out of this one."
has_fov = FALSE
+
+/obj/item/clothing/head/irs
+ name = "internal revenue service cap"
+ icon_state = "irs_hat"
+ inhand_icon_state = "irs_hat"
+
+/obj/item/clothing/head/tmc
+ name = "Lost M.C. bandana"
+ icon_state = "tmc_hat"
+ inhand_icon_state = "tmc_hat"
+
+/obj/item/clothing/head/deckers
+ name = "Decker headphones"
+ icon_state = "decker_hat"
+ inhand_icon_state = "decker_hat"
+
+/obj/item/clothing/head/yuri
+ name = "yuri initiate helmet"
+ icon_state = "yuri_helmet"
+ inhand_icon_state = "yuri_helmet"
+ clothing_flags = SNUG_FIT
+ flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
+
+/obj/item/clothing/head/allies
+ name = "allies helmet"
+ icon_state = "allies_helmet"
+ inhand_icon_state = "allies_helmet"
diff --git a/code/modules/clothing/head/hat.dm b/code/modules/clothing/head/hat.dm
index 6be1e8d45c3..384c043a95b 100644
--- a/code/modules/clothing/head/hat.dm
+++ b/code/modules/clothing/head/hat.dm
@@ -228,12 +228,3 @@
inhand_icon_state = downsprite
to_chat(user, span_notice("You lower the ear flaps on the ushanka."))
earflaps = !earflaps
-
-
-/obj/item/clothing/head/ushanka/soviet
- name = "soviet ushanka"
- desc = "For the union!"
- icon_state = "sovietushankadown"
- inhand_icon_state = "sovietushankadown"
- upsprite = "sovietushankaup"
- downsprite = "sovietushankadown"
diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm
index 8444ed0e1b5..d27dc6bc949 100644
--- a/code/modules/clothing/masks/gasmask.dm
+++ b/code/modules/clothing/masks/gasmask.dm
@@ -391,14 +391,6 @@
flags_inv = HIDEFACIALHAIR|HIDEFACE|HIDEEYES|HIDEEARS|HIDEHAIR|HIDESNOUT
has_fov = FALSE
-/obj/item/clothing/mask/gas/driscoll
- name = "driscoll mask"
- desc = "Great for train hijackings. Works like a normal full face gas mask, but won't conceal your identity."
- icon_state = "driscoll_mask"
- flags_inv = HIDEFACIALHAIR
- w_class = WEIGHT_CLASS_NORMAL
- inhand_icon_state = "driscoll_mask"
-
/obj/item/clothing/mask/gas/prop
name = "prop gas mask"
desc = "A prop gas mask designed for appearance. Unlike a normal gas mask this does not filter gasses or protect against pepper spray."
@@ -419,3 +411,11 @@
flags_cover = MASKCOVERSMOUTH
resistance_flags = FLAMMABLE
has_fov = FALSE
+
+/obj/item/clothing/mask/gas/driscoll
+ name = "driscoll mask"
+ desc = "Great for train hijackings. Works like a normal full face gas mask, but won't conceal your identity."
+ icon_state = "driscoll_mask"
+ flags_inv = HIDEFACIALHAIR
+ w_class = WEIGHT_CLASS_NORMAL
+ inhand_icon_state = "driscoll_mask"
diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm
index 7a7b2dff946..1fe765d585c 100644
--- a/code/modules/clothing/neck/_neck.dm
+++ b/code/modules/clothing/neck/_neck.dm
@@ -266,7 +266,8 @@
/obj/item/clothing/neck/large_scarf
name = "large scarf"
icon_state = "large_scarf"
- custom_price = PAYCHECK_CREW * 0.2
+ w_class = WEIGHT_CLASS_TINY
+ custom_price = PAYCHECK_CREW
greyscale_colors = "#C6C6C6#EEEEEE"
greyscale_config = /datum/greyscale_config/large_scarf
greyscale_config_worn = /datum/greyscale_config/large_scarf_worn
@@ -290,6 +291,16 @@
greyscale_colors = "#B40000#545350"
armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40)
+/obj/item/clothing/neck/infinity_scarf
+ name = "infinity scarf"
+ icon_state = "infinity_scarf"
+ w_class = WEIGHT_CLASS_TINY
+ custom_price = PAYCHECK_CREW
+ greyscale_colors = "#EEEEEE"
+ greyscale_config = /datum/greyscale_config/infinity_scarf
+ greyscale_config_worn = /datum/greyscale_config/infinity_scarf_worn
+ flags_1 = IS_PLAYER_COLORABLE_1
+
/obj/item/clothing/neck/petcollar
name = "pet collar"
desc = "It's for pets."
diff --git a/code/modules/clothing/shoes/costume.dm b/code/modules/clothing/shoes/costume.dm
index d815af399fb..21189069a7d 100644
--- a/code/modules/clothing/shoes/costume.dm
+++ b/code/modules/clothing/shoes/costume.dm
@@ -17,7 +17,7 @@
/obj/item/clothing/shoes/griffin/Initialize(mapload)
. = ..()
-
+
create_storage(type = /datum/storage/pockets/shoes)
/obj/item/clothing/shoes/singery
@@ -50,12 +50,6 @@
can_be_tied = FALSE
species_exception = list(/datum/species/golem)
-/obj/item/clothing/shoes/yakuza
- name = "tojo clan shoes"
- desc = "Steel-toed and intimidating."
- icon_state = "MajimaShoes"
- inhand_icon_state = "MajimaShoes_worn"
-
/obj/item/clothing/shoes/jackbros
name = "frosty boots"
desc = "For when you're stepping on up to the plate."
@@ -68,39 +62,20 @@
icon_state = "SwagShoes"
inhand_icon_state = "SwagShoes"
-/obj/item/clothing/shoes/phantom
- name = "phantom shoes"
- desc = "Excellent for when you need to do cool flashy flips."
- icon_state = "phantom_shoes"
- inhand_icon_state = "phantom_shoes"
+/obj/item/clothing/shoes/glow
+ name = "glow shoes"
+ desc = "t3h c00L3st sh03z j00'LL 3v3r f1nd."
+ icon_state = "glow_shoes"
+ inhand_icon_state = "glow_shoes"
+
+/obj/item/clothing/shoes/jackbros
+ name = "frosty boots"
+ desc = "For when you're stepping on up to the plate."
+ icon_state = "JackFrostShoes"
+ inhand_icon_state = "JackFrostShoes_worn"
/obj/item/clothing/shoes/saints
name = "saints sneakers"
desc = "Officially branded Saints sneakers. Incredibly valuable!"
icon_state = "saints_shoes"
inhand_icon_state = "saints_shoes"
-
-/obj/item/clothing/shoes/morningstar
- name = "morningstar boots"
- desc = "The most expensive boots on this station. Wearing them dropped the value by about 50%."
- icon_state = "morningstar_shoes"
- inhand_icon_state = "morningstar_shoes"
-
-/obj/item/clothing/shoes/deckers
- name = "deckers rollerskates"
- desc = "t3h c00L3st sh03z j00'LL 3v3r f1nd."
- icon_state = "decker_shoes"
- inhand_icon_state = "decker_shoes"
-
-/obj/item/clothing/shoes/sybil_slickers
- name = "sybil slickers shoes"
- desc = "FOOTBALL! YEAH!"
- icon_state = "sneakers_blue"
- inhand_icon_state = "sneakers_blue"
-
-/obj/item/clothing/shoes/basil_boys
- name = "basil boys shoes"
- desc = "FOOTBALL! YEAH!"
- icon_state = "sneakers_red"
- inhand_icon_state = "sneakers_red"
-
diff --git a/code/modules/clothing/suits/costume.dm b/code/modules/clothing/suits/costume.dm
index b77017ffb67..f5482760324 100644
--- a/code/modules/clothing/suits/costume.dm
+++ b/code/modules/clothing/suits/costume.dm
@@ -471,62 +471,20 @@
inhand_icon_state = "hawaiian_blue"
species_exception = list(/datum/species/golem)
-/obj/item/clothing/suit/costume/yakuza
- name = "tojo clan jacket"
- desc = "The jacket of a mad dog."
- icon_state = "MajimaJacket"
- inhand_icon_state = "MajimaJacket"
+/obj/item/clothing/suit/costume/football_armor
+ name = "football protective gear"
+ desc = "Given to members of the football team!"
+ icon_state = "football_armor"
body_parts_covered = CHEST|GROIN|LEGS|ARMS
- supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
+ greyscale_config = /datum/greyscale_config/football_armor
+ greyscale_config_worn = /datum/greyscale_config/football_armor_worn
+ greyscale_colors = "#D74722"
+ flags_1 = IS_PLAYER_COLORABLE_1
-/obj/item/clothing/suit/costume/dutch
- name = "dutch's jacket"
- desc = "For those long nights on the beach in Tahiti."
- icon_state = "DutchJacket"
- inhand_icon_state = "DutchJacket"
- body_parts_covered = ARMS
- body_parts_covered = CHEST|GROIN|LEGS|ARMS
- supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
-
-/obj/item/clothing/suit/costume/driscoll
- name = "driscoll poncho"
- desc = "Keeping you warm in the harsh cold of space."
- icon_state = "driscoll_suit"
- inhand_icon_state = "driscoll_suit"
- body_parts_covered = CHEST|GROIN|LEGS|ARMS
- supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
-
-/obj/item/clothing/suit/costume/irs
- name = "internal revenue service jacket"
- desc = "I'm crazy enough to take on The Owl, but the IRS? Nooo thank you!"
- icon_state = "irs_suit"
- inhand_icon_state = "irs_suit"
- body_parts_covered = CHEST|GROIN|LEGS|ARMS
- supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
-
-/obj/item/clothing/suit/costume/osi
- name = "\improper O.S.I. body armor"
- desc = "You're beyond good and evil, super man. You work for the government. And you're a tool, boy, a tool! Built for a single purpose by the United States of shut your third fucking damn eye for a fucking reason! You can't teach a hammer to love nails, son. That dog don't hunt!"
- icon_state = "osi_suit"
- inhand_icon_state = "osi_suit"
- body_parts_covered = CHEST|GROIN|LEGS|ARMS
- supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
-
-/obj/item/clothing/suit/costume/tmc
- name = "\improper Lost M.C. cut"
- desc = "Making sure everyone knows you're in the best biker gang this side of Alderney."
- icon_state = "tmc_suit"
- inhand_icon_state = "tmc_suit"
- body_parts_covered = CHEST|GROIN|LEGS|ARMS
- supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
-
-/obj/item/clothing/suit/costume/pg
- name = "powder ganger jacket"
- desc = "Remind Security of their mistakes in giving prisoners blasting charges."
- icon_state = "pg_suit"
- inhand_icon_state = "pg_suit"
- body_parts_covered = CHEST|GROIN|LEGS|ARMS
- supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
+/obj/item/clothing/suit/costume/joker
+ name = "comedian coat"
+ desc = "I mean, don’t you have to be funny to be a comedian?"
+ icon_state = "joker_coat"
/obj/item/clothing/suit/costume/deckers
name = "decker hoodie"
@@ -536,40 +494,6 @@
body_parts_covered = CHEST|GROIN|LEGS|ARMS
supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
-/obj/item/clothing/suit/costume/morningstar
- name = "morningstar coat"
- desc = "This coat costs more than you've ever made in your entire life."
- icon_state = "morningstar_suit"
- inhand_icon_state = "morningstar_suit"
- body_parts_covered = CHEST|GROIN|LEGS|ARMS
- supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
-
-/obj/item/clothing/suit/costume/saints
- name = "Third Street Saints fur coat"
- desc = "Rated 10 out of 10 in Cosmo for best coat brand."
- icon_state = "saints_suit"
- inhand_icon_state = "saints_suit"
- body_parts_covered = CHEST|GROIN|LEGS|ARMS
- cold_protection = CHEST|GROIN|LEGS|ARMS
- min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
- supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
-
-/obj/item/clothing/suit/costume/phantom
- name = "phantom thief coat"
- desc = "Your foes will never see you coming in this stealthy yet stylish getup."
- icon_state = "phantom_suit"
- inhand_icon_state = "phantom_suit"
- body_parts_covered = CHEST|GROIN|LEGS|ARMS
- supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
-
-/obj/item/clothing/suit/costume/allies
- name = "allies body armor"
- desc = "How 'bout some action!? Sponsored by DonkSoft Co. for historical reenactment of the Third World War!"
- icon_state = "allies_armor"
- inhand_icon_state = "allies_armor"
- body_parts_covered = CHEST|GROIN
- supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
-
/obj/item/clothing/suit/costume/soviet
name = "soviet armored coat"
desc = "Conscript reporting! Sponsored by DonkSoft Co. for historical reenactment of the Third World War!"
@@ -584,21 +508,18 @@
inhand_icon_state = "yuri_coat"
body_parts_covered = CHEST|GROIN|ARMS
-/obj/item/clothing/suit/costume/sybil_slickers
- name = "sybil slickers protective gear"
- desc = "Given to members of the Sybil Slickers football team!"
- icon_state = "football_armor_blue"
- inhand_icon_state = "football_armor_blue"
+/obj/item/clothing/suit/costume/tmc
+ name = "\improper Lost M.C. cut"
+ desc = "Making sure everyone knows you're in the best biker gang this side of Alderney."
+ icon_state = "tmc_suit"
+ inhand_icon_state = "tmc_suit"
body_parts_covered = CHEST|GROIN|LEGS|ARMS
+ supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
-/obj/item/clothing/suit/costume/basil_boys
- name = "basil boys protective gear"
- desc = "Given to members of the Basil Boys football team!"
- icon_state = "football_armor_red"
- inhand_icon_state = "football_armor_red"
+/obj/item/clothing/suit/costume/pg
+ name = "powder ganger jacket"
+ desc = "Remind Security of their mistakes in giving prisoners blasting charges."
+ icon_state = "pg_suit"
+ inhand_icon_state = "pg_suit"
body_parts_covered = CHEST|GROIN|LEGS|ARMS
-
-/obj/item/clothing/suit/costume/joker
- name = "comedian coat"
- desc = "I mean, don’t you have to be funny to be a comedian?"
- icon_state = "joker_coat"
+ supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
diff --git a/code/modules/clothing/suits/jacket.dm b/code/modules/clothing/suits/jacket.dm
index 6137b63440a..af22756a06a 100644
--- a/code/modules/clothing/suits/jacket.dm
+++ b/code/modules/clothing/suits/jacket.dm
@@ -1,15 +1,49 @@
/obj/item/clothing/suit/jacket
- name = "bomber jacket"
- desc = "Aviators not included."
- icon_state = "bomberjacket"
worn_icon = 'icons/mob/clothing/suits/jacket.dmi'
- inhand_icon_state = "brownjsuit"
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|GROIN|ARMS
cold_protection = CHEST|GROIN|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
species_exception = list(/datum/species/golem)
+/obj/item/clothing/suit/toggle/jacket/sweater
+ name = "sweater jacket"
+ desc = "A sweater jacket."
+ icon_state = "sweater"
+ worn_icon = 'icons/mob/clothing/suits/jacket.dmi'
+ greyscale_config = /datum/greyscale_config/sweater
+ greyscale_config_worn = /datum/greyscale_config/sweater_worn
+ greyscale_colors = "#414344"
+ flags_1 = IS_PLAYER_COLORABLE_1
+
+/obj/item/clothing/suit/jacket/oversized
+ name = "oversized jacket"
+ desc = "An oversized jacket."
+ icon_state = "jacket_oversized"
+ greyscale_config = /datum/greyscale_config/jacket_oversized
+ greyscale_config_worn = /datum/greyscale_config/jacket_oversized_worn
+ greyscale_colors = "#414344"
+ flags_1 = IS_PLAYER_COLORABLE_1
+
+/obj/item/clothing/suit/jacket/fancy
+ name = "fancy fur coat"
+ desc = "Rated 10 out of 10 in Cosmo for best coat brand."
+ icon_state = "fancy_coat"
+ body_parts_covered = CHEST|GROIN|LEGS|ARMS
+ cold_protection = CHEST|GROIN|LEGS|ARMS
+ min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
+ supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON
+ greyscale_config = /datum/greyscale_config/fancy_coat
+ greyscale_config_worn = /datum/greyscale_config/fancy_coat_worn
+ greyscale_colors = "#EDE3DC#414344"
+ flags_1 = IS_PLAYER_COLORABLE_1
+
+/obj/item/clothing/suit/jacket/bomber
+ name = "bomber jacket"
+ desc = "Aviators not included."
+ icon_state = "bomberjacket"
+ inhand_icon_state = "brownjsuit"
+
/obj/item/clothing/suit/jacket/leather
name = "leather jacket"
desc = "Pompadour not included."
diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm
index 96ba7ad88d9..3f7b1a0cb9e 100644
--- a/code/modules/clothing/under/accessories.dm
+++ b/code/modules/clothing/under/accessories.dm
@@ -95,6 +95,10 @@
inhand_icon_state = "waistcoat"
minimize_when_attached = FALSE
attachment_slot = null
+ greyscale_config = /datum/greyscale_config/waistcoat
+ greyscale_config_worn = /datum/greyscale_config/waistcoat_worn
+ greyscale_colors = "#414344"
+ flags_1 = IS_PLAYER_COLORABLE_1
/obj/item/clothing/accessory/vest_sheriff
name = "sheriff vest"
diff --git a/code/modules/clothing/under/costume.dm b/code/modules/clothing/under/costume.dm
index 3c1c842f780..5165cf17662 100644
--- a/code/modules/clothing/under/costume.dm
+++ b/code/modules/clothing/under/costume.dm
@@ -252,6 +252,34 @@
random_sensor = FALSE
can_adjust = FALSE
+/obj/item/clothing/under/costume/buttondown
+ gender = PLURAL
+ body_parts_covered = GROIN|LEGS
+ female_sprite_flags = NO_FEMALE_UNIFORM
+ custom_price = PAYCHECK_CREW
+ icon = 'icons/obj/clothing/under/shorts_pants_shirts.dmi'
+ worn_icon = 'icons/mob/clothing/under/shorts_pants_shirts.dmi'
+ species_exception = list(/datum/species/golem)
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/buttondown/slacks
+ name = "buttondown shirt with slacks"
+ desc = "A fancy buttondown shirt with slacks."
+ icon_state = "buttondown_slacks"
+ greyscale_config = /datum/greyscale_config/buttondown_slacks
+ greyscale_config_worn = /datum/greyscale_config/buttondown_slacks_worn
+ greyscale_colors = "#EEEEEE#EE8E2E#222227#D8D39C"
+ flags_1 = IS_PLAYER_COLORABLE_1
+
+/obj/item/clothing/under/costume/buttondown/shorts
+ name = "buttondown shirt with shorts"
+ desc = "A fancy buttondown shirt with shorts."
+ icon_state = "buttondown_shorts"
+ greyscale_config = /datum/greyscale_config/buttondown_shorts
+ greyscale_config_worn = /datum/greyscale_config/buttondown_shorts_worn
+ greyscale_colors = "#EEEEEE#EE8E2E#222227#D8D39C"
+ flags_1 = IS_PLAYER_COLORABLE_1
+
/obj/item/clothing/under/costume/jackbros
name = "jack bros outfit"
desc = "For when it's time to hee some hos."
@@ -259,103 +287,20 @@
inhand_icon_state = "JackFrostUniform"
can_adjust = FALSE
-/obj/item/clothing/under/costume/yakuza
- name = "tojo clan pants"
- desc = "For those long nights under the traffic cone."
- icon_state = "MajimaPants"
- inhand_icon_state = "MajimaPants"
- can_adjust = FALSE
-
-/obj/item/clothing/under/costume/dutch
- name = "dutch's suit"
- desc = "You can feel a god damn plan coming on."
- icon_state = "DutchUniform"
- inhand_icon_state = "DutchUniform"
- can_adjust = FALSE
-
-/obj/item/clothing/under/costume/irs
- name = "internal revenue service outfit"
- icon_state = "irs_jumpsuit"
- inhand_icon_state = "irs_jumpsuit"
- can_adjust = FALSE
-
-/obj/item/clothing/under/costume/osi
- name = "O.S.I. jumpsuit"
- icon_state = "osi_jumpsuit"
- inhand_icon_state = "osi_jumpsuit"
- can_adjust = FALSE
-
-/obj/item/clothing/under/costume/tmc
- name = "Lost MC clothing"
- icon_state = "tmc_jumpsuit"
- inhand_icon_state = "tmc_jumpsuit"
- can_adjust = FALSE
-
-/obj/item/clothing/under/costume/pg
- name = "powder ganger prison jumpsuit"
- icon_state = "pg_jumpsuit"
- inhand_icon_state = "pg_jumpsuit"
- can_adjust = FALSE
-
-/obj/item/clothing/under/costume/driscoll
- name = "O'Driscoll outfit"
- icon_state = "driscoll_jumpsuit"
- inhand_icon_state = "driscoll_jumpsuit"
- can_adjust = FALSE
-
/obj/item/clothing/under/costume/deckers
name = "deckers outfit"
icon_state = "decker_jumpsuit"
inhand_icon_state = "decker_jumpsuit"
can_adjust = FALSE
-/obj/item/clothing/under/costume/morningstar
- name = "Morningstar suit"
- icon_state = "morningstar_jumpsuit"
- inhand_icon_state = "morningstar_jumpsuit"
- can_adjust = FALSE
-
-/obj/item/clothing/under/costume/saints
- name = "Saints outfit"
- icon_state = "saints_jumpsuit"
- inhand_icon_state = "saints_jumpsuit"
- can_adjust = FALSE
-
-/obj/item/clothing/under/costume/phantom
- name = "Phantom Thief outfit"
- icon_state = "phantom_jumpsuit"
- inhand_icon_state = "phantom_jumpsuit"
- can_adjust = FALSE
-
-/obj/item/clothing/under/costume/allies
- name = "allies tanktop"
- icon_state = "allies_uniform"
- inhand_icon_state = "allies_uniform"
- can_adjust = FALSE
-
-/obj/item/clothing/under/costume/soviet_families
- name = "soviet conscript uniform"
- icon_state = "soviet_uniform"
- inhand_icon_state = "soviet_uniform"
- can_adjust = FALSE
-
-/obj/item/clothing/under/costume/yuri
- name = "yuri initiate jumpsuit"
- icon_state = "yuri_uniform"
- inhand_icon_state = "yuri_uniform"
- can_adjust = FALSE
-
-/obj/item/clothing/under/costume/sybil_slickers
- name = "sybil slickers uniform"
- icon_state = "football_blue"
- inhand_icon_state = "football_blue"
- can_adjust = FALSE
-
-/obj/item/clothing/under/costume/basil_boys
- name = "basil boys uniform"
- icon_state = "football_red"
- inhand_icon_state = "football_red"
+/obj/item/clothing/under/costume/football_suit
+ name = "football uniform"
+ icon_state = "football_suit"
can_adjust = FALSE
+ greyscale_config = /datum/greyscale_config/football_suit
+ greyscale_config_worn = /datum/greyscale_config/football_suit_worn
+ greyscale_colors = "#D74722"
+ flags_1 = IS_PLAYER_COLORABLE_1
/obj/item/clothing/under/costume/swagoutfit
name = "Swag outfit"
@@ -376,3 +321,29 @@
desc = "The worst part of having a mental illness is people expect you to behave as if you don't."
icon_state = "joker"
can_adjust = FALSE
+
+/obj/item/clothing/under/costume/yuri
+ name = "yuri initiate jumpsuit"
+ icon_state = "yuri_uniform"
+ inhand_icon_state = "yuri_uniform"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/dutch
+ name = "dutch's suit"
+ desc = "You can feel a god damn plan coming on."
+ icon_state = "DutchUniform"
+ inhand_icon_state = "DutchUniform"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/osi
+ name = "O.S.I. jumpsuit"
+ icon_state = "osi_jumpsuit"
+ inhand_icon_state = "osi_jumpsuit"
+ can_adjust = FALSE
+
+/obj/item/clothing/under/costume/tmc
+ name = "Lost MC clothing"
+ icon_state = "tmc_jumpsuit"
+ inhand_icon_state = "tmc_jumpsuit"
+ can_adjust = FALSE
+
diff --git a/code/modules/clothing/under/pants.dm b/code/modules/clothing/under/pants.dm
index 8b9213743c8..968587919be 100644
--- a/code/modules/clothing/under/pants.dm
+++ b/code/modules/clothing/under/pants.dm
@@ -4,8 +4,8 @@
female_sprite_flags = NO_FEMALE_UNIFORM
can_adjust = FALSE
custom_price = PAYCHECK_CREW
- icon = 'icons/obj/clothing/under/shorts_pants.dmi'
- worn_icon = 'icons/mob/clothing/under/shorts_pants.dmi'
+ icon = 'icons/obj/clothing/under/shorts_pants_shirts.dmi'
+ worn_icon = 'icons/mob/clothing/under/shorts_pants_shirts.dmi'
species_exception = list(/datum/species/golem)
/obj/item/clothing/under/pants/slacks
diff --git a/code/modules/vending/autodrobe.dm b/code/modules/vending/autodrobe.dm
index 76babfac9a9..fbf06d95989 100644
--- a/code/modules/vending/autodrobe.dm
+++ b/code/modules/vending/autodrobe.dm
@@ -141,6 +141,11 @@
/obj/item/clothing/under/rank/medical/doctor/nurse = 1,
/obj/item/clothing/mask/gas/prop = 4,
/obj/item/clothing/mask/gas/atmosprop = 3,
+ /obj/item/storage/backpack/henchmen = 5,
+ /obj/item/clothing/under/suit/henchmen = 5,
+ /obj/item/clothing/head/jackbros = 5,
+ /obj/item/clothing/under/costume/jackbros = 5,
+ /obj/item/clothing/under/costume/deckers = 5,
)
contraband = list(
/obj/item/clothing/suit/costume/judgerobe = 1,
diff --git a/code/modules/vending/clothesmate.dm b/code/modules/vending/clothesmate.dm
index 06128b77690..7d7060ef6f7 100644
--- a/code/modules/vending/clothesmate.dm
+++ b/code/modules/vending/clothesmate.dm
@@ -8,6 +8,7 @@
vend_reply = "Thank you for using the ClothesMate!"
products = list(
/obj/item/clothing/head/wig/natural = 4,
+ /obj/item/clothing/head/fancy = 4,
/obj/item/clothing/head/beanie = 8,
/obj/item/clothing/head/beret/black = 3,
/obj/item/clothing/mask/bandana = 3,
@@ -15,27 +16,38 @@
/obj/item/clothing/mask/bandana/skull = 3,
/obj/item/clothing/neck/scarf = 6,
/obj/item/clothing/neck/large_scarf = 6,
+ /obj/item/clothing/neck/infinity_scarf = 6,
/obj/item/clothing/neck/tie = 6,
/obj/item/clothing/accessory/pride = 15,
+ /obj/item/clothing/accessory/waistcoat = 4,
/obj/item/clothing/suit/toggle/suspenders = 4,
+ /obj/item/clothing/suit/toggle/jacket/sweater = 4,
+ /obj/item/clothing/suit/jacket/oversized = 4,
+ /obj/item/clothing/suit/jacket/fancy = 4,
/obj/item/clothing/under/pants/slacks = 5,
/obj/item/clothing/under/shorts = 5,
/obj/item/clothing/under/pants/jeans = 5,
/obj/item/clothing/under/jeanshorts = 5,
+ /obj/item/clothing/under/costume/buttondown/slacks = 4,
+ /obj/item/clothing/under/costume/buttondown/shorts = 4,
/obj/item/clothing/under/dress/sundress = 2,
/obj/item/clothing/under/dress/tango = 2,
/obj/item/clothing/under/dress/skirt/plaid = 4,
/obj/item/clothing/under/dress/skirt/turtleskirt = 4,
/obj/item/clothing/suit/hooded/wintercoat/custom = 2,
/obj/item/clothing/shoes/sneakers/black = 4,
+ /obj/item/clothing/head/football_helmet = 6,
+ /obj/item/clothing/under/costume/football_suit = 6,
+ /obj/item/clothing/suit/costume/football_armor = 6,
/obj/item/clothing/suit/mothcoat = 3,
/obj/item/clothing/suit/mothcoat/winter = 3,
/obj/item/clothing/head/mothcap = 3,
/obj/item/clothing/head/rasta = 3,
/obj/item/clothing/head/kippah = 3,
/obj/item/clothing/head/taqiyahred = 3,
- /obj/item/clothing/head/that = 1,
- /obj/item/clothing/head/fedora = 1,
+ /obj/item/clothing/head/that = 3,
+ /obj/item/clothing/head/fedora = 3,
+ /obj/item/clothing/head/bowler = 3,
/obj/item/clothing/head/cowboy_hat_white = 1,
/obj/item/clothing/head/cowboy_hat_grey = 1,
/obj/item/clothing/head/sombrero = 1,
@@ -46,7 +58,6 @@
/obj/item/clothing/glasses/red = 1,
/obj/item/clothing/glasses/monocle = 1,
/obj/item/clothing/gloves/fingerless = 2,
- /obj/item/clothing/accessory/waistcoat = 1,
/obj/item/storage/belt/fannypack = 3,
/obj/item/storage/belt/fannypack/blue = 3,
/obj/item/storage/belt/fannypack/red = 3,
@@ -69,7 +80,7 @@
/obj/item/clothing/under/suit/sl = 1,
/obj/item/clothing/under/rank/civilian/bartender/purple = 2,
/obj/item/clothing/suit/apron/purple_bartender = 2,
- /obj/item/clothing/suit/jacket = 2,
+ /obj/item/clothing/suit/jacket/bomber = 2,
/obj/item/clothing/suit/jacket/puffer/vest = 2,
/obj/item/clothing/suit/jacket/puffer = 2,
/obj/item/clothing/suit/jacket/letterman = 2,
@@ -80,69 +91,29 @@
/obj/item/clothing/shoes/sandal = 2,
/obj/item/clothing/shoes/laceup = 2,
/obj/item/clothing/shoes/winterboots = 2,
+ /obj/item/clothing/shoes/glow = 2,
/obj/item/clothing/shoes/cowboy = 2,
/obj/item/clothing/shoes/cowboy/white = 2,
/obj/item/clothing/shoes/cowboy/black = 2,
- /obj/item/storage/backpack/henchmen = 20,
- /obj/item/clothing/under/suit/henchmen = 20,
- /obj/item/clothing/under/costume/yakuza = 20,
- /obj/item/clothing/shoes/yakuza = 20,
- /obj/item/clothing/suit/costume/yakuza = 20,
- /obj/item/clothing/under/costume/jackbros = 20,
- /obj/item/clothing/shoes/jackbros = 20,
- /obj/item/clothing/head/jackbros = 20,
- /obj/item/clothing/under/costume/dutch = 20,
- /obj/item/clothing/head/bowler = 20,
- /obj/item/clothing/suit/costume/dutch = 20,
- /obj/item/clothing/shoes/cowboy = 20,
- /obj/item/clothing/suit/costume/irs = 20,
- /obj/item/clothing/under/costume/irs = 20,
/obj/item/clothing/head/irs = 20,
- /obj/item/clothing/suit/costume/osi = 20,
- /obj/item/clothing/under/costume/osi = 20,
- /obj/item/clothing/glasses/osi = 20,
- /obj/item/clothing/suit/costume/tmc = 20,
- /obj/item/clothing/under/costume/tmc = 20,
/obj/item/clothing/head/tmc = 20,
- /obj/item/clothing/suit/costume/pg = 20,
- /obj/item/clothing/under/costume/pg = 20,
- /obj/item/clothing/head/pg = 20,
- /obj/item/clothing/suit/costume/driscoll = 20,
- /obj/item/clothing/under/costume/driscoll = 20,
- /obj/item/clothing/mask/gas/driscoll = 20,
- /obj/item/clothing/suit/costume/deckers = 20,
- /obj/item/clothing/under/costume/deckers = 20,
/obj/item/clothing/head/deckers = 20,
- /obj/item/clothing/shoes/deckers = 20,
- /obj/item/clothing/suit/costume/morningstar = 20,
- /obj/item/clothing/under/costume/morningstar = 20,
- /obj/item/clothing/head/morningstar = 20,
- /obj/item/clothing/shoes/morningstar = 20,
- /obj/item/clothing/suit/costume/saints = 20,
- /obj/item/clothing/under/costume/saints = 20,
- /obj/item/clothing/head/saints = 20,
- /obj/item/clothing/shoes/saints = 20,
- /obj/item/clothing/suit/costume/phantom = 20,
- /obj/item/clothing/under/costume/phantom = 20,
- /obj/item/clothing/glasses/phantom = 20,
- /obj/item/clothing/shoes/phantom = 20,
- /obj/item/clothing/suit/costume/allies = 20,
- /obj/item/clothing/under/costume/allies = 20,
- /obj/item/clothing/head/allies = 20,
- /obj/item/clothing/suit/costume/soviet = 20,
- /obj/item/clothing/under/costume/soviet_families = 20,
- /obj/item/clothing/head/ushanka/soviet = 20,
- /obj/item/clothing/suit/costume/yuri = 20,
- /obj/item/clothing/under/costume/yuri = 20,
/obj/item/clothing/head/yuri = 20,
- /obj/item/clothing/suit/costume/sybil_slickers = 20,
- /obj/item/clothing/under/costume/sybil_slickers = 20,
- /obj/item/clothing/head/sybil_slickers = 20,
- /obj/item/clothing/shoes/sybil_slickers = 20,
- /obj/item/clothing/suit/costume/basil_boys = 20,
- /obj/item/clothing/under/costume/basil_boys = 20,
- /obj/item/clothing/head/basil_boys = 20,
- /obj/item/clothing/shoes/basil_boys = 20,
+ /obj/item/clothing/head/allies = 20,
+ /obj/item/clothing/glasses/osi = 20,
+ /obj/item/clothing/glasses/phantom = 20,
+ /obj/item/clothing/mask/gas/driscoll = 20,
+ /obj/item/clothing/under/costume/yuri = 20,
+ /obj/item/clothing/under/costume/dutch = 20,
+ /obj/item/clothing/under/costume/osi = 20,
+ /obj/item/clothing/under/costume/tmc = 20,
+ /obj/item/clothing/suit/costume/deckers = 20,
+ /obj/item/clothing/suit/costume/soviet = 20,
+ /obj/item/clothing/suit/costume/yuri = 20,
+ /obj/item/clothing/suit/costume/tmc = 20,
+ /obj/item/clothing/suit/costume/pg = 20,
+ /obj/item/clothing/shoes/jackbros = 20,
+ /obj/item/clothing/shoes/saints = 20,
)
contraband = list(
/obj/item/clothing/under/syndicate/tacticool = 1,
diff --git a/icons/mob/clothing/accessories.dmi b/icons/mob/clothing/accessories.dmi
index 69d8aa61bd4252509e65235b71940d13e525589f..553fc2e6c301b8c3bdf4c9ea3cb5b24d0de01ec3 100644
GIT binary patch
literal 12022
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
JvE1u`{{^0dAlm={
literal 12993
zcmb_?2{@E*_x}iyY%P*(EhI@o_O&F&T7>K&`%a8)h7?jFBgsxg*2%sONysj17$)mj
zXKZ84jG6gAzVCbe{?~h5zxVom|L_0jy2dkeKj%5mea`uubD#U%C-#AX78}b277z%;
z2G+i31On0J9DSIN10x%