@Override public ExileSourceUnlessPaysEffect copy() { return new ExileSourceUnlessPaysEffect(this); }
public DemonlordOfAshmouth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); // When Demonlord of Ashmouth enters the battlefield, exile it unless you sacrifice another creature. this.addAbility(new EntersBattlefieldTriggeredAbility(new ExileSourceUnlessPaysEffect(new SacrificeTargetCost(new TargetControlledPermanent(filter))))); this.addAbility(new UndyingAbility()); }
public BodySnatcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); this.subtype.add(SubType.MINION); this.power = new MageInt(2); this.toughness = new MageInt(2); // When Body Snatcher enters the battlefield, exile it unless you discard a creature card. this.addAbility(new EntersBattlefieldTriggeredAbility(new ExileSourceUnlessPaysEffect(new DiscardTargetCost(new TargetCardInHand(new FilterCreatureCard("a creature card")))))); // When Body Snatcher dies, exile Body Snatcher and return target creature card from your graveyard to the battlefield. Effect effect = new ReturnFromGraveyardToBattlefieldTargetEffect(); effect.setText("and return target creature card from your graveyard to the battlefield"); Ability ability = new DiesTriggeredAbility(new ExileSourceEffect(), false); ability.addEffect(effect); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); this.addAbility(ability); }