diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index 22ca942f6a5..b1a7fc39d80 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -310,6 +310,7 @@ var/amount var/inserted = 0 var/current = 0 + var/old_loc = S.loc for(var/obj/item/stack/material/S2 in contents) current += S2.get_amount() if(capacity < current + S.get_amount())//If the stack will fill it up @@ -330,7 +331,12 @@ if (usr.client && usr.s_active != src) usr.client.screen -= S S.dropped(usr) - S.loc = src + if(capacity < current + S.get_amount()) + var/obj/item/stack/F = S.split(amount) + S.forceMove(old_loc) + F.loc = src + else + S.loc = src orient2hud(usr) if(usr.s_active)