From 7afc17b514e30cbbfa55e259ba3241f7ba2b575a Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Sun, 8 Aug 2021 17:09:58 +0200 Subject: [PATCH] Clean up --- forge-game/src/main/java/forge/game/cost/CostPartMana.java | 2 ++ forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java | 1 + 2 files changed, 3 insertions(+) diff --git a/forge-game/src/main/java/forge/game/cost/CostPartMana.java b/forge-game/src/main/java/forge/game/cost/CostPartMana.java index 1f6cf9dad0c..e36f2780aee 100644 --- a/forge-game/src/main/java/forge/game/cost/CostPartMana.java +++ b/forge-game/src/main/java/forge/game/cost/CostPartMana.java @@ -155,6 +155,8 @@ public class CostPartMana extends CostPart { @Override public boolean payAsDecided(Player payer, PaymentDecision pd, SpellAbility sa) { + sa.clearManaPaid(); + // decision not used here, the whole payment is interactive! return payer.getController().payManaCost(this, sa, null, cardMatrix, true); } diff --git a/forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java b/forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java index 3389f1d5642..c4c20bfd096 100644 --- a/forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java +++ b/forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java @@ -144,6 +144,7 @@ public class HumanPlaySpellAbility { } } + // reset is also done early here, because if an ability is canceled from targeting it might otherwise lead to refunding mana from earlier cast ability.clearManaPaid(); // This line makes use of short-circuit evaluation of boolean values, that is each subsequent argument