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

@@ -17,9 +17,9 @@ public class EmbargoTests
/// <summary>
/// Creates a target Pokémon whose volatile scripts are a real <see cref="ScriptSet"/>.
/// </summary>
private static (IPokemon target, IScriptSet targetVolatile) CreateTarget()
private static (IBattlePokemon target, IScriptSet targetVolatile) CreateTarget()
{
var target = Substitute.For<IPokemon>();
var target = Substitute.For<IBattlePokemon>();
target.GetScripts().Returns(_ => new ScriptIterator(Array.Empty<IEnumerable<ScriptContainer>>()));
IScriptSet targetVolatile = new ScriptSet(target);
target.Volatile.Returns(targetVolatile);
@@ -57,7 +57,7 @@ public class EmbargoTests
var prevented = false;
// Act
effect.PreventHeldItemConsume(Substitute.For<IPokemon>(), Substitute.For<IItem>(), ref prevented);
effect.PreventHeldItemConsume(Substitute.For<IBattlePokemon>(), Substitute.For<IItem>(), ref prevented);
// Assert
await Assert.That(prevented).IsTrue();