From 441b6bc2e933e1ac4da2c5799892b7ceb4365146 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sun, 19 Mar 2017 11:20:37 +0100 Subject: [PATCH] Fixed AI handling of cost reduction of reductions defined with "up to" causing game locks. --- .../effects/common/cost/SpellsCostReductionAllEffect.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostReductionAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostReductionAllEffect.java index e63c115b7ed..dd47a9e0e7e 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostReductionAllEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/cost/SpellsCostReductionAllEffect.java @@ -31,6 +31,7 @@ import java.util.LinkedHashSet; import java.util.Set; import mage.Mana; import mage.abilities.Ability; +import mage.abilities.ActivatedAbility; import mage.abilities.SpellAbility; import mage.cards.Card; import mage.choices.ChoiceImpl; @@ -85,6 +86,12 @@ public class SpellsCostReductionAllEffect extends CostModificationEffectImpl { @Override public boolean apply(Game game, Ability source, Ability abilityToModify) { if (upTo) { + if (abilityToModify instanceof ActivatedAbility) { + if (((ActivatedAbility) abilityToModify).isCheckPlayableMode()) { + CardUtil.reduceCost(abilityToModify, this.amount); + return true; + } + } Mana mana = abilityToModify.getManaCostsToPay().getMana(); int reduceMax = mana.getGeneric(); if (reduceMax > 2) {