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

@@ -10,17 +10,17 @@ namespace PkmnLib.Plugin.Gen7.Scripts.Abilities;
public class AromaVeil : Script, IScriptOnSwitchIn, IScriptOnSwitchOut
{
/// <inheritdoc />
public void OnSwitchIn(IPokemon pokemon, byte position)
public void OnSwitchIn(IBattlePokemon pokemon, byte position)
{
var side = pokemon.BattleData?.BattleSide;
var side = pokemon.BattleSide;
var effect = side?.VolatileScripts.Add(new Side.AromaVeilEffect())?.Script as Side.AromaVeilEffect;
effect?.PlacerActivated(pokemon);
}
/// <inheritdoc />
public void OnSwitchOut(IPokemon oldPokemon, byte position)
public void OnSwitchOut(IBattlePokemon oldPokemon, byte position)
{
var side = oldPokemon.BattleData?.BattleSide;
var side = oldPokemon.BattleSide;
var effect = side?.VolatileScripts.Get<Side.AromaVeilEffect>();
effect?.PlacerDeactivated(oldPokemon);
}