namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;

/// <summary>
/// Shadow Tag is an ability that prevents opposing Pokémon from fleeing or switching out.
///
/// <see href="https://bulbapedia.bulbagarden.net/wiki/Shadow_Tag_(Ability)">Bulbapedia - Shadow Tag</see>
/// </summary>
[Script(ScriptCategory.Ability, "shadow_tag")]
public class ShadowTag : Script, IScriptPreventOpponentRunAway, IScriptPreventOpponentSwitch
{
    /// <inheritdoc />
    public void PreventOpponentRunAway(IFleeChoice choice, ref bool prevent) => prevent = true;

    /// <inheritdoc />
    public void PreventOpponentSwitch(ISwitchChoice choice, ref bool prevent) => prevent = true;
}