@Override public DiscardHandCost copy() { return new DiscardHandCost(this); }
public LionsEyeDiamondAbility() { super(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(3), new DiscardHandCost()); this.addCost(new SacrificeSourceCost()); this.netMana.add(new Mana(0, 0, 0, 0, 0, 0, 3, 0)); }
public Perplex(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{U}{B}"); // Counter target spell unless its controller discards their hand. Effect effect = new CounterUnlessPaysEffect(new DiscardHandCost()); effect.setText("Counter target spell unless its controller discards their hand"); this.getSpellAbility().addEffect(effect); this.getSpellAbility().addTarget(new TargetSpell()); // Transmute {1}{U}{B} this.addAbility(new TransmuteAbility("{1}{U}{B}")); }
public KaerveksSpite(UUID ownerId, CardSetInfo cardSetInfo) { super(ownerId, cardSetInfo, new CardType[]{CardType.INSTANT}, "{B}{B}{B}"); // As an additional cost to cast Kaervek's Spite, sacrifice all permanents you control and discard your hand. this.getSpellAbility().addCost(new SacrificeAllCost(new FilterControlledPermanent("permanents you control"))); this.getSpellAbility().addCost(new DiscardHandCost()); // Target player loses 5 life. Effect effect = new LoseLifeTargetEffect(5); this.getSpellAbility().addEffect(effect); }
public NullBrooch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); // {2}, {tap}, Discard your hand: Counter target noncreature spell. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterTargetEffect(), new ManaCostsImpl("{2}")); ability.addCost(new TapSourceCost()); ability.addCost(new DiscardHandCost()); ability.addTarget(new TargetSpell(filter)); this.addAbility(ability); }
public KyrenArchive(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); // At the beginning of your upkeep, you may exile the top card of your library face down. this.addAbility(new BeginningOfUpkeepTriggeredAbility(new KyrenArchiveExileEffect(), TargetController.YOU, true)); // {5}, Discard your hand, Sacrifice Kyren Archive: Put all cards exiled with Kyren Archive into their owner's hand. Ability ability = new SimpleActivatedAbility( Zone.BATTLEFIELD, new KyrenArchiveReturnEffect(), new GenericManaCost(5) ); ability.addCost(new DiscardHandCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); }
public SlateOfAncestry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); // {4}, {tap}, Discard your hand: Draw a card for each creature you control. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(new FilterControlledCreaturePermanent("creature you control"))), new GenericManaCost(4)); ability.addCost(new TapSourceCost()); ability.addCost(new DiscardHandCost()); this.addAbility(ability); }
public BomatCourier(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}"); this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(1); // Haste this.addAbility(HasteAbility.getInstance()); // Whenever Bomat Courier attacks, exile the top card of your library face down. this.addAbility(new AttacksTriggeredAbility(new BomatCourierExileEffect(), false)); // {R}, Discard your hand, Sacrifice Bomat Courier: Put all cards exiled with Bomat Courier into their owners' hands. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BomatCourierReturnEffect(), new ColoredManaCost(ColoredManaSymbol.R)); ability.addCost(new DiscardHandCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); }