From 257ae3d06548b7eaa8b956f27d0c453222098ba7 Mon Sep 17 00:00:00 2001 From: Yamato Date: Mon, 19 May 2025 23:14:12 +0200 Subject: [PATCH] Fix For LabAPI --- .../Patches/Events/Player/TriggeringTesla.cs | 49 +++++++++++++------ 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/EXILED/Exiled.Events/Patches/Events/Player/TriggeringTesla.cs b/EXILED/Exiled.Events/Patches/Events/Player/TriggeringTesla.cs index 4034169a6a..f4070abf1e 100644 --- a/EXILED/Exiled.Events/Patches/Events/Player/TriggeringTesla.cs +++ b/EXILED/Exiled.Events/Patches/Events/Player/TriggeringTesla.cs @@ -55,8 +55,14 @@ private static IEnumerable Transpiler(IEnumerable Transpiler(IEnumerable.Pool.Return(newInstructions); } - private static void TriggeringTeslaEvent(BaseTeslaGate baseTeslaGate, ref bool inIdleRange, ref bool isTriggerable) + private static void TriggeringTeslaEvent(BaseTeslaGate baseTeslaGate, ref bool inIdleRange, ref bool isTriggerable, ref ReferenceHub stupid1, ref ReferenceHub stupid2) { - TeslaGate teslaGate = TeslaGate.Get(baseTeslaGate); + TeslaGate customTesla = TeslaGate.Get(baseTeslaGate); foreach (Player player in ReferenceHub.AllHubs.Select(Player.Get)) { - if (player is null || !teslaGate.CanBeIdle(player)) + if (player is null || !customTesla.CanBeIdle(player)) continue; - TriggeringTeslaEventArgs ev = new(player, teslaGate); - + TriggeringTeslaEventArgs ev = new(player, customTesla); Handlers.Player.OnTriggeringTesla(ev); if (ev.DisableTesla) @@ -85,14 +90,30 @@ private static void TriggeringTeslaEvent(BaseTeslaGate baseTeslaGate, ref bool i break; } - if (!ev.IsAllowed) - continue; - - if (ev.IsTriggerable && !isTriggerable) - isTriggerable = ev.IsTriggerable; + if (!inIdleRange) + { + if (ev.IsInIdleRange) + { + LabApi.Events.Arguments.PlayerEvents.PlayerIdlingTeslaEventArgs playerIdlingTeslaEventArgs = new(player.ReferenceHub, baseTeslaGate); + LabApi.Events.Handlers.PlayerEvents.OnIdlingTesla(playerIdlingTeslaEventArgs); + if (playerIdlingTeslaEventArgs.IsAllowed) + { + inIdleRange = true; + stupid1 = ev.Player.ReferenceHub; + } + } + } - if (ev.IsInIdleRange && !inIdleRange) - inIdleRange = ev.IsInIdleRange; + if (!isTriggerable && ev.IsTriggerable && !customTesla.IsShocking) + { + LabApi.Events.Arguments.PlayerEvents.PlayerTriggeringTeslaEventArgs playerTriggeringTeslaEventArgs = new(player.ReferenceHub, baseTeslaGate); + LabApi.Events.Handlers.PlayerEvents.OnTriggeringTesla(playerTriggeringTeslaEventArgs); + if (playerTriggeringTeslaEventArgs.IsAllowed) + { + stupid2 = ev.Player.ReferenceHub; + isTriggerable = true; + } + } } } }