diff --git a/Mage.Sets/src/mage/cards/t/TheMonumentalFacade.java b/Mage.Sets/src/mage/cards/t/TheMonumentalFacade.java new file mode 100644 index 0000000000..4bb2be126b --- /dev/null +++ b/Mage.Sets/src/mage/cards/t/TheMonumentalFacade.java @@ -0,0 +1,70 @@ +package mage.cards.t; + +import java.util.UUID; + +import mage.abilities.Ability; +import mage.abilities.common.ActivateAsSorceryActivatedAbility; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.RemoveCountersSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.mana.ColorlessManaAbility; +import mage.constants.SubType; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.counters.CounterType; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.Predicates; +import mage.target.TargetPermanent; + +/** + * @author TheElk801 + */ +public final class TheMonumentalFacade extends CardImpl { + + private static final FilterPermanent filter + = new FilterControlledPermanent("artifact or creature you control"); + + static { + filter.add(Predicates.or( + CardType.ARTIFACT.getPredicate(), + CardType.CREATURE.getPredicate() + )); + } + + public TheMonumentalFacade(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + this.subtype.add(SubType.SPHERE); + + // The Monumental Facade enters the battlefield with two oil counters on it. + this.addAbility(new EntersBattlefieldAbility( + new AddCountersSourceEffect(CounterType.OIL.createInstance(2)), + "with two oil counters on it" + )); + + // {T}: Add {C}. + this.addAbility(new ColorlessManaAbility()); + + // {T}, Remove an oil counter from The Monumental Facade: Put an oil counter on target artifact or creature you control. Activate only as a sorcery. + Ability ability = new ActivateAsSorceryActivatedAbility( + new AddCountersTargetEffect(CounterType.OIL.createInstance()), new TapSourceCost() + ); + ability.addCost(new RemoveCountersSourceCost(CounterType.OIL.createInstance())); + ability.addTarget(new TargetPermanent(filter)); + this.addAbility(ability); + } + + private TheMonumentalFacade(final TheMonumentalFacade card) { + super(card); + } + + @Override + public TheMonumentalFacade copy() { + return new TheMonumentalFacade(this); + } +} diff --git a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java index a8ee1ae9e4..03017f2648 100644 --- a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java +++ b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java @@ -33,6 +33,7 @@ public final class PhyrexiaAllWillBeOne extends ExpansionSet { cards.add(new SetCardInfo("Razorverge Thicket", 257, Rarity.RARE, mage.cards.r.RazorvergeThicket.class)); cards.add(new SetCardInfo("Seachrome Coast", 258, Rarity.RARE, mage.cards.s.SeachromeCoast.class)); cards.add(new SetCardInfo("Swamp", 274, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("The Monumental Facade", 255, Rarity.RARE, mage.cards.t.TheMonumentalFacade.class)); } // @Override diff --git a/Mage/src/main/java/mage/constants/SubType.java b/Mage/src/main/java/mage/constants/SubType.java index 8f715a4f9a..eb38459f2d 100644 --- a/Mage/src/main/java/mage/constants/SubType.java +++ b/Mage/src/main/java/mage/constants/SubType.java @@ -25,6 +25,7 @@ public enum SubType { GATE("Gate", SubTypeSet.NonBasicLandType), LAIR("Lair", SubTypeSet.NonBasicLandType), LOCUS("Locus", SubTypeSet.NonBasicLandType), + SPHERE("Sphere", SubTypeSet.NonBasicLandType), URZAS("Urza's", SubTypeSet.NonBasicLandType), MINE("Mine", SubTypeSet.NonBasicLandType), POWER_PLANT("Power-Plant", SubTypeSet.NonBasicLandType), diff --git a/Mage/src/main/java/mage/counters/CounterType.java b/Mage/src/main/java/mage/counters/CounterType.java index 99210d782e..0ce29b30cc 100644 --- a/Mage/src/main/java/mage/counters/CounterType.java +++ b/Mage/src/main/java/mage/counters/CounterType.java @@ -132,6 +132,7 @@ public enum CounterType { NECRODERMIS("necrodermis"), NET("net"), NIGHT("night"), + OIL("oil"), OMEN("omen"), ORE("ore"), P0P1(new BoostCounter(0, 1).name),