From da3c153a107b2bfa64cf8597cf0c2ba068f30b3c Mon Sep 17 00:00:00 2001 From: Plopman Date: Tue, 13 Aug 2013 19:04:35 +0200 Subject: [PATCH] Fixed FilterCard with splitcard --- Mage/src/mage/filter/FilterCard.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Mage/src/mage/filter/FilterCard.java b/Mage/src/mage/filter/FilterCard.java index bc34734d1e7..db08ae6c743 100644 --- a/Mage/src/mage/filter/FilterCard.java +++ b/Mage/src/mage/filter/FilterCard.java @@ -33,6 +33,7 @@ import java.util.List; import java.util.Set; import java.util.UUID; import mage.cards.Card; +import mage.cards.SplitCard; import mage.filter.predicate.ObjectPlayer; import mage.filter.predicate.ObjectPlayerPredicate; import mage.filter.predicate.ObjectSourcePlayer; @@ -62,6 +63,26 @@ public class FilterCard extends FilterObject { this.extraPredicates = new ArrayList>>(filter.extraPredicates); } + //20130711 708.6c + /* If anything performs a comparison involving multiple characteristics or + * values of one or more split cards in any zone other than the stack or + * involving multiple characteristics or values of one or more fused split + * spells, each characteristic or value is compared separately. If each of + * the individual comparisons would return a “yes” answer, the whole + * comparison returns a “yes” answer. The individual comparisons may involve + * different halves of the same split card. + */ + + @Override + public boolean match(Card card, Game game) { + if(card.isSplitCard()){ + return super.match(((SplitCard)card).getLeftHalfCard(), game) || + super.match(((SplitCard)card).getRightHalfCard(), game); + } + else{ + return super.match(card, game); + } + } public boolean match(Card card, UUID playerId, Game game) { if (!this.match(card, game)) { return false;