diff --git a/ml_prm/GameEvents.cs b/ml_prm/GameEvents.cs index ceb534d..a2b5222 100644 --- a/ml_prm/GameEvents.cs +++ b/ml_prm/GameEvents.cs @@ -94,6 +94,12 @@ namespace ml_prm typeof(IKSystem).GetMethod("OnPreSolverUpdateActiveOffset", BindingFlags.Instance | BindingFlags.NonPublic), new HarmonyLib.HarmonyMethod(typeof(GameEvents).GetMethod(nameof(OnOffsetUpdate_Prefix), BindingFlags.Static | BindingFlags.NonPublic)) ); + + p_instance.Patch( + typeof(ControllerRay).GetMethod("UpdateInteractionMask", BindingFlags.Instance | BindingFlags.NonPublic), + null, + new HarmonyLib.HarmonyMethod(typeof(GameEvents).GetMethod(nameof(OnControllerRayUpdateInteractionMask_Prefix), BindingFlags.Static | BindingFlags.NonPublic)) + ); } catch(Exception e) { @@ -210,5 +216,10 @@ namespace ml_prm } return !ms_result.m_result; } + + static void OnControllerRayUpdateInteractionMask_Prefix(ControllerRay __instance) + { + __instance.generalMask &= ~(1 << CVRLayers.PlayerClone); + } } }