namespace PkmnLib.Plugin.Gen7.Scripts.Side; [Script(ScriptCategory.Side, "wide_guard")] public class WideGuardEffect : Script { private IBattleSide? _side; /// public override void OnAddedToParent(IScriptSource source) { if (source is IBattleSide side) { _side = side; } else { throw new InvalidOperationException("WideGuard can only be added to a battle side."); } } /// public override void ChangeTargets(IMoveChoice moveChoice, ref IReadOnlyList targets) { if (_side == null) return; if (targets.Count > 1) { targets = targets.Where(x => x?.BattleData?.BattleSide != _side).ToList(); } } /// public override void OnEndTurn(IScriptSource owner, IBattle battle) { RemoveSelf(); } }