using PkmnLib.Plugin.Gen7.Scripts.Pokemon; namespace PkmnLib.Plugin.Gen7.Scripts.Moves; [Script(ScriptCategory.Move, "foresight")] public class Foresight : Script, IScriptOnSecondaryEffect { /// public void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit) { var battleData = target.BattleData; if (battleData == null) return; if (target.StatBoost.Evasion > 0) target.ChangeStatBoost(Statistic.Evasion, (sbyte)-target.StatBoost.Evasion, false, false); if (target.Volatile.Contains()) { move.GetHitData(target, hit).Fail(); return; } var typeLibrary = battleData.Battle.Library.StaticLibrary.Types; target.Volatile.Add(new ForesightEffect(typeLibrary)); } }