private void NormalCombo(string Mode) { if (ItemBool(Mode, "W") && SkillW.IsReady() && Player.HasBuff("AuraofDespair") && Player.CountEnemysInRange(500) == 0) { SkillW.Cast(PacketCast()); } if (targetObj == null) { return; } if (ItemBool(Mode, "Q") && Mode == "Combo" && SkillQ.IsReady()) { var nearObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, SkillQ.Range) && !(i is Obj_AI_Turret) && i.CountEnemysInRange((int)SkillR.Range - 40) >= ItemSlider(Mode, "RAbove") && !CanKill(i, SkillQ)).OrderBy(i => i.CountEnemysInRange((int)SkillR.Range)); if (ItemBool(Mode, "R") && SkillR.IsReady() && ItemList(Mode, "RMode") == 1 && nearObj.Count() > 0) { foreach (var Obj in nearObj) { SkillQ.CastIfHitchanceEquals(Obj, HitChance.VeryHigh, PacketCast()); } } else if (SkillQ.InRange(targetObj.Position) && (CanKill(targetObj, SkillQ) || !Orbwalk.InAutoAttackRange(targetObj))) { if (ItemBool("Misc", "SmiteCol")) { if (!SmiteCollision(targetObj, SkillQ)) { SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast()); } } else { SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast()); } } } if (ItemBool(Mode, "W") && SkillW.IsReady()) { if (Player.ManaPercentage() >= ItemSlider(Mode, "WAbove")) { if (Player.Distance3D(targetObj) <= SkillW.Range + 35) { if (!Player.HasBuff("AuraofDespair")) { SkillW.Cast(PacketCast()); } } else if (Player.HasBuff("AuraofDespair")) { SkillW.Cast(PacketCast()); } } else if (Player.HasBuff("AuraofDespair")) { SkillW.Cast(PacketCast()); } } if (ItemBool(Mode, "E") && SkillE.IsReady() && SkillE.InRange(targetObj.Position)) { SkillE.Cast(PacketCast()); } if (ItemBool(Mode, "R") && Mode == "Combo" && SkillR.IsReady()) { switch (ItemList(Mode, "RMode")) { case 0: if (SkillR.InRange(targetObj.Position) && CanKill(targetObj, SkillR)) { SkillR.Cast(PacketCast()); } break; case 1: var Obj = ObjectManager.Get <Obj_AI_Hero>().Where(i => IsValid(i, SkillR.Range)); if (Obj.Count() > 0 && (Obj.Count() >= ItemSlider(Mode, "RAbove") || (Obj.Count() >= 2 && Obj.Count(i => CanKill(i, SkillR)) >= 1))) { SkillR.Cast(PacketCast()); } break; } } if (ItemBool(Mode, "Item") && Mode == "Combo" && Items.CanUseItem(Randuin) && Player.CountEnemysInRange(450) >= 1) { Items.UseItem(Randuin); } if (ItemBool(Mode, "Ignite") && Mode == "Combo") { CastIgnite(targetObj); } }
private void NormalCombo() { if (targetObj == null) { return; } IEnumerable <SpellSlot> ComboQE = new[] { SpellSlot.Q, SpellSlot.E }; var AADmg = Player.GetAutoAttackDamage(targetObj) + (SkillP.IsReady() ? Player.CalcDamage(targetObj, Damage.DamageType.Magical, 4 + 4 * Player.Level + 0.1 * Player.ScriptHealthBonus) : 0); //Game.PrintChat("{0}/{1}", Player.GetAutoAttackDamage(targetObj), 4 + (4 * Player.Level) + (0.1 * Player.ScriptHealthBonus)); if (targetObj.Health <= Player.GetComboDamage(targetObj, ComboQE) + AADmg) { if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position) && CanKill(targetObj, SkillQ)) { SkillQ.CastOnUnit(targetObj, PacketCast); } else if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady() && Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && targetObj.Health <= Player.GetComboDamage(targetObj, ComboQE) && SkillE.InRange(targetObj.Position)) { SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast); SkillQ.CastOnUnit(targetObj, PacketCast); } else { if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position)) { SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast); } if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position)) { SkillQ.CastOnUnit(targetObj, PacketCast); } } } else { if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position)) { if (Config.Item(Name + "multieusage").GetValue <bool>()) { SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * ((CheckingCollision(Player, targetObj, SkillE).Count >= 2) ? SkillE.Range : 200), PacketCast); } else { SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast); } } if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position)) { SkillQ.CastOnUnit(targetObj, PacketCast); } } if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && SkillE.InRange(targetObj.Position) && Player.Health * 100 / Player.MaxHealth <= Config.Item(Name + "autowusage").GetValue <Slider>().Value) { SkillW.Cast(PacketCast); } if (Config.Item(Name + "iusage").GetValue <bool>() && Items.CanUseItem(Rand) && Player.CountEnemysInRange(450) >= 1) { Items.UseItem(Rand); } if (Config.Item(Name + "ignite").GetValue <bool>()) { CastIgnite(targetObj); } }
private void Harass() { if (targetObj == null) { return; } var jumpObj = ObjectManager.Get <Obj_AI_Base>().Where(i => !i.IsMe && i.IsAlly && !(i is Obj_AI_Turret) && i.Distance(Player) <= SkillW.Range + i.BoundingRadius).OrderByDescending(i => i.Distance(Player)).OrderBy(i => i.Distance(ObjectManager.Get <Obj_AI_Turret>().Where(a => a.IsAlly && !a.IsDead).OrderBy(a => a.Distance(Player)).First())); if (SkillQ.IsReady()) { if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(targetObj.Position)) { if (Config.Item(Name + "smite").GetValue <bool>() && SkillQ.GetPrediction(targetObj).Hitchance == HitChance.Collision) { 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)) && targetObj.IsValidTarget(1300) && (CanKill(targetObj, SkillQ, 1) || (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne" && Player.Mana >= (Config.Item(Name + "useHarE").GetValue <bool>() ? 130 : 80) && Player.Health * 100 / Player.MaxHealth >= Config.Item(Name + "harMode").GetValue <Slider>().Value&& jumpObj.Count() >= 1))) { SkillQ.Cast(PacketCast); } } if (Config.Item(Name + "useHarE").GetValue <bool>() && SkillE.IsReady() && SkillE.Instance.Name == "BlindMonkEOne" && SkillE.InRange(targetObj.Position)) { SkillE.Cast(PacketCast); } if (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne" && ((SkillE.Level == 0 && !(targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && Player.Distance(targetObj) < 200) || (Config.Item(Name + "useHarE").GetValue <bool>() && targetObj.HasBuff("BlindMonkEOne", true)) || (!Config.Item(Name + "useHarE").GetValue <bool>() && !(targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && Player.Distance(targetObj) < 200)) && !JumpCasted) { SkillW.CastOnUnit(jumpObj.First(), PacketCast); JumpCasted = true; Utility.DelayAction.Add(300, () => JumpCasted = false); } }
private void InsecCombo() { Orbwalk(targetObj); if (targetObj == null) { return; } Vector3 posJumpTo = default(Vector3); if (SkillR.IsReady() && (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex == 2 || (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex != 2 && allyObj != null))) { var posKickTo = (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex != 2) ? allyObj.Position : Game.CursorPos; posJumpTo = posKickTo + Vector3.Normalize(targetObj.Position - posKickTo) * (targetObj.Distance(posKickTo) + 250); if (SkillR.InRange(targetObj.Position)) { var posKick = Player.Position + Vector3.Normalize(targetObj.Position - Player.Position) * (targetObj.Distance(Player) + 250); var distKick = (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex != 2) ? allyObj.Distance(targetObj) - allyObj.Distance(posKick) : Game.CursorPos.Distance(targetObj.Position) - Game.CursorPos.Distance(posKick); if (distKick > 0 && distKick / 250 > 0.7) { SkillR.CastOnUnit(targetObj, PacketCast); return; } } if (Config.Item(Name + "insecFlash").GetValue <bool>()) { if (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne" && Player.Distance(posJumpTo) < 600 && GetWardSlot() != null) { WardJump(posJumpTo); InsecJumpCasted = true; return; } else if (FlashReady() && !InsecJumpCasted) { var Obj = ObjectManager.Get <Obj_AI_Base>().Where(i => !i.IsMe && i.IsAlly && !(i is Obj_AI_Turret) && i.Distance(Player) <= SkillW.Range + i.BoundingRadius && i.Distance(posJumpTo) < 550).OrderBy(i => i.Distance(posJumpTo)).FirstOrDefault(); if (Obj != null) { if (Player.Distance(posJumpTo) < 1000 && !FlyCasted) { if (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne" && !JumpCasted) { SkillW.CastOnUnit(Obj, PacketCast); JumpCasted = true; Utility.DelayAction.Add(1000, () => JumpCasted = false); } if (SkillW.IsReady() && SkillW.Instance.Name != "BlindMonkWOne" && JumpCasted) { Utility.DelayAction.Add(400, () => { CastFlash(posJumpTo); SkillR.CastOnUnit(targetObj, PacketCast); }); return; } } } else if (!JumpCasted && Player.Distance(posJumpTo) < 600) { CastFlash(posJumpTo); return; } } } else if (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne" && Player.Distance(posJumpTo) < 600) { WardJump(posJumpTo); return; } } if (SkillQ.IsReady()) { if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(targetObj.Position)) { if (Config.Item(Name + "smite").GetValue <bool>() && SkillQ.GetPrediction(targetObj).Hitchance == HitChance.Collision) { if (!SmiteCollision(targetObj, SkillQ)) { SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast); } } else { if (posJumpTo != default(Vector3) && SkillR.IsReady()) { var enemyObj = ObjectManager.Get <Obj_AI_Base>().FirstOrDefault(i => i.IsValidTarget(SkillQ.Range) && i.Distance(posJumpTo) < 550 && SkillQ.GetPrediction(i).Hitchance >= HitChance.Medium && !CanKill(i, SkillQ)); SkillQ.CastIfHitchanceEquals((enemyObj != null) ? enemyObj : targetObj, (enemyObj != null) ? HitChance.Medium : HitChance.VeryHigh, PacketCast); } else { SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast); } } } else { if ((targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && targetObj.IsValidTarget(1300)) { if (CanKill(targetObj, SkillQ, 1) || (!SkillR.IsReady() && !RCasted && KickCasted) || Player.Distance(SkillR.IsReady() ? posJumpTo : targetObj.Position) > 600 || !QCasted) { SkillQ.Cast(PacketCast); } } else if (posJumpTo != default(Vector3) && SkillR.IsReady()) { if (ObjectManager.Get <Obj_AI_Base>().FirstOrDefault(i => (i.HasBuff("BlindMonkQOne", true) || i.HasBuff("blindmonkqonechaos", true)) && i.IsValidTarget(1300) && i.Distance(posJumpTo) < 550) != null) { SkillQ.Cast(PacketCast); } } } } }
private void Flee() { var manaQ = SkillQ.Instance.ManaCost; var manaW = SkillW.Instance.ManaCost; var manaR = SkillR.Instance.ManaCost; var PData = Player.Buffs.FirstOrDefault(i => i.Name == "udyrmonkeyagilitybuff"); if (SkillE.IsReady()) { SkillE.Cast(PacketCast); } if (PData != null && PData.Count < 3) { if ((manaQ < manaW || manaQ < manaR || (manaQ == manaW && manaQ < manaR) || (manaQ == manaR && manaQ < manaW)) && SkillQ.IsReady()) { SkillQ.Cast(PacketCast); } else if ((manaW < manaQ || manaW < manaR || (manaW == manaQ && manaW < manaR) || (manaW == manaR && manaW < manaQ)) && SkillW.IsReady()) { SkillW.Cast(PacketCast); } else if ((manaR < manaQ || manaR < manaW || (manaR == manaQ && manaR < manaW) || (manaR == manaW && manaR < manaQ)) && SkillR.IsReady()) { SkillR.Cast(PacketCast); } } }
private void OnDraw(EventArgs args) { if (Player.IsDead) { return; } if (Config.Item(Name + "DrawQ").GetValue <bool>() && SkillQ.Level > 0) { Utility.DrawCircle(Player.Position, (SkillQ.Instance.Name == "BlindMonkQOne") ? SkillQ.Range : 1300, SkillQ.IsReady() ? Color.Green : Color.Red); } if (Config.Item(Name + "DrawW").GetValue <bool>() && SkillW.Level > 0) { Utility.DrawCircle(Player.Position, SkillW.Range, SkillW.IsReady() ? Color.Green : Color.Red); } if (Config.Item(Name + "DrawE").GetValue <bool>() && SkillE.Level > 0) { Utility.DrawCircle(Player.Position, (SkillE.Instance.Name == "BlindMonkEOne") ? SkillE.Range : 575, SkillE.IsReady() ? Color.Green : Color.Red); } if (Config.Item(Name + "DrawR").GetValue <bool>() && SkillR.Level > 0) { Utility.DrawCircle(Player.Position, SkillR.Range, SkillR.IsReady() ? Color.Green : Color.Red); } if (Config.Item(Name + "drawInsec").GetValue <bool>() && SkillR.IsReady()) { Byte validTargets = 0; if (targetObj != null) { Utility.DrawCircle(targetObj.Position, 70, Color.FromArgb(0, 204, 0)); validTargets += 1; } if (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex == 2 || (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex != 2 && allyObj != null)) { Utility.DrawCircle((Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex != 2) ? allyObj.Position : Game.CursorPos, 70, Color.FromArgb(0, 204, 0)); if (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex != 2) { validTargets += 1; } } if ((Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex == 2 && validTargets == 1) || (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex != 2 && validTargets == 2)) { var posDraw = targetObj.Position + Vector3.Normalize(((Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex != 2) ? allyObj.Position : Game.CursorPos) - targetObj.Position) * 600; Drawing.DrawLine(Drawing.WorldToScreen(targetObj.Position), Drawing.WorldToScreen(posDraw), 2, Color.White); } } if (Config.Item(Name + "insecMode").GetValue <StringList>().SelectedIndex == 0 && SkillR.IsReady() && Config.Item(Name + "drawInsecTower").GetValue <bool>()) { Utility.DrawCircle(Player.Position, Config.Item(Name + "insecTowerR").GetValue <Slider>().Value, Color.White); } if (Config.Item(Name + "drawKillable").GetValue <bool>()) { foreach (var killableObj in ObjectManager.Get <Obj_AI_Hero>().Where(i => i.IsValidTarget())) { var dmgTotal = Player.GetAutoAttackDamage(killableObj); if (SkillQ.IsReady() && SkillQ.Instance.Name == "BlindMonkQOne") { dmgTotal += SkillQ.GetDamage(killableObj); } if (SkillR.IsReady() && Config.Item(Name + "ult" + killableObj.ChampionName).GetValue <bool>()) { dmgTotal += SkillR.GetDamage(killableObj); } if (SkillE.IsReady() && SkillQ.Instance.Name == "BlindMonkEOne") { dmgTotal += SkillE.GetDamage(killableObj); } if (SkillQ.IsReady() && (killableObj.HasBuff("BlindMonkQOne", true) || killableObj.HasBuff("blindmonkqonechaos", true))) { dmgTotal += GetQ2Dmg(killableObj, dmgTotal); } if (killableObj.Health < dmgTotal) { var posText = Drawing.WorldToScreen(killableObj.Position); Drawing.DrawText(posText.X - 30, posText.Y - 5, Color.White, "Killable"); } } } }
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 (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && Player.HasBuff("AuraofDespair") && Player.CountEnemysInRange(500) == 0) { SkillW.Cast(PacketCast); } if (targetObj == null) { return; } if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady() && (CanKill(targetObj, SkillQ) || !LXOrbwalker.InAutoAttackRange(targetObj))) { if (Config.Item(Name + "smite").GetValue <bool>() && SkillQ.GetPrediction(targetObj).Hitchance == HitChance.Collision) { if (!SmiteCollision(targetObj, SkillQ)) { SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast); } } else { SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast); } } if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady()) { if (Player.Mana * 100 / Player.MaxMana >= Config.Item(Name + "autowusage").GetValue <Slider>().Value) { if (SkillW.InRange(targetObj.Position)) { if (!Player.HasBuff("AuraofDespair")) { SkillW.Cast(PacketCast); } } else if (Player.HasBuff("AuraofDespair")) { SkillW.Cast(PacketCast); } } else if (Player.HasBuff("AuraofDespair")) { SkillW.Cast(PacketCast); } } if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position)) { SkillE.Cast(PacketCast); } if (Config.Item(Name + "rusage").GetValue <bool>() && SkillR.IsReady()) { switch (Config.Item(Name + "ruseMode").GetValue <StringList>().SelectedIndex) { case 0: if (SkillR.InRange(targetObj.Position) && CanKill(targetObj, SkillR)) { SkillR.Cast(PacketCast); } break; case 1: if (Player.CountEnemysInRange((int)SkillR.Range) >= Config.Item(Name + "rmulti").GetValue <Slider>().Value) { SkillR.Cast(PacketCast); } break; } } if (Config.Item(Name + "iusage").GetValue <bool>() && Items.CanUseItem(Rand) && Player.CountEnemysInRange(450) >= 1) { Items.UseItem(Rand); } if (Config.Item(Name + "ignite").GetValue <bool>()) { CastIgnite(targetObj); } }
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); } }
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 OnCreateObjMinion(GameObject sender, EventArgs args) { if (!sender.IsValid <Obj_AI_Minion>() || sender.IsEnemy || Player.IsDead || !SkillW.IsReady() || SkillW.Instance.Name != "BlindMonkWOne" || !WardCasted) { return; } if ((Orbwalk.CurrentMode == Orbwalk.Mode.Flee || (Orbwalk.CurrentMode == Orbwalk.Mode.Combo && ItemBool("Combo", "W") && ItemBool("Combo", "WGap") && ItemBool("Combo", "WGapWard")) || (Orbwalk.CurrentMode == Orbwalk.Mode.Harass && ItemBool("Harass", "WBackWard")) || ItemActive("StarCombo") || ItemActive("InsecCombo")) && Player.Distance3D((Obj_AI_Minion)sender) <= SkillW.Range + sender.BoundingRadius && sender.Name.EndsWith("Ward")) { SkillW.CastOnUnit((Obj_AI_Minion)sender, PacketCast()); return; } }
private void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (Player.IsDead) { return; } if (sender.IsMe) { if (args.SData.Name == "BlindMonkQOne") { QCasted = true; Utility.DelayAction.Add(Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear || Orbwalk.CurrentMode == Orbwalk.Mode.LaneFreeze ? 2800 : 2200, () => QCasted = false); } if (args.SData.Name == "BlindMonkWOne") { WCasted = true; Utility.DelayAction.Add(Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear || Orbwalk.CurrentMode == Orbwalk.Mode.LaneFreeze ? 2800 : 1000, () => WCasted = false); JumpCasted = true; Utility.DelayAction.Add(1000, () => JumpCasted = false); } if (args.SData.Name == "BlindMonkEOne") { ECasted = true; Utility.DelayAction.Add(Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear || Orbwalk.CurrentMode == Orbwalk.Mode.LaneFreeze ? 2800 : 2200, () => ECasted = false); } if (args.SData.Name == "BlindMonkRKick") { RCasted = true; Utility.DelayAction.Add(700, () => RCasted = false); if (ItemActive("StarCombo") || ItemActive("InsecCombo")) { KickCasted = true; Utility.DelayAction.Add(1000, () => KickCasted = false); } } if (ItemActive("InsecCombo") && ItemBool("Insec", "Flash") && FlashReady()) { if (args.SData.Name == "blindmonkqtwo") { FlyCasted = true; Utility.DelayAction.Add(1000, () => FlyCasted = false); } else if (args.SData.Name == "BlindMonkWOne" && !WardCasted) { Utility.DelayAction.Add((int)((Player.Position.Distance(GetInsecPos()) - args.Target.Position.Distance(GetInsecPos())) / SkillW.Speed * 1000 + 200), () => CastFlash(GetInsecPos())); } } } else if (sender.IsEnemy && ItemBool("Misc", "WSurvive") && SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne") { if (args.Target.IsMe && ((Orbwalk.IsAutoAttack(args.SData.Name) && Player.Health <= sender.GetAutoAttackDamage(Player, true)) || (args.SData.Name == "summonerdot" && Player.Health <= (sender as Obj_AI_Hero).GetSummonerSpellDamage(Player, Damage.SummonerSpell.Ignite)))) { SkillW.Cast(PacketCast()); return; } else if ((args.Target.IsMe || (Player.Position.Distance(args.Start) <= args.SData.CastRange[0] && Player.Position.Distance(args.End) <= Orbwalk.GetAutoAttackRange())) && Damage.Spells.ContainsKey((sender as Obj_AI_Hero).ChampionName)) { for (var i = 3; i > -1; i--) { if (Damage.Spells[(sender as Obj_AI_Hero).ChampionName].FirstOrDefault(a => a.Slot == (sender as Obj_AI_Hero).GetSpellSlot(args.SData.Name, false) && a.Stage == i) != null) { if (Player.Health <= (sender as Obj_AI_Hero).GetSpellDamage(Player, (sender as Obj_AI_Hero).GetSpellSlot(args.SData.Name, false), i)) { SkillW.Cast(PacketCast()); return; } } } } } }
private void OnDraw(EventArgs args) { if (Player.IsDead) { return; } if (ItemBool("Draw", "Q") && SkillQ.Level > 0) { Utility.DrawCircle(Player.Position, SkillQ.Instance.Name == "BlindMonkQOne" ? SkillQ.Range : SkillQ2.Range, SkillQ.IsReady() ? Color.Green : Color.Red); } if (ItemBool("Draw", "W") && SkillW.Level > 0) { Utility.DrawCircle(Player.Position, SkillW.Range, SkillW.IsReady() ? Color.Green : Color.Red); } if (ItemBool("Draw", "E") && SkillE.Level > 0) { Utility.DrawCircle(Player.Position, SkillE.Instance.Name == "BlindMonkEOne" ? SkillE.Range : SkillE2.Range, SkillE.IsReady() ? Color.Green : Color.Red); } if (ItemBool("Draw", "R") && SkillR.Level > 0) { Utility.DrawCircle(Player.Position, SkillR.Range, SkillR.IsReady() ? Color.Green : Color.Red); } if (ItemBool("Insec", "DrawLine") && SkillR.IsReady()) { Byte validTargets = 0; if (targetObj != null) { Utility.DrawCircle(targetObj.Position, 70, Color.FromArgb(0, 204, 0)); validTargets += 1; } if (GetInsecPos(true) != default(Vector3)) { Utility.DrawCircle(GetInsecPos(true), 70, Color.FromArgb(0, 204, 0)); validTargets += 1; } if (validTargets == 2) { Drawing.DrawLine(Drawing.WorldToScreen(targetObj.Position), Drawing.WorldToScreen(targetObj.Position.To2D().Extend(GetInsecPos(true).To2D(), 600).To3D()), 1, Color.White); } } if (ItemList("Insec", "Mode") == 0 && SkillR.IsReady()) { if (ItemBool("InsecNear", "ToChamp") && ItemBool("InsecNear", "DrawToChamp")) { Utility.DrawCircle(Player.Position, ItemSlider("InsecNear", "ToChampR"), Color.White); } if (ItemBool("InsecNear", "ToMinion") && ItemBool("InsecNear", "DrawToMinion")) { Utility.DrawCircle(Player.Position, ItemSlider("InsecNear", "ToMinionR"), Color.White); } } if (ItemBool("Draw", "Killable")) { foreach (var Obj in ObjectManager.Get <Obj_AI_Hero>().Where(i => IsValid(i))) { var dmgTotal = Player.GetAutoAttackDamage(Obj, true); if (SkillQ.IsReady()) { if (SkillQ.Instance.Name == "BlindMonkQOne") { dmgTotal += SkillQ.GetDamage(Obj); } else if (Obj.HasBuff("BlindMonkSonicWave")) { dmgTotal += SkillQ.GetDamage(Obj, 1); } } if (SkillE.IsReady() && SkillE.Instance.Name == "BlindMonkEOne") { dmgTotal += SkillE.GetDamage(Obj); } if (SkillR.IsReady() && ItemBool("Ultimate", Obj.ChampionName)) { dmgTotal += SkillR.GetDamage(Obj); } if (Obj.Health + 5 <= dmgTotal) { var posText = Drawing.WorldToScreen(Obj.Position); Drawing.DrawText(posText.X - 30, posText.Y - 5, Color.White, "Killable"); } } } }
private void Harass() { if (targetObj == null) { return; } var HpEnough = Player.Health * 100 / Player.MaxHealth >= Config.Item("harMode").GetValue <Slider>().Value; if (SkillE.IsReady() && SkillE.Instance.Name == "RenektonSliceAndDice" && SkillE.InRange(targetObj.Position) && HpEnough) { SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast()); } if (Config.Item("useHarW").GetValue <bool>() && SkillW.InRange(targetObj.Position) && !ECasted && SkillW.IsReady()) { SkillW.Cast(PacketCast()); } if (Config.Item("useHarQ").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position) && !ECasted) { SkillQ.Cast(PacketCast()); } if (SkillE.IsReady() && SkillE.Instance.Name != "RenektonSliceAndDice" && !ECasted && DashBackPos != default(Vector3)) { SkillE.Cast(DashBackPos, PacketCast()); } if (!SkillE.IsReady()) { DashBackPos = default(Vector3); } }
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 LaneJungClear() { var minionObj = MinionManager.GetMinions(Player.Position, SkillE.Range - 50, MinionTypes.All, MinionTeam.NotAlly); if (minionObj.Count == 0) { return; } var posEFarm = SkillE.GetLineFarmLocation(minionObj); if (Config.Item("useClearE").GetValue <bool>() && SkillE.IsReady() && SkillE.Instance.Name == "RenektonSliceAndDice") { SkillE.Cast(posEFarm.MinionsHit >= 2 ? posEFarm.Position : minionObj.First().Position.To2D(), PacketCast()); } if (Config.Item("useClearQ").GetValue <bool>() && SkillQ.IsReady() && minionObj.Count(i => i.IsValidTarget(SkillQ.Range)) >= 2 && !ECasted) { SkillQ.Cast(PacketCast()); } if (Config.Item("useClearW").GetValue <bool>() && !ECasted && SkillW.IsReady() && minionObj.FirstOrDefault(i => SkillW.InRange(i.Position) && (Player.Mana >= SkillW.Instance.ManaCost) ? CanKill(i, SkillW, 1) : CanKill(i, SkillW)) != null) { SkillW.Cast(PacketCast()); } if (Config.Item("useClearE").GetValue <bool>() && SkillE.IsReady() && SkillE.Instance.Name != "RenektonSliceAndDice" && !ECasted) { SkillE.Cast(posEFarm.MinionsHit >= 2 ? posEFarm.Position : minionObj.First().Position.To2D(), PacketCast()); } if (Config.Item("useClearI").GetValue <bool>() && minionObj.Count(i => i.IsValidTarget(350)) >= 2 && !ECasted) { if (Items.CanUseItem(Tiamat)) { Items.UseItem(Tiamat); } if (Items.CanUseItem(Hydra)) { Items.UseItem(Hydra); } } }
private void InsecCombo() { CustomOrbwalk(targetObj); if (targetObj == null) { return; } if (GetInsecPos() != default(Vector3)) { if (SkillR.InRange(targetObj.Position) && (GetInsecPos(true).Distance(targetObj.Position) - GetInsecPos(true).Distance(Player.Position.To2D().Extend(targetObj.Position.To2D(), targetObj.Distance3D(Player) + 500).To3D())) / 500 > 0.7) { SkillR.CastOnUnit(targetObj, PacketCast()); return; } if (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne" && Player.Position.Distance(GetInsecPos()) < 600 && (GetWardSlot() != null || GetWardSlot().Stacks > 0 || WardCasted)) { WardJump(GetInsecPos()); if (ItemBool("Insec", "Flash")) { InsecJumpCasted = true; } return; } if (ItemBool("Insec", "Flash") && FlashReady() && !InsecJumpCasted && !WardCasted) { var jumpObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, SkillW.Range + i.BoundingRadius, false) && !(i is Obj_AI_Turret) && i.Position.Distance(GetInsecPos()) < 500).OrderBy(i => i.Position.Distance(GetInsecPos())); if (jumpObj.Count() > 0 && !JumpCasted) { foreach (var Obj in jumpObj) { if (Player.Position.Distance(GetInsecPos()) < Player.Distance3D(Obj) + Obj.Position.Distance(GetInsecPos()) && !FlyCasted) { if (SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne") { SkillW.CastOnUnit(Obj, PacketCast()); return; } } } } else if (Player.Position.Distance(GetInsecPos()) < 600 && !JumpCasted) { CastFlash(GetInsecPos()); return; } } } if (SkillQ.IsReady()) { if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(targetObj.Position)) { var nearObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, SkillQ.Range) && !(i is Obj_AI_Turret) && i.Position.Distance(GetInsecPos()) < 500 && !CanKill(i, SkillQ)).OrderBy(i => i.Position.Distance(GetInsecPos())); if (GetInsecPos() != default(Vector3) && nearObj.Count() > 0) { foreach (var Obj in nearObj) { SkillQ.CastIfHitchanceEquals(Obj, HitChance.VeryHigh, PacketCast()); } } else { 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) || Player.Position.Distance((GetInsecPos() != default(Vector3)) ? GetInsecPos() : targetObj.Position) > 600 || !QCasted)) { SkillQ.Cast(PacketCast()); } else if (GetInsecPos() != default(Vector3) && ObjectManager.Get <Obj_AI_Base>().FirstOrDefault(i => i.HasBuff("BlindMonkSonicWave") && IsValid(i, SkillQ2.Range) && i.Position.Distance(GetInsecPos()) < 500) != null) { SkillQ.Cast(PacketCast()); } } }
private void OnCreate(GameObject sender, EventArgs args) { if (Player.Distance(sender.Position) <= 70 && (sender.Name == "Udyr_PhoenixBreath_cas.troy" || sender.Name == "Udyr_Spirit_Phoenix_Breath_cas.troy")) { PhoenixActive = true; } if (Player.Distance(sender.Position) <= 450 && (sender.Name == "udyr_tiger_claw_tar.troy" || sender.Name == "Udyr_Spirit_Tiger_Claw_tar.troy")) { TigerActive = true; } if (sender is Obj_SpellMissile && sender.IsValid && Config.Item(Name + "surviveW").GetValue <bool>() && SkillW.IsReady()) { var missle = (Obj_SpellMissile)sender; var caster = missle.SpellCaster; if (caster.IsEnemy) { var ShieldBuff = new Int32[] { 60, 100, 140, 180, 220 }[SkillW.Level - 1] +0.5 * Player.FlatMagicDamageMod; if (missle.SData.Name.Contains("BasicAttack")) { if (missle.Target.IsMe && Player.Health <= caster.GetAutoAttackDamage(Player, true) && Player.Health + ShieldBuff > caster.GetAutoAttackDamage(Player, true)) { SkillW.Cast(); } } else if (missle.Target.IsMe || missle.EndPosition.Distance(Player.Position) <= 130) { if (missle.SData.Name == "summonerdot") { if (Player.Health <= (caster as Obj_AI_Hero).GetSummonerSpellDamage(Player, Damage.SummonerSpell.Ignite) && Player.Health + ShieldBuff > (caster as Obj_AI_Hero).GetSummonerSpellDamage(Player, Damage.SummonerSpell.Ignite)) { SkillW.Cast(); } } else if (Player.Health <= (caster as Obj_AI_Hero).GetSpellDamage(Player, (caster as Obj_AI_Hero).GetSpellSlot(missle.SData.Name, false), 1) && Player.Health + ShieldBuff > (caster as Obj_AI_Hero).GetSpellDamage(Player, (caster as Obj_AI_Hero).GetSpellSlot(missle.SData.Name, false), 1)) { SkillW.Cast(); } } } } }
private void OnCreate(GameObject sender, EventArgs args) { if (sender.Name == "JarvanDemacianStandard_buf_green.troy") { flagPos = sender.Position; } if (sender.Name == "JarvanCataclysm_tar.troy") { wallObj = (Obj_AI_Base)sender; } if (sender is Obj_SpellMissile && sender.IsValid && Config.Item(Name + "surviveW").GetValue <bool>() && SkillW.IsReady()) { var missle = (Obj_SpellMissile)sender; var caster = missle.SpellCaster; if (caster.IsEnemy) { var ShieldBuff = new Int32[] { 50, 90, 130, 170, 210 }[SkillW.Level - 1] +new Int32[] { 20, 30, 40, 50, 60 }[SkillW.Level - 1] *Player.CountEnemysInRange(300); if (missle.SData.Name.Contains("BasicAttack")) { if (missle.Target.IsMe && Player.Health <= caster.GetAutoAttackDamage(Player, true) && Player.Health + ShieldBuff > caster.GetAutoAttackDamage(Player, true)) { SkillW.Cast(PacketCast); } } else if (missle.Target.IsMe || missle.EndPosition.Distance(Player.Position) <= 130) { if (missle.SData.Name == "summonerdot") { if (Player.Health <= (caster as Obj_AI_Hero).GetSummonerSpellDamage(Player, Damage.SummonerSpell.Ignite) && Player.Health + ShieldBuff > (caster as Obj_AI_Hero).GetSummonerSpellDamage(Player, Damage.SummonerSpell.Ignite)) { SkillW.Cast(PacketCast); } } else if (Player.Health <= (caster as Obj_AI_Hero).GetSpellDamage(Player, (caster as Obj_AI_Hero).GetSpellSlot(missle.SData.Name, false), 1) && Player.Health + ShieldBuff > (caster as Obj_AI_Hero).GetSpellDamage(Player, (caster as Obj_AI_Hero).GetSpellSlot(missle.SData.Name, false), 1)) { SkillW.Cast(PacketCast); } } } } }
private void NormalCombo(bool IsHarass) { if (targetObj == null) { return; } if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady() && Player.Health * 100 / Player.MaxHealth <= Config.Item(Name + "autoqusage").GetValue <Slider>().Value&& Player.CountEnemysInRange(800) >= 1) { SkillQ.Cast(PacketCast); } if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && SkillW.InRange(targetObj.Position)) { if (Utility.IsBothFacing(Player, targetObj, 300)) { if (Player.GetAutoAttackDamage(targetObj) < targetObj.GetAutoAttackDamage(Player) || Player.Health < targetObj.Health) { SkillW.Cast(PacketCast); } } else if (Player.IsFacing(targetObj) && !targetObj.IsFacing(Player) && !LXOrbwalker.InAutoAttackRange(targetObj)) { SkillW.Cast(PacketCast); } } if (!IsHarass && Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position) && !LXOrbwalker.InAutoAttackRange(targetObj)) { if (Player.Health * 100 / Player.MaxHealth >= Config.Item(Name + "autoeusage").GetValue <Slider>().Value) { SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast); } else if (SkillR.IsReady() || (Player.Mana >= 70 && SkillQ.IsReady())) { SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast); } } if (Config.Item(Name + "iusage").GetValue <bool>()) { UseItem(targetObj); } if (Config.Item(Name + "ignite").GetValue <bool>()) { CastIgnite(targetObj); } }
private void NormalCombo() { if (targetObj == null) { return; } if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillQ.InRange(targetObj.Position)) { SkillE.Cast(LXOrbwalker.InAutoAttackRange(targetObj) ? targetObj.Position : targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 100, PacketCast); } if (Config.Item(Name + "eusage").GetValue <bool>() && flagPos != default(Vector3) && targetObj.IsValidTarget(180, true, flagPos)) { if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.InRange(targetObj.Position) && SkillQ.IsReady()) { SkillQ.Cast(flagPos, PacketCast); } } else if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.InRange(targetObj.Position) && SkillQ.IsReady()) { SkillQ.Cast(targetObj.Position, PacketCast); } if (Config.Item(Name + "rusage").GetValue <bool>() && SkillR.IsReady() && wallObj == null) { switch (Config.Item(Name + "ruseMode").GetValue <StringList>().SelectedIndex) { case 0: if (SkillR.InRange(targetObj.Position) && CanKill(targetObj, SkillR)) { SkillR.CastOnUnit(targetObj, PacketCast); } break; case 1: var UltiObj = ObjectManager.Get <Obj_AI_Hero>().FirstOrDefault(i => i.IsValidTarget(SkillR.Range) && i.CountEnemysInRange(325) >= Config.Item(Name + "rmulti").GetValue <Slider>().Value); if (UltiObj != null) { SkillR.CastOnUnit(UltiObj, PacketCast); } break; } } if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && SkillW.InRange(targetObj.Position) && Player.Health * 100 / Player.MaxHealth <= Config.Item(Name + "autowusage").GetValue <Slider>().Value) { SkillW.Cast(PacketCast); } if (Config.Item(Name + "iusage").GetValue <bool>()) { UseItem(targetObj); } if (Config.Item(Name + "ignite").GetValue <bool>()) { CastIgnite(targetObj); } }
private void NormalCombo() { if (targetObj == null) { return; } if (Config.Item(Name + "pusage").GetValue <bool>() && Player.HasBuff("blindmonkpassive_cosmetic", true) && LXOrbwalker.InAutoAttackRange(targetObj) && LXOrbwalker.CanAttack()) { return; } if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.Instance.Name == "BlindMonkEOne" && SkillE.InRange(targetObj.Position)) { SkillE.Cast(PacketCast); } if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady()) { if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(targetObj.Position)) { if (Config.Item(Name + "smite").GetValue <bool>() && SkillQ.GetPrediction(targetObj).Hitchance == HitChance.Collision) { if (!SmiteCollision(targetObj, SkillQ)) { SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast); } } else { SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast); } } else if (targetObj.IsValidTarget(1300) && (targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true))) { if (Player.Distance(targetObj) > 500 || CanKill(targetObj, SkillQ, 1) || (targetObj.HasBuff("BlindMonkEOne", true) && SkillE.InRange(targetObj.Position)) || !QCasted) { SkillQ.Cast(PacketCast); } } } if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && targetObj.IsValidTarget(575) && targetObj.HasBuff("BlindMonkEOne", true) && (Player.Distance(targetObj) > 450 || !ECasted)) { SkillE.Cast(PacketCast); } if (Config.Item(Name + "rusage").GetValue <bool>() && Config.Item(Name + "ult" + targetObj.ChampionName).GetValue <bool>() && SkillR.IsReady() && SkillR.InRange(targetObj.Position)) { if (CanKill(targetObj, SkillR) || (targetObj.Health - SkillR.GetDamage(targetObj) < GetQ2Dmg(targetObj, SkillR.GetDamage(targetObj)) && SkillQ.IsReady() && (targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && Player.Mana >= 50)) { SkillR.CastOnUnit(targetObj, PacketCast); } } if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && SkillE.InRange(targetObj.Position) && Player.Health * 100 / Player.MaxHealth <= Config.Item(Name + "autowusage").GetValue <Slider>().Value) { if (SkillW.Instance.Name == "BlindMonkWOne" && !WCasted) { SkillW.Cast(PacketCast); WCasted = true; Utility.DelayAction.Add(1000, () => WCasted = false); } else if (!Player.HasBuff("blindmonkwoneshield", true) && !WCasted) { SkillW.Cast(PacketCast); } } if (Config.Item(Name + "iusage").GetValue <bool>()) { UseItem(targetObj); } if (Config.Item(Name + "ignite").GetValue <bool>()) { CastIgnite(targetObj); } }
private void NormalCombo() { if (targetObj == null) { return; } if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady() && targetObj.IsValidTarget(1000) && !Player.HasBuff("PowerBall", true)) { if (!SkillE.InRange(targetObj.Position)) { SkillQ.Cast(PacketCast); } else if (!Player.HasBuff("DefensiveBallCurl", true)) { SkillQ.Cast(PacketCast); } } if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position) && Player.Health * 100 / Player.MaxHealth >= Config.Item(Name + "autoeusage").GetValue <Slider>().Value) { switch (Config.Item(Name + "euseMode").GetValue <StringList>().SelectedIndex) { case 0: SkillE.CastOnUnit(targetObj, PacketCast); break; case 1: if (Player.HasBuff("DefensiveBallCurl", true)) { SkillE.CastOnUnit(targetObj, PacketCast); } break; } } if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && SkillE.InRange(targetObj.Position) && !Player.HasBuff("PowerBall", true)) { SkillW.Cast(); } if (Config.Item(Name + "rusage").GetValue <bool>() && SkillR.IsReady()) { switch (Config.Item(Name + "ruseMode").GetValue <StringList>().SelectedIndex) { case 0: if (SkillR.InRange(targetObj.Position)) { SkillR.Cast(PacketCast); } break; case 1: if (Player.CountEnemysInRange((int)SkillR.Range) >= Config.Item(Name + "rmulti").GetValue <Slider>().Value) { SkillR.Cast(PacketCast); } break; } } if (Config.Item(Name + "iusage").GetValue <bool>() && Items.CanUseItem(Rand) && Player.CountEnemysInRange(450) >= 1) { Items.UseItem(Rand); } if (Config.Item(Name + "ignite").GetValue <bool>()) { CastIgnite(targetObj); } }
private void StarCombo() { Orbwalk(targetObj); if (targetObj == null) { return; } UseItem(targetObj); if (SkillE.IsReady() && SkillE.Instance.Name == "BlindMonkEOne" && SkillE.InRange(targetObj.Position)) { SkillE.Cast(PacketCast); } if (SkillQ.IsReady()) { if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(targetObj.Position)) { if (Config.Item(Name + "smite").GetValue <bool>() && SkillQ.GetPrediction(targetObj).Hitchance == HitChance.Collision) { if (!SmiteCollision(targetObj, SkillQ)) { SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast); } } else { SkillQ.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast); } } else if (targetObj.IsValidTarget(1300) && (targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && (CanKill(targetObj, SkillQ, 1) || (!SkillR.IsReady() && !RCasted && KickCasted) || (!SkillR.IsReady() && !RCasted && !KickCasted && !QCasted))) { SkillQ.Cast(PacketCast); } } if (SkillE.IsReady() && targetObj.IsValidTarget(575) && targetObj.HasBuff("BlindMonkEOne", true) && (Player.Distance(targetObj) > 450 || !ECasted)) { SkillE.Cast(PacketCast); } if (!SkillR.InRange(targetObj.Position) && SkillR.IsReady() && SkillQ.IsReady() && (targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && Player.Distance(targetObj) < SkillW.Range + SkillR.Range - 170 && SkillW.IsReady() && SkillW.Instance.Name == "BlindMonkWOne") { WardJump(targetObj.Position); } if (SkillR.IsReady() && SkillQ.IsReady() && (targetObj.HasBuff("BlindMonkQOne", true) || targetObj.HasBuff("blindmonkqonechaos", true)) && SkillR.InRange(targetObj.Position) && Player.Mana >= 50) { SkillR.CastOnUnit(targetObj, PacketCast); } }
private void NormalCombo() { if (targetObj == null) { return; } if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && SkillW.InRange(targetObj.Position)) { SkillW.CastOnUnit(targetObj, PacketCast); } if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position)) { SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 100, PacketCast); } if (Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.InRange(targetObj.Position)) { var DmgAA = Player.GetAutoAttackDamage(targetObj) * Math.Floor(SkillQ.Instance.Cooldown / (1 / (Player.PercentMultiplicativeAttackSpeedMod * 0.638))); if ((targetObj.Health <= GetBonusDmg(targetObj) || targetObj.Health > DmgAA + GetBonusDmg(targetObj)) && SkillQ.IsReady()) { SkillQ.Cast(PacketCast); } } if (Config.Item(Name + "iusage").GetValue <bool>() && Items.CanUseItem(Rand) && Player.CountEnemysInRange(450) >= 1) { Items.UseItem(Rand); } if (Config.Item(Name + "ignite").GetValue <bool>()) { CastIgnite(targetObj); } }
private void NormalCombo() { if (targetObj == null) { return; } if (Config.Item("eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.Instance.Name == "RenektonSliceAndDice" && SkillE.InRange(targetObj.Position)) { SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast()); } if (Config.Item("wusage").GetValue <bool>() && SkillW.InRange(targetObj.Position) && !ECasted && SkillW.IsReady()) { SkillW.Cast(PacketCast()); } if (Config.Item("qusage").GetValue <bool>() && SkillQ.IsReady() && SkillQ.InRange(targetObj.Position) && !ECasted) { SkillQ.Cast(PacketCast()); } if (Config.Item("eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.Instance.Name != "RenektonSliceAndDice" && !ECasted && SkillE.InRange(targetObj.Position)) { SkillE.Cast(targetObj.Position + Vector3.Normalize(targetObj.Position - Player.Position) * 200, PacketCast()); } if (Config.Item("iusage").GetValue <bool>() && !ECasted) { UseItem(targetObj); } if (Config.Item("ignite").GetValue <bool>()) { CastIgnite(targetObj); } }
private void NormalCombo(string Mode) { if (targetObj == null) { return; } if (ItemBool(Mode, "Q") && SkillQ.IsReady() && Player.Distance3D(targetObj) <= ((Mode == "Combo") ? 800 : Orbwalk.GetAutoAttackRange() + 50) && !Player.HasBuff("PowerBall")) { if ((ItemBool(Mode, "E") && SkillE.IsReady() && !SkillE.InRange(targetObj.Position)) || !Player.HasBuff("DefensiveBallCurl")) { SkillQ.Cast(PacketCast()); } } if (ItemBool(Mode, "W") && SkillW.IsReady() && Orbwalk.InAutoAttackRange(targetObj) && !Player.HasBuff("PowerBall")) { SkillW.Cast(PacketCast()); } if (ItemBool(Mode, "E") && SkillE.IsReady() && SkillE.InRange(targetObj.Position) && !Player.HasBuff("PowerBall")) { switch (ItemList(Mode, "EMode")) { case 0: SkillE.CastOnUnit(targetObj, PacketCast()); break; case 1: if (Player.HasBuff("DefensiveBallCurl")) { SkillE.CastOnUnit(targetObj, PacketCast()); } break; } } if (ItemBool(Mode, "R") && Mode == "Combo" && SkillR.IsReady()) { switch (ItemList(Mode, "RMode")) { case 0: if (SkillR.InRange(targetObj.Position)) { SkillR.Cast(PacketCast()); } break; case 1: if (Player.CountEnemysInRange((int)SkillR.Range) >= ItemSlider(Mode, "RCount")) { SkillR.Cast(PacketCast()); } break; } } if (ItemBool(Mode, "Item") && Mode == "Combo" && Items.CanUseItem(Randuin) && Player.CountEnemysInRange(450) >= 1) { Items.UseItem(Randuin); } if (ItemBool(Mode, "Ignite") && Mode == "Combo") { CastIgnite(targetObj); } }