@Override public GetEmblemEffect copy() { return new GetEmblemEffect(this); }
public NarsetTranscendent(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{U}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.NARSET); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(6)); // +1: Look at the top card of your library. If it's a noncreature, nonland card, you may reveal it and put it into your hand. this.addAbility(new LoyaltyAbility(new NarsetTranscendentEffect1(), 1)); // -2: When you cast your next instant or sorcery spell from your hand this turn, it gains rebound. this.addAbility(new LoyaltyAbility(new CreateDelayedTriggeredAbilityEffect(new NarsetTranscendentTriggeredAbility()), -2)); // -9:You get an emblem with "Your opponents can't cast noncreature spells." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new NarsetTranscendentEmblem()), -9)); }
public GarrukCallerOfBeasts(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{G}{G}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.GARRUK); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); // +1: Reveal the top 5 cards of your library. Put all creature cards revealed this way into your hand and the rest on the bottom of your library in any order. this.addAbility(new LoyaltyAbility(new RevealLibraryPutIntoHandEffect(5, new FilterCreatureCard("creature cards"), Zone.LIBRARY), 1)); // -3: You may put a green creature card from your hand onto the battlefield. this.addAbility(new LoyaltyAbility(new PutCardFromHandOntoBattlefieldEffect(filterGreenCreature), -3)); // -7: You get an emblem with "Whenever you cast a creature spell, you may search your library for a creature card, put it onto the battlefield, then shuffle your library."); this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new GarrukCallerOfBeastsEmblem()), -7)); }
public ElspethSunsChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{W}{W}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.ELSPETH); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); // +1: Create three 1/1 white Soldier creature tokens. this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new SoldierToken(), 3), 1)); // -3: Destroy all creatures with power 4 or greater. this.addAbility(new LoyaltyAbility(new DestroyAllEffect(filter), -3)); // -7: You get an emblem with "Creatures you control get +2/+2 and have flying." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new ElspethSunsChampionEmblem()), -7)); }
public JayaBallard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{R}{R}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.JAYA); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); // +1: Add {R}{R}{R}. Spend this mana only to cast instant or sorcery spells. this.addAbility(new LoyaltyAbility(new AddConditionalManaEffect(Mana.RedMana(3), new InstantOrSorcerySpellManaBuilder()), 1)); // +1: Discard up to three cards, then draw that many cards. this.addAbility(new LoyaltyAbility(new JayaBallardDiscardDrawEffect(), 1)); // −8: You get an emblem with "You may cast instant and sorcery cards from your graveyard. If a card cast this way would be put into your graveyard, exile it instead." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new JayaBallardEmblem()), -8), new CastFromGraveyardWatcher()); }
public VenserTheSojourner(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{W}{U}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.VENSER); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); // +2: Exile target permanent you own. Return it to the battlefield under your control at the beginning of the next end step. LoyaltyAbility ability1 = new LoyaltyAbility(new VenserTheSojournerEffect(), 2); Target target = new TargetPermanent(filter); ability1.addTarget(target); this.addAbility(ability1); // -1: Creatures can't be blocked this turn. this.addAbility(new LoyaltyAbility(new CantBeBlockedAllEffect(StaticFilters.FILTER_PERMANENT_CREATURES, Duration.EndOfTurn), -1)); // -8: You get an emblem with "Whenever you cast a spell, exile target permanent." LoyaltyAbility ability2 = new LoyaltyAbility(new GetEmblemEffect(new VenserTheSojournerEmblem()), -8); this.addAbility(ability2); }
public LilianaOfTheDarkRealms(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{B}{B}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.LILIANA); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); // +1: Search your library for a Swamp card, reveal it, and put it into your hand. Then shuffle your library. this.addAbility(new LoyaltyAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true), 1)); // -3: Target creature gets +X/+X or -X/-X until end of turn, where X is the number of Swamps you control. LoyaltyAbility ability = new LoyaltyAbility(new LilianaOfTheDarkRealmsEffect(), -3); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); // -6: You get an emblem with "Swamps you control have '{tap}: Add {B}{B}{B}{B}.'" this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new LilianaOfTheDarkRealmsEmblem()), -6)); }
public SorinLordOfInnistrad(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{B}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.SORIN); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); // +1: Create a 1/1 black Vampire creature token with lifelink. this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new SorinLordOfInnistradVampireToken()), 1)); // -2: You get an emblem with "Creatures you control get +1/+0." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new SorinLordOfInnistradEmblem()), -2)); // -6: Destroy up to three target creatures and/or other planeswalkers. Return each card put into a graveyard this way to the battlefield under your control. LoyaltyAbility ability = new LoyaltyAbility(new SorinLordOfInnistradEffect(), -6); ability.addTarget(new TargetPermanent(0, 3, filter, false)); this.addAbility(ability); }
public AjaniAdversaryOfTyrants(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{W}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.AJANI); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); // +1: Put a +1/+1 counter on each of up to two target creatures. Ability ability = new LoyaltyAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), 1); ability.addTarget(new TargetCreaturePermanent(0, 2)); this.addAbility(ability); // −2: Return target creature card with converted mana cost 2 or less from your graveyard to the battlefield. ability = new LoyaltyAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), -2); ability.addTarget(new TargetCardInYourGraveyard(filter)); this.addAbility(ability); // −7: You get an emblem with "At the beginning of your end step, create three 1/1 white Cat creature tokens with lifelink." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new AjaniAdversaryOfTyrantsEmblem()), -7)); }
public LilianaDefiantNecromancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, ""); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.LILIANA); this.color.setBlack(true); this.nightCard = true; this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); // +2: Each player discards a card. this.addAbility(new LoyaltyAbility(new DiscardEachPlayerEffect(1, false), 2)); // -X: Return target nonlegendary creature with converted mana cost X from your graveyard to the battlefield. Ability ability = new LoyaltyAbility(new ReturnFromGraveyardToBattlefieldTargetEffect()); ability.addTarget(new TargetCardInYourGraveyard(filter)); ability.setTargetAdjuster(LilianaDefiantNecromancerAdjuster.instance); this.addAbility(ability); //-8: You get an emblem with "Whenever a creature dies, return it to the battlefield under your control at the beginning of the next end step."; this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new LilianaDefiantNecromancerEmblem()), -8)); }
public KioraTheCrashingWave(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{G}{U}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.KIORA); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(2)); // +1: Until your next turn, prevent all damage that would be dealt to and dealt by target permanent an opponent controls. LoyaltyAbility ability = new LoyaltyAbility(new KioraPreventionEffect(), 1); ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); // -1: Draw a card. You may play an additional land this turn. ability = new LoyaltyAbility(new DrawCardSourceControllerEffect(1), -1); ability.addEffect(new PlayAdditionalLandsControllerEffect(1, Duration.EndOfTurn)); this.addAbility(ability); // -5: You get an emblem with "At the beginning of your end step, create a 9/9 blue Kraken creature token." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new KioraEmblem()), -5)); }
public ObNixilisOfTheBlackOath(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{B}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.NIXILIS); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); // +2: Each opponent loses 1 life. You gain life equal to the life lost this way. this.addAbility(new LoyaltyAbility(new ObNixilisOfTheBlackOathEffect1(), 2)); // -2: Create a 5/5 black Demon creature token with flying. You lose 2 life. LoyaltyAbility loyaltyAbility = new LoyaltyAbility(new CreateTokenEffect(new DemonToken()), -2); loyaltyAbility.addEffect(new LoseLifeSourceControllerEffect(2)); this.addAbility(loyaltyAbility); // -8: You get an emblem with "{1}{B}, Sacrifice a creature: You gain X life and draw X cards, where X is the sacrificed creature's power." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new ObNixilisOfTheBlackOathEmblem()), -8)); // Ob Nixilis of the Black Oath can be your commander. this.addAbility(CanBeYourCommanderAbility.getInstance()); }
public YodaJediMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{G}{U}"); this.subtype.add(SubType.YODA); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); // +1: Look at the top two cards of your library. Put one on the bottom of your library. Effect effect = new LookLibraryAndPickControllerEffect(new StaticValue(2), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, true, false, false, Zone.LIBRARY, false, false, true); effect.setText("Look at the top two cards of your library. Put one on the bottom of your library"); this.addAbility(new LoyaltyAbility(effect, 1)); // 0: Exile another target permanent you own. Return that card to the battlefield under your control at the beggining of your next end step. Ability ability = new LoyaltyAbility(new YodaJediMasterEffect(), 0); ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); // -5: You get an emblem with "Hexproof, you and your creatures have." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new YodaEmblem()), -5)); }
public DarettiScrapSavant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{R}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.DARETTI); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); // +2: Discard up to two cards, then draw that many cards. this.addAbility(new LoyaltyAbility(new DarettiDiscardDrawEffect(), 2)); // -2: Sacrifice an artifact. If you do, return target artifact card from your graveyard to the battlefield. LoyaltyAbility loyaltyAbility = new LoyaltyAbility(new DarettiSacrificeEffect(), -2); loyaltyAbility.addTarget(new TargetCardInYourGraveyard(new FilterArtifactCard("artifact card from your graveyard"))); this.addAbility(loyaltyAbility); // -10: You get an emblem with "Whenever an artifact is put into your graveyard from the battlefield, return that card to the battlefield at the beginning of the next end step." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new DarettiScrapSavantEmblem()), -10)); // Daretti, Scrap Savant can be your commander. this.addAbility(CanBeYourCommanderAbility.getInstance()); }
public ChandraTorchOfDefiance(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{R}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.CHANDRA); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); // +1: Exile the top card of your library. You may cast that card. If you don't, Chandra, Torch of Defiance deals 2 damage to each opponent. LoyaltyAbility ability = new LoyaltyAbility(new ChandraTorchOfDefianceEffect(), 1); this.addAbility(ability); // +1: Add {R}{R}. this.addAbility(new LoyaltyAbility(new BasicManaEffect(Mana.RedMana(2)), +1)); // -3: Chandra, Torch of Defiance deals 4 damage to target creature. ability = new LoyaltyAbility(new DamageTargetEffect(4), -3); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); // -7: You get an emblem with "Whenever you cast a spell, this emblem deals 5 damage to any target." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new ChandraTorchOfDefianceEmblem()), -7)); }
public GideonAllyOfZendikar(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{W}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.GIDEON); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); // +1: Until end of turn, Gideon, Ally of Zendikar becomes a 5/5 Human Soldier Ally creature with indestructible that's still a planeswalker. Prevent all damage that would be dealt to him this turn. LoyaltyAbility ability = new LoyaltyAbility(new BecomesCreatureSourceEffect(new GideonAllyOfZendikarToken(), "planeswalker", Duration.EndOfTurn), 1); Effect effect = new PreventAllDamageToSourceEffect(Duration.EndOfTurn); effect.setText("Prevent all damage that would be dealt to him this turn"); ability.addEffect(effect); this.addAbility(ability); // 0: Create a 2/2 white Knight Ally creature token. this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new KnightAllyToken()), 0)); // -4: You get an emblem with "Creatures you control get +1/+1." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new GideonAllyOfZendikarEmblem()), -4)); }
public KothOfTheHammer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{R}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.KOTH); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(3)); // +1: Untap target Mountain. It becomes a 4/4 red Elemental creature until end of turn. It's still a land. Ability ability = new LoyaltyAbility(new UntapTargetEffect(), 1); ability.addEffect(new BecomesCreatureTargetEffect(new KothOfTheHammerToken(), false, true, Duration.EndOfTurn)); ability.addTarget(new TargetLandPermanent(filter)); this.addAbility(ability); // -2: Add {R} for each Mountain you control. this.addAbility(new LoyaltyAbility(new DynamicManaEffect(Mana.RedMana(1), new PermanentsOnBattlefieldCount(filterCount)), -2)); // -5: You get an emblem with "Mountains you control have '{T}: This land deals 1 damage to any target.' this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new KothOfTheHammerEmblem()), -5)); }
public NissaVitalForce(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{G}{G}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.NISSA); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); // +1: Untap target land you control. Until your next turn, it becomes a 5/5 Elemental creature with haste. It's still a land. LoyaltyAbility ability = new LoyaltyAbility(new UntapTargetEffect(), 1); ability.addEffect(new BecomesCreatureTargetEffect(new NissaVitalForceToken(), false, true, Duration.UntilYourNextTurn)); ability.addTarget(new TargetLandPermanent(filter)); this.addAbility(ability); // -3: Return target permanent card from your graveyard to your hand. ability = new LoyaltyAbility(new ReturnToHandTargetEffect(), -3); ability.addTarget(new TargetCardInYourGraveyard(new FilterPermanentCard("permanent card from your graveyard"))); this.addAbility(ability); // -6: You get an emblem with "Whenever a land enters the battlefield under your control, you may draw a card." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new NissaVitalForceEmblem()), -6)); }
public TeferiTemporalArchmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{U}{U}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.TEFERI); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); // +1: Look at the top two cards of your library. Put one of them into your hand and the other on the bottom of your library. this.addAbility(new LoyaltyAbility(new LookLibraryAndPickControllerEffect( new StaticValue(2), false, new StaticValue(1), new FilterCard(), Zone.LIBRARY, false, false), 1)); // -1: Untap up to four target permanents. LoyaltyAbility loyaltyAbility = new LoyaltyAbility(new UntapTargetEffect(), -1); loyaltyAbility.addTarget(new TargetPermanent(0, 4, new FilterPermanent(), false)); this.addAbility(loyaltyAbility); // -10: You get an emblem with "You may activate loyalty abilities of planeswalkers you control on any player's turn any time you could cast an instant." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new TeferiTemporalArchmageEmblem()), -10)); // Teferi, Temporal Archmage can be your commander. this.addAbility(CanBeYourCommanderAbility.getInstance()); }
public SarkhanTheDragonspeaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{R}{R}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.SARKHAN); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(4)); // +1: Until end of turn, Sarkhan, the Dragonspeaker becomes a legendary 4/4 red Dragon creature with flying, indestructible, and haste. this.addAbility(new LoyaltyAbility(new SarkhanTheDragonspeakerEffect(), 1)); // -3: Sarkhan, the Dragonspeaker deals 4 damage to target creature. LoyaltyAbility ability = new LoyaltyAbility(new DamageTargetEffect(4), -3); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); // -6: You get an emblem with "At the beginning of your draw step, draw two additional cards" and "At the beginning of your end step, discard your hand." Effect effect = new GetEmblemEffect(new SarkhanTheDragonspeakerEmblem()); effect.setText("You get an emblem with \"At the beginning of your draw step, draw two additional cards\" and \"At the beginning of your end step, discard your hand.\""); this.addAbility(new LoyaltyAbility(effect, -6)); }