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; } }
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; } } }