예제 #1
0
 public static string GetComboBoxText(this Menu self, string text)
 {
     return(MenuHandler.GetComboBoxText(self, text));
 }
예제 #2
0
 public static bool GetCheckboxValue(this Menu self, string text)
 {
     return(MenuHandler.GetCheckboxValue(self, text));
 }
예제 #3
0
 public static int GetSliderValue(this Menu self, string text)
 {
     return(MenuHandler.GetSliderValue(self, text));
 }
예제 #4
0
        public static void UseItems(List <Obj_AI_Base> enemies, bool ks)
        {
            #region Item Initialization
            InventorySlot QSS = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Quick Silver Sash")) ? Camille.GetItem(ItemId.Quicksilver_Sash) : null,
                          MercurialsScimitar = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Mercurials Scimitar")) ? Camille.GetItem(ItemId.Mercurial_Scimitar) : null,
                          RavenousHydra      = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Ravenous Hydra")) ? Camille.GetItem(ItemId.Ravenous_Hydra) : null,
                          TitanicHydra       = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Titanic Hydra")) ? Camille.GetItem(ItemId.Titanic_Hydra) : null,
                          Tiamat             = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Tiamat")) ? Camille.GetItem(ItemId.Tiamat) : null,
                          Youmuus            = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Youmuus")) ? Camille.GetItem(ItemId.Youmuus_Ghostblade) : null,
                          BOTRK             = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Blade of the Ruined King")) ? Camille.GetItem(ItemId.Blade_of_the_Ruined_King) : null,
                          BilgewaterCutlass = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Bilgewater Cutlass")) ? Camille.GetItem(ItemId.Bilgewater_Cutlass) : null,
                          HextechGunblade   = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Hextech Gunblade")) ? Camille.GetItem(ItemId.Hextech_Gunblade) : null;
            #endregion

            #region QSS
            if (!hasDoneActionThisTick &&
                QSS.MeetsCriteria() &&
                (Camille.HasBuffOfType(BuffType.Blind) ||
                 Camille.HasBuffOfType(BuffType.Charm) ||
                 Camille.HasBuffOfType(BuffType.Fear) ||
                 Camille.HasBuffOfType(BuffType.Knockback) ||
                 Camille.HasBuffOfType(BuffType.Silence) ||
                 Camille.HasBuffOfType(BuffType.Snare) ||
                 Camille.HasBuffOfType(BuffType.Stun) ||
                 Camille.HasBuffOfType(BuffType.Taunt))
                //not being knocked back by dragon
                && !Camille.HasBuff("moveawaycollision")
                //not standing on raka silence
                && !Camille.HasBuff("sorakaepacify"))
            {
                hasDoneActionThisTick = QSS.Cast();
            }
            #endregion

            #region Mercurials Scimitar
            if (!hasDoneActionThisTick &&
                MercurialsScimitar.MeetsCriteria() &&
                (Camille.HasBuffOfType(BuffType.Blind) ||
                 Camille.HasBuffOfType(BuffType.Charm) ||
                 Camille.HasBuffOfType(BuffType.Fear) ||
                 Camille.HasBuffOfType(BuffType.Knockback) ||
                 Camille.HasBuffOfType(BuffType.Silence) ||
                 Camille.HasBuffOfType(BuffType.Snare) ||
                 Camille.HasBuffOfType(BuffType.Stun) ||
                 Camille.HasBuffOfType(BuffType.Taunt))
                //not being knocked back by dragon
                && !Camille.HasBuff("moveawaycollision")
                //not standing on raka silence
                && !Camille.HasBuff("sorakaepacify"))
            {
                hasDoneActionThisTick = MercurialsScimitar.Cast();
            }
            #endregion

            #region Ravenous Hydra
            if (!hasDoneActionThisTick &&
                RavenousHydra.MeetsCriteria() &&
                Camille.IsAutoCanceling(enemies) &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Camille, a, ItemId.Ravenous_Hydra)).FirstOrDefault() != null) &&
                (
                    enemies.Where(a => a.Type == GameObjectType.AIHeroClient && a.IsInRange(Camille, 400)).Count() >= MenuHandler.Items.GetSliderValue("Champions to use Tiamat/Ravenous Hydra on") ||
                    enemies.Where(a => a.Type != GameObjectType.AIHeroClient && a.IsInRange(Camille, 400)).Count() >= MenuHandler.Items.GetSliderValue("Minions to use Tiamat/Ravenous Hydra on")))
            {
                hasDoneActionThisTick = RavenousHydra.Cast();
            }
            #endregion

            #region Titanic Hydra
            if (!hasDoneActionThisTick &&
                TitanicHydra.MeetsCriteria() &&
                enemies.Where(a => a.IsInRange(Camille, Camille.GetAutoAttackRange())).FirstOrDefault() != null &&
                Camille.IsAutoCanceling(enemies) &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Camille, a, ItemId.Titanic_Hydra)).FirstOrDefault() != null))
            {
                hasDoneActionThisTick = TitanicHydra.Cast();
            }
            #endregion

            #region Tiamat
            if (!hasDoneActionThisTick &&
                Tiamat.MeetsCriteria() &&
                Camille.IsAutoCanceling(enemies) &&
                enemies.Where(a => a.IsInRange(Camille, 400)).FirstOrDefault() != null &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Camille, a, ItemId.Tiamat)).FirstOrDefault() != null) &&
                (
                    enemies.Where(a => a.Type == GameObjectType.AIHeroClient && a.IsInRange(Camille, 400)).Count() >= MenuHandler.Items.GetSliderValue("Champions to use Tiamat/Ravenous Hydra on") ||
                    enemies.Where(a => a.Type != GameObjectType.AIHeroClient && a.IsInRange(Camille, 400)).Count() >= MenuHandler.Items.GetSliderValue("Minions to use Tiamat/Ravenous Hydra on")))
            {
                hasDoneActionThisTick = Tiamat.Cast();
            }
            #endregion

            #region Youmuus
            if (!hasDoneActionThisTick &&
                Youmuus.MeetsCriteria() &&
                Camille.CountEnemyHeroesInRangeWithPrediction((int)Camille.GetAutoAttackRange(), 0) >= 1)
            {
                hasDoneActionThisTick = Youmuus.Cast();
            }
            #endregion

            //all targeted spells that must be used on champions must be called after this
            enemies = enemies.Where(a => a.Type == GameObjectType.AIHeroClient).ToList();
            var target = enemies.OrderBy(a => a.Health).FirstOrDefault();

            #region Hextech Gunblade
            if (!hasDoneActionThisTick &&
                target != null &&
                HextechGunblade.MeetsCriteria() &&
                enemies.Where(a => a.IsInRange(Camille, 700)).FirstOrDefault() != null &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Camille, a, ItemId.Hextech_Gunblade)).FirstOrDefault() != null))
            {
                hasDoneActionThisTick = HextechGunblade.Cast(target);
            }
            #endregion

            #region BOTRK
            if (!hasDoneActionThisTick &&
                target != null &&
                BOTRK.MeetsCriteria() &&
                enemies.Where(a => a.IsInRange(Camille, 550)).FirstOrDefault() != null &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Camille, a, ItemId.Blade_of_the_Ruined_King)).FirstOrDefault() != null))
            {
                hasDoneActionThisTick = BOTRK.Cast(target);
            }
            #endregion

            #region Bilgewater Cutlass
            if (!hasDoneActionThisTick &&
                target != null &&
                BilgewaterCutlass.MeetsCriteria() &&
                enemies.Where(a => a.IsInRange(Camille, 550)).FirstOrDefault() != null &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Camille, a, ItemId.Bilgewater_Cutlass)).FirstOrDefault() != null))
            {
                hasDoneActionThisTick = BilgewaterCutlass.Cast(target);
            }
            #endregion
        }