mirror of
https://github.com/ppy/osu.git
synced 2024-12-14 08:43:01 +08:00
Added Traceable support for pp
This commit is contained in:
parent
7bc571dd51
commit
6402f23f02
@ -116,6 +116,11 @@ namespace osu.Game.Rulesets.Osu.Difficulty
|
||||
// We want to give more reward for lower AR when it comes to aim and HD. This nerfs high AR and buffs lower AR.
|
||||
aimValue *= 1.0 + 0.04 * (12.0 - attributes.ApproachRate);
|
||||
}
|
||||
else if (score.Mods.Any(h => h is OsuModTraceable))
|
||||
{
|
||||
// Default 2% increase and another is scaled by AR
|
||||
aimValue *= 1.02 + 0.02 * (12.0 - attributes.ApproachRate);
|
||||
}
|
||||
|
||||
// We assume 15% of sliders in a map are difficult since there's no way to tell from the performance calculator.
|
||||
double estimateDifficultSliders = attributes.SliderCount * 0.15;
|
||||
@ -167,6 +172,11 @@ namespace osu.Game.Rulesets.Osu.Difficulty
|
||||
// We want to give more reward for lower AR when it comes to aim and HD. This nerfs high AR and buffs lower AR.
|
||||
speedValue *= 1.0 + 0.04 * (12.0 - attributes.ApproachRate);
|
||||
}
|
||||
else if (score.Mods.Any(h => h is OsuModTraceable))
|
||||
{
|
||||
// More reward for speed because speed on Traceable is annoying
|
||||
speedValue *= 1.04 + 0.06 * (12.0 - attributes.ApproachRate);
|
||||
}
|
||||
|
||||
// Calculate accuracy assuming the worst case scenario
|
||||
double relevantTotalDiff = totalHits - attributes.SpeedNoteCount;
|
||||
@ -214,6 +224,8 @@ namespace osu.Game.Rulesets.Osu.Difficulty
|
||||
accuracyValue *= 1.14;
|
||||
else if (score.Mods.Any(m => m is OsuModHidden))
|
||||
accuracyValue *= 1.08;
|
||||
else if (score.Mods.Any(m => m is OsuModTraceable))
|
||||
accuracyValue *= 1.02 + 0.01 * (12.0 - attributes.ApproachRate);
|
||||
|
||||
if (score.Mods.Any(m => m is OsuModFlashlight))
|
||||
accuracyValue *= 1.02;
|
||||
|
@ -19,6 +19,7 @@ namespace osu.Game.Rulesets.Osu.Mods
|
||||
public override ModType Type => ModType.Fun;
|
||||
public override LocalisableString Description => "Put your faith in the approach circles...";
|
||||
public override double ScoreMultiplier => 1;
|
||||
public override bool Ranked => UsesDefaultConfiguration;
|
||||
|
||||
public override Type[] IncompatibleMods => new[] { typeof(IHidesApproachCircles), typeof(OsuModDepth) };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user