Implemented Sarkhan's Unsealing

This commit is contained in:
Evan Kranzler 2018-06-20 11:02:02 -04:00
parent ba1937b591
commit 23d0e5e803
2 changed files with 74 additions and 0 deletions

View file

@ -0,0 +1,73 @@
package mage.cards.s;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.effects.common.DamageAllEffect;
import mage.abilities.effects.common.DamagePlayersEffect;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.constants.TargetController;
import mage.filter.FilterPermanent;
import mage.filter.FilterSpell;
import mage.filter.common.FilterCreatureSpell;
import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.filter.predicate.mageobject.PowerPredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
import mage.target.common.TargetAnyTarget;
/**
*
* @author TheElk801
*/
public final class SarkhansUnsealing extends CardImpl {
private static final FilterSpell filter = new FilterCreatureSpell("a creature spell with power 4, 5, or 6");
private static final FilterSpell filter2 = new FilterCreatureSpell("a creature spell with power 7 or greater");
private static final FilterPermanent filter3 = new FilterPermanent();
static {
filter.add(new PowerPredicate(ComparisonType.MORE_THAN, 3));
filter.add(new PowerPredicate(ComparisonType.FEWER_THAN, 7));
filter2.add(new PowerPredicate(ComparisonType.MORE_THAN, 7));
filter3.add(Predicates.or(
new CardTypePredicate(CardType.CREATURE),
new CardTypePredicate(CardType.PLANESWALKER)
));
filter3.add(new ControllerPredicate(TargetController.OPPONENT));
}
public SarkhansUnsealing(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}");
// Whenever you cast a creature spell with power 4, 5, or 6, Sarkhan's Unsealing deals 4 damage to any target.
Ability ability = new SpellCastControllerTriggeredAbility(new DamageTargetEffect(4), filter, false);
ability.addTarget(new TargetAnyTarget());
this.addAbility(ability);
// Whenever you cast a creature spell with power 7 or greater, Sarkhan's Unsealing deals 4 damage to each opponent and each creature and planeswalker they control.
ability = new EntersBattlefieldTriggeredAbility(
new DamagePlayersEffect(4, TargetController.OPPONENT)
.setText("{this} deals 4 damage to each opponent")
);
ability.addEffect(
new DamageAllEffect(4, filter3)
.setText("and each creature and planeswalker they control")
);
this.addAbility(ability);
}
public SarkhansUnsealing(final SarkhansUnsealing card) {
super(card);
}
@Override
public SarkhansUnsealing copy() {
return new SarkhansUnsealing(this);
}
}

View file

@ -167,6 +167,7 @@ public final class CoreSet2019 extends ExpansionSet {
cards.add(new SetCardInfo("Root Snare", 199, Rarity.COMMON, mage.cards.r.RootSnare.class));
cards.add(new SetCardInfo("Rustwing Falcon", 36, Rarity.COMMON, mage.cards.r.RustwingFalcon.class));
cards.add(new SetCardInfo("Salvager of Secrets", 70, Rarity.COMMON, mage.cards.s.SalvagerOfSecrets.class));
cards.add(new SetCardInfo("Sarkhan's Unsealing", 155, Rarity.RARE, mage.cards.s.SarkhansUnsealing.class));
cards.add(new SetCardInfo("Sarkhan's Whelp", 299, Rarity.UNCOMMON, mage.cards.s.SarkhansWhelp.class));
cards.add(new SetCardInfo("Sarkhan, Dragonsoul", 296, Rarity.MYTHIC, mage.cards.s.SarkhanDragonsoul.class));
cards.add(new SetCardInfo("Satyr Enchanter", 223, Rarity.UNCOMMON, mage.cards.s.SatyrEnchanter.class));