From 1aae6a215402cdf4fd831ce32f8773d944fdc733 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sun, 17 Jan 2021 20:35:08 -0700 Subject: [PATCH] Update colormate.dm --- code/game/machinery/colormate.dm | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/colormate.dm b/code/game/machinery/colormate.dm index b4306d49a4..7eb2e6bdda 100644 --- a/code/game/machinery/colormate.dm +++ b/code/game/machinery/colormate.dm @@ -6,10 +6,12 @@ density = TRUE anchored = TRUE circuit = /obj/item/circuitboard/machine/colormate - var/obj/item/inserted + var/atom/movable/inserted var/activecolor = "#FFFFFF" var/list/color_matrix_last var/matrix_mode = FALSE + /// Allow holder'd mobs + var/mobs_allowed = TRUE /// Minimum lightness for normal mode var/minimum_normal_lightness = 50 /// Minimum lightness for matrix mode, tested using 4 test colors of full red, green, blue, white. @@ -57,6 +59,15 @@ return if(user.a_intent == INTENT_HARM) return ..() + if(allow_mobs && istype(I, /obj/item/clothing/head/mob_holder)) + var/obj/item/clothing/head/mob_holder/H = I + var/mob/victim = H.held_mob + if(!user.transferItemToLoc(I, src)) + to_chat(user, "[I] is stuck to your hand!") + return + if(!QDELETED(H)) + H.release() + insert_mob(H, user) if(is_type_in_list(I, allowed_types) && is_operational()) if(!user.transferItemToLoc(I, src)) @@ -69,6 +80,14 @@ else return ..() +/obj/machinery/gear_painter/proc/insert_mob(mob/victim, mob/user) + if(inserted) + return + if(user) + visible_message("[user] stuffs [victim] into [src]!") + inserted = victim + inserted.forceMove(src) + /obj/machinery/gear_painter/AllowDrop() return FALSE