From 21e2d7b6f3853d567aa55a0b0fc285e71c96fb3e Mon Sep 17 00:00:00 2001 From: grimreap124 <19590931+grimreap124@users.noreply.github.com> Date: Fri, 7 Jun 2024 11:47:25 +1000 Subject: [PATCH] Implement [M3C] Eldrazi Confluence (#12409) --- .../src/mage/cards/e/EldraziConfluence.java | 51 +++++++++++++++++++ .../mage/sets/ModernHorizons3Commander.java | 1 + 2 files changed, 52 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/e/EldraziConfluence.java diff --git a/Mage.Sets/src/mage/cards/e/EldraziConfluence.java b/Mage.Sets/src/mage/cards/e/EldraziConfluence.java new file mode 100644 index 00000000000..a56dd565bfd --- /dev/null +++ b/Mage.Sets/src/mage/cards/e/EldraziConfluence.java @@ -0,0 +1,51 @@ +package mage.cards.e; + +import java.util.UUID; + +import mage.abilities.Mode; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.ExileTargetEffect; +import mage.abilities.effects.common.ExileThenReturnTargetEffect; +import mage.abilities.effects.common.PhaseOutTargetEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.effects.common.counter.ProliferateEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.PutCards; +import mage.game.permanent.token.EldraziScionToken; +import mage.target.common.TargetCreaturePermanent; +import mage.target.common.TargetNonlandPermanent; + +/** + * + * @author grimreap124 + */ +public final class EldraziConfluence extends CardImpl { + + public EldraziConfluence(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{C}{C}"); + + + // Choose three. You may choose the same mode more than once. + this.getSpellAbility().getModes().setMinModes(3); + this.getSpellAbility().getModes().setMaxModes(3); + this.getSpellAbility().getModes().setMayChooseSameModeMoreThanOnce(true); + // * Target creature gets +3/-3 until end of turn. + this.getSpellAbility().addEffect(new BoostTargetEffect(3, -3)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + // * Exile target nonland permanent, then return it to the battlefield tapped under its owner's control. + this.getSpellAbility().addMode(new Mode(new ExileThenReturnTargetEffect(false, false, PutCards.BATTLEFIELD_TAPPED)).addTarget(new TargetNonlandPermanent())); + // * Create a 1/1 colorless Eldrazi Scion creature token with "Sacrifice this creature: Add {C}." + this.getSpellAbility().addMode(new Mode(new CreateTokenEffect(new EldraziScionToken()))); + } + + private EldraziConfluence(final EldraziConfluence card) { + super(card); + } + + @Override + public EldraziConfluence copy() { + return new EldraziConfluence(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ModernHorizons3Commander.java b/Mage.Sets/src/mage/sets/ModernHorizons3Commander.java index aeb1a7b6653..19d674ebbc2 100644 --- a/Mage.Sets/src/mage/sets/ModernHorizons3Commander.java +++ b/Mage.Sets/src/mage/sets/ModernHorizons3Commander.java @@ -100,6 +100,7 @@ public final class ModernHorizons3Commander extends ExpansionSet { cards.add(new SetCardInfo("Drowner of Hope", 182, Rarity.RARE, mage.cards.d.DrownerOfHope.class)); cards.add(new SetCardInfo("Dryad of the Ilysian Grove", 225, Rarity.RARE, mage.cards.d.DryadOfTheIlysianGrove.class)); cards.add(new SetCardInfo("Elder Deep-Fiend", 154, Rarity.RARE, mage.cards.e.ElderDeepFiend.class)); + cards.add(new SetCardInfo("Eldrazi Confluence", 32, Rarity.RARE, mage.cards.e.EldraziConfluence.class)); cards.add(new SetCardInfo("Eldrazi Conscription", 155, Rarity.RARE, mage.cards.e.EldraziConscription.class)); cards.add(new SetCardInfo("Eldrazi Displacer", 169, Rarity.RARE, mage.cards.e.EldraziDisplacer.class)); cards.add(new SetCardInfo("Eldrazi Monument", 290, Rarity.MYTHIC, mage.cards.e.EldraziMonument.class));