Пример #1
0
        static void Combo()
        {
            if (SpellManager.IgniteSlot != SpellSlot.Unknown && Player.GetSpell(SpellManager.IgniteSlot).IsReady())
            {
                var enemy = TargetSelector.GetTarget(600, TargetSelector.DamageType.True);
                if (enemy != null)
                {
                    if (DamageCalc.GetTotalDamage(enemy) > enemy.Health)
                    {
                        Player.Spellbook.CastSpell(SpellManager.IgniteSlot, enemy);
                    }
                }
            }
            if (SpellManager.Q.IsReady() && Config.ComboQ)
            {
                var enemy = TargetSelector.GetTarget(SpellManager.Q.Range, TargetSelector.DamageType.Magical);
                if (enemy != null)
                {
                    if (Orbwalking.InAutoAttackRange(enemy))
                    {
                        SpellManager.CastSpell(SpellManager.Q, enemy);
                        return;
                    }
                }
            }

            if (SpellManager.W.IsReady() && Config.ComboW)
            {
                var enemy = TargetSelector.GetTarget(SpellManager.W.Range, TargetSelector.DamageType.Magical);
                if (enemy != null)
                {
                    SpellManager.CastSpell(SpellManager.W, enemy, HitChance.VeryHigh);
                    return;
                }
            }

            if (SpellManager.E.IsReady() && Config.ComboE)
            {
                var enemy = TargetSelector.GetTarget(SpellManager.E.Range + SpellManager.E2.Range, TargetSelector.DamageType.Magical);
                if (enemy != null)
                {
                    CastE(enemy);
                }
            }

            if (SpellManager.R.IsReady() && Config.ComboR && !SpellManager.UltHasBeenCasted)
            {
                var enemy = TargetSelector.GetTarget(SpellManager.R.Range, TargetSelector.DamageType.Magical);
                if (enemy != null)
                {
                    if (DamageCalc.GetTotalDamage(enemy) > enemy.Health)
                    {
                        Utility.DelayAction.Add(200, () => SpellManager.CastSpell(SpellManager.R, enemy));
                    }
                }
                var enemies = HeroManager.Enemies.Where(x => x.IsValidTarget(SpellManager.R.Range));
                foreach (var t in enemies)
                {
                    if (t.GetEnemiesInRange(SpellManager.R.Width).Count >= Config.ComboRHit)
                    {
                        SpellManager.CastSpell(SpellManager.R, t);
                    }
                }
            }
        }
Пример #2
0
 static void AutoFollow()
 {
     if (SpellManager.UltHasBeenCasted && Config.AutoFollow)
     {
         var t = HeroManager.Enemies.Where(x => x.IsValidTarget(SpellManager.R.Range) && DamageCalc.RemainingUltCanKill(x)).FirstOrDefault();
         if (t != null) //Killable first
         {
             Utility.DelayAction.Add(100, () => SpellManager.CastSpell(SpellManager.R, t));
         }
         else //Then target
         {
             t = TargetSelector.GetTarget(SpellManager.R.Range, TargetSelector.DamageType.Magical);
             if (t != null)
             {
                 Utility.DelayAction.Add(100, () => SpellManager.CastSpell(SpellManager.R, t));
             }
         }
     }
 }