diff --git a/MiraAPI.Example/Buttons/ThinkButton.cs b/MiraAPI.Example/Buttons/ThinkButton.cs index 95ce73a..505365d 100644 --- a/MiraAPI.Example/Buttons/ThinkButton.cs +++ b/MiraAPI.Example/Buttons/ThinkButton.cs @@ -7,7 +7,7 @@ namespace MiraAPI.Example.Buttons; public class ThinkButton : CustomActionButton { public override string Name => "Think"; - public override float Cooldown => 10f; + public override float Cooldown => 15f; public override float EffectDuration => 10f; public override bool EffectCancelable => true; public override LoadableAsset Sprite => ExampleAssets.ExampleButton; diff --git a/MiraAPI/Hud/CustomActionButton.cs b/MiraAPI/Hud/CustomActionButton.cs index 78ebd4d..4985aab 100644 --- a/MiraAPI/Hud/CustomActionButton.cs +++ b/MiraAPI/Hud/CustomActionButton.cs @@ -431,7 +431,8 @@ public abstract class CustomActionButton /// A value that represents whether the button should light up or not. public virtual bool CanUse() { - return PlayerControl.LocalPlayer.moveable && (EffectActive || !LimitedUses || UsesLeft > 0); + return PlayerControl.LocalPlayer.moveable && + ((EffectActive && EffectCancelable) || (!EffectActive && (!LimitedUses || UsesLeft > 0))); } /// @@ -503,7 +504,7 @@ public abstract class CustomActionButton Timer -= Time.deltaTime; } } - else if (HasEffect && EffectActive) + else if (HasEffect && EffectActive && EffectDuration > 0) { EffectActive = false; Timer = Cooldown; @@ -521,7 +522,7 @@ public abstract class CustomActionButton Button!.SetDisabled(); } - if (EffectActive) + if (EffectActive && EffectDuration > 0) { Button.SetFillUp(Timer, EffectDuration);