diff --git a/Mage.Sets/src/mage/cards/a/AjanisInfluence.java b/Mage.Sets/src/mage/cards/a/AjanisInfluence.java index 94700f16dc7..d5c036b26f2 100644 --- a/Mage.Sets/src/mage/cards/a/AjanisInfluence.java +++ b/Mage.Sets/src/mage/cards/a/AjanisInfluence.java @@ -37,7 +37,7 @@ public final class AjanisInfluence extends CardImpl { this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect( StaticValue.get(5), false, StaticValue.get(1), filter, Zone.LIBRARY, false, true, false, Zone.HAND, true, false, false - ).setBackInRandomOrder(true).setText("Look at the top five cards of your library. " + ).setBackInRandomOrder(true).setText("
Look at the top five cards of your library. " + "You may reveal a white card from among them and put it into your hand. " + "Put the rest on the bottom of your library in a random order.") ); diff --git a/Mage.Sets/src/mage/cards/a/AzcantaTheSunkenRuin.java b/Mage.Sets/src/mage/cards/a/AzcantaTheSunkenRuin.java index 4352f6c7813..782169ae2b3 100644 --- a/Mage.Sets/src/mage/cards/a/AzcantaTheSunkenRuin.java +++ b/Mage.Sets/src/mage/cards/a/AzcantaTheSunkenRuin.java @@ -23,7 +23,7 @@ import mage.filter.predicate.Predicates; */ public final class AzcantaTheSunkenRuin extends CardImpl { - private static final FilterCard filter = new FilterCard("noncreature, nonland card"); + private static final FilterCard filter = new FilterCard("a noncreature, nonland card"); static { filter.add(Predicates.not(CardType.CREATURE.getPredicate())); diff --git a/Mage.Sets/src/mage/cards/b/BloodPrice.java b/Mage.Sets/src/mage/cards/b/BloodPrice.java index 25ec9f02799..2d203102c46 100644 --- a/Mage.Sets/src/mage/cards/b/BloodPrice.java +++ b/Mage.Sets/src/mage/cards/b/BloodPrice.java @@ -25,8 +25,8 @@ public final class BloodPrice extends CardImpl { StaticFilters.FILTER_CARD, Zone.LIBRARY, false, false, false, Zone.HAND, false, false, true - ).setText("Look at at the top four cards of your library. " + - "Put two of them into your hand and the rest on the bottom of your library in any order ")); + ).setText("Look at the top four cards of your library. " + + "Put two of them into your hand and the rest on the bottom of your library in any order")); this.getSpellAbility().addEffect(new LoseLifeSourceControllerEffect(2)); } diff --git a/Mage.Sets/src/mage/cards/b/BondOfFlourishing.java b/Mage.Sets/src/mage/cards/b/BondOfFlourishing.java index 840a0fe5767..96581841a43 100644 --- a/Mage.Sets/src/mage/cards/b/BondOfFlourishing.java +++ b/Mage.Sets/src/mage/cards/b/BondOfFlourishing.java @@ -16,7 +16,7 @@ import java.util.UUID; */ public final class BondOfFlourishing extends CardImpl { - private static final FilterCard filter = new FilterPermanentCard(); + private static final FilterCard filter = new FilterPermanentCard("a permanent card"); public BondOfFlourishing(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{G}"); diff --git a/Mage.Sets/src/mage/cards/l/LilianasSpoils.java b/Mage.Sets/src/mage/cards/l/LilianasSpoils.java index 10ba3bbeef0..623568c1822 100644 --- a/Mage.Sets/src/mage/cards/l/LilianasSpoils.java +++ b/Mage.Sets/src/mage/cards/l/LilianasSpoils.java @@ -36,7 +36,7 @@ public final class LilianasSpoils extends CardImpl { this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect( StaticValue.get(5), false, StaticValue.get(1), filter, Zone.LIBRARY, false, true, false, Zone.HAND, true, false, false - ).setBackInRandomOrder(true).setText("Look at the top five cards of your library. " + ).setBackInRandomOrder(true).setText("
Look at the top five cards of your library. " + "You may reveal a black card from among them and put it into your hand. " + "Put the rest on the bottom of your library in a random order.") ); diff --git a/Mage.Sets/src/mage/cards/s/SarkhansDragonfire.java b/Mage.Sets/src/mage/cards/s/SarkhansDragonfire.java index b07b9f313ac..a818b96cdb3 100644 --- a/Mage.Sets/src/mage/cards/s/SarkhansDragonfire.java +++ b/Mage.Sets/src/mage/cards/s/SarkhansDragonfire.java @@ -36,7 +36,7 @@ public final class SarkhansDragonfire extends CardImpl { this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect( StaticValue.get(5), false, StaticValue.get(1), filter, Zone.LIBRARY, false, true, false, Zone.HAND, true, false, false - ).setBackInRandomOrder(true).setText("Look at the top five cards of your library. " + ).setBackInRandomOrder(true).setText("
Look at the top five cards of your library. " + "You may reveal a red card from among them and put it into your hand. " + "Put the rest on the bottom of your library in a random order.") ); diff --git a/Mage.Sets/src/mage/cards/s/SealedFate.java b/Mage.Sets/src/mage/cards/s/SealedFate.java index ac53d3c82d3..ff9c4e84afd 100644 --- a/Mage.Sets/src/mage/cards/s/SealedFate.java +++ b/Mage.Sets/src/mage/cards/s/SealedFate.java @@ -7,7 +7,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; -import mage.filter.FilterCard; +import mage.filter.StaticFilters; import mage.target.common.TargetOpponent; import java.util.UUID; @@ -22,11 +22,12 @@ public final class SealedFate extends CardImpl { // Look at the top X cards of target opponent's library. Exile one of those cards and put the rest back on top of that player's library in any order. this.getSpellAbility().addTarget(new TargetOpponent()); - this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect(ManacostVariableValue.REGULAR, - false, StaticValue.get(1), - new FilterCard("a card to exile"), Zone.LIBRARY, true, - false, false, Zone.EXILED, - false, true, true)); + this.getSpellAbility().addEffect(new LookLibraryAndPickControllerEffect( + ManacostVariableValue.REGULAR, false, StaticValue.get(1), + StaticFilters.FILTER_CARD, Zone.LIBRARY, true, false, + false, Zone.EXILED, false, true, true + ).setText("look at the top X cards of target opponent's library. Exile one of those cards " + + "and put the rest back on top of that player's library in any order")); } private SealedFate(final SealedFate card) { diff --git a/Mage/src/main/java/mage/abilities/effects/common/LookLibraryAndPickControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LookLibraryAndPickControllerEffect.java index 3427d5c3e61..ddcb26dd4d3 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/LookLibraryAndPickControllerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/LookLibraryAndPickControllerEffect.java @@ -290,11 +290,15 @@ public class LookLibraryAndPickControllerEffect extends LookLibraryControllerEff return staticText; } StringBuilder sb = new StringBuilder(); - if (numberToPick.calculate(null, null, this) > 0) { - + int pickCount=numberToPick.calculate(null, null, this); + int cardCount=numberOfCards.calculate(null, null, this); + if (pickCount > 0) { if (revealPickedCards) { sb.append(". You may reveal "); - sb.append(filter.getMessage()).append(" from among them and put it into your "); + sb.append(filter.getMessage()); + sb.append(" from among them and put "); + sb.append(pickCount>1?"the revealed cards":"it"); + sb.append(" into your "); } else if (targetPickedCards == Zone.BATTLEFIELD) { sb.append(". "); if (optional) { @@ -305,15 +309,15 @@ public class LookLibraryAndPickControllerEffect extends LookLibraryControllerEff sb.append("ut ").append(filter.getMessage()).append(" from among them onto the "); } else { sb.append(". Put "); - if (numberToPick.calculate(null, null, this) > 1) { + if (pickCount > 1) { if (upTo) { - if (numberToPick.calculate(null, null, this) == (numberOfCards.calculate(null, null, this))) { + if (pickCount == (cardCount)) { sb.append("any number"); } else { - sb.append("up to ").append(CardUtil.numberToText(numberToPick.calculate(null, null, this))); + sb.append("up to ").append(CardUtil.numberToText(pickCount)); } } else { - sb.append(CardUtil.numberToText(numberToPick.calculate(null, null, this))); + sb.append(CardUtil.numberToText(pickCount)); } } else { sb.append("one"); @@ -324,19 +328,23 @@ public class LookLibraryAndPickControllerEffect extends LookLibraryControllerEff sb.append(targetPickedCards.toString().toLowerCase(Locale.ENGLISH)); if (targetZoneLookedCards == Zone.LIBRARY) { - sb.append(". Put the rest "); + sb.append(revealPickedCards?". Put ":" and "); + sb.append(cardCount-pickCount==1?"the other ":"the rest "); if (putOnTop) { sb.append("back on top"); } else { sb.append("on the bottom"); } - sb.append(" of your library in "); - if (anyOrder && !backInRandomOrder) { - sb.append("any"); - } else { - sb.append("a random"); + sb.append(" of your library"); + if (cardCount-pickCount>1) { + sb.append(" in "); + if (anyOrder && !backInRandomOrder) { + sb.append("any"); + } else { + sb.append("a random"); + } + sb.append(" order"); } - sb.append(" order"); } else if (targetZoneLookedCards == Zone.GRAVEYARD) { sb.append(" and the"); if (numberOfCards instanceof StaticValue && numberToPick instanceof StaticValue