From a531908d40bc0826cabcbf3746099b1100a199be Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sat, 20 Aug 2022 10:23:58 -0400 Subject: [PATCH] [DMC] Implemented Unite the Coalition --- .../src/mage/cards/u/UniteTheCoalition.java | 53 +++++++++++++++++++ .../mage/sets/DominariaUnitedCommander.java | 1 + 2 files changed, 54 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/u/UniteTheCoalition.java diff --git a/Mage.Sets/src/mage/cards/u/UniteTheCoalition.java b/Mage.Sets/src/mage/cards/u/UniteTheCoalition.java new file mode 100644 index 00000000000..5a6dddf0431 --- /dev/null +++ b/Mage.Sets/src/mage/cards/u/UniteTheCoalition.java @@ -0,0 +1,53 @@ +package mage.cards.u; + +import mage.abilities.Mode; +import mage.abilities.effects.common.*; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.StaticFilters; +import mage.target.TargetPermanent; +import mage.target.TargetPlayer; +import mage.target.common.TargetAnyTarget; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class UniteTheCoalition extends CardImpl { + + public UniteTheCoalition(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{W}{U}{B}{R}{G}"); + + // Choose five. You may choose the same mode more than once. + this.getSpellAbility().getModes().setMinModes(5); + this.getSpellAbility().getModes().setMaxModes(5); + this.getSpellAbility().getModes().setEachModeMoreThanOnce(true); + + // • Target permanent phases out. + this.getSpellAbility().addEffect(new PhaseOutTargetEffect()); + this.getSpellAbility().addTarget(new TargetPermanent()); + + // • Target player draws a card. + this.getSpellAbility().addMode(new Mode(new DrawCardTargetEffect(1)).addTarget(new TargetPlayer())); + + // • Exile target player's graveyard. + this.getSpellAbility().addMode(new Mode(new ExileGraveyardAllTargetPlayerEffect()).addTarget(new TargetPlayer())); + + // • Unite the Coalition deals 2 damage to any target. + this.getSpellAbility().addMode(new Mode(new DamageTargetEffect(2)).addTarget(new TargetAnyTarget())); + + // • Destroy target artifact or enchantment. + this.getSpellAbility().addMode(new Mode(new DestroyTargetEffect()).addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT))); + } + + private UniteTheCoalition(final UniteTheCoalition card) { + super(card); + } + + @Override + public UniteTheCoalition copy() { + return new UniteTheCoalition(this); + } +} diff --git a/Mage.Sets/src/mage/sets/DominariaUnitedCommander.java b/Mage.Sets/src/mage/sets/DominariaUnitedCommander.java index fd6d8a2afd5..f1723f80d91 100644 --- a/Mage.Sets/src/mage/sets/DominariaUnitedCommander.java +++ b/Mage.Sets/src/mage/sets/DominariaUnitedCommander.java @@ -32,6 +32,7 @@ public final class DominariaUnitedCommander extends ExpansionSet { cards.add(new SetCardInfo("Surrak Dragonclaw", 169, Rarity.MYTHIC, mage.cards.s.SurrakDragonclaw.class)); cards.add(new SetCardInfo("Thrill of Possibility", 127, Rarity.COMMON, mage.cards.t.ThrillOfPossibility.class)); cards.add(new SetCardInfo("Two-Headed Hellkite", 14, Rarity.RARE, mage.cards.t.TwoHeadedHellkite.class)); + cards.add(new SetCardInfo("Unite the Coalition", 15, Rarity.RARE, mage.cards.u.UniteTheCoalition.class)); cards.add(new SetCardInfo("Zeriam, Golden Wind", 5, Rarity.RARE, mage.cards.z.ZeriamGoldenWind.class)); } }