コード例 #1
0
        private bool IsItemIgnored(IEnumerable <Ability9> currentItems, AbilityId itemId)
        {
            if (!itemId.CanBePurchased(this.owner.Team))
            {
                return(true);
            }

            switch (itemId)
            {
            case AbilityId.item_energy_booster:
            {
                if (currentItems.Any(x => x.Id == AbilityId.item_arcane_boots))
                {
                    return(true);
                }

                break;
            }

            case AbilityId.item_tome_of_knowledge:
            {
                if (this.owner.Hero.Level >= GameData.MaxHeroLevel)
                {
                    return(true);
                }

                break;
            }
            }

            return(false);
        }
コード例 #2
0
        private bool IsItemIgnored(Ability9[] currentItems, AbilityId itemId)
        {
            if (!itemId.CanBePurchased(this.owner.Team))
            {
                return(true);
            }

            switch (itemId)
            {
            case AbilityId.item_clarity:
            case AbilityId.item_tango:
            case AbilityId.item_flask:
            case AbilityId.item_enchanted_mango:
            {
                if (GameManager.GameTime > 10 * 60)
                {
                    return(true);
                }

                break;
            }

            case AbilityId.item_tpscroll:
                if (GetItemCharges(currentItems, itemId) >= 2)
                {
                    return(true);
                }

                break;

            case AbilityId.item_dust:
                if (GetItemCharges(currentItems, itemId) >= 2 ||
                    !EntityManager9.Abilities.Any(x => x.IsInvisibility && !x.Owner.IsAlly(this.owner)))
                {
                    return(true);
                }

                break;

            //   case AbilityId.item_ward_observer:
            case AbilityId.item_ward_sentry:
                if (GetWardCharges(currentItems, itemId) >= 2)
                {
                    return(true);
                }

                break;

            case AbilityId.item_energy_booster:
                if (currentItems.Any(x => x.Id == AbilityId.item_arcane_boots))
                {
                    return(true);
                }

                break;

            case AbilityId.item_smoke_of_deceit:
                if (GetItemCharges(currentItems, itemId) >= 1)
                {
                    return(true);
                }

                break;

            case AbilityId.item_tome_of_knowledge:
                if (this.owner.Hero.Level >= GameData.MaxHeroLevel)
                {
                    return(true);
                }

                break;
            }

            return(false);
        }