Add woot precision (#10)
* woot precision * update formula * increase exponent * overhaul * adjustments * more adjust * yeah * changes * 3
This commit is contained in:
@@ -400,6 +400,11 @@ impl<'m> OsuPP<'m> {
|
|||||||
aim_value *= base_buff;
|
aim_value *= base_buff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Precision buff (reading)
|
||||||
|
if attributes.cs > 5.58 {
|
||||||
|
aim_value *= ((attributes.cs as f32 - 5.46).powf(1.8) + 1.0).powf(0.03);
|
||||||
|
}
|
||||||
|
|
||||||
// Scale with accuracy
|
// Scale with accuracy
|
||||||
aim_value *= 0.3 + self.acc.unwrap() / 2.0;
|
aim_value *= 0.3 + self.acc.unwrap() / 2.0;
|
||||||
aim_value *= 0.98 + attributes.od as f32 * attributes.od as f32 / 2500.0;
|
aim_value *= 0.98 + attributes.od as f32 * attributes.od as f32 / 2500.0;
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ pub fn stars(map: &Beatmap, mods: u32, passed_objects: Option<usize>) -> OsuDiff
|
|||||||
let mut diff_attributes = OsuDifficultyAttributes {
|
let mut diff_attributes = OsuDifficultyAttributes {
|
||||||
ar: map_attributes.ar,
|
ar: map_attributes.ar,
|
||||||
od: map_attributes.od,
|
od: map_attributes.od,
|
||||||
|
cs: map_attributes.cs,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -39,8 +40,8 @@ pub fn stars(map: &Beatmap, mods: u32, passed_objects: Option<usize>) -> OsuDiff
|
|||||||
let radius = OBJECT_RADIUS * (1.0 - 0.7 * (map_attributes.cs as f32 - 5.0) / 5.0) / 2.0;
|
let radius = OBJECT_RADIUS * (1.0 - 0.7 * (map_attributes.cs as f32 - 5.0) / 5.0) / 2.0;
|
||||||
let mut scaling_factor = NORMALIZED_RADIUS / radius;
|
let mut scaling_factor = NORMALIZED_RADIUS / radius;
|
||||||
|
|
||||||
if radius < 30.0 {
|
if radius < 30.05 {
|
||||||
let small_circle_bonus = (30.0 - radius).min(5.0) / 50.0;
|
let small_circle_bonus = ((30.05 - radius) / 50.0).powf(1.1) * 1.45;
|
||||||
scaling_factor *= 1.0 + small_circle_bonus;
|
scaling_factor *= 1.0 + small_circle_bonus;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,6 +149,7 @@ pub struct OsuDifficultyAttributes {
|
|||||||
pub ar: f64,
|
pub ar: f64,
|
||||||
pub od: f64,
|
pub od: f64,
|
||||||
pub hp: f64,
|
pub hp: f64,
|
||||||
|
pub cs: f64,
|
||||||
pub n_circles: usize,
|
pub n_circles: usize,
|
||||||
pub n_sliders: usize,
|
pub n_sliders: usize,
|
||||||
pub n_spinners: usize,
|
pub n_spinners: usize,
|
||||||
|
|||||||
Reference in New Issue
Block a user