Implements AI Switching
All checks were successful
Build / Build (push) Successful in 58s

This commit is contained in:
2025-07-12 13:03:00 +02:00
parent 364d4b9080
commit bf83b25238
34 changed files with 903 additions and 226 deletions

View File

@@ -60,10 +60,10 @@ public class ChangeUserAttack : ChangeUserStats
}
[AIMoveFailureFunction]
public static bool AIMoveWillFail(MoveOption option) => WouldMoveFail(option, Statistic.Attack);
public static bool AIMoveWillFail(IExplicitAI ai, MoveOption option) => WouldMoveFail(option, Statistic.Attack);
[AIMoveScoreFunction]
public static void AIMoveEffectScore(MoveOption option, ref int score) =>
public static void AIMoveEffectScore(IExplicitAI ai, MoveOption option, ref int score) =>
GetMoveEffectScore(option, Statistic.Attack, ref score);
}
@@ -75,10 +75,10 @@ public class ChangeUserDefense : ChangeUserStats
}
[AIMoveFailureFunction]
public static bool AIMoveWillFail(MoveOption option) => WouldMoveFail(option, Statistic.Defense);
public static bool AIMoveWillFail(IExplicitAI ai, MoveOption option) => WouldMoveFail(option, Statistic.Defense);
[AIMoveScoreFunction]
public static void AIMoveEffectScore(MoveOption option, ref int score) =>
public static void AIMoveEffectScore(IExplicitAI ai, MoveOption option, ref int score) =>
GetMoveEffectScore(option, Statistic.Defense, ref score);
}
@@ -90,10 +90,11 @@ public class ChangeUserSpecialAttack : ChangeUserStats
}
[AIMoveFailureFunction]
public static bool AIMoveWillFail(MoveOption option) => WouldMoveFail(option, Statistic.SpecialAttack);
public static bool AIMoveWillFail(IExplicitAI ai, MoveOption option) =>
WouldMoveFail(option, Statistic.SpecialAttack);
[AIMoveScoreFunction]
public static void AIMoveEffectScore(MoveOption option, ref int score) =>
public static void AIMoveEffectScore(IExplicitAI ai, MoveOption option, ref int score) =>
GetMoveEffectScore(option, Statistic.SpecialAttack, ref score);
}
@@ -105,10 +106,11 @@ public class ChangeUserSpecialDefense : ChangeUserStats
}
[AIMoveFailureFunction]
public static bool AIMoveWillFail(MoveOption option) => WouldMoveFail(option, Statistic.SpecialDefense);
public static bool AIMoveWillFail(IExplicitAI ai, MoveOption option) =>
WouldMoveFail(option, Statistic.SpecialDefense);
[AIMoveScoreFunction]
public static void AIMoveEffectScore(MoveOption option, ref int score) =>
public static void AIMoveEffectScore(IExplicitAI ai, MoveOption option, ref int score) =>
GetMoveEffectScore(option, Statistic.SpecialDefense, ref score);
}
@@ -120,10 +122,10 @@ public class ChangeUserSpeed : ChangeUserStats
}
[AIMoveFailureFunction]
public static bool AIMoveWillFail(MoveOption option) => WouldMoveFail(option, Statistic.Speed);
public static bool AIMoveWillFail(IExplicitAI ai, MoveOption option) => WouldMoveFail(option, Statistic.Speed);
[AIMoveScoreFunction]
public static void AIMoveEffectScore(MoveOption option, ref int score) =>
public static void AIMoveEffectScore(IExplicitAI ai, MoveOption option, ref int score) =>
GetMoveEffectScore(option, Statistic.Speed, ref score);
}
@@ -135,10 +137,10 @@ public class ChangeUserAccuracy : ChangeUserStats
}
[AIMoveFailureFunction]
public static bool AIMoveWillFail(MoveOption option) => WouldMoveFail(option, Statistic.Accuracy);
public static bool AIMoveWillFail(IExplicitAI ai, MoveOption option) => WouldMoveFail(option, Statistic.Accuracy);
[AIMoveScoreFunction]
public static void AIMoveEffectScore(MoveOption option, ref int score) =>
public static void AIMoveEffectScore(IExplicitAI ai, MoveOption option, ref int score) =>
GetMoveEffectScore(option, Statistic.Accuracy, ref score);
}
@@ -150,9 +152,9 @@ public class ChangeUserEvasion : ChangeUserStats
}
[AIMoveFailureFunction]
public static bool AIMoveWillFail(MoveOption option) => WouldMoveFail(option, Statistic.Evasion);
public static bool AIMoveWillFail(IExplicitAI ai, MoveOption option) => WouldMoveFail(option, Statistic.Evasion);
[AIMoveScoreFunction]
public static void AIMoveEffectScore(MoveOption option, ref int score) =>
public static void AIMoveEffectScore(IExplicitAI ai, MoveOption option, ref int score) =>
GetMoveEffectScore(option, Statistic.Evasion, ref score);
}