diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm
index 7d4db523f20..ce5885e2056 100644
--- a/code/modules/events/spacevine.dm
+++ b/code/modules/events/spacevine.dm
@@ -63,7 +63,7 @@
/datum/spacevine_mutation/proc/on_buckle(obj/effect/spacevine/holder, mob/living/buckled)
return
-/datum/spacevine_mutation/proc/on_explosion(severity)
+/datum/spacevine_mutation/proc/on_explosion(severity, obj/effect/spacevine/holder)
return
@@ -184,13 +184,13 @@
quality = NEGATIVE
severity = 2
-/datum/spacevine_mutation/explosive/on_explosion(explosion_severity)
+/datum/spacevine_mutation/explosive/on_explosion(explosion_severity, obj/effect/spacevine/holder)
if(explosion_severity < 3)
- qdel(src)
+ qdel(holder)
else
. = 1
spawn(5)
- qdel(src)
+ qdel(holder)
/datum/spacevine_mutation/explosive/on_death(obj/effect/spacevine/holder, mob/hitter, obj/item/I)
explosion(holder.loc, 0, 0, severity, 0, 0)
@@ -335,12 +335,17 @@
KZ.mutations |= mutations
KZ.set_potency(master.mutativeness * 10)
KZ.set_production((master.spread_cap / initial(master.spread_cap)) * 5)
- mutations = list()
+ master = null
+ mutations.Cut()
set_opacity(0)
if(buckled_mob)
unbuckle_mob()
return ..()
+/obj/effect/spacevine/proc/add_mutation(datum/spacevine_mutation/mutation)
+ mutations |= mutation
+ color = mutation.hue
+
/obj/effect/spacevine/proc/on_chem_effect(datum/reagent/R)
var/override = 0
for(var/datum/spacevine_mutation/SM in mutations)
@@ -538,7 +543,7 @@
/obj/effect/spacevine/ex_act(severity)
var/i
for(var/datum/spacevine_mutation/SM in mutations)
- i += SM.on_explosion(severity)
+ i += SM.on_explosion(severity, src)
if(!i && prob(100/severity))
qdel(src)
diff --git a/code/modules/hydroponics/grown/kudzu.dm b/code/modules/hydroponics/grown/kudzu.dm
index 72edae138bc..84ea01235e9 100644
--- a/code/modules/hydroponics/grown/kudzu.dm
+++ b/code/modules/hydroponics/grown/kudzu.dm
@@ -33,6 +33,7 @@
message_admins("Kudzu planted by [key_name_admin(user)](?) (FLW) at ([T.x],[T.y],[T.z] - (JMP))",0,1)
investigate_log("was planted by [key_name(user)] at ([T.x],[T.y],[T.z])","kudzu")
new /obj/effect/spacevine_controller(user.loc, mutations, potency, production)
+ user.drop_item()
qdel(src)
/obj/item/seeds/kudzu/attack_self(mob/user)
diff --git a/code/modules/hydroponics/grown/replicapod.dm b/code/modules/hydroponics/grown/replicapod.dm
index 57102cb56da..f3cfa967363 100644
--- a/code/modules/hydroponics/grown/replicapod.dm
+++ b/code/modules/hydroponics/grown/replicapod.dm
@@ -21,6 +21,10 @@
var/factions = null
var/contains_sample = 0
+/obj/item/seeds/replicapod/Destroy()
+ mind = null
+ return ..()
+
/obj/item/seeds/replicapod/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W,/obj/item/weapon/reagent_containers/syringe))
if(!contains_sample)
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm
index 47c243e970e..668de12e188 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm
@@ -292,6 +292,7 @@
to_chat(user, "You chomp into [src], barely managing to hold it down, but feel amazingly refreshed in mere moments.")
playsound(src.loc,'sound/items/eatfood.ogg', rand(10,50), 1)
H.revive()
+ user.drop_item()
qdel(src)
..()