diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 39cba040cff..30ba7006874 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -382,6 +382,7 @@ L.transferItemToLoc(M, src) else M.forceMove(src) + parts_list.Cut() ///Hook for multiz??? /atom/proc/update_multiz(prune_on_fail = FALSE) diff --git a/code/game/objects/items/spear.dm b/code/game/objects/items/spear.dm index fb452d20af2..0c54185ae40 100644 --- a/code/game/objects/items/spear.dm +++ b/code/game/objects/items/spear.dm @@ -38,13 +38,15 @@ /obj/item/spear/CheckParts(list/parts_list) var/obj/item/shard/tip = locate() in parts_list - if (istype(tip, /obj/item/shard/plasma)) - throwforce = 21 - icon_prefix = "spearplasma" - AddComponent(/datum/component/two_handed, force_unwielded=11, force_wielded=19, icon_wielded="[icon_prefix]1") - update_icon() - qdel(tip) - ..() + if(tip) + if (istype(tip, /obj/item/shard/plasma)) + throwforce = 21 + icon_prefix = "spearplasma" + AddComponent(/datum/component/two_handed, force_unwielded=11, force_wielded=19, icon_wielded="[icon_prefix]1") + update_icon() + parts_list -= tip + qdel(tip) + return ..() /obj/item/spear/explosive name = "explosive lance"