diff --git a/Mage.Sets/src/mage/cards/s/ShessraDeathsWhisper.java b/Mage.Sets/src/mage/cards/s/ShessraDeathsWhisper.java new file mode 100644 index 00000000000..d54a362bad0 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/ShessraDeathsWhisper.java @@ -0,0 +1,56 @@ +package mage.cards.s; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfEndStepTriggeredAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.MorbidCondition; +import mage.abilities.costs.common.PayLifeCost; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.combat.BlocksIfAbleTargetEffect; +import mage.abilities.hint.common.MorbidHint; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.target.common.TargetCreaturePermanent; +import mage.watchers.common.MorbidWatcher; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ShessraDeathsWhisper extends CardImpl { + + public ShessraDeathsWhisper(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{G}"); + + this.addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARLOCK); + this.power = new MageInt(1); + this.toughness = new MageInt(3); + + // Bewitching Whispers — When Shessra, Death's Whisper enters the battlefield, target creature blocks this turn if able. + Ability ability = new EntersBattlefieldTriggeredAbility(new BlocksIfAbleTargetEffect(Duration.EndOfTurn)); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability.withFlavorWord("Bewitching Whispers")); + + // Whispers of the Grave — At the beginning of your end step, if a creature died this turn, you may pay 2 life. If you do, draw a card. + this.addAbility(new BeginningOfEndStepTriggeredAbility( + Zone.BATTLEFIELD, new DoIfCostPaid(new DrawCardSourceControllerEffect(2), + new PayLifeCost(2)), TargetController.YOU, MorbidCondition.instance, false + ).addHint(MorbidHint.instance), new MorbidWatcher()); + } + + private ShessraDeathsWhisper(final ShessraDeathsWhisper card) { + super(card); + } + + @Override + public ShessraDeathsWhisper copy() { + return new ShessraDeathsWhisper(this); + } +} diff --git a/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java b/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java index 70f58dcf6f9..92a26ff819b 100644 --- a/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java +++ b/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java @@ -185,6 +185,7 @@ public final class AdventuresInTheForgottenRealms extends ExpansionSet { cards.add(new SetCardInfo("Secret Door", 71, Rarity.COMMON, mage.cards.s.SecretDoor.class)); cards.add(new SetCardInfo("Sepulcher Ghoul", 118, Rarity.COMMON, mage.cards.s.SepulcherGhoul.class)); cards.add(new SetCardInfo("Shambling Ghast", 119, Rarity.COMMON, mage.cards.s.ShamblingGhast.class)); + cards.add(new SetCardInfo("Shessra, Death's Whisper", 231, Rarity.UNCOMMON, mage.cards.s.ShessraDeathsWhisper.class)); cards.add(new SetCardInfo("Shocking Grasp", 72, Rarity.COMMON, mage.cards.s.ShockingGrasp.class)); cards.add(new SetCardInfo("Shortcut Seeker", 73, Rarity.COMMON, mage.cards.s.ShortcutSeeker.class)); cards.add(new SetCardInfo("Silver Raven", 74, Rarity.COMMON, mage.cards.s.SilverRaven.class));