Exemplo n.º 1
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());
                }
            }
        }
Exemplo n.º 2
0
        private void LastHit()
        {
            var minionObj = (Obj_AI_Base)ObjectManager.Get <Obj_AI_Turret>().FirstOrDefault(i => i.IsValidTarget(Orbwalk.GetAutoAttackRange(Player, i) + 50) && i.Health <= GetBonusDmg(i));

            if (minionObj == null)
            {
                minionObj = MinionManager.GetMinions(Player.Position, Orbwalk.GetAutoAttackRange() + 50, MinionTypes.All, MinionTeam.NotAlly).Where(i => i.Health <= GetBonusDmg(i)).OrderBy(i => i.Distance(Player)).FirstOrDefault();
            }
            if (minionObj == null)
            {
                return;
            }
            if (SkillW.IsReady() || Player.HasBuff("JaxEmpowerTwo", true))
            {
                Orbwalk.SetAttack(false);
                if (!Player.HasBuff("JaxEmpowerTwo", true))
                {
                    SkillW.Cast(PacketCast());
                }
                if (Player.HasBuff("JaxEmpowerTwo", true))
                {
                    Player.IssueOrder(GameObjectOrder.AttackUnit, minionObj);
                }
                Orbwalk.SetAttack(true);
            }
            else if (RCount >= 2)
            {
                Orbwalk.SetAttack(false);
                Player.IssueOrder(GameObjectOrder.AttackUnit, minionObj);
                Orbwalk.SetAttack(true);
            }
        }
Exemplo n.º 3
0
 private void AfterAttack(Obj_AI_Base unit, Obj_AI_Base target)
 {
     if (!unit.IsMe)
     {
         return;
     }
     if (ItemBool("Combo", "Q") && SkillQ.IsReady() && IsValid(target, Orbwalk.GetAutoAttackRange() + 50) && (Orbwalk.CurrentMode == Orbwalk.Mode.Combo || Orbwalk.CurrentMode == Orbwalk.Mode.Harass))
     {
         SkillQ.Cast(PacketCast());
     }
 }
Exemplo n.º 4
0
 private void OnEnemyGapcloser(ActiveGapcloser gapcloser)
 {
     if (!ItemBool("Misc", "QAntiGap") || Player.IsDead)
     {
         return;
     }
     if (IsValid(gapcloser.Sender, Orbwalk.GetAutoAttackRange() + 100) && SkillQ.IsReady() && !Player.HasBuff("PowerBall"))
     {
         SkillQ.Cast(PacketCast());
     }
 }
Exemplo n.º 5
0
 private void OnEnemyGapcloser(ActiveGapcloser gapcloser)
 {
     if (!ItemBool("Misc", "EAntiGap") || Player.IsDead)
     {
         return;
     }
     if (IsValid(gapcloser.Sender, Orbwalk.GetAutoAttackRange() + 100) && SkillE.IsReady())
     {
         SkillE.Cast(Player.Position.To2D().Extend(gapcloser.Sender.Position.To2D(), gapcloser.Sender.Distance3D(Player) + 200), PacketCast());
     }
 }
Exemplo n.º 6
0
 private void LaneJungClear()
 {
     foreach (var Obj in ObjectManager.Get <Obj_AI_Minion>().Where(i => IsValid(i, 800)).OrderBy(i => i.Health))
     {
         var SpecialMob = new[] { "SRU_Baron", "SRU_Dragon" }.Any(i => Obj.Name.StartsWith(i));
         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() && !Obj.HasBuff("UdyrBearStunCheck") && (!SpecialMob || Player.Distance3D(Obj) > Orbwalk.GetAutoAttackRange() + 150))
         {
             SkillE.Cast(PacketCast());
         }
         if (Player.Distance3D(Obj) <= Orbwalk.GetAutoAttackRange() + 50 && (!ItemBool("Clear", "E") || (ItemBool("Clear", "E") && (SkillE.Level == 0 || Obj.HasBuff("UdyrBearStunCheck") || SpecialMob))))
         {
             if (ItemBool("Clear", "Q") && SkillQ.IsReady())
             {
                 SkillQ.Cast(PacketCast());
             }
             if (ItemBool("Clear", "R") && SkillR.IsReady() && (!ItemBool("Clear", "Q") || (ItemBool("Clear", "Q") && (SkillQ.Level == 0 || (CurStance == Stance.Tiger && (AACount >= 2 || TigerActive))))))
             {
                 SkillR.Cast(PacketCast());
             }
             if (ItemBool("Clear", "W") && SkillW.IsReady())
             {
                 if ((CurStance == Stance.Tiger && (AACount >= 2 || TigerActive)) || (CurStance == Stance.Phoenix && (AACount >= 3 || PhoenixActive)))
                 {
                     SkillW.Cast(PacketCast());
                 }
                 else if (SkillQ.Level == 0 && SkillR.Level == 0)
                 {
                     SkillW.Cast(PacketCast());
                 }
             }
         }
         if (ItemBool("Clear", "Item"))
         {
             UseItem(Obj, true);
         }
     }
 }
Exemplo n.º 7
0
 private void OnEnemyGapcloser(ActiveGapcloser gapcloser)
 {
     if (!ItemBool("Misc", "EAntiGap") || Player.IsDead)
     {
         return;
     }
     if (IsValid(gapcloser.Sender, Orbwalk.GetAutoAttackRange() + 100) && !gapcloser.Sender.HasBuff("UdyrBearStunCheck") && (SkillE.IsReady() || CurStance == Stance.Bear))
     {
         if (CurStance != Stance.Bear)
         {
             SkillE.Cast(PacketCast());
         }
         if (CurStance == Stance.Bear)
         {
             Player.IssueOrder(GameObjectOrder.AttackUnit, gapcloser.Sender);
         }
     }
 }
Exemplo n.º 8
0
 private void OnEnemyGapcloser(ActiveGapcloser gapcloser)
 {
     if (!ItemBool("Misc", "WAntiGap") || Player.IsDead)
     {
         return;
     }
     if (IsValid(gapcloser.Sender, Orbwalk.GetAutoAttackRange() + 50) && (SkillW.IsReady() || Player.HasBuff("RenektonExecuteReady")))
     {
         if (SkillW.IsReady())
         {
             SkillW.Cast(PacketCast());
         }
         if (Player.HasBuff("RenektonExecuteReady"))
         {
             Player.IssueOrder(GameObjectOrder.AttackUnit, gapcloser.Sender);
         }
     }
 }
Exemplo n.º 9
0
        private void AfterAttack(Obj_AI_Base unit, Obj_AI_Base target)
        {
            if (!unit.IsMe)
            {
                return;
            }
            if (SkillR.Level > 0)
            {
                RCount += 1;
            }
            if (SkillW.IsReady() && target.IsValidTarget(Orbwalk.GetAutoAttackRange(Player, target) + 50))
            {
                switch (Orbwalk.CurrentMode)
                {
                case Orbwalk.Mode.Combo:
                    if (Config.Item("wusage").GetValue <bool>() && Config.Item("wuseMode").GetValue <StringList>().SelectedIndex == 0)
                    {
                        SkillW.Cast(PacketCast());
                    }
                    break;

                case Orbwalk.Mode.Harass:
                    if (Config.Item("useHarW").GetValue <bool>() && (!Config.Item("useHarQ").GetValue <bool>() || (Config.Item("useHarQ").GetValue <bool>()) && !SkillQ.IsReady()))
                    {
                        SkillW.Cast(PacketCast());
                    }
                    break;

                case Orbwalk.Mode.LaneClear:
                    if (Config.Item("useClearW").GetValue <bool>() && Config.Item("useClearWMode").GetValue <StringList>().SelectedIndex == 0)
                    {
                        SkillW.Cast(PacketCast());
                    }
                    break;

                case Orbwalk.Mode.LaneFreeze:
                    if (Config.Item("useClearW").GetValue <bool>() && Config.Item("useClearWMode").GetValue <StringList>().SelectedIndex == 0)
                    {
                        SkillW.Cast(PacketCast());
                    }
                    break;
                }
            }
        }
Exemplo n.º 10
0
 private void NormalCombo(string Mode)
 {
     if (targetObj == null)
     {
         return;
     }
     if (ItemBool(Mode, "E") && SkillE.IsReady() && !targetObj.HasBuff("UdyrBearStunCheck") && Player.Distance3D(targetObj) <= ((Mode == "Combo") ? 800 : Orbwalk.GetAutoAttackRange() + 100))
     {
         SkillE.Cast(PacketCast());
     }
     if (Player.Distance3D(targetObj) <= Orbwalk.GetAutoAttackRange() + 50 && (!ItemBool(Mode, "E") || (ItemBool(Mode, "E") && (SkillE.Level == 0 || targetObj.HasBuff("UdyrBearStunCheck")))))
     {
         if (ItemBool(Mode, "Q") && SkillQ.IsReady())
         {
             SkillQ.Cast(PacketCast());
         }
         if (ItemBool(Mode, "R") && SkillR.IsReady() && (!ItemBool(Mode, "Q") || (ItemBool(Mode, "Q") && (SkillQ.Level == 0 || (CurStance == Stance.Tiger && (AACount >= 2 || TigerActive))))))
         {
             SkillR.Cast(PacketCast());
         }
         if (ItemBool(Mode, "W") && SkillW.IsReady())
         {
             if ((CurStance == Stance.Tiger && (AACount >= 2 || TigerActive)) || (CurStance == Stance.Phoenix && (AACount >= 3 || PhoenixActive)))
             {
                 SkillW.Cast(PacketCast());
             }
             else if (SkillQ.Level == 0 && SkillR.Level == 0)
             {
                 SkillW.Cast(PacketCast());
             }
         }
     }
     if (ItemBool(Mode, "Item") && Mode == "Combo")
     {
         UseItem(targetObj);
     }
     if (ItemBool(Mode, "Ignite") && Mode == "Combo")
     {
         CastIgnite(targetObj);
     }
 }
Exemplo n.º 11
0
        private void AfterAttack(Obj_AI_Base unit, Obj_AI_Base target)
        {
            if (!unit.IsMe)
            {
                return;
            }
            RCount += 1;
            if (SkillW.IsReady() && IsValid(target, Orbwalk.GetAutoAttackRange() + 50))
            {
                switch (Orbwalk.CurrentMode)
                {
                case Orbwalk.Mode.Combo:
                    if (ItemBool("Combo", "W") && ItemList("Combo", "WMode") == 0)
                    {
                        SkillW.Cast(PacketCast());
                    }
                    break;

                case Orbwalk.Mode.Harass:
                    if (ItemBool("Harass", "W") && (!ItemBool("Harass", "Q") || (ItemBool("Harass", "Q") && !SkillQ.IsReady())))
                    {
                        SkillW.Cast(PacketCast());
                    }
                    break;

                case Orbwalk.Mode.LaneClear:
                    if (ItemBool("Clear", "W") && ItemList("Clear", "WMode") == 0)
                    {
                        SkillW.Cast(PacketCast());
                    }
                    break;

                case Orbwalk.Mode.LaneFreeze:
                    if (ItemBool("Clear", "W") && ItemList("Clear", "WMode") == 0)
                    {
                        SkillW.Cast(PacketCast());
                    }
                    break;
                }
            }
        }
Exemplo n.º 12
0
 private void OnPossibleToInterrupt(Obj_AI_Base unit, InterruptableSpell spell)
 {
     if (!ItemBool("Misc", "WInterrupt") || Player.IsDead)
     {
         return;
     }
     if ((SkillW.IsReady() || Player.HasBuff("RenektonExecuteReady")) && SkillE.IsReady() && !SkillW.InRange(unit.Position) && IsValid(unit, SkillE.Range))
     {
         SkillE.Cast(unit.Position + Vector3.Normalize(unit.Position - Player.Position) * 200, PacketCast());
     }
     if (IsValid(unit, Orbwalk.GetAutoAttackRange() + 50) && (SkillW.IsReady() || Player.HasBuff("RenektonExecuteReady")))
     {
         if (SkillW.IsReady())
         {
             SkillW.Cast(PacketCast());
         }
         if (Player.HasBuff("RenektonExecuteReady"))
         {
             Player.IssueOrder(GameObjectOrder.AttackUnit, unit);
         }
     }
 }
Exemplo n.º 13
0
        private void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (!sender.IsMe)
            {
                return;
            }
            if (args.SData.Name == "jaxrelentlessattack")
            {
                RCount = 0;
                if (SkillW.IsReady() && (args.Target as Obj_AI_Base).IsValidTarget(Orbwalk.GetAutoAttackRange(Player, (Obj_AI_Base)args.Target) + 50))
                {
                    switch (Orbwalk.CurrentMode)
                    {
                    case Orbwalk.Mode.Combo:
                        if (Config.Item("wusage").GetValue <bool>() && Config.Item("wuseMode").GetValue <StringList>().SelectedIndex == 1)
                        {
                            SkillW.Cast(PacketCast());
                        }
                        break;

                    case Orbwalk.Mode.LaneClear:
                        if (Config.Item("useClearW").GetValue <bool>() && Config.Item("useClearWMode").GetValue <StringList>().SelectedIndex == 1)
                        {
                            SkillW.Cast(PacketCast());
                        }
                        break;

                    case Orbwalk.Mode.LaneFreeze:
                        if (Config.Item("useClearW").GetValue <bool>() && Config.Item("useClearWMode").GetValue <StringList>().SelectedIndex == 1)
                        {
                            SkillW.Cast(PacketCast());
                        }
                        break;
                    }
                }
            }
        }
Exemplo n.º 14
0
 private void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
 {
     if (Player.IsDead)
     {
         return;
     }
     if (sender.IsMe)
     {
         if (Orbwalk.IsAutoAttack(args.SData.Name) && IsValid((Obj_AI_Base)args.Target) && SkillW.IsReady())
         {
             var Obj = (Obj_AI_Base)args.Target;
             if ((Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear || Orbwalk.CurrentMode == Orbwalk.Mode.LaneFreeze) && ItemBool("Clear", "W") && args.Target is Obj_AI_Minion && (CanKill(Obj, SkillW, Player.Mana >= 50 ? 1 : 0) || Obj.MaxHealth >= 1200))
             {
                 SkillW.Cast(PacketCast());
             }
             else if ((Orbwalk.CurrentMode == Orbwalk.Mode.Combo || Orbwalk.CurrentMode == Orbwalk.Mode.Harass) && ItemBool(Orbwalk.CurrentMode.ToString(), "W") && args.Target is Obj_AI_Hero)
             {
                 SkillW.Cast(PacketCast());
             }
         }
         if (args.SData.Name == "RenektonCleave")
         {
             AACount = 0;
         }
         if (args.SData.Name == "RenektonPreExecute")
         {
             AACount = 0;
         }
         if (args.SData.Name == "RenektonSliceAndDice")
         {
             ECasted = true;
             Utility.DelayAction.Add((Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear || Orbwalk.CurrentMode == Orbwalk.Mode.LaneFreeze) ? 3000 : 1800, () => ECasted = false);
             AACount = 0;
         }
         if (args.SData.Name == "renektondice")
         {
             AACount = 0;
         }
     }
     else if (sender.IsEnemy && ItemBool("Ultimate", "RSurvive") && SkillR.IsReady())
     {
         if (args.Target.IsMe && ((Orbwalk.IsAutoAttack(args.SData.Name) && (Player.Health - sender.GetAutoAttackDamage(Player, true)) * 100 / Player.MaxHealth <= ItemSlider("Ultimate", "RUnder")) || (args.SData.Name == "summonerdot" && (Player.Health - (sender as Obj_AI_Hero).GetSummonerSpellDamage(Player, Damage.SummonerSpell.Ignite)) * 100 / Player.MaxHealth <= ItemSlider("Ultimate", "RUnder"))))
         {
             SkillR.Cast(PacketCast());
         }
         else if ((args.Target.IsMe || (Player.Position.Distance(args.Start) <= args.SData.CastRange[0] && Player.Position.Distance(args.End) <= Orbwalk.GetAutoAttackRange())) && Damage.Spells.ContainsKey((sender as Obj_AI_Hero).ChampionName))
         {
             for (var i = 3; i > -1; i--)
             {
                 if (Damage.Spells[(sender as Obj_AI_Hero).ChampionName].FirstOrDefault(a => a.Slot == (sender as Obj_AI_Hero).GetSpellSlot(args.SData.Name, false) && a.Stage == i) != null)
                 {
                     if ((Player.Health - (sender as Obj_AI_Hero).GetSpellDamage(Player, (sender as Obj_AI_Hero).GetSpellSlot(args.SData.Name, false), i)) * 100 / Player.MaxHealth <= ItemSlider("Ultimate", "RUnder"))
                     {
                         SkillR.Cast(PacketCast());
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 15
0
 private void NormalCombo(string Mode)
 {
     if (targetObj == null)
     {
         return;
     }
     if (ItemBool(Mode, "Q") && SkillQ.IsReady() && Player.Distance3D(targetObj) <= ((Mode == "Harass") ? Orbwalk.GetAutoAttackRange() + 50 : 800) && !Orbwalk.InAutoAttackRange(targetObj))
     {
         if (Mode == "Harass")
         {
             Orbwalk.SetAttack(false);
             Player.IssueOrder(GameObjectOrder.AttackUnit, targetObj);
             Orbwalk.SetAttack(true);
         }
         else
         {
             SkillQ.Cast(PacketCast());
         }
     }
     if (ItemBool(Mode, "E") && SkillE.IsReady() && !Player.HasBuff("GarenE") && !Player.HasBuff("GarenQBuff") && SkillE.InRange(targetObj.Position))
     {
         SkillE.Cast(PacketCast());
     }
     if (ItemBool(Mode, "W") && SkillW.IsReady() && Orbwalk.InAutoAttackRange(targetObj) && Player.HealthPercentage() <= ItemSlider(Mode, "WUnder"))
     {
         SkillW.Cast(PacketCast());
     }
     if (ItemBool(Mode, "R") && ItemBool("Ultimate", targetObj.ChampionName) && Mode == "Combo" && SkillR.IsReady() && SkillR.InRange(targetObj.Position) && CanKill(targetObj, SkillR))
     {
         SkillR.CastOnUnit(targetObj, PacketCast());
     }
     if (ItemBool(Mode, "Item") && Mode == "Combo" && Items.CanUseItem(Randuin) && Player.CountEnemysInRange(450) >= 1)
     {
         Items.UseItem(Randuin);
     }
     if (ItemBool(Mode, "Ignite") && Mode == "Combo")
     {
         CastIgnite(targetObj);
     }
 }
Exemplo n.º 16
0
 private void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
 {
     if (Player.IsDead)
     {
         return;
     }
     if (sender.IsMe)
     {
         if (args.SData.Name == "BlindMonkQOne")
         {
             QCasted = true;
             Utility.DelayAction.Add((Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear || Orbwalk.CurrentMode == Orbwalk.Mode.LaneFreeze) ? 2800 : 2200, () => QCasted = false);
         }
         if (args.SData.Name == "BlindMonkWOne")
         {
             WCasted = true;
             Utility.DelayAction.Add((Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear || Orbwalk.CurrentMode == Orbwalk.Mode.LaneFreeze) ? 2800 : 1000, () => WCasted = false);
             JumpCasted = true;
             Utility.DelayAction.Add(1000, () => JumpCasted = false);
         }
         if (args.SData.Name == "BlindMonkEOne")
         {
             ECasted = true;
             Utility.DelayAction.Add((Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear || Orbwalk.CurrentMode == Orbwalk.Mode.LaneFreeze) ? 2800 : 2200, () => ECasted = false);
         }
         if (args.SData.Name == "BlindMonkRKick")
         {
             RCasted = true;
             Utility.DelayAction.Add(700, () => RCasted = false);
             if (ItemActive("StarCombo") || ItemActive("InsecCombo"))
             {
                 KickCasted = true;
                 Utility.DelayAction.Add(1000, () => KickCasted = false);
             }
         }
         if (ItemActive("InsecCombo") && ItemBool("Insec", "Flash") && FlashReady())
         {
             if (args.SData.Name == "blindmonkqtwo")
             {
                 FlyCasted = true;
                 Utility.DelayAction.Add(1000, () => FlyCasted = false);
             }
             else if (args.SData.Name == "BlindMonkWOne" && !WardCasted)
             {
                 Utility.DelayAction.Add((int)((Player.Position.Distance(GetInsecPos()) - args.Target.Position.Distance(GetInsecPos())) / SkillW.Speed * 1000 + 200), () => CastFlash(GetInsecPos()));
             }
         }
     }
     else if (sender.IsEnemy && ItemBool("Misc", "WSurvive") && SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne")
     {
         if (args.Target.IsMe && ((Orbwalk.IsAutoAttack(args.SData.Name) && Player.Health <= sender.GetAutoAttackDamage(Player, true)) || (args.SData.Name == "summonerdot" && Player.Health <= (sender as Obj_AI_Hero).GetSummonerSpellDamage(Player, Damage.SummonerSpell.Ignite))))
         {
             SkillW.Cast(PacketCast());
             return;
         }
         else if ((args.Target.IsMe || (Player.Position.Distance(args.Start) <= args.SData.CastRange[0] && Player.Position.Distance(args.End) <= Orbwalk.GetAutoAttackRange())) && Damage.Spells.ContainsKey((sender as Obj_AI_Hero).ChampionName))
         {
             for (var i = 3; i > -1; i--)
             {
                 if (Damage.Spells[(sender as Obj_AI_Hero).ChampionName].FirstOrDefault(a => a.Slot == (sender as Obj_AI_Hero).GetSpellSlot(args.SData.Name, false) && a.Stage == i) != null)
                 {
                     if (Player.Health <= (sender as Obj_AI_Hero).GetSpellDamage(Player, (sender as Obj_AI_Hero).GetSpellSlot(args.SData.Name, false), i))
                     {
                         SkillW.Cast(PacketCast());
                         return;
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 17
0
 private void LastHit()
 {
     if (!ItemBool("Misc", "WLastHit") || !SkillW.IsReady() || !Player.HasBuff("JaxEmpowerTwo", true))
     {
         return;
     }
     foreach (var Obj in ObjectManager.Get <Obj_AI_Minion>().Where(i => IsValid(i, Orbwalk.GetAutoAttackRange() + 50) && i.Health + 5 <= GetBonusDmg(i)).OrderBy(i => i.Health).OrderBy(i => i.Distance3D(Player)))
     {
         Orbwalk.SetAttack(false);
         Player.IssueOrder(GameObjectOrder.AttackUnit, Obj);
         Orbwalk.SetAttack(true);
         break;
     }
 }
Exemplo n.º 18
0
 private void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
 {
     if (Player.IsDead)
     {
         return;
     }
     if (sender.IsMe && Orbwalk.IsAutoAttack(args.SData.Name) && IsValid((Obj_AI_Base)args.Target) && SkillQ.IsReady())
     {
         if (args.Target is Obj_AI_Hero && Orbwalk.CurrentMode == Orbwalk.Mode.Harass && ItemBool("Harass", "Q"))
         {
             SkillQ.Cast(PacketCast());
         }
         else if (args.Target is Obj_AI_Minion && CanKill((Obj_AI_Minion)args.Target, SkillQ) && ((Orbwalk.CurrentMode == Orbwalk.Mode.LastHit && ItemBool("Misc", "QLastHit")) || ((Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear || Orbwalk.CurrentMode == Orbwalk.Mode.LaneFreeze) && ItemBool("Clear", "Q") && ItemList("Clear", "QMode") == 1)))
         {
             SkillQ.Cast(PacketCast());
         }
     }
     else if (sender.IsEnemy && ItemBool("Misc", "WSurvive") && SkillW.IsReady())
     {
         if (args.Target.IsMe && (Orbwalk.IsAutoAttack(args.SData.Name) && Player.Health <= sender.GetAutoAttackDamage(Player, true)))
         {
             SkillW.Cast(PacketCast());
         }
         else if ((args.Target.IsMe || (Player.Position.Distance(args.Start) <= args.SData.CastRange[0] && Player.Position.Distance(args.End) <= Orbwalk.GetAutoAttackRange())) && Damage.Spells.ContainsKey((sender as Obj_AI_Hero).ChampionName))
         {
             for (var i = 3; i > -1; i--)
             {
                 if (Damage.Spells[(sender as Obj_AI_Hero).ChampionName].FirstOrDefault(a => a.Slot == (sender as Obj_AI_Hero).GetSpellSlot(args.SData.Name, false) && a.Stage == i) != null)
                 {
                     if (Player.Health <= (sender as Obj_AI_Hero).GetSpellDamage(Player, (sender as Obj_AI_Hero).GetSpellSlot(args.SData.Name, false), i))
                     {
                         SkillW.Cast(PacketCast());
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 19
0
 private void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
 {
     if (Player.IsDead)
     {
         return;
     }
     if (sender.IsMe && Orbwalk.IsAutoAttack(args.SData.Name) && IsValid((Obj_AI_Base)args.Target) && SkillQ.IsReady())
     {
         var Obj   = (Obj_AI_Base)args.Target;
         var DmgAA = Player.GetAutoAttackDamage(Obj) * Math.Floor(SkillQ.Instance.Cooldown / (1 / (Player.PercentMultiplicativeAttackSpeedMod * 0.638)));
         if (Orbwalk.CurrentMode == Orbwalk.Mode.LastHit && ItemBool("Misc", "QLastHit") && SkillQ.GetHealthPrediction(Obj) + 5 <= GetBonusDmg(Obj) && (args.Target is Obj_AI_Minion || args.Target is Obj_AI_Turret))
         {
             SkillQ.Cast(PacketCast());
         }
         else if ((((Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear || Orbwalk.CurrentMode == Orbwalk.Mode.LaneFreeze) && ItemBool("Clear", "Q") && (args.Target is Obj_AI_Minion || args.Target is Obj_AI_Turret)) || ((Orbwalk.CurrentMode == Orbwalk.Mode.Combo || Orbwalk.CurrentMode == Orbwalk.Mode.Harass) && ItemBool(Orbwalk.CurrentMode.ToString(), "Q") && args.Target is Obj_AI_Hero)) && (SkillQ.GetHealthPrediction(Obj) + 5 <= GetBonusDmg(Obj) || (!(args.Target is Obj_AI_Turret) && SkillQ.GetHealthPrediction(Obj) + 5 > DmgAA + GetBonusDmg(Obj))))
         {
             SkillQ.Cast(PacketCast());
         }
     }
     else if (sender.IsEnemy && ItemBool("Ultimate", "RSurvive") && SkillR.IsReady())
     {
         if (args.Target.IsMe && ((Orbwalk.IsAutoAttack(args.SData.Name) && (Player.Health - sender.GetAutoAttackDamage(Player, true)) * 100 / Player.MaxHealth <= ItemSlider("Ultimate", "RUnder")) || (args.SData.Name == "summonerdot" && (Player.Health - (sender as Obj_AI_Hero).GetSummonerSpellDamage(Player, Damage.SummonerSpell.Ignite)) * 100 / Player.MaxHealth <= ItemSlider("Ultimate", "RUnder"))))
         {
             SkillR.Cast(PacketCast());
         }
         else if ((args.Target.IsMe || (Player.Position.Distance(args.Start) <= args.SData.CastRange[0] && Player.Position.Distance(args.End) <= Orbwalk.GetAutoAttackRange())) && Damage.Spells.ContainsKey((sender as Obj_AI_Hero).ChampionName))
         {
             for (var i = 3; i > -1; i--)
             {
                 if (Damage.Spells[(sender as Obj_AI_Hero).ChampionName].FirstOrDefault(a => a.Slot == (sender as Obj_AI_Hero).GetSpellSlot(args.SData.Name, false) && a.Stage == i) != null)
                 {
                     if ((Player.Health - (sender as Obj_AI_Hero).GetSpellDamage(Player, (sender as Obj_AI_Hero).GetSpellSlot(args.SData.Name, false), i)) * 100 / Player.MaxHealth <= ItemSlider("Ultimate", "RUnder"))
                     {
                         SkillR.Cast(PacketCast());
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 20
0
 private void AfterAttack(Obj_AI_Base unit, Obj_AI_Base target)
 {
     if (!unit.IsMe)
     {
         return;
     }
     if (Config.Item("qusage").GetValue <bool>() && SkillQ.IsReady() && target.IsValidTarget(Orbwalk.GetAutoAttackRange(Player, target)) && (Orbwalk.CurrentMode == Orbwalk.Mode.Combo || Orbwalk.CurrentMode == Orbwalk.Mode.Harass))
     {
         SkillQ.Cast(PacketCast());
     }
 }
Exemplo n.º 21
0
 private void NormalCombo(bool IsHarass = false)
 {
     if (targetObj == null)
     {
         return;
     }
     if (ItemBool("Combo", "Q") && SkillQ.IsReady() && IsHarass ? Player.Distance3D(targetObj) <= Orbwalk.GetAutoAttackRange() + 50 : targetObj.IsValidTarget(800) && !Orbwalk.InAutoAttackRange(targetObj))
     {
         if (IsHarass)
         {
             Orbwalk.SetAttack(false);
             Player.IssueOrder(GameObjectOrder.AttackUnit, targetObj);
             Orbwalk.SetAttack(true);
         }
         else
         {
             SkillQ.Cast(PacketCast());
         }
     }
     if (ItemBool("Combo", "E") && SkillE.IsReady() && !Player.HasBuff("GarenE", true) && !Player.HasBuff("GarenQ", true) && SkillE.InRange(targetObj.Position))
     {
         SkillE.Cast(PacketCast());
     }
     if (ItemBool("Combo", "W") && SkillW.IsReady() && Orbwalk.InAutoAttackRange(targetObj) && Player.Health * 100 / Player.MaxHealth <= ItemSlider("Combo", "WUnder"))
     {
         SkillW.Cast(PacketCast());
     }
     if (ItemBool("Combo", "R") && ItemBool("Ultimate", targetObj.ChampionName) && SkillR.IsReady() && SkillR.InRange(targetObj.Position) && CanKill(targetObj, SkillR))
     {
         SkillR.CastOnUnit(targetObj, PacketCast());
     }
     if (ItemBool("Combo", "Item") && Items.CanUseItem(Rand) && Player.CountEnemysInRange(450) >= 1)
     {
         Items.UseItem(Rand);
     }
     if (ItemBool("Combo", "Ignite"))
     {
         CastIgnite(targetObj);
     }
 }
Exemplo n.º 22
0
 private void LastHit()
 {
     if (!ItemBool("Misc", "QLastHit") || !SkillQ.IsReady())
     {
         return;
     }
     foreach (var Obj in ObjectManager.Get <Obj_AI_Minion>().Where(i => IsValid(i, Orbwalk.GetAutoAttackRange() + 50) && CanKill(i, SkillQ)).OrderBy(i => i.Health).OrderBy(i => i.Distance3D(Player)))
     {
         Orbwalk.SetAttack(false);
         Player.IssueOrder(GameObjectOrder.AttackUnit, Obj);
         Orbwalk.SetAttack(true);
         break;
     }
 }
Exemplo n.º 23
0
 private void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
 {
     if (Player.IsDead)
     {
         return;
     }
     if (sender.IsEnemy && ItemBool("Misc", "WSurvive") && SkillW.IsReady())
     {
         if (args.Target.IsMe && ((Orbwalk.IsAutoAttack(args.SData.Name) && Player.Health <= sender.GetAutoAttackDamage(Player, true)) || (args.SData.Name == "summonerdot" && Player.Health <= (sender as Obj_AI_Hero).GetSummonerSpellDamage(Player, Damage.SummonerSpell.Ignite))))
         {
             SkillW.Cast(PacketCast());
         }
         else if ((args.Target.IsMe || (Player.Position.Distance(args.Start) <= args.SData.CastRange[0] && Player.Position.Distance(args.End) <= Orbwalk.GetAutoAttackRange())) && Damage.Spells.ContainsKey((sender as Obj_AI_Hero).ChampionName))
         {
             for (var i = 3; i > -1; i--)
             {
                 if (Damage.Spells[(sender as Obj_AI_Hero).ChampionName].FirstOrDefault(a => a.Slot == (sender as Obj_AI_Hero).GetSpellSlot(args.SData.Name, false) && a.Stage == i) != null)
                 {
                     if (Player.Health <= (sender as Obj_AI_Hero).GetSpellDamage(Player, (sender as Obj_AI_Hero).GetSpellSlot(args.SData.Name, false), i))
                     {
                         SkillW.Cast(PacketCast());
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 24
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;
                    }
                }
            }
        }
Exemplo n.º 25
0
        private void NormalCombo(bool IsHarass = false)
        {
            if (targetObj == null)
            {
                return;
            }
            if (Config.Item("qusage").GetValue <bool>() && SkillQ.IsReady() && targetObj.IsValidTarget(IsHarass ? Orbwalk.GetAutoAttackRange(Player, targetObj) : SkillQ.Range) && !Player.HasBuff("PowerBall", true))
            {
                if (!SkillE.InRange(targetObj.Position))
                {
                    SkillQ.Cast(PacketCast());
                }
                else if (!Player.HasBuff("DefensiveBallCurl", true))
                {
                    SkillQ.Cast(PacketCast());
                }
            }
            if (Config.Item("wusage").GetValue <bool>() && SkillW.IsReady() && SkillW.InRange(targetObj.Position) && !Player.HasBuff("PowerBall", true))
            {
                SkillW.Cast(PacketCast());
            }
            if (Config.Item("eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position) && Player.Health * 100 / Player.MaxHealth >= Config.Item("autoeusage").GetValue <Slider>().Value)
            {
                switch (Config.Item("euseMode").GetValue <StringList>().SelectedIndex)
                {
                case 0:
                    SkillE.CastOnUnit(targetObj, PacketCast());
                    break;

                case 1:
                    if (Player.HasBuff("DefensiveBallCurl", true))
                    {
                        SkillE.CastOnUnit(targetObj, PacketCast());
                    }
                    break;
                }
            }
            if (Config.Item("rusage").GetValue <bool>() && SkillR.IsReady())
            {
                switch (Config.Item("ruseMode").GetValue <StringList>().SelectedIndex)
                {
                case 0:
                    if (SkillR.InRange(targetObj.Position))
                    {
                        SkillR.Cast(PacketCast());
                    }
                    break;

                case 1:
                    if (Player.CountEnemysInRange((int)SkillR.Range) >= Config.Item("rmulti").GetValue <Slider>().Value)
                    {
                        SkillR.Cast(PacketCast());
                    }
                    break;
                }
            }
            if (Config.Item("iusage").GetValue <bool>() && Items.CanUseItem(Rand) && Player.CountEnemysInRange(450) >= 1)
            {
                Items.UseItem(Rand);
            }
            if (Config.Item("ignite").GetValue <bool>())
            {
                CastIgnite(targetObj);
            }
        }
Exemplo n.º 26
0
 private void LaneJungClear()
 {
     foreach (var Obj in ObjectManager.Get <Obj_AI_Minion>().Where(i => IsValid(i, SkillE.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() && (Player.Distance3D(Obj) > Orbwalk.GetAutoAttackRange() + 50 || CanKill(Obj, SkillE) || Obj.MaxHealth >= 1200))
         {
             SkillE.CastOnUnit(Obj, PacketCast());
         }
         if (ItemBool("Clear", "W") && SkillW.IsReady() && Orbwalk.InAutoAttackRange(Obj))
         {
             SkillW.Cast(PacketCast());
         }
         if (ItemBool("Clear", "Q") && SkillQ.IsReady() && Player.Distance3D(Obj) <= Orbwalk.GetAutoAttackRange() + 50)
         {
             SkillQ.Cast(PacketCast());
         }
         if (ItemBool("Clear", "Item"))
         {
             UseItem(Obj, true);
         }
     }
 }
Exemplo n.º 27
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);
     }
 }
Exemplo n.º 28
0
 private void NormalCombo()
 {
     if (targetObj == null)
     {
         return;
     }
     if (ItemBool("Combo", "Passive") && Player.HasBuff("BlindMonkFlurry") && Orbwalk.InAutoAttackRange(targetObj) && Orbwalk.CanAttack())
     {
         return;
     }
     if (ItemBool("Combo", "E") && SkillE.IsReady())
     {
         if (SkillE.Instance.Name == "BlindMonkEOne" && SkillE.InRange(targetObj.Position))
         {
             SkillE.Cast(PacketCast());
         }
         else if (targetObj.HasBuff("BlindMonkTempest") && SkillE2.InRange(targetObj.Position) && (Player.Distance3D(targetObj) > 450 || !ECasted))
         {
             SkillE.Cast(PacketCast());
         }
     }
     if (ItemBool("Combo", "Q") && SkillQ.IsReady())
     {
         if (SkillQ.Instance.Name == "BlindMonkQOne" && 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());
             }
         }
         else if (targetObj.HasBuff("BlindMonkSonicWave") && SkillQ2.InRange(targetObj.Position))
         {
             if (Player.Distance3D(targetObj) > 500 || CanKill(targetObj, SkillQ2, 1) || (targetObj.HasBuff("BlindMonkTempest") && SkillE.InRange(targetObj.Position) && !Orbwalk.InAutoAttackRange(targetObj)) || !QCasted)
             {
                 SkillQ.Cast(PacketCast());
             }
         }
     }
     if (ItemBool("Combo", "R") && ItemBool("Ultimate", targetObj.ChampionName) && SkillR.IsReady() && SkillR.InRange(targetObj.Position))
     {
         if (CanKill(targetObj, SkillR) || (SkillR.GetHealthPrediction(targetObj) - SkillR.GetDamage(targetObj) + 5 <= GetQ2Dmg(targetObj, SkillR.GetDamage(targetObj)) && ItemBool("Combo", "Q") && SkillQ.IsReady() && targetObj.HasBuff("BlindMonkSonicWave")))
         {
             SkillR.CastOnUnit(targetObj, PacketCast());
         }
     }
     if (ItemBool("Combo", "W") && SkillW.IsReady())
     {
         if (ItemBool("Combo", "WSurvive") || ItemBool("Combo", "WGap"))
         {
             if (SkillW.Instance.Name == "BlindMonkWOne")
             {
                 if (ItemBool("Combo", "WSurvive") && Orbwalk.InAutoAttackRange(targetObj) && Player.HealthPercentage() <= ItemList("Combo", "WUnder"))
                 {
                     SkillW.Cast(PacketCast());
                 }
                 else if (ItemBool("Combo", "WGap") && Player.Distance3D(targetObj) >= Orbwalk.GetAutoAttackRange() + 50)
                 {
                     var jumpObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, SkillW.Range + i.BoundingRadius, false) && !(i is Obj_AI_Turret) && i.Distance3D(targetObj) <= Orbwalk.GetAutoAttackRange() + 50).OrderBy(i => i.Distance3D(targetObj));
                     if (jumpObj.Count() > 0 && !JumpCasted)
                     {
                         foreach (var Obj in jumpObj)
                         {
                             SkillW.CastOnUnit(Obj, PacketCast());
                         }
                     }
                     else if (ItemBool("Combo", "WGapWard") && Player.Distance3D(targetObj) <= SkillW.Range + Orbwalk.GetAutoAttackRange() + 50 && (GetWardSlot() != null || GetWardSlot().Stacks > 0 || WardCasted))
                     {
                         WardJump(targetObj.Position);
                     }
                 }
             }
             else if (SkillE.InRange(targetObj.Position) && !Player.HasBuff("BlindMonkSafeguard") && !WCasted)
             {
                 SkillW.Cast(PacketCast());
             }
         }
     }
     if (ItemBool("Combo", "Item"))
     {
         UseItem(targetObj);
     }
     if (ItemBool("Combo", "Ignite"))
     {
         CastIgnite(targetObj);
     }
 }
Exemplo n.º 29
0
 private void LastHit()
 {
     if (!ItemBool("Misc", "QLastHit") || !SkillQ.IsReady())
     {
         return;
     }
     foreach (var Obj in ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, Orbwalk.GetAutoAttackRange() + 50) && SkillQ.GetHealthPrediction(i) + 5 <= GetBonusDmg(i) && (i is Obj_AI_Minion || i is Obj_AI_Turret)).OrderBy(i => i.MaxHealth).OrderBy(i => i.Distance3D(Player)))
     {
         Orbwalk.SetAttack(false);
         Player.IssueOrder(GameObjectOrder.AttackUnit, Obj);
         Orbwalk.SetAttack(true);
         break;
     }
 }
Exemplo n.º 30
0
        private void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (Player.IsDead)
            {
                return;
            }
            if (sender.IsMe)
            {
                if (Orbwalk.IsAutoAttack(args.SData.Name) && IsValid((Obj_AI_Base)args.Target) && (args.Target as Obj_AI_Base).Health + 5 <= GetBonusDmg((Obj_AI_Base)args.Target) && Orbwalk.CurrentMode == Orbwalk.Mode.LastHit && SkillW.IsReady() && args.Target is Obj_AI_Minion)
                {
                    SkillW.Cast(PacketCast());
                }
                if (args.SData.Name == "JaxCounterStrike")
                {
                    ECasted = true;
                    Utility.DelayAction.Add(1800, () => ECasted = false);
                }
                if (args.SData.Name == "jaxrelentlessattack")
                {
                    RCount = 0;
                    if (SkillW.IsReady() && IsValid((Obj_AI_Base)args.Target, Orbwalk.GetAutoAttackRange() + 50))
                    {
                        switch (Orbwalk.CurrentMode)
                        {
                        case Orbwalk.Mode.Combo:
                            if (ItemBool("Combo", "W") && ItemList("Combo", "WMode") == 1)
                            {
                                SkillW.Cast(PacketCast());
                            }
                            break;

                        case Orbwalk.Mode.LaneClear:
                            if (ItemBool("Clear", "W") && ItemList("Clear", "WMode") == 1)
                            {
                                SkillW.Cast(PacketCast());
                            }
                            break;

                        case Orbwalk.Mode.LaneFreeze:
                            if (ItemBool("Clear", "W") && ItemList("Clear", "WMode") == 1)
                            {
                                SkillW.Cast(PacketCast());
                            }
                            break;
                        }
                    }
                }
            }
            else if (sender.IsEnemy && ItemBool("Misc", "RSurvive") && SkillR.IsReady())
            {
                if (args.Target.IsMe && (Orbwalk.IsAutoAttack(args.SData.Name) && Player.Health <= sender.GetAutoAttackDamage(Player, true)))
                {
                    SkillR.Cast(PacketCast());
                }
                else if ((args.Target.IsMe || (Player.Position.Distance(args.Start) <= args.SData.CastRange[0] && Player.Position.Distance(args.End) <= Orbwalk.GetAutoAttackRange())) && Damage.Spells.ContainsKey((sender as Obj_AI_Hero).ChampionName))
                {
                    for (var i = 3; i > -1; i--)
                    {
                        if (Damage.Spells[(sender as Obj_AI_Hero).ChampionName].FirstOrDefault(a => a.Slot == (sender as Obj_AI_Hero).GetSpellSlot(args.SData.Name, false) && a.Stage == i) != null)
                        {
                            if (Player.Health <= (sender as Obj_AI_Hero).GetSpellDamage(Player, (sender as Obj_AI_Hero).GetSpellSlot(args.SData.Name, false), i))
                            {
                                SkillR.Cast(PacketCast());
                            }
                        }
                    }
                }
            }
        }