From 38b248838d6393685bef31480fa6f6fb0db50c87 Mon Sep 17 00:00:00 2001 From: Yui <64869120+YuiY1997@users.noreply.github.com> Date: Fri, 27 Sep 2024 01:20:37 +0900 Subject: [PATCH] DYESTAITON, also lowers the sewing level of dresses. NO CONFLICTS NOW okay yeah yeah okay yeah --- code/game/objects/structures/dystation.dm | 148 ++++++++++++++++++ .../modules/roguetown/roguecrafting/sewing.dm | 6 +- .../roguetown/roguecrafting/structure.dm | 10 ++ icons/roguetown/misc/structure.dmi | Bin 170500 -> 169598 bytes stonekeep.dme | 1 + 5 files changed, 162 insertions(+), 3 deletions(-) create mode 100644 code/game/objects/structures/dystation.dm diff --git a/code/game/objects/structures/dystation.dm b/code/game/objects/structures/dystation.dm new file mode 100644 index 0000000000..f5a1f45b3b --- /dev/null +++ b/code/game/objects/structures/dystation.dm @@ -0,0 +1,148 @@ +/obj/machinery/gear_painter + name = "Dye bin" + desc = "A station to give your apparel a fresh new color! Recommended to use with white items for best results." + icon = 'icons/roguetown/misc/structure.dmi' + icon_state = "dye_bin_full" + density = TRUE + anchored = TRUE + var/atom/movable/inserted + var/activecolor = "#FFFFFF" + /// Allow holder'd mobs + var/allow_mobs = TRUE + var/list/allowed_types = list( + /obj/item/clothing/suit/roguetown/shirt/robe, + /obj/item/clothing/suit/roguetown/shirt/dress, + /obj/item/clothing/suit/roguetown/shirt/undershirt, + /obj/item/clothing/suit/roguetown/shirt/shortshirt, + /obj/item/clothing/under/roguetown/tights, + /obj/item/clothing/cloak/raincloak, + /obj/item/clothing/cloak/cape, + /obj/item/clothing/cloak/half, + /obj/item/clothing/head/roguetown/roguehood, + /obj/item/clothing/head/roguetown/headband, + /obj/item/clothing/head/roguetown/armingcap, + /obj/item/clothing/head/roguetown/chaperon, + /obj/item/storage/belt/rogue/leather/rope, + /obj/item/storage/belt/rogue/leather/cloth, + /obj/item/clothing/shoes/roguetown/simpleshoes, + /obj/item/clothing/suit/roguetown/armor/gambeson, + /obj/item/clothing/suit/roguetown/armor/gambeson/light, + /obj/item/clothing/suit/roguetown/armor/gambeson/heavy + ) + var/static/list/selectable_colors = list( + "White" = "#ffffff", + "Black" = "#414143", + "Light Grey" = "#999999", + "Mage Grey" = "#6c6c6c", + "Mage Red" = "#b8252c", + "Mage Blue" = "#4756d8", + "Mage Yellow" = "#c1b144", + "Mage Green" = "#759259", + "Chalk White" = "#f4ecde", + "Dunked in Water" = "#bbbbbb", + "Cream" = "#fffdd0", + "Orange" = "#bd6606", + "Gold" = "#f9a602", + "Yarrow" = "#f0cb76", + "Yellow Weld" = "#f4c430", + "Yellow Ochre" = "#cb9d06", + "Baby Puke" = "#b5b004", + "Olive" = "#98bf64", + "Green" = "#428138", + "Dark Green" = "#264d26", + "Teal" = "#249589", + "Periwinkle Blue" = "#8f99fb", + "Woad Blue" = "#597fb9", + "Royal Purple" = "#8747b1", + "Magenta" = "#962e5c", + "Orchil" = "#66023C", + "Red Ochre" = "#913831", + "Red" = "#a32121", + "Maroon" = "#550000", + "Peasant Brown" = "#685542", + "Dirt" = "#7c6d5c", + "Chestnut" = "#613613", + "Russet" = "#7f461b" + ) +/obj/machinery/gear_painter/Destroy() + inserted.forceMove(drop_location()) + return ..() + +/obj/machinery/gear_painter/attackby(obj/item/I, mob/living/user) + if(allow_mobs && istype(I, /obj/item/clothing/head/mob_holder)) + var/obj/item/clothing/head/mob_holder/H = I + if(!user.transferItemToLoc(I, src)) + to_chat(user, "[I] is stuck to your hand!") + return + if(!QDELETED(H)) + H.release() + + if(is_type_in_list(I, allowed_types) && is_operational()) + if(!user.transferItemToLoc(I, src)) + to_chat(user, "[I] is stuck to your hand!") + return + user.visible_message("[user] inserts [I] into [src]'s receptable.") + + inserted = I + else + return ..() + +/obj/machinery/gear_painter/AllowDrop() + return FALSE + +/obj/machinery/gear_painter/ui_interact(mob/user) + if(!is_operational()) + return + user.set_machine(src) + var/list/dat = list("
)2(s!u0u% L}YrbnACI*5e_Q8l$n{jrpTBZLuh2M{JXU5o=