public CriticalMassCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController) { SpecialStringMaker.ShowNumberOfCardsAtLocations(() => new List <Location>() { base.TurnTaker.Deck, base.TurnTaker.Trash }, new LinqCardCriteria((Card c) => c.Identifier == "ChainReaction", "chain reaction")); SpecialStringMaker.ShowNumberOfCardsAtLocation(base.TurnTaker.Trash, new LinqCardCriteria((Card c) => c.Identifier == "UnstableIsotope", "unstable isotope")); }
public TacticalRelocationCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController) { var query = GameController.HeroTurnTakerControllers.Select(httc => httc.HeroTurnTaker.Trash) .Where(loc => loc.Cards.Any(IsEquipmentOrOngoing)); var ss = SpecialStringMaker.ShowNumberOfCardsAtLocations(() => query, new LinqCardCriteria(c => IsEquipmentOrOngoing(c) && c.IsInTrash, "equipment or ongoing")); ss.Condition = () => GameController.HeroTurnTakerControllers.Any(httc => httc.HeroTurnTaker.Trash.Cards.Any(IsEquipmentOrOngoing)); ss = SpecialStringMaker.ShowSpecialString(() => "No hero's Trash has any equipment or ongoing cards"); ss.Condition = () => GameController.HeroTurnTakerControllers.All(httc => !httc.HeroTurnTaker.Trash.Cards.Any(IsEquipmentOrOngoing)); }
public BattlefieldScavengerCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController) { var query = GameController.HeroTurnTakerControllers.Where(httc => httc.TurnTaker.Trash.Cards.Any(c => IsEquipment(c) || c.IsOngoing)) .Select(httc => httc.TurnTaker.Trash); var ss = SpecialStringMaker.ShowNumberOfCardsAtLocations(() => query, new LinqCardCriteria(c => IsEquipment(c) || c.IsOngoing, "equipment or ongoing")); ss.Condition = () => GameController.HeroTurnTakerControllers.Any(httc => httc.TurnTaker.Trash.Cards.Any(c => IsEquipment(c) || c.IsOngoing)); ss = SpecialStringMaker.ShowSpecialString(() => "No hero has has any equipment or ongoing cards in their trash."); ss.Condition = () => GameController.HeroTurnTakerControllers.All(httc => !httc.TurnTaker.Trash.Cards.Any(c => IsEquipment(c) || c.IsOngoing)); }
public ForewarnedCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController) { var query = GameController.HeroTurnTakerControllers.Select(httc => httc.HeroTurnTaker) .Where(htt => htt.NumberOfCardsInHand < 3) .Select(htt => htt.Hand); var ss = SpecialStringMaker.ShowNumberOfCardsAtLocations(() => query); ss.Condition = () => GameController.HeroTurnTakerControllers.Any(HeroTurnTakerController => HeroTurnTakerController.HeroTurnTaker.NumberOfCardsInHand < 3); ss = SpecialStringMaker.ShowSpecialString(() => "No hero has fewer than 3 cards in hard"); ss.Condition = () => GameController.HeroTurnTakerControllers.All(HeroTurnTakerController => HeroTurnTakerController.HeroTurnTaker.NumberOfCardsInHand >= 3); }
public DanPeanutReplacementCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController) { SpecialStringMaker.ShowHeroWithMostCards(true).Condition = () => !base.Card.IsInPlay; SpecialStringMaker.ShowNumberOfCardsAtLocations(() => new Location[] { base.TurnTaker.Deck, base.TurnTaker.Trash }, new LinqCardCriteria((Card c) => c.DoKeywordsContain("batter"), "Batters", false, false, "Batter", "Batters")); }
public FallingMeteorCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController) { SpecialStringMaker.ShowNumberOfCardsAtLocations(() => new Location[] { TurnTaker.Trash, TurnTaker.Deck }, new LinqCardCriteria((Card c) => c.Identifier == "UpClose", "", false, singular: "copy of Up Close", plural: "copies of Up Close")); SpecialStringMaker.ShowHighestHP(1, () => Game.H - 2, new LinqCardCriteria((Card c) => c.IsHeroCharacterCard && !IsUpClose(c), "", false, singular: "hero that is not Up Close", plural: "heroes that are not Up Close")); }
public FallingMeteorCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController) { SpecialStringMaker.ShowNumberOfCardsAtLocations(() => new Location[] { TurnTaker.Trash, TurnTaker.Deck }, new LinqCardCriteria((Card c) => c.Identifier == "UpClose", "", false, singular: "copy of Up Close", plural: "copies of Up Close")); }
public ExodusCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController) { SpecialStringMaker.ShowNumberOfCardsAtLocations(() => new Location[] { TurnTaker.Deck, TurnTaker.Trash }, new LinqCardCriteria((Card c) => IsConstellation(c), "constellation")); }
public PillarsOfCreationCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController) { SpecialStringMaker.ShowNumberOfCardsAtLocations(() => new Location[] { TurnTaker.Trash, HeroTurnTaker.Hand }, new LinqCardCriteria((Card c) => IsConstellation(c), "constellation")); }