From d6789fa383e7c439c174eea10a0a7e58e1406e0d Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 6 Feb 2014 01:06:40 +0100 Subject: [PATCH] Some minor fixes to Valakut, the molten Pinnacle and Scapeshift (text, target handling, optionality). --- .../src/mage/sets/morningtide/Scapeshift.java | 15 +++++------- .../zendikar/ValakutTheMoltenPinnacle.java | 23 ++++++++++--------- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/Mage.Sets/src/mage/sets/morningtide/Scapeshift.java b/Mage.Sets/src/mage/sets/morningtide/Scapeshift.java index 55a6db56258..068639960af 100644 --- a/Mage.Sets/src/mage/sets/morningtide/Scapeshift.java +++ b/Mage.Sets/src/mage/sets/morningtide/Scapeshift.java @@ -96,27 +96,24 @@ class ScapeshiftEffect extends OneShotEffect { return false; } int amount = 0; - TargetControlledPermanent sacrificeLand = new TargetControlledPermanent(0, Integer.MAX_VALUE, new FilterControlledLandPermanent(), true); + TargetControlledPermanent sacrificeLand = new TargetControlledPermanent(0, Integer.MAX_VALUE, new FilterControlledLandPermanent("lands you control"), true); if(player.chooseTarget(Outcome.Sacrifice, sacrificeLand, source, game)){ for(Object uuid : sacrificeLand.getTargets()){ Permanent land = game.getPermanent((UUID)uuid); if(land != null){ - land.sacrifice(source.getId(), game); + land.sacrifice(source.getSourceId(), game); amount++; } } } - TargetCardInLibrary target = new TargetCardInLibrary(amount, new FilterLandCard()); + TargetCardInLibrary target = new TargetCardInLibrary(amount, new FilterLandCard("lands")); + target.setRequired(true); if (player.searchLibrary(target, game)) { if (target.getTargets().size() > 0) { for (UUID cardId: (List)target.getTargets()) { Card card = player.getLibrary().getCard(cardId, game); if (card != null) { - if (card.putOntoBattlefield(game, Zone.LIBRARY, source.getId(), source.getControllerId())) { - Permanent permanent = game.getPermanent(card.getId()); - if (permanent != null) - permanent.setTapped(true); - } + card.putOntoBattlefield(game, Zone.LIBRARY, source.getSourceId(), source.getControllerId(), true); } } } @@ -127,4 +124,4 @@ class ScapeshiftEffect extends OneShotEffect { return false; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/sets/zendikar/ValakutTheMoltenPinnacle.java b/Mage.Sets/src/mage/sets/zendikar/ValakutTheMoltenPinnacle.java index b1ae43a4a90..08de03df366 100644 --- a/Mage.Sets/src/mage/sets/zendikar/ValakutTheMoltenPinnacle.java +++ b/Mage.Sets/src/mage/sets/zendikar/ValakutTheMoltenPinnacle.java @@ -29,15 +29,15 @@ package mage.sets.zendikar; import java.util.UUID; -import mage.constants.CardType; -import mage.constants.Rarity; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.TargetController; +import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.filter.predicate.permanent.ControllerPredicate; @@ -86,8 +86,8 @@ public class ValakutTheMoltenPinnacle extends CardImpl class ValakutTheMoltenPinnacleTriggeredAbility extends TriggeredAbilityImpl { ValakutTheMoltenPinnacleTriggeredAbility () { - super(Zone.BATTLEFIELD, new DamageTargetEffect(3)); - this.addTarget(new TargetCreatureOrPlayer()); + super(Zone.BATTLEFIELD, new DamageTargetEffect(3), true); + this.addTarget(new TargetCreatureOrPlayer(true)); } ValakutTheMoltenPinnacleTriggeredAbility(ValakutTheMoltenPinnacleTriggeredAbility ability) { @@ -95,16 +95,17 @@ class ValakutTheMoltenPinnacleTriggeredAbility extends TriggeredAbilityImpl 5; + } + @Override + public boolean checkTrigger(GameEvent event, Game game) { if (event.getType() == EventType.ENTERS_THE_BATTLEFIELD) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent.getCardType().contains(CardType.LAND) && permanent.getControllerId().equals(this.getControllerId())) { if(permanent.hasSubtype("Mountain")){ - int count = game.getBattlefield().count(ValakutTheMoltenPinnacle.filter, getSourceId(), getControllerId(), game); - if(count > 5){ - return true; - } + return true; } } }