1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-03-13 01:09:53 -09:00

Implemented Everquill Phoenix

This commit is contained in:
Evan Kranzler 2020-04-05 17:28:53 -04:00
parent 9acda75e31
commit e91fc7d636
3 changed files with 86 additions and 0 deletions
Mage.Sets/src/mage
Mage/src/main/java/mage/game/permanent/token

View file

@ -0,0 +1,46 @@
package mage.cards.e;
import mage.MageInt;
import mage.abilities.common.MutatesSourceTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.MutateAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.game.permanent.token.FeatherToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class EverquillPhoenix extends CardImpl {
public EverquillPhoenix(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}");
this.subtype.add(SubType.PHOENIX);
this.power = new MageInt(4);
this.toughness = new MageInt(4);
// Mutate {3}{R}
this.addAbility(new MutateAbility(this, "{3}{R}"));
// Flying
this.addAbility(FlyingAbility.getInstance());
// Whenever this creature mutates, create a red artifact token named Feather with "{1}, Sacrifice Feather: Return target Phoenix card from your graveyard to the battlefield tapped."
this.addAbility(new MutatesSourceTriggeredAbility(new CreateTokenEffect(new FeatherToken())));
}
private EverquillPhoenix(final EverquillPhoenix card) {
super(card);
}
@Override
public EverquillPhoenix copy() {
return new EverquillPhoenix(this);
}
}

View file

@ -42,6 +42,7 @@ public final class IkoriaLairOfBehemoths extends ExpansionSet {
cards.add(new SetCardInfo("Drannith Stinger", 113, Rarity.COMMON, mage.cards.d.DrannithStinger.class));
cards.add(new SetCardInfo("Dreamtail Heron", 47, Rarity.COMMON, mage.cards.d.DreamtailHeron.class));
cards.add(new SetCardInfo("Essence Scatter", 49, Rarity.COMMON, mage.cards.e.EssenceScatter.class));
cards.add(new SetCardInfo("Everquill Phoenix", 114, Rarity.RARE, mage.cards.e.EverquillPhoenix.class));
cards.add(new SetCardInfo("Fertilid", 152, Rarity.COMMON, mage.cards.f.Fertilid.class));
cards.add(new SetCardInfo("Flourishing Fox", 13, Rarity.UNCOMMON, mage.cards.f.FlourishingFox.class));
cards.add(new SetCardInfo("Footfall Crater", 118, Rarity.UNCOMMON, mage.cards.f.FootfallCrater.class));

View file

@ -0,0 +1,39 @@
package mage.game.permanent.token;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
public final class FeatherToken extends TokenImpl {
private static final FilterCard filter = new FilterCard("Phoenix card");
static {
filter.add(SubType.PHOENIX.getPredicate());
}
public FeatherToken() {
super("Feather", "red artifact token named Feather with \"{1}, Sacrifice Feather: Return target Phoenix card from your graveyard to the battlefield tapped.\"");
this.cardType.add(CardType.ARTIFACT);
this.color.setRed(true);
Ability ability = new SimpleActivatedAbility(
new ReturnFromGraveyardToBattlefieldTargetEffect(true), new GenericManaCost(1)
);
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);
}
private FeatherToken(final FeatherToken token) {
super(token);
}
public FeatherToken copy() {
return new FeatherToken(this);
}
}