public CeladrochCharacterCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowTokenPool(base.CharacterCard.FindTokenPool(StormPoolIdentifier)).Condition = () => Card.IsInPlay && !Card.IsFlipped;
     SpecialStringMaker.ShowSpecialString(TopCardSpecialString, null, () => new[] { FindCeladrochsTopCard() }).Condition = () => Game.HasGameStarted && Card.IsInPlay && !Card.IsFlipped;
     SpecialStringMaker.ShowHeroTargetWithHighestHP(numberOfTargets: Game.H - 1).Condition = () => Card.IsInPlay && Card.IsFlipped;
     SpecialStringMaker.ShowIfElseSpecialString(() => Game.Journal.CardEntersPlayEntriesThisTurn().Any(e => e.Card.IsVillain), () => "A villain card has entered play this turn.", () => "A villain card has not entered play this turn.").Condition = () => Card.IsInPlay && Card.IsFlipped && Game.ActiveTurnTaker == TurnTaker;
 }
예제 #2
0
 public BatterCardController(Card card, TurnTakerController turnTakerController)
     : base(card, turnTakerController)
 {
     BasePoolIdentifier = base.Card.Identifier + "BasePool";
     SpecialStringMaker.ShowTokenPool(base.Card.Identifier, BasePoolIdentifier);
     SpecialStringMaker.ShowHeroTargetWithHighestHP();
 }
예제 #3
0
 public MomentumCharacterCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     // Both sides: has Momentum flipped this turn?
     SpecialStringMaker.ShowIfElseSpecialString(() => Journal.WasCardFlippedThisTurn(base.Card), () => base.Card.Title + " has already flipped this turn.", () => base.Card.Title + " has not flipped this turn.");
     // Front side: 2 hero targets with highest HP
     SpecialStringMaker.ShowHeroTargetWithHighestHP(1, 2).Condition = () => !base.Card.IsFlipped;
     AddThisCardControllerToList(CardControllerListType.MakesIndestructible);
 }
 public HydraNoxiousFireTiamatInstructionsCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController, "HydraInfernoTiamatCharacter", "HydraDecayTiamatCharacter", "ElementOfFire")
 {
     SpecialStringMaker.ShowSpecialString(() => "The heroes may not win the game.").Condition = () => !base.Card.IsFlipped;
     SpecialStringMaker.ShowNumberOfCards(new LinqCardCriteria((Card c) => c.DoKeywordsContain("head") && c.IsFlipped, "", useCardsSuffix: false, singular: "decapitated head", plural: "decapitated heads")).Condition = () => base.Card.IsFlipped;
     SpecialStringMaker.ShowHeroTargetWithHighestHP().Condition = () => !base.Card.IsFlipped;
     SpecialStringMaker.ShowHeroTargetWithHighestHP(ranking: 2).Condition = () => base.Card.IsFlipped && !FirstHeadCardController().Card.IsFlipped;
     SpecialStringMaker.ShowNumberOfCardsAtLocation(base.TurnTaker.Trash, new LinqCardCriteria((Card c) => c.Identifier == "AcidBreath", "acid breath")).Condition = () => base.Card.IsFlipped && FirstHeadCardController().Card.IsFlipped&& !SecondHeadCardController().Card.IsFlipped&& SecondHeadCardController().Card.IsInPlayAndNotUnderCard;
 }
예제 #5
0
 public BreakawayCharacterCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     // Display strings...
     // Front side: has Momentum been dealt damage this turn?
     SpecialStringMaker.ShowIfElseSpecialString(() => HasBeenSetToTrueThisTurn(momentumTakenDamage), () => "Momentum has already been dealt damage this turn.", () => "Momentum has not yet been dealt damage this turn.").Condition = () => !base.Card.IsFlipped;
     // Front side: what environment cards have dealt damage to Momentum this turn?
     SpecialStringMaker.ShowSpecialString(HitMomentumThisTurn).Condition = () => !base.Card.IsFlipped;
     // Back side: what is Momentum's current HP? What effects does that have?
     SpecialStringMaker.ShowSpecialString(DeadEndJobMomentumEffects).Condition = () => base.Card.IsFlipped;
     // Back side: has a hero card entered play this turn?
     SpecialStringMaker.ShowIfElseSpecialString(() => HasBeenSetToTrueThisTurn(heroCardEntered), () => "A hero card has already entered play this turn.", () => "A hero card has not yet entered play this turn.").Condition = () => base.Card.IsFlipped;
     // Back side: who are the 2 hero targets with the highest HP?
     SpecialStringMaker.ShowHeroTargetWithHighestHP(1, 2).Condition = () => base.Card.IsFlipped;
     // Back side, Advanced: if it's a hero turn, has Breakaway dealt damage this turn?
     SpecialStringMaker.ShowIfElseSpecialString(() => HasBeenSetToTrueThisTurn(dealtDamageHero), () => "Breakaway has already dealt damage this turn", () => "Breakaway has not yet dealt damage this turn", () => base.GameController.ActiveTurnTaker.IsHero).Condition = () => (base.Game.IsAdvanced && base.Card.IsFlipped);
 }
예제 #6
0
 public PrehistoricBehemothCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowHeroTargetWithHighestHP(numberOfTargets: Game.H - 2);
 }
예제 #7
0
 public MoonShardkeyCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowHeroTargetWithHighestHP();
     SpecialStringMaker.ShowVillainTargetWithHighestHP();
 }
 public LethalForceCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowHeroTargetWithHighestHP(ranking: 2);
     SpecialStringMaker.ShowHeroTargetWithLowestHP();
 }
예제 #9
0
 public BlisterTeamCharacterCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowNonVillainTargetWithHighestHP(numberOfTargets: 2).Condition = () => !CharacterCard.IsFlipped;
     SpecialStringMaker.ShowVillainTargetWithLowestHP().Condition = () => CharacterCard.IsFlipped;
     SpecialStringMaker.ShowHeroTargetWithHighestHP().Condition   = () => CharacterCard.IsFlipped;
 }
예제 #10
0
 public MarkOfDestructionCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController, new LinqCardCriteria((Card c) => !c.IsHeroCharacterCard && !c.IsVillainCharacterCard && c.IsInPlay && !c.IsOneShot, "non-Character card", false, false, null, null, false))
 {
     SpecialStringMaker.ShowHeroTargetWithHighestHP();
 }
예제 #11
0
 public DoubleDownCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowHasBeenUsedThisTurn(FirstTimeVillainOngoingDestroyedKey, "A villain ongoing has already been destroyed this turn", "A villain ongoing has not been destroyed this turn");
     SpecialStringMaker.ShowHeroTargetWithHighestHP(ranking: 2);
 }
예제 #12
0
 public SolarEclipseCardController(Card card, TurnTakerController turnTakerController)
     : base(card, turnTakerController)
 {
     AddThisCardControllerToList(CardControllerListType.MakesIndestructible);
     SpecialStringMaker.ShowHeroTargetWithHighestHP();
 }
 public FirestarterCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowHeroTargetWithHighestHP(ranking: 2);
     SpecialStringMaker.ShowHasBeenUsedThisTurn(FirstTimeHeroCardDestroyed);
 }
 public DoppelgangerStrikeCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowHeroTargetWithHighestHP();
     SpecialStringMaker.ShowHeroCharacterCardWithLowestHP();
     SpecialStringMaker.ShowNumberOfCardsInPlay(new LinqCardCriteria((Card c) => c.IsVillainTarget, useCardsSuffix: false, singular: "villain target", plural: "villain targets"));
 }
 public HydraThunderousGaleTiamatInstructionsCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController, "HydraStormTiamatCharacter", "HydraWindTiamatCharacter", "ElementOfLightning")
 {
     SpecialStringMaker.ShowSpecialString(() => BuildDecapitatedHeadList());
     SpecialStringMaker.ShowHeroTargetWithHighestHP(numberOfTargets: 1 + NumberOfOngoingsInTrash()).Condition = () => base.Card.IsFlipped && FirstHeadCardController().Card.IsFlipped&& !SecondHeadCardController().Card.IsFlipped&& SecondHeadCardController().Card.IsInPlayAndNotUnderCard;
     SpecialStringMaker.ShowHeroTargetWithHighestHP().Condition = () => base.Card.IsFlipped && !FirstHeadCardController().Card.IsFlipped;
 }
예제 #16
0
 public MejiNomadCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowHeroTargetWithHighestHP();
     SpecialStringMaker.ShowNumberOfCardsInPlay(new LinqCardCriteria((Card c) => IsGuardian(c), "guardian"));
 }
 public DrudgeTeamCharacterCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowHeroTargetWithLowestHP();
     SpecialStringMaker.ShowHeroTargetWithHighestHP(ranking: 2).Condition = () => !Card.IsFlipped && TurnTaker.IsChallenge;
     SpecialStringMaker.ShowHeroTargetWithHighestHP().Condition = () => Card.IsFlipped;
 }
 public ScreechTeamCharacterCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowHeroTargetWithHighestHP().Condition        = () => !Card.IsFlipped;
     SpecialStringMaker.ShowHeroCharacterCardWithHighestHP().Condition = () => Card.IsFlipped;
     SpecialStringMaker.ShowHeroCharacterCardWithLowestHP().Condition  = () => Card.IsFlipped;
 }
 public ParadoxIntrusionCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowHeroTargetWithHighestHP();
     SpecialStringMaker.ShowNumberOfCardsAtLocation(TurnTaker.Trash, new LinqCardCriteria(c => c.DoKeywordsContain("vortex"), "vortex"));
 }
 public FireballCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowHeroTargetWithHighestHP(numberOfTargets: FindCardsWhere(c => c.Location.IsTrash && c.Location.IsEnvironment).Count());
     SpecialStringMaker.ShowIfSpecificCardIsInPlay("BlazingAxe");
 }
예제 #21
0
 public PhotosynthestrikeCardController(Card card, TurnTakerController turnTakerController)
     : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowHeroTargetWithHighestHP();
     SpecialStringMaker.ShowNumberOfCardsInPlay(new LinqCardCriteria(c => c.IsEnvironment, "environment"));
 }
 public FollowTheScreamsCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowLowestHP(numberOfTargets: () => Game.H, cardCriteria: new LinqCardCriteria((Card c) => !c.IsCharacter, "non-character"));
     SpecialStringMaker.ShowHeroTargetWithHighestHP();
 }
 public ThornwhipsCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowNumberOfCardsInPlay(new LinqCardCriteria(c => c.IsEnvironment, "environment"));
     SpecialStringMaker.ShowHeroTargetWithHighestHP(numberOfTargets: GetNumberOfEnvironmentCardsInPlay()).Condition = () => GetNumberOfEnvironmentCardsInPlay() > 0;
 }
 public TheRamCharacterCardController(Card card, TurnTakerController ttc) : base(card, ttc)
 {
     AddUpCloseTrackers();
     SpecialStringMaker.ShowHeroTargetWithHighestHP();
 }
 public BurnItDownCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowHeroTargetWithHighestHP();
 }
 public SnareTeamCharacterCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     AddThisCardControllerToList(CardControllerListType.MakesIndestructible);
     SpecialStringMaker.ShowHeroCharacterCardWithLowestHP(ranking: 2).Condition = () => !Card.IsFlipped;
     SpecialStringMaker.ShowHeroTargetWithHighestHP(ranking: 2).Condition       = () => !Card.IsFlipped;
 }
 public HydraFrigidEarthTiamatInstructionsCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController, "HydraWinterTiamatCharacter", "HydraEarthTiamatCharacter", "ElementOfIce")
 {
     SpecialStringMaker.ShowHeroTargetWithHighestHP().Condition = () => base.Card.IsFlipped && FirstHeadCardController().Card.IsFlipped&& !SecondHeadCardController().Card.IsFlipped&& SecondHeadCardController().Card.IsInPlayAndNotUnderCard;
     SpecialStringMaker.ShowNumberOfCardsAtLocation(base.TurnTaker.Trash, new LinqCardCriteria((Card c) => c.Identifier == "SkyBreaker", "sky breaker")).Condition = () => base.Card.IsFlipped && FirstHeadCardController().Card.IsFlipped&& !SecondHeadCardController().Card.IsFlipped&& SecondHeadCardController().Card.IsInPlayAndNotUnderCard;
     SpecialStringMaker.ShowHeroTargetWithLowestHP().Condition = () => base.Card.IsFlipped && !FirstHeadCardController().Card.IsFlipped;
 }
예제 #28
0
 public AssassinsSignatureCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowHeroTargetWithHighestHP();
 }
예제 #29
0
 public BlockedSightlineCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowHeroTargetWithHighestHP(numberOfTargets: 2);
 }
 public HalberdPlasmaCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController)
 {
     SpecialStringMaker.ShowVillainTargetWithHighestHP().Condition = () => !IsChemicalTriggerInPlay();
     SpecialStringMaker.ShowHeroTargetWithHighestHP().Condition    = () => IsChemicalTriggerInPlay();
 }