diff --git a/code/game/objects/effects/effect_system/effects_chem_smoke.dm b/code/game/objects/effects/effect_system/effects_chem_smoke.dm index 0a8899156a2..f55a64aac8d 100644 --- a/code/game/objects/effects/effect_system/effects_chem_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_chem_smoke.dm @@ -18,7 +18,7 @@ var/spread_amount = 96 /obj/effect/particle_effect/chem_smoke/New(location, chem_color) - ..() + ..(location) color = chem_color pixel_x += -16 + rand(-3, 3) pixel_y += -16 + rand(-3, 3) @@ -65,6 +65,7 @@ else location = get_turf(loca) carry.copy_to(chemholder, carry.total_volume) + carry.clear_reagents() if(!silent) var/contained = "" for(var/reagent in carry.reagent_list) @@ -105,7 +106,7 @@ new /obj/effect/particle_effect/chem_smoke(location, color) if(x % 10 == 0) //Once every 10 ticks. - SmokeEm(effect_range) + INVOKE_ASYNC(src, .proc/SmokeEm, effect_range) sleep(1) qdel(src) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index f4e23e1cdac..2e95d21e10b 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -411,8 +411,6 @@ var/smoke_amount = round(sqrt(G.seed.potency * 0.1), 1) S.set_up(G.reagents, splat_location) S.start(smoke_amount) - if(G && G.reagents) - G.reagents.clear_reagents() /datum/plant_gene/trait/plant_type // Parent type name = "you shouldn't see this" diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index 6b8d4035822..5aca554ae03 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -279,8 +279,6 @@ datum/chemical_reaction/flash_powder S.start(3) if(created_volume >=15) S.start(4) - if(holder && holder.my_atom) - holder.clear_reagents() /datum/chemical_reaction/smoke/smoke_powder name = "smoke_powder_smoke"