示例#1
0
 public static void Combo()
 {
     if (KMenu.KDcomboQ && KSpells.QCount < KMenu.axeMaximum - 1 && User.CountEnemiesInRange(User.GetAutoAttackRange()) > 0 && !User.Spellbook.IsAutoAttacking)
     {
         KSpells.CastQ();
     }
     if (KMenu.KDcomboW && User.CountEnemiesInRange(User.GetAutoAttackRange()) > 0)
     {
         KSpells.CastW();
     }
     if (KMenu.KDcomboE)
     {
         var targetEnemy = TargetSelector.GetTarget(KSpells.E.Range, DamageType.Physical);
         KSpells.CastE(targetEnemy);
     }
     if (KMenu.KDcomboR)
     {
         var targetEnemy =
             EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(2000)).FirstOrDefault(x => User.GetSpellDamage(x, SpellSlot.R) * 2 > x.Health && (x.Distance(User.Position) > User.GetAutoAttackRange() || User.CountEnemiesInRange(KSpells.E.Range) > 2));
         if (targetEnemy != null)
         {
             KSpells.CastR(targetEnemy);
         }
     }
 }
示例#2
0
        public static void Interrupt(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args)
        {
            if (!KMenu.KDInterrupt || sender == null || sender.IsAlly)
            {
                return;
            }

            if (args.DangerLevel == EloBuddy.SDK.Enumerations.DangerLevel.Medium || args.DangerLevel == EloBuddy.SDK.Enumerations.DangerLevel.High)
            {
                KSpells.CastE(sender);
            }
        }
示例#3
0
        public static void Gap(Obj_AI_Base sender, Gapcloser.GapcloserEventArgs args)
        {
            if (!KMenu.KDInterrupt || sender == null || sender.IsAlly)
            {
                return;
            }

            if (sender.Distance(Program.User.Position) <= Program.User.GetAutoAttackRange())
            {
                KSpells.CastE(sender);
            }
        }
示例#4
0
 public static void Flee()
 {
     if (KMenu.KDfleeW)
     {
         KSpells.CastW();
     }
     if (KMenu.KDfleeE)
     {
         var targetEnemy = TargetSelector.GetTarget(KSpells.E.Range, DamageType.Physical);
         KSpells.CastE(targetEnemy);
     }
 }
示例#5
0
        public static void Lane()
        {
            if (KMenu.KDlaneM >= User.ManaPercent)
            {
                return;
            }

            if (KMenu.KDlaneQ && KSpells.QCount < KMenu.axeMaximum - 1 && User.CountEnemyMinionsInRange(User.GetAutoAttackRange()) > 0 && !User.Spellbook.IsAutoAttacking)
            {
                KSpells.CastQ();
            }
            if (KMenu.KDlaneW)
            {
                KSpells.CastW();
            }
        }
示例#6
0
        public static void Load(EventArgs args)
        {
            if (User.ChampionName != "Draven")
            {
                return;
            }

            KMenu.Initialize();
            KSpells.Initialize();

            KModes.QReticles = new List <KModes.QRecticle>();
            Game.OnUpdate   += Update;
            Interrupter.OnInterruptableSpell += Angel.Interrupt;
            Gapcloser.OnGapcloser            += Angel.Gap;
            Drawing.OnDraw      += Draw;
            GameObject.OnCreate += OnCreate;
            GameObject.OnDelete += OnDelete;
        }
示例#7
0
        public static void Harass()
        {
            if (KMenu.KDharassM >= User.ManaPercent)
            {
                return;
            }

            if (KMenu.KDharassQ && KSpells.QCount < KMenu.axeMaximum - 1 && User.CountEnemiesInRange(User.GetAutoAttackRange()) > 0 && !User.Spellbook.IsAutoAttacking)
            {
                KSpells.CastQ();
            }
            if (KMenu.KDharassW && User.CountEnemiesInRange(User.GetAutoAttackRange()) > 0)
            {
                KSpells.CastW();
            }
            if (KMenu.KDharassE)
            {
                var targetEnemy = TargetSelector.GetTarget(KSpells.E.Range, DamageType.Physical);
                KSpells.CastE(targetEnemy);
            }
        }
示例#8
0
 public static void Steal()
 {
     if (KMenu.KDstealE)
     {
         var targetEnemy =
             EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(KSpells.E.Range)).FirstOrDefault(x => User.GetSpellDamage(x, SpellSlot.E) * 2 > x.Health && (x.Distance(User.Position) > User.GetAutoAttackRange() || User.CountEnemiesInRange(KSpells.E.Range) > 2));
         if (targetEnemy != null)
         {
             KSpells.CastR(targetEnemy);
         }
     }
     if (KMenu.KDstealR)
     {
         var targetEnemy =
             EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(KMenu.KDstealRlimit)).FirstOrDefault(x => User.GetSpellDamage(x, SpellSlot.R) * 2 > x.Health && (x.Distance(User.Position) > User.GetAutoAttackRange() || User.CountEnemiesInRange(KSpells.E.Range) > 2));
         if (targetEnemy != null)
         {
             KSpells.CastR(targetEnemy);
         }
     }
 }
示例#9
0
        public static void Jungle()
        {
            if (KMenu.KDjungleM >= User.ManaPercent)
            {
                return;
            }

            Obj_AI_Base targetMonster = EntityManager.MinionsAndMonsters.GetJungleMonsters(Player.Instance.Position, User.GetAutoAttackRange()).Where(X => X.IsValid && !X.IsDead && !X.IsInvulnerable).OrderBy(X => X.MaxHealth).LastOrDefault();

            if (targetMonster == null)
            {
                return;
            }

            if (KMenu.KDjungleQ && KSpells.QCount < KMenu.axeMaximum - 1 && !User.Spellbook.IsAutoAttacking)
            {
                KSpells.CastQ();
            }
            if (KMenu.KDlaneW)
            {
                KSpells.CastW();
            }
        }