forked from External/mage
[SPM] implement Gwen Stacy
This commit is contained in:
parent
e65e67c125
commit
ef249d1ada
2 changed files with 73 additions and 0 deletions
70
Mage.Sets/src/mage/cards/g/GwenStacy.java
Normal file
70
Mage.Sets/src/mage/cards/g/GwenStacy.java
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
package mage.cards.g;
|
||||||
|
|
||||||
|
import mage.abilities.common.ActivateAsSorceryActivatedAbility;
|
||||||
|
import mage.abilities.common.ControllerPlaysLandTriggeredAbility;
|
||||||
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
|
import mage.abilities.costs.common.RemoveCountersSourceCost;
|
||||||
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
|
import mage.abilities.effects.common.ExileTopXMayPlayUntilEffect;
|
||||||
|
import mage.abilities.effects.common.TransformSourceEffect;
|
||||||
|
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||||
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
|
import mage.abilities.keyword.HasteAbility;
|
||||||
|
import mage.abilities.keyword.VigilanceAbility;
|
||||||
|
import mage.cards.CardSetInfo;
|
||||||
|
import mage.cards.ModalDoubleFacedCard;
|
||||||
|
import mage.constants.*;
|
||||||
|
import mage.counters.CounterType;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Jmlundeen
|
||||||
|
*/
|
||||||
|
public final class GwenStacy extends ModalDoubleFacedCard {
|
||||||
|
|
||||||
|
public GwenStacy(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
super(ownerId, setInfo,
|
||||||
|
new SuperType[]{SuperType.LEGENDARY}, new CardType[]{CardType.CREATURE}, new SubType[]{SubType.HUMAN, SubType.PERFORMER, SubType.HERO}, "{1}{R}",
|
||||||
|
"Ghost-Spider",
|
||||||
|
new SuperType[]{SuperType.LEGENDARY}, new CardType[]{CardType.CREATURE}, new SubType[]{SubType.SPIDER, SubType.HUMAN, SubType.HERO}, "{2}{U}{R}{W}");
|
||||||
|
|
||||||
|
this.getLeftHalfCard().setPT(2, 1);
|
||||||
|
this.getRightHalfCard().setPT(4, 4);
|
||||||
|
|
||||||
|
// When Gwen Stacy enters, exile the top card of your library. You may play that card for as long as you control this creature.
|
||||||
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new ExileTopXMayPlayUntilEffect(1, Duration.WhileControlled)
|
||||||
|
.withTextOptions("that card", true)));
|
||||||
|
// {2}{U}{R}{W}: Transform Gwen Stacy. Activate only as a sorcery.
|
||||||
|
this.addAbility(new ActivateAsSorceryActivatedAbility(new TransformSourceEffect(), new ManaCostsImpl<>("{2}{U}{R}{W}")));
|
||||||
|
|
||||||
|
// Ghost-Spider
|
||||||
|
// Flying
|
||||||
|
this.getRightHalfCard().addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
|
// Vigilance
|
||||||
|
this.getRightHalfCard().addAbility(VigilanceAbility.getInstance());
|
||||||
|
|
||||||
|
// Haste
|
||||||
|
this.getRightHalfCard().addAbility(HasteAbility.getInstance());
|
||||||
|
|
||||||
|
// Whenever you play a land from exile or cast a spell from exile, put a +1/+1 counter on Ghost-Spider.
|
||||||
|
this.getRightHalfCard().addAbility(new ControllerPlaysLandTriggeredAbility(Zone.BATTLEFIELD,
|
||||||
|
new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false));
|
||||||
|
// Remove two counters from Ghost-Spider: Exile the top card of your library. You may play that card this turn.
|
||||||
|
this.getRightHalfCard().addAbility(new SimpleActivatedAbility(
|
||||||
|
new ExileTopXMayPlayUntilEffect(1, Duration.EndOfTurn),
|
||||||
|
new RemoveCountersSourceCost(CounterType.P1P1.createInstance(2))));
|
||||||
|
}
|
||||||
|
|
||||||
|
private GwenStacy(final GwenStacy card) {
|
||||||
|
super(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public GwenStacy copy() {
|
||||||
|
return new GwenStacy(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -54,6 +54,9 @@ public final class MarvelsSpiderMan extends ExpansionSet {
|
||||||
cards.add(new SetCardInfo("Green Goblin, Revenant", 130, Rarity.UNCOMMON, mage.cards.g.GreenGoblinRevenant.class));
|
cards.add(new SetCardInfo("Green Goblin, Revenant", 130, Rarity.UNCOMMON, mage.cards.g.GreenGoblinRevenant.class));
|
||||||
cards.add(new SetCardInfo("Grow Extra Arms", 101, Rarity.COMMON, mage.cards.g.GrowExtraArms.class));
|
cards.add(new SetCardInfo("Grow Extra Arms", 101, Rarity.COMMON, mage.cards.g.GrowExtraArms.class));
|
||||||
cards.add(new SetCardInfo("Guy in the Chair", 102, Rarity.COMMON, mage.cards.g.GuyInTheChair.class));
|
cards.add(new SetCardInfo("Guy in the Chair", 102, Rarity.COMMON, mage.cards.g.GuyInTheChair.class));
|
||||||
|
cards.add(new SetCardInfo("Gwen Stacy", 202, Rarity.MYTHIC, mage.cards.g.GwenStacy.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Gwen Stacy", 209, Rarity.MYTHIC, mage.cards.g.GwenStacy.class, NON_FULL_USE_VARIOUS));
|
||||||
|
cards.add(new SetCardInfo("Gwen Stacy", 78, Rarity.MYTHIC, mage.cards.g.GwenStacy.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Gwenom, Remorseless", 256, Rarity.MYTHIC, mage.cards.g.GwenomRemorseless.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Gwenom, Remorseless", 256, Rarity.MYTHIC, mage.cards.g.GwenomRemorseless.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Gwenom, Remorseless", 286, Rarity.MYTHIC, mage.cards.g.GwenomRemorseless.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Gwenom, Remorseless", 286, Rarity.MYTHIC, mage.cards.g.GwenomRemorseless.class, NON_FULL_USE_VARIOUS));
|
||||||
cards.add(new SetCardInfo("Gwenom, Remorseless", 56, Rarity.MYTHIC, mage.cards.g.GwenomRemorseless.class, NON_FULL_USE_VARIOUS));
|
cards.add(new SetCardInfo("Gwenom, Remorseless", 56, Rarity.MYTHIC, mage.cards.g.GwenomRemorseless.class, NON_FULL_USE_VARIOUS));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue