diff --git a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/BoundByMoonsilver.java b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/BoundByMoonsilver.java index 5555e0d554..c77e4216eb 100644 --- a/Mage.Sets/src/mage/sets/shadowsoverinnistrad/BoundByMoonsilver.java +++ b/Mage.Sets/src/mage/sets/shadowsoverinnistrad/BoundByMoonsilver.java @@ -34,17 +34,19 @@ import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.Effect; import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.CantAttackBlockTransformAttachedEffect; import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Rarity; -import mage.constants.Zone; -import mage.target.TargetPermanent; -import mage.target.common.TargetCreaturePermanent; -import mage.abilities.effects.common.CantAttackBlockTransformAttachedEffect; import mage.constants.TimingRule; +import mage.constants.Zone; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.permanent.AnotherPredicate; +import mage.target.TargetPermanent; import mage.target.common.TargetControlledPermanent; +import mage.target.common.TargetCreaturePermanent; /** * @@ -52,6 +54,12 @@ import mage.target.common.TargetControlledPermanent; */ public class BoundByMoonsilver extends CardImpl { + private final static FilterControlledPermanent filter = new FilterControlledPermanent("another permanent"); + + static { + filter.add(new AnotherPredicate()); + } + public BoundByMoonsilver(UUID ownerId) { super(ownerId, 7, "Bound by Moonsilver", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}"); this.expansionSetCode = "SOI"; @@ -71,7 +79,7 @@ public class BoundByMoonsilver extends CardImpl { // Sacrifice another permanent: Attach Bound by Moonsilver to target creature. Activate this ability only any time you could cast a sorcery and only once each turn. LimitedTimesPerTurnActivatedAbility limitedAbility = new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new AttachEffect(Outcome.Detriment, "Attach {this} to target creature"), - new SacrificeTargetCost(new TargetControlledPermanent()), 1); + new SacrificeTargetCost(new TargetControlledPermanent(filter)), 1); limitedAbility.setTiming(TimingRule.SORCERY); limitedAbility.addTarget(new TargetCreaturePermanent()); this.addAbility(limitedAbility); diff --git a/Mage/src/main/java/mage/abilities/common/LimitedTimesPerTurnActivatedAbility.java b/Mage/src/main/java/mage/abilities/common/LimitedTimesPerTurnActivatedAbility.java index 1d11c10c13..823a4ce22d 100644 --- a/Mage/src/main/java/mage/abilities/common/LimitedTimesPerTurnActivatedAbility.java +++ b/Mage/src/main/java/mage/abilities/common/LimitedTimesPerTurnActivatedAbility.java @@ -32,6 +32,7 @@ import mage.abilities.ActivatedAbilityImpl; import mage.abilities.condition.Condition; import mage.abilities.costs.Cost; import mage.abilities.effects.Effect; +import mage.constants.TimingRule; import mage.constants.Zone; import mage.game.Game; import mage.util.CardUtil; @@ -119,6 +120,9 @@ public class LimitedTimesPerTurnActivatedAbility extends ActivatedAbilityImpl { if (condition != null) { sb.append("only ").append(condition.toString()).append(" and "); } + if (getTiming().equals(TimingRule.SORCERY)) { + sb.append("only any time you could cast a sorcery and "); + } switch (maxActivationsPerTurn) { case 1: sb.append("only once");