private void TriggerOtherEffects(IEncounterCard card)
 {
     foreach (var effect in card.Text.Effects.Where(x => x is IRevealedEffect && !(x is IWhenRevealedEffect)))
     {
         var handle = effect.GetHandle(Game);
         Game.TriggerEffect(handle);
     }
 }
Beispiel #2
0
            private void PutEncounterCardOnBottomOfDeck(IGame game, IEffectHandle handle, IPlayer player, IExhaustableInPlay denethor, IEncounterCard encounterCard)
            {
                denethor.Exhaust();

                game.StagingArea.EncounterDeck.RemoveFromDeck(encounterCard);
                game.StagingArea.EncounterDeck.PutOnBottom(new List<IEncounterCard> { encounterCard });
                
                handle.Resolve(string.Format("{0} chose to put '{1}' on the bottom of the encounter deck", player.Name, encounterCard.Title));
            }
        public EncounterCardViewModel(Dispatcher dispatcher, IEncounterCard card)
            : base(dispatcher)
        {
            if (card == null)
                throw new ArgumentNullException("card");

            this.card = card;
            this.cardFrontImageSource = string.Format("pack://application:,,,/Images/{0}_{1}.jpg", card.CardSet, card.CardNumber);
        }
Beispiel #4
0
        public EncounterCardViewModel(Dispatcher dispatcher, IEncounterCard card)
            : base(dispatcher)
        {
            if (card == null)
            {
                throw new ArgumentNullException("card");
            }

            this.card = card;
            this.cardFrontImageSource = string.Format("pack://application:,,,/Images/{0}_{1}.jpg", card.CardSet, card.CardNumber);
        }
 private IEncounterInPlay GetRevealedEncounterCard(IEncounterCard card)
 {
     if (card is IEnemyCard)
     {
         return(new EnemyInPlay(Game, card as IEnemyCard));
     }
     else if (card is ILocationCard)
     {
         return(new LocationInPlay(Game, card as ILocationCard));
     }
     else if (card is IObjectiveCard)
     {
         return(new UnclaimedObjectiveInPlay(Game, card as IObjectiveCard));
     }
     else if (card is ITreacheryCard)
     {
         return(new TreacheryInPlay(Game, card as ITreacheryCard));
     }
     else
     {
         throw new ArgumentException("card is not a valid encounter card");
     }
 }
        public void AddToStagingArea(IEncounterCard card)
        {
            if (card == null)
            {
                throw new ArgumentNullException("card");
            }

            IEncounterInPlay encounterInPlay = null;

            if (card is IEnemyCard)
            {
                encounterInPlay = new EnemyInPlay(Game, card as IEnemyCard);
            }
            else if (card is ILocationCard)
            {
                encounterInPlay = new LocationInPlay(Game, card as ILocationCard);
            }
            else if (card is IObjectiveCard)
            {
                encounterInPlay = new UnclaimedObjectiveInPlay(Game, card as IObjectiveCard);
            }

            AddToStagingArea(encounterInPlay);
        }
Beispiel #7
0
            private void PutEncounterCardBackOnTopOfDeck(IGame game, IEffectHandle handle, IPlayer player, IExhaustableInPlay denethor, IEncounterCard encounterCard)
            {
                denethor.Exhaust();

                handle.Resolve(string.Format("{0} chose to put '{1}' back on the top of the encounter deck", player.Name, encounterCard.Title));
            }
Beispiel #8
0
            private void PutEncounterCardBackOnTopOfDeck(IGame game, IEffectHandle handle, IPlayer player, IExhaustableInPlay denethor, IEncounterCard encounterCard)
            {
                denethor.Exhaust();

                handle.Resolve(string.Format("{0} chose to put '{1}' back on the top of the encounter deck", player.Name, encounterCard.Title));
            }
 private IEncounterInPlay GetRevealedEncounterCard(IEncounterCard card)
 {
     if (card is IEnemyCard)
     {
         return new EnemyInPlay(Game, card as IEnemyCard);
     }
     else if (card is ILocationCard)
     {
         return new LocationInPlay(Game, card as ILocationCard);
     }
     else if (card is IObjectiveCard)
     {
         return new UnclaimedObjectiveInPlay(Game, card as IObjectiveCard);
     }
     else if (card is ITreacheryCard)
     {
         return new TreacheryInPlay(Game, card as ITreacheryCard);
     }
     else throw new ArgumentException("card is not a valid encounter card");
 }
        public void AddToStagingArea(IEncounterCard card)
        {
            if (card == null)
                throw new ArgumentNullException("card");

            IEncounterInPlay encounterInPlay = null;

            if (card is IEnemyCard)
            {
                encounterInPlay = new EnemyInPlay(Game, card as IEnemyCard);
            }
            else if (card is ILocationCard)
            {
                encounterInPlay = new LocationInPlay(Game, card as ILocationCard);
            }
            else if (card is IObjectiveCard)
            {
                encounterInPlay = new UnclaimedObjectiveInPlay(Game, card as IObjectiveCard);
            }

            AddToStagingArea(encounterInPlay);
        }
Beispiel #11
0
 public DoomedEffect(IEncounterCard source, byte doomed)
     : base(GetType(doomed), GetText(doomed), source)
 {
     this.Doomed = doomed;
 }
 public SurgeEffect(IEncounterCard source)
     : base("Surge", "Reveal 1 additional card from the encounter deck", source)
 {
 }
 public SurgeEffect(IEncounterCard source)
     : base("Surge", "Reveal 1 additional card from the encounter deck", source)
 {
 }
 public void Put(IEncounterCard encounterCard)
 {
 }
Beispiel #15
0
            private void PutEncounterCardOnBottomOfDeck(IGame game, IEffectHandle handle, IPlayer player, IExhaustableInPlay denethor, IEncounterCard encounterCard)
            {
                denethor.Exhaust();

                game.StagingArea.EncounterDeck.RemoveFromDeck(encounterCard);
                game.StagingArea.EncounterDeck.PutOnBottom(new List <IEncounterCard> {
                    encounterCard
                });

                handle.Resolve(string.Format("{0} chose to put '{1}' on the bottom of the encounter deck", player.Name, encounterCard.Title));
            }
 public DoomedEffect(IEncounterCard source, byte doomed)
     : base(GetType(doomed), GetText(doomed), source)
 {
     this.Doomed = doomed;
 }
 private void TriggerOtherEffects(IEncounterCard card)
 {
     foreach (var effect in card.Text.Effects.Where(x => x is IRevealedEffect  && !(x is IWhenRevealedEffect)))
     {
         var handle = effect.GetHandle(Game);
         Game.TriggerEffect(handle);
     }
 }