diff --git a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/DeckRequestHandler.java b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/DeckRequestHandler.java index 508e9c172..5b38c29f8 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/DeckRequestHandler.java +++ b/gemp-lotr/gemp-lotr-async/src/main/java/com/gempukku/lotro/async/handler/DeckRequestHandler.java @@ -157,6 +157,7 @@ public class DeckRequestHandler extends LotroServerRequestHandler implements Uri if(format == null || targetFormat == null) { responseWriter.writeHtmlResponse("Invalid format: " + targetFormat); + return; } List validation = format.validateDeck(deck); diff --git a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/DateUtils.java b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/DateUtils.java index fcf3cec15..2c3512238 100644 --- a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/DateUtils.java +++ b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/DateUtils.java @@ -38,7 +38,14 @@ public class DateUtils { public static boolean IsToday(ZonedDateTime date) { return DaysSince(date) == 0; } public static boolean IsAtLeastDayAfter(ZonedDateTime a, ZonedDateTime b) { return DaysBetween(b, a) >= 1; } public static boolean IsAfterStart(ZonedDateTime date, ZonedDateTime start) { return date.isEqual(start) || date.isAfter(start); } - public static boolean IsBeforeEnd(ZonedDateTime date, ZonedDateTime end) { return DaysBetween(end, date) < 0; } + public static boolean IsBeforeEnd(ZonedDateTime date, ZonedDateTime end) { + if(IsSameDay(date, end)) { + return date.isBefore(end.plusDays(1)); + } + else { + return date.isBefore(end); + } + } public static boolean IsSameDay(ZonedDateTime a, ZonedDateTime b) { return DaysBetween(a, b) == 0; } public static long DaysBetween(ZonedDateTime a, ZonedDateTime b) { return Duration.between(a, b).toDays(); } public static long DaysSince(ZonedDateTime date) { return DaysBetween(date, Now()); } 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 b84a2ba5b..bb134d5cc 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 @@ -4,6 +4,7 @@ import com.gempukku.lotro.common.*; import com.gempukku.lotro.game.*; import com.gempukku.lotro.logic.GameUtils; import com.gempukku.lotro.logic.vo.LotroDeck; +import org.apache.commons.lang3.StringUtils; import java.util.*; import java.util.stream.Collectors; @@ -712,8 +713,13 @@ public class DefaultLotroFormat implements LotroFormat { sites.add(new PhysicalCardImpl(0, bp, "", _library.getLotroCardBlueprint(bp))); } - var rb = new PhysicalCardImpl(0, deck.getRingBearer(), "", _library.getLotroCardBlueprint(deck.getRingBearer())); - var ring = new PhysicalCardImpl(0, deck.getRing(), "", _library.getLotroCardBlueprint(deck.getRing())); + PhysicalCardImpl rb = null, ring = null; + if(!StringUtils.isEmpty(deck.getRingBearer())) { + rb = new PhysicalCardImpl(0, deck.getRingBearer(), "", _library.getLotroCardBlueprint(deck.getRingBearer())); + } + if(!StringUtils.isEmpty(deck.getRing())) { + ring = new PhysicalCardImpl(0, deck.getRing(), "", _library.getLotroCardBlueprint(deck.getRing())); + } var result = map.validatePreGameDeckCheck(freeps, shadow, sites, rb, ring, new PhysicalCardImpl(0, mapBP, "", map)); if(!result.success()) diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/league/LeagueService.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/league/LeagueService.java index f686d7c71..b0dce0c6b 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/league/LeagueService.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/league/LeagueService.java @@ -149,7 +149,7 @@ public class LeagueService { var currentDate = DateUtils.Now(); for (LeagueSerieInfo leagueSerieInfo : league.getLeagueData(_productLibrary, _formatLibrary, _soloDraftDefinitions).getSeries()) { - if (currentDate.isAfter( leagueSerieInfo.getStart()) && currentDate.isBefore(leagueSerieInfo.getEnd())) + if (currentDate.isAfter( leagueSerieInfo.getStart()) && DateUtils.IsBeforeEnd(currentDate, leagueSerieInfo.getEnd())) return leagueSerieInfo; }