diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index 0a382de88d..edab568ea3 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -88,8 +88,12 @@ if(wrapped) //Already have an item. //Temporary put wrapped into user so target's attackby() checks pass. wrapped.loc = user + //Pass the attack on to the target. This might delete/relocate wrapped. - wrapped.afterattack(target,user) + var/resolved = target.attackby(wrapped,user) + if(!resolved && wrapped && target) + wrapped.afterattack(target,user,1) + //If wrapped was neither deleted nor put into target, put it back into the gripper. if(wrapped && user && (wrapped.loc == user)) wrapped.loc = src