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 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 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 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)); }
public OwlFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); // Flying this.addAbility(FlyingAbility.getInstance()); // When Owl Familiar enters the battlefield, draw a card, then discard a card. this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawDiscardControllerEffect())); }
public OrtolanKeyboardist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); this.subtype.add(SubType.ORTOLAN); this.power = new MageInt(1); this.toughness = new MageInt(1); // {T}: Draw a card then discard a card. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new TapSourceCost())); }
public DesolateLighthouse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // {tap}: Add {C}. this.addAbility(new ColorlessManaAbility()); // {1}{U}{R}, {tap}: Draw a card, then discard a card. SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new ManaCostsImpl("{1}{U}{R}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); }
public LooterIlKor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); this.subtype.add(SubType.KOR); this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); // Shadow this.addAbility(ShadowAbility.getInstance()); // Whenever Looter il-Kor deals damage to an opponent, draw a card, then discard a card. this.addAbility(new DealsDamageToOpponentTriggeredAbility(new DrawDiscardControllerEffect())); }
public Riddlesmith (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(1); // Whenever you cast an artifact spell, you may draw a card. If you do, discard a card. this.addAbility(new SpellCastControllerTriggeredAbility(new DrawDiscardControllerEffect(), new FilterArtifactSpell("an artifact spell"), true)); }
public ThoughtCourier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); // {tap}: Draw a card, then discard a card. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new TapSourceCost())); }
public FranticSearch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{U}"); // Draw two cards, then discard two cards. Untap up to three lands. this.getSpellAbility().addEffect(new DrawDiscardControllerEffect(2, 2)); this.getSpellAbility().addEffect(new UntapLandsEffect(3)); }
public ResearchAssistant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); // {3}{U}, {T}: Draw a card, then discard a card. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new ManaCostsImpl("{3}{U}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); }
public BaralChiefOfCompliance(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.HUMAN, SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); // Instant and sorcery spells you cast cost {1} less to cast. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, 1))); // Whenever a spell or ability you control counters a spell, you may draw a card. If you do, discard a card. this.addAbility(new SpellCounteredControllerTriggeredAbility(new DrawDiscardControllerEffect(), true)); }
public SphinxsTutelage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}"); // Whenever you draw a card, target opponent puts the top two cards of their library into their graveyard. If they're both nonland cards that share a color, repeat this process. Ability ability = new DrawCardControllerTriggeredAbility(new SphinxsTutelageEffect(), false); ability.addTarget(new TargetOpponent()); this.addAbility(ability); // {5}{U}: Draw a card, then discard a card. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(1, 1), new ManaCostsImpl<>("{5}{U}"))); }
public PulseOfTheGrid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{U}{U}"); // Draw two cards, then discard a card. Then if an opponent has more cards in hand than you, return Pulse of the Grid to its owner's hand. this.getSpellAbility().addEffect(new DrawDiscardControllerEffect(2, 1)); this.getSpellAbility().addEffect(new PulseOfTheGridReturnToHandEffect()); }
public StatuteOfDenial(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{U}{U}"); // Counter target spell. If you control a blue creature, draw a card, then discard a card. this.getSpellAbility().addEffect(new CounterTargetEffect()); this.getSpellAbility().addTarget(new TargetSpell()); this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new DrawDiscardControllerEffect(1,1), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 0, true), "If you control a blue creature, draw a card, then discard a card")); }
public FaithlessLooting(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{R}"); // Draw two cards, then discard two cards. this.getSpellAbility().addEffect(new DrawDiscardControllerEffect(2,2)); // Flashback {2}{R} this.addAbility(new FlashbackAbility(new ManaCostsImpl("{2}{R}"), TimingRule.SORCERY)); }
public InspiredSprite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); this.subtype.add(SubType.FAERIE); this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(FlashAbility.getInstance()); this.addAbility(FlyingAbility.getInstance()); this.addAbility(new SpellCastControllerTriggeredAbility(new UntapSourceEffect(), filter, true)); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new TapSourceCost())); }
public FailedInspection(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{U}{U}"); // Counter target spell. Draw a card, then discard a card. this.getSpellAbility().addEffect(new CounterTargetEffect()); this.getSpellAbility().addTarget(new TargetSpell()); this.getSpellAbility().addEffect(new DrawDiscardControllerEffect(1, 1)); }