Implemented Sundering Stroke

This commit is contained in:
Evan Kranzler 2019-09-24 08:37:45 -04:00
parent a2c4dc69d8
commit a4f9c76425
3 changed files with 54 additions and 0 deletions

View file

@ -0,0 +1,52 @@
package mage.cards.s;
import mage.abilities.Ability;
import mage.abilities.condition.Condition;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.DamageMultiEffect;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.ColoredManaSymbol;
import mage.game.Game;
import mage.target.common.TargetAnyTargetAmount;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class SunderingStroke extends CardImpl {
public SunderingStroke(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{6}{R}");
// Sundering Stroke deals 7 damage divided as you choose among one, two, or three targets. If at least seven red mana was spent to cast this spell, instead Sundering Stroke deals 7 damage to each of those permanents and/or players.
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new DamageTargetEffect(7), new DamageMultiEffect(7), SunderingStrokeCondtition.instance,
"{this} deals 7 damage divided as you choose among one, two, or three targets. " +
"If at least seven red mana was spent to cast this spell, " +
"instead {this} deals 7 damage to each of those permanents and/or players"
));
this.getSpellAbility().addTarget(new TargetAnyTargetAmount(7, 3));
}
private SunderingStroke(final SunderingStroke card) {
super(card);
}
@Override
public SunderingStroke copy() {
return new SunderingStroke(this);
}
}
enum SunderingStrokeCondtition implements Condition {
instance;
@Override
public boolean apply(Game game, Ability source) {
return source.getManaCostsToPay().getPayment().getColor(ColoredManaSymbol.R) >= 6;
}
}

View file

@ -270,6 +270,7 @@ public final class ThroneOfEldraine extends ExpansionSet {
cards.add(new SetCardInfo("Stolen by the Fae", 66, Rarity.RARE, mage.cards.s.StolenByTheFae.class));
cards.add(new SetCardInfo("Stonecoil Serpent", 235, Rarity.RARE, mage.cards.s.StonecoilSerpent.class));
cards.add(new SetCardInfo("Stormfist Crusader", 203, Rarity.RARE, mage.cards.s.StormfistCrusader.class));
cards.add(new SetCardInfo("Sundering Stroke", 144, Rarity.RARE, mage.cards.s.SunderingStroke.class));
cards.add(new SetCardInfo("Swamp", 258, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Swamp", 259, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Swamp", 260, Rarity.LAND, mage.cards.basiclands.Swamp.class, NON_FULL_USE_VARIOUS));

View file

@ -95,6 +95,7 @@ public final class ThroneOfEldraineCollectorsEdition extends ExpansionSet {
cards.add(new SetCardInfo("Stolen by the Fae", 348, Rarity.RARE, mage.cards.s.StolenByTheFae.class));
cards.add(new SetCardInfo("Stonecoil Serpent", 385, Rarity.RARE, mage.cards.s.StonecoilSerpent.class));
cards.add(new SetCardInfo("Stormfist Crusader", 383, Rarity.RARE, mage.cards.s.StormfistCrusader.class));
cards.add(new SetCardInfo("Sundering Stroke", 366, Rarity.RARE, mage.cards.s.SunderingStroke.class));
cards.add(new SetCardInfo("The Cauldron of Eternity", 352, Rarity.MYTHIC, mage.cards.t.TheCauldronOfEternity.class));
cards.add(new SetCardInfo("The Circle of Loyalty", 336, Rarity.MYTHIC, mage.cards.t.TheCircleOfLoyalty.class));
cards.add(new SetCardInfo("The Great Henge", 370, Rarity.MYTHIC, mage.cards.t.TheGreatHenge.class));