diff --git a/Mage.Sets/src/mage/cards/e/EdenSeatOfTheSanctum.java b/Mage.Sets/src/mage/cards/e/EdenSeatOfTheSanctum.java new file mode 100644 index 00000000000..a0eef76e73e --- /dev/null +++ b/Mage.Sets/src/mage/cards/e/EdenSeatOfTheSanctum.java @@ -0,0 +1,62 @@ +package mage.cards.e; + +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.delayed.ReflexiveTriggeredAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.DoWhenCostPaid; +import mage.abilities.effects.common.MillCardsControllerEffect; +import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; +import mage.abilities.mana.ColorlessManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.FilterCard; +import mage.filter.common.FilterPermanentCard; +import mage.filter.predicate.mageobject.AnotherPredicate; +import mage.target.common.TargetCardInYourGraveyard; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class EdenSeatOfTheSanctum extends CardImpl { + + private static final FilterCard filter = new FilterPermanentCard("another target permanent card from your graveyard"); + + static { + filter.add(AnotherPredicate.instance); + } + + public EdenSeatOfTheSanctum(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + this.subtype.add(SubType.TOWN); + + // {T}: Add {C}. + this.addAbility(new ColorlessManaAbility()); + + // {5}, {T}: Mill two cards. Then you may sacrifice this land. When you do, return another target permanent card from your graveyard to your hand. + Ability ability = new SimpleActivatedAbility(new MillCardsControllerEffect(2), new GenericManaCost(5)); + ability.addCost(new TapSourceCost()); + ReflexiveTriggeredAbility rAbility = new ReflexiveTriggeredAbility( + new ReturnFromGraveyardToHandTargetEffect(), false + ); + rAbility.addTarget(new TargetCardInYourGraveyard(filter)); + ability.addEffect(new DoWhenCostPaid(rAbility, new SacrificeSourceCost(), "Sacrifice this land?").concatBy("Then")); + this.addAbility(ability); + } + + private EdenSeatOfTheSanctum(final EdenSeatOfTheSanctum card) { + super(card); + } + + @Override + public EdenSeatOfTheSanctum copy() { + return new EdenSeatOfTheSanctum(this); + } +} diff --git a/Mage.Sets/src/mage/sets/FinalFantasy.java b/Mage.Sets/src/mage/sets/FinalFantasy.java index 5fcd0ba85ce..d3925cbab77 100644 --- a/Mage.Sets/src/mage/sets/FinalFantasy.java +++ b/Mage.Sets/src/mage/sets/FinalFantasy.java @@ -168,6 +168,7 @@ public final class FinalFantasy extends ExpansionSet { cards.add(new SetCardInfo("Dragoon's Wyvern", 49, Rarity.COMMON, mage.cards.d.DragoonsWyvern.class)); cards.add(new SetCardInfo("Dreams of Laguna", 50, Rarity.COMMON, mage.cards.d.DreamsOfLaguna.class)); cards.add(new SetCardInfo("Dwarven Castle Guard", 18, Rarity.COMMON, mage.cards.d.DwarvenCastleGuard.class)); + cards.add(new SetCardInfo("Eden, Seat of the Sanctum", 277, Rarity.UNCOMMON, mage.cards.e.EdenSeatOfTheSanctum.class)); cards.add(new SetCardInfo("Edgar, King of Figaro", 436, Rarity.RARE, mage.cards.e.EdgarKingOfFigaro.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Edgar, King of Figaro", 51, Rarity.RARE, mage.cards.e.EdgarKingOfFigaro.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Eject", 52, Rarity.UNCOMMON, mage.cards.e.Eject.class));