From 921da82197a2cd955341c1fba369a56db2bab6bf Mon Sep 17 00:00:00 2001 From: "marcin.sciesinski" Date: Wed, 2 Oct 2019 04:12:15 -0700 Subject: [PATCH] Fixing couple of bugs --- .../lotro/logic/timing/rules/PlayCardInPhaseRule.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/PlayCardInPhaseRule.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/PlayCardInPhaseRule.java index 78b6299f5..3ece27502 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/PlayCardInPhaseRule.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/PlayCardInPhaseRule.java @@ -3,6 +3,7 @@ package com.gempukku.lotro.logic.timing.rules; import com.gempukku.lotro.common.CardType; import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; +import com.gempukku.lotro.common.Side; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.AbstractActionProxy; import com.gempukku.lotro.game.PhysicalCard; @@ -39,10 +40,11 @@ public class PlayCardInPhaseRule { @Override public List getPhaseActions(String playerId, LotroGame game) { final Phase phase = game.getGameState().getCurrentPhase(); + Side side = GameUtils.getSide(game, playerId); if (phase == Phase.FELLOWSHIP) { if (GameUtils.isFP(game, playerId)) { List result = new LinkedList<>(); - for (PhysicalCard card : Filters.filter(game.getGameState().getHand(playerId), game, + for (PhysicalCard card : Filters.filter(game.getGameState().getHand(playerId), game, side, Filters.or(Filters.and(CardType.EVENT, Keyword.FELLOWSHIP), Filters.not(CardType.EVENT)))) { if (PlayUtils.checkPlayRequirements(game, card, Filters.any, 0, 0, false, false)) result.add(PlayUtils.getPlayCardAction(game, card, 0, Filters.any, false)); @@ -52,7 +54,7 @@ public class PlayCardInPhaseRule { } else if (phase == Phase.SHADOW) { if (GameUtils.isShadow(game, playerId)) { List result = new LinkedList<>(); - for (PhysicalCard card : Filters.filter(game.getGameState().getHand(playerId), game, + for (PhysicalCard card : Filters.filter(game.getGameState().getHand(playerId), game, side, Filters.or(Filters.and(CardType.EVENT, Keyword.SHADOW), Filters.not(CardType.EVENT)))) { if (PlayUtils.checkPlayRequirements(game, card, Filters.any, 0, 0, false, false)) result.add(PlayUtils.getPlayCardAction(game, card, 0, Filters.any, false)); @@ -63,7 +65,7 @@ public class PlayCardInPhaseRule { final Keyword phaseKeyword = phaseKeywordMap.get(game.getGameState().getCurrentPhase()); if (phaseKeyword != null) { List result = new LinkedList<>(); - for (PhysicalCard card : Filters.filter(game.getGameState().getHand(playerId), game, + for (PhysicalCard card : Filters.filter(game.getGameState().getHand(playerId), game, side, Filters.and(CardType.EVENT, phaseKeyword))) { if (PlayUtils.checkPlayRequirements(game, card, Filters.any, 0, 0, false, false)) result.add(PlayUtils.getPlayCardAction(game, card, 0, Filters.any, false));