private void OnEnemyGapcloser(ActiveGapcloser gapcloser) { if (Player.IsDead || !GetValue <bool>("AntiGap", "Q") || !GetValue <bool>("AntiGap", gapcloser.Sender.ChampionName + "_" + gapcloser.Slot.ToString()) || !Q.IsReady() || !Orbwalk.InAutoAttackRange(gapcloser.Sender)) { return; } if (Q2.CastIfWillHit(gapcloser.Sender, -1, PacketCast)) { return; } }
private void LaneJungClear() { var minionObj = MinionManager.GetMinions(700, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth); if (minionObj.Count == 0) { return; } if (GetValue <bool>("Clear", "E") && E.IsReady() && minionObj.Count(i => E.IsInRange(i)) > 0 && !Player.HasBuff("GarenE") && !Player.HasBuff("GarenQ") && E.Cast(PacketCast)) { return; } if (GetValue <bool>("Clear", "Q")) { switch (GetValue <StringList>("Clear", "QMode").SelectedIndex) { case 0: if (Q.IsReady() && minionObj.Count(i => Player.Distance(i, true) <= Math.Pow(Orbwalk.GetAutoAttackRange(Player, i) + 40, 2)) == 0 && Q.Cast(PacketCast)) { return; } break; case 1: if ((Q.IsReady() || Player.HasBuff("GarenQ")) && !Player.HasBuff("GarenE")) { var Obj = minionObj.Find(i => Orbwalk.InAutoAttackRange(i) && CanKill(i, Q)); if (Obj != null && Player.IssueOrder(GameObjectOrder.AttackUnit, Obj)) { return; } } break; } } }
private void LaneJungClear() { var minionObj = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth); if (minionObj.Count == 0) { return; } if (GetValue <bool>("Clear", "E") && E.IsReady() && !Player.HasBuff("JaxEvasion")) { if (GetValue <bool>("Clear", "Q") && Q.IsReady() && minionObj.Count(i => E.IsInRange(i)) == 0) { foreach (var Obj in minionObj) { if (minionObj.Count(i => i.Distance(Obj, true) <= E.RangeSqr) > 1 && E.Cast(PacketCast) && Q.CastOnUnit(Obj, PacketCast)) { return; } } } else if ((minionObj.Count(i => i.MaxHealth >= 1200 && E.IsInRange(i)) > 0 || minionObj.Count(i => E.IsInRange(i)) > 2) && E.Cast(PacketCast)) { return; } } if (GetValue <bool>("Clear", "W") && W.IsReady() && GetValue <bool>("Clear", "Q") && Q.IsReady() && Player.Mana >= W.Instance.ManaCost + Q.Instance.ManaCost) { var Obj = minionObj.Find(i => i.MaxHealth >= 1200 && CanKill(i, Q, Q.GetDamage(i) + GetBonusDmg(i))); if (Obj != null && W.Cast(PacketCast) && Q.CastOnUnit(Obj, PacketCast)) { return; } } if (GetValue <bool>("Clear", "Q") && Q.IsReady()) { var Obj = minionObj.Find(i => i.MaxHealth >= 1200 && ((Player.HasBuff("JaxEmpowerTwo") && CanKill(i, Q, Q.GetDamage(i) + GetBonusDmg(i))) || CanKill(i, Q))); if (Obj == null && (minionObj.Count(i => Player.Distance(i, true) <= Math.Pow(Orbwalk.GetAutoAttackRange(Player, i) + 40, 2)) == 0 || (GetValue <bool>("Clear", "E") && E.IsReady() && Player.HasBuff("JaxEvasion") && minionObj.Count(i => E.IsInRange(i)) == 0))) { Obj = minionObj.MinOrDefault(i => i.Health); } if (Obj != null && Q.CastOnUnit(Obj, PacketCast)) { return; } } if (GetValue <bool>("Clear", "Item")) { var Item = Hydra.IsReady() ? Hydra : Tiamat; if (Item.IsReady() && (minionObj.Count(i => Item.IsInRange(i)) > 2 || minionObj.Any(i => i.MaxHealth >= 1200 && i.Distance(Player, true) <= Math.Pow(Item.Range - 80, 2))) && Item.Cast()) { return; } } if (GetValue <bool>("SmiteMob", "Smite") && Smite.IsReady()) { var Obj = minionObj.Find(i => i.Team == GameObjectTeam.Neutral && CanSmiteMob(i.Name)); if (Obj != null && CastSmite(Obj)) { return; } } }
private void LaneJungClear() { var minionObj = MinionManager.GetMinions(E.Range, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth); if (minionObj.Count == 0) { return; } if (GetValue <bool>("Clear", "E") && E.IsReady() && (minionObj.Count > 2 || minionObj.Any(i => i.MaxHealth >= 1200))) { var Pos = E.GetCircularFarmLocation(minionObj); if (Pos.MinionsHit > 0 && Pos.Position.IsValid() && E.Cast(Pos.Position, PacketCast)) { return; } } if (GetValue <bool>("Clear", "Q") && Q.IsReady()) { var Pos = Q.GetLineFarmLocation(minionObj.FindAll(i => Q.IsInRange(i))); if (Pos.MinionsHit > 0 && Pos.Position.IsValid() && Q.Cast(Pos.Position, PacketCast)) { return; } } if (GetValue <bool>("Clear", "W") && W.IsReady()) { var Obj = minionObj.Find(i => W.IsInRange(i) && i.MaxHealth >= 1200); if (Obj == null && minionObj.Count(i => Player.Distance(i, true) <= Math.Pow(Orbwalk.GetAutoAttackRange(Player, i) + 40, 2)) == 0) { Obj = minionObj.FindAll(i => W.IsInRange(i)).MinOrDefault(i => i.Health); } if (Obj != null && W.CastOnUnit(Obj, PacketCast)) { return; } } if (GetValue <bool>("SmiteMob", "Smite") && Smite.IsReady()) { var Obj = minionObj.Find(i => i.Team == GameObjectTeam.Neutral && CanSmiteMob(i.Name)); if (Obj != null && CastSmite(Obj)) { return; } } }
private void NormalCombo(string Mode) { if (GetValue <bool>(Mode, "E") && E.IsReady() && (Mode == "Combo" || (Mode == "Harass" && (!GetValue <bool>(Mode, "R") || (GetValue <bool>(Mode, "R") && (R.Level == 0 || (R.Level > 0 && !W.IsReady() && !Q.IsReady()))))))) { if (!Player.HasBuff("JaxEvasion")) { if (GetValue <bool>(Mode, "Q") && Q.IsReady() && E.GetTarget() == null) { var Target = Q.GetTarget(); if (Target != null && E.Cast(PacketCast) && Q.CastOnUnit(Target, PacketCast)) { return; } } else if (E.GetTarget() != null && E.Cast(PacketCast)) { return; } } else if ((Player.CountEnemiesInRange(E.Range) >= GetValue <Slider>(Mode, "ECountA").Value || (E.GetTarget() != null && Player.Distance(E.GetTarget(), true) >= Math.Pow(E.Range - 50, 2))) && E.Cast(PacketCast)) { return; } } if (Mode == "Harass" && GetValue <bool>(Mode, "R") && R.Level > 0 && GetValue <bool>(Mode, "W") && GetValue <bool>(Mode, "Q") && Player.Mana >= W.Instance.ManaCost + Q.Instance.ManaCost) { if (RCount == 2 && W.IsReady() && Q.IsReady()) { var Target = Q.GetTarget(); if (Target != null && W.Cast(PacketCast) && Q.CastOnUnit(Target, PacketCast)) { return; } } } else { if (GetValue <bool>(Mode, "W") && W.IsReady() && GetValue <bool>(Mode, "Q") && Q.IsReady() && Player.Mana >= W.Instance.ManaCost + Q.Instance.ManaCost) { var Target = Q.GetTarget(); if (Target != null && CanKill(Target, Q, Q.GetDamage(Target) + GetBonusDmg(Target)) && W.Cast(PacketCast) && Q.CastOnUnit(Target, PacketCast)) { return; } } if (GetValue <bool>(Mode, "Q") && Q.IsReady()) { var Target = Q.GetTarget(); if (Target != null) { if (((Player.HasBuff("JaxEmpowerTwo") && CanKill(Target, Q, Q.GetDamage(Target) + GetBonusDmg(Target))) || CanKill(Target, Q)) && Q.CastOnUnit(Target, PacketCast)) { return; } else if (Mode == "Combo" || (Mode == "Harass" && Player.HealthPercentage() >= GetValue <Slider>(Mode, "QHpA").Value)) { if ((Player.Distance(Target, true) > Math.Pow(Orbwalk.GetAutoAttackRange(Player, Target) + 30, 2) || (GetValue <bool>(Mode, "E") && E.IsReady() && Player.HasBuff("JaxEvasion") && !E.IsInRange(Target))) && Q.CastOnUnit(Target, PacketCast)) { return; } } } } } if (Mode == "Combo" && GetValue <bool>(Mode, "R") && R.IsReady()) { var RCount = GetValue <Slider>(Mode, "RCountA").Value; if (((RCount > 1 && (Player.CountEnemiesInRange(Q.Range) >= RCount || Q.GetTarget() != null)) || (RCount == 1 && Q.GetTarget() != null)) && Player.HealthPercentage() < GetValue <Slider>(Mode, "RHpU").Value&& R.Cast(PacketCast)) { return; } } }
private void NormalCombo(string Mode) { if (Mode == "Combo" && GetValue <bool>(Mode, "E") && GetValue <bool>(Mode, "EAoE") && Player.HasBuff("JudicatorRighteousFury")) { var Target = ObjectManager.Get <Obj_AI_Hero>().FindAll(i => Orbwalk.InAutoAttackRange(i)).MaxOrDefault(i => i.CountEnemiesInRange(150)); if (Target != null) { Orbwalk.ForcedTarget = Target; } } else { Orbwalk.ForcedTarget = null; } if (GetValue <bool>(Mode, "Q")) { var Target = Q.GetTarget(); if (Target != null && ((Player.Distance(Target, true) > Math.Pow(Q.Range - 100, 2) && !Target.IsFacing(Player)) || Target.HealthPercentage() > 60) && Q.CastOnUnit(Target, PacketCast)) { return; } } if (GetValue <bool>(Mode, "E") && E.IsReady() && E.GetTarget() != null && E.Cast(PacketCast)) { return; } if (Mode == "Combo") { if (GetValue <bool>(Mode, "W") && W.IsReady()) { if (GetValue <bool>(Mode, "WHeal")) { var Obj = ObjectManager.Get <Obj_AI_Hero>().FindAll(i => i.IsAlly && i.IsValidTarget(W.Range, false) && GetValue <bool>("Heal", MenuName(i)) && i.HealthPercentage() < GetValue <Slider>("Heal", MenuName(i) + "HpU").Value&& !i.InFountain() && !i.IsRecalling() && i.CountEnemiesInRange(W.Range) > 0 && !i.HasBuff("JudicatorIntervention") && !i.HasBuff("Undying Rage")).MinOrDefault(i => i.Health); if (Obj != null && W.CastOnUnit(Obj, PacketCast)) { return; } } if (GetValue <bool>(Mode, "WSpeed")) { var Target = Q.GetTarget(200); if (Target != null && !Target.IsFacing(Player) && (!Player.HasBuff("JudicatorRighteousFury") || (Player.HasBuff("JudicatorRighteousFury") && !Orbwalk.InAutoAttackRange(Target))) && (!GetValue <bool>(Mode, "Q") || (GetValue <bool>(Mode, "Q") && Q.IsReady() && !Q.IsInRange(Target))) && W.Cast(PacketCast)) { return; } } } if (GetValue <bool>(Mode, "R") && R.IsReady()) { if (GetValue <bool>(Mode, "RSave")) { var Obj = ObjectManager.Get <Obj_AI_Hero>().FindAll(i => i.IsAlly && i.IsValidTarget(R.Range, false) && GetValue <bool>("Save", MenuName(i)) && i.HealthPercentage() < GetValue <Slider>("Save", MenuName(i) + "HpU").Value&& !i.InFountain() && !i.IsRecalling() && i.CountEnemiesInRange(R.Range) > 0 && !i.HasBuff("Undying Rage")).MinOrDefault(i => i.Health); if (Obj != null && R.CastOnUnit(Obj, PacketCast)) { return; } } if (GetValue <StringList>(Mode, "RAnti").SelectedIndex > 0) { var Obj = ObjectManager.Get <Obj_AI_Hero>().FindAll(i => i.IsAlly && i.IsValidTarget(R.Range, false) && RAntiDetected.ContainsKey(i.NetworkId) && Game.Time > RAntiDetected[i.NetworkId].StartTick && !i.HasBuff("Undying Rage")).MinOrDefault(i => i.Health); if (Obj != null && R.CastOnUnit(Obj, PacketCast)) { return; } } } } }
private void NormalCombo(string Mode) { if (GetValue <bool>(Mode, "W") && W.IsReady() && Player.HasBuff("AuraofDespair") && W.GetTarget(200) == null && W.Cast(PacketCast)) { return; } if (Mode == "Combo") { if (GetValue <bool>(Mode, "R") && R.IsReady()) { var Target = ObjectManager.Get <Obj_AI_Hero>().FindAll(i => i.IsValidTarget(R.Range)); if (((Target.Count > 1 && Target.Count(i => CanKill(i, R)) > 0) || Target.Count >= GetValue <Slider>(Mode, "RCountA").Value || (Target.Count > 1 && Target.Count(i => i.HealthPercentage() < GetValue <Slider>(Mode, "RHpU").Value) > 0)) && R.Cast(PacketCast)) { return; } } if (GetValue <bool>(Mode, "Q") && Q.IsReady()) { if (GetValue <bool>(Mode, "R") && R.IsReady()) { foreach (var Obj in ObjectManager.Get <Obj_AI_Base>().FindAll(i => !(i is Obj_AI_Turret) && i.IsValidTarget(Q.Range) && Q.GetPrediction(i).Hitchance >= HitChance.High).OrderByDescending(i => i.CountEnemiesInRange(R.Range))) { var Sub = ObjectManager.Get <Obj_AI_Hero>().FindAll(i => i.IsValidTarget(R.Range - 20, true, Obj.ServerPosition)); if (Sub.Count > 0 && ((Sub.Count > 1 && Sub.Count(i => CanKill(i, R)) > 0) || Sub.Count >= GetValue <Slider>(Mode, "RCountA").Value || (Sub.Count > 1 && Sub.Count(i => i.HealthPercentage() < GetValue <Slider>(Mode, "RHpU").Value) > 0)) && Q.CastIfHitchanceEquals(Obj, HitChance.High, PacketCast)) { return; } } } var Target = Q.GetTarget(); if (Target != null && !Orbwalk.InAutoAttackRange(Target)) { var State = Q.Cast(Target, PacketCast); if (State.IsCasted()) { return; } else if (State == Spell.CastStates.Collision && GetValue <bool>(Mode, "QCol")) { var Pred = Q.GetPrediction(Target); if (Pred.CollisionObjects.FindAll(i => i.IsMinion).Count == 1 && CastSmite(Pred.CollisionObjects.First()) && Q.Cast(Pred.CastPosition, PacketCast)) { return; } } } } } if (GetValue <bool>(Mode, "E") && E.IsReady() && E.GetTarget() != null && E.Cast(PacketCast)) { return; } if (GetValue <bool>(Mode, "W") && W.IsReady()) { if (Player.ManaPercentage() >= GetValue <Slider>(Mode, "WMpA").Value) { if (W.GetTarget(60) != null) { if (!Player.HasBuff("AuraofDespair") && W.Cast(PacketCast)) { return; } } else if (Player.HasBuff("AuraofDespair") && W.Cast(PacketCast)) { return; } } else if (Player.HasBuff("AuraofDespair") && W.Cast(PacketCast)) { return; } } }
private void NormalCombo(string Mode) { if (Mode == "Combo" && GetValue <bool>(Mode, "R") && R.IsReady()) { var Target = R.GetTarget(); if (Target != null && CanKill(Target, R, GetRDmg(Target))) { if (Player.Distance(Target, true) > Math.Pow(550, 2) || (!Orbwalk.InAutoAttackRange(Target) && Player.Distance(Target, true) <= Math.Pow(550, 2) && (!GetValue <bool>(Mode, "Q") || (GetValue <bool>(Mode, "Q") && !Q.IsReady())) && (!GetValue <bool>(Mode, "W") || (GetValue <bool>(Mode, "W") && !W.IsReady())) && (!GetValue <bool>(Mode, "E") || (GetValue <bool>(Mode, "E") && !E.IsReady())))) { if (R.CastIfHitchanceEquals(Target, HitChance.Medium, PacketCast)) { RTarget = Target; REndPos = (Player.ServerPosition - Target.ServerPosition).Normalized(); RKillable = true; if (GetValue <bool>(Mode, "RItem") && Youmuu.IsReady()) { Utility.DelayAction.Add(10, () => Youmuu.Cast()); } return; } } } } if (Mode == "Combo" && GetValue <bool>(Mode, "E") && GetValue <bool>(Mode, "EGap") && E.IsReady()) { var Target = E.GetTarget(Orbwalk.GetAutoAttackRange()); if (Target != null && !Orbwalk.InAutoAttackRange(Target) && Target.Distance(Player.ServerPosition.Extend(Game.CursorPos, E.Range)) + 20 <= Orbwalk.GetAutoAttackRange(Player, Target) && E.Cast(Player.ServerPosition.Extend(Game.CursorPos, E.Range), PacketCast)) { return; } } if (HavePassive(Mode) && GetValue <bool>(Mode, "PSave")) { return; } if (!GetValue <bool>(Mode, "E") || (GetValue <bool>(Mode, "E") && !E.IsReady())) { if (Mode == "Combo" && GetValue <bool>(Mode, "E") && E.IsReady(GetValue <Slider>(Mode, "EDelay").Value)) { return; } if (GetValue <bool>(Mode, "Q") && Q.IsReady()) { var Target = Q.GetTarget(); if (Target == null) { Target = Q2.GetTarget(); } if (Target != null) { if (((Orbwalk.InAutoAttackRange(Target) && !HavePassive(Mode)) || (Player.Distance(Target, true) > Math.Pow(Orbwalk.GetAutoAttackRange(Player, Target) + 20, 2) && Q.IsInRange(Target))) && Q.CastOnUnit(Target, PacketCast) && Player.IssueOrder(GameObjectOrder.AttackUnit, Target)) { return; } else if ((Mode == "Harass" || (Mode == "Combo" && GetValue <bool>(Mode, "QExtend"))) && !Q.IsInRange(Target) && CastExtendQ(Target)) { return; } } } if ((!GetValue <bool>(Mode, "Q") || (GetValue <bool>(Mode, "Q") && !Q.IsReady())) && GetValue <bool>(Mode, "W") && W.IsReady() && !Player.IsDashing()) { var Target = W.GetTarget(); if (Target != null && ((Orbwalk.InAutoAttackRange(Target) && !HavePassive(Mode)) || (Player.Distance(Target, true) > Math.Pow(Orbwalk.GetAutoAttackRange(Player, Target) + 20, 2)))) { if ((Mode == "Harass" || (Mode == "Combo" && GetValue <bool>(Mode, "WPred"))) && W.CastIfHitchanceEquals(Target, HitChance.Medium, PacketCast)) { return; } else if (Mode == "Combo" && !GetValue <bool>(Mode, "WPred") && W.Cast(W.GetPrediction(Target).CastPosition, PacketCast)) { return; } } } } }
private void AfterAttack(AttackableUnit Target) { if (!E.IsReady() || !Target.IsValidTarget()) { return; } if ((Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear && GetValue <bool>("Clear", "E") && !HavePassive() && Target is Obj_AI_Minion) || ((Orbwalk.CurrentMode == Orbwalk.Mode.Combo || (Orbwalk.CurrentMode == Orbwalk.Mode.Harass && Player.HealthPercentage() >= GetValue <Slider>("Harass", "EHpA").Value)) && GetValue <bool>(Orbwalk.CurrentMode.ToString(), "E") && !HavePassive(Orbwalk.CurrentMode.ToString()) && Target is Obj_AI_Hero)) { if (Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear || Orbwalk.CurrentMode == Orbwalk.Mode.Harass || (Orbwalk.CurrentMode == Orbwalk.Mode.Combo && GetValue <StringList>("Combo", "EMode").SelectedIndex == 0)) { var Pos = Geometry.CircleCircleIntersection(Player.ServerPosition.To2D(), ((Obj_AI_Base)Target).ServerPosition.To2D(), E.Range, Orbwalk.GetAutoAttackRange(Player, Target)); if (Pos.Count() > 0) { if (E.Cast(Pos.MinOrDefault(i => i.Distance(Game.CursorPos)), PacketCast)) { return; } } else if (E.Cast(Player.ServerPosition.Extend(((Obj_AI_Base)Target).ServerPosition, -E.Range), PacketCast)) { return; } } else if (Orbwalk.CurrentMode == Orbwalk.Mode.Combo) { switch (GetValue <StringList>("Combo", "EMode").SelectedIndex) { case 1: if (E.Cast(Player.ServerPosition.Extend(Game.CursorPos, E.Range), PacketCast)) { return; } break; case 2: if (E.Cast(((Obj_AI_Base)Target).ServerPosition, PacketCast)) { return; } break; } } } }