From dec4794fbc8d76fda17f95b664a41d6b0e1b339c Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 29 Aug 2013 23:07:20 +0200 Subject: [PATCH] * Butcher of Malakir - Fixed that ability triggers for any dying creature instead of only controlled creatures. --- .../mage/sets/worldwake/ButcherOfMalakir.java | 28 ++++++------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/Mage.Sets/src/mage/sets/worldwake/ButcherOfMalakir.java b/Mage.Sets/src/mage/sets/worldwake/ButcherOfMalakir.java index 58925518f46..34217adbf57 100644 --- a/Mage.Sets/src/mage/sets/worldwake/ButcherOfMalakir.java +++ b/Mage.Sets/src/mage/sets/worldwake/ButcherOfMalakir.java @@ -27,28 +27,24 @@ */ package mage.sets.worldwake; -import java.util.Set; import java.util.UUID; - -import mage.constants.CardType; -import mage.constants.Rarity; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.DiesThisOrAnotherCreatureTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; +import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.Rarity; import mage.constants.TargetController; -import mage.filter.common.FilterControlledPermanent; import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.CardTypePredicate; import mage.filter.predicate.permanent.ControllerPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.Target; -import mage.target.common.TargetControlledPermanent; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -57,6 +53,9 @@ import mage.target.common.TargetControlledPermanent; public class ButcherOfMalakir extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature you control"); + static { + filter.add(new ControllerPredicate(TargetController.YOU)); + } public ButcherOfMalakir(UUID ownerId) { super(ownerId, 53, "Butcher of Malakir", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{5}{B}{B}"); @@ -102,22 +101,13 @@ class ButcherOfMalakirEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - FilterControlledPermanent filter = new FilterControlledPermanent("creature you control"); - filter.add(new CardTypePredicate(CardType.CREATURE)); - filter.add(new ControllerPredicate(TargetController.YOU)); - - Set opponents = game.getOpponents(source.getControllerId()); - for (UUID opponentId : opponents) { + for (UUID opponentId : game.getOpponents(source.getControllerId())) { Player player = game.getPlayer(opponentId); - Target target = new TargetControlledPermanent(filter); + Target target = new TargetControlledCreaturePermanent(true); if (target.canChoose(player.getId(), game)) { - while (!target.isChosen() && target.canChoose(player.getId(), game)) { - player.choose(Outcome.Sacrifice, target, source.getSourceId(), game); - } - + player.choose(Outcome.Sacrifice, target, source.getSourceId(), game); Permanent permanent = game.getPermanent(target.getFirstTarget()); - if (permanent != null) { permanent.sacrifice(source.getSourceId(), game); }