From 3cada4cb3d0b8df6d25beb5b920ba3b67213d647 Mon Sep 17 00:00:00 2001 From: XtraCube <72575280+XtraCube@users.noreply.github.com> Date: Mon, 2 Sep 2024 12:57:25 -0400 Subject: [PATCH] fix problem with TimedModifier using RPC on every client, despite being replicated --- MiraAPI/Modifiers/BaseModifier.cs | 5 +++++ MiraAPI/Modifiers/ModifierComponent.cs | 1 + MiraAPI/Modifiers/Types/TimedModifier.cs | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/MiraAPI/Modifiers/BaseModifier.cs b/MiraAPI/Modifiers/BaseModifier.cs index b91c078..9d6e82c 100644 --- a/MiraAPI/Modifiers/BaseModifier.cs +++ b/MiraAPI/Modifiers/BaseModifier.cs @@ -10,6 +10,11 @@ public abstract class BaseModifier /// public PlayerControl? Player { get; internal set; } + /// + /// Gets the modifier component that the modifier is attached to. + /// + public ModifierComponent? ModifierComponent { get; internal set; } + /// /// Gets the modifier id. /// diff --git a/MiraAPI/Modifiers/ModifierComponent.cs b/MiraAPI/Modifiers/ModifierComponent.cs index eecda1a..9517711 100644 --- a/MiraAPI/Modifiers/ModifierComponent.cs +++ b/MiraAPI/Modifiers/ModifierComponent.cs @@ -213,6 +213,7 @@ public class ModifierComponent(IntPtr ptr) : MonoBehaviour(ptr) _toAdd.Add(modifier); modifier.Player = _player; + modifier.ModifierComponent = this; modifier.ModifierId = modifierId.Value; return modifier; } diff --git a/MiraAPI/Modifiers/Types/TimedModifier.cs b/MiraAPI/Modifiers/Types/TimedModifier.cs index f18b136..99a6361 100644 --- a/MiraAPI/Modifiers/Types/TimedModifier.cs +++ b/MiraAPI/Modifiers/Types/TimedModifier.cs @@ -71,7 +71,7 @@ public abstract class TimedModifier : BaseModifier if (RemoveOnComplete) { - Player?.RpcRemoveModifier(ModifierId); + ModifierComponent?.RemoveModifier(ModifierId); } } }