diff --git a/forge-game/src/main/java/forge/game/combat/CombatUtil.java b/forge-game/src/main/java/forge/game/combat/CombatUtil.java index 3b07aa6bbf4..f22e51f1576 100644 --- a/forge-game/src/main/java/forge/game/combat/CombatUtil.java +++ b/forge-game/src/main/java/forge/game/combat/CombatUtil.java @@ -986,8 +986,22 @@ public class CombatUtil { } } + // Not a great solution, but prevents a crash by passing a fake SA for Propaganda payments + // If there's a better way of handling this somewhere deeper in the code, feel free to remove + SpellAbility fakeSA = new SpellAbility(c, attackCost) { + @Override + public boolean canPlay() { + return false; + } + + @Override + public void resolve() { + + } + }; + boolean isFree = attackCost.getTotalMana().isZero() && attackCost.isOnlyManaCost(); // true if needless to pay - return isFree || c.getController().getController().payManaOptional(c, attackCost, null, "Pay additional cost to declare " + c + " an attacker", ManaPaymentPurpose.DeclareAttacker); + return isFree || c.getController().getController().payManaOptional(c, attackCost, fakeSA, "Pay additional cost to declare " + c + " an attacker", ManaPaymentPurpose.DeclareAttacker); } /**