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) {