Fix dynamic Elo clamp updates
This commit is contained in:
@@ -143,7 +143,10 @@ public sealed class DynamicQuestionStore
|
||||
await _mastery.UpdateOneAsync(
|
||||
value => value.UserId == claims.UserId && value.ObjectiveId == claims.ObjectiveId,
|
||||
Builders<DynamicObjectiveMastery>.Update
|
||||
.Max(value => value.Elo, DynamicDifficultyPolicy.MinimumElo)
|
||||
.Max(value => value.Elo, DynamicDifficultyPolicy.MinimumElo));
|
||||
await _mastery.UpdateOneAsync(
|
||||
value => value.UserId == claims.UserId && value.ObjectiveId == claims.ObjectiveId,
|
||||
Builders<DynamicObjectiveMastery>.Update
|
||||
.Min(value => value.Elo, DynamicDifficultyPolicy.MaximumElo));
|
||||
if (!string.IsNullOrWhiteSpace(claims.CaseFamilyId))
|
||||
await UpdateFamilyRatingAsync(claims, generated, isCorrect);
|
||||
@@ -156,7 +159,7 @@ public sealed class DynamicQuestionStore
|
||||
IsCorrect = isCorrect,
|
||||
CorrectChoiceId = generated.Question.CorrectChoiceId,
|
||||
ObjectiveId = claims.ObjectiveId,
|
||||
ObjectiveElo = updated.Elo,
|
||||
ObjectiveElo = DynamicDifficultyPolicy.Clamp(updated.Elo),
|
||||
RatingChange = delta,
|
||||
SelectedMisconceptionId = misconceptionId,
|
||||
IsScheduledReview = claims.IsScheduledReview,
|
||||
@@ -272,7 +275,10 @@ public sealed class DynamicQuestionStore
|
||||
await _familyRatings.UpdateOneAsync(
|
||||
value => value.Id == current.Id,
|
||||
Builders<DynamicFamilyRating>.Update
|
||||
.Max(value => value.Elo, DynamicDifficultyPolicy.MinimumElo)
|
||||
.Max(value => value.Elo, DynamicDifficultyPolicy.MinimumElo));
|
||||
await _familyRatings.UpdateOneAsync(
|
||||
value => value.Id == current.Id,
|
||||
Builders<DynamicFamilyRating>.Update
|
||||
.Min(value => value.Elo, DynamicDifficultyPolicy.MaximumElo));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user