diff --git a/Mage/src/mage/util/CardUtil.java b/Mage/src/mage/util/CardUtil.java index ff977b7ab43..86ae7e76529 100644 --- a/Mage/src/mage/util/CardUtil.java +++ b/Mage/src/mage/util/CardUtil.java @@ -32,14 +32,15 @@ import java.util.Iterator; import mage.Constants; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.Mode; import mage.abilities.SpellAbility; import mage.abilities.costs.AlternativeCost; import mage.abilities.costs.AlternativeCostImpl; +import mage.abilities.costs.VariableCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.ManaCost; import mage.abilities.costs.mana.ManaCosts; import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.costs.mana.VariableManaCost; import mage.cards.Card; import mage.game.permanent.token.Token; import mage.util.functions.CopyFunction; @@ -207,6 +208,13 @@ public class CardUtil { public static void adjustCost(SpellAbility spellAbility, ManaCosts manaCostsToReduce) { ManaCosts previousCost = spellAbility.getManaCostsToPay(); ManaCosts adjustedCost = new ManaCostsImpl(); + // save X value (e.g. convoke ability) + for (VariableCost vCost: previousCost.getVariableCosts()) { + if (vCost instanceof VariableManaCost) { + adjustedCost.add((VariableManaCost) vCost); + } + } + Mana reduceMana = new Mana(); for (ManaCost manaCost : manaCostsToReduce) {