using PkmnLib.Plugin.Gen7.Scripts.Pokemon; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "trick_or_treat")] public class TrickOrTreat : Script, IScriptOnSecondaryEffect { /// public void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit) { var library = move.Battle.Library.StaticLibrary.Types; if (!library.TryGetTypeIdentifier("ghost", out var ghostType) || target.Types.Contains(ghostType)) { move.GetHitData(target, hit).Fail(); return; } if (target.Volatile.TryGet(out var effect)) { target.RemoveType(effect.TypeIdentifier); target.Volatile.Remove(); } target.AddType(ghostType); target.Volatile.Add(new HasHadTypeAddedEffect(ghostType)); } }