diff --git a/Mage.Sets/src/mage/cards/a/AnafenzaUnyieldingLineage.java b/Mage.Sets/src/mage/cards/a/AnafenzaUnyieldingLineage.java new file mode 100644 index 00000000000..fb921218f6d --- /dev/null +++ b/Mage.Sets/src/mage/cards/a/AnafenzaUnyieldingLineage.java @@ -0,0 +1,62 @@ +package mage.cards.a; + +import mage.MageInt; +import mage.abilities.common.DiesCreatureTriggeredAbility; +import mage.abilities.effects.keyword.EndureSourceEffect; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.abilities.keyword.FlashAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.predicate.mageobject.AnotherPredicate; +import mage.filter.predicate.permanent.TokenPredicate; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class AnafenzaUnyieldingLineage extends CardImpl { + + private static final FilterPermanent filter + = new FilterControlledCreaturePermanent("another nontoken creature you control"); + + static { + filter.add(AnotherPredicate.instance); + filter.add(TokenPredicate.FALSE); + } + + public AnafenzaUnyieldingLineage(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.SOLDIER); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Flash + this.addAbility(FlashAbility.getInstance()); + + // First strike + this.addAbility(FirstStrikeAbility.getInstance()); + + // Whenever another nontoken creature you control dies, Anafenza endures 2. + this.addAbility(new DiesCreatureTriggeredAbility( + new EndureSourceEffect(2, "{this}"), true, filter + )); + } + + private AnafenzaUnyieldingLineage(final AnafenzaUnyieldingLineage card) { + super(card); + } + + @Override + public AnafenzaUnyieldingLineage copy() { + return new AnafenzaUnyieldingLineage(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TarkirDragonstorm.java b/Mage.Sets/src/mage/sets/TarkirDragonstorm.java index bf7542f5d1b..93b588a6d87 100644 --- a/Mage.Sets/src/mage/sets/TarkirDragonstorm.java +++ b/Mage.Sets/src/mage/sets/TarkirDragonstorm.java @@ -22,6 +22,7 @@ public final class TarkirDragonstorm extends ExpansionSet { cards.add(new SetCardInfo("Aegis Sculptor", 35, Rarity.UNCOMMON, mage.cards.a.AegisSculptor.class)); cards.add(new SetCardInfo("Agent of Kotis", 36, Rarity.COMMON, mage.cards.a.AgentOfKotis.class)); + cards.add(new SetCardInfo("Anafenza, Unyielding Lineage", 2, Rarity.RARE, mage.cards.a.AnafenzaUnyieldingLineage.class)); cards.add(new SetCardInfo("Auroral Procession", 169, Rarity.UNCOMMON, mage.cards.a.AuroralProcession.class)); cards.add(new SetCardInfo("Barrensteppe Siege", 171, Rarity.RARE, mage.cards.b.BarrensteppeSiege.class)); cards.add(new SetCardInfo("Bearer of Glory", 4, Rarity.COMMON, mage.cards.b.BearerOfGlory.class)); diff --git a/Mage/src/main/java/mage/abilities/effects/keyword/EndureSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/keyword/EndureSourceEffect.java index 488ae1100c5..d6a8b4e9fea 100644 --- a/Mage/src/main/java/mage/abilities/effects/keyword/EndureSourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/keyword/EndureSourceEffect.java @@ -18,8 +18,12 @@ public class EndureSourceEffect extends OneShotEffect { private final int amount; public EndureSourceEffect(int amount) { + this(amount, "it"); + } + + public EndureSourceEffect(int amount, String selfText) { super(Outcome.Benefit); - staticText = "it endures " + amount; + staticText = selfText + " endures " + amount; this.amount = amount; }