mirror of
https://github.com/correl/mage.git
synced 2025-01-12 03:00:13 +00:00
Implemented Sarkhan's Unsealing
This commit is contained in:
parent
ba1937b591
commit
23d0e5e803
2 changed files with 74 additions and 0 deletions
73
Mage.Sets/src/mage/cards/s/SarkhansUnsealing.java
Normal file
73
Mage.Sets/src/mage/cards/s/SarkhansUnsealing.java
Normal 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);
|
||||
}
|
||||
}
|
|
@ -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));
|
||||
|
|
Loading…
Reference in a new issue