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()) {
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user