forked from External/mage
[ZNR] Implemented Emeria's Call / Emeria, Shattered Skyclave
This commit is contained in:
parent
615fba5a72
commit
661119e462
4 changed files with 121 additions and 0 deletions
42
Mage.Sets/src/mage/cards/e/EmeriaShatteredSkyclave.java
Normal file
42
Mage.Sets/src/mage/cards/e/EmeriaShatteredSkyclave.java
Normal 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);
|
||||
}
|
||||
}
|
||||
49
Mage.Sets/src/mage/cards/e/EmeriasCall.java
Normal file
49
Mage.Sets/src/mage/cards/e/EmeriasCall.java
Normal 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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue