Esempio n. 1
0
        public static void Harass()
        {
            var target = TargetSelector.GetTarget(1300, DamageType.Physical);

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

            if (HarassMenu["qBeforeExpireH"].Cast <CheckBox>().CurrentValue&& Program.Q.IsReady() &&
                Program.Q.Instance().Name == Program.Spells["Q2"] && target.HasQBuff() &&
                (CastQAgain))
            {
                Program.Q2.Cast();
                return;
            }

            if (_Player.Distance(target) <= _Player.GetAutoAttackRange(target) &&
                Program.PassiveStacks > 1)
            {
                return;
            }

            if (Program.Q.IsReady() &&
                Program.Q.Instance().Name == Program.Spells["Q2"] && target.HasQBuff() &&
                (CastQAgain && HarassMenu["qBeforeExpireH"].Cast <CheckBox>().CurrentValue
                 ||
                 HarassMenu["qOutOfRangeH"].Cast <CheckBox>().CurrentValue&&
                 _Player.Distance(target) > _Player.GetAutoAttackRange(target)
                 ||
                 HarassMenu["qExecuteH"].Cast <CheckBox>().CurrentValue&&
                 Damage.Q2Damage(target) > target.Health + target.AttackShield))
            {
                Program.Q2.Cast();
                return;
            }
            if (HarassMenu["useQ1H"].Cast <CheckBox>().CurrentValue&& Program.Q.IsReady() &&
                Program.Q.Instance().Name == Program.Spells["Q1"] && target.Distance(_Player) < Program.Q.Range)
            {
                if (!Program.Q.GetPrediction(target).HitChance.HasFlag(HitChance.Collision))
                {
                    Program.Q.Cast(target);
                    Program.LastSpellTime = Environment.TickCount;
                    return;
                }
            }
            if (HarassMenu["useE2H"].Cast <CheckBox>().CurrentValue&& Program.E.IsReady() &&
                Program.E.Instance().Name == Program.Spells["E2"] &&
                target.Distance(_Player) < Program.E2.Range && _Player.Distance(target) > _Player.AttackRange ||
                Program.PassiveStacks == 0 &&
                target.HasEBuff() && target.Distance(_Player) < 600)
            {
                Program.E.Cast();
                return;
            }
            if (HarassMenu["useE1H"].Cast <CheckBox>().CurrentValue&& Program.E.IsReady() &&
                Program.E.Instance().Name == Program.Spells["E1"] && target.Distance(_Player) < 430)
            {
                Program.E.Cast();
            }
        }
Esempio n. 2
0
 public static void KillSteal()
 {
     foreach (var enemy in EntityManager.Heroes.Enemies.Where(a => !a.IsDead && !a.IsZombie && a.Health > 0))
     {
         if (KillstealMenu["KSE1"].Cast <CheckBox>().CurrentValue&& Program.E.IsReady() && enemy.Health < Damage.EDamage(enemy) && Program.E.Instance().Name == Program.Spells["E1"] &&
             enemy.Distance(_Player) < 430)
         {
             Program.E.Cast();
             return;
         }
         if (KillstealMenu["KSQ2"].Cast <CheckBox>().CurrentValue&& Program.Q.IsReady() && enemy.HasQBuff() && enemy.Health < Damage.Q2Damage(enemy) && Program.Q.Instance().Name == Program.Spells["Q2"] && enemy.Distance(_Player) < 1400)
         {
             Program.Q2.Cast();
             return;
         }
         if (KillstealMenu["KSQ1"].Cast <CheckBox>().CurrentValue&& Program.Q.IsReady() && enemy.Health < Damage.QDamage(enemy) && Program.Q.Instance().Name == Program.Spells["Q1"] && enemy.Distance(_Player) < 1100)
         {
             Program.Q.Cast(enemy);
             return;
         }
         if (KillstealMenu["KSR1"].Cast <CheckBox>().CurrentValue&& Program.R.IsReady() && enemy.Health < Damage.QDamage(enemy) &&
             enemy.Distance(_Player) < Program.R.Range)
         {
             Program.R.Cast(enemy);
         }
     }
 }
Esempio n. 3
0
        public static void Combo()
        {
            var target = TargetSelector.GetTarget(1300, DamageType.Physical);

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

            if (ComboMenu["useR"].Cast <CheckBox>().CurrentValue&& Program.R.IsReady() &&
                target.Distance(_Player) <= Program.R.Range &&
                (Damage.RDamage(target) >= target.Health + target.AttackShield || target.HasQBuff() && target.Health < Damage.RDamage(target) + Damage.Q2Damage(target, Damage.RDamage(target))))
            {
                Program.R.Cast(target);
                return;
            }

            if (ComboMenu["qBeforeExpire"].Cast <CheckBox>().CurrentValue&& Program.Q.IsReady() &&
                Program.Q.Instance().Name == Program.Spells["Q2"] && target.HasQBuff() &&
                (CastQAgain))
            {
                Program.Q2.Cast();
                return;
            }

            if (_Player.Distance(target) <= _Player.AttackRange + 100 + target.BoundingRadius &&
                Program.PassiveStacks > ComboMenu["minPassiveSliderCombo"].Cast <Slider>().CurrentValue || Program.LastSpellTime + 500 > Environment.TickCount)
            {
                return;
            }

            if (Program.Q.IsReady() &&
                Program.Q.Instance().Name == Program.Spells["Q2"] && target.HasQBuff() &&
                (CastQAgain && ComboMenu["qBeforeExpire"].Cast <CheckBox>().CurrentValue
                 ||
                 ComboMenu["qOutOfRange"].Cast <CheckBox>().CurrentValue&&
                 _Player.Distance(target) > _Player.GetAutoAttackRange(target)
                 ||
                 ComboMenu["qExecute"].Cast <CheckBox>().CurrentValue&&
                 Damage.Q2Damage(target) > target.Health + target.AttackShield))
            {
                Program.Q2.Cast();
                Program.LastSpellTime = Environment.TickCount;
                return;
            }
            if (ComboMenu["useQ1"].Cast <CheckBox>().CurrentValue&& Program.Q.IsReady() &&
                Program.Q.Instance().Name == Program.Spells["Q1"] && target.Distance(_Player) < Program.Q.Range)
            {
                SpellClass.SmiteQCast(target);
                return;
            }
            if (ComboMenu["useE2"].Cast <CheckBox>().CurrentValue&& Program.E.IsReady() &&
                Program.E.Instance().Name == Program.Spells["E2"] &&
                target.Distance(_Player) < Program.E2.Range && _Player.Distance(target) > _Player.AttackRange ||
                Program.PassiveStacks == 0 &&
                target.HasEBuff() && target.Distance(_Player) < 600)
            {
                Program.E.Cast();
                return;
            }
            if (ComboMenu["useE1"].Cast <CheckBox>().CurrentValue&& Program.E.IsReady() &&
                Program.E.Instance().Name == Program.Spells["E1"] && target.Distance(_Player) < 430)
            {
                Program.E.Cast();
                return;
            }

            if (ComboMenu["useW2"].Cast <CheckBox>().CurrentValue&&  target.Distance(_Player) <= Player.Instance.GetAutoAttackRange(target) && Program.W.IsReady() &&
                Program.W.Instance().Name == Program.Spells["W2"])
            {
                var unit =
                    ObjectManager
                    .Get <Obj_AI_Base>(
                        ).FirstOrDefault(a => a.Distance(target) < Player.Instance.GetAutoAttackRange(target) && a.IsAlly &&
                                         a.Distance(target) < Player.Instance.Distance(target) && a.Distance(Player.Instance) < Program.W.Range);
                if (unit != null)
                {
                    Player.CastSpell(SpellSlot.W, Player.Instance);
                    Program.LastSpellTime = Environment.TickCount;
                    return;
                }
            }
            if (target.Distance(_Player) <= Player.Instance.GetAutoAttackRange(target) &&
                ComboMenu["useW1"].Cast <CheckBox>().CurrentValue&& Program.W.IsReady() &&
                Program.W.Instance().Name == Program.Spells["W1"] && Program.LastSpellTime + 200 < Environment.TickCount)
            {
                Player.CastSpell(SpellSlot.W, Player.Instance);
                Program.LastSpellTime = Environment.TickCount;
            }
            if (ComboMenu["wCatchUp"].Cast <CheckBox>().CurrentValue&& target.Distance(_Player) > 430 && Program.W.IsReady() &&
                Program.W.Instance().Name == Program.Spells["W1"] && Program.LastSpellTime + 200 < Environment.TickCount)
            {
                var unit =
                    ObjectManager
                    .Get <Obj_AI_Base>(
                        ).FirstOrDefault(a => a.Distance(target) < Player.Instance.GetAutoAttackRange(target) && a.IsAlly &&
                                         a.Distance(target) < Player.Instance.Distance(target) && a.Distance(Player.Instance) < Program.W.Range);
                if (unit != null)
                {
                    Player.CastSpell(SpellSlot.W, unit);
                    Program.LastSpellTime = Environment.TickCount;
                }
            }
        }
Esempio n. 4
0
        public static void Jungle()
        {
            var source = EntityManager.MinionsAndMonsters.GetJungleMonsters().OrderByDescending(a => a.MaxHealth).FirstOrDefault(b => b.Distance(Player.Instance) < 1300);

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

            if (CastQAgain && Extended.BuffedEnemy != null && Extended.BuffedEnemy.NetworkId == source.NetworkId &&
                Program.Q.IsReady() && Program.Q.Instance().Name == Program.Spells["Q2"])
            {
                Program.Q2.Cast();
                Program.LastSpellTime = Environment.TickCount;
            }

            if (Program.PassiveStacks > 0 || Program.LastSpellTime + 600 > Environment.TickCount)
            {
                return;
            }

            if (Program.Q.IsReady() &&
                Program.Q.Instance().Name == Program.Spells["Q2"] && source.HasQBuff() &&
                (CastQAgain ||
                 _Player.Distance(source) > _Player.GetAutoAttackRange(source) ||
                 Damage.Q2Damage(source) > source.Health + source.AttackShield))
            {
                Program.Q2.Cast();
                Program.LastSpellTime = Environment.TickCount;
                return;
            }

            if (JungleMenu["useQ1J"].Cast <CheckBox>().CurrentValue&& Program.Q.IsReady() &&
                Program.Q.Instance().Name == Program.Spells["Q1"] && source.Distance(_Player) < Program.Q.Range)
            {
                Program.Q.Cast(source);
                Program.LastSpellTime = Environment.TickCount;
                return;
            }

            if (JungleMenu["useW1J"].Cast <CheckBox>().CurrentValue&& Program.W.IsReady() &&
                Program.W.Instance().Name == Program.Spells["W1"] &&
                source.Distance(_Player) < _Player.GetAutoAttackRange(source))
            {
                Program.W.Cast(_Player);
                Program.LastSpellTime = Environment.TickCount;
                return;
            }

            if (JungleMenu["useW2J"].Cast <CheckBox>().CurrentValue&& Program.W.IsReady() &&
                Program.W.Instance().Name == Program.Spells["W2"])
            {
                Program.W.Cast(_Player);
                Program.LastSpellTime = Environment.TickCount;
                return;
            }

            if (JungleMenu["useE2J"].Cast <CheckBox>().CurrentValue&& Program.E.IsReady() &&
                Program.E.Instance().Name == Program.Spells["E2"] &&
                Program.PassiveStacks <= 1 &&
                source.HasEBuff() && source.Distance(_Player) < 600)
            {
                Program.E.Cast();
                Program.LastSpellTime = Environment.TickCount;
                return;
            }

            if (JungleMenu["useE1J"].Cast <CheckBox>().CurrentValue&& Program.E.IsReady() &&
                Program.E.Instance().Name == Program.Spells["E1"] && source.Distance(_Player) < 430)
            {
                Program.E.Cast();
                Program.LastSpellTime = Environment.TickCount;
            }
        }
Esempio n. 5
0
        public static void WaveClear()
        {
            var minions = EntityManager.MinionsAndMonsters.EnemyMinions.Where(a => a.Distance(Player.Instance) < 1400).OrderBy(a => a.Health);
            var minion  = (Extended.BuffedEnemy != null && Extended.BuffedEnemy.IsValidTarget(1400)) ? Extended.BuffedEnemy : minions.FirstOrDefault();

            if (minion == null || Program.LastSpellTime + 200 > Environment.TickCount)
            {
                return;
            }

            if (FarmMenu["qExecuteWC"].Cast <CheckBox>().CurrentValue&& Extended.BuffedEnemy != null && Extended.BuffedEnemy.NetworkId == minion.NetworkId)
            {
                if (Program.Q.IsReady() && Damage.Q2Damage(minion, 0, true) > minion.Health)
                {
                    Program.Q2.Cast();
                    Program.LastSpellTime = Environment.TickCount;
                }
            }

            if (FarmMenu["eExecuteWC"].Cast <CheckBox>().CurrentValue&& Program.E.IsReady() && minions.Any(a => a.Health <= Damage.EDamage(a) &&
                                                                                                           Program.E.Instance().Name == Program.Spells["E1"] &&
                                                                                                           a.Distance(Player.Instance) < 430))
            {
                Program.E.Cast();
                Program.LastSpellTime = Environment.TickCount;
            }

            if (FarmMenu["useQ1WC"].Cast <CheckBox>().CurrentValue&& (Damage.QDamage(minion) > minion.Health || Damage.QDamage(minion) + Damage.Q2Damage(minion, (float)Damage.QDamage(minion)) > minion.Health) && Program.Q.IsReady())
            {
                Program.Q.Cast(minion);
                Program.LastSpellTime = Environment.TickCount;
            }
        }
Esempio n. 6
0
        public static void LastHit()
        {
            var minions = EntityManager.MinionsAndMonsters.EnemyMinions.Where(a => a.Distance(Player.Instance) < 1400).OrderBy(a => a.Health);
            var minion  =
                minions.FirstOrDefault(
                    a => Extended.BuffedEnemy != null && a.NetworkId == Extended.BuffedEnemy.NetworkId) ??
                minions.FirstOrDefault();

            if (minion == null || !minion.IsValidTarget())
            {
                return;
            }
            if (FarmMenu["qExecuteF"].Cast <CheckBox>().CurrentValue&& Extended.BuffedEnemy != null && Extended.BuffedEnemy.NetworkId == minion.NetworkId)
            {
                if (Program.Q.IsReady() && Damage.Q2Damage(minion, 0, true) > minion.Health)
                {
                    Program.Q2.Cast();
                }
            }
            if (FarmMenu["useQ1F"].Cast <CheckBox>().CurrentValue&& (Damage.QDamage(minion) > minion.Health || Damage.QDamage(minion) + Damage.Q2Damage(minion, (float)Damage.QDamage(minion)) > minion.Health) && Program.Q.IsReady())
            {
                Program.Q.Cast(minion);
            }
        }
Esempio n. 7
0
        private static void Game_OnUpdate(EventArgs args)
        {
            if (!SmiteMenu["smiteEnabled"].Cast <KeyBind>().CurrentValue || Smite == null)
            {
                return;
            }

            SetSmiteSlot();

            var minion = ObjectManager.Get <Obj_AI_Base>().Where(a => SmiteableUnits.Contains(a.BaseSkinName) && SmiteMenu[a.BaseSkinName].Cast <CheckBox>() != null && SmiteMenu[a.BaseSkinName].Cast <CheckBox>().CurrentValue).OrderByDescending(a => a.MaxHealth).FirstOrDefault(a => a.IsValidTarget(1400));

            if (minion == null)
            {
                return;
            }
            if (Smite.IsReady() && minion.IsValidTarget(Smite.Range) && minion.Health <= GetSmiteDamage() && SmiteMenu["regularSmite"].Cast <CheckBox>().CurrentValue || ForceSmite && Player.Instance.Distance(minion) < 100)
            {
                Smite.Cast(minion);
                ForceSmite = false;
                return;
            }
            if (Program.Q.IsReady() && minion.HasQBuff() && SmiteMenu["QSmite"].Cast <CheckBox>().CurrentValue&& minion.Health <= Damage.Q2Damage(minion, GetSmiteDamage(), true) + GetSmiteDamage())
            {
                Program.Q2.Cast();
                ForceSmite = true;
                return;
            }
            if (Program.Q.IsReady() && SmiteMenu["QSmite"].Cast <CheckBox>().CurrentValue&& Program.Q.Instance().Name == Program.Spells["Q1"] && minion.IsValidTarget(Program.Q.Range) &&
                minion.Health <=
                Damage.QDamage(minion) + Damage.Q2Damage(minion, Damage.QDamage(minion) + GetSmiteDamage(), true) +
                GetSmiteDamage())
            {
                Program.Q.Cast(minion);
            }
        }