@rian8337/osu-difficulty-calculator 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +266 -77
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/typings/index.d.ts +99 -3
package/dist/index.js
CHANGED
|
@@ -288,6 +288,9 @@ class DifficultyHitObjectCreator {
|
|
|
288
288
|
generateDifficultyObjects(params) {
|
|
289
289
|
params.preempt ??= 600;
|
|
290
290
|
this.mode = params.mode;
|
|
291
|
+
if (this.mode === osuBase.Modes.droid) {
|
|
292
|
+
this.maximumSliderRadius = this.normalizedRadius * 2;
|
|
293
|
+
}
|
|
291
294
|
const droidCircleSize = new osuBase.MapStats({
|
|
292
295
|
cs: params.circleSize,
|
|
293
296
|
mods: params.mods,
|
|
@@ -716,6 +719,9 @@ class DifficultyCalculator {
|
|
|
716
719
|
* An evaluator for calculating osu!droid Aim skill.
|
|
717
720
|
*/
|
|
718
721
|
class DroidAimEvaluator extends AimEvaluator {
|
|
722
|
+
static wideAngleMultiplier = 1.65;
|
|
723
|
+
static sliderMultiplier = 1.5;
|
|
724
|
+
static velocityChangeMultiplier = 0.85;
|
|
719
725
|
/**
|
|
720
726
|
* Spacing threshold for a single hitobject spacing.
|
|
721
727
|
*/
|
|
@@ -755,9 +761,7 @@ class DroidAimEvaluator extends AimEvaluator {
|
|
|
755
761
|
// Calculate the velocity to the current hitobject, which starts with a base distance / time assuming the last object is a hitcircle.
|
|
756
762
|
let currentVelocity = current.lazyJumpDistance / current.strainTime;
|
|
757
763
|
// But if the last object is a slider, then we extend the travel velocity through the slider into the current object.
|
|
758
|
-
if (last.object instanceof osuBase.Slider &&
|
|
759
|
-
last.object.ticks > 0 &&
|
|
760
|
-
withSliders) {
|
|
764
|
+
if (last.object instanceof osuBase.Slider && withSliders) {
|
|
761
765
|
// Calculate the slider velocity from slider head to slider end.
|
|
762
766
|
const travelVelocity = last.travelDistance / last.travelTime;
|
|
763
767
|
// Calculate the movement velocity from slider end to current object.
|
|
@@ -769,9 +773,7 @@ class DroidAimEvaluator extends AimEvaluator {
|
|
|
769
773
|
}
|
|
770
774
|
// As above, do the same for the previous hitobject.
|
|
771
775
|
let prevVelocity = last.lazyJumpDistance / last.strainTime;
|
|
772
|
-
if (lastLast.object instanceof osuBase.Slider &&
|
|
773
|
-
lastLast.object.ticks > 0 &&
|
|
774
|
-
withSliders) {
|
|
776
|
+
if (lastLast.object instanceof osuBase.Slider && withSliders) {
|
|
775
777
|
const travelVelocity = lastLast.travelDistance / lastLast.travelTime;
|
|
776
778
|
const movementVelocity = last.minimumJumpTime !== 0
|
|
777
779
|
? last.minimumJumpDistance / last.minimumJumpTime
|
|
@@ -993,7 +995,7 @@ class DroidSkill extends StrainSkill {
|
|
|
993
995
|
* Represents the skill required to correctly aim at every object in the map with a uniform CircleSize and normalized distances.
|
|
994
996
|
*/
|
|
995
997
|
class DroidAim extends DroidSkill {
|
|
996
|
-
skillMultiplier =
|
|
998
|
+
skillMultiplier = 24.55;
|
|
997
999
|
strainDecayBase = 0.15;
|
|
998
1000
|
reducedSectionCount = 10;
|
|
999
1001
|
reducedSectionBaseline = 0.75;
|
|
@@ -1090,7 +1092,7 @@ class DroidTapEvaluator extends SpeedEvaluator {
|
|
|
1090
1092
|
*/
|
|
1091
1093
|
class DroidTap extends DroidSkill {
|
|
1092
1094
|
skillMultiplier = 1375;
|
|
1093
|
-
reducedSectionCount =
|
|
1095
|
+
reducedSectionCount = 10;
|
|
1094
1096
|
reducedSectionBaseline = 0.75;
|
|
1095
1097
|
strainDecayBase = 0.3;
|
|
1096
1098
|
starsPerDouble = 1.1;
|
|
@@ -1458,7 +1460,7 @@ class DroidVisualEvaluator {
|
|
|
1458
1460
|
// Add density caps for sanity.
|
|
1459
1461
|
let strain;
|
|
1460
1462
|
if (isHiddenMod) {
|
|
1461
|
-
strain = Math.min(
|
|
1463
|
+
strain = Math.min(30, Math.pow(current.noteDensity, 3));
|
|
1462
1464
|
}
|
|
1463
1465
|
else {
|
|
1464
1466
|
strain = Math.min(20, Math.pow(current.noteDensity, 2));
|
|
@@ -1514,6 +1516,44 @@ class DroidVisualEvaluator {
|
|
|
1514
1516
|
Math.min(1, 300 / cumulativeStrainTime);
|
|
1515
1517
|
}
|
|
1516
1518
|
}
|
|
1519
|
+
// Reward for rhythm changes.
|
|
1520
|
+
if (current.rhythmMultiplier > 1) {
|
|
1521
|
+
let rhythmBonus = (current.rhythmMultiplier - 1) / 20;
|
|
1522
|
+
// Rhythm changes are harder to read in Hidden.
|
|
1523
|
+
// Add additional bonus for Hidden.
|
|
1524
|
+
if (isHiddenMod) {
|
|
1525
|
+
rhythmBonus += (current.rhythmMultiplier - 1) / 25;
|
|
1526
|
+
}
|
|
1527
|
+
// Rhythm changes are harder to read when objects are stacked together.
|
|
1528
|
+
// Scale rhythm bonus based on the stack of past objects.
|
|
1529
|
+
const diameter = 2 * current.object.getRadius(osuBase.Modes.droid);
|
|
1530
|
+
let cumulativeStrainTime = 0;
|
|
1531
|
+
for (let i = 0; i < Math.min(current.index, 5); ++i) {
|
|
1532
|
+
const previous = current.previous(i);
|
|
1533
|
+
if (previous.object instanceof osuBase.Spinner ||
|
|
1534
|
+
// Exclude overlapping objects that can be tapped at once.
|
|
1535
|
+
previous.isOverlapping(true)) {
|
|
1536
|
+
continue;
|
|
1537
|
+
}
|
|
1538
|
+
const jumpDistance = current.object
|
|
1539
|
+
.getStackedPosition(osuBase.Modes.droid)
|
|
1540
|
+
.getDistance(previous.object.getStackedEndPosition(osuBase.Modes.droid));
|
|
1541
|
+
cumulativeStrainTime += previous.strainTime;
|
|
1542
|
+
rhythmBonus +=
|
|
1543
|
+
// Scale the bonus with diameter.
|
|
1544
|
+
osuBase.MathUtils.clamp((0.5 - jumpDistance / diameter) / 10, 0, 0.05) *
|
|
1545
|
+
// Scale with cumulative strain time to avoid overbuffing past objects.
|
|
1546
|
+
Math.min(1, 300 / cumulativeStrainTime);
|
|
1547
|
+
// Give a larger bonus for Hidden.
|
|
1548
|
+
if (isHiddenMod) {
|
|
1549
|
+
rhythmBonus +=
|
|
1550
|
+
(1 -
|
|
1551
|
+
current.opacityAt(previous.object.startTime, isHiddenMod, osuBase.Modes.droid)) /
|
|
1552
|
+
20;
|
|
1553
|
+
}
|
|
1554
|
+
}
|
|
1555
|
+
strain += rhythmBonus;
|
|
1556
|
+
}
|
|
1517
1557
|
return strain;
|
|
1518
1558
|
}
|
|
1519
1559
|
}
|
|
@@ -1537,7 +1577,7 @@ class DroidVisual extends DroidSkill {
|
|
|
1537
1577
|
this.currentStrain +=
|
|
1538
1578
|
DroidVisualEvaluator.evaluateDifficultyOf(current, this.isHidden) *
|
|
1539
1579
|
this.skillMultiplier;
|
|
1540
|
-
return this.currentStrain
|
|
1580
|
+
return this.currentStrain;
|
|
1541
1581
|
}
|
|
1542
1582
|
saveToHitObject(current) {
|
|
1543
1583
|
current.visualStrain = this.currentStrain;
|
|
@@ -1854,6 +1894,14 @@ class PerformanceCalculator {
|
|
|
1854
1894
|
this.difficultyAttributes.sliderCount +
|
|
1855
1895
|
this.difficultyAttributes.spinnerCount);
|
|
1856
1896
|
}
|
|
1897
|
+
/**
|
|
1898
|
+
* The total hits that were successfully done.
|
|
1899
|
+
*/
|
|
1900
|
+
get totalSuccessfulHits() {
|
|
1901
|
+
return (this.computedAccuracy.n300 +
|
|
1902
|
+
this.computedAccuracy.n100 +
|
|
1903
|
+
this.computedAccuracy.n50);
|
|
1904
|
+
}
|
|
1857
1905
|
/**
|
|
1858
1906
|
* Calculates the base performance value of a star rating.
|
|
1859
1907
|
*/
|
|
@@ -1874,11 +1922,13 @@ class PerformanceCalculator {
|
|
|
1874
1922
|
// Copy into new instance to not modify the original
|
|
1875
1923
|
this.computedAccuracy = new osuBase.Accuracy(options.accPercent);
|
|
1876
1924
|
if (this.computedAccuracy.n300 <= 0) {
|
|
1877
|
-
this.computedAccuracy.n300 =
|
|
1878
|
-
this.
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1925
|
+
this.computedAccuracy.n300 = Math.max(0, this.totalHits -
|
|
1926
|
+
this.computedAccuracy.n100 -
|
|
1927
|
+
this.computedAccuracy.n50 -
|
|
1928
|
+
this.computedAccuracy.nmiss);
|
|
1929
|
+
}
|
|
1930
|
+
else {
|
|
1931
|
+
this.computedAccuracy.nmiss = Math.max(0, this.totalHits - this.totalSuccessfulHits);
|
|
1882
1932
|
}
|
|
1883
1933
|
}
|
|
1884
1934
|
else {
|
|
@@ -1980,10 +2030,51 @@ class DroidPerformanceCalculator extends PerformanceCalculator {
|
|
|
1980
2030
|
get tapPenalty() {
|
|
1981
2031
|
return this._tapPenalty;
|
|
1982
2032
|
}
|
|
1983
|
-
|
|
2033
|
+
/**
|
|
2034
|
+
* The estimated deviation of the score.
|
|
2035
|
+
*/
|
|
2036
|
+
get deviation() {
|
|
2037
|
+
return this._deviation;
|
|
2038
|
+
}
|
|
2039
|
+
/**
|
|
2040
|
+
* The estimated tap deviation of the score.
|
|
2041
|
+
*/
|
|
2042
|
+
get tapDeviation() {
|
|
2043
|
+
return this._tapDeviation;
|
|
2044
|
+
}
|
|
2045
|
+
/**
|
|
2046
|
+
* The penalty used to penalize the aim performance value.
|
|
2047
|
+
*
|
|
2048
|
+
* Can be properly obtained by analyzing the replay associated with the score.
|
|
2049
|
+
*/
|
|
2050
|
+
get aimSliderCheesePenalty() {
|
|
2051
|
+
return this._aimSliderCheesePenalty;
|
|
2052
|
+
}
|
|
2053
|
+
/**
|
|
2054
|
+
* The penalty used to penalize the flashlight performance value.
|
|
2055
|
+
*
|
|
2056
|
+
* Can be properly obtained by analyzing the replay associated with the score.
|
|
2057
|
+
*/
|
|
2058
|
+
get flashlightSliderCheesePenalty() {
|
|
2059
|
+
return this._flashlightSliderCheesePenalty;
|
|
2060
|
+
}
|
|
2061
|
+
/**
|
|
2062
|
+
* The penalty used to penalize the visual performance value.
|
|
2063
|
+
*
|
|
2064
|
+
* Can be properly obtained by analyzing the replay associated with the score.
|
|
2065
|
+
*/
|
|
2066
|
+
get visualSliderCheesePenalty() {
|
|
2067
|
+
return this._visualSliderCheesePenalty;
|
|
2068
|
+
}
|
|
1984
2069
|
difficultyAttributes;
|
|
1985
2070
|
finalMultiplier = 1.24;
|
|
1986
2071
|
mode = osuBase.Modes.droid;
|
|
2072
|
+
_aimSliderCheesePenalty = 1;
|
|
2073
|
+
_flashlightSliderCheesePenalty = 1;
|
|
2074
|
+
_visualSliderCheesePenalty = 1;
|
|
2075
|
+
_tapPenalty = 1;
|
|
2076
|
+
_deviation = 0;
|
|
2077
|
+
_tapDeviation = 0;
|
|
1987
2078
|
/**
|
|
1988
2079
|
* @param difficultyAttributes The difficulty attributes to calculate.
|
|
1989
2080
|
*/
|
|
@@ -1994,7 +2085,7 @@ class DroidPerformanceCalculator extends PerformanceCalculator {
|
|
|
1994
2085
|
/**
|
|
1995
2086
|
* Applies a tap penalty value to this calculator.
|
|
1996
2087
|
*
|
|
1997
|
-
* The total performance value will be recalculated afterwards.
|
|
2088
|
+
* The tap and total performance value will be recalculated afterwards.
|
|
1998
2089
|
*
|
|
1999
2090
|
* @param value The tap penalty value. Must be greater than 0.
|
|
2000
2091
|
*/
|
|
@@ -2009,7 +2100,63 @@ class DroidPerformanceCalculator extends PerformanceCalculator {
|
|
|
2009
2100
|
this._tapPenalty = value;
|
|
2010
2101
|
this.calculateTotalValue();
|
|
2011
2102
|
}
|
|
2103
|
+
/**
|
|
2104
|
+
* Applies an aim slider cheese penalty value to this calculator.
|
|
2105
|
+
*
|
|
2106
|
+
* The aim and total performance value will be recalculated afterwards.
|
|
2107
|
+
*
|
|
2108
|
+
* @param value The slider cheese penalty value. Must be greater than 0.
|
|
2109
|
+
*/
|
|
2110
|
+
applyAimSliderCheesePenalty(value) {
|
|
2111
|
+
if (value <= 0) {
|
|
2112
|
+
throw new RangeError("New aim slider cheese penalty must be greater than zero.");
|
|
2113
|
+
}
|
|
2114
|
+
if (value === this._aimSliderCheesePenalty) {
|
|
2115
|
+
return;
|
|
2116
|
+
}
|
|
2117
|
+
this._aimSliderCheesePenalty = value;
|
|
2118
|
+
this.calculateAimValue();
|
|
2119
|
+
this.calculateTotalValue();
|
|
2120
|
+
}
|
|
2121
|
+
/**
|
|
2122
|
+
* Applies a flashlight slider cheese penalty value to this calculator.
|
|
2123
|
+
*
|
|
2124
|
+
* The flashlight and total performance value will be recalculated afterwards.
|
|
2125
|
+
*
|
|
2126
|
+
* @param value The slider cheese penalty value. Must be greater than 0.
|
|
2127
|
+
*/
|
|
2128
|
+
applyFlashlightSliderCheesePenalty(value) {
|
|
2129
|
+
if (value <= 0) {
|
|
2130
|
+
throw new RangeError("New flashlight slider cheese penalty must be greater than zero.");
|
|
2131
|
+
}
|
|
2132
|
+
if (value === this._flashlightSliderCheesePenalty) {
|
|
2133
|
+
return;
|
|
2134
|
+
}
|
|
2135
|
+
this._flashlightSliderCheesePenalty = value;
|
|
2136
|
+
this.calculateFlashlightValue();
|
|
2137
|
+
this.calculateTotalValue();
|
|
2138
|
+
}
|
|
2139
|
+
/**
|
|
2140
|
+
* Applies a visual slider cheese penalty value to this calculator.
|
|
2141
|
+
*
|
|
2142
|
+
* The visual and total performance value will be recalculated afterwards.
|
|
2143
|
+
*
|
|
2144
|
+
* @param value The slider cheese penalty value. Must be greater than 0.
|
|
2145
|
+
*/
|
|
2146
|
+
applyVisualSliderCheesePenalty(value) {
|
|
2147
|
+
if (value <= 0) {
|
|
2148
|
+
throw new RangeError("New visual slider cheese penalty must be greater than zero.");
|
|
2149
|
+
}
|
|
2150
|
+
if (value === this._visualSliderCheesePenalty) {
|
|
2151
|
+
return;
|
|
2152
|
+
}
|
|
2153
|
+
this._visualSliderCheesePenalty = value;
|
|
2154
|
+
this.calculateVisualValue();
|
|
2155
|
+
this.calculateTotalValue();
|
|
2156
|
+
}
|
|
2012
2157
|
calculateValues() {
|
|
2158
|
+
this._deviation = this.calculateDeviation();
|
|
2159
|
+
this._tapDeviation = this.calculateTapDeviation();
|
|
2013
2160
|
this.calculateAimValue();
|
|
2014
2161
|
this.calculateTapValue();
|
|
2015
2162
|
this.calculateAccuracyValue();
|
|
@@ -2026,13 +2173,19 @@ class DroidPerformanceCalculator extends PerformanceCalculator {
|
|
|
2026
2173
|
}
|
|
2027
2174
|
handleOptions(options) {
|
|
2028
2175
|
this._tapPenalty = options?.tapPenalty ?? 1;
|
|
2176
|
+
this._aimSliderCheesePenalty = options?.aimSliderCheesePenalty ?? 1;
|
|
2177
|
+
this._flashlightSliderCheesePenalty =
|
|
2178
|
+
options?.flashlightSliderCheesePenalty ?? 1;
|
|
2179
|
+
this._visualSliderCheesePenalty =
|
|
2180
|
+
options?.visualSliderCheesePenalty ?? 1;
|
|
2029
2181
|
super.handleOptions(options);
|
|
2030
2182
|
}
|
|
2031
2183
|
/**
|
|
2032
2184
|
* Calculates the aim performance value of the beatmap.
|
|
2033
2185
|
*/
|
|
2034
2186
|
calculateAimValue() {
|
|
2035
|
-
this.aim = this.baseValue(Math.pow(this.difficultyAttributes.aimDifficulty
|
|
2187
|
+
this.aim = this.baseValue(Math.pow(this.difficultyAttributes.aimDifficulty /
|
|
2188
|
+
this._aimSliderCheesePenalty, 0.8));
|
|
2036
2189
|
if (this.effectiveMissCount > 0) {
|
|
2037
2190
|
// Penalize misses by assessing # of misses relative to the total # of objects.
|
|
2038
2191
|
// Default a 3% reduction for any # of misses.
|
|
@@ -2045,12 +2198,10 @@ class DroidPerformanceCalculator extends PerformanceCalculator {
|
|
|
2045
2198
|
this.aim *= this.comboPenalty;
|
|
2046
2199
|
// Scale the aim value with slider factor to nerf very likely dropped sliderends.
|
|
2047
2200
|
this.aim *= this.sliderNerfFactor;
|
|
2048
|
-
// Scale the aim value with
|
|
2049
|
-
const od = this.difficultyAttributes.overallDifficulty;
|
|
2050
|
-
const odScaling = Math.pow(od, 2) / 2500;
|
|
2201
|
+
// Scale the aim value with deviation.
|
|
2051
2202
|
this.aim *=
|
|
2052
|
-
|
|
2053
|
-
Math.pow(
|
|
2203
|
+
1.05 *
|
|
2204
|
+
Math.pow(osuBase.ErrorFunction.erf(32.0625 / (Math.SQRT2 * this._deviation)), 1.5);
|
|
2054
2205
|
}
|
|
2055
2206
|
/**
|
|
2056
2207
|
* Calculates the tap performance value of the beatmap.
|
|
@@ -2067,27 +2218,10 @@ class DroidPerformanceCalculator extends PerformanceCalculator {
|
|
|
2067
2218
|
}
|
|
2068
2219
|
// Combo scaling
|
|
2069
2220
|
this.tap *= this.comboPenalty;
|
|
2070
|
-
//
|
|
2071
|
-
const countGreat = this.computedAccuracy.n300;
|
|
2072
|
-
const countOk = this.computedAccuracy.n100;
|
|
2073
|
-
const countMeh = this.computedAccuracy.n50;
|
|
2074
|
-
const relevantTotalDiff = this.totalHits - this.difficultyAttributes.speedNoteCount;
|
|
2075
|
-
const relevantAccuracy = new osuBase.Accuracy({
|
|
2076
|
-
n300: Math.max(0, countGreat - relevantTotalDiff),
|
|
2077
|
-
n100: Math.max(0, countOk - Math.max(0, relevantTotalDiff - countGreat)),
|
|
2078
|
-
n50: Math.max(0, countMeh - Math.max(0, relevantTotalDiff - countGreat - countOk)),
|
|
2079
|
-
nmiss: this.effectiveMissCount,
|
|
2080
|
-
});
|
|
2081
|
-
// Scale the tap value with accuracy and OD.
|
|
2082
|
-
const od = this.difficultyAttributes.overallDifficulty;
|
|
2083
|
-
const odScaling = Math.pow(od, 2) / 750;
|
|
2221
|
+
// Scale the tap value with tap deviation.
|
|
2084
2222
|
this.tap *=
|
|
2085
|
-
|
|
2086
|
-
Math.pow(
|
|
2087
|
-
relevantAccuracy.value(this.difficultyAttributes.speedNoteCount)) /
|
|
2088
|
-
2, (14 - Math.max(od, 2.5)) / 2);
|
|
2089
|
-
// Scale the tap value with # of 50s to punish doubletapping.
|
|
2090
|
-
this.tap *= Math.pow(0.99, Math.max(0, this.computedAccuracy.n50 - this.totalHits / 500));
|
|
2223
|
+
1.1 *
|
|
2224
|
+
Math.pow(osuBase.ErrorFunction.erf(25 / (Math.SQRT2 * this._tapDeviation)), 1.25);
|
|
2091
2225
|
// Scale the tap value with three-fingered penalty.
|
|
2092
2226
|
this.tap /= this._tapPenalty;
|
|
2093
2227
|
}
|
|
@@ -2095,29 +2229,16 @@ class DroidPerformanceCalculator extends PerformanceCalculator {
|
|
|
2095
2229
|
* Calculates the accuracy performance value of the beatmap.
|
|
2096
2230
|
*/
|
|
2097
2231
|
calculateAccuracyValue() {
|
|
2098
|
-
if (this.difficultyAttributes.mods.some((m) => m instanceof osuBase.ModRelax)
|
|
2099
|
-
this.
|
|
2100
|
-
return;
|
|
2101
|
-
}
|
|
2102
|
-
const ncircles = this.difficultyAttributes.mods.some((m) => m instanceof osuBase.ModScoreV2)
|
|
2103
|
-
? this.totalHits - this.difficultyAttributes.spinnerCount
|
|
2104
|
-
: this.difficultyAttributes.hitCircleCount;
|
|
2105
|
-
if (ncircles === 0) {
|
|
2232
|
+
if (this.difficultyAttributes.mods.some((m) => m instanceof osuBase.ModRelax) ||
|
|
2233
|
+
this.totalSuccessfulHits === 0) {
|
|
2106
2234
|
this.accuracy = 0;
|
|
2107
2235
|
return;
|
|
2108
2236
|
}
|
|
2109
|
-
const realAccuracy = new osuBase.Accuracy({
|
|
2110
|
-
...this.computedAccuracy,
|
|
2111
|
-
n300: this.computedAccuracy.n300 - (this.totalHits - ncircles),
|
|
2112
|
-
});
|
|
2113
|
-
// Lots of arbitrary values from testing.
|
|
2114
|
-
// Considering to use derivation from perfect accuracy in a probabilistic manner - assume normal distribution
|
|
2115
2237
|
this.accuracy =
|
|
2116
|
-
|
|
2117
|
-
Math.
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
this.accuracy *= Math.min(1.15, Math.pow(ncircles / 1000, 0.3));
|
|
2238
|
+
650 *
|
|
2239
|
+
Math.exp(-0.125 * this._deviation) *
|
|
2240
|
+
// The following function is to give higher reward for deviations lower than 25 (250 UR).
|
|
2241
|
+
(15 / (this._deviation + 15) + 0.65);
|
|
2121
2242
|
// Scale the accuracy value with rhythm complexity.
|
|
2122
2243
|
this.accuracy *=
|
|
2123
2244
|
1.5 /
|
|
@@ -2136,7 +2257,8 @@ class DroidPerformanceCalculator extends PerformanceCalculator {
|
|
|
2136
2257
|
return;
|
|
2137
2258
|
}
|
|
2138
2259
|
this.flashlight =
|
|
2139
|
-
Math.pow(this.difficultyAttributes.flashlightDifficulty
|
|
2260
|
+
Math.pow(this.difficultyAttributes.flashlightDifficulty /
|
|
2261
|
+
this._flashlightSliderCheesePenalty, 1.6) * 25;
|
|
2140
2262
|
// Combo scaling
|
|
2141
2263
|
this.flashlight *= this.comboPenalty;
|
|
2142
2264
|
if (this.effectiveMissCount > 0) {
|
|
@@ -2153,20 +2275,16 @@ class DroidPerformanceCalculator extends PerformanceCalculator {
|
|
|
2153
2275
|
(this.totalHits > 200
|
|
2154
2276
|
? 0.2 * Math.min(1, (this.totalHits - 200) / 200)
|
|
2155
2277
|
: 0);
|
|
2156
|
-
// Scale the flashlight value with
|
|
2157
|
-
this.flashlight *=
|
|
2158
|
-
0.5 + this.computedAccuracy.value(this.totalHits) / 2;
|
|
2159
|
-
// It is also important to consider accuracy difficulty when doing that.
|
|
2160
|
-
const od = this.difficultyAttributes.overallDifficulty;
|
|
2161
|
-
const odScaling = Math.pow(od, 2) / 2500;
|
|
2162
|
-
this.flashlight *= 0.98 + (od >= 0 ? odScaling : -odScaling);
|
|
2278
|
+
// Scale the flashlight value with deviation.
|
|
2279
|
+
this.flashlight *= osuBase.ErrorFunction.erf(50 / (Math.SQRT2 * this._deviation));
|
|
2163
2280
|
}
|
|
2164
2281
|
/**
|
|
2165
2282
|
* Calculates the visual performance value of the beatmap.
|
|
2166
2283
|
*/
|
|
2167
2284
|
calculateVisualValue() {
|
|
2168
2285
|
this.visual =
|
|
2169
|
-
Math.pow(this.difficultyAttributes.visualDifficulty
|
|
2286
|
+
Math.pow(this.difficultyAttributes.visualDifficulty /
|
|
2287
|
+
this._visualSliderCheesePenalty, 1.6) * 22.5;
|
|
2170
2288
|
if (this.effectiveMissCount > 0) {
|
|
2171
2289
|
// Penalize misses by assessing # of misses relative to the total # of objects. Default a 3% reduction for any # of misses.
|
|
2172
2290
|
this.visual *=
|
|
@@ -2180,12 +2298,83 @@ class DroidPerformanceCalculator extends PerformanceCalculator {
|
|
|
2180
2298
|
this.visual *= Math.min(1, 1.650668 +
|
|
2181
2299
|
(0.4845796 - 1.650668) /
|
|
2182
2300
|
(1 + Math.pow(this.totalHits / 817.9306, 1.147469)));
|
|
2183
|
-
// Scale the visual value with
|
|
2184
|
-
this.visual *=
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2301
|
+
// Scale the visual value with deviation.
|
|
2302
|
+
this.visual *=
|
|
2303
|
+
1.065 *
|
|
2304
|
+
Math.pow(osuBase.ErrorFunction.erf(30 / (Math.SQRT2 * this._deviation)), 1.75);
|
|
2305
|
+
}
|
|
2306
|
+
/**
|
|
2307
|
+
* Estimates the player's tap deviation based on the OD, number of circles and sliders,
|
|
2308
|
+
* and number of 300s, 100s, 50s, and misses, assuming the player's mean hit error is 0.
|
|
2309
|
+
*
|
|
2310
|
+
* The estimation is consistent in that two SS scores on the same map
|
|
2311
|
+
* with the same settings will always return the same deviation.
|
|
2312
|
+
*
|
|
2313
|
+
* Sliders are treated as circles with a 50 hit window.
|
|
2314
|
+
*
|
|
2315
|
+
* Misses are ignored because they are usually due to misaiming, and 50s
|
|
2316
|
+
* are grouped with 100s since they are usually due to misreading.
|
|
2317
|
+
*
|
|
2318
|
+
* Inaccuracies are capped to the number of circles in the map.
|
|
2319
|
+
*/
|
|
2320
|
+
calculateDeviation() {
|
|
2321
|
+
if (this.totalSuccessfulHits === 0) {
|
|
2322
|
+
return Number.POSITIVE_INFINITY;
|
|
2323
|
+
}
|
|
2324
|
+
const hitWindow300 = new osuBase.OsuHitWindow(this.difficultyAttributes.overallDifficulty).hitWindowFor300();
|
|
2325
|
+
// Obtain the 50 hit window for droid.
|
|
2326
|
+
const clockRate = new osuBase.MapStats({
|
|
2327
|
+
mods: this.difficultyAttributes.mods,
|
|
2328
|
+
}).calculate().speedMultiplier;
|
|
2329
|
+
const realHitWindow300 = hitWindow300 * clockRate;
|
|
2330
|
+
const droidHitWindow = new osuBase.DroidHitWindow(osuBase.OsuHitWindow.hitWindow300ToOD(realHitWindow300));
|
|
2331
|
+
const hitWindow50 = droidHitWindow.hitWindowFor50(this.difficultyAttributes.mods.some((m) => m instanceof osuBase.ModPrecise)) / clockRate;
|
|
2332
|
+
const greatCountOnCircles = this.difficultyAttributes.hitCircleCount -
|
|
2333
|
+
this.computedAccuracy.n100 -
|
|
2334
|
+
this.computedAccuracy.n50 -
|
|
2335
|
+
this.computedAccuracy.nmiss;
|
|
2336
|
+
// The probability that a player hits a circle is unknown, but we can estimate it to be
|
|
2337
|
+
// the number of greats on circles divided by the number of circles, and then add one
|
|
2338
|
+
// to the number of circles as a bias correction / bayesian prior.
|
|
2339
|
+
const greatProbabilityCircle = Math.max(0, greatCountOnCircles / (this.difficultyAttributes.hitCircleCount + 1));
|
|
2340
|
+
let greatProbabilitySlider;
|
|
2341
|
+
if (greatCountOnCircles < 0) {
|
|
2342
|
+
const nonCircleMisses = -greatCountOnCircles;
|
|
2343
|
+
greatProbabilitySlider = Math.max(0, (this.difficultyAttributes.sliderCount - nonCircleMisses) /
|
|
2344
|
+
(this.difficultyAttributes.sliderCount + 1));
|
|
2345
|
+
}
|
|
2346
|
+
else {
|
|
2347
|
+
greatProbabilitySlider =
|
|
2348
|
+
this.difficultyAttributes.sliderCount /
|
|
2349
|
+
(this.difficultyAttributes.sliderCount + 1);
|
|
2350
|
+
}
|
|
2351
|
+
if (greatProbabilityCircle === 0 && greatProbabilitySlider === 0) {
|
|
2352
|
+
return Number.POSITIVE_INFINITY;
|
|
2353
|
+
}
|
|
2354
|
+
const deviationOnCircles = hitWindow300 /
|
|
2355
|
+
(Math.SQRT2 * osuBase.ErrorFunction.erfInv(greatProbabilityCircle));
|
|
2356
|
+
const deviationOnSliders = hitWindow50 /
|
|
2357
|
+
(Math.SQRT2 * osuBase.ErrorFunction.erfInv(greatProbabilitySlider));
|
|
2358
|
+
return Math.min(deviationOnCircles, deviationOnSliders);
|
|
2359
|
+
}
|
|
2360
|
+
/**
|
|
2361
|
+
* Does the same as {@link calculateDeviation}, but only for notes and inaccuracies that are relevant to tap difficulty.
|
|
2362
|
+
*
|
|
2363
|
+
* Treats all difficult speed notes as circles, so this method can sometimes return a lower deviation than {@link calculateDeviation}.
|
|
2364
|
+
* This is fine though, since this method is only used to scale tap pp.
|
|
2365
|
+
*/
|
|
2366
|
+
calculateTapDeviation() {
|
|
2367
|
+
if (this.totalSuccessfulHits === 0) {
|
|
2368
|
+
return Number.POSITIVE_INFINITY;
|
|
2369
|
+
}
|
|
2370
|
+
const hitWindow300 = new osuBase.OsuHitWindow(this.difficultyAttributes.overallDifficulty).hitWindowFor300();
|
|
2371
|
+
const relevantTotalDiff = this.totalHits - this.difficultyAttributes.speedNoteCount;
|
|
2372
|
+
const relevantCountGreat = Math.max(0, this.computedAccuracy.n300 - relevantTotalDiff);
|
|
2373
|
+
if (relevantCountGreat == 0) {
|
|
2374
|
+
return Number.POSITIVE_INFINITY;
|
|
2375
|
+
}
|
|
2376
|
+
const greatProbability = relevantCountGreat / (this.difficultyAttributes.speedNoteCount + 1);
|
|
2377
|
+
return (hitWindow300 / (Math.SQRT2 * osuBase.ErrorFunction.erfInv(greatProbability)));
|
|
2189
2378
|
}
|
|
2190
2379
|
toString() {
|
|
2191
2380
|
return (this.total.toFixed(2) +
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/evaluators/base/AimEvaluator.ts","../src/preprocessing/DifficultyHitObject.ts","../src/preprocessing/DifficultyHitObjectCreator.ts","../src/base/DifficultyCalculator.ts","../src/evaluators/droid/DroidAimEvaluator.ts","../src/base/Skill.ts","../src/base/StrainSkill.ts","../src/skills/droid/DroidSkill.ts","../src/skills/droid/DroidAim.ts","../src/evaluators/base/SpeedEvaluator.ts","../src/evaluators/droid/DroidTapEvaluator.ts","../src/skills/droid/DroidTap.ts","../src/evaluators/base/FlashlightEvaluator.ts","../src/evaluators/droid/DroidFlashlightEvaluator.ts","../src/skills/droid/DroidFlashlight.ts","../src/evaluators/base/RhythmEvaluator.ts","../src/evaluators/droid/DroidRhythmEvaluator.ts","../src/skills/droid/DroidRhythm.ts","../src/evaluators/droid/DroidVisualEvaluator.ts","../src/skills/droid/DroidVisual.ts","../src/DroidDifficultyCalculator.ts","../src/base/PerformanceCalculator.ts","../src/DroidPerformanceCalculator.ts","../src/skills/osu/OsuSkill.ts","../src/evaluators/osu/OsuAimEvaluator.ts","../src/skills/osu/OsuAim.ts","../src/evaluators/osu/OsuSpeedEvaluator.ts","../src/evaluators/osu/OsuRhythmEvaluator.ts","../src/skills/osu/OsuSpeed.ts","../src/evaluators/osu/OsuFlashlightEvaluator.ts","../src/skills/osu/OsuFlashlight.ts","../src/OsuDifficultyCalculator.ts","../src/MapStars.ts","../src/OsuPerformanceCalculator.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Modes","ModHidden","MathUtils","Spinner","Slider","MapStats","Precision","SliderRepeat","Utils","Interpolation","OsuHitWindow","ModRelax","ModFlashlight","Accuracy","ModNoFail","ModSpunOut","ModScoreV2","ModTouchDevice"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/evaluators/base/AimEvaluator.ts","../src/preprocessing/DifficultyHitObject.ts","../src/preprocessing/DifficultyHitObjectCreator.ts","../src/base/DifficultyCalculator.ts","../src/evaluators/droid/DroidAimEvaluator.ts","../src/base/Skill.ts","../src/base/StrainSkill.ts","../src/skills/droid/DroidSkill.ts","../src/skills/droid/DroidAim.ts","../src/evaluators/base/SpeedEvaluator.ts","../src/evaluators/droid/DroidTapEvaluator.ts","../src/skills/droid/DroidTap.ts","../src/evaluators/base/FlashlightEvaluator.ts","../src/evaluators/droid/DroidFlashlightEvaluator.ts","../src/skills/droid/DroidFlashlight.ts","../src/evaluators/base/RhythmEvaluator.ts","../src/evaluators/droid/DroidRhythmEvaluator.ts","../src/skills/droid/DroidRhythm.ts","../src/evaluators/droid/DroidVisualEvaluator.ts","../src/skills/droid/DroidVisual.ts","../src/DroidDifficultyCalculator.ts","../src/base/PerformanceCalculator.ts","../src/DroidPerformanceCalculator.ts","../src/skills/osu/OsuSkill.ts","../src/evaluators/osu/OsuAimEvaluator.ts","../src/skills/osu/OsuAim.ts","../src/evaluators/osu/OsuSpeedEvaluator.ts","../src/evaluators/osu/OsuRhythmEvaluator.ts","../src/skills/osu/OsuSpeed.ts","../src/evaluators/osu/OsuFlashlightEvaluator.ts","../src/skills/osu/OsuFlashlight.ts","../src/OsuDifficultyCalculator.ts","../src/MapStars.ts","../src/OsuPerformanceCalculator.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Modes","ModHidden","MathUtils","Spinner","Slider","MapStats","Precision","SliderRepeat","Utils","Interpolation","OsuHitWindow","ModRelax","ModFlashlight","Accuracy","ModNoFail","ModSpunOut","ErrorFunction","DroidHitWindow","ModPrecise","ModTouchDevice","ModScoreV2"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rian8337/osu-difficulty-calculator",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "A module for calculating osu!standard beatmap difficulty and performance value with respect to the current difficulty and performance algorithm.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"osu",
|
|
@@ -35,5 +35,5 @@
|
|
|
35
35
|
"publishConfig": {
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "83bf2ae16e00938486fcc948937f02aac384a549"
|
|
39
39
|
}
|
package/typings/index.d.ts
CHANGED
|
@@ -522,7 +522,7 @@ declare class DifficultyHitObjectCreator {
|
|
|
522
522
|
* The base normalized radius of hitobjects.
|
|
523
523
|
*/
|
|
524
524
|
private readonly normalizedRadius;
|
|
525
|
-
private
|
|
525
|
+
private maximumSliderRadius;
|
|
526
526
|
private readonly assumedSliderRadius;
|
|
527
527
|
private readonly minDeltaTime;
|
|
528
528
|
/**
|
|
@@ -590,6 +590,9 @@ declare class DroidAim extends DroidSkill {
|
|
|
590
590
|
* An evaluator for calculating osu!droid Aim skill.
|
|
591
591
|
*/
|
|
592
592
|
declare abstract class DroidAimEvaluator extends AimEvaluator {
|
|
593
|
+
protected static readonly wideAngleMultiplier: number;
|
|
594
|
+
protected static readonly sliderMultiplier: number;
|
|
595
|
+
protected static readonly velocityChangeMultiplier: number;
|
|
593
596
|
/**
|
|
594
597
|
* Spacing threshold for a single hitobject spacing.
|
|
595
598
|
*/
|
|
@@ -809,6 +812,18 @@ interface PerformanceCalculationOptions {
|
|
|
809
812
|
* The tap penalty to apply for penalized scores. Only used when using `DroidPerformanceCalculator`.
|
|
810
813
|
*/
|
|
811
814
|
tapPenalty?: number;
|
|
815
|
+
/**
|
|
816
|
+
* The aim slider cheese penalty to apply for penalized scores. Only used when using `DroidPerformanceCalculator`.
|
|
817
|
+
*/
|
|
818
|
+
aimSliderCheesePenalty?: number;
|
|
819
|
+
/**
|
|
820
|
+
* The flashlight slider cheese penalty to apply for penalized scores. Only used when using `DroidPerformanceCalculator`.
|
|
821
|
+
*/
|
|
822
|
+
flashlightSliderCheesePenalty?: number;
|
|
823
|
+
/**
|
|
824
|
+
* The visual slider cheese penalty to apply for penalized scores. Only used when using `DroidPerformanceCalculator`.
|
|
825
|
+
*/
|
|
826
|
+
visualSliderCheesePenalty?: number;
|
|
812
827
|
}
|
|
813
828
|
|
|
814
829
|
/**
|
|
@@ -873,6 +888,10 @@ declare abstract class PerformanceCalculator {
|
|
|
873
888
|
* The total hits that can be done in the beatmap.
|
|
874
889
|
*/
|
|
875
890
|
protected get totalHits(): number;
|
|
891
|
+
/**
|
|
892
|
+
* The total hits that were successfully done.
|
|
893
|
+
*/
|
|
894
|
+
protected get totalSuccessfulHits(): number;
|
|
876
895
|
/**
|
|
877
896
|
* Calculates the base performance value of a star rating.
|
|
878
897
|
*/
|
|
@@ -919,10 +938,41 @@ declare class DroidPerformanceCalculator extends PerformanceCalculator {
|
|
|
919
938
|
* Can be properly obtained by analyzing the replay associated with the score.
|
|
920
939
|
*/
|
|
921
940
|
get tapPenalty(): number;
|
|
922
|
-
|
|
941
|
+
/**
|
|
942
|
+
* The estimated deviation of the score.
|
|
943
|
+
*/
|
|
944
|
+
get deviation(): number;
|
|
945
|
+
/**
|
|
946
|
+
* The estimated tap deviation of the score.
|
|
947
|
+
*/
|
|
948
|
+
get tapDeviation(): number;
|
|
949
|
+
/**
|
|
950
|
+
* The penalty used to penalize the aim performance value.
|
|
951
|
+
*
|
|
952
|
+
* Can be properly obtained by analyzing the replay associated with the score.
|
|
953
|
+
*/
|
|
954
|
+
get aimSliderCheesePenalty(): number;
|
|
955
|
+
/**
|
|
956
|
+
* The penalty used to penalize the flashlight performance value.
|
|
957
|
+
*
|
|
958
|
+
* Can be properly obtained by analyzing the replay associated with the score.
|
|
959
|
+
*/
|
|
960
|
+
get flashlightSliderCheesePenalty(): number;
|
|
961
|
+
/**
|
|
962
|
+
* The penalty used to penalize the visual performance value.
|
|
963
|
+
*
|
|
964
|
+
* Can be properly obtained by analyzing the replay associated with the score.
|
|
965
|
+
*/
|
|
966
|
+
get visualSliderCheesePenalty(): number;
|
|
923
967
|
readonly difficultyAttributes: DroidDifficultyAttributes;
|
|
924
968
|
protected finalMultiplier: number;
|
|
925
969
|
protected readonly mode: Modes;
|
|
970
|
+
private _aimSliderCheesePenalty;
|
|
971
|
+
private _flashlightSliderCheesePenalty;
|
|
972
|
+
private _visualSliderCheesePenalty;
|
|
973
|
+
private _tapPenalty;
|
|
974
|
+
private _deviation;
|
|
975
|
+
private _tapDeviation;
|
|
926
976
|
/**
|
|
927
977
|
* @param difficultyAttributes The difficulty attributes to calculate.
|
|
928
978
|
*/
|
|
@@ -930,11 +980,35 @@ declare class DroidPerformanceCalculator extends PerformanceCalculator {
|
|
|
930
980
|
/**
|
|
931
981
|
* Applies a tap penalty value to this calculator.
|
|
932
982
|
*
|
|
933
|
-
* The total performance value will be recalculated afterwards.
|
|
983
|
+
* The tap and total performance value will be recalculated afterwards.
|
|
934
984
|
*
|
|
935
985
|
* @param value The tap penalty value. Must be greater than 0.
|
|
936
986
|
*/
|
|
937
987
|
applyTapPenalty(value: number): void;
|
|
988
|
+
/**
|
|
989
|
+
* Applies an aim slider cheese penalty value to this calculator.
|
|
990
|
+
*
|
|
991
|
+
* The aim and total performance value will be recalculated afterwards.
|
|
992
|
+
*
|
|
993
|
+
* @param value The slider cheese penalty value. Must be greater than 0.
|
|
994
|
+
*/
|
|
995
|
+
applyAimSliderCheesePenalty(value: number): void;
|
|
996
|
+
/**
|
|
997
|
+
* Applies a flashlight slider cheese penalty value to this calculator.
|
|
998
|
+
*
|
|
999
|
+
* The flashlight and total performance value will be recalculated afterwards.
|
|
1000
|
+
*
|
|
1001
|
+
* @param value The slider cheese penalty value. Must be greater than 0.
|
|
1002
|
+
*/
|
|
1003
|
+
applyFlashlightSliderCheesePenalty(value: number): void;
|
|
1004
|
+
/**
|
|
1005
|
+
* Applies a visual slider cheese penalty value to this calculator.
|
|
1006
|
+
*
|
|
1007
|
+
* The visual and total performance value will be recalculated afterwards.
|
|
1008
|
+
*
|
|
1009
|
+
* @param value The slider cheese penalty value. Must be greater than 0.
|
|
1010
|
+
*/
|
|
1011
|
+
applyVisualSliderCheesePenalty(value: number): void;
|
|
938
1012
|
protected calculateValues(): void;
|
|
939
1013
|
protected calculateTotalValue(): void;
|
|
940
1014
|
protected handleOptions(options?: PerformanceCalculationOptions): void;
|
|
@@ -958,6 +1032,28 @@ declare class DroidPerformanceCalculator extends PerformanceCalculator {
|
|
|
958
1032
|
* Calculates the visual performance value of the beatmap.
|
|
959
1033
|
*/
|
|
960
1034
|
private calculateVisualValue;
|
|
1035
|
+
/**
|
|
1036
|
+
* Estimates the player's tap deviation based on the OD, number of circles and sliders,
|
|
1037
|
+
* and number of 300s, 100s, 50s, and misses, assuming the player's mean hit error is 0.
|
|
1038
|
+
*
|
|
1039
|
+
* The estimation is consistent in that two SS scores on the same map
|
|
1040
|
+
* with the same settings will always return the same deviation.
|
|
1041
|
+
*
|
|
1042
|
+
* Sliders are treated as circles with a 50 hit window.
|
|
1043
|
+
*
|
|
1044
|
+
* Misses are ignored because they are usually due to misaiming, and 50s
|
|
1045
|
+
* are grouped with 100s since they are usually due to misreading.
|
|
1046
|
+
*
|
|
1047
|
+
* Inaccuracies are capped to the number of circles in the map.
|
|
1048
|
+
*/
|
|
1049
|
+
private calculateDeviation;
|
|
1050
|
+
/**
|
|
1051
|
+
* Does the same as {@link calculateDeviation}, but only for notes and inaccuracies that are relevant to tap difficulty.
|
|
1052
|
+
*
|
|
1053
|
+
* Treats all difficult speed notes as circles, so this method can sometimes return a lower deviation than {@link calculateDeviation}.
|
|
1054
|
+
* This is fine though, since this method is only used to scale tap pp.
|
|
1055
|
+
*/
|
|
1056
|
+
private calculateTapDeviation;
|
|
961
1057
|
toString(): string;
|
|
962
1058
|
}
|
|
963
1059
|
|