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; }
public BatterCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController) { BasePoolIdentifier = base.Card.Identifier + "BasePool"; SpecialStringMaker.ShowTokenPool(base.Card.Identifier, BasePoolIdentifier); SpecialStringMaker.ShowHeroTargetWithHighestHP(); }
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; }
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); }
public PrehistoricBehemothCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController) { SpecialStringMaker.ShowHeroTargetWithHighestHP(numberOfTargets: Game.H - 2); }
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(); }
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; }
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(); }
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); }
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; }
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"); }
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; }
public AssassinsSignatureCardController(Card card, TurnTakerController turnTakerController) : base(card, turnTakerController) { SpecialStringMaker.ShowHeroTargetWithHighestHP(); }
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(); }