private void Combo() { var target = TargetSelector.GetTarget(900, DamageType.Magical); if (target == null || target.IsInvulnerable || target.MagicImmune) { return; } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); var hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (getCheckBoxItem(menuC, "useIgnite") && ignitedmg > HealthPrediction.GetHealthPrediction(target, 700) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (Q.CanCast(target) && getCheckBoxItem(menuC, "useq") && !justWOut) { handeQ(target, HitChance.High); } if (W.IsReady() && !SomebodyInYou && getCheckBoxItem(menuC, "usew") && !blockW) { if (!getCheckBoxItem(menuC, "dontusewks") || (getWDamage(target) < HealthPrediction.GetHealthPrediction(target, 600) && player.CountAlliesInRange(1200) > 0) || player.CountAlliesInRange(1200) == 0) { handleWEnemyHero(target); } } if (getCheckBoxItem(menuC, "usewmini")) { HandleWHarass(target); } }
private static void Ulti() { if (!R.IsReady() || PingCasted || player.IsDead) { return; } foreach (var allyObj in ObjectManager.Get <Obj_AI_Hero>() .Where( i => i.IsAlly && !i.IsMe && !i.IsDead && ((Checkinrange(i) && ((i.Health * 100 / i.MaxHealth) <= config.Item("atpercent").GetValue <Slider>().Value)) || (CombatHelper.CheckCriticalBuffs(i) && i.CountEnemiesInRange(600) < 1)))) { if (config.Item("user").GetValue <bool>() && orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo && R.IsReady() && player.CountEnemiesInRange((int)E.Range) < 1 && !config.Item("ult" + allyObj.SkinName).GetValue <bool>()) { R.Cast(allyObj); return; } else { DrawHelper.popUp("Use R to help " + allyObj.ChampionName, 3000, Color.Red, Color.White, Color.Red); } PingCasted = true; Utility.DelayAction.Add(5000, () => PingCasted = false); } }
private void Combo() { foreach (var b in player.Buffs) { Console.WriteLine(b.Name); } Obj_AI_Hero target = TargetSelector.GetTarget(1000, TargetSelector.DamageType.Physical, true); if (target == null) { return; } if (player.HasBuff("hecarimrampspeed") && player.Distance(target) > Orbwalking.GetRealAutoAttackRange(target)) { orbwalker.SetAttack(false); } if (config.Item("useq", true).GetValue <bool>() && Q.CanCast(target)) { Q.Cast(); } if (config.Item("usew", true).GetValue <bool>() && W.IsInRange(target) && Program.IncDamages.GetAllyData(player.NetworkId).DamageTaken > 50 && player.HealthPercent < 98) { W.Cast(); } if (config.Item("usee", true).GetValue <bool>() && player.Distance(target) > Orbwalking.GetRealAutoAttackRange(target) + 50 && player.Distance(target) < config.Item("useeRange", true).GetValue <Slider>().Value&& E.IsReady()) { E.Cast(); } if (config.Item("user", true).GetValue <bool>() && R.IsReady() && R.CanCast(target)) { if (config.Item("useRbeforeCC", true).GetValue <bool>() && Program.IncDamages.GetAllyData(player.NetworkId).AnyCC) { R.CastIfHitchanceEquals(target, HitChance.High); } var rPred = Prediction.GetPrediction(target, R.Delay, R.Width, R.Speed); if (rPred.AoeTargetsHitCount >= config.Item("useRMinHit", true).GetValue <Slider>().Value) { R.Cast(rPred.CastPosition); } } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, ComboDamage(target)); } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > target.Health && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && ((player.HealthPercent < 35) || (target.Distance(player) > Orbwalking.GetRealAutoAttackRange(target) + 25))) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } }
private void Combo() { Obj_AI_Hero target = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical, true); if (target == null || target.IsInvulnerable || target.MagicImmune) { return; } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, ComboDamage(target)); } var data = Program.IncDamages.GetAllyData(player.NetworkId); var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > HealthPrediction.GetHealthPrediction(target, 700) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && target.Distance(player) > Orbwalking.GetRealAutoAttackRange(target) + 25 && !justQ) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (Q.CanCast(target) && config.Item("useq", true).GetValue <bool>() && !player.IsWindingUp && !data.IncSkillShot) { Q.CastOnUnit(target, config.Item("packets").GetValue <bool>()); } var cmbdmg = ComboDamage(target) + ItemHandler.GetItemsDamage(target); if (E.IsReady() && config.Item("usee", true).GetValue <bool>() && !player.IsWindingUp) { if (config.Item("useedmg", true).GetValue <bool>() && data.ProjectileDamageTaken > target.GetAutoAttackDamage(player, true) + 10) { CastE(target, data); } if (config.Item("useeaa", true).GetValue <bool>() && data.AADamageTaken < target.GetAutoAttackDamage(player, true) + 10 && !SpellDatabase.AnyReadyCC(player.Position, 700, true)) { CastE(target, data); } if (cmbdmg > target.Health && target.Distance(player) > E.Range * 1.8f) { CastE(target, data); } } if (config.Item("usew", true).GetValue <bool>() && W.IsReady() && player.IsWindingUp) { W.Cast(); } if (config.Item("user", true).GetValue <bool>() && R.IsReady() && player.IsWindingUp && cmbdmg * 1.6 + player.GetAutoAttackDamage(target, true) * 5 > target.Health && (target.Health > R.GetDamage(target) * 1.4f || player.HealthPercent < 40)) { CastR(target); } }
private void Combo() { var target = TargetSelector.GetTarget(1700, DamageType.Magical); if (target == null || target.IsInvulnerable || target.MagicImmune) { return; } var edmg = getEdamage(target); var qdmg = getQdamage(target); var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); var hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (getCheckBoxItem(menuC, "useIgnite") && ignitedmg > HealthPrediction.GetHealthPrediction(target, 700) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && (!ActiveQ || !(CombatHelper.IsFacing(player, target.Position, 30) && target.Distance(player) < Q.Range))) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (Q.CanCast(target) && getCheckBoxItem(menuC, "useq") && Qhit(target.Position) && (preventSilence(Q) || (target.Health < PassiveDmg(target) * 2 || qdmg > target.Health) && target.Distance(player) < Orbwalking.GetRealAutoAttackRange(target))) { Q.Cast(target.Position); } if (getCheckBoxItem(menuC, "usee") && E.CanCast(target) && (((preventSilence(E) || (target.Health < PassiveDmg(target) * 2 && target.Distance(player) < Orbwalking.GetRealAutoAttackRange(target))) && (!ActiveE || Environment.TickCount - lastE > getSliderItem(menuC, "eDelay"))) || edmg > target.Health)) { E.CastIfHitchanceEquals(target, HitChance.High, getCheckBoxItem(config, "packets")); } if (W.IsReady() && getCheckBoxItem(menuC, "wSpeed") && ActiveQ && preventSilence(W) && target.Distance(player) < Q.Range && Prediction.GetPrediction(target, 0.2f).UnitPosition.Distance(player.Position) > Q.Range) { W.Cast(); } var canR = ComboDamage(target) > target.Health && qdmg < target.Health && target.Distance(player) < Q.Range && !Silenced; if (R.IsReady() && ((target.Health < getRdamage() * (target.CountAlliesInRange(600) > 0 && target.HealthPercent > 15 ? 5 : 3) && target.Distance(player) > Q.Range) || (target.Distance(player) < Q.Range && target.Health < getRdamage() * 3 + edmg && target.Health > qdmg) || player.CountEnemiesInRange(R.Range) >= getSliderItem(menuC, "Rmin"))) { HandleR(target, canR); } }
private void Combo() { Obj_AI_Hero target = TargetSelector.GetTarget( E.Range, TargetSelector.DamageType.Magical, true, HeroManager.Enemies.Where(h => h.IsInvulnerable)); if (target == null) { return; } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > target.Health && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && !Q.IsReady() && !justQ && !justE && !rActive) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (config.Item("usew", true).GetValue <bool>() && W.IsReady()) { CastW(true); } if (rActive || justR) { return; } if (R.IsReady() && config.Item("user", true).GetValue <bool>() && config.Item("Rmin", true).GetValue <Slider>().Value <= player.CountEnemiesInRange(R.Range)) { CastR(); justR = true; Utility.DelayAction.Add(200, () => justR = false); return; } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config); } var hitC = HitChance.High; if (config.Item("useHigherHit", true).GetValue <bool>()) { hitC = HitChance.VeryHigh; } if (config.Item("useq", true).GetValue <bool>() && Q.CanCast(target) && player.Distance(target) < config.Item("useqRange", true).GetValue <Slider>().Value) { Q.CastIfHitchanceEquals(target, hitC, config.Item("packets").GetValue <bool>()); } if (config.Item("usee", true).GetValue <bool>() && E.CanCast(target)) { E.CastIfHitchanceEquals(target, hitC, config.Item("packets").GetValue <bool>()); } }
private void Combo() { Obj_AI_Hero target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical, true); if (player.IsWindingUp || target == null || !Orbwalking.CanMove(100)) { return; } if (config.Item("useq", true).GetValue <bool>() && Q.CanCast(target)) { CastQ(target); } if (config.Item("usee", true).GetValue <bool>() && E.CanCast(target) && (((E.GetDamage(target) > target.Health) || player.HealthPercent > 25) || Program.IncDamages.GetAllyData(player.NetworkId).IsAboutToDie)) { E.Cast(target); } if (config.Item("usew", true).GetValue <bool>() && W.IsReady() && player.Distance(target) < Orbwalking.GetRealAutoAttackRange(target) + 50) { W.Cast(); } if (config.Item("userCCed", true).GetValue <bool>() && R.IsReady() && CombatHelper.IsCCed(player)) { R.Cast(); } if (config.Item("userbeforeCCed", true).GetValue <bool>() && R.IsReady() && Program.IncDamages.GetAllyData(player.NetworkId).AnyCC) { R.Cast(); } if (config.Item("gotoAxe", true).GetValue <bool>()) { GotoAxe(target.Position); } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, ComboDamage(target)); } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > HealthPrediction.GetHealthPrediction(target, 1000) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && target.Distance(player) > Orbwalking.GetRealAutoAttackRange(target) + 25) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } }
private void Combo() { AIHeroClient target = DrawHelper.GetBetterTarget(1000, TargetSelector.DamageType.Physical, true); if (target == null || target.IsInvulnerable || target.MagicImmune) { return; } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, ComboDamage(target)); } var data = Program.IncDamages.GetAllyData(player.NetworkId); var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > HealthPrediction.GetHealthPrediction(target, 700) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && (target.Distance(player) > Orbwalking.GetRealAutoAttackRange(target) + 25 || player.HealthPercent < 30) && !justE) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (Q.CanCast(target) && config.Item("useq", true).GetValue <bool>() && (data.IsAboutToDie || player.HealthPercent < 20 && data.AnyCC) && !R.IsReady() && (!player.HasBuff("UndyingRage") || CombatHelper.GetBuffTime(player.GetBuff("UndyingRage")) < 0.4f) && !justR) { Q.Cast(); } if (E.IsReady() && config.Item("usee", true).GetValue <bool>() && !player.Spellbook.IsAutoAttacking && Orbwalking.CanMove(100)) { if (!config.Item("useeLimited", true).GetValue <bool>() || Orbwalking.GetRealAutoAttackRange(target) + 25 < player.Distance(target)) { CastEtarget(target); } } if (config.Item("usew", true).GetValue <bool>() && W.IsReady() && !Orbwalking.CanAttack() && Orbwalking.CanMove(100)) { W.Cast(); } if (config.Item("user", true).GetValue <bool>() && R.IsReady() && data.IsAboutToDie) { R.Cast(); } }
private static void Combo() { AIHeroClient target = TargetSelector.GetTarget(Q.Range, DamageType.Physical); if (player.Spellbook.IsAutoAttacking || target == null) { return; } if (getCheckBoxItem(comboMenu, "useq") && Q.CanCast(target)) { CastQ(target); } if (getCheckBoxItem(comboMenu, "usee") && E.CanCast(target) && (((E.GetDamage(target) > target.Health) || player.HealthPercent > 25) || Program.IncDamages.GetAllyData(player.NetworkId).IsAboutToDie)) { E.Cast(target); } if (getCheckBoxItem(comboMenu, "usew") && W.IsReady() && player.LSDistance(target) < Orbwalking.GetRealAutoAttackRange(target) + 50) { W.Cast(); } if (getCheckBoxItem(comboMenu, "userCCed") && R.IsReady() && CombatHelper.IsCCed(player)) { R.Cast(); } if (getCheckBoxItem(comboMenu, "userbeforeCCed") && R.IsReady() && Program.IncDamages.GetAllyData(player.NetworkId).AnyCC) { R.Cast(); } if (getCheckBoxItem(comboMenu, "gotoAxe")) { GotoAxe(target.Position); } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (getCheckBoxItem(comboMenu, "useIgnite") && ignitedmg > HealthPrediction.GetHealthPrediction(target, 1000) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && target.LSDistance(player) > Orbwalking.GetRealAutoAttackRange(target) + 25) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } }
private static void Combo() { var target = TargetSelector.GetTarget(E.Range, DamageType.Magical); if (target == null) { return; } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); var hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (getCheckBoxItem(comboMenu, "useIgnite") && ignitedmg > target.Health && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && !Q.IsReady() && !justQ && !justE && !rActive) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (getCheckBoxItem(comboMenu, "usew") && W.IsReady()) { CastW(true); } if (rActive || justR) { return; } if (R.IsReady() && getCheckBoxItem(comboMenu, "user") && getSliderItem(comboMenu, "Rmin") <= player.CountEnemiesInRange(R.Range)) { CastR(); justR = true; Utility.DelayAction.Add(200, () => justR = false); return; } var hitC = EloBuddy.SDK.Enumerations.HitChance.High; if (getCheckBoxItem(miscMenu, "useHigherHit")) { hitC = EloBuddy.SDK.Enumerations.HitChance.High; } if (getCheckBoxItem(comboMenu, "useq") && Q.CanCast(target) && player.LSDistance(target) < getSliderItem(comboMenu, "useqRange")) { Q.CastIfHitchanceEquals(target, hitC, getCheckBoxItem(config, "packets")); } if (getCheckBoxItem(comboMenu, "usee") && E.CanCast(target)) { E.CastIfHitchanceEquals(target, hitC, getCheckBoxItem(config, "packets")); } }
private void handleWEnemyHero(Obj_AI_Hero target) { if (target.GetBuffCount("TahmKenchPDebuffCounter") == 3 && !CombatHelper.CheckCriticalBuffs(target) && !target.HasBuffOfType(BuffType.Stun) && !target.HasBuffOfType(BuffType.Snare) && !Q.CanCast(target) && !justQ) { orbwalker.SetMovement(false); if (Orbwalking.CanMove(100) && Game.CursorPos.Distance(target.Position) < 300) { player.IssueOrder(GameObjectOrder.MoveTo, target.Position.Extend(player.Position, 100)); } lastWtarget = Team.Enemy; W.CastOnUnit(target, true); } }
private void handleWEnemyHero(AIHeroClient target) { if (target.GetBuffCount("TahmKenchPDebuffCounter") == 3 && !CombatHelper.CheckCriticalBuffs(target) && !target.HasBuffOfType(BuffType.Stun) && !target.HasBuffOfType(BuffType.Snare) && !Q.CanCast(target) && !justQ && !Program.IncDamages.GetEnemyData(target.NetworkId).IncSkillShot) { Orbwalker.DisableMovement = true; if (Game.CursorPos.LSDistance(target.Position) < 300) { Player.IssueOrder(GameObjectOrder.MoveTo, target.Position.LSExtend(player.Position, 100)); } lastWtarget = Team.Enemy; W.CastOnUnit(target); } }
private void Combo() { AIHeroClient target = null; target = E.IsCharging ? TargetSelector.GetTarget(GetTargetRange(), DamageType.Magical) : TargetSelector.GetTarget(GetTargetRange(), DamageType.Magical); if (target == null) { return; } if (getCheckBoxItem(menuC, "usew") && W.CanCast(target) && !E.IsCharging) { W.Cast(getCheckBoxItem(config, "packets")); } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); var hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (getCheckBoxItem(menuC, "useIgnite") && ignitedmg > target.Health && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && !Q.CanCast(target)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (rActive) { Orbwalker.DisableAttacking = true; return; } if (getCheckBoxItem(menuC, "usee") && E.IsReady() && player.CanMove) { CastE(target); } if (getCheckBoxItem(menuC, "useq") && Q.CanCast(target) && target.LSIsValidTarget() && !E.IsCharging) { Q.CastIfHitchanceEquals(target, HitChance.Medium, getCheckBoxItem(config, "packets")); } if (R.IsReady() && getCheckBoxItem(menuC, "user") && getSliderItem(menuC, "Rmin") <= player.CountEnemiesInRange(R.Range) && !target.HasBuffOfType(BuffType.Knockback) && !target.HasBuffOfType(BuffType.Knockup) && !target.HasBuffOfType(BuffType.Stun)) { R.Cast(getCheckBoxItem(config, "packets")); } }
private void Combo() { AIHeroClient target = TargetSelector.GetTarget(1000, DamageType.Physical); if (target == null) { return; } if (getCheckBoxItem(comboMenu, "useq") && Q.CanCast(target)) { Q.Cast(); } if (getCheckBoxItem(comboMenu, "usew") && W.IsInRange(target) && Program.IncDamages.GetAllyData(player.NetworkId).DamageTaken > 50 && player.HealthPercent < 98) { W.Cast(); } if (getCheckBoxItem(comboMenu, "usee") && player.LSDistance(target) > Orbwalking.GetRealAutoAttackRange(target) + 50 && player.LSDistance(target) < getSliderItem(comboMenu, "useeRange") && E.IsReady()) { E.Cast(); } if (getCheckBoxItem(comboMenu, "user") && R.IsReady() && R.CanCast(target)) { if (getCheckBoxItem(comboMenu, "useRbeforeCC") && Program.IncDamages.GetAllyData(player.NetworkId).AnyCC) { R.CastIfHitchanceEquals(target, HitChance.High); } R.CastIfWillHit(target, getSliderItem(comboMenu, "useRMinHit")); } var ignitedmg = (float)player.GetSummonerSpellDamage(target, LeagueSharp.Common.Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (getCheckBoxItem(comboMenu, "useIgnite") && ignitedmg > HealthPrediction.GetHealthPrediction(target, 1000) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && ((player.HealthPercent < 35) || (target.LSDistance(player) > Orbwalking.GetRealAutoAttackRange(target) + 25))) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } }
private void Combo() { Obj_AI_Hero target = TargetSelector.GetTarget(900, TargetSelector.DamageType.Magical, true); if (target == null || target.IsInvulnerable || target.MagicImmune) { return; } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, ComboDamage(target)); } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > HealthPrediction.GetHealthPrediction(target, 700) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (Q.CanCast(target) && config.Item("useq", true).GetValue <bool>() && !justWOut) { handeQ(target, HitChance.High); } if (W.IsReady() && !SomebodyInYou && config.Item("usew", true).GetValue <bool>() && !blockW) { if (!config.Item("dontusewks", true).GetValue <bool>() || ((getWDamage(target) < HealthPrediction.GetHealthPrediction(target, 600) && player.CountAlliesInRange(1200) > 0) || player.CountAlliesInRange(1200) == 0)) { handleWEnemyHero(target); } } if (config.Item("usewmini", true).GetValue <bool>()) { HandleWHarass(target); } }
private static void Combo() { var target = TargetSelector.GetTarget(1000, DamageType.Magical); if (getCheckBoxItem(comboMenu, "usee") && !VorpalSpikes && E.GetHitCount() > 0 && (Environment.Turret.countTurretsInRange(player) < 1 || target.Health < 150)) { E.Cast(); } if (target == null) { return; } if (getCheckBoxItem(comboMenu, "selected")) { target = CombatHelper.SetTarget(target, TargetSelector.SelectedTarget); } var combodmg = ComboDamage(target); var hasFlash = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerFlash")) == SpellState.Ready; var hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); if (hasIgnite && ignitedmg > target.Health && !R.CanCast(target) && !W.CanCast(target) && !Q.CanCast(target)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (hasIgnite && combodmg > target.Health && R.CanCast(target) && (float)player.LSGetSpellDamage(target, SpellSlot.R) < target.Health) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } flashRblock = hasIgnite; if (getCheckBoxItem(comboMenu, "useq") && Q.IsReady()) { var qHit = getSliderItem(comboMenu, "qHit"); var hitC = HitChance.VeryHigh; switch (qHit) { case 1: hitC = HitChance.Low; break; case 2: hitC = HitChance.Medium; break; case 3: hitC = HitChance.High; break; case 4: hitC = HitChance.VeryHigh; break; } var pred = Q.GetPrediction(target); if (pred.Hitchance >= hitC) { Q.Cast(pred.CastPosition); } else { Q.CastIfHitchanceEquals(target, hitC); } } if (getCheckBoxItem(comboMenu, "usew") && W.CanCast(target)) { W.Cast(target, getCheckBoxItem(config, "packets")); } if (getCheckBoxItem(comboMenu, "UseFlashC") && !flashRblock && R.IsReady() && hasFlash && !CombatHelper.CheckCriticalBuffs(target) && player.GetSpell(SpellSlot.R).SData.Mana <= player.Mana && player.LSDistance(target.Position) >= 400 && player.LSGetSpellDamage(target, SpellSlot.R) > target.Health && !Q.IsReady() && !W.IsReady() && player.LSDistance(target.Position) <= RFlash.Range && !player.Position.LSExtend(target.Position, 400).IsWall()) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerFlash"), player.Position.LSExtend(target.Position, 400)); Utility.DelayAction.Add(50, () => R.Cast(target, getCheckBoxItem(config, "packets"))); } var rtarget = HeroManager.Enemies.Where(e => e.LSIsValidTarget() && R.CanCast(e)).OrderByDescending(TargetSelector.GetPriority).FirstOrDefault(); if (getCheckBoxItem(comboMenu, "user") && rtarget != null && player.LSGetSpellDamage(target, SpellSlot.R) > rtarget.Health) { R.Cast(rtarget, getCheckBoxItem(config, "packets")); } }
private void Combo() { if (getCheckBoxItem(menuC, "user") && R.IsReady()) { var rTarget = TargetSelector.GetTarget(2500, DamageType.Physical); if (rTarget == null) { return; } if (!activatedR && !Orbwalker.IsAutoAttacking) { if (rTarget != null && !rTarget.IsInvulnerable && !rTarget.MagicImmune && rTarget.LSDistance(Game.CursorPos) < 300) { if (player.LSDistance(rTarget) + 100 > Environment.Map.GetPath(player, rTarget.Position) && ComboDamage(rTarget) > rTarget.Health && !CombatHelper.IsCollidingWith(player, rTarget.Position.LSExtend(player.Position, player.BoundingRadius + 15), player.BoundingRadius, new[] { CollisionableObjects.Heroes, CollisionableObjects.Walls }) && (ComboDamage(rTarget) - R.GetDamage(rTarget) < rTarget.Health || rTarget.LSDistance(player) > 400 || player.HealthPercent < 25) && rTarget.CountAlliesInRange(2500) + 1 >= rTarget.CountEnemiesInRange(2500)) { R.Cast(rTarget.Position); } } } } var target = TargetSelector.GetTarget(1500, DamageType.Physical); if (target == null || target.IsInvulnerable || target.MagicImmune) { return; } var data = IncDamages.GetAllyData(player.NetworkId); if (!activatedW && W.IsReady() && getCheckBoxItem(menuC, "usew")) { if (data.DamageTaken > player.Health || (data.DamageTaken > getWShield() / 100 * getSliderItem(menuC, "shieldDmg")) || (target.LSDistance(player) < W.Range && getCheckBoxItem(menuC, "usewir"))) { W.Cast(getCheckBoxItem(config, "packets")); } } if (activatedW && getCheckBoxItem(menuC, "usew") && W.IsReady() && player.LSDistance(target) < W.Range && (target.Health < W.GetDamage(target) || (W.IsInRange(target) && !W.IsInRange(Prediction.GetPrediction(target, 0.2f).UnitPosition)))) { W.Cast(getCheckBoxItem(config, "packets")); } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); var hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (getCheckBoxItem(menuC, "useIgnite") && ignitedmg > HealthPrediction.GetHealthPrediction(target, 700) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (activatedP) { if (Q.IsReady() && player.LSDistance(target) > Orbwalking.GetRealAutoAttackRange(target)) { Q.Cast(getCheckBoxItem(config, "packets")); } return; } var qTarget = TargetSelector.GetTarget(!Q.IsCharging ? Q.ChargedMaxRange / 2 : Q.ChargedMaxRange, DamageType.Physical); if (qTarget == null && Q.IsCharging) { ObjectManager.Player.Spellbook.CastSpell(SpellSlot.Q); } if (Q.IsCharging) { var start = ObjectManager.Player.ServerPosition.LSTo2D(); var end = start.LSExtend(QCastPos, Q.Range); var direction = (end - start).Normalized(); var normal = direction.Perpendicular(); var points = new List <Vector2>(); var hitBox = qTarget.BoundingRadius; points.Add(start + normal * (Q.Width + hitBox)); points.Add(start - normal * (Q.Width + hitBox)); points.Add(end + Q.ChargedMaxRange * direction - normal * (Q.Width + hitBox)); points.Add(end + Q.ChargedMaxRange * direction + normal * (Q.Width + hitBox)); for (var i = 0; i <= points.Count - 1; i++) { var A = points[i]; var B = points[i == points.Count - 1 ? 0 : i + 1]; if (qTarget.ServerPosition.LSTo2D().LSDistance(A, B, true, true) < 50 * 50) { Q.Cast(qTarget, true); } } checkCastedQ(target); return; } if (activatedR) { return; } if (getCheckBoxItem(menuC, "usee") && E.IsReady() && !Orbwalker.IsAutoAttacking) { CastEHero(target); return; } if (getCheckBoxItem(menuC, "useq") && !Orbwalker.IsAutoAttacking) { castQ(target); } if (!activatedW && W.IsReady() && data.AnyCC) { W.Cast(getCheckBoxItem(config, "packets")); } if (getCheckBoxItem(menuC, "userCC") && player.LSDistance(target) < Q.Range && HeroManager.Enemies.FirstOrDefault(e => e.LSDistance(Game.CursorPos) < 300) != null && data.AnyCC) { R.Cast(Game.CursorPos, getCheckBoxItem(config, "packets")); } }
private void Combo(AIHeroClient target, float cmbDmg, bool canKill, bool bush) { if (target == null || !target.IsValidTarget()) { return; } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, cmbDmg); } if (config.Item("usew", true).GetValue <bool>() && W.IsReady() && W.CanCast(target)) { var tarPered = W.GetPrediction(target); if (justE && !Estun && ePos.IsValid() && target.Distance(ePos) < 375) { if (W.Range - 80 > tarPered.CastPosition.Distance(player.Position) && tarPered.Hitchance >= HitChance.High) { W.Cast(target.Position); } } else { if (W.Range - 80 > tarPered.CastPosition.Distance(player.Position) && tarPered.Hitchance >= HitChance.VeryHigh && !config.Item("startWithE", true).GetValue <bool>()) { W.Cast(tarPered.CastPosition); } } } if (config.Item("usee", true).GetValue <bool>() && E.IsReady() && (((canKill && config.Item("useekill", true).GetValue <bool>()) || (!config.Item("useekill", true).GetValue <bool>() && CheckMana())) || config.Item("startWithE", true).GetValue <bool>())) { switch (config.Item("eType", true).GetValue <StringList>().SelectedIndex) { case 0: CastE(target); return; case 1: CastE(target, false); return; break; } } if (config.Item("usee", true).GetValue <bool>() && E.IsReady()) { if (config.Item("useemin", true).GetValue <Slider>().Value > 1 && player.CountEnemiesInRange(E.Range + 175) >= config.Item("useemin", true).GetValue <Slider>().Value) { switch (config.Item("eType", true).GetValue <StringList>().SelectedIndex) { case 0: CastE(target, true, config.Item("useemin", true).GetValue <Slider>().Value); return; } } } if (config.Item("useq", true).GetValue <bool>() && Q.IsReady() && Q.CanCast(target) && target.IsValidTarget() && !bush && !Estun) { CastQHero(target); } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ((ignitedmg > target.Health && hasIgnite && !player.IsChannelingImportantSpell() && !justQ && !Q.CanCast(target) && !justR && !R.CanCast(target) && CheckW(target)) || IgniteTarget != null)) { if (IgniteTarget != null) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), IgniteTarget); return; } player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } var castR = false; if (target.CountEnemiesInRange(2000) == 1) { castR = true; } else if (!config.Item("ult" + target.BaseSkinName, true).GetValue <bool>()) { castR = true; } if (R.IsReady() && R.CanCast(target) && CheckUltBlock(target) && config.Item("user", true).GetValue <bool>() && castR && R.Instance.SData.Mana < player.Mana && !target.Buffs.Any(b => CombatHelper.invulnerable.Contains(b.Name)) && !CombatHelper.CheckCriticalBuffs(target)) { if (config.Item("userPred", true).GetValue <bool>()) { var Whit = wPos.IsValid() && System.Environment.TickCount - wTime > 700 && Prediction.GetPrediction(target, 0.55f).UnitPosition.Distance(wPos) < W.Width; var targetHP = target.Health - Program.IncDamages.GetEnemyData(target.NetworkId).ProjectileDamageTaken; var killWithIgnite = hasIgnite && config.Item("useIgnite", true).GetValue <bool>() && R.GetDamage(target) + ignitedmg > targetHP && targetHP > R.GetDamage(target); var killWithW = wPos != null && Whit && R.GetDamage(target) + W.GetDamage(target) > targetHP && target.Health > R.GetDamage(target); var killWithIgniteAndW = !killWithW && Whit && hasIgnite && config.Item("useIgnite", true).GetValue <bool>() && R.GetDamage(target) + W.GetDamage(target) + ignitedmg > targetHP && targetHP > R.GetDamage(target) + W.GetDamage(target); if (killWithW || (targetHP < R.GetDamage(target) && !justQ && CheckW(target))) { R.CastOnUnit(target); } if ((killWithIgnite || killWithIgniteAndW) && CheckW(target) && player.Distance(target) < 600) { R.CastOnUnit(target); IgniteTarget = target; LeagueSharp.Common.Utility.DelayAction.Add( 200, () => { IgniteTarget = null; player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); }); } } else { if (target.Health < R.GetDamage(target)) { R.CastOnUnit(target); } } } }
private void Combo() { Obj_AI_Hero target = TargetSelector.GetTarget( E.Range, TargetSelector.DamageType.Physical, true, HeroManager.Enemies.Where(h => h.IsInvulnerable)); if (target == null) { return; } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > HealthPrediction.GetHealthPrediction(target, 700) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && !Q.IsReady() && !justQ) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (config.Item("usew", true).GetValue <Slider>().Value > player.HealthPercent && player.CountEnemiesInRange(500) > 0) { W.Cast(); } if (R.IsReady() && config.Item("user", true).GetValue <bool>()) { var Rtarget = HeroManager.Enemies.FirstOrDefault(e => e.HealthPercent < 50 && e.CountAlliesInRange(660) > 0); if (Rtarget != null) { R.CastIfWillHit(Rtarget, config.Item("Rmin", true).GetValue <Slider>().Value); } } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, ComboDamage(target), config.Item("AutoW", true).GetValue <bool>()); } var barrels = GetBarrels() .Where( o => o.IsValid && !o.IsDead && o.Distance(player) < 1600 && o.SkinName == "GangplankBarrel" && o.GetBuff("gangplankebarrellife").Caster.IsMe) .ToList(); if (config.Item("useq", true).GetValue <bool>() && Q.IsReady() && config.Item("usee", true).GetValue <bool>() && E.IsReady() && Orbwalking.CanMove(100) && !justE) { var Qbarrels = GetBarrels().Where(o => o.Distance(player) < Q.Range && KillableBarrel(o)); foreach (var Qbarrel in Qbarrels) { if (Qbarrel.Distance(target) < BarrelExplosionRange) { continue; } var point = GetBarrelPoints(Qbarrel.Position) .Where( p => p.IsValid() && !p.IsWall() && p.Distance(player.Position) < E.Range && p.Distance(Prediction.GetPrediction(target, GetQTime(Qbarrel)).UnitPosition) < BarrelExplosionRange && Qbarrel.Distance(p) < BarrelConnectionRange && savedBarrels.Count(b => b.barrel.Position.Distance(p) < BarrelExplosionRange) < 1) .OrderBy(p => p.Distance(target.Position)) .FirstOrDefault(); if (point != null) { E.Cast(point); Utility.DelayAction.Add(1, () => Q.CastOnUnit(Qbarrel)); return; } } } var meleeRangeBarrel = barrels.FirstOrDefault( b => (b.Health < 2 || (b.Health == 2 && Q.IsReady())) && b.Distance(player) < Orbwalking.GetAutoAttackRange(player, b) && b.CountEnemiesInRange(BarrelExplosionRange) > 0); if (meleeRangeBarrel != null && Orbwalking.CanMove(100)) { player.IssueOrder(GameObjectOrder.AutoAttack, meleeRangeBarrel); } if (Q.IsReady()) { if (barrels.Any()) { var detoneateTargetBarrels = barrels.Where(b => b.Distance(player) < Q.Range); if (config.Item("detoneateTarget", true).GetValue <bool>()) { if (detoneateTargetBarrels.Any()) { foreach (var detoneateTargetBarrel in detoneateTargetBarrels) { if (!KillableBarrel(detoneateTargetBarrel)) { continue; } if ( detoneateTargetBarrel.Distance( Prediction.GetPrediction(target, GetQTime(detoneateTargetBarrel)).UnitPosition) < BarrelExplosionRange && target.Distance(detoneateTargetBarrel.Position) < BarrelExplosionRange) { Q.CastOnUnit(detoneateTargetBarrel, config.Item("packets").GetValue <bool>()); return; } var detoneateTargetBarrelSeconds = barrels.Where(b => b.Distance(detoneateTargetBarrel) < BarrelConnectionRange); if (detoneateTargetBarrelSeconds.Any()) { foreach (var detoneateTargetBarrelSecond in detoneateTargetBarrelSeconds) { if ( detoneateTargetBarrelSecond.Distance( Prediction.GetPrediction( target, GetQTime(detoneateTargetBarrel) + 0.15f).UnitPosition) < BarrelExplosionRange && target.Distance(detoneateTargetBarrelSecond.Position) < BarrelExplosionRange) { Q.CastOnUnit(detoneateTargetBarrel, config.Item("packets").GetValue <bool>()); return; } } } } } if (config.Item("detoneateTargets", true).GetValue <Slider>().Value > 1) { var enemies = HeroManager.Enemies.Where(e => e.IsValidTarget() && e.Distance(player) < 600) .Select(e => Prediction.GetPrediction(e, 0.25f)); var enemies2 = HeroManager.Enemies.Where(e => e.IsValidTarget() && e.Distance(player) < 600) .Select(e => Prediction.GetPrediction(e, 0.35f)); if (detoneateTargetBarrels.Any()) { foreach (var detoneateTargetBarrel in detoneateTargetBarrels) { if (!KillableBarrel(detoneateTargetBarrel)) { continue; } var enemyCount = enemies.Count( e => e.UnitPosition.Distance(detoneateTargetBarrel.Position) < BarrelExplosionRange); if (enemyCount >= config.Item("detoneateTargets", true).GetValue <Slider>().Value&& detoneateTargetBarrel.CountEnemiesInRange(BarrelExplosionRange) >= config.Item("detoneateTargets", true).GetValue <Slider>().Value) { Q.CastOnUnit(detoneateTargetBarrel, config.Item("packets").GetValue <bool>()); return; } var detoneateTargetBarrelSeconds = barrels.Where(b => b.Distance(detoneateTargetBarrel) < BarrelConnectionRange); if (detoneateTargetBarrelSeconds.Any()) { foreach (var detoneateTargetBarrelSecond in detoneateTargetBarrelSeconds) { if (enemyCount + enemies2.Count( e => e.UnitPosition.Distance(detoneateTargetBarrelSecond.Position) < BarrelExplosionRange) >= config.Item("detoneateTargets", true).GetValue <Slider>().Value&& detoneateTargetBarrelSecond.CountEnemiesInRange(BarrelExplosionRange) >= config.Item("detoneateTargets", true).GetValue <Slider>().Value) { Q.CastOnUnit( detoneateTargetBarrel, config.Item("packets").GetValue <bool>()); return; } } } } } } } } if (config.Item("useq", true).GetValue <bool>() && Q.CanCast(target) && Orbwalking.CanMove(100) && !justE) { CastQonHero(target, barrels); } } }
private static void Combo() { var target = TargetSelector.GetTarget(E.Range, DamageType.Physical); if (target == null) { return; } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); var hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (getCheckBoxItem(comboMenu, "useIgnite") && ignitedmg > target.Health - IncDamages.GetEnemyData(target.NetworkId).DamageTaken&& hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && !Q.IsReady() && !justQ) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (getSliderItem(comboMenu, "usew") > player.HealthPercent && player.CountEnemiesInRange(500) > 0) { W.Cast(); } if (R.IsReady() && getCheckBoxItem(comboMenu, "user")) { var Rtarget = HeroManager.Enemies.FirstOrDefault(e => e.HealthPercent < 50 && e.CountAlliesInRange(660) > 0); if (Rtarget != null) { R.CastIfWillHit(Rtarget, getSliderItem(comboMenu, "Rmin")); } } var dontQ = false; var barrels = GetBarrels() .Where( o => o.IsValid && !o.IsDead && o.LSDistance(player) < 1600 && o.BaseSkinName == "GangplankBarrel" && o.GetBuff("gangplankebarrellife").Caster.IsMe) .ToList(); if (getCheckBoxItem(comboMenu, "useq") && Q.IsReady() && getCheckBoxItem(comboMenu, "usee") && E.IsReady() && !justE) { var pred = Prediction.GetPrediction(target, 0.5f); if (pred.Hitchance >= HitChance.High) { var Qbarrels = GetBarrels().Where(o => o.LSDistance(player) < Q.Range && KillableBarrel(o)); foreach (var Qbarrel in Qbarrels.OrderByDescending(b => b.LSDistance(target) < BarrelExplosionRange)) { var targPred = Prediction.GetPrediction(target, GetQTime(Qbarrel)); if (Qbarrel.LSDistance(targPred.UnitPosition) < BarrelExplosionRange) { if (getCheckBoxItem(comboMenu, "useeAOE") && barrels.Count < 2) { var enemies = HeroManager.Enemies.Where( e => e.LSDistance(player) < 1600 && e.LSDistance(Qbarrel) > BarrelExplosionRange) .Select(e => Prediction.GetPrediction(e, 05f)); var pos = GetBarrelPoints(Qbarrel.Position) .Where(p => p.LSDistance(Qbarrel.Position) < BarrelConnectionRange) .OrderByDescending( p => enemies.Count(e => e.UnitPosition.LSDistance(p) < BarrelExplosionRange)) .ThenBy(p => p.LSDistance(target.Position)) .FirstOrDefault(); if (pos.IsValid() && pos.CountEnemiesInRange(BarrelExplosionRange) > 0 && enemies.Count(e => e.UnitPosition.LSDistance(pos) < BarrelExplosionRange) > 0) { dontQ = true; E.Cast(pos); } } break; } var point = GetBarrelPoints(Qbarrel.Position) .Where( p => p.IsValid() && !p.IsWall() && p.LSDistance(player.Position) < E.Range && target.LSDistance(p) < BarrelExplosionRange && p.LSDistance(targPred.UnitPosition) < BarrelExplosionRange && Qbarrel.LSDistance(p) < BarrelConnectionRange && savedBarrels.Count(b => b.barrel.Position.LSDistance(p) < BarrelExplosionRange) < 1) .OrderBy(p => p.LSDistance(pred.UnitPosition)) .FirstOrDefault(); if (point.IsValid()) { dontQ = true; E.Cast(point); Utility.DelayAction.Add(1, () => Q.CastOnUnit(Qbarrel)); return; } } } } var meleeRangeBarrel = barrels.FirstOrDefault( b => (b.Health < 2 || (b.Health == 2 && !KillableBarrel(b, true) && Q.IsReady() && !justQ)) && KillableBarrel(b, true) && b.LSDistance(player) < Orbwalking.GetRealAutoAttackRange(b)); var secondb = barrels.Where( b => b.LSDistance(meleeRangeBarrel) < BarrelConnectionRange && HeroManager.Enemies.Count( o => o.LSIsValidTarget() && o.LSDistance(b) < BarrelExplosionRange && b.LSDistance(Prediction.GetPrediction(o, 500).UnitPosition) < BarrelExplosionRange) > 0); if (meleeRangeBarrel != null && ((HeroManager.Enemies.Count( o => o.LSIsValidTarget() && o.LSDistance(meleeRangeBarrel) < BarrelExplosionRange && meleeRangeBarrel.LSDistance(Prediction.GetPrediction(o, 500).UnitPosition) < BarrelExplosionRange) > 0) || secondb != null) && !Q.IsReady() && !justQ && Orbwalker.CanAutoAttack) { Orbwalker.DisableAttacking = true; Player.IssueOrder(GameObjectOrder.AttackUnit, meleeRangeBarrel); } if (Q.IsReady()) { if (barrels.Any()) { var detoneateTargetBarrels = barrels.Where(b => b.LSDistance(player) < Q.Range); if (getCheckBoxItem(comboMenu, "detoneateTarget")) { if (detoneateTargetBarrels.Any()) { foreach (var detoneateTargetBarrel in detoneateTargetBarrels) { if (!KillableBarrel(detoneateTargetBarrel)) { continue; } if ( detoneateTargetBarrel.LSDistance( Prediction.GetPrediction(target, GetQTime(detoneateTargetBarrel)).UnitPosition) < BarrelExplosionRange && target.LSDistance(detoneateTargetBarrel.Position) < BarrelExplosionRange) { dontQ = true; Q.CastOnUnit(detoneateTargetBarrel, getCheckBoxItem(config, "packets")); return; } var detoneateTargetBarrelSeconds = barrels.Where(b => b.LSDistance(detoneateTargetBarrel) < BarrelConnectionRange); if (detoneateTargetBarrelSeconds.Any()) { if (detoneateTargetBarrelSeconds.Any(detoneateTargetBarrelSecond => detoneateTargetBarrelSecond.LSDistance( Prediction.GetPrediction( target, GetQTime(detoneateTargetBarrel) + 0.15f).UnitPosition) < BarrelExplosionRange && target.LSDistance(detoneateTargetBarrelSecond.Position) < BarrelExplosionRange)) { dontQ = true; Q.CastOnUnit(detoneateTargetBarrel, getCheckBoxItem(config, "packets")); return; } } } } if (getSliderItem(comboMenu, "detoneateTargets") > 1) { var enemies = HeroManager.Enemies.Where(e => e.LSIsValidTarget() && e.LSDistance(player) < 600) .Select(e => Prediction.GetPrediction(e, 0.25f)); var enemies2 = HeroManager.Enemies.Where(e => e.LSIsValidTarget() && e.LSDistance(player) < 600) .Select(e => Prediction.GetPrediction(e, 0.35f)); if (detoneateTargetBarrels.Any()) { foreach (var detoneateTargetBarrel in detoneateTargetBarrels) { if (!KillableBarrel(detoneateTargetBarrel)) { continue; } var enemyCount = enemies.Count( e => e.UnitPosition.LSDistance(detoneateTargetBarrel.Position) < BarrelExplosionRange); if (enemyCount >= getSliderItem(comboMenu, "detoneateTargets") && detoneateTargetBarrel.CountEnemiesInRange(BarrelExplosionRange) >= getSliderItem(comboMenu, "detoneateTargets")) { dontQ = true; Q.CastOnUnit(detoneateTargetBarrel, getCheckBoxItem(config, "packets")); return; } var detoneateTargetBarrelSeconds = barrels.Where(b => b.LSDistance(detoneateTargetBarrel) < BarrelConnectionRange); if (detoneateTargetBarrelSeconds.Any()) { if (detoneateTargetBarrelSeconds.Any(detoneateTargetBarrelSecond => enemyCount + enemies2.Count( e => e.UnitPosition.LSDistance(detoneateTargetBarrelSecond.Position) < BarrelExplosionRange) >= getSliderItem(comboMenu, "detoneateTargets") && detoneateTargetBarrelSecond.CountEnemiesInRange(BarrelExplosionRange) >= getSliderItem(comboMenu, "detoneateTargets"))) { dontQ = true; Q.CastOnUnit( detoneateTargetBarrel, getCheckBoxItem(config, "packets")); return; } } } } } } } if (getCheckBoxItem(comboMenu, "useeAlways") && E.IsReady() && player.LSDistance(target) < E.Range && !justE && target.Health > Q.GetDamage(target) + player.GetAutoAttackDamage(target) && getSliderItem(comboMenu, "eStacksC") < E.Instance.Ammo) { CastE(target, barrels); } var Qbarrels = GetBarrels().FirstOrDefault(o => o.LSDistance(player) < Q.Range); if (Qbarrels != null && E.Instance.Ammo > 0 && Q.IsReady() && getCheckBoxItem(comboMenu, "usee") && target.Health > Q.GetDamage(target)) { dontQ = true; } if (getCheckBoxItem(comboMenu, "useq") && Q.CanCast(target) && !justE && !dontQ) { CastQonHero(target, barrels); } } }
private void Combo() { AIHeroClient target = DrawHelper.GetBetterTarget(R.Range, TargetSelector.DamageType.Magical, true); if (target == null || target.IsInvulnerable || target.MagicImmune) { return; } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, ComboDamage(target)); } var data = Program.IncDamages.GetAllyData(player.NetworkId); var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > HealthPrediction.GetHealthPrediction(target, 700) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && target.Distance(player) > Orbwalking.GetRealAutoAttackRange(target) + 25 && !justQ) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (Q.CanCast(target) && config.Item("useq", true).GetValue <bool>() && !player.Spellbook.IsAutoAttacking && !data.IncSkillShot) { Q.CastOnUnit(target); } var cmbdmg = ComboDamage(target) + ItemHandler.GetItemsDamage(target); if (E.IsReady() && config.Item("usee", true).GetValue <bool>() && !player.Spellbook.IsAutoAttacking) { var enemyPred = E.GetPrediction(target); if (!OnTrident) { if (config.Item("useedmg", true).GetValue <bool>() && data.ProjectileDamageTaken > target.GetAutoAttackDamage(player, true) + 10) { E.Cast(enemyPred.CastPosition); } if (config.Item("useehighdmg", true).GetValue <bool>() && data.DamageTaken > player.Health * 0.4f) { E.Cast(enemyPred.CastPosition); } if (config.Item("useeaa", true).GetValue <bool>() && data.AADamageTaken < target.GetAutoAttackDamage(player, true) + 10 && !SpellDatabase.AnyReadyCC(player.Position, 700, true)) { E.Cast(enemyPred.CastPosition); } if (config.Item("useecq", true).GetValue <bool>() && cmbdmg > HeroManager.Enemies.Where(e => target.Distance(e) < 1500).Sum(e => e.Health) && !target.UnderTurret(true)) { E.Cast(enemyPred.CastPosition); } } else { if (data.DamageTaken < 10 && enemyPred.Hitchance >= HitChance.High) { E.Cast(enemyPred.CastPosition); } } } if (config.Item("usew", true).GetValue <bool>() && W.IsReady() && player.Spellbook.IsAutoAttacking) { W.Cast(); } if (config.Item("user", true).GetValue <bool>() && R.IsReady() && player.Spellbook.IsAutoAttacking && cmbdmg * 1.6 + player.GetAutoAttackDamage(target, true) * 5 > target.Health && (target.Health > R.GetDamage(target) * 1.4f || player.HealthPercent < 40)) { CastR(target); } }
private void Combo() { Obj_AI_Hero target = null; if (E.IsCharging) { target = TargetSelector.GetTarget( GetTargetRange(), TargetSelector.DamageType.Magical, true, HeroManager.Enemies.Where( h => h.IsInvulnerable && CombatHelper.GetAngle(player, target.Position) > 50)); } else { target = TargetSelector.GetTarget( GetTargetRange(), TargetSelector.DamageType.Magical, true, HeroManager.Enemies.Where(h => h.IsInvulnerable)); } if (target == null) { return; } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config); } if (config.Item("usew", true).GetValue <bool>() && W.CanCast(target) && !E.IsCharging) { W.Cast(config.Item("packets").GetValue <bool>()); } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > target.Health && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && !Q.CanCast(target)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (rActive) { return; } if (config.Item("usee", true).GetValue <bool>() && E.IsReady() && player.CanMove) { CastE(target); } if (config.Item("useq", true).GetValue <bool>() && Q.CanCast(target) && target.IsValidTarget() && !E.IsCharging) { Q.CastIfHitchanceEquals(target, HitChance.Medium, config.Item("packets").GetValue <bool>()); } if (R.IsReady() && config.Item("user", true).GetValue <bool>() && config.Item("Rmin", true).GetValue <Slider>().Value <= player.CountEnemiesInRange(R.Range) && !target.HasBuffOfType(BuffType.Knockback) && !target.HasBuffOfType(BuffType.Knockup) && !target.HasBuffOfType(BuffType.Stun)) { R.Cast(config.Item("packets").GetValue <bool>()); } }
private void Combo() { AIHeroClient target = DrawHelper.GetBetterTarget(1700, TargetSelector.DamageType.Magical, true); if (target == null || target.IsInvulnerable || target.MagicImmune) { return; } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, ComboDamage(target)); } var edmg = getEdamage(target); var qdmg = getQdamage(target); var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > HealthPrediction.GetHealthPrediction(target, 700) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && (!ActiveQ || (!(CombatHelper.IsFacing(player, target.Position, 30) && target.Distance(player) < Q.Range)))) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (Q.CanCast(target) && config.Item("useq", true).GetValue <bool>() && Qhit(target.Position) && (preventSilence(Q) || (target.Health < PassiveDmg(target) * 2 || qdmg > target.Health) && target.Distance(player) < Orbwalking.GetRealAutoAttackRange(target))) { Q.Cast(target.Position); } if (config.Item("usee", true).GetValue <bool>() && E.CanCast(target) && (((preventSilence(E) || (target.Health < PassiveDmg(target) * 2 && target.Distance(player) < Orbwalking.GetRealAutoAttackRange(target))) && (!ActiveE || System.Environment.TickCount - lastE > config.Item("eDelay", true).GetValue <Slider>().Value)) || edmg > target.Health)) { E.CastIfHitchanceEquals(target, HitChance.High); } if (W.IsReady() && config.Item("wSpeed", true).GetValue <bool>() && ActiveQ && preventSilence(W) && target.Distance(player) < Q.Range && Prediction.GetPrediction(target, 0.2f).UnitPosition.Distance(player.Position) > Q.Range) { W.Cast(); } var canR = ComboDamage(target) > target.Health && qdmg < target.Health && target.Distance(player) < Q.Range && !Silenced; if (R.IsReady() && (((target.Health < getRdamage(target) * ((target.CountAlliesInRange(600) > 0 && target.HealthPercent > 15) ? 5 : 3) && target.Distance(player) > Q.Range) || (target.Distance(player) < Q.Range && target.Health < getRdamage(target) * 3 + edmg && target.Health > qdmg)) || player.CountEnemiesInRange(R.Range) >= config.Item("Rmin", true).GetValue <Slider>().Value)) { HandleR(target, canR); } }
private void Combo(float combodmg) { AIHeroClient target = LeagueSharp.Common.TargetSelector.GetTarget(1100, LeagueSharp.Common.TargetSelector.DamageType.Magical, true); if (target == null || target.IsInvulnerable || target.MagicImmune) { return; } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, ComboDamage(target)); } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > HealthPrediction.GetHealthPrediction(target, 700) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && ((savedQ == null || (savedQ != null && target.Distance(savedQ.position) < QExplosionRange && getQdamage(target) > target.Health)) || useIgnite)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } var rqCombo = R.GetDamage(target) + getQdamage(target) + (hasIgnite ? ignitedmg : 0); if (Q.CanCast(target) && config.Item("useq", true).GetValue <bool>() && savedQ == null && SimpleQ) { if (Program.IsSPrediction) { if (Q.SPredictionCast(target, HitChance.High)) { return; } } else { if (Q.CastIfHitchanceEquals(target, HitChance.High)) { return; } } } if (Q.IsReady() && config.Item("useq", true).GetValue <bool>() && savedQ != null && target.Distance(savedQ.position) < QExplosionRange) { DetonateQ(); } if (config.Item("usee", true).GetValue <bool>()) { CastE(target); } if (W.IsReady() && (!SimpleQ || !Q.IsReady()) && config.Item("usew", true).GetValue <bool>() && player.Distance(target) < 300 && Orbwalking.CanMove(100) && target.Health > combodmg - getWdamage(target)) { W.Cast(); } if (R.IsReady()) { if (R.CastIfWillHit(target, config.Item("Rmin", true).GetValue <Slider>().Value)) { return; } var logic = config.Item("user", true).GetValue <bool>(); if (config.Item("rtoq", true).GetValue <bool>() && savedQ != null && !SimpleQ && (target.Distance(qPos) > QExplosionRange || (target.Health < rqCombo && target.Health > getQdamage(target))) && target.Distance(player) < R.Range - 100 && (target.Health < rqCombo || CheckRPushForAlly(target, rqCombo)) && target.Position.Distance(savedQ.position) < 550 + QExplosionRange / 2) { var cast = LeagueSharp.Common.Prediction.GetPrediction(target, 1000f).UnitPosition.Extend(savedQ.position, -200); if (cast.Distance(player.Position) < R.Range) { //Console.WriteLine("R to Q"); if (target.Health < rqCombo && target.Health > rqCombo - ignitedmg && player.Distance(target) < 580) { useIgnite = true; } LeagueSharp.Common.Utility.DelayAction.Add(400, () => useIgnite = false); HandeR(target, savedQ.position, true); return; } } if (config.Item("rtoq", true).GetValue <bool>() && logic && (target.Health < rqCombo && target.Health > getQdamage(target))) { castInsec(target); } if (config.Item("rtoally", true).GetValue <bool>() && logic && target.Health - rqCombo < target.MaxHealth * 0.5f) { var allies = HeroManager.Allies.Where( a => !a.IsDead && !a.IsMe && a.HealthPercent > 40 && a.Distance(target) < 700 && a.Distance(target) > 300).OrderByDescending(a => LeagueSharp.Common.TargetSelector.GetPriority(a)); if (allies.Any()) { foreach (var ally in allies) { var cast = LeagueSharp.Common.Prediction.GetPrediction(target, 1000f) .UnitPosition.Extend(LeagueSharp.Common.Prediction.GetPrediction(ally, 400f).UnitPosition, -200); if (cast.CountEnemiesInRange(1000) <= cast.CountAlliesInRange(1000) && cast.Distance(player.Position) < R.Range && cast.Extend(target.Position, 500).Distance(ally.Position) < target.Distance(ally.Position)) { //Console.WriteLine("R to Ally: " + ally.Name); HandeR(target, LeagueSharp.Common.Prediction.GetPrediction(ally, 400f).UnitPosition, false); return; } } } var turret = ObjectManager.Get <Obj_AI_Turret>() .OrderBy(t => t.Distance(target)) .FirstOrDefault(t => t.Distance(target) < 2000 && t.IsAlly && !t.IsDead); if (config.Item("rtoturret", true).GetValue <bool>() && turret != null) { var pos = target.Position.Extend(turret.Position, -200); if (target.Distance(turret) > pos.Extend(target.Position, 500).Distance(turret.Position)) { //nothing } else if ((pos.CountEnemiesInRange(1000) < pos.CountAlliesInRange(1000) && target.Health - rqCombo < target.MaxHealth * 0.4f) || (ObjectManager.Get <Obj_AI_Turret>() .Count(t => t.Distance(pos) < 950 && t.IsAlly && t.IsValid && !t.IsDead) > 0 && target.Health - combodmg < target.MaxHealth * 0.5f)) { //Console.WriteLine("R to Turret"); HandeR(target, turret.Position, false); return; } } } if (config.Item("rtokill", true).GetValue <bool>() && config.Item("user", true).GetValue <bool>() && R.GetDamage(target) > target.Health && !justE && !justQ && (savedQ == null || (savedQ != null && !qPos.IsValid() && target.Distance(savedQ.position) > QExplosionRange)) && (target.CountAlliesInRange(700) <= 1 || player.HealthPercent < 35)) { //Console.WriteLine("R to Kill"); var pred = R.GetPrediction(target, true); if (pred.Hitchance >= HitChance.VeryHigh) { R.Cast(pred.CastPosition); } //R.CastIfHitchanceEquals(target, HitChance.VeryHigh); return; } } }
private void Combo() { Obj_AI_Hero target = TargetSelector.GetTarget(1500, TargetSelector.DamageType.Physical, true); if (config.Item("user", true).GetValue <bool>() && R.IsReady()) { var rTarget = TargetSelector.GetTarget(2500, TargetSelector.DamageType.Physical, true); if (!activatedR && !player.IsWindingUp) { if (rTarget != null && !rTarget.IsInvulnerable && !rTarget.MagicImmune && rTarget.Distance(Game.CursorPos) < 300) { if (player.Distance(rTarget) + 100 > Environment.Map.GetPath(player, rTarget.Position) && (ComboDamage(rTarget) > rTarget.Health && !CombatHelper.IsCollidingWith( player, rTarget.Position.Extend(player.Position, player.BoundingRadius + 15), player.BoundingRadius, new[] { CollisionableObjects.Heroes, CollisionableObjects.Walls }) && (ComboDamage(rTarget) - R.GetDamage(rTarget) < rTarget.Health || rTarget.Distance(player) > 400 || player.HealthPercent < 25) && rTarget.CountAlliesInRange(2500) + 1 >= rTarget.CountEnemiesInRange(2500))) { R.Cast(target.Position); } } } } if (target == null || target.IsInvulnerable || target.MagicImmune) { return; } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, ComboDamage(target)); } if (!activatedW && W.IsReady() && config.Item("usew", true).GetValue <bool>()) { if ((DamageTaken > getWShield() / 100 * config.Item("shieldDmg", true).GetValue <Slider>().Value) || (target.Distance(player) < W.Range && config.Item("usewir", true).GetValue <bool>())) { W.Cast(config.Item("packets").GetValue <bool>()); } } if (activatedW && config.Item("usew", true).GetValue <bool>() && W.IsReady() && player.Distance(target) < W.Range && (target.Health < W.GetDamage(target) || (W.IsInRange(target) && !W.IsInRange(Prediction.GetPrediction(target, 0.2f).UnitPosition)))) { W.Cast(config.Item("packets").GetValue <bool>()); } var comboDmg = ComboDamage(target); var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > HealthPrediction.GetHealthPrediction(target, 700) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (activatedP) { if (Q.IsReady() && player.Distance(target) > Orbwalking.GetRealAutoAttackRange(target)) { Q.Cast(config.Item("packets").GetValue <bool>()); } return; } if (Q.IsCharging) { checkCastedQ(target); return; } if (activatedR) { return; } if (config.Item("usee", true).GetValue <bool>() && E.IsReady() && !player.IsWindingUp) { CastEHero(target); return; } if (config.Item("useq", true).GetValue <bool>() && !player.IsWindingUp) { castQ(target); } }
private static void Combo() { Obj_AI_Hero target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); var combodmg = ComboDamage(target); bool hasFlash = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerFlash")) == SpellState.Ready; bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); if (ignitedmg > target.Health && hasIgnite && !R.CanCast(target) && !W.CanCast(target) && !Q.CanCast(target)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (combodmg > target.Health && hasIgnite && (R.IsReady() && R.CanCast(target) && (float)Damage.GetSpellDamage(player, target, SpellSlot.R) < target.Health)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target); } //VorpalSpikes //rupturelaunch //Silence if (hasIgnite) { flashRblock = true; } else { flashRblock = false; } if (config.Item("useq").GetValue <bool>() && Q.IsReady()) { if (config.Item("useqfaster").GetValue <bool>()) { if (target.IsValidTarget(Q.Range) && Q.CanCast(target)) { var nextpos = target.Position.Extend(target.ServerPosition, target.MoveSpeed * 0.7f); if (target.HasBuff("OdinCaptureChanner")) { nextpos = target.Position; } Q.Cast(nextpos, config.Item("packets").GetValue <bool>()); } } else { int qHit = config.Item("qHit", true).GetValue <Slider>().Value; var hitC = HitChance.High; switch (qHit) { case 1: hitC = HitChance.Low; break; case 2: hitC = HitChance.Medium; break; case 3: hitC = HitChance.High; break; case 4: hitC = HitChance.VeryHigh; break; } Q.CastIfHitchanceEquals(target, hitC, config.Item("packets").GetValue <bool>()); } } if (config.Item("usew").GetValue <bool>()) { if (W.CanCast(target) && W.IsReady()) { W.Cast(target, config.Item("packets").GetValue <bool>()); } } if (config.Item("usee").GetValue <bool>() && !vSpikes && E.GetHitCount() > 0 && (Environment.Turret.countTurretsInRange(player) < 1 || target.Health < 150)) { E.Cast(); } if (config.Item("UseFlashC").GetValue <bool>() && !flashRblock && R.IsReady() && hasFlash && !CombatHelper.CheckCriticalBuffs(target) && player.GetSpell(SpellSlot.R).ManaCost <= player.Mana && player.Distance(target.Position) >= 400 && player.GetSpellDamage(target, SpellSlot.R) > target.Health && !Q.IsReady() && !W.IsReady() && player.Distance(target.Position) <= RFlash.Range && !player.Position.Extend(target.Position, 400).IsWall()) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerFlash"), player.Position.Extend(target.Position, 400)); Utility.DelayAction.Add(50, () => R.Cast(target, config.Item("packets").GetValue <bool>())); } if (config.Item("user").GetValue <bool>() && player.GetSpellDamage(target, SpellSlot.R) > target.Health) { if (target.IsValidTarget(R.Range) && R.IsReady()) { R.Cast(target, config.Item("packets").GetValue <bool>()); } } }
private void Combo() { AIHeroClient target = DrawHelper.GetBetterTarget(1100, TargetSelector.DamageType.Physical, true); if (target == null || target.IsInvulnerable || target.MagicImmune) { return; } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, ComboDamage(target)); } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > target.Health && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && ((target.Distance(player) > Orbwalking.GetRealAutoAttackRange(target) && (!Q.IsReady() || Q.ManaCost < player.Mana)) || player.HealthPercent < 35)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (Q.CanCast(target)) { if (config.Item("useqLimit", true).GetValue <bool>()) { if (player.CountEnemiesInRange(Q.Range) == 1 && config.Item("useq", true).GetValue <bool>() && (target.Distance(player) > Orbwalking.GetRealAutoAttackRange(target) || (Q.GetDamage(target) > target.Health) && (player.HealthPercent < 50 || player.CountAlliesInRange(900) > 0))) { if (Q.CastOnUnit(target)) { HandleECombo(); } } if ((player.CountEnemiesInRange(Q.Range) > 1 && config.Item("useqSec", true).GetValue <bool>() && Q.GetDamage(target) > target.Health) || player.HealthPercent < 35f || target.Distance(player) > Orbwalking.GetRealAutoAttackRange(target)) { if (Q.CastOnUnit(target)) { HandleECombo(); } } } else { if (Q.CastOnUnit(target)) { HandleECombo(); } } } if (R.IsReady() && config.Item("user", true).GetValue <bool>()) { if (player.CountEnemiesInRange(Q.Range) >= config.Item("userMin", true).GetValue <Slider>().Value&& Program.IncDamages.GetAllyData(player.NetworkId).DamageTaken > 40) { R.Cast(); } if (config.Item("userDmg", true).GetValue <bool>() && Program.IncDamages.GetAllyData(player.NetworkId).DamageTaken >= player.Health * 0.3f && player.Distance(target) < 450f) { R.Cast(); } } if (config.Item("useeAA", true).GetValue <bool>() && !Eactive && Program.IncDamages.GetAllyData(player.NetworkId).AADamageTaken > target.GetAutoAttackDamage(player) - 10) { E.Cast(); } if (Eactive) { if (E.IsReady() && target.IsValidTarget() && !target.MagicImmune && ((Prediction.GetPrediction(target, 0.1f).UnitPosition.Distance(player.Position) > Orbwalking.GetRealAutoAttackRange(target) && target.Distance(player.Position) <= E.Range) || config.Item("useeStun", true).GetValue <bool>())) { E.Cast(); } } else { if (config.Item("useeStun", true).GetValue <bool>() && Prediction.GetPrediction(target, 0.1f).UnitPosition.Distance(player.Position) < Orbwalking.GetRealAutoAttackRange(target) && target.Distance(player.Position) <= E.Range) { E.Cast(); } } }
private void Combo() { AIHeroClient target = DrawHelper.GetBetterTarget( E.Range, TargetSelector.DamageType.Physical, true, HeroManager.Enemies.Where(h => h.IsInvulnerable)); if (target == null) { return; } bool canKill = ComboDamage(target) + ItemHandler.GetItemsDamage(target) + player.GetAutoAttackDamage(target) * 2 > target.Health; var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > target.Health && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && !E.CanCast(target) && !justQ && !justE && (target.Distance(player) > 500 || player.HealthPercent < 25)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (rActive) { return; } if (canKill) { orbwalker.SetAttack(true); } if (config.Item("useq", true).GetValue <bool>() && Q.CanCast(target) && target.Health < player.GetAutoAttackDamage(target) + Q.GetDamage(target)) { Q.Cast(); EloBuddy.Player.IssueOrder(GameObjectOrder.AutoAttack, target); } if (config.Item("usew", true).GetValue <bool>() && !Q.IsReady() && !qActive && !player.UnderTurret(true) && W.IsReady() && !canKill && ((!Q.IsReady() && !E.IsReady() && !justE && target.HealthPercent > 20 && config.Item("wHealth", true).GetValue <Slider>().Value > player.HealthPercent && Orbwalking.GetRealAutoAttackRange(target) > player.Distance(target) && CombatHelper.IsFacing(target, player.Position, 45)) || (config.Item("wOnFocus", true).GetValue <bool>() && Program.IncDamages.GetAllyData(player.NetworkId).DamageCount >= 3))) { W.Cast(); } if (R.IsReady() && config.Item("userone", true).GetValue <bool>() && canKill && !eActive && !Q.IsReady() && player.Distance(target) < R.Range && player.HealthPercent < 55 && player.HealthPercent > 10) { R.Cast(); } if (R.IsReady() && config.Item("Rmin", true).GetValue <Slider>().Value <= player.CountEnemiesInRange(R.Range)) { R.Cast(); } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config); } if (config.Item("usee", true).GetValue <bool>() && E.CanCast(target) && Orbwalking.CanMove(100) && (config.Item("eMinRange", true).GetValue <Slider>().Value < player.Distance(target) || player.HealthPercent < 20 || (player.CountEnemiesInRange(800) == 1 && target.HealthPercent < 20))) { E.CastOnUnit(target); } }
private static void Combo() { AIHeroClient target = LeagueSharp.Common.TargetSelector.GetTarget(1000, LeagueSharp.Common.TargetSelector.DamageType.Magical); if (config.Item("usee", true).GetValue <bool>() && !VorpalSpikes && E.GetHitCount() > 0 && (Environment.Turret.countTurretsInRange(player) < 1 || target.Health < 150)) { E.Cast(); } if (target == null) { return; } if (config.Item("selected", true).GetValue <bool>()) { target = CombatHelper.SetTarget(target, LeagueSharp.Common.TargetSelector.GetSelectedTarget()); } var combodmg = ComboDamage(target); if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, combodmg); } bool hasFlash = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerFlash")) == SpellState.Ready; bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); if (hasIgnite && ignitedmg > target.Health && !R.CanCast(target) && !W.CanCast(target) && !Q.CanCast(target)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (hasIgnite && combodmg > target.Health && R.CanCast(target) && (float)Damage.GetSpellDamageLS(player, target, SpellSlot.R) < target.Health) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (hasIgnite) { flashRblock = true; } else { flashRblock = false; } if (config.Item("useq", true).GetValue <bool>() && Q.IsReady()) { int qHit = config.Item("qHit", true).GetValue <Slider>().Value; var hitC = HitChance.VeryHigh; switch (qHit) { case 1: hitC = HitChance.Low; break; case 2: hitC = HitChance.Medium; break; case 3: hitC = HitChance.High; break; case 4: hitC = HitChance.VeryHigh; break; } if (Program.IsSPrediction) { Q.SPredictionCast(target, hitC); } else { var pred = Q.GetPrediction(target); if (pred.Hitchance >= hitC) { if (target.IsMoving) { if (pred.CastPosition.Distance(target.ServerPosition) > 250f) { Q.Cast(target.Position.Extend(pred.CastPosition, 250f)); } else { Q.Cast(pred.CastPosition); } } else { Q.CastIfHitchanceEquals(target, hitC); } } } } if (config.Item("usew", true).GetValue <bool>() && W.CanCast(target)) { if (Program.IsSPrediction) { W.SPredictionCast(target, HitChance.High); } else { W.Cast(target); } } if (config.Item("UseFlashC", true).GetValue <bool>() && !flashRblock && R.IsReady() && hasFlash && !CombatHelper.CheckCriticalBuffs(target) && player.GetSpell(SpellSlot.R).SData.Mana <= player.Mana && player.Distance(target.Position) >= 400 && player.GetSpellDamageLS(target, SpellSlot.R) > target.Health && !Q.IsReady() && !W.IsReady() && player.Distance(target.Position) <= RFlash.Range && !player.Position.Extend(target.Position, 400).IsWall()) { player.Spellbook.CastSpell( player.GetSpellSlot("SummonerFlash"), player.Position.Extend(target.Position, 400).To3DWorld()); LeagueSharp.Common.Utility.DelayAction.Add(50, () => R.Cast(target)); } var rtarget = HeroManager.Enemies.Where(e => e.IsValidTargetLS() && R.CanCast(e)) .OrderByDescending(e => LeagueSharp.Common.TargetSelector.GetPriority(e)) .FirstOrDefault(); if (config.Item("user", true).GetValue <bool>() && rtarget != null && player.GetSpellDamageLS(target, SpellSlot.R) > rtarget.Health) { R.Cast(rtarget); } }
private void Combo() { AIHeroClient target = DrawHelper.GetBetterTarget(E.Range, TargetSelector.DamageType.Physical, true); if (player.Spellbook.IsAutoAttacking || target == null || !Orbwalking.CanMove(100)) { return; } if (config.Item("usee", true).GetValue <bool>() && player.Distance(target) < config.Item("useeRange", true).GetValue <Slider>().Value&& E.IsReady()) { var pos = GetVectorE(target); if (player.Distance(pos) < E.Range) { E.Cast(pos); } } if (config.Item("usew", true).GetValue <bool>() && W.IsReady() && (!target.UnderTurret(true) || player.UnderTurret(true))) { var pos = player.Position.Extend(Prediction.GetPrediction(target, 700).UnitPosition, W.Range / 2); if (player.Distance(pos) < W.Range) { W.Cast(pos); } } if (config.Item("user", true).GetValue <bool>() && R.IsReady()) { AIHeroClient targetR = null; switch (config.Item("userTarget", true).GetValue <StringList>().SelectedIndex) { case 0: targetR = HeroManager.Enemies.Where(e => e.IsValidTarget(R.Range)) .OrderByDescending(e => (e.Armor + e.FlatMagicReduction)) .FirstOrDefault(); break; case 1: targetR = target.IsValidTarget(R.Range) ? target : null; break; } if (targetR != null) { var userTime = config.Item("userTime", true).GetValue <StringList>().SelectedIndex; if (userTime == 0 || userTime == 2) { if (player.CountEnemiesInRange(R.Range) >= 2) { R.Cast(targetR); } } if (userTime == 1 || userTime == 2) { var data = Program.IncDamages.GetAllyData(player.NetworkId); if (data.DamageTaken > player.Health * 0.4 || data.IsAboutToDie || (player.HealthPercent < 60 && target.HealthPercent < 60 && player.Distance(target) < Orbwalking.GetRealAutoAttackRange(target))) { R.Cast(targetR); } } } } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, ComboDamage(target)); } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > HealthPrediction.GetHealthPrediction(target, 1000) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && ((player.HealthPercent < 35) || (target.Distance(player) > Orbwalking.GetRealAutoAttackRange(target) + 25))) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } }