Move all battle state from IPokemon to an ephemeral IBattlePokemon wrapper
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user