Beispiel #1
0
        public bool CanChooseSpecialAbility(SpecialAbility[] list)
        {
            if (!Creature.Controlled)
            {
                return(true);
            }

            if (HasSpecialMagicalAbility() &&
                list.Any(abil => IsRuleBreaker(abil)) &&
                (AreaEffects == null || AreaEffects.Length == 0) &&
                (SpecialAbilities == null || SpecialAbilities.Length == 0 || SpecialAbilities.All(a => a.NaturalAbility)))
            {
                return(true);
            }

            return(!HasSpecialMagicalAbility() && (SpecialAbilities == null || SpecialAbilities.Where(a => !a.NaturalAbility).Count() == 0) && AbilityCount() < 3);
        }