diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroFormat.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroFormat.java index 06689e79f..438608949 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroFormat.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroFormat.java @@ -51,6 +51,10 @@ public interface LotroFormat { public Map getErrataCardMap(); + public String applyErrata(String bpID); + + public String findBaseCard(String bpID); + public SitesBlock getSiteBlock(); public String getSurveyUrl(); diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/formats/DefaultLotroFormat.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/formats/DefaultLotroFormat.java index a2a3fad85..ec02a8e3e 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/formats/DefaultLotroFormat.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/formats/DefaultLotroFormat.java @@ -479,6 +479,16 @@ public class DefaultLotroFormat implements LotroFormat { return deckWithErrata; } + @Override + public String applyErrata(String bpID) { + return _errataCardMap.getOrDefault(bpID, bpID); + } + + @Override + public String findBaseCard(String bpID) { + return _library.getBaseBlueprintId(bpID); + } + private String validateDeckStructure(LotroDeck deck) { String result = ""; if (deck.getAdventureCards().size() < _minimumDeckSize) { diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallServer.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallServer.java index 802a54a6a..8369e9d20 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallServer.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/hall/HallServer.java @@ -689,7 +689,10 @@ public class HallServer extends AbstractServer { Map deckCardCounts = CollectionUtils.getTotalCardCountForDeck(lotroDeck); for (Map.Entry cardCount : deckCardCounts.entrySet()) { - final int collectionCount = collection.getItemCount(cardCount.getKey()); + final int collectionCount = collection.getItemCount(cardCount.getKey()) + + collection.getItemCount(format.findBaseCard(cardCount.getKey())) + + collection.getItemCount(format.applyErrata(cardCount.getKey())); + if (collectionCount < cardCount.getValue()) { String cardName = null; try {