diff --git a/Mage.Sets/src/mage/cards/s/SivrissNightmareSpeaker.java b/Mage.Sets/src/mage/cards/s/SivrissNightmareSpeaker.java
new file mode 100644
index 00000000000..b8af6381e0e
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/s/SivrissNightmareSpeaker.java
@@ -0,0 +1,95 @@
+package mage.cards.s;
+
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.common.ChooseABackgroundAbility;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.Cost;
+import mage.abilities.costs.common.PayLifeCost;
+import mage.abilities.costs.common.SacrificeTargetCost;
+import mage.abilities.costs.common.TapSourceCost;
+import mage.abilities.effects.OneShotEffect;
+import mage.cards.CardImpl;
+import mage.cards.CardSetInfo;
+import mage.cards.Cards;
+import mage.constants.*;
+import mage.filter.StaticFilters;
+import mage.game.Game;
+import mage.players.Player;
+
+import java.util.UUID;
+
+/**
+ * @author TheElk801
+ */
+public final class SivrissNightmareSpeaker extends CardImpl {
+
+ public SivrissNightmareSpeaker(UUID ownerId, CardSetInfo setInfo) {
+ super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}");
+
+ this.addSuperType(SuperType.LEGENDARY);
+ this.subtype.add(SubType.SNAKE);
+ this.subtype.add(SubType.CLERIC);
+ this.subtype.add(SubType.WARLOCK);
+ this.power = new MageInt(3);
+ this.toughness = new MageInt(3);
+
+ // {T}, Sacrifice another creature or an artifact: For each opponent, you mill a card, then return that card from your graveyard to your hand unless that player pays 3 life.
+ Ability ability = new SimpleActivatedAbility(new SivrissNightmareSpeakerEffect(), new TapSourceCost());
+ ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ARTIFACT_OR_OTHER_CREATURE));
+ this.addAbility(ability);
+
+ // Choose a Background
+ this.addAbility(ChooseABackgroundAbility.getInstance());
+ }
+
+ private SivrissNightmareSpeaker(final SivrissNightmareSpeaker card) {
+ super(card);
+ }
+
+ @Override
+ public SivrissNightmareSpeaker copy() {
+ return new SivrissNightmareSpeaker(this);
+ }
+}
+
+class SivrissNightmareSpeakerEffect extends OneShotEffect {
+
+ SivrissNightmareSpeakerEffect() {
+ super(Outcome.Benefit);
+ staticText = "for each opponent, you mill a card, then return that card " +
+ "from your graveyard to your hand unless that player pays 3 life";
+ }
+
+ private SivrissNightmareSpeakerEffect(final SivrissNightmareSpeakerEffect effect) {
+ super(effect);
+ }
+
+ @Override
+ public SivrissNightmareSpeakerEffect copy() {
+ return new SivrissNightmareSpeakerEffect(this);
+ }
+
+ @Override
+ public boolean apply(Game game, Ability source) {
+ Player player = game.getPlayer(source.getControllerId());
+ if (player == null) {
+ return false;
+ }
+ for (UUID playerId : game.getOpponents(source.getControllerId())) {
+ Player opponent = game.getPlayer(playerId);
+ if (opponent == null) {
+ continue;
+ }
+ Cards cards = player.millCards(1, source, game);
+ Cost cost = new PayLifeCost(3);
+ if (!cost.canPay(source, source, playerId, game)
+ || !opponent.chooseUse(outcome, "Pay 3 life?", source, game)
+ || !cost.pay(source, game, source, playerId, true)) {
+ cards.retainZone(Zone.GRAVEYARD, game);
+ player.moveCards(cards, Zone.HAND, source, game);
+ }
+ }
+ return true;
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java b/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java
index 49bcf962eef..4ef5bcc63f8 100644
--- a/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java
+++ b/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java
@@ -476,6 +476,7 @@ public final class CommanderLegendsBattleForBaldursGate extends ExpansionSet {
cards.add(new SetCardInfo("Sharpshooter Elf", 253, Rarity.UNCOMMON, mage.cards.s.SharpshooterElf.class));
cards.add(new SetCardInfo("Shiny Impetus", 194, Rarity.COMMON, mage.cards.s.ShinyImpetus.class));
cards.add(new SetCardInfo("Silvanus's Invoker", 254, Rarity.COMMON, mage.cards.s.SilvanussInvoker.class));
+ cards.add(new SetCardInfo("Sivriss, Nightmare Speaker", 148, Rarity.UNCOMMON, mage.cards.s.SivrissNightmareSpeaker.class));
cards.add(new SetCardInfo("Skanos Dragonheart", 255, Rarity.UNCOMMON, mage.cards.s.SkanosDragonheart.class));
cards.add(new SetCardInfo("Skullclamp", 870, Rarity.UNCOMMON, mage.cards.s.Skullclamp.class));
cards.add(new SetCardInfo("Skullport Merchant", 149, Rarity.UNCOMMON, mage.cards.s.SkullportMerchant.class));
diff --git a/Mage/src/main/java/mage/abilities/common/ChooseABackgroundAbility.java b/Mage/src/main/java/mage/abilities/common/ChooseABackgroundAbility.java
index 6cb9c06e60a..208013c746e 100644
--- a/Mage/src/main/java/mage/abilities/common/ChooseABackgroundAbility.java
+++ b/Mage/src/main/java/mage/abilities/common/ChooseABackgroundAbility.java
@@ -23,7 +23,7 @@ public class ChooseABackgroundAbility extends StaticAbility implements MageSingl
}
private ChooseABackgroundAbility() {
- super(Zone.ALL, new InfoEffect("choose a background (You can have a Background as a second commander.)"));
+ super(Zone.ALL, new InfoEffect("choose a Background (You can have a Background as a second commander.)"));
}
@Override