diff --git a/Mage.Sets/src/mage/cards/s/SheoldredsRestoration.java b/Mage.Sets/src/mage/cards/s/SheoldredsRestoration.java new file mode 100644 index 0000000000..ee1b09cd85 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SheoldredsRestoration.java @@ -0,0 +1,55 @@ +package mage.cards.s; + +import java.util.UUID; + +import mage.abilities.condition.common.KickedCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.dynamicvalue.common.TargetManaValue; +import mage.abilities.effects.common.ExileSpellEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.LoseLifeSourceControllerEffect; +import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; +import mage.abilities.keyword.KickerAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.StaticFilters; +import mage.target.common.TargetCardInYourGraveyard; + +/** + * + * @author weirddan455 + */ +public final class SheoldredsRestoration extends CardImpl { + + public SheoldredsRestoration(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{B}"); + + // Kicker {2}{W} + this.addAbility(new KickerAbility("{2}{W}")); + + // Return target creature card from your graveyard to the battlefield. + this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); + this.getSpellAbility().addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect()); + + // If this spell was kicked, you gain life equal to that card's mana value. Otherwise, you lose that much life. + this.getSpellAbility().addEffect(new ConditionalOneShotEffect( + new GainLifeEffect(TargetManaValue.instance), + new LoseLifeSourceControllerEffect(TargetManaValue.instance), + KickedCondition.ONCE, + "If this spell was kicked, you gain life equal to that card's mana value. Otherwise, you lose that much life." + )); + + // Exile Sheoldred's Restoration. + this.getSpellAbility().addEffect(new ExileSpellEffect()); + } + + private SheoldredsRestoration(final SheoldredsRestoration card) { + super(card); + } + + @Override + public SheoldredsRestoration copy() { + return new SheoldredsRestoration(this); + } +} diff --git a/Mage.Sets/src/mage/sets/DominariaUnited.java b/Mage.Sets/src/mage/sets/DominariaUnited.java index 0f03f86237..f989f6369a 100644 --- a/Mage.Sets/src/mage/sets/DominariaUnited.java +++ b/Mage.Sets/src/mage/sets/DominariaUnited.java @@ -183,6 +183,7 @@ public final class DominariaUnited extends ExpansionSet { cards.add(new SetCardInfo("Shadow Prophecy", 105, Rarity.COMMON, mage.cards.s.ShadowProphecy.class)); cards.add(new SetCardInfo("Shadow-Rite Priest", 106, Rarity.RARE, mage.cards.s.ShadowRitePriest.class)); cards.add(new SetCardInfo("Shalai's Acolyte", 33, Rarity.UNCOMMON, mage.cards.s.ShalaisAcolyte.class)); + cards.add(new SetCardInfo("Sheoldred's Restoration", 108, Rarity.UNCOMMON, mage.cards.s.SheoldredsRestoration.class)); cards.add(new SetCardInfo("Sheoldred, the Apocalypse", 107, Rarity.MYTHIC, mage.cards.s.SheoldredTheApocalypse.class)); cards.add(new SetCardInfo("Shield-Wall Sentinel", 238, Rarity.COMMON, mage.cards.s.ShieldWallSentinel.class)); cards.add(new SetCardInfo("Shivan Devastator", 143, Rarity.MYTHIC, mage.cards.s.ShivanDevastator.class));