public override void Execute() { var itarget = TargetSelector.GetTarget(1000, DamageType.Physical); Items.UseItems(itarget); if (Settings.UseRk && R.IsReady() && E.IsReady() && Q.IsReady()) { var target = TargetSelector.GetTarget(R.Range, DamageType.Physical); if (target != null && Damages.RDamage(target) + Damages.QDamage(target) + Damages.EDamage(target) + Damages.FaaDamage(target) > target.Health) { R.Cast(target); } } var qtarget = TargetSelector.GetTarget(E.Range, DamageType.Physical); if (Settings.UseE && E.IsReady() && (qtarget.IsValidTarget(Q.Range) && Q.IsReady())) { var vec = qtarget.ServerPosition - ObjectManager.Player.Position; var castBehind = E.GetPrediction(qtarget).CastPosition + Vector3.Normalize(vec) * 100; E.Cast(castBehind); } if (Settings.UseQ && Q.IsReady() && qtarget.IsValidTarget(200, true, SpellManager.Epos) && SpellManager.Epos != default(Vector3)) { Q.Cast(SpellManager.Epos); } if (Settings.UseW) { var target = TargetSelector.GetTarget(W.Range, DamageType.Physical); if (W.IsReady() && target != null) { W.Cast(); } } if (Settings.UseQ && Q.IsReady() && !E.IsReady()) { var wtarget = TargetSelector.GetTarget(W.Range, DamageType.Physical); var prede = Q.GetPrediction(wtarget); if (prede.HitChance >= HitChance.High) { if (wtarget != null) { Q.Cast(prede.CastPosition); } } } if (Settings.UseRi && R.IsReady()) { var target = TargetSelector.GetTarget(R.Range, DamageType.Physical); if (R.IsReady() && target != null) { R.Cast(target); } } }
public override void Execute() { // Items if (Settings.UseItems) { var enemy = TargetSelector.GetTarget(BOTRK.Range, DamageType.Physical); if (enemy != null) { if (CanUseItem(ItemId.Bilgewater_Cutlass)) { Cutlass.Cast(enemy); Debug.WriteChat("Using Bilgewater Cutlass on {0}", enemy.ChampionName); } else if (CanUseItem(ItemId.Blade_of_the_Ruined_King) && enemy.HealthPercent <= Settings.MaxBOTRKHPEnemy && PlayerHealth <= Settings.MaxBOTRKHPPlayer) { BOTRK.Cast(enemy); Debug.WriteChat("Using BOTRK on {0}", enemy.ChampionName); } } } // Skills if (Settings.UseR && R.IsReady() && PlayerMana >= SettingsMana.MinRMana) { var target = TargetSelector.GetTarget(R.Range, DamageType.Magical); if (target != null) { if (!target.HasBuffOfType(BuffType.SpellImmunity) && !target.HasBuffOfType(BuffType.SpellShield)) { var targetHealth = target.TotalShieldHealth(); if (target.HasBuff("TristanaEChargeSound")) { targetHealth -= Damages.EDamage(target); } if (targetHealth < Damages.RDamage(target)) { R.Cast(target); Debug.WriteChat("Casting R in Combo to finish {0}, calculated HP to cast R: {1}, current HP: {2}.", target.ChampionName, targetHealth.ToString(), target.Health.ToString()); return; } } } } if (Settings.UseW && W.IsReady() && PlayerMana >= SettingsMana.MinWMana) { var target = TargetSelector.GetTarget(W.Range, DamageType.Magical); if (target != null) { if (!target.HasBuffOfType(BuffType.SpellImmunity) && !target.HasBuffOfType(BuffType.SpellShield)) { var pred = W.GetPrediction(target); if (pred.HitChance >= SettingsPrediction.MinWHCCombo) { W.Cast(pred.CastPosition); Debug.WriteChat("Casting W in Combo on {0}", target.ChampionName); } } } } }
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() { // Skills if (Settings.UseR && R.IsReady() && PlayerMana >= SettingsMana.MinRManaC) { var target = TargetSelector.GetTarget(R.Range, DamageType.Magical); if (target != null) { if (!target.HasBuffOfType(BuffType.SpellImmunity) && !target.HasBuffOfType(BuffType.SpellShield)) { var targetHealth = target.TotalShieldHealth(); if (target.HasBuff("TristanaEChargeSound")) { targetHealth -= Damages.EDamage(target); } if (targetHealth < Damages.RDamage(target)) { R.Cast(target); return; } } } } if (Settings.UseW && W.IsReady() && PlayerMana >= SettingsMana.MinWManaC) { var target = TargetSelector.GetTarget(W.Range, DamageType.Magical); if (target != null) { if (!Settings.WTurret && Extensions.CountEnemiesInRange(target, 200) <= 2) { if (!target.HasBuffOfType(BuffType.SpellImmunity) && !target.HasBuffOfType(BuffType.SpellShield) && !target.IsUnderTurret()) { var pred = W.GetPrediction(target); if (pred.HitChance >= SettingsPrediction.MinWHCCombo) { W.Cast(pred.CastPosition); } } } else { if (!target.HasBuffOfType(BuffType.SpellImmunity) && !target.HasBuffOfType(BuffType.SpellShield)) { var pred = W.GetPrediction(target); if (pred.HitChance >= SettingsPrediction.MinWHCCombo) { W.Cast(pred.CastPosition); } } } } } }
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; } var pred = Q.GetPrediction(enemy); if (pred.HitChance >= HitChance.High) { Q.Cast(pred.CastPosition); 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; } var pred = E.GetPrediction(enemy); if (pred.HitChance >= HitChance.High) { E.Cast(pred.CastPosition); 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; } R.Cast(enemy); break; } } }
public override void Execute() { if (Settings.UseE) { var etarget = TargetSelector.GetTarget(E.Range, DamageType.Physical); var eprediction = E.GetPrediction(etarget); if (eprediction.HitChance >= HitChance.High) { if (E.IsReady() && etarget != null) { E.Cast(eprediction.CastPosition); } } } if (Settings.UseW) { var target = TargetSelector.GetTarget(W.Range, DamageType.Physical); if (W.IsReady() && target != null) { W.Cast(); } } if (Settings.UseQ) { var target = TargetSelector.GetTarget(Q.Range, DamageType.Physical); if (Q.IsReady() && target != null) { Q.Cast(); } } if (Settings.UseR && R.IsReady()) { var target = TargetSelector.GetTarget(E.Range, DamageType.Physical); if (target.IsValidTarget(R.Range) && !target.IsZombie && !target.IsInvulnerable && !target.IsDead) { int passiveCounter = target.GetBuffCount("dariushemo") <= 0 ? 0 : target.GetBuffCount("dariushemo"); if (!target.HasBuffOfType(BuffType.Invulnerability) && !target.HasBuffOfType(BuffType.SpellShield)) { if (Damages.RDamage(target, passiveCounter) >= target.Health + Damages.PassiveDmg(target, 1)) { if (!target.HasBuffOfType(BuffType.Invulnerability) && !target.HasBuffOfType(BuffType.SpellShield)) { R.Cast(target); } } } } } }
public static void Init() { if (Target() != null) { if (Draven.Q.IsReady() && DravenMenu.CheckBox(DravenMenu.Combo, "Q")) { if (Target().IsValidTarget(Player.Instance.GetAutoAttackRange() + 70)) { Draven.Q.Cast(); } } if (Draven.E.IsReady() && DravenMenu.CheckBox(DravenMenu.Combo, "E")) { if (Target().IsValidTarget(Draven.E.Range)) { var EPred = Draven.E.GetPrediction(Target()); if (EPred.HitChancePercent >= DravenMenu.Slider(DravenMenu.Principal, "EPred")) { Draven.E.Cast(EPred.UnitPosition); } } } if (Draven.R.IsReady() && DravenMenu.CheckBox(DravenMenu.Combo, "R")) { if (Target().IsValidTarget(Draven.R.Range)) { var RPred = Draven.R.GetPrediction(Target()); if (RPred.HitChancePercent >= DravenMenu.Slider(DravenMenu.Principal, "RPred")) { if (Target().Health <= Damages.RDamage(Target())) { Draven.R.Cast(RPred.UnitPosition); } } } } } }
public override void Execute() { var target = TargetSelector.GetTarget(700, DamageType.Mixed); if (target == null) { return; } if (Settings.UseR && SpellManager.R.IsReady() && Damages.RDamage(target) > target.TotalShieldHealth() && SpellManager.R.IsInRange(target)) { if (!target.HasBuffOfType(BuffType.SpellImmunity) && !target.HasBuffOfType(BuffType.SpellShield)) { SpellManager.R.Cast(target); return; } } if (Q.IsReady() && Settings.UseQ && (Player.Instance.Distance(target) < 700)) { Q.Cast(); } if (Settings.UseW && W.IsReady()) { int count = EntityManager.Heroes.Enemies.Count(enemy => enemy.IsValid && !enemy.IsDead && !enemy.IsZombie && !enemy.IsInvulnerable && enemy.Health > 0 && enemy.Distance(Player.Instance) <= 400); if ( count >= Settings.MinWEnemies) { W.Cast(); } } if (Settings.UseE && E.IsReady() && !Player.HasBuff("GarenE") && !Player.HasBuff("GarenQ") && (Player.Instance.Distance(target) < E.Range - 25)) { E.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() { // KillSteal if (Settings.KsE && E.IsReady()) { var enemy = EntityManager.Heroes.Enemies.FirstOrDefault(e => !e.IsDead && e.Health > 0 && E.IsInRange(e) && e.IsVisible && !e.IsZombie && !e.IsInvulnerable && e.TotalShieldHealth() < Damages.EDamage(e)); if (enemy != null) { if (!enemy.HasBuffOfType(BuffType.SpellImmunity) && !enemy.HasBuffOfType(BuffType.SpellShield)) { Debug.WriteChat("Casting E in KS on {0}, Enemy HP: {1}", "" + enemy.ChampionName, "" + enemy.Health); E.Cast(enemy); return; } } } if (Settings.KsR && R.IsReady()) { var enemy = EntityManager.Heroes.Enemies.FirstOrDefault( e => !e.IsDead && e.Health > 0 && R.IsInRange(e) && e.IsVisible && !e.IsZombie && !e.IsInvulnerable && e.TotalShieldHealth() < Damages.RDamage(e)); if (enemy != null) { if (!enemy.HasBuffOfType(BuffType.SpellImmunity) && !enemy.HasBuffOfType(BuffType.SpellShield)) { Debug.WriteChat("Casting R in KS on {0}, Enemy HP: {1}", "" + enemy.ChampionName, "" + enemy.Health); R.Cast(); return; } } } if (Settings.KsIgnite && HasIgnite && Ignite.IsReady()) { var enemy = EntityManager.Heroes.Enemies.FirstOrDefault( e => !e.IsDead && e.Health > 0 && Ignite.IsInRange(e) && e.IsVisible && !e.IsZombie && !e.IsInvulnerable && e.TotalShieldHealth() < Damages.IgniteDmg(e)); if (enemy != null) { Debug.WriteChat("Casting Ignite in KS on {0}, Enemy HP: {1}", "" + enemy.ChampionName, "" + enemy.Health); Ignite.Cast(enemy); return; } } // Automatic ult usage if (Settings.AutoR && R.IsReady() && !Player.Instance.IsRecalling()) { var ultableEnemies = EntityManager.Heroes.Enemies.Where(e => R.IsInRange(e) && !e.IsDead && !e.IsZombie && !e.IsInvulnerable).ToList(); if (ultableEnemies.Count() >= Settings.AutoRMinEnemies && Player.Instance.HealthPercent >= Settings.AutoRMinHP) { Debug.WriteChat("AutoCasting R, Enemies in range: {0}", "" + "" + ultableEnemies.Count()); R.Cast(); return; } } // 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(); return; } } }
public override void Execute() { // Kill Steal foreach (var enemy in EntityManager.Heroes.Enemies.Where(e => e.IsEnemy && e.IsVisible && !e.IsDead && !e.IsZombie && e.Health > 0)) { if (Settings.KsR && SpellManager.R.IsLearned && SpellManager.R.IsReady() && Damages.RDamage(enemy) > enemy.TotalShieldHealth() && SpellManager.R.IsInRange(enemy)) { if (enemy.HasBuffOfType(BuffType.SpellImmunity) || enemy.HasBuffOfType(BuffType.SpellShield)) { continue; } SpellManager.R.Cast(enemy); break; } if (Settings.KsIgnite && SpellManager.Ignite.IsReady() && Damages.IgniteDmg(enemy) > enemy.Health && SpellManager.Ignite.IsInRange(enemy)) { SpellManager.Ignite.Cast(enemy); break; } } // 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; } } } }
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() { // KillSteal var enemies = EntityManager.Heroes.Enemies.Where(e => e.IsEnemy && e.IsVisible && !e.IsDead && !e.IsZombie && !e.IsInvulnerable && e.Health > 0).ToList(); if (!isUlting()) { 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; } 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.KsE && SpellManager.E.IsReady() && Damages.EDamage(enemy) > enemy.Health && SpellManager.E.IsInRange(enemy)) { if (enemy.HasBuffOfType(BuffType.SpellImmunity) || enemy.HasBuffOfType(BuffType.SpellShield)) { continue; } var pred = E.GetPrediction(enemy); if (pred.HitChance >= SettingsPrediction.MinEHCKillSteal) { Debug.WriteChat("Casting E in KillSteal on {0}, who has {1} HP", enemy.ChampionName, "" + enemy.Health); E.Cast(pred.CastPosition); 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; } 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; } Debug.WriteChat("Casting R in KillSteal on {0}, who has {1} HP", enemy.ChampionName, "" + enemy.Health); R.Cast(); break; } } } // Automatic ult usage if (Settings.AutoR && R.IsReady() && !Player.Instance.IsRecalling()) { var ultableEnemies = enemies.Where(e => R.IsInRange(e)).ToList(); if (ultableEnemies.Count() >= Settings.AutoRMinEnemies && Player.Instance.HealthPercent >= Settings.AutoRMinHP) { if (W.IsReady() && Player.Instance.Mana >= 160) { W.Cast(Player.Instance); } Debug.WriteChat("AutoCasting R, Enemies in range: {0}", "" + "" + ultableEnemies.Count()); R.Cast(); return; } } // 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; } } }
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); } } }