private static void ThreshQ() { var target = TargetSelector.GetTarget(Main["combo"]["QMaximumRange"].As <MenuSlider>().Value); if (target == null) { return; } var prediction = _q.GetPrediction(target); if (Main["combo"]["q"].As <MenuBool>().Enabled&& Main["whiteList"]["qWhiteList" + target.ChampionName.ToLower()].As <MenuBool>().Enabled&& target.IsInRange(_q.Range) && target.IsValidTarget() && !target.HasBuff("threshQ") && _q.Ready && target.Distance(Thresh) > Main["combo"]["QMinimumRange"].As <MenuSlider>().Value) { if (prediction.HitChance >= HitChance.High) { _q.Cast(prediction.CastPosition); } } if (target.HasBuff("threshQ") && Main["combo"]["q2"].As <MenuBool>().Enabled&& !target.IsUnderEnemyTurret()) { if (target.Distance(Thresh.ServerPosition) >= 400) { DelayAction.Queue(1000, () => _q.CastOnUnit(Thresh)); } } if (target.HasBuff("threshQ") && target.IsUnderEnemyTurret() && Main["combo"]["q2Turret"].As <MenuBool>().Enabled) { if (target.Distance(Thresh.ServerPosition) >= 400) { DelayAction.Queue(1000, () => _q.CastOnUnit(Thresh)); } } }
private void CastUlt(Vector3 pos) { if (pos.IsZero) { DebugConsole.WriteLine("POSITION IS ZERO, CORE IS LIKELY BROKEN", MessageState.Warn); return; } var rectangle = new Geometry.Rectangle(Global.Player.ServerPosition.To2D(), pos.To2D(), _width); if (_menu["Collision"].Enabled && GameObjects.EnemyHeroes.Count(x => x.NetworkId != _target.NetworkId && rectangle.IsInside(x.ServerPosition.To2D())) > _maxCollisionObjects || pos.Distance(Global.Player) > _range || pos.Distance(Global.Player) < 1200) { return; } DebugConsole.WriteLine($"Successfully Fired At: {_target.ChampionName} With The Distance: {Global.Player.Distance(pos)}", MessageState.Debug); _ultimate.Cast(pos); Reset(); DelayAction.Queue(1500, () => { _lastSeenPosition = Vector3.Zero; _predictedPosition = Vector3.Zero; }, new CancellationToken(false)); }
public static void Orbwalker_OnPostAttack(Object sender, PostAttackEventArgs args) { //For post attack. If none, return. if (IOrbwalker.Mode == OrbwalkingMode.None) { return; } var dashPosition = Player.Position.Extend(Game.CursorPos, 350); if (!Q.Ready) // || !target.IsValidTarget(Player.AttackRange { return; } if (IOrbwalker.Mode == OrbwalkingMode.Laneclear) { if (!Champions.Kindred.MenuClass.JungleClearq["useq"].Enabled || Player.ManaPercent() < Champions.Kindred.MenuClass.JungleClearq["useqmana"].Value) { return; } } if (IOrbwalker.Mode == OrbwalkingMode.Mixed) { if (!Champions.Kindred.MenuClass.harassqmenu["useq"].Enabled || Player.ManaPercent() < Champions.Kindred.MenuClass.harassqmenu["useqmana"].Value) { return; } } //First Q logic - just Q to mouse Q.Cast(dashPosition); DelayAction.Queue(100 + Game.Ping, Orbwalker.ResetAutoAttackTimer); }
public static void CastR2(Obj_AI_Base target) { if (InvulnerableSpells.Any(target.HasBuff)) { return; } if (target.IsValidAutoRange()) { if (Items.CanUseTiamat()) { Items.CastTiamat(); DelayAction.Queue(1000, () => SpellConfig.R2.Cast(target)); } else { DelayAction.Queue(500, () => SpellConfig.R2.Cast(target)); } canUseQ = true; } else { SpellConfig.R2.Cast(target); } }
private static void Killsteal() { if (MenuManager.Killsteal["q"].Enabled && SpellManager.Q.Ready) { var killable = GameObjects.EnemyHeroes.Where(x => !x.IsDead && !x.IsInvulnerable && x.Health < Player.GetQDamage(x) && x.Distance(Player) <= SpellManager.Q.Range).ToList(); if (killable.Count == 0) { return; } SpellManager.Q.Cast(); return; } if (MenuManager.Killsteal["w"].Enabled && SpellManager.W.Ready) { var killable = GameObjects.EnemyHeroes.Where(x => !x.IsDead && !x.IsInvulnerable && x.Health < Player.GetWDamage(x) && x.Distance(Player) <= SpellManager.W.Range).OrderBy(x => x.Health).FirstOrDefault(); if (killable == null) { return; } SpellManager.W.Cast(); DelayAction.Queue(250, () => Orbwalker.Implementation.Attack(killable)); return; } if (MenuManager.Killsteal["e"].Enabled && SpellManager.E.Ready) { var killable = GameObjects.EnemyHeroes.Where(x => !x.IsDead && !x.IsInvulnerable && x.Health < Player.GetEDamage(x) && x.Distance(Player) <= SpellManager.E.Range).OrderBy(x => x.Health).FirstOrDefault(); if (killable == null) { return; } SpellManager.E.Cast(killable.ServerPosition); } }
private void OnTeleport(Obj_AI_Base sender, Obj_AI_BaseTeleportEventArgs args) { if (sender.IsAlly) { return; } //normal recall 8 sec if (args.Name.ToLower() == "recall") { //Console.WriteLine(Game.ClockTime + " | " + sender.Name.ToLower() + " is recalling."); var TeleportingChamp = _lastPositions.FirstOrDefault(t => t.Champ.Name.ToLower().Equals(sender.Name.ToLower())); TeleportingChamp.IsTeleporting = true; DelayAction.Queue(8000, () => TeleportingChamp.Teleported = true); } //baron recall 4 sec if (args.Name.ToLower() == "superrecall") { var TeleportingChamp = _lastPositions.FirstOrDefault(t => t.Champ.Name.ToLower().Equals(sender.Name.ToLower())); TeleportingChamp.IsTeleporting = true; DelayAction.Queue(4000, () => TeleportingChamp.Teleported = true); } }
private static void LaneClear() { foreach (var target in GameObjects.EnemyMinions.Where(m => m.IsValidTarget(Q.Range))) { if (target != null) { if (Main["laneclear"]["q"].As <MenuSliderBool>().Enabled&& Q.Ready && Player.HealthPercent() >= Main["laneclear"]["q"].As <MenuSliderBool>().Value) { if (target.Health < QDamage(target) && Main["laneclear"]["qlast"].As <MenuBool>().Enabled || target.IsValidTarget(Q.Range) && !Main["laneclear"]["qlast"].As <MenuBool>().Enabled) { Q.Cast(target); } } if (Main["laneclear"]["w"].As <MenuSliderBool>().Enabled&& W.Ready) { if (GameObjects.EnemyMinions.Count(x => x.Distance(Player) < 300 && x.IsValidTarget(300)) >= Main["laneclear"]["UnitsWhit"].As <MenuSlider>().Value&& Player.HealthPercent() >= Main["laneclear"]["w"].As <MenuSliderBool>().Value&& !IsBurning()) { W.Cast(); } else if (IsBurning() && GameObjects.EnemyMinions.Count(x => x.Distance(Player) < 400 && x.IsValidTarget(400)) <= 1) { W.Cast(); } } if (Main["laneclear"]["e"].As <MenuBool>().Enabled&& E.Ready) { if (GameObjects.EnemyMinions.Count(x => x.Distance(Player) < 300 && x.IsValidTarget(300)) >= 3) { DelayAction.Queue(300, () => E.Cast()); } } } } }
private void FlashR() { Player.IssueOrder(OrderType.MoveTo, Game.CursorPos); var target = GetBestEnemyHeroTargetInRange(Menu["combo"]["rset"]["ranger"].As <MenuSlider>().Value + 410); if (R.Ready) { if (Flash.Ready && Flash != null && target.IsValidTarget()) { if (target.IsValidTarget(Menu["combo"]["rset"]["ranger"].As <MenuSlider>().Value + 410)) { if (target.Distance(Player) > R.Range) { if (R.Cast(target.ServerPosition)) { DelayAction.Queue(200 + Game.Ping, () => { Flash.Cast(target.ServerPosition); }); } } } } } }
public void OnPostAttack() { var minion = GameObjects.EnemyMinions.FirstOrDefault(x => x.Distance(Global.Player) < Global.Player.AttackRange + x.BoundingRadius && x.Health > Global.Player.GetAutoAttackDamage(x)); if (minion == null || this.CheckEnabled && Global.Player.CountEnemyHeroesInRange(2000) >= 1) { return; } if (_spellConfig.E.Ready && this.EEnabled) { if (Items.CanUseTiamat()) { Items.CastTiamat(false); DelayAction.Queue(50, () => _spellConfig.E.Cast(minion)); } else { _spellConfig.E.Cast(minion); } } else if (_spellConfig.W.Ready && this.WEnabled) { _spellConfig.W.CastOnUnit(Global.Player); } }
private static void AutoExplode() { var closestHittingBarrel = BarrelManager.GetBarrelsThatWillHit().FirstOrDefault(); if (closestHittingBarrel != null) { var chainedBarrels = BarrelManager.GetChainedBarrels(closestHittingBarrel); var barrelToQ = BarrelManager.GetBestBarrelToQ(chainedBarrels); if (barrelToQ != null) { if (SpellManager.Q.Ready) { var timeWhenCanE = LastECast + 500; var delay = timeWhenCanE - Game.TickCount; delay = Ammo < 1 ? 0 : delay <= 0 ? 0 : delay; var castDelay = MenuManager.Combo["triple"].Enabled ? delay : 0; DelayAction.Queue(castDelay, () => SpellManager.Q.Cast(barrelToQ.Object)); return; } if (barrelToQ.Object.IsInAutoAttackRange() && Orbwalker.Implementation.CanAttack() && MenuManager.Combo["explodeQCooldown"].Enabled) { Orbwalker.Implementation.ForceTarget(barrelToQ.Object); Orbwalker.Implementation.Attack(barrelToQ.Object); } } } }
private static void ChaseTarget() { var target = GameObjects.EnemyHeroes.FirstOrDefault(x => x.IsValidTarget(1500)); if (target == null) { return; } if (MenuConfig.Combo["Chase"].Value == 0 || target.Distance(Global.Player) < Global.Player.AttackRange + 65) { return; } switch (MenuConfig.Combo["Chase"].Value) { case 1: if (target.Distance(Global.Player) <= Global.Player.AttackRange + SpellConfig.Q.Range && Extensions.CurrentQCount == 1 && target.Distance(Global.Player) > Global.Player.AttackRange) { SpellManager.CastQ(target, true); } break; case 2: if (target.Distance(Global.Player) <= Global.Player.AttackRange + SpellConfig.Q.Range + SpellConfig.E.Range && target.Distance(Global.Player) > Global.Player.AttackRange + SpellConfig.Q.Range && SpellConfig.E.Ready && SpellConfig.Q.Ready && Extensions.CurrentQCount == 1) { SpellConfig.E.Cast(target.ServerPosition); DelayAction.Queue(190, () => SpellManager.CastQ(target, true), new CancellationToken(false)); } break; } }
public static void DisableAutoAttack(int duration = 500) { duration += Game.Ping / 2 + 50; Global.Orbwalker.AttackingEnabled = false; DelayAction.Queue(duration, () => Global.Orbwalker.AttackingEnabled = true, new CancellationToken(false)); }
public static void OnPlayAnimation(Obj_AI_Base sender, Obj_AI_BasePlayAnimationEventArgs args) { if (sender == null || !sender.IsMe) { return; } switch (args.Animation) { case "Spell3": if (Extension.CurrentMode == Mode.Tornado) { SpellConfig.SetSkill(Mode.DashingTornado); } else { SpellConfig.SetSkill(Mode.Dashing); DelayAction.Queue(1000, () => { SpellConfig.SetSkill(Mode.Normal); }, new CancellationToken(false)); } break; } }
private static void Flee() { if (!Setup.Flee["Key"].Enabled) { return; } Player.IssueOrder(OrderType.MoveTo, Game.CursorPos); if (Player.ManaPercent() < Setup.Flee["Mana"].As <MenuSlider>().Value) { return; } if (Setup.Flee["E"].As <MenuBool>().Enabled&& Spells.E.Ready) { var target = TargetSelector.GetTarget(Spells.E.Range); if (target.IsValidTarget()) { Spells.E.Cast(target); } } if (Setup.Flee["Q"].As <MenuBool>().Enabled&& Spells.Q.Ready) { Spells.Q.Cast(Game.CursorPos); if (Setup.Misc["Anim"].As <MenuBool>().Enabled) { DelayAction.Queue(200, () => MenuGUI.DoEmote(EmoteType.Dance)); } } }
public static void CastE(Obj_AI_Base target, bool flash = false) { var canFlash = flash && SummonerSpells.IsValid(SummonerSpells.Flash) && target.Distance(Global.Player) > E.Range && target.Distance(Global.Player) < E.Range + 425; var pred = E.GetPrediction(target); BodySlam = new Geometry.Rectangle( canFlash ? Global.Player.ServerPosition.Extend(target.ServerPosition, 425 + E.Range - target.BoundingRadius).To2D() : Global.Player.ServerPosition.To2D(), Global.Player.ServerPosition.Extend(pred.CastPosition, E.Range).To2D(), EHitboxRadius); if (BodySlam.IsOutside(target.ServerPosition.To2D())) { return; } if (GameObjects.EnemyMinions.Any(x => BodySlam.IsInside(x.ServerPosition.To2D()) && x.Distance(BodySlam.Start) <= target.Distance(BodySlam.Start) && x.Distance(target) >= Global.Player.BoundingRadius + 200)) { return; } if (canFlash) { E.Cast(target.ServerPosition); DelayAction.Queue(300, () => SummonerSpells.Flash.Cast(target.ServerPosition), new CancellationToken(false)); return; } E.Cast(target.ServerPosition); }
private static void Main() { Loading.OnLoadingComplete += () => { DelayAction.Queue(Bootstrap.Initialize, 1750); }; }
public static void OnRender() { if (Global.Player.IsDead) { return; } if (MenuConfig.Drawings["Q"].Enabled && SpellConfig.Q.Ready) { Render.Circle(Global.Player.Position, SpellConfig.Q.Range, (uint)MenuConfig.Drawings["Segments"].Value, Color.Cyan); } if (MenuConfig.Drawings["W"].Enabled && SpellConfig.W.Ready) { Render.Circle(Global.Player.Position, SpellConfig.W.Range, (uint)MenuConfig.Drawings["Segments"].Value, Color.Cyan); } if (MenuConfig.Drawings["E"].Enabled && SpellConfig.E.Ready) { Render.Circle(Global.Player.Position, SpellConfig.E.Range, (uint)MenuConfig.Drawings["Segments"].Value, Color.Cyan); } if (Extensions.AssassinTarget != null) { Render.WorldToScreen(Global.Player.Position, out var screen); Render.Text("Target: " + Extensions.AssassinTarget.ChampionName, new Vector2(screen.X - 55, screen.Y + 40), RenderTextFlags.Center, Color.White); DelayAction.Queue(2500, () => Extensions.AssassinTarget = null, new CancellationToken(false)); } }
public static void OnPostAttack() { var target = GameObjects.EnemyHeroes.OrderBy(x => x.Distance(Global.Player)).FirstOrDefault(x => x.Distance(Global.Player) <= Global.Player.AttackRange + 200); if (target == null) { return; } if (!target.HasBuff("YasuoDashWrapper")) { SpellConfig.E.Cast(target); DelayAction.Queue(Game.Ping / 2, () => SpellConfig.Q.Cast(), new CancellationToken(false)); DelayAction.Queue(Game.Ping / 2 + 70, () => SpellConfig.R.Cast(), new CancellationToken(false)); } else if (SpellConfig.R.Ready) { SpellConfig.R.Cast(); } else if (SpellConfig.Q.Ready) { SpellConfig.Q.Cast(target); } }
public static void OnKeyPressed() { var target = Global.TargetSelector.GetSelectedTarget(); if (target == null || !SpellManager.E.Ready) { return; } if (target.IsValidTarget(SpellManager.E.Range)) { SpellManager.CastE(target); } var point = WallExtension.NearestWall(target, 430); if (point.IsZero) { return; } var pos = target.ServerPosition + (target.ServerPosition - point).Normalized() * 200; SpellManager.DrawingPred = pos; if (pos.Distance(Global.Player) <= SummonerSpells.Flash.Range && SummonerSpells.IsValid(SummonerSpells.Flash)) { SpellManager.E.CastOnUnit(target); DelayAction.Queue(100, () => SummonerSpells.Flash.Cast(pos), new CancellationToken(false)); } }
public static void OnTick(EntropyEventArgs args) { if (LocalPlayer.Instance.IsDead) { return; } if (Definitions.IsCulling()) { DelayAction.Queue(() => { Orbwalker.Move(Hud.CursorPositionUnclipped); }, 100 + EnetClient.Ping); } if (Orbwalker.IsWindingUp) { return; } switch (Orbwalker.Mode) { case OrbwalkingMode.Combo: if (E.Ready) { Combo.E(args); } if (R.Ready) { Combo.R(args); } break; case OrbwalkingMode.LaneClear: if (Q.Ready) { Laneclear.Q(args); } if (W.Ready) { Laneclear.W(args); } break; case OrbwalkingMode.Harass: if (Q.Ready) { Harass.Q(args); Harass.ExtendedQ(args); } if (W.Ready) { Harass.W(args); } break; } }
private static void Harass() { if (Player.ManaPercent() < Setup.Harass["Mana"].As <MenuSlider>().Value || !Setup.Harass["Key"].Enabled) { return; } if (Setup.Harass["E"].As <MenuBool>().Enabled&& Spells.E.Ready && Spells.Q.Ready) { var target = TargetSelector.GetTarget(Spells.EQ.Range); var pred = Spells.EQ.GetPrediction(target); if (target.IsValidTarget() && pred.HitChance >= HitChance.High) { if (Player.ServerPosition.Distance(target.ServerPosition) > Spells.Q.Range) { var EDelay = Spells.Q.Delay - (Spells.E.Delay + ((Player.Distance(Player.ServerPosition.Extend(pred.CastPosition, Spells.Q.Range))) / Spells.E.Speed)); Spells.Q.Cast(Player.ServerPosition.Extend(pred.CastPosition, Spells.Q.Range)); DelayAction.Queue((int)EDelay * 1000, () => Spells.E.Cast(Player.ServerPosition.Extend(pred.CastPosition, Spells.Q.Range))); } else { var EDelay = Spells.Q.Delay - (Spells.E.Delay + ((Player.Distance(Player.ServerPosition.Extend(pred.CastPosition, Spells.Q.Range))) / Spells.E.Speed)); Spells.Q.Cast(pred.CastPosition.Extend(Player.ServerPosition, -150)); DelayAction.Queue((int)EDelay * 2000, () => Spells.E.Cast(pred.CastPosition.Extend(Player.ServerPosition, -150))); } } } if (Setup.Harass["Q"].As <MenuBool>().Enabled&& Spells.Q.Ready) { var target = TargetSelector.GetTarget(Spells.Q.Range); var pred = Spells.Q.GetPrediction(target); if (target.IsValidTarget() && pred.HitChance >= HitChance.High) { Spells.Q.Cast(pred.CastPosition); } } if (Setup.Harass["W"].As <MenuBool>().Enabled&& Spells.W.Ready) { var target = TargetSelector.GetTarget(Spells.W.Range); var pred = Spells.W.GetPrediction(target); if (target.IsValidTarget() && !Player.HasBuff("syndrawtooltip") && delay < Game.TickCount) { if (Objects() != null && Objects().Distance(Player.ServerPosition) < Spells.W.Range - 25) { Spells.W.Cast(Objects().ServerPosition); delay = Game.TickCount + 1000; Spells.W.LastCastAttemptT = Game.TickCount; } } if (target.IsValidTarget() && pred.HitChance >= HitChance.High && Player.HasBuff("syndrawtooltip") && Game.TickCount - Spells.W.LastCastAttemptT > Game.Ping + 100) { Spells.W.Cast(pred.CastPosition); } } }
private static void OnIssueOrder(Obj_AI_Base sender, Obj_AI_BaseIssueOrderEventArgs /*Obj_AI_BaseMissileClientDataEventArgs*/ Args) { if (!sender.IsMe) { return; } if (Args.OrderType != OrderType.AttackUnit || !E.Ready) { return; } if (Orbwalker.Mode != OrbwalkingMode.Combo && Orbwalker.Mode != OrbwalkingMode.Laneclear) { return; } var target = (AttackableUnit)Args.Target; if (target == null || !target.IsValidTarget()) { return; } if (!Orbwalker.CanAttack() || !target.IsValidTarget(Me.AttackRange + Me.BoundingRadius + target.BoundingRadius - 20)) { Args.ProcessEvent = false; return; } if (Orbwalker.Mode == OrbwalkingMode.Combo && ComboOption.UseE && ComboOption.GetBool("ComboEReset").Enabled&& target.Type == GameObjectType.obj_AI_Hero) { if (ELogic((Obj_AI_Hero)target)) { DelayAction.Queue(1, () => { //E.Cast(Me.ServerPosition.Extend(Args.Target.ServerPosition, E.Range - Args.Target.BoundingRadius)); Orbwalker.ResetAutoAttackTimer(); //Me.IssueOrder(OrderType.AttackUnit, target); }); } } else if (Orbwalker.Mode == OrbwalkingMode.Laneclear && JungleClearOption.HasEnouguMana() && JungleClearOption.UseE && target.IsMob()) { if (ELogic((Obj_AI_Minion)target)) { DelayAction.Queue(1, () => { // E.Cast(Me.ServerPosition.Extend(Args.Target.ServerPosition, E.Range - Args.Target.BoundingRadius)); Orbwalker.ResetAutoAttackTimer(); //Me.IssueOrder(OrderType.AttackUnit, target); }); } } }
public static void OnUpdate() { try { if (Global.Player.IsDead || Global.Orbwalker.IsWindingUp || Global.Player.IsRecalling()) { return; } foreach (var soldier in SoldierManager.Soldiers) { if (soldier.Distance(Global.Player) > 660) { continue; } var enemy = GameObjects.Enemy.FirstOrDefault(x => x.Distance(soldier) <= 250 + x.BoundingRadius && !x.IsDead && x.MaxHealth > 10 && soldier.Distance(Global.Player) <= SpellConfig.Q.Range + 65 && soldier.Distance(Global.Player) > Global.Player.AttackRange); if (enemy == null || Game.TickCount - _lastAa <= 1000) { continue; } _lastAa = Game.TickCount; Global.Player.IssueOrder(OrderType.AttackUnit, enemy); DelayAction.Queue(250, () => Global.Player.IssueOrder(OrderType.MoveTo, Game.CursorPos), new CancellationToken(false)); } SpellConfig.R.Width = 133 * (3 + Global.Player.GetSpell(SpellSlot.R).Level); Insec.OnKeyPressed(); switch (Global.Orbwalker.Mode) { case OrbwalkingMode.Combo: Combo.OnUpdate(); break; case OrbwalkingMode.Mixed: Harass.OnUpdate(); break; case OrbwalkingMode.Laneclear: JungleClear.OnUpdate(); LaneClear.OnUpdate(); break; case OrbwalkingMode.None: AzirHelper.Rect = null; break; } } catch (Exception e) { Console.WriteLine(e); throw; } }
private void OnProcessSpellCast(Obj_AI_Base sender, Obj_AI_BaseMissileClientDataEventArgs args) { if (sender.IsMe) { if (args.SpellData.Name == "AhriSeduce") { if (Menu["combo"]["flashe"].Enabled) { var target = GetBestEnemyHeroTargetInRange(Menu["combo"]["rangee"].As <MenuSlider>().Value); if (Flash.Ready && Flash != null && target.IsValidTarget()) { DelayAction.Queue(50, () => { Flash.Cast(target.ServerPosition); }); } } if (Orbwalker.Mode == OrbwalkingMode.Combo) { var target = GetBestEnemyHeroTargetInRange(E.Range); if (Menu["combo"]["rset"]["burstr"].Enabled && Menu["combo"]["rset"]["user"].Enabled) { if (target != null) { if (target.Health < Player.GetSpellDamage(target, SpellSlot.Q) + Player.GetSpellDamage(target, SpellSlot.W) + Player.GetSpellDamage(target, SpellSlot.E) + Player.GetSpellDamage(target, SpellSlot.R) * 3) { if (Menu["combo"]["rset"]["waster"].As <MenuSlider>().Value >= target.CountEnemyHeroesInRange(600)) { if (!Player.HasBuff("AhriTumble")) { if (R.Ready) { DelayAction.Queue(200, () => { R.Cast( target.ServerPosition.Extend(Player.ServerPosition, -200)); } ); } } } } } } } } } }
private static void ThreshEq() { if (Main["harass"]["EqHarass"].As <MenuBool>().Enabled) { var target = TargetSelector.GetTarget(Main["combo"]["QMaximumRange"].As <MenuSlider>().Value); if (target == null) { return; } if (target.IsInRange(_e.Range) && !target.HasBuff("threshQ") && _e.Ready) { _e.Cast(target.Position.Extend(Thresh.ServerPosition, Vector3.Distance(target.Position, Thresh.Position) + 400)); } var prediction = _q.GetPrediction(target); if (Main["whiteList"]["qWhiteList" + target.ChampionName.ToLower()].As <MenuBool>().Enabled&& target.IsInRange(_q.Range) && target.IsValidTarget() && !target.HasBuff("threshQ") && _q.Ready && target.Distance(Thresh) > _e.Range && !_e.Ready) { if (prediction.HitChance >= HitChance.High) { _q.Cast(prediction.CastPosition); } } if (target.HasBuff("threshQ") && Main["combo"]["q2"].As <MenuBool>().Enabled&& !target.IsUnderEnemyTurret()) { if (target.Distance(Thresh.ServerPosition) >= 400) { DelayAction.Queue(1000, () => _q.CastOnUnit(Thresh)); } } if (target.HasBuff("threshQ") && target.IsUnderEnemyTurret() && Main["combo"]["q2Turret"].As <MenuBool>().Enabled) { if (target.Distance(Thresh.ServerPosition) >= 400) { DelayAction.Queue(1000, () => _q.CastOnUnit(Thresh)); } } var ally = GameObjects.AllyHeroes.Where(x => x.IsInRange(_q.Range + 400) && !x.IsDead && x.IsAlly && !x.IsMe).FirstOrDefault(x => x.Distance(Thresh.Position) <= 1400); if (ally != null && _w.Ready) { if (ally.Distance(Thresh.ServerPosition) <= 700) { return; } if (target.HasBuff("threshQ")) { _w.Cast(ally.ServerPosition); } if (target.Distance(Thresh) <= 400 && Main["combo"]["wAlly"].As <MenuBool>().Enabled) { _w.Cast(ally.ServerPosition); } } } }
private static void Game_OnUpdate() { BarrelManager.Barrels.RemoveAll(x => x.Object.IsDead); RemoveCC(); Killsteal(); var closestHittingBarrel = BarrelManager.GetBarrelsThatWillHit().FirstOrDefault(); if (closestHittingBarrel != null) { var chainedBarrels = BarrelManager.GetChainedBarrels(closestHittingBarrel); var barrelToQ = BarrelManager.GetBestBarrelToQ(chainedBarrels); if (barrelToQ != null && SpellManager.Q.Ready) { var timeWhenCanE = LastECast + 500; var delay = timeWhenCanE - Game.TickCount; delay = delay <= 0 ? 0 : delay; var castDelay = MenuManager.Combo["triple"].Enabled ? delay : 0; DelayAction.Queue(castDelay, () => SpellManager.Q.Cast(barrelToQ.Object)); return; } } if ((Orbwalker.Implementation.Mode == OrbwalkingMode.Combo || Orbwalker.Implementation.Mode == OrbwalkingMode.Mixed || Orbwalker.Implementation.Mode == OrbwalkingMode.Lasthit || Orbwalker.Implementation.Mode == OrbwalkingMode.Laneclear || MenuManager.Keys["comboToMouse"].Enabled || MenuManager.Keys["qBarrel"].Enabled) && MenuManager.Misc["aaBarrel"].Enabled) { AttackNearestBarrel(); } if (MenuManager.Keys["comboToMouse"].Enabled) { AttackNearestBarrel(); ComboToMouse(); } if (MenuManager.Keys["qBarrel"].Enabled) { AttackNearestBarrel(); QNearestBarrel(); } switch (Orbwalker.Implementation.Mode) { case OrbwalkingMode.Combo: Combo(); break; case OrbwalkingMode.Mixed: Harass(); break; case OrbwalkingMode.Lasthit: LastHit(); break; } }
public void Assasinate() { if (HasEvolvedJump) { if (MidAssasination) { if (AssasinationTarget == null || AssasinationTarget.IsDead || Game.TickCount - StartAssasinationTick > 2500) { MidAssasination = false; if (Variables.Spells[SpellSlot.E].Ready) { var mode = Variables.Menu["combo"]["jumpMode"].Value; // 0 = old pos, 1 = mouse pos var point = mode == 0 ? PreJumpPos : Game.CursorPos; if (point.Distance(ObjectManager.GetLocalPlayer().ServerPosition) > Variables.Spells[SpellSlot.E].Range) { PreJumpPos = ObjectManager.GetLocalPlayer() .ServerPosition.Extend(point, Variables.Spells[SpellSlot.E].Range); } } } else { Khazix.ExecuteAssasinationCombo(AssasinationTarget); } } else if (Variables.Spells[SpellSlot.E].Ready) { var selectedTarget = TargetSelector.GetSelectedTarget(); var bestEnemy = selectedTarget != null && selectedTarget.IsInRange(Variables.Spells[SpellSlot.E].Range) && ObjectManager.GetLocalPlayer().GetBurstDamage(selectedTarget) >= selectedTarget.Health ? selectedTarget : GameObjects.EnemyHeroes .Where(x => x.IsValidTarget(Variables.Spells[SpellSlot.E].Range) && x.Health <= ObjectManager.GetLocalPlayer().GetBurstDamage(x)) .MaxBy( x => TargetSelector.Implementation.Config["TargetsMenu"][ "priority" + selectedTarget?.ChampionName] .Value); if (bestEnemy != null) { PreJumpPos = ObjectManager.GetLocalPlayer().ServerPosition; Variables.Spells[SpellSlot.E].Cast(bestEnemy.ServerPosition); AssasinationTarget = bestEnemy; MidAssasination = true; StartAssasinationTick = Game.TickCount; DelayAction.Queue(2500, () => MidAssasination = false); } } } }
public static void OnProcessSpellCast(Obj_AI_Base sender, Obj_AI_BaseMissileClientDataEventArgs args) { if (!sender.IsMe || args.SpellSlot != SpellSlot.Q || args.SpellData.Name != "GragasQ") { return; } Barrel = new Geometry.Circle(args.End.To2D(), QRadius); DelayAction.Queue(4000, () => Barrel = null); }
private static void ResetAutoAttack() { Global.Orbwalker.AttackingEnabled = false; DelayAction.Queue((int)GetDelay(), () => { Global.Orbwalker.AttackingEnabled = true; Global.Orbwalker.ResetAutoAttackTimer(); }); }
private static void Implementation_PostAttack(object sender, PostAttackEventArgs e) { if (sender is Obj_AI_Hero hero && e.Target is Obj_AI_Hero target) { if (hero.IsMe && target.GetPassiveMarks() == 1 && AutoIsCharged && SpellManager.W.Ready) { DelayAction.Queue(25, () => SpellManager.W.Cast()); } } }