Exemple #1
0
        // Grants shield
        private static Buff CreateJapanese(int stage)
        {
            bool randomDistribution;

            switch (stage)
            {
            case 1:
                randomDistribution = true;
                break;

            case 2:
                randomDistribution = false;
                break;

            default:
                return(null);
            }

            Buff.BuffProperties buffProperties = new Buff.BuffProperties();
            buffProperties.ShieldFlat = 500;

            BuffJapanese buff = new BuffJapanese(buffProperties,
                                                 float.PositiveInfinity,
                                                 randomDistribution,
                                                 SynergyManager.FiguresInSynergy[(int)Enums.Synergy.Japanese].Count);

            return(buff);
        }
Exemple #2
0
        // Buffs are stronger
        private static Buff CreateBeauty(int stage)
        {
            Buff.BuffProperties buffProperties = new Buff.BuffProperties();
            switch (stage)
            {
            case 1:
                buffProperties.BuffEfficiencyCoefficient = 1.5f;
                break;

            case 2:
                buffProperties.BuffEfficiencyCoefficient = 2.5f;
                break;

            case 3:
                buffProperties.BuffEfficiencyCoefficient = 4f;
                break;

            default:
                return(null);
            }

            BuffBeauty buff = new BuffBeauty(buffProperties, float.PositiveInfinity);

            return(buff);
        }
Exemple #3
0
        // Ignore damage flat
        private static Buff CreateSumerian(int stage)
        {
            int damageReduction = 0;

            switch (stage)
            {
            case 1:
                damageReduction = 25;
                break;

            case 2:
                damageReduction = 60;
                break;

            case 3:
                damageReduction = 100;
                break;

            default:
                return(null);
            }

            Buff.BuffProperties buffProperties = new Buff.BuffProperties();
            buffProperties.DamageReduction = damageReduction;

            BuffSumerian buff = new BuffSumerian(buffProperties, float.PositiveInfinity);

            return(buff);
        }
Exemple #4
0
        // Basic attacks apply True damage DOT, prone to buggs
        private static Buff CreateMaya(int stage)
        {
            int damagePerSec = 0;

            switch (stage)
            {
            case 1:
                damagePerSec = 50;
                break;

            case 2:
                damagePerSec = 150;
                break;

            case 3:
                damagePerSec = 250;
                break;

            default:
                return(null);
            }

            BuffMayaOnHit buffE = new BuffMayaOnHit(damagePerSec);

            Buff.BuffProperties buffProperties = new Buff.BuffProperties();
            buffProperties.AttackCarriedBuffs.Add(buffE);

            BuffMaya buff = new BuffMaya(buffProperties, float.PositiveInfinity);

            return(buff);
        }
Exemple #5
0
        // Invulnerable at the start of the combat
        private static Buff CreateHarvest(int stage)
        {
            float duration = 0;

            switch (stage)
            {
            case 1:
                duration = 2;
                break;

            case 2:
                duration = 4;
                break;

            case 3:
                duration = 6;
                break;

            default:
                return(null);
            }

            Buff.BuffProperties buffProperties = new Buff.BuffProperties();
            ++buffProperties.IsInvounrable;

            BuffHarvest buff = new BuffHarvest(buffProperties, duration);

            return(buff);
        }
Exemple #6
0
        // Basic attacks deal AOE, prone to buggs, so requires extra testing
        private static Buff CreateHindu(int stage)
        {
            float damageCoefficient = 0;

            switch (stage)
            {
            case 1:
                damageCoefficient = 0.5f;
                break;

            case 2:
                damageCoefficient = 1f;
                break;

            case 3:
                damageCoefficient = 1.5f;
                break;

            default:
                return(null);
            }

            BuffHinduExplosion buffE = new BuffHinduExplosion(damageCoefficient);

            Buff.BuffProperties buffProperties = new Buff.BuffProperties();
            buffProperties.AttackCarriedBuffs.Add(buffE);

            BuffHindu buff = new BuffHindu(buffProperties, float.PositiveInfinity);

            return(buff);
        }
Exemple #7
0
        // Grants magic resist
        private static Buff CreateWisdom(int stage)
        {
            Buff.BuffProperties buffProperties = new Buff.BuffProperties();
            switch (stage)
            {
            case 1:
                buffProperties.MagicResistPercentage = 40;
                break;

            case 2:
                buffProperties.MagicResistPercentage = 70;
                break;

            case 3:
                buffProperties.MagicResistPercentage = 150;
                break;

            default:
                return(null);
            }

            BuffWisdom buff = new BuffWisdom(buffProperties, float.PositiveInfinity);

            return(buff);
        }
Exemple #8
0
        // Grants ability power
        private static Buff CreateWater(int stage)
        {
            Buff.BuffProperties buffProperties = new Buff.BuffProperties();
            switch (stage)
            {
            case 1:
                buffProperties.AbilityPowerFlat = 50;
                break;

            case 2:
                buffProperties.AbilityPowerFlat = 100;
                break;

            case 3:
                buffProperties.AbilityPowerFlat = 150;
                break;

            default:
                return(null);
            }

            BuffWater buff = new BuffWater(buffProperties, float.PositiveInfinity);

            return(buff);
        }
Exemple #9
0
        // Grants health
        private static Buff CreateChief(int stage)
        {
            Buff.BuffProperties buffProperties = new Buff.BuffProperties();
            switch (stage)
            {
            case 1:
                buffProperties.HealthFlat = 200;
                break;

            case 2:
                buffProperties.HealthFlat = 450;
                break;

            case 3:
                buffProperties.HealthFlat = 1000;
                break;

            default:
                return(null);
            }

            BuffChief buff = new BuffChief(buffProperties, float.PositiveInfinity);

            return(buff);
        }
Exemple #10
0
        // Stuns every X attacks
        private static Buff CreateThunder(int stage)
        {
            int stackNumber = 0;

            switch (stage)
            {
            case 1:
                stackNumber = 5;
                break;

            case 2:
                stackNumber = 4;
                break;

            case 3:
                stackNumber = 3;
                break;

            default:
                return(null);
            }

            BuffThunderOnHit buffE = new BuffThunderOnHit(stackNumber);

            Buff.BuffProperties buffProperties = new Buff.BuffProperties();
            buffProperties.AttackCarriedBuffs.Add(buffE);

            BuffThunder buff = new BuffThunder(buffProperties, float.PositiveInfinity);

            return(buff);
        }
Exemple #11
0
            public (float, Enums.DamageType) AddStack()
            {
                if (++_stackNumber >= _maxStacks)
                {
                    Buff.BuffProperties buffProperties = new Buff.BuffProperties();
                    ++buffProperties.Stunned;

                    BuffThunderProc buff = new BuffThunderProc(buffProperties, 1.5f);

                    List <Buff> buffs = new List <Buff>();
                    buffs.Add(buff);
                    Attack attack = new Attack(Enums.TargetingSystem.Self, Enums.DamageType.none, 0, 0, 0, null, buffs);
                    attack.AddSource(_target);
                }
                return(0, Enums.DamageType.none);
            }
Exemple #12
0
        // Has damage return
        private static Buff CreateChinese(int stage)
        {
            switch (stage)
            {
            case 1:
                Buff.BuffProperties buffProperties = new Buff.BuffProperties();
                buffProperties.HasDamageReturn++;

                BuffChinese buff = new BuffChinese(buffProperties, float.PositiveInfinity);

                return(buff);

            default:
                return(null);
            }
        }
Exemple #13
0
        // All damage is true damage
        private static Buff CreateVoodoo(int stage)
        {
            switch (stage)
            {
            case 1:
                Buff.BuffProperties buffProperties = new Buff.BuffProperties();
                buffProperties.AbilityDamageType    = Enums.DamageType.True;
                buffProperties.AutoAttackDamageType = Enums.DamageType.True;

                BuffVoodoo buff = new BuffVoodoo(buffProperties, float.PositiveInfinity);

                return(buff);

            default:
                return(null);
            }
        }
Exemple #14
0
        // All damage is magical damage
        private static Buff CreateNorse(int stage)
        {
            switch (stage)
            {
            case 1:
                Buff.BuffProperties buffProperties = new Buff.BuffProperties();
                buffProperties.AbilityDamageType    = Enums.DamageType.Magical;
                buffProperties.AutoAttackDamageType = Enums.DamageType.Magical;

                BuffNorse buff = new BuffNorse(buffProperties, float.PositiveInfinity);

                return(buff);

            default:
                return(null);
            }
        }
Exemple #15
0
        // doubles ability power and attack damage
        private static Buff CreateDragon(int stage)
        {
            Buff.BuffProperties buffProperties = new Buff.BuffProperties();
            switch (stage)
            {
            case 1:
            case 3:     //Every time all units get buff(Only if there is 1 unit or all units)
                buffProperties.AttackDamagePercentage = 100;
                buffProperties.AbilityPowerPercentage = 100;
                break;

            case 2:
            default:
                return(null);
            }

            BuffDragon buff = new BuffDragon(buffProperties, float.PositiveInfinity);

            return(buff);
        }
Exemple #16
0
        // Grants attack damage
        private static Buff CreateHunt(int stage)
        {
            Buff.BuffProperties buffProperties = new Buff.BuffProperties();
            switch (stage)
            {
            case 1:
                buffProperties.AttackDamageFlat = 15;
                break;

            case 2:
                buffProperties.AttackDamageFlat = 40;
                break;

            default:
                return(null);
            }

            BuffHunt buff = new BuffHunt(buffProperties, float.PositiveInfinity);

            return(buff);
        }
Exemple #17
0
        // Get attack speed on ult
        private static Buff CreateCeltic(int stage)
        {
            Buff.BuffProperties buffProperties = new Buff.BuffProperties();
            switch (stage)
            {
            case 1:
                buffProperties.AttackSpeedPercentage = 50;
                break;

            case 2:
                buffProperties.AttackSpeedPercentage = 100;
                break;

            case 3:
                buffProperties.AttackSpeedPercentage = 150;
                break;

            default:
                return(null);
            }
            BuffAztec buff = new BuffAztec(buffProperties, float.PositiveInfinity);

            return(buff);
        }
Exemple #18
0
 public Buff(Buff.BuffProperties buffStats, float duration) : this()
 {
     _buffStats = buffStats;
     _duration  = duration;
 }