示例#1
0
        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);
            }
        }
示例#2
0
 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);
             }
         }
     }
 }