@rian8337/osu-difficulty-calculator 1.4.8 → 1.4.12
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/DroidPerformanceCalculator.js +42 -56
- package/dist/DroidPerformanceCalculator.js.map +1 -0
- package/dist/DroidStarRating.js +36 -7
- package/dist/DroidStarRating.js.map +1 -0
- package/dist/MapStars.js +1 -0
- package/dist/MapStars.js.map +1 -0
- package/dist/OsuPerformanceCalculator.js +1 -0
- package/dist/OsuPerformanceCalculator.js.map +1 -0
- package/dist/OsuStarRating.js +1 -0
- package/dist/OsuStarRating.js.map +1 -0
- package/dist/base/DifficultyAttributes.js +1 -0
- package/dist/base/DifficultyAttributes.js.map +1 -0
- package/dist/base/PerformanceCalculator.js +1 -0
- package/dist/base/PerformanceCalculator.js.map +1 -0
- package/dist/base/Skill.js +1 -0
- package/dist/base/Skill.js.map +1 -0
- package/dist/base/StarRating.js +2 -0
- package/dist/base/StarRating.js.map +1 -0
- package/dist/base/StrainSkill.js +1 -0
- package/dist/base/StrainSkill.js.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/preprocessing/DifficultyHitObject.js +23 -0
- package/dist/preprocessing/DifficultyHitObject.js.map +1 -0
- package/dist/preprocessing/DifficultyHitObjectCreator.js +43 -1
- package/dist/preprocessing/DifficultyHitObjectCreator.js.map +1 -0
- package/dist/skills/DroidAim.js +3 -2
- package/dist/skills/DroidAim.js.map +1 -0
- package/dist/skills/DroidFlashlight.js +2 -1
- package/dist/skills/DroidFlashlight.js.map +1 -0
- package/dist/skills/DroidRhythm.js +8 -4
- package/dist/skills/DroidRhythm.js.map +1 -0
- package/dist/skills/DroidSkill.js +15 -1
- package/dist/skills/DroidSkill.js.map +1 -0
- package/dist/skills/DroidTap.js +3 -3
- package/dist/skills/DroidTap.js.map +1 -0
- package/dist/skills/DroidVisual.js +81 -0
- package/dist/skills/DroidVisual.js.map +1 -0
- package/dist/skills/OsuAim.js +1 -0
- package/dist/skills/OsuAim.js.map +1 -0
- package/dist/skills/OsuFlashlight.js +1 -0
- package/dist/skills/OsuFlashlight.js.map +1 -0
- package/dist/skills/OsuSkill.js +1 -0
- package/dist/skills/OsuSkill.js.map +1 -0
- package/dist/skills/OsuSpeed.js +1 -0
- package/dist/skills/OsuSpeed.js.map +1 -0
- package/package.json +2 -2
- package/typings/index.d.ts +173 -118
package/typings/index.d.ts
CHANGED
|
@@ -52,6 +52,10 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
52
52
|
* The flashlight strain generated by the hitobject.
|
|
53
53
|
*/
|
|
54
54
|
flashlightStrain: number;
|
|
55
|
+
/**
|
|
56
|
+
* The visual strain generated by the hitobject.
|
|
57
|
+
*/
|
|
58
|
+
visualStrain: number;
|
|
55
59
|
/**
|
|
56
60
|
* The normalized distance from the "lazy" end position of the previous hitobject to the start position of this hitobject.
|
|
57
61
|
*
|
|
@@ -101,6 +105,24 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
101
105
|
* Adjusted start time of the hitobject, taking speed multiplier into account.
|
|
102
106
|
*/
|
|
103
107
|
startTime: number;
|
|
108
|
+
/**
|
|
109
|
+
* Adjusted end time of the hitobject, taking speed multiplier into account.
|
|
110
|
+
*/
|
|
111
|
+
endTime: number;
|
|
112
|
+
/**
|
|
113
|
+
* The note density of the hitobject.
|
|
114
|
+
*/
|
|
115
|
+
noteDensity: number;
|
|
116
|
+
/**
|
|
117
|
+
* The overlapping factor of the hitobject.
|
|
118
|
+
*
|
|
119
|
+
* This is used to scale visual skill.
|
|
120
|
+
*/
|
|
121
|
+
overlappingFactor: number;
|
|
122
|
+
/**
|
|
123
|
+
* Adjusted velocity of the hitobject, taking speed multiplier into account.
|
|
124
|
+
*/
|
|
125
|
+
velocity: number;
|
|
104
126
|
/**
|
|
105
127
|
* @param object The underlying hitobject.
|
|
106
128
|
*/
|
|
@@ -135,6 +157,7 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
135
157
|
circleSize: number;
|
|
136
158
|
speedMultiplier: number;
|
|
137
159
|
mode: modes;
|
|
160
|
+
preempt?: number;
|
|
138
161
|
}): DifficultyHitObject[];
|
|
139
162
|
/**
|
|
140
163
|
* Calculates a slider's cursor position.
|
|
@@ -182,7 +205,7 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
182
205
|
*/
|
|
183
206
|
protected override strainValueAt(current: DifficultyHitObject): number;
|
|
184
207
|
/**
|
|
185
|
-
* @param
|
|
208
|
+
* @param current The hitobject to save to.
|
|
186
209
|
*/
|
|
187
210
|
protected override saveToHitObject(current: DifficultyHitObject): void;
|
|
188
211
|
}
|
|
@@ -210,6 +233,7 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
210
233
|
*/
|
|
211
234
|
protected override saveToHitObject(current: DifficultyHitObject): void;
|
|
212
235
|
}
|
|
236
|
+
|
|
213
237
|
/**
|
|
214
238
|
* A performance points calculator that calculates performance points for osu!droid gamemode.
|
|
215
239
|
*/
|
|
@@ -232,7 +256,10 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
232
256
|
* The flashlight performance value.
|
|
233
257
|
*/
|
|
234
258
|
flashlight: number;
|
|
235
|
-
|
|
259
|
+
/**
|
|
260
|
+
* The visual performance value.
|
|
261
|
+
*/
|
|
262
|
+
visual: number;
|
|
236
263
|
private tapPenalty: number;
|
|
237
264
|
override calculate(params: {
|
|
238
265
|
/**
|
|
@@ -262,10 +289,6 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
262
289
|
}): this;
|
|
263
290
|
protected override calculateValues(): void;
|
|
264
291
|
protected override calculateTotalValue(): number;
|
|
265
|
-
/**
|
|
266
|
-
* Calculates the average rhythm multiplier of the beatmap.
|
|
267
|
-
*/
|
|
268
|
-
private calculateAverageRhythmMultiplier(): void;
|
|
269
292
|
/**
|
|
270
293
|
* Calculates the aim performance value of the beatmap.
|
|
271
294
|
*/
|
|
@@ -282,6 +305,10 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
282
305
|
* Calculates the flashlight performance value of the beatmap.
|
|
283
306
|
*/
|
|
284
307
|
private calculateFlashlightValue(): void;
|
|
308
|
+
/**
|
|
309
|
+
* Calculates the visual performance value of the beatmap.
|
|
310
|
+
*/
|
|
311
|
+
private calculateVisualValue(): void;
|
|
285
312
|
override toString(): string;
|
|
286
313
|
}
|
|
287
314
|
|
|
@@ -320,10 +347,18 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
320
347
|
* The tap star rating of the beatmap.
|
|
321
348
|
*/
|
|
322
349
|
tap: number;
|
|
350
|
+
/**
|
|
351
|
+
* The rhythm star rating of the beatmap.
|
|
352
|
+
*/
|
|
353
|
+
rhythm: number;
|
|
323
354
|
/**
|
|
324
355
|
* The flashlight star rating of the beatmap.
|
|
325
356
|
*/
|
|
326
357
|
flashlight: number;
|
|
358
|
+
/**
|
|
359
|
+
* The visual star rating of the beatmap.
|
|
360
|
+
*/
|
|
361
|
+
visual: number;
|
|
327
362
|
protected override readonly difficultyMultiplier: number;
|
|
328
363
|
/**
|
|
329
364
|
* Calculates the star rating of the specified beatmap.
|
|
@@ -366,17 +401,19 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
366
401
|
*/
|
|
367
402
|
calculateTap(): void;
|
|
368
403
|
/**
|
|
369
|
-
* Calculates the
|
|
404
|
+
* Calculates the rhythm star rating of the beatmap and stores it in this instance.
|
|
370
405
|
*/
|
|
371
|
-
|
|
406
|
+
calculateRhythm(): void;
|
|
372
407
|
/**
|
|
373
|
-
* Calculates the
|
|
408
|
+
* Calculates the flashlight star rating of the beatmap and stores it in this instance.
|
|
374
409
|
*/
|
|
375
|
-
|
|
410
|
+
calculateFlashlight(): void;
|
|
376
411
|
/**
|
|
377
|
-
* Calculates
|
|
412
|
+
* Calculates the visual star rating of the beatmap and stores it in this instance.
|
|
378
413
|
*/
|
|
379
|
-
|
|
414
|
+
calculateVisual(): void;
|
|
415
|
+
override calculateTotal(): void;
|
|
416
|
+
override calculateAll(): void;
|
|
380
417
|
/**
|
|
381
418
|
* Returns a string representative of the class.
|
|
382
419
|
*/
|
|
@@ -402,9 +439,9 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
402
439
|
*/
|
|
403
440
|
private postCalculateTap(tapSkill: DroidTap): void;
|
|
404
441
|
/**
|
|
405
|
-
* Calculates
|
|
442
|
+
* Calculates speed-related attributes.
|
|
406
443
|
*/
|
|
407
|
-
private
|
|
444
|
+
private calculateSpeedAttributes(): void;
|
|
408
445
|
/**
|
|
409
446
|
* Called after rhythm skill calculation.
|
|
410
447
|
*
|
|
@@ -417,13 +454,18 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
417
454
|
* @param flashlightSkill The flashlight skill.
|
|
418
455
|
*/
|
|
419
456
|
private postCalculateFlashlight(flashlightSkill: DroidFlashlight): void;
|
|
457
|
+
/**
|
|
458
|
+
* Called after visual skill calculation.
|
|
459
|
+
*
|
|
460
|
+
* @param visualSkill The visual skill.
|
|
461
|
+
*/
|
|
462
|
+
private postCalculateVisual(visualSkill: DroidVisual): void;
|
|
420
463
|
}
|
|
421
464
|
|
|
422
465
|
/**
|
|
423
466
|
* Represents the skill required to press keys or tap with regards to keeping up with the speed at which objects need to be hit.
|
|
424
467
|
*/
|
|
425
468
|
export class DroidTap extends DroidSkill {
|
|
426
|
-
protected override readonly historyLength: number;
|
|
427
469
|
protected override readonly skillMultiplier: number;
|
|
428
470
|
protected override readonly strainDecayBase: number;
|
|
429
471
|
protected override readonly reducedSectionBaseline: number;
|
|
@@ -432,10 +474,6 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
432
474
|
private readonly minSpeedBonus: number;
|
|
433
475
|
private currentTapStrain: number;
|
|
434
476
|
private currentOriginalTapStrain: number;
|
|
435
|
-
private readonly rhythmMultiplier: number;
|
|
436
|
-
private readonly historyTimeMax: number;
|
|
437
|
-
private currentRhythm: number;
|
|
438
|
-
private readonly overallDifficulty: number;
|
|
439
477
|
private readonly hitWindow: OsuHitWindow;
|
|
440
478
|
constructor(mods: Mod[], overallDifficulty: number);
|
|
441
479
|
/**
|
|
@@ -456,6 +494,32 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
456
494
|
protected override saveToHitObject(current: DifficultyHitObject): void;
|
|
457
495
|
}
|
|
458
496
|
|
|
497
|
+
/**
|
|
498
|
+
* Represents the skill required to read every object in the map.
|
|
499
|
+
*/
|
|
500
|
+
export class DroidVisual extends DroidSkill {
|
|
501
|
+
protected override readonly skillMultiplier: number;
|
|
502
|
+
protected override readonly strainDecayBase: number;
|
|
503
|
+
protected override readonly reducedSectionBaseline: number;
|
|
504
|
+
protected override readonly reducedSectionCount: number;
|
|
505
|
+
protected override readonly starsPerDouble: number;
|
|
506
|
+
private readonly preempt: number;
|
|
507
|
+
private readonly isHidden: boolean;
|
|
508
|
+
constructor(mods: Mod[], preempt: number);
|
|
509
|
+
/**
|
|
510
|
+
* @param current The hitobject to calculate.
|
|
511
|
+
*/
|
|
512
|
+
protected strainValueOf(current: DifficultyHitObject): number;
|
|
513
|
+
/**
|
|
514
|
+
* @param current The hitobject to calculate.
|
|
515
|
+
*/
|
|
516
|
+
protected override strainValueAt(current: DifficultyHitObject): number;
|
|
517
|
+
/**
|
|
518
|
+
* @param current The hitobject to save to.
|
|
519
|
+
*/
|
|
520
|
+
protected override saveToHitObject(current: DifficultyHitObject): void;
|
|
521
|
+
}
|
|
522
|
+
|
|
459
523
|
/**
|
|
460
524
|
* A star rating calculator that configures which mode to calculate difficulty for and what mods are applied.
|
|
461
525
|
*/
|
|
@@ -626,13 +690,9 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
626
690
|
protected override readonly reducedSectionBaseline: number;
|
|
627
691
|
protected override readonly difficultyMultiplier: number;
|
|
628
692
|
protected override readonly decayWeight: number;
|
|
629
|
-
private readonly rhythmMultiplier: number;
|
|
630
|
-
private readonly historyTimeMax: number;
|
|
631
|
-
private currentSpeedStrain: number;
|
|
632
|
-
private currentRhythm: number;
|
|
633
693
|
private readonly minSpeedBonus: number;
|
|
634
|
-
private readonly
|
|
635
|
-
|
|
694
|
+
private readonly maxSpeedBonus: number;
|
|
695
|
+
private readonly angleBonusScale: number;
|
|
636
696
|
/**
|
|
637
697
|
* @param current The hitobject to calculate.
|
|
638
698
|
*/
|
|
@@ -694,14 +754,8 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
694
754
|
* Calculates the flashlight star rating of the beatmap and stores it in this instance.
|
|
695
755
|
*/
|
|
696
756
|
calculateFlashlight(): void;
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
*/
|
|
700
|
-
calculateTotal(): void;
|
|
701
|
-
/**
|
|
702
|
-
* Calculates every star rating of the beatmap and stores it in this instance.
|
|
703
|
-
*/
|
|
704
|
-
calculateAll(): void;
|
|
757
|
+
override calculateTotal(): void;
|
|
758
|
+
override calculateAll(): void;
|
|
705
759
|
/**
|
|
706
760
|
* Returns a string representative of the class.
|
|
707
761
|
*/
|
|
@@ -744,6 +798,8 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
744
798
|
export interface DifficultyAttributes {
|
|
745
799
|
speedNoteCount: number;
|
|
746
800
|
sliderFactor: number;
|
|
801
|
+
aimDifficultStrainCount: number;
|
|
802
|
+
speedDifficultStrainCount: number;
|
|
747
803
|
}
|
|
748
804
|
|
|
749
805
|
/**
|
|
@@ -966,8 +1022,7 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
966
1022
|
*/
|
|
967
1023
|
private calculateEffectiveMissCount(
|
|
968
1024
|
combo: number,
|
|
969
|
-
maxCombo: number
|
|
970
|
-
mode: modes
|
|
1025
|
+
maxCombo: number
|
|
971
1026
|
): number;
|
|
972
1027
|
}
|
|
973
1028
|
|
|
@@ -1002,6 +1057,89 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
1002
1057
|
abstract difficultyValue(): number;
|
|
1003
1058
|
}
|
|
1004
1059
|
|
|
1060
|
+
/**
|
|
1061
|
+
* Used to processes strain values of difficulty hitobjects, keep track of strain levels caused by the processed objects
|
|
1062
|
+
* and to calculate a final difficulty value representing the difficulty of hitting all the processed objects.
|
|
1063
|
+
*/
|
|
1064
|
+
abstract class StrainSkill extends Skill {
|
|
1065
|
+
/**
|
|
1066
|
+
* The strain of currently calculated hitobject.
|
|
1067
|
+
*/
|
|
1068
|
+
protected currentStrain: number;
|
|
1069
|
+
|
|
1070
|
+
/**
|
|
1071
|
+
* The current section's strain peak.
|
|
1072
|
+
*/
|
|
1073
|
+
protected currentSectionPeak: number;
|
|
1074
|
+
|
|
1075
|
+
/**
|
|
1076
|
+
* Strain peaks are stored here.
|
|
1077
|
+
*/
|
|
1078
|
+
readonly strainPeaks: number[];
|
|
1079
|
+
/**
|
|
1080
|
+
* The number of sections with the highest strains, which the peak strain reductions will apply to.
|
|
1081
|
+
* This is done in order to decrease their impact on the overall difficulty of the map for this skill.
|
|
1082
|
+
*/
|
|
1083
|
+
protected abstract readonly reducedSectionCount: number;
|
|
1084
|
+
|
|
1085
|
+
/**
|
|
1086
|
+
* The baseline multiplier applied to the section with the biggest strain.
|
|
1087
|
+
*/
|
|
1088
|
+
protected abstract readonly reducedSectionBaseline: number;
|
|
1089
|
+
|
|
1090
|
+
/**
|
|
1091
|
+
* Strain values are multiplied by this number for the given skill. Used to balance the value of different skills between each other.
|
|
1092
|
+
*/
|
|
1093
|
+
protected abstract readonly skillMultiplier: number;
|
|
1094
|
+
|
|
1095
|
+
/**
|
|
1096
|
+
* Determines how quickly strain decays for the given skill.
|
|
1097
|
+
*
|
|
1098
|
+
* For example, a value of 0.15 indicates that strain decays to 15% of its original value in one second.
|
|
1099
|
+
*/
|
|
1100
|
+
protected abstract readonly strainDecayBase: number;
|
|
1101
|
+
|
|
1102
|
+
protected readonly sectionLength: number;
|
|
1103
|
+
|
|
1104
|
+
protected currentSectionEnd: number;
|
|
1105
|
+
|
|
1106
|
+
/**
|
|
1107
|
+
* Calculates the strain value of a hitobject and stores the value in it. This value is affected by previously processed objects.
|
|
1108
|
+
*
|
|
1109
|
+
* @param current The hitobject to process.
|
|
1110
|
+
*/
|
|
1111
|
+
protected override process(current: DifficultyHitObject): void;
|
|
1112
|
+
|
|
1113
|
+
/**
|
|
1114
|
+
* Saves the current peak strain level to the list of strain peaks, which will be used to calculate an overall difficulty.
|
|
1115
|
+
*/
|
|
1116
|
+
saveCurrentPeak(): void;
|
|
1117
|
+
|
|
1118
|
+
/**
|
|
1119
|
+
* Sets the initial strain level for a new section.
|
|
1120
|
+
*
|
|
1121
|
+
* @param offset The beginning of the new section in milliseconds, adjusted by speed multiplier.
|
|
1122
|
+
*/
|
|
1123
|
+
protected startNewSectionFrom(offset: number): void;
|
|
1124
|
+
|
|
1125
|
+
/**
|
|
1126
|
+
* Calculates strain decay for a specified time frame.
|
|
1127
|
+
*
|
|
1128
|
+
* @param ms The time frame to calculate.
|
|
1129
|
+
*/
|
|
1130
|
+
protected strainDecay(ms: number): number;
|
|
1131
|
+
|
|
1132
|
+
/**
|
|
1133
|
+
* Calculates the strain value at a hitobject.
|
|
1134
|
+
*/
|
|
1135
|
+
protected abstract strainValueAt(current: DifficultyHitObject): number;
|
|
1136
|
+
|
|
1137
|
+
/**
|
|
1138
|
+
* Saves the current strain to a hitobject.
|
|
1139
|
+
*/
|
|
1140
|
+
protected abstract saveToHitObject(current: DifficultyHitObject): void;
|
|
1141
|
+
}
|
|
1142
|
+
|
|
1005
1143
|
/**
|
|
1006
1144
|
* The base of difficulty calculation.
|
|
1007
1145
|
*/
|
|
@@ -1113,88 +1251,5 @@ declare module "@rian8337/osu-difficulty-calculator" {
|
|
|
1113
1251
|
protected basePerformanceValue(rating: number): number;
|
|
1114
1252
|
}
|
|
1115
1253
|
|
|
1116
|
-
/**
|
|
1117
|
-
* Used to processes strain values of difficulty hitobjects, keep track of strain levels caused by the processed objects
|
|
1118
|
-
* and to calculate a final difficulty value representing the difficulty of hitting all the processed objects.
|
|
1119
|
-
*/
|
|
1120
|
-
abstract class StrainSkill extends Skill {
|
|
1121
|
-
/**
|
|
1122
|
-
* The strain of currently calculated hitobject.
|
|
1123
|
-
*/
|
|
1124
|
-
protected currentStrain: number;
|
|
1125
|
-
|
|
1126
|
-
/**
|
|
1127
|
-
* The current section's strain peak.
|
|
1128
|
-
*/
|
|
1129
|
-
protected currentSectionPeak: number;
|
|
1130
|
-
|
|
1131
|
-
/**
|
|
1132
|
-
* Strain peaks are stored here.
|
|
1133
|
-
*/
|
|
1134
|
-
readonly strainPeaks: number[];
|
|
1135
|
-
/**
|
|
1136
|
-
* The number of sections with the highest strains, which the peak strain reductions will apply to.
|
|
1137
|
-
* This is done in order to decrease their impact on the overall difficulty of the map for this skill.
|
|
1138
|
-
*/
|
|
1139
|
-
protected abstract readonly reducedSectionCount: number;
|
|
1140
|
-
|
|
1141
|
-
/**
|
|
1142
|
-
* The baseline multiplier applied to the section with the biggest strain.
|
|
1143
|
-
*/
|
|
1144
|
-
protected abstract readonly reducedSectionBaseline: number;
|
|
1145
|
-
|
|
1146
|
-
/**
|
|
1147
|
-
* Strain values are multiplied by this number for the given skill. Used to balance the value of different skills between each other.
|
|
1148
|
-
*/
|
|
1149
|
-
protected abstract readonly skillMultiplier: number;
|
|
1150
|
-
|
|
1151
|
-
/**
|
|
1152
|
-
* Determines how quickly strain decays for the given skill.
|
|
1153
|
-
*
|
|
1154
|
-
* For example, a value of 0.15 indicates that strain decays to 15% of its original value in one second.
|
|
1155
|
-
*/
|
|
1156
|
-
protected abstract readonly strainDecayBase: number;
|
|
1157
|
-
|
|
1158
|
-
protected readonly sectionLength: number;
|
|
1159
|
-
|
|
1160
|
-
protected currentSectionEnd: number;
|
|
1161
|
-
|
|
1162
|
-
/**
|
|
1163
|
-
* Calculates the strain value of a hitobject and stores the value in it. This value is affected by previously processed objects.
|
|
1164
|
-
*
|
|
1165
|
-
* @param current The hitobject to process.
|
|
1166
|
-
*/
|
|
1167
|
-
protected override process(current: DifficultyHitObject): void;
|
|
1168
|
-
|
|
1169
|
-
/**
|
|
1170
|
-
* Saves the current peak strain level to the list of strain peaks, which will be used to calculate an overall difficulty.
|
|
1171
|
-
*/
|
|
1172
|
-
saveCurrentPeak(): void;
|
|
1173
|
-
|
|
1174
|
-
/**
|
|
1175
|
-
* Sets the initial strain level for a new section.
|
|
1176
|
-
*
|
|
1177
|
-
* @param offset The beginning of the new section in milliseconds, adjusted by speed multiplier.
|
|
1178
|
-
*/
|
|
1179
|
-
protected startNewSectionFrom(offset: number): void;
|
|
1180
|
-
|
|
1181
|
-
/**
|
|
1182
|
-
* Calculates strain decay for a specified time frame.
|
|
1183
|
-
*
|
|
1184
|
-
* @param ms The time frame to calculate.
|
|
1185
|
-
*/
|
|
1186
|
-
protected strainDecay(ms: number): number;
|
|
1187
|
-
|
|
1188
|
-
/**
|
|
1189
|
-
* Calculates the strain value at a hitobject.
|
|
1190
|
-
*/
|
|
1191
|
-
protected abstract strainValueAt(current: DifficultyHitObject): number;
|
|
1192
|
-
|
|
1193
|
-
/**
|
|
1194
|
-
* Saves the current strain to a hitobject.
|
|
1195
|
-
*/
|
|
1196
|
-
protected abstract saveToHitObject(current: DifficultyHitObject): void;
|
|
1197
|
-
}
|
|
1198
|
-
|
|
1199
1254
|
//#endregion
|
|
1200
1255
|
}
|