From 75d9bee4a04434bf42cffa49a058280854310bea Mon Sep 17 00:00:00 2001 From: Leshana Date: Mon, 30 Mar 2020 19:21:34 -0400 Subject: [PATCH] Fixes Runtime in chemsmoke.dm,177: Cannot read null.seed_name - This was caused by create_spores() being called on seeds which were not registered with the plant_controller (becuase they had never been harvested) - Instead of registering them, we can just pass the seed datum itself, that is all the chemsmoke needs anyway. --- code/game/objects/effects/chem/chemsmoke.dm | 9 ++++----- code/modules/hydroponics/seed.dm | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/code/game/objects/effects/chem/chemsmoke.dm b/code/game/objects/effects/chem/chemsmoke.dm index 43b42cbac9..2bbb10c8af 100644 --- a/code/game/objects/effects/chem/chemsmoke.dm +++ b/code/game/objects/effects/chem/chemsmoke.dm @@ -29,11 +29,10 @@ show_log = 0 var/datum/seed/seed -/datum/effect/effect/system/smoke_spread/chem/spores/New(seed_name) - if(seed_name && plant_controller) - seed = plant_controller.seeds[seed_name] - if(!seed) - qdel(src) +/datum/effect/effect/system/smoke_spread/chem/spores/New(_seed) + seed = _seed + if(!istype(seed)) + CRASH("Invalid seed datum passed! [seed] ([seed?.type])") ..() /datum/effect/effect/system/smoke_spread/chem/New() diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index 548068fe68..06d8a36dac 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -104,7 +104,7 @@ var/injecting = min(5,max(1,get_trait(TRAIT_POTENCY)/3)) R.add_reagent(rid,injecting) - var/datum/effect/effect/system/smoke_spread/chem/spores/S = new(name) + var/datum/effect/effect/system/smoke_spread/chem/spores/S = new(src) S.attach(T) S.set_up(R, round(get_trait(TRAIT_POTENCY)/4), 0, T) S.start()