예제 #1
0
        public static void CastW()
        {
            if (!HarassMenu.WSlider.Enabled)
            {
                return;
            }

            if (HarassMenu.WSlider.Value >= GameObjects.Player.ManaPercent)
            {
                return;
            }

            foreach (var target in TargetSelector.GetTargets(W.Range, DamageType.Magical).ToList())
            {
                if (target == null)
                {
                    return;
                }

                var winput = W.GetPrediction(target);
                if (winput.Hitchance >= HitChance.High)
                {
                    W.Cast(winput.UnitPosition);
                    break;
                }
            }
        }
예제 #2
0
        private void DoCombo()
        {
            var target = TargetSelector.SelectedTarget;

            if (target == null || !target.IsValidTarget(e.Range) || target.HaveSpellShield())
            {
                target = TargetSelector.GetTargets(e.Range).Where(t => !t.HaveSpellShield()).OrderByDescending(t => TargetSelector.GetPriority(t)).FirstOrDefault();
            }

            if (target == null)
            {
                return;
            }
            if (!Qcombo.Enabled && !Ecombo.Enabled && !Rcombo.Enabled)
            {
                return;
            }
            if (target.IsValidTarget(e.Range) && Ecombo.Enabled && e.IsReady())
            {
                e.Cast(target, true);
            }
            if (target.IsValidTarget(q.Range) && Qcombo.Enabled && q.IsReady())
            {
                q.Cast(target, true);
            }
            if (target.IsValidTarget(r.Range) && Rcombo.Enabled && r.IsReady() && target.HealthPercent <= RcomboMinHealth)
            {
                r.Cast(target);
            }

            if (w.IsReady() && Player.ManaPercent >= MiscAutoW.Value)
            {
                w.Cast();
            }
        }
예제 #3
0
        private static void KS()
        {
            var targets = TargetSelector.GetTargets(R.IsReady() ? 750 : 500);

            if (targets == null)
            {
                return;
            }

            foreach (var target in targets)
            {
                if (target == null)
                {
                    return;
                }

                if (target.Health <= Q.GetDamage(target) && Q.IsReady() && !Player.IsDashing() && target.IsValidTarget(500))
                {
                    Q.Cast(target);
                }
                if (target.Health <= R.GetDamage(target) && R.IsReady() && target.IsValidTarget(R.Name == "AkaliRb" ? R2.Range : R.Range))
                {
                    if (R.Name == "AkaliRb")
                    {
                        R2.Cast(target);
                    }
                    else
                    {
                        R2.Cast(target);
                    }
                }
            }
        }
예제 #4
0
        public static void CastW()
        {
            if (!ComboMenu.WBool.Enabled)
            {
                return;
            }

            if (Extension.IsUltShooting())
            {
                return;
            }

            var target = TargetSelector.GetTargets(W.Range, DamageType.Physical).Where(x => x.IsMarked() &&
                                                                                       !x.IsInvulnerable &&
                                                                                       (x.HasBuffOfType(BuffType.Slow) ||
                                                                                        !ComboMenu.WCCBool.Enabled)).ToList();

            foreach (var enemy in target)
            {
                var winput = W.GetPrediction(enemy);
                if (winput.Hitchance >= HitChance.High && W.IsInRange(winput.CastPosition))
                {
                    W.Cast(winput.CastPosition);
                }
            }
        }
예제 #5
0
        public static void CastW()
        {
            if (!HarassMenu.WSliderButton.Enabled)
            {
                return;
            }

            if (HarassMenu.WSliderButton.Value >= GameObjects.Player.ManaPercent)
            {
                return;
            }

            var enemies = TargetSelector.GetTargets(W.Range, DamageType.Mixed).ToList();

            foreach (var target in enemies.Where(x => x.IsValidTarget(W.Range)))
            {
                if (target == null)
                {
                    return;
                }

                var winput = W.GetPrediction(target);
                if (winput.Hitchance >= HitChance.High)
                {
                    W.Cast(winput.CastPosition);
                }
            }
        }
예제 #6
0
        static void Harass()
        {
            if (Player.ManaPercent < Config["Harass"].GetValue <MenuSlider>("HarassManaCheck").Value)
            {
                return;
            }

            var targetQ = TargetSelector.GetTargets(Q.Range).Where(t => t.IsValidTarget(Q.Range)).OrderBy(x => 1 / x.Health).FirstOrDefault();
            var targetE = TargetSelector.GetTarget(E.Range);

            if (targetQ != null || targetE != null)
            {
                if (Config["Harass"].GetValue <MenuBool>("UseQHarass") && Q.IsReady() && targetQ != null)
                {
                    Q.Cast(targetQ, true);
                }
                if (Config["Harass"].GetValue <MenuBool>("UseEHarass") && E.IsReady() && targetE != null)
                {
                    E.Cast(targetE);
                }
                if (Config["Harass"].GetValue <MenuBool>("UseWHarass") && W.IsReady() && targetE != null)
                {
                    W.Cast(targetE);
                }
            }
        }
예제 #7
0
        private void DoHarass()
        {
            var target = TargetSelector.SelectedTarget;

            if (target == null || !target.IsValidTarget(e.Range) || target.HaveSpellShield())
            {
                target = TargetSelector.GetTargets(e.Range).Where(t => !t.HaveSpellShield()).OrderByDescending(t => TargetSelector.GetPriority(t)).FirstOrDefault();
            }

            if (target == null)
            {
                return;
            }
            if (!Qharass.Enabled && !Eharass.Enabled && !Wharass.Enabled)
            {
                return;
            }
            if (target.IsValidTarget(e.Range) && Eharass.Enabled && e.IsReady())
            {
                e.Cast(target, true);
            }
            if (target.IsValidTarget(w.Range) && Wharass.Enabled && w.IsReady())
            {
                w.Cast(target, true);
            }
            if (target.IsValidTarget(q.Range) && Qharass.Enabled && q.IsReady())
            {
                if (QAAH.Value == 0)
                {
                    q.Cast();
                }
            }
        }
예제 #8
0
            public static void AutoR()
            {
                var target = TargetSelector.GetTargets(SpellManager.R.Range).OrderBy(x => x.DistanceToPlayer());

                if (objPlayer.HasBuff("camouflagestealth"))
                {
                    return;
                }

                if (target.Count() > 0 && target.FirstOrDefault().IsValidTarget(SpellManager.R.Range))
                {
                    var getPrediction = SpellManager.R.GetPrediction(target.FirstOrDefault());

                    if (getPrediction.Hitchance >= HitChance.High && Variables.GameTimeTickCount - LastR > MenuManager.MiscMenu["AutoRWait"].GetValue <MenuSlider>().Value)
                    {
                        SpellManager.R.Cast(getPrediction.CastPosition);
                    }
                }
                else
                {
                    if (MenuManager.MiscMenu["AutoRSave"].GetValue <MenuSlider>().Value >= SpellManager.R.Ammo)
                    {
                        return;
                    }

                    foreach (var place in Shrooms.Where(x => x.Position.DistanceToPlayer() <= SpellManager.R.Range && !IsShroomed(x.Position)).Where(x => Variables.GameTimeTickCount - LastR > MenuManager.MiscMenu["AutoRWait"].GetValue <MenuSlider>().Value))
                    {
                        SpellManager.R.Cast(place.Position);
                    }
                }
            }
예제 #9
0
        private void DoCombo()
        {
            var target = TargetSelector.SelectedTarget;
            var range  = e.Range;

            if (RFlash.Enabled)
            {
                range = r.Range + 400;
            }
            if (target == null || !target.IsValidTarget(range) || target.HaveSpellShield())
            {
                target = TargetSelector.GetTargets(range).Where(t => !t.HaveSpellShield()).OrderByDescending(t => TargetSelector.GetPriority(t)).FirstOrDefault();
            }

            if (target == null)
            {
                return;
            }
            if (!Qcombo.Enabled && !Wcombo.Enabled && !Ecombo.Enabled && !Rcombo.Enabled)
            {
                return;
            }
            if (target.IsValidTarget(e.Range) && Ecombo.Enabled && e.IsReady())
            {
                if (Estun.Enabled)
                {
                    CastEIfStun(target);
                }
                else
                {
                    e.Cast(target, true);
                }
            }
            if (target.IsValidTarget(200) && Qcombo.Enabled && q.IsReady() && QAA.Value == 0)
            {
                q.Cast();
            }
            if (Rcombo.Enabled && r.IsReady() && Rhit(target) >= RcomboMinHit.Value)
            {
                if (target.IsValidTarget(r.Range))
                {
                    r.Cast(target);
                }
                else if (RFlash && target.IsValidTarget(r.Range + 400))
                {
                    var flashSlot = Player.GetSpellSlot("summonerflash");
                    if (Player.Spellbook.CanUseSpell(flashSlot) == SpellState.Ready)
                    {
                        Player.Spellbook.CastSpell(flashSlot, target.Position);
                        useRNow = target;
                    }
                }
            }

            if (w.IsReady() && (Player.ManaPercent >= Wminimum.Value || (Player.HealthPercent <= MiscAutoW.Value)))
            {
                w.Cast(target);
            }
        }
예제 #10
0
 public static List <AIHeroClient> GetTargets(float range, bool checkKillAble = true, bool checkShield = false)
 {
     return
         (TargetSelector.GetTargets(range)
          .Where(x => !checkKillAble || !x.IsUnKillable())
          .Where(x => !checkShield || !x.HaveShiledBuff())
          .ToList());
 }
예제 #11
0
 protected override void OnPreUpdate()
 {
     try
     {
         Targets = TargetSelector.GetTargets(MaxRange).ToList();
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
 }
예제 #12
0
 protected override void OnCorePreUpdate(EventArgs args)
 {
     try
     {
         Targets = TargetSelector.GetTargets(MaxRange).ToList();
         base.OnCorePreUpdate(args);
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
 }
예제 #13
0
 private void OnCorePreUpdate(EventArgs args)
 {
     try
     {
         var targets = TargetSelector.GetTargets(MaxRange);
         Targets = targets != null && targets.Count > 0 ? targets : new List <Obj_AI_Hero>();
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
 }
예제 #14
0
 private void OnProcessSpellCast(AIBaseClient sender, AIBaseClientProcessSpellCastEventArgs args)
 {
     if (sender.IsMe && !args.SData.IsAutoAttack() && args.Slot == SpellSlot.E && MiscQOnE.Enabled && q.IsReady())
     {
         Utility.DelayAction.Add((int)(args.Time - Variables.GameTimeTickCount), () =>
         {
             var t = TargetSelector.GetTargets(q.Range).Where(target => target.HasBuffOfType(BuffType.Stun) && !target.HaveSpellShield()).OrderByDescending(target => TargetSelector.GetPriority(target)).FirstOrDefault();
             if (t != null)
             {
                 q.Cast(t, true);
             }
         });
     }
 }
        private static void Game_OnUpdate(EventArgs args)
        {
            if (Orbwalker.ActiveMode >= OrbwalkerMode.LaneClear || !KataMenu.Wmenu.WOrb.Enabled || !booldagger || !_daggersList.Any(i => i.Dagger.Position.DistanceToPlayer() < 300) || _daggersList.Where(i => i.Dagger.Position.DistanceToPlayer() < 100).FirstOrDefault() == null)
            {
                Orbwalker.SetOrbwalkerPosition(Vector3.Zero);
            }
            if (ObjectManager.Player.HasBuff("katarinarsound"))
            {
                Orbwalker.MoveEnabled   = false;
                Orbwalker.AttackEnabled = false;
            }
            else
            {
                Orbwalker.MoveEnabled = true;
                if (_daggersList != null && booldagger)
                {
                    if (_daggersList.Where(i => i.Dagger.Position.DistanceToPlayer() < 300 && Variables.GameTimeTickCount - i.CreateTime >= 750).FirstOrDefault() != null)
                    {
                        Orbwalker.AttackEnabled = false;

                        var target = TargetSelector.GetTargets(340);
                        if (target != null)
                        {
                            if (Orbwalker.ActiveMode == OrbwalkerMode.Combo && KataMenu.Wmenu.WOrb.Enabled && _daggersList.Where(i => i.Dagger.Position.DistanceToPlayer() < 100).FirstOrDefault() != null)
                            {
                                Orbwalker.SetOrbwalkerPosition(_daggersList.Where(i => i.Dagger.Position.DistanceToPlayer() < 300).OrderBy(i => i.CreateTime).ThenBy(i => i.Dagger.Position.DistanceToPlayer()).FirstOrDefault().Position.Extend(target.FirstOrDefault().Position, 100));
                            }
                            else
                            {
                                Orbwalker.SetOrbwalkerPosition(Vector3.Zero);
                            }
                        }
                        else
                        {
                            Orbwalker.SetOrbwalkerPosition(Vector3.Zero);
                        }
                    }
                    else
                    {
                        Orbwalker.AttackEnabled = true;
                    }
                }
                else
                {
                    Orbwalker.AttackEnabled = true;
                    Orbwalker.SetOrbwalkerPosition(Vector3.Zero);
                }
            }
        }
예제 #16
0
        private static void AIBaseClient_OnProcessSpellCast(AIBaseClient sender, AIBaseClientProcessSpellCastEventArgs args)
        {
            if (sender == null || !sender.IsValid() || args == null)
            {
                return;
            }

            if (sender.IsMe)
            {
                if (args.Slot <= SpellSlot.R && args.Slot != SpellSlot.Unknown)
                {
                    LastCasted = Variables.TickCount;
                }
                if (args.Slot == SpellSlot.E)
                {
                    LastE = Variables.TickCount;
                    Orbwalker.ResetAutoAttackTimer();
                }
                if (args.Slot == SpellSlot.W)
                {
                    LastW = Variables.TickCount;
                }
                if (Orbwalker.IsAutoAttack(args.SData.Name) && args.Target is AIHeroClient)
                {
                    LastCasted = 0;
                    LastAttack = Variables.TickCount;
                }
            }

            if (!sender.IsAlly && (args.Slot <= SpellSlot.R && sender.Type == GameObjectType.AIHeroClient))
            {
                if (args.Target != null)
                {
                    if (args.Target.IsMe || args.Target.NetworkId == ObjectManager.Player.NetworkId)
                    {
                        if (TargetSelector.GetTargets(W.Range + E.Range) != null && TargetSelector.GetTargets(W.Range + E.Range).Count() >= SamiraSetMenu.WSettings.EnemyCount.Value)
                        {
                            if (SamiraSetMenu.WSettings.WBlock.Enabled && (Orbwalker.ActiveMode == OrbwalkerMode.Combo || !SamiraSetMenu.WSettings.WonlyBlockIncombo.Enabled) && !FunnySlayerCommon.OnAction.BeforeAA && !FunnySlayerCommon.OnAction.OnAA)
                            {
                                if (W.Cast())
                                {
                                    return;
                                }
                            }
                        }
                    }
                }
            }
        }
        private static void GameOnOnUpdate1(EventArgs args)
        {
            if (ObjectManager.Player.IsDead)
            {
                return;
            }

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

            if (_daggersList != null && booldagger)
            {
                foreach (var dagger in _daggersList.Where(i => Variables.GameTimeTickCount - i.CreateTime >= 1000 && i.Position.DistanceToPlayer() <= 775).OrderBy(i => i.CreateTime))
                {
                    if (dagger == null)
                    {
                        return;
                    }
                    var targets = TargetSelector.GetTargets(775 + 340);
                    if (targets == null)
                    {
                        return;
                    }

                    if (targets.Any(i => i.Distance(dagger.Position) <= 390 && i.Health <= PassiveDmg(i)))
                    {
                        var target = targets.Where(i => i.Distance(dagger.Position) <= 390 && i.Health <= PassiveDmg(i))
                                     .FirstOrDefault();

                        if (target == null)
                        {
                            return;
                        }

                        var poscast = dagger.Dagger.Position.Extend(target.Position, 100);
                        if (ObjectManager.Player.Distance(poscast) <= 775)
                        {
                            if (E.Cast(poscast))
                            {
                                return;
                            }
                        }
                    }
                }
            }
        }
예제 #18
0
        private static void Ultimate()
        {
            if (!ObjectManager.Player.HasBuff("XerathLocusOfPower2") || Q.IsCharging)
            {
                return;
            }

            if (!MenuWrapper.Ult.Auto.Enabled &&
                !(MenuWrapper.Combat.R.Enabled && Orbwalker.ActiveMode == OrbwalkerMode.Combo) &&
                !MenuWrapper.Ult.Key.Active)
            {
                return;
            }

            if (!MenuWrapper.Ult.Key.Active && MenuWrapper.Ult.DelayR.Enabled &&
                Variables.GameTimeTickCount - R.LastCastAttemptT < MenuWrapper.Ult.DelayMs.Value)
            {
                return;
            }

            var target = TargetSelector.GetTarget(R.Range);

            if (MenuWrapper.Ult.NearMouse.Enabled && MenuWrapper.Ult.MouseZone.Value > 0)
            {
                target = TargetSelector.GetTargets(R.Range).FirstOrDefault(x =>
                                                                           x.Position.Distance(Game.CursorPos) <= MenuWrapper.Ult.MouseZone.Value);
            }

            if (target != null && target.IsValidTarget(R.Range))
            {
                /*var pred = R.GetPrediction(target);
                 * if (pred.Hitchance >= RHitchance)
                 * {
                 *  R.Cast(pred.CastPosition);
                 * }*/
                var pred = SebbyLibPorted.Prediction.Prediction.GetPrediction(R, target);
                if (pred.Hitchance >= (SebbyLibPorted.Prediction.HitChance)RHitchance)
                {
                    R.Cast(pred.CastPosition);
                }

                /*var pred = FSpred.Prediction.Prediction.GetPrediction(R, target);
                 * if(pred.Hitchance >= FSpred.Prediction.HitChance.High)
                 * {
                 *  R.Cast(pred.CastPosition);
                 * }*/
            }
        }
예제 #19
0
        public static void Game_OnUpdate(EventArgs args)
        {
            if (MenuSettings.KeysSettings.FleeKey.Active)
            {
                #region New E pred
                LogicE.EPrediction(false);
                #endregion
                LogicQ.QGapCloserPos(Game.CursorPos);
                return;
            }
            if (MenuSettings.KeysSettings.SemiE.Active && Irelia.E.IsReady())
            {
                #region New E pred
                LogicE.EPrediction(false);
                return;

                #endregion
            }
            if (MenuSettings.KeysSettings.SemiR.Active && Irelia.R.IsReady())
            {
                #region R
                try
                {
                    var     targets = TargetSelector.GetTargets(900);
                    Vector3 Rpos    = Vector3.Zero;

                    if (targets != null)
                    {
                        foreach (var Rprediction in targets.Select(i => Irelia.R.GetPrediction(i)).Where(i => i.Hitchance >= EnsoulSharp.SDK.HitChance.High || (i.Hitchance >= EnsoulSharp.SDK.HitChance.Medium && i.AoeTargetsHitCount > 1)).OrderByDescending(i => i.AoeTargetsHitCount))
                        {
                            Rpos = Rprediction.CastPosition;
                        }
                        if (Rpos != Vector3.Zero)
                        {
                            Irelia.R.Cast(Rpos);
                            return;
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("R.cast Error" + ex);
                }
                #endregion
            }
        }
        public static void BeforeAttack(object sender, OrbwalkerActionArgs args)
        {
            if (args.Type != OrbwalkerType.BeforeAttack)
            {
                return;
            }
            if (Program.Q.IsReady() && Program.MainMenu.GetMenuBool("Combo Settings", "QCombo") == true)
            {
                if (args.Target.IsValid)
                {
                    var targets = TargetSelector.GetTargets(700);
                    if (targets.Count() > 0)
                    {
                        foreach (var target in targets)
                        {
                            if (target != null)
                            {
                                if (Program.MainMenu.GetMenuBool("Combo Settings", "RCombo") && Program.R.IsReady() &&
                                    Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                                {
                                    Program.R.Cast();
                                }
                                if (target.IsMelee && target.IsFacing(Heroes.Player))
                                {
                                    if (target.Distance(Heroes.Player.Position) < 325)
                                    {
                                        var tumblePosition = target.GetTumblePos();
                                        args.Process = false;
                                        Tumble.Cast(tumblePosition);
                                    }
                                }

                                var closestJ4Wall = ObjectManager.Get <AIMinionClient>().FirstOrDefault(m =>
                                                                                                        m.CharacterName == "jarvanivwall" && ObjectManager.Player.Position.Distance(m.Position) < 100);
                                if (closestJ4Wall != null)
                                {
                                    args.Process = false;
                                    Program.Q.Cast(ObjectManager.Player.Position.Extend(closestJ4Wall.Position, 300));
                                }
                            }
                        }
                    }
                }
            }
        }
예제 #21
0
        public static void CastE()
        {
            if (!HarassMenu.EsSliderButton.Enabled)
            {
                return;
            }

            if (HarassMenu.EsSliderButton.Value >= GameObjects.Player.ManaPercent)
            {
                return;
            }

            foreach (var targets in TargetSelector.GetTargets(E.Range, DamageType.Physical).ToList().Where(x => x.Has2WStacks()))
            {
                E.CastOnUnit(targets);
                break;
            }
        }
예제 #22
0
        private static void EzECombo()
        {
            var target = TargetSelector.GetTargets(Q.Range + E.Range).OrderBy(i => i.Health).FirstOrDefault();

            if (target == null || !(target is AIHeroClient))
            {
                return;
            }

            if (target.HealthPercent > EEzSettings.TargetHeath.Value + 1)
            {
                return;
            }

            if (OnAA)
            {
                return;
            }

            EnsoulSharp.SDK.Geometry.Circle EPoints = new EnsoulSharp.SDK.Geometry.Circle(Player.Position, E.Range);
            var Echeck = new Spell(SpellSlot.Unknown, 1000f);

            Echeck.SetSkillshot(0.3f, 60f, 2000f, true, EnsoulSharp.SDK.Prediction.SkillshotType.Line);
            foreach (var EPoint in EPoints.Points)
            {
                if (Yasuo_LogicHelper.Logichelper.UnderTower(EPoint.ToVector3()))
                {
                    return;
                }

                Echeck.UpdateSourcePosition(EPoint.ToVector3(), EPoint.ToVector3());

                if (FSpred.Prediction.Prediction.GetPrediction(Echeck, target).Hitchance >= FSpred.Prediction.HitChance.High && target.Distance(EPoint) < Q.Range)
                {
                    if (EPoint.CountEnemyHeroesInRange(Player.GetRealAutoAttackRange() + 200) <= EEzSettings.TargetCount.Value)
                    {
                        if (E.Cast(EPoint, PacketCast))
                        {
                            return;
                        }
                    }
                }
            }
        }
예제 #23
0
        private static void AUTOWHIT(EventArgs args)
        {
            if (ME.IsDead || !BrandSettings.Whit.Enabled)
            {
                return;
            }

            if (!W.IsReady())
            {
                return;
            }

            var targets = TargetSelector.GetTargets(W.Range).OrderBy(i => i.DistanceToPlayer());

            if (targets == null)
            {
                return;
            }

            foreach (var target in targets)
            {
                if (target == null)
                {
                    return;
                }

                var pred = FSpred.Prediction.Prediction.GetPrediction(W, target);
                if (pred != null && pred.Hitchance >= FSpred.Prediction.HitChance.High)
                {
                    WPoly = new Geometry.Circle(pred.CastPosition, 260f);
                    var targethit      = GameObjects.EnemyHeroes.Where(i => WPoly.IsInside(i.Position));
                    var targethitcount = targethit.Count();

                    if (targethitcount >= BrandSettings.Whit.ActiveValue && pred.CastPosition.DistanceToPlayer() <= W.Range)
                    {
                        if (W.Cast(pred.CastPosition))
                        {
                            return;
                        }
                    }
                }
            }
        }
예제 #24
0
        private void ksWithR()
        {
            var targets = TargetSelector.GetTargets(400);
            var canKill = targets.Where(t => r.GetDamage(t) > t.Health - 50).OrderByDescending(t => t.Experience).FirstOrDefault();

            if (canKill != null)
            {
                r.Cast(canKill);
            }
            //else
            //{
            //    Dictionary<AIHeroClient, int> data = new Dictionary<AIHeroClient, int>();
            //    targets.ForEach(t => {
            //        data.Add(t, t.Position.Extend(Player.Position, -400).CountEnemyHeroesInRange(580));
            //    });
            //    var posHasTarget = data.Where(ele => ele.Value > 0).OrderByDescending(ele => ele.Value);
            //    if()
            //}
        }
예제 #25
0
 private static void RCombo(OrbwalkerActionArgs args)
 {
     if (MainMenu["Combo"]["comboR"].GetValue <MenuBool>().Enabled&& R.IsReady())
     {
         AIHeroClient target;
         if ((target = TargetSelector.GetTarget(ObjectManager.Player.GetRealAutoAttackRange())) == null)
         {
             if ((target = TargetSelector.GetTargets(R.Range).OrderBy(x => x.DistanceToPlayer()).FirstOrDefault()) != null &&
                 !target.IsUnderEnemyTurret())
             {
                 R.Cast(R.GetPrediction(target).CastPosition);
             }
         }
         else if (args.Type == OrbwalkerType.AfterAttack)
         {
             R.Cast(R.GetPrediction(target).UnitPosition);
         }
     }
 }
예제 #26
0
        private static void Game_OnUpdate2(EventArgs args)
        {
            if (Player.IsDead)
            {
                return;
            }

            if (Q.IsReady())
            {
                var target = TargetSelector.GetTargets(Q.Range).Where(i => i.Health < Q.GetDamage(i)).OrderBy(i => i.Health).FirstOrDefault();
                if (target != null)
                {
                    if (Q.Cast(target) == CastStates.SuccessfullyCasted || Q.CastOnUnit(target))
                    {
                        return;
                    }
                }
            }
        }
예제 #27
0
        public static AIHeroClient GetTarget(float range, bool ForcusOrbwalkerTarget = true, bool checkKillAble = true, bool checkShield = false)
        {
            var selectTarget = TargetSelector.SelectedTarget;

            if (selectTarget != null && selectTarget.IsValidTarget(range))
            {
                if (!checkKillAble || !selectTarget.IsUnKillable())
                {
                    if (!checkShield || !selectTarget.HaveShiledBuff())
                    {
                        return(selectTarget);
                    }
                }
            }

            var orbTarget = Orbwalker.GetTarget() as AIHeroClient;

            if (ForcusOrbwalkerTarget && orbTarget != null && orbTarget.IsValidTarget(range) && orbTarget.InAutoAttackRange())
            {
                if (!checkKillAble || !orbTarget.IsUnKillable())
                {
                    if (!checkShield || !orbTarget.HaveShiledBuff())
                    {
                        return(orbTarget);
                    }
                }
            }

            var finallyTarget = TargetSelector.GetTargets(range).FirstOrDefault();

            if (finallyTarget != null && finallyTarget.IsValidTarget(range))
            {
                if (!checkKillAble || !finallyTarget.IsUnKillable())
                {
                    if (!checkShield || !finallyTarget.HaveShiledBuff())
                    {
                        return(finallyTarget);
                    }
                }
            }

            return(null);
        }
예제 #28
0
            public static void Combo()
            {
                if (MenuManager.ComboMenu["Q"].GetValue <MenuBool>().Enabled&& SpellManager.Q.IsReady() && MenuManager.ComboMenu["QMode"].GetValue <MenuList>().SelectedValue == "Normal")
                {
                    var target = TargetSelector.GetTarget(SpellManager.Q.Range);

                    if (MenuManager.ComboMenu["QPrioritizeADC"].GetValue <MenuBool>().Enabled)
                    {
                        var targets = TargetSelector.GetTargets(SpellManager.Q.Range).OrderBy(x => UtilityManager.Marksmans.Contains(x.SkinName));

                        target = targets.FirstOrDefault();
                    }

                    if (target != null && target.IsValidTarget(SpellManager.Q.Range) && !target.InAutoAttackRange())
                    {
                        SpellManager.Q.CastOnUnit(target);
                    }
                }
                if (MenuManager.ComboMenu["W"].GetValue <MenuBool>().Enabled&& SpellManager.W.IsReady())
                {
                    var target = TargetSelector.GetTarget(SpellManager.Q.Range);

                    if (target != null && target.IsValidTarget(SpellManager.Q.Range))
                    {
                        SpellManager.W.Cast();
                    }
                }
                if (MenuManager.ComboMenu["R"].GetValue <MenuBool>().Enabled&& SpellManager.R.IsReady())
                {
                    var target = TargetSelector.GetTarget(SpellManager.R.Range);

                    if (target.IsValidTarget(SpellManager.R.Range) && MenuManager.ComboMenu["RSave"].GetValue <MenuSlider>().Value <= SpellManager.R.Ammo && !Misc.IsShroomed(target.Position, 100))
                    {
                        var getPrediction = SpellManager.R.GetPrediction(target, true);

                        if (getPrediction.Hitchance >= HitChance.High && Variables.GameTimeTickCount - LastR > 2000)
                        {
                            SpellManager.R.Cast(getPrediction.CastPosition);
                        }
                    }
                }
            }
예제 #29
0
        private static void AUTOEHIT(EventArgs args)
        {
            if (ME.IsDead)
            {
                return;
            }

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

            var targets = TargetSelector.GetTargets(E.Range + 375f).OrderBy(i => i.DistanceToPlayer());

            if (targets == null)
            {
                return;
            }

            foreach (var target in targets)
            {
                if (target == null)
                {
                    return;
                }

                EPoly = new Geometry.Circle(target.Position, 375f);
                var targethit      = GameObjects.EnemyHeroes.Where(i => EPoly.IsInside(i.Position));
                var targethitcount = targethit.Count();

                if (targethitcount >= 2 && target.IsValidTarget(E.Range) && target.Burning())
                {
                    if (E.Cast(target) == CastStates.SuccessfullyCasted || E.CastOnUnit(target))
                    {
                        return;
                    }
                }
            }
        }
예제 #30
0
        private static void AUTORHIT(EventArgs args)
        {
            if (ME.IsDead || !BrandSettings.AutoR.Enabled)
            {
                return;
            }

            if (!R.IsReady())
            {
                return;
            }

            var targets = TargetSelector.GetTargets(R.Range + 600).OrderBy(i => i.DistanceToPlayer());

            if (targets == null)
            {
                return;
            }

            foreach (var target in targets)
            {
                if (target == null)
                {
                    return;
                }

                RPoly = new Geometry.Circle(target.Position, 600f);
                var targethit      = GameObjects.EnemyHeroes.Where(i => !i.IsDead && RPoly.IsInside(i));
                var targethitcount = targethit.Count();

                if (targethitcount >= BrandSettings.AutoR.ActiveValue && target.IsValidTarget(R.Range))
                {
                    if (R.Cast(target) == CastStates.SuccessfullyCasted || R.CastOnUnit(target))
                    {
                        return;
                    }
                }
            }
        }