private void FlashStunRawr() { if (!Flash_Ready()) { Combo(); } var target = TargetSelector.GetTarget(1000, TargetSelector.DamageType.Magical); if (!FlashStunCondition(target)) { return; } var pred = R2.GetPrediction(target, true); if (Player.Distance(target) > 600) { Player.Spellbook.CastSpell(_flashSlot, pred.CastPosition); if (StunCount() == 3) { E.Cast(packets()); } Utility.DelayAction.Add(50, () => R2.Cast(pred.CastPosition, packets())); Utility.DelayAction.Add(100, () => W.Cast(pred.CastPosition, packets())); } }
private float Get_R_Dmg(Obj_AI_Hero target) { double dmg = 0; dmg += Player.GetSpellDamage(target, SpellSlot.R); var rPred = R2.GetPrediction(target); var collisionCount = rPred.CollisionObjects.Count; if (collisionCount >= 7) { dmg = dmg * .3; } else if (collisionCount != 0) { dmg = dmg * ((10 - collisionCount) / 10); } //Game.PrintChat("collision: " + collisionCount); return((float)dmg); }
private void CastSingleR() { var target = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical); if (target == null) { return; } var vector1 = target.ServerPosition - Vector3.Normalize(target.ServerPosition - Player.ServerPosition) * 300; R2.UpdateSourcePosition(vector1, vector1); var pred = R2.GetPrediction(target, true); if (Player.Distance(target) < 400) { var midpoint = (Player.ServerPosition + pred.UnitPosition) / 2; vector1 = midpoint + Vector3.Normalize(pred.UnitPosition - Player.ServerPosition) * 800; var vector2 = midpoint - Vector3.Normalize(pred.UnitPosition - Player.ServerPosition) * 300; if (!IsPassWall(pred.UnitPosition, vector1) && !IsPassWall(pred.UnitPosition, vector2)) { CastR(vector1, vector2); } } else if (!IsPassWall(pred.UnitPosition, vector1) && !IsPassWall(pred.UnitPosition, pred.CastPosition)) { //wall check if (pred.Hitchance >= HitChance.Medium) { CastR(vector1, pred.CastPosition); } } }
private static void Game_OnUpdate() { if (Player.IsDead || MenuGUI.IsChatOpen()) { return; } switch (Misc.Orbwalker.Mode) { case OrbwalkingMode.Combo: Combo(); break; case OrbwalkingMode.Mixed: Harass(); break; case OrbwalkingMode.Laneclear: LaneClear(); JungleClear(); break; } if (R.Ready && Main["combo"]["rKS"].As <MenuBool>().Enabled) { var target = GetBestEnemyHeroTargetInRange(R.Range); if (target != null && !Player.HasBuff("JarvanIVCataclysm")) { if (target.Health < RDamage(target) && !Check(target)) { if (Player.Distance(target.ServerPosition) < 650 && (Player.Distance(target.ServerPosition) > 450 && !E.Ready && !Q.Ready || Player.HealthPercent() < 15)) { R.Cast(target); } if (Player.Distance(target.ServerPosition) > 870 && Player.Health > target.Health && target.CountEnemyHeroesInRange(700) <= 2) { FullCombo(); } } } } if (Main["combo"]["autoR"].As <MenuSliderBool>().Enabled&& R.Ready) { var target = GetBestEnemyHeroTargetInRange(R.Range); if (target != null && !Player.HasBuff("JarvanIVCataclysm")) { if (GameObjects.EnemyHeroes.Count(t => t.IsValidTarget(R2.Width, false, true, R2.GetPrediction(target).CastPosition)) >= Main["combo"]["autoR"].As <MenuSliderBool>().Value) { R.CastOnUnit(target); } } } if (R.Ready && Main["combo"]["r"].As <MenuKeyBind>().Enabled) { var target = GetBestEnemyHeroTargetInRange(R.Range); if (target != null && !Player.HasBuff("JarvanIVCataclysm")) { R.CastOnUnit(target); } } if (Main["combo"]["eqrKey"].As <MenuKeyBind>().Enabled) { FullCombo(); } if (Main["combo"]["eqfKey"].As <MenuKeyBind>().Enabled) { EqFlash(); } if (Main["combo"]["fleeKey"].As <MenuKeyBind>().Enabled) { if (Q.Ready && E.Ready && Player.Mana > Player.SpellBook.GetSpell(SpellSlot.E).Cost + Player.SpellBook.GetSpell(SpellSlot.Q).Cost) { E.Cast(Game.CursorPos); Q.Cast(Game.CursorPos); } } if (Main["harass"]["autoH"].As <MenuBool>().Enabled&& Misc.Orbwalker.Mode != OrbwalkingMode.Combo && Misc.Orbwalker.Mode != OrbwalkingMode.Mixed) { Harass(); } }
public static void Combo() { var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (target != null) { if (Menu.Config.Item("q.combo").IsActive()) { if (Q.CanCast(target)) { if (target.IsMoving && target.Path.ToList().Count >= 2) { //var qpred = Q.GetPrediction(target); var x = target.Position.Extend(Prediction.GetPrediction(target, Q.Delay).UnitPosition, 300); if (Q.IsInRange(x)) { Q.Cast(x); return; } } var qpred = Q.GetPrediction(target); if (qpred.Hitchance >= HitChance.Dashing) { Q.Cast(qpred.CastPosition); } } } if (Menu.Config.Item("e.combo").IsActive()) { if (E.IsReady() && Player.IsFacing(target)) { E.Cast(target); } } } if (Menu.Config.Item("r.combo").IsActive() && Menu.Config.Item("r.combo.stacks").GetValue <Slider>().Value < R.Instance.Ammo) { if (R.IsReady()) { var r2 = Player.HasBuff("corkimissilebarragecounterbig"); if (!r2) { var rtarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical); if (rtarget == null) { return; } var pred = R.GetPrediction(rtarget); if (R.CanCast(rtarget)) { switch (pred.Hitchance) { case HitChance.High: case HitChance.VeryHigh: case HitChance.Immobile: R.Cast(pred.CastPosition); break; case HitChance.Collision: var colliding = pred.CollisionObjects.OrderBy(o => o.Distance(Player.ServerPosition)).ToList(); if (colliding[0].Distance(rtarget.ServerPosition) <= 200 + colliding[0].BoundingRadius) { R.Cast(pred.CastPosition); } break; } } } else { var rtarget = TargetSelector.GetTarget(R2.Range, TargetSelector.DamageType.Magical); if (rtarget == null) { return; } var pred = R2.GetPrediction(rtarget); if (R2.CanCast(rtarget)) { switch (pred.Hitchance) { case HitChance.High: case HitChance.VeryHigh: case HitChance.Immobile: R2.Cast(pred.CastPosition); break; case HitChance.Collision: var colliding = pred.CollisionObjects.OrderBy(o => o.Distance(Player.ServerPosition)).ToList(); if (colliding[0].Distance(rtarget.ServerPosition) <= 200 + colliding[0].BoundingRadius) { R.Cast(pred.CastPosition); } break; } } } } } }
private static void Game_OnTick(EventArgs args) { if (Menu.CheckBox(Menu.Principal, "Skin")) { var id = Menu.Slider(Menu.Principal, "SkinID"); if (Player.Instance.SkinId != id) { Player.Instance.SetSkinId(id); } } if (Ignite.Slot != SpellSlot.Unknown) { if (Ignite.IsReady() && Menu.CheckBox(Menu.Item, "Ignite")) { foreach (var Hero in EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(Ignite.Range)).OrderBy(x => x.Health)) { if (Hero.Health <= Player.Instance.GetSummonerSpellDamage(Hero, DamageLibrary.SummonerSpells.Ignite)) { Ignite.Cast(Hero); } } } } if (!W.IsReady()) { TTs = false; } if (TTs) { foreach (var Hero in EntityManager.Heroes.Enemies.Where(X => X.Position.Distance(Player.Instance.Position) <= Player.Instance.GetAutoAttackRange()).OrderBy(x => x.Health)) { TT = Hero; } foreach (var Minions in EntityManager.MinionsAndMonsters.EnemyMinions.Where(x => x.Position.Distance(Player.Instance.Position) <= Player.Instance.GetAutoAttackRange()).OrderBy(x => x.Health)) { TT = Minions; } foreach (var Mob in EntityManager.MinionsAndMonsters.GetJungleMonsters().Where(x => x.Position.Distance(Player.Instance.Position) <= Player.Instance.GetAutoAttackRange()).OrderBy(x => x.Health)) { TT = Mob; } if (TT != null) { Core.DelayAction(() => Player.IssueOrder(GameObjectOrder.AttackUnit, TT), 50); } } if (Jungle()) { var Monsters = EntityManager.MinionsAndMonsters.GetJungleMonsters().Where(X => X.IsValidTarget(E.Range + Player.Instance.GetAutoAttackRange())).OrderBy(x => x.MaxHealth).FirstOrDefault(); if (Monsters != null) { if (W.IsReady() && Menu.CheckBox(Menu.W, "Jungle")) { if (Monsters.IsValidTarget(RealW())) { W.Cast(); } } if (E.IsReady() && Menu.CheckBox(Menu.E, "Jungle")) { if (Monsters.IsValidTarget(E.Range)) { E.Cast(Monsters.Position); } } } } if (Lane()) { var Minions = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, Player.Instance.Position, RealW()); var Circle = EntityManager.MinionsAndMonsters.GetCircularFarmLocation(Minions, 200, RealW()); if (Q.IsReady() && CountQ == 2) { Q.Cast(Circle.CastPosition); } if (Menu.CheckBox(Menu.W, "Lane")) { if (Circle.HitNumber >= Menu.Slider(Menu.W, "LaneMin") && W.IsReady()) { W.Cast(); } } } if (Combo() && Target != null) { if (Menu.CheckBox(Menu.Item, "Youmuu")) { if (Target.IsValidTarget(E.Range)) { Use(); } } if (R.IsReady() && Menu.CheckBox(Menu.R, "UseR1") && R.ToggleState == 1) { if (!IsActive && CheckR1(Target)) { if (Target.IsValidTarget(RealW(), true) && W.IsReady()) { Reset(); W.Cast(); R.Cast(); } else if (Target.IsValidTarget(E.Range + Player.Instance.GetAutoAttackRange(), true) && E.IsReady()) { E.Cast(Target.Position); R.Cast(); } else if (Target.IsValidTarget(RealQ(), true) && Q.IsReady()) { Q.Cast(Target.Position); R.Cast(); } else { R.Cast(); } } } if (R2.IsReady() && R.ToggleState >= 2) { if (IsActive && CheckR2(Target)) { var Pred = R2.GetPrediction(Target); if (Pred.HitChance >= HitChance.High) { if (Target.IsValidTarget(R2.Range)) { R2.Cast(Pred.UnitPosition); } } } } if (Q.IsReady() && CountQ == 2) { if (Target.IsValidTarget(RealQ(), true) && !Target.IsValidTarget(Player.Instance.GetAutoAttackRange())) { Q.Cast(Target.Position); } if (Target.IsValidTarget(RealW(), true) && W.IsReady()) { Reset(); W.Cast(); } } if (E.IsReady()) { if (Target.IsValidTarget(E.Range + Player.Instance.GetAutoAttackRange(), true)) { if (!Target.IsValidTarget(Player.Instance.GetAutoAttackRange())) { E.Cast(Target.Position); } } if (W.IsReady() && Target.IsValidTarget(RealW())) { Reset(); W.Cast(); } } if (W.IsReady() && Target.IsValidTarget(RealW())) { Reset(); W.Cast(); } } if (Menu.Keybind(Menu.Misc, "Burst") || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { if (Target.IsValidTarget(E.Range + Flash.Range)) { var Pred = R2.GetPrediction(Target); E.Cast(Player.Instance.Position.Extend(Target.Position, E.Range).To3D()); if (!IsActive) { R.Cast(); } if (Flash.IsReady() && Target.Position.Distance(Player.Instance.Position) <= 650) { Flash.Cast(Player.Instance.Position.Extend(Target.Position, Flash.Range).To3D()); } if (W.IsReady() && Target.IsValidTarget(RealW())) { Reset(); W.Cast(); } if (Menu.CheckBox(Menu.Item, "Youmuu")) { if (Target.IsValidTarget(E.Range)) { Use(); } } if (Q.IsReady()) { Q.Cast(Target.Position); } if (IsActive) { R2.Cast(Target.Position); } } } if (Flee()) { if (Menu.CheckBox(Menu.Q, "Flee") && Q.IsReady()) { Q.Cast((Game.CursorPos.Distance(Player.Instance) > Q.Range ? Player.Instance.Position.Extend(Game.CursorPos, Q.Range - 1).To3D() : Game.CursorPos)); } if (Menu.CheckBox(Menu.E, "Flee") && E.IsReady()) { E.Cast((Game.CursorPos.Distance(Player.Instance) > E.Range ? Player.Instance.Position.Extend(Game.CursorPos, E.Range - 1).To3D() : Game.CursorPos)); } } }
private void LogicR(Obj_AI_Base target, bool extendedR = false, bool useE = false, Orbwalker.ActiveModes activeMode = Orbwalker.ActiveModes.None) { var t = target as AIHeroClient; if (t == null) { return; } if (extendedR) { if (!R2.IsInRange(t) && useE) { var dist = Player.Instance.Distance(target) - R2.Range; if (dist > E.Range) { return; } var ePrediction = E.GetPrediction(target); if (ePrediction.CastPosition.IsInRange(target, R2.Range)) { E.Cast(ePrediction.CastPosition); } var rPrediction = R2.GetPrediction(t); if (rPrediction != null && rPrediction.HitChancePercent >= 75) { R2.Cast(rPrediction.CastPosition); } } else if (R2.IsInRange(t)) { var rPrediction = R2.GetPrediction(t); if (rPrediction != null && rPrediction.HitChancePercent >= 75) { R2.Cast(rPrediction.CastPosition); } } } else { if (!R.IsInRange(t) && useE) { var dist = Player.Instance.Distance(target) - R.Range; if (dist > E.Range) { return; } var ePrediction = E.GetPrediction(target); if (ePrediction.CastPosition.IsInRange(target, R.Range)) { E.Cast(ePrediction.CastPosition); } var rPrediction = R.GetPrediction(t); if (rPrediction != null && rPrediction.HitChancePercent >= 75) { R.Cast(rPrediction.CastPosition); } } else if (activeMode == Orbwalker.ActiveModes.Combo) { var enemiesAroundTarget = t.CountEnemiesInRange(R.Width); if (enemiesAroundTarget < ComboMenu.GetSliderValue("combo.r.aoe")) { return; } var rPrediction = R.GetPrediction(t); if (rPrediction != null && rPrediction.HitChancePercent >= 75) { R.Cast(rPrediction.CastPosition); } } else if (R.IsInRange(t)) { var rPrediction = R.GetPrediction(t); if (rPrediction != null && rPrediction.HitChancePercent >= 75) { R.Cast(rPrediction.CastPosition); } } } }
protected override void Drawing_OnDraw(EventArgs args) { if (menu.Item("Draw_Disabled", true).GetValue <bool>()) { return; } if (menu.Item("Draw_Q", true).GetValue <bool>()) { if (Q.Level > 0) { Render.Circle.DrawCircle(Player.Position, Q.Range, Q.IsReady() ? Color.Green : Color.Red); } } if (menu.Item("Draw_W", true).GetValue <bool>()) { if (W.Level > 0) { Render.Circle.DrawCircle(Player.Position, W.Range - 2, W.IsReady() ? Color.Green : Color.Red); } } if (menu.Item("Draw_E", true).GetValue <bool>()) { if (E.Level > 0) { Render.Circle.DrawCircle(Player.Position, E.Range, E.IsReady() ? Color.Green : Color.Red); } } if (menu.Item("Draw_R", true).GetValue <bool>()) { if (R.Level > 0) { Render.Circle.DrawCircle(Player.Position, R.Range, R.IsReady() ? Color.Green : Color.Red); } } if (menu.Item("Draw_R_Pred", true).GetValue <bool>() && R.IsReady()) { if (countEnemiesNearPosition(Player.ServerPosition, R.Range + 500) < 2) { var target = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical); if (target == null) { return; } var vector1 = target.ServerPosition - Vector3.Normalize(target.ServerPosition - Player.ServerPosition) * 300; R2.UpdateSourcePosition(vector1, vector1); var pred = R2.GetPrediction(target, true); var midpoint = (Player.ServerPosition + pred.UnitPosition) / 2; var vector2 = midpoint - Vector3.Normalize(pred.UnitPosition - Player.ServerPosition) * 300; if (Player.Distance(target) < 400) { vector1 = midpoint + Vector3.Normalize(pred.UnitPosition - Player.ServerPosition) * 800; if (!IsPassWall(pred.UnitPosition, vector1) && !IsPassWall(pred.UnitPosition, vector2)) { Vector2 wts = Drawing.WorldToScreen(Player.Position); Drawing.DrawText(wts[0], wts[1], Color.Wheat, "Hit: " + 1); Vector2 wtsPlayer = Drawing.WorldToScreen(vector1); Vector2 wtsPred = Drawing.WorldToScreen(vector2); Drawing.DrawLine(wtsPlayer, wtsPred, 1, Color.Wheat); Render.Circle.DrawCircle(vector1, 50, Color.Aqua); Render.Circle.DrawCircle(vector2, 50, Color.Yellow); Render.Circle.DrawCircle(pred.UnitPosition, 50, Color.Red); } } else if (!IsPassWall(pred.UnitPosition, vector1) && !IsPassWall(pred.UnitPosition, pred.CastPosition)) { if (pred.Hitchance >= HitChance.Medium) { Vector2 wts = Drawing.WorldToScreen(Player.Position); Drawing.DrawText(wts[0], wts[1], Color.Wheat, "Hit: " + 1); Vector2 wtsPlayer = Drawing.WorldToScreen(vector1); Vector2 wtsPred = Drawing.WorldToScreen(pred.CastPosition); Drawing.DrawLine(wtsPlayer, wtsPred, 1, Color.Wheat); Render.Circle.DrawCircle(vector1, 50, Color.Aqua); Render.Circle.DrawCircle(pred.CastPosition, 50, Color.Yellow); } } return; } //-----------------------------------------------------------------Draw Ult Mec----------------------------------------------- int maxHit = 0; Vector3 start = Vector3.Zero; Vector3 end = Vector3.Zero; Vector3 mid = Vector3.Zero; //loop one foreach (var target in ObjectManager.Get <Obj_AI_Hero>().Where(x => x.IsValidTarget(R.Range)).OrderByDescending(GetComboDamage)) { //loop 2 foreach ( var enemy in ObjectManager.Get <Obj_AI_Hero>() .Where( x => x.IsValidTarget(R.Range + 1000) && x.NetworkId != target.NetworkId && x.Distance(target) < 900) .OrderByDescending(x => x.Distance(target))) { int hit = 2; var targetPred = Prediction.GetPrediction(target, .25f); var enemyPred = Prediction.GetPrediction(enemy, .25f); var midpoint = (enemyPred.CastPosition + targetPred.CastPosition) / 2; var startpos = midpoint + Vector3.Normalize(enemyPred.CastPosition - targetPred.CastPosition) * 600; var endPos = midpoint - Vector3.Normalize(enemyPred.CastPosition - targetPred.CastPosition) * 600; if (!IsPassWall(midpoint, startpos) && !IsPassWall(midpoint, endPos) && countEnemiesNearPosition(Player.ServerPosition, R.Range + 1000) > 2) { //loop 3 foreach (var enemy2 in ObjectManager.Get <Obj_AI_Hero>().Where(x => x.IsValidTarget(R.Range + 1000) && x.NetworkId != target.NetworkId && x.NetworkId != enemy.NetworkId && x.Distance(target) < 1000)) { var enemy2Pred = Prediction.GetPrediction(enemy2, .25f); Object[] obj = VectorPointProjectionOnLineSegment(startpos.To2D(), endPos.To2D(), enemy2Pred.CastPosition.To2D()); var isOnseg = (bool)obj[2]; var pointLine = (Vector2)obj[1]; if (pointLine.Distance(enemy2Pred.CastPosition.To2D()) < 100 + enemy2.BoundingRadius && isOnseg) { hit++; } } } if (hit > maxHit) { maxHit = hit; start = startpos; end = endPos; mid = midpoint; } } } if (maxHit >= 2) { Vector2 wts = Drawing.WorldToScreen(Player.Position); Drawing.DrawText(wts[0], wts[1], Color.Wheat, "Hit: " + maxHit); Vector2 wtsPlayer = Drawing.WorldToScreen(start); Vector2 wtsPred = Drawing.WorldToScreen(end); Drawing.DrawLine(wtsPlayer, wtsPred, 1, Color.Wheat); Render.Circle.DrawCircle(start, 50, Color.Aqua); Render.Circle.DrawCircle(end, 50, Color.Yellow); Render.Circle.DrawCircle(mid, 50, Color.Red); } //---------------------------------------------------End drawing Ult Mec--------------------------------------- } }
private static void Combo() { if (ComboMenu["ComboW"].Cast <CheckBox>().CurrentValue) { var t = EntityManager.Heroes.Enemies.Find(x => x.IsValidTarget(W.Range) && !x.HasBuffOfType(BuffType.SpellShield)); if (t != null) { if (W.IsReady() && !Orbwalker.CanAutoAttack) { W.Cast(); } UseItems(t); UseItems2(t); } } if (E.IsReady()) { var t = EntityManager.Heroes.Enemies.Where(e => e.IsValidTarget(E.Range + myHero.GetAutoAttackRange())); if (t == null) { return; } if (ComboMenu["ComboE"].Cast <CheckBox>().CurrentValue) { var t1 = t.OrderByDescending(e => TargetSelector.GetPriority(e)).FirstOrDefault(); if (t1 != null) { E.Cast(t1.ServerPosition); } } } { if (ComboMenu["RForce"].Cast <KeyBind>().CurrentValue) { if (R1.IsReady()) { if (ComboMenu["RForce"].Cast <KeyBind>().CurrentValue&& !myHero.HasBuff("RivenFengShuiEngine")) { var t = TargetSelector.GetTarget(700, DamageType.Physical); if (t == null) { return; } if (t.Distance(myHero.ServerPosition) < E.Range + myHero.AttackRange && myHero.CountEnemiesInRange(500) >= 1) { R1.Cast(); } } if (myHero.HasBuff("RivenFengShuiEngine")) { var t = TargetSelector.GetTarget(900, DamageType.Physical); if (t == null) { return; } { if (ComboBox(ComboMenu, "UseRType") == 0) { var target = TargetSelector.SelectedTarget; if (DamageIndicators.Rdmg(t, t.Health) > t.Health && t.IsValidTarget(R2.Range) && t.Distance(myHero.ServerPosition) < 600) { R2.Cast(t.ServerPosition); } else { CastR2 = false; } } else if (ComboBox(ComboMenu, "UseRType") == 1) { var prediction = R2.GetPrediction(t); if (t.HealthPercent < 50 && t.Health > DamageIndicators.Rdmg(t, t.Health) + Damage.GetAutoAttackDamage(myHero, t) * 2) { R2.Cast(t.ServerPosition); } else { CastR2 = false; } } else if (ComboBox(ComboMenu, "UseRType") == 2) { if (t.IsValidTarget(R2.Range) && t.Distance(myHero.ServerPosition) < 200) { R2.Cast(t.ServerPosition); } else { CastR2 = false; } } else if (ComboBox(ComboMenu, "UseRType") == 3) { CastR2 = false; } } if (CastR2) { R2.Cast(t); } } } } } }