public override void Execute() { var minions = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, Player.Instance.Position, Q.Range).Where( m => !m.IsDead && m.IsValid && !m.IsInvulnerable); { foreach (var m in minions) { if (Settings.UseQ) { Q.Cast(); } if (Settings.UseW && Damages.WDamage(m) > m.Health) { W.Cast(); } } } }
public override void Execute() { // KillSteal if ((Settings.KsR || Settings.KsE || Settings.KsW || (Settings.KsIgnite && HasIgnite)) && Environment.TickCount - lastKSTime > 1000) { var enemies = EntityManager.Heroes.Enemies.Where(e => e.IsValidTarget(600)); if (Settings.KsR && R.IsReady() && PlayerMana >= SettingsMana.MinRMana) { var target = enemies.FirstOrDefault(e => R.IsInRange(e) && e.TotalShieldHealth() < Damages.RDamage(e) && !e.HasBuffOfType(BuffType.SpellImmunity) && !e.HasBuffOfType(BuffType.SpellShield)); if (target != null) { lastKSTime = Environment.TickCount; R.Cast(target); Debug.Write("Casting R in KS on {0} who has {1}HP.", target.ChampionName, target.Health.ToString()); return; } } if (Settings.KsE && E.IsReady() && PlayerMana >= SettingsMana.MinEMana) { var target = enemies.FirstOrDefault(e => E.IsInRange(e) && e.Health < Damages.EDamage(e) && !e.HasBuffOfType(BuffType.SpellImmunity) && !e.HasBuffOfType(BuffType.SpellShield)); if (target != null) { lastKSTime = Environment.TickCount; E.Cast(target); Debug.Write("Casting E in KS on {0} who has {1}HP.", target.ChampionName, target.Health.ToString()); return; } } if (Settings.KsW && W.IsReady() && PlayerMana >= SettingsMana.MinWMana) { var target = enemies.FirstOrDefault(e => W.IsInRange(e) && e.Health < Damages.WDamage(e) && !e.HasBuffOfType(BuffType.SpellImmunity) && !e.HasBuffOfType(BuffType.SpellShield)); if (target != null) { var pred = W.GetPrediction(target); if (pred.HitChance >= SettingsPrediction.MinWHCKillSteal) { lastKSTime = Environment.TickCount; W.Cast(pred.CastPosition); Debug.Write("Casting W in KS on {0} who has {1}HP.", target.ChampionName, target.Health.ToString()); return; } } } if (Settings.KsIgnite && HasIgnite && Ignite.IsReady()) { var target = enemies.FirstOrDefault(e => W.IsInRange(e) && e.Health < Damages.IgniteDmg(e)); if (target != null) { lastKSTime = Environment.TickCount; Ignite.Cast(target); Debug.Write("Casting Ignite in KS on {0} who has {1}HP.", target.ChampionName, target.Health.ToString()); return; } } } // Dash To Cursor if (Settings.WToCursor) { var cursorPos = Game.CursorPos; if (W.IsReady()) { if (cursorPos.Distance(_PlayerPos) < 200) { return; } if (cursorPos.Distance(_PlayerPos) <= W.Range) { W.Cast(cursorPos); } else { Orbwalker.MoveTo(cursorPos); } } else { Orbwalker.MoveTo(cursorPos); } } // Potion manager if (Settings.Potion && !Player.Instance.IsInShopRange() && Player.Instance.HealthPercent <= Settings.potionMinHP && !(Player.Instance.HasBuff("RegenerationPotion") || Player.Instance.HasBuff("ItemCrystalFlaskJungle") || Player.Instance.HasBuff("ItemMiniRegenPotion") || Player.Instance.HasBuff("ItemCrystalFlask") || Player.Instance.HasBuff("ItemDarkCrystalFlask"))) { if (Item.HasItem(HealthPotion.Id) && Item.CanUseItem(HealthPotion.Id)) { Debug.WriteChat("Using HealthPotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent)); HealthPotion.Cast(); return; } if (Item.HasItem(HuntersPotion.Id) && Item.CanUseItem(HuntersPotion.Id)) { Debug.WriteChat("Using HuntersPotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent)); HealthPotion.Cast(); return; } if (Item.HasItem(TotalBiscuit.Id) && Item.CanUseItem(TotalBiscuit.Id)) { Debug.WriteChat("Using TotalBiscuitOfRejuvenation because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent)); TotalBiscuit.Cast(); return; } if (Item.HasItem(RefillablePotion.Id) && Item.CanUseItem(RefillablePotion.Id)) { Debug.WriteChat("Using RefillablePotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent)); RefillablePotion.Cast(); return; } if (Item.HasItem(CorruptingPotion.Id) && Item.CanUseItem(CorruptingPotion.Id)) { Debug.WriteChat("Using CorruptingPotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent)); CorruptingPotion.Cast(); return; } } if (Player.Instance.ManaPercent <= Settings.potionMinMP && !(Player.Instance.HasBuff("RegenerationPotion") || Player.Instance.HasBuff("ItemMiniRegenPotion") || Player.Instance.HasBuff("ItemCrystalFlask") || Player.Instance.HasBuff("ItemDarkCrystalFlask"))) { if (Item.HasItem(CorruptingPotion.Id) && Item.CanUseItem(CorruptingPotion.Id)) { Debug.WriteChat("Using HealthPotion because below {0}% MP - have {1}% MP", String.Format("{0}", Settings.potionMinMP), String.Format("{0:##.##}", Player.Instance.ManaPercent)); CorruptingPotion.Cast(); } } }
public override void Execute() { if (Settings.UseR) { var etarget = TargetSelector.GetTarget(R.Range, DamageType.Physical); if (Damages.RDamage(etarget) + Damages.QDamage(etarget) + Damages.EDamage(etarget) + Damages.WDamage(etarget) > etarget.Health) { R.Cast(); } } if (Settings.UseE) { var etarget = TargetSelector.GetTarget(E.Range, DamageType.Magical); var eprediction = E.GetPrediction(etarget); if (eprediction.HitChance >= HitChance.High) { if (E.IsReady() && etarget != null && !ObjectManager.Player.HasBuff("SionR")) { E.Cast(eprediction.CastPosition); } } } if (Settings.UseW) { var target = TargetSelector.GetTarget(W.Range, DamageType.Physical); if (W.IsReady() && target != null && !ObjectManager.Player.HasBuff("SionR")) { W.Cast(); } } if (Settings.UseQ) { var target = TargetSelector.GetTarget(Q.Range, DamageType.Physical); var eprediction = Q.GetPrediction(target); if (eprediction.HitChance >= HitChance.High && !ObjectManager.Player.HasBuff("SionR")) { if (Q.IsReady() && target != null && Player.Instance.IsFacing(target)) { Q.Cast(eprediction.CastPosition); } } } if (activatedP) { var target = TargetSelector.GetTarget(2000, DamageType.Physical); if (Q.IsReady() && Player.Instance.Position.Distance(target) > target.GetAutoAttackRange()) { Q.Cast(target); } } }
public override void Execute() { if (Player.Instance.IsDead) { return; } var enemies = EntityManager.Heroes.Enemies.Where( e => e.IsEnemy && e.IsVisible && !e.IsDead && !e.IsZombie && !e.IsInvulnerable && e.Health > 0) .ToList(); foreach (var enemy in enemies) { if (Settings.KSQ && SpellManager.Q.IsReady() && Damages.QDamage(enemy) > enemy.Health && SpellManager.Q.IsInRange(enemy)) { if (enemy.HasBuffOfType(BuffType.SpellImmunity) || enemy.HasBuffOfType(BuffType.SpellShield)) { continue; } if (Settings.KSQ) { Q.Cast(); break; } } if (Settings.KSW && SpellManager.W.IsReady() && Damages.WDamage(enemy) > enemy.Health && SpellManager.W.IsInRange(enemy)) { if (enemy.HasBuffOfType(BuffType.SpellImmunity) || enemy.HasBuffOfType(BuffType.SpellShield)) { continue; } if (Settings.KSW) { W.Cast(); break; } } if (Settings.KSR && R.IsReady()) { if (enemy.IsValidTarget(R.Range) && !enemy.IsZombie && !enemy.IsInvulnerable && !enemy.IsDead) { int passiveCounter = enemy.GetBuffCount("dariushemo") <= 0 ? 0 : enemy.GetBuffCount("dariushemo"); if (!enemy.HasBuffOfType(BuffType.Invulnerability) && !enemy.HasBuffOfType(BuffType.SpellShield)) { if (Damages.RDamage(enemy, passiveCounter) >= enemy.Health + Damages.PassiveDmg(enemy, 1)) { if (!enemy.HasBuffOfType(BuffType.Invulnerability) && !enemy.HasBuffOfType(BuffType.SpellShield)) { R.Cast(enemy); } } } } } if (Config.Modes.Harass.UseQ && Player.Instance.ManaPercent > Config.Modes.Harass.Mana && Q.IsReady()) { var target = TargetSelector.GetTarget(Q.Range, DamageType.Physical); if (target != null) { Q.Cast(); } } if (Config.Modes.Harass.UseE && Player.Instance.ManaPercent > Config.Modes.Harass.Mana && E.IsReady()) { var target = TargetSelector.GetTarget(E.Range, DamageType.Physical); var eprediction = E.GetPrediction(target); if (eprediction.HitChance >= HitChance.High) { if (E.IsReady() && target != null) { E.Cast(eprediction.CastPosition); } } } } }
public override void Execute() { if (Settings.UseW && W.IsReady() && PlayerMana >= SettingsMana.MinWMana) { var minion = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, Player.Instance.Position, W.Range).Where(m => m.IsValidTarget() && m.Health <= Damages.WDamage(m)).OrderByDescending(m => m.Health).FirstOrDefault(); if (minion != null) { Debug.WriteChat("Casting W in Last Hit, Target: {0}, Distance: {1}, Target HP: {2}", minion.Name, "" + minion.Distance(Player.Instance), "" + minion.Health); W.Cast(minion); } } }
public override void Execute() { if (Player.Instance.IsDead) { return; } var enemies = EntityManager.Heroes.Enemies.Where( e => e.IsEnemy && e.IsVisible && !e.IsDead && !e.IsZombie && !e.IsInvulnerable && e.Health > 0) .ToList(); foreach (var enemy in enemies) { if (Settings.KSQ && SpellManager.Q.IsReady() && Damages.QDamage(enemy) > enemy.Health && SpellManager.Q.IsInRange(enemy)) { if (enemy.HasBuffOfType(BuffType.SpellImmunity) || enemy.HasBuffOfType(BuffType.SpellShield)) { continue; } if (Settings.KSQ) { Q.Cast(enemy); break; } } if (Settings.KSW && SpellManager.W.IsReady() && Damages.WDamage(enemy) > enemy.Health && SpellManager.W.IsInRange(enemy)) { if (enemy.HasBuffOfType(BuffType.SpellImmunity) || enemy.HasBuffOfType(BuffType.SpellShield)) { continue; } if (Settings.KSW) { W.Cast(); break; } } if (Settings.KSE && SpellManager.E.IsReady() && Damages.EDamage(enemy) > enemy.Health && SpellManager.E.IsInRange(enemy)) { if (enemy.HasBuffOfType(BuffType.SpellImmunity) || enemy.HasBuffOfType(BuffType.SpellShield)) { continue; } if (Settings.KSE) { E.Cast(enemy); break; } } if (Settings.KSR && SpellManager.R.IsReady() && Damages.RDamage(enemy) > enemy.Health && SpellManager.R.IsInRange(enemy)) { if (enemy.HasBuffOfType(BuffType.SpellImmunity) || enemy.HasBuffOfType(BuffType.SpellShield)) { continue; } if (Settings.KSR) { R.Cast(); break; } } } }
public override void Execute() { skinChanger(); if (Player.Instance.IsDead) { return; } var enemies = EntityManager.Heroes.Enemies.Where( e => e.IsEnemy && e.IsVisible && !e.IsDead && !e.IsZombie && !e.IsInvulnerable && e.Health > 0) .ToList(); foreach (var enemy in enemies) { if (Settings.KSQ && SpellManager.Q.IsReady() && Damages.QDamage(enemy) > enemy.Health && SpellManager.Q.IsInRange(enemy)) { if (enemy.HasBuffOfType(BuffType.SpellImmunity) || enemy.HasBuffOfType(BuffType.SpellShield)) { continue; } if (Settings.KSQ) { Q.Cast(enemy.Position); break; } } if (Settings.KSW && SpellManager.W.IsReady() && Damages.WDamage(enemy) > enemy.Health && SpellManager.W.IsInRange(enemy)) { if (enemy.HasBuffOfType(BuffType.SpellImmunity) || enemy.HasBuffOfType(BuffType.SpellShield)) { continue; } if (Settings.KSW) { W.Cast(enemy.Position); break; } } if (Settings.KSE && SpellManager.E.IsReady() && ObjectManager.Player.GetSpellDamage(enemy, SpellSlot.E) > enemy.Health && SpellManager.E.IsInRange(enemy)) { if (enemy.HasBuffOfType(BuffType.SpellImmunity) || enemy.HasBuffOfType(BuffType.SpellShield)) { continue; } if (Settings.KSE) { E.Cast(enemy); break; } } if (Settings.KSR && SpellManager.R.IsReady() && Damages.RDamage(enemy) > enemy.Health && SpellManager.R.IsInRange(enemy)) { if (enemy.HasBuffOfType(BuffType.SpellImmunity) || enemy.HasBuffOfType(BuffType.SpellShield)) { continue; } if (Settings.KSR) { R.Cast(enemy); break; } } if (!Settings.CloneOrbwalk) { return; } if (!hasClone()) { return; } var target = TargetSelector.GetTarget(E.Range, DamageType.Physical); if (target != null) { Core.DelayAction(() => R.Cast(target), 500); } else { Core.DelayAction(() => R.Cast(Game.CursorPos), 500); } } }
public override void Execute() { foreach ( var enemy in EntityManager.Heroes.Enemies.Where( e => e.IsValidTarget())) { if (Settings.KsQ && SpellManager.Q.IsReady() && Damages.QDamage(enemy) > enemy.Health && SpellManager.Q.IsInRange(enemy)) { if (enemy.HasBuffOfType(BuffType.SpellImmunity) || enemy.HasBuffOfType(BuffType.SpellShield)) { continue; } var pred = Q.GetPrediction(enemy); if (pred.HitChance >= SettingsPrediction.MinQHCKillSteal) { Debug.WriteChat("Casting Q in KillSteal on {0}, who has {1} HP", enemy.ChampionName, "" + enemy.Health); Q.Cast(pred.CastPosition); break; } } if (Settings.KsW && SpellManager.W.IsReady() && Damages.WDamage(enemy) > enemy.Health && SpellManager.W.IsInRange(enemy)) { if (enemy.HasBuffOfType(BuffType.SpellImmunity) || enemy.HasBuffOfType(BuffType.SpellShield)) { continue; } Debug.WriteChat("Casting W in KillSteal on {0}, who has {1} HP", enemy.ChampionName, "" + enemy.Health); W.Cast(enemy); break; } if (SpellManager.Ignite != null && Settings.KsIgnite && SpellManager.Ignite.IsReady() && Damages.IgniteDmg(enemy) > enemy.Health && SpellManager.Ignite.IsInRange(enemy)) { Debug.WriteChat("Casting Ignite in KillSteal on {0}, who has {1} HP", enemy.ChampionName, "" + enemy.Health); SpellManager.Ignite.Cast(enemy); break; } } // Automatic ult usage if (Settings.AutoR && R.IsReady() && !Player.Instance.IsRecalling() && !Player.Instance.IsInShopRange()) { var woundedAround = EntityManager.Heroes.Allies.Count(a => !a.IsDead && !a.IsRecalling() && R.IsInRange(a) && a.HealthPercent <= Settings.AutoRMinHP); var enemiesAround = EntityManager.Heroes.Enemies.Count(e => e.IsValid() && !e.IsRecalling() && e.Distance(Player.Instance.Position) < 1600); if (woundedAround > 0 && enemiesAround >= Settings.AutoRMinEnemies) { Debug.WriteChat("AutoCasting R, Wounded allies: {0}, Enemies near in 1600 range: {1}", "" + woundedAround, "" + enemiesAround); R.Cast(); } } // Potion manager if (Settings.Potion && !Player.Instance.IsInShopRange()) { if (Player.Instance.HealthPercent <= Settings.potionMinHP && !(Player.Instance.HasBuff("RegenerationPotion") || Player.Instance.HasBuff("ItemMiniRegenPotion") || Player.Instance.HasBuff("ItemCrystalFlask") || Player.Instance.HasBuff("ItemDarkCrystalFlask"))) { if (Item.HasItem(HealthPotion.Id) && Item.CanUseItem(HealthPotion.Id)) { Debug.WriteChat("Using HealthPotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent)); HealthPotion.Cast(); return; } if (Item.HasItem(TotalBiscuit.Id) && Item.CanUseItem(TotalBiscuit.Id)) { Debug.WriteChat("Using TotalBiscuitOfRejuvenation because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent)); TotalBiscuit.Cast(); return; } if (Item.HasItem(RefillablePotion.Id) && Item.CanUseItem(RefillablePotion.Id)) { Debug.WriteChat("Using RefillablePotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent)); RefillablePotion.Cast(); return; } if (Item.HasItem(CorruptingPotion.Id) && Item.CanUseItem(CorruptingPotion.Id)) { Debug.WriteChat("Using CorruptingPotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent)); CorruptingPotion.Cast(); return; } } if (Player.Instance.ManaPercent <= Settings.potionMinMP && !(Player.Instance.HasBuff("RegenerationPotion") || Player.Instance.HasBuff("ItemMiniRegenPotion") || Player.Instance.HasBuff("ItemCrystalFlask") || Player.Instance.HasBuff("ItemDarkCrystalFlask"))) { if (Item.HasItem(CorruptingPotion.Id) && Item.CanUseItem(CorruptingPotion.Id)) { Debug.WriteChat("Using HealthPotion because below {0}% MP - have {1}% MP", String.Format("{0}", Settings.potionMinMP), String.Format("{0:##.##}", Player.Instance.ManaPercent)); CorruptingPotion.Cast(); return; } } } }
public override void Execute() { // KillSteal if (Environment.TickCount - lastKSTime > 500 && ((Settings.KsQW && Q.IsReady()) || (Settings.KsIgnite && HasIgnite))) { var enemies = EntityManager.Heroes.Enemies.Where(e => e.IsValidTarget(Q.Range - 50)); if (Settings.KsQW && Q.IsReady() && W.IsReady() && PlayerMana >= 95) { var target = enemies.FirstOrDefault(e => Q.IsInRange(e) && e.TotalShieldHealth() < (Damages.QDamage(e) + Damages.WDamage(e)) && !e.HasBuffOfType(BuffType.SpellImmunity) && !e.HasBuffOfType(BuffType.SpellShield)); if (target != null) { lastKSTime = Environment.TickCount; bool wcast = false; if (target.TotalShieldHealth() > Damages.QDamage(target)) { W.Cast(); Orbwalker.ResetAutoAttack(); wcast = true; } Q.Cast(target); Debug.Write("Casting Q{0} in KS on {1} who has {2}HP.", (wcast ? "+W" : ""), target.ChampionName, target.Health.ToString()); return; } } if (Settings.KsIgnite && HasIgnite && Ignite.IsReady()) { var target = enemies.FirstOrDefault(e => W.IsInRange(e) && e.TotalShieldHealth() < Damages.IgniteDmg(e)); if (target != null) { lastKSTime = Environment.TickCount; Ignite.Cast(target); Debug.Write("Casting Ignite in KS on {0} who has {1}HP.", target.ChampionName, target.Health.ToString()); return; } } } // Auto E stun if (Player.Instance.HasBuff("JaxCounterStrike") && E.IsReady()) { var countenemies = EntityManager.Heroes.Enemies.Count(e => e.IsValidTarget(E.Range)); if (countenemies >= SettingsCombo.MinEStunEnemies) { E.Cast(); Debug.WriteChat("Casting E early to stun " + countenemies + " enemies."); } } // Potion manager if (Settings.Potion && !Player.Instance.IsInShopRange() && Player.Instance.HealthPercent <= Settings.potionMinHP && !(Player.Instance.HasBuff("RegenerationPotion") || Player.Instance.HasBuff("ItemCrystalFlaskJungle") || Player.Instance.HasBuff("ItemMiniRegenPotion") || Player.Instance.HasBuff("ItemCrystalFlask") || Player.Instance.HasBuff("ItemDarkCrystalFlask"))) { if (Item.HasItem(HealthPotion.Id) && Item.CanUseItem(HealthPotion.Id)) { Debug.WriteChat("Using HealthPotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent)); HealthPotion.Cast(); return; } if (Item.HasItem(HuntersPotion.Id) && Item.CanUseItem(HuntersPotion.Id)) { Debug.WriteChat("Using HuntersPotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent)); HuntersPotion.Cast(); return; } if (Item.HasItem(TotalBiscuit.Id) && Item.CanUseItem(TotalBiscuit.Id)) { Debug.WriteChat("Using TotalBiscuitOfRejuvenation because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent)); TotalBiscuit.Cast(); return; } if (Item.HasItem(RefillablePotion.Id) && Item.CanUseItem(RefillablePotion.Id)) { Debug.WriteChat("Using RefillablePotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent)); RefillablePotion.Cast(); return; } if (Item.HasItem(CorruptingPotion.Id) && Item.CanUseItem(CorruptingPotion.Id)) { Debug.WriteChat("Using CorruptingPotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent)); CorruptingPotion.Cast(); return; } } if (Settings.Potion && !Player.Instance.IsInShopRange() && Player.Instance.ManaPercent <= Settings.potionMinMP && !(Player.Instance.HasBuff("RegenerationPotion") || Player.Instance.HasBuff("ItemMiniRegenPotion") || Player.Instance.HasBuff("ItemCrystalFlask") || Player.Instance.HasBuff("ItemDarkCrystalFlask"))) { if (Item.HasItem(CorruptingPotion.Id) && Item.CanUseItem(CorruptingPotion.Id)) { Debug.WriteChat("Using CorruptingPotion because below {0}% MP - have {1}% MP", String.Format("{0}", Settings.potionMinMP), String.Format("{0:##.##}", Player.Instance.ManaPercent)); CorruptingPotion.Cast(); } if (Item.HasItem(HuntersPotion.Id) && Item.CanUseItem(HuntersPotion.Id)) { Debug.WriteChat("Using HuntersPotion because below {0}% HP - have {1}% HP", String.Format("{0}", Settings.potionMinHP), String.Format("{0:##.##}", Player.Instance.HealthPercent)); HuntersPotion.Cast(); return; } } }