diff --git a/code/game/objects/items/stacks/medical_packs.dm b/code/game/objects/items/stacks/medical_packs.dm index ba48b3b3b60..b97266aabd7 100644 --- a/code/game/objects/items/stacks/medical_packs.dm +++ b/code/game/objects/items/stacks/medical_packs.dm @@ -9,6 +9,7 @@ throw_range = 7 resistance_flags = FLAMMABLE max_integrity = 40 + parent_stack = TRUE var/heal_brute = 0 var/heal_burn = 0 var/self_delay = 20 diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 1d4861b5c28..4c90397ecc1 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -31,6 +31,8 @@ var/table_type /// If this stack has a dynamic icon_state based on amount / max_amount var/dynamic_icon_state = FALSE + /// if true, then this item can't stack with subtypes + var/parent_stack = FALSE /obj/item/stack/Initialize(mapload, new_amount, merge = TRUE) . = ..() @@ -360,7 +362,7 @@ use(amount) /obj/item/stack/attackby(obj/item/W, mob/user, params) - if(istype(W, merge_type)) + if((!parent_stack && istype(W, merge_type)) || (parent_stack && W.type == type)) var/obj/item/stack/S = W merge(S) to_chat(user, "Your [S.name] stack now contains [S.get_amount()] [S.singular_name]\s.")