namespace PkmnLib.Plugin.Gen7.Scripts.Moves;

[Script(ScriptCategory.Move, "multi_attack")]
public class MultiAttack : Script, IScriptChangeMoveType
{
    /// <inheritdoc />
    public void ChangeMoveType(IExecutingMove move, IPokemon target, byte hit, ref TypeIdentifier? moveType)
    {
        var item = move.User.HeldItem?.Name.ToString();
        var typeLibrary = move.User.Library.StaticLibrary.Types;

        if (item?.EndsWith("_memory") != true)
            return;

        var memoryType = item[..^7];
        if (typeLibrary.TryGetTypeIdentifier(memoryType, out var t))
            moveType = t;
    }
}