mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-22 16:12:19 +00:00
80 lines
1.8 KiB
Plaintext
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)
|