Giter VIP home page Giter VIP logo

Comments (7)

Zyfarok avatar Zyfarok commented on August 22, 2024 2

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 :

inline EMods MaskRelevantDifficultyMods(EMods mods)
{
return static_cast<EMods>(mods & (DoubleTime | HalfTime | HardRock | Easy | keyMod));

from osu-performance.

cl8n avatar cl8n commented on August 22, 2024

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.

cl8n avatar cl8n commented on August 22, 2024

nevermind here it is https://github.com/ppy/osu-performance/blob/master/src/performance/mania/ManiaScore.cpp#L86-L88

from osu-performance.

abraker95 avatar abraker95 commented on August 22, 2024

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.

FullTablet avatar FullTablet commented on August 22, 2024

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.

Zyfarok avatar Zyfarok commented on August 22, 2024

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.

cl8n avatar cl8n commented on August 22, 2024

woops, sorry for the misleading comments then

from osu-performance.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.