using PkmnLib.Plugin.Gen7.Scripts.Pokemon;

namespace PkmnLib.Plugin.Gen7.Scripts.Moves;

[Script(ScriptCategory.Move, "hyperspace_fury")]
public class HyperspaceFury : Script, IScriptOnSecondaryEffect
{
    /// <inheritdoc />
    public void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
    {
        var protectionScripts = target.Volatile.Select(x => x.Script).OfType<ProtectionEffectScript>();
        foreach (var protectionScript in protectionScripts.ToList())
        {
            target.Volatile.Remove(protectionScript.Name);
        }
    }
}