Further work on refactor to interface based scripts

This commit is contained in:
2025-06-28 18:40:33 +02:00
parent b7bdf2b744
commit 436d1899e0
352 changed files with 940 additions and 867 deletions

View File

@@ -52,7 +52,7 @@ public class Gen7BattleStatCalculator : IBattleStatCalculator
byte moveAccuracy)
{
var accuracyModifier = 1.0f;
executingMove.RunScriptHook(x =>
executingMove.RunScriptHookInterface<IScriptChangeAccuracyModifier>(x =>
x.ChangeAccuracyModifier(executingMove, target, hitIndex, ref accuracyModifier));
var modifiedAccuracy = (int)(moveAccuracy * accuracyModifier);
// ReSharper disable once AccessToModifiedClosure

View File

@@ -29,7 +29,7 @@ public class Gen7DamageCalculator(Gen7PluginConfiguration configuration) : IDama
if (hitData.IsCritical)
{
var critModifier = 1.5f;
executingMove?.RunScriptHook(script =>
executingMove?.RunScriptHookInterface<IScriptChangeCriticalModifier>(script =>
script.ChangeCriticalModifier(executingMove, target, hitNumber, ref critModifier));
floatDamage = MathF.Floor(floatDamage * critModifier);
}
@@ -51,7 +51,7 @@ public class Gen7DamageCalculator(Gen7PluginConfiguration configuration) : IDama
stabModifier = 1.5f;
isStab = true;
}
executingMove?.RunScriptHook(script =>
executingMove?.RunScriptHookInterface<IScriptChangeStabModifier>(script =>
script.ChangeStabModifier(executingMove, target, hitNumber, isStab, ref stabModifier));
floatDamage = MathF.Floor(floatDamage * stabModifier);
@@ -80,7 +80,8 @@ public class Gen7DamageCalculator(Gen7PluginConfiguration configuration) : IDama
if (executingMove.UseMove.Category == MoveCategory.Status)
return 0;
var basePower = (ushort)executingMove.UseMove.BasePower;
executingMove.RunScriptHook(script => script.ChangeBasePower(executingMove, target, hitNumber, ref basePower));
executingMove.RunScriptHookInterface<IScriptChangeBasePower>(script =>
script.ChangeBasePower(executingMove, target, hitNumber, ref basePower));
return basePower;
}
@@ -90,7 +91,7 @@ public class Gen7DamageCalculator(Gen7PluginConfiguration configuration) : IDama
if (executingMove.UseMove.Category == MoveCategory.Status)
return false;
byte critStage = 0;
executingMove.RunScriptHook(script =>
executingMove.RunScriptHookInterface<IScriptChangeCriticalStage>(script =>
script.ChangeCriticalStage(executingMove, target, hitNumber, ref critStage));
var random = battle.Random;