diff --git a/Mage.Sets/src/mage/cards/e/EyeOfMalcator.java b/Mage.Sets/src/mage/cards/e/EyeOfMalcator.java new file mode 100644 index 00000000000..3267288e9ae --- /dev/null +++ b/Mage.Sets/src/mage/cards/e/EyeOfMalcator.java @@ -0,0 +1,42 @@ +package mage.cards.e; + +import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; +import mage.abilities.effects.keyword.ScryEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.StaticFilters; +import mage.game.permanent.token.custom.CreatureToken; + +import java.util.UUID; + +public class EyeOfMalcator extends CardImpl { + public EyeOfMalcator(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}{U}"); + + //When Eye of Malcator enters the battlefield, scry 2. + this.addAbility(new EntersBattlefieldTriggeredAbility(new ScryEffect(2))); + + //Whenever another artifact enters the battlefield under your control, Eye of Malcator becomes a 4/4 Phyrexian + //Eye artifact creature until end of turn. + this.addAbility(new EntersBattlefieldControlledTriggeredAbility(new BecomesCreatureSourceEffect( + new CreatureToken( + 4, 4, "4/4 Phyrexian Eye artifact creature", SubType.PHYREXIAN, SubType.EYE + ).withType(CardType.ARTIFACT), "", Duration.EndOfTurn) + .setText("{this} becomes a 4/4 Phyrexian Eye artifact creature until end of turn"), + StaticFilters.FILTER_CONTROLLED_ANOTHER_ARTIFACT)); + } + + private EyeOfMalcator(final EyeOfMalcator card) { + super(card); + } + + @Override + public EyeOfMalcator copy() { + return new EyeOfMalcator(this); + } +} diff --git a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java index abcd9a981d1..04631809162 100644 --- a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java +++ b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java @@ -76,6 +76,7 @@ public final class PhyrexiaAllWillBeOne extends ExpansionSet { cards.add(new SetCardInfo("Escaped Experiment", 48, Rarity.COMMON, mage.cards.e.EscapedExperiment.class)); cards.add(new SetCardInfo("Evolved Spinoderm", 166, Rarity.RARE, mage.cards.e.EvolvedSpinoderm.class)); cards.add(new SetCardInfo("Experimental Augury", 49, Rarity.COMMON, mage.cards.e.ExperimentalAugury.class)); + cards.add(new SetCardInfo("Eye of Malcator", 50, Rarity.COMMON, mage.cards.e.EyeOfMalcator.class)); cards.add(new SetCardInfo("Ezuri, Stalker of Spheres", 201, Rarity.RARE, mage.cards.e.EzuriStalkerOfSpheres.class)); cards.add(new SetCardInfo("Feed the Infection", 93, Rarity.UNCOMMON, mage.cards.f.FeedTheInfection.class)); cards.add(new SetCardInfo("Flensing Raptor", 12, Rarity.COMMON, mage.cards.f.FlensingRaptor.class)); diff --git a/Mage/src/main/java/mage/filter/StaticFilters.java b/Mage/src/main/java/mage/filter/StaticFilters.java index 35668a0a75a..8dbbac5b152 100644 --- a/Mage/src/main/java/mage/filter/StaticFilters.java +++ b/Mage/src/main/java/mage/filter/StaticFilters.java @@ -407,6 +407,14 @@ public final class StaticFilters { FILTER_CONTROLLED_ARTIFACT_OR_OTHER_CREATURE.setLockedFilter(true); } + public static final FilterControlledPermanent FILTER_CONTROLLED_ANOTHER_ARTIFACT = new FilterControlledPermanent("another artifact you control"); + + static { + FILTER_CONTROLLED_ANOTHER_ARTIFACT.add(AnotherPredicate.instance); + FILTER_CONTROLLED_ANOTHER_ARTIFACT.add(CardType.ARTIFACT.getPredicate()); + FILTER_CONTROLLED_ANOTHER_ARTIFACT.setLockedFilter(true); + } + public static final FilterControlledPermanent FILTER_CONTROLLED_ANOTHER_ARTIFACT_OR_CREATURE = new FilterControlledPermanent("another creature or artifact you control"); static {