remove all mod specific buffs (#16)
This commit is contained in:
+2
-22
@@ -272,21 +272,12 @@ impl<'m> OsuPP<'m> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let nodt_bonus = match !(self.mods.dt() || self.mods.nc() || self.mods.ht()) {
|
let pp = (aim_value.powf(1.185)
|
||||||
true => 1.02,
|
|
||||||
false => 1.0,
|
|
||||||
};
|
|
||||||
|
|
||||||
let mut pp = (aim_value.powf(1.185 * nodt_bonus)
|
|
||||||
+ speed_value.powf(0.83 * acc_depression)
|
+ speed_value.powf(0.83 * acc_depression)
|
||||||
+ acc_value.powf(1.14 * nodt_bonus))
|
+ acc_value.powf(1.14))
|
||||||
.powf(1.0 / 1.1)
|
.powf(1.0 / 1.1)
|
||||||
* multiplier;
|
* multiplier;
|
||||||
|
|
||||||
if self.mods.dt() && self.mods.hr() {
|
|
||||||
pp *= 1.025;
|
|
||||||
}
|
|
||||||
|
|
||||||
OsuPerformanceAttributes {
|
OsuPerformanceAttributes {
|
||||||
difficulty: self.attributes.unwrap(),
|
difficulty: self.attributes.unwrap(),
|
||||||
pp_aim: aim_value as f64,
|
pp_aim: aim_value as f64,
|
||||||
@@ -349,17 +340,6 @@ impl<'m> OsuPP<'m> {
|
|||||||
+ (total_hits > 500.0) as u8 as f32 * (total_hits - 500.0) / 1600.0;
|
+ (total_hits > 500.0) as u8 as f32 * (total_hits - 500.0) / 1600.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// EZ bonus
|
|
||||||
if self.mods.ez() {
|
|
||||||
let mut base_buff = 1.08_f32;
|
|
||||||
|
|
||||||
if attributes.ar <= 8.0 {
|
|
||||||
base_buff += (7.0 - attributes.ar as f32) / 100.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
aim_value *= base_buff;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 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;
|
||||||
|
|||||||
Reference in New Issue
Block a user