示例#1
0
        internal static double GetEDmg(Obj_AI_Base target)
        {
            if (target == null)
            {
                return(0d);
            }

            var stacksPassive = Me.Buffs.Find(b => b.DisplayName.Equals("YasuoDashScalar"));
            var Estacks       = stacksPassive?.Count ?? 0;
            var damage        = (E.Level * 20 + 50) * (1 + 0.25 * Estacks) + Me.FlatMagicDamageMod * 0.6;

            return(Me.CalcDamage(target, Damage.DamageType.Magical, damage));
        }
示例#2
0
        internal static double GetQDmg(Obj_AI_Base target)
        {
            if (target == null)
            {
                return(0d);
            }

            var dmgItem = 0d;

            if (Items.HasItem(3057) && (Items.CanUseItem(3057) || Me.HasBuff("Sheen")))
            {
                dmgItem = Me.BaseAttackDamage;
            }

            if (Items.HasItem(3078) && (Items.CanUseItem(3078) || Me.HasBuff("Sheen")))
            {
                dmgItem = Me.BaseAttackDamage * 2;
            }

            var damageModifier = 1d;
            var reduction      = 0d;
            var result         = dmgItem
                                 + Me.TotalAttackDamage * (Me.Crit >= 0.85f ? (Items.HasItem(3031) ? 1.875 : 1.5) : 1);

            if (Items.HasItem(3153))
            {
                var dmgBotrk = Math.Max(0.08 * target.Health, 10);
                result += target is Obj_AI_Minion?Math.Min(dmgBotrk, 60) : dmgBotrk;
            }

            var targetHero = target as AIHeroClient;

            if (targetHero != null)
            {
                if (Items.HasItem(3047, targetHero))
                {
                    damageModifier *= 0.9d;
                }

                if (targetHero.ChampionName == "Fizz")
                {
                    reduction += 4 + (targetHero.Level - 1 / 3) * 2;
                }

                var mastery = targetHero.Masteries.FirstOrDefault(i => i.Page == MasteryPage.Defense && i.Id == 68);

                if (mastery != null && mastery.Points >= 1)
                {
                    reduction += 1 * mastery.Points;
                }
            }

            return(Me.CalcDamage(
                       target,
                       Damage.DamageType.Physical,
                       20 * Q.Level + (result - reduction) * damageModifier)
                   + (Me.GetBuffCount("ItemStatikShankCharge") == 100
                       ? Me.CalcDamage(
                          target,
                          Damage.DamageType.Magical,
                          100 * (Me.Crit >= 0.85f ? (Items.HasItem(3031) ? 2.25 : 1.8) : 1))
                       : 0));
        }