public static IBattleAttack Build(AttackName attackName) { switch (attackName) { case AttackName.Stab: return(new Stab("Stab", 5)); default: return(null); } }
private void ApplyModifier(PokemonCard pokemon) { var attack = pokemon.Attacks.FirstOrDefault(x => x.Name.ToLower() == AttackName.ToLower()); if (attack != null) { attack.DamageModifier = new DamageModifier(NewDamage, Turns); if (SelfDamageBoost > 0) { var effect = attack.Effects.OfType <DamageEffect>().FirstOrDefault(e => e.TargetingMode == TargetingMode.YourActive || e.TargetingMode == TargetingMode.Self); if (effect != null) { effect.DamageModifier = new DamageModifier(SelfDamageBoost, Turns); } } } }