Exemple #1
0
        public override void OnCombo()
        {
            if (IsSpellActive("Q") && Menu.Item("Misc_Q_Always").GetValue <bool>() && Q.IsReady())
            {
                Q.Cast();
            }
            if (IsSpellActive("E"))
            {
                Cast_E();
            }

            var Q_Target = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Physical);

            if (Q_Target != null)
            {
                if (IsSpellActive("Use Botrk"))
                {
                    if (Bilge.IsReady() && (GetComboDamage(Q_Target) + MyHero.GetAutoAttackDamage(Q_Target) * 6 < Q_Target.Health || GetHealthPercent() < 35))
                    {
                        Use_Bilge(Q_Target);
                    }

                    if (Botrk.IsReady() && (GetComboDamage(Q_Target) + MyHero.GetAutoAttackDamage(Q_Target) * 6 < Q_Target.Health || GetHealthPercent() < 35))
                    {
                        Use_Botrk(Q_Target);
                    }
                }
            }
            if (IsSpellActive("R"))
            {
                Cast_R();
            }
        }
        private static float DamageToUnit(Obj_AI_Hero hero)
        {
            float dmg = 0;

            var spells = new List <Spell> {
                Q, W, E, R
            };

            foreach (var spell in spells.Where(x => x.IsReady()))
            {
                // Account for each blade
                if (spell.Slot == SpellSlot.R)
                {
                    dmg += spell.GetDamage(hero) * 4;
                }
                else
                {
                    dmg += spell.GetDamage(hero);
                }
            }

            if (Botrk.IsReady())
            {
                dmg += (float)Player.GetItemDamage(hero, Damage.DamageItems.Botrk);
            }

            if (Cutlass.IsReady())
            {
                dmg += (float)Player.GetItemDamage(hero, Damage.DamageItems.Bilgewater);
            }

            return(dmg);
        }
Exemple #3
0
        private float GetComboDamage(Obj_AI_Base target)
        {
            double comboDamage = (float)MyHero.GetComboDamage(target, GetSpellCombo());

            if (R.IsReady())
            {
                comboDamage += MyHero.GetSpellDamage(target, SpellSlot.R) * 4;
            }

            if (Bilge.IsReady())
            {
                comboDamage += MyHero.GetItemDamage(target, Damage.DamageItems.Bilgewater);
            }

            if (Botrk.IsReady())
            {
                comboDamage += MyHero.GetItemDamage(target, Damage.DamageItems.Botrk);
            }

            if (Ignite != SpellSlot.Unknown && MyHero.SummonerSpellbook.CanUseSpell(Ignite) == SpellState.Ready)
            {
                comboDamage += MyHero.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite);
            }
            return((float)(comboDamage + MyHero.GetAutoAttackDamage(target) * 4));
        }
Exemple #4
0
        private static void ItemUse()
        {
            var TG = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Physical);

            if (TG == null)
            {
                return;
            }

            if (DFG.IsReady() && Menu.Item("DFG1").GetValue <bool>())
            {
                DFG.Cast(TG);
            }
            if (Cutlass.IsReady() && Menu.Item("Cutlass1").GetValue <bool>())
            {
                Cutlass.Cast(TG);
            }
            if (Hextech.IsReady() && Menu.Item("Hextech1").GetValue <bool>())
            {
                Hextech.Cast(TG);
            }
            if (Frostclaim.IsReady() && Menu.Item("Frostclaim1").GetValue <bool>())
            {
                Frostclaim.Cast(TG);
            }
            if (Botrk.IsReady() && Menu.Item("Botrk1").GetValue <bool>())
            {
                Botrk.Cast(TG);
            }
            if (Youmuus.IsReady() && Menu.Item("Youmuus1").GetValue <bool>())
            {
                Youmuus.Cast();
            }
        }
Exemple #5
0
 /// <summary>
 /// Gets the damage to a specific unit.
 /// </summary>
 /// <param name="target">The target.</param>
 /// <returns>The damage that the combo will deal to a target.</returns>
 private static float DamageToUnit(Obj_AI_Hero target)
 {
     return
         ((float)
          ((Q.IsReady() ? Q.GetDamage(target) : 0) + (E.IsReady() ? E.GetDamage(target) : 0)
           + (R.IsReady() ? R.GetDamage(target) : 0) + Player.GetAutoAttackDamage(target) * 2
           + (Botrk.IsReady() ? Player.GetItemDamage(target, Damage.DamageItems.Botrk) : 0)
           + (Hydra.IsReady() ? Player.GetItemDamage(target, Damage.DamageItems.Hydra) : 0)
           + (Cutlass.IsReady() ? Player.GetItemDamage(target, Damage.DamageItems.Bilgewater) : 0)));
 }
Exemple #6
0
        private static void OffensiveItems()
        {
            if (Botrk.IsReady() && Value.Use("activator.botrk"))
            {
                var t = TargetSelector.GetTarget(Botrk.Range, DamageType.Physical);
                if (t.IsValidTarget())
                {
                    if (Value.Use("activator.botrk.ks") &&
                        Player.Instance.CalculateDamageOnUnit(t, DamageType.Physical, t.MaxHealth * (float)0.1) >
                        t.Health)
                    {
                        Botrk.Cast(t);
                    }
                    if (Value.Use("activator.botrk.lifesave") &&
                        Player.Instance.HealthPercent < Value.Get("activator.botrk.hp"))
                    {
                        Botrk.Cast(t);
                    }
                    if (Value.Use("activator.botrk.combo") &&
                        Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.Combo)
                    {
                        Botrk.Cast(t);
                    }
                }
            }

            if (Cutlass.IsReady() && Value.Use("activator.bilgewater"))
            {
                var t = TargetSelector.GetTarget(Botrk.Range, DamageType.Physical);
                if (t.IsValidTarget())
                {
                    if (Value.Use("activator.bilgewater.ks") &&
                        Player.Instance.CalculateDamageOnUnit(t, DamageType.Physical, 100) > t.Health)
                    {
                        Botrk.Cast(t);
                    }
                    if (Value.Use("activator.bilgewater.combo") &&
                        Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.Combo)
                    {
                        Botrk.Cast(t);
                    }
                }
            }

            if (Youmuus.IsReady() && Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.Combo &&
                Value.Use("activator.youmus"))
            {
                var t = Orbwalker.LastTarget;

                if (t.IsValidTarget(Player.Instance.AttackRange) && t is AIHeroClient)
                {
                    Youmuus.Cast();
                }
            }
        }
Exemple #7
0
        public static void UseCastables(Obj_AI_Base target)
        {
            if (Botrk.IsOwned() || Cutl.IsOwned())
            {
                if (target == null || !target.IsValidTarget())
                {
                    return;
                }

                if (Botrk.IsReady() || Cutl.IsReady())
                {
                    Botrk.Cast(target);
                    Cutl.Cast(target);
                }
            }
        }
Exemple #8
0
        private float GetComboDamage(Obj_AI_Base target)
        {
            double comboDamage = (float)ObjectManager.Player.GetComboDamage(target, GetSpellCombo());

            if (Bilge.IsReady())
            {
                comboDamage += MyHero.GetItemDamage(target, Damage.DamageItems.Bilgewater);
            }

            if (Botrk.IsReady())
            {
                comboDamage += MyHero.GetItemDamage(target, Damage.DamageItems.Botrk);
            }

            return((float)(comboDamage + ObjectManager.Player.GetAutoAttackDamage(target)));
        }
Exemple #9
0
        public override void OnCombo()
        {
            if (IsSpellActive("Q"))
            {
                Cast_Q(true);
            }
            if (IsSpellActive("W"))
            {
                Cast_W();
            }
            if (IsSpellActive("E"))
            {
                Cast_E();
            }

            var Q_Target = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Physical);

            if (Q_Target != null)
            {
                if (GetComboDamage(Q_Target) >= Q_Target.Health && IsSpellActive("Ignite") &&
                    Ignite != SpellSlot.Unknown && MyHero.Distance(Q_Target) < 650 &&
                    MyHero.SummonerSpellbook.CanUseSpell(Ignite) == SpellState.Ready)
                {
                    Use_Ignite(Q_Target);
                }

                if (IsSpellActive("Botrk"))
                {
                    if (Bilge.IsReady() && getComboDmgPercent(Q_Target) < 5 &&
                        !Q_Target.HasBuffOfType(BuffType.Slow))
                    {
                        Use_Bilge(Q_Target);
                    }

                    if (Botrk.IsReady() && getComboDmgPercent(Q_Target) < 5 &&
                        !Q_Target.HasBuffOfType(BuffType.Slow))
                    {
                        Use_Botrk(Q_Target);
                    }
                }
            }

            if (IsSpellActive("R"))
            {
                Cast_R();
            }
        }
        public static void UseCastables()
        {
            if (Botrk.IsOwned() || Cutl.IsOwned())
            {
                var t = TargetSelector2.GetTarget(Botrk.Range, DamageType.Physical);
                if (t == null || !t.IsValidTarget())
                {
                    return;
                }

                if (Botrk.IsReady() || Cutl.IsReady())
                {
                    Botrk.Cast(t);
                    Cutl.Cast(t);
                }
            }
        }
Exemple #11
0
        private float getComboDmgPercent(Obj_AI_Hero target)
        {
            double comboDamage = (float)MyHero.GetComboDamage(target, GetSpellCombo());

            comboDamage += MyHero.GetSpellDamage(target, SpellSlot.R) * 4;
            comboDamage += MyHero.GetAutoAttackDamage(target) * 4;

            if (Bilge.IsReady())
            {
                comboDamage += MyHero.GetItemDamage(target, Damage.DamageItems.Bilgewater);
            }

            if (Botrk.IsReady())
            {
                comboDamage += MyHero.GetItemDamage(target, Damage.DamageItems.Botrk);
            }

            var Pred_HP         = target.Health - comboDamage;
            var Pred_HP_Percent = Pred_HP / target.MaxHealth * 100;

            return((float)Pred_HP_Percent);
        }
Exemple #12
0
 internal static void ItemUsage(EventArgs args)
 {
     if (ModesMenu3["useYoumuu"].Cast <CheckBox>().CurrentValue&& Youmuu.IsReady())
     {
         Youmuu.Cast();
     }
     if (ModesMenu3["usehextech"].Cast <CheckBox>().CurrentValue&& Item.CanUseItem(hextech.Id))
     {
         var htarget = TargetSelector.GetTarget(700, DamageType.Magical); // 700 = hextech.Range
         if (htarget != null && htarget.IsValid)
         {
             Item.UseItem(hextech.Id, htarget);
         }
     }
     if (ModesMenu3["useBotrk"].Cast <CheckBox>().CurrentValue)
     {
         var ReadyCutlass = Item.CanUseItem(Cutlass.Id);
         var ReadyBotrk   = Item.CanUseItem(Botrk.Id);
         if (!ReadyBotrk && !ReadyCutlass || Player.Instance.HealthPercent > ModesMenu3["minHPBotrk"].Cast <Slider>().CurrentValue)
         {
             return;
         }
         var btarget = TargetSelector.GetTarget(550, DamageType.Physical); // 550 = Botrk.Range
         if (btarget != null && btarget.IsValid &&
             btarget.HealthPercent < ModesMenu3["enemyMinHPBotrk"].Cast <Slider>().CurrentValue)
         {
             if (ReadyCutlass)
             {
                 Item.UseItem(Cutlass.Id, btarget);
             }
             if (ReadyBotrk)
             {
                 Botrk.Cast(btarget);
             }
         }
     }
 }
Exemple #13
0
 private static void Killsteal()
 {
     if (!MiscMenu["kse"].Cast <CheckBox>().CurrentValue || !E.IsReady())
     {
         return;
     }
     try
     {
         foreach (var etarget in EntityManager.Heroes.Enemies.Where(
                      hero => hero.IsValidTarget(E.Range) && !hero.IsDead && !hero.IsZombie)
                  .Where(etarget => Tryndamere.GetSpellDamage(etarget, SpellSlot.E) >= etarget.Health))
         {
             {
                 E.Cast(etarget.ServerPosition);
             }
             if ((!MiscMenu["ksbotrk"].Cast <CheckBox>().CurrentValue || !Botrk.IsReady()) &&
                 !Bilgewater.IsReady() && !Tiamat.IsReady())
             {
                 continue;
             }
             {
                 try
                 {
                     foreach (var itarget in EntityManager.Heroes.Enemies.Where(
                                  hero =>
                                  hero.IsValidTarget(Botrk.Range) && !hero.IsDead &&
                                  !hero.IsZombie)
                              .Where(itarget => Tryndamere.GetItemDamage(itarget, ItemId.Blade_of_the_Ruined_King) >=
                                     itarget.Health))
                     {
                         {
                             Botrk.Cast(itarget);
                         }
                         if ((!MiscMenu["kshydra"].Cast <CheckBox>().CurrentValue ||
                              !Botrk.IsReady()) && !Bilgewater.IsReady() && !Tiamat.IsReady())
                         {
                             continue;
                         }
                         {
                             try
                             {
                                 foreach (var htarget in EntityManager.Heroes.Enemies.Where(
                                              hero =>
                                              hero.IsValidTarget(Hydra.Range) &&
                                              !hero.IsDead && !hero.IsZombie)
                                          .Where(htarget => Tryndamere.GetItemDamage(htarget,
                                                                                     ItemId.Ravenous_Hydra_Melee_Only) >=
                                                 htarget.Health))
                                 {
                                     Hydra.Cast();
                                 }
                             }
                             catch
                             {
                             }
                         }
                     }
                 }
                 catch
                 {
                 }
             }
         }
     }
     catch
     {
     }
 }
Exemple #14
0
        private void Offensive()
        {
            if (Botrk.IsReady() && Config.Item("Botrk").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Botrk.Range, TargetSelector.DamageType.Physical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("BotrkKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Physical, t.MaxHealth * 0.1) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Botrk.Cast(t);
                    }
                    if (Config.Item("BotrkLS").GetValue <bool>() && Player.Health < Player.MaxHealth * 0.5)
                    {
                        Botrk.Cast(t);
                    }
                    if (Config.Item("BotrkCombo").GetValue <bool>() && Program.Combo)
                    {
                        Botrk.Cast(t);
                    }
                }
            }

            if (Hextech.IsReady() && Config.Item("Hextech").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Hextech.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("HextechKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 150 + Player.FlatMagicDamageMod * 0.4) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Hextech.Cast(t);
                    }
                    if (Config.Item("HextechCombo").GetValue <bool>() && Program.Combo)
                    {
                        Hextech.Cast(t);
                    }
                }
            }

            if (Program.Combo && FrostQueen.IsReady() && Config.Item("FrostQueen").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(FrostQueen.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    var predInput2 = new Core.PredictionInput
                    {
                        Aoe       = true,
                        Collision = false,
                        Speed     = 1200,
                        Delay     = 0.25f,
                        Range     = FrostQueen.Range,
                        From      = Player.ServerPosition,
                        Radius    = 200,
                        Unit      = t,
                        Type      = Core.SkillshotType.SkillshotCircle
                    };
                    var poutput2 = Core.Prediction.GetPrediction(predInput2);

                    if (poutput2.Hitchance >= Core.HitChance.High)
                    {
                        FrostQueen.Cast(poutput2.CastPosition);
                    }
                }
            }

            if (Cutlass.IsReady() && Config.Item("Cutlass").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Cutlass.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("CutlassKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 100) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Cutlass.Cast(t);
                    }
                    if (Config.Item("CutlassCombo").GetValue <bool>() && Program.Combo)
                    {
                        Cutlass.Cast(t);
                    }
                }
            }

            if (Youmuus.IsReady() && Config.Item("Youmuus").GetValue <bool>())
            {
                var t = Orbwalker.GetTarget();

                if (t.IsValidTarget() && t is Obj_AI_Hero)
                {
                    if (Config.Item("YoumuusKS").GetValue <bool>() && t.Health < Player.MaxHealth * 0.6)
                    {
                        Youmuus.Cast();
                    }
                    if (Config.Item("YoumuusCombo").GetValue <bool>() && Program.Combo)
                    {
                        Youmuus.Cast();
                    }
                }
            }

            if (Config.Item("Hydra").GetValue <bool>())
            {
                if (Hydra.IsReady() && Player.CountEnemiesInRange(Hydra.Range) > 0)
                {
                    Hydra.Cast();
                }
                else if (Hydra2.IsReady() && Player.CountEnemiesInRange(Hydra2.Range) > 0)
                {
                    Hydra2.Cast();
                }
            }
        }
        private static void Combo()
        {
            var useQ         = Menu.Item("useQ").GetValue <bool>();
            var useW         = Menu.Item("useW").GetValue <bool>();
            var useE         = Menu.Item("useE").GetValue <bool>();
            var useR         = Menu.Item("useR").GetValue <bool>();
            var minQRange    = Menu.Item("minQRange").GetValue <Slider>().Value;
            var useEStun     = Menu.Item("useEStun").GetValue <bool>();
            var useQGapclose = Menu.Item("useQGapclose").GetValue <bool>();
            var useWBeforeQ  = Menu.Item("useWBeforeQ").GetValue <bool>();
            var procSheen    = Menu.Item("procSheen").GetValue <bool>();
            var useIgnite    = Menu.Item("useIgnite").GetValue <bool>();
            var useRGapclose = Menu.Item("useRGapclose").GetValue <bool>();

            var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);

            if (target == null && useQGapclose)
            {
                var minionQ =
                    ObjectManager.Get <Obj_AI_Minion>()
                    .Where(x => x.IsValidTarget())
                    .Where(x => Player.GetSpellDamage(x, SpellSlot.Q) > x.Health)
                    .FirstOrDefault(
                        x =>
                        x.Distance(TargetSelector.GetTarget(Q.Range * 5, TargetSelector.DamageType.Physical)) <
                        Q.Range);

                if (minionQ != null)
                {
                    Q.CastOnUnit(minionQ, Packets);
                    return;
                }

                if (useRGapclose)
                {
                    var minionR =
                        ObjectManager.Get <Obj_AI_Minion>()
                        .Where(x => x.IsValidTarget())
                        .Where(x => x.Distance(Player) < Q.Range)     // Use Q.Range so we follow up with a Q
                        .Where(x => x.CountEnemiesInRange(Q.Range) >= 1)
                        .FirstOrDefault(
                            x =>
                            x.Health - Player.GetSpellDamage(x, SpellSlot.R) <
                            Player.GetSpellDamage(x, SpellSlot.Q));

                    if (minionR != null)
                    {
                        R.Cast(minionR, Packets);
                    }
                }
            }

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

            if (Botrk.IsReady())
            {
                Botrk.Cast(target);
            }

            if (Cutlass.IsReady())
            {
                Cutlass.Cast(target);
            }

            if (Omen.IsReady() && Omen.IsInRange(target) &&
                target.Distance(Player) > Orbwalking.GetRealAutoAttackRange(Player))
            {
                Omen.Cast();
            }

            if (useIgnite && target != null && target.IsValidTarget(600) &&
                (IgniteSlot.IsReady() &&
                 Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite) > target.Health))
            {
                Player.Spellbook.CastSpell(IgniteSlot, target);
            }

            if (useWBeforeQ)
            {
                if (useW && W.IsReady())
                {
                    W.Cast(Packets);
                }

                if (useQ && Q.IsReady() && target.Distance(Player.ServerPosition) > minQRange)
                {
                    Q.CastOnUnit(target, Packets);
                }
            }
            else
            {
                if (useQ && Q.IsReady() && target.Distance(Player.ServerPosition) > minQRange)
                {
                    Q.CastOnUnit(target, Packets);
                }

                if (useW && W.IsReady())
                {
                    W.Cast(Packets);
                }
            }

            if (useEStun)
            {
                if (target.CanStunTarget() && useE && E.IsReady())
                {
                    E.Cast(target, Packets);
                }
            }
            else
            {
                if (useE && E.IsReady())
                {
                    E.Cast(target, Packets);
                }
            }

            if (useR && R.IsReady() && !UltActivated)
            {
                R.Cast(target, Packets);
            }

            // Get target that is in the R range
            var rTarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical);

            if (useR && UltActivated)
            {
                if (!procSheen)
                {
                    return;
                }

                // Fire Ult if player is out of AA range, with Q not up or not in range
                if (target.Distance(Player) > Orbwalking.GetRealAutoAttackRange(Player))
                {
                    R.Cast(rTarget, Packets);
                }
                else
                {
                    if (!HasSheenBuff)
                    {
                        R.Cast(rTarget, Packets);
                    }
                }
            }
            else
            {
                R.Cast(rTarget, Packets);
            }
        }
Exemple #16
0
        private void Offensive()
        {
            if (Botrk.IsReady() && Config.Item("Botrk").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Botrk.Range, TargetSelector.DamageType.Physical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("BotrkKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Physical, t.MaxHealth * 0.1) > t.Health)
                    {
                        Botrk.Cast(t);
                    }
                    if (Config.Item("BotrkLS").GetValue <bool>() && Player.Health < Player.MaxHealth * 0.5)
                    {
                        Botrk.Cast(t);
                    }
                    if (Config.Item("BotrkCombo").GetValue <bool>() && Program.Combo)
                    {
                        Botrk.Cast(t);
                    }
                }
            }

            if (Hextech.IsReady() && Config.Item("Hextech").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Hextech.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("HextechKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 150 + Player.FlatMagicDamageMod * 0.4) > t.Health)
                    {
                        Hextech.Cast(t);
                    }
                    if (Config.Item("HextechCombo").GetValue <bool>() && Program.Combo)
                    {
                        Hextech.Cast(t);
                    }
                }
            }

            if (Cutlass.IsReady() && Config.Item("Cutlass").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Cutlass.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("CutlassKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 100) > t.Health)
                    {
                        Cutlass.Cast(t);
                    }
                    if (Config.Item("CutlassCombo").GetValue <bool>() && Program.Combo)
                    {
                        Cutlass.Cast(t);
                    }
                }
            }

            if (Youmuus.IsReady() && Config.Item("Youmuus").GetValue <bool>())
            {
                var t = Orbwalker.GetTarget();

                if (t.IsValidTarget() && t is Obj_AI_Hero)
                {
                    if (Config.Item("YoumuusKS").GetValue <bool>() && t.Health < Player.MaxHealth * 0.6)
                    {
                        Youmuus.Cast();
                    }
                    if (Config.Item("YoumuusCombo").GetValue <bool>() && Program.Combo)
                    {
                        Youmuus.Cast();
                    }
                }
            }

            if (Config.Item("Hydra").GetValue <bool>())
            {
                if (Hydra.IsReady() && Player.CountEnemiesInRange(Hydra.Range) > 0)
                {
                    Hydra.Cast();
                }
                else if (Hydra2.IsReady() && Player.CountEnemiesInRange(Hydra2.Range) > 0)
                {
                    Hydra2.Cast();
                }
            }
        }
Exemple #17
0
        public static void Init()
        {
            if (Botrk.IsOwned())
            {
                UtilityMenu.Activator.AddCheckBox("activator.botrk", "Use BOTRK");
                UtilityMenu.Activator.AddSeparator();
                UtilityMenu.Activator.AddGroupLabel("Blade of The Ruined King Manager:",
                                                    "activator.label.utilitymenu.botrk", true);
                UtilityMenu.Activator.AddCheckBox("activator.botrk.combo", "Use BOTRK (COMBO Mode)", true, true);
                UtilityMenu.Activator.AddCheckBox("activator.botrk.ks", "Use BOTRK (KS Mode)", false, true);
                UtilityMenu.Activator.AddCheckBox("activator.botrk.lifesave", "Use BOTRK (LifeSave)", false, true);
                UtilityMenu.Activator.AddSlider("activator.botrk.hp", "Use BOTRK (LifeSave) if HP are under {0}", 20, 0,
                                                100, true);
                UtilityMenu.Activator.AddSeparator();
            }
            if (Cutlass.IsOwned())
            {
                UtilityMenu.Activator.AddCheckBox("activator.bilgewater", "Use BC");
                UtilityMenu.Activator.AddSeparator();
                UtilityMenu.Activator.AddGroupLabel("Bilgewater Cutlass Manager:",
                                                    "activator.label.utilitymenu.bilgewater", true);
                UtilityMenu.Activator.AddCheckBox("activator.bilgewater.combo", "Use BC (COMBO Mode)", true, true);
                UtilityMenu.Activator.AddCheckBox("activator.bilgewater.ks", "Use BC (KS Mode)", false, true);
                UtilityMenu.Activator.AddSeparator();
            }

            if (Youmuus.IsOwned())
            {
                UtilityMenu.Activator.AddCheckBox("activator.youmus", "Use Youmus");
                UtilityMenu.Activator.AddSeparator();
                UtilityMenu.Activator.AddGroupLabel("Youmus Manager:", "activator.label.utilitymenu.youmus", true);
                UtilityMenu.Activator.AddCheckBox("activator.youmusspellonly", "Use Youmus only on spell cast", false,
                                                  true);
                UtilityMenu.Activator.AddSeparator();
            }

            if (Hunter.IsOwned() || Refillable.IsOwned() || Potion.IsOwned() || Biscuit.IsOwned() ||
                Corrupting.IsOwned())
            {
                UtilityMenu.Activator.AddCheckBox("activator.potions", "Use Potions");
                UtilityMenu.Activator.AddSeparator();
                UtilityMenu.Activator.AddGroupLabel("Potions Manager:", "activator.label.utilitymenu.potions", true);
                UtilityMenu.Activator.AddSlider("activator.potions.hp", "Use POTIONS if HP are under {0}", 20, 0, 100,
                                                true);
                UtilityMenu.Activator.AddSlider("activator.potions.mana", "Use POTIONS if mana is under {0}", 20, 0, 100,
                                                true);
                UtilityMenu.Activator.AddSeparator();
            }

            if (Mercurial.IsOwned() || Qss.IsOwned())
            {
                UtilityMenu.Activator.AddCheckBox("activator.qss", "Use QSS - Mercurial");
                UtilityMenu.Activator.AddCheckBox("activator.qss.ulti", "Prevent ultimates");
                UtilityMenu.Activator.AddCheckBox("activator.qss.bonus", "Use on bonus");
                UtilityMenu.Activator.AddSeparator();
                UtilityMenu.Activator.AddGroupLabel("Anti Cloud-Control Manager:", "activator.label.utilitymenu.qss",
                                                    true);
                UtilityMenu.Activator.AddCheckBox("activator.qss.cc.1", "Use it on Airborne", true, true);
                UtilityMenu.Activator.AddCheckBox("activator.qss.cc.2", "Use it on Blind", true, true);
                UtilityMenu.Activator.AddCheckBox("activator.qss.cc.3", "Use it on Disarm", true, true);
                UtilityMenu.Activator.AddCheckBox("activator.qss.cc.4", "Use it on Forced Action", true, true);
                UtilityMenu.Activator.AddCheckBox("activator.qss.cc.5", "Use it on Root", true, true);
                UtilityMenu.Activator.AddCheckBox("activator.qss.cc.6", "Use it on Silence", true, true);
                UtilityMenu.Activator.AddCheckBox("activator.qss.cc.7", "Use it on Slow", true, true);
                UtilityMenu.Activator.AddCheckBox("activator.qss.cc.8", "Use it on Stasis", true, true);
                UtilityMenu.Activator.AddCheckBox("activator.qss.cc.9", "Use it on Stun", true, true);
                UtilityMenu.Activator.AddCheckBox("activator.qss.cc.10", "Use it on Suppression", true, true);
                UtilityMenu.Activator.AddSeparator();

                if (Value.Use("activator.qss.ulti"))
                {
                    UtilityMenu.Activator.AddGroupLabel("Anti Ultimate Manager:",
                                                        "activator.label.utilitymenu.qss.antiulti", true);

                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Fiora"))
                    {
                        UtilityMenu.Activator.AddCheckBox("activator.qss.ulti.1", "Prevent Fiora Ultimate", true, true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Fizz"))
                    {
                        UtilityMenu.Activator.AddCheckBox("activator.qss.ulti.2", "Prevent Fizz Ultimate", true, true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Lissandra"))
                    {
                        UtilityMenu.Activator.AddCheckBox("activator.qss.ulti.4", "Prevent Lissandra Ultimate", true,
                                                          true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Mordekaiser"))
                    {
                        UtilityMenu.Activator.AddCheckBox("activator.qss.ulti.5", "Prevent Mordekaiser Ultimate", true,
                                                          true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Thresh"))
                    {
                        UtilityMenu.Activator.AddCheckBox("activator.qss.ulti.7", "Prevent Thresh Q", true, true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Vladimir"))
                    {
                        UtilityMenu.Activator.AddCheckBox("activator.qss.ulti.8", "Prevent Vladimir", true, true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Zed"))
                    {
                        UtilityMenu.Activator.AddCheckBox("activator.qss.ulti.9", "Prevent Zed Ultimate", true, true);
                    }
                }

                UtilityMenu.Activator.AddSeparator();

                if (Value.Use("activator.qss.bonus"))
                {
                    UtilityMenu.Activator.AddGroupLabel("Anti Cloud-Control Bonus Manager:",
                                                        "activator.label.utilitymenu.qss.bonus", true);

                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Vayne"))
                    {
                        UtilityMenu.Activator.AddCheckBox("activator.qss.bonus.1", "Prevent Vayne Stacks", false, true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Darius"))
                    {
                        UtilityMenu.Activator.AddCheckBox("activator.qss.bonus.2", "Prevent Darius BloodStacks", false,
                                                          true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Kalista"))
                    {
                        UtilityMenu.Activator.AddCheckBox("activator.qss.bonus.3", "Prevent Kalista EStacks", false,
                                                          true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Tristana"))
                    {
                        UtilityMenu.Activator.AddCheckBox("activator.qss.bonus.4", "Prevent Tristana EStacks", false,
                                                          true);
                    }
                }

                UtilityMenu.Activator.AddSlider("activator.qss.prevent.enemies",
                                                "Prevent to use QSS if there are less then {0} enemies", 3, 0, 5, true);
                UtilityMenu.Activator.AddSlider("activator.qss.hp", "Use QSS if HP are under {0}", 20, 0, 100, true);
                UtilityMenu.Activator.AddSeparator();
            }

            if (MainMenu._menu["useonupdate"].Cast <CheckBox>().CurrentValue)
            {
                Game.OnUpdate += GameOnUpdate;
            }
            else
            {
                Game.OnTick += GameOnUpdate;
            }

            Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
            Shop.OnBuyItem         += Shop_OnBuyItem;
            Obj_AI_Base.OnBuffGain += BuffGain;
        }
Exemple #18
0
        private static void Offensive()
        {
            if (Botrk.IsReady() && OffensivesMenu["botrk"].Cast <CheckBox>().CurrentValue)
            {
                var t = TargetSelector.GetTarget(Botrk.Range, DamageType.Physical);
                if (t.IsValidTarget())
                {
                    if (OffensivesMenu["botrkks"].Cast <CheckBox>().CurrentValue&&
                        Player.CalculateDamageOnUnit(t, DamageType.Physical, t.MaxHealth * (float)0.1) > t.Health)
                    {
                        Botrk.Cast(t);
                    }
                    if (OffensivesMenu["botrkls"].Cast <CheckBox>().CurrentValue&& Player.Health < Player.MaxHealth * 0.5)
                    {
                        Botrk.Cast(t);
                    }
                    if (OffensivesMenu["botrkc"].Cast <CheckBox>().CurrentValue&&
                        Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.Combo)
                    {
                        Botrk.Cast(t);
                    }
                }
            }

            if (Hextech.IsReady() && OffensivesMenu["hex"].Cast <CheckBox>().CurrentValue)
            {
                var t = TargetSelector.GetTarget(Hextech.Range, DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (OffensivesMenu["hexks"].Cast <CheckBox>().CurrentValue&&
                        Player.CalculateDamageOnUnit(t, DamageType.Magical, 150 + Player.FlatMagicDamageMod * (float)0.4) >
                        t.Health)
                    {
                        Hextech.Cast(t);
                    }
                    if (OffensivesMenu["hexc"].Cast <CheckBox>().CurrentValue&&
                        Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.Combo)
                    {
                        Hextech.Cast(t);
                    }
                }
            }

            if (Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.Combo && FrostQueen.IsReady() &&
                OffensivesMenu["fq"].Cast <CheckBox>().CurrentValue)
            {
                var t = TargetSelector.GetTarget(FrostQueen.Range, DamageType.Magical);
                if (t.IsValidTarget() && t.Distance(Player) < 1500)
                {
                    FrostQueen.Cast();
                }
            }

            if (Cutlass.IsReady() && OffensivesMenu["cut"].Cast <CheckBox>().CurrentValue)
            {
                var t = TargetSelector.GetTarget(Cutlass.Range, DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (OffensivesMenu["cutks"].Cast <CheckBox>().CurrentValue&&
                        Player.CalculateDamageOnUnit(t, DamageType.Magical, 100) > t.Health)
                    {
                        Cutlass.Cast(t);
                    }
                    if (OffensivesMenu["cutc"].Cast <CheckBox>().CurrentValue&&
                        Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.Combo)
                    {
                        Cutlass.Cast(t);
                    }
                }
            }

            if (Youmuus.IsReady() && OffensivesMenu["gb"].Cast <CheckBox>().CurrentValue&&
                Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.Combo)
            {
                var t = Orbwalker.LastTarget;

                if (t.IsValidTarget(Player.AttackRange) && t is AIHeroClient)
                {
                    Youmuus.Cast();
                }
            }

            if ((OffensivesMenu["tmat"].Cast <CheckBox>().CurrentValue ||
                 OffensivesMenu["rh"].Cast <CheckBox>().CurrentValue) && (Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.Combo || Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.Harass))
            {
                if (Hydra.IsReady() && Player.CountEnemiesInRange(Hydra.Range) > 0)
                {
                    Hydra.Cast();
                }
                else if (Tiamat.IsReady() && Player.CountEnemiesInRange(Tiamat.Range) > 0)
                {
                    Tiamat.Cast();
                }
            }
        }
Exemple #19
0
        /// <summary>
        ///     Does the combo.
        /// </summary>
        private static void DoCombo()
        {
            var target = TargetSelector.GetTarget(Q.Range);

            var useQ                 = Menu["Combo"]["UseQ"].GetValue <MenuBool>().Value;
            var useQGapclose         = Menu["Combo"]["UseQGapclose"].GetValue <MenuBool>().Value;
            var useQGapcloseInfinite = Menu["Combo"]["UseQGapcloseInfinite"].GetValue <MenuBool>().Value;
            var useW                 = Menu["Combo"]["UseW"].GetValue <MenuBool>().Value;
            var useE                 = Menu["Combo"]["UseE"].GetValue <MenuBool>().Value;
            var useEStunOnly         = Menu["Combo"]["UseEStunOnly"].GetValue <MenuBool>().Value;
            var useR                 = Menu["Combo"]["UseR"].GetValue <MenuBool>().Value;
            var procSheenBeforeR     = Menu["Combo"]["ProcSheenBeforeR"].GetValue <MenuBool>().Value;
            var useRtoQ              = Menu["Combo"]["UseRToQ"].GetValue <MenuBool>().Value;
            var useBotrk             = Menu["Combo"]["UseBotrk"].GetValue <MenuBool>().Value;
            var useRanduin           = Menu["Combo"]["UseRanduin"].GetValue <MenuBool>().Value;
            var useHextech           = Menu["Combo"]["UseHextech"].GetValue <MenuBool>().Value;
            var mode                 = Menu["Combo"]["Mode"].GetValue <MenuList <string> >().SelectedValue;

            if (target == null && useQGapclose)
            {
                var gapcloseMinion = useQGapcloseInfinite
                                         ? GameObjects.EnemyMinions.Where(
                    x =>
                    x.IsValidTarget(Q.Range) &&
                    Player.GetSpellDamage(x, SpellSlot.Q) > x.Health &&
                    Player.Distance(
                        GameObjects.EnemyHeroes.OrderBy(y => y.Distance(Player))
                        .FirstOrDefault())
                    < x.Distance(
                        GameObjects.EnemyHeroes.OrderBy(y => y.Distance(Player))
                        .FirstOrDefault()))
                                     .FirstOrDefault(
                    x =>
                    x.Distance(
                        GameObjects.EnemyHeroes.OrderBy(y => y.Distance(Player))
                        .FirstOrDefault()) < Q.Range)
                                         : GameObjects.EnemyMinions.Where(
                    x =>
                    x.IsValidTarget(Q.Range) &&
                    Player.GetSpellDamage(x, SpellSlot.Q) > x.Health)
                                     .FirstOrDefault(
                    x => x.Distance(TargetSelector.GetTarget(Q.Range * 5)) < Q.Range);

                if (gapcloseMinion != null)
                {
                    Q.CastOnUnit(gapcloseMinion);
                }
                else if (useRtoQ && R.IsReady())
                {
                    var minionR =
                        ObjectManager.Get <Obj_AI_Minion>()
                        .Where(
                            x =>
                            x.IsValidTarget() && x.Distance(Player) < Q.Range &&
                            GameObjects.EnemyHeroes.Count(y => x.Distance(y) < Q.Range) > 0)
                        .FirstOrDefault(
                            x =>
                            x.Health - Player.GetSpellDamage(x, SpellSlot.R) < Player.GetSpellDamage(x, SpellSlot.Q));

                    if (minionR != null)
                    {
                        R.Cast(minionR);
                    }
                }

                return;
            }

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

            if (useBotrk && Botrk.IsReady)
            {
                Botrk.Cast(target);
            }

            if (useRanduin && Randuins.IsReady && Player.Distance(target) < 500 &&
                Player.Distance(target) > Player.GetRealAutoAttackRange())
            {
                Randuins.Cast();
            }

            if (useHextech && Hextech.IsReady)
            {
                Hextech.Cast(target);
            }

            if (useQ && Q.IsReady())
            {
                Q.CastOnUnit(target);
            }

            if (mode.Equals("Q -> W -> E"))
            {
                if (useW && W.IsReady())
                {
                    W.Cast();
                }

                if (useE && E.IsReady())
                {
                    UseE(target, useEStunOnly);
                }
            }
            else
            {
                if (useE && E.IsReady())
                {
                    UseE(target, useEStunOnly);
                }

                if (useW && W.IsReady())
                {
                    W.Cast();
                }
            }

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

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

            if (procSheenBeforeR)
            {
                // Cast ult on the target if we have the sheen buff only if they are out of the AA range
                if (Player.Distance(ultTarget) > Player.GetRealAutoAttackRange() || !Player.HasBuff("sheen"))
                {
                    R.Cast(ultTarget);
                }
            }
            else if (!procSheenBeforeR)
            {
                R.Cast(target);
            }
        }
Exemple #20
0
        private void Offensive()
        {
            var botrk = Config["activator"]["offensives"]["botrk"];

            if (Botrk.IsReady && botrk.GetValue <MenuBool>("Botrk").Value)
            {
                var t = Variables.TargetSelector.GetTarget(Botrk.Range, DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (botrk.GetValue <MenuBool>("BotrkKS").Value&& Player.CalculateDamage(t, DamageType.Magical, 100) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Botrk.Cast(t);
                    }
                    if (botrk.GetValue <MenuBool>("BotrkCombo").Value&& Program.Combo)
                    {
                        Botrk.Cast(t);
                    }
                }
            }

            var glp800 = Config["activator"]["offensives"]["glp800"];

            if (GLP800.IsReady && glp800.GetValue <MenuBool>("GLP800").Value)
            {
                var t = Variables.TargetSelector.GetTarget(GLP800.Range, DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (glp800.GetValue <MenuBool>("GLP800KS").Value&& Player.CalculateDamage(t, DamageType.Magical, 100 + 100f / 17 * (Player.Level - 1) + 0.2 * Player.TotalMagicalDamage) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        GLP800.Cast(Movement.GetPrediction(t, 0.5f).CastPosition);
                    }
                    if (glp800.GetValue <MenuBool>("GLP800Combo").Value&& Program.Combo)
                    {
                        GLP800.Cast(Movement.GetPrediction(t, 0.5f).CastPosition);
                    }
                }
            }

            var protobelt = Config["activator"]["offensives"]["protobelt"];

            if (Protobelt.IsReady && protobelt.GetValue <MenuBool>("Protobelt").Value)
            {
                var t = Variables.TargetSelector.GetTarget(Protobelt.Range, DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (protobelt.GetValue <MenuBool>("ProtobeltKS").Value&& Player.CalculateDamage(t, DamageType.Magical, 75 + 75f / 17 * (Player.Level - 1) + 0.25 * Player.TotalMagicalDamage) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Protobelt.Cast(Movement.GetPrediction(t, 0.5f).CastPosition);
                    }
                    if (protobelt.GetValue <MenuBool>("ProtobeltCombo").Value&& Program.Combo)
                    {
                        Protobelt.Cast(Movement.GetPrediction(t, 0.5f).CastPosition);
                    }
                }
            }

            var hextech = Config["activator"]["offensives"]["hextech"];

            if (Hextech.IsReady && hextech.GetValue <MenuBool>("Hextech").Value)
            {
                var t = Variables.TargetSelector.GetTarget(Hextech.Range, DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (hextech.GetValue <MenuBool>("HextechKS").Value&& Player.CalculateDamage(t, DamageType.Magical, 175 + 78f / 17 * (Player.Level - 1) + 0.3 * Player.TotalMagicalDamage) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Hextech.Cast(t);
                    }
                    if (hextech.GetValue <MenuBool>("HextechCombo").Value&& Program.Combo)
                    {
                        Hextech.Cast(t);
                    }
                }
            }

            var cutlass = Config["activator"]["offensives"]["cutlass"];

            if (Cutlass.IsReady && cutlass.GetValue <MenuBool>("Cutlass").Value)
            {
                var t = Variables.TargetSelector.GetTarget(Cutlass.Range, DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (cutlass.GetValue <MenuBool>("CutlassKS").Value&& Player.CalculateDamage(t, DamageType.Magical, 100) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Cutlass.Cast(t);
                    }
                    if (cutlass.GetValue <MenuBool>("CutlassCombo").Value&& Program.Combo)
                    {
                        Cutlass.Cast(t);
                    }
                }
            }

            var youmuus = Config["activator"]["offensives"]["youmuus"];

            if (Youmuus.IsReady && youmuus.GetValue <MenuBool>("Youmuus").Value&& Program.Combo)
            {
                var t = Variables.Orbwalker.GetTarget();
                if (t.IsValidTarget() && t is AIHeroClient)
                {
                    if (youmuus.GetValue <MenuBool>("YoumuusKS").Value&& t.Health < Player.MaxHealth)
                    {
                        Youmuus.Cast();
                    }
                    if (youmuus.GetValue <MenuBool>("YoumuusCombo").Value)
                    {
                        Youmuus.Cast();
                    }
                }
            }

            if (Config["activator"]["offensives"]["hydra"].GetValue <MenuBool>("Hydra").Value)
            {
                if (Hydra.IsReady && Player.CountEnemyHeroesInRange(Hydra.Range) > 0)
                {
                    Hydra.Cast();
                }
                else if (Hydra2.IsReady && Player.CountEnemyHeroesInRange(Hydra2.Range) > 0)
                {
                    Hydra2.Cast();
                }
            }
        }
Exemple #21
0
        /// <summary>
        ///     Does the combo.
        /// </summary>
        private static void Combo()
        {
            var useQ         = getCheckBoxItem(comboMenu, "useQ");
            var useW         = getCheckBoxItem(comboMenu, "useW");
            var useE         = getCheckBoxItem(comboMenu, "useE");
            var useR         = getCheckBoxItem(comboMenu, "useR");
            var minQRange    = getSliderItem(comboMenu, "minQRange");
            var useEStun     = getCheckBoxItem(comboMenu, "useEStun");
            var useQGapclose = getCheckBoxItem(comboMenu, "useQGapclose");
            var useWBeforeQ  = getCheckBoxItem(comboMenu, "useWBeforeQ");
            var procSheen    = getCheckBoxItem(comboMenu, "procSheen");
            var useIgnite    = getCheckBoxItem(comboMenu, "useIgnite");
            var useRGapclose = getCheckBoxItem(comboMenu, "useRGapclose");

            var target = TargetSelector.GetTarget(Q.Range, DamageType.Physical);

            if (target == null && useQGapclose)
            {
                /** var minionQ =
                 *  ObjectManager.Get<Obj_AI_Minion>()
                 *      .Where(x => x.LSIsValidTarget())
                 *      .Where(x => Player.LSGetSpellDamage(x, SpellSlot.Q) > x.Health)
                 *      .FirstOrDefault(
                 *          x =>
                 *              x.LSDistance(TargetSelector.GetTarget(Q.Range * 5, TargetSelector.DamageType.Physical)) <
                 *              Q.Range);*/
                var minionQ =
                    MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.NotAlly)
                    .FirstOrDefault(
                        x =>
                        Q.IsKillable(x) && Q.IsInRange(x) &&
                        x.LSDistance(HeroManager.Enemies.OrderBy(y => y.LSDistance(Player)).FirstOrDefault())
                        < Player.LSDistance(HeroManager.Enemies.OrderBy(z => z.LSDistance(Player)).FirstOrDefault()));

                if (minionQ != null && Player.Mana > Q.ManaCost * 2)
                {
                    Q.CastOnUnit(minionQ);
                    return;
                }

                if (useRGapclose)
                {
                    var minionR =
                        ObjectManager.Get <Obj_AI_Minion>()
                        .Where(
                            x =>
                            x.LSIsValidTarget() && x.LSDistance(Player) < Q.Range && x.LSCountEnemiesInRange(Q.Range) >= 1)
                        .FirstOrDefault(
                            x =>
                            x.Health - Player.LSGetSpellDamage(x, SpellSlot.R) < Player.LSGetSpellDamage(x, SpellSlot.Q));

                    if (minionR != null)
                    {
                        R.Cast(minionR);
                    }
                }
            }

            // Get target that is in the R range
            var rTarget = TargetSelector.GetTarget(R.Range, DamageType.Physical);

            if (useR && UltActivated && rTarget.LSIsValidTarget())
            {
                if (procSheen)
                {
                    // Fire Ult if player is out of AA range, with Q not up or not in range
                    if (target.LSDistance(Player) > Orbwalking.GetRealAutoAttackRange(Player))
                    {
                        R.Cast(rTarget);
                    }
                    else
                    {
                        if (!HasSheenBuff)
                        {
                            R.Cast(rTarget);
                        }
                    }
                }
                else
                {
                    R.Cast(rTarget);
                }
            }

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

            if (Botrk.IsReady())
            {
                Botrk.Cast(target);
            }

            if (Cutlass.IsReady())
            {
                Cutlass.Cast(target);
            }

            if (Omen.IsReady() && Omen.IsInRange(target) &&
                target.LSDistance(Player) > Orbwalking.GetRealAutoAttackRange(Player))
            {
                Omen.Cast();
            }

            if (useIgnite && target != null && target.LSIsValidTarget(600) &&
                (IgniteSlot.IsReady() &&
                 Player.GetSummonerSpellDamage(target, LeagueSharp.Common.Damage.SummonerSpell.Ignite) > target.Health))
            {
                Player.Spellbook.CastSpell(IgniteSlot, target);
            }

            if (useWBeforeQ)
            {
                if (useW && W.IsReady())
                {
                    W.Cast();
                }

                if (useQ && Q.IsReady() && target.LSDistance(Player.ServerPosition) > minQRange)
                {
                    Q.CastOnUnit(target);
                }
            }
            else
            {
                if (useQ && Q.IsReady() && target.LSDistance(Player.ServerPosition) > minQRange)
                {
                    Q.CastOnUnit(target);
                }

                if (useW && W.IsReady())
                {
                    W.Cast();
                }
            }

            if (useEStun)
            {
                if (target.CanStunTarget() && useE && E.IsReady())
                {
                    E.Cast(target);
                }
            }
            else
            {
                if (useE && E.IsReady())
                {
                    E.Cast(target);
                }
            }

            if (useR && R.IsReady() && !UltActivated)
            {
                R.Cast(target);
            }
        }
Exemple #22
0
            private static void Items()
            {
                if (ObjectManager.GetLocalPlayer().IsDead || ObjectManager.GetLocalPlayer().IsRecalling() ||
                    ObjectManager.GetLocalPlayer().IsInFountainRange() ||
                    !ItemsMenu["SharpShooter.UtilityMenu.ItemsMenu.Enabled"].Enabled)
                {
                    return;
                }

                #region Youmuu

                if (ItemsMenu["SharpShooter.UtilityMenu.ItemsMenu.YoumuusEnabled"].Enabled && Youmuus.IsMine && Youmuus.Ready)
                {
                    var target = GetTarget(800);

                    if (target != null && target.IsValidTarget(800) && MyLogic.Orbwalker.Mode == OrbwalkingMode.Combo)
                    {
                        Youmuus.Cast();
                        return;
                    }
                }

                #endregion

                #region Cutlass

                if (ItemsMenu["SharpShooter.UtilityMenu.ItemsMenu.CutlassEnabled"].Enabled && Cutlass.IsMine && Cutlass.Ready)
                {
                    var target = GetTarget(Cutlass.Range);

                    if (target != null && target.IsValidTarget(Cutlass.Range))
                    {
                        if (Cutlass.GetDamage(target) > target.Health)
                        {
                            Cutlass.CastOnUnit(target);
                            return;
                        }

                        if (MyLogic.Orbwalker.Mode == OrbwalkingMode.Combo)
                        {
                            if (target.IsValidAutoRange())
                            {
                                Cutlass.CastOnUnit(target);
                                return;
                            }
                        }
                    }
                }

                #endregion

                #region Botrk

                if (ItemsMenu["SharpShooter.UtilityMenu.ItemsMenu.BOTRKEnabled"].Enabled && Botrk.IsMine && Botrk.Ready)
                {
                    var target = GetTarget(Botrk.Range);

                    if (target != null && target.IsValidTarget(Botrk.Range))
                    {
                        if (Botrk.GetDamage(target) > target.Health)
                        {
                            Botrk.CastOnUnit(target);
                            return;
                        }

                        if (MyLogic.Orbwalker.Mode == OrbwalkingMode.Combo)
                        {
                            if (target.IsValidAutoRange())
                            {
                                Botrk.CastOnUnit(target);
                                return;
                            }
                        }
                    }
                }

                #endregion

                #region Hextech

                if (ItemsMenu["SharpShooter.UtilityMenu.ItemsMenu.GunbladeEnabled"].Enabled && Hextech.IsMine && Hextech.Ready)
                {
                    var target = GetTarget(Hextech.Range);

                    if (target != null && target.IsValidTarget(Hextech.Range))
                    {
                        if (Hextech.GetDamage(target) > target.Health)
                        {
                            Hextech.CastOnUnit(target);
                            return;
                        }

                        if (MyLogic.Orbwalker.Mode == OrbwalkingMode.Combo)
                        {
                            if (target.IsValidAutoRange())
                            {
                                if (target.HealthPercent() <= 80)
                                {
                                    Hextech.CastOnUnit(target);
                                    return;
                                }
                            }
                        }
                    }
                }

                #endregion

                #region Randuin

                if (ItemsMenu["SharpShooter.UtilityMenu.ItemsMenu.RanduinsOmenEnabled"].Enabled && Randuin.IsMine && Randuin.Ready)
                {
                    if (MyLogic.Orbwalker.Mode == OrbwalkingMode.Combo)
                    {
                        if (ObjectManager.GetLocalPlayer().CountEnemyHeroesInRange(Randuin.Range) >= 3)
                        {
                            Randuin.Cast();
                        }
                    }
                }

                #endregion
            }
Exemple #23
0
        private void Offensive()
        {
            if (Botrk.IsReady() && Config.Item("Botrk").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Botrk.Range, TargetSelector.DamageType.Physical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("BotrkKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Physical, t.MaxHealth * 0.1) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Botrk.Cast(t);
                    }
                    if (Config.Item("BotrkLS").GetValue <bool>() && Player.Health < Player.MaxHealth * 0.5 - OktwCommon.GetIncomingDamage(Player))
                    {
                        Botrk.Cast(t);
                    }
                    if (Config.Item("BotrkCombo").GetValue <bool>() && Program.Combo)
                    {
                        Botrk.Cast(t);
                    }
                }
            }

            if (GLP800.IsReady() && Config.Item("GLP800").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(GLP800.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("GLP800KS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 200 + Player.FlatMagicDamageMod * 0.35) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        GLP800.Cast(Prediction.GetPrediction(t, 0.5f).CastPosition);
                    }
                    if (Config.Item("GLP800Combo").GetValue <bool>() && Program.Combo)
                    {
                        Program.debug("PRO");
                        GLP800.Cast(Prediction.GetPrediction(t, 0.5f).CastPosition);
                    }
                }
            }

            if (Protobelt.IsReady() && Config.Item("Protobelt").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Protobelt.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("ProtobeltKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 150 + Player.FlatMagicDamageMod * 0.35) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Protobelt.Cast(Prediction.GetPrediction(t, 0.5f).CastPosition);
                    }
                    if (Config.Item("ProtobeltCombo").GetValue <bool>() && Program.Combo)
                    {
                        Program.debug("PRO");
                        Protobelt.Cast(Prediction.GetPrediction(t, 0.5f).CastPosition);
                    }
                }
            }

            if (Hextech.IsReady() && Config.Item("Hextech").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Hextech.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("HextechKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 150 + Player.FlatMagicDamageMod * 0.4) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Hextech.Cast(t);
                    }
                    if (Config.Item("HextechCombo").GetValue <bool>() && Program.Combo)
                    {
                        Hextech.Cast(t);
                    }
                }
            }

            if (Program.Combo && FrostQueen.IsReady() && Config.Item("FrostQueen").GetValue <bool>() && Player.CountEnemiesInRange(800) > 0)
            {
                FrostQueen.Cast();
            }

            if (Cutlass.IsReady() && Config.Item("Cutlass").GetValue <bool>())
            {
                var t = TargetSelector.GetTarget(Cutlass.Range, TargetSelector.DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (Config.Item("CutlassKS").GetValue <bool>() && Player.CalcDamage(t, Damage.DamageType.Magical, 100) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Cutlass.Cast(t);
                    }
                    if (Config.Item("CutlassCombo").GetValue <bool>() && Program.Combo)
                    {
                        Cutlass.Cast(t);
                    }
                }
            }

            if (Youmuus.IsReady() && Config.Item("Youmuus").GetValue <bool>() && Program.Combo)
            {
                var t = Orbwalker.GetTarget();

                if (t.IsValidTarget() && t is AIHeroClient)
                {
                    if (Config.Item("YoumuusKS").GetValue <bool>() && t.Health < Player.MaxHealth)
                    {
                        Youmuus.Cast();
                    }
                    if (Config.Item("YoumuusCombo").GetValue <bool>())
                    {
                        Youmuus.Cast();
                    }
                }
            }

            if (Config.Item("Hydra").GetValue <bool>())
            {
                if (Hydra.IsReady() && Player.CountEnemiesInRange(Hydra.Range) > 0)
                {
                    Hydra.Cast();
                }
                else if (Hydra2.IsReady() && Player.CountEnemiesInRange(Hydra2.Range) > 0)
                {
                    Hydra2.Cast();
                }
            }
        }
Exemple #24
0
        protected override void InitializeMenu()
        {
            Menu.AddGroupLabel("OKTR AIO - Activator for " + Player.Instance.ChampionName,
                               "activator.grouplabel.utilitymenu");
            Menu.AddCheckBox("activator.heal", "Use Heal");
            Menu.AddCheckBox("activator.barrier", "Use Barrier");
            Menu.AddCheckBox("activator.ignite", "Use Ignite");
            Menu.Add("activator.advanced", new CheckBox("Show Advanced Menu", false)).OnValueChange +=
                Value.AdvancedModeChanged;
            Menu.AddSeparator();
            Menu.AddGroupLabel("Heal Manager:", "activator.label.utilitymenu.heal", true);
            Menu.AddCheckBox("activator.heal.lifesave", "Use Heal for Allies", false, true);
            Menu.AddSlider("activator.heal.hp", "Use Heal if HP are under {0}", 15, 0, 100, true);
            Menu.AddSeparator();
            Menu.AddGroupLabel("Barrier Manager:", "activator.label.utilitymenu.barrier", true);
            Menu.AddSlider("activator.barrier.hp", "Use Heal if HP are under {0}", 15, 0, 100, true);
            Menu.AddSeparator();
            Menu.AddGroupLabel("Ignite Manager:", "activator.label.utilitymenu.ignite", true);
            Menu.AddCheckBox("activator.ignite.progressive", "Use Ignite for Progressive Damage", false, true);
            Menu.AddCheckBox("activator.ignite.burst", "Use Ignite for Burst Damage", false, true);
            Menu.AddCheckBox("activator.ignite.killsteal", "Use Ignite for Killsteal", true, true);
            Menu.AddSeparator();
            if (Botrk.IsOwned())
            {
                Menu.AddCheckBox("activator.botrk", "Use BOTRK");
                Menu.AddSeparator();
                Menu.AddGroupLabel("Blade of The Ruined King Manager:",
                                   "activator.label.utilitymenu.botrk", true);
                Menu.AddCheckBox("activator.botrk.combo", "Use BOTRK (COMBO Mode)", true, true);
                Menu.AddCheckBox("activator.botrk.ks", "Use BOTRK (KS Mode)", false, true);
                Menu.AddCheckBox("activator.botrk.lifesave", "Use BOTRK (LifeSave)", false, true);
                Menu.AddSlider("activator.botrk.hp", "Use BOTRK (LifeSave) if HP are under {0}", 20, 0,
                               100, true);
                Menu.AddSeparator();
            }
            if (Cutlass.IsOwned())
            {
                Menu.AddCheckBox("activator.bilgewater", "Use BC");
                Menu.AddSeparator();
                Menu.AddGroupLabel("Bilgewater Cutlass Manager:",
                                   "activator.label.utilitymenu.bilgewater", true);
                Menu.AddCheckBox("activator.bilgewater.combo", "Use BC (COMBO Mode)", true, true);
                Menu.AddCheckBox("activator.bilgewater.ks", "Use BC (KS Mode)", false, true);
                Menu.AddSeparator();
            }

            if (Youmuus.IsOwned())
            {
                Menu.AddCheckBox("activator.youmus", "Use Youmus");
                Menu.AddSeparator();
                Menu.AddGroupLabel("Youmus Manager:", "activator.label.utilitymenu.youmus", true);
                Menu.AddCheckBox("activator.youmusspellonly", "Use Youmus only on spell cast", false,
                                 true);
                Menu.AddSeparator();
            }

            if (Hunter.IsOwned() || Refillable.IsOwned() || Potion.IsOwned() || Biscuit.IsOwned() ||
                Corrupting.IsOwned())
            {
                Menu.AddCheckBox("activator.potions", "Use Potions");
                Menu.AddSeparator();
                Menu.AddGroupLabel("Potions Manager:", "activator.label.utilitymenu.potions", true);
                Menu.AddSlider("activator.potions.hp", "Use POTIONS if HP are under {0}", 20, 0, 100,
                               true);
                Menu.AddSlider("activator.potions.mana", "Use POTIONS if mana is under {0}", 20, 0, 100,
                               true);
                Menu.AddSeparator();
            }

            if (Mercurial.IsOwned() || Qss.IsOwned())
            {
                Menu.AddCheckBox("activator.qss", "Use QSS - Mercurial");
                Menu.AddCheckBox("activator.qss.ulti", "Prevent ultimates");
                Menu.AddCheckBox("activator.qss.bonus", "Use on bonus");
                Menu.AddSeparator();
                Menu.AddGroupLabel("Anti Cloud-Control Manager:", "activator.label.utilitymenu.qss",
                                   true);
                Menu.AddCheckBox("activator.qss.cc.1", "Use it on Airborne", true, true);
                Menu.AddCheckBox("activator.qss.cc.2", "Use it on Blind", true, true);
                Menu.AddCheckBox("activator.qss.cc.3", "Use it on Disarm", true, true);
                Menu.AddCheckBox("activator.qss.cc.4", "Use it on Forced Action", true, true);
                Menu.AddCheckBox("activator.qss.cc.5", "Use it on Root", true, true);
                Menu.AddCheckBox("activator.qss.cc.6", "Use it on Silence", true, true);
                Menu.AddCheckBox("activator.qss.cc.7", "Use it on Slow", true, true);
                Menu.AddCheckBox("activator.qss.cc.8", "Use it on Stasis", true, true);
                Menu.AddCheckBox("activator.qss.cc.9", "Use it on Stun", true, true);
                Menu.AddCheckBox("activator.qss.cc.10", "Use it on Suppression", true, true);
                Menu.AddSeparator();

                if (Value.Use("activator.qss.ulti"))
                {
                    Menu.AddGroupLabel("Anti Ultimate Manager:",
                                       "activator.label.utilitymenu.qss.antiulti", true);

                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Fiora"))
                    {
                        Menu.AddCheckBox("activator.qss.ulti.1", "Prevent Fiora Ultimate", true, true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Fizz"))
                    {
                        Menu.AddCheckBox("activator.qss.ulti.2", "Prevent Fizz Ultimate", true, true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Lissandra"))
                    {
                        Menu.AddCheckBox("activator.qss.ulti.4", "Prevent Lissandra Ultimate", true,
                                         true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Mordekaiser"))
                    {
                        Menu.AddCheckBox("activator.qss.ulti.5", "Prevent Mordekaiser Ultimate", true,
                                         true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Thresh"))
                    {
                        Menu.AddCheckBox("activator.qss.ulti.7", "Prevent Thresh Q", true, true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Vladimir"))
                    {
                        Menu.AddCheckBox("activator.qss.ulti.8", "Prevent Vladimir", true, true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Zed"))
                    {
                        Menu.AddCheckBox("activator.qss.ulti.9", "Prevent Zed Ultimate", true, true);
                    }
                }

                Menu.AddSeparator();

                if (Value.Use("activator.qss.bonus"))
                {
                    Menu.AddGroupLabel("Anti Cloud-Control Bonus Manager:",
                                       "activator.label.utilitymenu.qss.bonus", true);

                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Vayne"))
                    {
                        Menu.AddCheckBox("activator.qss.bonus.1", "Prevent Vayne Stacks", false, true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Darius"))
                    {
                        Menu.AddCheckBox("activator.qss.bonus.2", "Prevent Darius BloodStacks", false,
                                         true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Kalista"))
                    {
                        Menu.AddCheckBox("activator.qss.bonus.3", "Prevent Kalista EStacks", false,
                                         true);
                    }
                    if (EntityManager.Heroes.Enemies.Any(a => a.ChampionName == "Tristana"))
                    {
                        Menu.AddCheckBox("activator.qss.bonus.4", "Prevent Tristana EStacks", false,
                                         true);
                    }
                }

                Menu.AddSlider("activator.qss.prevent.enemies",
                               "Prevent to use QSS if there are less then {0} enemies", 3, 0, 5, true);
                Menu.AddSlider("activator.qss.hp", "Use QSS if HP are under {0}", 20, 0, 100, true);
                Menu.AddSeparator();
            }

            Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast;
            Shop.OnBuyItem         += Shop_OnBuyItem;
            Obj_AI_Base.OnBuffGain += BuffGain;
        }
Exemple #25
0
        private void Offensive()
        {
            if (Botrk.IsReady() && getCheckBoxItem("Botrk"))
            {
                var t = TargetSelector.GetTarget(Botrk.Range, DamageType.Physical);
                if (t.IsValidTarget())
                {
                    if (getCheckBoxItem("BotrkKS") &&
                        Player.CalcDamage(t, DamageType.Physical, t.MaxHealth * 0.1) >
                        t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Botrk.Cast(t);
                    }
                    if (getCheckBoxItem("BotrkLS") &&
                        Player.Health < Player.MaxHealth * 0.5 - OktwCommon.GetIncomingDamage(Player))
                    {
                        Botrk.Cast(t);
                    }
                    if (getCheckBoxItem("BotrkCombo") && Program.Combo)
                    {
                        Botrk.Cast(t);
                    }
                }
            }

            if (Hextech.IsReady() && getCheckBoxItem("Hextech"))
            {
                var t = TargetSelector.GetTarget(Hextech.Range, DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (getCheckBoxItem("HextechKS") &&
                        Player.CalcDamage(t, DamageType.Magical, 150 + Player.FlatMagicDamageMod * 0.4) >
                        t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Hextech.Cast(t);
                    }
                    if (getCheckBoxItem("HextechCombo") && Program.Combo)
                    {
                        Hextech.Cast(t);
                    }
                }
            }

            if (Program.Combo && FrostQueen.IsReady() && getCheckBoxItem("FrostQueen") &&
                Player.CountEnemiesInRange(800) > 0)
            {
                FrostQueen.Cast();
            }

            if (Cutlass.IsReady() && getCheckBoxItem("Cutlass"))
            {
                var t = TargetSelector.GetTarget(Cutlass.Range, DamageType.Magical);
                if (t.IsValidTarget())
                {
                    if (getCheckBoxItem("CutlassKS") &&
                        Player.CalcDamage(t, DamageType.Magical, 100) > t.Health - OktwCommon.GetIncomingDamage(t))
                    {
                        Cutlass.Cast(t);
                    }
                    if (getCheckBoxItem("CutlassCombo") && Program.Combo)
                    {
                        Cutlass.Cast(t);
                    }
                }
            }

            if (Youmuus.IsReady() && getCheckBoxItem("Youmuus"))
            {
                var t = Orbwalker.LastTarget;

                if (t.IsValidTarget() && t is AIHeroClient)
                {
                    if (getCheckBoxItem("YoumuusKS") && t.Health < Player.MaxHealth)
                    {
                        Youmuus.Cast();
                    }
                    if (getCheckBoxItem("YoumuusCombo") && Program.Combo)
                    {
                        Youmuus.Cast();
                    }
                }
            }

            if (getCheckBoxItem("Hydra"))
            {
                if (Hydra.IsReady() && Player.CountEnemiesInRange(Hydra.Range) > 0)
                {
                    Hydra.Cast();
                }
                else if (Hydra2.IsReady() && Player.CountEnemiesInRange(Hydra2.Range) > 0)
                {
                    Hydra2.Cast();
                }
            }
        }
Exemple #26
0
        public static void ExecuteItems()
        {
            //Item Target's
            var botrktarget     = TargetSelector.GetTarget(Botrk.Range, DamageType.Physical);
            var gunbladetarget  = TargetSelector.GetTarget(Gunblade.Range, DamageType.Magical);
            var protobelttarget = TargetSelector.GetTarget(Protobelt.Range, DamageType.Magical);
            var glptarget       = TargetSelector.GetTarget(GLP.Range, DamageType.Magical);
            var cutlasstarget   = TargetSelector.GetTarget(Cutlass.Range, DamageType.Magical);

            if ((botrktarget == null) || botrktarget.IsInvulnerable)
            {
                return;
            }
            //Blade of the Ruined King
            if (ComboMenu["Botrk"].Cast <CheckBox>().CurrentValue)
            {
                if ((Player.Instance.CountEnemiesInRange(550) >= 1) && Botrk.IsReady() && Botrk.IsOwned() &&
                    botrktarget.IsValidTarget(Botrk.Range))
                {
                    Botrk.Cast(botrktarget);
                }
            }

            if ((gunbladetarget == null) || gunbladetarget.IsInvulnerable)
            {
                return;
            }
            //Hextech Gunblade
            if (ComboMenu["Gunblade"].Cast <CheckBox>().CurrentValue)
            {
                if ((Player.Instance.CountEnemiesInRange(700) >= 1) && Gunblade.IsReady() && Gunblade.IsOwned() &&
                    gunbladetarget.IsValidTarget(Gunblade.Range))
                {
                    Gunblade.Cast(gunbladetarget);
                }
            }

            if ((protobelttarget == null) || protobelttarget.IsInvulnerable)
            {
                return;
            }
            //Protobelt
            if (ComboMenu["Protobelt"].Cast <CheckBox>().CurrentValue)
            {
                if ((Player.Instance.CountEnemiesInRange(600) >= 1) && Protobelt.IsReady() && Protobelt.IsOwned() &&
                    protobelttarget.IsValidTarget(Protobelt.Range))
                {
                    Protobelt.Cast(protobelttarget.Position);
                }
            }

            if ((glptarget == null) || glptarget.IsInvulnerable)
            {
                return;
            }
            //GLP
            if (ComboMenu["GLP"].Cast <CheckBox>().CurrentValue)
            {
                if ((Player.Instance.CountEnemiesInRange(600) >= 1) && GLP.IsReady() && GLP.IsOwned() &&
                    glptarget.IsValidTarget(GLP.Range))
                {
                    GLP.Cast(glptarget);
                }
            }

            if ((cutlasstarget == null) || cutlasstarget.IsInvulnerable)
            {
                return;
            }
            //Bilgewater Cutlass
            if (ComboMenu["Cutlass"].Cast <CheckBox>().CurrentValue)
            {
                if ((Player.Instance.CountEnemiesInRange(550) >= 1) && Cutlass.IsReady() && Cutlass.IsOwned() &&
                    cutlasstarget.IsValidTarget(Cutlass.Range))
                {
                    Cutlass.Cast(cutlasstarget);
                }
            }

            /*
             *
             * //Summoners Target
             * var Summ1 = TargetSelector.GetTarget(Smite.Range, DamageType.Mixed);
             * var Summ2 = TargetSelector.GetTarget(Ignite.Range, DamageType.Mixed);
             *
             * if ((Summ1 == null) || Summ1.IsInvulnerable)
             *  return;
             * //Smite
             * if (ComboMenu["Smite"].Cast<CheckBox>().CurrentValue)
             *  if (Player.Instance.CountEnemiesInRange(500) >= 1 && Smite.IsReady() && Smite.IsLearned && Summ1.IsValidTarget(Smite.Range))
             *      Smite.Cast(Summ1);
             *
             *
             * if ((Summ2 == null) || Summ2.IsInvulnerable)
             *  return;
             * //Ignite
             * if (ComboMenu["Ignite"].Cast<CheckBox>().CurrentValue)
             *  if (Player.Instance.CountEnemiesInRange(600) >= 1 && Ignite.IsReady() && Ignite.IsLearned && Summ2.IsValidTarget(Ignite.Range))
             *      Ignite.Cast(Summ2);
             *
             */
        }