Beispiel #1
0
        private static void Tick()
        {
            if (!Program.Config.Item("smiteEnabled").GetValue <KeyBind>().Active)
            {
                return;
            }

            Obj_AI_Base selectedMinion =
                MinionManager.GetMinions(1100, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth)
                .FirstOrDefault(
                    minion =>
                    minion.Health > 0 && Program.Config.Item(minion.BaseSkinName) != null &&
                    Program.Config.Item(minion.BaseSkinName).GetValue <bool>());

            if (selectedMinion == null)
            {
                return;
            }
            if (GetSmiteDamage() >= selectedMinion.Health && Player.Distance(selectedMinion) <= 700 ||
                _checkForSmite && Player.Distance(selectedMinion) < 100)
            {
                Player.Spellbook.CastSpell(Player.GetSpellSlot(CheckHandler.SmiteSpellName()), selectedMinion);
                _checkForSmite = false;
            }
            if (!CheckHandler._spells[SpellSlot.Q].IsReady())
            {
                return;
            }

            if (selectedMinion.HasQBuff() &&
                CheckHandler.Q2Damage(selectedMinion, (float)GetSmiteDamage(), true) + GetSmiteDamage() > selectedMinion.Health &&
                !CheckHandler.QState)
            {
                CheckHandler._spells[SpellSlot.Q].Cast();
                _checkForSmite = true;
            }
            if (
                CheckHandler.Q2Damage(
                    selectedMinion, (float)GetSmiteDamage() + CheckHandler._spells[SpellSlot.Q].GetDamage(selectedMinion),
                    true) + GetSmiteDamage() + CheckHandler._spells[SpellSlot.Q].GetDamage(selectedMinion) >
                selectedMinion.Health && CheckHandler.QState)
            {
                CheckHandler._spells[SpellSlot.Q].Cast(selectedMinion);
            }
        }
Beispiel #2
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();
        }