@Override public ExileSourceFromGraveCost copy() { return new ExileSourceFromGraveCost(this); }
public CreepingChillAbility() { super( Zone.LIBRARY, Zone.GRAVEYARD, new DoIfCostPaid( new DamagePlayersEffect(3, TargetController.OPPONENT), new ExileSourceFromGraveCost() ).addEffect(new GainLifeEffect(3)), "", true ); }
public RootingKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); this.subtype.add(SubType.KAVU); this.power = new MageInt(4); this.toughness = new MageInt(3); // When Rooting Kavu dies, you may exile it. If you do, shuffle all creature cards from your graveyard into your library. this.addAbility(new DiesTriggeredAbility(new DoIfCostPaid(new RootingKavuEffect(), new ExileSourceFromGraveCost()))); }
public ScavengeAbility(ManaCosts costs) { super(Zone.GRAVEYARD, new ScavengeEffect(), costs); this.timing = TimingRule.SORCERY; this.addCost(new ExileSourceFromGraveCost()); this.addTarget(new TargetCreaturePermanent()); }
public EternalizeAbility(Cost cost, Card card) { super(Zone.GRAVEYARD, new EternalizeEffect(), cost); addCost(new ExileSourceFromGraveCost()); this.rule = setRule(cost, card); this.timing = TimingRule.SORCERY; setRule(cost, card); }
public EmbalmAbility(Cost cost, Card card) { super(Zone.GRAVEYARD, new EmbalmEffect(), cost); addCost(new ExileSourceFromGraveCost()); this.rule = setRule(cost, card); this.timing = TimingRule.SORCERY; setRule(cost, card); }
public Gamekeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(2); // When Gamekeeper dies, you may exile it. If you do, reveal cards from the top of your library until you reveal a creature card. Put that card onto the battlefield and put all other cards revealed this way into your graveyard. Ability ability = new DiesTriggeredAbility(new DoIfCostPaid(new RevealCardsFromLibraryUntilEffect(new FilterCreatureCard(), Zone.BATTLEFIELD, Zone.GRAVEYARD), new ExileSourceFromGraveCost(), "Exile to reveal cards from the top of your library until you reveal a creature card?"), false); this.addAbility(ability); }
public KozileksReturn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}"); // Devoid this.addAbility(new DevoidAbility(this.color)); // Kozilek's Return deals 2 damage to each creature. this.getSpellAbility().addEffect(new DamageAllEffect(2, new FilterCreaturePermanent())); // Whenever you cast an Eldrazi creature spell with converted mana cost 7 or greater, you may exile Kozilek's Return from your graveyard. // If you do, Kozilek's Return deals 5 damage to each creature. this.addAbility(new SpellCastControllerTriggeredAbility(Zone.GRAVEYARD, new DoIfCostPaid(new DamageAllEffect(5, new FilterCreaturePermanent()), new ExileSourceFromGraveCost()), filter, false, false)); }
public GreenwardenOfMurasa(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}"); this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(4); // When Greenwarden of Murasa enters the battlefield, you may return target card from your graveyard to your hand. Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect(), true); ability.addTarget(new TargetCardInYourGraveyard()); this.addAbility(ability); // When Greenwarden of Murasa dies, you may exile it. If you do, return target card from your graveyard to your hand. ability = new DiesTriggeredAbility(new DoIfCostPaid(new ReturnFromGraveyardToHandTargetEffect(), new ExileSourceFromGraveCost(), "Exile {this} and return target card from your graveyard to your hand?", true), false); ability.addTarget(new TargetCardInYourGraveyard()); this.addAbility(ability); }
public ArenaRector(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); // When Arena Rector dies, you may exile it. If you do, search your library for a planeswalker card, put it onto the battlefield, then shuffle your library. this.addAbility(new DiesTriggeredAbility( new DoIfCostPaid( new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(new FilterPlaneswalkerCard())), new ExileSourceFromGraveCost(), "Exile to search for a planeswalker?" ).setText("you may exile it. If you do, search your library for a planeswalker card, put it onto the battlefield, then shuffle your library"), false )); }
public AcademyRector(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); // When Academy Rector dies, you may exile it. If you do, search your library for an enchantment card, put that card onto the battlefield, then shuffle your library. this.addAbility(new DiesTriggeredAbility( new DoIfCostPaid( new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(new FilterEnchantmentCard())), new ExileSourceFromGraveCost(), "Exile to search for an enchantment?" ), false )); }
public GhoulcallersAccomplice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); // {3}{B}, Exile Ghoulcaller's Accomplice from your graveyard: Create a 2/2 black Zombie creature token. // Activate this ability only any time you could cast a sorcery. Ability ability = new ActivateAsSorceryActivatedAbility(Zone.GRAVEYARD, new CreateTokenEffect(new ZombieToken()), new ManaCostsImpl("{3}{B}")); ability.addCost(new ExileSourceFromGraveCost()); this.addAbility(ability); }
public DauntlessCathar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(2); // {1}{W}, Exile Dauntless Cathar from your graveyard: Create a 1/1 white Spirit creature token with flying. Activate this ability only any time you could cast a sorcery. Ability ability = new ActivateAsSorceryActivatedAbility(Zone.GRAVEYARD, new CreateTokenEffect(new SpiritWhiteToken()), new ManaCostsImpl("{1}{W}")); ability.addCost(new ExileSourceFromGraveCost()); this.addAbility(ability); }
public Geistblast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}"); // Geistblast deals 2 damage to any target. this.getSpellAbility().addEffect(new DamageTargetEffect(2)); this.getSpellAbility().addTarget(new TargetAnyTarget()); // {2}{U}, Exile Geistblast from your graveyard: Copy target instant or sorcery you control. You may choose new targets for the copy. Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new CopyTargetSpellEffect(), new ManaCostsImpl<>("{2}{U}")); ability.addTarget(new TargetSpell(filter)); ability.addCost(new ExileSourceFromGraveCost()); this.addAbility(ability); }
public NearheathChaplain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.CLERIC); this.power = new MageInt(3); this.toughness = new MageInt(1); // Lifelink this.addAbility(LifelinkAbility.getInstance()); // {2}{W}, Exile Neaheath Chaplain from your graveyard: Create two 1/1 white Spirit creature tokens with flying. Activate this ability only any time you could cast a sorcery. Ability ability = new ActivateAsSorceryActivatedAbility(Zone.GRAVEYARD, new CreateTokenEffect(new SpiritWhiteToken(), 2), new ManaCostsImpl("{2}{W}")); ability.addCost(new ExileSourceFromGraveCost()); this.addAbility(ability); }
public SoulOfRavnica(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(6); // Flying this.addAbility(FlyingAbility.getInstance()); // {5}{U}{U}: Draw a card for each color among permanents you control. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new SoulOfRavnicaEffect(), new ManaCostsImpl("{5}{U}{U}"))); // {5}{U}{U}, Exile Soul of Ravnica from your graveyard: Draw a card for each color among permanents you control. Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new SoulOfRavnicaEffect(), new ManaCostsImpl("{5}{U}{U}")); ability.addCost(new ExileSourceFromGraveCost()); this.addAbility(ability); }
public SoulOfNewPhyrexia(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(6); // Trample this.addAbility(TrampleAbility.getInstance()); // {5}: Permanents you control gain indestructible until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn), new GenericManaCost(5))); // {5}, Exile Soul of New Phyrexia from your graveyard: Permanents you control gain indestructible until end of turn. Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new GainAbilityControlledEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn), new GenericManaCost(5)); ability.addCost(new ExileSourceFromGraveCost()); this.addAbility(ability); }
public NephaliaMoondrakes(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{U}{U}"); this.subtype.add(SubType.DRAKE); this.power = new MageInt(5); this.toughness = new MageInt(5); // Flying this.addAbility(FlyingAbility.getInstance()); // When Nephalia Moondrakes enters the battlefield, target creature gains flying until end of turn. Ability ability = new EntersBattlefieldTriggeredAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), false); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); // {4}{U}{U}, Exile Nephalia Moondrakes from your graveyard: Creatures you control gain flying until end of turn. ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES), new ManaCostsImpl("{4}{U}{U}")); ability.addCost(new ExileSourceFromGraveCost()); this.addAbility(ability); }
public SoulOfZendikar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(6); // Reach this.addAbility(ReachAbility.getInstance()); // {3}{G}{G}: Create a 3/3 green Beast creature token. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new BeastToken()), new ManaCostsImpl("{3}{G}{G}"))); // {3}{G}{G}, Exile Soul of Zendikar from your graveyard: Create a 3/3 green Beast creature token. Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new CreateTokenEffect(new BeastToken()), new ManaCostsImpl("{3}{G}{G}")); ability.addCost(new ExileSourceFromGraveCost()); this.addAbility(ability); }
public SoulOfInnistrad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(6); // Deathtouch this.addAbility(DeathtouchAbility.getInstance()); // {3}{B}{B}: Return up to three target creature cards from your graveyard to your hand. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl("{3}{B}{B}")); ability.addTarget(new TargetCardInYourGraveyard(0, 3, new FilterCreatureCard("creature cards from your graveyard"))); this.addAbility(ability); // {3}{B}{B}, Exile Soul of Innistrad from your graveyard: Return up to three target creature cards from your graveyard to your hand. ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl("{3}{B}{B}")); ability.addCost(new ExileSourceFromGraveCost()); ability.addTarget(new TargetCardInYourGraveyard(0, 3, new FilterCreatureCard("creature cards from your graveyard"))); this.addAbility(ability); }