[DMU] Implemented Sheoldred's Restoration

This commit is contained in:
Daniel Bomar 2022-08-29 15:16:31 -05:00
parent 29cedc0c08
commit 9b094fb883
No known key found for this signature in database
GPG key ID: C86C8658F4023918
2 changed files with 56 additions and 0 deletions

View file

@ -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);
}
}

View file

@ -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 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("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("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("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("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)); cards.add(new SetCardInfo("Shivan Devastator", 143, Rarity.MYTHIC, mage.cards.s.ShivanDevastator.class));