diff --git a/src/challenges/story_mode_status.cpp b/src/challenges/story_mode_status.cpp index 31cb458d7..41014088e 100644 --- a/src/challenges/story_mode_status.cpp +++ b/src/challenges/story_mode_status.cpp @@ -93,9 +93,13 @@ void StoryModeStatus::computeActive(bool first_call) for(i = m_challenges_state.begin(); i != m_challenges_state.end(); i++) { - // Changed challenge - // ----------------- - if(!i->second->isUnlockList() && (i->second)->isSolvedAtAnyDifficulty()) + // Lock features from unsolved challenges + if(!(i->second)->isSolvedAtAnyDifficulty()) + { + lockFeature(i->second); + } + // Count points from solved challenges + else if(!i->second->isUnlockList()) { int gp_factor = i->second->isGrandPrix() ? GP_FACTOR : 1; @@ -120,12 +124,6 @@ void StoryModeStatus::computeActive(bool first_call) m_easy_challenges++; } } - else - { - // Otherwise lock the feature - // -------------------------- - lockFeature(i->second); - } switch(i->second->highestSolved()) {