mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-18 03:21:13 +01:00
c25c8b6a37
* one * two * three * fsdsdf
55 lines
1.2 KiB
Plaintext
55 lines
1.2 KiB
Plaintext
/datum/effect_system/ion_trail
|
|
var/turf/old_location
|
|
var/fade_icon = "ion_fade"
|
|
var/ion_trails_type = /obj/effect/effect/ion_trails
|
|
|
|
/datum/effect_system/ion_trail/New(atom/source_atom)
|
|
if (source_atom)
|
|
bind(source_atom)
|
|
|
|
..(FALSE)
|
|
|
|
/datum/effect_system/ion_trail/process()
|
|
. = ..()
|
|
if (!location)
|
|
return
|
|
|
|
. = EFFECT_CONTINUE
|
|
|
|
if (old_location != location)
|
|
if (location.is_hole) // openspace or space.
|
|
var/obj/effect/effect/ion_trails/I = new ion_trails_type(old_location)
|
|
if (holder)
|
|
I.set_dir(holder.dir)
|
|
if(fade_icon)
|
|
flick(fade_icon, I)
|
|
I.icon_state = "blank"
|
|
animate(I, alpha = 0, time = 18, easing = SINE_EASING | EASE_IN)
|
|
QDEL_IN(I, 20)
|
|
|
|
old_location = location
|
|
|
|
/datum/effect_system/ion_trail/proc/start()
|
|
QUEUE_EFFECT(src)
|
|
|
|
/datum/effect_system/ion_trail/proc/stop()
|
|
STOP_EFFECT(src)
|
|
old_location = null
|
|
|
|
/datum/effect_system/ion_trail/Destroy()
|
|
old_location = null
|
|
return ..()
|
|
|
|
/datum/effect_system/ion_trail/explosion
|
|
fade_icon = null
|
|
ion_trails_type = /obj/effect/effect/ion_trails/explosion
|
|
|
|
/obj/effect/effect/ion_trails
|
|
name = "ion trails"
|
|
icon_state = "ion_trails"
|
|
anchored = TRUE
|
|
|
|
/obj/effect/effect/ion_trails/explosion
|
|
name = "combustion trails"
|
|
icon_state = "explosion_particle"
|