diff --git a/src/main/java/forge/card/abilityFactory/AbilityFactory.java b/src/main/java/forge/card/abilityFactory/AbilityFactory.java index 475ca01037a..a313923cbbc 100644 --- a/src/main/java/forge/card/abilityFactory/AbilityFactory.java +++ b/src/main/java/forge/card/abilityFactory/AbilityFactory.java @@ -2142,7 +2142,7 @@ public class AbilityFactory { //check conditions if (AbilityFactory.checkConditional(sa)) { - if (params.get("UnlessCost") == null) { + if (params.get("UnlessCost") == null || sa.isWrapper()) { sa.resolve(); //try to resolve subabilities (see null check above) diff --git a/src/main/java/forge/gui/input/Input_PayManaCost_Ability.java b/src/main/java/forge/gui/input/Input_PayManaCost_Ability.java index 56145db656b..24ae1df1767 100644 --- a/src/main/java/forge/gui/input/Input_PayManaCost_Ability.java +++ b/src/main/java/forge/gui/input/Input_PayManaCost_Ability.java @@ -104,14 +104,16 @@ public class Input_PayManaCost_Ability extends Input { public void selectCard(Card card, PlayerZone zone) { //only tap card if the mana is needed manaCost = Input_PayManaCostUtil.activateManaAbility(fakeAbility, card, manaCost); - showMessage(); - + if (manaCost.isPaid()) { resetManaCost(); AllZone.getHumanPlayer().getManaPool().clearPay(fakeAbility, false); stop(); paidCommand.execute(); } + else{ + showMessage(); + } } /** {@inheritDoc} */