Пример #1
0
        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));
            }));
        }
Пример #2
0
            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);
            }
Пример #3
0
        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
            };
        }