remove all mod specific buffs (#16)

This commit is contained in:
James Wilson
2024-11-27 13:05:00 +00:00
committed by GitHub
parent d8ff615b21
commit c0e499ec3a
+2 -22
View File
@@ -272,21 +272,12 @@ impl<'m> OsuPP<'m> {
}
}
let nodt_bonus = match !(self.mods.dt() || self.mods.nc() || self.mods.ht()) {
true => 1.02,
false => 1.0,
};
let mut pp = (aim_value.powf(1.185 * nodt_bonus)
let pp = (aim_value.powf(1.185)
+ speed_value.powf(0.83 * acc_depression)
+ acc_value.powf(1.14 * nodt_bonus))
+ acc_value.powf(1.14))
.powf(1.0 / 1.1)
* multiplier;
if self.mods.dt() && self.mods.hr() {
pp *= 1.025;
}
OsuPerformanceAttributes {
difficulty: self.attributes.unwrap(),
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;
}
// 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
aim_value *= 0.3 + self.acc.unwrap() / 2.0;
aim_value *= 0.98 + attributes.od as f32 * attributes.od as f32 / 2500.0;