You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// there are known instances of beatmaps (https://osu.ppy.sh/beatmapsets/594828#osu/1258033) which contain zero-length sliders with non-zero numbers of repeats.
482
+
// this was exploiting a bug in stable in which the slider repeats would be generated as objects but never actually judged as a hit *or* miss during gameplay,
483
+
// therefore increasing the theoretical possible max combo to be gained from a slider while in practice never giving that extra combo.
484
+
// due to lazer ensuring that an object has its nested part fully judged, this would result in broken behaviours
485
+
// (either the zero-length slider giving hundreds of combo for nothing if the repeats are judged as hit, or insta-failing the player due to HP if judged as miss).
486
+
// to remedy this in a way that seems least damaging, detect this situation via a heuristic and reset the number of repeats to zero.
487
+
// this technically *does not* match stable beatmap parsing or conversion, *does not* match in-gameplay behaviour of such broken sliders,
488
+
// and *will* fail conversion mapping tests, but again, this is supposed to be a least-worst measure to prevent exploits.
489
+
// it is also applied centrally to all rulesets rather than in specific ruleset converters because this failure scenario
490
+
// translates across rulesets (osu! and catch are both affected).
0 commit comments