예제 #1
0
 public void OnExecute()
 {
     if (Variables.IsDashing)
     {
         if (Variables.CanCastQCir)
         {
             var targets = Variables.GetQCirTarget.Where(i => i.Health + i.AttackShield <= Manager.DamageManager.GetQDmg(i)).ToList();
             if (Variables.CastQCir(targets))
             {
                 return;
             }
         }
     }
     else
     {
         var target = TargetSelector.GetTarget(Variables.SpellQ.Width / 2, DamageType.Physical);
         if (target != null && target.Health + target.AttackShield <= Manager.DamageManager.GetQDmg(target))
         {
             if (!Variables.haveQ3)
             {
                 if (Manager.SpellManager.Q.Cast(target))
                 {
                     return;
                 }
             }
             else if (Manager.SpellManager.Q2.Cast(target))
             {
                 return;
             }
         }
     }
 }
예제 #2
0
        public static void Flee2()
        {
            if (MenuManager.FleeMenu["EscQ"].Cast <CheckBox>().CurrentValue&& Program.Q.IsReady() && !Variables.HaveQ3 && Variables.isDashing)
            {
                if (Variables.QCirTarget != null)
                {
                    Variables.CastQCir(Variables.QCirTarget);
                }
                var minionObj = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy,
                                                                                Variables._Player.GetDashInfo().EndPos,
                                                                                Variables.QCirWidth);
                if (minionObj.Any() && Variables._Player.Distance(Variables._Player.GetDashInfo().EndPos) < 150
                    )
                {
                    Variables.CastQCir(minionObj.MinOrDefault(i => i.Distance(Variables._Player)));
                }
            }
            var obj = Variables.GetNearObj();

            if (obj == null || !Program.E.IsReady())
            {
                return;
            }
            Program.E.Cast(obj);
        }
예제 #3
0
        public static void _combo()
        {
            var TsTarget = TargetSelector.GetTarget(1300, DamageType.Physical);

            if (TsTarget == null)
            {
                return;
            }
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                if (Program.R.IsReady() && MenuManager.ComboMenu["R"].Cast <CheckBox>().CurrentValue)
                {
                    List <AIHeroClient> enemies = EntityManager.Heroes.Enemies;
                    foreach (AIHeroClient enemy in enemies)
                    {
                        if (Variables._Player.Distance(enemy) <= 1200)
                        {
                            var enemiesKnockedUp =
                                ObjectManager.Get <AIHeroClient>()
                                .Where(x => x.IsValidTarget(Program.R.Range))
                                .Where(x => x.HasBuffOfType(BuffType.Knockup));

                            var enemiesKnocked = enemiesKnockedUp as IList <AIHeroClient> ??
                                                 enemiesKnockedUp.ToList();
                            if (enemy.IsValidTarget(Program.R.Range) &&
                                MenuManager.ComboMenu[TsTarget.ChampionName].Cast <CheckBox>().CurrentValue&&
                                Variables.CanCastDelayR(enemy) &&
                                enemiesKnocked.Count() >=
                                (MenuManager.ComboMenu["R3"].Cast <Slider>().CurrentValue))
                            {
                                Program.R.Cast();
                            }
                        }
                        if (enemy.IsValidTarget(Program.R.Range))
                        {
                            if (Variables.CanCastR(enemy) && Variables.CanCastDelayR(enemy) &&
                                (enemy.Health / enemy.MaxHealth * 100 <=
                                 (MenuManager.ComboMenu["R2"].Cast <Slider>().CurrentValue)))
                            {
                                Program.R.Cast();
                            }
                            else if (Variables.CanCastR(enemy) &&
                                     MenuManager.ComboMenu[TsTarget.ChampionName].Cast <CheckBox>().CurrentValue&&
                                     Variables.CanCastDelayR(enemy) &&
                                     enemy.HealthPercent >=
                                     (MenuManager.ComboMenu["R2"].Cast <Slider>().CurrentValue) &&
                                     (MenuManager.ComboMenu["R4"].Cast <CheckBox>().CurrentValue))
                            {
                                if (Variables.AlliesNearTarget(TsTarget, 600))
                                {
                                    Program.R.Cast();
                                }
                            }
                        }
                    }
                }

                if (MenuManager.ComboMenu["EC"].Cast <CheckBox>().CurrentValue&& Program.E.IsReady())
                {
                    if (MenuManager.ComboMenu["EQ"].Cast <CheckBox>().CurrentValue&& MenuManager.ComboMenu["Q"].Cast <CheckBox>().CurrentValue&& Variables.HaveQ3 && Program.Q.IsReady(50))
                    {
                        var target = TargetSelector.GetTarget(Variables.QRange, DamageType.Physical);
                        if (target != null)
                        {
                            var obj = Variables.GetNearObj(target, true);
                            if (obj != null)
                            {
                                Program.E.Cast(obj);
                            }
                        }
                    }
                    if (MenuManager.ComboMenu["EGap"].Cast <CheckBox>().CurrentValue)
                    {
                        var target = TargetSelector.GetTarget(Variables.QRange, DamageType.Physical)
                                     ?? TargetSelector.GetTarget(Variables.Q2Range, DamageType.Physical);
                        if (target != null)
                        {
                            var obj = Variables.GetNearObj(target);
                            if (obj != null &&
                                (obj.NetworkId != target.NetworkId
                                        ? Variables._Player.Distance(target) > MenuManager.ComboMenu["EGaps"].Cast <Slider>().CurrentValue
                                        : !Variables._Player.IsInAutoAttackRange(target)) &&
                                (!Variables.PosAfterE(obj).IsUnderTurret() || MenuManager.ComboMenu["EGapTower"].Cast <CheckBox>().CurrentValue))
                            {
                                Program.E.Cast(obj);
                            }
                        }
                    }
                }
            }

            if (MenuManager.ComboMenu["Q"].Cast <CheckBox>().CurrentValue&& Program.Q.IsReady())
            {
                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && ((!Variables.HaveQ3 || MenuManager.HarassMenu["Q3"].Cast <CheckBox>().CurrentValue)) &&
                    (!Variables._Player.IsUnderEnemyturret() || MenuManager.HarassMenu["QTower"].Cast <CheckBox>().CurrentValue))
                {
                    if (Variables._Player.IsDashing())
                    {
                        if (Variables.QCirTarget != null)
                        {
                            Variables.CastQCir(Variables.QCirTarget);
                        }
                        if (!Variables.HaveQ3 && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && MenuManager.ComboMenu["StackQ"].Cast <CheckBox>().CurrentValue&& MenuManager.ComboMenu["EC"].Cast <CheckBox>().CurrentValue &&
                            MenuManager.ComboMenu["EGap"].Cast <CheckBox>().CurrentValue)
                        {
                            var minionObj = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy,
                                                                                            Variables._Player.GetDashInfo().EndPos,
                                                                                            Variables.QCirWidth);
                            if (minionObj.Any() && Variables._Player.Distance(Variables._Player.GetDashInfo().EndPos) < 150)
                            {
                                Variables.CastQCir(minionObj.MinOrDefault(i => i.Distance(Variables._Player)));
                            }
                        }
                    }
                    else if (!Variables.isDashing)
                    {
                        var target = TargetSelector.GetTarget(
                            !Variables.HaveQ3 ? Variables.QRange : Variables.Q2Range,
                            DamageType.Physical);
                        if (target != null)
                        {
                            if (!Variables.HaveQ3)
                            {
                                Program.Q.Cast(target);
                            }
                            else if (Variables.HaveQ3)
                            {
                                var hit     = -1;
                                var predPos = new Vector3();
                                foreach (var hero in EntityManager.Heroes.Enemies.Where(i => i.IsValidTarget(Variables.Q2Range)))
                                {
                                    var pred  = Prediction.Position.PredictLinearMissile(hero, Variables.Q2Range, Program.Q2.Width, Program.Q2.CastDelay, Program.Q2.Speed, int.MaxValue, Variables._Player.ServerPosition, true);
                                    var pred2 = pred.GetCollisionObjects <AIHeroClient>();
                                    if (pred.HitChance >= EloBuddy.SDK.Enumerations.HitChance.High && pred2.Length > hit)
                                    {
                                        hit     = pred2.Length;
                                        predPos = pred.CastPosition;
                                    }
                                }
                                if (predPos.IsValid())
                                {
                                    Core.DelayAction(() => Program.Q2.Cast(predPos), 250);
                                }
                                else
                                {
                                    Core.DelayAction(() => Program.Q2.Cast(target.Position), 250);
                                }
                            }
                        }
                    }
                }
            }
        }
예제 #4
0
        public static void Execute()
        {
            if (Manager.MenuManager.UseRC && Manager.SpellManager.R.IsReady())
            {
                var target = Variables.GetRTarget();
                if (target != null && Manager.SpellManager.R.Cast(target))
                {
                    return;
                }
            }
            if (Manager.MenuManager.SmartW && Manager.SpellManager.W.IsReady())
            {
                var target = TargetSelector.GetTarget(Manager.SpellManager.E.Range, DamageType.Physical);
                if (target != null && Math.Abs(target.AttackSpeedMod - float.MaxValue) > float.Epsilon &&
                    (target.HealthPercent > Variables._Player.HealthPercent
                            ? Variables._Player.CountAlliesInRange(500) < target.CountEnemiesInRange(700)
                            : Variables._Player.HealthPercent <= 30))
                {
                    var posPred = Manager.SpellManager.W.GetPrediction(target).CastPosition;
                    if (Variables._Player.Position.Distance(posPred) > 100 && Variables._Player.Position.Distance(posPred) < 330 && Manager.SpellManager.W.Cast(posPred))
                    {
                        return;
                    }
                }
            }
            if (Manager.MenuManager.AkaData && Manager.SpellManager.Q.IsReady() && Variables.haveQ3 && AkaCore.AkaLib.Item.Flash != null && AkaCore.AkaLib.Item.Flash.IsReady())
            {
                var target = TargetSelector.GetTarget(AkaCore.AkaLib.Item.Flash.Range + Manager.SpellManager.Q3.Width, DamageType.Physical);

                if (Variables._Player.Health <= Manager.MenuManager.AkaDatamy && target.Health <= Manager.MenuManager.AkaDataEnemy && target.Distance(Variables._Player.Position) > 400)
                {
                    Variables.AkaData();
                }
            }
            if (Manager.MenuManager.SmartE && Manager.SpellManager.E.IsReady() && Variables.wallLeft != null && Variables.wallRight != null)
            {
                var target = TargetSelector.GetTarget(Manager.SpellManager.E.Range, DamageType.Magical);
                if (target != null && Math.Abs(target.AttackSpeedMod - float.MaxValue) > float.Epsilon &&
                    !Variables.HaveE(target) && AkaCore.Manager.EvadeManager.EvadeSkillshot.IsSafePoint(Variables.GetPosAfterDash(target).To2D()).IsSafe)
                {
                    var listPos =
                        Variables.ListEnemies()
                        .Where(i => i.IsValidTarget(Manager.SpellManager.E.Range * 2) && !Variables.HaveE(i))
                        .Select(Variables.GetPosAfterDash)
                        .Where(
                            i =>
                            target.Distance(i) < target.Distance(Variables._Player) ||
                            target.Distance(i) < target.GetAutoAttackRange() + 100)
                        .ToList();
                    if (listPos.Any(i => Variables.IsThroughWall(target.ServerPosition, i)) && Manager.SpellManager.E.Cast(target))
                    {
                        return;
                    }
                }
            }
            var targetE = Manager.MenuManager.UseEC && Manager.SpellManager.E.Level > 0 ? Variables.GetBestDashObj(Manager.MenuManager.UseECTower) : null;

            if (targetE != null && Manager.SpellManager.E.Cast(targetE))
            {
                return;
            }
            if (Manager.SpellManager.Q.IsReady())
            {
                if (Variables._Player.IsDashing())
                {
                    var target = Variables.GetRTarget(true);
                    if (target != null && Manager.SpellManager.Q3.Cast(target.ServerPosition))
                    {
                        Core.DelayAction(() => Manager.SpellManager.R.Cast(target), 5);
                    }
                }
                if (Variables.IsDashing)
                {
                    if (Variables.CanCastQCir)
                    {
                        if (Variables.CastQCir(Variables.GetQCirTarget))
                        {
                            return;
                        }
                        if (!Variables.haveQ3 && Manager.MenuManager.UseEC && Manager.MenuManager.UseECStack &&
                            Variables._Player.CountEnemiesInRange(700) == 0 && Variables.CastQCir(Variables.GetQCirObj))
                        {
                            return;
                        }
                    }
                }
                else if (targetE == null && (!Variables.haveQ3 ? Variables.CastQ() : Variables.CastQ3()))
                {
                    return;
                }
            }
        }
예제 #5
0
 public static void Execute()
 {
     if (Manager.SpellManager.E.IsReady() && Manager.MenuManager.UseELC)
     {
         var minions =
             Variables.ListMinions()
             .Where(
                 i =>
                 i.IsValid && !Variables.HaveE(i) &&
                 Manager.MenuManager.UseELCTower || !Variables.GetPosAfterDash(i).IsUnderTurret() &&
                 AkaCore.Manager.EvadeManager.EvadeSkillshot.IsSafePoint(Variables.GetPosAfterDash(i).To2D()).IsSafe)
             .OrderByDescending(i => i.MaxHealth)
             .ToList();
         if (minions.Count > 0)
         {
             var minion = minions.FirstOrDefault(i => i.Health <= Manager.DamageManager.GetEDmg(i));
             if (Manager.MenuManager.UseQLC && minion == null && Manager.SpellManager.Q.IsReady(50) &&
                 (!Variables.haveQ3 || Manager.MenuManager.UseQ3LC))
             {
                 var sub = new List <Obj_AI_Minion>();
                 foreach (var mob in minions)
                 {
                     if ((mob.Health < Manager.DamageManager.GetQDmg(mob) + Manager.DamageManager.GetEDmg(mob) || mob.Team == GameObjectTeam.Neutral) &&
                         mob.Distance(Variables.GetPosAfterDash(mob)) < Manager.SpellManager.Q3.Width)
                     {
                         sub.Add(mob);
                     }
                     if (Manager.MenuManager.UseELC)
                     {
                         continue;
                     }
                     var nearMinion =
                         Variables.ListMinions()
                         .Where(i => i.IsValidTarget(Manager.SpellManager.Q3.Width, true, Variables.GetPosAfterDash(mob)))
                         .ToList();
                     if (nearMinion.Count > 2 || nearMinion.Count(i => mob.Health <= Manager.DamageManager.GetQDmg(mob)) > 1)
                     {
                         sub.Add(mob);
                     }
                 }
                 minion = sub.FirstOrDefault();
             }
             if (minion != null && Manager.SpellManager.E.Cast(minion))
             {
                 return;
             }
         }
     }
     if (Manager.MenuManager.UseQLC && Manager.SpellManager.Q.IsReady() && (!Variables.haveQ3 || Manager.MenuManager.UseQ3LC))
     {
         if (Variables.IsDashing)
         {
             if (Variables.CanCastQCir)
             {
                 var minions = Variables.GetQCirObj.Where(i => i is Obj_AI_Minion).ToList();
                 if (minions.Any(i => i.Health <= Manager.DamageManager.GetQDmg(i) || i.Team == GameObjectTeam.Neutral) ||
                     minions.Count > 2)
                 {
                     Variables.CastQCir(minions);
                 }
             }
         }
         else
         {
             var minions =
                 Variables.ListMinions()
                 .Where(i => !Variables.haveQ3 ? Manager.SpellManager.Q.IsInRange(i) : i.IsValidTarget(Manager.SpellManager.Q2.Range - i.BoundingRadius / 2))
                 .OrderByDescending(i => i.MaxHealth)
                 .ToList();
             if (minions.Count == 0)
             {
                 return;
             }
             if (!Variables.haveQ3)
             {
                 var minion = minions.FirstOrDefault(i => i.Health < Manager.DamageManager.GetQDmg(i));
                 if (minion != null)
                 {
                     Manager.SpellManager.Q.Cast(minion);
                 }
             }
             else
             {
                 var minion = minions.FirstOrDefault(i => i.Health < Manager.DamageManager.GetQDmg(i));
                 if (minion != null)
                 {
                     Manager.SpellManager.Q2.CastOnBestFarmPosition(3);
                 }
             }
         }
     }
 }
예제 #6
0
        public static void Execute()
        {
            if (Manager.MenuManager.UseEStackFlee && Manager.SpellManager.Q.IsReady() && !Variables.haveQ3 && Variables.IsDashing && Variables.CanCastQCir && Variables.CastQCir(Variables.GetQCirObj))
            {
                return;
            }

            if (!Manager.SpellManager.E.IsReady())
            {
                return;
            }

            var obj = Variables.GetBestObjToMouse();

            if (obj != null && Manager.SpellManager.E.Cast(obj))
            {
                Variables.lastE = Environment.TickCount;
            }
        }
예제 #7
0
파일: Clear.cs 프로젝트: eWzrd/EloBuddy
        public static void NewLane()
        {
            if (MenuManager.LaneClearMenu["Q"].Cast <CheckBox>().CurrentValue&& Program.Q.IsReady() && (!Variables.HaveQ3 || MenuManager.LaneClearMenu["Q3"].Cast <CheckBox>().CurrentValue))
            {
                if (Variables._Player.IsDashing())
                {
                    var minionObj = (EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy,
                                                                                     Variables._Player.GetDashInfo().EndPos,
                                                                                     Variables.QCirWidth));

                    var monsterObj = (EntityManager.MinionsAndMonsters.GetJungleMonsters(Variables._Player.GetDashInfo().EndPos, Variables.QCirWidth));

                    if ((minionObj.Any(i => DamageManager._GetQDmg(i) >= i.Health || i.Team == GameObjectTeam.Neutral) ||
                         minionObj.Count() > 1) && Variables._Player.Distance(Variables._Player.GetDashInfo().EndPos) < 150
                        )
                    {
                        Variables.CastQCir(minionObj.MinOrDefault(i => i.Distance(Variables._Player)));
                    }

                    if ((monsterObj.Any(i => DamageManager._GetQDmg(i) >= i.Health || i.Team == GameObjectTeam.Neutral) ||
                         monsterObj.Count() > 1) && Variables._Player.Distance(Variables._Player.GetDashInfo().EndPos) < 150
                        )
                    {
                        Variables.CastQCir(monsterObj.MinOrDefault(i => i.Distance(Variables._Player)));
                    }
                }
                else
                {
                    var minionObj = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, Variables._Player.ServerPosition,
                                                                                    !Variables.HaveQ3 ? Variables.QRange : Variables.Q2Range).OrderByDescending(m => m.Health);

                    var monsterObj = EntityManager.MinionsAndMonsters.GetJungleMonsters(Variables._Player.ServerPosition,
                                                                                        !Variables.HaveQ3 ? Variables.QRange : Variables.Q2Range).OrderByDescending(m => m.Health);

                    if (minionObj.Any())
                    {
                        if (!Variables.HaveQ3)
                        {
                            var obj = minionObj.FirstOrDefault(i => DamageManager._GetQDmg(i) >= i.Health);

                            if (obj != null)
                            {
                                Program.Q.Cast(obj.ServerPosition);
                            }
                        }
                        if (Variables.HaveQ3)
                        {
                            var obj = minionObj.FirstOrDefault(i => DamageManager._GetQDmg(i) >= i.Health);

                            if (obj != null)
                            {
                                Program.Q2.Cast(obj.ServerPosition);
                            }
                        }
                    }

                    if (monsterObj.Any())
                    {
                        if (!Variables.HaveQ3)
                        {
                            var obj = monsterObj.FirstOrDefault();

                            if (obj != null)
                            {
                                Program.Q.Cast(obj.ServerPosition);
                            }
                        }
                        if (Variables.HaveQ3)
                        {
                            var obj = monsterObj.FirstOrDefault();

                            if (obj != null)
                            {
                                Program.Q2.Cast(obj.ServerPosition);
                            }
                        }
                    }
                }
            }

            if (MenuManager.LaneClearMenu["E"].Cast <CheckBox>().CurrentValue&& Program.E.IsReady())
            {
                var minionObj =
                    EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, Variables._Player.ServerPosition, Program.E.Range).OrderByDescending(m => m.Health)
                    .Where(i => Variables.CanCastE(i) && !(Variables.PosAfterE(i).IsUnderTurret()))
                    .ToList();

                var monsterObj =
                    EntityManager.MinionsAndMonsters.GetJungleMonsters(Variables._Player.ServerPosition, Program.E.Range).OrderByDescending(m => m.Health)
                    .Where(i => Variables.CanCastE(i) && !(Variables.PosAfterE(i).IsUnderTurret()))
                    .ToList();

                if (minionObj.Any())
                {
                    var obj = minionObj.FirstOrDefault(i => DamageManager._GetEDmg(i) >= i.Health);
                    if (obj != null)
                    {
                        Program.E.Cast(obj);
                    }
                }

                if (monsterObj.Any())
                {
                    var obj = monsterObj.FirstOrDefault(i => DamageManager._GetEDmg(i) >= i.Health);
                    if (obj != null)
                    {
                        Program.E.Cast(obj);
                    }
                }
            }

            if (MenuManager.LaneClearMenu["Items"].Cast <CheckBox>().CurrentValue)
            {
                foreach (Obj_AI_Base minion in EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, Variables._Player.Position, Program.Q.Range, true).OrderByDescending(m => m.Health))
                {
                    Items.UseItems(minion);
                }

                foreach (Obj_AI_Base minion in EntityManager.MinionsAndMonsters.GetJungleMonsters(Variables._Player.Position, Program.Q.Range, true).OrderByDescending(m => m.Health))
                {
                    Items.UseItems(minion);
                }
            }
        }