forked from External/mage
implement [MH3] Voltstorm Angel
This commit is contained in:
parent
5cc38a1225
commit
4cf99b41b1
3 changed files with 75 additions and 5 deletions
|
|
@ -37,21 +37,21 @@ public final class HyldaOfTheIcyCrown extends CardImpl {
|
|||
|
||||
// Whenever you tap an untapped creature an opponent controls, you may pay {1}. When you do, choose one --
|
||||
// * Create a 4/4 white and blue Elemental creature token.
|
||||
ReflexiveTriggeredAbility delayed = new ReflexiveTriggeredAbility(
|
||||
ReflexiveTriggeredAbility reflexive = new ReflexiveTriggeredAbility(
|
||||
new CreateTokenEffect(new Elemental44WUToken()), false
|
||||
);
|
||||
// * Put a +1/+1 counter on each creature you control.
|
||||
delayed.addMode(new Mode(new AddCountersAllEffect(
|
||||
reflexive.addMode(new Mode(new AddCountersAllEffect(
|
||||
CounterType.P1P1.createInstance(), StaticFilters.FILTER_CONTROLLED_CREATURE
|
||||
)));
|
||||
|
||||
|
||||
// * Scry 2, then draw a card.
|
||||
Mode mode = new Mode(new ScryEffect(2, false));
|
||||
mode.addEffect(new DrawCardSourceControllerEffect(1).concatBy(", then"));
|
||||
delayed.addMode(mode);
|
||||
reflexive.addMode(mode);
|
||||
|
||||
this.addAbility(new TapUntappedPermanentTriggeredAbility(
|
||||
new DoWhenCostPaid(delayed, new GenericManaCost(1), "Pay {1}?"),
|
||||
new DoWhenCostPaid(reflexive, new GenericManaCost(1), "Pay {1}?"),
|
||||
StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE
|
||||
));
|
||||
}
|
||||
|
|
|
|||
69
Mage.Sets/src/mage/cards/v/VoltstormAngel.java
Normal file
69
Mage.Sets/src/mage/cards/v/VoltstormAngel.java
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
package mage.cards.v;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Mode;
|
||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.common.delayed.ReflexiveTriggeredAbility;
|
||||
import mage.abilities.costs.common.PayEnergyCost;
|
||||
import mage.abilities.effects.common.DoWhenCostPaid;
|
||||
import mage.abilities.effects.common.continuous.BoostControlledEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
|
||||
import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.abilities.keyword.LifelinkAbility;
|
||||
import mage.abilities.keyword.VigilanceAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.TargetController;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author Susucr
|
||||
*/
|
||||
public final class VoltstormAngel extends CardImpl {
|
||||
|
||||
public VoltstormAngel(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{W}");
|
||||
|
||||
this.subtype.add(SubType.ANGEL);
|
||||
this.power = new MageInt(4);
|
||||
this.toughness = new MageInt(4);
|
||||
|
||||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// When Voltstorm Angel enters the battlefield, you get {E}{E}{E}.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new GetEnergyCountersControllerEffect(3)));
|
||||
|
||||
// At the beginning of combat on your turn, you may pay {E}{E}. When you do, choose one --
|
||||
// * Voltstorm Angel gains vigilance and lifelink until end of turn.
|
||||
ReflexiveTriggeredAbility reflexive = new ReflexiveTriggeredAbility(
|
||||
new GainAbilitySourceEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn)
|
||||
.setText("{this} gains vigilance"), false
|
||||
);
|
||||
reflexive.addEffect(
|
||||
new GainAbilitySourceEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn)
|
||||
.setText("and lifelink until end of turn")
|
||||
);
|
||||
// * Other creatures you control get +1/+1 until end of turn.
|
||||
reflexive.addMode(new Mode(new BoostControlledEffect(1, 1, Duration.EndOfTurn, true)));
|
||||
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
||||
new DoWhenCostPaid(reflexive, new PayEnergyCost(2), "Pay {E}{E}?"),
|
||||
TargetController.YOU, false
|
||||
));
|
||||
}
|
||||
|
||||
private VoltstormAngel(final VoltstormAngel card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VoltstormAngel copy() {
|
||||
return new VoltstormAngel(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -154,6 +154,7 @@ public final class ModernHorizons3 extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Ulamog, the Defiler", 15, Rarity.MYTHIC, mage.cards.u.UlamogTheDefiler.class));
|
||||
cards.add(new SetCardInfo("Urza's Cave", 234, Rarity.UNCOMMON, mage.cards.u.UrzasCave.class));
|
||||
cards.add(new SetCardInfo("Victimize", 278, Rarity.UNCOMMON, mage.cards.v.Victimize.class));
|
||||
cards.add(new SetCardInfo("Voltstorm Angel", 46, Rarity.UNCOMMON, mage.cards.v.VoltstormAngel.class));
|
||||
cards.add(new SetCardInfo("Warren Soultrader", 110, Rarity.RARE, mage.cards.w.WarrenSoultrader.class));
|
||||
cards.add(new SetCardInfo("Waterlogged Teachings", 261, Rarity.UNCOMMON, mage.cards.w.WaterloggedTeachings.class));
|
||||
cards.add(new SetCardInfo("White Orchid Phantom", 47, Rarity.RARE, mage.cards.w.WhiteOrchidPhantom.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue