feat: remove unrelated ap changes

This commit is contained in:
tsunyoku
2022-11-20 15:23:27 +00:00
parent 337f3c4b5e
commit c35d5cf5c6
2 changed files with 3 additions and 34 deletions
-2
View File
@@ -40,7 +40,6 @@ pub trait Mods: Copy {
fn ht(self) -> bool; fn ht(self) -> bool;
fn fl(self) -> bool; fn fl(self) -> bool;
fn so(self) -> bool; fn so(self) -> bool;
fn ap(self) -> bool;
} }
impl Mods for u32 { impl Mods for u32 {
@@ -86,5 +85,4 @@ impl Mods for u32 {
impl_mods!(ht, HT); impl_mods!(ht, HT);
impl_mods!(fl, FL); impl_mods!(fl, FL);
impl_mods!(so, SO); impl_mods!(so, SO);
impl_mods!(ap, AP);
} }
-29
View File
@@ -282,26 +282,17 @@ impl<'m> OsuPP<'m> {
let speed_factor = match self.mods.rx() { let speed_factor = match self.mods.rx() {
true => speed_value.powf(0.82 * acc_depression), true => speed_value.powf(0.82 * acc_depression),
false => match self.mods.ap() {
true => speed_value.powf(1.12),
false => speed_value.powf(1.1), false => speed_value.powf(1.1),
},
}; };
let aim_factor = match self.mods.rx() { let aim_factor = match self.mods.rx() {
true => aim_value.powf(1.185 * nodt_bonus), true => aim_value.powf(1.185 * nodt_bonus),
false => match self.mods.ap() {
true => 0.0,
false => aim_value.powf(1.1), false => aim_value.powf(1.1),
},
}; };
let acc_factor = match self.mods.rx() { let acc_factor = match self.mods.rx() {
true => acc_value.powf(1.14 * nodt_bonus), true => acc_value.powf(1.14 * nodt_bonus),
false => match self.mods.ap() {
true => acc_value.powf(1.12),
false => acc_value.powf(1.1), false => acc_value.powf(1.1),
},
}; };
let mut pp = (aim_factor + speed_factor + acc_factor).powf(1.0 / 1.1) * multiplier; let mut pp = (aim_factor + speed_factor + acc_factor).powf(1.0 / 1.1) * multiplier;
@@ -525,26 +516,6 @@ impl<'m> OsuPP<'m> {
false => self.n50.unwrap() as f32 - total_hits / 500.0, false => self.n50.unwrap() as f32 - total_hits / 500.0,
}); });
if self.mods.ap() {
speed_value *= 0.5 + self.acc.unwrap() / 2.0;
speed_value *= 0.98 + attributes.od as f32 * attributes.od as f32 / 2500.0;
// FL bonus
if self.mods.fl() {
speed_value *= 1.0
+ 0.25 * (total_hits / 200.0).min(1.0)
+ (total_hits > 200.0) as u8 as f32
* 0.2
* ((total_hits - 200.0) / 300.0).min(1.0)
+ (total_hits > 500.0) as u8 as f32 * (total_hits - 500.0) / 1100.0;
}
speed_value *= 0.98_f32.powf(match (self.n50.unwrap() as f32) < total_hits / 500.0 {
true => 0.0,
false => self.n50.unwrap() as f32 - total_hits / 500.0,
});
}
speed_value speed_value
} }