From a942894fd7cbcdaa9384a7ae77b20eb61666d79c Mon Sep 17 00:00:00 2001 From: Sloth Date: Wed, 6 Feb 2013 13:52:30 +0000 Subject: [PATCH] - Fixed AI ignoring "DiscardValid" parameter. --- .../forge/card/abilityfactory/effects/DiscardEffect.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/forge/card/abilityfactory/effects/DiscardEffect.java b/src/main/java/forge/card/abilityfactory/effects/DiscardEffect.java index 6c59f2564d5..afcff93983d 100644 --- a/src/main/java/forge/card/abilityfactory/effects/DiscardEffect.java +++ b/src/main/java/forge/card/abilityfactory/effects/DiscardEffect.java @@ -85,12 +85,13 @@ public class DiscardEffect extends RevealEffectBase { } // discardStackDescription() private List discardComputerChooses(SpellAbility sa, Player victim, Player chooser, int numCards, String[] dValid, boolean isReveal){ - // AI - final List dPChHand = new ArrayList(victim.getCardsIn(ZoneType.Hand)); + final Card source = sa.getSourceCard(); + List dPChHand = new ArrayList(victim.getCardsIn(ZoneType.Hand)); + dPChHand = CardLists.getValidCards(dPChHand, dValid, source.getController(), source); final List discarded = new ArrayList(); if (victim.isComputer()) { // discard AI cards - int max = chooser.getCardsIn(ZoneType.Hand).size(); + int max = dPChHand.size(); max = Math.min(max, numCards); List list = ((AIPlayer)victim).getAi().getCardsToDiscard(max, dValid, sa); if (isReveal) {