using PkmnLib.Plugin.Gen7.Scripts.Utils; namespace PkmnLib.Plugin.Gen7.Scripts.Pokemon; [Script(ScriptCategory.Pokemon, "outrage")] public class OutrageEffect : Script { private readonly IPokemon _owner; private int _turns; private readonly byte _targetSide; private readonly byte _targetPosition; public OutrageEffect(IPokemon owner, int turns, byte targetSide, byte targetPosition) { _owner = owner; _turns = turns; _targetSide = targetSide; _targetPosition = targetPosition; } /// public override void ForceTurnSelection(byte sideIndex, byte position, ref ITurnChoice? choice) { choice = TurnChoiceHelper.CreateMoveChoice(_owner, "outrage", _targetSide, _targetPosition); } /// public override void OnAfterHits(IExecutingMove move, IPokemon target) { _turns--; if (_turns <= 0) { RemoveSelf(); _owner.Volatile.Add(new Confusion()); } } }