diff --git a/Mage.Sets/src/mage/sets/bornofthegods/UnravelTheAEther.java b/Mage.Sets/src/mage/sets/bornofthegods/UnravelTheAEther.java index 94705d2208..fd87b5d72d 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/UnravelTheAEther.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/UnravelTheAEther.java @@ -53,17 +53,16 @@ public class UnravelTheAEther extends CardImpl { static { filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), - new CardTypePredicate(CardType.ENCHANTMENT))); + new CardTypePredicate(CardType.ENCHANTMENT))); } public UnravelTheAEther(UUID ownerId) { super(ownerId, 143, "Unravel the AEther", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{1}{G}"); this.expansionSetCode = "BNG"; - // Choose target artifact or enchantment. Its owner shuffles it into his or her library. this.getSpellAbility().addEffect(new UnravelTheAEtherShuffleIntoLibraryEffect()); - Target target = new TargetPermanent(1,1,filter,true); + Target target = new TargetPermanent(1, 1, filter, false); this.getSpellAbility().addTarget(target); } @@ -76,6 +75,7 @@ public class UnravelTheAEther extends CardImpl { return new UnravelTheAEther(this); } } + class UnravelTheAEtherShuffleIntoLibraryEffect extends OneShotEffect { public UnravelTheAEtherShuffleIntoLibraryEffect() { @@ -96,7 +96,7 @@ class UnravelTheAEtherShuffleIntoLibraryEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source)); if (permanent != null) { - if (permanent.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true) ) { + if (permanent.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true)) { game.getPlayer(permanent.getOwnerId()).shuffleLibrary(game); return true; } diff --git a/Mage.Sets/src/mage/sets/ravnica/StoneSeederHierophant.java b/Mage.Sets/src/mage/sets/ravnica/StoneSeederHierophant.java index b6aeee6f40..8f33f38ad1 100644 --- a/Mage.Sets/src/mage/sets/ravnica/StoneSeederHierophant.java +++ b/Mage.Sets/src/mage/sets/ravnica/StoneSeederHierophant.java @@ -58,8 +58,8 @@ public class StoneSeederHierophant extends CardImpl { this.toughness = new MageInt(1); // Whenever a land enters the battlefield under your control, untap Stone-Seeder Hierophant. - this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new FilterLandPermanent("a land"), false)); - + this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new FilterLandPermanent("a land"), false, null, true)); + // {tap}: Untap target land. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new TapSourceCost()); Target target = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/InduceDespair.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/InduceDespair.java index 24b5f55f6a..5719b94007 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/InduceDespair.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/InduceDespair.java @@ -28,33 +28,35 @@ package mage.sets.riseoftheeldrazi; import java.util.UUID; - -import mage.constants.*; import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.RevealTargetFromHandCost; +import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Rarity; import mage.filter.common.FilterCreatureCard; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCardInHand; import mage.target.common.TargetCreaturePermanent; +import mage.target.targetpointer.FixedTarget; /** * * @author jeffwadsworth */ public class InduceDespair extends CardImpl { - + private static final FilterCreatureCard filter = new FilterCreatureCard("creature card from your hand"); public InduceDespair(UUID ownerId) { super(ownerId, 114, "Induce Despair", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{2}{B}"); this.expansionSetCode = "ROE"; - // As an additional cost to cast Induce Despair, reveal a creature card from your hand. // Target creature gets -X/-X until end of turn, where X is the revealed card's converted mana cost. this.getSpellAbility().addEffect(new InduceDespairEffect()); @@ -87,13 +89,14 @@ class InduceDespairEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { RevealTargetFromHandCost cost = (RevealTargetFromHandCost) source.getCosts().get(0); Permanent creature = game.getPermanent(targetPointer.getFirst(game, source)); - if (cost != null) { - int CMC = -1 * cost.convertedManaCosts; - if (creature != null) { - creature.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(CMC, CMC, Duration.EndOfTurn)), source.getSourceId(), game, false); - } + if (cost != null && creature != null) { + int cmcBoost = -1 * cost.convertedManaCosts; + ContinuousEffect effect = new BoostTargetEffect(cmcBoost, cmcBoost, Duration.EndOfTurn); + effect.setTargetPointer(new FixedTarget(creature.getId(), creature.getZoneChangeCounter(game))); + game.addEffect(effect, source); + return true; } - return true; + return false; } @Override diff --git a/Mage.Sets/src/mage/sets/urzaslegacy/TickingGnomes.java b/Mage.Sets/src/mage/sets/urzaslegacy/TickingGnomes.java index e995616108..c4458d3f39 100644 --- a/Mage.Sets/src/mage/sets/urzaslegacy/TickingGnomes.java +++ b/Mage.Sets/src/mage/sets/urzaslegacy/TickingGnomes.java @@ -28,9 +28,6 @@ package mage.sets.urzaslegacy; import java.util.UUID; - -import mage.constants.CardType; -import mage.constants.Rarity; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -38,6 +35,8 @@ import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -60,6 +59,7 @@ public class TickingGnomes extends CardImpl { // Sacrifice Ticking Gnomes: Ticking Gnomes deals 1 damage to target creature or player. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new SacrificeSourceCost()); ability.addTarget(new TargetCreatureOrPlayer()); + this.addAbility(ability); } public TickingGnomes(final TickingGnomes card) {