Skip to content

Conversation

@tsunyoku
Copy link
Member

@tsunyoku tsunyoku commented Jan 3, 2026

Fun correctness bug.

ScoreV1 multiplier uses the nomod peppy stars (i.e the beatmap's "base" HP, OD and CS) in all cases, which was generally the intention with this code but it passes the wrong beatmap resulting in it using modded values for this.

Cross referenced with stable and this now results in the expected multipliers.

Results in some very minor (<3pp from my testing) changes for HR and EZ scores with combo breaks.

@tsunyoku
Copy link
Member Author

tsunyoku commented Jan 3, 2026

!diffcalc
RULESET=osu
OSU_A=https://github.com/ppy/osu/tree/pp-dev
OSU_B=#36209

if (flashlight is not null)
flashlightRating = osuRatingCalculator.ComputeFlashlightRating(flashlight.DifficultyValue());

double sliderNestedScorePerObject = LegacyScoreUtils.CalculateNestedScorePerObject(beatmap, totalHits);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe put WorkingBeatmap.Beatmap into a variable and use it in all places where we expect an unmodified beatmap? Even if it doesn't affect anything, just for clarity.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope, this would be technically incorrect. CalculateNestedScorePerObject has some logic mirrored from the legacy simulator for spinners, and that logic is intentionally using this beatmap, not the working beatmap. Cross ref here:

foreach (var obj in playableBeatmap.HitObjects)
simulateHit(obj, ref attributes);

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, nvm, I misinterpreted your comment (since it's highlighting sliderNestedScorePerObject)

@github-actions
Copy link

github-actions bot commented Jan 3, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Pending Review

Development

Successfully merging this pull request may close these issues.

2 participants