mirror of
https://github.com/correl/mage.git
synced 2024-12-26 03:00:11 +00:00
some more text fixes
This commit is contained in:
parent
cae1b271c2
commit
5540461397
37 changed files with 50 additions and 45 deletions
|
@ -34,7 +34,7 @@ public final class ArenaRector extends CardImpl {
|
||||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(new FilterPlaneswalkerCard())),
|
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(new FilterPlaneswalkerCard())),
|
||||||
new ExileSourceFromGraveCost(),
|
new ExileSourceFromGraveCost(),
|
||||||
"Exile to search for a planeswalker?"
|
"Exile to search for a planeswalker?"
|
||||||
).setText("you may exile it. If you do, search your library for a planeswalker card, put it onto the battlefield, then shuffle your library"), false
|
).setText("you may exile it. If you do, search your library for a planeswalker card, put it onto the battlefield, then shuffle"), false
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ class AuratouchedMageEffect extends OneShotEffect {
|
||||||
|
|
||||||
public AuratouchedMageEffect() {
|
public AuratouchedMageEffect() {
|
||||||
super(Outcome.BoostCreature);
|
super(Outcome.BoostCreature);
|
||||||
staticText = "search your library for an Aura card that could enchant it. If {this} is still on the battlefield, put that Aura card onto the battlefield attached to it. Otherwise, reveal the Aura card and put it into your hand. Then shuffle your library.";
|
staticText = "search your library for an Aura card that could enchant it. If {this} is still on the battlefield, put that Aura card onto the battlefield attached to it. Otherwise, reveal the Aura card and put it into your hand. Then shuffle";
|
||||||
}
|
}
|
||||||
|
|
||||||
public AuratouchedMageEffect(final AuratouchedMageEffect effect) {
|
public AuratouchedMageEffect(final AuratouchedMageEffect effect) {
|
||||||
|
|
|
@ -39,7 +39,7 @@ public final class BloodsoakedChampion extends CardImpl {
|
||||||
new ReturnSourceFromGraveyardToBattlefieldEffect(),
|
new ReturnSourceFromGraveyardToBattlefieldEffect(),
|
||||||
new ManaCostsImpl<>("{1}{B}"),
|
new ManaCostsImpl<>("{1}{B}"),
|
||||||
RaidCondition.instance,
|
RaidCondition.instance,
|
||||||
"<i>Raid</i> — {1}{B}: Return {this} from your graveyard to the battlefield. Activate this ability only if you attacked this turn");
|
"<i>Raid</i> — {1}{B}: Return {this} from your graveyard to the battlefield. Activate only if you attacked this turn.");
|
||||||
ability.setAbilityWord(AbilityWord.RAID);
|
ability.setAbilityWord(AbilityWord.RAID);
|
||||||
ability.addHint(RaidHint.instance);
|
ability.addHint(RaidHint.instance);
|
||||||
this.addAbility(ability, new PlayerAttackedWatcher());
|
this.addAbility(ability, new PlayerAttackedWatcher());
|
||||||
|
|
|
@ -29,7 +29,7 @@ public final class CivicWayfinder extends CardImpl {
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
// When Civic Wayfinder enters the battlefield, you may search your library for a basic land card, reveal it, and put it into your hand. If you do, shuffle your library.
|
// When Civic Wayfinder enters the battlefield, you may search your library for a basic land card, reveal it, and put it into your hand. If you do, shuffle your library.
|
||||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, false), true));
|
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true), true));
|
||||||
}
|
}
|
||||||
|
|
||||||
private CivicWayfinder(final CivicWayfinder card) {
|
private CivicWayfinder(final CivicWayfinder card) {
|
||||||
|
|
|
@ -45,7 +45,8 @@ class CongregationAtDawnEffect extends OneShotEffect {
|
||||||
|
|
||||||
public CongregationAtDawnEffect() {
|
public CongregationAtDawnEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = "Search your library for up to three creature cards and reveal them. Shuffle your library, then put those cards on top of it in any order";
|
this.staticText = "search your library for up to three creature cards, reveal them, " +
|
||||||
|
"then shuffle and put those cards on top in any order";
|
||||||
}
|
}
|
||||||
|
|
||||||
public CongregationAtDawnEffect(final CongregationAtDawnEffect effect) {
|
public CongregationAtDawnEffect(final CongregationAtDawnEffect effect) {
|
||||||
|
|
|
@ -46,7 +46,7 @@ public final class CyclopeanTomb extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
|
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
|
||||||
|
|
||||||
// {2}, {tap}: Put a mire counter on target non-Swamp land. That land is a Swamp for as long as it has a mire counter on it. Activate this ability only during your upkeep.
|
// {2}, {tap}: Put a mire counter on target non-Swamp land. That land is a Swamp for as long as it has a mire counter on it. Activate this ability only during your upkeep.
|
||||||
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.MIRE.createInstance()), new GenericManaCost(2), new IsStepCondition(PhaseStep.UPKEEP), "{2}, {T}: Put a mire counter on target non-Swamp land. That land is a Swamp for as long as it has a mire counter on it. Activate this ability only during your upkeep.");
|
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.MIRE.createInstance()), new GenericManaCost(2), new IsStepCondition(PhaseStep.UPKEEP), "{2}, {T}: Put a mire counter on target non-Swamp land. That land is a Swamp for as long as it has a mire counter on it. Activate only during your upkeep.");
|
||||||
ability.addCost(new TapSourceCost());
|
ability.addCost(new TapSourceCost());
|
||||||
ability.addTarget(new TargetLandPermanent(filter));
|
ability.addTarget(new TargetLandPermanent(filter));
|
||||||
ability.addEffect(new BecomeSwampEffect());
|
ability.addEffect(new BecomeSwampEffect());
|
||||||
|
|
|
@ -24,7 +24,7 @@ public final class Disembowel extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{X}{B}");
|
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{X}{B}");
|
||||||
|
|
||||||
// Destroy target creature with converted mana cost X.
|
// Destroy target creature with converted mana cost X.
|
||||||
this.getSpellAbility().addEffect(new DestroyTargetEffect("creature with mana value X"));
|
this.getSpellAbility().addEffect(new DestroyTargetEffect("destroy target creature with mana value X"));
|
||||||
this.getSpellAbility().setTargetAdjuster(DisembowelAdjuster.instance);
|
this.getSpellAbility().setTargetAdjuster(DisembowelAdjuster.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ class SearchLibraryPutInGraveyard extends SearchEffect {
|
||||||
|
|
||||||
public SearchLibraryPutInGraveyard() {
|
public SearchLibraryPutInGraveyard() {
|
||||||
super(new TargetCardInLibrary(new FilterCard()), Outcome.Neutral);
|
super(new TargetCardInLibrary(new FilterCard()), Outcome.Neutral);
|
||||||
staticText = "Search your library for a card and put that card into your graveyard. Then shuffle your library";
|
staticText = "Search your library for a card and put that card into your graveyard, then shuffle";
|
||||||
}
|
}
|
||||||
|
|
||||||
public SearchLibraryPutInGraveyard(final SearchLibraryPutInGraveyard effect) {
|
public SearchLibraryPutInGraveyard(final SearchLibraryPutInGraveyard effect) {
|
||||||
|
|
|
@ -68,7 +68,7 @@ class FieldOfRuinEffect extends OneShotEffect {
|
||||||
|
|
||||||
FieldOfRuinEffect() {
|
FieldOfRuinEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = "Each player searches their library for a basic land card, puts it onto the battlefield, then shuffles their library";
|
this.staticText = "Each player searches their library for a basic land card, puts it onto the battlefield, then shuffles";
|
||||||
}
|
}
|
||||||
|
|
||||||
FieldOfRuinEffect(final FieldOfRuinEffect effect) {
|
FieldOfRuinEffect(final FieldOfRuinEffect effect) {
|
||||||
|
|
|
@ -44,11 +44,11 @@ public final class FiremaneAngel extends CardImpl {
|
||||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||||
new BeginningOfUpkeepTriggeredAbility(Zone.ALL, new GainLifeEffect(1), TargetController.YOU, true),
|
new BeginningOfUpkeepTriggeredAbility(Zone.ALL, new GainLifeEffect(1), TargetController.YOU, true),
|
||||||
SourceOnBattlefieldOrGraveyardCondition.instance,
|
SourceOnBattlefieldOrGraveyardCondition.instance,
|
||||||
"At the beginning of your upkeep, if {this} is in your graveyard or on the battlefield, you may gain 1 life");
|
"At the beginning of your upkeep, if {this} is in your graveyard or on the battlefield, you may gain 1 life.");
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
// {6}{R}{R}{W}{W}: Return Firemane Angel from your graveyard to the battlefield. Activate this ability only during your upkeep.
|
// {6}{R}{R}{W}{W}: Return Firemane Angel from your graveyard to the battlefield. Activate this ability only during your upkeep.
|
||||||
this.addAbility(new ConditionalActivatedAbility(Zone.GRAVEYARD,
|
this.addAbility(new ConditionalActivatedAbility(Zone.GRAVEYARD,
|
||||||
new ReturnSourceFromGraveyardToBattlefieldEffect(), new ManaCostsImpl("{6}{R}{R}{W}{W}"), new IsStepCondition(PhaseStep.UPKEEP), null));
|
new ReturnSourceFromGraveyardToBattlefieldEffect(false, false), new ManaCostsImpl("{6}{R}{R}{W}{W}"), new IsStepCondition(PhaseStep.UPKEEP), null));
|
||||||
}
|
}
|
||||||
|
|
||||||
private FiremaneAngel(final FiremaneAngel card) {
|
private FiremaneAngel(final FiremaneAngel card) {
|
||||||
|
|
|
@ -25,7 +25,7 @@ public final class Gamble extends CardImpl {
|
||||||
effect.setText("Search your library for a card, put that card into your hand");
|
effect.setText("Search your library for a card, put that card into your hand");
|
||||||
this.getSpellAbility().addEffect(effect);
|
this.getSpellAbility().addEffect(effect);
|
||||||
effect = new DiscardControllerEffect(1, true);
|
effect = new DiscardControllerEffect(1, true);
|
||||||
effect.setText(", discard a card at random, then shuffle your library");
|
effect.setText(", discard a card at random, then shuffle");
|
||||||
this.getSpellAbility().addEffect(effect);
|
this.getSpellAbility().addEffect(effect);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@ public final class GiftOfEstates extends CardImpl {
|
||||||
new TargetCardInLibrary(0, 3, filter), true
|
new TargetCardInLibrary(0, 3, filter), true
|
||||||
), new OpponentControlsMoreCondition(StaticFilters.FILTER_LANDS), "if an opponent controls " +
|
), new OpponentControlsMoreCondition(StaticFilters.FILTER_LANDS), "if an opponent controls " +
|
||||||
"more lands than you, search your library for up to three Plains cards, " +
|
"more lands than you, search your library for up to three Plains cards, " +
|
||||||
"reveal them, and put them into your hand. Then shuffle your library"
|
"reveal them, put them into your hand, then shuffle"
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ class GravebreakerLamiaSearchEffect extends SearchEffect {
|
||||||
|
|
||||||
GravebreakerLamiaSearchEffect() {
|
GravebreakerLamiaSearchEffect() {
|
||||||
super(new TargetCardInLibrary(), Outcome.Neutral);
|
super(new TargetCardInLibrary(), Outcome.Neutral);
|
||||||
staticText = "search your library for a card, put it into your graveyard, then shuffle your library";
|
staticText = "search your library for a card, put it into your graveyard, then shuffle";
|
||||||
}
|
}
|
||||||
|
|
||||||
private GravebreakerLamiaSearchEffect(final GravebreakerLamiaSearchEffect effect) {
|
private GravebreakerLamiaSearchEffect(final GravebreakerLamiaSearchEffect effect) {
|
||||||
|
|
|
@ -72,7 +72,7 @@ class GrozothEffect extends SearchEffect {
|
||||||
|
|
||||||
public GrozothEffect() {
|
public GrozothEffect() {
|
||||||
super(new TargetCardInLibrary(0, Integer.MAX_VALUE, filter), Outcome.DrawCard);
|
super(new TargetCardInLibrary(0, Integer.MAX_VALUE, filter), Outcome.DrawCard);
|
||||||
staticText = "you may search your library for any number of cards that have mana value 9, reveal them, and put them into your hand. If you do, shuffle your library";
|
staticText = "search your library for any number of cards that have mana value 9, reveal them, put them into your hand, then shuffle";
|
||||||
}
|
}
|
||||||
|
|
||||||
public GrozothEffect(final GrozothEffect effect) {
|
public GrozothEffect(final GrozothEffect effect) {
|
||||||
|
|
|
@ -30,7 +30,7 @@ public final class InduceParanoia extends CardImpl {
|
||||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||||
new InduceParanoiaEffect(),
|
new InduceParanoiaEffect(),
|
||||||
new CounterTargetEffect(),
|
new CounterTargetEffect(),
|
||||||
new ManaWasSpentCondition(ColoredManaSymbol.B), "Counter target spell. If {B} was spent to cast this spell, that spell's controller puts the top X cards of their library into their graveyard, where X is the spell's mana value."));
|
new ManaWasSpentCondition(ColoredManaSymbol.B), "Counter target spell. If {B} was spent to cast this spell, that spell's controller mills X cards, where X is the spell's mana value."));
|
||||||
|
|
||||||
// Counter target spell.
|
// Counter target spell.
|
||||||
this.getSpellAbility().addTarget(new TargetSpell());
|
this.getSpellAbility().addTarget(new TargetSpell());
|
||||||
|
|
|
@ -27,7 +27,7 @@ public final class JadeStatue extends CardImpl {
|
||||||
|
|
||||||
|
|
||||||
// {2}: Jade Statue becomes a 3/6 Golem artifact creature until end of combat. Activate this ability only during combat.
|
// {2}: Jade Statue becomes a 3/6 Golem artifact creature until end of combat. Activate this ability only during combat.
|
||||||
this.addAbility(new ConditionalActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect (new JadeStatueToken(), "", Duration.EndOfCombat), new ManaCostsImpl("{2}"), new IsPhaseCondition(TurnPhase.COMBAT), "{2}: {this} becomes a 3/6 Golem artifact creature until end of combat. Activate this ability only during combat."));
|
this.addAbility(new ConditionalActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect (new JadeStatueToken(), "", Duration.EndOfCombat), new ManaCostsImpl("{2}"), new IsPhaseCondition(TurnPhase.COMBAT), "{2}: {this} becomes a 3/6 Golem artifact creature until end of combat. Activate only during combat."));
|
||||||
}
|
}
|
||||||
|
|
||||||
private JadeStatue(final JadeStatue card) {
|
private JadeStatue(final JadeStatue card) {
|
||||||
|
|
|
@ -51,7 +51,7 @@ class JungleWayfinderEffect extends OneShotEffect {
|
||||||
|
|
||||||
public JungleWayfinderEffect() {
|
public JungleWayfinderEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = "each player may search their library for a basic land card, reveal it, put it into their hand, then shuffle their library";
|
this.staticText = "each player may search their library for a basic land card, reveal it, put it into their hand, then shuffle";
|
||||||
}
|
}
|
||||||
|
|
||||||
public JungleWayfinderEffect(final JungleWayfinderEffect effect) {
|
public JungleWayfinderEffect(final JungleWayfinderEffect effect) {
|
||||||
|
|
|
@ -27,7 +27,7 @@ public final class LandTax extends CardImpl {
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new BeginningOfUpkeepTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 3, StaticFilters.FILTER_CARD_BASIC_LAND), true, true), TargetController.YOU, true),
|
new BeginningOfUpkeepTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 3, StaticFilters.FILTER_CARD_BASIC_LAND), true, true), TargetController.YOU, true),
|
||||||
new OpponentControlsMoreCondition(StaticFilters.FILTER_LANDS),
|
new OpponentControlsMoreCondition(StaticFilters.FILTER_LANDS),
|
||||||
"At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library"
|
"At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, put them into your hand, then shuffle."
|
||||||
));
|
));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,9 @@ public final class MorbidCuriosity extends CardImpl {
|
||||||
this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
|
this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
|
||||||
|
|
||||||
// Draw cards equal to the converted mana cost of the sacrificed permanent.
|
// Draw cards equal to the converted mana cost of the sacrificed permanent.
|
||||||
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(new SacrificeCostConvertedMana("permanent")));
|
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(
|
||||||
|
new SacrificeCostConvertedMana("permanent")
|
||||||
|
).setText("draw cards equal to the mana value of the sacrificed permanent"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private MorbidCuriosity(final MorbidCuriosity card) {
|
private MorbidCuriosity(final MorbidCuriosity card) {
|
||||||
|
|
|
@ -43,7 +43,7 @@ class NaturalSelectionEffect extends OneShotEffect {
|
||||||
|
|
||||||
public NaturalSelectionEffect() {
|
public NaturalSelectionEffect() {
|
||||||
super(Outcome.DrawCard);
|
super(Outcome.DrawCard);
|
||||||
this.staticText = "look at the top three cards of target player's library, then put them back in any order. You may have that player shuffle their library.";
|
this.staticText = "look at the top three cards of target player's library, then put them back in any order. You may have that player shuffle";
|
||||||
}
|
}
|
||||||
|
|
||||||
public NaturalSelectionEffect(final NaturalSelectionEffect effect) {
|
public NaturalSelectionEffect(final NaturalSelectionEffect effect) {
|
||||||
|
|
|
@ -34,7 +34,7 @@ public final class Necrosavant extends CardImpl {
|
||||||
|
|
||||||
// {3}{B}{B}, Sacrifice a creature: Return Necrosavant from your graveyard to the battlefield. Activate this ability only during your upkeep.
|
// {3}{B}{B}, Sacrifice a creature: Return Necrosavant from your graveyard to the battlefield. Activate this ability only during your upkeep.
|
||||||
Ability ability = new ConditionalActivatedAbility(Zone.GRAVEYARD,
|
Ability ability = new ConditionalActivatedAbility(Zone.GRAVEYARD,
|
||||||
new ReturnSourceFromGraveyardToBattlefieldEffect(),
|
new ReturnSourceFromGraveyardToBattlefieldEffect(false,false),
|
||||||
new ManaCostsImpl("{3}{B}{B}"),
|
new ManaCostsImpl("{3}{B}{B}"),
|
||||||
new IsStepCondition(PhaseStep.UPKEEP),
|
new IsStepCondition(PhaseStep.UPKEEP),
|
||||||
null
|
null
|
||||||
|
|
|
@ -62,7 +62,7 @@ class NyleasInterventionEffect extends OneShotEffect {
|
||||||
NyleasInterventionEffect() {
|
NyleasInterventionEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
staticText = "search your library for up to X land cards, " +
|
staticText = "search your library for up to X land cards, " +
|
||||||
"reveal them, put them into your hand, then shuffle your library";
|
"reveal them, put them into your hand, then shuffle";
|
||||||
}
|
}
|
||||||
|
|
||||||
private NyleasInterventionEffect(final NyleasInterventionEffect effect) {
|
private NyleasInterventionEffect(final NyleasInterventionEffect effect) {
|
||||||
|
|
|
@ -53,7 +53,7 @@ class OreskosExplorerEffect extends OneShotEffect {
|
||||||
|
|
||||||
public OreskosExplorerEffect() {
|
public OreskosExplorerEffect() {
|
||||||
super(Outcome.PutLandInPlay);
|
super(Outcome.PutLandInPlay);
|
||||||
this.staticText = "search your library for up to X Plains cards, where X is the number of players who control more lands than you. Reveal those cards, put them into your hand, then shuffle your library";
|
this.staticText = "search your library for up to X Plains cards, where X is the number of players who control more lands than you. Reveal those cards, put them into your hand, then shuffle";
|
||||||
}
|
}
|
||||||
|
|
||||||
public OreskosExplorerEffect(final OreskosExplorerEffect effect) {
|
public OreskosExplorerEffect(final OreskosExplorerEffect effect) {
|
||||||
|
|
|
@ -47,7 +47,7 @@ class PirsWhimEffect extends OneShotEffect {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = "For each player, choose friend or foe. "
|
this.staticText = "For each player, choose friend or foe. "
|
||||||
+ "Each friend searches their library for a land card, "
|
+ "Each friend searches their library for a land card, "
|
||||||
+ "puts it onto the battlefield tapped, then shuffles their library. "
|
+ "puts it onto the battlefield tapped, then shuffles. "
|
||||||
+ "Each foe sacrifices an artifact or enchantment they control.";
|
+ "Each foe sacrifices an artifact or enchantment they control.";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ public final class SeekTheHorizon extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{G}");
|
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{G}");
|
||||||
|
|
||||||
// Search your library for up to three basic land cards, reveal them, and put them into your hand. Then shuffle your library.
|
// Search your library for up to three basic land cards, reveal them, and put them into your hand. Then shuffle your library.
|
||||||
this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 3, StaticFilters.FILTER_CARD_BASIC_LAND), true));
|
this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 3, StaticFilters.FILTER_CARD_BASIC_LANDS), true));
|
||||||
}
|
}
|
||||||
|
|
||||||
private SeekTheHorizon(final SeekTheHorizon card) {
|
private SeekTheHorizon(final SeekTheHorizon card) {
|
||||||
|
|
|
@ -76,7 +76,7 @@ class SunforgerEffect extends OneShotEffect {
|
||||||
super(Outcome.PlayForFree);
|
super(Outcome.PlayForFree);
|
||||||
staticText = "Search your library for a red or white instant "
|
staticText = "Search your library for a red or white instant "
|
||||||
+ "card with mana value 4 or less and cast that "
|
+ "card with mana value 4 or less and cast that "
|
||||||
+ "card without paying its mana cost. Then shuffle your library";
|
+ "card without paying its mana cost. Then shuffle";
|
||||||
}
|
}
|
||||||
|
|
||||||
public SunforgerEffect(final SunforgerEffect effect) {
|
public SunforgerEffect(final SunforgerEffect effect) {
|
||||||
|
|
|
@ -49,7 +49,7 @@ class TitheEffect extends OneShotEffect {
|
||||||
|
|
||||||
TitheEffect() {
|
TitheEffect() {
|
||||||
super(Outcome.Benefit);
|
super(Outcome.Benefit);
|
||||||
this.staticText = "Search your library for a Plains card. If target opponent controls more lands than you, you may search your library for an additional Plains card. Reveal those cards and put them into your hand. Then shuffle your library";
|
this.staticText = "Search your library for a Plains card. If target opponent controls more lands than you, you may search your library for an additional Plains card. Reveal those cards, put them into your hand, then shuffle";
|
||||||
}
|
}
|
||||||
|
|
||||||
TitheEffect(final TitheEffect effect) {
|
TitheEffect(final TitheEffect effect) {
|
||||||
|
|
|
@ -48,7 +48,7 @@ class TunnelVisionEffect extends OneShotEffect {
|
||||||
+ "until a card with that name is revealed. If it is, that player puts "
|
+ "until a card with that name is revealed. If it is, that player puts "
|
||||||
+ "the rest of the revealed cards into their graveyard and "
|
+ "the rest of the revealed cards into their graveyard and "
|
||||||
+ "puts the card with the chosen name on top of their library. "
|
+ "puts the card with the chosen name on top of their library. "
|
||||||
+ "Otherwise, the player shuffles their library";
|
+ "Otherwise, the player shuffles";
|
||||||
}
|
}
|
||||||
|
|
||||||
public TunnelVisionEffect(final TunnelVisionEffect effect) {
|
public TunnelVisionEffect(final TunnelVisionEffect effect) {
|
||||||
|
|
|
@ -55,7 +55,8 @@ class VeteranExplorerEffect extends OneShotEffect {
|
||||||
|
|
||||||
public VeteranExplorerEffect() {
|
public VeteranExplorerEffect() {
|
||||||
super(Outcome.Detriment);
|
super(Outcome.Detriment);
|
||||||
this.staticText = "each player may search their library for up to two basic land cards and put them onto the battlefield. Then each player who searched their library this way shuffles it";
|
this.staticText = "each player may search their library for up to two basic land cards, " +
|
||||||
|
"put them onto the battlefield, then shuffle";
|
||||||
}
|
}
|
||||||
|
|
||||||
public VeteranExplorerEffect(final VeteranExplorerEffect effect) {
|
public VeteranExplorerEffect(final VeteranExplorerEffect effect) {
|
||||||
|
|
|
@ -41,7 +41,7 @@ public final class WildPair extends CardImpl {
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new WildPairEffect(), filter, true, SetTargetPointer.PERMANENT, ""),
|
new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new WildPairEffect(), filter, true, SetTargetPointer.PERMANENT, ""),
|
||||||
new CastFromHandTargetCondition(),
|
new CastFromHandTargetCondition(),
|
||||||
"Whenever a creature enters the battlefield, if you cast it from your hand, you may search your library for a creature card with the same total power and toughness and put it onto the battlefield. If you do, shuffle your library."
|
"Whenever a creature enters the battlefield, if you cast it from your hand, you may search your library for a creature card with the same total power and toughness, put it onto the battlefield, then shuffle."
|
||||||
), new CastFromHandWatcher());
|
), new CastFromHandWatcher());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ public final class WolfwillowHaven extends CardImpl {
|
||||||
// Whenever enchanted land is tapped for mana, its controller adds an additional {G}.
|
// Whenever enchanted land is tapped for mana, its controller adds an additional {G}.
|
||||||
this.addAbility(new EnchantedTappedTriggeredManaAbility(new AddManaToManaPoolTargetControllerEffect(
|
this.addAbility(new EnchantedTappedTriggeredManaAbility(new AddManaToManaPoolTargetControllerEffect(
|
||||||
new Mana(ColoredManaSymbol.G), "their"
|
new Mana(ColoredManaSymbol.G), "their"
|
||||||
)));
|
).setText("its controller adds an additional {G}")));
|
||||||
|
|
||||||
// {4}{G}, Sacrifice Wolfwillow Haven: Create a 2/2 green Wolf creature token. Activate this ability only during your turn.
|
// {4}{G}, Sacrifice Wolfwillow Haven: Create a 2/2 green Wolf creature token. Activate this ability only during your turn.
|
||||||
ability = new ActivateIfConditionActivatedAbility(
|
ability = new ActivateIfConditionActivatedAbility(
|
||||||
|
|
|
@ -78,6 +78,6 @@ public class ConditionalActivatedAbility extends ActivatedAbilityImpl {
|
||||||
|| conditionText.startsWith("if")) {
|
|| conditionText.startsWith("if")) {
|
||||||
additionalText = "";
|
additionalText = "";
|
||||||
}
|
}
|
||||||
return super.getRule() + " Activate this ability only " + additionalText + condition.toString() + ".";
|
return super.getRule() + " Activate only " + additionalText + condition.toString() + ".";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,7 @@ public class RecruiterEffect extends OneShotEffect {
|
||||||
if (staticText != null && !staticText.isEmpty()) {
|
if (staticText != null && !staticText.isEmpty()) {
|
||||||
return staticText;
|
return staticText;
|
||||||
}
|
}
|
||||||
return "search your library for any number of " + filter.getMessage()
|
return "search your library for any number of "
|
||||||
+ " and reveal those cards. Shuffle your library, then put them on top of it in any order.";
|
+ filter.getMessage() + ", reveal them, then shuffle and put those cards on top in any order";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ public class SearchLibraryGraveyardPutInHandEffect extends OneShotEffect {
|
||||||
this.filter = filter;
|
this.filter = filter;
|
||||||
this.forceToSearchBoth = forceToSearchBoth;
|
this.forceToSearchBoth = forceToSearchBoth;
|
||||||
staticText = (youMay ? "you may " : "") + "search your library and" + (forceToSearchBoth ? "" : "/or") + " graveyard for a card named " + filter.getMessage()
|
staticText = (youMay ? "you may " : "") + "search your library and" + (forceToSearchBoth ? "" : "/or") + " graveyard for a card named " + filter.getMessage()
|
||||||
+ ", reveal it, and put it into your hand. " + (forceToSearchBoth ? "Then shuffle your library" : "If you search your library this way, shuffle it");
|
+ ", reveal it, and put it into your hand. " + (forceToSearchBoth ? "Then shuffle your library" : "If you search your library this way, shuffle");
|
||||||
}
|
}
|
||||||
|
|
||||||
public SearchLibraryGraveyardPutInHandEffect(final SearchLibraryGraveyardPutInHandEffect effect) {
|
public SearchLibraryGraveyardPutInHandEffect(final SearchLibraryGraveyardPutInHandEffect effect) {
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package mage.abilities.effects.common.search;
|
package mage.abilities.effects.common.search;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.effects.SearchEffect;
|
import mage.abilities.effects.SearchEffect;
|
||||||
import mage.cards.CardsImpl;
|
import mage.cards.CardsImpl;
|
||||||
|
@ -11,8 +9,10 @@ import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetCardInLibrary;
|
import mage.target.common.TargetCardInLibrary;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public class SearchLibraryPutInPlayTargetPlayerEffect extends SearchEffect {
|
public class SearchLibraryPutInPlayTargetPlayerEffect extends SearchEffect {
|
||||||
|
@ -91,17 +91,17 @@ public class SearchLibraryPutInPlayTargetPlayerEffect extends SearchEffect {
|
||||||
} else {
|
} else {
|
||||||
sb.append("up to ").append(target.getMaxNumberOfTargets()).append(' ');
|
sb.append("up to ").append(target.getMaxNumberOfTargets()).append(' ');
|
||||||
}
|
}
|
||||||
sb.append(target.getTargetName()).append(" and put them onto the battlefield");
|
sb.append(target.getTargetName()).append(", puts them onto the battlefield");
|
||||||
} else {
|
} else {
|
||||||
sb.append("a ").append(target.getTargetName()).append(" and put it onto the battlefield");
|
sb.append("a ").append(target.getTargetName()).append(", puts it onto the battlefield");
|
||||||
}
|
}
|
||||||
if (tapped) {
|
if (tapped) {
|
||||||
sb.append(" tapped");
|
sb.append(" tapped");
|
||||||
}
|
}
|
||||||
if (forceShuffle) {
|
if (forceShuffle) {
|
||||||
sb.append(". Then that player shuffles their library");
|
sb.append(", then shuffles");
|
||||||
} else {
|
} else {
|
||||||
sb.append(". If that player does, they shuffle their library");
|
sb.append(". If that player does, they shuffle");
|
||||||
}
|
}
|
||||||
staticText = sb.toString();
|
staticText = sb.toString();
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@ import mage.constants.Outcome;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.players.Player;
|
import mage.players.Player;
|
||||||
import mage.target.common.TargetCardInLibrary;
|
import mage.target.common.TargetCardInLibrary;
|
||||||
|
import mage.util.CardUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author BetaSteward_at_googlemail.com
|
* @author BetaSteward_at_googlemail.com
|
||||||
|
@ -69,7 +70,7 @@ public class SearchLibraryPutOnLibraryEffect extends SearchEffect {
|
||||||
|
|
||||||
private void setText() {
|
private void setText() {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("search your library for a ").append(target.getTargetName());
|
sb.append("search your library for ").append(CardUtil.addArticle(target.getTargetName()));
|
||||||
if (reveal) {
|
if (reveal) {
|
||||||
sb.append(", reveal it");
|
sb.append(", reveal it");
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ public class SearchLibraryWithLessCMCPutInPlayEffect extends OneShotEffect {
|
||||||
public SearchLibraryWithLessCMCPutInPlayEffect(FilterCard filter) {
|
public SearchLibraryWithLessCMCPutInPlayEffect(FilterCard filter) {
|
||||||
super(Outcome.PutCreatureInPlay);
|
super(Outcome.PutCreatureInPlay);
|
||||||
this.filter = filter;
|
this.filter = filter;
|
||||||
staticText = "Search your library for a " + filter.getMessage() + " with mana value X or less, put it onto the battlefield, then shuffle your library";
|
staticText = "Search your library for a " + filter.getMessage() + " with mana value X or less, put it onto the battlefield, then shuffle";
|
||||||
}
|
}
|
||||||
|
|
||||||
public SearchLibraryWithLessCMCPutInPlayEffect(final SearchLibraryWithLessCMCPutInPlayEffect effect) {
|
public SearchLibraryWithLessCMCPutInPlayEffect(final SearchLibraryWithLessCMCPutInPlayEffect effect) {
|
||||||
|
|
Loading…
Reference in a new issue