From 53da2d67c78787168fe2e4d7f732f3703f980121 Mon Sep 17 00:00:00 2001 From: BONNe Date: Wed, 23 Jan 2019 19:50:15 +0200 Subject: [PATCH] Fix logical error that opens all levels instead of locking them. WaiverAmount should be reducer, not from whom reduces. --- .../java/world/bentobox/challenges/ChallengesManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/world/bentobox/challenges/ChallengesManager.java b/src/main/java/world/bentobox/challenges/ChallengesManager.java index 4112609..7cd09b9 100644 --- a/src/main/java/world/bentobox/challenges/ChallengesManager.java +++ b/src/main/java/world/bentobox/challenges/ChallengesManager.java @@ -488,10 +488,10 @@ public class ChallengesManager { // To find how many challenges user still must do in previous level, we must // know how many challenges there were and how many has been done. Then - // from waiver amount remove calculated value and you get count. + // remove waiver amount to get count of challenges that still necessary to do. int challengesToDo = previousLevel == null ? 0 : - level.getWaiverAmount() - (previousLevel.getChallenges().size() - doneChallengeCount); + (previousLevel.getChallenges().size() - doneChallengeCount - level.getWaiverAmount()); // As level already contains unique ids of challenges, just iterate through them. doneChallengeCount = (int) level.getChallenges().stream().filter(playerData::isChallengeDone).count();