/// <summary> /// Called when the game updates itself. /// </summary> /// <param name="args">The <see cref="EventArgs"/> instance containing the event data.</param> public static void Execute(EventArgs args) { if (Bools.ShouldUseCleanser() || (!Bools.IsSpellAvailable(SpellSlots.Cleanse) && Bools.ShouldUseCleanse(ObjectManager.Player))) { /// <summary> /// The Quicksilver Sash. /// </summary> if (ItemData.Quicksilver_Sash.GetItem().IsReady()) { Utility.DelayAction.Add( Variables.Menu.Item($"{Variables.MainMenuName}.randomizer").GetValue <bool>() ? WeightedRandom.Next(100, 200) : 0, () => { ItemData.Quicksilver_Sash.GetItem().Cast(); return; } ); } /// <summary> /// The Mikaels Crucible. /// </summary> if (ItemData.Mikaels_Crucible.GetItem().IsReady()) { if (Bools.ShouldUseCleanse(Targets.Ally) && Targets.Ally.IsValidTarget(750f, false)) { Utility.DelayAction.Add( Variables.Menu.Item($"{Variables.MainMenuName}.randomizer").GetValue <bool>() ? WeightedRandom.Next(100, 200) : 0, () => { ItemData.Mikaels_Crucible.GetItem().Cast(Targets.Ally); } ); } else if (Bools.ShouldUseCleanse(ObjectManager.Player)) { Utility.DelayAction.Add( Variables.Menu.Item($"{Variables.MainMenuName}.randomizer").GetValue <bool>() ? WeightedRandom.Next(100, 200) : 0, () => { ItemData.Mikaels_Crucible.GetItem().Cast(ObjectManager.Player); } ); } } } }
/// <summary> /// Defines whether the player should use cleanse. /// </summary> public static bool ShouldUseCleanse(Obj_AI_Hero target) => !ObjectManager.Player.IsInvulnerable && !IsSpellShielded(ObjectManager.Player) && ( Bools.IsValidStun() || Bools.IsValidSnare() || target.HasBuff("summonerdot") || target.HasBuff("summonerexhaust") || target.HasBuffOfType(BuffType.Flee) || target.HasBuffOfType(BuffType.Charm) || target.HasBuffOfType(BuffType.Taunt) || target.HasBuffOfType(BuffType.Polymorph) );
/// <summary> /// Called when the game updates itself. /// </summary> /// <param name="args">The <see cref="EventArgs"/> instance containing the event data.</param> public static void Execute(EventArgs args) { if ((Bools.ShouldUseCleanser() || (Bools.ShouldUseCleanse(ObjectManager.Player) && !Bools.IsSpellAvailable(SpellSlots.Cleanse))) || ObjectManager.Player.HealthPercent <= 10 && HealthPrediction.GetHealthPrediction(ObjectManager.Player, (int)(500 + Game.Ping / 2f)) <= ObjectManager.Player.MaxHealth / 6) { /// <summary> /// The Dervish Blade. /// </summary> if (ItemData.Dervish_Blade.GetItem().IsReady()) { Utility.DelayAction.Add( Variables.Menu.Item($"{Variables.MainMenuName}.randomizer").GetValue <bool>() ? WeightedRandom.Next(100, 200) : 0, () => { ItemData.Dervish_Blade.GetItem().Cast(); return; } ); } /// <summary> /// The Mercurial Scimitar. /// </summary> if (ItemData.Mercurial_Scimitar.GetItem().IsReady()) { Utility.DelayAction.Add( Variables.Menu.Item($"{Variables.MainMenuName}.randomizer").GetValue <bool>() ? WeightedRandom.Next(100, 200) : 0, () => { ItemData.Mercurial_Scimitar.GetItem().Cast(); } ); } } }
/// <summary> /// Called when the game updates itself. /// </summary> /// <param name="args">The <see cref="EventArgs"/> instance containing the event data.</param> public static void Execute(EventArgs args) { /// <summary> /// The Cleanse Logic. /// </summary> if (Bools.ShouldUseCleanse(ObjectManager.Player)) { if (Variables.W.IsReady() && ObjectManager.Player.ChampionName.Equals("Gangplank")) { Variables.W.Cast(); return; } if (Bools.IsSpellAvailable(SpellSlots.Cleanse)) { Utility.DelayAction.Add( Variables.Menu.Item($"{Variables.MainMenuName}.randomizer").GetValue <bool>() ? WeightedRandom.Next(100, 200) : 0, () => { ObjectManager.Player.Spellbook.CastSpell(SpellSlots.Cleanse); } ); } } /// <summary> /// The Barrier Logic. /// </summary> if (Bools.IsSpellAvailable(SpellSlots.Barrier) && HealthPrediction.GetHealthPrediction(ObjectManager.Player, (int)(250 + Game.Ping / 2f)) <= ObjectManager.Player.MaxHealth / 6) { ObjectManager.Player.Spellbook.CastSpell(SpellSlots.Barrier); return; } /// <summary> /// The Heal Logic. /// </summary> if (Bools.IsSpellAvailable(SpellSlots.Heal) && !ItemData.Face_of_the_Mountain.GetItem().IsReady() && !ItemData.Locket_of_the_Iron_Solari.GetItem().IsReady()) { if ((ObjectManager.Player.CountEnemiesInRange(850f) > 0 && HealthPrediction.GetHealthPrediction(ObjectManager.Player, (int)(250 + Game.Ping / 2f)) <= ObjectManager.Player.MaxHealth / 6) || (Targets.Ally.IsValidTarget(850f) && Targets.Ally.CountEnemiesInRange(850f) > 0 && HealthPrediction.GetHealthPrediction(Targets.Ally, (int)(250 + Game.Ping / 2f)) <= Targets.Ally.MaxHealth / 6)) { ObjectManager.Player.Spellbook.CastSpell(SpellSlots.Heal); return; } } /// <summary> /// The Exhaust Logic. /// </summary> if (Bools.IsSpellAvailable(SpellSlots.Exhaust) && Targets.Target.IsValidTarget(650f) && (ObjectManager.Player.CountEnemiesInRange(850f) > 0 || Targets.Ally.CountEnemiesInRange(850f) > 0) && (HealthPrediction.GetHealthPrediction(ObjectManager.Player, (int)(250 + Game.Ping / 2f)) <= ObjectManager.Player.MaxHealth / 4 || HealthPrediction.GetHealthPrediction(Targets.Ally, (int)(250 + Game.Ping / 2f)) <= Targets.Ally.MaxHealth / 4)) { ObjectManager.Player.Spellbook.CastSpell(SpellSlots.Exhaust, Targets.Target); } /// <summary> /// The Ignite Logic. /// </summary> if (Bools.IsSpellAvailable(SpellSlots.Ignite) && Targets.Target.IsValidTarget(600f) && (ObjectManager.Player.GetSummonerSpellDamage(Targets.Target, Damage.SummonerSpell.Ignite) > Targets.Target.Health || HealthPrediction.GetHealthPrediction(Targets.Target, (int)(750 + Game.Ping / 2f)) <= 0)) { ObjectManager.Player.Spellbook.CastSpell(SpellSlots.Ignite, Targets.Target); } /// <summary> /// The Clarity logic. /// </summary> if (Bools.IsSpellAvailable(SpellSlots.Clarity) && ObjectManager.Player.ManaPercent <= 20) { ObjectManager.Player.Spellbook.CastSpell(SpellSlots.Clarity); } }
/// <summary> /// Called when the game updates itself. /// </summary> /// <param name="args">The <see cref="EventArgs"/> instance containing the event data.</param> public static void Execute(EventArgs args) { if (ObjectManager.Player.IsRecalling() || ObjectManager.Player.InFountain()) { return; } /// <summary> /// The Health Potions Logic. /// </summary> if (!Bools.IsHealthPotRunning()) { if (ObjectManager.Player.HealthPercent <= Managers.MinHealthPercent) { /// <summary> /// The Refillable Potion. /// </summary> if (ItemData.Refillable_Potion.GetItem().IsReady()) { ItemData.Refillable_Potion.GetItem().Cast(); return; } /// <summary> // The Health Potion. /// </summary> if (ItemData.Health_Potion.GetItem().IsReady()) { ItemData.Health_Potion.GetItem().Cast(); return; } /// <summary> /// The Total Biscuit of Rejuvenation. /// </summary> if (ItemData.Total_Biscuit_of_Rejuvenation2.GetItem().IsReady()) { ItemData.Total_Biscuit_of_Rejuvenation2.GetItem().Cast(); return; } /// <summary> /// The Corrupting Potion. /// </summary> if (ItemData.Corrupting_Potion.GetItem().IsReady()) { ItemData.Corrupting_Potion.GetItem().Cast(); return; } /// <summary> /// The Hunter's Potion. /// </summary> if (ItemData.Hunters_Potion.GetItem().IsReady()) { ItemData.Hunters_Potion.GetItem().Cast(); return; } } } /// <summary> /// The Mana Potions Logic. /// </summary> if (!Bools.IsManaPotRunning()) { if (ObjectManager.Player.ManaPercent <= Managers.MinManaPercent && !Variables.NoManaChampions.Contains(ObjectManager.Player.ChampionName)) { /// <summary> /// The Corrupting Potion. /// </summary> if (ItemData.Corrupting_Potion.GetItem().IsReady()) { ItemData.Corrupting_Potion.GetItem().Cast(); return; } /// <summary> /// The Hunter's Potion. /// </summary> if (ItemData.Hunters_Potion.GetItem().IsReady()) { ItemData.Hunters_Potion.GetItem().Cast(); return; } } } }
/// <summary> /// Called when the game updates itself. /// </summary> /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param> public static void Consumables(EventArgs args) { if (ObjectManager.Player.InFountain() || ObjectManager.Player.IsRecalling()) { return; } if (!Vars.Menu["potions"].GetValue <MenuBool>().Value) { return; } if (!Bools.IsHealthPotRunning()) { /// <summary> /// The Refillable Potion Logic. /// </summary> if (Items.CanUseItem(2031) && ObjectManager.Player.HealthPercent < Managers.MinHealthPercent) { Items.UseItem(2031); return; } /// <summary> /// The Total Biscuit of Rejuvenation Logic. /// </summary> if (Items.CanUseItem(2010) && ObjectManager.Player.HealthPercent < Managers.MinHealthPercent) { Items.UseItem(2010); return; } /// <summary> /// The Health Potion Logic. /// </summary> if (Items.CanUseItem(2003) && ObjectManager.Player.HealthPercent < Managers.MinHealthPercent) { Items.UseItem(2003); } } if (ObjectManager.Player.MaxMana < 200) { return; } /// <summary> /// The Hunter's Potion Logic. /// </summary> if (Items.CanUseItem(2032)) { if (!Bools.IsHealthPotRunning() && ObjectManager.Player.HealthPercent < Managers.MinHealthPercent) { Items.UseItem(2032); } else if (!Bools.IsManaPotRunning() && ObjectManager.Player.ManaPercent < Managers.MinManaPercent) { Items.UseItem(2032); } } /// <summary> /// The Corrupting Potion Logic. /// </summary> if (Items.CanUseItem(2033)) { if (!Bools.IsHealthPotRunning() && ObjectManager.Player.HealthPercent < Managers.MinHealthPercent) { Items.UseItem(2033); } else if (!Bools.IsManaPotRunning() && ObjectManager.Player.ManaPercent < Managers.MinManaPercent) { Items.UseItem(2033); } } }
/// <summary> /// Called when the game updates itself. /// </summary> /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param> public static void Spells(EventArgs args) { if (!Vars.Menu["spells"].GetValue <MenuBool>().Value) { return; } /// <summary> /// The Remove Scurvy Logic. /// </summary> if (GameObjects.Player.ChampionName.Equals("Gangplank")) { if (Vars.W != null && Vars.W.IsReady() && Bools.ShouldCleanse(GameObjects.Player)) { DelayAction.Add( Vars.Menu["cleansers"].GetValue <MenuSliderButton>().SValue, () => { Vars.W.Cast(); }); } } /// <summary> /// The Cleanse Logic. /// </summary> if (SpellSlots.Cleanse.IsReady()) { if (Bools.ShouldCleanse(GameObjects.Player)) { DelayAction.Add( Vars.Menu["cleansers"].GetValue <MenuSliderButton>().SValue, () => { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Cleanse); }); } } /// <summary> /// The Clarity Logic. /// </summary> if (SpellSlots.Clarity.IsReady()) { if (GameObjects.AllyHeroes.Count(a => a.ManaPercent <= 60) >= 3) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Clarity); } } /// <summary> /// The Ignite Logic. /// </summary> if (SpellSlots.Ignite.IsReady()) { foreach (var target in GameObjects.EnemyHeroes.Where(t => t.IsValidTarget(600f + GameObjects.Player.BoundingRadius))) { if (Vars.GetIgniteDamage > target.Health || Health.GetPrediction(target, (int)(1000 + Game.Ping / 2f)) <= 0) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Ignite, target); } } } /// <summary> /// The Barrier Logic. /// </summary> if (SpellSlots.Barrier.IsReady()) { if (GameObjects.Player.CountEnemyHeroesInRange(700f) > 0 && Health.GetPrediction(GameObjects.Player, (int)(1000 + Game.Ping / 2f)) <= GameObjects.Player.MaxHealth / 6) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Barrier); return; } } /// <summary> /// The Heal Logic. /// </summary> if (SpellSlots.Heal.IsReady()) { if (GameObjects.Player.CountEnemyHeroesInRange(850f + GameObjects.Player.BoundingRadius) > 0 && Health.GetPrediction(GameObjects.Player, (int)(1000 + Game.Ping / 2f)) <= GameObjects.Player.MaxHealth / 6) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Heal); } else { foreach (var ally in GameObjects.AllyHeroes.Where( a => a.IsValidTarget(850f + GameObjects.Player.BoundingRadius, false) && a.CountEnemyHeroesInRange(850f) > 0 && Health.GetPrediction(a, (int)(1000 + Game.Ping / 2f)) <= a.MaxHealth / 6)) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Heal, ally); } } } /// <summary> /// The Smite Logics. /// </summary> if (Vars.Smite.IsReady() && Vars.Smite.Slot != SpellSlot.Unknown) { if (!Vars.Menu["keys"]["smite"].GetValue <MenuKeyBind>().Active) { return; } /// <summary> /// The Combo Smite Logic. /// </summary> if (Vars.Menu["smite"]["misc"]["combo"].GetValue <MenuBool>().Value) { if (Variables.Orbwalker.GetTarget() is Obj_AI_Hero) { Vars.Smite.CastOnUnit(Variables.Orbwalker.GetTarget() as Obj_AI_Hero); } } /// <summary> /// The Killsteal Smite Logic. /// </summary> if (Vars.Menu["smite"]["misc"]["killsteal"].GetValue <MenuBool>().Value) { if (GameObjects.Player.HasBuff("smitedamagetrackerstalker") || GameObjects.Player.HasBuff("smitedamagetrackerskirmisher")) { if (Vars.Menu["smite"]["misc"]["stacks"].GetValue <MenuBool>().Value) { if (GameObjects.Player.Spellbook.GetSpell(Vars.Smite.Slot).Ammo == 1) { return; } } foreach (var target in GameObjects.EnemyHeroes.Where(t => t.IsValidTarget(Vars.Smite.Range))) { if (Vars.GetChallengingSmiteDamage > target.Health && GameObjects.Player.HasBuff("smitedamagetrackerstalker")) { Vars.Smite.CastOnUnit(target); } else if (Vars.GetChallengingSmiteDamage > target.Health && GameObjects.Player.HasBuff("smitedamagetrackerskirmisher")) { Vars.Smite.CastOnUnit(target); } } } } } if (!Targets.Target.IsValidTarget()) { return; } /// <summary> /// The Exhaust Logic. /// </summary> if (SpellSlots.Exhaust.IsReady()) { foreach (var ally in GameObjects.AllyHeroes.Where( a => a.CountEnemyHeroesInRange(650f) >= 1 && a.Distance(GameObjects.EnemyHeroes.OrderBy(o => o.Distance(a)).FirstOrDefault()) < 700f && GameObjects.EnemyHeroes.OrderBy(o => o.Distance(a)) .FirstOrDefault() .IsValidTarget(650f + GameObjects.Player.BoundingRadius) && Health.GetPrediction(a, (int)(1000 + Game.Ping / 2f)) <= a.MaxHealth / 6)) { GameObjects.Player.Spellbook.CastSpell( SpellSlots.Exhaust, GameObjects.EnemyHeroes.OrderBy(o => o.Distance(ally)).FirstOrDefault()); } } }
/// <summary> /// Called when the game updates itself. /// </summary> /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param> public static void Cleansers(EventArgs args) { if (!Vars.Menu["cleansers"].GetValue <MenuSliderButton>().BValue) { return; } /// <summary> /// The Mikaels Crucible Logic. /// </summary> if (Items.CanUseItem(3222)) { foreach (var ally in GameObjects.AllyHeroes.Where(a => Bools.ShouldCleanse(a) && a.IsValidTarget(750f, false))) { DelayAction.Add( Vars.Menu["cleansers"].GetValue <MenuSliderButton>().SValue, () => { Items.UseItem(3222, ally); }); } } if (Bools.ShouldUseCleanser() || !SpellSlots.Cleanse.IsReady() && Bools.ShouldCleanse(GameObjects.Player)) { /// <summary> /// The Quicksilver Sash Logic. /// </summary> if (Items.CanUseItem(3140)) { DelayAction.Add( Vars.Menu["cleansers"].GetValue <MenuSliderButton>().SValue, () => { Items.UseItem(3140); }); } /// <summary> /// The Dervish Blade Logic. /// </summary> if (Items.CanUseItem(3137)) { DelayAction.Add( Vars.Menu["cleansers"].GetValue <MenuSliderButton>().SValue, () => { Items.UseItem(3137); }); } /// <summary> /// The Mercurial Scimitar Logic. /// </summary> if (Items.CanUseItem(3139)) { DelayAction.Add( Vars.Menu["cleansers"].GetValue <MenuSliderButton>().SValue, () => { Items.UseItem(3139); }); } } if (GameObjects.Player.HealthPercent < 10) { /// <summary> /// The Dervish Blade Logic. /// </summary> if (Items.CanUseItem(3137)) { DelayAction.Add( Vars.Menu["cleansers"].GetValue <MenuSliderButton>().SValue, () => { Items.UseItem(3137); }); } /// <summary> /// The Mercurial Scimitar Logic. /// </summary> if (Items.CanUseItem(3139)) { DelayAction.Add( Vars.Menu["cleansers"].GetValue <MenuSliderButton>().SValue, () => { Items.UseItem(3139); }); } } }
/// <summary> /// Called when the game updates itself. /// </summary> /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param> public static void Spells(EventArgs args) { if (!Vars.getCheckBoxItem(Vars.TypesMenu, "spells")) { return; } /// <summary> /// The Remove Scurvy Logic. /// </summary> if (GameObjects.Player.ChampionName.Equals("Gangplank")) { if (Vars.W.IsReady() && Bools.ShouldCleanse(GameObjects.Player)) { DelayAction.Add(Vars.Delay, () => { Vars.W.Cast(); }); } } /// <summary> /// The Cleanse Logic. /// </summary> if (SpellSlots.Cleanse.IsReady()) { if (Bools.ShouldCleanse(GameObjects.Player)) { DelayAction.Add(Vars.Delay, () => { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Cleanse); }); } } /// <summary> /// The Clarity Logic. /// </summary> if (SpellSlots.Clarity.IsReady()) { if (GameObjects.AllyHeroes.Count(a => a.ManaPercent <= 60) >= 3) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Clarity); } } /// <summary> /// The Ignite Logic. /// </summary> if (SpellSlots.Ignite.IsReady()) { foreach (var target in GameObjects.EnemyHeroes.Where(t => t.LSIsValidTarget(600f))) { if (Vars.GetIgniteDamage > target.Health || Health.GetPrediction(target, (int)(1000 + Game.Ping / 2f)) <= 0) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Ignite, target); } } } /// <summary> /// The Barrier Logic. /// </summary> if (SpellSlots.Barrier.IsReady()) { if (GameObjects.Player.CountEnemyHeroesInRange(700f) > 0 && Health.GetPrediction(GameObjects.Player, (int)(1000 + Game.Ping / 2f)) <= GameObjects.Player.MaxHealth / 6) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Barrier); return; } } /// <summary> /// The Heal Logic. /// </summary> if (SpellSlots.Heal.IsReady()) { if (GameObjects.Player.CountEnemyHeroesInRange(850f) > 0 && Health.GetPrediction(GameObjects.Player, (int)(1000 + Game.Ping / 2f)) <= GameObjects.Player.MaxHealth / 6) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Heal); } } else { foreach (var ally in GameObjects.AllyHeroes.Where( a => a.LSIsValidTarget(850f, false) && a.CountEnemyHeroesInRange(850f) > 0 && Health.GetPrediction(a, (int)(1000 + Game.Ping / 2f)) <= a.MaxHealth / 6)) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Heal, ally); } } /// <summary> /// The Smite Logics. /// </summary> if (Vars.Smite.IsReady() && Vars.Smite.Slot != SpellSlot.Unknown) { if (!Vars.getKeyBindItem(Vars.KeysMenu, "smite")) { return; } /// <summary> /// The Combo Smite Logic. /// </summary> if (Vars.getCheckBoxItem(Vars.SmiteMiscMenu, "combo")) { if (Orbwalker.LastTarget as AIHeroClient != null) { Vars.Smite.CastOnUnit(Orbwalker.LastTarget as AIHeroClient); } } /// <summary> /// The Killsteal Smite Logic. /// </summary> if (Vars.getCheckBoxItem(Vars.SmiteMiscMenu, "killsteal")) { if (GameObjects.Player.HasBuff("smitedamagetrackerstalker") || GameObjects.Player.HasBuff("smitedamagetrackerskirmisher")) { if (Vars.getCheckBoxItem(Vars.SmiteMiscMenu, "stacks")) { if (GameObjects.Player.Spellbook.GetSpell(Vars.Smite.Slot).Ammo == 1) { return; } } foreach (var target in GameObjects.EnemyHeroes.Where(t => t.LSIsValidTarget(Vars.Smite.Range))) { if (Vars.GetChallengingSmiteDamage > target.Health && GameObjects.Player.HasBuff("smitedamagetrackerstalker")) { Vars.Smite.CastOnUnit(target); } else if (Vars.GetChallengingSmiteDamage > target.Health && GameObjects.Player.HasBuff("smitedamagetrackerskirmisher")) { Vars.Smite.CastOnUnit(target); } } } } /// <summary> /// The Jungle Smite Logic. /// </summary> foreach (var minion in Targets.JungleMinions.Where( m => m.LSIsValidTarget(Vars.Smite.Range))) //Vars.Menu["smite"]["whitelist"][m.CharData.BaseSkinName.ToLower()].GetValue<MenuBool>().Value)) { if (minion.Health > GameObjects.Player.GetBuffCount(GameObjects.Player.Buffs.FirstOrDefault( b => b.Name.ToLower().Contains("smitedamagetracker")).Name)) { return; } if (Vars.getCheckBoxItem(Vars.SmiteMiscMenu, "limit")) { if (!minion.CharData.BaseSkinName.Equals("SRU_Baron") && !minion.CharData.BaseSkinName.Equals("SRU_RiftHerald") && !minion.CharData.BaseSkinName.Contains("SRU_Dragon")) { return; } } if (Vars.getCheckBoxItem(Vars.SmiteMiscMenu, "stacks")) { if (GameObjects.Player.Spellbook.GetSpell(Vars.Smite.Slot).Ammo == 1) { if (!minion.CharData.BaseSkinName.Equals("SRU_Baron") && !minion.CharData.BaseSkinName.Equals("SRU_RiftHerald") && !minion.CharData.BaseSkinName.Contains("SRU_Dragon")) { return; } } } Vars.Smite.CastOnUnit(minion); } } if (!Targets.Target.LSIsValidTarget()) { return; } /// <summary> /// The Exhaust Logic. /// </summary> if (SpellSlots.Exhaust.IsReady()) { foreach (var ally in GameObjects.AllyHeroes.Where( a => a.Distance(Targets.Target) <= 650f && Health.GetPrediction(a, (int)(1000 + Game.Ping / 2f)) <= a.MaxHealth / 6)) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Exhaust, Targets.Target); } } }
/// <summary> /// Called when the game updates itself. /// </summary> /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param> public static void Spells(EventArgs args) { if (!Vars.TypesMenu["spells"].Cast <CheckBox>().CurrentValue) { return; } /// <summary> /// The Remove Scurvy Logic. /// </summary> if (GameObjects.Player.ChampionName.Equals("Gangplank")) { if (Vars.W.IsReady() && Bools.ShouldCleanse(GameObjects.Player)) { DelayAction.Add( Vars.TypesMenu["cleansers"].Cast <Slider>().CurrentValue, () => { Vars.W.Cast(); }); } } /// <summary> /// The Cleanse Logic. /// </summary> if (SpellSlots.Cleanse.IsReady()) { if (Bools.ShouldCleanse(GameObjects.Player)) { DelayAction.Add( Vars.TypesMenu["cleansers"].Cast <Slider>().CurrentValue, () => { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Cleanse); }); } } /// <summary> /// The Clarity Logic. /// </summary> if (SpellSlots.Clarity.IsReady()) { if (GameObjects.AllyHeroes.Count(a => a.ManaPercent <= 60) >= 3) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Clarity); } } /// <summary> /// The Ignite Logic. /// </summary> if (SpellSlots.Ignite.IsReady()) { foreach (var target in GameObjects.EnemyHeroes.Where(t => t.LSIsValidTarget(600f))) { if (Vars.GetIgniteDamage > target.Health || Health.GetPrediction(target, (int)(1000 + Game.Ping / 2f)) <= 0) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Ignite, target); } } } /// <summary> /// The Barrier Logic. /// </summary> if (SpellSlots.Barrier.IsReady()) { if (GameObjects.Player.CountEnemyHeroesInRange(700f) > 0 && Health.GetPrediction(GameObjects.Player, (int)(1000 + Game.Ping / 2f)) <= GameObjects.Player.MaxHealth / 6) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Barrier); return; } } /// <summary> /// The Heal Logic. /// </summary> if (SpellSlots.Heal.IsReady()) { if (GameObjects.Player.CountEnemyHeroesInRange(850f) > 0 && Health.GetPrediction(GameObjects.Player, (int)(1000 + Game.Ping / 2f)) <= GameObjects.Player.MaxHealth / 6) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Heal); } else if (Vars.TypesMenu["heal1"].Cast <CheckBox>().CurrentValue) { foreach (var ally in GameObjects.AllyHeroes.Where( a => a.LSIsValidTarget(850f, false) && a.CountEnemyHeroesInRange(850f) > 0 && Health.GetPrediction(a, (int)(1000 + Game.Ping / 2f)) <= a.MaxHealth / 6)) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Heal, ally); } } } /// <summary> /// The Smite Logics. /// </summary> if (Vars.Smite.IsReady() && Vars.Smite.Slot != SpellSlot.Unknown) { if (!Vars.KeysMenu["smite"].Cast <KeyBind>().CurrentValue) { return; } /// <summary> /// The Combo Smite Logic. /// </summary> if (Vars.SmiteMiscMenu["combo"].Cast <CheckBox>().CurrentValue) { if (Orbwalker.LastTarget as AIHeroClient != null) { Vars.Smite.CastOnUnit(Orbwalker.LastTarget as AIHeroClient); } } /// <summary> /// The Killsteal Smite Logic. /// </summary> if (Vars.SmiteMiscMenu["killsteal"].Cast <CheckBox>().CurrentValue) { if (GameObjects.Player.HasBuff("smitedamagetrackerstalker") || GameObjects.Player.HasBuff("smitedamagetrackerskirmisher")) { if (Vars.SmiteMiscMenu["stacks"].Cast <CheckBox>().CurrentValue) { if (GameObjects.Player.Spellbook.GetSpell(Vars.Smite.Slot).Ammo == 1) { return; } } foreach (var target in GameObjects.EnemyHeroes.Where(t => t.LSIsValidTarget(Vars.Smite.Range))) { if (Vars.GetChallengingSmiteDamage > target.Health && GameObjects.Player.HasBuff("smitedamagetrackerstalker")) { Vars.Smite.CastOnUnit(target); } else if (Vars.GetChallengingSmiteDamage > target.Health && GameObjects.Player.HasBuff("smitedamagetrackerskirmisher")) { Vars.Smite.CastOnUnit(target); } } } } } if (!Targets.Target.LSIsValidTarget()) { return; } /// <summary> /// The Exhaust Logic. /// </summary> if (SpellSlots.Exhaust.IsReady()) { foreach (var ally in GameObjects.AllyHeroes.Where( a => ObjectManager.Player.Distance(Targets.Target) <= 650f && Health.GetPrediction(a, (int)(1000 + Game.Ping / 2f)) <= a.MaxHealth / 6)) { GameObjects.Player.Spellbook.CastSpell(SpellSlots.Exhaust, Targets.Target); } } }
public static void Execute(EventArgs args) { if (Bools.ShouldUseCleanser() || (Bools.ShouldUseCleanse(ObjectManager.Player) && !Bools.IsSpellAvailable(SpellSlots.Cleanse))) { /// <summary> /// The Dervish Blade. /// </summary> if (ItemData.Dervish_Blade.GetItem().IsReady()) { Utility.DelayAction.Add( Bools.HasZedMark(ObjectManager.Player) ? 1500 : Bools.MustRandomize() ? WeightedRandom.Next(100, 200) : 0, () => { ItemData.Dervish_Blade.GetItem().Cast(); return; } ); } /// <summary> /// The Mercurial Scimitar. /// </summary> if (ItemData.Mercurial_Scimitar.GetItem().IsReady()) { Utility.DelayAction.Add( Bools.HasZedMark(ObjectManager.Player) ? 1500 : Bools.MustRandomize() ? WeightedRandom.Next(100, 200) : 0, () => { ItemData.Mercurial_Scimitar.GetItem().Cast(); return; } ); } /// <summary> /// The Quicksilver Sash. /// </summary> if (ItemData.Quicksilver_Sash.GetItem().IsReady()) { Utility.DelayAction.Add( Bools.HasZedMark(ObjectManager.Player) ? 1500 : Bools.MustRandomize() ? WeightedRandom.Next(100, 200) : 0, () => { ItemData.Quicksilver_Sash.GetItem().Cast(); return; } ); } /// <summary> /// The Mikaels Crucible. /// </summary> if (ItemData.Mikaels_Crucible.GetItem().IsReady()) { foreach (var Ally in HeroManager.Allies .Where( h => h.IsValidTarget(750f, false) && Bools.ShouldUseCleanse(h) && Bools.HasNoProtection(h))) { Utility.DelayAction.Add( Bools.MustRandomize() ? WeightedRandom.Next(100, 200) : 0, () => { ItemData.Mikaels_Crucible.GetItem().Cast(Ally); return; } ); } } } }