[TDM] Implement Awaken the Honored Dead

This commit is contained in:
theelk801 2025-03-23 09:26:52 -04:00
parent 78817d7522
commit 9fc89fde9f
2 changed files with 65 additions and 0 deletions

View file

@ -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);
}
}

View file

@ -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));