From fce2fd0ff134929cfeb0ddb8da49e8acdbf2b3a0 Mon Sep 17 00:00:00 2001 From: CHOMPStation2StaffMirrorBot <94713762+CHOMPStation2StaffMirrorBot@users.noreply.github.com> Date: Sat, 26 Jul 2025 22:19:50 -0700 Subject: [PATCH] [MIRROR] Capture crystal sleep()s cleaned up (#11257) Co-authored-by: Will <7099514+Willburd@users.noreply.github.com> Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com> --- .../objects/items/weapons/capture_crystal.dm | 7 ++++++- .../human/species/lleill/lleill_items.dm | 3 +-- .../modules/vore/fluffstuff/custom_items_vr.dm | 18 +++++++++++------- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/code/game/objects/items/weapons/capture_crystal.dm b/code/game/objects/items/weapons/capture_crystal.dm index c2807172e4..096a0d08a2 100644 --- a/code/game/objects/items/weapons/capture_crystal.dm +++ b/code/game/objects/items/weapons/capture_crystal.dm @@ -476,8 +476,13 @@ var/image/coolanimation = image('icons/obj/capture_crystal_vr.dmi', null, "animation") coolanimation.plane = PLANE_LIGHTING_ABOVE thing.overlays += coolanimation - sleep(11) + addtimer(CALLBACK(src, PROC_REF(animate_action_finished),thing,coolanimation), 1.1 SECOND, TIMER_DELETE_ME) + +/obj/item/capture_crystal/proc/animate_action_finished(atom/thing,var/image/coolanimation) + SHOULD_NOT_OVERRIDE(TRUE) + PROTECTED_PROC(TRUE) thing.overlays -= coolanimation + qdel(coolanimation) //IF the crystal somehow ends up in a tummy and digesting with a bound mob who doesn't want to be eaten, let's move them to the ground /obj/item/capture_crystal/digest_act(var/atom/movable/item_storage = null) diff --git a/code/modules/mob/living/carbon/human/species/lleill/lleill_items.dm b/code/modules/mob/living/carbon/human/species/lleill/lleill_items.dm index 7d8a4d467b..7f25d30a5e 100644 --- a/code/modules/mob/living/carbon/human/species/lleill/lleill_items.dm +++ b/code/modules/mob/living/carbon/human/species/lleill/lleill_items.dm @@ -113,8 +113,7 @@ var/image/coolanimation = image('icons/obj/glamour.dmi', null, "animation") coolanimation.plane = PLANE_LIGHTING_ABOVE thing.overlays += coolanimation - sleep(14) - thing.overlays -= coolanimation + addtimer(CALLBACK(src, PROC_REF(animate_action_finished),thing,coolanimation), 1.4 SECOND, TIMER_DELETE_ME) //Face of Glamour (creates a clone of a target) diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm index 923e3f50fa..052e050b80 100644 --- a/code/modules/vore/fluffstuff/custom_items_vr.dm +++ b/code/modules/vore/fluffstuff/custom_items_vr.dm @@ -558,13 +558,17 @@ if((state == 1) && owner && (owner.stat == DEAD)) update_state(2) visible_message(span_warning("The [name] begins flashing red.")) - sleep(30) - visible_message(span_warning("The [name] shatters into dust!")) - if(owner_c) - to_chat(owner_c, span_notice("A signal is sent notifying of your demise by \the [name].")) - update_state(3) - name = "broken [initial(name)]" - desc = "This seems like a necklace, but the actual pendant is missing." + addtimer(CALLBACK(src, PROC_REF(shatter_into_dust)), 3 SECONDS, TIMER_DELETE_ME) + +/obj/item/clothing/accessory/collar/khcrystal/proc/shatter_into_dust() + SHOULD_NOT_OVERRIDE(TRUE) + PRIVATE_PROC(TRUE) + visible_message(span_warning("The [name] shatters into dust!")) + if(owner_c) + to_chat(owner_c, span_notice("A signal is sent notifying of your demise by \the [name].")) // CHOMPEdit + update_state(3) + name = "broken [initial(name)]" + desc = "This seems like a necklace, but the actual pendant is missing." /obj/item/clothing/accessory/collar/khcrystal/proc/update_state(var/tostate) state = tostate