Beispiel #1
0
        private static void AfterAttack(Obj_AI_Base unit, Obj_AI_Base target)
        {
            if (!unit.IsMe || target.IsMinion)
            {
                return;
            }

            if (IsTiamat() && (LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Combo || LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Harass) &&
                target.IsValidTarget(Tiamat.Range))
            {
                Tiamat.Cast();
                LXOrbwalker.ResetAutoAttackTimer();
            }

            if (IsHydra() && (LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Combo || LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Harass) && target.IsValidTarget(Hydra.Range))
            {
                Hydra.Cast();
                LXOrbwalker.ResetAutoAttackTimer();
            }

            if (IsWCombo() && LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Combo && LXOrbwalker.InAutoAttackRange(target))
            {
                W.Cast();
                Utility.DelayAction.Add(100, () => Player.IssueOrder(GameObjectOrder.AttackTo, target));
                LXOrbwalker.ResetAutoAttackTimer();
            }
        }
Beispiel #2
0
        private static void DoCombo()
        {
            Obj_AI_Hero target = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Physical);

            if (target == null)
            {
                return;
            }

            if (IsWCombo() && W.Range >= Player.Distance(target) && LXOrbwalker.InAutoAttackRange(target))
            {
                W.Cast();
            }

            if (IsECombo())
            {
                //from vayne markmans
                foreach (
                    var hero in from hero in ObjectManager.Get <Obj_AI_Hero>().Where(hero => hero.IsValidTarget(525f))
                    let prediction = E.GetPrediction(hero)
                                     where NavMesh.GetCollisionFlags(
                        prediction.UnitPosition.To2D()
                        .Extend(ObjectManager.Player.ServerPosition.To2D(),
                                -300)
                        .To3D())
                                     .HasFlag(CollisionFlags.Wall) ||
                                     NavMesh.GetCollisionFlags(
                        prediction.UnitPosition.To2D()
                        .Extend(ObjectManager.Player.ServerPosition.To2D(),
                                -(300 / 2))
                        .To3D())
                                     .HasFlag(CollisionFlags.Wall)
                                     select hero
                    )


                {
                    E.Cast(hero);
                }
            }

            if (IsBOTRK() && BladeOfRuinKing.Range >= Player.Distance(target))
            {
                if (Player.Health <= Player.MaxHealth - target.MaxHealth * 0.1)
                {
                    BladeOfRuinKing.Cast(target);
                }
            }

            if (IsBilge() && BlidgeWater.Range >= Player.Distance(target))
            {
                BlidgeWater.Cast(target);
            }

            if (IsYoumuu() && Youmuu.Range >= Player.Distance(target))
            {
                Youmuu.Cast();
            }
        }
Beispiel #3
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            CheckChampionBuff();
            //Update the combo and harass values.
            CClass.ComboActive = LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Combo;

            var existsMana = ObjectManager.Player.MaxMana / 100 * Config.Item("HarassMana").GetValue <Slider>().Value;

            CClass.HarassActive = LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Harass &&
                                  ObjectManager.Player.Mana >= existsMana;

            CClass.LaneClearActive = LXOrbwalker.CurrentMode == LXOrbwalker.Mode.LaneClear;
            CClass.Game_OnGameUpdate(args);

            var useItemModes = Config.Item("UseItemsMode").GetValue <StringList>().SelectedIndex;

            //Items
            if (
                !((LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Combo &&
                   (useItemModes == 2 || useItemModes == 3))
                  ||
                  (LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Harass &&
                   (useItemModes == 1 || useItemModes == 3))))
            {
                return;
            }

            var botrk      = Config.Item("BOTRK").GetValue <bool>();
            var ghostblade = Config.Item("GHOSTBLADE").GetValue <bool>();
            var target     = LXOrbwalker.GetPossibleTarget();

            if (botrk)
            {
                if (target != null && target.Type == ObjectManager.Player.Type &&
                    target.ServerPosition.Distance(ObjectManager.Player.ServerPosition) < 450)
                {
                    var hasCutGlass = Items.HasItem(3144);
                    var hasBotrk    = Items.HasItem(3153);

                    if (hasBotrk || hasCutGlass)
                    {
                        var itemId = hasCutGlass ? 3144 : 3153;
                        var damage = ObjectManager.Player.GetItemDamage(target, Damage.DamageItems.Botrk);
                        if (hasCutGlass || ObjectManager.Player.Health + damage < ObjectManager.Player.MaxHealth)
                        {
                            Items.UseItem(itemId, target);
                        }
                    }
                }
            }

            if (ghostblade && target != null && target.Type == ObjectManager.Player.Type &&
                LXOrbwalker.InAutoAttackRange(target))
            {
                Items.UseItem(3142);
            }
        }
Beispiel #4
0
        private void NormalCombo()
        {
            if (targetObj == null)
            {
                return;
            }
            if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillQ.InRange(targetObj.Position))
            {
                SkillE.Cast(LXOrbwalker.InAutoAttackRange(targetObj) ? targetObj.Position : targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 100, PacketCast);
            }
            if (Config.Item(Name + "eusage").GetValue <bool>() && flagPos != default(Vector3) && targetObj.IsValidTarget(180, true, flagPos))
            {
                if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.InRange(targetObj.Position) && SkillQ.IsReady())
                {
                    SkillQ.Cast(flagPos, PacketCast);
                }
            }
            else if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.InRange(targetObj.Position) && SkillQ.IsReady())
            {
                SkillQ.Cast(targetObj.Position, PacketCast);
            }
            if (Config.Item(Name + "rusage").GetValue <bool>() && SkillR.IsReady() && wallObj == null)
            {
                switch (Config.Item(Name + "ruseMode").GetValue <StringList>().SelectedIndex)
                {
                case 0:
                    if (SkillR.InRange(targetObj.Position) && CanKill(targetObj, SkillR))
                    {
                        SkillR.CastOnUnit(targetObj, PacketCast);
                    }
                    break;

                case 1:
                    var UltiObj = ObjectManager.Get <Obj_AI_Hero>().FirstOrDefault(i => i.IsValidTarget(SkillR.Range) && i.CountEnemysInRange(325) >= Config.Item(Name + "rmulti").GetValue <Slider>().Value);
                    if (UltiObj != null)
                    {
                        SkillR.CastOnUnit(UltiObj, PacketCast);
                    }
                    break;
                }
            }
            if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && SkillW.InRange(targetObj.Position) && Player.Health * 100 / Player.MaxHealth <= Config.Item(Name + "autowusage").GetValue <Slider>().Value)
            {
                SkillW.Cast(PacketCast);
            }
            if (Config.Item(Name + "iusage").GetValue <bool>())
            {
                UseItem(targetObj);
            }
            if (Config.Item(Name + "ignite").GetValue <bool>())
            {
                CastIgnite(targetObj);
            }
        }
Beispiel #5
0
        static void Combo()
        {
            var target = SimpleTs.GetTarget(1500, SimpleTs.DamageType.Physical);


            if (Config.Item("UseECombo").GetValue <bool>() && ESpell.IsReady() && target.IsValidTarget(ESpell.Range) && !LXOrbwalker.InAutoAttackRange(target))
            {
                ESpell.Cast(target, packets());
            }

            if (Config.Item("UseWCombo").GetValue <bool>() && WSpell.IsReady() && LXOrbwalker.InAutoAttackRange(target))
            {
                WSpell.Cast();
            }
            if (Config.Item("UseRCombo").GetValue <bool>() && RSpell.IsReady() && (Player.GetSpellDamage(target, SpellSlot.R)) > target.Health && target.IsValidTarget(RSpell.Range))
            {
                RSpell.Cast();
            }

            UseItemes(target);
        }
Beispiel #6
0
        static void AfterAttack(Obj_AI_Base unit, Obj_AI_Base target)
        {
            if (!unit.IsMe)
            {
                return;
            }

            if (target.IsMinion)
            {
                if (Config.Item("UseWL").GetValue <bool>() && W.IsReady() && LXOrbwalker.InAutoAttackRange(target) && LXOrbwalker.CurrentMode == LXOrbwalker.Mode.LaneClear)
                {
                    W.Cast();
                    LXOrbwalker.ResetAutoAttackTimer();
                }
                return;
            }
            else
            {
                if (Config.Item("UseWC").GetValue <bool>() && W.IsReady() && LXOrbwalker.InAutoAttackRange(target) && LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Combo)
                {
                    W.Cast();
                    LXOrbwalker.ResetAutoAttackTimer();
                }
                if (Config.Item("UseItemC").GetValue <bool>() && LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Combo)
                {
                    if (Utility.CountEnemysInRange(350) >= 1 && tiamat.IsReady() && !W.IsReady())
                    {
                        tiamat.Cast();
                        LXOrbwalker.ResetAutoAttackTimer();
                    }
                    if (Utility.CountEnemysInRange(350) >= 1 && hydra.IsReady() && !W.IsReady())
                    {
                        hydra.Cast();
                        LXOrbwalker.ResetAutoAttackTimer();
                    }
                }

                return;
            }
        }
Beispiel #7
0
 private void NormalCombo(bool IsHarass)
 {
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady() && Player.Health * 100 / Player.MaxHealth <= Config.Item(Name + "autoqusage").GetValue <Slider>().Value&& Player.CountEnemysInRange(800) >= 1)
     {
         SkillQ.Cast(PacketCast);
     }
     if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && SkillW.InRange(targetObj.Position))
     {
         if (Utility.IsBothFacing(Player, targetObj, 300))
         {
             if (Player.GetAutoAttackDamage(targetObj) < targetObj.GetAutoAttackDamage(Player) || Player.Health < targetObj.Health)
             {
                 SkillW.Cast(PacketCast);
             }
         }
         else if (Player.IsFacing(targetObj) && !targetObj.IsFacing(Player) && !LXOrbwalker.InAutoAttackRange(targetObj))
         {
             SkillW.Cast(PacketCast);
         }
     }
     if (!IsHarass && Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position) && !LXOrbwalker.InAutoAttackRange(targetObj))
     {
         if (Player.Health * 100 / Player.MaxHealth >= Config.Item(Name + "autoeusage").GetValue <Slider>().Value)
         {
             SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast);
         }
         else if (SkillR.IsReady() || (Player.Mana >= 70 && SkillQ.IsReady()))
         {
             SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast);
         }
     }
     if (Config.Item(Name + "iusage").GetValue <bool>())
     {
         UseItem(targetObj);
     }
     if (Config.Item(Name + "ignite").GetValue <bool>())
     {
         CastIgnite(targetObj);
     }
 }
Beispiel #8
0
        private static void DoCombo()
        {
            //xSalice for target selector
            var         focusSelected = Config.Item("SelectedTarget").GetValue <bool>();
            Obj_AI_Hero target        = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Physical);

            if (SimpleTs.GetSelectedTarget() != null)
            {
                if (focusSelected && SimpleTs.GetSelectedTarget().Distance(Player.ServerPosition) < Q.Range)
                {
                    target = SimpleTs.GetSelectedTarget();
                }
            }

            if (target == null)
            {
                return;
            }

            if (IsQCombo() && Player.Distance(target) >= getQRange())
            {
                Q.Cast(target);
            }

            if (IsECombo() && E.Range >= Player.Distance(target))
            {
                E.Cast();
            }

            if (IsRCombo() && R.Range >= Player.Distance(target))
            {
                R.Cast();
            }

            if (IsBOTRK() && BladeOfRuinKing.Range >= Player.Distance(target))
            {
                if (getBOTRKGap())
                {
                    if (!LXOrbwalker.InAutoAttackRange(target))
                    {
                        BladeOfRuinKing.Cast(target);
                    }
                }
                else
                {
                    if ((Player.Health / Player.MaxHealth) * 100 <= getBOTKRPercent())
                    {
                        BladeOfRuinKing.Cast(target);
                    }
                }
            }

            if (IsBilge() && BlidgeWater.Range >= Player.Distance(target))
            {
                if (getBOTRKGap())
                {
                    if (!LXOrbwalker.InAutoAttackRange(target))
                    {
                        BlidgeWater.Cast(target);
                    }
                }
                else
                {
                    BlidgeWater.Cast(target);
                }
            }

            if (IsYoumuu() && Youmuu.Range >= Player.Distance(target))
            {
                Youmuu.Cast();
            }
        }
Beispiel #9
0
 private void Harass()
 {
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item(Name + "useHarW").GetValue <bool>() && SkillW.IsReady())
     {
         if (Config.Item(Name + "useHarQ").GetValue <bool>() && SkillQ.InRange(targetObj.Position) && SkillQ.IsReady())
         {
             SkillW.Cast(PacketCast);
         }
     }
     if (Config.Item(Name + "useHarE").GetValue <bool>() && SkillE.IsReady())
     {
         if (!Player.HasBuff("JaxCounterStrike", true))
         {
             if ((Config.Item(Name + "useHarQ").GetValue <bool>() && SkillQ.InRange(targetObj.Position) && SkillQ.IsReady()) || SkillE.InRange(targetObj.Position))
             {
                 SkillE.Cast(PacketCast);
             }
         }
         else if (SkillE.InRange(targetObj.Position) && !targetObj.IsValidTarget(SkillE.Range - 3.5f))
         {
             SkillE.Cast(PacketCast);
         }
     }
     if (Config.Item(Name + "useHarQ").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position) && Player.Health * 100 / Player.MaxHealth >= Config.Item(Name + "harMode").GetValue <Slider>().Value)
     {
         if ((Config.Item(Name + "useHarE").GetValue <bool>() && SkillE.IsReady() && Player.HasBuff("JaxCounterStrike", true) && !SkillE.InRange(targetObj.Position)) || (!LXOrbwalker.InAutoAttackRange(targetObj) && Player.Distance(targetObj) > 425))
         {
             SkillQ.CastOnUnit(targetObj, PacketCast);
         }
     }
 }
Beispiel #10
0
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(Player.Position, SkillQ.Range, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault();

            if (minionObj == null)
            {
                return;
            }
            if (Config.Item(Name + "useClearE").GetValue <bool>() && SkillE.IsReady())
            {
                if (!Player.HasBuff("JaxCounterStrike", true))
                {
                    if ((Config.Item(Name + "useClearQ").GetValue <bool>() && SkillQ.InRange(minionObj.Position) && SkillQ.IsReady()) || SkillE.InRange(minionObj.Position))
                    {
                        SkillE.Cast(PacketCast);
                    }
                }
                else if (SkillE.InRange(minionObj.Position) && !minionObj.IsValidTarget(SkillE.Range - 3.5f))
                {
                    SkillE.Cast(PacketCast);
                }
            }
            if (Config.Item(Name + "useClearQ").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(minionObj.Position))
            {
                if ((Config.Item(Name + "useClearE").GetValue <bool>() && SkillE.IsReady() && Player.HasBuff("JaxCounterStrike", true) && !SkillE.InRange(minionObj.Position)) || (!LXOrbwalker.InAutoAttackRange(minionObj) && Player.Distance(minionObj) > 425))
                {
                    SkillQ.CastOnUnit(minionObj, PacketCast);
                }
            }
        }
Beispiel #11
0
 private void NormalCombo()
 {
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady() && targetObj.IsValidTarget(1000) && !LXOrbwalker.InAutoAttackRange(targetObj))
     {
         SkillQ.Cast(PacketCast);
     }
     if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && !Player.HasBuff("GarenE", true) && !Player.HasBuff("GarenQ", true) && SkillE.InRange(targetObj.Position))
     {
         SkillE.Cast(PacketCast);
     }
     if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && SkillE.InRange(targetObj.Position) && Player.Health * 100 / Player.MaxHealth <= Config.Item(Name + "autowusage").GetValue <Slider>().Value)
     {
         SkillW.Cast(PacketCast);
     }
     if (Config.Item(Name + "rusage").GetValue <bool>() && Config.Item(Name + "ult" + targetObj.ChampionName).GetValue <bool>() && SkillR.IsReady() && SkillR.InRange(targetObj.Position) && CanKill(targetObj, SkillR))
     {
         SkillR.CastOnUnit(targetObj, PacketCast);
     }
     if (Config.Item(Name + "iusage").GetValue <bool>() && Items.CanUseItem(Rand) && Player.CountEnemysInRange(450) >= 1)
     {
         Items.UseItem(Rand);
     }
     if (Config.Item(Name + "ignite").GetValue <bool>())
     {
         CastIgnite(targetObj);
     }
 }
Beispiel #12
0
        private void NormalCombo()
        {
            if (targetObj == null)
            {
                return;
            }
            if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady())
            {
                if (!Player.HasBuff("JaxCounterStrike", true))
                {
                    if ((Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.InRange(targetObj.Position) && SkillQ.IsReady()) || SkillE.InRange(targetObj.Position))
                    {
                        SkillE.Cast(PacketCast);
                    }
                }
                else if (SkillE.InRange(targetObj.Position) && !targetObj.IsValidTarget(SkillE.Range - 3.5f))
                {
                    SkillE.Cast(PacketCast);
                }
            }
            if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position))
            {
                if ((Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && Player.HasBuff("JaxCounterStrike", true) && !SkillE.InRange(targetObj.Position)) || (!LXOrbwalker.InAutoAttackRange(targetObj) && Player.Distance(targetObj) > 425))
                {
                    SkillQ.CastOnUnit(targetObj, PacketCast);
                }
            }
            if (Config.Item(Name + "rusage").GetValue <bool>() && SkillR.IsReady())
            {
                switch (Config.Item(Name + "ruseMode").GetValue <StringList>().SelectedIndex)
                {
                case 0:
                    if (Player.Health * 100 / Player.MaxHealth < Config.Item(Name + "ruseHp").GetValue <Slider>().Value)
                    {
                        SkillR.Cast(PacketCast);
                    }
                    break;

                case 1:
                    if (Player.CountEnemysInRange(600) >= Config.Item(Name + "ruseEnemy").GetValue <Slider>().Value)
                    {
                        SkillR.Cast(PacketCast);
                    }
                    break;
                }
            }
            if (Config.Item(Name + "iusage").GetValue <bool>())
            {
                UseItem(targetObj);
            }
            if (Config.Item(Name + "ignite").GetValue <bool>())
            {
                CastIgnite(targetObj);
            }
        }
Beispiel #13
0
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(Player.Position, SkillQ.Range, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault();

            if (minionObj == null)
            {
                return;
            }
            if (Config.Item(Name + "useClearW").GetValue <bool>() && SkillW.IsReady() && LXOrbwalker.InAutoAttackRange(minionObj))
            {
                SkillW.Cast();
            }
            if (Config.Item(Name + "useClearQ").GetValue <bool>() && SkillQ.IsReady())
            {
                SkillQ.CastOnUnit(minionObj, PacketCast);
            }
        }
Beispiel #14
0
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(Player.Position, SkillE.Range, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault();

            if (minionObj == null)
            {
                return;
            }
            if (Config.Item(Name + "useClearE").GetValue <bool>() && SkillE.IsReady() && (!LXOrbwalker.InAutoAttackRange(minionObj) || CanKill(minionObj, SkillE)))
            {
                SkillE.CastOnUnit(minionObj, PacketCast);
            }
            if (Config.Item(Name + "useClearW").GetValue <bool>() && SkillW.IsReady() && LXOrbwalker.InAutoAttackRange(minionObj))
            {
                SkillW.Cast(PacketCast);
            }
            if (Config.Item(Name + "useClearQ").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(minionObj.Position))
            {
                SkillQ.Cast(PacketCast);
            }
            if (Config.Item(Name + "useClearI").GetValue <bool>() && Player.Distance(minionObj) <= 350)
            {
                if (Items.CanUseItem(Tiamat))
                {
                    Items.UseItem(Tiamat);
                }
                if (Items.CanUseItem(Hydra))
                {
                    Items.UseItem(Hydra);
                }
            }
        }
Beispiel #15
0
 private void NormalCombo()
 {
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item(Name + "pusage").GetValue <bool>() && Player.HasBuff("blindmonkpassive_cosmetic", true) && LXOrbwalker.InAutoAttackRange(targetObj) && LXOrbwalker.CanAttack())
     {
         return;
     }
     if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.Instance.Name == "BlindMonkEOne" && SkillE.InRange(targetObj.Position))
     {
         SkillE.Cast(PacketCast);
     }
     if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady())
     {
         if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(targetObj.Position))
         {
             if (Config.Item(Name + "smite").GetValue <bool>() && SkillQ.GetPrediction(targetObj).Hitchance == HitChance.Collision)
             {
                 if (!SmiteCollision(targetObj, SkillQ))
                 {
                     SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast);
                 }
             }
             else
             {
                 SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast);
             }
         }
         else if (targetObj.IsValidTarget(1300) && (targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)))
         {
             if (Player.Distance(targetObj) > 500 || CanKill(targetObj, SkillQ, 1) || (targetObj.HasBuff("BlindMonkEOne", true) && SkillE.InRange(targetObj.Position)) || !QCasted)
             {
                 SkillQ.Cast(PacketCast);
             }
         }
     }
     if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && targetObj.IsValidTarget(575) && targetObj.HasBuff("BlindMonkEOne", true) && (Player.Distance(targetObj) > 450 || !ECasted))
     {
         SkillE.Cast(PacketCast);
     }
     if (Config.Item(Name + "rusage").GetValue <bool>() && Config.Item(Name + "ult" + targetObj.ChampionName).GetValue <bool>() && SkillR.IsReady() && SkillR.InRange(targetObj.Position))
     {
         if (CanKill(targetObj, SkillR) || (targetObj.Health - SkillR.GetDamage(targetObj) < GetQ2Dmg(targetObj, SkillR.GetDamage(targetObj)) && SkillQ.IsReady() && (targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && Player.Mana >= 50))
         {
             SkillR.CastOnUnit(targetObj, PacketCast);
         }
     }
     if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && SkillE.InRange(targetObj.Position) && Player.Health * 100 / Player.MaxHealth <= Config.Item(Name + "autowusage").GetValue <Slider>().Value)
     {
         if (SkillW.Instance.Name == "BlindMonkWOne" && !WCasted)
         {
             SkillW.Cast(PacketCast);
             WCasted = true;
             Utility.DelayAction.Add(1000, () => WCasted = false);
         }
         else if (!Player.HasBuff("blindmonkwoneshield", true) && !WCasted)
         {
             SkillW.Cast(PacketCast);
         }
     }
     if (Config.Item(Name + "iusage").GetValue <bool>())
     {
         UseItem(targetObj);
     }
     if (Config.Item(Name + "ignite").GetValue <bool>())
     {
         CastIgnite(targetObj);
     }
 }
Beispiel #16
0
 private void NormalCombo()
 {
     if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && Player.HasBuff("BurningAgony") && Player.CountEnemysInRange(500) == 0)
     {
         SkillW.Cast();
     }
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady())
     {
         if (Config.Item(Name + "smite").GetValue <bool>() && SkillQ.GetPrediction(targetObj).Hitchance == HitChance.Collision)
         {
             if (!SmiteCollision(targetObj, SkillQ))
             {
                 SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast);
             }
         }
         else
         {
             SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast);
         }
     }
     if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady())
     {
         if (Player.Health * 100 / Player.MaxHealth >= Config.Item(Name + "autowusage").GetValue <Slider>().Value)
         {
             if (SkillW.InRange(targetObj.Position))
             {
                 if (!Player.HasBuff("BurningAgony"))
                 {
                     SkillW.Cast(PacketCast);
                 }
             }
             else if (Player.HasBuff("BurningAgony"))
             {
                 SkillW.Cast(PacketCast);
             }
         }
         else if (Player.HasBuff("BurningAgony"))
         {
             SkillW.Cast(PacketCast);
         }
     }
     if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && LXOrbwalker.InAutoAttackRange(targetObj))
     {
         SkillE.Cast(PacketCast);
     }
     if (Config.Item(Name + "iusage").GetValue <bool>() && Items.CanUseItem(Rand) && Player.CountEnemysInRange(450) >= 1)
     {
         Items.UseItem(Rand);
     }
     if (Config.Item(Name + "ignite").GetValue <bool>())
     {
         CastIgnite(targetObj);
     }
 }
Beispiel #17
0
        static void LaneClear()
        {
            var minion = MinionManager.GetMinions(Player.ServerPosition, ESpell.Range,
                                                  MinionTypes.All,
                                                  MinionTeam.NotAlly, MinionOrderTypes.MaxHealth);

            if (minion.Count > 0)
            {
                var minions = minion[0];
                if (Config.Item("UseQLaneClear").GetValue <bool>() && QSpell.IsReady() && minions.IsValidTarget(QSpell.Range))
                {
                    QSpell.Cast();
                }

                if (Config.Item("UseWLaneClear").GetValue <bool>() && WSpell.IsReady() && LXOrbwalker.InAutoAttackRange(minions))
                {
                    WSpell.Cast();
                }
                if (Config.Item("UseELaneClear").GetValue <bool>() && ESpell.IsReady() && minions.IsValidTarget(ESpell.Range))
                {
                    ESpell.Cast(minions, packets());
                }
            }
        }
Beispiel #18
0
        private void NormalCombo()
        {
            if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && Player.HasBuff("AuraofDespair") && Player.CountEnemysInRange(500) == 0)
            {
                SkillW.Cast(PacketCast);
            }
            if (targetObj == null)
            {
                return;
            }
            if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady() && (CanKill(targetObj, SkillQ) || !LXOrbwalker.InAutoAttackRange(targetObj)))
            {
                if (Config.Item(Name + "smite").GetValue <bool>() && SkillQ.GetPrediction(targetObj).Hitchance == HitChance.Collision)
                {
                    if (!SmiteCollision(targetObj, SkillQ))
                    {
                        SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast);
                    }
                }
                else
                {
                    SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast);
                }
            }
            if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady())
            {
                if (Player.Mana * 100 / Player.MaxMana >= Config.Item(Name + "autowusage").GetValue <Slider>().Value)
                {
                    if (SkillW.InRange(targetObj.Position))
                    {
                        if (!Player.HasBuff("AuraofDespair"))
                        {
                            SkillW.Cast(PacketCast);
                        }
                    }
                    else if (Player.HasBuff("AuraofDespair"))
                    {
                        SkillW.Cast(PacketCast);
                    }
                }
                else if (Player.HasBuff("AuraofDespair"))
                {
                    SkillW.Cast(PacketCast);
                }
            }
            if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position))
            {
                SkillE.Cast(PacketCast);
            }
            if (Config.Item(Name + "rusage").GetValue <bool>() && SkillR.IsReady())
            {
                switch (Config.Item(Name + "ruseMode").GetValue <StringList>().SelectedIndex)
                {
                case 0:
                    if (SkillR.InRange(targetObj.Position) && CanKill(targetObj, SkillR))
                    {
                        SkillR.Cast(PacketCast);
                    }
                    break;

                case 1:
                    if (Player.CountEnemysInRange((int)SkillR.Range) >= Config.Item(Name + "rmulti").GetValue <Slider>().Value)
                    {
                        SkillR.Cast(PacketCast);
                    }
                    break;
                }
            }
            if (Config.Item(Name + "iusage").GetValue <bool>() && Items.CanUseItem(Rand) && Player.CountEnemysInRange(450) >= 1)
            {
                Items.UseItem(Rand);
            }
            if (Config.Item(Name + "ignite").GetValue <bool>())
            {
                CastIgnite(targetObj);
            }
        }
Beispiel #19
0
        public override void Game_OnGameUpdate(EventArgs args)
        {
            R.Range = 500 * R.Level + 1500;

            Obj_AI_Hero vTarget;

            if (R.IsReady())
            {
                vTarget = SimpleTs.GetTarget(R.Range, SimpleTs.DamageType.Physical);
                if (vTarget.IsValidTarget(R.Range) && vTarget.Health <= R.GetDamage(vTarget))
                {
                    if (GetValue <KeyBind>("UltHelp").Active)
                    {
                        R.Cast(vTarget);
                    }

                    UltTarget = vTarget.ChampionName;
                    ShowUlt   = true;
                }
                else
                {
                    ShowUlt = false;
                }
            }
            else
            {
                ShowUlt = false;
            }

            if (GetValue <KeyBind>("Dash").Active&& E.IsReady())
            {
                var pos = ObjectManager.Player.ServerPosition.To2D().Extend(Game.CursorPos.To2D(), -300).To3D();
                E.Cast(pos, true);
            }

            if (GetValue <KeyBind>("UseEQC").Active&& E.IsReady() && Q.IsReady())
            {
                vTarget = SimpleTs.GetTarget(E.Range, SimpleTs.DamageType.Physical);
                if (vTarget.IsValidTarget(E.Range))
                {
                    E.Cast(vTarget);
                    Q.Cast(vTarget, false, true);
                }
            }
            // PQ you broke it D:
            if ((!ComboActive && !HarassActive) || !LXOrbwalker.CanMove())
            {
                return;
            }

            var useQ = GetValue <bool>("UseQ" + (ComboActive ? "C" : "H"));
            var useE = GetValue <bool>("UseEC");
            var useR = GetValue <bool>("UseRC");

            if (Q.IsReady() && useQ)
            {
                vTarget = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Physical);
                if (vTarget != null)
                {
                    Q.Cast(vTarget, false, true);
                }
            }
            else if (E.IsReady() && useE)
            {
                vTarget = SimpleTs.GetTarget(E.Range, SimpleTs.DamageType.Physical);
                if (vTarget != null && vTarget.Health <= E.GetDamage(vTarget))
                {
                    E.Cast(vTarget);
                }
            }

            if (R.IsReady() && useR)
            {
                vTarget = SimpleTs.GetTarget(R.Range, SimpleTs.DamageType.Physical);
                if (vTarget != null && vTarget.Health <= R.GetDamage(vTarget) &&
                    !LXOrbwalker.InAutoAttackRange(vTarget))
                {
                    R.CastOnUnit(vTarget);
                }
            }
        }
Beispiel #20
0
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(Player.Position, SkillQ.Range, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault();

            if (minionObj == null)
            {
                if (Config.Item(Name + "useClearW").GetValue <bool>() && SkillW.IsReady() && Player.HasBuff("BurningAgony"))
                {
                    SkillW.Cast(PacketCast);
                }
                return;
            }
            if (Config.Item(Name + "useClearE").GetValue <bool>() && SkillE.IsReady() && LXOrbwalker.InAutoAttackRange(minionObj))
            {
                SkillE.Cast(PacketCast);
            }
            if (Config.Item(Name + "useClearW").GetValue <bool>() && SkillW.IsReady())
            {
                if (Player.Health * 100 / Player.MaxHealth >= Config.Item(Name + "useClearAutoW").GetValue <Slider>().Value)
                {
                    if (MinionManager.GetMinions(Player.Position, SkillW.Range, MinionTypes.All, MinionTeam.NotAlly).Count >= 2)
                    {
                        if (!Player.HasBuff("BurningAgony"))
                        {
                            SkillW.Cast(PacketCast);
                        }
                    }
                    else if (Player.HasBuff("BurningAgony"))
                    {
                        SkillW.Cast(PacketCast);
                    }
                }
                else if (Player.HasBuff("BurningAgony"))
                {
                    SkillW.Cast(PacketCast);
                }
            }
            if (Config.Item(Name + "useClearQ").GetValue <bool>() && SkillQ.IsReady() && CanKill(minionObj, SkillQ))
            {
                SkillQ.CastIfHitchanceEquals(minionObj, HitChance.VeryHigh, PacketCast);
            }
        }
Beispiel #21
0
 public static void Orbwalk(Obj_AI_Base target)
 {
     LXOrbwalker.Orbwalk(Game.CursorPos, (target != null && LXOrbwalker.InAutoAttackRange(target)) ? target : null);
 }
Beispiel #22
0
 private void LaneJungClear()
 {
     foreach (var minionObj in MinionManager.GetMinions(Player.Position, 1300, MinionTypes.All, MinionTeam.NotAlly))
     {
         var Passive = Player.HasBuff("blindmonkpassive_cosmetic", true);
         if (Config.Item(Name + "useClearQ").GetValue <bool>() && SkillQ.IsReady())
         {
             if (SkillQ.Instance.Name == "BlindMonkQOne")
             {
                 if (!Passive)
                 {
                     SkillQ.CastIfHitchanceEquals(minionObj, HitChance.VeryHigh, PacketCast);
                 }
             }
             else if ((minionObj.HasBuff("BlindMonkQOne", true) || minionObj.HasBuff("blindmonkqonechaos", true)) && (CanKill(minionObj, SkillQ, 1) || !QCasted || Player.Distance(minionObj) > 450 || !Passive))
             {
                 SkillQ.Cast(PacketCast);
             }
         }
         if (Config.Item(Name + "useClearE").GetValue <bool>() && SkillE.IsReady())
         {
             if (SkillE.Instance.Name == "BlindMonkEOne" && SkillE.InRange(minionObj.Position))
             {
                 if (!Passive)
                 {
                     SkillE.Cast(PacketCast);
                 }
             }
             else if (minionObj.HasBuff("BlindMonkEOne", true) && minionObj.IsValidTarget(575) && (!ECasted || !Passive))
             {
                 SkillE.Cast(PacketCast);
             }
         }
         if (Config.Item(Name + "useClearW").GetValue <bool>() && SkillW.IsReady() && LXOrbwalker.InAutoAttackRange(minionObj) && !WCasted && !Passive)
         {
             if (SkillW.Instance.Name == "BlindMonkWOne")
             {
                 SkillW.Cast(PacketCast);
                 WCasted = true;
                 Utility.DelayAction.Add(300, () => WCasted = false);
             }
             else
             {
                 SkillW.Cast(PacketCast);
             }
         }
         if (Config.Item(Name + "useClearI").GetValue <bool>() && Player.Distance(minionObj) <= 350)
         {
             if (Items.CanUseItem(Tiamat))
             {
                 Items.UseItem(Tiamat);
             }
             if (Items.CanUseItem(Hydra))
             {
                 Items.UseItem(Hydra);
             }
         }
     }
 }
Beispiel #23
0
 private void NormalCombo()
 {
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item(Name + "rusage").GetValue <bool>() && Config.Item(Name + "ult" + targetObj.ChampionName).GetValue <bool>() && SkillR.IsReady() && SkillR.InRange(targetObj.Position))
     {
         if (CanKill(targetObj, SkillR))
         {
             SkillR.Cast(PacketCast);
         }
         else if (targetObj.Health - SkillR.GetDamage(targetObj) <= SkillE.GetDamage(targetObj) + Player.GetAutoAttackDamage(targetObj) + SkillQ.GetDamage(targetObj) * 3 && Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady())
         {
             SkillR.Cast(PacketCast);
         }
     }
     if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position) && (!LXOrbwalker.InAutoAttackRange(targetObj) || CanKill(targetObj, SkillE)))
     {
         SkillE.CastOnUnit(targetObj, PacketCast);
     }
     if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && LXOrbwalker.InAutoAttackRange(targetObj))
     {
         SkillW.Cast(PacketCast);
     }
     if (Config.Item(Name + "iusage").GetValue <bool>())
     {
         UseItem(targetObj);
     }
     if (Config.Item(Name + "ignite").GetValue <bool>())
     {
         CastIgnite(targetObj);
     }
 }