예제 #1
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;
                    }
                }
            }
        }
예제 #2
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());
            }
        }
예제 #3
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);
                }
            }
        }
예제 #4
0
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(Player.Position, SkillE.Range - 50, MinionTypes.All, MinionTeam.NotAlly);

            if (minionObj.Count == 0)
            {
                return;
            }
            var posQFarm = SkillQ.GetLineFarmLocation(minionObj);
            var posEFarm = SkillE.GetCircularFarmLocation(minionObj);

            if (Config.Item("useClearE").GetValue <bool>() && SkillE.IsReady())
            {
                SkillE.Cast(posEFarm.MinionsHit >= 2 ? posEFarm.Position : minionObj.First().Position.To2D(), PacketCast());
            }
            if (Config.Item("useClearE").GetValue <bool>() && flagPos != default(Vector3) && minionObj.Count(i => i.IsValidTarget(180, true, flagPos)) >= 2)
            {
                if (Config.Item("useClearQ").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(flagPos))
                {
                    SkillQ.Cast(flagPos, PacketCast());
                }
            }
            else if (Config.Item("useClearQ").GetValue <bool>() && SkillQ.IsReady())
            {
                SkillQ.Cast(posQFarm.MinionsHit >= 2 ? posQFarm.Position : minionObj.First().Position.To2D(), PacketCast());
            }
            if (Config.Item("useClearI").GetValue <bool>() && minionObj.Count(i => i.IsValidTarget(350)) >= 2)
            {
                if (Items.CanUseItem(Tiamat))
                {
                    Items.UseItem(Tiamat);
                }
                if (Items.CanUseItem(Hydra))
                {
                    Items.UseItem(Hydra);
                }
            }
        }