示例#1
0
        public static void StarCombo()
        {
            var target = TargetSelector.GetTarget(1200, TargetSelector.DamageType.Physical);

            if (target == null)
            {
                Orbwalking.Orbwalk(null, Game.CursorPos);
                return;
            }

            Orbwalking.Orbwalk(Orbwalking.InAutoAttackRange(target) ? target : null, Game.CursorPos);

            CheckHandler.UseItems(target);

            if (!target.IsValidTarget())
            {
                return;
            }

            if (target.HasBuffOfType(BuffType.Knockback) && target.Distance(Player) > 300 && target.HasQBuff() &&
                !CheckHandler.QState)
            {
                CheckHandler._spells[SpellSlot.Q].Cast();
                return;
            }

            if (!CheckHandler._spells[SpellSlot.R].IsReady())
            {
                return;
            }

            if (CheckHandler._spells[SpellSlot.Q].IsReady() && CheckHandler.QState)
            {
                CastQ(target, Program.Config.Item("smiteQ").GetValue <bool>());
                return;
            }
            if (target.HasQBuff() && !target.HasBuffOfType(BuffType.Knockback))
            {
                if (target.Distance(Player) < CheckHandler._spells[SpellSlot.R].Range &&
                    CheckHandler._spells[SpellSlot.R].IsReady())
                {
                    CheckHandler._spells[SpellSlot.R].CastOnUnit(target);
                    return;
                }
                if (target.Distance(Player) < 600 && CheckHandler.WState)
                {
                    WardjumpHandler.Jump(
                        Player.Position.Extend(target.Position, Player.Position.Distance(target.Position) - 50));
                }
            }
        }
示例#2
0
        private static void Wave()
        {
            Obj_AI_Base target = MinionManager.GetMinions(1100).FirstOrDefault();

            if (!target.IsValidTarget() || target == null)
            {
                return;
            }


            CheckHandler.UseItems(target, true);

            var useQ = Program.Config.Item("QWC").GetValue <bool>();
            var useE = Program.Config.Item("EWC").GetValue <bool>();

            if (useQ && !CheckHandler.QState && CheckHandler._spells[SpellSlot.Q].IsReady() && target.HasQBuff() &&
                (CheckHandler.LastQ + 2700 < Environment.TickCount ||
                 CheckHandler._spells[SpellSlot.Q].GetDamage(target, 1) > target.Health ||
                 target.Distance(Player) > Orbwalking.GetRealAutoAttackRange(Player) + 50))
            {
                CheckHandler._spells[SpellSlot.Q].Cast();
                return;
            }

            if (CheckHandler._spells[SpellSlot.Q].IsReady() && useQ && CheckHandler.LastQ + 200 < Environment.TickCount)
            {
                if (CheckHandler.QState && target.Distance(Player) < CheckHandler._spells[SpellSlot.Q].Range)
                {
                    CheckHandler._spells[SpellSlot.Q].Cast(target);
                    return;
                }
            }

            if (CheckHandler._spells[SpellSlot.E].IsReady() && useE && CheckHandler.LastE + 200 < Environment.TickCount)
            {
                if (CheckHandler.EState && target.Distance(Player) < CheckHandler._spells[SpellSlot.E].Range)
                {
                    CheckHandler._spells[SpellSlot.E].Cast();
                }
            }
        }
示例#3
0
        public static void Combo()
        {
            var target = TargetSelector.GetTarget(1200, TargetSelector.DamageType.Physical);

            if (!target.IsValidTarget())
            {
                return;
            }

            var useQ         = Program.Config.Item("CQ").GetValue <bool>();
            var useE         = Program.Config.Item("CE").GetValue <bool>();
            var useR         = Program.Config.Item("CR").GetValue <bool>();
            var forcePassive = Program.Config.Item("CpassiveCheck").GetValue <bool>();
            var minPassive   = Program.Config.Item("CpassiveCheckCount").GetValue <Slider>().Value;

            CheckHandler.UseItems(target);

            if (useR && useQ && CheckHandler._spells[SpellSlot.R].IsReady() &&
                CheckHandler._spells[SpellSlot.Q].IsReady() && (CheckHandler.QState || target.HasQBuff()) &&
                CheckHandler._spells[SpellSlot.R].GetDamage(target) +
                (CheckHandler.QState ? CheckHandler._spells[SpellSlot.Q].GetDamage(target) : 0) +
                CheckHandler.Q2Damage(
                    target,
                    CheckHandler._spells[SpellSlot.R].GetDamage(target) +
                    (CheckHandler.QState ? CheckHandler._spells[SpellSlot.Q].GetDamage(target) : 0)) > target.Health)
            {
                if (CheckHandler.QState)
                {
                    CheckHandler._spells[SpellSlot.Q].CastIfHitchanceEquals(target, HitChance.High);
                    return;
                }
                CheckHandler._spells[SpellSlot.R].CastOnUnit(target);
                Utility.DelayAction.Add(300, () => CheckHandler._spells[SpellSlot.Q].Cast());
            }

            if (useR && CheckHandler._spells[SpellSlot.R].IsReady() &&
                CheckHandler._spells[SpellSlot.R].GetDamage(target) > target.Health)
            {
                CheckHandler._spells[SpellSlot.R].CastOnUnit(target);
                return;
            }

            if (useQ && !CheckHandler.QState && CheckHandler._spells[SpellSlot.Q].IsReady() && target.HasQBuff() &&
                (CheckHandler.LastQ + 2700 < Environment.TickCount ||
                 CheckHandler._spells[SpellSlot.Q].GetDamage(target, 1) > target.Health ||
                 target.Distance(Player) > Orbwalking.GetRealAutoAttackRange(Player) + 50))
            {
                CheckHandler._spells[SpellSlot.Q].Cast();
                return;
            }

            if (forcePassive && CheckHandler.PassiveStacks > minPassive &&
                Orbwalking.GetRealAutoAttackRange(Player) > Player.Distance(target))
            {
                return;
            }

            if (CheckHandler._spells[SpellSlot.Q].IsReady() && useQ)
            {
                if (CheckHandler.QState && target.Distance(Player) < CheckHandler._spells[SpellSlot.Q].Range)
                {
                    CastQ(target, Program.Config.Item("smiteQ").GetValue <bool>());
                    return;
                }
            }

            if (CheckHandler._spells[SpellSlot.E].IsReady() && useE)
            {
                if (CheckHandler.EState && target.Distance(Player) < CheckHandler._spells[SpellSlot.E].Range - 50)
                {
                    CheckHandler._spells[SpellSlot.E].Cast();
                    return;
                }
                if (!CheckHandler.EState && target.Distance(Player) > Orbwalking.GetRealAutoAttackRange(Player) + 50)
                {
                    CheckHandler._spells[SpellSlot.E].Cast();
                }
            }

            //SuperDuperUlt();
        }
示例#4
0
        public static void JungleClear()
        {
            Obj_AI_Base target =
                MinionManager.GetMinions(1100, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth)
                .FirstOrDefault();

            if (!target.IsValidTarget() || target == null)
            {
                Wave();
                return;
            }

            var useQ = Program.Config.Item("QJ").GetValue <bool>();
            var useW = Program.Config.Item("WJ").GetValue <bool>();
            var useE = Program.Config.Item("EJ").GetValue <bool>();

            CheckHandler.UseItems(target, true);

            if (CheckHandler.PassiveStacks > 0 || CheckHandler.LastSpell + 400 > Environment.TickCount)
            {
                return;
            }

            if (CheckHandler._spells[SpellSlot.Q].IsReady() && useQ)
            {
                if (CheckHandler.QState && target.Distance(Player) < CheckHandler._spells[SpellSlot.Q].Range &&
                    CheckHandler.LastQ + 200 < Environment.TickCount)
                {
                    CheckHandler._spells[SpellSlot.Q].Cast(target);
                    CheckHandler.LastSpell = Environment.TickCount;
                    return;
                }
                CheckHandler._spells[SpellSlot.Q].Cast();
                CheckHandler.LastSpell = Environment.TickCount;
                return;
            }

            if (CheckHandler._spells[SpellSlot.W].IsReady() && useW)
            {
                if (CheckHandler.WState && target.Distance(Player) < Orbwalking.GetRealAutoAttackRange(Player))
                {
                    CheckHandler._spells[SpellSlot.W].CastOnUnit(Player);
                    CheckHandler.LastSpell = Environment.TickCount;
                    return;
                }
                if (CheckHandler.WState)
                {
                    return;
                }
                CheckHandler._spells[SpellSlot.W].Cast();
                CheckHandler.LastSpell = Environment.TickCount;
                return;
            }

            if (CheckHandler._spells[SpellSlot.E].IsReady() && useE)
            {
                if (CheckHandler.EState && target.Distance(Player) < CheckHandler._spells[SpellSlot.E].Range)
                {
                    CheckHandler._spells[SpellSlot.E].Cast();
                    CheckHandler.LastSpell = Environment.TickCount;
                    return;
                }
                if (CheckHandler.EState)
                {
                    return;
                }
                CheckHandler._spells[SpellSlot.E].Cast();
                CheckHandler.LastSpell = Environment.TickCount;
            }
        }