[ZNR] Implemented Emeria's Call / Emeria, Shattered Skyclave

This commit is contained in:
Evan Kranzler 2020-09-08 15:35:52 -04:00
parent 615fba5a72
commit 661119e462
4 changed files with 121 additions and 0 deletions

View file

@ -0,0 +1,42 @@
package mage.cards.e;
import mage.abilities.common.AsEntersBattlefieldAbility;
import mage.abilities.costs.common.PayLifeCost;
import mage.abilities.effects.common.TapSourceUnlessPaysEffect;
import mage.abilities.mana.WhiteManaAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class EmeriaShatteredSkyclave extends CardImpl {
public EmeriaShatteredSkyclave(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.LAND}, "");
this.modalDFC = true;
this.nightCard = true;
// As Emeria, Shattered Skyclave enters the battlefield, you may pay 3 life. If you don't, it enters the battlefield tapped.
this.addAbility(new AsEntersBattlefieldAbility(
new TapSourceUnlessPaysEffect(new PayLifeCost(3)),
"you may pay 3 life. If you don't, it enters the battlefield tapped"
));
// {T}: Add {W}.
this.addAbility(new WhiteManaAbility());
}
private EmeriaShatteredSkyclave(final EmeriaShatteredSkyclave card) {
super(card);
}
@Override
public EmeriaShatteredSkyclave copy() {
return new EmeriaShatteredSkyclave(this);
}
}

View file

@ -0,0 +1,49 @@
package mage.cards.e;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
import mage.abilities.keyword.IndestructibleAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.Predicates;
import mage.game.permanent.token.AngelWarriorToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class EmeriasCall extends CardImpl {
private static final FilterPermanent filter
= new FilterControlledCreaturePermanent("Non-Angel creatures you control");
static {
filter.add(Predicates.not(SubType.ANGEL.getPredicate()));
}
public EmeriasCall(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{W}{W}{W}");
// Create two 4/4 white Angel Warrior creature tokens with flying. Non-Angel creatures you control gain indestructible until your next turn.
this.getSpellAbility().addEffect(new CreateTokenEffect(new AngelWarriorToken(), 2));
this.getSpellAbility().addEffect(new GainAbilityAllEffect(
IndestructibleAbility.getInstance(),
Duration.UntilYourNextTurn, filter
));
}
private EmeriasCall(final EmeriasCall card) {
super(card);
}
@Override
public EmeriasCall copy() {
return new EmeriasCall(this);
}
}

View file

@ -146,6 +146,8 @@ public final class ZendikarRising extends ExpansionSet {
cards.add(new SetCardInfo("Drana's Silencer", 99, Rarity.COMMON, mage.cards.d.DranasSilencer.class));
cards.add(new SetCardInfo("Dreadwurm", 100, Rarity.COMMON, mage.cards.d.Dreadwurm.class));
cards.add(new SetCardInfo("Emeria Captain", 11, Rarity.UNCOMMON, mage.cards.e.EmeriaCaptain.class));
cards.add(new SetCardInfo("Emeria's Call", 12, Rarity.MYTHIC, mage.cards.e.EmeriasCall.class));
cards.add(new SetCardInfo("Emeria, Shattered Skyclave", 12, Rarity.MYTHIC, mage.cards.e.EmeriaShatteredSkyclave.class));
cards.add(new SetCardInfo("Expedition Champion", 138, Rarity.COMMON, mage.cards.e.ExpeditionChampion.class));
cards.add(new SetCardInfo("Expedition Diviner", 57, Rarity.COMMON, mage.cards.e.ExpeditionDiviner.class));
cards.add(new SetCardInfo("Expedition Skulker", 101, Rarity.COMMON, mage.cards.e.ExpeditionSkulker.class));

View file

@ -0,0 +1,28 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.abilities.keyword.FlyingAbility;
import mage.constants.CardType;
import mage.constants.SubType;
public final class AngelWarriorToken extends TokenImpl {
public AngelWarriorToken() {
super("Angel Warrior", "4/4 white Angel Warrior creature token with flying");
cardType.add(CardType.CREATURE);
color.setWhite(true);
subtype.add(SubType.ANGEL);
subtype.add(SubType.WARRIOR);
power = new MageInt(4);
toughness = new MageInt(4);
addAbility(FlyingAbility.getInstance());
}
public AngelWarriorToken(final AngelWarriorToken token) {
super(token);
}
public AngelWarriorToken copy() {
return new AngelWarriorToken(this);
}
}