@Override public DrawDiscardControllerEffect copy() { return new DrawDiscardControllerEffect(this); }
public SurgeMare(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}{U}"); this.subtype.add(SubType.HORSE); this.subtype.add(SubType.FISH); this.power = new MageInt(0); this.toughness = new MageInt(5); // Surge Mare can't be blocked by green creatures. this.addAbility(new SimpleStaticAbility( Zone.BATTLEFIELD, new CantBeBlockedByCreaturesSourceEffect( filter, Duration.WhileOnBattlefield ) )); // Whenever Surge Mare deals damage to an opponent, you may draw a card. If you do, discard a card. this.addAbility(new DealsDamageToOpponentTriggeredAbility( new DrawDiscardControllerEffect(1, 1) .setText("you may draw a card. If you do, discard a card"), true )); // {1}{U}: Surge Mare gets +2/-2 until end of turn. this.addAbility(new SimpleActivatedAbility( Zone.BATTLEFIELD, new BoostSourceEffect(2, -2, Duration.EndOfTurn), new ManaCostsImpl("{1}{U}") )); }
public JaceCunningCastawayDamageTriggeredAbility() { super(new DrawDiscardControllerEffect(1, 1), Duration.EndOfTurn, false); }
public CetaSanctuary(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}"); // At the beginning of your upkeep, if you control a red or green permanent, draw a card, then discard a card. If you control a red permanent and a green permanent, instead draw two cards, then discard a card. Ability ability = new SanctuaryInterveningIfTriggeredAbility( new DrawDiscardControllerEffect(1, 1), new DrawDiscardControllerEffect(2, 1), ObjectColor.GREEN, ObjectColor.RED, "At the beginning of your upkeep, if you control a red or green permanent, draw a card, then discard a card. " + "If you control a red permanent and a green permanent, instead draw two cards, then discard a card." ); this.addAbility(ability); }
public EnhancedAwareness(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{4}{U}"); // Draw three cards, then discard a card. this.getSpellAbility().addEffect(new DrawDiscardControllerEffect(3,1)); }
public Catalog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{U}"); // Draw two cards, then discard a card. this.getSpellAbility().addEffect(new DrawDiscardControllerEffect(2,1)); }
public CarefulStudy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{U}"); // Draw two cards, then discard two cards. this.getSpellAbility().addEffect(new DrawDiscardControllerEffect(2,2)); }
public Thoughtflare(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{U}{R}"); // Draw four cards, then discard two cards. this.getSpellAbility().addEffect(new DrawDiscardControllerEffect(4, 2)); }
public Sift(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{U}"); // Draw three cards, then discard a card. this.getSpellAbility().addEffect(new DrawDiscardControllerEffect(3,1)); }
public BazaarOfBaghdad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // {tap}: Draw two cards, then discard three cards. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(2, 3), new TapSourceCost())); }
public CustomsDepot(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}"); // Whenever you cast a creature spell, you may pay {1}. If you do, draw a card, then discard a card. this.addAbility(new SpellCastControllerTriggeredAbility( new DoIfCostPaid( new DrawDiscardControllerEffect(), new GenericManaCost(1) ), StaticFilters.FILTER_SPELL_A_CREATURE, false )); }
public MerfolkTraders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(2); // When Merfolk Traders enters the battlefield, draw a card, then discard a card. this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawDiscardControllerEffect())); }
public VodalianMerchant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(2); // When Vodalian Merchant enters the battlefield, draw a card, then discard a card. this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawDiscardControllerEffect(1, 1, false))); }
public UnfulfilledDesires(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}{B}"); // {1}, Pay 1 life: Draw a card, then discard a card. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new ManaCostsImpl("{1}")); ability.addCost(new PayLifeCost(1)); this.addAbility(ability); }
public TrialOfKnowledge(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}"); // When Trial of Knowledge enters the battlefield, draw three cards, then discard a card. this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawDiscardControllerEffect(3, 1), false)); // When a Cartouche enters the battlefield under your control, return Trial of Knowledge to its owner's hand. this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new ReturnToHandSourceEffect(), filter, "When a Cartouche enters the battlefield under your control, return {this} to its owner's hand")); }
public EmmessiTome(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); // {5}, {tap}: Draw two cards, then discard a card. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(2,1), new ManaCostsImpl("{5}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); }
public JalumTome(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); // {2}, {tap}: Draw a card, then discard a card. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new ManaCostsImpl("{2}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); }
public ShipwreckLooter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.PIRATE); this.power = new MageInt(2); this.toughness = new MageInt(1); // Raid - When Shipwreck Looter enters the battlefield,if you attacked with a creature this turn, you may draw a card. If you do, discard a card. Ability ability = new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility(new DrawDiscardControllerEffect(1, 1, true)), RaidCondition.instance, "<i>Raid</i> — When {this} enters the battlefield, if you attacked with a creature this turn, you may draw a card. If you do, discard a card."); this.addAbility(ability, new PlayerAttackedWatcher()); }
public MaraudingLooter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{R}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.PIRATE); this.power = new MageInt(4); this.toughness = new MageInt(3); // Raid - At the beginning of your end step, if you attacked with a creature this turn, you may draw a card. If you do, discard a card. Ability ability = new ConditionalInterveningIfTriggeredAbility( new BeginningOfEndStepTriggeredAbility(new DrawDiscardControllerEffect(1, 1, true), TargetController.YOU, false), RaidCondition.instance, "<i>Raid</i> — At the beginning of your end step, " + "if you attacked with a creature this turn, " + "you may draw a card. If you do, discard a card."); this.addAbility(ability, new PlayerAttackedWatcher()); }
public OathOfJace(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}"); addSuperType(SuperType.LEGENDARY); // When Oath of Jace enters the battlefield, draw three cards, then discard two cards. this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawDiscardControllerEffect(3, 2), false)); // At the beginning of your upkeep, scry X, where X is the number of planeswalkers you control. this.addAbility(new BeginningOfUpkeepTriggeredAbility(new OathOfJaceEffect(), TargetController.YOU, false)); }