Esempio n. 1
0
 public static void OnPreAttack(AttackableUnit target, PreAttackEventArgs preAttackEventArgs)
 {
     if (SpellConfig.E.Ready && MenuConfig.Clear["E"].Enabled && MenuConfig.Clear["E"].Value <= Global.Player.ManaPercent())
     {
         foreach (var mob in GameObjects.JungleLarge.Where(x => x.HealthPercent() <= Global.Player.HealthPercent()))
         {
             preAttackEventArgs.Cancel = true;
             SpellConfig.E.CastOnUnit(mob);
         }
     }
 }
Esempio n. 2
0
 /// <summary>
 ///     Called on pre attack.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="args">The <see cref="PreAttackEventArgs" /> instance containing the event data.</param>
 public void OnPreAttack(object sender, PreAttackEventArgs args)
 {
     /// <summary>
     ///     Initializes the orbwalkingmodes.
     /// </summary>
     switch (ImplementationClass.IOrbwalker.Mode)
     {
     case OrbwalkingMode.Combo:
         Weaving(sender, args);
         break;
     }
 }
Esempio n. 3
0
 public static void OnPreAttack(object sender, PreAttackEventArgs args)
 {
     switch (Orbwalker.Mode)
     {
     case OrbwalkingMode.Combo:
         if (Main["combo"]["disableAA"].As <MenuBool>().Enabled)
         {
             args.Cancel = true;
         }
         break;
     }
 }
Esempio n. 4
0
 public static void PreAttack(object sender, PreAttackEventArgs args)
 {
     switch (Global.Orbwalker.Mode)
     {
     case OrbwalkingMode.Combo when MenuConfig.Combo["W"].Enabled:
         var target = GameObjects.EnemyHeroes.FirstOrDefault(x => x.IsValidAutoRange() && x.GetBuffCount("vaynesilvereddebuff") == 2);
         if (target != null)
         {
             args.Target = target;
         }
         break;
     }
 }
Esempio n. 5
0
 internal override void OnPreAttack(object sender, PreAttackEventArgs e)
 {
     if (RootMenu["combo"]["usee"].Enabled && E.Ready)
     {
         if (e.Target != null)
         {
             if (e.Target.IsValidTarget())
             {
                 E.Cast();
             }
         }
     }
 }
Esempio n. 6
0
        public static void OnPreAttack(object sender, PreAttackEventArgs preAttackEventArgs)
        {
            switch (Global.Orbwalker.Mode)
            {
            case OrbwalkingMode.Laneclear:
                Clear.OnPreAttack(preAttackEventArgs.Target, preAttackEventArgs);
                break;

            case OrbwalkingMode.Combo:
                Combo.OnPreAttack(preAttackEventArgs.Target, preAttackEventArgs);
                break;
            }
        }
Esempio n. 7
0
        public static void OnPreAttack(AttackableUnit target, PreAttackEventArgs preAttackEventArgs)
        {
            if (!SpellConfig.E.Ready)
            {
                return;
            }

            if (((Obj_AI_Base)target).HealthPercent() <= Global.Player.HealthPercent() || Dmg.Damage((Obj_AI_Base)target) * 2 > target.Health)
            {
                preAttackEventArgs.Cancel = true;
                SpellConfig.E.CastOnUnit(target);
            }
        }
Esempio n. 8
0
        /// <summary>
        ///     Called on do-cast.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The <see cref="PreAttackEventArgs" /> instance containing the event data.</param>
        public void Jungleclear(object sender, PreAttackEventArgs args)
        {
            var jungleTarget = args.Target as Obj_AI_Minion;

            if (jungleTarget == null ||
                !Extensions.GetGenericJungleMinionsTargets().Contains(jungleTarget) ||
                jungleTarget.GetRealHealth() < UtilityClass.Player.GetAutoAttackDamage(jungleTarget) * 2)
            {
                return;
            }

            /// <summary>
            ///     The Jungleclear E Logics.
            /// </summary>
            if (SpellClass.E.Ready &&
                UtilityClass.Player.ManaPercent()
                > ManaManager.GetNeededMana(SpellClass.E.Slot, MenuClass.Spells["e"]["jungleclear"]) &&
                MenuClass.Spells["e"]["jungleclear"].As <MenuSliderBool>().Enabled)
            {
                if (Extensions.GetGenericJungleMinionsTargets().Any(
                        h => IsPerfectFeatherTarget(h) &&
                        h.GetRealHealth() < GetPerfectFeatherDamage(h, CountFeathersHitOnUnit(h))))
                {
                    SpellClass.E.Cast();
                    return;
                }
            }

            /// <summary>
            ///     The Jungleclear Q Logics.
            /// </summary>
            if (SpellClass.Q.Ready &&
                UtilityClass.Player.ManaPercent()
                > ManaManager.GetNeededMana(SpellClass.Q.Slot, MenuClass.Spells["q"]["jungleclear"]) &&
                MenuClass.Spells["q"]["jungleclear"].As <MenuSliderBool>().Enabled)
            {
                SpellClass.Q.Cast(jungleTarget);
            }

            /// <summary>
            ///     The Jungleclear W Logics.
            /// </summary>
            if (SpellClass.W.Ready &&
                UtilityClass.Player.ManaPercent()
                > ManaManager.GetNeededMana(SpellClass.W.Slot, MenuClass.Spells["w"]["jungleclear"]) &&
                MenuClass.Spells["w"]["jungleclear"].As <MenuSliderBool>().Enabled)
            {
                SpellClass.W.Cast();
            }
        }
Esempio n. 9
0
        /// <summary>
        ///     Called on orbwalker action.
        /// </summary>
        /// <param name="sender">The object.</param>
        /// <param name="args">The <see cref="PreAttackEventArgs" /> instance containing the event data.</param>
        public void Jungleclear(object sender, PreAttackEventArgs args)
        {
            var jungleTarget = args.Target as Obj_AI_Minion;

            if (!jungleTarget.IsValidTarget() ||
                !Extensions.GetGenericJungleMinionsTargets().Contains(jungleTarget))
            {
                return;
            }

            /// <summary>
            ///     The Jungleclear Q Logic.
            /// </summary>
            if (SpellClass.Q.Ready &&
                MenuClass.Spells["q"]["jungleclear"].As <MenuSliderBool>().Enabled)
            {
                var minionsInRange = GameObjects.EnemyMinions.Count(
                    m =>
                    m.Distance(jungleTarget) < MenuClass.Spells["q"]["customization"]["splashrange"].Value);

                if (UtilityClass.Player.HasBuff("JinxQ"))
                {
                    if (UtilityClass.Player.ManaPercent()
                        < MenuClass.Spells["q"]["jungleclear"].As <MenuSliderBool>().Value ||
                        minionsInRange < MenuClass.Spells["q"]["customization"]["jungleclear"].Value)
                    {
                        SpellClass.Q.Cast();
                    }
                }
                else
                {
                    if (minionsInRange >= MenuClass.Spells["q"]["customization"]["jungleclear"].Value)
                    {
                        SpellClass.Q.Cast();
                    }
                }
            }

            /// <summary>
            ///     The Jungleclear W Logic.
            /// </summary>
            if (SpellClass.W.Ready &&
                jungleTarget.IsValidTarget(SpellClass.W.Range) &&
                UtilityClass.Player.ManaPercent()
                > ManaManager.GetNeededMana(SpellClass.W.Slot, MenuClass.Spells["w"]["jungleclear"]) &&
                MenuClass.Spells["w"]["jungleclear"].As <MenuSliderBool>().Enabled)
            {
                SpellClass.W.Cast(jungleTarget);
            }
        }
Esempio n. 10
0
 public static void Orbwalker_OnPreAttack(object sender, PreAttackEventArgs args)
 {
     switch (IOrbwalker.Mode)
     {
     //Support mode logic, credit to @Exory
     case OrbwalkingMode.Mixed:
     case OrbwalkingMode.Lasthit:
     case OrbwalkingMode.Laneclear:
         if (GetEnemyLaneMinionsTargets().Contains(args.Target) && Champions.Nami.MenuClass.miscmenu["supportmode"].Enabled)
         {
             args.Cancel = GameObjects.AllyHeroes.Any(a => !a.IsMe && a.Distance(Player) < 2500);
         }
         break;
     }
 }
Esempio n. 11
0
 internal override void OnPreAttack(object sender, PreAttackEventArgs e)
 {
     if (RootMenu["combo"]["support"].Enabled)
     {
         if (Orbwalker.Implementation.Mode.Equals(OrbwalkingMode.Lasthit) ||
             Orbwalker.Implementation.Mode.Equals(OrbwalkingMode.Laneclear) ||
             Orbwalker.Implementation.Mode.Equals(OrbwalkingMode.Mixed))
         {
             if (e.Target.IsMinion && GameObjects.AllyHeroes.Where(x => x.Distance(Player) < 1000 && !x.IsMe).Count() > 0)
             {
                 e.Cancel = true;
             }
         }
     }
 }
Esempio n. 12
0
        //private static void AntiGapcloser(Obj_AI_Hero target, GapcloserArgs args)
        //{
        //    if (target == null || !target.IsValidTarget(E.Range)) return;

        //    switch (args.Type)
        //    {
        //        case SpellType.Melee:
        //            if (Main["antiGapcloser"]["r"].As<MenuBool>().Enabled && R.Ready && target.IsValidTarget(target.AttackRange + target.BoundingRadius + 100))
        //            {
        //                var rPred = R.GetPrediction(target);
        //                R.Cast(rPred.UnitPosition);
        //            }
        //            break;
        //        case SpellType.Dash:
        //            if (Main["antiGapcloser"]["r"].As<MenuBool>().Enabled && R.Ready && args.EndPosition.DistanceToPlayer() <= 350)
        //            {
        //                var rPred = R.GetPrediction(target);
        //                R.Cast(rPred.UnitPosition);
        //            }
        //            break;
        //        case SpellType.SkillShot:
        //        {
        //            if (Main["antiGapcloser"]["e"].As<MenuBool>().Enabled && E.Ready && Game.TickCount > 2500)
        //            {
        //                var ePred = E.GetPrediction(target);

        //                E.Cast(ePred.UnitPosition);
        //            }
        //            }
        //            break;
        //        case SpellType.Targeted:
        //        {
        //            if (Main["antiGapcloser"]["r"].As<MenuBool>().Enabled && R.Ready && Game.TickCount > 2500)
        //            {
        //                var rPred = R.GetPrediction(target);
        //                R.Cast(rPred.UnitPosition);
        //            }
        //            if (Main["antiGapcloser"]["e"].As<MenuBool>().Enabled && E.Ready && Game.TickCount > 2500)
        //            {
        //                    var ePred = E.GetPrediction(target);

        //                    E.Cast(ePred.UnitPosition);
        //            }
        //        }
        //            break;
        //    }
        //}
        private static void OnPreAttack(object sender, PreAttackEventArgs args)
        {
            switch (Misc.Orbwalker.Mode)
            {
            case OrbwalkingMode.Combo:
            case OrbwalkingMode.Mixed:
            case OrbwalkingMode.Lasthit:
            case OrbwalkingMode.Laneclear:
                if (Player.HasBuff("VarusQ") && Q.IsCharging)
                {
                    args.Cancel = true;
                }
                break;
            }
        }
Esempio n. 13
0
        public static void Orbwalker_OnPreAttack(object sender, PreAttackEventArgs args)
        {
            if (Orbwalker.Implementation.Mode == OrbwalkingMode.None)
            {
                return;
            }

            //Fix stuttering when attempting to auto attack whilst avoiding.
            if (avoiding)
            {
                args.Cancel = true;
            }

            avoiding = false;
        }
Esempio n. 14
0
        /// <summary>
        ///     Called on post attack.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The <see cref="PreAttackEventArgs" /> instance containing the event data.</param>
        public void Weaving(object sender, PreAttackEventArgs args)
        {
            var heroTarget = args.Target as Obj_AI_Hero;

            if (heroTarget == null)
            {
                return;
            }

            /// <summary>
            ///     The Q Combo Logic.
            /// </summary>
            if (SpellClass.Q.Ready &&
                MenuClass.Spells["q"]["combo"].As <MenuBool>().Enabled)
            {
                if (MenuClass.Miscellaneous["feathersweaving"].As <MenuBool>().Enabled)
                {
                    if (UtilityClass.Player.GetRealBuffCount("XayahPassiveActive") <= 3)
                    {
                        SpellClass.Q.Cast(heroTarget);
                        return;
                    }
                }
                else
                {
                    SpellClass.Q.Cast(heroTarget);
                }
            }

            /// <summary>
            ///     The W Combo Logic.
            /// </summary>
            if (SpellClass.W.Ready &&
                MenuClass.Spells["w"]["combo"].As <MenuBool>().Enabled)
            {
                if (MenuClass.Miscellaneous["feathersweaving"].As <MenuBool>().Enabled)
                {
                    if (UtilityClass.Player.GetRealBuffCount("XayahPassiveActive") <= 3)
                    {
                        SpellClass.W.Cast();
                    }
                }
                else
                {
                    SpellClass.W.Cast();
                }
            }
        }
Esempio n. 15
0
        /// <summary>
        ///     Called on post attack.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The <see cref="PreAttackEventArgs" /> instance containing the event data.</param>
        public void Laneclear(object sender, PreAttackEventArgs args)
        {
            /// <summary>
            ///     The Laneclear Q Logic.
            /// </summary>
            if (SpellClass.Q.Ready &&
                UtilityClass.Player.ManaPercent()
                > ManaManager.GetNeededMana(SpellClass.Q.Slot, MenuClass.Spells["q"]["laneclear"]) &&
                MenuClass.Spells["q"]["laneclear"].As <MenuSliderBool>().Enabled)
            {
                /*
                 * var farmLocation = SpellClass.Q.GetLinearFarmLocation(minions, SpellClass.Q.Width);
                 * if (farmLocation.MinionsHit >= MenuClass.Spells["q"]["customization"]["laneclear"].As<MenuSlider>().Value)
                 * {
                 *  SpellClass.Q.Cast(farmLocation.Position);
                 * }
                 */
            }

            /// <summary>
            ///     The E Big Minions Lasthit Logic.
            /// </summary>
            if (SpellClass.E.Ready &&
                MenuClass.Spells["e"]["lasthit"].As <MenuBool>().Enabled)
            {
                foreach (var minion in Extensions.GetEnemyLaneMinionsTargetsInRange(SpellClass.E.Range).Where(m =>
                                                                                                              (m.UnitSkinName.Contains("Siege") || m.UnitSkinName.Contains("Super")) &&
                                                                                                              m.GetRealHealth() < UtilityClass.Player.GetSpellDamage(m, SpellSlot.E)))
                {
                    UtilityClass.CastOnUnit(SpellClass.E, minion);
                }
            }

            /// <summary>
            ///     The Laneclear W Logic.
            /// </summary>
            if (SpellClass.W.Ready &&
                UtilityClass.Player.ManaPercent()
                > ManaManager.GetNeededMana(SpellClass.Q.Slot, MenuClass.Spells["w"]["laneclear"]) &&
                MenuClass.Spells["w"]["laneclear"].As <MenuSliderBool>().Enabled)
            {
                var mainMinion = ImplementationClass.IOrbwalker.GetOrbwalkingTarget() as Obj_AI_Minion;
                if (mainMinion != null)
                {
                    SpellClass.W.Cast();
                }
            }
        }
Esempio n. 16
0
        private static void PreAttack(object sender, PreAttackEventArgs Args)
        {
            if (Orbwalker.Mode == OrbwalkingMode.Combo)
            {
                if (Player.Buffs.Any(x => x.Name == "vladimirqbuild" && x.Count == 2) &&
                    Player.GetSpell(SpellSlot.Q).CooldownEnd - Game.ClockTime <= 1.5)
                {
                    Args.Cancel = true;
                }

                if (isQActive)
                {
                    Args.Cancel = true;
                }
            }
        }
Esempio n. 17
0
 /// <summary>
 ///     Called on pre attack.
 /// </summary>
 /// <param name="sender">The object.</param>
 /// <param name="args">The <see cref="PreAttackEventArgs" /> instance containing the event data.</param>
 public void OnPreAttack(object sender, PreAttackEventArgs args)
 {
     /// <summary>
     ///     The Target Forcing Logic.
     /// </summary>
     if (MenuClass.Miscellaneous["focusw"].As <MenuBool>().Enabled)
     {
         var forceTarget = Extensions.GetBestEnemyHeroesTargets().FirstOrDefault(t =>
                                                                                 t.HasBuff("kalistacoopstrikemarkally") &&
                                                                                 t.IsValidTarget(UtilityClass.Player.GetFullAttackRange(t)));
         if (forceTarget != null)
         {
             args.Target = forceTarget;
         }
     }
 }
Esempio n. 18
0
        /// <summary>
        ///     Called on do-cast.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The <see cref="PreAttackEventArgs" /> instance containing the event data.</param>
        public void Jungleclear(object sender, PreAttackEventArgs args)
        {
            var jungleTarget = args.Target as Obj_AI_Minion;

            if (jungleTarget == null ||
                !Extensions.GetGenericJungleMinionsTargets().Contains(jungleTarget) ||
                jungleTarget.GetRealHealth() < UtilityClass.Player.GetAutoAttackDamage(jungleTarget) * 2)
            {
                return;
            }

            /// <summary>
            ///     The Jungleclear Q Logic.
            /// </summary>
            if (SpellClass.Q.Ready &&
                UtilityClass.Player.ManaPercent()
                > ManaManager.GetNeededMana(SpellClass.Q.Slot, MenuClass.Spells["q"]["jungleclear"]) &&
                MenuClass.Spells["q"]["jungleclear"].As <MenuSliderBool>().Enabled)
            {
                SpellClass.Q.Cast(SpellClass.Q.GetPrediction(jungleTarget).CastPosition.Extend(UtilityClass.Player.ServerPosition, -50f - jungleTarget.BoundingRadius));
            }

            /// <summary>
            ///     The Jungleclear E Logic.
            /// </summary>
            if (SpellClass.E.Ready &&
                MenuClass.Spells["e"]["jungleclear"].As <MenuSliderBool>().Enabled)
            {
                if (UtilityClass.Player.HealthPercent()
                    >= MenuClass.Spells["e"]["jungleclear"].As <MenuSliderBool>().Value ||
                    UtilityClass.Player.GetSpellDamage(jungleTarget, SpellSlot.E) >= jungleTarget.GetRealHealth())
                {
                    SpellClass.E.CastOnUnit(jungleTarget);
                }
            }

            /// <summary>
            ///     The Jungleclear W Logic.
            /// </summary>
            if (SpellClass.W.Ready &&
                UtilityClass.Player.ManaPercent()
                > ManaManager.GetNeededMana(SpellClass.W.Slot, MenuClass.Spells["w"]["jungleclear"]) &&
                MenuClass.Spells["w"]["jungleclear"].As <MenuSliderBool>().Enabled)
            {
                SpellClass.W.Cast();
            }
        }
Esempio n. 19
0
 private static void OnPreAttack(object sender, PreAttackEventArgs Args)
 {
     try
     {
         if (MiscMenu["FlowersKalista.MiscMenu.ForcusAttack"].Enabled && Me.CanMoveMent() && Args.Target != null &&
             !Args.Target.IsDead && Args.Target.Health > 0)
         {
             if (Orbwalker.Mode == OrbwalkingMode.Combo || Orbwalker.Mode == OrbwalkingMode.Mixed)
             {
                 foreach (var target in GameObjects.EnemyHeroes.Where(x => !x.IsDead &&
                                                                      x.IsValidAutoRange() &&
                                                                      x.Buffs.Any(
                                                                          a =>
                                                                          a.Name.ToLower()
                                                                          .Contains(
                                                                              "kalistacoopstrikemarkally"))))
                 {
                     if (target != null && !target.IsDead && target.IsValidTarget(Me.GetFullAttackRange(target)))
                     {
                         Orbwalker.ForceTarget(target);
                     }
                 }
             }
             else if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
             {
                 foreach (var target in GameObjects.Minions.Where(x => !x.IsDead && x.IsEnemy &&
                                                                  x.IsValidAutoRange() &&
                                                                  x.Buffs.Any(
                                                                      a =>
                                                                      a.Name.ToLower()
                                                                      .Contains(
                                                                          "kalistacoopstrikemarkally"))))
                 {
                     if (target != null && !target.IsDead && target.IsValidTarget(Me.GetFullAttackRange(target)))
                     {
                         Orbwalker.ForceTarget(target);
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine("Error in MyEventManager.OnPreAttack." + ex);
     }
 }
Esempio n. 20
0
        /// <summary>
        ///     Called on pre attack.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The <see cref="PreAttackEventArgs" /> instance containing the event data.</param>
        public void OnPreAttack(object sender, PreAttackEventArgs args)
        {
            var orbTarget = ImplementationClass.IOrbwalker.GetOrbwalkingTarget();

            if (orbTarget != null)
            {
                var baseTarget = orbTarget as Obj_AI_Base;
                if (baseTarget != null)
                {
                    if (IsAllured(baseTarget) && !IsFullyAllured(baseTarget) &&
                        MenuClass.Spells["miscellaneous"]["dontaasemiallured"].As <MenuBool>().Enabled)
                    {
                        args.Cancel = true;
                    }
                }
            }
        }
Esempio n. 21
0
        private static void PreAttack(object sender, PreAttackEventArgs Args)
        {
            if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0)
            {
                return;
            }

            if (Orbwalker.Mode == OrbwalkingMode.Combo &&
                ComboOption.GetBool("ComboDisableAA").Enabled&&
                Args.Target.Type == GameObjectType.obj_AI_Hero)
            {
                if (HumanizerCardSelect.Status == HumanizerSelectStatus.Selecting &&
                    Game.TickCount - HumanizerCardSelect.LastWSent > 300)
                {
                    Args.Cancel = true;
                }
            }
        }
Esempio n. 22
0
        /// <summary>
        ///     Called on pre attack.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The <see cref="PreAttackEventArgs" /> instance containing the event data.</param>
        public void Weaving(object sender, PreAttackEventArgs args)
        {
            var heroTarget = args.Target as Obj_AI_Hero;

            if (heroTarget == null)
            {
                return;
            }

            /// <summary>
            ///     The E Combo Logic.
            /// </summary>
            if (SpellClass.E.Ready &&
                !Invulnerable.Check(heroTarget, DamageType.Magical) &&
                MenuClass.Spells["e"]["combo"].As <MenuBool>().Enabled)
            {
                SpellClass.E.Cast();
            }
        }
Esempio n. 23
0
        /// <summary>
        ///     Called on pre attack.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The <see cref="PreAttackEventArgs" /> instance containing the event data.</param>
        public void Weaving(object sender, PreAttackEventArgs args)
        {
            var heroTarget = args.Target as Obj_AI_Hero;

            if (heroTarget == null)
            {
                return;
            }

            /// <summary>
            ///     The Q Combo Logic.
            /// </summary>
            if (SpellClass.Q.Ready &&
                HasFourthShot() &&
                MenuClass.Spells["q"]["combo"].As <MenuBool>().Enabled)
            {
                UtilityClass.CastOnUnit(SpellClass.Q, heroTarget);
            }
        }
Esempio n. 24
0
 /// <summary>
 ///     Called on orbwalker action.
 /// </summary>
 /// <param name="sender">The object.</param>
 /// <param name="args">The <see cref="PreAttackEventArgs" /> instance containing the event data.</param>
 public void Lasthit(object sender, PreAttackEventArgs args)
 {
     /// <summary>
     ///     The Lasthit Q Logic.
     /// </summary>
     if (SpellClass.Q.Ready &&
         UtilityClass.Player.ManaPercent()
         > MenuClass.Spells["q"]["lasthit"].As <MenuSliderBool>().Value&&
         MenuClass.Spells["q"]["lasthit"].As <MenuSliderBool>().Enabled)
     {
         if (UtilityClass.Player.HasBuff("JinxQ"))
         {
             if (!GameObjects.EnemyMinions.Any(
                     m =>
                     m.IsValidTarget(SpellClass.Q2.Range) &&
                     !m.IsValidTarget(UtilityClass.Player.GetFullAttackRange(m)) &&
                     m.GetRealHealth() < UtilityClass.Player.GetAutoAttackDamage(m) + UtilityClass.Player.GetSpellDamage(m, SpellSlot.Q)) &&
                 GameObjects.EnemyMinions.Any(
                     m =>
                     m.IsValidTarget(UtilityClass.Player.GetFullAttackRange(m)) &&
                     m.GetRealHealth() < UtilityClass.Player.GetAutoAttackDamage(m)))
             {
                 SpellClass.Q.Cast();
             }
         }
         else
         {
             if (GameObjects.EnemyMinions.Any(
                     m =>
                     m.IsValidTarget(SpellClass.Q2.Range) &&
                     !m.IsValidTarget(UtilityClass.Player.GetFullAttackRange(m)) &&
                     m.GetRealHealth() < UtilityClass.Player.GetAutoAttackDamage(m) + UtilityClass.Player.GetSpellDamage(m, SpellSlot.Q)) &&
                 !GameObjects.EnemyMinions.Any(
                     m =>
                     m.IsValidTarget(UtilityClass.Player.GetFullAttackRange(m)) &&
                     m.GetRealHealth() < UtilityClass.Player.GetAutoAttackDamage(m)))
             {
                 SpellClass.Q.Cast();
             }
         }
     }
 }
Esempio n. 25
0
        /// <summary>
        ///     Called on orbwalker action.
        /// </summary>
        /// <param name="sender">The object.</param>
        /// <param name="args">The <see cref="PreAttackEventArgs" /> instance containing the event data.</param>
        public void Laneclear(object sender, PreAttackEventArgs args)
        {
            var minionTarget = args.Target as Obj_AI_Minion;

            if (minionTarget == null)
            {
                if (IsUsingFishBones())
                {
                    SpellClass.Q.Cast();
                }
                return;
            }

            /// <summary>
            ///     The Laneclear Q Logic.
            /// </summary>
            if (SpellClass.Q.Ready &&
                MenuClass.Spells["q"]["laneclear"].As <MenuSliderBool>().Enabled)
            {
                var manaPercent          = UtilityClass.Player.ManaPercent();
                var minionsInRange       = Extensions.GetEnemyLaneMinionsTargets().Count(m => m.Distance(minionTarget) < SplashRange);
                var laneClearMinMinions  = MenuClass.Spells["q"]["customization"]["laneclear"].Value;
                var laneClearManaManager = MenuClass.Spells["q"]["laneclear"].As <MenuSliderBool>().Value;

                if (!IsUsingFishBones())
                {
                    if (manaPercent >= laneClearManaManager &&
                        minionsInRange >= laneClearMinMinions)
                    {
                        SpellClass.Q.Cast();
                    }
                }
                else
                {
                    if (manaPercent < laneClearManaManager ||
                        minionsInRange < laneClearMinMinions)
                    {
                        SpellClass.Q.Cast();
                    }
                }
            }
        }
Esempio n. 26
0
 private static void OnPreAttack(object sender, PreAttackEventArgs args)
 {
     switch (Misc.Orbwalker.Mode)
     {
     case OrbwalkingMode.Combo:
         if (Main["combo"]["disableAA"].As <MenuBool>().Enabled)
         {
             args.Cancel = true;
         }
         if (Main["combo"]["WActive"].As <MenuBool>().Enabled&& IsWActive)
         {
             args.Cancel = true;
         }
         if (!IsEActive)
         {
             args.Cancel = true;
         }
         break;
     }
 }
Esempio n. 27
0
        private static void PreAttack(object sender, PreAttackEventArgs Args)
        {
            if (Orbwalker.Mode == OrbwalkingMode.Combo || Orbwalker.Mode == OrbwalkingMode.Mixed)
            {
                var ForcusTarget =
                    GameObjects.EnemyHeroes.FirstOrDefault(
                        x => x.IsValidTarget(Me.AttackRange + Me.BoundingRadius + x.BoundingRadius + 50) && Has2WStacks(x));

                if (MiscOption.GetBool("Forcus", "ForcusAttack").Enabled&& ForcusTarget != null &&
                    ForcusTarget.IsValidTarget(Me.AttackRange + Me.BoundingRadius - ForcusTarget.BoundingRadius + 15))
                {
                    Orbwalker.ForceTarget(ForcusTarget);
                    LastForcusTime = Game.TickCount;
                }
                else
                {
                    Orbwalker.ForceTarget(null);
                }
            }
        }
Esempio n. 28
0
        /// <summary>
        ///     Called on do-cast.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The <see cref="PreAttackEventArgs" /> instance containing the event data.</param>
        public void Buildingclear(object sender, PreAttackEventArgs args)
        {
            var target = args.Target;

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

            /// <summary>
            ///     The W BuildingClear Logic.
            /// </summary>
            if (SpellClass.W.Ready &&
                UtilityClass.Player.ManaPercent()
                > ManaManager.GetNeededMana(SpellClass.W.Slot, MenuClass.Spells["w"]["buildings"]) &&
                MenuClass.Spells["w"]["buildings"].As <MenuSliderBool>().Enabled)
            {
                SpellClass.W.Cast();
            }
        }
Esempio n. 29
0
        /// <summary>
        ///     Called on pre attack.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The <see cref="PreAttackEventArgs" /> instance containing the event data.</param>
        public void OnPreAttack(object sender, PreAttackEventArgs args)
        {
            if (!UtilityClass.Player.IsUnderEnemyTurret() &&
                UtilityClass.Player.HasBuff("vaynetumblefade"))
            {
                var invisibilityBuff = UtilityClass.Player.GetBuff("vaynetumblefade");
                if (MenuClass.Miscellaneous["stealthtime"].As <MenuSliderBool>().Enabled&&
                    invisibilityBuff.GetRemainingBuffTime() >
                    invisibilityBuff.EndTime - invisibilityBuff.StartTime - MenuClass.Miscellaneous["stealthtime"].As <MenuSliderBool>().Value / 1000f)
                {
                    args.Cancel = true;
                }

                if (UtilityClass.Player.HasBuff("summonerexhaust"))
                {
                    args.Cancel = true;
                }

                if (MenuClass.Miscellaneous["stealthcheck"].As <MenuSliderBool>().Enabled&&
                    GameObjects.EnemyHeroes.Count(t =>
                                                  t.IsValidTarget(UtilityClass.Player.GetFullAttackRange(t))) >=
                    MenuClass.Miscellaneous["stealthcheck"].As <MenuSliderBool>().Value)
                {
                    args.Cancel = true;
                }
            }

            /// <summary>
            ///     The Target Forcing Logic.
            /// </summary>
            if (MenuClass.Miscellaneous["focusw"].As <MenuBool>().Enabled)
            {
                var forceTarget = Extensions.GetBestEnemyHeroesTargets().FirstOrDefault(t =>
                                                                                        t.GetBuffCount("vaynesilvereddebuff") == 2 &&
                                                                                        t.IsValidTarget(UtilityClass.Player.GetFullAttackRange(t)));
                if (forceTarget != null)
                {
                    args.Target = forceTarget;
                }
            }
        }
Esempio n. 30
0
        private static void OnPreAttack(object sender, PreAttackEventArgs Args)
        {
            if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0 || !Q.Ready)
            {
                return;
            }

            switch (Args.Target.Type)
            {
            case GameObjectType.obj_AI_Hero:
            {
                var target = Args.Target as Obj_AI_Hero;

                if (target != null && target.IsValidAutoRange())
                {
                    if (Orbwalker.Mode == OrbwalkingMode.Combo)
                    {
                        if (ComboOption.UseQ && AxeOption.GetSlider("CatchCount").Value >= AxeCount)
                        {
                            Q.Cast();
                        }
                    }
                    else if (Orbwalker.Mode == OrbwalkingMode.Mixed || Orbwalker.Mode == OrbwalkingMode.Laneclear &&
                             MyManaManager.SpellHarass)
                    {
                        if (HarassOption.HasEnouguMana() && HarassOption.GetHarassTargetEnabled(target.ChampionName))
                        {
                            if (HarassOption.UseQ)
                            {
                                if (AxeCount < 2)
                                {
                                    Q.Cast();
                                }
                            }
                        }
                    }
                }
            }
            break;
            }
        }