diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 8f548481618..8b8c7bf71e4 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -105,6 +105,7 @@ holder = new /obj/item/assembly_holder(get_turf(src)) if(holder.attach(A, src, user)) to_chat(user, "You attach [A] to [src]!") + user.put_in_active_hand(holder) return TRUE return FALSE diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index fa4efa9f02b..e93c0b2ec1b 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -179,12 +179,15 @@ var/turf/T = get_turf(src) if(!T) return FALSE + user.unEquip(src, TRUE, TRUE) if(a_left) a_left.holder = null a_left.forceMove(T) - if(a_right) + user.put_in_active_hand(a_left) + if(a_right) // Right object is the secondary item, hence put in inactive hand a_right.holder = null a_right.forceMove(T) + user.put_in_inactive_hand(a_right) qdel(src)