예제 #1
0
        private void OnGameUpdate(EventArgs args)
        {
            if (Player.IsDead)
            {
                return;
            }
            PacketCast = Config.Item(Name + "packetCast").GetValue <bool>();
            switch (LXOrbwalker.CurrentMode)
            {
            case LXOrbwalker.Mode.Combo:
                NormalCombo();
                break;

            case LXOrbwalker.Mode.Harass:
                Harass();
                break;

            case LXOrbwalker.Mode.LaneClear:
                LaneJungClear();
                break;

            case LXOrbwalker.Mode.LaneFreeze:
                LaneJungClear();
                break;

            case LXOrbwalker.Mode.Flee:
                if (SkillE.IsReady())
                {
                    SkillE.Cast(Game.CursorPos, PacketCast);
                }
                break;
            }
        }
예제 #2
0
        private void LaneJungClear()
        {
            var minionObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, SkillE.Range) && i is Obj_AI_Minion).OrderBy(i => i.Health);

            foreach (var Obj in minionObj)
            {
                if (SmiteReady() && Obj.Team == GameObjectTeam.Neutral)
                {
                    if ((ItemBool("SmiteMob", "Baron") && Obj.Name.StartsWith("SRU_Baron")) || (ItemBool("SmiteMob", "Dragon") && Obj.Name.StartsWith("SRU_Dragon")) || (!Obj.Name.Contains("Mini") && (
                                                                                                                                                                             (ItemBool("SmiteMob", "Red") && Obj.Name.StartsWith("SRU_Red")) || (ItemBool("SmiteMob", "Blue") && Obj.Name.StartsWith("SRU_Blue")) ||
                                                                                                                                                                             (ItemBool("SmiteMob", "Krug") && Obj.Name.StartsWith("SRU_Krug")) || (ItemBool("SmiteMob", "Gromp") && Obj.Name.StartsWith("SRU_Gromp")) ||
                                                                                                                                                                             (ItemBool("SmiteMob", "Raptor") && Obj.Name.StartsWith("SRU_Razorbeak")) || (ItemBool("SmiteMob", "Wolf") && Obj.Name.StartsWith("SRU_Murkwolf")))))
                    {
                        CastSmite(Obj);
                    }
                }
                if (ItemBool("Clear", "Q") && SkillQ.IsReady() && Player.HealthPercentage() <= ItemSlider("Clear", "QUnder") && (minionObj.Count(i => Orbwalk.InAutoAttackRange(i)) >= 2 || (Obj.MaxHealth >= 1200 && Orbwalk.InAutoAttackRange(Obj))))
                {
                    SkillQ.Cast(PacketCast());
                }
                if (ItemBool("Clear", "E") && SkillE.IsReady())
                {
                    var posEFarm = SkillE.GetLineFarmLocation(minionObj.ToList());
                    SkillE.Cast(posEFarm.MinionsHit >= 2 ? posEFarm.Position : Obj.Position.To2D(), PacketCast());
                }
                if (ItemBool("Clear", "Item"))
                {
                    UseItem(Obj, true);
                }
            }
        }
예제 #3
0
 private void NormalCombo()
 {
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item("qusage").GetValue <bool>() && SkillQ.IsReady() && targetObj.IsValidTarget(1000) && !Orbwalk.InAutoAttackRange(targetObj))
     {
         SkillQ.Cast(PacketCast());
     }
     if (Config.Item("eusage").GetValue <bool>() && SkillE.IsReady() && !Player.HasBuff("GarenE") && !Player.HasBuff("GarenQ", true) && SkillE.InRange(targetObj.Position))
     {
         SkillE.Cast(PacketCast());
     }
     if (Config.Item("wusage").GetValue <bool>() && SkillW.IsReady() && Orbwalk.InAutoAttackRange(targetObj) && Player.Health * 100 / Player.MaxHealth <= Config.Item("autowusage").GetValue <Slider>().Value)
     {
         SkillW.Cast(PacketCast());
     }
     if (Config.Item("rusage").GetValue <bool>() && Config.Item("ult" + targetObj.ChampionName).GetValue <bool>() && SkillR.IsReady() && SkillR.InRange(targetObj.Position) && CanKill(targetObj, SkillR))
     {
         SkillR.CastOnUnit(targetObj, PacketCast());
     }
     if (Config.Item("iusage").GetValue <bool>() && Items.CanUseItem(Rand) && Player.CountEnemysInRange(450) >= 1)
     {
         Items.UseItem(Rand);
     }
     if (Config.Item("ignite").GetValue <bool>())
     {
         CastIgnite(targetObj);
     }
 }
예제 #4
0
 private void NormalCombo(string Mode)
 {
     if (targetObj == null)
     {
         return;
     }
     if (ItemBool(Mode, "W") && SkillW.IsReady() && SkillW.InRange(targetObj.Position) && (Mode == "Combo" || Player.Distance3D(targetObj) <= Orbwalk.GetAutoAttackRange() + 100))
     {
         SkillW.CastOnUnit(targetObj, PacketCast());
     }
     if (ItemBool(Mode, "E") && SkillE.IsReady() && SkillE.InRange(targetObj.Position) && (Mode == "Combo" || Player.Distance3D(targetObj) <= Orbwalk.GetAutoAttackRange() + 100))
     {
         SkillE.Cast(targetObj.Position, PacketCast());
     }
     if (ItemBool(Mode, "Q") && SkillQ.IsReady() && Player.Distance3D(targetObj) <= Orbwalk.GetAutoAttackRange() + 50)
     {
         var DmgAA = Player.GetAutoAttackDamage(targetObj) * Math.Floor(SkillQ.Instance.Cooldown / (1 / (Player.PercentMultiplicativeAttackSpeedMod * 0.638)));
         if (SkillQ.GetHealthPrediction(targetObj) + 5 <= GetBonusDmg(targetObj) || SkillQ.GetHealthPrediction(targetObj) + 5 > DmgAA + GetBonusDmg(targetObj))
         {
             Orbwalk.SetAttack(false);
             Player.IssueOrder(GameObjectOrder.AttackUnit, targetObj);
             Orbwalk.SetAttack(true);
         }
     }
     if (ItemBool(Mode, "Item") && Mode == "Combo" && Items.CanUseItem(Randuin) && Player.CountEnemysInRange(450) >= 1)
     {
         Items.UseItem(Randuin);
     }
     if (ItemBool(Mode, "Ignite") && Mode == "Combo")
     {
         CastIgnite(targetObj);
     }
 }
예제 #5
0
 private void LaneJungClear()
 {
     foreach (var Obj in ObjectManager.Get <Obj_AI_Minion>().Where(i => IsValid(i, SkillQ.Range)).OrderBy(i => i.Health))
     {
         if (SmiteReady() && Obj.Team == GameObjectTeam.Neutral)
         {
             if ((ItemBool("SmiteMob", "Baron") && Obj.Name.StartsWith("SRU_Baron")) || (ItemBool("SmiteMob", "Dragon") && Obj.Name.StartsWith("SRU_Dragon")) || (!Obj.Name.Contains("Mini") && (
                                                                                                                                                                      (ItemBool("SmiteMob", "Red") && Obj.Name.StartsWith("SRU_Red")) || (ItemBool("SmiteMob", "Blue") && Obj.Name.StartsWith("SRU_Blue")) ||
                                                                                                                                                                      (ItemBool("SmiteMob", "Krug") && Obj.Name.StartsWith("SRU_Krug")) || (ItemBool("SmiteMob", "Gromp") && Obj.Name.StartsWith("SRU_Gromp")) ||
                                                                                                                                                                      (ItemBool("SmiteMob", "Raptor") && Obj.Name.StartsWith("SRU_Razorbeak")) || (ItemBool("SmiteMob", "Wolf") && Obj.Name.StartsWith("SRU_Murkwolf")))))
             {
                 CastSmite(Obj);
             }
         }
         if (ItemBool("Clear", "E") && SkillE.IsReady())
         {
             if (!Player.HasBuff("JaxCounterStrike", true))
             {
                 if ((ItemBool("Clear", "Q") && SkillQ.IsReady()) || SkillE.InRange(Obj.Position))
                 {
                     SkillE.Cast(PacketCast());
                 }
             }
             else if (SkillE.InRange(Obj.Position) && !ECasted)
             {
                 SkillE.Cast(PacketCast());
             }
         }
         if (ItemBool("Clear", "Q") && SkillQ.IsReady() && ((ItemBool("Clear", "E") && SkillE.IsReady() && Player.HasBuff("JaxCounterStrike", true) && !SkillE.InRange(Obj.Position)) || (!Orbwalk.InAutoAttackRange(Obj) && Player.Distance3D(Obj) > 450)))
         {
             SkillQ.CastOnUnit(Obj, PacketCast());
         }
     }
 }
예제 #6
0
        private void LaneJungClear()
        {
            var minionObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, SkillE.Range) && i is Obj_AI_Minion).OrderBy(i => i.Health);

            foreach (var Obj in minionObj)
            {
                if (ItemBool("Clear", "Q") && SkillQ.IsReady() && !Player.IsDashing() && (AACount >= 2 || (SkillE.IsReady() && SkillE.Instance.Name != "RenektonSliceAndDice")) && (minionObj.Count(i => IsValid(i, SkillQ.Range)) >= 2 || (Obj.MaxHealth >= 1200 && SkillQ.InRange(Obj.Position))))
                {
                    SkillQ.Cast(PacketCast());
                }
                if (ItemBool("Clear", "W") && (SkillW.IsReady() || Player.HasBuff("RenektonExecuteReady")) && !Player.IsDashing() && AACount >= 1 && Orbwalk.InAutoAttackRange(Obj) && (CanKill(Obj, SkillW, Player.Mana >= 50 ? 1 : 0) || Obj.MaxHealth >= 1200))
                {
                    Orbwalk.SetAttack(false);
                    Player.IssueOrder(GameObjectOrder.AttackUnit, Obj);
                    Orbwalk.SetAttack(true);
                    break;
                }
                if (ItemBool("Clear", "E") && SkillE.IsReady() && !Player.IsDashing())
                {
                    var posEFarm = SkillE.GetLineFarmLocation(minionObj.ToList());
                    if (SkillE.Instance.Name == "RenektonSliceAndDice")
                    {
                        SkillE.Cast(posEFarm.MinionsHit >= 2 ? posEFarm.Position : Player.Position.To2D().Extend(Obj.Position.To2D(), Obj.Distance3D(Player) + 200), PacketCast());
                    }
                    else if (!ECasted || AACount >= 2)
                    {
                        SkillE.Cast(posEFarm.MinionsHit >= 2 ? posEFarm.Position : Player.Position.To2D().Extend(Obj.Position.To2D(), Obj.Distance3D(Player) + 200), PacketCast());
                    }
                }
                if (ItemBool("Clear", "Item") && AACount >= 1)
                {
                    UseItem(Obj, true);
                }
            }
        }
예제 #7
0
 private void NormalCombo()
 {
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.Instance.Name == "RenektonSliceAndDice" && SkillE.InRange(targetObj.Position))
     {
         SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast);
     }
     if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.InRange(targetObj.Position) && !ECasted && SkillW.IsReady())
     {
         SkillW.Cast(PacketCast);
     }
     if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position) && !ECasted)
     {
         SkillQ.Cast(PacketCast);
     }
     if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.Instance.Name != "RenektonSliceAndDice" && !ECasted && SkillE.InRange(targetObj.Position))
     {
         SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast);
     }
     if (Config.Item(Name + "iusage").GetValue <bool>() && !ECasted)
     {
         UseItem(targetObj);
     }
     if (Config.Item(Name + "ignite").GetValue <bool>())
     {
         CastIgnite(targetObj);
     }
 }
예제 #8
0
 private void Harass()
 {
     if (targetObj == null)
     {
         return;
     }
     if (ItemBool("Harass", "W") && SkillW.IsReady() && ItemBool("Harass", "Q") && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position))
     {
         SkillW.Cast(PacketCast());
     }
     if (ItemBool("Harass", "E") && SkillE.IsReady())
     {
         if (!Player.HasBuff("JaxCounterStrike", true))
         {
             if ((ItemBool("Harass", "Q") && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position)) || SkillE.InRange(targetObj.Position))
             {
                 SkillE.Cast(PacketCast());
             }
         }
         else if (SkillE.InRange(targetObj.Position) && !IsValid(targetObj, SkillE.Range - 3.5f))
         {
             SkillE.Cast(PacketCast());
         }
     }
     if (ItemBool("Harass", "Q") && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position) && Player.Health * 100 / Player.MaxHealth >= ItemList("Harass", "QAbove"))
     {
         if ((ItemBool("Harass", "E") && SkillE.IsReady() && Player.HasBuff("JaxCounterStrike", true) && !SkillE.InRange(targetObj.Position)) || (!Orbwalk.InAutoAttackRange(targetObj) && Player.Distance3D(targetObj) > 450))
         {
             SkillQ.CastOnUnit(targetObj, PacketCast());
         }
     }
 }
예제 #9
0
        private void OnGameUpdate(EventArgs args)
        {
            if (Player.IsDead || MenuGUI.IsChatOpen)
            {
                return;
            }
            switch (Orbwalk.CurrentMode)
            {
            case Orbwalk.Mode.Combo:
                NormalCombo();
                break;

            case Orbwalk.Mode.Harass:
                Harass();
                break;

            case Orbwalk.Mode.LaneClear:
                LaneJungClear();
                break;

            case Orbwalk.Mode.LaneFreeze:
                LaneJungClear();
                break;

            case Orbwalk.Mode.Flee:
                if (SkillE.IsReady())
                {
                    SkillE.Cast(Game.CursorPos, PacketCast());
                }
                break;
            }
        }
예제 #10
0
 private void Harass()
 {
     if (targetObj == null || Player.Health * 100 / Player.MaxHealth < Config.Item(Name + "harMode").GetValue <Slider>().Value)
     {
         return;
     }
     if (SkillE.IsReady() && SkillE.Instance.Name == "RenektonSliceAndDice" && SkillE.InRange(targetObj.Position))
     {
         SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast);
     }
     if (Config.Item(Name + "useHarW").GetValue <bool>() && SkillW.InRange(targetObj.Position) && !ECasted && SkillW.IsReady())
     {
         SkillW.Cast(PacketCast);
     }
     if (Config.Item(Name + "useHarQ").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position) && !ECasted)
     {
         SkillQ.Cast(PacketCast);
     }
     if (SkillE.IsReady() && SkillE.Instance.Name != "RenektonSliceAndDice" && !ECasted)
     {
         SkillE.Cast(DashBackPos, PacketCast);
     }
     if (!SkillE.IsReady())
     {
         DashBackPos = default(Vector3);
     }
 }
예제 #11
0
        private void LaneJungClear()
        {
            foreach (var Obj in ObjectManager.Get <Obj_AI_Minion>().Where(i => IsValid(i, 800)).OrderBy(i => i.Health))
            {
                if (ItemBool("Clear", "Q") && SkillQ.IsReady())
                {
                    switch (ItemList("Clear", "QMode"))
                    {
                    case 0:
                        SkillQ.Cast(PacketCast());
                        break;

                    case 1:
                        if (CanKill(Obj, SkillQ) && Player.Distance3D(Obj) <= Orbwalk.GetAutoAttackRange() + 50)
                        {
                            Orbwalk.SetAttack(false);
                            Player.IssueOrder(GameObjectOrder.AttackUnit, Obj);
                            Orbwalk.SetAttack(true);
                            break;
                        }
                        else if (Player.Distance(Obj) > 500)
                        {
                            SkillQ.Cast(PacketCast());
                        }
                        break;
                    }
                }
                if (ItemBool("Clear", "E") && SkillE.IsReady() && !Player.HasBuff("GarenE") && !Player.HasBuff("GarenQBuff") && SkillE.InRange(Obj.Position))
                {
                    SkillE.Cast(PacketCast());
                }
            }
        }
예제 #12
0
        private void Flee()
        {
            var manaQ = SkillQ.Instance.ManaCost;
            var manaW = SkillW.Instance.ManaCost;
            var manaR = SkillR.Instance.ManaCost;
            var PData = Player.Buffs.FirstOrDefault(i => i.Name == "udyrmonkeyagilitybuff");

            if (SkillE.IsReady())
            {
                SkillE.Cast(PacketCast);
            }
            if (PData != null && PData.Count < 3)
            {
                if ((manaQ < manaW || manaQ < manaR || (manaQ == manaW && manaQ < manaR) || (manaQ == manaR && manaQ < manaW)) && SkillQ.IsReady())
                {
                    SkillQ.Cast(PacketCast);
                }
                else if ((manaW < manaQ || manaW < manaR || (manaW == manaQ && manaW < manaR) || (manaW == manaR && manaW < manaQ)) && SkillW.IsReady())
                {
                    SkillW.Cast(PacketCast);
                }
                else if ((manaR < manaQ || manaR < manaW || (manaR == manaQ && manaR < manaW) || (manaR == manaW && manaR < manaQ)) && SkillR.IsReady())
                {
                    SkillR.Cast(PacketCast);
                }
            }
        }
예제 #13
0
 private void LaneJungClear()
 {
     foreach (var minionObj in MinionManager.GetMinions(Player.Position, 800, MinionTypes.All, MinionTeam.NotAlly))
     {
         if (Config.Item("useClearQ").GetValue <bool>())
         {
             if (CanKill(minionObj, SkillQ) && Orbwalk.InAutoAttackRange(minionObj))
             {
                 if (SkillQ.IsReady() || Player.HasBuff("GarenQ", true))
                 {
                     Orbwalk.SetAttack(false);
                     if (!Player.HasBuff("GarenQ", true))
                     {
                         SkillQ.Cast(PacketCast());
                     }
                     if (Player.HasBuff("GarenQ", true))
                     {
                         Player.IssueOrder(GameObjectOrder.AttackUnit, minionObj);
                     }
                     Orbwalk.SetAttack(true);
                 }
             }
             else if (Player.Distance(minionObj) > 450 && SkillQ.IsReady())
             {
                 SkillQ.Cast();
             }
         }
         if (Config.Item("useClearE").GetValue <bool>() && SkillE.IsReady() && !Player.HasBuff("GarenE") && !Player.HasBuff("GarenQ", true) && SkillE.InRange(minionObj.Position))
         {
             SkillE.Cast(PacketCast());
         }
     }
 }
예제 #14
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);
         }
     }
 }
예제 #15
0
        private void LaneJungClear()
        {
            var minionObj = (Obj_AI_Base)ObjectManager.Get <Obj_AI_Turret>().FirstOrDefault(i => i.IsValidTarget(SkillQ.Range) && i.Health <= GetBonusDmg(i));

            if (minionObj == null)
            {
                minionObj = MinionManager.GetMinions(Player.Position, SkillE.Range, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault();
            }
            if (minionObj == null)
            {
                return;
            }
            if (Config.Item(Name + "useClearQ").GetValue <bool>() && SkillQ.InRange(minionObj.Position))
            {
                var DmgAA = Player.GetAutoAttackDamage(minionObj) * Math.Floor(SkillQ.Instance.Cooldown / (1 / (Player.PercentMultiplicativeAttackSpeedMod * 0.638)));
                if ((minionObj.Health <= GetBonusDmg(minionObj) || minionObj.Health > DmgAA + GetBonusDmg(minionObj)) && (SkillQ.IsReady() || Player.HasBuff("NasusQ", true)))
                {
                    LXOrbwalker.SetAttack(false);
                    if (!Player.HasBuff("NasusQ", true))
                    {
                        SkillQ.Cast(PacketCast);
                    }
                    if (Player.HasBuff("NasusQ", true))
                    {
                        Player.IssueOrder(GameObjectOrder.AttackUnit, minionObj);
                    }
                    LXOrbwalker.SetAttack(true);
                }
            }
            if (Config.Item(Name + "useClearE").GetValue <bool>() && SkillE.IsReady() && minionObj is Obj_AI_Minion)
            {
                SkillE.Cast(minionObj.Position, PacketCast);
            }
        }
예제 #16
0
        private void LaneJungClear()
        {
            var minionObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, SkillE.Range) && (i is Obj_AI_Turret || i is Obj_AI_Minion)).OrderBy(i => i.MaxHealth);

            foreach (var Obj in minionObj)
            {
                if (SmiteReady() && Obj.Team == GameObjectTeam.Neutral)
                {
                    if ((ItemBool("SmiteMob", "Baron") && Obj.Name.StartsWith("SRU_Baron")) || (ItemBool("SmiteMob", "Dragon") && Obj.Name.StartsWith("SRU_Dragon")) || (!Obj.Name.Contains("Mini") && (
                                                                                                                                                                             (ItemBool("SmiteMob", "Red") && Obj.Name.StartsWith("SRU_Red")) || (ItemBool("SmiteMob", "Blue") && Obj.Name.StartsWith("SRU_Blue")) ||
                                                                                                                                                                             (ItemBool("SmiteMob", "Krug") && Obj.Name.StartsWith("SRU_Krug")) || (ItemBool("SmiteMob", "Gromp") && Obj.Name.StartsWith("SRU_Gromp")) ||
                                                                                                                                                                             (ItemBool("SmiteMob", "Raptor") && Obj.Name.StartsWith("SRU_Razorbeak")) || (ItemBool("SmiteMob", "Wolf") && Obj.Name.StartsWith("SRU_Murkwolf")))))
                    {
                        CastSmite(Obj);
                    }
                }
                if (ItemBool("Clear", "E") && SkillE.IsReady() && minionObj.Count(i => i is Obj_AI_Minion) > 0)
                {
                    var posEFarm = SkillE.GetCircularFarmLocation(minionObj.Where(i => i is Obj_AI_Minion).ToList());
                    SkillE.Cast(posEFarm.MinionsHit >= 2 ? posEFarm.Position : minionObj.First(i => i is Obj_AI_Minion).Position.To2D(), PacketCast());
                }
                if (ItemBool("Clear", "Q") && SkillQ.IsReady() && Player.Distance3D(Obj) <= Orbwalk.GetAutoAttackRange() + 50)
                {
                    var DmgAA = Player.GetAutoAttackDamage(Obj) * Math.Floor(SkillQ.Instance.Cooldown / (1 / (Player.PercentMultiplicativeAttackSpeedMod * 0.638)));
                    if (SkillQ.GetHealthPrediction(Obj) + 5 <= GetBonusDmg(targetObj) || SkillQ.GetHealthPrediction(Obj) + 5 > DmgAA + GetBonusDmg(Obj))
                    {
                        Orbwalk.SetAttack(false);
                        Player.IssueOrder(GameObjectOrder.AttackUnit, Obj);
                        Orbwalk.SetAttack(true);
                        break;
                    }
                }
            }
        }
예제 #17
0
 private void NormalCombo()
 {
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && SkillW.InRange(targetObj.Position))
     {
         SkillW.CastOnUnit(targetObj, PacketCast);
     }
     if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position))
     {
         SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 100, PacketCast);
     }
     if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.InRange(targetObj.Position))
     {
         var DmgAA = Player.GetAutoAttackDamage(targetObj) * Math.Floor(SkillQ.Instance.Cooldown / (1 / (Player.PercentMultiplicativeAttackSpeedMod * 0.638)));
         if ((targetObj.Health <= GetBonusDmg(targetObj) || targetObj.Health > DmgAA + GetBonusDmg(targetObj)) && SkillQ.IsReady())
         {
             SkillQ.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);
     }
 }
예제 #18
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);
                }
            }
        }
예제 #19
0
        private void LaneJungClear()
        {
            var towerObj  = (Obj_AI_Base)ObjectManager.Get <Obj_AI_Turret>().FirstOrDefault(i => i.IsValidTarget() && Orbwalk.InAutoAttackRange(i) && i.Health <= GetBonusDmg(i));
            var minionObj = MinionManager.GetMinions(Player.Position, SkillE.Range - 50, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth);
            var Obj       = (towerObj != null) ? towerObj : minionObj.FirstOrDefault(i => i.IsValidTarget() && Orbwalk.InAutoAttackRange(i));

            if (Config.Item("useClearQ").GetValue <bool>() && Obj != null)
            {
                var DmgAA = Player.GetAutoAttackDamage(Obj) * Math.Floor(SkillQ.Instance.Cooldown / (1 / (Player.PercentMultiplicativeAttackSpeedMod * 0.638)));
                if ((Obj.Health <= GetBonusDmg(Obj) || Obj.Health > DmgAA + GetBonusDmg(Obj)) && (SkillQ.IsReady() || Player.HasBuff("NasusQ", true)))
                {
                    Orbwalk.SetAttack(false);
                    if (!Player.HasBuff("NasusQ", true))
                    {
                        SkillQ.Cast(PacketCast());
                    }
                    if (Player.HasBuff("NasusQ", true))
                    {
                        Player.IssueOrder(GameObjectOrder.AttackUnit, Obj);
                    }
                    Orbwalk.SetAttack(true);
                }
            }
            if (Config.Item("useClearE").GetValue <bool>() && SkillE.IsReady() && minionObj.Count > 0)
            {
                var posEFarm = SkillE.GetCircularFarmLocation(minionObj);
                SkillE.Cast(posEFarm.MinionsHit >= 2 ? posEFarm.Position : minionObj.First().Position.To2D(), PacketCast());
            }
        }
예제 #20
0
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(Player.Position, SkillQ.Range, MinionTypes.All, MinionTeam.NotAlly);

            if (minionObj.Count() == 0)
            {
                return;
            }
            if (Config.Item(Name + "useClearE").GetValue <bool>() && SkillE.IsReady())
            {
                SkillE.Cast(SkillE.GetCircularFarmLocation(minionObj.ToList()).Position, PacketCast);
            }
            if (Config.Item(Name + "useClearE").GetValue <bool>() && flagPos != default(Vector3) && minionObj.Count(i => i.IsValidTarget(180, true, flagPos)) >= 2)
            {
                if (Config.Item(Name + "useClearQ").GetValue <bool>() && SkillQ.IsReady())
                {
                    SkillQ.Cast(flagPos, PacketCast);
                }
            }
            else if (Config.Item(Name + "useClearQ").GetValue <bool>() && SkillQ.IsReady())
            {
                SkillQ.Cast(SkillQ.GetLineFarmLocation(minionObj.ToList()).Position, PacketCast);
            }
            if (Config.Item(Name + "useClearI").GetValue <bool>() && minionObj.Count(i => i.IsValidTarget(350)) >= 2)
            {
                if (Items.CanUseItem(Tiamat))
                {
                    Items.UseItem(Tiamat);
                }
                if (Items.CanUseItem(Hydra))
                {
                    Items.UseItem(Hydra);
                }
            }
        }
예제 #21
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);
             }
         }
     }
 }
예제 #22
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);
     }
 }
예제 #23
0
 private void NormalCombo()
 {
     if (ItemBool("Combo", "W") && SkillW.IsReady() && Player.HasBuff("BurningAgony", true) && Player.CountEnemysInRange(500) == 0)
     {
         SkillW.Cast(PacketCast());
     }
     if (targetObj == null)
     {
         return;
     }
     if (ItemBool("Combo", "W") && SkillW.IsReady())
     {
         if (Player.Health * 100 / Player.MaxHealth >= ItemSlider("Combo", "WAbove"))
         {
             if (Player.Distance3D(targetObj) <= SkillW.Range + 35)
             {
                 if (!Player.HasBuff("BurningAgony", true))
                 {
                     SkillW.Cast(PacketCast());
                 }
             }
             else if (Player.HasBuff("BurningAgony", true))
             {
                 SkillW.Cast(PacketCast());
             }
         }
         else if (Player.HasBuff("BurningAgony", true))
         {
             SkillW.Cast(PacketCast());
         }
     }
     if (ItemBool("Combo", "Q") && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position))
     {
         if (ItemBool("Misc", "SmiteCol"))
         {
             if (!SmiteCollision(targetObj, SkillQ))
             {
                 SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast());
             }
         }
         else
         {
             SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast());
         }
     }
     if (ItemBool("Combo", "E") && SkillE.IsReady() && Orbwalk.InAutoAttackRange(targetObj))
     {
         SkillE.Cast(PacketCast());
     }
     if (ItemBool("Combo", "Item") && Items.CanUseItem(Rand) && Player.CountEnemysInRange(450) >= 1)
     {
         Items.UseItem(Rand);
     }
     if (ItemBool("Combo", "Ignite"))
     {
         CastIgnite(targetObj);
     }
 }
예제 #24
0
        private void KillSteal()
        {
            var target = ObjectManager.Get <Obj_AI_Hero>().FirstOrDefault(i => i.IsValidTarget(SkillE.Range) && CanKill(i, SkillE) && i != targetObj);

            if (target != null && SkillE.IsReady())
            {
                SkillE.Cast(target.Position, PacketCast);
            }
        }
예제 #25
0
        private void StunCycle()
        {
            var Obj = ObjectManager.Get <Obj_AI_Hero>().Where(i => IsValid(i, 800) && !i.HasBuff("UdyrBearStunCheck")).OrderBy(i => i.Distance3D(Player)).FirstOrDefault();

            CustomOrbwalk(Obj);
            if (Obj != null && SkillE.IsReady())
            {
                SkillE.Cast(PacketCast());
            }
        }
예제 #26
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);
            }
        }
예제 #27
0
        private void NormalCombo()
        {
            if (targetObj == null)
            {
                return;
            }
            if (ItemBool("Combo", "E") && SkillE.IsReady())
            {
                if (!Player.HasBuff("JaxCounterStrike", true))
                {
                    if ((ItemBool("Combo", "Q") && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position)) || SkillE.InRange(targetObj.Position))
                    {
                        SkillE.Cast(PacketCast());
                    }
                }
                else if (SkillE.InRange(targetObj.Position) && !IsValid(targetObj, SkillE.Range - 3.5f))
                {
                    SkillE.Cast(PacketCast());
                }
            }
            if (ItemBool("Combo", "Q") && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position))
            {
                if ((ItemBool("Combo", "E") && SkillE.IsReady() && Player.HasBuff("JaxCounterStrike", true) && !SkillE.InRange(targetObj.Position)) || (!Orbwalk.InAutoAttackRange(targetObj) && Player.Distance3D(targetObj) > 450))
                {
                    SkillQ.CastOnUnit(targetObj, PacketCast());
                }
            }
            if (ItemBool("Combo", "R") && SkillR.IsReady())
            {
                switch (ItemList("Combo", "RMode"))
                {
                case 0:
                    if (Player.Health * 100 / Player.MaxHealth <= ItemSlider("Combo", "RUnder"))
                    {
                        SkillR.Cast(PacketCast());
                    }
                    break;

                case 1:
                    if (Player.CountEnemysInRange((int)SkillQ.Range) >= ItemSlider("Combo", "RCount"))
                    {
                        SkillR.Cast(PacketCast());
                    }
                    break;
                }
            }
            if (ItemBool("Combo", "Item"))
            {
                UseItem(targetObj);
            }
            if (ItemBool("Combo", "Ignite"))
            {
                CastIgnite(targetObj);
            }
        }
예제 #28
0
 private void OnPossibleToInterrupt(Obj_AI_Base unit, InterruptableSpell spell)
 {
     if (!Config.Item("useInterE").GetValue <bool>())
     {
         return;
     }
     if (unit.IsValidTarget(SkillE.Range) && SkillE.IsReady())
     {
         SkillE.Cast(unit.Position + Vector3.Normalize(unit.Position - Player.Position) * 200, PacketCast());
     }
 }
예제 #29
0
 private void OnEnemyGapcloser(ActiveGapcloser gapcloser)
 {
     if (!Config.Item(Name + "useAntiE").GetValue <bool>())
     {
         return;
     }
     if (gapcloser.Sender.IsValidTarget(SkillE.Range) && SkillE.IsReady())
     {
         SkillE.Cast(PacketCast);
     }
 }
예제 #30
0
 private void KillSteal()
 {
     if (!SkillE.IsReady())
     {
         return;
     }
     foreach (var Obj in ObjectManager.Get <Obj_AI_Hero>().Where(i => IsValid(i, SkillE.Range) && CanKill(i, SkillE) && i != targetObj).OrderBy(i => i.Health).OrderByDescending(i => i.Distance3D(Player)))
     {
         SkillE.Cast(Obj.Position, PacketCast());
     }
 }