Files
Aurora.3/code/game/objects/effects/misc.dm
2020-06-03 10:51:28 +02:00

80 lines
1.8 KiB
Plaintext

//The effect when you wrap a dead body in gift wrap
/obj/effect/spresent
name = "strange present"
desc = "It's a ... present?"
icon = 'icons/obj/items.dmi'
icon_state = "strangepresent"
density = 1
anchored = 0
/atom/movable/afterimage
name = "after-image"
desc = "There used to be something here."
simulated = FALSE
mouse_opacity = FALSE
anchored = TRUE
/atom/movable/afterimage/New(turf/loc, atom/target)
..(loc)
appearance = target
// Reset some vars.
mouse_opacity = 0
alpha /= 4
dir = target.dir
if (!color)
color = list(
0.5, 0.5, 0.5,
0.5, 0.5, 0.5,
0.5, 0.5, 0.5
)
animate(src, alpha = 0, time = 2 SECONDS - 10, easing = EASE_IN|QUAD_EASING)
QDEL_IN(src, 2 SECONDS)
/atom/movable/afterimage/Destroy()
appearance = null
return ..()
/proc/shadow(atom/movable/target)
new /atom/movable/afterimage(get_turf(target), target)
/obj/effect/constructing_effect
icon = 'icons/effects/effects_rfd.dmi'
icon_state = ""
layer = ABOVE_ALL_MOB_LAYER
anchored = TRUE
var/delay = 0
var/status = 0
/obj/effect/constructing_effect/Initialize(mapload, build_delay, mode)
. = ..()
delay = build_delay // so the variables transfer over between procs.
status = mode
if(status == 3)
addtimer(CALLBACK(src, /atom/.proc/update_icon), 11)
delay -= 11
icon_state = "rfd_end_reverse"
else
update_icon()
/obj/effect/constructing_effect/update_icon()
icon_state = "rfd"
if(delay < 10)
icon_state += "_shortest"
else if(delay < 20)
icon_state += "_shorter"
else if(delay < 37)
icon_state += "_short"
if(status == 3)
icon_state += "_reverse"
/obj/effect/constructing_effect/proc/end_animation()
if(status == 3)
end()
else
icon_state = "rfd_end"
addtimer(CALLBACK(src, .proc/end), 15)
/obj/effect/constructing_effect/proc/end()
qdel(src)