From 3f7a8a48c8f3e03f973c506e0aba6aef81b9c1f2 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Mon, 5 Sep 2011 19:48:51 +0000 Subject: [PATCH] Some first fixes. --- .../com/gempukku/lotro/cards/set1/elven/Card1_048.java | 3 ++- .../com/gempukku/lotro/logic/modifiers/ModifiersLogic.java | 4 ++-- .../gempukku/lotro/logic/modifiers/ModifiersQuerying.java | 3 ++- .../pregame/PlayerPlaysStartingFellowshipGameProcess.java | 4 +++- .../main/java/com/gempukku/lotro/LotroGameMediator.java | 7 ++----- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_048.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_048.java index 573924175..80954a4c7 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_048.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_048.java @@ -31,7 +31,8 @@ public class Card1_048 extends AbstractCompanion { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.ELF)); + return super.checkPlayRequirements(playerId, game, self) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.ELF)); } @Override diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java index 7d29ea146..8f218793a 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersLogic.java @@ -128,8 +128,8 @@ public class ModifiersLogic implements ModifiersEnvironment, ModifiersQuerying { } @Override - public List getModifiersAffecting(GameState gameState, PhysicalCard card) { - List result = new LinkedList(); + public Collection getModifiersAffecting(GameState gameState, PhysicalCard card) { + Set result = new HashSet(); for (List modifiers : _modifiers.values()) { for (Modifier modifier : modifiers) { if (affectsCardWithSkipSet(gameState, card, modifier)) diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersQuerying.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersQuerying.java index b27b8ac3d..1449b67f9 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersQuerying.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/modifiers/ModifiersQuerying.java @@ -7,10 +7,11 @@ import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.GameState; import com.gempukku.lotro.logic.timing.Action; +import java.util.Collection; import java.util.List; public interface ModifiersQuerying { - public List getModifiersAffecting(GameState gameState, PhysicalCard card); + public Collection getModifiersAffecting(GameState gameState, PhysicalCard card); public boolean hasKeyword(GameState gameState, PhysicalCard physicalCard, Keyword keyword); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/PlayerPlaysStartingFellowshipGameProcess.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/PlayerPlaysStartingFellowshipGameProcess.java index 580a01fb2..c39f1a1b7 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/PlayerPlaysStartingFellowshipGameProcess.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/PlayerPlaysStartingFellowshipGameProcess.java @@ -43,7 +43,9 @@ public class PlayerPlaysStartingFellowshipGameProcess implements GameProcess { new Filter() { @Override public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) { - return physicalCard.getBlueprint().checkPlayRequirements(playerId, _game, physicalCard); + int twilightCost = modifiersQuerying.getTwilightCost(gameState, physicalCard); + return gameState.getTwilightPool() + twilightCost <= 4 + && physicalCard.getBlueprint().checkPlayRequirements(playerId, _game, physicalCard); } }); } diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/LotroGameMediator.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/LotroGameMediator.java index 99d3158e5..a75d0f7b4 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/LotroGameMediator.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/LotroGameMediator.java @@ -11,10 +11,7 @@ import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.timing.DefaultLotroGame; import com.gempukku.lotro.logic.vo.LotroDeck; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; +import java.util.*; public class LotroGameMediator { private Map _communicationChannels = new HashMap(); @@ -46,7 +43,7 @@ public class LotroGameMediator { return null; sb.append("Affecting card:"); - List modifiers = _lotroGame.getModifiersQuerying().getModifiersAffecting(_lotroGame.getGameState(), card); + Collection modifiers = _lotroGame.getModifiersQuerying().getModifiersAffecting(_lotroGame.getGameState(), card); for (Modifier modifier : modifiers) { PhysicalCard source = modifier.getSource(); if (source != null)