Refactors do_after w/ TG's do_after (#18282)

* part1

* keeps range ability

* no cog vore
This commit is contained in:
Cameron Lennox
2025-08-22 00:21:14 +02:00
committed by GitHub
parent 877d3cf713
commit b3fb00d70d
81 changed files with 542 additions and 294 deletions
+3 -3
View File
@@ -19,20 +19,20 @@
/datum/component/connect_loc_behalf/RegisterWithParent()
RegisterSignal(tracked, COMSIG_MOVABLE_MOVED, PROC_REF(on_moved))
RegisterSignal(tracked, COMSIG_PARENT_QDELETING, PROC_REF(handle_tracked_qdel))
RegisterSignal(tracked, COMSIG_QDELETING, PROC_REF(handle_tracked_qdel))
update_signals()
/datum/component/connect_loc_behalf/UnregisterFromParent()
unregister_signals()
UnregisterSignal(tracked, list(
COMSIG_MOVABLE_MOVED,
COMSIG_PARENT_QDELETING,
COMSIG_QDELETING,
))
tracked = null
/datum/component/connect_loc_behalf/proc/handle_tracked_qdel()
SIGNAL_HANDLER // COMSIG_PARENT_QDELETING
SIGNAL_HANDLER // COMSIG_QDELETING
qdel(src)
/datum/component/connect_loc_behalf/proc/update_signals()
+2 -2
View File
@@ -19,12 +19,12 @@
src.tracked = tracked
/datum/component/connect_mob_behalf/RegisterWithParent()
RegisterSignal(tracked, COMSIG_PARENT_QDELETING, PROC_REF(handle_tracked_qdel))
RegisterSignal(tracked, COMSIG_QDELETING, PROC_REF(handle_tracked_qdel))
update_signals()
/datum/component/connect_mob_behalf/UnregisterFromParent()
unregister_signals()
UnregisterSignal(tracked, COMSIG_PARENT_QDELETING)
UnregisterSignal(tracked, COMSIG_QDELETING)
tracked = null
tracked_mob = null
+8 -8
View File
@@ -227,15 +227,15 @@
parent_attached_to = new_parent_attached_to
if(.)
var/atom/movable/old_parent_attached_to = .
UnregisterSignal(old_parent_attached_to, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED, COMSIG_LIGHT_EATER_QUEUE))
UnregisterSignal(old_parent_attached_to, list(COMSIG_QDELETING, COMSIG_MOVABLE_MOVED, COMSIG_LIGHT_EATER_QUEUE))
if(old_parent_attached_to == current_holder)
RegisterSignal(old_parent_attached_to, COMSIG_PARENT_QDELETING, PROC_REF(on_holder_qdel))
RegisterSignal(old_parent_attached_to, COMSIG_QDELETING, PROC_REF(on_holder_qdel))
RegisterSignal(old_parent_attached_to, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved))
RegisterSignal(old_parent_attached_to, COMSIG_LIGHT_EATER_QUEUE, PROC_REF(on_light_eater))
if(parent_attached_to)
if(parent_attached_to == current_holder)
UnregisterSignal(current_holder, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED, COMSIG_LIGHT_EATER_QUEUE))
RegisterSignal(parent_attached_to, COMSIG_PARENT_QDELETING, PROC_REF(on_parent_attached_to_qdel))
UnregisterSignal(current_holder, list(COMSIG_QDELETING, COMSIG_MOVABLE_MOVED, COMSIG_LIGHT_EATER_QUEUE))
RegisterSignal(parent_attached_to, COMSIG_QDELETING, PROC_REF(on_parent_attached_to_qdel))
RegisterSignal(parent_attached_to, COMSIG_MOVABLE_MOVED, PROC_REF(on_parent_attached_to_moved))
RegisterSignal(parent_attached_to, COMSIG_LIGHT_EATER_QUEUE, PROC_REF(on_light_eater))
check_holder()
@@ -249,7 +249,7 @@
new_holder = null // Forbid crates from holding lights, this only applies to contents 'holding', when you put a flashlight into a crate for example. Not crates with lights... Not that there are any.
if(current_holder)
if(current_holder != parent && current_holder != parent_attached_to)
UnregisterSignal(current_holder, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED, COMSIG_LIGHT_EATER_QUEUE))
UnregisterSignal(current_holder, list(COMSIG_QDELETING, COMSIG_MOVABLE_MOVED, COMSIG_LIGHT_EATER_QUEUE))
if(directional)
UnregisterSignal(current_holder, COMSIG_ATOM_DIR_CHANGE)
if(overlay_lighting_flags & LIGHTING_ON)
@@ -259,7 +259,7 @@
clean_old_turfs()
return
if(new_holder != parent && new_holder != parent_attached_to)
RegisterSignal(new_holder, COMSIG_PARENT_QDELETING, PROC_REF(on_holder_qdel))
RegisterSignal(new_holder, COMSIG_QDELETING, PROC_REF(on_holder_qdel))
RegisterSignal(new_holder, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved))
RegisterSignal(new_holder, COMSIG_LIGHT_EATER_QUEUE, PROC_REF(on_light_eater))
if(directional)
@@ -288,7 +288,7 @@
///Called when the current_holder is qdeleted, to remove the light effect.
/datum/component/overlay_lighting/proc/on_holder_qdel(atom/movable/source, force)
SIGNAL_HANDLER
UnregisterSignal(current_holder, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED))
UnregisterSignal(current_holder, list(COMSIG_QDELETING, COMSIG_MOVABLE_MOVED))
if(directional)
UnregisterSignal(current_holder, COMSIG_ATOM_DIR_CHANGE)
set_holder(null)
@@ -317,7 +317,7 @@
///Called when the current_holder is qdeleted, to remove the light effect.
/datum/component/overlay_lighting/proc/on_parent_attached_to_qdel(atom/movable/source, force)
SIGNAL_HANDLER
UnregisterSignal(parent_attached_to, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED))
UnregisterSignal(parent_attached_to, list(COMSIG_QDELETING, COMSIG_MOVABLE_MOVED))
if(directional)
UnregisterSignal(parent_attached_to, COMSIG_ATOM_DIR_CHANGE)
if(parent_attached_to == current_holder)
+5 -5
View File
@@ -12,7 +12,7 @@
/datum/component/recursive_move/RegisterWithParent()
. = ..()
holder = parent
RegisterSignal(holder, COMSIG_PARENT_QDELETING, PROC_REF(on_holder_qdel))
RegisterSignal(holder, COMSIG_QDELETING, PROC_REF(on_holder_qdel))
spawn(0) // Delayed action if our holder is spawned in nullspace and then loc = target, hopefully this catches it. VV Add item does this, for example.
if(!QDELETED(src))
setup_parents()
@@ -35,7 +35,7 @@
recursion++
parents += cur_parent
RegisterSignal(cur_parent, COMSIG_ATOM_EXITED, PROC_REF(heirarchy_changed))
RegisterSignal(cur_parent, COMSIG_PARENT_QDELETING, PROC_REF(on_qdel))
RegisterSignal(cur_parent, COMSIG_QDELETING, PROC_REF(on_qdel))
cur_parent = cur_parent.loc
@@ -65,7 +65,7 @@
if(!length(parents))
return
for(var/atom/movable/cur_parent in parents)
UnregisterSignal(cur_parent, COMSIG_PARENT_QDELETING)
UnregisterSignal(cur_parent, COMSIG_QDELETING)
UnregisterSignal(cur_parent, COMSIG_ATOM_EXITED)
UnregisterSignal(parents[parents.len], COMSIG_ATOM_ENTERING)
@@ -93,7 +93,7 @@
/datum/component/recursive_move/proc/on_holder_qdel()
SIGNAL_HANDLER
UnregisterSignal(holder, COMSIG_PARENT_QDELETING)
UnregisterSignal(holder, COMSIG_QDELETING)
reset_parents()
holder = null
qdel(src)
@@ -101,7 +101,7 @@
/datum/component/recursive_move/Destroy()
. = ..()
reset_parents()
if(holder) UnregisterSignal(holder, COMSIG_PARENT_QDELETING)
if(holder) UnregisterSignal(holder, COMSIG_QDELETING)
holder = null
/datum/component/recursive_move/proc/reset_parents()
@@ -72,7 +72,7 @@
owner = user
if(owner.vore_selected)
target = owner.vore_selected
RegisterSignal(owner, COMSIG_PARENT_QDELETING, PROC_REF(drop_everything_and_delete))
RegisterSignal(owner, COMSIG_QDELETING, PROC_REF(drop_everything_and_delete))
has_signal = TRUE
SK = owner.get_shadekin_component()
@@ -112,7 +112,7 @@
STOP_PROCESSING(SSobj, src)
if(owner)
if(has_signal)
UnregisterSignal(owner, COMSIG_PARENT_QDELETING)
UnregisterSignal(owner, COMSIG_QDELETING)
var/datum/component/shadekin/SK = owner.get_shadekin_component()
if(SK)
SK.active_dark_maws -= src
+2 -2
View File
@@ -115,7 +115,7 @@
to_chat(owner, span_warning("You can't weave here!"))
return
if(do_after(owner, desired_result.time, exclusive = TASK_USER_EXCLUSIVE))
if(do_after(owner, desired_result.time))
if(desired_result.cost > silk_reserve)
to_chat(owner, span_warning("You don't have enough silk to weave that!"))
return
@@ -168,7 +168,7 @@
to_chat(owner, span_warning("You can't weave here!"))
return
if(do_after(owner, desired_result.time, exclusive = TASK_USER_EXCLUSIVE))
if(do_after(owner, desired_result.time))
if(desired_result.cost > silk_reserve)
to_chat(owner, span_warning("You don't have enough silk to weave that!"))
return