diff --git a/Mage.Sets/src/mage/sets/gatecrash/ParanoidDelusions.java b/Mage.Sets/src/mage/sets/gatecrash/ParanoidDelusions.java index 20bea56db15..14bfbbb88ac 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/ParanoidDelusions.java +++ b/Mage.Sets/src/mage/sets/gatecrash/ParanoidDelusions.java @@ -50,7 +50,7 @@ public class ParanoidDelusions extends CardImpl { // Target player puts the top three cards of his or her library into his or her graveyard. this.getSpellAbility().addEffect(new PutLibraryIntoGraveTargetEffect(3)); - this.getSpellAbility().addTarget(new TargetPlayer()); + this.getSpellAbility().addTarget(new TargetPlayer(true)); // Cipher this.getSpellAbility().addEffect(new CipherEffect()); } diff --git a/Mage.Sets/src/mage/sets/gatecrash/SoulRansom.java b/Mage.Sets/src/mage/sets/gatecrash/SoulRansom.java index a5904d83d05..1d88ede60e3 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/SoulRansom.java +++ b/Mage.Sets/src/mage/sets/gatecrash/SoulRansom.java @@ -64,7 +64,7 @@ public class SoulRansom extends CardImpl { // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Constants.Outcome.AddAbility)); + this.getSpellAbility().addEffect(new AttachEffect(Constants.Outcome.GainControl)); Ability ability = new EnchantAbility(auraTarget.getTargetName()); this.addAbility(ability); // You control enchanted creature. @@ -72,7 +72,7 @@ public class SoulRansom extends CardImpl { // Discard two cards: Soul Ransom's controller sacrifices it, then draws two cards. Only any opponent may activate this ability. Effect effect = new SacrificeSourceEffect(); - effect.setText("{this}'s controller sacrifices it."); + effect.setText("{this}'s controller sacrifices it"); SimpleActivatedAbility ability2 = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, effect , new DiscardTargetCost(new TargetCardInHand(2,2, new FilterCard("two cards")))); effect = new DrawCardControllerEffect(2); effect.setText("Then draws two cards. Only any opponent may activate this ability"); diff --git a/Mage.Sets/src/mage/sets/innistrad/SnapcasterMage.java b/Mage.Sets/src/mage/sets/innistrad/SnapcasterMage.java index 48b0cb81221..d4b16f79b2e 100644 --- a/Mage.Sets/src/mage/sets/innistrad/SnapcasterMage.java +++ b/Mage.Sets/src/mage/sets/innistrad/SnapcasterMage.java @@ -36,6 +36,7 @@ import mage.Constants.Rarity; import mage.Constants.SubLayer; import mage.Constants.TimingRule; import mage.MageInt; +import mage.MageObject; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.ContinuousEffectImpl; @@ -110,7 +111,8 @@ class SnapcasterMageEffect extends ContinuousEffectImpl { @Override public boolean apply(Game game, Ability source) { Card card = game.getCard(targetPointer.getFirst(game, source)); - if (card != null) { + MageObject sourceObject = game.getObject(source.getSourceId()); + if (card != null && sourceObject != null) { FlashbackAbility ability; if (card.getCardType().contains(CardType.INSTANT)) ability = new FlashbackAbility(card.getManaCost(), TimingRule.INSTANT); @@ -119,6 +121,7 @@ class SnapcasterMageEffect extends ContinuousEffectImpl { ability.setSourceId(card.getId()); ability.setControllerId(card.getOwnerId()); game.getState().addOtherAbility(card.getId(), ability); + game.informPlayers(new StringBuilder(sourceObject.getName()).append(" gained Flashback to ").append(card.getName()).toString()); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/returntoravnica/UltimatePrice.java b/Mage.Sets/src/mage/sets/returntoravnica/UltimatePrice.java index 815caef5b98..bf7470468a4 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/UltimatePrice.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/UltimatePrice.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.MonocoloredPredicate; +import mage.target.Target; import mage.target.common.TargetCreaturePermanent; /** @@ -55,7 +56,9 @@ public class UltimatePrice extends CardImpl { this.color.setBlack(true); // Destroy target monocolored creature. - this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); + Target target = new TargetCreaturePermanent(filter); + target.setRequired(true); + this.getSpellAbility().addTarget(target); this.getSpellAbility().addEffect(new DestroyTargetEffect()); } @@ -68,4 +71,4 @@ public class UltimatePrice extends CardImpl { public UltimatePrice copy() { return new UltimatePrice(this); } -} \ No newline at end of file +}