diff --git a/Entities/MovableObject.cpp b/Entities/MovableObject.cpp index 842c9d27b..3684da12d 100644 --- a/Entities/MovableObject.cpp +++ b/Entities/MovableObject.cpp @@ -1072,8 +1072,14 @@ int MovableObject::UpdateScripts(ThreadScriptsToRun scriptsToRun) { if (status >= 0) { status = RunScriptedFunctionInAppropriateScripts("Update", false, true, {}, {}, {}, scriptsToRun); + + if (status >= 0 && HasRequestedSyncedUpdate()) { + RunScriptedFunctionInAppropriateScripts("SyncedUpdate", false, false, {}, {}, {}, ThreadScriptsToRun::SingleThreaded); + } } + ResetRequestedSyncedUpdateFlag(); + return status; } diff --git a/Managers/MovableMan.cpp b/Managers/MovableMan.cpp index 9c5c62917..f870c6b1b 100644 --- a/Managers/MovableMan.cpp +++ b/Managers/MovableMan.cpp @@ -1761,7 +1761,6 @@ void MovableMan::Update() for (MovableObject* mo : luaState.GetRegisteredMOs()) { if (mo->HasRequestedSyncedUpdate()) { mo->RunScriptedFunctionInAppropriateScripts(syncedUpdate, false, false, {}, {}, {}, ThreadScriptsToRun::MultiThreaded); - mo->ResetRequestedSyncedUpdateFlag(); } }