From 47333c20c9f0663bb74fc2144c8d3b101bbb65cd Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Thu, 18 Feb 2021 19:45:45 -0500 Subject: [PATCH] [STX] Implemented Prismari Command --- .../src/mage/cards/p/PrismariCommand.java | 58 +++++++++++++++++++ .../mage/sets/StrixhavenSchoolOfMages.java | 3 + 2 files changed, 61 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/p/PrismariCommand.java diff --git a/Mage.Sets/src/mage/cards/p/PrismariCommand.java b/Mage.Sets/src/mage/cards/p/PrismariCommand.java new file mode 100644 index 00000000000..8ca23c6ed35 --- /dev/null +++ b/Mage.Sets/src/mage/cards/p/PrismariCommand.java @@ -0,0 +1,58 @@ +package mage.cards.p; + +import mage.abilities.Mode; +import mage.abilities.effects.common.CreateTokenTargetEffect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.effects.common.DrawDiscardTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.game.permanent.token.TreasureToken; +import mage.target.TargetPlayer; +import mage.target.common.TargetAnyTarget; +import mage.target.common.TargetArtifactPermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class PrismariCommand extends CardImpl { + + public PrismariCommand(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}{R}"); + + // Choose two — + this.getSpellAbility().getModes().setMinModes(2); + this.getSpellAbility().getModes().setMaxModes(2); + + // • Prismari Command deals 2 damage to any target. + this.getSpellAbility().addEffect(new DamageTargetEffect(2)); + this.getSpellAbility().addTarget(new TargetAnyTarget()); + + // • Target player draws two cards, then discards two cards. + Mode mode = new Mode(new DrawDiscardTargetEffect(2, 2)); + mode.addTarget(new TargetPlayer()); + this.getSpellAbility().addMode(mode); + + // • Target player creates a Treasure token. + mode = new Mode(new CreateTokenTargetEffect(new TreasureToken())); + mode.addTarget(new TargetPlayer()); + this.getSpellAbility().addMode(mode); + + // • Destroy target artifact. + mode = new Mode(new DestroyTargetEffect()); + mode.addTarget(new TargetArtifactPermanent()); + this.getSpellAbility().addMode(mode); + } + + private PrismariCommand(final PrismariCommand card) { + super(card); + } + + @Override + public PrismariCommand copy() { + return new PrismariCommand(this); + } +} diff --git a/Mage.Sets/src/mage/sets/StrixhavenSchoolOfMages.java b/Mage.Sets/src/mage/sets/StrixhavenSchoolOfMages.java index d6cfe00f6fb..832f158e080 100644 --- a/Mage.Sets/src/mage/sets/StrixhavenSchoolOfMages.java +++ b/Mage.Sets/src/mage/sets/StrixhavenSchoolOfMages.java @@ -1,6 +1,7 @@ package mage.sets; import mage.cards.ExpansionSet; +import mage.constants.Rarity; import mage.constants.SetType; /** @@ -24,5 +25,7 @@ public final class StrixhavenSchoolOfMages extends ExpansionSet { this.numBoosterRare = 1; this.ratioBoosterMythic = 7.4; this.maxCardNumberInBooster = 275; + + cards.add(new SetCardInfo("Prismari Command", 215, Rarity.RARE, mage.cards.p.PrismariCommand.class)); } }