diff --git a/Mage.Sets/src/mage/cards/e/EumidianHatchery.java b/Mage.Sets/src/mage/cards/e/EumidianHatchery.java new file mode 100644 index 00000000000..6b4aff16a44 --- /dev/null +++ b/Mage.Sets/src/mage/cards/e/EumidianHatchery.java @@ -0,0 +1,50 @@ +package mage.cards.e; + +import mage.abilities.Ability; +import mage.abilities.common.PutIntoGraveFromBattlefieldSourceTriggeredAbility; +import mage.abilities.costs.common.PayLifeCost; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.common.CountersSourceCount; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.mana.BlackManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.counters.CounterType; +import mage.game.permanent.token.XiraBlackInsectToken; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class EumidianHatchery extends CardImpl { + + private static final DynamicValue xValue = new CountersSourceCount(CounterType.HATCHLING); + + public EumidianHatchery(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + // {T}, Pay 1 life: Add {B}. Put a hatchling counter on this land. + Ability ability = new BlackManaAbility(); + ability.addCost(new PayLifeCost(1)); + ability.addEffect(new AddCountersSourceEffect(CounterType.HATCHLING.createInstance())); + this.addAbility(ability); + + // When this land is put into a graveyard from the battlefield, for each hatchling counter on it, create a 1/1 black Insect creature token with flying. + this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility( + new CreateTokenEffect(new XiraBlackInsectToken(), xValue) + .setText("for each hatchling counter on it, create a 1/1 black Insect creature token with flying") + )); + } + + private EumidianHatchery(final EumidianHatchery card) { + super(card); + } + + @Override + public EumidianHatchery copy() { + return new EumidianHatchery(this); + } +} diff --git a/Mage.Sets/src/mage/sets/EdgeOfEternitiesCommander.java b/Mage.Sets/src/mage/sets/EdgeOfEternitiesCommander.java index ff933798468..98840348f57 100644 --- a/Mage.Sets/src/mage/sets/EdgeOfEternitiesCommander.java +++ b/Mage.Sets/src/mage/sets/EdgeOfEternitiesCommander.java @@ -64,6 +64,8 @@ public final class EdgeOfEternitiesCommander extends ExpansionSet { cards.add(new SetCardInfo("Escape to the Wilds", 115, Rarity.RARE, mage.cards.e.EscapeToTheWilds.class)); cards.add(new SetCardInfo("Etched Oracle", 136, Rarity.UNCOMMON, mage.cards.e.EtchedOracle.class)); cards.add(new SetCardInfo("Etherium Sculptor", 72, Rarity.COMMON, mage.cards.e.EtheriumSculptor.class)); + cards.add(new SetCardInfo("Eumidian Hatchery", 20, Rarity.RARE, mage.cards.e.EumidianHatchery.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Eumidian Hatchery", 40, Rarity.RARE, mage.cards.e.EumidianHatchery.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Everflowing Chalice", 137, Rarity.UNCOMMON, mage.cards.e.EverflowingChalice.class)); cards.add(new SetCardInfo("Evolving Wilds", 158, Rarity.COMMON, mage.cards.e.EvolvingWilds.class)); cards.add(new SetCardInfo("Exotic Orchard", 159, Rarity.RARE, mage.cards.e.ExoticOrchard.class));