@rian8337/osu-difficulty-calculator 3.0.0-beta.12 → 3.0.0-beta.13
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 +178 -114
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/typings/index.d.ts +15 -6
package/dist/index.js
CHANGED
|
@@ -11,8 +11,8 @@ var osuBase = require('@rian8337/osu-base');
|
|
|
11
11
|
*/
|
|
12
12
|
class AimEvaluator {
|
|
13
13
|
static wideAngleMultiplier = 1.5;
|
|
14
|
-
static acuteAngleMultiplier =
|
|
15
|
-
static sliderMultiplier = 1.
|
|
14
|
+
static acuteAngleMultiplier = 1.95;
|
|
15
|
+
static sliderMultiplier = 1.35;
|
|
16
16
|
static velocityChangeMultiplier = 0.75;
|
|
17
17
|
/**
|
|
18
18
|
* Calculates the bonus of wide angles.
|
|
@@ -119,7 +119,7 @@ class DifficultyHitObject {
|
|
|
119
119
|
*/
|
|
120
120
|
travelDistance = 0;
|
|
121
121
|
/**
|
|
122
|
-
* The time taken to travel through `travelDistance`, with a minimum value of 25ms for
|
|
122
|
+
* The time taken to travel through `travelDistance`, with a minimum value of 25ms for sliders.
|
|
123
123
|
*/
|
|
124
124
|
travelTime = 0;
|
|
125
125
|
/**
|
|
@@ -292,7 +292,7 @@ class DifficultyHitObjectCreator {
|
|
|
292
292
|
const osuScale = (1 - (0.7 * (osuCircleSize - 5)) / 5) / 2;
|
|
293
293
|
params.objects[0].droidScale = droidScale;
|
|
294
294
|
params.objects[0].osuScale = osuScale;
|
|
295
|
-
const scalingFactor = this.getScalingFactor(params.objects[0].getRadius(
|
|
295
|
+
const scalingFactor = this.getScalingFactor(params.objects[0].getRadius(this.mode));
|
|
296
296
|
const difficultyObjects = [];
|
|
297
297
|
for (let i = 0; i < params.objects.length; ++i) {
|
|
298
298
|
const object = new DifficultyHitObject(params.objects[i], difficultyObjects);
|
|
@@ -310,6 +310,13 @@ class DifficultyHitObjectCreator {
|
|
|
310
310
|
});
|
|
311
311
|
this.calculateSliderCursorPosition(object.object);
|
|
312
312
|
object.travelDistance = object.object.lazyTravelDistance;
|
|
313
|
+
// Bonus for repeat sliders until a better per nested object strain system can be achieved.
|
|
314
|
+
if (this.mode === osuBase.modes.droid) {
|
|
315
|
+
object.travelDistance *= Math.pow(1 + object.object.repeats / 4, 1 / 4);
|
|
316
|
+
}
|
|
317
|
+
else {
|
|
318
|
+
object.travelDistance *= Math.pow(1 + object.object.repeats / 2.5, 1 / 2.5);
|
|
319
|
+
}
|
|
313
320
|
object.travelTime = Math.max(object.object.lazyTravelTime / params.speedMultiplier, this.minDeltaTime);
|
|
314
321
|
}
|
|
315
322
|
const lastObject = difficultyObjects[i - 1];
|
|
@@ -491,13 +498,6 @@ class DifficultyHitObjectCreator {
|
|
|
491
498
|
slider.lazyEndPosition = currentCursorPosition;
|
|
492
499
|
}
|
|
493
500
|
}
|
|
494
|
-
// Bonus for repeat sliders until a better per nested object strain system can be achieved.
|
|
495
|
-
if (this.mode === osuBase.modes.droid) {
|
|
496
|
-
slider.lazyTravelDistance *= Math.pow(1 + slider.repeats / 4, 1 / 4);
|
|
497
|
-
}
|
|
498
|
-
else {
|
|
499
|
-
slider.lazyTravelDistance *= Math.pow(1 + slider.repeats / 2.5, 1 / 2.5);
|
|
500
|
-
}
|
|
501
501
|
}
|
|
502
502
|
/**
|
|
503
503
|
* Gets the scaling factor of a radius.
|
|
@@ -672,8 +672,6 @@ class DifficultyCalculator {
|
|
|
672
672
|
* An evaluator for calculating osu!droid Aim skill.
|
|
673
673
|
*/
|
|
674
674
|
class DroidAimEvaluator extends AimEvaluator {
|
|
675
|
-
static acuteAngleMultiplier = 1.95;
|
|
676
|
-
static sliderMultiplier = 1.35;
|
|
677
675
|
/**
|
|
678
676
|
* Spacing threshold for a single hitobject spacing.
|
|
679
677
|
*/
|
|
@@ -1787,28 +1785,21 @@ class PerformanceCalculator {
|
|
|
1787
1785
|
this.difficultyCalculator.objects.length, 0.85);
|
|
1788
1786
|
}
|
|
1789
1787
|
if (this.difficultyCalculator.mods.some((m) => m instanceof osuBase.ModRelax)) {
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
? 1 -
|
|
1801
|
-
Math.pow(this.difficultyCalculator.stats.od / 13.33, 5)
|
|
1802
|
-
: 1);
|
|
1803
|
-
}
|
|
1788
|
+
// Graph: https://www.desmos.com/calculator/bc9eybdthb
|
|
1789
|
+
// We use OD13.3 as maximum since it's the value at which great hit window becomes 0.
|
|
1790
|
+
const n100Multiplier = Math.max(0, this.difficultyCalculator.stats.od > 0
|
|
1791
|
+
? 1 -
|
|
1792
|
+
Math.pow(this.difficultyCalculator.stats.od / 13.33, 1.8)
|
|
1793
|
+
: 1);
|
|
1794
|
+
const n50Multiplier = Math.max(0, this.difficultyCalculator.stats.od > 0.0
|
|
1795
|
+
? 1 -
|
|
1796
|
+
Math.pow(this.difficultyCalculator.stats.od / 13.33, 5)
|
|
1797
|
+
: 1);
|
|
1804
1798
|
// As we're adding 100s and 50s to an approximated number of combo breaks, the result can be higher
|
|
1805
1799
|
// than total hits in specific scenarios (which breaks some calculations), so we need to clamp it.
|
|
1806
1800
|
this.effectiveMissCount = Math.min(this.effectiveMissCount +
|
|
1807
1801
|
this.computedAccuracy.n100 * n100Multiplier +
|
|
1808
1802
|
this.computedAccuracy.n50 * n50Multiplier, this.difficultyCalculator.objects.length);
|
|
1809
|
-
if (this.mode === osuBase.modes.osu) {
|
|
1810
|
-
this.finalMultiplier *= 0.6;
|
|
1811
|
-
}
|
|
1812
1803
|
}
|
|
1813
1804
|
if (this.difficultyCalculator.beatmap.hitObjects.sliders > 0) {
|
|
1814
1805
|
// We assume 15% of sliders in a beatmap are difficult since there's no way to tell from the performance calculator.
|
|
@@ -1833,14 +1824,17 @@ class PerformanceCalculator {
|
|
|
1833
1824
|
const fullComboThreshold = maxCombo -
|
|
1834
1825
|
0.1 * this.difficultyCalculator.beatmap.hitObjects.sliders;
|
|
1835
1826
|
if (combo < fullComboThreshold) {
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1827
|
+
comboBasedMissCount = Math.min(fullComboThreshold / Math.max(1, combo), this.mode === osuBase.modes.droid
|
|
1828
|
+
? // We're clamping miss count because since it's derived from combo, it can
|
|
1829
|
+
// be higher than the amount of objects and that breaks some calculations.
|
|
1830
|
+
this.difficultyCalculator.objects.length
|
|
1831
|
+
: // Clamp miss count to maximum amount of possible breaks.
|
|
1832
|
+
this.computedAccuracy.n300 +
|
|
1833
|
+
this.computedAccuracy.n100 +
|
|
1834
|
+
this.computedAccuracy.nmiss);
|
|
1839
1835
|
}
|
|
1840
1836
|
}
|
|
1841
|
-
return Math.max(this.computedAccuracy.nmiss,
|
|
1842
|
-
? comboBasedMissCount
|
|
1843
|
-
: Math.floor(comboBasedMissCount));
|
|
1837
|
+
return Math.max(this.computedAccuracy.nmiss, comboBasedMissCount);
|
|
1844
1838
|
}
|
|
1845
1839
|
}
|
|
1846
1840
|
|
|
@@ -2236,15 +2230,7 @@ class OsuAimEvaluator extends AimEvaluator {
|
|
|
2236
2230
|
Math.max(prevVelocity, currentVelocity)), 2);
|
|
2237
2231
|
// Reward for % distance up to 125 / strainTime for overlaps where velocity is still changing.
|
|
2238
2232
|
const overlapVelocityBuff = Math.min(125 / Math.min(current.strainTime, last.strainTime), Math.abs(prevVelocity - currentVelocity));
|
|
2239
|
-
|
|
2240
|
-
const nonOverlapVelocityBuff = Math.abs(prevVelocity - currentVelocity) *
|
|
2241
|
-
// Do not award overlap.
|
|
2242
|
-
Math.pow(Math.sin((Math.PI / 2) *
|
|
2243
|
-
Math.min(1, Math.min(current.lazyJumpDistance, last.lazyJumpDistance) / 100)), 2);
|
|
2244
|
-
// Choose the largest bonus, multiplied by ratio.
|
|
2245
|
-
velocityChangeBonus =
|
|
2246
|
-
Math.max(overlapVelocityBuff, nonOverlapVelocityBuff) *
|
|
2247
|
-
distanceRatio;
|
|
2233
|
+
velocityChangeBonus = overlapVelocityBuff * distanceRatio;
|
|
2248
2234
|
// Penalize for rhythm changes.
|
|
2249
2235
|
velocityChangeBonus *= Math.pow(Math.min(current.strainTime, last.strainTime) /
|
|
2250
2236
|
Math.max(current.strainTime, last.strainTime), 2);
|
|
@@ -2268,7 +2254,7 @@ class OsuAimEvaluator extends AimEvaluator {
|
|
|
2268
2254
|
* Represents the skill required to correctly aim at every object in the map with a uniform CircleSize and normalized distances.
|
|
2269
2255
|
*/
|
|
2270
2256
|
class OsuAim extends OsuSkill {
|
|
2271
|
-
skillMultiplier = 23.
|
|
2257
|
+
skillMultiplier = 23.55;
|
|
2272
2258
|
strainDecayBase = 0.15;
|
|
2273
2259
|
reducedSectionCount = 10;
|
|
2274
2260
|
reducedSectionBaseline = 0.75;
|
|
@@ -2327,12 +2313,16 @@ class OsuSpeedEvaluator extends SpeedEvaluator {
|
|
|
2327
2313
|
const prev = current.previous(0);
|
|
2328
2314
|
let strainTime = current.strainTime;
|
|
2329
2315
|
const greatWindowFull = greatWindow * 2;
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
|
|
2316
|
+
// Nerf doubletappable doubles.
|
|
2317
|
+
const next = current.next(0);
|
|
2318
|
+
let doubletapness = 1;
|
|
2319
|
+
if (next) {
|
|
2320
|
+
const currentDeltaTime = Math.max(1, current.deltaTime);
|
|
2321
|
+
const nextDeltaTime = Math.max(1, next.deltaTime);
|
|
2322
|
+
const deltaDifference = Math.abs(nextDeltaTime - currentDeltaTime);
|
|
2323
|
+
const speedRatio = currentDeltaTime / Math.max(currentDeltaTime, deltaDifference);
|
|
2324
|
+
const windowRatio = Math.pow(Math.min(1, currentDeltaTime / greatWindowFull), 2);
|
|
2325
|
+
doubletapness = Math.pow(speedRatio, 1 - windowRatio);
|
|
2336
2326
|
}
|
|
2337
2327
|
// Cap deltatime to the OD 300 hitwindow.
|
|
2338
2328
|
// 0.93 is derived from making sure 260 BPM 1/4 OD8 streams aren't nerfed harshly, whilst 0.92 limits the effect of the cap.
|
|
@@ -2343,10 +2333,11 @@ class OsuSpeedEvaluator extends SpeedEvaluator {
|
|
|
2343
2333
|
0.75 * Math.pow((this.minSpeedBonus - strainTime) / 40, 2);
|
|
2344
2334
|
}
|
|
2345
2335
|
const travelDistance = prev?.travelDistance ?? 0;
|
|
2346
|
-
const distance = Math.min(this.SINGLE_SPACING_THRESHOLD, travelDistance + current.
|
|
2347
|
-
return ((speedBonus +
|
|
2336
|
+
const distance = Math.min(this.SINGLE_SPACING_THRESHOLD, travelDistance + current.minimumJumpDistance);
|
|
2337
|
+
return (((speedBonus +
|
|
2348
2338
|
speedBonus *
|
|
2349
|
-
Math.pow(distance / this.SINGLE_SPACING_THRESHOLD, 3.5))
|
|
2339
|
+
Math.pow(distance / this.SINGLE_SPACING_THRESHOLD, 3.5)) *
|
|
2340
|
+
doubletapness) /
|
|
2350
2341
|
strainTime);
|
|
2351
2342
|
}
|
|
2352
2343
|
}
|
|
@@ -2484,7 +2475,7 @@ class OsuSpeed extends OsuSkill {
|
|
|
2484
2475
|
* @param current The hitobject to calculate.
|
|
2485
2476
|
*/
|
|
2486
2477
|
strainValueAt(current) {
|
|
2487
|
-
this.currentSpeedStrain *= this.strainDecay(current.
|
|
2478
|
+
this.currentSpeedStrain *= this.strainDecay(current.strainTime);
|
|
2488
2479
|
this.currentSpeedStrain +=
|
|
2489
2480
|
OsuSpeedEvaluator.evaluateDifficultyOf(current, this.greatWindow) *
|
|
2490
2481
|
this.skillMultiplier;
|
|
@@ -2504,16 +2495,22 @@ class OsuSpeed extends OsuSkill {
|
|
|
2504
2495
|
* An evaluator for calculating osu!standard Flashlight skill.
|
|
2505
2496
|
*/
|
|
2506
2497
|
class OsuFlashlightEvaluator extends FlashlightEvaluator {
|
|
2498
|
+
static minVelocity = 0.5;
|
|
2499
|
+
static sliderMultiplier = 1.3;
|
|
2500
|
+
static minAngleMultiplier = 0.2;
|
|
2507
2501
|
/**
|
|
2508
2502
|
* Evaluates the difficulty of memorizing and hitting the current object, based on:
|
|
2509
2503
|
*
|
|
2510
|
-
* - distance between
|
|
2504
|
+
* - distance between a number of previous objects and the current object,
|
|
2511
2505
|
* - the visual opacity of the current object,
|
|
2506
|
+
* - the angle made by the current object,
|
|
2507
|
+
* - length and speed of the current object (for sliders),
|
|
2512
2508
|
* - and whether Hidden mod is enabled.
|
|
2513
2509
|
*
|
|
2514
2510
|
* @param current The current object.
|
|
2511
|
+
* @param isHiddenMod Whether the Hidden mod is enabled.
|
|
2515
2512
|
*/
|
|
2516
|
-
static evaluateDifficultyOf(current) {
|
|
2513
|
+
static evaluateDifficultyOf(current, isHiddenMod) {
|
|
2517
2514
|
if (current.object instanceof osuBase.Spinner) {
|
|
2518
2515
|
return 0;
|
|
2519
2516
|
}
|
|
@@ -2521,26 +2518,61 @@ class OsuFlashlightEvaluator extends FlashlightEvaluator {
|
|
|
2521
2518
|
let smallDistNerf = 1;
|
|
2522
2519
|
let cumulativeStrainTime = 0;
|
|
2523
2520
|
let result = 0;
|
|
2521
|
+
let last = current;
|
|
2522
|
+
let angleRepeatCount = 0;
|
|
2524
2523
|
for (let i = 0; i < Math.min(current.index, 10); ++i) {
|
|
2525
|
-
const
|
|
2526
|
-
if (
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
.
|
|
2531
|
-
.
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2524
|
+
const currentObject = current.previous(i);
|
|
2525
|
+
if (!(currentObject.object instanceof osuBase.Spinner)) {
|
|
2526
|
+
const jumpDistance = current.object
|
|
2527
|
+
.getStackedPosition(osuBase.modes.osu)
|
|
2528
|
+
.subtract(currentObject.object.endPosition).length;
|
|
2529
|
+
cumulativeStrainTime += last.strainTime;
|
|
2530
|
+
// We want to nerf objects that can be easily seen within the Flashlight circle radius.
|
|
2531
|
+
if (i === 0) {
|
|
2532
|
+
smallDistNerf = Math.min(1, jumpDistance / 75);
|
|
2533
|
+
}
|
|
2534
|
+
// We also want to nerf stacks so that only the first object of the stack is accounted for.
|
|
2535
|
+
const stackNerf = Math.min(1, currentObject.lazyJumpDistance / scalingFactor / 25);
|
|
2536
|
+
// Bonus based on how visible the object is.
|
|
2537
|
+
const opacityBonus = 1 +
|
|
2538
|
+
this.maxOpacityBonus *
|
|
2539
|
+
(1 -
|
|
2540
|
+
current.opacityAt(currentObject.object.startTime, isHiddenMod));
|
|
2541
|
+
result +=
|
|
2542
|
+
(stackNerf * opacityBonus * scalingFactor * jumpDistance) /
|
|
2543
|
+
cumulativeStrainTime;
|
|
2544
|
+
if (currentObject.angle !== null && current.angle !== null) {
|
|
2545
|
+
// Objects further back in time should count less for the nerf.
|
|
2546
|
+
if (Math.abs(currentObject.angle - current.angle) < 0.02) {
|
|
2547
|
+
angleRepeatCount += Math.max(0, 1 - 0.1 * i);
|
|
2548
|
+
}
|
|
2549
|
+
}
|
|
2536
2550
|
}
|
|
2537
|
-
|
|
2538
|
-
const stackNerf = Math.min(1, previous.lazyJumpDistance / scalingFactor / 25);
|
|
2539
|
-
result +=
|
|
2540
|
-
(Math.pow(0.8, i) * stackNerf * scalingFactor * jumpDistance) /
|
|
2541
|
-
cumulativeStrainTime;
|
|
2551
|
+
last = currentObject;
|
|
2542
2552
|
}
|
|
2543
|
-
|
|
2553
|
+
result = Math.pow(smallDistNerf * result, 2);
|
|
2554
|
+
// Additional bonus for Hidden due to there being no approach circles.
|
|
2555
|
+
if (isHiddenMod) {
|
|
2556
|
+
result *= 1 + this.hiddenBonus;
|
|
2557
|
+
}
|
|
2558
|
+
// Nerf patterns with repeated angles.
|
|
2559
|
+
result *=
|
|
2560
|
+
this.minAngleMultiplier +
|
|
2561
|
+
(1 - this.minAngleMultiplier) / (angleRepeatCount + 1);
|
|
2562
|
+
let sliderBonus = 0;
|
|
2563
|
+
if (current.object instanceof osuBase.Slider) {
|
|
2564
|
+
// Invert the scaling factor to determine the true travel distance independent of circle size.
|
|
2565
|
+
const pixelTravelDistance = current.object.lazyTravelDistance / scalingFactor;
|
|
2566
|
+
// Reward sliders based on velocity.
|
|
2567
|
+
sliderBonus = Math.pow(Math.max(0, pixelTravelDistance / current.travelTime - this.minVelocity), 0.5);
|
|
2568
|
+
// Longer sliders require more memorization.
|
|
2569
|
+
sliderBonus *= pixelTravelDistance;
|
|
2570
|
+
// Nerf sliders with repeats, as less memorization is required.
|
|
2571
|
+
if (current.object.repeats > 0)
|
|
2572
|
+
sliderBonus /= current.object.repeats + 1;
|
|
2573
|
+
}
|
|
2574
|
+
result += sliderBonus * this.sliderMultiplier;
|
|
2575
|
+
return result;
|
|
2544
2576
|
}
|
|
2545
2577
|
}
|
|
2546
2578
|
|
|
@@ -2548,20 +2580,23 @@ class OsuFlashlightEvaluator extends FlashlightEvaluator {
|
|
|
2548
2580
|
* Represents the skill required to memorize and hit every object in a beatmap with the Flashlight mod enabled.
|
|
2549
2581
|
*/
|
|
2550
2582
|
class OsuFlashlight extends OsuSkill {
|
|
2551
|
-
skillMultiplier = 0.
|
|
2583
|
+
skillMultiplier = 0.052;
|
|
2552
2584
|
strainDecayBase = 0.15;
|
|
2553
|
-
reducedSectionCount =
|
|
2554
|
-
reducedSectionBaseline =
|
|
2555
|
-
difficultyMultiplier = 1.06;
|
|
2585
|
+
reducedSectionCount = 0;
|
|
2586
|
+
reducedSectionBaseline = 1;
|
|
2556
2587
|
decayWeight = 1;
|
|
2588
|
+
isHidden;
|
|
2589
|
+
constructor(mods) {
|
|
2590
|
+
super(mods);
|
|
2591
|
+
this.isHidden = mods.some((m) => m instanceof osuBase.ModHidden);
|
|
2592
|
+
}
|
|
2557
2593
|
/**
|
|
2558
2594
|
* @param current The hitobject to calculate.
|
|
2559
2595
|
*/
|
|
2560
2596
|
strainValueAt(current) {
|
|
2561
2597
|
this.currentStrain *= this.strainDecay(current.deltaTime);
|
|
2562
2598
|
this.currentStrain +=
|
|
2563
|
-
OsuFlashlightEvaluator.evaluateDifficultyOf(current) *
|
|
2564
|
-
this.skillMultiplier;
|
|
2599
|
+
OsuFlashlightEvaluator.evaluateDifficultyOf(current, this.isHidden) * this.skillMultiplier;
|
|
2565
2600
|
return this.currentStrain;
|
|
2566
2601
|
}
|
|
2567
2602
|
saveToHitObject(current) {
|
|
@@ -2629,7 +2664,7 @@ class OsuDifficultyCalculator extends DifficultyCalculator {
|
|
|
2629
2664
|
// Document for formula derivation:
|
|
2630
2665
|
// https://docs.google.com/document/d/10DZGYYSsT_yjz2Mtp6yIJld0Rqx4E-vVHupCqiM4TNI/edit
|
|
2631
2666
|
this.total =
|
|
2632
|
-
Math.cbrt(1.
|
|
2667
|
+
Math.cbrt(1.14) *
|
|
2633
2668
|
0.027 *
|
|
2634
2669
|
(Math.cbrt((100000 / Math.pow(2, 1 / 1.1)) * basePerformanceValue) +
|
|
2635
2670
|
4);
|
|
@@ -2641,19 +2676,16 @@ class OsuDifficultyCalculator extends DifficultyCalculator {
|
|
|
2641
2676
|
this.calculateSkills(...skills);
|
|
2642
2677
|
const aimSkill = skills[0];
|
|
2643
2678
|
const aimSkillWithoutSliders = skills[1];
|
|
2644
|
-
|
|
2645
|
-
|
|
2679
|
+
const speedSkill = skills[2];
|
|
2680
|
+
const flashlightSkill = skills[3];
|
|
2681
|
+
this.postCalculateAim(aimSkill, aimSkillWithoutSliders);
|
|
2646
2682
|
if (isRelax) {
|
|
2647
|
-
|
|
2683
|
+
this.speed = 0;
|
|
2648
2684
|
}
|
|
2649
2685
|
else {
|
|
2650
|
-
speedSkill = skills[2];
|
|
2651
|
-
flashlightSkill = skills[3];
|
|
2652
|
-
}
|
|
2653
|
-
this.postCalculateAim(aimSkill, aimSkillWithoutSliders);
|
|
2654
|
-
if (speedSkill) {
|
|
2655
2686
|
this.postCalculateSpeed(speedSkill);
|
|
2656
2687
|
}
|
|
2688
|
+
this.calculateSpeedAttributes();
|
|
2657
2689
|
this.postCalculateFlashlight(flashlightSkill);
|
|
2658
2690
|
this.calculateTotal();
|
|
2659
2691
|
}
|
|
@@ -2696,6 +2728,12 @@ class OsuDifficultyCalculator extends DifficultyCalculator {
|
|
|
2696
2728
|
this.starValue(aimSkillWithoutSliders.difficultyValue()) /
|
|
2697
2729
|
this.aim;
|
|
2698
2730
|
}
|
|
2731
|
+
if (this.mods.some((m) => m instanceof osuBase.ModTouchDevice)) {
|
|
2732
|
+
this.aim = Math.pow(this.aim, 0.8);
|
|
2733
|
+
}
|
|
2734
|
+
if (this.mods.some((m) => m instanceof osuBase.ModRelax)) {
|
|
2735
|
+
this.aim *= 0.9;
|
|
2736
|
+
}
|
|
2699
2737
|
}
|
|
2700
2738
|
/**
|
|
2701
2739
|
* Called after speed skill calculation.
|
|
@@ -2706,6 +2744,16 @@ class OsuDifficultyCalculator extends DifficultyCalculator {
|
|
|
2706
2744
|
this.strainPeaks.speed = speedSkill.strainPeaks;
|
|
2707
2745
|
this.speed = this.starValue(speedSkill.difficultyValue());
|
|
2708
2746
|
}
|
|
2747
|
+
/**
|
|
2748
|
+
* Calculates speed-related attributes.
|
|
2749
|
+
*/
|
|
2750
|
+
calculateSpeedAttributes() {
|
|
2751
|
+
const objectStrains = this.objects.map((v) => v.tapStrain);
|
|
2752
|
+
const maxStrain = Math.max(...objectStrains);
|
|
2753
|
+
if (maxStrain) {
|
|
2754
|
+
this.attributes.speedNoteCount = objectStrains.reduce((total, next) => total + 1 / (1 + Math.exp(-((next / maxStrain) * 12 - 6))), 0);
|
|
2755
|
+
}
|
|
2756
|
+
}
|
|
2709
2757
|
/**
|
|
2710
2758
|
* Called after flashlight skill calculation.
|
|
2711
2759
|
*
|
|
@@ -2714,6 +2762,12 @@ class OsuDifficultyCalculator extends DifficultyCalculator {
|
|
|
2714
2762
|
postCalculateFlashlight(flashlightSkill) {
|
|
2715
2763
|
this.strainPeaks.flashlight = flashlightSkill.strainPeaks;
|
|
2716
2764
|
this.flashlight = this.starValue(flashlightSkill.difficultyValue());
|
|
2765
|
+
if (this.mods.some((m) => m instanceof osuBase.ModTouchDevice)) {
|
|
2766
|
+
this.flashlight = Math.pow(this.flashlight, 0.8);
|
|
2767
|
+
}
|
|
2768
|
+
if (this.mods.some((m) => m instanceof osuBase.ModRelax)) {
|
|
2769
|
+
this.flashlight *= 0.7;
|
|
2770
|
+
}
|
|
2717
2771
|
}
|
|
2718
2772
|
}
|
|
2719
2773
|
|
|
@@ -2778,7 +2832,7 @@ class OsuPerformanceCalculator extends PerformanceCalculator {
|
|
|
2778
2832
|
* The flashlight performance value.
|
|
2779
2833
|
*/
|
|
2780
2834
|
flashlight = 0;
|
|
2781
|
-
finalMultiplier = 1.
|
|
2835
|
+
finalMultiplier = 1.14;
|
|
2782
2836
|
mode = osuBase.modes.osu;
|
|
2783
2837
|
calculateValues() {
|
|
2784
2838
|
this.calculateAimValue();
|
|
@@ -2800,9 +2854,7 @@ class OsuPerformanceCalculator extends PerformanceCalculator {
|
|
|
2800
2854
|
// Global variables
|
|
2801
2855
|
const objectCount = this.difficultyCalculator.objects.length;
|
|
2802
2856
|
const calculatedAR = this.difficultyCalculator.stats.ar;
|
|
2803
|
-
this.aim = this.baseValue(
|
|
2804
|
-
? 0.8
|
|
2805
|
-
: 1));
|
|
2857
|
+
this.aim = this.baseValue(this.difficultyCalculator.aim);
|
|
2806
2858
|
// Longer maps are worth more
|
|
2807
2859
|
let lengthBonus = 0.95 + 0.4 * Math.min(1, objectCount / 2000);
|
|
2808
2860
|
if (objectCount > 2000) {
|
|
@@ -2817,16 +2869,18 @@ class OsuPerformanceCalculator extends PerformanceCalculator {
|
|
|
2817
2869
|
}
|
|
2818
2870
|
// Combo scaling
|
|
2819
2871
|
this.aim *= this.comboPenalty;
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
|
|
2872
|
+
if (!this.difficultyCalculator.mods.some((m) => m instanceof osuBase.ModRelax)) {
|
|
2873
|
+
// AR scaling
|
|
2874
|
+
let arFactor = 0;
|
|
2875
|
+
if (calculatedAR > 10.33) {
|
|
2876
|
+
arFactor += 0.3 * (calculatedAR - 10.33);
|
|
2877
|
+
}
|
|
2878
|
+
else if (calculatedAR < 8) {
|
|
2879
|
+
arFactor += 0.05 * (8 - calculatedAR);
|
|
2880
|
+
}
|
|
2881
|
+
// Buff for longer maps with high AR.
|
|
2882
|
+
this.aim *= 1 + arFactor * lengthBonus;
|
|
2827
2883
|
}
|
|
2828
|
-
// Buff for longer maps with high AR.
|
|
2829
|
-
this.aim *= 1 + arFactor * lengthBonus;
|
|
2830
2884
|
// We want to give more reward for lower AR when it comes to aim and HD. This nerfs high AR and buffs lower AR.
|
|
2831
2885
|
if (this.difficultyCalculator.mods.some((m) => m instanceof osuBase.ModHidden)) {
|
|
2832
2886
|
this.aim *= 1 + 0.04 * (12 - calculatedAR);
|
|
@@ -2843,6 +2897,10 @@ class OsuPerformanceCalculator extends PerformanceCalculator {
|
|
|
2843
2897
|
* Calculates the speed performance value of the beatmap.
|
|
2844
2898
|
*/
|
|
2845
2899
|
calculateSpeedValue() {
|
|
2900
|
+
if (this.difficultyCalculator.mods.some((m) => m instanceof osuBase.ModRelax)) {
|
|
2901
|
+
this.speed = 0;
|
|
2902
|
+
return;
|
|
2903
|
+
}
|
|
2846
2904
|
// Global variables
|
|
2847
2905
|
const objectCount = this.difficultyCalculator.objects.length;
|
|
2848
2906
|
const calculatedAR = this.difficultyCalculator.stats.ar;
|
|
@@ -2870,13 +2928,25 @@ class OsuPerformanceCalculator extends PerformanceCalculator {
|
|
|
2870
2928
|
if (this.difficultyCalculator.mods.some((m) => m instanceof osuBase.ModHidden)) {
|
|
2871
2929
|
this.speed *= 1 + 0.04 * (12 - calculatedAR);
|
|
2872
2930
|
}
|
|
2931
|
+
// Calculate accuracy assuming the worst case scenario.
|
|
2932
|
+
const countGreat = this.computedAccuracy.n300;
|
|
2933
|
+
const countOk = this.computedAccuracy.n100;
|
|
2934
|
+
const countMeh = this.computedAccuracy.n50;
|
|
2935
|
+
const relevantTotalDiff = objectCount - this.difficultyCalculator.attributes.speedNoteCount;
|
|
2936
|
+
const relevantAccuracy = new osuBase.Accuracy({
|
|
2937
|
+
n300: Math.max(0, countGreat - relevantTotalDiff),
|
|
2938
|
+
n100: Math.max(0, countOk - Math.max(0, relevantTotalDiff - countGreat)),
|
|
2939
|
+
n50: Math.max(0, countMeh - Math.max(0, relevantTotalDiff - countGreat - countOk)),
|
|
2940
|
+
nmiss: this.effectiveMissCount,
|
|
2941
|
+
});
|
|
2873
2942
|
// Scale the speed value with accuracy and OD.
|
|
2874
|
-
const od = this.difficultyCalculator.stats.od;
|
|
2875
2943
|
this.speed *=
|
|
2876
|
-
(0.95 + Math.pow(od, 2) / 750) *
|
|
2877
|
-
Math.pow(this.computedAccuracy.value(objectCount)
|
|
2944
|
+
(0.95 + Math.pow(this.difficultyCalculator.stats.od, 2) / 750) *
|
|
2945
|
+
Math.pow((this.computedAccuracy.value(objectCount) +
|
|
2946
|
+
relevantAccuracy.value()) /
|
|
2947
|
+
2, (14.5 - Math.max(this.difficultyCalculator.stats.od, 8)) / 2);
|
|
2878
2948
|
// Scale the speed value with # of 50s to punish doubletapping.
|
|
2879
|
-
this.speed *= Math.pow(0.
|
|
2949
|
+
this.speed *= Math.pow(0.99, Math.max(0, n50 - objectCount / 500));
|
|
2880
2950
|
}
|
|
2881
2951
|
/**
|
|
2882
2952
|
* Calculates the accuracy performance value of the beatmap.
|
|
@@ -2923,13 +2993,7 @@ class OsuPerformanceCalculator extends PerformanceCalculator {
|
|
|
2923
2993
|
// Global variables
|
|
2924
2994
|
const objectCount = this.difficultyCalculator.objects.length;
|
|
2925
2995
|
this.flashlight =
|
|
2926
|
-
Math.pow(
|
|
2927
|
-
? 0.8
|
|
2928
|
-
: 1), 2) * 25;
|
|
2929
|
-
// Add an additional bonus for HDFL.
|
|
2930
|
-
if (this.difficultyCalculator.mods.some((m) => m instanceof osuBase.ModHidden)) {
|
|
2931
|
-
this.flashlight *= 1.3;
|
|
2932
|
-
}
|
|
2996
|
+
Math.pow(this.difficultyCalculator.flashlight, 2) * 25;
|
|
2933
2997
|
// Combo scaling
|
|
2934
2998
|
this.flashlight *= this.comboPenalty;
|
|
2935
2999
|
if (this.effectiveMissCount > 0) {
|
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":["ModHidden","MathUtils","Spinner","Slider","modes","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":["ModHidden","MathUtils","Spinner","Slider","modes","MapStats","Precision","SliderRepeat","Utils","Interpolation","OsuHitWindow","ModRelax","ModFlashlight","Accuracy","ModNoFail","ModSpunOut","ModScoreV2","ModTouchDevice"],"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.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.13",
|
|
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": "6654c06e6b95b6790893b039c49d058a24511b75"
|
|
39
39
|
}
|
package/typings/index.d.ts
CHANGED
|
@@ -129,7 +129,7 @@ declare class DifficultyHitObject {
|
|
|
129
129
|
*/
|
|
130
130
|
travelDistance: number;
|
|
131
131
|
/**
|
|
132
|
-
* The time taken to travel through `travelDistance`, with a minimum value of 25ms for
|
|
132
|
+
* The time taken to travel through `travelDistance`, with a minimum value of 25ms for sliders.
|
|
133
133
|
*/
|
|
134
134
|
travelTime: number;
|
|
135
135
|
/**
|
|
@@ -525,8 +525,6 @@ declare class DroidAim extends DroidSkill {
|
|
|
525
525
|
* An evaluator for calculating osu!droid Aim skill.
|
|
526
526
|
*/
|
|
527
527
|
declare abstract class DroidAimEvaluator extends AimEvaluator {
|
|
528
|
-
protected static readonly acuteAngleMultiplier: number;
|
|
529
|
-
protected static readonly sliderMultiplier: number;
|
|
530
528
|
/**
|
|
531
529
|
* Spacing threshold for a single hitobject spacing.
|
|
532
530
|
*/
|
|
@@ -1065,6 +1063,10 @@ declare class OsuDifficultyCalculator extends DifficultyCalculator {
|
|
|
1065
1063
|
* @param speedSkill The speed skill.
|
|
1066
1064
|
*/
|
|
1067
1065
|
private postCalculateSpeed;
|
|
1066
|
+
/**
|
|
1067
|
+
* Calculates speed-related attributes.
|
|
1068
|
+
*/
|
|
1069
|
+
private calculateSpeedAttributes;
|
|
1068
1070
|
/**
|
|
1069
1071
|
* Called after flashlight skill calculation.
|
|
1070
1072
|
*
|
|
@@ -1146,8 +1148,9 @@ declare class OsuFlashlight extends OsuSkill {
|
|
|
1146
1148
|
protected readonly strainDecayBase: number;
|
|
1147
1149
|
protected readonly reducedSectionCount: number;
|
|
1148
1150
|
protected readonly reducedSectionBaseline: number;
|
|
1149
|
-
protected readonly difficultyMultiplier: number;
|
|
1150
1151
|
protected readonly decayWeight: number;
|
|
1152
|
+
private readonly isHidden;
|
|
1153
|
+
constructor(mods: Mod[]);
|
|
1151
1154
|
/**
|
|
1152
1155
|
* @param current The hitobject to calculate.
|
|
1153
1156
|
*/
|
|
@@ -1159,16 +1162,22 @@ declare class OsuFlashlight extends OsuSkill {
|
|
|
1159
1162
|
* An evaluator for calculating osu!standard Flashlight skill.
|
|
1160
1163
|
*/
|
|
1161
1164
|
declare abstract class OsuFlashlightEvaluator extends FlashlightEvaluator {
|
|
1165
|
+
private static readonly minVelocity;
|
|
1166
|
+
private static readonly sliderMultiplier;
|
|
1167
|
+
private static readonly minAngleMultiplier;
|
|
1162
1168
|
/**
|
|
1163
1169
|
* Evaluates the difficulty of memorizing and hitting the current object, based on:
|
|
1164
1170
|
*
|
|
1165
|
-
* - distance between
|
|
1171
|
+
* - distance between a number of previous objects and the current object,
|
|
1166
1172
|
* - the visual opacity of the current object,
|
|
1173
|
+
* - the angle made by the current object,
|
|
1174
|
+
* - length and speed of the current object (for sliders),
|
|
1167
1175
|
* - and whether Hidden mod is enabled.
|
|
1168
1176
|
*
|
|
1169
1177
|
* @param current The current object.
|
|
1178
|
+
* @param isHiddenMod Whether the Hidden mod is enabled.
|
|
1170
1179
|
*/
|
|
1171
|
-
static evaluateDifficultyOf(current: DifficultyHitObject): number;
|
|
1180
|
+
static evaluateDifficultyOf(current: DifficultyHitObject, isHiddenMod: boolean): number;
|
|
1172
1181
|
}
|
|
1173
1182
|
|
|
1174
1183
|
/**
|