예제 #1
0
 private void NormalCombo(bool IsHarass = false)
 {
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item("eusage").GetValue <bool>() && SkillE.IsReady() && !targetObj.HasBuff("udyrbearstuncheck", true) && targetObj.IsValidTarget(IsHarass ? 450 : 800))
     {
         SkillE.Cast(PacketCast());
     }
     if (targetObj.IsValidTarget(400) && (!Config.Item("eusage").GetValue <bool>() || (Config.Item("eusage").GetValue <bool>() && (SkillE.Level == 0 || (SkillE.Level >= 1 && targetObj.HasBuff("udyrbearstuncheck", true))))))
     {
         if (Config.Item("qusage").GetValue <bool>() && SkillQ.IsReady())
         {
             SkillQ.Cast(PacketCast());
         }
         if (Config.Item("rusage").GetValue <bool>() && SkillR.IsReady() && SkillQ.Level >= 1 && CurStance == Stance.Tiger && (AACount >= 2 || TigerActive))
         {
             SkillR.Cast(PacketCast());
         }
         else if (SkillQ.Level == 0 && SkillR.IsReady())
         {
             SkillR.Cast(PacketCast());
         }
         if (Config.Item("wusage").GetValue <bool>() && SkillW.IsReady())
         {
             if (CurStance == Stance.Phoenix && (AACount >= 3 || PhoenixActive))
             {
                 SkillW.Cast(PacketCast());
             }
             else if (CurStance == Stance.Tiger && (AACount >= 2 || TigerActive))
             {
                 SkillW.Cast(PacketCast());
             }
             else if (SkillQ.Level == 0 && SkillR.Level == 0)
             {
                 SkillW.Cast(PacketCast());
             }
         }
     }
     if (Config.Item("iusage").GetValue <bool>())
     {
         UseItem(targetObj);
     }
     if (Config.Item("ignite").GetValue <bool>())
     {
         CastIgnite(targetObj);
     }
 }
예제 #2
0
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(Player.Position, SkillE.Range - 50, MinionTypes.All, MinionTeam.NotAlly);

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

            if (Config.Item("useClearE").GetValue <bool>() && SkillE.IsReady())
            {
                SkillE.Cast(posEFarm.MinionsHit >= 2 ? posEFarm.Position : minionObj.First().Position.To2D(), PacketCast());
            }
        }
예제 #3
0
 private void OnPossibleToInterrupt(Obj_AI_Base unit, InterruptableSpell spell)
 {
     if (!Config.Item("useInterEQ").GetValue <bool>() || !SkillQ.IsReady())
     {
         return;
     }
     if (unit.IsValidTarget(SkillQ.Range) && SkillE.IsReady())
     {
         SkillE.Cast(unit.Position + Vector3.Normalize(unit.Position - Player.Position) * 100, PacketCast());
     }
     if (flagPos != default(Vector3) && unit.IsValidTarget(180, true, flagPos))
     {
         SkillQ.Cast(flagPos, PacketCast());
     }
 }
예제 #4
0
 private void Flee()
 {
     if (!SkillQ.IsReady())
     {
         return;
     }
     if (SkillE.IsReady())
     {
         SkillE.Cast(Game.CursorPos, PacketCast());
     }
     if (flagPos != default(Vector3))
     {
         SkillQ.Cast(flagPos, PacketCast());
     }
 }
예제 #5
0
 private void OnPossibleToInterrupt(Obj_AI_Base unit, InterruptableSpell spell)
 {
     if (!Config.Item(Name + "useInterW").GetValue <bool>())
     {
         return;
     }
     if (SkillW.IsReady() && SkillE.IsReady() && !unit.IsValidTarget(SkillW.Range) && unit.IsValidTarget(SkillE.Range))
     {
         SkillE.Cast(unit.Position, PacketCast);
     }
     if (unit.IsValidTarget(SkillW.Range) && SkillW.IsReady())
     {
         SkillW.Cast();
     }
 }
예제 #6
0
 private void OnPossibleToInterrupt(Obj_AI_Base unit, InterruptableSpell spell)
 {
     if (!Config.Item("useInterE").GetValue <bool>())
     {
         return;
     }
     if (SkillQ.IsReady() && SkillE.IsReady() && !SkillE.InRange(unit.Position) && unit.IsValidTarget(SkillQ.Range))
     {
         SkillQ.CastOnUnit(unit, PacketCast());
     }
     if (unit.IsValidTarget(SkillE.Range) && SkillE.IsReady())
     {
         SkillE.Cast(PacketCast());
     }
 }
예제 #7
0
 private void OnDraw(EventArgs args)
 {
     if (Player.IsDead)
     {
         return;
     }
     if (ItemBool("Draw", "W") && SkillW.Level > 0)
     {
         Utility.DrawCircle(Player.Position, SkillW.Range, SkillW.IsReady() ? Color.Green : Color.Red);
     }
     if (ItemBool("Draw", "E") && SkillE.Level > 0)
     {
         Utility.DrawCircle(Player.Position, SkillE.Range, SkillE.IsReady() ? Color.Green : Color.Red);
     }
 }
예제 #8
0
 private void OnDraw(EventArgs args)
 {
     if (Player.IsDead)
     {
         return;
     }
     if (Config.Item(Name + "DrawQ").GetValue <bool>() && SkillQ.Level > 0)
     {
         Utility.DrawCircle(Player.Position, SkillQ.Range, SkillQ.IsReady() ? Color.Green : Color.Red);
     }
     if (Config.Item(Name + "DrawE").GetValue <bool>() && SkillE.Level > 0)
     {
         Utility.DrawCircle(Player.Position, SkillE.Range, SkillE.IsReady() ? Color.Green : Color.Red);
     }
 }
예제 #9
0
 private void OnPossibleToInterrupt(Obj_AI_Base unit, InterruptableSpell spell)
 {
     if (!ItemBool("Misc", "EInterrupt"))
     {
         return;
     }
     if (Player.Mana >= SkillQ.Instance.ManaCost + SkillE.Instance.ManaCost && !SkillE.InRange(unit.Position) && IsValid(unit, SkillQ.Range))
     {
         SkillQ.CastOnUnit(unit, PacketCast());
     }
     if (IsValid(unit, SkillE.Range) && SkillE.IsReady())
     {
         SkillE.Cast(PacketCast());
     }
 }
예제 #10
0
 private void AutoEUnderTower()
 {
     if (Player.UnderTurret() || !SkillE.IsReady())
     {
         return;
     }
     foreach (var Obj in ObjectManager.Get <Obj_AI_Hero>().Where(i => IsValid(i, SkillE.Range)))
     {
         var TowerObj = ObjectManager.Get <Obj_AI_Turret>().FirstOrDefault(i => IsValid(i, 950, false));
         if (TowerObj != null && Obj.Distance3D(TowerObj) <= 950)
         {
             SkillE.Cast(Player.Position.To2D().Extend(Obj.Position.To2D(), Obj.Distance3D(Player) + 200), PacketCast());
         }
     }
 }
예제 #11
0
파일: Shen.cs 프로젝트: 8123772/aiqiang
        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.Lasthit:
                if (Config.Item(Name + "lasthitQ").GetValue <bool>())
                {
                    LastHit();
                }
                break;

            case LXOrbwalker.Mode.Flee:
                if (SkillE.IsReady())
                {
                    SkillE.Cast(Game.CursorPos, PacketCast);
                }
                break;
            }
            if (Config.Item(Name + "alert").GetValue <bool>())
            {
                UltimateAlert();
            }
            if (Config.Item(Name + "useAutoE").GetValue <bool>())
            {
                AutoEInTower();
            }
        }
예제 #12
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);
         }
     }
 }
예제 #13
0
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(Player.Position, 800, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault();

            if (minionObj == null)
            {
                return;
            }
            if (Config.Item(Name + "useClearQ").GetValue <bool>() && SkillQ.IsReady())
            {
                SkillQ.Cast(PacketCast);
            }
            if (Config.Item(Name + "useClearE").GetValue <bool>() && SkillE.IsReady() && !Player.HasBuff("GarenE", true) && !Player.HasBuff("GarenQ", true) && SkillE.InRange(minionObj.Position))
            {
                SkillE.Cast(PacketCast);
            }
        }
예제 #14
0
 private void StarCombo()
 {
     Orbwalk(targetObj);
     if (targetObj == null)
     {
         return;
     }
     UseItem(targetObj);
     if (SkillE.IsReady() && SkillE.Instance.Name == "BlindMonkEOne" && SkillE.InRange(targetObj.Position))
     {
         SkillE.Cast(PacketCast);
     }
     if (SkillQ.IsReady())
     {
         if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(targetObj.Position))
         {
             if (Config.Item(Name + "smite").GetValue <bool>() && SkillQ.GetPrediction(targetObj).Hitchance == HitChance.Collision)
             {
                 if (!SmiteCollision(targetObj, SkillQ))
                 {
                     SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast);
                 }
             }
             else
             {
                 SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast);
             }
         }
         else if (targetObj.IsValidTarget(1300) && (targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && (CanKill(targetObj, SkillQ, 1) || (!SkillR.IsReady() && !RCasted && KickCasted) || (!SkillR.IsReady() && !RCasted && !KickCasted && !QCasted)))
         {
             SkillQ.Cast(PacketCast);
         }
     }
     if (SkillE.IsReady() && targetObj.IsValidTarget(575) && targetObj.HasBuff("BlindMonkEOne", true) && (Player.Distance(targetObj) > 450 || !ECasted))
     {
         SkillE.Cast(PacketCast);
     }
     if (!SkillR.InRange(targetObj.Position) && SkillR.IsReady() && SkillQ.IsReady() && (targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && Player.Distance(targetObj) < SkillW.Range + SkillR.Range - 170 && SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne")
     {
         WardJump(targetObj.Position);
     }
     if (SkillR.IsReady() && SkillQ.IsReady() && (targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && SkillR.InRange(targetObj.Position) && Player.Mana >= 50)
     {
         SkillR.CastOnUnit(targetObj, PacketCast);
     }
 }
예제 #15
0
 private void OnPossibleToInterrupt(Obj_AI_Base unit, InterruptableSpell spell)
 {
     if (!ItemBool("Misc", "RInterrupt") || Player.IsDead)
     {
         return;
     }
     if (!IsValid(unit, SkillR.Range) && SkillR.IsReady() && SkillE.IsReady() && Player.Mana >= SkillE.Instance.ManaCost + SkillR.Instance.ManaCost)
     {
         foreach (var Obj in ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, SkillE.Range) && !(i is Obj_AI_Turret) && i != unit && i.Distance3D(unit) <= SkillR.Range - 30))
         {
             SkillE.CastOnUnit(Obj, PacketCast());
         }
     }
     if (IsValid(unit, SkillR.Range) && SkillR.IsReady() && !unit.HasBuff("XinZhaoIntimidate"))
     {
         SkillR.Cast(PacketCast());
     }
 }
예제 #16
0
 private void Harass()
 {
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item("useHarE").GetValue <bool>())
     {
         if (SkillE.IsReady() && SkillE.InRange(targetObj.Position) && Player.Health * 100 / Player.MaxHealth >= Config.Item("harModeE").GetValue <Slider>().Value)
         {
             SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast());
         }
     }
     if (Config.Item("useHarQ").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position))
     {
         SkillQ.CastOnUnit(targetObj, PacketCast());
     }
 }
예제 #17
0
 private void NormalCombo(bool IsHarass)
 {
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady() && Player.Health * 100 / Player.MaxHealth <= Config.Item(Name + "autoqusage").GetValue <Slider>().Value&& Player.CountEnemysInRange(800) >= 1)
     {
         SkillQ.Cast(PacketCast);
     }
     if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && SkillW.InRange(targetObj.Position))
     {
         if (Utility.IsBothFacing(Player, targetObj, 300))
         {
             if (Player.GetAutoAttackDamage(targetObj) < targetObj.GetAutoAttackDamage(Player) || Player.Health < targetObj.Health)
             {
                 SkillW.Cast(PacketCast);
             }
         }
         else if (Player.IsFacing(targetObj) && !targetObj.IsFacing(Player) && !LXOrbwalker.InAutoAttackRange(targetObj))
         {
             SkillW.Cast(PacketCast);
         }
     }
     if (!IsHarass && Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position) && !LXOrbwalker.InAutoAttackRange(targetObj))
     {
         if (Player.Health * 100 / Player.MaxHealth >= Config.Item(Name + "autoeusage").GetValue <Slider>().Value)
         {
             SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast);
         }
         else if (SkillR.IsReady() || (Player.Mana >= 70 && SkillQ.IsReady()))
         {
             SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast);
         }
     }
     if (Config.Item(Name + "iusage").GetValue <bool>())
     {
         UseItem(targetObj);
     }
     if (Config.Item(Name + "ignite").GetValue <bool>())
     {
         CastIgnite(targetObj);
     }
 }
예제 #18
0
 private void LaneJungClear()
 {
     minionObj = MinionManager.GetMinions(Player.Position, SkillE.Range, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault();
     LXOrbwalker.ForcedTarget = minionObj;
     if (minionObj == null)
     {
         return;
     }
     if (Config.Item(Name + "useClearE").GetValue <bool>() && SkillE.IsReady() && !minionObj.HasBuff("udyrbearstuncheck", true))
     {
         SkillE.Cast(PacketCast);
     }
     if (minionObj.IsValidTarget(400) && (!Config.Item(Name + "useClearE").GetValue <bool>() || (Config.Item(Name + "useClearE").GetValue <bool>() && (SkillE.Level == 0 || (SkillE.Level >= 1 && minionObj.HasBuff("udyrbearstuncheck", true))))))
     {
         if (Config.Item(Name + "useClearQ").GetValue <bool>() && SkillQ.IsReady())
         {
             SkillQ.Cast(PacketCast);
         }
         if (Config.Item(Name + "useClearR").GetValue <bool>() && SkillR.IsReady() && SkillQ.Level >= 1 && CurStance == Stance.Tiger && (AACount >= 2 || TigerActive))
         {
             SkillR.Cast(PacketCast);
         }
         else if (SkillQ.Level == 0 && SkillR.IsReady())
         {
             SkillR.Cast(PacketCast);
         }
         if (Config.Item(Name + "useClearW").GetValue <bool>() && SkillW.IsReady())
         {
             if (CurStance == Stance.Phoenix && (AACount >= 3 || PhoenixActive))
             {
                 SkillW.Cast(PacketCast);
             }
             else if (CurStance == Stance.Tiger && (AACount >= 2 || TigerActive))
             {
                 SkillW.Cast(PacketCast);
             }
             else if (SkillQ.Level == 0 && SkillR.Level == 0)
             {
                 SkillW.Cast(PacketCast);
             }
         }
     }
 }
예제 #19
0
        private void LaneJungClear()
        {
            foreach (var Obj in ObjectManager.Get <Obj_AI_Minion>().Where(i => IsValid(i, 800)).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", "Q") && SkillQ.IsReady() && !Player.HasBuff("PowerBall"))
                {
                    if ((ItemBool("Clear", "E") && SkillE.IsReady() && !SkillE.InRange(Obj.Position)) || !Player.HasBuff("DefensiveBallCurl"))
                    {
                        SkillQ.Cast(PacketCast());
                    }
                }
                if (ItemBool("Clear", "W") && SkillW.IsReady() && Orbwalk.InAutoAttackRange(Obj) && !Player.HasBuff("PowerBall"))
                {
                    SkillW.Cast(PacketCast());
                }
                if (ItemBool("Clear", "E") && SkillE.IsReady() && SkillE.InRange(Obj.Position) && !Player.HasBuff("PowerBall") && Obj.Team == GameObjectTeam.Neutral)
                {
                    switch (ItemList("Clear", "EMode"))
                    {
                    case 0:
                        SkillE.CastOnUnit(Obj, PacketCast());
                        break;

                    case 1:
                        if (Player.HasBuff("DefensiveBallCurl"))
                        {
                            SkillE.CastOnUnit(Obj, PacketCast());
                        }
                        break;
                    }
                }
            }
        }
예제 #20
0
파일: Amumu.cs 프로젝트: 8123772/aiqiang
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(Player.Position, SkillQ.Range, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault();

            if (minionObj == null)
            {
                if (Config.Item(Name + "useClearW").GetValue <bool>() && SkillW.IsReady() && Player.HasBuff("AuraofDespair"))
                {
                    SkillW.Cast(PacketCast);
                }
                return;
            }
            if (Config.Item(Name + "useClearE").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(minionObj.Position))
            {
                SkillE.Cast(PacketCast);
            }
            if (Config.Item(Name + "useClearW").GetValue <bool>() && SkillW.IsReady())
            {
                if (Player.Mana * 100 / Player.MaxMana >= Config.Item(Name + "useClearAutoW").GetValue <Slider>().Value)
                {
                    if (MinionManager.GetMinions(Player.Position, SkillW.Range, MinionTypes.All, MinionTeam.NotAlly).Count >= 2)
                    {
                        if (!Player.HasBuff("AuraofDespair"))
                        {
                            SkillW.Cast(PacketCast);
                        }
                    }
                    else if (Player.HasBuff("AuraofDespair"))
                    {
                        SkillW.Cast(PacketCast);
                    }
                }
                else if (Player.HasBuff("AuraofDespair"))
                {
                    SkillW.Cast(PacketCast);
                }
            }
            if (Config.Item(Name + "useClearQ").GetValue <bool>() && SkillQ.IsReady() && (Player.Distance(minionObj) > 450 || CanKill(minionObj, SkillQ)))
            {
                SkillQ.CastIfHitchanceEquals(minionObj, HitChance.VeryHigh, PacketCast);
            }
        }
예제 #21
0
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(Player.Position, SkillQ.Range, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault();

            if (minionObj == null)
            {
                if (Config.Item(Name + "useClearW").GetValue <bool>() && SkillW.IsReady() && Player.HasBuff("BurningAgony"))
                {
                    SkillW.Cast(PacketCast);
                }
                return;
            }
            if (Config.Item(Name + "useClearE").GetValue <bool>() && SkillE.IsReady() && LXOrbwalker.InAutoAttackRange(minionObj))
            {
                SkillE.Cast(PacketCast);
            }
            if (Config.Item(Name + "useClearW").GetValue <bool>() && SkillW.IsReady())
            {
                if (Player.Health * 100 / Player.MaxHealth >= Config.Item(Name + "useClearAutoW").GetValue <Slider>().Value)
                {
                    if (MinionManager.GetMinions(Player.Position, SkillW.Range, MinionTypes.All, MinionTeam.NotAlly).Count >= 2)
                    {
                        if (!Player.HasBuff("BurningAgony"))
                        {
                            SkillW.Cast(PacketCast);
                        }
                    }
                    else if (Player.HasBuff("BurningAgony"))
                    {
                        SkillW.Cast(PacketCast);
                    }
                }
                else if (Player.HasBuff("BurningAgony"))
                {
                    SkillW.Cast(PacketCast);
                }
            }
            if (Config.Item(Name + "useClearQ").GetValue <bool>() && SkillQ.IsReady() && CanKill(minionObj, SkillQ))
            {
                SkillQ.CastIfHitchanceEquals(minionObj, HitChance.VeryHigh, PacketCast);
            }
        }
예제 #22
0
 private void ComboEQFlash()
 {
     CustomOrbwalk(targetObj);
     if (targetObj == null || !FlashReady() || Player.Mana < SkillQ.Instance.ManaCost || Player.Distance(targetObj) > SkillQ.Range + 600)
     {
         return;
     }
     if (SkillE.IsReady())
     {
         SkillE.Cast(Game.CursorPos, PacketCast());
     }
     if (SkillQ.IsReady() && flagPos != default(Vector3) && SkillQ.InRange(flagPos))
     {
         SkillQ.Cast(flagPos, PacketCast());
     }
     if (flagPos != default(Vector3) && !SkillQ.IsReady() && Player.Distance(targetObj) < 600)
     {
         CastFlash(targetObj.Position);
     }
 }
예제 #23
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);
     }
 }
예제 #24
0
 private void NormalCombo()
 {
     if (targetObj == null)
     {
         return;
     }
     if (Config.Item("wusage").GetValue <bool>() && SkillW.IsReady() && SkillW.InRange(targetObj.Position))
     {
         SkillW.CastOnUnit(targetObj, PacketCast());
     }
     if (Config.Item("eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position))
     {
         SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 100, PacketCast());
     }
     if (Config.Item("qusage").GetValue <bool>() && Orbwalk.InAutoAttackRange(targetObj))
     {
         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() || Player.HasBuff("NasusQ", true)))
         {
             Orbwalk.SetAttack(false);
             if (!Player.HasBuff("NasusQ", true))
             {
                 SkillQ.Cast(PacketCast());
             }
             if (Player.HasBuff("NasusQ", true))
             {
                 Player.IssueOrder(GameObjectOrder.AttackUnit, targetObj);
             }
             Orbwalk.SetAttack(true);
         }
     }
     if (Config.Item("iusage").GetValue <bool>() && Items.CanUseItem(Rand) && Player.CountEnemysInRange(450) >= 1)
     {
         Items.UseItem(Rand);
     }
     if (Config.Item("ignite").GetValue <bool>())
     {
         CastIgnite(targetObj);
     }
 }
예제 #25
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);
     }
 }
예제 #26
0
        private void Harass()
        {
            if (targetObj == null)
            {
                return;
            }
            var jumpObj = ObjectManager.Get <Obj_AI_Base>().Where(i => !i.IsMe && i.IsAlly && !(i is Obj_AI_Turret) && i.Distance(Player) <= SkillW.Range + i.BoundingRadius).OrderByDescending(i => i.Distance(Player)).OrderBy(i => i.Distance(ObjectManager.Get <Obj_AI_Turret>().Where(a => a.IsAlly && !a.IsDead).OrderBy(a => a.Distance(Player)).First()));

            if (SkillQ.IsReady())
            {
                if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(targetObj.Position))
                {
                    if (Config.Item(Name + "smite").GetValue <bool>() && SkillQ.GetPrediction(targetObj).Hitchance == HitChance.Collision)
                    {
                        if (!SmiteCollision(targetObj, SkillQ))
                        {
                            SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast);
                        }
                    }
                    else
                    {
                        SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast);
                    }
                }
                else if ((targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && targetObj.IsValidTarget(1300) && (CanKill(targetObj, SkillQ, 1) || (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne" && Player.Mana >= (Config.Item(Name + "useHarE").GetValue <bool>() ? 130 : 80) && Player.Health * 100 / Player.MaxHealth >= Config.Item(Name + "harMode").GetValue <Slider>().Value&& jumpObj.Count() >= 1)))
                {
                    SkillQ.Cast(PacketCast);
                }
            }
            if (Config.Item(Name + "useHarE").GetValue <bool>() && SkillE.IsReady() && SkillE.Instance.Name == "BlindMonkEOne" && SkillE.InRange(targetObj.Position))
            {
                SkillE.Cast(PacketCast);
            }
            if (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne" && ((SkillE.Level == 0 && !(targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && Player.Distance(targetObj) < 200) || (Config.Item(Name + "useHarE").GetValue <bool>() && targetObj.HasBuff("BlindMonkEOne", true)) || (!Config.Item(Name + "useHarE").GetValue <bool>() && !(targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && Player.Distance(targetObj) < 200)) && !JumpCasted)
            {
                SkillW.CastOnUnit(jumpObj.First(), PacketCast);
                JumpCasted = true;
                Utility.DelayAction.Add(300, () => JumpCasted = false);
            }
        }
예제 #27
0
        private void LaneJungClear()
        {
            var minionObj = MinionManager.GetMinions(Player.Position, SkillQ.Range, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault();

            if (minionObj == null)
            {
                return;
            }
            if (Config.Item("useClearQ").GetValue <bool>() && SkillQ.IsReady() && !Player.HasBuff("PowerBall", true))
            {
                if (!SkillE.InRange(minionObj.Position))
                {
                    SkillQ.Cast(PacketCast());
                }
                else if (!Player.HasBuff("DefensiveBallCurl", true))
                {
                    SkillQ.Cast(PacketCast());
                }
            }
            if (Config.Item("useClearW").GetValue <bool>() && SkillW.IsReady() && SkillW.InRange(minionObj.Position) && !Player.HasBuff("PowerBall", true))
            {
                SkillW.Cast(PacketCast());
            }
            if (Config.Item("useClearE").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(minionObj.Position))
            {
                switch (Config.Item("useClearEMode").GetValue <StringList>().SelectedIndex)
                {
                case 0:
                    SkillE.CastOnUnit(minionObj, PacketCast());
                    break;

                case 1:
                    if (Player.HasBuff("DefensiveBallCurl", true))
                    {
                        SkillE.CastOnUnit(minionObj, PacketCast());
                    }
                    break;
                }
            }
        }
예제 #28
0
 private void OnGameUpdate(EventArgs args)
 {
     //Passive: Shen Passive Aura
     if (Player.IsDead || MenuGUI.IsChatOpen || Player.IsChannelingImportantSpell() || Player.IsRecalling())
     {
         return;
     }
     if (Orbwalk.CurrentMode == Orbwalk.Mode.Combo || Orbwalk.CurrentMode == Orbwalk.Mode.Harass)
     {
         NormalCombo(Orbwalk.CurrentMode.ToString());
     }
     else if (Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear || Orbwalk.CurrentMode == Orbwalk.Mode.LaneFreeze)
     {
         LaneJungClear();
     }
     else if (Orbwalk.CurrentMode == Orbwalk.Mode.LastHit)
     {
         LastHit();
     }
     else if (Orbwalk.CurrentMode == Orbwalk.Mode.Flee && SkillE.IsReady())
     {
         SkillE.Cast(Game.CursorPos, PacketCast());
     }
     if (ItemActive("FlashTaunt"))
     {
         FlashTaunt();
     }
     else
     {
         Orbwalk.CustomMode = false;
     }
     if (ItemBool("Ultimate", "Alert"))
     {
         UltimateAlert();
     }
     if (ItemBool("Misc", "EUnderTower"))
     {
         AutoEUnderTower();
     }
 }
예제 #29
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);
     }
 }
예제 #30
0
 private void OnPossibleToInterrupt(Obj_AI_Base unit, InterruptableSpell spell)
 {
     if (!Config.Item(Name + "useInterW").GetValue <bool>())
     {
         return;
     }
     if (SkillW.IsReady() && SkillE.IsReady() && !SkillW.InRange(unit.Position) && unit.IsValidTarget(SkillE.Range))
     {
         SkillE.Cast(unit.Position + Vector3.Normalize(unit.Position - Player.Position) * 200, PacketCast);
     }
     if (unit.IsValidTarget(SkillW.Range) && (SkillW.IsReady() || Player.HasBuff("RenektonPreExecute")))
     {
         if (!Player.HasBuff("RenektonPreExecute"))
         {
             SkillW.Cast(PacketCast);
         }
         if (Player.HasBuff("RenektonPreExecute"))
         {
             Player.IssueOrder(GameObjectOrder.AttackUnit, unit);
         }
     }
 }