public static void OnUpdate() { var target = Global.TargetSelector.GetTarget(1100); if (target == null || Global.Orbwalker.IsWindingUp) { return; } if (SpellConfig.Q.Ready && target.IsValidTarget(SpellConfig.Q.Range)) { if (Extension.CurrentMode == Mode.Tornado && !MenuConfig.Harass["Q"].Enabled) { return; } SpellConfig.Q.Cast(target); } if (SpellConfig.E.Ready && MenuConfig.Harass["E"].Enabled && !target.IsUnderEnemyTurret()) { var distance = target.Distance(Global.Player); var minion = MinionHelper.GetDashableMinion(target); if (MinionHelper.IsDashable(target)) { SpellConfig.E.CastOnUnit(target); } if (minion != null) { SpellConfig.E.CastOnUnit(minion); } } }
public static void OnUpdate() { if (SpellConfig.E.Ready && MenuConfig.Misc["LasthitE"].Enabled) { var minion = GameObjects.EnemyMinions.FirstOrDefault(x => MinionHelper.IsDashable(x) && x.Health <= Global.Player.GetSpellDamage(x, SpellSlot.E)); if (minion == null) { return; } SpellConfig.E.CastOnUnit(minion); } if (SpellConfig.Q.Ready && (MenuConfig.Misc["LasthitQ"].Enabled && Extension.CurrentMode == Mode.Normal || MenuConfig.Misc["LasthitQ3"].Enabled && Extension.CurrentMode == Mode.Tornado)) { var minion = GameObjects.EnemyMinions.FirstOrDefault(x => x.Health <= Global.Player.GetSpellDamage(x, SpellSlot.Q) && x.Distance(Global.Player) <= SpellConfig.Q.Range - 100); if (minion == null) { return; } SpellConfig.Q.Cast(minion); } }
public static void OnUpdate() { var target = Global.TargetSelector.GetTarget(2500); if (target == null || !target.IsValidTarget()) { return; } var targetDist = target.Distance(Global.Player); var minion = MinionHelper.GetDashableMinion(target); var positionBehindMinion = MinionHelper.WalkBehindMinion(target, minion); if (!positionBehindMinion.IsZero && positionBehindMinion.Distance(Global.Player) <= MenuConfig.Combo["MRange"].Value) { MinionHelper.ExtendedMinion = positionBehindMinion; MinionHelper.ExtendedTarget = target.ServerPosition; } var dashDistance = MinionHelper.DashDistance(minion, target); if (SpellConfig.E.Ready && targetDist > Global.Player.AttackRange) { if (MinionHelper.IsDashable(target) && (Extension.CurrentMode == Mode.Tornado || targetDist > SpellConfig.E.Range - target.BoundingRadius && GameObjects.EnemyMinions.Count(MinionHelper.IsDashable) == 0)) { SpellConfig.E.CastOnUnit(target); } if (MenuConfig.Combo["Walk"].Enabled && Global.Orbwalker.CanMove() && !(MenuConfig.Combo["Turret"].Enabled && target.IsUnderEnemyTurret())) { SpellConfig.CastE(target, true, MenuConfig.Combo["MRange"].Value); } else if (minion != null) { if (MenuConfig.Combo["Turret"].Enabled && minion.ServerPosition.PointUnderEnemyTurret() || MenuConfig.Combo["Dash"].Value == 0 && minion.Distance(Game.CursorPos) > MenuConfig.Combo["Range"].Value) { return; } SpellConfig.CastE(minion); } } if (SpellConfig.Q.Ready) { switch (Extension.CurrentMode) { case Mode.Dashing: case Mode.DashingTornado: if (MenuConfig.Combo["Flash"].Enabled && dashDistance < 425 && dashDistance > 250 && targetDist > 220 && (Dmg.Damage(target) * 1.25 > target.Health || target.ServerPosition.CountEnemyHeroesInRange(220) >= 2)) { DelayAction.Queue(Game.Ping / 2, () => { SpellConfig.Q.Cast(); }, new CancellationToken(false)); DelayAction.Queue(Game.Ping / 2 + 50, () => { SummonerSpells.Flash.Cast(target.Position); }, new CancellationToken(false)); } else { var circle = new Geometry.Circle(Global.Player.GetDashInfo().EndPos, 220); var count = GameObjects.EnemyHeroes.Count(x => x.IsValidTarget() && x.Distance(circle.Center.To3D()) <= circle.Radius); if (count != 0) { SpellConfig.Q.Cast(target); } } break; default: SpellConfig.CastQ(target); break; } } if (SpellConfig.R.Ready && MenuConfig.Whitelist[target.ChampionName].Enabled && target.IsAirbone() && KnockUpHelper.IsItTimeToUlt(target)) { var airbourneTargets = GameObjects.EnemyHeroes.Where(x => KnockUpHelper.KnockedUp(x) && x.Distance(Global.Player) <= SpellConfig.R.Range); var targetCount = (airbourneTargets as Obj_AI_Hero[] ?? airbourneTargets.ToArray()).Length; if (targetCount >= MenuConfig.Combo["Count"].Value || targetDist > 350) { SpellConfig.R.Cast(); } } }