Implemented Springbloom Druid

This commit is contained in:
Evan Kranzler 2019-05-25 09:23:03 -04:00
parent 516497b446
commit 7198395ab5
3 changed files with 55 additions and 3 deletions

View file

@ -1,5 +1,3 @@
package mage.cards.h;
import java.util.UUID;
@ -26,7 +24,7 @@ public final class Harrow extends CardImpl {
this.color.setGreen(true);
// As an additional cost to cast Harrow, sacrifice a land.
this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledLandPermanent("land"))));
this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_LAND_SHORT_TEXT)));
// Search your library for up to two basic land cards and put them onto the battlefield. Then shuffle your library.
TargetCardInLibrary target = new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LAND);

View file

@ -0,0 +1,53 @@
package mage.cards.s;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.effects.common.DoIfCostPaid;
import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.SubType;
import mage.filter.StaticFilters;
import mage.target.common.TargetCardInLibrary;
import mage.target.common.TargetControlledPermanent;
import java.util.UUID;
import static mage.filter.StaticFilters.FILTER_CONTROLLED_LAND_SHORT_TEXT;
/**
* @author TheElk801
*/
public final class SpringbloomDruid extends CardImpl {
public SpringbloomDruid(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}");
this.subtype.add(SubType.ELF);
this.subtype.add(SubType.DRUID);
this.power = new MageInt(1);
this.toughness = new MageInt(1);
// When Springbloom Druid enters the battlefield, you may sacrifice a land. If you do, search your library for up to two basic land cards, put them onto the battlefield tapped, then shuffle your library.
this.addAbility(new EntersBattlefieldTriggeredAbility(new DoIfCostPaid(
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(
0, 2, StaticFilters.FILTER_CARD_BASIC_LAND
), true, Outcome.PutLandInPlay
).setText("search your library for up to two basic land cards, " +
"put them onto the battlefield tapped, then shuffle your library"
), new SacrificeTargetCost(new TargetControlledPermanent(FILTER_CONTROLLED_LAND_SHORT_TEXT))
)));
}
private SpringbloomDruid(final SpringbloomDruid card) {
super(card);
}
@Override
public SpringbloomDruid copy() {
return new SpringbloomDruid(this);
}
}

View file

@ -109,6 +109,7 @@ public final class ModernHorizons extends ExpansionSet {
cards.add(new SetCardInfo("Snow-Covered Plains", 250, Rarity.COMMON, mage.cards.s.SnowCoveredPlains.class));
cards.add(new SetCardInfo("Snow-Covered Swamp", 252, Rarity.COMMON, mage.cards.s.SnowCoveredSwamp.class));
cards.add(new SetCardInfo("Spore Frog", 180, Rarity.COMMON, mage.cards.s.SporeFrog.class));
cards.add(new SetCardInfo("Springbloom Druid", 181, Rarity.COMMON, mage.cards.s.SpringbloomDruid.class));
cards.add(new SetCardInfo("Squirrel Nest", 182, Rarity.UNCOMMON, mage.cards.s.SquirrelNest.class));
cards.add(new SetCardInfo("Stream of Thought", 71, Rarity.COMMON, mage.cards.s.StreamOfThought.class));
cards.add(new SetCardInfo("Sunbaked Canyon", 247, Rarity.RARE, mage.cards.s.SunbakedCanyon.class));