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);
}
}
}