namespace PkmnLib.Plugin.Gen7.Scripts.Pokemon; [Script(ScriptCategory.Pokemon, "lock_on")] public class LockOnEffect : Script, IScriptOnEndTurn, IScriptChangeIncomingAccuracy { private readonly IPokemon _placer; private bool _hasHadEndTurn; public LockOnEffect(IPokemon placer) { _placer = placer; } public void ChangeIncomingAccuracy(IExecutingMove executingMove, IPokemon target, byte hitIndex, ref int modifiedAccuracy) { if (_placer != executingMove.User) return; modifiedAccuracy = 255; } /// public void OnEndTurn(IScriptSource owner, IBattle battle) { if (_hasHadEndTurn) RemoveSelf(); else _hasHadEndTurn = true; } }