diff --git a/Mage.Sets/src/mage/cards/s/SarkhansUnsealing.java b/Mage.Sets/src/mage/cards/s/SarkhansUnsealing.java new file mode 100644 index 00000000000..c5c6965d219 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SarkhansUnsealing.java @@ -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); + } +} diff --git a/Mage.Sets/src/mage/sets/CoreSet2019.java b/Mage.Sets/src/mage/sets/CoreSet2019.java index 1c069334d45..9a002fe0cf1 100644 --- a/Mage.Sets/src/mage/sets/CoreSet2019.java +++ b/Mage.Sets/src/mage/sets/CoreSet2019.java @@ -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));