Exemple #1
0
 /// <summary>
 /// Gets the counter as a string.
 /// </summary>
 /// <returns>Counter as a string.</returns>
 public override string ToString()
 {
     return($@"**{Name}**: {FastAttack.PokemonMoveToString()} / {ChargeAttack.PokemonMoveToString()}");
 }
        public static IAdditionalEffect CreateAdditionalEffect(AdditionalEffect additionalEffectRow)
        {
            IAdditionalEffect additionalEffect = null;
            int id = additionalEffectRow.ID;

            switch (id)
            {
            case (int)AdditionalEffectEnum.SameDamageLow:
                additionalEffect = new AlwaysSameDamage();
                break;

            case (int)AdditionalEffectEnum.SameDamageHigh:
                additionalEffect = new AlwaysSameDamage();
                break;

            case (int)AdditionalEffectEnum.SameDamageLevel:
                additionalEffect = new AlwaysSameDamage();
                break;

            case (int)AdditionalEffectEnum.DrainLife:
                additionalEffect = new AdditionalEffect();
                break;

            case (int)AdditionalEffectEnum.LeechLife:
                additionalEffect = new AdditionalEffect();
                break;

            case (int)AdditionalEffectEnum.Fast:
                additionalEffect = new FastAttack();
                break;

            case (int)AdditionalEffectEnum.AlwaysHits:
                additionalEffect = new AlwaysHits();
                break;

            case (int)AdditionalEffectEnum.HighCriticalChance:
                additionalEffect = new HighCriticalRatio();
                break;

            case (int)AdditionalEffectEnum.BoostCriticalSelf:
                additionalEffect = new CritBoosting();
                break;

            case (int)AdditionalEffectEnum.BoostCriticalTarget:
                additionalEffect = new CritBoosting();
                break;

            case (int)AdditionalEffectEnum.ChargeLow:
                additionalEffect = new AdditionalEffect();
                break;

            case (int)AdditionalEffectEnum.ChargeHigh:
                additionalEffect = new AdditionalEffect();
                break;

            case (int)AdditionalEffectEnum.RechargeLow:
                additionalEffect = new AdditionalEffect();
                break;

            case (int)AdditionalEffectEnum.RechargeHigh:
                additionalEffect = new AdditionalEffect();
                break;

            case (int)AdditionalEffectEnum.TwoToFiveHits:
                additionalEffect = new AdditionalEffect();
                break;

            case (int)AdditionalEffectEnum.SwapPokemonMax:
                additionalEffect = new AdditionalEffect();
                break;

            case (int)AdditionalEffectEnum.PoisonWeak:
                additionalEffect = new StatusChanger();
                break;

            case (int)AdditionalEffectEnum.PoisonMid:
                additionalEffect = new StatusChanger();
                break;

            case (int)AdditionalEffectEnum.PoisonHigh:
                additionalEffect = new StatusChanger();
                break;

            case (int)AdditionalEffectEnum.PoisonMax:
                additionalEffect = new StatusChanger();
                break;

            case (int)AdditionalEffectEnum.BurnWeak:
                additionalEffect = new StatusChanger();
                break;

            case (int)AdditionalEffectEnum.BurnMaxSelf:
                additionalEffect = new StatusChanger();
                break;

            case (int)AdditionalEffectEnum.ParalysisWeak:
                additionalEffect = new StatusChanger();
                break;

            case (int)AdditionalEffectEnum.ParalysisMax:
                additionalEffect = new StatusChanger();
                break;

            case (int)AdditionalEffectEnum.ParalysisMaxWeak:
                additionalEffect = new StatusChanger();
                break;

            case (int)AdditionalEffectEnum.ParalysisMaxSelf:
                additionalEffect = new StatusChanger();
                break;

            case (int)AdditionalEffectEnum.SleepMax:
                additionalEffect = new StatusChanger();
                break;

            case (int)AdditionalEffectEnum.SleepMaxSelf:
                additionalEffect = new StatusChanger();
                break;

            case (int)AdditionalEffectEnum.FlinchWeak:
                additionalEffect = new StatusChanger();
                break;

            case (int)AdditionalEffectEnum.ConfusionWeak:
                additionalEffect = new StatusChanger();
                break;

            case (int)AdditionalEffectEnum.ConfusionMax:
                additionalEffect = new StatusChanger();
                break;

            default:
                additionalEffect = new AdditionalEffect();
                break;
            }

            additionalEffect.SetAdditionalEffectProperties(additionalEffectRow);

            return(additionalEffect);
        }