mirror of
https://github.com/magefree/mage.git
synced 2025-12-28 06:22:01 -08:00
implement [MH3] Sink into Stupor // Soporific Springs
This commit is contained in:
parent
f73ff133c7
commit
fe919aa5e4
2 changed files with 70 additions and 0 deletions
69
Mage.Sets/src/mage/cards/s/SinkIntoStupor.java
Normal file
69
Mage.Sets/src/mage/cards/s/SinkIntoStupor.java
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
package mage.cards.s;
|
||||
|
||||
import mage.abilities.common.AsEntersBattlefieldAbility;
|
||||
import mage.abilities.costs.common.PayLifeCost;
|
||||
import mage.abilities.effects.common.ReturnToHandTargetEffect;
|
||||
import mage.abilities.effects.common.TapSourceUnlessPaysEffect;
|
||||
import mage.abilities.mana.BlueManaAbility;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.cards.ModalDoubleFacedCard;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.TargetController;
|
||||
import mage.filter.common.FilterSpellOrPermanent;
|
||||
import mage.filter.predicate.Predicates;
|
||||
import mage.target.common.TargetSpellOrPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author Susucr
|
||||
*/
|
||||
public final class SinkIntoStupor extends ModalDoubleFacedCard {
|
||||
|
||||
private static final FilterSpellOrPermanent filter
|
||||
= new FilterSpellOrPermanent("spell or nonland permanent an opponent controls");
|
||||
|
||||
static {
|
||||
filter.getSpellFilter().add(TargetController.OPPONENT.getControllerPredicate());
|
||||
filter.getPermanentFilter().add(TargetController.OPPONENT.getControllerPredicate());
|
||||
filter.getPermanentFilter().add(Predicates.not(CardType.LAND.getPredicate()));
|
||||
}
|
||||
|
||||
public SinkIntoStupor(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo,
|
||||
new CardType[]{CardType.INSTANT}, new SubType[]{}, "{1}{U}{U}",
|
||||
"Soporific Springs", new CardType[]{CardType.LAND}, new SubType[]{}, ""
|
||||
);
|
||||
|
||||
// 1.
|
||||
// Sink into Stupor
|
||||
// Instant
|
||||
|
||||
// Return target spell or nonland permanent an opponent controls to its owner's hand.
|
||||
this.getLeftHalfCard().getSpellAbility().addEffect(new ReturnToHandTargetEffect());
|
||||
this.getLeftHalfCard().getSpellAbility().addTarget(new TargetSpellOrPermanent(filter));
|
||||
|
||||
// 2.
|
||||
// Soporific Springs
|
||||
// Land
|
||||
|
||||
// As Soporific Springs enters the battlefield, you may pay 3 life. If you don't, it enters the battlefield tapped.
|
||||
this.getRightHalfCard().addAbility(new AsEntersBattlefieldAbility(
|
||||
new TapSourceUnlessPaysEffect(new PayLifeCost(3)),
|
||||
"you may pay 3 life. If you don't, it enters the battlefield tapped"
|
||||
));
|
||||
|
||||
// {T}: Add {U}.
|
||||
this.getRightHalfCard().addAbility(new BlueManaAbility());
|
||||
}
|
||||
|
||||
private SinkIntoStupor(final SinkIntoStupor card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SinkIntoStupor copy() {
|
||||
return new SinkIntoStupor(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -120,6 +120,7 @@ public final class ModernHorizons3 extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Scurrilous Sentry", 108, Rarity.COMMON, mage.cards.s.ScurrilousSentry.class));
|
||||
cards.add(new SetCardInfo("Scurry of Gremlins", 203, Rarity.UNCOMMON, mage.cards.s.ScurryOfGremlins.class));
|
||||
cards.add(new SetCardInfo("Serum Visionary", 69, Rarity.COMMON, mage.cards.s.SerumVisionary.class));
|
||||
cards.add(new SetCardInfo("Sink into Stupor", 241, Rarity.UNCOMMON, mage.cards.s.SinkIntoStupor.class));
|
||||
cards.add(new SetCardInfo("Six", 169, Rarity.RARE, mage.cards.s.Six.class));
|
||||
cards.add(new SetCardInfo("Skoa, Embermage", 138, Rarity.COMMON, mage.cards.s.SkoaEmbermage.class));
|
||||
cards.add(new SetCardInfo("Snow-Covered Wastes", 229, Rarity.UNCOMMON, mage.cards.s.SnowCoveredWastes.class, NON_FULL_USE_VARIOUS));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue