more text fixes

This commit is contained in:
Evan Kranzler 2021-04-18 22:03:53 -04:00
parent e0aad69fe0
commit ccd1c38004
39 changed files with 72 additions and 73 deletions

View file

@ -35,7 +35,7 @@ public final class ArchonOfAbsolution extends CardImpl {
// Creatures can't attack you or a planeswalker you control unless their controller pays {1} for each of those creatures.
this.addAbility(new SimpleStaticAbility(new CantAttackYouUnlessPayManaAllEffect(
new ManaCostsImpl("{1}"), true
).setText("creatures can't attack you or a planeswalker you control " +
).setText("creatures can't attack you or planeswalkers you control " +
"unless their controller pays {1} for each of those creatures")));
}

View file

@ -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_LAND), true, true),
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0,2, StaticFilters.FILTER_CARD_BASIC_LANDS), true, true),
new GenericManaCost(3));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);

View file

@ -54,7 +54,7 @@ class CombustibleGearhulkEffect extends OneShotEffect {
public CombustibleGearhulkEffect() {
super(Outcome.AIDontUseIt);
staticText = "target opponent may have you draw three cards. If the player doesn't, put the top three cards of your library into your graveyard, then {this} deals damage to that player equal to the total mana value of those cards";
staticText = "target opponent may have you draw three cards. If the player doesn't, mill three cards, then {this} deals damage to that player equal to the total mana value of those cards";
}
public CombustibleGearhulkEffect(final CombustibleGearhulkEffect effect) {
@ -95,7 +95,6 @@ class CombustibleGearhulkMillAndDamageEffect extends OneShotEffect {
public CombustibleGearhulkMillAndDamageEffect() {
super(Outcome.Damage);
staticText = "mill three cards, then {this} deals damage to that player equal to the total mana value of those cards.";
}
public CombustibleGearhulkMillAndDamageEffect(final CombustibleGearhulkMillAndDamageEffect effect) {

View file

@ -28,7 +28,7 @@ import mage.target.targetpointer.FixedTarget;
*/
public final class ConfiscationCoup extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("creature or artifact");
private static final FilterPermanent filter = new FilterPermanent("artifact or creature");
static {
filter.add(Predicates.or(CardType.CREATURE.getPredicate(), CardType.ARTIFACT.getPredicate()));

View file

@ -17,6 +17,7 @@ import mage.constants.SubType;
import mage.game.Game;
import mage.players.Player;
import mage.target.TargetPlayer;
import mage.util.CardUtil;
/**
*
@ -85,6 +86,6 @@ class CranialExtractionEffect extends SearchTargetGraveyardHandLibraryForCardNam
@Override
public String getText(Mode mode) {
return "Name a nonland card. " + super.getText(mode);
return "Choose a nonland card name. " + CardUtil.getTextWithFirstCharUpperCase(super.getText(mode));
}
}

View file

@ -10,7 +10,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.common.FilterCreatureCard;
import mage.filter.StaticFilters;
import mage.target.TargetPlayer;
import mage.target.common.TargetCardInYourGraveyard;
@ -25,7 +25,7 @@ public final class Cryptwailing extends CardImpl {
// {1}, Exile two creature cards from your graveyard: Target player discards a card. Activate this ability only any time you could cast a sorcery.
ActivateAsSorceryActivatedAbility ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new DiscardTargetEffect(1), new GenericManaCost(1));
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(2,2, new FilterCreatureCard("two creature cards from your graveyard"))));
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(2, StaticFilters.FILTER_CARD_CREATURES_YOUR_GRAVEYARD)));
ability.addTarget(new TargetPlayer());
this.addAbility(ability);
}

View file

@ -32,7 +32,7 @@ public final class DefenseOfTheHeart extends CardImpl {
TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceEffect(), TargetController.YOU, false);
ability.addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_CREATURE), false, Outcome.PutLandInPlay));
DefenseOfTheHeartCondition contition = new DefenseOfTheHeartCondition();
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, contition, "At the beginning of your upkeep, if an opponent controls three or more creatures, sacrifice {this}, search your library for up to two creature cards, and put those cards onto the battlefield. Then shuffle"));
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, contition, "At the beginning of your upkeep, if an opponent controls three or more creatures, sacrifice {this}, search your library for up to two creature cards, put those cards onto the battlefield, then shuffle"));
}

View file

@ -7,6 +7,7 @@ import mage.abilities.Ability;
import mage.abilities.condition.common.IsStepCondition;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.decorator.ConditionalActivatedAbility;
import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect;
import mage.abilities.effects.common.ReturnToHandSourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.PlainscyclingAbility;
@ -36,7 +37,7 @@ public final class EternalDragon extends CardImpl {
// {3}{W}{W}: Return Eternal Dragon from your graveyard to your hand. Activate this ability only during your upkeep.
Ability ability = new ConditionalActivatedAbility(Zone.GRAVEYARD,
new ReturnToHandSourceEffect(),
new ReturnSourceFromGraveyardToHandEffect(),
new ManaCostsImpl("{3}{W}{W}"),
new IsStepCondition(PhaseStep.UPKEEP),
null

View file

@ -1,32 +1,26 @@
package mage.cards.f;
import java.util.UUID;
import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.target.common.TargetCardInLibrary;
import java.util.UUID;
/**
*
* @author Loki
*/
public final class Fabricate extends CardImpl {
private static final FilterCard filter = new FilterCard("artifact");
static {
filter.add(CardType.ARTIFACT.getPredicate());
}
public Fabricate(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{U}");
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}");
// Search your library for an artifact card, reveal it, and put it into your hand. Then shuffle your library.
this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(1, filter), true));
this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(
new TargetCardInLibrary(1, StaticFilters.FILTER_CARD_ARTIFACT), true
));
}
private Fabricate(final Fabricate card) {

View file

@ -55,7 +55,7 @@ public final class FeastingTrollKing extends CardImpl {
// Sacrifice three Foods: Return Feasting Troll King from your graveyard to the battlefield. Activate this ability only during your turn.
this.addAbility(new ActivateIfConditionActivatedAbility(
Zone.GRAVEYARD,
new ReturnSourceFromGraveyardToBattlefieldEffect(),
new ReturnSourceFromGraveyardToBattlefieldEffect(false, false),
new SacrificeTargetCost(new TargetControlledPermanent(3, filter)),
MyTurnCondition.instance
).addHint(MyTurnHint.instance));

View file

@ -30,7 +30,7 @@ public final class GovernTheGuildless extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{5}{U}");
// Gain control of target monocolored creature.
this.getSpellAbility().addEffect(new GainControlTargetEffect(Duration.EndOfGame));
this.getSpellAbility().addEffect(new GainControlTargetEffect(Duration.Custom));
this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter));
// Forecast - {1}{U}, Reveal Govern the Guildless from your hand: Target creature becomes the color or colors of your choice until end of turn.

View file

@ -18,7 +18,7 @@ import mage.target.common.TargetCardInLibrary;
*/
public final class HeliodsPilgrim extends CardImpl {
private static final FilterCard filter = new FilterCard("Aura card");
private static final FilterCard filter = new FilterCard("an Aura card");
static {
filter.add(CardType.ENCHANTMENT.getPredicate());
@ -34,7 +34,7 @@ public final class HeliodsPilgrim extends CardImpl {
this.toughness = new MageInt(2);
// When Heliod's Pilgrim enters the battlefield, you may search your library for an Aura card, reveal it, put it into your hand, then shuffle your library.
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true, false), true));
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true, true), true));
}

View file

@ -34,7 +34,7 @@ public final class HellsCaretaker extends CardImpl {
// {tap}, Sacrifice a creature: Return target creature card from your graveyard to the battlefield. Activate this ability only during your upkeep.
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
new ReturnFromGraveyardToBattlefieldTargetEffect(),
new ReturnFromGraveyardToBattlefieldTargetEffect(false, false),
new TapSourceCost(),
new IsStepCondition(PhaseStep.UPKEEP), null);
ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT)));

View file

@ -51,7 +51,7 @@ class InameDeathAspectEffect extends SearchEffect {
public InameDeathAspectEffect() {
super(new TargetCardInLibrary(0, Integer.MAX_VALUE, filter), Outcome.Neutral);
staticText = "search your library for any number of Spirit cards and put them into your graveyard. If you do, shuffle";
staticText = "search your library for any number of Spirit cards, put them into your graveyard, then shuffle";
}
public InameDeathAspectEffect(final InameDeathAspectEffect effect) {

View file

@ -53,7 +53,6 @@ public final class InventorsFair extends CardImpl {
new GenericManaCost(4), MetalcraftCondition.instance);
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
ability.setAbilityWord(AbilityWord.METALCRAFT);
ability.addHint(MetalcraftHint.instance);
this.addAbility(ability);
}

View file

@ -30,7 +30,7 @@ public final class Juxtapose extends CardImpl {
// You and target player exchange control of the creature you each control with the highest converted mana cost. Then exchange control of artifacts the same way. If two or more permanents a player controls are tied for highest cost, their controller chooses one of them.
this.getSpellAbility().addEffect(new JuxtaposeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, "You and target player exchange control of the creature you each control with the highest mana value"));
this.getSpellAbility().addEffect(new JuxtaposeEffect(new FilterArtifactPermanent(), "Then exchange control of artifacts the same way. If two or more permanents a player controls are tied for highest cost, their controller chooses one of them"));
this.getSpellAbility().addEffect(new JuxtaposeEffect(new FilterArtifactPermanent(), "Then exchange control of artifacts the same way. If two or more permanents a player controls are tied for highest, their controller chooses one of them"));
this.getSpellAbility().addTarget(new TargetPlayer());
}

View file

@ -47,7 +47,8 @@ class KodamasReachEffect extends OneShotEffect {
public KodamasReachEffect() {
super(Outcome.PutLandInPlay);
staticText = "Search your library for up to two basic land cards, reveal those cards, and put one onto the battlefield tapped and the other into your hand. Then shuffle";
staticText = "search your library for up to two basic land cards, reveal those cards, " +
"put one onto the battlefield tapped and the other into your hand, then shuffle";
}
public KodamasReachEffect(final KodamasReachEffect effect) {

View file

@ -1,6 +1,5 @@
package mage.cards.l;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.LoyaltyAbility;
import mage.abilities.common.PlaneswalkerEntersWithLoyaltyCountersAbility;
@ -11,7 +10,10 @@ import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffec
import mage.abilities.effects.common.discard.DiscardEachPlayerEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.constants.CardType;
import mage.constants.ComparisonType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterCard;
import mage.filter.common.FilterCreatureCard;
import mage.filter.predicate.Predicates;
@ -21,8 +23,9 @@ import mage.game.command.emblems.LilianaDefiantNecromancerEmblem;
import mage.target.common.TargetCardInYourGraveyard;
import mage.target.targetadjustment.TargetAdjuster;
import java.util.UUID;
/**
*
* @author LevelX2
*/
public final class LilianaDefiantNecromancer extends CardImpl {
@ -47,7 +50,7 @@ public final class LilianaDefiantNecromancer extends CardImpl {
this.addAbility(new LoyaltyAbility(new DiscardEachPlayerEffect(1, false), 2));
// -X: Return target nonlegendary creature with converted mana cost X from your graveyard to the battlefield.
Ability ability = new LoyaltyAbility(new ReturnFromGraveyardToBattlefieldTargetEffect());
Ability ability = new LoyaltyAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(false, false));
ability.addTarget(new TargetCardInYourGraveyard(filter));
ability.setTargetAdjuster(LilianaDefiantNecromancerAdjuster.instance);
this.addAbility(ability);

View file

@ -75,6 +75,6 @@ class LostLegacyEffect extends SearchTargetGraveyardHandLibraryForCardNameAndExi
@Override
public String getText(Mode mode) {
return "Search target player's graveyard, hand and library for any number of cards with that name and exile them. That player shuffles, then draws a card for each card exiled from hand this way";
return "Search target player's graveyard, hand, and library for any number of cards with that name and exile them. That player shuffles, then draws a card for each card exiled from their hand this way";
}
}

View file

@ -53,7 +53,7 @@ class MindblazeEffect extends OneShotEffect {
MindblazeEffect() {
super(Outcome.Damage);
staticText = "Name a nonland card and choose a number greater than 0. Target player reveals their library. If that library contains exactly the chosen number of the named card, {this} deals 8 damage to that player. Then that player shuffles";
staticText = "Choose a nonland card name and a number greater than 0. Target player reveals their library. If that library contains exactly the chosen number of cards with the chosen name, {this} deals 8 damage to that player. Then that player shuffles";
}
MindblazeEffect(final MindblazeEffect effect) {

View file

@ -51,7 +51,7 @@ public final class MomirVigSimicVisionary extends CardImpl {
// Whenever you cast a green creature spell, you may search your library for a creature card and reveal it. If you do, shuffle your library and put that card on top of it.
Effect effect = new SearchLibraryPutOnLibraryEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_CREATURE), true, true);
effect.setText("you may search your library for a creature card and reveal it. If you do, shuffle and put that card on top of it");
effect.setText("search your library for a creature card, reveal it, then shuffle and put that card on top");
this.addAbility(new SpellCastControllerTriggeredAbility(effect, filter, true));
// Whenever you cast a blue creature spell, reveal the top card of your library. If it's a creature card, put that card into your hand.

View file

@ -56,7 +56,7 @@ class MuzzioVisionaryArchitectEffect extends OneShotEffect {
public MuzzioVisionaryArchitectEffect() {
super(Outcome.Benefit);
this.staticText = "Look at the top X cards of your library, where X is the highest mana value among artifacts you control. You may reveal an artifact card from among them and put it onto the battlefield. Put the rest on the bottom of your library in any order";
this.staticText = "look at the top X cards of your library, where X is the highest mana value among artifacts you control. You may put an artifact card from among them onto the battlefield. Put the rest on the bottom of your library in any order";
}
public MuzzioVisionaryArchitectEffect(final MuzzioVisionaryArchitectEffect effect) {

View file

@ -125,7 +125,7 @@ public final class NightDealings extends CardImpl {
private NightDealingsSearchEffect() {
super(Outcome.DrawCard);
this.staticText = "Search your library for a nonland card with mana value X, " +
"reveal it, and put it into your hand. Then shuffle";
"reveal it, put it into your hand, then shuffle";
}
private NightDealingsSearchEffect(final NightDealingsSearchEffect effect) {

View file

@ -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_LAND),true, true),false);
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0,2, StaticFilters.FILTER_CARD_BASIC_LANDS),true, true),false);
this.addAbility(ability);
}

View file

@ -37,7 +37,7 @@ public final class OrimsThunder extends CardImpl {
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new OrimsThunderEffect2(),
KickedCondition.instance,
"If Orim's Thunder was kicked, it deals damage equal to that permanent's mana value to target creature")
"If this spell was kicked, it deals damage equal to that permanent's mana value to target creature")
);
this.getSpellAbility().setTargetAdjuster(OrimsThunderAdjuster.instance);
}

View file

@ -1,7 +1,5 @@
package mage.cards.p;
import java.util.UUID;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
import mage.abilities.keyword.ForecastAbility;
@ -13,24 +11,28 @@ import mage.filter.common.FilterCreatureCard;
import mage.filter.predicate.mageobject.ManaValuePredicate;
import mage.target.common.TargetCardInYourGraveyard;
import java.util.UUID;
/**
*
* @author Plopman
*/
public final class ProclamationOfRebirth extends CardImpl {
private static final FilterCreatureCard filter1 = new FilterCreatureCard("creature card with mana value {1} or less from your graveyard");
private static final FilterCreatureCard filter3 = new FilterCreatureCard("creature cards with mana value {1} or less from your graveyard");
private static final FilterCreatureCard filter1 = new FilterCreatureCard("creature card with mana value 1 or less from your graveyard");
private static final FilterCreatureCard filter3 = new FilterCreatureCard("creature cards with mana value 1 or less from your graveyard");
static {
filter1.add(new ManaValuePredicate(ComparisonType.FEWER_THAN, 2));
filter3.add(new ManaValuePredicate(ComparisonType.FEWER_THAN, 2));
}
public ProclamationOfRebirth(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{W}");
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{W}");
// Return up to three target creature cards with converted mana cost 1 or less from your graveyard to the battlefield.
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0,3,filter3));
this.getSpellAbility().addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect());
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 3, filter3));
this.getSpellAbility().addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect(false, false));
// Forecast - {5}{W}, Reveal Proclamation of Rebirth from your hand: Return target creature card with converted mana cost 1 or less from your graveyard to the battlefield.
ForecastAbility ability = new ForecastAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl("{5}{W}"));
ability.addTarget(new TargetCardInYourGraveyard(filter1));

View file

@ -45,7 +45,7 @@ public final class ProteanHulk extends CardImpl {
class ProteanHulkTarget extends TargetCardInLibrary {
private static final FilterCard filter
= new FilterCreatureCard("any number of creature cards with total mana value 6 or less");
= new FilterCreatureCard("creature cards with total mana value 6 or less");
ProteanHulkTarget() {
super(0, Integer.MAX_VALUE, filter);

View file

@ -1,7 +1,5 @@
package mage.cards.r;
import java.util.UUID;
import mage.abilities.dynamicvalue.common.TargetManaValue;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
@ -9,22 +7,23 @@ import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffec
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterCreatureCard;
import mage.filter.StaticFilters;
import mage.target.common.TargetCardInGraveyard;
import java.util.UUID;
/**
*
* @author LevelX2
*/
public final class Reanimate extends CardImpl {
public Reanimate(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{B}");
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{B}");
// Put target creature card from a graveyard onto the battlefield under your control. You lose life equal to its converted mana cost.
getSpellAbility().addTarget(new TargetCardInGraveyard(new FilterCreatureCard("creature card from a graveyard")));
getSpellAbility().addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect());
getSpellAbility().addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE));
getSpellAbility().addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect()
.setText("put target creature card from a graveyard onto the battlefield under your control"));
Effect effect = new LoseLifeSourceControllerEffect(TargetManaValue.instance);
effect.setText("You lose life equal to its mana value");
getSpellAbility().addEffect(effect);

View file

@ -26,8 +26,8 @@ public final class RecurringNightmare extends CardImpl {
// Sacrifice a creature, Return Recurring Nightmare to its owner's hand: Return target creature card from your graveyard to the battlefield. Activate this ability only any time you could cast a sorcery.
Ability ability = new ActivateAsSorceryActivatedAbility(
Zone.BATTLEFIELD,
new ReturnFromGraveyardToBattlefieldTargetEffect(),
new SacrificeTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_CREATURE))
new ReturnFromGraveyardToBattlefieldTargetEffect(false, false),
new SacrificeTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT))
);
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
ability.addCost(new ReturnToHandFromBattlefieldSourceCost());

View file

@ -30,7 +30,7 @@ public final class Repeal extends CardImpl {
this.getSpellAbility().setTargetAdjuster(RepealAdjuster.instance);
// Draw a card.
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1));
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
}
private Repeal(final Repeal card) {

View file

@ -54,7 +54,7 @@ class ReweaveEffect extends OneShotEffect {
public ReweaveEffect() {
super(Outcome.Detriment);
this.staticText = "Target permanent's controller sacrifices it. If they do, that player reveals cards from the top of their library until they reveal a permanent card that shares a card type with the sacrificed permanent, puts that card onto the battlefield, then shuffles";
this.staticText = "Target permanent's controller sacrifices it. If the player does, they reveal cards from the top of their library until they reveal a permanent card that shares a card type with the sacrificed permanent, put that card onto the battlefield, then shuffle";
}
public ReweaveEffect(final ReweaveEffect effect) {

View file

@ -30,7 +30,7 @@ import java.util.UUID;
*/
public final class SiftThroughSands extends CardImpl {
private static final String rule = "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";
private static final String rule = "<br>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";
private static final FilterCreatureCard filter = new FilterCreatureCard("a card named The Unspeakable");
static {

View file

@ -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(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), true, true),
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true),
new ManaCostsImpl("{G}"));
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability);

View file

@ -48,7 +48,7 @@ public final class TheCauldronOfEternity extends CardImpl {
// {2}{B}, {T}, Pay 2 life: Return target creature card from your graveyard to the battlefield. Activate this ability only any time you could cast a sorcery.
ability = new ActivateAsSorceryActivatedAbility(
Zone.BATTLEFIELD, new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl("{2}{B}")
Zone.BATTLEFIELD, new ReturnFromGraveyardToBattlefieldTargetEffect(false, false), new ManaCostsImpl("{2}{B}")
);
ability.addCost(new TapSourceCost());
ability.addCost(new PayLifeCost(2));

View file

@ -28,7 +28,7 @@ public final class ThiefOfHope extends CardImpl {
this.power = new MageInt(2);
this.toughness = new MageInt(2);
Ability ability = new SpellCastControllerTriggeredAbility(new LoseLifeTargetEffect(1), StaticFilters.SPIRIT_OR_ARCANE_CARD, false);
ability.addEffect(new GainLifeEffect(1));
ability.addEffect(new GainLifeEffect(1).concatBy("and"));
ability.addTarget(new TargetOpponent());
this.addAbility(ability);
this.addAbility(new SoulshiftAbility(2));

View file

@ -31,7 +31,7 @@ public final class Unearth extends CardImpl {
// Return target creature card with converted mana cost 3 or less from your graveyard to the battlefield.
this.getSpellAbility().addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect());
this.getSpellAbility().addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect(false, false));
this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(filter));
// Cycling {2}

View file

@ -42,7 +42,7 @@ public final class WhipOfErebos extends CardImpl {
// Creatures you control have lifelink.
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
LifelinkAbility.getInstance(), Duration.WhileOnBattlefield,
StaticFilters.FILTER_CONTROLLED_CREATURES
StaticFilters.FILTER_PERMANENT_CREATURES
)));
// {2}{B}{B}, {T}: Return target creature card from your graveyard to the battlefield.

View file

@ -44,7 +44,7 @@ public class LimitedTimesPerTurnActivatedAbility extends ActivatedAbilityImpl {
public String getRule() {
StringBuilder sb = new StringBuilder(super.getRule()).append(" Activate ");
if (condition != null) {
sb.append("only if ").append(condition.toString()).append(" and ");
sb.append("only ").append(condition.toString()).append(" and ");
}
if (getTiming() == TimingRule.SORCERY) {
sb.append("only as a sorcery and ");

View file

@ -30,7 +30,7 @@ public class SearchLibraryGraveyardWithLessMVPutIntoPlay extends OneShotEffect {
public SearchLibraryGraveyardWithLessMVPutIntoPlay(FilterCard filter) {
super(Outcome.PutCreatureInPlay);
this.filter = filter;
staticText = "Search your library or graveyard for a " + filter.getMessage() + " with mana value X or less, put it onto the battlefield, then shuffle";
staticText = "Search your library and/or graveyard for a " + filter.getMessage() + " with mana value X or less, put it onto the battlefield. If you search your library this way, shuffle.";
}
public SearchLibraryGraveyardWithLessMVPutIntoPlay(final SearchLibraryGraveyardWithLessMVPutIntoPlay effect) {