예제 #1
0
        public static void Execute()
        {
            if (!Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
            {
                return;
            }

            if (Menu.Harass.Q && Spells.Q.IsReady())
            {
                var target = TargetSelector.GetTarget(Spells.Q.Range, DamageType.Magical, Player.Instance.Position);
                if (target.IsValidTarget(Spells.Q.Range))
                {
                    Utility.Debug(string.Format("Used Q on {0} (Harass Mode).", target.ChampionName));
                    Spells.Q.Cast(target);
                }
            }

            if (Menu.Harass.W && Spells.W.IsReady() &&
                EntityManager.Heroes.Allies.Any(
                    ally => ally != null && !ally.IsMe && ally.IsValidTarget(Spells.W.Range) && ally.IsAttackingPlayer))
            {
                Utility.Debug("Used W to help a teammate (Harass Mode).");
                Spells.W.Cast();
            }
        }
예제 #2
0
        public static void Execute()
        {
            if (!Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear) &&
                !Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear))
            {
                return;
            }

            if (!Menu.Clear.Q || !Spells.Q.IsReady())
            {
                return;
            }

            var minionObj = ObjectManager.Get <Obj_AI_Minion>()
                            .Where(minion => !minion.IsAlly && minion.Distance(Player.Instance) < Spells.Q.Range);
            var objAiMinions = minionObj as Obj_AI_Minion[] ?? minionObj.ToArray();
            var obj          = objAiMinions.FirstOrDefault(minion => minion.Health < Damages.Spell.Q.GetDamage(minion)) ??
                               objAiMinions.MinOrDefault(minion => minion.Health);

            if (obj.IsValidTarget())
            {
                return;
            }

            Utility.Debug("Used Q on a minion/mob (Lane/Jungle Clear Mode).");
            Spells.Q.Cast(obj);
        }
예제 #3
0
 private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender,
                                                      Interrupter.InterruptableSpellEventArgs e)
 {
     if (Menu.Misc.InterruptR && Spells.R.IsReady() && sender.IsValidTarget(Spells.R.Range) && sender.IsEnemy)
     {
         Utility.Debug(string.Format("Used R on {0} (OnInterruptableSpell).",
                                     ((AIHeroClient)sender).ChampionName));
         Spells.R.Cast(sender);
     }
 }
예제 #4
0
        public static void Execute()
        {
            if (!Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                return;
            }

            if (Menu.Combo.Q && Spells.Q.IsReady())
            {
                var target = TargetSelector.GetTarget(Spells.Q.Range, DamageType.Magical, Player.Instance.Position);
                if (target.IsValidTarget(Spells.Q.Range))
                {
                    Utility.Debug(string.Format("Used Q on {0} (Combo Mode).", target.ChampionName));
                    Spells.Q.Cast(target);
                }
            }

            if (Menu.Combo.R && Spells.R.IsReady())
            {
                var targets =
                    EntityManager.Heroes.Enemies.Where(
                        enemy =>
                        Menu.ComboMenu["R." + enemy.ChampionName].Cast <CheckBox>().CurrentValue&&
                        Player.Instance.Distance(enemy) < Spells.R.Range);
                foreach (var target in targets)
                {
                    if (!target.IsValidTarget())
                    {
                        continue;
                    }

                    if (Menu.Combo.Smite)
                    {
                        Utility.Debug(string.Format("Used Smite on {0} (Combo Mode).", target.ChampionName));
                        Player.Instance.Spellbook.CastSpell(Spells.Smite, target);
                    }

                    Utility.Debug(string.Format("Used R on {0} (Combo Mode).", target.ChampionName));
                    Spells.R.Cast(target);
                }
            }

            if (Menu.Combo.W && Spells.W.IsReady() &&
                EntityManager.Heroes.Allies.Any(
                    ally => !ally.IsMe && ally.IsValidTarget(Spells.W.Range) && ally.IsAttackingPlayer))
            {
                Utility.Debug("Used W to help a teammate (Combo Mode).");
                Spells.W.Cast();
            }
        }
예제 #5
0
        private static void Orbwalker_OnAttack(AttackableUnit target, EventArgs args)
        {
            if (!Spells.W.IsReady())
            {
                return;
            }

            var aiHeroClientW = Menu.Combo.W || Menu.Harass.W;

            if (((Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) ||
                  Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) && aiHeroClientW &&
                 target is AIHeroClient) ||
                (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) && Menu.Clear.W &&
                 target is Obj_AI_Minion))
            {
                Utility.Debug("Used W on OnAttack Callback.");
                Spells.W.Cast();
            }
        }
예제 #6
0
        public static void Execute()
        {
            if (!Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit))
            {
                return;
            }

            if (!Menu.LastHit.Q || !Spells.Q.IsReady())
            {
                return;
            }

            var obj =
                EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, Player.Instance.Position,
                                                                Spells.Q.Range).FirstOrDefault(minion => minion.Health < Damages.Spell.Q.GetDamage(minion));

            if (obj.IsValidTarget(Spells.Q.Range))
            {
                return;
            }

            Utility.Debug("Used Q on a minion/mob (Last Hit Mode).");
            Spells.Q.Cast(obj);
        }