Beispiel #1
0
        private static double GetPassiveDamage(AIHeroClient target)
        {
            if (target == null || !target.IsValidTarget())
            {
                return(0d);
            }

            var basicDamage = GetBasicDamage + GetBasicValueForHP * target.MaxHealth;

            return(Me.CalculateDamage(target, DamageType.Physical, basicDamage));
        }
Beispiel #2
0
        private static double GetEDamage(AIBaseClient target)
        {
            if (target == null || target.IsDead || !target.IsValidTarget())
            {
                return(0);
            }

            var DMG = new double[] { 45, 80, 115, 150, 185 }[Me.Spellbook.GetSpell(SpellSlot.E).Level - 1] +0.5 * Me.FlatPhysicalDamageMod;

            return(Me.CalculateDamage(target, DamageType.Magical, DMG));
        }
Beispiel #3
0
        public static double GetRDamage(AIHeroClient target, bool calculate25 = false)
        {
            if (target == null || !target.IsValidTarget())
            {
                return(0d);
            }

            var rDMG = new double[] { 50, 175, 300 }[R.Level - 1] +0.5 * Me.FlatPhysicalDamageMod;

            return(Me.CalculateDamage(target, DamageType.Physical, rDMG) + (calculate25 ? target.MaxHealth * 0.249 : 0));
        }
Beispiel #4
0
        public static double GetWDamage(AIBaseClient target, int time = 1)
        {
            if (target == null || !target.IsValidTarget())
            {
                return(0d);
            }

            var wDMG = 12 + new[] { 0.20, 0.24, 0.28, 0.32, 0.36 }[W.Level - 1] *Me.FlatPhysicalDamageMod * 3 * time;

            return(Me.CalculateDamage(target, DamageType.Physical, wDMG));
        }
Beispiel #5
0
        internal static double GetWDamage(Obj_AI_Base target, int time = 1)
        {
            if (target == null || !target.IsValidTarget())
            {
                return(0d);
            }

            var wDMG = 12 + new[] { 0.20, 0.24, 0.28, 0.32, 0.36 }[W.GetBasicSpell().Level - 1] *Me.FlatPhysicalDamageMod * 3 * time;

            return(Me.CalculateDamage(target, DamageType.Physical, wDMG));
        }
Beispiel #6
0
        private static double GetRDamage(AIBaseClient target)
        {
            if (Me.Spellbook.GetSpell(SpellSlot.R).Level == 0 || Me.Spellbook.GetSpell(SpellSlot.R).State != SpellState.Ready)
            {
                return(0f);
            }

            var rDMG = new double[] { 20, 35, 50 }[Me.Spellbook.GetSpell(SpellSlot.R).Level - 1] +
            0.1 * Me.TotalMagicalDamage + 0.2 * Me.FlatPhysicalDamageMod;

            return(Me.CalculateDamage(target, DamageType.Magical, rDMG));
        }
Beispiel #7
0
        internal static double GetWDamage(Obj_AI_Base target, bool ignoreCheck = false)
        {
            if (!isMelee || !ignoreCheck)
            {
                return(0);
            }

            var level = W.GetBasicSpell().Level - 1;

            var meleeDMG = new double[] { 100, 160, 220, 280, 340, 400 }[level] +1 * Me.FlatPhysicalDamageMod;

            return(Me.CalculateDamage(target, DamageType.Magical, meleeDMG));
        }
Beispiel #8
0
        public static double GetWDamage(AIBaseClient target, bool ignoreCheck = false)
        {
            if (!isMelee || !ignoreCheck)
            {
                return(0);
            }

            var level = W.Level - 1;

            var meleeDMG = new double[] { 100, 160, 220, 280, 340, 400 }[level] +1 * Me.FlatPhysicalDamageMod;

            return(Me.CalculateDamage(target, DamageType.Magical, meleeDMG));
        }
Beispiel #9
0
        public static double GetWDamage(AIBaseClient target)
        {
            if (target == null || target.IsDead || !target.IsValidTarget() ||
                !target.Buffs.Any(x => x.Name.ToLower() == "vaynesilvereddebuff" && x.Count == 2))
            {
                return(0);
            }

            var DMG = target.Type == GameObjectType.AIMinionClient
                ? Math.Min(200, new[] { 6, 7.5, 9, 10.5, 12 }[Me.Spellbook.GetSpell(SpellSlot.W).Level - 1] / 100 * target.MaxHealth)
                : new[] { 6, 7.5, 9, 10.5, 12 }[Me.Spellbook.GetSpell(SpellSlot.W).Level - 1] / 100 * target.MaxHealth;

            return(Me.CalculateDamage(target, DamageType.True, DMG));
        }
Beispiel #10
0
        internal static double GetEDMGTwitch(Obj_AI_Base target)
        {
            if (target.Buffs.All(b => b.Name.ToLower() != "twitchdeadlyvenom"))
            {
                return(0);
            }

            double eDamage = 0;

            var basicDMG = new double[] { 20, 35, 50, 65, 80 }[Me.GetSpell(SpellSlot.E).Level - 1];
            var countDMG = new double[] { 15, 20, 25, 30, 35 }[Me.GetSpell(SpellSlot.E).Level - 1] +
            0.25f * Me.FlatPhysicalDamageMod + 0.20f * Me.FlatMagicDamageMod;

            eDamage = basicDMG + countDMG * GetEStackCount(target);

            return(Me.CalculateDamage(target, DamageType.Physical, eDamage));
        }
Beispiel #11
0
        internal static double GetQDamage(Obj_AI_Base target, bool getmeleeDMG = false, bool getcannonDMG = false)
        {
            var level = Q.GetBasicSpell().Level - 1;

            var meleeDMG  = new double[] { 35, 70, 105, 140, 175, 210 }[level] +1 * Me.FlatPhysicalDamageMod;
            var cannonDMG = new double[] { 70, 120, 170, 220, 270, 320 }[level] +1.2 * Me.FlatPhysicalDamageMod;

            if (getmeleeDMG)
            {
                return(Me.CalculateDamage(target, DamageType.Physical, meleeDMG));
            }

            if (getcannonDMG)
            {
                return(Me.CalculateDamage(target, DamageType.Physical, cannonDMG));
            }

            return(Me.CalculateDamage(target, DamageType.Physical, isMelee ? meleeDMG : cannonDMG));
        }
Beispiel #12
0
        public static double GetEDMG(AIBaseClient target, int eCount)
        {
            if (eCount == 0)
            {
                return(0);
            }

            double damage     = 0;
            double multiplier = 1;
            var    basicDMG   = new double[] { 50, 60, 70, 80, 90 }[E.Level - 1] +
            0.6 * Me.FlatPhysicalDamageMod;
            var realBasicDMG = basicDMG + basicDMG * 0.5 * Me.Crit;

            for (var cycle = 0; cycle <= eCount; cycle++)
            {
                multiplier -= 0.1 * cycle;
                damage     += Me.CalculateDamage(target, DamageType.Physical, realBasicDMG) * Math.Max(0.1, multiplier);
            }

            return((float)damage);
        }
Beispiel #13
0
        internal static double GetEDamage(Obj_AI_Base target, bool ignoreCheck = false)
        {
            if (!isMelee || !ignoreCheck)
            {
                return(0);
            }

            var level = E.GetBasicSpell().Level - 1;

            var meleeDMG = new[] { 0.08, 0.104, 0.128, 0.152, 0.176, 0.20 }[level] *target.MaxHealth + 1 * Me.FlatPhysicalDamageMod;
            var mobDMG   = new double[] { 200, 300, 400, 500, 600 }[level];

            if (target.Type == GameObjectType.obj_AI_Hero)
            {
                if (meleeDMG > mobDMG)
                {
                    return(mobDMG);
                }
            }

            return(Me.CalculateDamage(target, DamageType.Magical, meleeDMG));
        }