[KHM] Implemented Binding the Old Gods (#7345)

This commit is contained in:
Daniel Bomar 2021-01-08 11:35:07 -06:00 committed by GitHub
parent 791e8e1716
commit 15f2f15d4b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 67 additions and 0 deletions

View file

@ -0,0 +1,66 @@
package mage.cards.b;
import java.util.UUID;
import mage.abilities.common.SagaAbility;
import mage.abilities.effects.common.DestroyTargetEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect;
import mage.abilities.keyword.DeathtouchAbility;
import mage.constants.*;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.filter.StaticFilters;
import mage.filter.common.FilterBySubtypeCard;
import mage.filter.common.FilterNonlandPermanent;
import mage.target.common.TargetCardInLibrary;
import mage.target.common.TargetNonlandPermanent;
/**
*
* @author weirddan455
*/
public final class BindingTheOldGods extends CardImpl {
private static final FilterNonlandPermanent filter
= new FilterNonlandPermanent("nonland permanent an opponent controls");
private static final FilterBySubtypeCard filter2
= new FilterBySubtypeCard(SubType.FOREST);
static {
filter.add(TargetController.OPPONENT.getControllerPredicate());
}
public BindingTheOldGods(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}{G}");
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 Destroy target nonland permanent an opponent controls.
sagaAbility.addChapterEffect(
this, SagaChapter.CHAPTER_I, SagaChapter.CHAPTER_I,
new DestroyTargetEffect(), new TargetNonlandPermanent(filter)
);
// II Search your library for a Forest card, put it onto the battlefield tapped, then shuffle your library.
sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_II,
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter2), true)
);
// III Creatures you control gain deathtouch until end of turn.
sagaAbility.addChapterEffect(this, SagaChapter.CHAPTER_III,
new GainAbilityControlledEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn,
StaticFilters.FILTER_CONTROLLED_CREATURES)
);
this.addAbility(sagaAbility);
}
private BindingTheOldGods(final BindingTheOldGods card) {
super(card);
}
@Override
public BindingTheOldGods copy() {
return new BindingTheOldGods(this);
}
}

View file

@ -48,6 +48,7 @@ public final class Kaldheim extends ExpansionSet {
cards.add(new SetCardInfo("Barkchannel Pathway", 251, Rarity.RARE, mage.cards.b.BarkchannelPathway.class)); cards.add(new SetCardInfo("Barkchannel Pathway", 251, Rarity.RARE, mage.cards.b.BarkchannelPathway.class));
cards.add(new SetCardInfo("Bearded Axe", 388, Rarity.UNCOMMON, mage.cards.b.BeardedAxe.class)); cards.add(new SetCardInfo("Bearded Axe", 388, Rarity.UNCOMMON, mage.cards.b.BeardedAxe.class));
cards.add(new SetCardInfo("Behold the Multiverse", 46, Rarity.COMMON, mage.cards.b.BeholdTheMultiverse.class)); cards.add(new SetCardInfo("Behold the Multiverse", 46, Rarity.COMMON, mage.cards.b.BeholdTheMultiverse.class));
cards.add(new SetCardInfo("Binding the Old Gods", 206, Rarity.UNCOMMON, mage.cards.b.BindingTheOldGods.class));
cards.add(new SetCardInfo("Blightstep Pathway", 252, Rarity.RARE, mage.cards.b.BlightstepPathway.class)); cards.add(new SetCardInfo("Blightstep Pathway", 252, Rarity.RARE, mage.cards.b.BlightstepPathway.class));
cards.add(new SetCardInfo("Canopy Tactician", 378, Rarity.RARE, mage.cards.c.CanopyTactician.class)); cards.add(new SetCardInfo("Canopy Tactician", 378, Rarity.RARE, mage.cards.c.CanopyTactician.class));
cards.add(new SetCardInfo("Cleaving Reaper", 376, Rarity.RARE, mage.cards.c.CleavingReaper.class)); cards.add(new SetCardInfo("Cleaving Reaper", 376, Rarity.RARE, mage.cards.c.CleavingReaper.class));