Implemented Sarkhan Dragonsoul

This commit is contained in:
Evan Kranzler 2018-06-15 21:26:22 -04:00
parent 74f45220d7
commit 6656ebf950
2 changed files with 65 additions and 0 deletions

View file

@ -0,0 +1,64 @@
package mage.cards.s;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlanswalkerEntersWithLoyalityCountersAbility;
import mage.abilities.effects.common.DamageAllEffect;
import mage.abilities.effects.common.DamagePlayersEffect;
import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.TargetController;
import mage.filter.StaticFilters;
import mage.filter.common.FilterCreatureCard;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.common.TargetCardInLibrary;
import mage.target.common.TargetPlayerOrPlaneswalker;
/**
*
* @author TheElk801
*/
public final class SarkhanDragonsoul extends CardImpl {
private static final FilterCreatureCard filter = new FilterCreatureCard("Dragon creature cards");
static {
filter.add(new SubtypePredicate(SubType.DRAGON));
}
public SarkhanDragonsoul(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{R}{R}");
this.addSuperType(SuperType.LEGENDARY);
this.subtype.add(SubType.SARKHAN);
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5));
// +2: Sarkhan, Dragonsoul deals 1 damage to each opponent and each creature your opponents control.
Ability ability = new LoyaltyAbility(new DamagePlayersEffect(1, TargetController.OPPONENT), 2);
ability.addEffect(new DamageAllEffect(1, StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE)
.setText("and each creature your opponents control")
);
// 3: Sarkhan, Dragonsoul deals 4 damage to target player or planeswalker.
ability = new LoyaltyAbility(new DamageTargetEffect(4), -3);
ability.addTarget(new TargetPlayerOrPlaneswalker());
// 9: Search your library for any number of Dragon creature cards, put them onto the battlefield, then shuffle your library.
this.addAbility(new LoyaltyAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, Integer.MAX_VALUE, filter)), -9));
}
public SarkhanDragonsoul(final SarkhanDragonsoul card) {
super(card);
}
@Override
public SarkhanDragonsoul copy() {
return new SarkhanDragonsoul(this);
}
}

View file

@ -115,6 +115,7 @@ public final class CoreSet2019 extends ExpansionSet {
cards.add(new SetCardInfo("Rogue's Gloves", 243, Rarity.UNCOMMON, mage.cards.r.RoguesGloves.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, Dragonsoul", 296, Rarity.MYTHIC, mage.cards.s.SarkhanDragonsoul.class));
cards.add(new SetCardInfo("Scholar of Stars", 71, Rarity.COMMON, mage.cards.s.ScholarOfStars.class));
cards.add(new SetCardInfo("Serra's Guardian", 284, Rarity.RARE, mage.cards.s.SerrasGuardian.class));
cards.add(new SetCardInfo("Shivan Dragon", 300, Rarity.RARE, mage.cards.s.ShivanDragon.class));