Files
Aurora.3/code/modules/effects/visual_effect.dm
Lohikar 5e33bd0e2c Misc tweaks (#3916)
changes:

/obj/visual_effect has been repathed to /obj/effect/visual.
Openspace movables will no longer use the space plane when on an openturf mimicing a space turf.
Lights now only update on direction change if your direction actually changed.
Fixed some bad set_dir() procs that were either pointless or that didn't return parent.
Mapped-in or maint dirtier-spawned glowing goo no longer self-deletes after 2 minutes.
Fixed an issue that may have caused some openspace movables to not properly handle direction changes.
2017-12-09 00:36:53 +02:00

34 lines
1014 B
Plaintext

/obj/effect/visual
name = "effect"
icon = 'icons/effects/effects.dmi'
anchored = 1
simulated = 0
mouse_opacity = 0
var/life_ticks // How many ticks this effect will live before it stops processing.
// Will be set to a random number between life_ticks_min and life_ticks_max if unspecified.
var/life_ticks_max // The high limit for the random tick picker.
var/life_ticks_min // The low limit for the random tick picker.
/obj/effect/visual/Initialize(var/life_min = 3 SECONDS, var/life_max = 5 SECONDS)
. = ..()
life_ticks_min = life_min
life_ticks_max = life_max
if (!life_ticks)
life_ticks = rand(life_ticks_min, life_ticks_max)
// Called when the visual_effect is manifested.
/obj/effect/visual/proc/start()
// Called every effects processor tick. Return value determines what the process does to this object.
/obj/effect/visual/proc/tick()
if (!life_ticks)
return EFFECT_DESTROY
life_ticks--
return EFFECT_CONTINUE
/obj/effect/visual/Destroy()
STOP_VISUAL(src)
return ..()