private double GetBonusDmg(Obj_AI_Base target) { double DmgItem = 0; if (Items.HasItem(Sheen) && (Items.CanUseItem(Sheen) || Player.HasBuff("sheen", true)) && Player.BaseAttackDamage > DmgItem) { DmgItem = Player.BaseAttackDamage; } if (Items.HasItem(Iceborn) && (Items.CanUseItem(Iceborn) || Player.HasBuff("itemfrozenfist", true)) && Player.BaseAttackDamage * 1.25 > DmgItem) { DmgItem = Player.BaseAttackDamage * 1.25; } return((SkillQ.IsReady() || Player.HasBuff("NasusQ", true)) ? SkillQ.GetDamage(target) : 0 + Player.GetAutoAttackDamage(target) + ((DmgItem > 0) ? Player.CalcDamage(target, Damage.DamageType.Physical, DmgItem) : 0)); }
private double GetBonusDmg(Obj_AI_Base target) { double DmgItem = 0; if (Items.HasItem(Sheen) && (Items.CanUseItem(Sheen) || Player.HasBuff("sheen", true)) && Player.BaseAttackDamage > DmgItem) { DmgItem = Player.BaseAttackDamage; } if (Items.HasItem(Iceborn) && (Items.CanUseItem(Iceborn) || Player.HasBuff("itemfrozenfist", true)) && Player.BaseAttackDamage * 1.25 > DmgItem) { DmgItem = Player.BaseAttackDamage * 1.25; } return(SkillQ.GetDamage(target) + Player.CalcDamage(target, Damage.DamageType.Physical, Player.BaseAttackDamage + Player.FlatPhysicalDamageMod + DmgItem)); }
private double GetBonusDmg(Obj_AI_Base Target) { double DmgItem = 0; if (Items.HasItem(Sheen) && ((Items.CanUseItem(Sheen) && SkillQ.IsReady()) || Player.HasBuff("Sheen")) && Player.BaseAttackDamage > DmgItem) { DmgItem = Player.BaseAttackDamage; } if (Items.HasItem(Iceborn) && ((Items.CanUseItem(Iceborn) && SkillQ.IsReady()) || Player.HasBuff("ItemFrozenFist")) && Player.BaseAttackDamage * 1.25 > DmgItem) { DmgItem = Player.BaseAttackDamage * 1.25; } if (Items.HasItem(Trinity) && ((Items.CanUseItem(Trinity) && SkillQ.IsReady()) || Player.HasBuff("Sheen")) && Player.BaseAttackDamage * 2 > DmgItem) { DmgItem = Player.BaseAttackDamage * 2; } return((SkillQ.IsReady() ? SkillQ.GetDamage(Target) : 0) + Player.GetAutoAttackDamage(Target, SkillQ.IsReady() ? false : true) + Player.CalcDamage(Target, Damage.DamageType.Physical, DmgItem)); }
private void KillStealBrDr() { var minionObj = MinionManager.GetMinions(Player.Position, 1300, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault(i => i.Name == "Worm12.1.1" || i.Name == "Dragon6.1.1"); Orbwalk(minionObj); if (minionObj == null) { return; } if (SkillQ.IsReady() && !SmiteReady() && minionObj.Health - SkillQ.GetDamage(minionObj) < GetQ2Dmg(minionObj, SkillQ.GetDamage(minionObj))) { if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(minionObj.Position)) { SkillQ.CastIfHitchanceEquals(minionObj, HitChance.VeryHigh, PacketCast); } else if ((minionObj.HasBuff("BlindMonkQOne", true) || minionObj.HasBuff("blindmonkqonechaos", true)) && minionObj.IsValidTarget(1300)) { SkillQ.Cast(PacketCast); return; } } if (SkillQ.IsReady() && SmiteReady() && minionObj.Health - (SkillQ.GetDamage(minionObj) + Player.GetSummonerSpellDamage(minionObj, Damage.SummonerSpell.Smite)) < GetQ2Dmg(minionObj, SkillQ.GetDamage(minionObj) + Player.GetSummonerSpellDamage(minionObj, Damage.SummonerSpell.Smite))) { if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(minionObj.Position)) { SkillQ.CastIfHitchanceEquals(minionObj, HitChance.VeryHigh, PacketCast); } else if ((minionObj.HasBuff("BlindMonkQOne", true) || minionObj.HasBuff("blindmonkqonechaos", true)) && minionObj.IsValidTarget(1300)) { SkillQ.Cast(PacketCast); Utility.DelayAction.Add(400, () => CastSmite(minionObj)); return; } } CastSmite(minionObj); }
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 KillSteal() { var target = ObjectManager.Get <Obj_AI_Hero>().FirstOrDefault(i => i.IsValidTarget(SkillQ.Range) && i.Health <= SkillQ.GetDamage(i) + GetBonusDmg(i) && i != targetObj); if (target != null && Player.Mana >= SkillQ.Instance.ManaCost) { if (SkillW.IsReady()) { SkillW.Cast(PacketCast); } if (SkillQ.IsReady() && Player.HasBuff("JaxEmpowerTwo", true)) { SkillQ.CastOnUnit(target, PacketCast); } } }
private void NormalCombo() { if (targetObj == null) { return; } 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)) { SkillR.Cast(PacketCast); } else if (targetObj.Health - SkillR.GetDamage(targetObj) <= SkillE.GetDamage(targetObj) + Player.GetAutoAttackDamage(targetObj) + SkillQ.GetDamage(targetObj) * 3 && Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && Config.Item(Name + "qusage").GetValue <bool>() && SkillQ.IsReady()) { SkillR.Cast(PacketCast); } } if (Config.Item(Name + "eusage").GetValue <bool>() && SkillE.IsReady() && SkillE.InRange(targetObj.Position) && (!LXOrbwalker.InAutoAttackRange(targetObj) || CanKill(targetObj, SkillE))) { SkillE.CastOnUnit(targetObj, PacketCast); } if (Config.Item(Name + "wusage").GetValue <bool>() && SkillW.IsReady() && LXOrbwalker.InAutoAttackRange(targetObj)) { SkillW.Cast(PacketCast); } if (Config.Item(Name + "iusage").GetValue <bool>()) { UseItem(targetObj); } if (Config.Item(Name + "ignite").GetValue <bool>()) { CastIgnite(targetObj); } }
private void KillStealMob() { var Obj = ObjectManager.Get <Obj_AI_Minion>().Where(i => IsValid(i, 1300) && i.Team == GameObjectTeam.Neutral).FirstOrDefault(i => new string[] { "SRU_Baron", "SRU_Dragon", "SRU_Blue", "SRU_Red" }.Any(a => i.Name.StartsWith(a) && !i.Name.StartsWith(a + "Mini"))); CustomOrbwalk(Obj); if (Obj == null || KSMobCasted) { return; } if (SkillQ.IsReady() && Obj.Health - ((SkillQ.Instance.Name == "BlindMonkQOne") ? SkillQ.GetDamage(Obj) : 0) - (SmiteReady() ? Player.GetSummonerSpellDamage(Obj, Damage.SummonerSpell.Smite) : 0) <= GetQ2Dmg(Obj, ((SkillQ.Instance.Name == "BlindMonkQOne") ? SkillQ.GetDamage(Obj) : 0) + (SmiteReady() ? Player.GetSummonerSpellDamage(Obj, Damage.SummonerSpell.Smite) : 0))) { if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(Obj.Position)) { SkillQ.CastIfHitchanceEquals(Obj, HitChance.VeryHigh, PacketCast()); } else if (Obj.HasBuff("BlindMonkQOne", true) || Obj.HasBuff("blindmonkqonechaos", true)) { Utility.DelayAction.Add((int)((Player.Distance3D(Obj) - 760) / SkillQ.Speed * 1000 + 300), () => CastSmite(Obj, false)); SkillQ.Cast(PacketCast()); KSMobCasted = true; Utility.DelayAction.Add(1000, () => KSMobCasted = false); return; } } CastSmite(Obj); }
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 : 1300, 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 : 575, 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); if (SkillQ.IsReady()) { if (SkillQ.Instance.Name == "BlindMonkQOne") { dmgTotal += SkillQ.GetDamage(Obj); } else if (Obj.HasBuff("BlindMonkQOne", true) || Obj.HasBuff("blindmonkqonechaos", true)) { 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 + 35 <= dmgTotal) { var posText = Drawing.WorldToScreen(Obj.Position); Drawing.DrawText(posText.X - 30, posText.Y - 5, Color.White, "Killable"); } } } }
private void KillSteal() { if (Player.Mana < SkillQ.Instance.ManaCost + SkillW.Instance.ManaCost) { return; } foreach (var Obj in ObjectManager.Get <Obj_AI_Hero>().Where(i => IsValid(i, SkillQ.Range) && i.Health + 5 <= SkillQ.GetDamage(i) + GetBonusDmg(i) && i != targetObj).OrderBy(i => i.Health).OrderByDescending(i => i.Distance3D(Player))) { if (SkillW.IsReady()) { SkillW.Cast(PacketCast()); } if (SkillQ.IsReady() && Player.HasBuff("JaxEmpowerTwo", true)) { SkillQ.CastOnUnit(Obj, PacketCast()); } } }
private void KillStealMob() { var Obj = ObjectManager.Get <Obj_AI_Minion>().Where(i => IsValid(i, SkillQ2.Range) && i.Team == GameObjectTeam.Neutral).FirstOrDefault(i => new string[] { "SRU_Baron", "SRU_Dragon", "SRU_Blue", "SRU_Red" }.Any(a => i.Name.StartsWith(a) && !i.Name.StartsWith(a + "Mini"))); CustomOrbwalk(Obj); if (Obj == null) { return; } if (SkillQ.IsReady() && SkillQ.GetHealthPrediction(Obj) - (SkillQ.Instance.Name == "BlindMonkQOne" ? SkillQ.GetDamage(Obj) : 0) - (SmiteReady() ? Player.GetSummonerSpellDamage(Obj, Damage.SummonerSpell.Smite) : 0) + 5 <= GetQ2Dmg(Obj, ((SkillQ.Instance.Name == "BlindMonkQOne") ? SkillQ.GetDamage(Obj) : 0) + (SmiteReady() ? Player.GetSummonerSpellDamage(Obj, Damage.SummonerSpell.Smite) : 0))) { if (SkillQ.Instance.Name == "BlindMonkQOne" && SkillQ.InRange(Obj.Position)) { SkillQ.CastIfHitchanceEquals(Obj, HitChance.Medium, PacketCast()); } else if (Obj.HasBuff("BlindMonkSonicWave")) { SkillQ.Cast(PacketCast()); if (SmiteReady()) { Utility.DelayAction.Add((int)((Player.Distance3D(Obj) - 760) / SkillQ.Speed * 1000 + 300), () => CastSmite(Obj, false)); } } } var nearObj = ObjectManager.Get <Obj_AI_Base>().FirstOrDefault(i => IsValid(i, SkillQ2.Range) && !(i is Obj_AI_Turret) && i.HasBuff("BlindMonkSonicWave") && i.Distance3D(Obj) <= 760); if (SkillQ.IsReady() && SkillQ.Instance.Name != "BlindMonkQOne" && SmiteReady() && SkillQ.GetHealthPrediction(Obj) + 100 <= Player.GetSummonerSpellDamage(Obj, Damage.SummonerSpell.Smite) && nearObj != null) { SkillQ.Cast(PacketCast()); Utility.DelayAction.Add((int)((Player.Distance3D(nearObj) - 760) / SkillQ.Speed * 1000 + 300), () => CastSmite(Obj)); } if (SmiteReady()) { CastSmite(Obj); } }
private void NormalCombo(string Mode) { if (targetObj == null) { return; } if (ItemBool(Mode, "R") && ItemBool("Ultimate", targetObj.ChampionName) && Mode == "Combo" && SkillR.IsReady() && SkillR.InRange(targetObj.Position)) { if (CanKill(targetObj, SkillR)) { SkillR.Cast(PacketCast()); } else if (SkillR.GetHealthPrediction(targetObj) - SkillR.GetDamage(targetObj) + 5 <= SkillE.GetDamage(targetObj) + Player.GetAutoAttackDamage(targetObj, true) + ((ItemBool(Mode, "Q") && SkillQ.IsReady()) ? SkillQ.GetDamage(targetObj) * 3 : 0) && ItemBool(Mode, "E") && SkillE.IsReady() && Player.Mana >= SkillR.Instance.ManaCost + SkillE.Instance.ManaCost + ((ItemBool(Mode, "Q") && SkillQ.IsReady()) ? SkillQ.Instance.ManaCost : 0)) { SkillR.Cast(PacketCast()); } } if (ItemBool(Mode, "E") && SkillE.IsReady() && SkillE.InRange(targetObj.Position) && (CanKill(targetObj, SkillE) || Player.Distance3D(targetObj) > Orbwalk.GetAutoAttackRange() + 50 || (Mode == "Combo" && Player.HealthPercentage() < targetObj.HealthPercentage()))) { SkillE.CastOnUnit(targetObj, PacketCast()); } if (ItemBool(Mode, "W") && SkillW.IsReady() && Orbwalk.InAutoAttackRange(targetObj)) { SkillW.Cast(PacketCast()); } if (ItemBool(Mode, "Item") && Mode == "Combo") { UseItem(targetObj); } if (ItemBool(Mode, "Ignite") && Mode == "Combo") { CastIgnite(targetObj); } }