From f95f776547a8359c2b97236de5224086b4fd8523 Mon Sep 17 00:00:00 2001 From: SandPoot Date: Mon, 11 Dec 2023 18:30:19 -0300 Subject: [PATCH] push --- code/game/objects/effects/countdown.dm | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/code/game/objects/effects/countdown.dm b/code/game/objects/effects/countdown.dm index 0722f3bd18..da8e819b0a 100644 --- a/code/game/objects/effects/countdown.dm +++ b/code/game/objects/effects/countdown.dm @@ -9,6 +9,8 @@ anchored = TRUE layer = GHOST_LAYER color = "#ff0000" // text color + appearance_flags = NO_CLIENT_COLOR | RESET_ALPHA | RESET_COLOR | RESET_TRANSFORM + vis_flags = VIS_INHERIT_ID var/text_size = 3 // larger values clip when the displayed text is larger than 2 digits. var/started = FALSE var/displayed_text @@ -17,6 +19,10 @@ /obj/effect/countdown/Initialize(mapload) . = ..() attach(loc) + RegisterSignal(loc, COMSIG_PARENT_QDELETING, .proc/on_parent_deleting) + +/obj/effect/countdown/proc/on_parent_deleting(atom/being_deleted, force) + qdel(src) /obj/effect/countdown/examine(mob/user) . = ..() @@ -24,7 +30,12 @@ /obj/effect/countdown/proc/attach(atom/A) attached_to = A - forceMove(get_turf(A)) + if(ismovable(A)) + var/atom/movable/M = A + moveToNullspace() + M.vis_contents |= src + else + forceMove(get_turf(A)) /obj/effect/countdown/proc/start() if(!started) @@ -44,7 +55,8 @@ /obj/effect/countdown/process() if(!attached_to || QDELETED(attached_to)) qdel(src) - forceMove(get_turf(attached_to)) + if(!ismovable(attached_to)) + forceMove(get_turf(attached_to)) var/new_val = get_value() if(new_val == displayed_text) return @@ -56,8 +68,9 @@ maptext = null /obj/effect/countdown/Destroy() - attached_to = null STOP_PROCESSING(SSfastprocess, src) + UnregisterSignal(attached_to, COMSIG_PARENT_QDELETING) + attached_to = null . = ..() /obj/effect/countdown/ex_act(severity, target, origin) //immune to explosions