Beispiel #1
0
        private bool CanBeActivatedAtThisTime()
        {
            if (OwningCard.Zone != _p.ActivationZone)
            {
                return(false);
            }

            if (_p.ActivateOnlyOnceEachTurn && _lastActivation.Value == Turn.TurnCount)
            {
                return(false);
            }

            if (!_p.Condition(OwningCard, Game))
            {
                return(false);
            }

            if (OwningCard.Is().Planeswalker&& Turn.Events.HasAnyLoyalityAbilityBeenActivated(OwningCard))
            {
                return(false);
            }

            if (_p.ActivateAsSorcery)
            {
                return(Turn.Step.IsMain() &&
                       OwningCard.Controller.IsActive &&
                       Stack.IsEmpty);
            }

            return(true);
        }