[DMU] Implemented Shadow Prophecy

This commit is contained in:
Evan Kranzler 2022-08-27 10:58:34 -04:00
parent 692b565640
commit e557b7a04b
3 changed files with 45 additions and 0 deletions

View file

@ -0,0 +1,42 @@
package mage.cards.s;
import mage.abilities.dynamicvalue.common.DomainValue;
import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
import mage.abilities.effects.common.LookLibraryControllerEffect;
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
import mage.abilities.hint.common.DomainHint;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AbilityWord;
import mage.constants.CardType;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class ShadowProphecy extends CardImpl {
public ShadowProphecy(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{B}");
// Domain - Look at the top X cards of your library, where X is the number of basic land types among lands you control. Put up to two of them into your hand and the rest into your graveyard. You lose 2 life.
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
DomainValue.REGULAR, 2,
LookLibraryControllerEffect.PutCards.HAND,
LookLibraryControllerEffect.PutCards.GRAVEYARD
));
this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(2));
this.getSpellAbility().setAbilityWord(AbilityWord.DOMAIN);
this.getSpellAbility().addHint(DomainHint.instance);
}
private ShadowProphecy(final ShadowProphecy card) {
super(card);
}
@Override
public ShadowProphecy copy() {
return new ShadowProphecy(this);
}
}

View file

@ -1,5 +1,6 @@
package mage.cards.s; package mage.cards.s;
import mage.abilities.effects.common.UntapTargetEffect;
import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.keyword.HexproofAbility; import mage.abilities.keyword.HexproofAbility;
@ -26,6 +27,7 @@ public final class ShoreUp extends CardImpl {
this.getSpellAbility().addEffect(new GainAbilityTargetEffect( this.getSpellAbility().addEffect(new GainAbilityTargetEffect(
HexproofAbility.getInstance(), Duration.EndOfTurn HexproofAbility.getInstance(), Duration.EndOfTurn
).setText("and gains hexproof until end of turn")); ).setText("and gains hexproof until end of turn"));
this.getSpellAbility().addEffect(new UntapTargetEffect("Untap it"));
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent()); this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
} }

View file

@ -160,6 +160,7 @@ public final class DominariaUnited extends ExpansionSet {
cards.add(new SetCardInfo("Samite Herbalist", 31, Rarity.COMMON, mage.cards.s.SamiteHerbalist.class)); cards.add(new SetCardInfo("Samite Herbalist", 31, Rarity.COMMON, mage.cards.s.SamiteHerbalist.class));
cards.add(new SetCardInfo("Scout the Wilderness", 176, Rarity.COMMON, mage.cards.s.ScoutTheWilderness.class)); cards.add(new SetCardInfo("Scout the Wilderness", 176, Rarity.COMMON, mage.cards.s.ScoutTheWilderness.class));
cards.add(new SetCardInfo("Sengir Connoisseur", 104, Rarity.UNCOMMON, mage.cards.s.SengirConnoisseur.class)); cards.add(new SetCardInfo("Sengir Connoisseur", 104, Rarity.UNCOMMON, mage.cards.s.SengirConnoisseur.class));
cards.add(new SetCardInfo("Shadow Prophecy", 105, Rarity.COMMON, mage.cards.s.ShadowProphecy.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, 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));