Move all battle state from IPokemon to an ephemeral IBattlePokemon wrapper

This commit is contained in:
2026-08-28 15:20:26 +02:00
parent 942be8eaeb
commit 8a2733a0a9
859 changed files with 4408 additions and 5331 deletions

View File

@@ -4,7 +4,7 @@ namespace PkmnLib.Plugin.Gen7.Scripts.Moves;
public class Sketch : Script, IScriptOnSecondaryEffect
{
/// <inheritdoc />
public void OnSecondaryEffect(IExecutingMove move, IPokemon target, byte hit)
public void OnSecondaryEffect(IExecutingMove move, IBattlePokemon target, byte hit)
{
// Defensive programming; If the move we're using is not the same as the one picked, something changed
// our move to sketch. This should never happen, as moves are not allowed to change to sketch, but in the
@@ -21,7 +21,7 @@ public class Sketch : Script, IScriptOnSecondaryEffect
return;
}
var lastMove = target.BattleData?.LastMoveChoice;
var lastMove = target.LastMoveChoice;
if (lastMove == null || lastMove.ChosenMove.MoveData.HasFlag(MoveFlags.NotSketchable))
{
move.GetHitData(target, hit).Fail();