From da7da8b8b6b347a130a140eea5682fc86f557a30 Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Sat, 6 Feb 2021 18:52:39 -0600 Subject: [PATCH] Fixing some server crashes caused by malformed json card definitions. --- .../com/gempukku/lotro/game/LotroCardBlueprintLibrary.java | 3 +++ .../java/com/gempukku/lotro/game/SortAndFilterCards.java | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroCardBlueprintLibrary.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroCardBlueprintLibrary.java index 038404fd3..fd47bcc9a 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroCardBlueprintLibrary.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroCardBlueprintLibrary.java @@ -117,6 +117,9 @@ public class LotroCardBlueprintLibrary { } catch (ParseException exp) { logger.error("Failed to parse file " + file.getAbsolutePath(), exp); } + catch (Exception exp) { + logger.error("Unexpected error while parsing file " + file.getAbsolutePath(), exp); + } logger.debug("Loaded card file " + file.getName()); } diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/SortAndFilterCards.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/SortAndFilterCards.java index ce100c672..ea204c8f5 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/SortAndFilterCards.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/SortAndFilterCards.java @@ -142,6 +142,11 @@ public class SortAndFilterCards { SetDefinition setRarity = rarities.get(blueprintId.substring(0, blueprintId.indexOf("_"))); if (setRarity != null) { String cardRarity = setRarity.getCardRarity(library.stripBlueprintModifiers(blueprintId)); + if(cardRarity == null) { + //TODO: log that the rarity was not set + //real TODO: put the rarity in the friggin json + return false; + } for (String r : rarity) { if (cardRarity.equals(r)) return true;