protected override void OnStart() { base.OnStart(); //In PM, if you're inflicted with Stone, then the Action Command doesn't come up //and the number of attacks is halved, rounding down //Check if the target is immobile if (EntitiesAffected[0].IsImmobile() == true) { //Disable the action command Action.EnableActionCommand = false; //Divide the number of attacks by two, clamping at one //We clamp because if the Action Command is disabled, an infinite attack would softlock //In addition, as the target is immobile, it's not able to Superguard to damage the attacker and end the move MaxAttacks = UtilityGlobals.Clamp(MaxAttacks / 2, 1, MaxAttacks); NumAttacks = MaxAttacks; //Log a message here to indicate it's intentional Debug.Log($"{EntitiesAffected[0].Name} is Immobile; ActionCommand disabled and MaxAttacks halved to {MaxAttacks}. This is PM behavior"); } if (Action.CommandEnabled == true && Action.DrawActionCommandInfo == true) { KissyKissyUI = new FillBarActionCommandUI <MashButtonCommand>(actionCommand as MashButtonCommand, new Vector2(250, 150), new Vector2(100f, 1f), null); User.BManager.battleUIManager.AddUIElement(KissyKissyUI); } }
protected override void OnEnd() { base.OnEnd(); if (PowerShockUI != null) { User.BManager.battleUIManager.RemoveUIElement(PowerShockUI); PowerShockUI = null; } }
protected override void OnStart() { base.OnStart(); if (Action.CommandEnabled == true && Action.DrawActionCommandInfo == true) { PowerShockUI = new FillBarActionCommandUI <MashButtonCommand>(actionCommand as MashButtonCommand, new Vector2(250, 150), new Vector2(100f, 1f), null); User.BManager.battleUIManager.AddUIElement(PowerShockUI); } }
protected override void OnStart() { base.OnStart(); if (Action.DrawActionCommandInfo == true) { AirLiftUI = new FillBarActionCommandUI <AirLiftCommand>(actionCommand as AirLiftCommand, new Vector2(250, 150), new Vector2(100f, 1f), null); User.BManager.battleUIManager.AddUIElement(AirLiftUI); } }
protected override void OnEnd() { base.OnEnd(); SuccessPercentage = 0d; if (AirLiftUI != null) { User.BManager.battleUIManager.RemoveUIElement(AirLiftUI); AirLiftUI = null; } }
protected override void OnEnd() { base.OnEnd(); Missed = false; Interrupted = false; if (KissyKissyUI != null) { User.BManager.battleUIManager.RemoveUIElement(KissyKissyUI); KissyKissyUI = null; } }