Exemple #1
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();
        }
Exemple #2
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;
            }
        }