@rian8337/osu-difficulty-calculator 1.4.2 → 1.4.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.
Files changed (48) hide show
  1. package/dist/DroidPerformanceCalculator.js +42 -56
  2. package/dist/DroidPerformanceCalculator.js.map +1 -0
  3. package/dist/DroidStarRating.js +36 -7
  4. package/dist/DroidStarRating.js.map +1 -0
  5. package/dist/MapStars.js +1 -0
  6. package/dist/MapStars.js.map +1 -0
  7. package/dist/OsuPerformanceCalculator.js +1 -0
  8. package/dist/OsuPerformanceCalculator.js.map +1 -0
  9. package/dist/OsuStarRating.js +1 -0
  10. package/dist/OsuStarRating.js.map +1 -0
  11. package/dist/base/DifficultyAttributes.js +1 -0
  12. package/dist/base/DifficultyAttributes.js.map +1 -0
  13. package/dist/base/PerformanceCalculator.js +1 -0
  14. package/dist/base/PerformanceCalculator.js.map +1 -0
  15. package/dist/base/Skill.js +1 -0
  16. package/dist/base/Skill.js.map +1 -0
  17. package/dist/base/StarRating.js +2 -0
  18. package/dist/base/StarRating.js.map +1 -0
  19. package/dist/base/StrainSkill.js +1 -0
  20. package/dist/base/StrainSkill.js.map +1 -0
  21. package/dist/index.js +1 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/preprocessing/DifficultyHitObject.js +23 -0
  24. package/dist/preprocessing/DifficultyHitObject.js.map +1 -0
  25. package/dist/preprocessing/DifficultyHitObjectCreator.js +43 -1
  26. package/dist/preprocessing/DifficultyHitObjectCreator.js.map +1 -0
  27. package/dist/skills/DroidAim.js +3 -2
  28. package/dist/skills/DroidAim.js.map +1 -0
  29. package/dist/skills/DroidFlashlight.js +2 -1
  30. package/dist/skills/DroidFlashlight.js.map +1 -0
  31. package/dist/skills/DroidRhythm.js +8 -4
  32. package/dist/skills/DroidRhythm.js.map +1 -0
  33. package/dist/skills/DroidSkill.js +15 -1
  34. package/dist/skills/DroidSkill.js.map +1 -0
  35. package/dist/skills/DroidTap.js +5 -5
  36. package/dist/skills/DroidTap.js.map +1 -0
  37. package/dist/skills/DroidVisual.js +81 -0
  38. package/dist/skills/DroidVisual.js.map +1 -0
  39. package/dist/skills/OsuAim.js +1 -0
  40. package/dist/skills/OsuAim.js.map +1 -0
  41. package/dist/skills/OsuFlashlight.js +1 -0
  42. package/dist/skills/OsuFlashlight.js.map +1 -0
  43. package/dist/skills/OsuSkill.js +1 -0
  44. package/dist/skills/OsuSkill.js.map +1 -0
  45. package/dist/skills/OsuSpeed.js +1 -0
  46. package/dist/skills/OsuSpeed.js.map +1 -0
  47. package/package.json +3 -3
  48. package/typings/index.d.ts +173 -118
@@ -11,7 +11,7 @@ class DroidPerformanceCalculator extends PerformanceCalculator_1.PerformanceCalc
11
11
  constructor() {
12
12
  super(...arguments);
13
13
  this.stars = new DroidStarRating_1.DroidStarRating();
14
- this.finalMultiplier = 1.42;
14
+ this.finalMultiplier = 1.24;
15
15
  /**
16
16
  * The aim performance value.
17
17
  */
@@ -28,7 +28,10 @@ class DroidPerformanceCalculator extends PerformanceCalculator_1.PerformanceCalc
28
28
  * The flashlight performance value.
29
29
  */
30
30
  this.flashlight = 0;
31
- this.aggregatedRhythmMultiplier = 0;
31
+ /**
32
+ * The visual performance value.
33
+ */
34
+ this.visual = 0;
32
35
  this.tapPenalty = 1;
33
36
  }
34
37
  calculate(params) {
@@ -36,11 +39,11 @@ class DroidPerformanceCalculator extends PerformanceCalculator_1.PerformanceCalc
36
39
  return this.calculateInternal(params, osu_base_1.modes.droid);
37
40
  }
38
41
  calculateValues() {
39
- this.calculateAverageRhythmMultiplier();
40
42
  this.calculateAimValue();
41
43
  this.calculateTapValue();
42
44
  this.calculateAccuracyValue();
43
45
  this.calculateFlashlightValue();
46
+ this.calculateVisualValue();
44
47
  // Apply tap penalty for penalized plays.
45
48
  this.tap /= this.tapPenalty;
46
49
  }
@@ -48,15 +51,8 @@ class DroidPerformanceCalculator extends PerformanceCalculator_1.PerformanceCalc
48
51
  return (Math.pow(Math.pow(this.aim, 1.1) +
49
52
  Math.pow(this.tap, 1.1) +
50
53
  Math.pow(this.accuracy, 1.1) +
51
- Math.pow(this.flashlight, 1.1), 1 / 1.1) * this.finalMultiplier);
52
- }
53
- /**
54
- * Calculates the average rhythm multiplier of the beatmap.
55
- */
56
- calculateAverageRhythmMultiplier() {
57
- // The first object doesn't have any rhythm multiplier, so we begin with the second object
58
- const rhythmObjects = this.stars.objects.slice(1);
59
- this.aggregatedRhythmMultiplier = Math.max(1, rhythmObjects.reduce((total, value) => total + value.rhythmMultiplier, 0) / Math.max(500, rhythmObjects.length));
54
+ Math.pow(this.flashlight, 1.1) +
55
+ Math.pow(this.visual, 1.1), 1 / 1.1) * this.finalMultiplier);
60
56
  }
61
57
  /**
62
58
  * Calculates the aim performance value of the beatmap.
@@ -64,7 +60,6 @@ class DroidPerformanceCalculator extends PerformanceCalculator_1.PerformanceCalc
64
60
  calculateAimValue() {
65
61
  // Global variables
66
62
  const objectCount = this.stars.objects.length;
67
- const calculatedAR = this.mapStatistics.ar;
68
63
  this.aim = this.baseValue(Math.pow(this.stars.aim, 0.8));
69
64
  if (this.effectiveMissCount > 0) {
70
65
  // Penalize misses by assessing # of misses relative to the total # of objects. Default a 3% reduction for any # of misses.
@@ -74,32 +69,6 @@ class DroidPerformanceCalculator extends PerformanceCalculator_1.PerformanceCalc
74
69
  }
75
70
  // Combo scaling
76
71
  this.aim *= this.comboPenalty;
77
- // We want to give more reward for lower AR when it comes to aim and HD. This nerfs high AR and buffs lower AR.
78
- if (this.stars.mods.some((m) => m instanceof osu_base_1.ModHidden)) {
79
- // The bonus starts decreasing twice as fast
80
- // beyond AR10 and reaches 1 at AR11.
81
- if (calculatedAR > 10) {
82
- this.aim *= 1 + Math.max(0, 0.08 * (11 - calculatedAR));
83
- }
84
- else {
85
- this.aim *= 1 + 0.04 * (12 - calculatedAR);
86
- }
87
- }
88
- // AR scaling
89
- let arFactor = 0;
90
- if (calculatedAR > 10.33) {
91
- arFactor += 0.3 * (calculatedAR - 10.33);
92
- }
93
- else if (calculatedAR < 8) {
94
- arFactor += 0.1 * (8 - calculatedAR);
95
- }
96
- // Buff for longer maps with high AR.
97
- this.aim *=
98
- 1 +
99
- arFactor *
100
- (1.650668 +
101
- (0.4845796 - 1.650668) /
102
- (1 + Math.pow(objectCount / 817.9306, 1.147469)));
103
72
  // Scale the aim value with slider factor to nerf very likely dropped sliderends.
104
73
  this.aim *= this.sliderNerfFactor;
105
74
  // Scale the aim value with accuracy.
@@ -115,7 +84,6 @@ class DroidPerformanceCalculator extends PerformanceCalculator_1.PerformanceCalc
115
84
  calculateTapValue() {
116
85
  // Global variables
117
86
  const objectCount = this.stars.objects.length;
118
- const calculatedAR = this.mapStatistics.ar;
119
87
  this.tap = this.baseValue(this.stars.tap);
120
88
  if (this.effectiveMissCount > 0) {
121
89
  // Penalize misses by assessing # of misses relative to the total # of objects. Default a 3% reduction for any # of misses.
@@ -125,17 +93,6 @@ class DroidPerformanceCalculator extends PerformanceCalculator_1.PerformanceCalc
125
93
  }
126
94
  // Combo scaling
127
95
  this.tap *= this.comboPenalty;
128
- // AR scaling
129
- if (calculatedAR > 10.33) {
130
- // Buff for longer maps with high AR.
131
- this.tap *=
132
- 1 +
133
- 0.3 *
134
- (calculatedAR - 10.33) *
135
- (1.650668 +
136
- (0.4845796 - 1.650668) /
137
- (1 + Math.pow(objectCount / 817.9306, 1.147469)));
138
- }
139
96
  // Calculate accuracy assuming the worst case scenario.
140
97
  const countGreat = this.computedAccuracy.n300;
141
98
  const countOk = this.computedAccuracy.n100;
@@ -166,16 +123,16 @@ class DroidPerformanceCalculator extends PerformanceCalculator_1.PerformanceCalc
166
123
  return;
167
124
  }
168
125
  // Global variables
126
+ const objectCount = this.stars.objects.length;
169
127
  const ncircles = this.stars.mods.some((m) => m instanceof osu_base_1.ModScoreV2)
170
- ? this.stars.objects.length - this.stars.map.spinners
128
+ ? objectCount - this.stars.map.spinners
171
129
  : this.stars.map.circles;
172
130
  if (ncircles === 0) {
173
131
  return;
174
132
  }
175
133
  const realAccuracy = new osu_base_1.Accuracy({
176
134
  ...this.computedAccuracy,
177
- n300: this.computedAccuracy.n300 -
178
- (this.stars.objects.length - ncircles),
135
+ n300: this.computedAccuracy.n300 - (objectCount - ncircles),
179
136
  });
180
137
  // Lots of arbitrary values from testing.
181
138
  // Considering to use derivation from perfect accuracy in a probabilistic manner - assume normal distribution
@@ -186,7 +143,7 @@ class DroidPerformanceCalculator extends PerformanceCalculator_1.PerformanceCalc
186
143
  // Bonus for many hitcircles - it's harder to keep good accuracy up for longer
187
144
  this.accuracy *= Math.min(1.15, Math.pow(ncircles / 1000, 0.3));
188
145
  // Scale the accuracy value with rhythm complexity.
189
- this.accuracy *= Math.min(1, Math.pow(Math.exp(this.aggregatedRhythmMultiplier - 0.5), 0.85) / 2);
146
+ this.accuracy *= 1.5 / (1 + Math.exp(-(this.stars.rhythm - 1) / 2));
190
147
  if (this.stars.mods.some((m) => m instanceof osu_base_1.ModHidden)) {
191
148
  this.accuracy *= 1.08;
192
149
  }
@@ -231,6 +188,32 @@ class DroidPerformanceCalculator extends PerformanceCalculator_1.PerformanceCalc
231
188
  this.flashlight *=
232
189
  0.98 + (this.mapStatistics.od >= 0 ? odScaling : -odScaling);
233
190
  }
191
+ /**
192
+ * Calculates the visual performance value of the beatmap.
193
+ */
194
+ calculateVisualValue() {
195
+ // Global variables
196
+ const objectCount = this.stars.objects.length;
197
+ this.visual = Math.pow(Math.pow(this.stars.visual, 0.8), 2) * 25;
198
+ if (this.effectiveMissCount > 0) {
199
+ // Penalize misses by assessing # of misses relative to the total # of objects. Default a 3% reduction for any # of misses.
200
+ this.visual *=
201
+ 0.97 *
202
+ Math.pow(1 - Math.pow(this.effectiveMissCount / objectCount, 0.775), this.effectiveMissCount);
203
+ }
204
+ // Combo scaling
205
+ this.visual *= this.comboPenalty;
206
+ // Scale the visual value with object count to penalize short maps.
207
+ this.visual *= Math.min(1, 1.650668 +
208
+ (0.4845796 - 1.650668) /
209
+ (1 + Math.pow(objectCount / 817.9306, 1.147469)));
210
+ // Scale the visual value with accuracy harshly.
211
+ this.visual *= Math.pow(this.computedAccuracy.value(), 8);
212
+ // It is also important to consider accuracy difficulty when doing that.
213
+ const odScaling = Math.pow(this.mapStatistics.od, 2) / 2500;
214
+ this.visual *=
215
+ 0.98 + (this.mapStatistics.od >= 0 ? odScaling : -odScaling);
216
+ }
234
217
  toString() {
235
218
  return (this.total.toFixed(2) +
236
219
  " pp (" +
@@ -241,7 +224,10 @@ class DroidPerformanceCalculator extends PerformanceCalculator_1.PerformanceCalc
241
224
  this.accuracy.toFixed(2) +
242
225
  " acc, " +
243
226
  this.flashlight.toFixed(2) +
244
- " flashlight)");
227
+ " flashlight, " +
228
+ this.visual.toFixed(2) +
229
+ " visual)");
245
230
  }
246
231
  }
247
232
  exports.DroidPerformanceCalculator = DroidPerformanceCalculator;
233
+ //# sourceMappingURL=DroidPerformanceCalculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DroidPerformanceCalculator.js","sourceRoot":"","sources":["../src/DroidPerformanceCalculator.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ const StarRating_1 = require("./base/StarRating");
7
7
  const DroidFlashlight_1 = require("./skills/DroidFlashlight");
8
8
  const osu_base_1 = require("@rian8337/osu-base");
9
9
  const DroidRhythm_1 = require("./skills/DroidRhythm");
10
+ const DroidVisual_1 = require("./skills/DroidVisual");
10
11
  /**
11
12
  * Difficulty calculator for osu!droid gamemode.
12
13
  */
@@ -29,6 +30,10 @@ class DroidStarRating extends StarRating_1.StarRating {
29
30
  * The flashlight star rating of the beatmap.
30
31
  */
31
32
  this.flashlight = 0;
33
+ /**
34
+ * The visual star rating of the beatmap.
35
+ */
36
+ this.visual = 0;
32
37
  this.difficultyMultiplier = 0.18;
33
38
  }
34
39
  /**
@@ -85,19 +90,29 @@ class DroidStarRating extends StarRating_1.StarRating {
85
90
  this.calculateSkills(flashlightSkill);
86
91
  this.postCalculateFlashlight(flashlightSkill);
87
92
  }
93
+ /**
94
+ * Calculates the visual star rating of the beatmap and stores it in this instance.
95
+ */
96
+ calculateVisual() {
97
+ const visualSkill = new DroidVisual_1.DroidVisual(this.mods, osu_base_1.MapStats.arToMS(this.stats.ar));
98
+ this.calculateSkills(visualSkill);
99
+ this.postCalculateVisual(visualSkill);
100
+ }
88
101
  calculateTotal() {
89
102
  const aimPerformanceValue = this.basePerformanceValue(this.aim);
90
103
  const tapPerformanceValue = this.basePerformanceValue(this.tap);
91
104
  const flashlightPerformanceValue = this.mods.some((m) => m instanceof osu_base_1.ModFlashlight)
92
105
  ? Math.pow(this.flashlight, 2) * 25
93
106
  : 0;
107
+ const visualPerformanceValue = Math.pow(this.visual, 2) * 25;
94
108
  const basePerformanceValue = Math.pow(Math.pow(aimPerformanceValue, 1.1) +
95
109
  Math.pow(tapPerformanceValue, 1.1) +
96
- Math.pow(flashlightPerformanceValue, 1.1), 1 / 1.1);
110
+ Math.pow(flashlightPerformanceValue, 1.1) +
111
+ Math.pow(visualPerformanceValue, 1.1), 1 / 1.1);
97
112
  if (basePerformanceValue > 1e-5) {
98
113
  this.total =
99
114
  Math.cbrt(1.12) *
100
- 0.027 *
115
+ 0.025 *
101
116
  (Math.cbrt((100000 / Math.pow(2, 1 / 1.1)) * basePerformanceValue) +
102
117
  4);
103
118
  }
@@ -111,17 +126,19 @@ class DroidStarRating extends StarRating_1.StarRating {
111
126
  const rhythmSkill = skills[2];
112
127
  const tapSkill = skills[3];
113
128
  const flashlightSkill = skills[4];
129
+ const visualSkill = skills[5];
114
130
  this.postCalculateAim(aimSkill, aimSkillWithoutSliders);
115
131
  if (!isRelax) {
116
132
  this.postCalculateTap(tapSkill);
117
133
  }
118
134
  else {
119
- this.calculateSpeedNoteCount();
135
+ this.calculateSpeedAttributes();
120
136
  }
121
137
  if (!isRelax) {
122
138
  this.postCalculateRhythm(rhythmSkill);
123
139
  }
124
140
  this.postCalculateFlashlight(flashlightSkill);
141
+ this.postCalculateVisual(visualSkill);
125
142
  this.calculateTotal();
126
143
  }
127
144
  /**
@@ -137,7 +154,9 @@ class DroidStarRating extends StarRating_1.StarRating {
137
154
  this.rhythm.toFixed(2) +
138
155
  " rhythm, " +
139
156
  this.flashlight.toFixed(2) +
140
- " flashlight)");
157
+ " flashlight, " +
158
+ this.visual.toFixed(2) +
159
+ " visual)");
141
160
  }
142
161
  /**
143
162
  * Creates skills to be calculated.
@@ -150,6 +169,7 @@ class DroidStarRating extends StarRating_1.StarRating {
150
169
  new DroidRhythm_1.DroidRhythm(this.mods, this.stats.od),
151
170
  new DroidTap_1.DroidTap(this.mods, this.stats.od),
152
171
  new DroidFlashlight_1.DroidFlashlight(this.mods),
172
+ new DroidVisual_1.DroidVisual(this.mods, osu_base_1.MapStats.arToMS(this.stats.ar)),
153
173
  ];
154
174
  }
155
175
  /**
@@ -176,12 +196,12 @@ class DroidStarRating extends StarRating_1.StarRating {
176
196
  postCalculateTap(tapSkill) {
177
197
  this.strainPeaks.speed = tapSkill.strainPeaks;
178
198
  this.tap = this.starValue(tapSkill.difficultyValue());
179
- this.calculateSpeedNoteCount();
199
+ this.calculateSpeedAttributes();
180
200
  }
181
201
  /**
182
- * Calculates the speed note count attribute.
202
+ * Calculates speed-related attributes.
183
203
  */
184
- calculateSpeedNoteCount() {
204
+ calculateSpeedAttributes() {
185
205
  const objectStrains = this.objects.map((v) => v.tapStrain);
186
206
  const maxStrain = Math.max(...objectStrains);
187
207
  if (maxStrain) {
@@ -205,5 +225,14 @@ class DroidStarRating extends StarRating_1.StarRating {
205
225
  this.strainPeaks.flashlight = flashlightSkill.strainPeaks;
206
226
  this.flashlight = this.starValue(flashlightSkill.difficultyValue());
207
227
  }
228
+ /**
229
+ * Called after visual skill calculation.
230
+ *
231
+ * @param visualSkill The visual skill.
232
+ */
233
+ postCalculateVisual(visualSkill) {
234
+ this.visual = this.starValue(visualSkill.difficultyValue());
235
+ }
208
236
  }
209
237
  exports.DroidStarRating = DroidStarRating;
238
+ //# sourceMappingURL=DroidStarRating.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DroidStarRating.js","sourceRoot":"","sources":["../src/DroidStarRating.ts"],"names":[],"mappings":"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"}
package/dist/MapStars.js CHANGED
@@ -48,3 +48,4 @@ class MapStars {
48
48
  }
49
49
  }
50
50
  exports.MapStars = MapStars;
51
+ //# sourceMappingURL=MapStars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapStars.js","sourceRoot":"","sources":["../src/MapStars.ts"],"names":[],"mappings":";;;AAAA,iDAA4D;AAC5D,uDAAoD;AACpD,mDAAgD;AAEhD;;GAEG;AACH,MAAa,QAAQ;IAArB;QACI;;WAEG;QACM,eAAU,GAAoB,IAAI,iCAAe,EAAE,CAAC;QAE7D;;WAEG;QACM,YAAO,GAAkB,IAAI,6BAAa,EAAE,CAAC;IAiD1D,CAAC;IA/CG;;OAEG;IACH,SAAS,CAAC,MAeT;QACG,MAAM,GAAG,GAAU,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAErC,MAAM,KAAK,GAAa,IAAI,mBAAQ,CAAC;YACjC,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,eAAe,IAAI,CAAC;YACnD,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,KAAK;YAC3C,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,IAAI,KAAK;SACtD,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YACtB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,GAAG;YACT,KAAK;SACR,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,GAAG;YACT,KAAK;SACR,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;IACvE,CAAC;CACJ;AA1DD,4BA0DC"}
@@ -215,3 +215,4 @@ class OsuPerformanceCalculator extends PerformanceCalculator_1.PerformanceCalcul
215
215
  }
216
216
  }
217
217
  exports.OsuPerformanceCalculator = OsuPerformanceCalculator;
218
+ //# sourceMappingURL=OsuPerformanceCalculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OsuPerformanceCalculator.js","sourceRoot":"","sources":["../src/OsuPerformanceCalculator.ts"],"names":[],"mappings":"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"}
@@ -157,3 +157,4 @@ class OsuStarRating extends StarRating_1.StarRating {
157
157
  }
158
158
  }
159
159
  exports.OsuStarRating = OsuStarRating;
160
+ //# sourceMappingURL=OsuStarRating.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OsuStarRating.js","sourceRoot":"","sources":["../src/OsuStarRating.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=DifficultyAttributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DifficultyAttributes.js","sourceRoot":"","sources":["../../src/base/DifficultyAttributes.ts"],"names":[],"mappings":""}
@@ -137,3 +137,4 @@ class PerformanceCalculator {
137
137
  }
138
138
  }
139
139
  exports.PerformanceCalculator = PerformanceCalculator;
140
+ //# sourceMappingURL=PerformanceCalculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerformanceCalculator.js","sourceRoot":"","sources":["../../src/base/PerformanceCalculator.ts"],"names":[],"mappings":"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"}
@@ -27,3 +27,4 @@ class Skill {
27
27
  }
28
28
  }
29
29
  exports.Skill = Skill;
30
+ //# sourceMappingURL=Skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Skill.js","sourceRoot":"","sources":["../../src/base/Skill.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH,MAAsB,KAAK;IAkBvB,YAAY,IAAW;QAjBvB;;;;WAIG;QACgB,aAAQ,GAA0B,EAAE,CAAC;QAExD;;WAEG;QACgB,kBAAa,GAAW,CAAC,CAAC;QAQzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,eAAe,CAAC,OAA4B;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE;YAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;SACvB;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;CAaJ;AA3CD,sBA2CC"}
@@ -92,6 +92,7 @@ class StarRating {
92
92
  circleSize: this.stats.cs,
93
93
  speedMultiplier: this.stats.speedMultiplier,
94
94
  mode: mode,
95
+ preempt: osu_base_1.MapStats.arToMS(this.stats.ar),
95
96
  }));
96
97
  }
97
98
  /**
@@ -128,3 +129,4 @@ class StarRating {
128
129
  }
129
130
  }
130
131
  exports.StarRating = StarRating;
132
+ //# sourceMappingURL=StarRating.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StarRating.js","sourceRoot":"","sources":["../../src/base/StarRating.ts"],"names":[],"mappings":"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"}
@@ -73,3 +73,4 @@ class StrainSkill extends Skill_1.Skill {
73
73
  }
74
74
  }
75
75
  exports.StrainSkill = StrainSkill;
76
+ //# sourceMappingURL=StrainSkill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StrainSkill.js","sourceRoot":"","sources":["../../src/base/StrainSkill.ts"],"names":[],"mappings":";;;AACA,mCAAgC;AAEhC;;;GAGG;AACH,MAAsB,WAAY,SAAQ,aAAK;IAA/C;;QACI;;WAEG;QACO,kBAAa,GAAW,CAAC,CAAC;QAEpC;;WAEG;QACO,uBAAkB,GAAW,CAAC,CAAC;QAEzC;;WAEG;QACM,gBAAW,GAAa,EAAE,CAAC;QAyBjB,kBAAa,GAAW,GAAG,CAAC;QAErC,sBAAiB,GAAW,CAAC,CAAC;IAqE5C,CAAC;IAnEG;;;;OAIG;IACgB,OAAO,CAAC,OAA4B;QACnD,0FAA0F;QAC1F,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,iBAAiB;gBAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;oBACjD,IAAI,CAAC,aAAa,CAAC;SAC1B;QAED,OAAO,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE;YAC/C,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACjD,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,aAAa,CAAC;SAChD;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEjD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAC9B,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,kBAAkB,CAC1B,CAAC;IACN,CAAC;IAED;;OAEG;IACH,eAAe;QACX,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACO,mBAAmB,CAAC,MAAc;QACxC,yHAAyH;QACzH,8HAA8H;QAC9H,IAAI,CAAC,kBAAkB;YACnB,IAAI,CAAC,aAAa;gBAClB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACO,WAAW,CAAC,EAAU;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;CAWJ;AA9GD,kCA8GC"}
package/dist/index.js CHANGED
@@ -24,3 +24,4 @@ __exportStar(require("./skills/OsuFlashlight"), exports);
24
24
  __exportStar(require("./OsuPerformanceCalculator"), exports);
25
25
  __exportStar(require("./skills/OsuSpeed"), exports);
26
26
  __exportStar(require("./OsuStarRating"), exports);
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sEAAoD;AACpD,6EAA2D;AAC3D,oDAAkC;AAClC,2DAAyC;AACzC,+DAA6C;AAC7C,uDAAqC;AACrC,oDAAkC;AAClC,oDAAkC;AAClC,6CAA2B;AAC3B,kDAAgC;AAChC,yDAAuC;AACvC,6DAA2C;AAC3C,oDAAkC;AAClC,kDAAgC"}
@@ -40,6 +40,10 @@ class DifficultyHitObject {
40
40
  * The flashlight strain generated by the hitobject.
41
41
  */
42
42
  this.flashlightStrain = 0;
43
+ /**
44
+ * The visual strain generated by the hitobject.
45
+ */
46
+ this.visualStrain = 0;
43
47
  /**
44
48
  * The normalized distance from the "lazy" end position of the previous hitobject to the start position of this hitobject.
45
49
  *
@@ -89,7 +93,26 @@ class DifficultyHitObject {
89
93
  * Adjusted start time of the hitobject, taking speed multiplier into account.
90
94
  */
91
95
  this.startTime = 0;
96
+ /**
97
+ * Adjusted end time of the hitobject, taking speed multiplier into account.
98
+ */
99
+ this.endTime = 0;
100
+ /**
101
+ * The note density of the hitobject.
102
+ */
103
+ this.noteDensity = 0;
104
+ /**
105
+ * The overlapping factor of the hitobject.
106
+ *
107
+ * This is used to scale visual skill.
108
+ */
109
+ this.overlappingFactor = 0;
110
+ /**
111
+ * Adjusted velocity of the hitobject, taking speed multiplier into account.
112
+ */
113
+ this.velocity = 0;
92
114
  this.object = object;
93
115
  }
94
116
  }
95
117
  exports.DifficultyHitObject = DifficultyHitObject;
118
+ //# sourceMappingURL=DifficultyHitObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DifficultyHitObject.js","sourceRoot":"","sources":["../../src/preprocessing/DifficultyHitObject.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,mBAAmB;IAiI5B;;OAEG;IACH,YAAY,MAAiB;QA9H7B;;WAEG;QACH,yBAAoB,GAAW,CAAC,CAAC;QAEjC;;WAEG;QACH,4BAAuB,GAAW,CAAC,CAAC;QAEpC;;;;WAIG;QACH,cAAS,GAAW,CAAC,CAAC;QAEtB;;;WAGG;QACH,sBAAiB,GAAW,CAAC,CAAC;QAE9B;;WAEG;QACH,qBAAgB,GAAW,CAAC,CAAC;QAE7B;;WAEG;QACH,iBAAY,GAAW,CAAC,CAAC;QAEzB;;WAEG;QACH,qBAAgB,GAAW,CAAC,CAAC;QAE7B;;WAEG;QACH,iBAAY,GAAW,CAAC,CAAC;QAEzB;;;;WAIG;QACH,qBAAgB,GAAW,CAAC,CAAC;QAE7B;;;;;;;;;;;WAWG;QACH,wBAAmB,GAAW,CAAC,CAAC;QAEhC;;WAEG;QACH,oBAAe,GAAW,CAAC,CAAC;QAE5B;;WAEG;QACH,mBAAc,GAAW,CAAC,CAAC;QAE3B;;WAEG;QACH,eAAU,GAAW,CAAC,CAAC;QAEvB;;;;WAIG;QACH,UAAK,GAAkB,IAAI,CAAC;QAE5B;;WAEG;QACH,cAAS,GAAW,CAAC,CAAC;QAEtB;;WAEG;QACH,eAAU,GAAW,CAAC,CAAC;QAEvB;;WAEG;QACH,cAAS,GAAW,CAAC,CAAC;QAEtB;;WAEG;QACH,YAAO,GAAW,CAAC,CAAC;QAEpB;;WAEG;QACH,gBAAW,GAAW,CAAC,CAAC;QAExB;;;;WAIG;QACH,sBAAiB,GAAW,CAAC,CAAC;QAE9B;;WAEG;QACH,aAAQ,GAAW,CAAC,CAAC;QAMjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ;AAvID,kDAuIC"}
@@ -32,6 +32,7 @@ class DifficultyHitObjectCreator {
32
32
  * Generates difficulty hitobjects for difficulty calculation.
33
33
  */
34
34
  generateDifficultyObjects(params) {
35
+ params.preempt ??= 600;
35
36
  this.mode = params.mode;
36
37
  const circleSize = params.circleSize;
37
38
  const scale = (1 - (0.7 * (circleSize - 5)) / 5) / 2;
@@ -42,6 +43,8 @@ class DifficultyHitObjectCreator {
42
43
  const object = new DifficultyHitObject_1.DifficultyHitObject(params.objects[i]);
43
44
  object.object.scale = scale;
44
45
  if (object.object instanceof osu_base_1.Slider) {
46
+ object.velocity =
47
+ object.object.velocity * params.speedMultiplier;
45
48
  object.object.nestedHitObjects.forEach((h) => {
46
49
  h.scale = scale;
47
50
  });
@@ -52,6 +55,7 @@ class DifficultyHitObjectCreator {
52
55
  const lastObject = difficultyObjects[i - 1];
53
56
  const lastLastObject = difficultyObjects[i - 2];
54
57
  object.startTime = object.object.startTime / params.speedMultiplier;
58
+ object.endTime = object.object.endTime / params.speedMultiplier;
55
59
  if (!lastObject) {
56
60
  difficultyObjects.push(object);
57
61
  continue;
@@ -59,8 +63,45 @@ class DifficultyHitObjectCreator {
59
63
  object.deltaTime =
60
64
  (object.object.startTime - lastObject.object.startTime) /
61
65
  params.speedMultiplier;
62
- // Cap to 25ms to prevent difficulty calculation breaking from simulatenous objects.
66
+ // Cap to 25ms to prevent difficulty calculation breaking from simultaneous objects.
63
67
  object.strainTime = Math.max(this.minDeltaTime, object.deltaTime);
68
+ const visibleObjects = params.objects.filter((o) => o.startTime / params.speedMultiplier > object.startTime &&
69
+ o.startTime / params.speedMultiplier <=
70
+ object.endTime + params.preempt);
71
+ object.noteDensity = 1;
72
+ for (const hitObject of visibleObjects) {
73
+ // Calculate delta time assuming the current object is a circle.
74
+ let deltaTime = Math.abs(hitObject.startTime / params.speedMultiplier -
75
+ object.startTime);
76
+ // But if the current object is a slider, then we alter the delta time to account for slider end time.
77
+ if (object.object instanceof osu_base_1.Slider) {
78
+ if (object.object.startTime >= hitObject.startTime &&
79
+ object.object.endTime <= hitObject.startTime) {
80
+ // If the object starts when the slider is active, then the slider is technically still visible.
81
+ // Set delta time to 0.
82
+ deltaTime = 0;
83
+ }
84
+ else {
85
+ // Otherwise, we take the delta time from the slider head or tail, whichever is smaller as it's the closest time.
86
+ deltaTime = Math.min(deltaTime, Math.abs(hitObject.startTime / params.speedMultiplier -
87
+ object.endTime));
88
+ }
89
+ }
90
+ object.noteDensity += 1 - deltaTime / params.preempt;
91
+ if (!(hitObject instanceof osu_base_1.Spinner)) {
92
+ object.overlappingFactor +=
93
+ // Penalize objects that are too close to the object in both distance
94
+ // and delta time to prevent stream maps from being overweighted.
95
+ Math.max(0, 1 -
96
+ object.object.stackedPosition.getDistance(hitObject.stackedEndPosition) /
97
+ (3 * object.object.radius)) *
98
+ (7.5 /
99
+ (1 +
100
+ Math.exp(0.15 *
101
+ (Math.max(deltaTime, this.minDeltaTime) -
102
+ 75))));
103
+ }
104
+ }
64
105
  if (object.object instanceof osu_base_1.Spinner ||
65
106
  lastObject.object instanceof osu_base_1.Spinner) {
66
107
  difficultyObjects.push(object);
@@ -235,3 +276,4 @@ class DifficultyHitObjectCreator {
235
276
  }
236
277
  }
237
278
  exports.DifficultyHitObjectCreator = DifficultyHitObjectCreator;
279
+ //# sourceMappingURL=DifficultyHitObjectCreator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DifficultyHitObjectCreator.js","sourceRoot":"","sources":["../../src/preprocessing/DifficultyHitObjectCreator.ts"],"names":[],"mappings":"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"}