[MOM] Implement Glistening Dawn

This commit is contained in:
theelk801 2023-04-04 08:52:02 -04:00
parent ce04ea9b7c
commit 40285cb878
2 changed files with 66 additions and 0 deletions

View file

@ -0,0 +1,65 @@
package mage.cards.g;
import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.keyword.IncubateEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.StaticFilters;
import mage.game.Game;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class GlisteningDawn extends CardImpl {
public GlisteningDawn(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{G}{G}");
// Incubate X twice, where X is the number of lands you control.
this.getSpellAbility().addEffect(new GlisteningDawnEffect());
}
private GlisteningDawn(final GlisteningDawn card) {
super(card);
}
@Override
public GlisteningDawn copy() {
return new GlisteningDawn(this);
}
}
class GlisteningDawnEffect extends OneShotEffect {
GlisteningDawnEffect() {
super(Outcome.Benefit);
staticText = "incubate X twice, where X is the number of lands you control. " +
"<i>(To incubate X, create an incubator token with X +1/+1 counters on it " +
"and \"{2}: Transform this artifact.\" It transforms into a 0/0 Phyrexian artifact creature.)</i>";
}
private GlisteningDawnEffect(final GlisteningDawnEffect effect) {
super(effect);
}
@Override
public GlisteningDawnEffect copy() {
return new GlisteningDawnEffect(this);
}
@Override
public boolean apply(Game game, Ability source) {
int lands = game.getBattlefield().count(
StaticFilters.FILTER_CONTROLLED_PERMANENT_LAND,
source.getControllerId(), source, game
);
new IncubateEffect(lands).apply(game, source);
new IncubateEffect(lands).apply(game, source);
return true;
}
}

View file

@ -57,6 +57,7 @@ public final class MarchOfTheMachine extends ExpansionSet {
cards.add(new SetCardInfo("Forest", 281, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Gift of Compleation", 106, Rarity.UNCOMMON, mage.cards.g.GiftOfCompleation.class));
cards.add(new SetCardInfo("Glissa, Herald of Predation", 226, Rarity.RARE, mage.cards.g.GlissaHeraldOfPredation.class));
cards.add(new SetCardInfo("Glistening Dawn", 187, Rarity.RARE, mage.cards.g.GlisteningDawn.class));
cards.add(new SetCardInfo("Glistening Deluge", 107, Rarity.UNCOMMON, mage.cards.g.GlisteningDeluge.class));
cards.add(new SetCardInfo("Gnottvold Hermit", 188, Rarity.UNCOMMON, mage.cards.g.GnottvoldHermit.class));
cards.add(new SetCardInfo("Harried Artisan", 143, Rarity.UNCOMMON, mage.cards.h.HarriedArtisan.class));