diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm index d6c5a1ada99..6ec3f6f81ed 100644 --- a/code/datums/components/_component.dm +++ b/code/datums/components/_component.dm @@ -121,8 +121,17 @@ if(!comps) return NONE var/list/arguments = args.Copy(2) + var/target = comps[/datum/component] + if(!length(target)) + var/datum/component/C = target + if(!C.enabled) + return NONE + var/datum/callback/CB = C.signal_procs[sigtype] + if(!CB) + return NONE + return CB.InvokeAsync(arglist(arguments)) . = NONE - for(var/I in comps[/datum/component]) + for(var/I in target) var/datum/component/C = I if(!C.enabled) continue