Esempio n. 1
0
        public static void Execute()
        {
            var target = TargetSelector.Target;

            if (target.IsValidTarget())
            {
                if (Menu.GetCheckBoxValue("Items"))
                {
                    ItemManager.UseOffensiveItems(target);
                }
                if (Menu.GetCheckBoxValue("Smite") && SpellManager.CanUseSmiteOnHeroes)
                {
                    Util.myHero.Spellbook.CastSpell(SpellManager.Smite.Slot, target);
                }
                switch (Menu.GetSliderValue("Mode"))
                {
                case 0:
                    NormalCombo.Execute();
                    break;

                case 1:
                    StarCombo.Execute();
                    break;

                case 2:
                    GankCombo.Execute();
                    break;
                }
            }
        }
Esempio n. 2
0
        public static void Execute()
        {
            var target = TargetSelector.Target;

            if (Orbwalker.CanMove && Game.Time - LastGapcloseAttempt > 0.25f)
            {
                if (target.IsValidTarget() && Extensions.Distance(Util.myHero, ExpectedEndPosition, true) > Extensions.Distance(target, ExpectedEndPosition, true) && IsReady)
                {
                    var gapclosepos = target.Position + (target.Position - ExpectedEndPosition).Normalized() * DistanceBetween;
                    Orbwalker.MoveTo(gapclosepos);
                }
                else
                {
                    Orbwalker.MoveTo(Util.mousePos);
                }
            }
            if (target.IsValidTarget())
            {
                if (IsReady)
                {
                    if (IsActive)
                    {
                        if (SpellManager.CanCastQ1)
                        {
                            var predtarget = SpellManager.Q1.GetPrediction(target);
                            if (Menu.GetCheckBoxValue("Object") && predtarget.CollisionObjects.Count() > 1)
                            {
                                foreach (Obj_AI_Base minion in EntityManager.MinionsAndMonsters.Get(EntityManager.MinionsAndMonsters.EntityType.Both, EntityManager.UnitTeam.Enemy, Util.myHero.Position, SpellManager.Q2.Range).Where(m => m.IsValidTarget() && SpellSlot.Q.GetSpellDamage(m) < Prediction.Health.GetPrediction(m, SpellManager.Q1.CastDelay + 1000 * (int)(Extensions.Distance(Util.myHero, m) / SpellManager.Q1.Speed)) && Extensions.Distance(Util.myHero, target, true) > Extensions.Distance(m, target, true) && Extensions.Distance(m, target, true) < Math.Pow(WardManager.WardRange - DistanceBetween - Offset, 2)).OrderBy(m => Extensions.Distance(target, m, true)))
                                {
                                    var pred = SpellManager.Q1.GetPrediction(minion);
                                    if (pred.HitChancePercent >= SpellSlot.Q.HitChancePercent())
                                    {
                                        SpellManager.Q1.Cast(pred.CastPosition);
                                    }
                                }
                                foreach (AIHeroClient enemy in EntityManager.Heroes.Enemies.Where(m => m.NetworkId != target.NetworkId && m.IsValidTarget(SpellManager.Q2.Range) && SpellSlot.Q.GetSpellDamage(m) < m.Health && Extensions.Distance(Util.myHero, target, true) > Extensions.Distance(m, target, true) && Extensions.Distance(m, target, true) < Math.Pow(WardManager.WardRange - DistanceBetween - Offset, 2)).OrderBy(m => Extensions.Distance(target, m, true)))
                                {
                                    SpellManager.CastQ1(enemy);
                                }
                            }
                            SpellManager.CastQ1(target);
                        }
                        if (Extensions.Distance(Util.myHero, target, true) > Math.Pow(WardManager.WardRange - DistanceBetween, 2))
                        {
                            if (_Q.HasQ2Buff)
                            {
                                if (_Q.IsValidTarget && Extensions.Distance(target, _Q.Target, true) < Math.Pow(WardManager.WardRange - DistanceBetween - Offset, 2))
                                {
                                    TargetSelector.ForcedTarget = target;
                                    Champion.ForceQ2(target);
                                }
                            }
                        }
                    }
                    if (Extensions.Distance(Util.myHero, target, true) < Math.Pow(WardManager.WardRange - DistanceBetween, 2) && !IsRecent)
                    {
                        switch (Priority)
                        {
                        case 0:
                            if (WardManager.CanWardJump)
                            {
                                WardJump(target);
                            }
                            else if (SpellManager.Flash_IsReady)
                            {
                                Flash(target);
                            }
                            break;

                        case 1:
                            if (SpellManager.Flash_IsReady)
                            {
                                Flash(target);
                            }
                            else if (WardManager.CanWardJump)
                            {
                                WardJump(target);
                            }
                            break;
                        }
                    }
                    CastR(target);
                }
                else
                {
                    NormalCombo.Execute();
                }
            }
        }
Esempio n. 3
0
        public static void Execute()
        {
            if (IsReady || _R.IsRecentKick)
            {
                var target = TargetSelector.Target;
                if (target.IsValidTarget(WardManager.WardRange))
                {
                    if (Util.MyHero.IsInAutoAttackRange(target) && Champion.PassiveStack > 2 - Menu.GetSliderValue("Star.Stack"))
                    {
                        return;
                    }
                    if (Mode == 0 && Menu.GetCheckBoxValue("W") && Menu.GetCheckBoxValue("Star.Ward") && WardManager.CanWardJump && Insec.IsReady)
                    {
                        Insec.Execute();
                    }
                    if (WardManager.IsTryingToJump)
                    {
                        return;
                    }
                    if (Menu.GetCheckBoxValue("Q") && SpellSlot.Q.IsReady())
                    {
                        if (SpellSlot.Q.IsFirstSpell())
                        {
                            switch (Mode)
                            {
                            case 0:
                                SpellManager.CastQ1(target);
                                break;

                            case 1:
                                if (target.HaveR())
                                {
                                    var pred = SpellManager.Q1.GetPrediction(target);
                                    if (!pred.CollisionObjects.Any())
                                    {
                                        SpellManager.Q1.Cast(pred.CastPosition);
                                    }
                                }
                                break;
                            }
                        }
                        else
                        {
                            if (!_R.IsRecentKick && !SpellSlot.R.IsReady())
                            {
                                SpellManager.CastQ2(target);
                            }
                        }
                    }
                    if (Menu.GetCheckBoxValue("E") && SpellSlot.E.IsReady())
                    {
                        if (!SpellSlot.R.IsReady())
                        {
                            SpellManager.CastE(target);
                        }
                    }
                    if (SpellSlot.R.IsReady())
                    {
                        switch (Mode)
                        {
                        case 0:
                            if (target.HaveQ() || _Q.WillHit(target))
                            {
                                SpellManager.CastR(target);
                            }
                            break;

                        case 1:
                            if (SpellManager.CanCastQ1)
                            {
                                var endpos = target.Position + (target.Position - Util.MyHero.Position).Normalized() * SpellManager.RKick.Range;
                                SpellManager.Q1.SourcePosition   = endpos;
                                SpellManager.Q1.RangeCheckSource = endpos;
                                var pred = SpellManager.Q1.GetPrediction(target);
                                if (pred.HitChancePercent >= 5)
                                {
                                    SpellManager.CastR(target);
                                }
                            }
                            break;
                        }
                    }
                }
            }
            else
            {
                NormalCombo.Execute();
            }
        }