mirror of
https://github.com/correl/mage.git
synced 2024-11-14 19:19:32 +00:00
SearchLibraryPutInPlayEffect: remove forceshuffle parameter, part 2
This commit is contained in:
parent
4c787423bc
commit
698fe34014
65 changed files with 69 additions and 76 deletions
|
@ -62,7 +62,7 @@ class BeginTheInvasionEffect extends OneShotEffect {
|
|||
public boolean apply(Game game, Ability source) {
|
||||
int xValue = source.getManaCostsToPay().getX();
|
||||
return new SearchLibraryPutInPlayEffect(
|
||||
new TargetCardWithDifferentNameInLibrary(0, xValue, filter), false, true
|
||||
new TargetCardWithDifferentNameInLibrary(0, xValue, filter), false
|
||||
).apply(game, source);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ public final class BeneathTheSands extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{G}");
|
||||
|
||||
// Search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true));
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true));
|
||||
|
||||
// Cycling {2}
|
||||
this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}")));
|
||||
|
|
|
@ -35,7 +35,7 @@ public final class BitterthornNissasAnimus extends CardImpl {
|
|||
|
||||
// Whenever equipped creature attacks, you may search your library for a basic land card, put it onto the battlefield tapped, then shuffle.
|
||||
this.addAbility(new AttacksAttachedTriggeredAbility(new SearchLibraryPutInPlayEffect(
|
||||
new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND_A), true, true
|
||||
new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND_A), true
|
||||
), true));
|
||||
|
||||
// Equip {3}
|
||||
|
|
|
@ -31,7 +31,7 @@ public final class BlightedWoodland extends CardImpl {
|
|||
|
||||
// {3}{G}, {T}, Sacrifice Blighted Woodland: Search your library for up to two basic land cards and put them onto the battlefield tapped. Then shuffle your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LANDS), true, true),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LANDS), true),
|
||||
new ManaCostsImpl<>("{3}{G}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
|
|
|
@ -39,7 +39,7 @@ public final class BogbrewWitch extends CardImpl {
|
|||
// {2}, {T}: Search your library for a card named Festering Newt or Bubbling Cauldron, put it onto the battlefield tapped, then shuffle your library.
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(1, 1, new FilterCard(filter));
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
new SearchLibraryPutInPlayEffect(target, true, true),
|
||||
new SearchLibraryPutInPlayEffect(target, true),
|
||||
new ManaCostsImpl<>("{2}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -39,7 +39,7 @@ public final class BrokersHideout extends CardImpl {
|
|||
|
||||
// When Brokers Hideout enters the battlefield, sacrifice it. When you do, search your library for a basic Forest, Plains, or Island card, put it onto the battlefield tapped, then shuffle and you gain 1 life.
|
||||
ReflexiveTriggeredAbility ability = new ReflexiveTriggeredAbility(new SearchLibraryPutInPlayEffect(
|
||||
new TargetCardInLibrary(filter), true, true
|
||||
new TargetCardInLibrary(filter), true
|
||||
), false);
|
||||
ability.addEffect(new GainLifeEffect(1).concatBy("and"));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new DoWhenCostPaid(
|
||||
|
|
|
@ -33,7 +33,7 @@ public final class BurnishedHart extends CardImpl {
|
|||
// {3}, Sacrifice Burnished Hart: Search your library for up to two basic land cards, put them onto the battlefield tapped, then shuffle your library.
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
Zone.BATTLEFIELD,
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0,2, StaticFilters.FILTER_CARD_BASIC_LANDS), true, true),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0,2, StaticFilters.FILTER_CARD_BASIC_LANDS), true),
|
||||
new GenericManaCost(3));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -38,7 +38,7 @@ public final class CabarettiCourtyard extends CardImpl {
|
|||
|
||||
// When Cabaretti Courtyard enters the battlefield, sacrifice it. When you do, search your library for a basic Mountain, Forest, or Plains card, put it onto the battlefield tapped, then shuffle and you gain 1 life.
|
||||
ReflexiveTriggeredAbility ability = new ReflexiveTriggeredAbility(new SearchLibraryPutInPlayEffect(
|
||||
new TargetCardInLibrary(filter), true, true
|
||||
new TargetCardInLibrary(filter), true
|
||||
), false);
|
||||
ability.addEffect(new GainLifeEffect(1).concatBy("and"));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new DoWhenCostPaid(
|
||||
|
|
|
@ -28,7 +28,7 @@ public final class CentaurRootcaster extends CardImpl {
|
|||
|
||||
// Whenever Centaur Rootcaster deals combat damage to a player, you may search your library for a basic land card and put that card onto the battlefield tapped. If you do, shuffle your library.
|
||||
this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true),
|
||||
true));
|
||||
}
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ class DeepGnomeTerramancerTriggeredAbility extends TriggeredAbilityImpl {
|
|||
FilterCard filter = new FilterCard("Plains card");
|
||||
filter.add(SubType.PLAINS.getPredicate());
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(filter);
|
||||
addEffect(new SearchLibraryPutInPlayEffect(target, true, true));
|
||||
addEffect(new SearchLibraryPutInPlayEffect(target, true));
|
||||
}
|
||||
|
||||
DeepGnomeTerramancerTriggeredAbility(DeepGnomeTerramancerTriggeredAbility ability) {
|
||||
|
|
|
@ -7,7 +7,6 @@ import mage.abilities.keyword.FlashbackAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.TimingRule;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
|
||||
|
@ -24,7 +23,7 @@ public final class DeepReconnaissance extends CardImpl {
|
|||
|
||||
|
||||
// Search your library for a basic land card and put that card onto the battlefield tapped. Then shuffle your library.
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true));
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true));
|
||||
// Flashback {4}{G}
|
||||
this.addAbility(new FlashbackAbility(this, new ManaCostsImpl<>("{4}{G}")));
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ public final class DoricNaturesWarden extends CardImpl {
|
|||
|
||||
// When Doric, Nature's Warden enters the battlefield, search your library for a Forest card, put it into the battlefield tapped, then shuffle.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), true, true)
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), true)
|
||||
));
|
||||
|
||||
// Whenever Doric attacks, you may pay {1}{G}. If you do, transform her.
|
||||
|
|
|
@ -64,7 +64,7 @@ public final class DroidFactory extends CardImpl {
|
|||
filter.add(Predicates.or(subtypePredicates));
|
||||
filter.add(SuperType.BASIC.getPredicate());
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(filter);
|
||||
addEffect(new SearchLibraryPutInPlayEffect(target, true, true));
|
||||
addEffect(new SearchLibraryPutInPlayEffect(target, true));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -26,8 +26,8 @@ public final class FarWanderings extends CardImpl {
|
|||
// Search your library for a basic land card, put that card onto the battlefield tapped, then shuffle your library.
|
||||
// Threshold - If seven or more cards are in your graveyard, instead search your library for up to three basic land cards, put them onto the battlefield tapped, then shuffle your library.
|
||||
Effect effect = new ConditionalOneShotEffect(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 3, StaticFilters.FILTER_CARD_BASIC_LAND), true, true),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), true, true),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 3, StaticFilters.FILTER_CARD_BASIC_LAND), true),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), true),
|
||||
new CardsInControllerGraveyardCondition(7),
|
||||
"Search your library for a basic land card, put that card onto the battlefield tapped, then shuffle.<br/><br/><i>Threshold</i> — If seven or more cards are in your graveyard, instead search your library for up to three basic land cards, put them onto the battlefield tapped, then shuffle.");
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
|
|
|
@ -28,7 +28,7 @@ public final class FarhavenElf extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// When Farhaven Elf enters the battlefield, you may search your library for a basic land card and put it onto the battlefield tapped. If you do, shuffle your library.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true), true));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true), true));
|
||||
}
|
||||
|
||||
private FarhavenElf(final FarhavenElf card) {
|
||||
|
|
|
@ -32,7 +32,7 @@ public final class FlagstonesOfTrokair extends CardImpl {
|
|||
this.addAbility(new WhiteManaAbility());
|
||||
|
||||
// When Flagstones of Trokair is put into a graveyard from the battlefield, you may search your library for a Plains card and put it onto the battlefield tapped. If you do, shuffle your library.
|
||||
this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(FILTER), true, true), true, false));
|
||||
this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(FILTER), true), true, false));
|
||||
}
|
||||
|
||||
private FlagstonesOfTrokair(final FlagstonesOfTrokair card) {
|
||||
|
|
|
@ -27,7 +27,7 @@ public final class FontOfFertility extends CardImpl {
|
|||
|
||||
// {1}{G}, Sacrifice Font of Fertility: Search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInPlayEffect(target, true, true), new ManaCostsImpl<>("{1}{G}"));
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInPlayEffect(target, true), new ManaCostsImpl<>("{1}{G}"));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ public final class GodoBanditWarlord extends CardImpl {
|
|||
this.toughness = new MageInt(3);
|
||||
|
||||
// When Godo, Bandit Warlord enters the battlefield, you may search your library for an Equipment card and put it onto the battlefield. If you do, shuffle your library.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false, true), true));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false), true));
|
||||
|
||||
// Whenever Godo attacks for the first time each turn, untap it and all Samurai you control. After this phase, there is an additional combat phase.
|
||||
Ability ability = new AttacksFirstTimeTriggeredAbility(new UntapSourceEffect().setText("untap it"), false);
|
||||
|
|
|
@ -26,8 +26,8 @@ public final class GrowFromTheAshes extends CardImpl {
|
|||
|
||||
// Search you library for a basic land card, put it onto the battlefield, then shuffle your library. If this spell was kicked, instead search your library for two basic land cards, put them onto the battlefield, then shuffle your library.
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LAND), false, true),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), false, true),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LAND), false),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), false),
|
||||
KickedCondition.ONCE,
|
||||
"Search your library for a basic land card, put it onto the battlefield, then shuffle. If this spell was kicked, instead search your library for two basic land cards, put them onto the battlefield, then shuffle."));
|
||||
}
|
||||
|
|
|
@ -64,7 +64,7 @@ public final class JediEnclave extends CardImpl {
|
|||
filter.add(Predicates.or(subtypePredicates));
|
||||
filter.add(SuperType.BASIC.getPredicate());
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(filter);
|
||||
addEffect(new SearchLibraryPutInPlayEffect(target, true, true));
|
||||
addEffect(new SearchLibraryPutInPlayEffect(target, true));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -64,7 +64,7 @@ public final class JungleVillage extends CardImpl {
|
|||
filter.add(Predicates.or(subtypePredicates));
|
||||
filter.add(SuperType.BASIC.getPredicate());
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(filter);
|
||||
addEffect(new SearchLibraryPutInPlayEffect(target, true, true));
|
||||
addEffect(new SearchLibraryPutInPlayEffect(target, true));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -53,7 +53,7 @@ public final class KeeperOfTheAccord extends CardImpl {
|
|||
// At the beginning of each opponent's end step, if that player controls more lands than you, you may search your library for a basic Plains card, put it onto the battlefield tapped, then shuffle your library.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
new BeginningOfEndStepTriggeredAbility(new SearchLibraryPutInPlayEffect(
|
||||
new TargetCardInLibrary(filter), true, true
|
||||
new TargetCardInLibrary(filter), true
|
||||
), TargetController.OPPONENT, true),
|
||||
KeeperOfTheAccordCondition.LANDS, "At the beginning of each opponent's end step, " +
|
||||
"if that player controls more lands than you, you may search your library for a basic Plains card, " +
|
||||
|
@ -87,4 +87,4 @@ enum KeeperOfTheAccordCondition implements Condition {
|
|||
return game.getBattlefield().countAll(filter, source.getControllerId(), game)
|
||||
< game.getBattlefield().countAll(filter, game.getActivePlayerId(), game);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ public final class KorlashHeirToBlackblade extends CardImpl {
|
|||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}{B}")));
|
||||
|
||||
// Grandeur - Discard another card named Korlash, Heir to Blackblade: Search your library for up to two Swamp cards, put them onto the battlefield tapped, then shuffle your library.
|
||||
effect = new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, filterCard), true, true);
|
||||
effect = new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, filterCard), true);
|
||||
effect.setText("Search your library for up to two Swamp cards, put them onto the battlefield tapped, then shuffle.");
|
||||
this.addAbility(new GrandeurAbility(effect, "Korlash, Heir to Blackblade"));
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ public final class KyscuDrake extends CardImpl {
|
|||
this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{G}")));
|
||||
|
||||
// Sacrifice Kyscu Drake and a creature named Spitting Drake: Search your library for a card named Viashivan Dragon and put that card onto the battlefield. Then shuffle your library.
|
||||
this.addAbility(new SimpleActivatedAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(1, 1, filter), false, true), new CompositeCost(new SacrificeSourceCost(), new SacrificeTargetCost(new TargetControlledCreaturePermanent(1, 1, filterSpitting, false)), "sacrifice {this} and a creature named Spitting Drake")));
|
||||
this.addAbility(new SimpleActivatedAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(1, 1, filter), false), new CompositeCost(new SacrificeSourceCost(), new SacrificeTargetCost(new TargetControlledCreaturePermanent(1, 1, filterSpitting, false)), "sacrifice {this} and a creature named Spitting Drake")));
|
||||
}
|
||||
|
||||
private KyscuDrake(final KyscuDrake card) {
|
||||
|
|
|
@ -42,7 +42,7 @@ public final class LoyalWarhound extends CardImpl {
|
|||
// When Loyal Warhound enters the battlefield, if an opponent controls more lands than you,
|
||||
// search your library for a basic Plains card, put it onto the battlefield tapped, then shuffle.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), true, true)),
|
||||
new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), true)),
|
||||
new OpponentControlsMoreCondition(StaticFilters.FILTER_LANDS),
|
||||
"When {this} enters the battlefield, if an opponent controls more lands than you, "
|
||||
+ "search your library for a basic Plains card, put it onto the battlefield tapped, then shuffle."
|
||||
|
|
|
@ -38,7 +38,7 @@ public final class MaestrosTheater extends CardImpl {
|
|||
|
||||
// When Maestros Theater enters the battlefield, sacrifice it. When you do, search your library for a basic Island, Swamp, or Mountain card, put it onto the battlefield tapped, then shuffle and you gain 1 life.
|
||||
ReflexiveTriggeredAbility ability = new ReflexiveTriggeredAbility(new SearchLibraryPutInPlayEffect(
|
||||
new TargetCardInLibrary(filter), true, true
|
||||
new TargetCardInLibrary(filter), true
|
||||
), false);
|
||||
ability.addEffect(new GainLifeEffect(1).concatBy("and"));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new DoWhenCostPaid(
|
||||
|
|
|
@ -50,7 +50,7 @@ public final class MagusOfTheOrder extends CardImpl {
|
|||
|
||||
// {G}, {T}, Sacrifice Magus of the Order and another green creature: Search your library for a green creature card and put it onto the battlefield. Then shuffle your library.
|
||||
Ability ability = new SimpleActivatedAbility(new SearchLibraryPutInPlayEffect(
|
||||
new TargetCardInLibrary(1, filter), false, true
|
||||
new TargetCardInLibrary(1, filter), false
|
||||
), new ManaCostsImpl<>("{G}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new CompositeCost(
|
||||
|
|
|
@ -31,7 +31,7 @@ public final class MwonvuliAcidMoss extends CardImpl {
|
|||
// Destroy target land. Search your library for a Forest card and put that card onto the battlefield tapped. Then shuffle your library.
|
||||
this.getSpellAbility().addEffect(new DestroyTargetEffect());
|
||||
this.getSpellAbility().addTarget(new TargetPermanent(new FilterLandPermanent()));
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filterForest), true, true));
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filterForest), true));
|
||||
}
|
||||
|
||||
private MwonvuliAcidMoss(final MwonvuliAcidMoss card) {
|
||||
|
|
|
@ -35,7 +35,7 @@ public final class NaturalOrder extends CardImpl {
|
|||
// As an additional cost to cast Natural Order, sacrifice a green creature.
|
||||
this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(1,1,filter, true)));
|
||||
// Search your library for a green creature card and put it onto the battlefield. Then shuffle your library.
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(1 , filterCard), false, true));
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(1 , filterCard), false));
|
||||
}
|
||||
|
||||
private NaturalOrder(final NaturalOrder card) {
|
||||
|
|
|
@ -28,7 +28,7 @@ public final class NaturesLore extends CardImpl {
|
|||
|
||||
|
||||
// Search your library for a Forest card and put that card onto the battlefield. Then shuffle your library.
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false, true));
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false));
|
||||
}
|
||||
|
||||
private NaturesLore(final NaturesLore card) {
|
||||
|
|
|
@ -23,7 +23,7 @@ public final class NissasExpedition extends CardImpl {
|
|||
// Convoke
|
||||
this.addAbility(new ConvokeAbility());
|
||||
// Search your library for up to two basic land cards, put them onto the battlefield tapped, then shuffle your library.
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0,2, StaticFilters.FILTER_CARD_BASIC_LANDS), true, true));
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0,2, StaticFilters.FILTER_CARD_BASIC_LANDS), true));
|
||||
}
|
||||
|
||||
private NissasExpedition(final NissasExpedition card) {
|
||||
|
|
|
@ -38,7 +38,7 @@ public final class ObscuraStorefront extends CardImpl {
|
|||
|
||||
// When Obscura Storefront enters the battlefield, sacrifice it. When you do, search your library for a basic Plains, Island, or Swamp card, put it onto the battlefield tapped, then shuffle and you gain 1 life.
|
||||
ReflexiveTriggeredAbility ability = new ReflexiveTriggeredAbility(new SearchLibraryPutInPlayEffect(
|
||||
new TargetCardInLibrary(filter), true, true
|
||||
new TargetCardInLibrary(filter), true
|
||||
), false);
|
||||
ability.addEffect(new GainLifeEffect(1).concatBy("and"));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new DoWhenCostPaid(
|
||||
|
|
|
@ -49,7 +49,7 @@ public final class OrdealOfNylea extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
// When you sacrifice Ordeal of Nylea, search your library for up to two basic land cards, put them onto the battlefield tapped, then shuffle your library.
|
||||
ability = new SacrificeSourceTriggeredAbility(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0,2, StaticFilters.FILTER_CARD_BASIC_LANDS),true, true),false);
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0,2, StaticFilters.FILTER_CARD_BASIC_LANDS),true),false);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
@ -30,8 +30,8 @@ public final class PrimalGrowth extends CardImpl {
|
|||
// Search your library for a basic land card, put that card onto the battlefield, then shuffle your library.
|
||||
// If Primal Growth was kicked, instead search your library for up to two basic land cards, put them onto the battlefield, then shuffle your library.
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LAND), false, true),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), false, true),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LAND), false),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), false),
|
||||
KickedCondition.ONCE,
|
||||
"Search your library for a basic land card, put that card onto the battlefield, then shuffle. If this spell was kicked, instead search your library for up to two basic land cards, put them onto the battlefield, then shuffle"));
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ public final class QuirionTrailblazer extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// When Quirion Trailblazer enters the battlefield, you may search your library for a basic land card and put that card onto the battlefield tapped. If you do, shuffle your library.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true), true));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true), true));
|
||||
}
|
||||
|
||||
private QuirionTrailblazer(final QuirionTrailblazer card) {
|
||||
|
|
|
@ -20,7 +20,7 @@ public final class ReshapeTheEarth extends CardImpl {
|
|||
// Search your library for up to ten land cards, put them onto the battlefield tapped, then shuffle your library.
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(
|
||||
0, 10, StaticFilters.FILTER_CARD_LANDS
|
||||
), true, true));
|
||||
), true));
|
||||
}
|
||||
|
||||
private ReshapeTheEarth(final ReshapeTheEarth card) {
|
||||
|
|
|
@ -38,7 +38,7 @@ public final class RiveteersOverlook extends CardImpl {
|
|||
|
||||
// When Riveteers Overlook enters the battlefield, sacrifice it. When you do, search your library for a basic Swamp, Mountain, or Forest card, put it onto the battlefield tapped, then shuffle and you gain 1 life.
|
||||
ReflexiveTriggeredAbility ability = new ReflexiveTriggeredAbility(new SearchLibraryPutInPlayEffect(
|
||||
new TargetCardInLibrary(filter), true, true
|
||||
new TargetCardInLibrary(filter), true
|
||||
), false);
|
||||
ability.addEffect(new GainLifeEffect(1).concatBy("and"));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new DoWhenCostPaid(
|
||||
|
|
|
@ -51,7 +51,7 @@ public final class SamutTheTested extends CardImpl {
|
|||
this.addAbility(ability);
|
||||
|
||||
// -7: Search your library for up to two creature and/or planeswalker cards, put them onto the battlefield, then shuffle your library.
|
||||
effect = new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, filter), false, true);
|
||||
effect = new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, filter), false);
|
||||
ability = new LoyaltyAbility(effect, -7);
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ public final class ScoutThePerimeter extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{G}");
|
||||
|
||||
// Search your library for a land card, put it onto the battlefield tapped, then suffle your library.
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(new FilterLandCard()), true, true));
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(new FilterLandCard()), true));
|
||||
|
||||
// Put a bounty counter on up to one target creature an opponent controls.
|
||||
Effect effect = new AddCountersTargetEffect(CounterType.BOUNTY.createInstance());
|
||||
|
|
|
@ -32,7 +32,7 @@ public final class SeedguideAsh extends CardImpl {
|
|||
this.power = new MageInt(4);
|
||||
this.toughness = new MageInt(4);
|
||||
// When Seedguide Ash dies, you may search your library for up to three Forest cards and put them onto the battlefield tapped. If you do, shuffle your library.
|
||||
this.addAbility(new DiesSourceTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 3, filter), true, true), true));
|
||||
this.addAbility(new DiesSourceTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 3, filter), true), true));
|
||||
}
|
||||
|
||||
private SeedguideAsh(final SeedguideAsh card) {
|
||||
|
|
|
@ -45,7 +45,7 @@ public final class ShadowbornApostle extends CardImpl {
|
|||
// A deck can have any number of cards named Shadowborn Apostle.
|
||||
this.getSpellAbility().addEffect(new InfoEffect("A deck can have any number of cards named Shadowborn Apostle."));
|
||||
// {B}, Sacrifice six creatures named Shadowborn Apostle: Search your library for a Demon creature and put it onto the battlefield. Then shuffle your library.
|
||||
Effect effect = new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false, true);
|
||||
Effect effect = new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false);
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{B}"));
|
||||
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(6,6,filterApostle, false)));
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -44,7 +44,7 @@ public final class ShefetMonitor extends CardImpl {
|
|||
|
||||
// When you cycle Shefet Monitor, you may search your library for a basic land card or a Desert card, put it onto the battlefield, then shuffle your library.
|
||||
this.addAbility(new CycleTriggeredAbility(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false, true),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false),
|
||||
true));
|
||||
}
|
||||
|
||||
|
|
|
@ -17,7 +17,6 @@ import mage.filter.common.FilterCreatureCard;
|
|||
import mage.filter.predicate.mageobject.NamePredicate;
|
||||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.GameEvent.EventType;
|
||||
import mage.game.stack.Spell;
|
||||
import mage.target.common.TargetCardInLibrary;
|
||||
import mage.watchers.Watcher;
|
||||
|
@ -48,7 +47,7 @@ public final class SiftThroughSands extends CardImpl {
|
|||
this.getSpellAbility().addEffect(effect);
|
||||
|
||||
// If you've cast a spell named Peer Through Depths and a spell named Reach Through Mists this turn, you may search your library for a card named The Unspeakable, put it onto the battlefield, then shuffle your library.
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false, true), new SiftThroughSandsCondition(), rule));
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false), new SiftThroughSandsCondition(), rule));
|
||||
this.getSpellAbility().addWatcher(new SiftThroughSandsWatcher());
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ public final class SilkwingScout extends CardImpl {
|
|||
|
||||
// {G}, Sacrifice Silkwing Scout: Search your library for a basic land card and put that card onto the battlefield tapped. Then shuffle your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true),
|
||||
new ManaCostsImpl<>("{G}"));
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -30,7 +30,7 @@ public final class SilvergladeElemental extends CardImpl {
|
|||
|
||||
this.power = new MageInt(4);
|
||||
this.toughness = new MageInt(4);
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false, false), true));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false), true));
|
||||
}
|
||||
|
||||
private SilvergladeElemental(final SilvergladeElemental card) {
|
||||
|
|
|
@ -33,7 +33,7 @@ public final class SilvergladePathfinder extends CardImpl {
|
|||
|
||||
// {1}{G}, {tap}, Discard a card: Search your library for a basic land card and put that card onto the battlefield tapped. Then shuffle your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true),
|
||||
new ManaCostsImpl<>("{1}{G}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new DiscardCardCost());
|
||||
|
|
|
@ -64,7 +64,7 @@ public final class SithRuins extends CardImpl {
|
|||
filter.add(Predicates.or(subtypePredicates));
|
||||
filter.add(SuperType.BASIC.getPredicate());
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(filter);
|
||||
addEffect(new SearchLibraryPutInPlayEffect(target, true, true));
|
||||
addEffect(new SearchLibraryPutInPlayEffect(target, true));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -50,7 +50,7 @@ public final class SpaceMarineScout extends CardImpl {
|
|||
// Concealed Position -- When Space Marine Scout enters the battlefield, if an opponent controls more lands than you, you may search your library for a Plains card, put it onto the battlefield tapped, then shuffle.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(
|
||||
new TargetCardInLibrary(filter), true, true
|
||||
new TargetCardInLibrary(filter), true
|
||||
), true), condition, "When {this} enters the battlefield, if an opponent controls more lands " +
|
||||
"than you, you may search your library for a basic Plains card, put it onto the battlefield tapped, then shuffle."
|
||||
).withFlavorWord("Concealed Position"));
|
||||
|
|
|
@ -73,6 +73,6 @@ class SporocystEffect extends OneShotEffect {
|
|||
int xValue = ManacostVariableValue.ETB.calculate(game, source, this);
|
||||
return new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(
|
||||
0, xValue, StaticFilters.FILTER_CARD_BASIC_LANDS
|
||||
), true, true).apply(game, source);
|
||||
), true).apply(game, source);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -113,9 +113,8 @@ class SylvanPrimordialEffect extends OneShotEffect {
|
|||
}
|
||||
}
|
||||
if (destroyedCreatures > 0) {
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(destroyedCreatures, filterForest), true, true).apply(game, source);
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(destroyedCreatures, filterForest), true).apply(game, source);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ class TajNarSwordsmithEffect extends OneShotEffect {
|
|||
FilterCard filter = new FilterCard("Equipment card with mana value {" + payCount + "} or less");
|
||||
filter.add(SubType.EQUIPMENT.getPredicate());
|
||||
filter.add(new ManaValuePredicate(ComparisonType.FEWER_THAN, payCount + 1));
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 1, filter), false, true).apply(game, source);
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 1, filter), false).apply(game, source);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -29,7 +29,7 @@ public final class TerminalMoraine extends CardImpl {
|
|||
// {tap}: Add {C}.
|
||||
this.addAbility(new ColorlessManaAbility());
|
||||
// {2}, {tap}, Sacrifice Terminal Moraine: Search your library for a basic land card and put that card onto the battlefield tapped. Then shuffle your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true), new ManaCostsImpl<>("{2}"));
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true), new ManaCostsImpl<>("{2}"));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -37,7 +37,7 @@ public final class ThunderherdMigration extends CardImpl {
|
|||
));
|
||||
|
||||
// Search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true));
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true));
|
||||
}
|
||||
|
||||
private ThunderherdMigration(final ThunderherdMigration card) {
|
||||
|
|
|
@ -44,7 +44,7 @@ public final class UlvenwaldHydra extends CardImpl {
|
|||
|
||||
// When Ulvenwald Hydra enters the battlefield, you may search your library for a land card, put it onto the battlefield tapped, then shuffle your library.
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(new FilterLandCard());
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(target, true, true), true));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(target, true), true));
|
||||
}
|
||||
|
||||
private UlvenwaldHydra(final UlvenwaldHydra card) {
|
||||
|
|
|
@ -64,7 +64,7 @@ public final class UnderworldSlums extends CardImpl {
|
|||
filter.add(Predicates.or(subtypePredicates));
|
||||
filter.add(SuperType.BASIC.getPredicate());
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(filter);
|
||||
addEffect(new SearchLibraryPutInPlayEffect(target, true, true));
|
||||
addEffect(new SearchLibraryPutInPlayEffect(target, true));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -29,7 +29,7 @@ public final class VerdantCrescendo extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{G}");
|
||||
|
||||
// Search your library for a basic land card and put it onto the battlefield tapped.
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, false));
|
||||
this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true));
|
||||
|
||||
// Search your library and graveyard for a card named Nissa, Nature's Artisan, reveal it, and put it into your hand. Then shuffle your library.
|
||||
this.getSpellAbility().addEffect(new SearchLibraryGraveyardPutInHandEffect(filter, true));
|
||||
|
|
|
@ -31,7 +31,7 @@ public final class WarpedLandscape extends CardImpl {
|
|||
|
||||
// {2}, {T}, Sacrifice Warped Landscape: Search your library for a basic land card and put it onto the battlefield tapped. Then shuffle your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true),
|
||||
new GenericManaCost(2));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
|
|
|
@ -27,7 +27,7 @@ public final class WayfarersBauble extends CardImpl {
|
|||
|
||||
// {2}, {tap}, Sacrifice Wayfarer's Bauble: Search your library for a basic land card and put that card onto the battlefield tapped. Then shuffle your library.
|
||||
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND),true, true), new GenericManaCost(2));
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND),true), new GenericManaCost(2));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addCost(new SacrificeSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -35,7 +35,7 @@ public final class WhisperSquad extends CardImpl {
|
|||
|
||||
// {1}{B}: Search your library for a card named Whisper Squad, put it onto the battlefield tapped, then shuffle your library.
|
||||
this.addAbility(new SimpleActivatedAbility(new SearchLibraryPutInPlayEffect(
|
||||
new TargetCardInLibrary(filter), true, true
|
||||
new TargetCardInLibrary(filter), true
|
||||
), new ManaCostsImpl<>("{1}{B}")));
|
||||
}
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ public final class WildWanderer extends CardImpl {
|
|||
this.toughness = new MageInt(2);
|
||||
|
||||
// When Wild Wanderer enters the battlefield, you may search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true), true));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true), true));
|
||||
}
|
||||
|
||||
private WildWanderer(final WildWanderer card) {
|
||||
|
|
|
@ -33,7 +33,7 @@ public final class WoodElves extends CardImpl {
|
|||
this.toughness = new MageInt(1);
|
||||
|
||||
// When Wood Elves enters the battlefield, search your library for a Forest card and put that card onto the battlefield. Then shuffle your library.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false, true)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false)));
|
||||
}
|
||||
|
||||
private WoodElves(final WoodElves card) {
|
||||
|
|
|
@ -32,7 +32,7 @@ public class FetchLandActivatedAbility extends ActivatedAbilityImpl {
|
|||
FilterCard filter = new FilterCard(subType1.getDescription() + " or " + subType2.getDescription() + " card");
|
||||
filter.add(Predicates.or(subType1.getPredicate(), subType2.getPredicate()));
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(filter);
|
||||
addEffect(new SearchLibraryPutInPlayEffect(target, false, true));
|
||||
addEffect(new SearchLibraryPutInPlayEffect(target, false));
|
||||
}
|
||||
|
||||
private FetchLandActivatedAbility(FetchLandActivatedAbility ability) {
|
||||
|
|
|
@ -21,14 +21,10 @@ public class SearchLibraryPutInPlayEffect extends SearchEffect {
|
|||
protected boolean optional;
|
||||
|
||||
public SearchLibraryPutInPlayEffect(TargetCardInLibrary target) {
|
||||
this(target, false, true);
|
||||
this(target, false);
|
||||
}
|
||||
|
||||
public SearchLibraryPutInPlayEffect(TargetCardInLibrary target, boolean tapped) {
|
||||
this(target, tapped, true);
|
||||
}
|
||||
|
||||
public SearchLibraryPutInPlayEffect(TargetCardInLibrary target, boolean tapped, boolean forceShuffle) {
|
||||
this(target, tapped, true, false);
|
||||
}
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ public final class GarrukCallerOfBeastsEmblem extends Emblem {
|
|||
*/
|
||||
public GarrukCallerOfBeastsEmblem() {
|
||||
super("Emblem Garruk");
|
||||
Effect effect = new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(new FilterCreatureCard("creature card")), false, true);
|
||||
Effect effect = new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(new FilterCreatureCard("creature card")), false);
|
||||
Ability ability = new SpellCastControllerTriggeredAbility(Zone.COMMAND, effect, StaticFilters.FILTER_SPELL_A_CREATURE, true, false);
|
||||
this.getAbilities().add(ability);
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ public class GarrukUnleashedEmblem extends Emblem {
|
|||
// At the beginning of your end step, you may search your library for a creature card, put it onto the battlefield, then shuffle your library.
|
||||
public GarrukUnleashedEmblem() {
|
||||
super("Emblem Garruk");
|
||||
Effect effect = new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_CREATURE), false, true)
|
||||
Effect effect = new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_CREATURE), false)
|
||||
.setText("search your library for a creature card, put it onto the battlefield, then shuffle");
|
||||
this.getAbilities().add(new BeginningOfYourEndStepTriggeredAbility(Zone.COMMAND, effect, true));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue