diff --git a/Mage.Sets/src/mage/cards/b/Brainsurge.java b/Mage.Sets/src/mage/cards/b/Brainsurge.java new file mode 100644 index 00000000000..c61520782f7 --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/Brainsurge.java @@ -0,0 +1,31 @@ + +package mage.cards.b; + +import mage.abilities.effects.common.BrainstormEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +import java.util.UUID; + +/** + * @author Susucr + */ +public final class Brainsurge extends CardImpl { + + public Brainsurge(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}"); + + // Draw four cards, then put two cards from your hand on top of your library in any order. + this.getSpellAbility().addEffect(new BrainstormEffect(4, 2)); + } + + private Brainsurge(final Brainsurge card) { + super(card); + } + + @Override + public Brainsurge copy() { + return new Brainsurge(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ModernHorizons3.java b/Mage.Sets/src/mage/sets/ModernHorizons3.java index 09ab59ab981..ce1310627e6 100644 --- a/Mage.Sets/src/mage/sets/ModernHorizons3.java +++ b/Mage.Sets/src/mage/sets/ModernHorizons3.java @@ -25,6 +25,7 @@ public final class ModernHorizons3 extends ExpansionSet { cards.add(new SetCardInfo("Ajani, Nacatl Pariah", 237, Rarity.MYTHIC, mage.cards.a.AjaniNacatlPariah.class)); cards.add(new SetCardInfo("Basking Broodscale", 145, Rarity.COMMON, mage.cards.b.BaskingBroodscale.class)); cards.add(new SetCardInfo("Bloodstained Mire", 216, Rarity.RARE, mage.cards.b.BloodstainedMire.class)); + cards.add(new SetCardInfo("Brainsurge", 53, Rarity.UNCOMMON, mage.cards.b.Brainsurge.class)); cards.add(new SetCardInfo("Breaker of Creation", 1, Rarity.UNCOMMON, mage.cards.b.BreakerOfCreation.class)); cards.add(new SetCardInfo("Breya, Etherium Shaper", 289, Rarity.MYTHIC, mage.cards.b.BreyaEtheriumShaper.class)); cards.add(new SetCardInfo("Chthonian Nightmare", 83, Rarity.RARE, mage.cards.c.ChthonianNightmare.class)); diff --git a/Mage/src/main/java/mage/abilities/effects/common/BrainstormEffect.java b/Mage/src/main/java/mage/abilities/effects/common/BrainstormEffect.java index b111a1fe729..bcf20e70b9c 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/BrainstormEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/BrainstormEffect.java @@ -8,16 +8,30 @@ import mage.constants.Zone; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetCardInHand; +import mage.util.CardUtil; public class BrainstormEffect extends OneShotEffect { + private final int toDraw; + private final int toPutOnTop; + public BrainstormEffect() { + this(3, 2); + } + + public BrainstormEffect(int toDraw, int toPutOnTop) { super(Outcome.DrawCard); - staticText = "draw three cards, then put two cards from your hand on top of your library in any order"; + this.toDraw = toDraw; + this.toPutOnTop = toPutOnTop; + staticText = "draw " + CardUtil.numberToText(toDraw) + (toDraw > 1 ? " cards" : " card") + + ", then put " + CardUtil.numberToText(toPutOnTop) + (toPutOnTop > 1 ? " cards" : " card") + + " from your hand on top of your library in any order"; } protected BrainstormEffect(final BrainstormEffect effect) { super(effect); + this.toDraw = effect.toDraw; + this.toPutOnTop = effect.toPutOnTop; } @Override @@ -29,9 +43,10 @@ public class BrainstormEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player != null) { - player.drawCards(3, source, game); - putOnLibrary(player, source, game); - putOnLibrary(player, source, game); + player.drawCards(toDraw, source, game); + for (int i = 0; i < toPutOnTop; ++i) { + putOnLibrary(player, source, game); + } return true; } return false;