diff --git a/code/datums/callback.dm b/code/datums/callback.dm index 3d655ef124e..279ac647535 100644 --- a/code/datums/callback.dm +++ b/code/datums/callback.dm @@ -124,7 +124,7 @@ else calling_arguments = args if(datum_flags & DF_VAR_EDITED) - if(usr && usr != GLOB.AdminProcCallHandler && !usr.client?.ckey) //This ONLY happens when usr's client switches mobs just before the callback gets invoked. + if(usr != GLOB.AdminProcCallHandler && !usr?.client?.ckey) //This happens when a timer or the MC invokes a callback return HandleUserlessProcCall(usr, object, delegate, calling_arguments) return WrapAdminProcCall(object, delegate, calling_arguments) if (object == GLOBAL_PROC) @@ -161,7 +161,7 @@ else calling_arguments = args if(datum_flags & DF_VAR_EDITED) - if(usr != GLOB.AdminProcCallHandler && !usr?.client?.ckey) //This happens when a timer invokes a callback + if(usr != GLOB.AdminProcCallHandler && !usr?.client?.ckey) //This happens when a timer or the MC invokes a callback return HandleUserlessProcCall(usr, object, delegate, calling_arguments) return WrapAdminProcCall(object, delegate, calling_arguments) if (object == GLOBAL_PROC)