public override void OnPokemonSwapped(object sender, PokemonSwappedEventArgs args) { if (modifiers.ContainsKey(args.SwappedPokemon)) { modifiers[args.SwappedPokemon].Dispose(); modifiers.Remove(args.SwappedPokemon); } if (args.Action.Slot.Pokemon.Types.Contains(BuffedType)) { IModifier modifier = new SandstormModifier(this); args.Action.Slot.Pokemon.Stats.Modifiers[Statistic.SpecialDefense].AddModifier(SpecialDefenseModifierLevel, modifier); modifiers.Add(args.Action.Slot.Pokemon, modifier); } }
public override void OnBattleStart(object sender, EventArgs args) { foreach (Team team in args.Battle) { foreach (Slot slot in team) { if (slot.Pokemon.Types.Contains(BuffedType)) { IModifier modifier = new SandstormModifier(this); slot.Pokemon.Stats.Modifiers[Statistic.SpecialDefense].AddModifier(SpecialDefenseModifierLevel, modifier); modifiers.Add(slot.Pokemon, modifier); } } } }