diff --git a/Patches/MainEffectsPatch.cs b/Patches/MainEffectsPatch.cs index 170d405..4dfb5e6 100644 --- a/Patches/MainEffectsPatch.cs +++ b/Patches/MainEffectsPatch.cs @@ -8,25 +8,18 @@ namespace SelectiveEffects.Patches [HarmonyPatch(typeof(Effect), nameof(Effect.CreateInstance))] internal class MainEffectsPatch { - internal static GameObject EmptyObject = new("EmptyObject"); - - [HarmonyPrefix] - [HarmonyPriority(Priority.VeryHigh)] - public static bool Prefix(ref GameObject __result) - { - if (!SettingsManager.Enabled) return true; - - if (!SettingsManager.DisableAllEffects) return true; - - __result = EmptyObject; - return false; - } - - [HarmonyPostfix] public static void Postfix(Effect __instance, ref GameObject __result) { if (!SettingsManager.Enabled) return; + + if (SettingsManager.DisableAllEffects) + { + __result.SetActive(false); + return; + } + + if (SettingsManager.DisableAllEffects || !EffectsDisablerManager.AnyEffect) return; string fxName = __instance.uid;