protected CardEffectPair genAttorneyTrialAspectClearEffectPair(int modVal, int infoIdx) { return(new CardEffectPair( (Game game, Player choosingPlayer, ChoiceHandler choiceHandler) => { List <AspectTrack> tracks = findAspectTracksWithProp(game); BoardChoices boardChoices; choiceHandler.ChooseBoardObjects( tracks.Cast <BoardObject>().ToList(), (Dictionary <BoardObject, int> selected) => { return true; }, (List <BoardObject> choices, Dictionary <BoardObject, int> selected) => { return choices; }, (Dictionary <BoardObject, int> selected) => { return selected.Count == 1; }, game, choosingPlayer, this.CardInfo.TrialInChiefInfos[infoIdx].Description, out boardChoices); return boardChoices; }, (Game game, Player choosingPlayer, BoardChoices choices) => { AspectTrack track = (AspectTrack)choices.SelectedObjs.Keys.First(); track.ResetTimesAffected(); track.AddToValue(calcModValueBasedOnSide(modVal, choosingPlayer)); })); }
public int CalculateGuiltScore(Game game) { AspectTrack track = (AspectTrack)game.FindBO( (BoardObject htgo) => { return(htgo.Properties.Contains(Property.Track) && htgo.Properties.Contains(Property.Aspect) && htgo.Properties.Contains(Trait) && htgo.Properties.Contains(Aspect)); })[0]; return(track.Value); }
private void initTracks() { EvidenceTrack insanityTrack = new EvidenceTrack(game, Property.Insanity); EvidenceTrack guiltTrack = new EvidenceTrack(game, Property.Guilt); EvidenceTracks = new List <EvidenceTrack> { insanityTrack, guiltTrack }; AspectTrack protestantTrack = new AspectTrack(5, game, Property.Religion, Property.Protestant); AspectTrack catholicTrack = new AspectTrack(3, game, Property.Religion, Property.Catholic); AspectTrack englishTrack = new AspectTrack(2, game, Property.Language, Property.English); AspectTrack frenchTrack = new AspectTrack(5, game, Property.Language, Property.French); AspectTrack farmerTrack = new AspectTrack(4, game, Property.Occupation, Property.Farmer); AspectTrack merchantTrack = new AspectTrack(5, game, Property.Occupation, Property.Merchant); AspectTrack govWorkerTrack = new AspectTrack(5, game, Property.Occupation, Property.GovWorker); AspectTracks = new List <AspectTrack> { protestantTrack, catholicTrack, englishTrack, frenchTrack, farmerTrack, merchantTrack, govWorkerTrack }; }