From c0bf1b6039a11acf376a62a19b09ff1a277e8e0c Mon Sep 17 00:00:00 2001 From: theelk801 Date: Sat, 21 Jan 2023 21:50:08 -0500 Subject: [PATCH] [ONE] Implement Urabrask's Anointer --- .../src/mage/cards/u/UrabrasksAnointer.java | 59 +++++++++++++++++++ .../src/mage/sets/PhyrexiaAllWillBeOne.java | 1 + 2 files changed, 60 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/u/UrabrasksAnointer.java diff --git a/Mage.Sets/src/mage/cards/u/UrabrasksAnointer.java b/Mage.Sets/src/mage/cards/u/UrabrasksAnointer.java new file mode 100644 index 00000000000..d4204f98fc3 --- /dev/null +++ b/Mage.Sets/src/mage/cards/u/UrabrasksAnointer.java @@ -0,0 +1,59 @@ +package mage.cards.u; + +import java.util.UUID; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.hint.Hint; +import mage.abilities.hint.ValueHint; +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.target.common.TargetAnyTarget; + +/** + * @author TheElk801 + */ +public final class UrabrasksAnointer extends CardImpl { + + private static final FilterPermanent filter + = new FilterControlledPermanent("permanents you control with oil counters on them"); + + static { + filter.add(CounterType.OIL.getPredicate()); + } + + private static final DynamicValue xValue = new PermanentsOnBattlefieldCount(filter, null); + private static final Hint hint = new ValueHint("Permanents you control with oil counters on them", xValue); + + public UrabrasksAnointer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}{R}"); + + this.subtype.add(SubType.PHYREXIAN); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(4); + this.toughness = new MageInt(2); + + // When Urabrask's Anointer enters the battlefield, it deals X damage to any target, where X is the number of permanents you control with oil counters on them. + Ability ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(xValue, "it")); + ability.addTarget(new TargetAnyTarget()); + this.addAbility(ability.addHint(hint)); + } + + private UrabrasksAnointer(final UrabrasksAnointer card) { + super(card); + } + + @Override + public UrabrasksAnointer copy() { + return new UrabrasksAnointer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java index 6a01621ea6c..2f3e6d04194 100644 --- a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java +++ b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java @@ -115,6 +115,7 @@ public final class PhyrexiaAllWillBeOne extends ExpansionSet { cards.add(new SetCardInfo("Tyvar, Jubilant Brawler", 218, Rarity.RARE, mage.cards.t.TyvarJubilantBrawler.class)); cards.add(new SetCardInfo("Unctus, Grand Metatect", 75, Rarity.RARE, mage.cards.u.UnctusGrandMetatect.class)); cards.add(new SetCardInfo("Unnatural Restoration", 191, Rarity.UNCOMMON, mage.cards.u.UnnaturalRestoration.class)); + cards.add(new SetCardInfo("Urabrask's Anointer", 152, Rarity.UNCOMMON, mage.cards.u.UrabrasksAnointer.class)); cards.add(new SetCardInfo("Urabrask's Forge", 153, Rarity.RARE, mage.cards.u.UrabrasksForge.class)); cards.add(new SetCardInfo("Venerated Rotpriest", 192, Rarity.RARE, mage.cards.v.VeneratedRotpriest.class)); cards.add(new SetCardInfo("Venser, Corpse Puppet", 219, Rarity.RARE, mage.cards.v.VenserCorpsePuppet.class));