From d626b072cd2048be0c79a4f4a4cde3d225cbb60d Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 24 Apr 2016 12:34:35 +0200 Subject: [PATCH] * Myr Superion - Fixed that its mana costs could not be decreased by convoke. --- Mage.Sets/src/mage/sets/newphyrexia/MyrSuperion.java | 4 ++-- Mage/src/main/java/mage/players/ManaPool.java | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Mage.Sets/src/mage/sets/newphyrexia/MyrSuperion.java b/Mage.Sets/src/mage/sets/newphyrexia/MyrSuperion.java index 4eb8127c2e0..99ee8fe07ef 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/MyrSuperion.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/MyrSuperion.java @@ -35,7 +35,7 @@ import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Rarity; import mage.constants.Zone; -import mage.filter.common.FilterCreatureCard; +import mage.filter.common.FilterCreaturePermanent; /** * @@ -43,7 +43,7 @@ import mage.filter.common.FilterCreatureCard; */ public class MyrSuperion extends CardImpl { - private static FilterCreatureCard filter = new FilterCreatureCard(); + private static FilterCreaturePermanent filter = new FilterCreaturePermanent(); public MyrSuperion(UUID ownerId) { super(ownerId, 146, "Myr Superion", Rarity.RARE, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}"); diff --git a/Mage/src/main/java/mage/players/ManaPool.java b/Mage/src/main/java/mage/players/ManaPool.java index 0655b19af9b..0fd3ebad7e7 100644 --- a/Mage/src/main/java/mage/players/ManaPool.java +++ b/Mage/src/main/java/mage/players/ManaPool.java @@ -47,6 +47,7 @@ import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; import mage.game.events.ManaEvent; +import mage.game.stack.Spell; /** * @@ -130,7 +131,10 @@ public class ManaPool implements Serializable { for (ManaPoolItem mana : manaItems) { if (filter != null) { if (!filter.match(mana.getSourceObject(), game)) { - continue; + // Prevent that cost reduction by convoke is filtered out + if (!(mana.getSourceObject() instanceof Spell) || ability.getSourceId().equals(mana.getSourceId())) { + continue; + } } } if (!manaType.equals(unlockedManaType) && autoPayment && autoPaymentRestricted && mana.count() == mana.getStock()) {