示例#1
0
 private void Orbwalker_OnAction(object sender, LeagueSharp.SDK.Core.Orbwalker.OrbwalkerActionArgs e)
 {
     if (!Enable)
         return;
     if (e.Type == OrbwalkerType.AfterAttack && e.Target.IsValidTarget())
     {
         if (Variables.TickCount - yellowtick <= 1500)
             return;
         if (Orb.ActiveMode == OrbwalkerMode.Orbwalk && comboqafterattack)
         {
             if (e.Target.IsValidTarget() && !e.Target.IsZombie)
             {
                 var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical);
                 if (target.IsValidTarget() && !target.IsZombie)
                 Q.Cast(Q.GetPrediction(target).CastPosition);
             }
         }
         if (Orb.ActiveMode == OrbwalkerMode.Hybrid && harassqafterattack && Player.ManaPercent >= harassmana)
         {
             if (e.Target.IsValidTarget() && !e.Target.IsZombie)
             {
                 var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical);
                 if (target.IsValidTarget() && !target.IsZombie)
                     Q.Cast(Q.GetPrediction(target).CastPosition);
             }
         }
     }
     var mode = new OrbwalkerMode[] { OrbwalkerMode.Hybrid, OrbwalkerMode.Orbwalk };
     if (e.Type == OrbwalkerType.BeforeAttack)
     {
         if (IsPickingCard && mode.Contains(Orb.ActiveMode)) e.Process = false;
         else if (HasACard != "none" && !GameObjects.EnemyHeroes.Contains(e.Target) && Orb.ActiveMode == OrbwalkerMode.Hybrid)
         {
             e.Process = false;
             var target = TargetSelector.GetTarget(Player.GetRealAutoAttackRange(), DamageType.Magical);
             if (target.IsValidTarget() && !target.IsZombie)
                 Player.IssueOrder(GameObjectOrder.AttackUnit, target);
         }
         else if (HasACard != "none" && HasRed && Orb.ActiveMode == OrbwalkerMode.LaneClear)
         {
             e.Process = false;
             IDictionary<Obj_AI_Minion, int> creeps = new Dictionary<Obj_AI_Minion, int>();
             foreach (var x in GameObjects.EnemyMinions.Where(x => x.InAutoAttackRange()))
             {
                 creeps.Add(x, GameObjects.EnemyMinions.Count(y => y.IsValidTarget() && y.Distance(x.Position) <= 300));
             }
             foreach (var x in GameObjects.Jungle.Where(x => x.InAutoAttackRange()))
             {
                 creeps.Add(x, GameObjects.Jungle.Count(y => y.IsValidTarget() && y.Distance(x.Position) <= 300));
             }
             var minion = creeps.OrderByDescending(x => x.Value).FirstOrDefault();
             Player.IssueOrder(GameObjectOrder.AttackUnit, minion.Key);
         }
     }
     if (e.Type == OrbwalkerType.OnAttack)
     {
         if (HasGold)
             yellowtick = Variables.TickCount;
     }
 }
示例#2
0
        private void Orbwalker_OnAction(object sender, LeagueSharp.SDK.Core.Orbwalker.OrbwalkerActionArgs e)
        {
            if (!Enable)
            {
                return;
            }
            if (e.Type == OrbwalkerType.AfterAttack && e.Target.IsValidTarget())
            {
                if (Variables.TickCount - yellowtick <= 1500)
                {
                    return;
                }
                if (Orb.ActiveMode == OrbwalkerMode.Orbwalk && comboqafterattack)
                {
                    if (e.Target.IsValidTarget() && !e.Target.IsZombie)
                    {
                        var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical);
                        if (target.IsValidTarget() && !target.IsZombie)
                        {
                            Q.Cast(Q.GetPrediction(target).CastPosition);
                        }
                    }
                }
                if (Orb.ActiveMode == OrbwalkerMode.Hybrid && harassqafterattack && Player.ManaPercent >= harassmana)
                {
                    if (e.Target.IsValidTarget() && !e.Target.IsZombie)
                    {
                        var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical);
                        if (target.IsValidTarget() && !target.IsZombie)
                        {
                            Q.Cast(Q.GetPrediction(target).CastPosition);
                        }
                    }
                }
            }
            var mode = new OrbwalkerMode[] { OrbwalkerMode.Hybrid, OrbwalkerMode.Orbwalk };

            if (e.Type == OrbwalkerType.BeforeAttack)
            {
                if (IsPickingCard && mode.Contains(Orb.ActiveMode))
                {
                    e.Process = false;
                }
                else if (HasACard != "none" && !GameObjects.EnemyHeroes.Contains(e.Target) && Orb.ActiveMode == OrbwalkerMode.Hybrid)
                {
                    e.Process = false;
                    var target = TargetSelector.GetTarget(Player.GetRealAutoAttackRange(), DamageType.Magical);
                    if (target.IsValidTarget() && !target.IsZombie)
                    {
                        Player.IssueOrder(GameObjectOrder.AttackUnit, target);
                    }
                }
                else if (HasACard != "none" && HasRed && Orb.ActiveMode == OrbwalkerMode.LaneClear)
                {
                    e.Process = false;
                    IDictionary <Obj_AI_Minion, int> creeps = new Dictionary <Obj_AI_Minion, int>();
                    foreach (var x in GameObjects.EnemyMinions.Where(x => x.InAutoAttackRange()))
                    {
                        creeps.Add(x, GameObjects.EnemyMinions.Count(y => y.IsValidTarget() && y.Distance(x.Position) <= 300));
                    }
                    foreach (var x in GameObjects.Jungle.Where(x => x.InAutoAttackRange()))
                    {
                        creeps.Add(x, GameObjects.Jungle.Count(y => y.IsValidTarget() && y.Distance(x.Position) <= 300));
                    }
                    var minion = creeps.OrderByDescending(x => x.Value).FirstOrDefault();
                    Player.IssueOrder(GameObjectOrder.AttackUnit, minion.Key);
                }
            }
            if (e.Type == OrbwalkerType.OnAttack)
            {
                if (HasGold)
                {
                    yellowtick = Variables.TickCount;
                }
            }
        }