Implemented Sublime Epiphany

This commit is contained in:
Evan Kranzler 2020-06-14 21:58:42 -04:00
parent c5fab9e8f6
commit df32cf67e4
2 changed files with 65 additions and 0 deletions

View file

@ -0,0 +1,64 @@
package mage.cards.s;
import mage.abilities.Mode;
import mage.abilities.effects.common.CounterTargetEffect;
import mage.abilities.effects.common.CreateTokenCopyTargetEffect;
import mage.abilities.effects.common.DrawCardTargetEffect;
import mage.abilities.effects.common.ReturnToHandTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.target.TargetPlayer;
import mage.target.TargetSpell;
import mage.target.common.TargetActivatedOrTriggeredAbility;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetNonlandPermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class SublimeEpiphany extends CardImpl {
public SublimeEpiphany(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{4}{U}{U}");
// Choose one or more
this.getSpellAbility().getModes().setMinModes(1);
this.getSpellAbility().getModes().setMaxModes(5);
// Counter target spell
this.getSpellAbility().addEffect(new CounterTargetEffect());
this.getSpellAbility().addTarget(new TargetSpell());
// Counter target activated or triggered ability.
Mode mode = new Mode(new CounterTargetEffect());
mode.addTarget(new TargetActivatedOrTriggeredAbility());
this.getSpellAbility().addMode(mode);
// Return target nonland permanent to its owner's hand.
mode = new Mode(new ReturnToHandTargetEffect());
mode.addTarget(new TargetNonlandPermanent());
this.getSpellAbility().addMode(mode);
// Create a token that's a copy of target creature you control.
mode = new Mode(new CreateTokenCopyTargetEffect());
mode.addTarget(new TargetControlledCreaturePermanent());
this.getSpellAbility().addMode(mode);
// Target player draws a card.
mode = new Mode(new DrawCardTargetEffect(1));
mode.addTarget(new TargetPlayer());
this.getSpellAbility().addMode(mode);
}
private SublimeEpiphany(final SublimeEpiphany card) {
super(card);
}
@Override
public SublimeEpiphany copy() {
return new SublimeEpiphany(this);
}
}

View file

@ -159,6 +159,7 @@ public final class CoreSet2021 extends ExpansionSet {
cards.add(new SetCardInfo("Sporeweb Weaver", 208, Rarity.RARE, mage.cards.s.SporewebWeaver.class)); cards.add(new SetCardInfo("Sporeweb Weaver", 208, Rarity.RARE, mage.cards.s.SporewebWeaver.class));
cards.add(new SetCardInfo("Storm Caller", 335, Rarity.COMMON, mage.cards.s.StormCaller.class)); cards.add(new SetCardInfo("Storm Caller", 335, Rarity.COMMON, mage.cards.s.StormCaller.class));
cards.add(new SetCardInfo("Stormwing Entity", 73, Rarity.RARE, mage.cards.s.StormwingEntity.class)); cards.add(new SetCardInfo("Stormwing Entity", 73, Rarity.RARE, mage.cards.s.StormwingEntity.class));
cards.add(new SetCardInfo("Sublime Epiphany", 74, Rarity.RARE, mage.cards.s.SublimeEpiphany.class));
cards.add(new SetCardInfo("Swamp", 311, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Swamp", 311, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Teferi's Ageless Insight", 76, Rarity.RARE, mage.cards.t.TeferisAgelessInsight.class)); cards.add(new SetCardInfo("Teferi's Ageless Insight", 76, Rarity.RARE, mage.cards.t.TeferisAgelessInsight.class));
cards.add(new SetCardInfo("Teferi's Protege", 77, Rarity.COMMON, mage.cards.t.TeferisProtege.class)); cards.add(new SetCardInfo("Teferi's Protege", 77, Rarity.COMMON, mage.cards.t.TeferisProtege.class));