mirror of
https://github.com/correl/mage.git
synced 2024-12-25 03:00:15 +00:00
[STX] various text fixes
This commit is contained in:
parent
a61d5543fa
commit
326c17fe4d
33 changed files with 65 additions and 47 deletions
|
@ -40,7 +40,7 @@ public final class CallousBloodmage extends CardImpl {
|
|||
ability.addMode(mode);
|
||||
|
||||
// • Exile target player's graveyard.
|
||||
mode = new Mode(new ExileGraveyardAllTargetPlayerEffect());
|
||||
mode = new Mode(new ExileGraveyardAllTargetPlayerEffect().setText("exile target player's graveyard"));
|
||||
mode.addTarget(new TargetPlayer());
|
||||
ability.addMode(mode);
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -26,7 +26,7 @@ public final class CampusGuide extends CardImpl {
|
|||
|
||||
// When Campus Guide enters the battlefield, you may search your library for a basic land card, reveal it, then shuffle and put that card on top.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutOnLibraryEffect(
|
||||
new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND_A), true, true
|
||||
new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true
|
||||
), true));
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package mage.cards.c;
|
||||
|
||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||
import mage.abilities.effects.common.DrawCardTargetEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||
import mage.abilities.keyword.TrampleAbility;
|
||||
|
@ -24,7 +25,7 @@ public final class ChargeThrough extends CardImpl {
|
|||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
|
||||
// Draw a card.
|
||||
this.getSpellAbility().addEffect(new DrawCardTargetEffect(1));
|
||||
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("<br>"));
|
||||
}
|
||||
|
||||
private ChargeThrough(final ChargeThrough card) {
|
||||
|
|
|
@ -35,7 +35,9 @@ public final class CombatProfessor extends CardImpl {
|
|||
|
||||
// At the beginning of combat on your turn, target creature you control gets +1/+0 and gains vigilance until end of turn.
|
||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||
new BoostTargetEffect(1, 0), TargetController.YOU, false
|
||||
new BoostTargetEffect(1, 0)
|
||||
.setText("target creature you control gets +1/+0"),
|
||||
TargetController.YOU, false
|
||||
);
|
||||
ability.addEffect(new GainAbilityTargetEffect(
|
||||
VigilanceAbility.getInstance(), Duration.EndOfTurn
|
||||
|
|
|
@ -31,7 +31,8 @@ public final class CreativeOutburst extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(
|
||||
StaticValue.get(5), false, StaticValue.get(1),
|
||||
StaticFilters.FILTER_CARD, Zone.LIBRARY, false, false
|
||||
));
|
||||
).setBackInRandomOrder(true).setText("Look at the top five cards of your library. " +
|
||||
"Put one of them into your hand and the rest on the bottom of your library in a random order"));
|
||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||
|
||||
// {U/R}{U/R}, Discard Creative Outburst: Create a Treasure token.
|
||||
|
|
|
@ -25,7 +25,7 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class DragonsApproach extends CardImpl {
|
||||
|
||||
private static final FilterCard filter = new FilterCreatureCard("a Dragon creature card");
|
||||
private static final FilterCard filter = new FilterCreatureCard("Dragon creature card");
|
||||
private static final FilterCard filter2 = new FilterCard("cards named Dragon's Approach");
|
||||
|
||||
static {
|
||||
|
@ -39,7 +39,7 @@ public final class DragonsApproach extends CardImpl {
|
|||
// Dragon's Approach deals 3 damage to each opponent. You may exile Dragon's Approach and four cards named Dragon's Approach from your graveyard. If you do, search your library for a Dragon creature card, put it onto the battlefield, then shuffle.
|
||||
this.getSpellAbility().addEffect(new DamagePlayersEffect(3, TargetController.OPPONENT));
|
||||
this.getSpellAbility().addEffect(new DoIfCostPaid(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary()),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter)),
|
||||
new CompositeCost(
|
||||
new ExileSourceCost(), new ExileFromGraveCost(new TargetCardInYourGraveyard(filter2)),
|
||||
"exile {this} and four cards named Dragon's Approach from your graveyard"
|
||||
|
|
|
@ -21,7 +21,9 @@ public final class EnthusiasticStudy extends CardImpl {
|
|||
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{R}");
|
||||
|
||||
// Target creature gets +3/+1 and gains trample until end of turn.
|
||||
this.getSpellAbility().addEffect(new BoostTargetEffect(3, 1));
|
||||
this.getSpellAbility().addEffect(new BoostTargetEffect(
|
||||
3, 1
|
||||
).setText("target creature gets +3/+1"));
|
||||
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(
|
||||
TrampleAbility.getInstance(), Duration.EndOfTurn
|
||||
).setText("and gains trample until end of turn"));
|
||||
|
|
|
@ -64,11 +64,12 @@ public final class ExtusOriqOverlord extends ModalDoubleFacesCard {
|
|||
// Sorcery
|
||||
// As an additional cost to cast this spell, you may sacrifice any number of creatures. This spell costs {2} less to cast for each creature sacrificed this way.
|
||||
Cost cost = new SacrificeXTargetCost(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT);
|
||||
cost.setText("As an additional cost to cast this spell, you may sacrifice any number of creatures");
|
||||
cost.setText("As an additional cost to cast this spell, you may sacrifice any number of creatures. " +
|
||||
"This spell costs {2} less to cast for each creature sacrificed this way");
|
||||
this.getRightHalfCard().getSpellAbility().addCost(cost);
|
||||
this.getRightHalfCard().addAbility(new SimpleStaticAbility(
|
||||
Zone.ALL, new AwakenTheBloodAvatarCostReductionEffect()
|
||||
));
|
||||
ability = new SimpleStaticAbility(Zone.ALL, new AwakenTheBloodAvatarCostReductionEffect());
|
||||
ability.setRuleVisible(false);
|
||||
this.getRightHalfCard().addAbility(ability);
|
||||
|
||||
// Each opponent sacrifices a creature. Create a 3/6 black and red Avatar creature token with haste and "Whenever this creature attacks, it deals 3 damage to each opponent."
|
||||
this.getRightHalfCard().getSpellAbility().addEffect(new SacrificeOpponentsEffect(
|
||||
|
@ -91,7 +92,6 @@ class AwakenTheBloodAvatarCostReductionEffect extends CostModificationEffectImpl
|
|||
|
||||
AwakenTheBloodAvatarCostReductionEffect() {
|
||||
super(Duration.WhileOnStack, Outcome.Benefit, CostModificationType.REDUCE_COST);
|
||||
staticText = "This spell costs {2} less to cast for each creature sacrificed this way";
|
||||
}
|
||||
|
||||
private AwakenTheBloodAvatarCostReductionEffect(final AwakenTheBloodAvatarCostReductionEffect effect) {
|
||||
|
|
|
@ -18,6 +18,7 @@ import mage.constants.SubType;
|
|||
import mage.constants.Zone;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterControlledLandPermanent;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.target.TargetPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
@ -29,6 +30,8 @@ public final class KelpieGuide extends CardImpl {
|
|||
|
||||
private static final FilterPermanent filter
|
||||
= new FilterControlledLandPermanent("you control eight or more lands");
|
||||
private static final FilterPermanent filter2
|
||||
= new FilterControlledPermanent("another target permanent you control");
|
||||
private static final Condition condition
|
||||
= new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 7);
|
||||
|
||||
|
@ -41,7 +44,7 @@ public final class KelpieGuide extends CardImpl {
|
|||
|
||||
// {T}: Untap another target permanent you control.
|
||||
Ability ability = new SimpleActivatedAbility(new UntapTargetEffect(), new TapSourceCost());
|
||||
ability.addTarget(new TargetPermanent(filter));
|
||||
ability.addTarget(new TargetPermanent(filter2));
|
||||
this.addAbility(ability);
|
||||
|
||||
// {T}: Tap target permanent. Activate only if you control eight or more lands.
|
||||
|
|
|
@ -39,7 +39,7 @@ public final class LoreholdExcavation extends CardImpl {
|
|||
Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(
|
||||
new LoreholdToken(), 1, true, false
|
||||
), new GenericManaCost(5));
|
||||
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE)));
|
||||
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_A)));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
@ -47,10 +47,10 @@ public final class MascotInterception extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new UntapTargetEffect().setText("Untap that creature"));
|
||||
this.getSpellAbility().addEffect(new BoostTargetEffect(
|
||||
2, 0, Duration.EndOfTurn
|
||||
).setText("Until end of turn, it gets +2/+0"));
|
||||
).setText("It gets +2/+0"));
|
||||
this.getSpellAbility().addEffect(new GainAbilityTargetEffect(
|
||||
HasteAbility.getInstance(), Duration.EndOfTurn
|
||||
).setText("and gains haste"));
|
||||
).setText("and gains haste until end of turn"));
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ import java.util.UUID;
|
|||
public final class MasterSymmetrist extends CardImpl {
|
||||
|
||||
private static final FilterCreaturePermanent filter
|
||||
= new FilterCreaturePermanent("a creature you control with power equal to its toughness");
|
||||
= new FilterCreaturePermanent("creature you control with power equal to its toughness");
|
||||
|
||||
static {
|
||||
filter.add(TargetController.YOU.getControllerPredicate());
|
||||
|
|
|
@ -6,7 +6,9 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.StaticFilters;
|
||||
import mage.target.common.TargetControlledCreaturePermanent;
|
||||
import mage.target.common.TargetControlledPermanent;
|
||||
import mage.target.common.TargetCreatureOrPlaneswalker;
|
||||
|
||||
import java.util.UUID;
|
||||
|
@ -22,7 +24,7 @@ public final class NecroticFumes extends CardImpl {
|
|||
this.subtype.add(SubType.LESSON);
|
||||
|
||||
// As an additional cost to cast this spell, exile a creature you control.
|
||||
this.getSpellAbility().addCost(new ExileTargetCost(new TargetControlledCreaturePermanent()));
|
||||
this.getSpellAbility().addCost(new ExileTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_A_CREATURE)));
|
||||
|
||||
// Exile target creature or planeswalker.
|
||||
this.getSpellAbility().addEffect(new ExileTargetEffect());
|
||||
|
|
|
@ -72,7 +72,7 @@ public final class PestilentCauldron extends ModalDoubleFacesCard {
|
|||
ability = new SimpleActivatedAbility(new ExileTargetEffect(), new GenericManaCost(4));
|
||||
ability.addCost(new TapSourceCost());
|
||||
ability.addTarget(new TargetCardInASingleGraveyard(
|
||||
0, 4, StaticFilters.FILTER_CARD_CARDS
|
||||
4, 4, StaticFilters.FILTER_CARD_CARDS
|
||||
));
|
||||
ability.addEffect(new DrawCardSourceControllerEffect(1));
|
||||
this.getLeftHalfCard().addAbility(ability);
|
||||
|
|
|
@ -25,7 +25,7 @@ public final class PracticalResearch extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(4));
|
||||
this.getSpellAbility().addEffect(new DoIfCostPaid(
|
||||
null, new DiscardControllerEffect(2), cost
|
||||
).setText("Then discard two cards unless you discard an enchantment card"));
|
||||
).setText("Then discard two cards unless you discard an instant or sorcery card"));
|
||||
}
|
||||
|
||||
private PracticalResearch(final PracticalResearch card) {
|
||||
|
|
|
@ -45,7 +45,7 @@ class ReduceToMemoryEffect extends OneShotEffect {
|
|||
|
||||
ReduceToMemoryEffect() {
|
||||
super(Outcome.Benefit);
|
||||
staticText = "exile target nonland permanent. Its controller creates a 3/2 red and white spirit creature token";
|
||||
staticText = "exile target nonland permanent. Its controller creates a 3/2 red and white Spirit creature token";
|
||||
}
|
||||
|
||||
private ReduceToMemoryEffect(final ReduceToMemoryEffect effect) {
|
||||
|
|
|
@ -42,7 +42,7 @@ public final class RetrieverPhoenix extends CardImpl {
|
|||
// When Retriever Phoenix enters the battlefield, if you cast it, learn.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(new LearnEffect()), CastFromEverywhereSourceCondition.instance,
|
||||
"When {thi} enters the battlefield, if you cast it, " + LearnEffect.getDefaultText()
|
||||
"When {this} enters the battlefield, if you cast it, " + LearnEffect.getDefaultText()
|
||||
));
|
||||
|
||||
// As long as Retriever Phoenix is in your graveyard, if you would learn, you may instead return Retriever Phoenix to the battlefield.
|
||||
|
|
|
@ -41,7 +41,7 @@ import java.util.stream.Collectors;
|
|||
*/
|
||||
public final class RowanScholarOfSparks extends ModalDoubleFacesCard {
|
||||
|
||||
private static final FilterCard filter = new FilterInstantOrSorceryCard("");
|
||||
private static final FilterCard filter = new FilterInstantOrSorceryCard("instant and sorcery spells");
|
||||
|
||||
public RowanScholarOfSparks(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(
|
||||
|
|
|
@ -14,7 +14,7 @@ import mage.filter.FilterPermanent;
|
|||
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||
import mage.filter.predicate.mageobject.AbilityPredicate;
|
||||
import mage.filter.predicate.mageobject.AnotherPredicate;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
import mage.target.common.TargetControlledCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
@ -46,7 +46,7 @@ public final class ShadewingLaureate extends CardImpl {
|
|||
Ability ability = new DiesCreatureTriggeredAbility(
|
||||
new AddCountersTargetEffect(CounterType.P1P1.createInstance()), false, filter
|
||||
);
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
ability.addTarget(new TargetControlledCreaturePermanent());
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ public final class SilverquillCommand extends CardImpl {
|
|||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
|
||||
// • Return target creature card with mana value 2 or less from your graveyard to the battlefield.
|
||||
Mode mode = new Mode(new ReturnFromGraveyardToBattlefieldTargetEffect());
|
||||
Mode mode = new Mode(new ReturnFromGraveyardToBattlefieldTargetEffect(false, false));
|
||||
mode.addTarget(new TargetCardInYourGraveyard(filter));
|
||||
this.getSpellAbility().addMode(mode);
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package mage.cards.s;
|
||||
|
||||
import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect;
|
||||
import mage.abilities.effects.common.DrawDiscardControllerEffect;
|
||||
import mage.abilities.effects.common.DrawDiscardTargetEffect;
|
||||
import mage.abilities.effects.common.TapTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
|
@ -24,7 +25,7 @@ public final class SnowDay extends CardImpl {
|
|||
this.getSpellAbility().addTarget(new TargetCreaturePermanent(0, 2));
|
||||
|
||||
// Draw two cards, then discard a card.
|
||||
this.getSpellAbility().addEffect(new DrawDiscardTargetEffect(2, 1).concatBy("<br>"));
|
||||
this.getSpellAbility().addEffect(new DrawDiscardControllerEffect(2, 1).concatBy("<br>"));
|
||||
}
|
||||
|
||||
private SnowDay(final SnowDay card) {
|
||||
|
|
|
@ -20,7 +20,7 @@ import java.util.UUID;
|
|||
*/
|
||||
public final class SpectacleMage extends CardImpl {
|
||||
|
||||
private static final FilterCard filter = new FilterInstantOrSorceryCard("instant and sorcery spells");
|
||||
private static final FilterCard filter = new FilterInstantOrSorceryCard();
|
||||
|
||||
static {
|
||||
filter.add(new ManaValuePredicate(ComparisonType.MORE_THAN, 4));
|
||||
|
@ -38,7 +38,8 @@ public final class SpectacleMage extends CardImpl {
|
|||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Instant and sorcery spells you cast with mana value 5 or greater cost {1} less to cast.
|
||||
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, 1)));
|
||||
this.addAbility(new SimpleStaticAbility(new SpellsCostReductionControllerEffect(filter, 1)
|
||||
.setText("instant and sorcery spells you cast with mana value 5 or greater cost {1} less to cast")));
|
||||
}
|
||||
|
||||
private SpectacleMage(final SpectacleMage card) {
|
||||
|
|
|
@ -26,7 +26,10 @@ public final class TendThePests extends CardImpl {
|
|||
));
|
||||
|
||||
// Create X 1/1 black and green Pest creature tokens with "When this creature dies, you gain 1 life," where X is the sacrificed creature's power.
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(new WitherbloomToken(), SacrificeCostCreaturesPower.instance));
|
||||
this.getSpellAbility().addEffect(new CreateTokenEffect(
|
||||
new WitherbloomToken(), SacrificeCostCreaturesPower.instance
|
||||
).setText("create X 1/1 black and green Pest creature tokens with " +
|
||||
"\"When this creature dies, you gain 1 life,\" where X is the sacrificed creature's power"));
|
||||
}
|
||||
|
||||
private TendThePests(final TendThePests card) {
|
||||
|
|
|
@ -24,7 +24,7 @@ import java.util.UUID;
|
|||
public final class TomeShredder extends CardImpl {
|
||||
|
||||
private static final FilterCard filter
|
||||
= new FilterInstantOrSorceryCard("instant or sorcery card from your graveyard");
|
||||
= new FilterInstantOrSorceryCard("an instant or sorcery card from your graveyard");
|
||||
|
||||
public TomeShredder(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}");
|
||||
|
|
|
@ -31,7 +31,8 @@ public final class ZephyrBoots extends CardImpl {
|
|||
|
||||
// Whenever equipped creature deals combat damage to a player, draw a card, then discard a card.
|
||||
this.addAbility(new DealsDamageToAPlayerAttachedTriggeredAbility(
|
||||
new DrawDiscardControllerEffect(1, 1), "equipped", false
|
||||
new DrawDiscardControllerEffect(1, 1),
|
||||
"equipped creature", false
|
||||
));
|
||||
|
||||
// Equip {2}
|
||||
|
|
|
@ -41,7 +41,9 @@ public final class ZimoneQuandrixProdigy extends CardImpl {
|
|||
|
||||
// {1}, {T}: You may put a land card from your hand onto the battlefield tapped.
|
||||
Ability ability = new SimpleActivatedAbility(
|
||||
new PutCardFromHandOntoBattlefieldEffect(StaticFilters.FILTER_CARD_LAND_A), new GenericManaCost(1)
|
||||
new PutCardFromHandOntoBattlefieldEffect(
|
||||
StaticFilters.FILTER_CARD_LAND_A, false, true
|
||||
), new GenericManaCost(1)
|
||||
);
|
||||
ability.addCost(new TapSourceCost());
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -56,7 +56,7 @@ public class VerifyCardDataTest {
|
|||
|
||||
private static final Logger logger = Logger.getLogger(VerifyCardDataTest.class);
|
||||
|
||||
private static final String FULL_ABILITIES_CHECK_SET_CODE = "STA"; // check all abilities and output cards with wrong abilities texts;
|
||||
private static final String FULL_ABILITIES_CHECK_SET_CODE = "STX"; // check all abilities and output cards with wrong abilities texts;
|
||||
private static final boolean AUTO_FIX_SAMPLE_DECKS = false; // debug only: auto-fix sample decks by test_checkSampleDecks test run
|
||||
|
||||
private static final HashMap<String, Set<String>> skipCheckLists = new HashMap<>();
|
||||
|
|
|
@ -42,12 +42,12 @@ public class LimitedTimesPerTurnActivatedAbility extends ActivatedAbilityImpl {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
StringBuilder sb = new StringBuilder(super.getRule()).append(" Activate this ability ");
|
||||
StringBuilder sb = new StringBuilder(super.getRule()).append(" Activate ");
|
||||
if (condition != null) {
|
||||
sb.append("only ").append(condition.toString()).append(" and ");
|
||||
}
|
||||
if (getTiming() == TimingRule.SORCERY) {
|
||||
sb.append("only any time you could cast a sorcery and ");
|
||||
sb.append("only as a sorcery and ");
|
||||
}
|
||||
switch (maxActivationsPerTurn) {
|
||||
case 1:
|
||||
|
|
|
@ -121,7 +121,7 @@ public class CounterUnlessPaysEffect extends OneShotEffect {
|
|||
sb.append(genericMana.getMessage());
|
||||
}
|
||||
if (exile) {
|
||||
sb.append(". If that spell is countered this way, exile it instead of putting into its owner's graveyard.");
|
||||
sb.append(". If that spell is countered this way, exile it instead of putting it into its owner's graveyard.");
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ import mage.game.Game;
|
|||
import mage.game.permanent.Permanent;
|
||||
import mage.players.Player;
|
||||
import mage.target.Target;
|
||||
import mage.target.common.TargetCardInYourGraveyard;
|
||||
import mage.util.CardUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -138,7 +139,7 @@ public class PutOnLibraryTargetEffect extends OneShotEffect {
|
|||
sb.append(CardUtil.numberToText(target.getMaxNumberOfTargets())).append(' ');
|
||||
}
|
||||
sb.append("target ").append(mode.getTargets().get(0).getTargetName()).append(" on ");
|
||||
sb.append(onTop ? "top" : "the bottom").append(" of its owner's library");
|
||||
sb.append(onTop ? "top" : "the bottom").append(" of ").append(mode.getTargets().get(0) instanceof TargetCardInYourGraveyard ? "your" : "its owner's").append(" library");
|
||||
|
||||
return sb.toString();
|
||||
|
||||
|
|
|
@ -98,7 +98,9 @@ public class SacrificeEffect extends OneShotEffect {
|
|||
sb.append(" sacrifice ");
|
||||
}
|
||||
}
|
||||
if (!filter.getMessage().startsWith("another")) {
|
||||
if (!filter.getMessage().startsWith("another")
|
||||
&& !filter.getMessage().startsWith("a ")
|
||||
&& !filter.getMessage().startsWith("an ")) {
|
||||
sb.append(CardUtil.numberToText(count.toString(), "a")).append(' ');
|
||||
}
|
||||
sb.append(filter.getMessage());
|
||||
|
|
|
@ -12,7 +12,6 @@ import mage.players.Player;
|
|||
import mage.target.common.TargetCardInLibrary;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class SearchLibraryPutOnLibraryEffect extends SearchEffect {
|
||||
|
@ -72,12 +71,9 @@ public class SearchLibraryPutOnLibraryEffect extends SearchEffect {
|
|||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("search your library for a ").append(target.getTargetName());
|
||||
if (reveal) {
|
||||
sb.append(" and reveal that card. Shuffle");
|
||||
} else {
|
||||
sb.append(", then shuffle");
|
||||
sb.append(", reveal it");
|
||||
}
|
||||
sb.append(" your library and put that card on top of it");
|
||||
sb.append(", then shuffle and put that card on top of it");
|
||||
staticText = sb.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -30,6 +30,6 @@ public class ActivateAsSorceryManaAbility extends SimpleManaAbility {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return super.getRule() + " Activate this ability only any time you could cast a sorcery.";
|
||||
return super.getRule() + " Activate only as a sorcery.";
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue