using PkmnLib.Plugin.Gen7.Scripts.Battle;
namespace PkmnLib.Plugin.Gen7.Scripts.Moves;
[Script(ScriptCategory.Move, "multi_attack")]
public class MultiAttack : Script, IScriptChangeMoveType
{
///
public void ChangeMoveType(IExecutingMove move, IBattlePokemon target, byte hit, ref TypeIdentifier? moveType)
{
if (move.User.ActiveAbility?.Name == AbilityNames.Klutz)
return;
if (move.Battle.Volatile.Contains())
return;
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;
}
}