diff --git a/Mage.Sets/src/mage/cards/e/ExcavatingAnurid.java b/Mage.Sets/src/mage/cards/e/ExcavatingAnurid.java new file mode 100644 index 00000000000..aeb5e0bc14b --- /dev/null +++ b/Mage.Sets/src/mage/cards/e/ExcavatingAnurid.java @@ -0,0 +1,70 @@ +package mage.cards.e; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.CardsInControllerGraveCondition; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AbilityWord; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.StaticFilters; +import mage.target.common.TargetControlledPermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ExcavatingAnurid extends CardImpl { + + private static final Condition condition = new CardsInControllerGraveCondition(7); + + public ExcavatingAnurid(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); + + this.subtype.add(SubType.FROG); + this.subtype.add(SubType.BEAST); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // When Excavating Anurid enters the battlefield, you may sacrifice a land. If you do, draw a card. + this.addAbility(new EntersBattlefieldTriggeredAbility(new DoIfCostPaid( + new DrawCardSourceControllerEffect(1), + new SacrificeTargetCost(new TargetControlledPermanent( + StaticFilters.FILTER_CONTROLLED_LAND_SHORT_TEXT + )) + ))); + + // Threshold — As long as seven or more cards are in your graveyard, Excavating Anurid gets +1/+1 and has vigilance. + Ability ability = new SimpleStaticAbility(new ConditionalContinuousEffect( + new BoostSourceEffect(1, 1, Duration.WhileOnBattlefield), + condition, "As long as seven or more cards are in your graveyard, {this} gets +1/+1" + )); + ability.addEffect(new ConditionalContinuousEffect(new GainAbilitySourceEffect( + VigilanceAbility.getInstance(), Duration.WhileOnBattlefield + ), condition, "and has vigilance")); + ability.setAbilityWord(AbilityWord.THRESHOLD); + this.addAbility(ability); + } + + private ExcavatingAnurid(final ExcavatingAnurid card) { + super(card); + } + + @Override + public ExcavatingAnurid copy() { + return new ExcavatingAnurid(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ModernHorizons.java b/Mage.Sets/src/mage/sets/ModernHorizons.java index 304fe13dbb7..2046ac50991 100644 --- a/Mage.Sets/src/mage/sets/ModernHorizons.java +++ b/Mage.Sets/src/mage/sets/ModernHorizons.java @@ -69,6 +69,7 @@ public final class ModernHorizons extends ExpansionSet { cards.add(new SetCardInfo("Ephemerate", 7, Rarity.COMMON, mage.cards.e.Ephemerate.class)); cards.add(new SetCardInfo("Etchings of the Chosen", 198, Rarity.UNCOMMON, mage.cards.e.EtchingsOfTheChosen.class)); cards.add(new SetCardInfo("Everdream", 47, Rarity.UNCOMMON, mage.cards.e.Everdream.class)); + cards.add(new SetCardInfo("Excavating Anurid", 163, Rarity.COMMON, mage.cards.e.ExcavatingAnurid.class)); cards.add(new SetCardInfo("Exclude", 48, Rarity.UNCOMMON, mage.cards.e.Exclude.class)); cards.add(new SetCardInfo("Fact or Fiction", 50, Rarity.UNCOMMON, mage.cards.f.FactOrFiction.class)); cards.add(new SetCardInfo("Faerie Seer", 51, Rarity.COMMON, mage.cards.f.FaerieSeer.class));