using PkmnLib.Plugin.Gen7.Scripts.Pokemon; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "charge_move")] public class ChargeMove : Script { public override void PreventMove(IExecutingMove move, ref bool prevent) { var chargeMoveEffect = move.User.Volatile.Get(); if (chargeMoveEffect != null && chargeMoveEffect.MoveName == move.UseMove.Name) return; prevent = true; move.User.Volatile.Add(new ChargeMoveEffect(move.UseMove.Name, move.User, move.MoveChoice.TargetSide, move.MoveChoice.TargetPosition)); } }