Finish script interface refactor
All checks were successful
Build / Build (push) Successful in 1m1s

This commit is contained in:
2025-07-06 10:27:56 +02:00
parent 83f6a183e3
commit 7c270a6d52
117 changed files with 669 additions and 648 deletions

View File

@@ -52,19 +52,21 @@ public class Gen7BattleStatCalculator : IBattleStatCalculator
byte moveAccuracy)
{
var accuracyModifier = 1.0f;
executingMove.RunScriptHookInterface<IScriptChangeAccuracyModifier>(x =>
executingMove.RunScriptHook<IScriptChangeAccuracyModifier>(x =>
x.ChangeAccuracyModifier(executingMove, target, hitIndex, ref accuracyModifier));
var modifiedAccuracy = (int)(moveAccuracy * accuracyModifier);
// ReSharper disable once AccessToModifiedClosure
executingMove.RunScriptHook(x => x.ChangeAccuracy(executingMove, target, hitIndex, ref modifiedAccuracy));
executingMove.RunScriptHook<IScriptChangeAccuracy>(x =>
x.ChangeAccuracy(executingMove, target, hitIndex, ref modifiedAccuracy));
if (modifiedAccuracy >= 255)
return 255;
target.RunScriptHook(x => x.ChangeIncomingAccuracy(executingMove, target, hitIndex, ref modifiedAccuracy));
target.RunScriptHook<IScriptChangeIncomingAccuracy>(x =>
x.ChangeIncomingAccuracy(executingMove, target, hitIndex, ref modifiedAccuracy));
if (modifiedAccuracy >= 255)
return 255;
var targetEvasion = target.StatBoost.Evasion;
var ignoreEvasion = false;
executingMove.RunScriptHookInterface<IScriptBypassEvasionStatBoosts>(x =>
executingMove.RunScriptHook<IScriptBypassEvasionStatBoosts>(x =>
x.BypassEvasionStatBoosts(executingMove, target, hitIndex, ref ignoreEvasion));
if (ignoreEvasion)
targetEvasion = 0;