diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index 64d1fe4f27a..69e54711e8c 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -96,6 +96,7 @@ RegisterSignal(parent, COMSIG_ITEM_PICKUP, .proc/signal_on_pickup) RegisterSignal(parent, COMSIG_MOVABLE_POST_THROW, .proc/close_all) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/on_move) RegisterSignal(parent, COMSIG_CLICK_ALT, .proc/on_alt_click) RegisterSignal(parent, COMSIG_MOUSEDROP_ONTO, .proc/mousedrop_onto) @@ -155,6 +156,12 @@ var/datum/component/storage/slave = i next += slave.parent +/datum/component/storage/proc/on_move() + var/atom/A = parent + for(var/mob/living/L in can_see_contents()) + if(!L.CanReach(A)) + hide_from(L) + /datum/component/storage/proc/attack_self(datum/source, mob/M) if(locked) to_chat(M, "[parent] seems to be locked!")