From 16592d4d57713c85f93c448f3da8472207413c8b Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Sun, 12 Dec 2021 03:14:00 -0800 Subject: [PATCH] fixed OccasionalTransformSync NRE --- QSB/ShipSync/Patches/ShipPatches.cs | 10 ++-------- .../TransformSync/OccasionalTransformSync.cs | 4 +++- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/QSB/ShipSync/Patches/ShipPatches.cs b/QSB/ShipSync/Patches/ShipPatches.cs index d0076458..4cbaa293 100644 --- a/QSB/ShipSync/Patches/ShipPatches.cs +++ b/QSB/ShipSync/Patches/ShipPatches.cs @@ -5,6 +5,7 @@ using QSB.Patches; using QSB.Utility; using QSB.WorldSync; using System; +using QSB.ShipSync.TransformSync; using UnityEngine; namespace QSB.ShipSync.Patches @@ -206,14 +207,7 @@ namespace QSB.ShipSync.Patches [HarmonyPrefix] [HarmonyPatch(typeof(ShipDamageController), nameof(ShipDamageController.OnImpact))] public static bool ShipDamageController_OnImpact() - { - if (!ShipManager.Instance) - { - return true; - } - - return ShipManager.Instance.HasAuthority; - } + => ShipTransformSync.LocalInstance == null || ShipManager.Instance.HasAuthority; [HarmonyPostfix] [HarmonyPatch(typeof(ShipComponent), nameof(ShipComponent.RepairTick))] diff --git a/QSB/TornadoSync/TransformSync/OccasionalTransformSync.cs b/QSB/TornadoSync/TransformSync/OccasionalTransformSync.cs index bf844bfc..51008622 100644 --- a/QSB/TornadoSync/TransformSync/OccasionalTransformSync.cs +++ b/QSB/TornadoSync/TransformSync/OccasionalTransformSync.cs @@ -13,7 +13,9 @@ namespace QSB.TornadoSync.TransformSync { public class OccasionalTransformSync : UnsectoredRigidbodySync { - public override bool IsReady => WorldObjectManager.AllObjectsReady; + public override bool IsReady => WorldObjectManager.AllObjectsReady + && _bodyIndex >= 0 && _bodyIndex < CenterOfTheUniverse.s_rigidbodies.Count + && _refBodyIndex >= 0 && _refBodyIndex < CenterOfTheUniverse.s_rigidbodies.Count; public override bool UseInterpolation => false; public override bool IsPlayerObject => false;