/obj/machinery/gear_painter name = "Color Mate" desc = "A machine to give your apparel a fresh new color! Recommended to use with white items for best results." icon = 'icons/obj/vending_vr.dmi' icon_state = "colormate" density = 1 anchored = 1 var/list/processing = list() var/activecolor = "#FFFFFF" var/list/allowed_types = list( /obj/item/clothing, /obj/item/weapon/storage/backpack, /obj/item/weapon/storage/belt ) /obj/machinery/gear_painter/update_icon() if(panel_open) icon_state = "colormate_open" else if(inoperable()) icon_state = "colormate_off" else if(processing.len) icon_state = "colormate_active" else icon_state = "colormate" /obj/machinery/gear_painter/Destroy() for(var/atom/movable/O in processing) O.forceMove(drop_location()) processing.Cut() return ..() /obj/machinery/gear_painter/attackby(obj/item/W as obj, mob/user as mob) if(processing.len) to_chat(user, "The machine is already loaded.") return if(default_deconstruction_screwdriver(user, W)) return if(default_deconstruction_crowbar(user, W)) return if(default_unfasten_wrench(user, W, 40)) return if(is_type_in_list(W, allowed_types) && !inoperable()) user.visible_message("[user] inserts \the [W] into the Color Mate receptable.") user.drop_from_inventory(W) W.forceMove(src) processing |= W else ..() update_icon() /obj/machinery/gear_painter/attack_hand(mob/user as mob) if(..()) return interact(user) /obj/machinery/gear_painter/interact(mob/user as mob) if(inoperable()) return user.set_machine(src) var/dat = "