diff --git a/CHANGELOG.md b/CHANGELOG.md index e97d36fa..8fe5e857 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Added XR Mirror View patches that allow moving the monitor view around a bit. Invalid values will cause the monitor view to break. - Added an option to change UI press sensitivity, which has also been made more sensitive by default - Added a toast notification for when VR fails informing the user to **check the damn logs** +- Added an experiment that can be enabled by passing `--lcvr-disable-car-ownership-patch` to the start options, which might fix the car exploding randomly **Changes**: @@ -23,6 +24,7 @@ - Fixed TZP steering the player towards the wrong direction - Fixed potential denial-of-service exploit in networking system - Fixed issues with positioning when standing on top of physics objects (car, elevator) +- Fixed crash on death in V64 caused by stack corruption # 1.3.1 diff --git a/Source/Patches/Spectating/AIPatches.cs b/Source/Patches/Spectating/AIPatches.cs index d331c7ee..c1519345 100644 --- a/Source/Patches/Spectating/AIPatches.cs +++ b/Source/Patches/Spectating/AIPatches.cs @@ -71,7 +71,7 @@ private static IEnumerable LineOfSightPlayerIgnoreDeadPlayer( } /// - /// Prevent the closest player line of sight detection for dead players + /// Prevent "closest player line of sight detection" for dead players /// [HarmonyPatch(typeof(EnemyAI), nameof(EnemyAI.CheckLineOfSightForClosestPlayer))] [HarmonyTranspiler] diff --git a/Source/Patches/Spectating/Patches.cs b/Source/Patches/Spectating/Patches.cs index e45029cd..bd6904fe 100644 --- a/Source/Patches/Spectating/Patches.cs +++ b/Source/Patches/Spectating/Patches.cs @@ -127,7 +127,7 @@ private static void OnPlayerDeath(PlayerControllerB __instance) shipDoorWall.GetComponent().isTrigger = true; // Make sure any cars are not owned by us if we're the host - if (NetworkManager.Singleton.IsHost) + if (NetworkManager.Singleton.IsHost && !Plugin.Flags.HasFlag(Flags.ExperimentalDisableCarOwnershipPatch)) { var alivePlayer = StartOfRound.Instance.allPlayerScripts.FirstOrDefault(player => !player.isPlayerDead); if (alivePlayer)