protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices choices) => { List <AspectTrack> tracks = findAspectTracksWithProp(game, Property.English, Property.GovWorker, Property.Farmer, Property.Merchant); foreach (AspectTrack t in tracks) { if (t.Properties.Contains(Property.English) || t.Properties.Contains(Property.GovWorker)) { t.AddToValue(1); } else if (t.Properties.Contains(Property.Farmer)) { t.AddToValue(-1); } else if (t.Properties.Contains(Property.Merchant)) { t.AddToValue(calcModValueBasedOnSide(2, choosingPlayer)); } } })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( (Game game, Player choosingPlayer, ChoiceHandler choiceHandler) => { List <BoardObject> options = game.FindBO( (BoardObject htgo) => { return(htgo.Properties.Contains(Property.Track) && htgo.Properties.Contains(Property.Aspect) && ((Track)htgo).CanModify(1)); }); BoardChoices boardChoices; choiceHandler.ChooseBoardObjects( options, (Dictionary <BoardObject, int> selected) => { return(true); }, (List <BoardObject> remainingChoices, Dictionary <BoardObject, int> selected) => { return(remainingChoices.Where(obj => !selected.ContainsKey(obj)).ToList()); }, (Dictionary <BoardObject, int> selected) => { return(selected.Keys.Count == 4); }, game, choosingPlayer, this.CardInfo.SummationInfos[0].Description, out boardChoices); return(boardChoices); }, (Game game, Player choosingPlayer, BoardChoices choices) => { choices.SelectedObjs.Keys.Cast <AspectTrack>().ToList().ForEach(t => t.AddToValue(1)); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices choices) => { int modValue = calcModValueBasedOnSide(2, choosingPlayer); findAspectTracksWithProp(game, Property.French)[0].AddToValue(modValue); })); SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices choices) => { int modValue = calcModValueBasedOnSide(2, choosingPlayer); findAspectTracksWithProp(game, Property.English)[0].AddToValue(modValue); })); SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices choices) => { int modValue = calcModValueBasedOnSide(1, choosingPlayer); findAspectTracksWithProp(game, Property.Merchant, Property.Farmer).ForEach(t => t.AddToValue(modValue)); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair(doNothingChoice, doNothingEffect, (Game game, Player choosingPlayer) => { return(false); })); SummationEvents.Add(genAttorneySummationAddSwayEffectPair(1)); SummationEvents.Add(genAttorneySummationClearSwayEffectPair(2)); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices choices) => { game.Board.GetInsanityTrack().AddToValue(1); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices choices) => { findAspectTracksWithProp(game, Property.Merchant, Property.GovWorker, Property.Farmer).ForEach(t => t.AddToValue(t.Properties.Contains(Property.Farmer) ? -2 : 1)); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices choices) => { findAspectTracksWithProp(game, new Property[] { Property.Merchant })[0].AddToValue(2); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices boardChoices) => { findAspectTracksWithProp(game, Property.English, Property.Occupation).ForEach(t => t.AddToValue(t.Properties.Contains(Property.English) ? 3 : 1)); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices choices) => { findAspectTracksWithProp(game, Property.English, Property.Protestant).ForEach(t => t.AddToValue(2)); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices boardChoices) => { game.Board.GetInsanityTrack().AddToValue(-1); findAspectTracksWithProp(game, Property.French, Property.Catholic, Property.Farmer).ForEach(t => t.AddToValue(1)); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices boardChoices) => { int modVal = calcModValueBasedOnSide(1, choosingPlayer); findAspectTracksWithProp(game, Property.Protestant, Property.Catholic).ForEach(t => t.AddToValue(modVal)); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, doNothingEffect, (Game game, Player choosingPlayer) => { return(false); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices boardChoices) => { int modVal = -calcModValueBasedOnSide(1, choosingPlayer); game.Board.GetInsanityTrack().AddToValue(modVal); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices choices) => { findAspectTracksWithProp(game, Property.Occupation).ForEach(t => t.AddToValue(1)); game.OfficersRecalledPlayable = true; })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( genAspectTrackForModCardChoice(new HashSet <Property>(), 1, 1, true, this.CardInfo.SummationInfos[0].Description), (Game game, Player choosingPlayer, BoardChoices choices) => { int modVal = calcModValueBasedOnSide(1, choosingPlayer); game.Board.GetGuiltTrack().AddToValue(modVal); ((AspectTrack)choices.SelectedObjs.Keys.First()).AddToValue(modVal); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices choices) => { List <AspectTrack> aspectTracks = findAspectTracksWithProp(game, Property.Occupation, Property.English, Property.Catholic); aspectTracks.ForEach(t => t.AddToValue((t.Properties.Contains(Property.Occupation) || t.Properties.Contains(Property.English)) ? 2 : 1)); game.OfficersRecalledPlayable = true; })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices choices) => { int modVal = calcModValueBasedOnSide(2, choosingPlayer); int oppVal = -calcModValueBasedOnSide(1, choosingPlayer); findAspectTracksWithProp(game, Property.Farmer, Property.Catholic, Property.Protestant).ForEach(t => t.AddToValue(t.Properties.Contains(Property.Protestant) ? oppVal : modVal)); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices choices) => { game.Board.GetInsanityTrack().AddToValue(-1); }, (Game game, Player choosingPlayer) => { return(game.OfficersRecalledPlayable); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices boardChoices) => { game.Board.GetInsanityTrack().AddToValue(-calcModValueBasedOnSide(1, choosingPlayer)); })); SummationEvents.Add( new CardEffectPair( genAspectTrackForModCardChoice(new HashSet <Property>(), 2, 2, true, this.CardInfo.SummationInfos[1].Description), (Game game, Player choosingPlayer, BoardChoices boardChoices) => { boardChoices.SelectedObjs.Keys.Cast <AspectTrack>().ToList().ForEach(t => t.AddToValue(calcModValueBasedOnSide(2, choosingPlayer))); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices choices) => { findAspectTracksWithProp(game, Property.GovWorker)[0].AddToValue(2); })); SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices choices) => { game.Board.GetInsanityTrack().AddToValue(-1); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( (Game game, Player choosingPlayer, ChoiceHandler choiceHandler) => { List <BoardObject> choices = game.FindBO( (BoardObject bo) => { return (bo.Properties.Contains(Property.Aspect) && bo.Properties.Contains(Property.Track) && !bo.Properties.Contains(Property.GovWorker) && !bo.Properties.Contains(Property.Merchant)); }); BoardChoices boardChoices; choiceHandler.ChooseBoardObjects( choices, (Dictionary <BoardObject, int> selected) => { return(true); }, (List <BoardObject> remainingChoices, Dictionary <BoardObject, int> selected) => { return(remainingChoices.Where(obj => !selected.ContainsKey(obj)).ToList()); }, (Dictionary <BoardObject, int> selected) => { return(selected.Keys.Count == 3); }, game, choosingPlayer, CardInfo.SummationInfos[0].Description, out boardChoices); return(boardChoices); }, (Game game, Player choosingPlayer, BoardChoices choices) => { choices.SelectedObjs.Keys.Cast <AspectTrack>().ToList().ForEach(t => t.AddToValue(-2)); findAspectTracksWithProp(game, Property.GovWorker, Property.Merchant).ForEach(t => t.AddToValue(1)); })); }
protected override void addSummationEventsAndChoices() { SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices boardChoices) => { game.Board.GetInsanityTrack().AddToValue(1); })); SummationEvents.Add( new CardEffectPair( doNothingChoice, (Game game, Player choosingPlayer, BoardChoices boardChoices) => { foreach (Jury jury in game.Board.Juries) { if (!jury.SwayTrack.IsLocked) { jury.SwayTrack.AddToValue(-2); } } })); }