From 0caaaa4205555e4f1de992116cb429eb1f230467 Mon Sep 17 00:00:00 2001 From: Dilnu Date: Wed, 16 Nov 2016 21:20:37 -0500 Subject: [PATCH] Fix AlternativeCostSourceAbility at the moment it doesn't apply it's filter early enough and so it has strange effects in certain edge cases. Specifically it allows Hypergenesis to be cast with Aluren and Kentaro. --- .../abilities/costs/AlternativeCostSourceAbility.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Mage/src/main/java/mage/abilities/costs/AlternativeCostSourceAbility.java b/Mage/src/main/java/mage/abilities/costs/AlternativeCostSourceAbility.java index f792a17cd45..65e1d4fabea 100644 --- a/Mage/src/main/java/mage/abilities/costs/AlternativeCostSourceAbility.java +++ b/Mage/src/main/java/mage/abilities/costs/AlternativeCostSourceAbility.java @@ -131,10 +131,10 @@ public class AlternativeCostSourceAbility extends StaticAbility implements Alter @Override public boolean isAvailable(Ability source, Game game) { - if (condition != null) { - return condition.apply(game, source); - } - return true; + boolean conditionApplies = condition == null || condition.apply(game, source); + boolean filterApplies = filter == null || filter.match(game.getCard(source.getSourceId()), game); + + return conditionApplies && filterApplies; } @Override