diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 6fc0fabf31..d3ad2ca4c7 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -360,3 +360,12 @@ desc = "Thin, pretty gloves intended for use in sexy feminine attire. A tag on the hem claims they pair great with black stockings." icon_state = "eveningblack" item_state = "eveningblack" + +/obj/item/clothing/gloves/polymaid + name = "polychromic maid gloves" + desc = "Colourable maid gloves!" + icon_state = "maid_arms" + +/obj/item/clothing/gloves/polymaid/ComponentInitialize() + . = ..() + AddElement(/datum/element/polychromic, list("#333333", "#FFFFFF"), 2) diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 4e7ccb7111..f3868f703f 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -477,6 +477,15 @@ item_state = "maid" dynamic_hair_suffix = "" +/obj/item/clothing/head/maid/polychromic + name = "polychromic maid headband" + icon_state = "polymaid" + item_state = "polymaid" + +/obj/item/clothing/head/maid/polychromic/ComponentInitialize() + . = ..() + AddElement(/datum/element/polychromic, list("#333333", "#FFFFFF"), 2) + /obj/item/clothing/head/widered name = "Wide red hat" desc = "It is both wide, and red. Stylish!" diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index 7f4de22bb4..7ac2f65205 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -259,6 +259,15 @@ name = "Collar Key" desc = "A key for a tiny lock on a collar or bag." +/obj/item/clothing/neck/maid + name = "polychromic maid collar" + desc = "A collar that goes with the polychromic maid outfit." + icon_state = "maid_neck" + +/obj/item/clothing/neck/maid/ComponentInitialize() + . = ..() + AddElement(/datum/element/polychromic, list("#333333", "#FFFFFF"), 2) + ////////////// //DOPE BLING// ////////////// diff --git a/code/modules/clothing/suits/_suits.dm b/code/modules/clothing/suits/_suits.dm index f0e9edc450..202ee4cc0d 100644 --- a/code/modules/clothing/suits/_suits.dm +++ b/code/modules/clothing/suits/_suits.dm @@ -27,7 +27,7 @@ if(istype(U) && U.attached_accessory) var/obj/item/clothing/accessory/A = U.attached_accessory if(A.above_suit) - . += U.accessory_overlay + . += U.accessory_overlays /obj/item/clothing/suit/update_clothes_damaged_state() ..() diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index 3f9b6639f1..2fc5270a6b 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -20,7 +20,7 @@ var/alt_covers_chest = FALSE // for adjusted/rolled-down jumpsuits, FALSE = exposes chest and arms, TRUE = exposes arms only var/dummy_thick = FALSE // is able to hold accessories on its item var/obj/item/clothing/accessory/attached_accessory - var/mutable_appearance/accessory_overlay + var/list/accessory_overlays /obj/item/clothing/under/worn_overlays(isinhands = FALSE, icon_file, used_state, style_flags = NONE) . = ..() @@ -30,8 +30,8 @@ . += mutable_appearance('icons/effects/item_damage.dmi', "damageduniform") if(blood_DNA) . += mutable_appearance('icons/effects/blood.dmi', "uniformblood", color = blood_DNA_to_color(), blend_mode = blood_DNA_to_blend()) - if(accessory_overlay) - . += accessory_overlay + if(length(accessory_overlays)) + . += accessory_overlays /obj/item/clothing/under/attackby(obj/item/I, mob/user, params) if((sensordamage || (has_sensor < HAS_SENSORS && has_sensor != NO_SENSORS)) && istype(I, /obj/item/stack/cable_coil)) @@ -154,9 +154,15 @@ if((flags_inv & HIDEACCESSORY) || (A.flags_inv & HIDEACCESSORY)) return TRUE - accessory_overlay = mutable_appearance('icons/mob/clothing/accessories.dmi', attached_accessory.icon_state) - accessory_overlay.alpha = attached_accessory.alpha - accessory_overlay.color = attached_accessory.color + var/datum/element/polychromic/polychromic = LAZYACCESS(attached_accessory.comp_lookup, "item_worn_overlays") + if(!polychromic) + var/mutable_appearance/accessory_overlay = mutable_appearance('icons/mob/clothing/accessories.dmi', attached_accessory.icon_state) + accessory_overlay.alpha = attached_accessory.alpha + accessory_overlay.color = attached_accessory.color + accessory_overlays = list(accessory_overlay) + else + accessory_overlays = list() + polychromic.apply_worn_overlays(I, FALSE, 'icons/mob/clothing/accessories.dmi', I.item_state || I.icon_state, NONE, accessory_overlays) if(ishuman(loc)) var/mob/living/carbon/human/H = loc diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index ca1b8f0552..4d967be1eb 100644 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -57,7 +57,7 @@ plane = initial(plane) U.cut_overlays() U.attached_accessory = null - U.accessory_overlay = null + U.accessory_overlays = null /obj/item/clothing/accessory/proc/on_uniform_equip(obj/item/clothing/under/U, user) return @@ -255,6 +255,15 @@ item_state = "maidapron" minimize_when_attached = FALSE +/obj/item/clothing/accessory/maidapron/polychromic + name = "polychromic maid apron" + icon_state = "polymaidapron" + item_state = "polymaidapron" + +/obj/item/clothing/accessory/maidapron/polychromic/ComponentInitialize() + . = ..() + AddElement(/datum/element/polychromic, list("#333333", "#FFFFFF"), 2) + /obj/item/clothing/accessory/sleevecrop name = "one sleeved crop top" desc = "Off the shoulder crop top, for those nights out partying." diff --git a/icons/mob/clothing/accessories.dmi b/icons/mob/clothing/accessories.dmi index 03849efa5a..f801c483f1 100644 Binary files a/icons/mob/clothing/accessories.dmi and b/icons/mob/clothing/accessories.dmi differ diff --git a/icons/mob/clothing/hands.dmi b/icons/mob/clothing/hands.dmi index ca8a7312fa..9bd206e04e 100644 Binary files a/icons/mob/clothing/hands.dmi and b/icons/mob/clothing/hands.dmi differ diff --git a/icons/mob/clothing/neck.dmi b/icons/mob/clothing/neck.dmi index 20b8576277..2b317737d7 100644 Binary files a/icons/mob/clothing/neck.dmi and b/icons/mob/clothing/neck.dmi differ diff --git a/icons/mob/clothing/uniform.dmi b/icons/mob/clothing/uniform.dmi index 04d9b20a75..ce25963360 100644 Binary files a/icons/mob/clothing/uniform.dmi and b/icons/mob/clothing/uniform.dmi differ diff --git a/icons/obj/clothing/accessories.dmi b/icons/obj/clothing/accessories.dmi index 79cb2bff77..f633f030c3 100644 Binary files a/icons/obj/clothing/accessories.dmi and b/icons/obj/clothing/accessories.dmi differ diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index d4cd4b4f2f..17073805c9 100644 Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ diff --git a/icons/obj/clothing/neck.dmi b/icons/obj/clothing/neck.dmi index 8540b2f392..c9491af6b2 100644 Binary files a/icons/obj/clothing/neck.dmi and b/icons/obj/clothing/neck.dmi differ diff --git a/icons/obj/clothing/uniforms.dmi b/icons/obj/clothing/uniforms.dmi index c16b416cd8..de7dd234b1 100644 Binary files a/icons/obj/clothing/uniforms.dmi and b/icons/obj/clothing/uniforms.dmi differ diff --git a/modular_citadel/code/modules/client/loadout/backpack.dm b/modular_citadel/code/modules/client/loadout/backpack.dm index 3824993009..0573a1a22a 100644 --- a/modular_citadel/code/modules/client/loadout/backpack.dm +++ b/modular_citadel/code/modules/client/loadout/backpack.dm @@ -175,3 +175,9 @@ /datum/gear/backpack/necklace//this is here because loadout doesn't support proper accessories name = "A renameable necklace" path = /obj/item/clothing/accessory/necklace + +/datum/gear/backpack/polymaidapron //this is ALSO here because loadout doesn't support proper accessories + name = "Polychromic maid apron" + path = /obj/item/clothing/accessory/maidapron/polychromic + loadout_flags = LOADOUT_CAN_NAME | LOADOUT_CAN_DESCRIPTION | LOADOUT_CAN_COLOR_POLYCHROMIC + loadout_initial_colors = list("#333333", "#FFFFFF") diff --git a/modular_citadel/code/modules/client/loadout/gloves.dm b/modular_citadel/code/modules/client/loadout/gloves.dm index 2a80d43bb1..960be356e2 100644 --- a/modular_citadel/code/modules/client/loadout/gloves.dm +++ b/modular_citadel/code/modules/client/loadout/gloves.dm @@ -14,6 +14,12 @@ name = "Midnight gloves" path = /obj/item/clothing/gloves/evening/black +/datum/gear/gloves/maidpoly // WHAT DO YOU EVEN CALL THEM + name = "Polychromic maid gloves" + path = /obj/item/clothing/gloves/polymaid + loadout_flags = LOADOUT_CAN_NAME | LOADOUT_CAN_DESCRIPTION | LOADOUT_CAN_COLOR_POLYCHROMIC + loadout_initial_colors = list("#333333", "#FFFFFF") + /datum/gear/gloves/goldring name = "A gold ring" path = /obj/item/clothing/gloves/ring diff --git a/modular_citadel/code/modules/client/loadout/head.dm b/modular_citadel/code/modules/client/loadout/head.dm index f2a7ead5be..d0563d2986 100644 --- a/modular_citadel/code/modules/client/loadout/head.dm +++ b/modular_citadel/code/modules/client/loadout/head.dm @@ -58,6 +58,12 @@ name = "Maid headband" path= /obj/item/clothing/head/maid +/datum/gear/head/maidband/poly + name = "Polychromic maid headband" + path= /obj/item/clothing/head/maid/polychromic + loadout_flags = LOADOUT_CAN_NAME | LOADOUT_CAN_DESCRIPTION | LOADOUT_CAN_COLOR_POLYCHROMIC + loadout_initial_colors = list("#333333", "#FFFFFF") + /datum/gear/head/flakhelm name = "Flak Helmet" path = /obj/item/clothing/head/flakhelm diff --git a/modular_citadel/code/modules/client/loadout/neck.dm b/modular_citadel/code/modules/client/loadout/neck.dm index dc7735de2b..64d1fcdc1f 100644 --- a/modular_citadel/code/modules/client/loadout/neck.dm +++ b/modular_citadel/code/modules/client/loadout/neck.dm @@ -106,3 +106,9 @@ path = /obj/item/clothing/neck/cloak/cancloak/polychromic loadout_flags = LOADOUT_CAN_NAME | LOADOUT_CAN_DESCRIPTION | LOADOUT_CAN_COLOR_POLYCHROMIC loadout_initial_colors = list("#585858", "#373737", "#BEBEBE") + +/datum/gear/neck/maid + name = "Polychromatic Maid Collar" + path = /obj/item/clothing/neck/maid + loadout_flags = LOADOUT_CAN_NAME | LOADOUT_CAN_DESCRIPTION | LOADOUT_CAN_COLOR_POLYCHROMIC + loadout_initial_colors = list("#333333", "#FFFFFF") diff --git a/modular_citadel/code/modules/client/loadout/uniform.dm b/modular_citadel/code/modules/client/loadout/uniform.dm index 2b2f3b53e4..d70d3d4fa1 100644 --- a/modular_citadel/code/modules/client/loadout/uniform.dm +++ b/modular_citadel/code/modules/client/loadout/uniform.dm @@ -52,7 +52,7 @@ name = "Polychromic maid costume" path = /obj/item/clothing/under/rank/civilian/janitor/maid/polychromic loadout_flags = LOADOUT_CAN_NAME | LOADOUT_CAN_DESCRIPTION | LOADOUT_CAN_COLOR_POLYCHROMIC - loadout_initial_colors = list("#FFFFFF", "#000000") + loadout_initial_colors = list("#333333", "#FFFFFF") /datum/gear/uniform/mailmanuniform name = "Mailman's jumpsuit"