public RainOfThorns(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{G}{G}"); // Choose one or more - Destroy target artifact; destroy target enchantment; and/or destroy target land. this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetArtifactPermanent().withChooseHint("destroy")); this.getSpellAbility().getModes().setMaxModes(1); this.getSpellAbility().getModes().setMaxModes(3); Mode mode1 = new Mode(); mode1.addEffect(new DestroyTargetEffect()); mode1.addTarget(new TargetEnchantmentPermanent().withChooseHint("destroy")); this.getSpellAbility().addMode(mode1); Mode mode2 = new Mode(); mode2.addEffect(new DestroyTargetEffect()); mode2.addTarget(new TargetLandPermanent().withChooseHint("destroy")); this.getSpellAbility().addMode(mode2); }
public PlungeIntoDarkness(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{B}"); // Choose one - this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(1); // Sacrifice any number of creatures, then you gain 3 life for each sacrificed creature; this.getSpellAbility().addEffect(new PlungeIntoDarknessLifeEffect()); // or pay X life, then look at the top X cards of your library, put one of those cards into your hand, and exile the rest. Mode mode = new Mode(); mode.addEffect(new PlungeIntoDarknessSearchEffect()); this.getSpellAbility().getModes().addMode(mode); // Entwine {B} this.addAbility(new EntwineAbility("{B}")); }
public DisplayOfDominance(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{G}"); // Choose one - this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(1); // Destroy target blue or black noncreature permanent this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetPermanent(filter)); // or Permanents you control can't be the targets of blue or black spells your opponents control this turn Mode mode = new Mode(); mode.addEffect(new DisplayOfDominanceEffect()); this.getSpellAbility().getModes().addMode(mode); }
public BorrowedGrace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{W}"); // Escalate {1}{W} this.addAbility(new EscalateAbility(new ManaCostsImpl<>("{1}{W}"))); // Choose one or both — this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(2); // Creatures you control get +2/+0 until end of turn.; this.getSpellAbility().addEffect(new BoostControlledEffect(2, 0, Duration.EndOfTurn)); // Creatures you control get +0/+2 until end of turn. Mode mode = new Mode(); mode.addEffect(new BoostControlledEffect(0, 2, Duration.EndOfTurn)); this.getSpellAbility().addMode(mode); }
public FissureVent(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{R}{R}"); // Choose one or both - Destroy target artifact; and/or destroy target nonbasic land. this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(2); this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetArtifactPermanent().withChooseHint("destroy")); Mode mode1 = new Mode(); mode1.addEffect(new DestroyTargetEffect()); mode1.addTarget(new TargetNonBasicLandPermanent().withChooseHint("destroy")); this.getSpellAbility().addMode(mode1); }
public SecondSight(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}"); // Choose one - this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(1); //Look at the top five cards of target opponent's library, then put them back in any order; this.getSpellAbility().addEffect(new SecondSightEffect()); this.getSpellAbility().addTarget(new TargetOpponent()); //or look at the top five cards of your library, then put them back in any order. this.getSpellAbility().getModes().addMode(new Mode(new LookLibraryControllerEffect(5))); // Entwine {U} this.addAbility(new EntwineAbility("{U}")); }
public CrushContraband(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{W}"); // Choose one or both - Destroy target artifact; or Destroy target land. this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(2); this.getSpellAbility().addEffect(new ExileTargetEffect()); this.getSpellAbility().addTarget(new TargetArtifactPermanent().withChooseHint("destroy")); Mode mode1 = new Mode(); mode1.addEffect(new ExileTargetEffect()); mode1.addTarget(new TargetEnchantmentPermanent().withChooseHint("destroy")); this.getSpellAbility().addMode(mode1); }
public OneDozenEyes(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{G}"); // Choose one - this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(1); // Create a 5/5 green Beast creature token; this.getSpellAbility().addEffect(new CreateTokenEffect(new OneDozenEyesBeastToken())); // or create five 1/1 green Insect creature tokens. Mode mode = new Mode(); mode.addEffect(new CreateTokenEffect(new InsectToken(), 5)); this.getSpellAbility().addMode(mode); // Entwine {G}{G}{G} this.addAbility(new EntwineAbility("{G}{G}{G}")); }
public SwirlingTorrent(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{U}"); // Choose one or both — this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(2); // • Put target creature on top of its owner's library. this.getSpellAbility().addEffect(new PutOnLibraryTargetEffect(true)); this.getSpellAbility().addTarget(new TargetCreaturePermanent().withChooseHint("put on library top")); // • Return target creature to its owner's hand. Mode mode = new Mode(new ReturnToHandTargetEffect()); mode.addTarget(new TargetCreaturePermanent().withChooseHint("return to hand")); this.getSpellAbility().addMode(mode); }
public AppliedBiomancy(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{G}{U}"); // Choose one or both — this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(2); // • Target creature gets +1/+1 until end of turn. this.getSpellAbility().addEffect(new BoostTargetEffect(1, 1)); this.getSpellAbility().addTarget(new TargetCreaturePermanent().withChooseHint("gets +1/+1 until end of turn")); // • Return target creature to its owner's hand. Mode mode = new Mode(new ReturnToHandTargetEffect()); mode.addTarget(new TargetCreaturePermanent().withChooseHint("return to its owner's hand")); this.getSpellAbility().addMode(mode); }
public SoulManipulation(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}{B}"); // Choose one or both - this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(2); // Counter target creature spell; this.getSpellAbility().addEffect(new CounterTargetEffect()); this.getSpellAbility().addTarget(new TargetSpell(StaticFilters.FILTER_SPELL_CREATURE).withChooseHint("counter it")); // and/or return target creature card from your graveyard to your hand. Mode mode = new Mode(); mode.addEffect(new ReturnFromGraveyardToHandTargetEffect()); mode.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD).withChooseHint("return it to hand")); this.getSpellAbility().addMode(mode); }
public Winterflame(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}{R}"); // Choose one or both - this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(2); // * Tap target creature this.getSpellAbility().addEffect(new TapTargetEffect()); this.getSpellAbility().addTarget(new TargetCreaturePermanent().withChooseHint("tap")); // * Winterflame deals 2 damage to target creature Mode mode = new Mode(); mode.addEffect(new DamageTargetEffect(2)); mode.addTarget(new TargetCreaturePermanent().withChooseHint("deals 2 damage to")); this.getSpellAbility().addMode(mode); }
public BranchingBolt(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}{G}"); // Choose one or both - this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(2); // Branching Bolt deals 3 damage to target creature with flying; this.getSpellAbility().addEffect(new DamageTargetEffect(3)); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterFlying).withChooseHint("deals 3 damage, without flying")); // or Branching Bolt deals 3 damage to target creature without flying. Mode mode = new Mode(); mode.addEffect(new DamageTargetEffect(3)); mode.addTarget(new TargetCreaturePermanent(filterNotFlying).withChooseHint("deals 3 damage, without flying")); this.getSpellAbility().addMode(mode); }
public RememberTheFallen(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{W}"); // Choose one or both — this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(2); // • Return target creature card from your graveyard to your hand. this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD).withChooseHint("return to hand")); // • Return target artifact card from your graveyard to your hand. Mode mode = new Mode(); mode.addEffect(new ReturnToHandTargetEffect()); mode.addTarget(new TargetCardInYourGraveyard(filterArtifact).withChooseHint("return to hand")); this.getSpellAbility().addMode(mode); }
public RevivingMelody(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{G}"); // Choose one or both - this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(2); //Return target creature card from your graveyard to your hand; this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect()); this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD).withChooseHint("return to hand")); // and/or return target enchantment card from your graveyard to your hand. Mode mode = new Mode(); mode.addEffect(new ReturnFromGraveyardToHandTargetEffect()); mode.addTarget(new TargetCardInYourGraveyard(filterCard).withChooseHint("return to hand")); this.getSpellAbility().addMode(mode); }
public DawnToDusk(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{W}{W}"); // Choose one or both - this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(2); // Return target enchantment card from your graveyard to your hand; this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect()); this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(filterCard).withChooseHint("return from graveyard to hand")); // and/or destroy target enchantment. Mode mode = new Mode(); mode.addEffect(new DestroyTargetEffect()); mode.addTarget(new TargetEnchantmentPermanent().withChooseHint("destroy")); this.getSpellAbility().addMode(mode); }
public GrimDiscovery(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{B}"); // Choose one or both - this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(2); // Return target creature card from your graveyard to your hand; this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD).withChooseHint("return to hand")); // and/or return target land card from your graveyard to your hand. Mode mode1 = new Mode(); mode1.addEffect(new ReturnToHandTargetEffect()); mode1.addTarget(new TargetCardInYourGraveyard(filterLandCard).withChooseHint("return to hand")); this.getSpellAbility().addMode(mode1); }
public Vandalize(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{R}"); // Choose one or both - Destroy target artifact; or Destroy target land. this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(2); // Destroy target artifact this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetArtifactPermanent().withChooseHint("destroy")); // Destroy target land Mode mode1 = new Mode(); mode1.addEffect(new DestroyTargetEffect()); mode1.addTarget(new TargetLandPermanent().withChooseHint("destroy")); this.getSpellAbility().addMode(mode1); }
public FortuitousFind(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{B}"); // Choose one or both — this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(2); // Return target artifact card from your graveyard to your hand.; this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(new FilterArtifactCard("artifact card from your graveyard")).withChooseHint("return to hand")); // or Return target creature card from your graveyard to your hand. Mode mode = new Mode(); mode.addEffect(new ReturnToHandTargetEffect()); mode.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD).withChooseHint("return to hand")); this.getSpellAbility().addMode(mode); }
public ReapAndSow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{G}"); // Choose one - this.getSpellAbility().getModes().setMinModes(1); this.getSpellAbility().getModes().setMaxModes(1); //Destroy target land; this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetLandPermanent()); //or search your library for a land card, put that card onto the battlefield, then shuffle your library. Mode mode = new Mode(); mode.addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(new FilterLandCard()))); this.getSpellAbility().getModes().addMode(mode); // Entwine {1}{G} this.addAbility(new EntwineAbility("{1}{G}")); }