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; }
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); } }
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)); }
public DetermineWillpower(IGame game, IWillpowerfulInPlay quester) : base(game) { this.Quester = quester; this.willpower = quester.Card.PrintedWillpower; }