private void StarCombo() { CustomOrbwalk(targetObj); if (targetObj == null) { return; } UseItem(targetObj); if (SkillE.IsReady()) { if (SkillE.Instance.Name == "BlindMonkEOne" && SkillE.InRange(targetObj.Position)) { SkillE.Cast(PacketCast()); } else if (targetObj.HasBuff("BlindMonkTempest") && SkillE2.InRange(targetObj.Position) && (Player.Distance3D(targetObj) > 450 || !ECasted)) { SkillE.Cast(PacketCast()); } } 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("BlindMonkSonicWave") && SkillQ2.InRange(targetObj.Position) && (CanKill(targetObj, SkillQ2, 1) || (!SkillR.IsReady() && !RCasted && KickCasted) || (!SkillR.IsReady() && !RCasted && !KickCasted && !QCasted))) { SkillQ.Cast(PacketCast()); } } if (SkillW.IsReady()) { if (SkillW.Instance.Name == "BlindMonkWOne") { if (SkillR.IsReady()) { if (SkillQ.IsReady() && targetObj.HasBuff("BlindMonkSonicWave") && !SkillR.InRange(targetObj.Position) && Player.Distance3D(targetObj) < SkillW.Range + SkillR.Range - 170) { WardJump(targetObj.Position); } } else if (Orbwalk.InAutoAttackRange(targetObj)) { SkillW.Cast(PacketCast()); } } else if (SkillE.InRange(targetObj.Position) && !Player.HasBuff("BlindMonkSafeguard") && !WCasted) { SkillW.Cast(PacketCast()); } } if (SkillR.IsReady() && SkillQ.IsReady() && targetObj.HasBuff("BlindMonkSonicWave") && SkillR.InRange(targetObj.Position)) { SkillR.CastOnUnit(targetObj, PacketCast()); } }
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") && 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("BlindMonkSonicWave") && SkillQ2.InRange(targetObj.Position) && (CanKill(targetObj, SkillQ2, 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.HealthPercentage() >= ItemSlider("Harass", "Q2Above")))) { HarassBackPos = 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("BlindMonkTempest") && SkillE2.InRange(targetObj.Position)) { 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) && 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) { SkillW.CastOnUnit(Obj, PacketCast()); } } else if (ItemBool("Harass", "WBackWard") && (GetWardSlot() != null || GetWardSlot().Stacks > 0 || WardCasted)) { WardJump(HarassBackPos); } } else { if (HarassBackPos != default(Vector3)) { HarassBackPos = default(Vector3); } CurHarassStage = HarassStage.Nothing; } break; } }
private void LaneJungClear() { var minionObj = ObjectManager.Get <Obj_AI_Minion>().Where(i => IsValid(i, SkillQ2.Range)).OrderBy(i => i.Health); foreach (var Obj in minionObj) { if (SmiteReady() && Obj.Team == GameObjectTeam.Neutral) { if ((ItemBool("SmiteMob", "Baron") && Obj.Name.StartsWith("SRU_Baron")) || (ItemBool("SmiteMob", "Dragon") && Obj.Name.StartsWith("SRU_Dragon")) || (!Obj.Name.Contains("Mini") && ( (ItemBool("SmiteMob", "Red") && Obj.Name.StartsWith("SRU_Red")) || (ItemBool("SmiteMob", "Blue") && Obj.Name.StartsWith("SRU_Blue")) || (ItemBool("SmiteMob", "Krug") && Obj.Name.StartsWith("SRU_Krug")) || (ItemBool("SmiteMob", "Gromp") && Obj.Name.StartsWith("SRU_Gromp")) || (ItemBool("SmiteMob", "Raptor") && Obj.Name.StartsWith("SRU_Razorbeak")) || (ItemBool("SmiteMob", "Wolf") && Obj.Name.StartsWith("SRU_Murkwolf"))))) { CastSmite(Obj); } } var Passive = Player.HasBuff("BlindMonkFlurry"); if (ItemBool("Clear", "E") && SkillE.IsReady() && !FarmCasted) { if (SkillE.Instance.Name == "BlindMonkEOne" && (minionObj.Count(i => SkillE.InRange(i.Position)) >= 2 || (Obj.MaxHealth >= 1200 && SkillE.InRange(Obj.Position)))) { if (!Passive) { SkillE.Cast(PacketCast()); FarmCasted = true; Utility.DelayAction.Add(500, () => FarmCasted = false); } } else if (Obj.HasBuff("BlindMonkTempest") && SkillE2.InRange(Obj.Position) && (!ECasted || !Passive)) { SkillE.Cast(PacketCast()); FarmCasted = true; Utility.DelayAction.Add(500, () => FarmCasted = false); } } if (ItemBool("Clear", "W") && SkillW.IsReady() && !FarmCasted) { if (SkillW.Instance.Name == "BlindMonkWOne") { if (!Passive && Orbwalk.InAutoAttackRange(Obj)) { SkillW.Cast(PacketCast()); FarmCasted = true; Utility.DelayAction.Add(500, () => FarmCasted = false); } } else if (SkillE.InRange(Obj.Position) && (!WCasted || !Passive)) { SkillW.Cast(PacketCast()); FarmCasted = true; Utility.DelayAction.Add(500, () => FarmCasted = false); } } if (ItemBool("Clear", "Q") && SkillQ.IsReady() && !FarmCasted) { if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(Obj.Position)) { if ((!Passive || !Orbwalk.InAutoAttackRange(Obj)) && !CanKill(Obj, SkillQ)) { SkillQ.CastIfHitchanceEquals(Obj, HitChance.Medium, PacketCast()); } } else if (Obj.HasBuff("BlindMonkSonicWave") && (SkillQ2.GetHealthPrediction(Obj) + 5 <= GetQ2Dmg(Obj) || Player.Distance3D(Obj) > 500 || !QCasted || !Passive)) { SkillQ.Cast(PacketCast()); } } if (ItemBool("Clear", "Item")) { UseItem(Obj, true); } } }
private void NormalCombo() { if (targetObj == null) { return; } if (ItemBool("Combo", "Passive") && Player.HasBuff("BlindMonkFlurry") && Orbwalk.InAutoAttackRange(targetObj) && Orbwalk.CanAttack()) { return; } if (ItemBool("Combo", "E") && SkillE.IsReady()) { if (SkillE.Instance.Name == "BlindMonkEOne" && SkillE.InRange(targetObj.Position)) { SkillE.Cast(PacketCast()); } else if (targetObj.HasBuff("BlindMonkTempest") && SkillE2.InRange(targetObj.Position) && (Player.Distance3D(targetObj) > 450 || !ECasted)) { SkillE.Cast(PacketCast()); } } if (ItemBool("Combo", "Q") && 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("BlindMonkSonicWave") && SkillQ2.InRange(targetObj.Position)) { if (Player.Distance3D(targetObj) > 500 || CanKill(targetObj, SkillQ2, 1) || (targetObj.HasBuff("BlindMonkTempest") && SkillE.InRange(targetObj.Position) && !Orbwalk.InAutoAttackRange(targetObj)) || !QCasted) { SkillQ.Cast(PacketCast()); } } } if (ItemBool("Combo", "R") && ItemBool("Ultimate", targetObj.ChampionName) && SkillR.IsReady() && SkillR.InRange(targetObj.Position)) { if (CanKill(targetObj, SkillR) || (SkillR.GetHealthPrediction(targetObj) - SkillR.GetDamage(targetObj) + 5 <= GetQ2Dmg(targetObj, SkillR.GetDamage(targetObj)) && ItemBool("Combo", "Q") && SkillQ.IsReady() && targetObj.HasBuff("BlindMonkSonicWave"))) { SkillR.CastOnUnit(targetObj, PacketCast()); } } if (ItemBool("Combo", "W") && SkillW.IsReady()) { if (ItemBool("Combo", "WSurvive") || ItemBool("Combo", "WGap")) { if (SkillW.Instance.Name == "BlindMonkWOne") { if (ItemBool("Combo", "WSurvive") && Orbwalk.InAutoAttackRange(targetObj) && Player.HealthPercentage() <= ItemList("Combo", "WUnder")) { SkillW.Cast(PacketCast()); } else if (ItemBool("Combo", "WGap") && Player.Distance3D(targetObj) >= Orbwalk.GetAutoAttackRange() + 50) { var jumpObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, SkillW.Range + i.BoundingRadius, false) && !(i is Obj_AI_Turret) && i.Distance3D(targetObj) <= Orbwalk.GetAutoAttackRange() + 50).OrderBy(i => i.Distance3D(targetObj)); if (jumpObj.Count() > 0 && !JumpCasted) { foreach (var Obj in jumpObj) { SkillW.CastOnUnit(Obj, PacketCast()); } } else if (ItemBool("Combo", "WGapWard") && Player.Distance3D(targetObj) <= SkillW.Range + Orbwalk.GetAutoAttackRange() + 50 && (GetWardSlot() != null || GetWardSlot().Stacks > 0 || WardCasted)) { WardJump(targetObj.Position); } } } else if (SkillE.InRange(targetObj.Position) && !Player.HasBuff("BlindMonkSafeguard") && !WCasted) { SkillW.Cast(PacketCast()); } } } if (ItemBool("Combo", "Item")) { UseItem(targetObj); } if (ItemBool("Combo", "Ignite")) { CastIgnite(targetObj); } }