diff --git a/code/datums/elements/mob_holder.dm b/code/datums/elements/mob_holder.dm index d770e0f30d..619f674969 100644 --- a/code/datums/elements/mob_holder.dm +++ b/code/datums/elements/mob_holder.dm @@ -141,7 +141,7 @@ /obj/item/clothing/head/mob_holder/dropped(mob/user) . = ..() - if(held_mob && isturf(loc))//don't release on soft-drops + if(held_mob && !ismob(loc))//don't release on soft-drops release() /obj/item/clothing/head/mob_holder/proc/release() diff --git a/code/game/machinery/colormate.dm b/code/game/machinery/colormate.dm index b4306d49a4..603b34ee32 100644 --- a/code/game/machinery/colormate.dm +++ b/code/game/machinery/colormate.dm @@ -62,6 +62,8 @@ if(!user.transferItemToLoc(I, src)) to_chat(user, "[I] is stuck to your hand!") return + if(QDELETED(I)) + return user.visible_message("[user] inserts [I] into [src]'s receptable.") inserted = I @@ -72,6 +74,11 @@ /obj/machinery/gear_painter/AllowDrop() return FALSE +/obj/machinery/gear_painter/handle_atom_del(atom/movable/AM) + if(AM == inserted) + inserted = null + return ..() + /obj/machinery/gear_painter/AltClick(mob/user) . = ..() if(!user.CanReach(src))