public MindOverMatter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}{U}{U}{U}"); // Discard a card: You may tap or untap target artifact, creature, or land. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MayTapOrUntapTargetEffect(), new DiscardCardCost()); ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); }
public ThalakosDrifters(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); this.subtype.add(SubType.THALAKOS); this.power = new MageInt(3); this.toughness = new MageInt(3); // Discard a card: Thalakos Drifters gains shadow until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(ShadowAbility.getInstance(), Duration.EndOfTurn), new DiscardCardCost())); }
public StromkirkCondemned(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); this.subtype.add(SubType.VAMPIRE); this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(2); // Discard a card: Vampires you control get +1/+1 until end of turn. Activate this ability only once each turn. this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.EndOfTurn, filter, false), new DiscardCardCost())); }
public OliviasDragoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); this.subtype.add(SubType.VAMPIRE); this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(2); // Discard a card: Olivia's Dragoon gains flying until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new DiscardCardCost())); }
public Hypothesizzle(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{U}{R}"); // Draw two cards. Then you may discard a nonland card. When you do, Hypothesizzle deals 4 damage to target creature. this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2)); this.getSpellAbility().addEffect(new DoIfCostPaid( new HypothesizzleCreateReflexiveTriggerEffect(), new DiscardCardCost(StaticFilters.FILTER_CARD_A_NON_LAND), "Discard a nonland card to deal 4 damage?" ).setText("Then you may discard a nonland card. " + "When you do, {this} deals 4 damage to target creature.")); }
public ThalakosScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); this.subtype.add(SubType.THALAKOS); this.subtype.add(SubType.SOLDIER); this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(1); // Shadow this.addAbility(ShadowAbility.getInstance()); // Discard a card: Return Thalakos Scout to its owner's hand. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandSourceEffect(), new DiscardCardCost())); }
public Fleshgrafter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); // Discard an artifact card: Fleshgrafter gets +2/+2 until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new DiscardCardCost(new FilterArtifactCard("an artifact card")))); }
public EarsplittingRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); this.subtype.add(SubType.RAT); this.power = new MageInt(2); this.toughness = new MageInt(1); // When Earsplitting Rats enters the battlefield, each player discards a card. this.addAbility(new EntersBattlefieldTriggeredAbility(new DiscardEachPlayerEffect())); // Discard a card: Regenerate Earsplitting Rats. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new DiscardCardCost())); }
public MentalDiscipline(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}{U}"); // {1}{U}, Discard a card: Draw a card. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{1}{U}")); ability.addCost(new DiscardCardCost()); this.addAbility(ability); }
public SonicBurst(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R}"); // As an additional cost to cast Sonic Burst, discard a card at random. this.getSpellAbility().addCost(new DiscardCardCost(true)); // Sonic Burst deals 4 damage to any target. this.getSpellAbility().addEffect(new DamageTargetEffect(4)); this.getSpellAbility().addTarget(new TargetAnyTarget()); }
public Pyromancy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}{R}"); // {3}, Discard a card at random: Pyromancy deals damage to any target equal to the converted mana cost of the discarded card. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(DiscardCostCardConvertedMana.instance), new ManaCostsImpl("{3}")); ability.addTarget(new TargetAnyTarget()); ability.addCost(new DiscardCardCost(true)); this.addAbility(ability); }
public CoralHelm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); // {3}, Discard a card at random: Target creature gets +2/+2 until end of turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(2, 2, Duration.EndOfTurn), new GenericManaCost(3)); ability.addCost(new DiscardCardCost(true)); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); }
public FreneticOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); this.subtype.add(SubType.OGRE); this.power = new MageInt(2); this.toughness = new MageInt(3); // {R}, Discard a card at random: Frenetic Ogre gets +3/+0 until end of turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(3, 0, Duration.EndOfTurn), new ManaCostsImpl("{R}")); ability.addCost(new DiscardCardCost(true)); this.addAbility(ability); }
public FlowstoneSculpture(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{6}"); this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(4); this.toughness = new MageInt(4); // {2}, Discard a card: Put a +1/+1 counter on Flowstone Sculpture or Flowstone Sculpture gains flying, first strike, or trample. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new FlowstoneSculptureEffect(), new ManaCostsImpl("{2}")); ability.addCost(new DiscardCardCost()); this.addAbility(ability); }
public CallTheBloodline(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); // {1}, Discard a card: Create a 1/1 black Vampire Knight token with lifelink. Activate this ability only once each turn. Ability ability = new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new VampireKnightToken()), new GenericManaCost(1)); ability.addCost(new DiscardCardCost()); this.addAbility(ability); }
public PiratesPillage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{R}"); // As an additional cost to cast Pirate's Pillage, discard a card. this.getSpellAbility().addCost(new DiscardCardCost(false)); // Draw two cards and create two colorless Treasure artifacts with "{T}, Sacrifice this artifact: Add one mana of any color." this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(2)); this.getSpellAbility().addEffect(new CreateTokenEffect(new TreasureToken(), 2) .setText("and create two colorless Treasure artifacts with \"{T}, Sacrifice this artifact: Add one mana of any color")); }
public BogWitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); this.subtype.add(SubType.HUMAN, SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); // {B}, {tap}, Discard a card: Add {B}{B}{B}. Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(3), new ManaCostsImpl("{B}")); ability.addCost(new TapSourceCost()); ability.addCost(new DiscardCardCost()); this.addAbility(ability); }
public UrborgSyphonMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(2); this.toughness = new MageInt(2); // {2}{B}, {tap}, Discard a card: Each other player loses 2 life. You gain life equal to the life lost this way. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UrborgSyphonMageEffect(), new ManaCostsImpl("{2}{B}")); ability.addCost(new TapSourceCost()); ability.addCost(new DiscardCardCost()); this.addAbility(ability); }
public ThrabenStandardBearer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); // {1}{W}, {T}, Discard a card: Create a 1/1 white Human Soldier creature token. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new HumanSoldierToken()), new ManaCostsImpl<>("{1}{W}")); ability.addCost(new TapSourceCost()); ability.addCost(new DiscardCardCost()); this.addAbility(ability); }
public IcatianCrier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); // {1}{W}, {tap}, Discard a card: Create two 1/1 white Citizen creature tokens. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new CitizenToken(), 2), new ManaCostsImpl("{1}{W}")); ability.addCost(new TapSourceCost()); ability.addCost(new DiscardCardCost()); this.addAbility(ability); }