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

@@ -3,9 +3,9 @@ namespace PkmnLib.Plugin.Gen7.Scripts.Pokemon;
[Script(ScriptCategory.Pokemon, "imprison")]
public class ImprisonEffect : Script, IScriptPreventMoveSelection
{
private readonly IPokemon _user;
private readonly IBattlePokemon _user;
public ImprisonEffect(IPokemon user)
public ImprisonEffect(IBattlePokemon user)
{
_user = user;
}
@@ -13,7 +13,7 @@ public class ImprisonEffect : Script, IScriptPreventMoveSelection
/// <inheritdoc />
public void PreventMoveSelection(IMoveChoice choice, ref bool prevent)
{
if (choice.User.BattleData?.BattleSide == _user.BattleData?.BattleSide)
if (choice.User.BattleSide == _user.BattleSide)
return;
if (_user.Moves.WhereNotNull().Any(x => x.MoveData.Name == choice.ChosenMove.MoveData.Name))