Skip to content

Commit

Permalink
balancing
Browse files Browse the repository at this point in the history
  • Loading branch information
TheDark98 committed Jan 17, 2025
1 parent df71799 commit 1a05583
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
8 changes: 4 additions & 4 deletions osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyCalculator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,12 @@
using osu.Game.Rulesets.Difficulty.Preprocessing;
using osu.Game.Rulesets.Difficulty.Skills;
using osu.Game.Rulesets.Mods;
using osu.Game.Rulesets.Objects;
using osu.Game.Rulesets.Osu.Difficulty.Preprocessing;
using osu.Game.Rulesets.Osu.Difficulty.Skills;
using osu.Game.Rulesets.Osu.Mods;
using osu.Game.Rulesets.Osu.Objects;
using osu.Game.Rulesets.Osu.Scoring;
using osu.Game.Rulesets.Scoring;
using osuTK;

namespace osu.Game.Rulesets.Osu.Difficulty
{
Expand All @@ -27,7 +25,7 @@ public class OsuDifficultyCalculator : DifficultyCalculator
private const double difficulty_multiplier = 0.0675;

//The bonus multiplier is a basic multiplier that indicate how strong the impact of Difficulty Factor is.
private const double bonus_multiplier = 0.3;
private const double bonus_multiplier = 0.6;

public override int Version => 20241007;

Expand Down Expand Up @@ -148,7 +146,9 @@ protected override DifficultyAttributes CreateDifficultyAttributes(IBeatmap beat
return attributes;
}

private double computeLengthBonus(double hitObjects, double consistencyFactor, double approachRateBonus) => (Math.Pow(hitObjects * (0.8 + consistencyFactor * bonus_multiplier), 0.54) / 1500 + 1.0) * (1.0 + approachRateBonus);
private double computeLengthBonus(double hitObjects, double consistencyFactor, double approachRateBonus) => computeBasicLengthBonus(hitObjects, consistencyFactor) * (1.0 + approachRateBonus * computeBasicLengthBonus(hitObjects, consistencyFactor));

private double computeBasicLengthBonus(double hitObjects, double consistencyFactor) => Math.Pow(hitObjects * (0.8 + consistencyFactor * bonus_multiplier), 0.67) / 1500 + 1.0;

protected override IEnumerable<DifficultyHitObject> CreateDifficultyHitObjects(IBeatmap beatmap, double clockRate)
{
Expand Down
5 changes: 4 additions & 1 deletion osu.Game.Rulesets.Osu/Difficulty/OsuPerformanceCalculator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty
{
public class OsuPerformanceCalculator : PerformanceCalculator
{
public const double PERFORMANCE_BASE_MULTIPLIER = 1.047; // This is being adjusted to keep the final pp value scaled around what it used to be when changing things.
public const double PERFORMANCE_BASE_MULTIPLIER = 1.07; // This is being adjusted to keep the final pp value scaled around what it used to be when changing things.

private bool usingClassicSliderAccuracy;

Expand Down Expand Up @@ -250,6 +250,9 @@ private double computeAccuracyValue(ScoreInfo score, OsuDifficultyAttributes att
// Considering to use derivation from perfect accuracy in a probabilistic manner - assume normal distribution.
double accuracyValue = Math.Pow(1.52163, attributes.OverallDifficulty) * Math.Pow(betterAccuracyPercentage, 24) * 2.83;


//accuracyValue *= (0.45 + (attributes.AimConsistencyFactor + attributes.SpeedConsistencyFactor) / 2);

// Bonus for many hitcircles - it's harder to keep good accuracy up for longer.
accuracyValue *= Math.Min(1.15, Math.Pow(amountHitObjectsWithAccuracy / 1000.0, 0.3));

Expand Down

0 comments on commit 1a05583

Please sign in to comment.