[KHM] Implemented Forging the Tyrite Sword

This commit is contained in:
Evan Kranzler 2021-01-08 22:27:17 -05:00
parent 09ee21fea2
commit a38e78362a
2 changed files with 68 additions and 0 deletions

View file

@ -0,0 +1,67 @@
package mage.cards.f;
import mage.abilities.common.SagaAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SagaChapter;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.NamePredicate;
import mage.game.permanent.token.TreasureToken;
import mage.target.common.TargetCardInLibrary;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class ForgingTheTyriteSword extends CardImpl {
private static final FilterCard filter
= new FilterCard("a card named Halvar, God of Battle or an Equipment card");
static {
filter.add(Predicates.or(
new NamePredicate("Halvar, God of Battle"),
SubType.EQUIPMENT.getPredicate()
));
}
public ForgingTheTyriteSword(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}{W}");
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, SagaChapter.CHAPTER_III);
// I, II Create a Treasure token.
sagaAbility.addChapterEffect(
this, SagaChapter.CHAPTER_I, SagaChapter.CHAPTER_II,
new CreateTokenEffect(new TreasureToken())
);
// III Search your library for a card named Halvar, God of Battle or an Equipment card, reveal it, put it into your hand, then shuffle your library.
sagaAbility.addChapterEffect(
this, SagaChapter.CHAPTER_III,
new SearchLibraryPutInHandEffect(
new TargetCardInLibrary(filter), true
)
);
this.addAbility(sagaAbility);
}
private ForgingTheTyriteSword(final ForgingTheTyriteSword card) {
super(card);
}
@Override
public ForgingTheTyriteSword copy() {
return new ForgingTheTyriteSword(this);
}
}

View file

@ -56,6 +56,7 @@ public final class Kaldheim extends ExpansionSet {
cards.add(new SetCardInfo("Elderfang Ritualist", 385, Rarity.UNCOMMON, mage.cards.e.ElderfangRitualist.class));
cards.add(new SetCardInfo("Elven Ambush", 391, Rarity.UNCOMMON, mage.cards.e.ElvenAmbush.class));
cards.add(new SetCardInfo("Fire Giant's Fury", 389, Rarity.UNCOMMON, mage.cards.f.FireGiantsFury.class));
cards.add(new SetCardInfo("Forging the Tyrite Sword", 211, Rarity.UNCOMMON, mage.cards.f.ForgingTheTyriteSword.class));
cards.add(new SetCardInfo("Frost Bite", 138, Rarity.COMMON, mage.cards.f.FrostBite.class));
cards.add(new SetCardInfo("Giant's Grasp", 384, Rarity.UNCOMMON, mage.cards.g.GiantsGrasp.class));
cards.add(new SetCardInfo("Gilded Assault Cart", 390, Rarity.UNCOMMON, mage.cards.g.GildedAssaultCart.class));