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,10 +3,10 @@ namespace PkmnLib.Plugin.Gen7.Scripts.Battle;
[Script(ScriptCategory.Battle, "water_sport")]
public class WaterSportEffect : Script, IScriptChangeMoveDamage, IScriptOnSwitchOut
{
public readonly HashSet<IPokemon> Placers = new();
public readonly HashSet<IBattlePokemon> Placers = new();
/// <inheritdoc />
public void ChangeMoveDamage(IExecutingMove move, IPokemon target, byte hit, ref uint damage)
public void ChangeMoveDamage(IExecutingMove move, IBattlePokemon target, byte hit, ref uint damage)
{
if (move.UseMove.MoveType.Name == TypeNames.Fire)
{
@@ -15,7 +15,7 @@ public class WaterSportEffect : Script, IScriptChangeMoveDamage, IScriptOnSwitch
}
/// <inheritdoc />
public void OnSwitchOut(IPokemon oldPokemon, byte position)
public void OnSwitchOut(IBattlePokemon oldPokemon, byte position)
{
if (!Placers.Contains(oldPokemon))
return;