diff --git a/Mage.Sets/src/mage/sets/magic2014/HuntTheWeak.java b/Mage.Sets/src/mage/sets/magic2014/HuntTheWeak.java index e5154b5d08b..d4c5748accd 100644 --- a/Mage.Sets/src/mage/sets/magic2014/HuntTheWeak.java +++ b/Mage.Sets/src/mage/sets/magic2014/HuntTheWeak.java @@ -28,20 +28,16 @@ package mage.sets.magic2014; import java.util.UUID; -import mage.abilities.Ability; import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.FightTargetsEffect; import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.constants.CardType; -import mage.constants.Outcome; import mage.constants.Rarity; import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; -import mage.game.Game; import mage.target.Target; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; diff --git a/Mage.Sets/src/mage/sets/returntoravnica/GrislySalvage.java b/Mage.Sets/src/mage/sets/returntoravnica/GrislySalvage.java index c44564017fb..5568886ce19 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/GrislySalvage.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/GrislySalvage.java @@ -74,6 +74,11 @@ public class GrislySalvage extends CardImpl { } class GrislySalvageEffect extends OneShotEffect { + private static final FilterCard filterPutInHand = new FilterCard("creature or land card to put in hand"); + static { + filterPutInHand.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND))); + } + public GrislySalvageEffect() { super(Outcome.DrawCard); this.staticText = "Reveal the top five cards of your library. You may put a creature or land card from among them into your hand. Put the rest into your graveyard"; @@ -100,7 +105,7 @@ class GrislySalvageEffect extends OneShotEffect { Card card = player.getLibrary().removeFromTop(game); if (card != null) { cards.add(card); - if (card.getCardType().contains(CardType.CREATURE) || card.getCardType().contains(CardType.LAND)) { + if (filterPutInHand.match(card, source.getSourceId(), source.getControllerId(), game)) { properCardFound = true; } } @@ -108,9 +113,7 @@ class GrislySalvageEffect extends OneShotEffect { if (!cards.isEmpty()) { player.revealCards("Grisly Salvage", cards, game); - FilterCard filter = new FilterCard("creature or land card to put in hand"); - filter.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND))); - TargetCard target = new TargetCard(Zone.PICK, filter); + TargetCard target = new TargetCard(Zone.PICK, filterPutInHand); if (properCardFound && player.choose(Outcome.DrawCard, cards, target, game)) { Card card = game.getCard(target.getFirstTarget()); if (card != null) { @@ -131,4 +134,4 @@ class GrislySalvageEffect extends OneShotEffect { } return false; } -} \ No newline at end of file +} diff --git a/Mage/src/mage/abilities/effects/common/LookLibraryControllerEffect.java b/Mage/src/mage/abilities/effects/common/LookLibraryControllerEffect.java index 80f0cbf11e7..71d01961c52 100644 --- a/Mage/src/mage/abilities/effects/common/LookLibraryControllerEffect.java +++ b/Mage/src/mage/abilities/effects/common/LookLibraryControllerEffect.java @@ -175,7 +175,7 @@ public class LookLibraryControllerEffect extends OneShotEffect 1){ + if (target.getNumberOfTargets() < target.getMaxNumberOfTargets()) { + sb.append("Up to "); + } + sb.append(CardUtil.numberToText(target.getMaxNumberOfTargets())).append(" target ").append(target.getTargetName()).append(" each become "); + } else { + sb.append("Target ").append(target.getTargetName()).append(" becomes a "); + } + sb.append(token.getDescription()); sb.append(" ").append(duration.toString()); - if (type != null && type.length() > 0) - sb.append(". It's still a ").append(type); + if (type != null && type.length() > 0) { + if (target.getMaxNumberOfTargets() > 1) { + sb.append(". They're still ").append(type); + } else { + sb.append(". It's still a ").append(type); + } + } return sb.toString(); } diff --git a/Mage/src/mage/abilities/effects/common/continious/LoseCreatureTypeSourceEffect.java b/Mage/src/mage/abilities/effects/common/continious/LoseCreatureTypeSourceEffect.java index dfdc2c7ff76..852a3213dd8 100644 --- a/Mage/src/mage/abilities/effects/common/continious/LoseCreatureTypeSourceEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/LoseCreatureTypeSourceEffect.java @@ -100,7 +100,7 @@ public class LoseCreatureTypeSourceEffect extends ContinuousEffectImpl> extends ActivatedAbi if (effect != null) { this.addEffect(effect); } - if (cost != null) + if (cost != null) { this.addCost(cost); + } } public ManaAbility(ManaAbility ability) { @@ -63,8 +64,9 @@ public abstract class ManaAbility> extends ActivatedAbi @Override public boolean canActivate(UUID playerId, Game game) { - if (!controlsAbility(playerId, game)) + if (!controlsAbility(playerId, game)) { return false; + } //20091005 - 605.3a return costs.canPay(sourceId, controllerId, game); }