Exemplo n.º 1
0
        private static void Obj_AI_Base_OnBuffGain(Obj_AI_Base sender, Obj_AI_BaseBuffGainEventArgs args)
        {
            if (sender.IsEnemy)
            {
                return;
            }

            var delay = CleansersMenu.GetSliderValue("delayCleanse");

            if (PlayerHasCleanse && Player.Instance.HasCC() && CleansersMenu.GetCheckBoxValue("check" + "cleanse"))
            {
                Core.DelayAction(() => Cleanse.Cast(), delay);
            }

            var itemCleanse =
                Cleansers.CleansersItems.FirstOrDefault(
                    i => i.IsReady() && i.IsOwned() && CleansersMenu.GetCheckBoxValue("check" + (int)i.Id));

            if (itemCleanse != null)
            {
                if (itemCleanse.Id == ItemId.Mikaels_Crucible)
                {
                    var ally = EntityManager.Heroes.Allies.FirstOrDefault(a => a.HasCC());
                    if (ally != null)
                    {
                        Core.DelayAction(() => itemCleanse.Cast(ally), delay);
                    }
                }

                if (Player.Instance.HasCC())
                {
                    Core.DelayAction(() => itemCleanse.Cast(), delay);
                }
            }
        }
Exemplo n.º 2
0
        private static void Obj_AI_Base_OnBuffGain(Obj_AI_Base sender, Obj_AI_BaseBuffGainEventArgs args)
        {
            if (!Common.Misc.Extensions.CCbuffs.Contains(args.Buff.Type) || !Summs.menu.CheckBoxValue("Cleanse"))
            {
                return;
            }

            if (!sender.IsMe || !Cleanse.IsReady() || !Summs.menu.CheckBoxValue(args.Buff.Type.ToString()) || Player.Instance.HealthPercent > Summs.menu.SliderValue("CleanseHP"))
            {
                return;
            }

            Core.DelayAction(() => Cleanse.Cast(), new Random().Next(Summs.menu.SliderValue("CleanseMin"), Summs.menu.SliderValue("CleanseMax")));
        }
Exemplo n.º 3
0
        public static void CleanseOnTick()
        {
            var delay = CleansersMenu.GetSliderValue("delayCleanse");
            //Item
            var itemCleanse =
                Cleansers.CleansersItems.FirstOrDefault(
                    i => i.IsReady() && i.IsOwned() && CleansersMenu.GetCheckBoxValue("check" + (int)i.Id));

            if (itemCleanse == null)
            {
                return;
            }

            if (itemCleanse.Id == ItemId.Mikaels_Crucible)
            {
                var ally = EntityManager.Heroes.Allies.FirstOrDefault(a => a.HasCC());
                if (ally == null)
                {
                    return;
                }

                Core.DelayAction(() => itemCleanse.Cast(ally), delay);
                return;
            }
            if (Player.Instance.HasCC())
            {
                Core.DelayAction(() => itemCleanse.Cast(), delay);
                return;
            }

            //SummonerSpell
            if (!PlayerHasCleanse)
            {
                return;
            }

            if (Player.Instance.HasCC() && CleansersMenu.GetCheckBoxValue("check" + "cleanse"))
            {
                Core.DelayAction(() => Cleanse.Cast(), delay);
            }
        }
Exemplo n.º 4
0
        public static void Execute()
        {
            #region Ignite

            if (Ignite != null && Ignite.IsReady())
            {
                var ignitableEnemies =
                    EntityManager.Heroes.Enemies.Where(
                        t =>
                        t.IsValidTarget(Ignite.Range) && !t.HasUndyingBuff() &&
                        CalculateDamage(t, false, false, false, false, true) >= t.Health);
                var igniteEnemy = TargetSelector.GetTarget(ignitableEnemies, DamageType.True);

                if (igniteEnemy != null)
                {
                    if (Ignite != null && UseIgnite)
                    {
                        if (Ignite.IsInRange(igniteEnemy))
                        {
                            Ignite.Cast(igniteEnemy);
                        }
                    }
                }
            }

            #endregion ignite

            #region heal

            if (Heal != null)
            {
                if (UseHeal && Heal.IsReady())
                {
                    if (Player.Instance.HealthPercent <= UseHealheal)
                    {
                        Heal.Cast();
                    }
                }
            }

            #endregion heal

            #region Zhonyas

            if (UseZhonyas && Zhonyas.IsReady())
            {
                if (Player.Instance.HealthPercent <= UseZhonyaheal)
                {
                    Zhonyas.Cast();
                }
            }

            #endregion Zhonyas

            #region cleanse

            if (Cleanse != null)
            {
                if (UseCleanse && Cleanse.IsReady())
                {
                    if (Player.Instance.IsDead || Player.Instance.IsInvulnerable || !Player.Instance.IsTargetable || Player.Instance.IsZombie || Player.Instance.IsInShopRange())
                    {
                        return;
                    }
                    if (Player.HasBuff("PoppyDiplomaticImmunity") || Player.HasBuff("MordekaiserChildrenOfTheGrave") || Player.HasBuff("FizzMarinerDoom") || Player.HasBuff("VladimirHemoplague") ||
                        Player.HasBuff("zedulttargetmark") || Player.HasBuff("AlZaharNetherGrasp") || Player.HasBuffOfType(BuffType.Suppression) || Player.HasBuffOfType(BuffType.Charm) || Player.HasBuffOfType(BuffType.Flee) || Player.HasBuffOfType(BuffType.Blind) ||
                        Player.HasBuffOfType(BuffType.Polymorph) || Player.HasBuffOfType(BuffType.Snare) || Player.HasBuffOfType(BuffType.Stun) || Player.HasBuffOfType(BuffType.Taunt))
                    {
                        Core.DelayAction(() => Cleanse.Cast(), 110);
                    }
                }
            }

            #endregion cleanse

            #region Qss

            if (UseQss)
            {
                if (Player.Instance.IsDead || Player.Instance.IsInvulnerable || !Player.Instance.IsTargetable || Player.Instance.IsZombie || Player.Instance.IsInShopRange())
                {
                    return;
                }
                InventorySlot[] inv = Player.Instance.InventoryItems;
                foreach (var item in inv)
                {
                    if ((item.Id == ItemId.Quicksilver_Sash || item.Id == ItemId.Mercurial_Scimitar) && item.CanUseItem() && Player.Instance.CountEnemiesInRange(700) > 0)
                    {
                        if (Player.HasBuff("PoppyDiplomaticImmunity") || Player.HasBuff("MordekaiserChildrenOfTheGrave") || Player.HasBuff("FizzMarinerDoom") || Player.HasBuff("VladimirHemoplague") ||
                            Player.HasBuff("zedulttargetmark") || Player.HasBuff("AlZaharNetherGrasp") || Player.HasBuffOfType(BuffType.Suppression) || Player.HasBuffOfType(BuffType.Charm) || Player.HasBuffOfType(BuffType.Flee) || Player.HasBuffOfType(BuffType.Blind) ||
                            Player.HasBuffOfType(BuffType.Polymorph) || Player.HasBuffOfType(BuffType.Snare) || Player.HasBuffOfType(BuffType.Stun) || Player.HasBuffOfType(BuffType.Taunt))
                        {
                            Core.DelayAction(() => item.Cast(), 110);
                        }
                    }
                }
            }

            #endregion Qss

            #region potions

            if (UsePotions && !Player.Instance.IsInShopRange() && Player.Instance.HealthPercent <= UsePotionsheal)
            {
                if (!(Player.Instance.HasBuff("RegenerationPotion") || Player.Instance.HasBuff("ItemCrystalFlaskJungle") || Player.Instance.HasBuff("ItemMiniRegenPotion") || Player.Instance.HasBuff("ItemCrystalFlask") || Player.Instance.HasBuff("ItemDarkCrystalFlask")))
                {
                    InventorySlot[] inv = Player.Instance.InventoryItems;
                    foreach (var item in inv)
                    {
                        if ((item.Id == ItemId.Health_Potion || item.Id == ItemId.Hunters_Potion || item.Id == ItemId.Corrupting_Potion || item.Id == ItemId.Refillable_Potion || item.Id == ItemId.Total_Biscuit_of_Rejuvenation) && item.CanUseItem())
                        {
                            item.Cast();
                        }
                    }
                }
            }

            #endregion potions

            #region Yomuu & Bortk

            var target = TargetSelector.GetTarget(550, DamageType.Physical); // 550 = Botrk.Range
            if (target != null)
            {
                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && UseYoumuu && Youmuu.IsOwned() && Youmuu.IsReady())
                {
                    Youmuu.Cast();
                }
                if (UseBotrk && Cutlass.IsOwned() && Cutlass.IsReady() &&
                    Player.Instance.HealthPercent < MinHPBotrk &&
                    target.HealthPercent < EnemyMinHPBotrk)
                {
                    Cutlass.Cast(target);
                }
                if (UseBotrk && Botrk.IsOwned() && Botrk.IsReady() &&
                    Player.Instance.HealthPercent < MinHPBotrk &&
                    target.HealthPercent < EnemyMinHPBotrk)
                {
                    Botrk.Cast(target);
                }
            }

            #endregion Yomuu & Bortk

            #region Hextech

            var targetHextech = TargetSelector.GetTarget(600, DamageType.Magical);
            if (targetHextech != null)
            {
                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && UseHextech && Gunblade.IsOwned() && Gunblade.IsReady())
                {
                    Gunblade.Cast(targetHextech);
                }
                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && UseHextech && ProtoBelt.IsOwned() && ProtoBelt.IsReady())
                {
                    ProtoBelt.Cast(targetHextech.ServerPosition);
                }
                if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && UseHextech && GLP.IsOwned() && GLP.IsReady())
                {
                    GLP.Cast(targetHextech.ServerPosition);
                }
            }

            #endregion Hextech
        }