Example #1
0
        public void CommitCharacterToQuest(IWillpowerfulInPlay character)
        {
            if (character == null)
            {
                throw new ArgumentNullException("character");
            }

            var player = character.GetController(Game);

            if (player == null)
            {
                return;
            }

            if (!committedToQuest.ContainsKey(player.StateId))
            {
                committedToQuest.Add(player.StateId, new List <IWillpowerfulInPlay> {
                    character
                });
            }
            else
            {
                committedToQuest[player.StateId].Add(character);
            }

            exhaustsToQuest[character.Card.Id] = true;
        }
Example #2
0
        public void RemoveCharacterFromQuest(IWillpowerfulInPlay character)
        {
            if (character == null)
            {
                throw new ArgumentNullException("character");
            }

            foreach (var pair in committedToQuest)
            {
                var match = pair.Value.Where(x => x.Card.Id == character.Card.Id).FirstOrDefault();
                if (match != null)
                {
                    pair.Value.Remove(character);
                    return;
                }
            }

            if (exhaustsToQuest.ContainsKey(character.Card.Id))
            {
                exhaustsToQuest.Remove(character.Card.Id);
            }
        }
Example #3
0
            private void RemoveCharacterFromQuest(IGame game, IEffectHandle handle, IWillpowerfulInPlay character, IPlayer player, IQuestPhase questPhase)
            {
                questPhase.RemoveCharacterFromQuest(character);

                handle.Resolve(string.Format("{0} chose to remove '{1}' from the quest because of '{2}'", player.Name, character.Title, CardSource.Title));
            }
        private void CommitCharacterToTheQuest(IGame game, IEffectHandle handle, IWillpowerfulInPlay character)
        {
            questPhase.CommitCharacterToQuest(character);

            handle.Resolve(string.Format("{0} chose to commit '{1}' to the quest", player.Name, character.Title));
        }
Example #5
0
 public DetermineWillpower(IGame game, IWillpowerfulInPlay quester)
     : base(game)
 {
     this.Quester   = quester;
     this.willpower = quester.Card.PrintedWillpower;
 }
 public DetermineWillpower(IGame game, IWillpowerfulInPlay quester)
     : base(game)
 {
     this.Quester = quester;
     this.willpower = quester.Card.PrintedWillpower;
 }
            private void RemoveCharacterFromQuest(IGame game, IEffectHandle handle, IWillpowerfulInPlay character, IPlayer player, IQuestPhase questPhase)
            {
                questPhase.RemoveCharacterFromQuest(character);

                handle.Resolve(string.Format("{0} chose to remove '{1}' from the quest because of '{2}'", player.Name, character.Title, CardSource.Title));
            }
Example #8
0
        private void CommitCharacterToTheQuest(IGame game, IEffectHandle handle, IWillpowerfulInPlay character)
        {
            questPhase.CommitCharacterToQuest(character);

            handle.Resolve(string.Format("{0} chose to commit '{1}' to the quest", player.Name, character.Title));
        }