Comments (7)
Ok nevermind I just found why :
1- The scoreMultiplier is recovered using beatmap.DifficultyAttribute(_mods, Beatmap::ScoreMultiplier)
here :
https://github.com/ppy/osu-performance/blob/master/src/performance/mania/ManiaScore.cpp#L70
2- The DifficultyAttribute method is defined here and only considers a subselection of mods using MaskRelevantDifficultyMods
https://github.com/ppy/osu-performance/blob/master/src/performance/Beatmap.cpp#L22-L24
3- Of course MaskRelevantDifficultyMods ignores NF :
osu-performance/include/pp/Common.h
Lines 98 to 100 in 92b3eaf
from osu-performance.
i don't have a code reference but iirc all mania scores under 500k have 0pp. it was to prevent people mashing hard maps for rank
from osu-performance.
nevermind here it is https://github.com/ppy/osu-performance/blob/master/src/performance/mania/ManiaScore.cpp#L86-L88
from osu-performance.
Wow so NF multiplies PP by 0.9, but that doesn't matter because NF also halves score and that makes PP always 0.
from osu-performance.
Before applying the score factor, the score of the play is divided by the score multiplier of the mods applied, so the score multiplier shouldn't have an effect of pp calculation. In fact, other mods that reduce score (EZ, HT) do have pp values above 0.
There seems to be a bug somewhere where the score multiplier of NF isn't being considered.
from osu-performance.
yep as @FullTablet said, it's re-scalled to remove the mod multiplier right here :
https://github.com/ppy/osu-performance/blob/master/src/performance/mania/ManiaScore.cpp#L78
So the error in calculation probably comes from somewhere else outside of ManiaScore.cpp.
I tried searching in the code at what other places the NF mod do have any impact but couldn't find anything yet. Running the pp calculation of a NF play in debug mode in some IDE and tracing back the source of the 0 in the step by step calculation is probably the easiest way to find it, but I've never used C# IDEs/tools.
from osu-performance.
woops, sorry for the misleading comments then
from osu-performance.
Related Issues (20)
- Scaling miss penalization according to the number of hitobjects in a map HOT 2
- Addition of pp to slider based on Slider Velocity HOT 13
- Stop score overwrite if pp of the play is lower HOT 6
- An addition of SD(ObjectSpacing) to aim_pp with the goal to compensate high variance stream maps HOT 23
- Drop frame when I miss in taiko mode HOT 1
- Hitoffsets in score data
- Simple buff for low AR HOT 20
- Support unconditionally re-computing the pp across all rulesets HOT 2
- Cap bonus pp at a certain amount of plays HOT 10
- High AR HDFL aim pp HOT 9
- Split pp into separate skill values
- osu!mania pp calc : scoreMultiplier ignoring NF mutliplier seems contradictory HOT 1
- Adjusting pp lost on a miss based on location of miss within the map HOT 2
- CS difficulty doesn't scale properly with resolution HOT 2
- Statistical osu SR & performance calc HOT 12
- Acc based on Statistical Accuracy
- Markov Model Probability of FC HOT 2
- The high AR Bonus is faulty (With possible solutions) HOT 5
- Remove rhythm change bonus from taiko SR HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from osu-performance.