示例#1
0
        private static void ImplementationOnPreAttack(object enemy, PreAttackEventArgs events)
        {
            var turret = GameObjects.EnemyTurrets.FirstOrDefault(t => !t.IsDead);

            if (turret.ServerPosition.Distance(Player.ServerPosition) > turret.AttackRange && Player.HasBuff("vaynetumblefade"))
            {
                if (Player.CountEnemyHeroesInRange(1200) >= Setup.Combo["Stealth"].As <MenuSlider>().Value)
                {
                    events.Cancel = true;
                }

                if (Player.HasBuff("summonerexhaust"))
                {
                    events.Cancel = true;
                }
            }

            if (Setup.Misc["FocusW"].As <MenuBool>().Enabled)
            {
                var force = TargetSelector.GetOrderedTargets(850).FirstOrDefault(h => h.IsValidTarget() && h.GetRealBuffCount("vaynesilvereddebuff") == 2);
                if (force != null)
                {
                    events.Target = force;
                }
            }
        }
示例#2
0
文件: Thresh.cs 项目: Zypppy/AimTec
        private void OnCombo()
        {
            bool  useQ    = Menu["combo"]["useq"].Enabled;
            float QRange  = Menu["combo"]["qrange"].As <MenuSlider>().Value;
            bool  useQGap = Menu["combo"]["useq2"].Enabled;

            if (Q.Ready)
            {
                var targetq  = GetBestEnemyHeroTargetInRange(QRange);
                var targetq2 = GetBestEnemyHeroTargetInRange(Q2.Range);
                if (targetq.IsValidTarget(QRange) && useQ && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "ThreshQ")
                {
                    Q.Cast(targetq);
                }
                if (targetq2.IsValidTarget(Q2.Range) && useQGap && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "ThreshQLeap" && targetq2.HasBuff("ThreshQ"))
                {
                    Q2.Cast();
                }
            }

            bool  useWself = Menu["combo"]["usewself"].Enabled;
            float WSHP     = Menu["combo"]["wshp"].As <MenuSlider>().Value;

            if (W.Ready && useWself && Player.HealthPercent() <= WSHP)
            {
                var target = GetBestEnemyHeroTargetInRange(W.Range);
                if (target.IsValidTarget(W.Range))
                {
                    W.Cast(Player.ServerPosition);
                }
            }

            bool useE = Menu["combo"]["usee"].Enabled;

            if (E.Ready && useE)
            {
                var target = GetBestEnemyHeroTargetInRange(E.Range);
                if (target.IsValidTarget(E.Range) && !target.HasBuff("ThreshQ"))
                {
                    E.Cast(target);
                }
            }

            bool  useR     = Menu["combo"]["user"].Enabled;
            float REnemies = Menu["combo"]["usere"].As <MenuSlider>().Value;

            if (R.Ready && useR && Player.CountEnemyHeroesInRange(R.Range) >= REnemies)
            {
                var target = GetBestEnemyHeroTargetInRange(R.Range);
                if (target.IsValidTarget(R.Range))
                {
                    R.Cast();
                }
            }
        }
示例#3
0
文件: Morgana.cs 项目: Zypppy/AimTec
        private void OnCombo()
        {
            bool useW = Menu["combo"]["usew"].Enabled;

            if (W.Ready && useW)
            {
                var target = GetBestEnemyHeroTargetInRange(W.Range);
                switch (Menu["combo"]["wo"].As <MenuList>().Value)
                {
                case 0:
                    if (target.IsValidTarget(W.Range) && target != null)
                    {
                        W.Cast(target);
                    }
                    break;

                case 1:
                    if (target.IsValidTarget(W.Range) && target != null && target.HasBuffOfType(BuffType.Charm) ||
                        target.HasBuffOfType(BuffType.Knockup) || target.HasBuffOfType(BuffType.Snare) ||
                        target.HasBuffOfType(BuffType.Stun) || target.HasBuffOfType(BuffType.Suppression) ||
                        target.HasBuffOfType(BuffType.Taunt))
                    {
                        W.Cast(target);
                    }
                    break;
                }
            }

            bool useQ = Menu["combo"]["useq"].Enabled;

            if (Q.Ready && useQ)
            {
                var target = GetBestEnemyHeroTargetInRange(Q.Range);
                if (target.IsValidTarget(Q.Range) && target != null)
                {
                    Q.Cast(target);
                }
            }

            bool  useR = Menu["combo"]["user"].Enabled;
            float hitR = Menu["combo"]["hitr"].As <MenuSlider>().Value;

            if (useR && Player.CountEnemyHeroesInRange(R.Range - 150) >= hitR && R.Ready)
            {
                var target = GetBestEnemyHeroTargetInRange(R.Range);
                if (target.IsValidTarget(R.Range - 50) && target != null)
                {
                    R.Cast();
                }
            }
        }
示例#4
0
        public void UltLogic_OnUpdate(EventArgs args)
        {
            if (ObjectManager.Player.IsRecalling() || ObjectManager.Player.InFountain())
            {
                return;
            }

            if (SoulboundAlly == null)
            {
                SoulboundAlly = GameObjects.AllyHeroes.FirstOrDefault(a => a.HasBuff("kalistacoopstrikeally"));
                return;
            }
            if (UseRAllySaverBool && AllIncomingDamageToSoulbound > SoulboundAlly.Health &&
                SoulboundAlly.CountEnemyHeroesInRange(800) > 0)
            {
                R.Cast();
            }
            if ((SoulboundAlly.ChampionName == "Blitzcrank" || SoulboundAlly.ChampionName == "Skarner" ||
                 SoulboundAlly.ChampionName == "TahmKench"))
            {
                foreach (
                    var unit in
                    ObjectManager.Get <Obj_AI_Hero>()
                    .Where(
                        h =>
                        h.IsEnemy && h.IsHPBarRendered && h.Distance(ObjectManager.Player.ServerPosition) > 700 &&
                        h.Distance(ObjectManager.Player.ServerPosition) < 1400)
                    )
                {
                    if ((unit.HasBuff("rocketgrab2") && BalistaBool) ||
                        (unit.HasBuff("tahmkenchwdevoured") && TalistaBool) ||
                        (unit.HasBuff("skarnerimpale") && SalistaBool))
                    {
                        R.Cast();
                    }
                }
            }
            if (UseREngageBool)
            {
                foreach (var enemy in ValidTargets.Where(en => en.IsValidTarget(1000) && en.IsFacing(ObjectManager.Player)))
                {
                    var waypoints = enemy.GetWaypoints();
                    if (waypoints.LastOrDefault().Distance(ObjectManager.Player.ServerPosition) < 400)
                    {
                        R.Cast();
                    }
                }
            }
        }
示例#5
0
        private static void Combo()
        {
            if (Player.ManaPercent() < Setup.Combo["M"].As <MenuSlider>().Value)
            {
                return;
            }

            if (Setup.Combo["R"].As <MenuBool>().Enabled&& Spells.R.Ready)
            {
                var target = TargetSelector.GetTarget(Spells.R.Range);
                if (target != null && Player.CountEnemyHeroesInRange(Spells.R.Range) >= Setup.Combo["Rx"].As <MenuSlider>().Value)
                {
                    Spells.R.Cast();
                }
            }
            if (Setup.Combo["E"].As <MenuBool>().Enabled&& Spells.E.Ready)
            {
                var target = TargetSelector.GetTarget(Spells.E.Range);
                var pred   = Spells.E.GetPrediction(target);
                if (target.IsValidTarget() && pred.HitChance >= HitChance.High)
                {
                    Spells.E.Cast(target);
                }
            }
            if (Setup.Combo["Q"].As <MenuBool>().Enabled&& Spells.Q.Ready)
            {
                var target = TargetSelector.GetTarget(Spells.Q.Range);
                var pred   = Spells.Q.GetPrediction(target);
                if (target.IsValidTarget() && pred.HitChance >= HitChance.High)
                {
                    Spells.Q.Cast(target);
                }
            }
            if (Setup.Combo["W"].As <MenuBool>().Enabled&& Spells.W.Ready)
            {
                var target = TargetSelector.GetTarget(Spells.W.Range);
                if (target.IsValidTarget() && target.Distance(Player.ServerPosition) > 125)
                {
                    Spells.W.Cast();
                }
            }
        }
示例#6
0
        static void Elixirs()
        {
            if (Menus._menu["consumable"]["useelixir"].Enabled)
            {
                if (_player.HasAndCanUseItem(ItemId.ElixirofIron) && !_player.HasBuff("ElixirOfIron"))
                {
                    _player.UseItem(ItemId.ElixirofIron);
                }

                if (_player.HasAndCanUseItem(ItemId.ElixirofSorcery) && !_player.HasBuff("ElixirofSorcery") &&
                    (_player.CountEnemyHeroesInRange(1200) > 0 || _player.CountEnemyTurretsInRange(1200) > 0))
                {
                    _player.UseItem(ItemId.ElixirofSorcery);
                }

                if (_player.HasAndCanUseItem(ItemId.ElixirofWrath) && !_player.HasBuff("ElixirofWrath"))
                {
                    _player.UseItem(ItemId.ElixirofWrath);
                }
            }
        }
示例#7
0
        private void RCombo()
        {
            var target = GetBestEnemyHeroTargetInRange(R.Range);

            if (!target.IsValidTarget())
            {
                return;
            }

            bool  useR     = Menu["combo"]["user"].Enabled;
            float RHp      = Menu["combo"]["rhp"].As <MenuSlider>().Value;
            float REnemies = Menu["combo"]["defr"].As <MenuSlider>().Value;

            if (R.Ready && useR && Player.HealthPercent() <= RHp && target.IsValidTarget(R.Range))
            {
                R.Cast(Player);
            }
            if (R.Ready && useR && target.IsValidTarget(R.Range) && Player.CountEnemyHeroesInRange(R.Range - 50) >= REnemies)
            {
                R.Cast(Player);
            }
        }
示例#8
0
        private static void Combo()
        {
            if (Player.ManaPercent() < Setup.Combo["Mana"].As <MenuSlider>().Value)
            {
                return;
            }

            if (Setup.Combo["W"].As <MenuBool>().Enabled&& Spells.W.Ready)
            {
                var target = TargetSelector.GetTarget(Spells.W.Range);
                var pred   = Spells.W.GetPrediction(target);
                if (target.IsValidTarget() && pred.HitChance >= HitChance.High)
                {
                    Spells.W.Cast(pred.CastPosition);
                }
            }

            if (Setup.Combo["R"].As <MenuBool>().Enabled&& Spells.R.Ready)
            {
                if (Player.CountEnemyHeroesInRange(850) >= Setup.Combo["Rx"].As <MenuSlider>().Value)
                {
                    Spells.R.Cast();
                }
            }

            if (Setup.Combo["Rcombo"].As <MenuBool>().Enabled&& Spells.R.Ready)
            {
                var target         = TargetSelector.GetTarget(Spells.R.Range);
                var level          = Player.SpellBook.GetSpell(SpellSlot.R).Level;
                var modifieddamage = Player.GetAutoAttackDamage(target) + Player.CalculateDamage(target, DamageType.Physical, 10 + 10 * level);
                if (modifieddamage * Setup.Combo["Raa"].As <MenuSlider>().Value > target.Health)
                {
                    Spells.R.Cast();
                }
            }
        }
示例#9
0
        private void OnCombo()
        {
            bool useQ = Menu["combo"]["useq"].Enabled;

            if (Q.Ready && useQ)
            {
                var target = GetBestEnemyHeroTargetInRange(Q.Range);
                if (target != null && target.IsValidTarget(Q.Range))
                {
                    Q.Cast();
                }
            }

            bool useW = Menu["combo"]["usew"].Enabled;

            if (W.Ready && useW && Player.SpellBook.GetSpell(SpellSlot.W).Name == "MordekaiserCreepingDeathCast" && Player.CountEnemyHeroesInRange(250) >= 1)
            {
                var target = GetBestEnemyHeroTargetInRange(W.Range);
                if (target.IsValidTarget(W.Range) && target != null)
                {
                    W.Cast();
                }
            }

            bool useE = Menu["combo"]["usee"].Enabled;

            if (E.Ready && useE)
            {
                var target = GetBestEnemyHeroTargetInRange(E.Range);
                if (target.IsValidTarget(E.Range) && target != null)
                {
                    E.Cast(target);
                }
            }
            bool  useR = Menu["combo"]["user"].Enabled;
            float hpR  = Menu["combo"]["userhp"].As <MenuSlider>().Value;

            if (R.Ready && useR)
            {
                var target = GetBestEnemyHeroTargetInRange(R.Range);
                if (target.IsValidTarget(R.Range) && target != null && target.HealthPercent() < hpR)
                {
                    R.Cast(target);
                }
            }
        }
示例#10
0
        private static void Combo()
        {
            if (Player.ManaPercent() < Setup.Combo["M"].As <MenuSlider>().Value)
            {
                return;
            }

            if (Setup.Combo["R"].As <MenuBool>().Enabled&& Spells.R.Ready)
            {
                var mode = Setup.Combo["Rm"].As <MenuList>().Value;

                if (mode == 0 || mode == 2)
                {
                    var target = TargetSelector.GetTarget(Spells.R.Range);
                    if (target != null && Player.GetAutoAttackDamage(target) + RAD(target) * Setup.Combo["AA"].As <MenuSlider>().Value > target.Health)
                    {
                        Spells.R.Cast();
                    }
                }
                if (mode == 1 || mode == 2)
                {
                    var target = TargetSelector.GetTarget(Spells.R.Range);
                    if (target != null && Player.CountEnemyHeroesInRange(Spells.R.Range + 350) >= Setup.Combo["TF"].As <MenuSlider>().Value)
                    {
                        Spells.R.Cast();
                    }
                }
            }
            if (Setup.Combo["E"].As <MenuBool>().Enabled&& Spells.E.Ready)
            {
                var target = TargetSelector.GetTarget(Spells.E.Range);
                if (target != null)
                {
                    Codemn(target);
                }
            }
            if (Setup.Combo["Q"].As <MenuBool>().Enabled&& Spells.Q.Ready)
            {
                var target = TargetSelector.GetTarget(Spells.Q.Range);
                if (target != null && target.Distance(Player.ServerPosition) > 750)
                {
                    Spells.Q.Cast(target);
                }
                if (target != null && target.Distance(Player.ServerPosition) > 550 && (target != null && target.Distance(Player.ServerPosition) < 750))
                {
                    var mode = Setup.Misc["Qm"].As <MenuList>().Value;

                    if (mode == 0)
                    {
                        Spells.Q.Cast(TumbleLogic.SideQ(Player.Position.To2D(), target.Position.To2D(), 65).To3D());
                    }
                    if (mode == 1)
                    {
                        Spells.Q.Cast(TumbleLogic.SafeQ(Player.Position.To2D(), target.Position.To2D(), 65).To3D());
                    }
                    if (mode == 2)
                    {
                        Spells.Q.Cast(TumbleLogic.AggresiveQ(Player.Position.To2D(), target.Position.To2D(), 65).To3D());
                    }
                    if (mode == 3)
                    {
                        Spells.Q.Cast(Game.CursorPos);
                    }
                }
            }
        }
示例#11
0
        private void OnCombo()
        {
            bool useQ = Menu["combo"]["useq"].Enabled;

            if (Q.Ready && useQ)
            {
                var targetq2 = GetBestEnemyHeroTargetInRange(Q2.Range);
                var targetq  = GetBestEnemyHeroTargetInRange(Q.Range);
                switch (Menu["combo"]["qo"].As <MenuList>().Value)
                {
                case 0:
                    if (targetq2.IsValidTarget(Q2.Range) && targetq2 != null)
                    {
                        Q2.Cast(targetq2);
                    }
                    break;

                case 1:
                    if (targetq.IsValidTarget(Q.Range) && targetq != null)
                    {
                        Q.Cast(targetq);
                    }
                    break;
                }
            }

            bool useW = Menu["combo"]["usew"].Enabled;

            if (W.Ready && useW)
            {
                var targetw = GetBestEnemyHeroTargetInRange(W.Range);
                if (targetw.IsValidTarget(W.Range) && targetw != null)
                {
                    W.Cast(targetw);
                }
            }

            bool  useR      = Menu["combo"]["user"].Enabled;
            bool  useRKill  = Menu["combo"]["userkill"].Enabled;
            float hitR      = Menu["combo"]["usercount"].As <MenuSlider>().Value;
            float hpRtarget = Menu["combo"]["enemyhpr"].As <MenuSlider>().Value;

            if (R.Ready)
            {
                var target = GetBestEnemyHeroTargetInRange(R.Range);
                if (useR && target.IsValidTarget(R.Range) && Player.CountEnemyHeroesInRange(R.Range) >= hitR && target != null)
                {
                    R.Cast();
                }
                else if (useRKill && target.IsValidTarget(R.Range) && target.HealthPercent() <= hpRtarget && target != null)
                {
                    R.Cast();
                }
            }

            bool UseTiamat       = Menu["combo"]["tiamat"].Enabled;
            var  ItemTiamatHydra = Player.SpellBook.Spells.Where(o => o != null && o.SpellData != null).FirstOrDefault(o => o.SpellData.Name == "ItemTiamatCleave" || o.SpellData.Name == "ItemTitanicHydraCleave");

            if (ItemTiamatHydra != null)
            {
                var   target = GetBestEnemyHeroTargetInRange(400);
                Spell Tiamat = new Spell(ItemTiamatHydra.Slot, 400);
                if (UseTiamat && Tiamat.Ready && target.IsValidTarget(Tiamat.Range) && target != null)
                {
                    Tiamat.Cast();
                }
            }
        }
示例#12
0
        private void OnCombo()
        {
            var target = GetBestEnemyHeroTargetInRange(E.Range);


            if (!target.IsValidTarget())
            {
                return;
            }

            bool useQ = Menu["combo"]["useq"].Enabled;

            if (Q.Ready && useQ && target.IsValidTarget(Q.Range))
            {
                switch (Menu["combo"]["qco"].As <MenuList>().Value)
                {
                case 0:
                    Q.Cast(target);
                    break;

                case 1:
                    Q2.Cast(target);
                    break;
                }
            }

            bool  useW = Menu["combo"]["usew"].Enabled;
            float hpW  = Menu["combo"]["whp"].As <MenuSlider>().Value;

            if (W.Ready && useW && target.IsValidTarget(500))
            {
                switch (Player.SpellBook.GetSpell(SpellSlot.W).ToggleState)
                {
                case 1:
                    if (Player.SpellBook.GetSpell(SpellSlot.W).ToggleState == 1 && Player.HealthPercent() > hpW)
                    {
                        W.Cast();
                    }
                    break;

                case 2:
                    if (Player.SpellBook.GetSpell(SpellSlot.W).ToggleState == 2 && Player.HealthPercent() < hpW)
                    {
                        W.Cast();
                    }
                    break;
                }
            }

            bool useE = Menu["combo"]["usee"].Enabled;

            if (E.Ready && target.IsValidTarget(E.Range) && useE)
            {
                E.Cast(target);
            }

            bool  useR = Menu["combo"]["user"].Enabled;
            float thpR = Menu["combo"]["rhp"].As <MenuSlider>().Value;
            float thR  = Menu["combo"]["rce"].As <MenuSlider>().Value;

            if (R.Ready && useR && target.IsValidTarget(R.Range) && Player.CountEnemyHeroesInRange(R.Range) >= thR || target.HealthPercent() < thpR)
            {
                R.Cast();
            }
        }
示例#13
0
        private void OnCombo()
        {
            var target = GetBestEnemyHeroTargetInRange(1200);

            if (!target.IsValidTarget())
            {
                return;
            }

            bool useQ = Menu["combo"]["useq"].Enabled;

            if (Q.Ready && useQ)
            {
                if (target.IsValidTarget(Q.Range) && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "KhazixQ")
                {
                    Q.Cast(target);
                }
                else if (target.IsValidTarget(Q2.Range) && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "KhazixQLong")
                {
                    Q2.Cast(target);
                }
            }

            bool useW = Menu["combo"]["usew"].Enabled;

            if (W.Ready && target.IsValidTarget(W.Range) && useW)
            {
                W.Cast(target);
            }

            bool useE = Menu["combo"]["usee"].Enabled;

            if (E.Ready && useE)
            {
                if (target.IsValidTarget(E.Range) && Player.SpellBook.GetSpell(SpellSlot.E).Name == "KhazixE")
                {
                    E.Cast(target);
                }
                else if (target.IsValidTarget(E2.Range) && Player.SpellBook.GetSpell(SpellSlot.E).Name == "KhazixELong")
                {
                    E2.Cast(target);
                }
            }

            bool  useR     = Menu["combo"]["user"].Enabled;
            float enemiesR = Menu["combo"]["usercombocount"].As <MenuSlider>().Value;

            if (R.Ready)
            {
                if (useR && target.IsValidTarget(R.Range) && Player.CountEnemyHeroesInRange(R.Range) >= enemiesR)
                {
                    R.Cast();
                }
            }

            bool UseTiamat       = Menu["combo"]["useitems"].Enabled;
            var  ItemTiamatHydra = Player.SpellBook.Spells.Where(o => o != null && o.SpellData != null).FirstOrDefault(o => o.SpellData.Name == "ItemTiamatCleave" || o.SpellData.Name == "ItemTitanicHydraCleave");

            if (ItemTiamatHydra != null)
            {
                Spell Tiamat = new Spell(ItemTiamatHydra.Slot, 400);
                if (UseTiamat && Tiamat.Ready && target.IsValidTarget(Tiamat.Range))
                {
                    Tiamat.Cast();
                }
            }
        }
示例#14
0
        private void OnCombo()
        {
            var  target = GetBestEnemyHeroTargetInRange(1500);
            bool useR   = Menu["combo"]["user"].Enabled;

            if (!target.IsValidTarget())
            {
                return;
            }

            bool useQ = Menu["combo"]["useq"].Enabled;

            if (Q.Ready && target.IsValidTarget(650) && useQ && !Player.HasBuff("HeimerdingerR"))
            {
                Q.Cast(Player.Position.Extend(target.Position, +300));
            }

            bool useW = Menu["combo"]["usew"].Enabled;

            if (W.Ready && useW && target.IsValidTarget(W.Range) && !Player.HasBuff("HeimerdingerR"))
            {
                W.Cast(target);
            }

            bool useE = Menu["combo"]["usee"].Enabled;

            if (E.Ready && useE && target.IsValidTarget(E.Range) && !Player.HasBuff("HeimerdingerR"))
            {
                E.Cast(target);
            }

            if (R.Ready)
            {
                switch (Menu["combo"]["ro"].As <MenuList>().Value)
                {
                case 0:
                    float hitQR = Menu["combo"]["useqhit"].As <MenuSlider>().Value;
                    if (target.IsValidTarget(QR.Range) && Q.Ready && Player.CountEnemyHeroesInRange(550) >= hitQR &&
                        Player.HasBuff("HeimerdingerR"))
                    {
                        Q.Cast(Player.Position.Extend(target.Position, +300));
                    }
                    else if (!Player.HasBuff("HeimerdingerR") && useR)
                    {
                        R.Cast();
                    }
                    break;

                case 1:
                    if (target.IsValidTarget(WR.Range) && W.Ready && Player.HasBuff("HeimerdingerR"))
                    {
                        W.Cast(target);
                    }
                    else if (!Player.HasBuff("HeimerdingerR") && useR)
                    {
                        R.Cast();
                    }
                    break;

                case 2:
                    if (target.IsValidTarget(ER.Range) && E.Ready && Player.HasBuff("HeimerdingerR"))
                    {
                        ER.Cast(target);
                    }
                    else if (!Player.HasBuff("HeimerdingerR") && useR)
                    {
                        R.Cast();
                    }
                    break;
                }
            }
        }
示例#15
0
        private void OnCombo()
        {
            bool useQ = Menu["combo"]["useq"].Enabled;

            if (useQ && Q.Ready)
            {
                var targetq  = GetBestEnemyHeroTargetInRange(Q.Range);
                var targetq2 = GetBestEnemyHeroTargetInRange(Player.AttackRange);
                switch (Menu["combo"]["qo"].As <MenuList>().Value)
                {
                case 0:
                    if (targetq.IsValidTarget(Q.Range) && Menu["qwhitelist"][targetq.ChampionName.ToLower()].As <MenuBool>().Enabled)
                    {
                        Q.Cast(targetq);
                    }
                    break;

                case 1:
                    if (targetq2.IsValidTarget(Player.AttackRange) && Menu["qwhitelist"][targetq2.ChampionName.ToLower()].As <MenuBool>().Enabled)
                    {
                        Q.Cast(targetq2);
                    }
                    break;
                }
            }

            bool  useW  = Menu["combo"]["usew"].Enabled;
            float manaw = Menu["combo"]["minmanaw"].As <MenuSlider>().Value;

            if (W.Ready && useW && manaw <= Player.ManaPercent())
            {
                var target = GetBestEnemyHeroTargetInRange(Q.Range);
                if (target.IsValidTarget(Q.Range))
                {
                    W.Cast();
                }
            }

            bool  useR    = Menu["combo"]["user"].Enabled;
            float rstacks = Menu["combo"]["minr"].As <MenuSlider>().Value;

            if (R.Ready && useR)
            {
                var target = GetBestEnemyHeroTargetInRange(R.Range);
                if (target.IsValidTarget(R.Range) && Player.GetSpell(SpellSlot.R).Ammo >= rstacks)
                {
                    R.Cast(target);
                }
            }

            var ItemCutlass = Player.SpellBook.Spells.Where(o => o != null && o.SpellData != null).FirstOrDefault(o => o.SpellData.Name == "BilgewaterCutlass");

            if (ItemCutlass != null)
            {
                Spell Cutlass = new Spell(ItemCutlass.Slot, 550);
                if (Menu["items"]["usecutlass"].Enabled && Cutlass.Ready)
                {
                    var Enemies = GameObjects.EnemyHeroes.Where(t => t.IsValidTarget(Cutlass.Range, true) && !t.IsInvulnerable);
                    foreach (var enemy in Enemies.Where(e =>
                                                        e.Health <= Player.Health && Player.CountEnemyHeroesInRange(1000) <= 1 ||
                                                        e.IsFacing(Player) && e.Health >= Player.Health &&
                                                        Player.CountEnemyHeroesInRange(1000) <= 1 ||
                                                        e.TotalAttackDamage >= 100 &&
                                                        Player.CountEnemyHeroesInRange(1000) <= 2 ||
                                                        e.IsFacing(Player) && e.Health >= Player.Health &&
                                                        Player.CountEnemyHeroesInRange(1000) >= 3 ||
                                                        e.TotalAttackDamage >= Player.TotalAttackDamage &&
                                                        Player.CountEnemyHeroesInRange(1000) <= 3))
                    {
                        Cutlass.Cast(enemy);
                    }
                }
            }
            var ItemGunblade = Player.SpellBook.Spells.Where(o => o != null && o.SpellData != null).FirstOrDefault(o => o.SpellData.Name == "HextechGunblade");

            if (ItemGunblade != null)
            {
                Spell Gunblade = new Spell(ItemGunblade.Slot, 700);
                if (Menu["items"]["usegunblade"].Enabled && Gunblade.Ready)
                {
                    var Enemies = GameObjects.EnemyHeroes.Where(t => t.IsValidTarget(Gunblade.Range, true) && !t.IsInvulnerable);

                    foreach (var enemy in Enemies.Where(
                                 e => e.Health <= e.MaxHealth / 100 * (Menu["items"]["gunbladeslider"].Value)))
                    {
                        Gunblade.Cast(enemy);
                    }
                }
            }
        }
示例#16
0
        static void HealUltManager(bool forceheal = false, bool forceult = false, Obj_AI_Hero target = null)
        {
            if (W.Ready)
            {
                if (Game.TickCount - LastHealDetection < 1000 && HealTarget.IsValidTarget(W.Range, false))
                {
                    var setvaluehealt = Getslider("hpct" + HealTarget.ChampionName);
                    if (HealTarget.Health <= setvaluehealt)
                    {
                        W.Cast(HealTarget);
                    }
                }
            }

            if (R.Ready)
            {
                if (Game.TickCount - LastUltDetection < 1000 && UltTarget.IsValidTarget(R.Range, false))
                {
                    var setvalueult = Getslider("upct" + UltTarget.ChampionName);
                    if (UltTarget.Health <= setvalueult)
                    {
                        R.Cast(UltTarget);
                    }
                }
            }

            if (forceheal && target != null && W.Ready && Player.Distance(target) <= W.Range)
            {
                W.CastOnUnit(target);
                return;
            }
            if (forceult && target != null && R.Ready && Player.Distance(target) <= R.Range)
            {
                if (debug())
                {
                    Console.WriteLine("Forceult");
                }
                R.CastOnUnit(target);
                return;
            }

            if (GetBool("Healingon") && !GetBool("onlyhincdmg"))
            {
                var herolistheal = GameObjects.AllyHeroes
                                   .Where(
                    h =>
                    !h.IsDead && GetBool("heal" + h.ChampionName) &&
                    h.HealthPercent() <= Getslider("hpct" + h.ChampionName) && Player.Distance(h) <= R.Range)
                                   .OrderByDescending(i => i.IsMe)
                                   .ThenBy(i => i.HealthPercent());

                if (W.Ready)
                {
                    if (herolistheal.Contains(Player) && !Player.IsRecalling())
                    {
                        W.CastOnUnit(Player);
                        return;
                    }
                    else if (herolistheal.Any())
                    {
                        var hero = herolistheal.FirstOrDefault();

                        if (Player.Distance(hero) <= R.Range && !Player.IsRecalling() && !hero.IsRecalling())
                        {
                            W.CastOnUnit(hero);
                            return;
                        }
                    }
                }
            }

            if (GetBool("Ultingon") && !GetBool("onlyuincdmg"))
            {
                Console.WriteLine(Player.HealthPercent());
                var herolist = GameObjects.AllyHeroes
                               .Where(
                    h =>
                    !h.IsDead &&
                    GetBool("ult" + h.ChampionName) &&
                    h.HealthPercent() <= Getslider("upct" + h.ChampionName) &&
                    Player.Distance(h) <= R.Range && Player.CountEnemyHeroesInRange(500) > 0).OrderByDescending(i => i.IsMe).ThenBy(i => i.HealthPercent());

                if (R.Ready)
                {
                    if (herolist.Contains(Player))
                    {
                        if (debug())
                        {
                            Console.WriteLine("regultself");
                        }
                        R.CastOnUnit(Player);
                        return;
                    }

                    else if (herolist.Any())
                    {
                        var hero = herolist.FirstOrDefault();

                        if (Player.Distance(hero) <= R.Range)
                        {
                            if (debug())
                            {
                                Console.WriteLine("regultotherorself");
                            }
                            R.CastOnUnit(hero);
                            return;
                        }
                    }
                }
            }
        }