private void Harass() { if (targetObj == null) { CurHarassStage = HarassStage.Nothing; return; } switch (CurHarassStage) { case HarassStage.Nothing: CurHarassStage = HarassStage.Doing; break; case HarassStage.Doing: if (SkillQ.IsReady()) { if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(targetObj.Position)) { if (ItemBool("Misc", "SmiteCol")) { if (!SmiteCollision(targetObj, SkillQ)) { SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast()); } } else { SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast()); } } else if ((targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && IsValid(targetObj, 1300) && (CanKill(targetObj, SkillQ, 1) || (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne" && Player.Mana >= SkillW.Instance.ManaCost + ((ItemBool("Harass", "E") && SkillE.IsReady() && SkillE.Instance.Name == "BlindMonkEOne") ? SkillQ.Instance.ManaCost + SkillE.Instance.ManaCost : SkillQ.Instance.ManaCost) && Player.Health * 100 / Player.MaxHealth >= ItemSlider("Harass", "Q2Above")))) { HarrasBackPos = Player.ServerPosition; SkillQ.Cast(PacketCast()); Utility.DelayAction.Add((int)((Player.Distance3D(targetObj) + ((ItemBool("Harass", "E") && SkillE.IsReady() && SkillE.Instance.Name == "BlindMonkEOne") ? SkillE.Range : 0)) / SkillQ.Speed * 1000 - 100) * 2, () => CurHarassStage = HarassStage.Finish); } } if (ItemBool("Harass", "E") && SkillE.IsReady()) { if (SkillE.Instance.Name == "BlindMonkEOne" && SkillE.InRange(targetObj.Position)) { SkillE.Cast(PacketCast()); } else if (targetObj.HasBuff("BlindMonkEOne", true) && IsValid(targetObj, 575)) { CurHarassStage = HarassStage.Finish; } } break; case HarassStage.Finish: if (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne") { var jumpObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, SkillW.Range + i.BoundingRadius, false) && !(i is Obj_AI_Turret)).OrderByDescending(i => i.Distance3D(Player)).OrderBy(i => ObjectManager.Get <Obj_AI_Turret>().Where(a => IsValid(a, float.MaxValue, false)).OrderBy(a => a.Distance3D(Player)).FirstOrDefault().Distance3D(i)); if (jumpObj.Count() > 0 && !JumpCasted) { foreach (var Obj in jumpObj) { SkillW.CastOnUnit(Obj, PacketCast()); } } else if (GetWardSlot() != null || GetWardSlot().Stacks > 0 || WardCasted) { WardJump(HarrasBackPos); } } else { if (HarrasBackPos != default(Vector3)) { HarrasBackPos = default(Vector3); } CurHarassStage = HarassStage.Nothing; } break; } }
private void OnGameUpdate(EventArgs args) { if (Player.IsDead || MenuGUI.IsChatOpen) { return; } if (ItemList("Insec", "Mode") == 1) { if (SkillR.IsReady()) { allyObj = IsValid(allyObj, float.MaxValue, false) ? allyObj : null; } else if (allyObj != null) { allyObj = null; } } switch (Orbwalk.CurrentMode) { case Orbwalk.Mode.Combo: NormalCombo(); break; case Orbwalk.Mode.Harass: Harass(); break; case Orbwalk.Mode.LaneClear: LaneJungClear(); break; case Orbwalk.Mode.LaneFreeze: LaneJungClear(); break; case Orbwalk.Mode.LastHit: LastHit(); break; case Orbwalk.Mode.Flee: WardJump(Game.CursorPos); break; } if (Orbwalk.CurrentMode != Orbwalk.Mode.Harass) { CurHarassStage = HarassStage.Nothing; } if (ItemActive("StarCombo")) { StarCombo(); } if (ItemActive("InsecCombo")) { InsecCombo(); } else { InsecJumpCasted = false; } if (ItemActive("KSMob")) { KillStealMob(); } }
private void Harass() { if (targetObj == null) { CurHarassStage = HarassStage.Nothing; return; } switch (CurHarassStage) { case HarassStage.Nothing: CurHarassStage = HarassStage.Doing; break; case HarassStage.Doing: if (ItemBool("Harass", "Q") && Q.IsReady()) { if (Q.Instance.Name == "BlindMonkQOne" && Q.IsInRange(targetObj.Position)) { if (ItemBool("Misc", "SmiteCol")) { if (!SmiteCollision(targetObj, Q)) { Q.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast()); } } else { Q.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast()); } } else if (targetObj.HasBuff("BlindMonkSonicWave") && Q2.IsInRange(targetObj.Position) && (CanKill(targetObj, Q2, 1) || (W.IsReady() && W.Instance.Name == "BlindMonkWOne" && Player.Mana >= W.Instance.ManaCost + (ItemBool("Harass", "E") && E.IsReady() && E.Instance.Name == "BlindMonkEOne" ? Q.Instance.ManaCost + E.Instance.ManaCost : Q.Instance.ManaCost) && Player.HealthPercentage() >= ItemSlider("Harass", "Q2Above")))) { HarassBackPos = Player.ServerPosition; Q.Cast(PacketCast()); Utility.DelayAction.Add((int)((Player.Distance3D(targetObj) + (ItemBool("Harass", "E") && E.IsReady() && E.Instance.Name == "BlindMonkEOne" ? E.Range : 0)) / Q.Speed * 1000 - 100) * 2, () => CurHarassStage = HarassStage.Finish); } } if (ItemBool("Harass", "E") && E.IsReady()) { if (E.Instance.Name == "BlindMonkEOne" && E.IsInRange(targetObj.Position)) { E.Cast(PacketCast()); } else if (targetObj.HasBuff("BlindMonkTempest") && E2.IsInRange(targetObj.Position)) { CurHarassStage = HarassStage.Finish; } } break; case HarassStage.Finish: if (W.IsReady() && W.Instance.Name == "BlindMonkWOne") { var jumpObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, W.Range + i.BoundingRadius, false) && !(i is Obj_AI_Turret) && i.Distance3D(targetObj) >= 450).OrderByDescending(i => i.Distance3D(Player)).OrderBy(i => ObjectManager.Get <Obj_AI_Turret>().Where(a => IsValid(a, float.MaxValue, false)).OrderBy(a => a.Distance3D(Player)).FirstOrDefault().Distance3D(i)); if (jumpObj.Count() > 0 && !JumpCasted) { foreach (var Obj in jumpObj) { W.CastOnUnit(Obj, PacketCast()); } } else if (ItemBool("Harass", "WBackWard") && (GetWardSlot() != null || WardCasted)) { WardJump(HarassBackPos); } } else { if (HarassBackPos != default(Vector3)) { HarassBackPos = default(Vector3); } CurHarassStage = HarassStage.Nothing; } break; } }
public static void Harass(Obj_AI_Hero targetHero, bool useW = true) { if (!targetHero.IsValidTarget()) { _harassStage = HarassStage.Nothing; return; } switch (_harassStage) { case HarassStage.Nothing: _harassStage = HarassStage.Started; break; case HarassStage.Started: _harassStage = HarassStage.Doing; if (E.IsReady() && Vector3.DistanceSquared(Player.ServerPosition, targetHero.ServerPosition) <= 350 * 350 && LeeUtility.MenuParamBool("UseE1H")) { E.Cast(); if (LeeUtility.MenuParamBool("UseE2H")) { Utility.DelayAction.Add( 250 - Game.Ping / 2 + 10, () => { E.Cast(Player, true); _harassStage = LeeUtility.MenuParamBool("UseQ1H") && Q.IsReady() ? HarassStage.Doing : HarassStage.Finished; }); } } else { _harassStage = HarassStage.Finished; } if (Q.IsReady() && LeeUtility.MenuParamBool("UseQ1H")) { //LeeUtility.CastQ(targetHero, QMode.Harass); if (LeeUtility.CastQ(targetHero, QMode.Harass) && LeeUtility.MenuParamBool("UseQ2H")) { var delay = (int)(targetHero.Distance(Player) / Q.Speed * 1000) + 300 + Game.Ping; Utility.DelayAction.Add( delay, () => { if (Vector3.DistanceSquared(_harassInitialVector3, Player.ServerPosition) <= 600 * 600) { _harassInitialVector3 = Player.ServerPosition; } Q.Cast(targetHero); }); Utility.DelayAction.Add(delay * 2, () => _harassStage = HarassStage.Finished); } else { _harassStage = HarassStage.Finished; } } else { _harassStage = HarassStage.Finished; } break; case HarassStage.Doing: break; case HarassStage.Finished: if (LeeUtility.MenuParamBool("UseWH") && useW) { LeeUtility.WardJump(_harassInitialVector3, LeeUtility.MenuParamBool("UseWardWH")); } _harassStage = HarassStage.Nothing; break; } }
private void OnGameUpdate(EventArgs args) { if (Player.IsDead || MenuGUI.IsChatOpen || Player.IsChannelingImportantSpell() || Player.IsRecalling()) { return; } if (ItemList("Insec", "Mode") == 1) { if (R.IsReady()) { allyObj = (allyObj.IsValid && !allyObj.IsDead) ? allyObj : null; } else if (allyObj != null) { allyObj = null; } } switch (Orbwalk.CurrentMode) { case Orbwalk.Mode.Combo: NormalCombo(); break; case Orbwalk.Mode.Harass: Harass(); break; case Orbwalk.Mode.LaneClear: LaneJungClear(); break; case Orbwalk.Mode.LastHit: LastHit(); break; case Orbwalk.Mode.Flee: WardJump(Game.CursorPos); break; } if (Orbwalk.CurrentMode != Orbwalk.Mode.Harass) { CurHarassStage = HarassStage.Nothing; } if (ItemActive("StarCombo")) { StarCombo(); } if (ItemActive("InsecCombo")) { InsecCombo(); } else { InsecJumpCasted = false; } if (ItemActive("KSMob")) { KillStealMob(); } if (ItemBool("Misc", "WSurvive") && W.IsReady() && W.Instance.Name == "BlindMonkWOne") { TrySurvive(W.Slot); } }