namespace PkmnLib.Plugin.Gen7.Scripts.Battle;

[Script(ScriptCategory.Battle, "trick_room")]
public class TrickRoomEffect : Script, IScriptChangeSpeed, IScriptOnEndTurn
{
    private int _turnsLeft = 5;

    /// <inheritdoc />
    public void ChangeSpeed(ITurnChoice choice, ref uint speed)
    {
        speed = uint.MaxValue - speed;
    }

    /// <inheritdoc />
    public void OnEndTurn(IScriptSource owner, IBattle battle)
    {
        _turnsLeft--;
        if (_turnsLeft <= 0)
            RemoveSelf();
    }
}