diff --git a/code/game/objects/items/implants/implant_storage.dm b/code/game/objects/items/implants/implant_storage.dm index 8927e9dbd75..58eaa6f86a3 100644 --- a/code/game/objects/items/implants/implant_storage.dm +++ b/code/game/objects/items/implants/implant_storage.dm @@ -29,10 +29,14 @@ for(var/X in target.implants) if(istype(X, type)) var/obj/item/implant/storage/imp_e = X - if(!imp_e.atom_storage || (imp_e.atom_storage && imp_e.atom_storage.max_slots < max_slot_stacking)) + if(!imp_e.atom_storage) imp_e.create_storage(type = /datum/storage/implant) qdel(src) return TRUE + else if(imp_e.atom_storage.max_slots < max_slot_stacking) + imp_e.atom_storage.max_slots += initial(imp_e.atom_storage.max_slots) + imp_e.atom_storage.max_total_storage += initial(imp_e.atom_storage.max_total_storage) + return TRUE return FALSE create_storage(type = /datum/storage/implant)