diff --git a/Mage.Sets/src/mage/cards/a/AwakenTheHonoredDead.java b/Mage.Sets/src/mage/cards/a/AwakenTheHonoredDead.java new file mode 100644 index 00000000000..7a5afb6befb --- /dev/null +++ b/Mage.Sets/src/mage/cards/a/AwakenTheHonoredDead.java @@ -0,0 +1,64 @@ +package mage.cards.a; + +import mage.abilities.common.SagaAbility; +import mage.abilities.common.delayed.ReflexiveTriggeredAbility; +import mage.abilities.costs.common.DiscardCardCost; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.effects.common.DoWhenCostPaid; +import mage.abilities.effects.common.MillCardsControllerEffect; +import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SagaChapter; +import mage.constants.SubType; +import mage.filter.StaticFilters; +import mage.target.common.TargetCardInYourGraveyard; +import mage.target.common.TargetNonlandPermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class AwakenTheHonoredDead extends CardImpl { + + public AwakenTheHonoredDead(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{B}{G}{U}"); + + this.subtype.add(SubType.SAGA); + + // (As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.) + SagaAbility sagaAbility = new SagaAbility(this); + + // I -- Destroy target nonland permanent. + sagaAbility.addChapterEffect( + this, SagaChapter.CHAPTER_I, + new DestroyTargetEffect(), new TargetNonlandPermanent() + ); + + // II -- Mill three cards. + sagaAbility.addChapterEffect( + this, SagaChapter.CHAPTER_II, + new MillCardsControllerEffect(3) + ); + + // III -- You may discard a card. When you do, return target creature or land card from your graveyard to your hand. + ReflexiveTriggeredAbility ability = new ReflexiveTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect(), false); + ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_OR_LAND)); + sagaAbility.addChapterEffect( + this, SagaChapter.CHAPTER_III, + new DoWhenCostPaid(ability, new DiscardCardCost(), "Discard a card?") + ); + this.addAbility(sagaAbility); + } + + private AwakenTheHonoredDead(final AwakenTheHonoredDead card) { + super(card); + } + + @Override + public AwakenTheHonoredDead copy() { + return new AwakenTheHonoredDead(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TarkirDragonstorm.java b/Mage.Sets/src/mage/sets/TarkirDragonstorm.java index 69b505eec06..266b8e249b5 100644 --- a/Mage.Sets/src/mage/sets/TarkirDragonstorm.java +++ b/Mage.Sets/src/mage/sets/TarkirDragonstorm.java @@ -26,6 +26,7 @@ public final class TarkirDragonstorm extends ExpansionSet { cards.add(new SetCardInfo("Alesha's Legacy", 72, Rarity.COMMON, mage.cards.a.AleshasLegacy.class)); cards.add(new SetCardInfo("Anafenza, Unyielding Lineage", 2, Rarity.RARE, mage.cards.a.AnafenzaUnyieldingLineage.class)); cards.add(new SetCardInfo("Auroral Procession", 169, Rarity.UNCOMMON, mage.cards.a.AuroralProcession.class)); + cards.add(new SetCardInfo("Awaken the Honored Dead", 170, Rarity.RARE, mage.cards.a.AwakenTheHonoredDead.class)); cards.add(new SetCardInfo("Barrensteppe Siege", 171, Rarity.RARE, mage.cards.b.BarrensteppeSiege.class)); cards.add(new SetCardInfo("Bearer of Glory", 4, Rarity.COMMON, mage.cards.b.BearerOfGlory.class)); cards.add(new SetCardInfo("Bloodfell Caves", 250, Rarity.COMMON, mage.cards.b.BloodfellCaves.class));