From 63cc27811157e3fe42ac143ec21c1ec7fb70a54a Mon Sep 17 00:00:00 2001 From: Sloth Date: Tue, 28 Oct 2014 08:16:00 +0000 Subject: [PATCH] - Fixed triggers with costs being optional (and not every trigger). --- .../src/main/java/forge/game/trigger/TriggerHandler.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java index c7028d49fd0..7fe7daf928e 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java @@ -31,6 +31,7 @@ import forge.game.card.CardUtil; import forge.game.phase.PhaseType; import forge.game.player.Player; import forge.game.spellability.Ability; +import forge.game.spellability.AbilitySub; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.zone.ZoneType; @@ -470,7 +471,7 @@ public class TriggerHandler { sa.setOptionalTrigger(true); decider = AbilityUtils.getDefinedPlayers(host, triggerParams.get("OptionalDecider"), sa).get(0); } - else if (sa.getPayCosts() == null || sa.getPayCosts().getCostParts().isEmpty()) { + else if (sa instanceof AbilitySub || !sa.hasParam("Cost") || sa.getParam("Cost").equals("0")) { mand = true; } else { // triggers with a cost can't be mandatory