oamaok/ezpp

Full mania support

Opened this issue · 3 comments

you can find calc here http://maniapp.uy.to/

I think following things could help in understanding the logics of mania pp.

It's all about star rating, score, OD and object count. No accuracy number. No aim/acc/stream value.
Just some bare numbers.

The only problem is trying to figure out DT/HT.
Afaik there isn't a formula for calculating the star rating without the osu! doing the work itself .
You can ignore HR and NF, as both are unranked. HD, FI and FL are ranked, but don't award score/pp bonus.

PM me on osu! ingame/forums or on Discord (IceDynamix#7153) if you have any questions about the pp formula etc.

	pp = 	( ( StrainBase × StrainMultiplier )^1.1 + AccValue^1,1 )^( 1 ÷ 1,1 ) × 0.88
  Accvalue = 	( OD ÷ 10 ) × 0.2 × StrainBase × ( ( Score - 960000 ) ÷ 40,000 )^1.1
StrainBase = 	( 5 × MAX( 1 , Star Rating × 5 ) - 4 )^2.2  ÷ 110000  × ( 1 + 0.1 × MIN( Objects ÷ 1500 , 1))

Strain Multiplier:
500k - 600k score: 0.00 + 0.30 × ((score - 500,000) ÷ 100,000)
600k - 700k score: 0.30 + 0.25 × ((score - 600,000) ÷ 100,000)
700k - 800k score: 0.55 + 0.20 × ((score - 700,000) ÷ 100,000)
800k - 900k score: 0.75 + 0.15 × ((score - 800,000) ÷ 100,000)
900k - 1mil score: 0.90 + 0.10 × ((score - 900,000) ÷ 100,000)

@IceDynamix The largest problem which still remains is the star difficulty calculation, which as far as I know isn't open source. It would be possible just to fetch and parse that from the page itself, but it's so hacky I wouldn't want to implement it that way.

I did manage to find this project, but I'm not at all sure how accurate that is.

Also, since ezpp! project itself doesn't really implement the pp/difficulty calculation this issue could be mirrored to ojsama, the library it uses to perform the math.