Skip to content

Move Traceable to difficulty increasing mods section#35500

Merged
peppy merged 2 commits intoppy:masterfrom
stanriders:move-traceable-to-diffincrease
Jan 25, 2026
Merged

Move Traceable to difficulty increasing mods section#35500
peppy merged 2 commits intoppy:masterfrom
stanriders:move-traceable-to-diffincrease

Conversation

@stanriders
Copy link
Copy Markdown
Member

TC is a mod that always increases difficulty and is quite similar to HD. Given we even have diffcalc/pp considerations for it it's time to move it to the category it belongs.

This doesn't cover any other mods that might need reshuffling too because TC is the only one that has actual impact on difficulty-based leaderboards (as in pp) and some people are actively playing it for the difficulty increase and not just as a fun gimmick.

After a quick search turns out it was difficulty increasing from the start but was moved to fun in review #3569 (comment) but I don't really agree with that.

Also as far as I know multimods don't do anything anymore?.. I've put it into HD multimod for consistency, but can move it to be separate if you want

@bdach
Copy link
Copy Markdown
Collaborator

bdach commented Oct 29, 2025

This change affects the solution of at least one live medal. Blocking pending consultations as to whether the change is acceptable from that angle.

@bdach bdach added the blocked/don't merge Don't merge this. label Oct 29, 2025
@stanriders
Copy link
Copy Markdown
Member Author

TC is similar in difficulty increasing effect to HD so it should be fine if HD is allowed to be used for the medal in question I think, though I'm not aware which medal you're talking about

@bdach
Copy link
Copy Markdown
Collaborator

bdach commented Oct 29, 2025

At least one unavoidably affected medal is hush-hush, so naming it would be spoiling.

Relayed relevant concerns internally, will wait for a conclusion.

@bdach
Copy link
Copy Markdown
Collaborator

bdach commented Nov 7, 2025

No apparent objections from the medal angle.

@bdach bdach removed the blocked/don't merge Don't merge this. label Nov 7, 2025
@stanriders
Copy link
Copy Markdown
Member Author

Is it good to go in that case?

@bdach bdach requested a review from a team November 21, 2025 08:35
@smoogipoo smoogipoo moved this from Inbox to Pending Review in osu! team task tracker Jan 5, 2026
@smoogipoo smoogipoo requested a review from peppy January 5, 2026 08:23
@smoogipoo
Copy link
Copy Markdown
Contributor

With the logic presented in this PR, isn't basically every "Fun" mod difficulty increasing in a way?

I would see validity in this if we saw more scores with TC, but from what I gather the categories are mostly for ease-of-search than "because they increase PP".

Would need @peppy 's verdict.

@peppy
Copy link
Copy Markdown
Member

peppy commented Jan 23, 2026

I'd say "mod gives more PP" or "more score" is a good rationale for moving to difficulty increase section, so I wouldn't be against this if it is giving more PP already.

@bdach
Copy link
Copy Markdown
Collaborator

bdach commented Jan 23, 2026

if it is giving more PP already

it is

/// <summary>
/// Calculates a visibility bonus that is applicable to Hidden and Traceable.
/// </summary>
public static double CalculateVisibilityBonus(Mod[] mods, double approachRate, double visibilityFactor = 1, double sliderFactor = 1)
{
// NOTE: TC's effect is only noticeable in performance calculations until lazer mods are accounted for server-side.
bool isAlwaysPartiallyVisible = mods.OfType<OsuModHidden>().Any(m => m.OnlyFadeApproachCircles.Value) || mods.OfType<OsuModTraceable>().Any();

@smoogipoo
Copy link
Copy Markdown
Contributor

Well there's the answer then, I guess there's no reason to delay this.

@peppy
Copy link
Copy Markdown
Member

peppy commented Jan 23, 2026

May want this (subjective maybe? but if it's multi-mod i'd suggest it makes sense):

diff --git a/osu.Game/Overlays/Mods/Input/ClassicModHotkeyHandler.cs b/osu.Game/Overlays/Mods/Input/ClassicModHotkeyHandler.cs
index bc5914d41e..4c9a2752b9 100644
--- a/osu.Game/Overlays/Mods/Input/ClassicModHotkeyHandler.cs
+++ b/osu.Game/Overlays/Mods/Input/ClassicModHotkeyHandler.cs
@@ -24,7 +24,7 @@ public class ClassicModHotkeyHandler : IModHotkeyHandler
             [Key.A] = new[] { typeof(ModHardRock) },
             [Key.S] = new[] { typeof(ModSuddenDeath), typeof(ModPerfect) },
             [Key.D] = new[] { typeof(ModDoubleTime), typeof(ModNightcore) },
-            [Key.F] = new[] { typeof(ModHidden) },
+            [Key.F] = new[] { typeof(ModHidden), typeof(OsuModTraceable) },
             [Key.G] = new[] { typeof(ModFlashlight) },
             [Key.Z] = new[] { typeof(ModRelax) },
             [Key.V] = new[] { typeof(ModAutoplay), typeof(ModCinema) }

(patch does not work, fixing would be highish effort so maybe not)

@bdach
Copy link
Copy Markdown
Collaborator

bdach commented Jan 23, 2026

May want this (subjective maybe? but if it's multi-mod i'd suggest it makes sense):

there's precedent for this with daycore. no real opinion though.

edit: the patch above cannot be applied for ruleset project class separation whatever reasons so let's just ignore that

@stanriders
Copy link
Copy Markdown
Member Author

isn't basically every "Fun" mod difficulty increasing in a way?

A lot of them are, and some of them should likely end up in the difficulty increasing section as well, but TC is kind of a special case since it seems to be the most adopted lazer mod - we already have people being "TC mains" and the mod appearing in regular players profiles since it has pp considerations and it is ranked

@Givikap120
Copy link
Copy Markdown
Contributor

With the logic presented in this PR, isn't basically every "Fun" mod difficulty increasing in a way?

TC is extremely similar to HD in the way how it works.
It's removing some specific type of the approach circle information (HD removes the approach circle itself and replaces it with fade-out, when TC keeps approach circle, but removes everything else completely).
So it's the most fitting candidate for moving from Fun to Difficulty Increasing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants