From 55b8aa18375ad5b71292c8bb2d24666c2200b339 Mon Sep 17 00:00:00 2001 From: ninjanomnom Date: Sun, 30 Jun 2019 21:04:30 -0400 Subject: [PATCH] Makes signal calls async again --- code/__HELPERS/unsorted.dm | 4 ++++ code/datums/components/_component.dm | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index a229930b553..d5d4a6783c6 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1592,4 +1592,8 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) else return 0 +/proc/CallAsync(datum/source, proctype, list/arguments) + set waitfor = FALSE + return call(source, proctype)(arglist(arguments)) + #define TURF_FROM_COORDS_LIST(List) (locate(List[1], List[2], List[3])) diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm index b153e9c51ea..fbe94cbb9ee 100644 --- a/code/datums/components/_component.dm +++ b/code/datums/components/_component.dm @@ -173,14 +173,14 @@ if(!C.signal_enabled) return NONE var/proctype = C.signal_procs[src][sigtype] - return NONE | call(C, proctype)(arglist(arguments)) + return NONE | CallAsync(C, proctype, arguments) . = NONE for(var/I in target) var/datum/C = I if(!C.signal_enabled) continue var/proctype = C.signal_procs[src][sigtype] - . |= call(C, proctype)(arglist(arguments)) + . |= CallAsync(C, proctype, arguments) // The type arg is casted so initial works, you shouldn't be passing a real instance into this /datum/proc/GetComponent(datum/component/c_type)