Example #1
0
        /*    private static float ComboDamage(AIHeroClient target)
         * {
         *  if (target != null)
         *  {
         *      float TotalDamage = 0;
         *
         *      if (DemSpells.Q.IsLearned && DemSpells.Q.IsReady()) { TotalDamage += QDamage(target); }
         *
         *      if (DemSpells.W.IsLearned && DemSpells.W.IsReady()) { TotalDamage += WDamage(target); }
         *
         *      if (Item1.IsOwned() && Item1.IsReady() && Item1.IsInRange(target.Position))
         *      { TotalDamage += myhero.GetItemDamage(target, Item1.Id); }
         *
         *      return TotalDamage;
         *  }
         *  return 0;
         * }*/

        private static float QDamage(AIHeroClient target)
        {
            var qDamage = new[] { 0, 60, 105, 150, 195, 240 }[DemSpells.Q.Level] +
            (0.5f * Myhero.FlatMagicDamageMod);

            return(Myhero.CalculateDamageOnUnit(target, DamageType.Magical, qDamage));
        }
Example #2
0
        private static void Insec()
        {
            if (!Key(_misc, "INSECKEY"))
            {
                return;
            }

            var maxRange = Flash.Range + DemSpells.W.Range - 5;

            switch (Comb(_misc, "INSECMODE"))
            {
            case 0:
                if (Flash.IsReady() && DemSpells.W.IsReady() && DemSpells.Q.IsReady() &&
                    Myhero.CountEnemiesInRange(1500) >= Slider(_misc, "AOEMIN"))
                {
                    var enemies = EntityManager.Heroes.Enemies.Where(x => !x.IsDead && x.IsEnemy && x.IsValidTarget(maxRange - 20));

                    var aiHeroClients = enemies as IList <AIHeroClient> ?? enemies.ToList();
                    if (aiHeroClients.Count() == 1)
                    {
                        var enemy = aiHeroClients.ToList().FirstOrDefault();

                        if (enemy.CountEnemiesInRange(180) >= Slider(_misc, "AOEMIN"))
                        {
                            WQinsec(enemy);
                        }
                    }
                    else if (aiHeroClients.Count() > 1)
                    {
                        foreach (var enemy in aiHeroClients.OrderBy(x => x.Distance(Myhero.Position)).Where(enemy => enemy.CountEnemiesInRange(180) > Slider(_misc, "AOEMIN")))
                        {
                            WQinsec(enemy);
                        }
                    }
                }
                break;

            case 1:
                var closestTurret = EntityManager.Turrets.Allies.Where(x => x.Health > 50 && x.Distance(Myhero.Position) < 1400).OrderBy(x => x.Distance(Myhero.Position)).FirstOrDefault();

                var closestEnemy =
                    EntityManager.Heroes.Enemies.Where(x => !x.IsDead && x.Health > 50 && x.IsValidTarget(Flash.Range + 60)).OrderBy(x => x.Distance(Myhero.Position)).FirstOrDefault();

                if (Flash.IsReady() && DemSpells.W.IsReady() && closestTurret != null && closestEnemy != null)
                {
                    if (closestEnemy.Distance(closestTurret.Position) < 1400)
                    {
                        var distance = closestEnemy.Distance(closestTurret.Position);

                        var flashloc = closestTurret.Position.Extend(closestEnemy.Position, distance + 60).To3D();

                        if (Flash.Cast(flashloc))
                        {
                            Core.DelayAction(() => DemSpells.W.Cast(closestEnemy), 50);
                        }
                    }
                }
                break;
            }
        }
Example #3
0
        private static void Combo()
        {
            var target = TargetSelector.GetTarget(1200, DamageType.Physical, Player.Instance.Position);

            if (target != null && !target.IsInvulnerable)
            {
                var delay        = Math.Max(0, target.Distance(Myhero.Position) - 365) / 1.2f - 25;
                var currentPos   = target.Position;
                var knockbackPos = Myhero.Position.Extend(target.Position, 650);

                if (Check(_combo, "CE") && DemSpells.E.IsLearned && DemSpells.E.IsReady() &&
                    target.IsValidTarget(DemSpells.E.Range) && Myhero.Mana >= DemSpells.E.ManaCost)
                {
                    DemSpells.E.Cast();
                }

                if (Check(_combo, "CQ") && Check(_combo, "CW") && (DemSpells.Q.IsLearned && DemSpells.W.IsLearned) && (DemSpells.Q.IsReady() && DemSpells.W.IsReady()) &&
                    target.IsValidTarget(DemSpells.W.Range) && Myhero.Mana >= WQcost())
                {
                    if (DemSpells.Q.IsInRange(target.Position))
                    {
                        DemSpells.Q.Cast();
                    }

                    if (DemSpells.W.Cast(target))
                    {
                        Core.DelayAction(() => DemSpells.Q.Cast(), (int)delay);
                    }
                }
                else if (Check(_combo, "CQ") && DemSpells.Q.IsLearned && DemSpells.Q.IsReady() && target.IsValidTarget(DemSpells.Q.Range) &&
                         Myhero.CountEnemiesInRange(DemSpells.Q.Range) >= Slider(_combo, "CQMIN"))
                {
                    DemSpells.Q.Cast();
                }
                else if (Check(_combo, "CW") && DemSpells.W.IsLearned && DemSpells.W.IsReady() && target.IsValidTarget(DemSpells.W.Range) && EntityManager.Heroes.Allies.Any())
                {
                    var closestAlly = EntityManager.Heroes.Allies.Where(x => !x.IsDead && x.IsAlly && x.Distance(target.Position) < 1200).OrderBy(x => x.Distance(target.Position)).FirstOrDefault();

                    if (closestAlly.Distance(knockbackPos.To3D()) < closestAlly.Distance(currentPos) ||
                        knockbackPos.CountAlliesInRange(1000) > 0)
                    {
                        DemSpells.W.Cast(target);
                    }
                }
            }
        }
Example #4
0
        private static void OnDamage(AttackableUnit sender, AttackableUnitDamageEventArgs args)
        {
            if (!Key(_misc, "RKEY") || Comb(_misc, "RMODE") != 1 || !DemSpells.R.IsReady() ||
                Myhero.CountEnemiesInRange(1200) == 0)
            {
                return;
            }

            if (args.Target.NetworkId != Myhero.NetworkId ||
                !args.Target.IsMe)
            {
                return;
            }

            var player      = args.Target;
            var damageDealt = (int)Math.Floor((args.Damage / player.MaxHealth) * 100);

            if ((damageDealt >= Slider(_misc, "RMIND") || player.HealthPercent < Slider(_misc, "RMINH")) && !player.IsDead && player.IsMe && player.IsAlly && player.NetworkId == Myhero.NetworkId &&
                Myhero.CountEnemiesInRange(700) >= Slider(_misc, "RMINE"))
            {
                DemSpells.R.Cast();
            }
        }
Example #5
0
        private static void Harass()
        {
            var target = TargetSelector.GetTarget(1200, DamageType.Physical, Player.Instance.Position);

            if (target != null && target.IsValidTarget() && !target.IsInvulnerable)
            {
                if (Check(_harass, "HQ") && DemSpells.Q.IsLearned && DemSpells.Q.IsReady() &&
                    Myhero.CountEnemiesInRange(DemSpells.Q.Range) > Slider(_harass, "HQMIN"))
                {
                    DemSpells.Q.Cast();
                }

                if (Check(_harass, "HW") && DemSpells.W.IsLearned && DemSpells.W.IsReady() &&
                    target.Position.CountEnemiesInRange(1000) <= Slider(_harass, "HWMAX"))
                {
                    DemSpells.W.Cast(target);
                }

                if (Check(_harass, "HE") && DemSpells.E.IsLearned && DemSpells.E.IsReady() && target.IsValidTarget(DemSpells.E.Range))
                {
                    DemSpells.E.Cast();
                }
            }
        }
Example #6
0
        private static void Misc()
        {
            var target = TargetSelector.GetTarget(1000, DamageType.Magical, Player.Instance.Position);

            //var allies = EntityManager.Heroes.Allies.Where(x => !x.IsDead && x.IsAlly && !x.IsMe && x.Distance(Myhero.Position) < DemSpells.E.Range);
            var enemies = EntityManager.Heroes.Enemies.Where(x => !x.IsDead && x.IsEnemy && x.Distance(Myhero.Position) < 1500);

            if (Check(_misc, "skinhax"))
            {
                Myhero.SetSkinId(_misc["skinID"].Cast <ComboBox>().CurrentValue);
            }

            if (target != null && target.IsValidTarget() && !target.IsInvulnerable)
            {
                //var delay = Math.Max(0, target.Distance(Myhero.Position) - 365) / 1.2f - 25;

                if (Check(_misc, "KSQ") && DemSpells.Q.IsLearned && DemSpells.Q.IsReady() && target.IsValidTarget(DemSpells.Q.Range) &&
                    QDamage(target) > target.Health && !target.HasUndyingBuff() && !target.IsZombie && !target.IsInvulnerable)
                {
                    DemSpells.Q.Cast();
                }

                /* if (check(misc, "KSWQ") && (DemSpells.Q.IsLearned && DemSpells.W.IsLearned) && (DemSpells.Q.IsReady() && DemSpells.W.IsReady()) &&
                 *  target.IsValidTarget(DemSpells.W.Range) && myhero.Mana >= WQcost() &&
                 *  (QDamage(target) + WDamage(target)) > (target.Health + target.TotalMagicalDamage))
                 * {
                 *  if (DemSpells.Q.IsInRange(target.Position)) DemSpells.Q.Cast();
                 *
                 *  if (DemSpells.W.Cast(target))
                 *  {
                 *      Core.DelayAction(() => DemSpells.Q.Cast(), (int)delay);
                 *  }
                 * }*/

                if (Check(_misc, "autoign") && Ignt.IsReady() && target.IsValidTarget(Ignt.Range) &&
                    Myhero.GetSummonerSpellDamage(target, DamageLibrary.SummonerSpells.Ignite) > target.Health)
                {
                    Ignt.Cast(target);
                }
            }

            if (Check(_misc, "AUTOPOT") && (!Myhero.HasBuff("RegenerationPotion") || !Myhero.HasBuff("ItemMiniRegenPotion")) &&
                Myhero.HealthPercent <= Slider(_misc, "POTMIN"))
            {
                if (Item.HasItem(Potion.Id) && Item.CanUseItem(Potion.Id))
                {
                    Potion.Cast();
                }

                else if (Item.HasItem(Biscuit.Id) && Item.CanUseItem(Biscuit.Id))
                {
                    Biscuit.Cast();
                }
            }

            if (Key(_misc, "RKEY") && Comb(_misc, "RMODE") == 0 && DemSpells.R.IsLearned && DemSpells.R.IsReady() && Myhero.HealthPercent <= Slider(_misc, "RMINH") &&
                Myhero.CountEnemiesInRange(1000) > 0)
            {
                if (enemies.Count(x => x.Distance(Myhero.Position) < 500) >= Slider(_misc, "RMINE"))
                {
                    DemSpells.R.Cast();
                }
            }

            Insec();
        }