Updates chem smoke to work visually again (#26361)

* Updates chem smoke to work visually again

* Update code/game/objects/effects/effect_system/effects_chem_smoke.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Signed-off-by: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>

* Update effects_chem_smoke.dm

---------

Signed-off-by: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2024-08-01 19:53:16 -04:00
committed by GitHub
parent 42c50a5cc5
commit 217022fab7
@@ -48,7 +48,7 @@
var/eff_range = 2
var/eff_colour = "#12A5F4" // This is a random blue incase it doesnt get set right
var/process_count = 0
var/max_process_count = 10
var/max_process_count = 50 //50 ticks, every 0.2 seconds, or 10 seconds of smoke.
var/obj/chemholder
var/list/smoked_atoms = list()
@@ -100,18 +100,19 @@
/datum/effect_system/smoke_spread/chem/start(effect_range = 2)
eff_colour = mix_color_from_reagents(chemholder.reagents.reagent_list)
eff_range = effect_range
START_PROCESSING(SSprocessing, src)
START_PROCESSING(SSfastprocess, src)
/datum/effect_system/smoke_spread/chem/process()
process_count++
if(eff_range < 3)
new /obj/effect/particle_effect/chem_smoke/small(location, eff_colour)
else
new /obj/effect/particle_effect/chem_smoke(location, eff_colour)
INVOKE_ASYNC(src, PROC_REF(SmokeEm), eff_range)
for(var/i in 1 to (2 * rand(2, 6))) // Every 0.2 seconds, create 4-12 smoke particles. This keeps it consitant with the 2-6 every 0.1 seconds before
if(eff_range < 3)
new /obj/effect/particle_effect/chem_smoke/small(location, eff_colour)
else
new /obj/effect/particle_effect/chem_smoke(location, eff_colour)
if(process_count % 5 == 0) //Every 5 ssfastprocess, 10 ticks, or 1 second.
INVOKE_ASYNC(src, PROC_REF(SmokeEm), eff_range)
if(process_count > max_process_count)
STOP_PROCESSING(SSprocessing, src)
STOP_PROCESSING(SSfastprocess, src)
qdel(src)