Hiviexd / MVTaikoChecks

A set of osu!taiko Mapset Verifier checks
3 stars 2 forks source link

Add inconsistent Kiai boundaries check #20

Closed hongaaronc closed 7 months ago

hongaaronc commented 11 months ago

Maybe could add a check if the kiai start/end is not consistent across the set (like if the Oni ends a kiai in a different place from the Kantan or something). I've seen this blunder happen pretty frequently when kiai boundaries are adjusted.

I know this is sometimes intentional, particularly on sets with guest difficulties, so I would make it only minor severity.


The part that seems tricky for the implementation is the situation where a Kantan GD makes their Kiai intentionally different, but also a host mapped multiple diffs and made a blunder in one of them (let's say, in the host's Oni). In this case, if Kantan GD were used as the reference point - the blundered Oni won't be caught.

To address this, there's a few options:

  1. Make this a general check, and sort each unique set of Kiais into groups, then mention all those groups in the check
    • So it would say something like: "Inconsistent Kiai boundaries: "GD'ers Kantan vs Host's Futsuu/Host's Muzukashii vs Host's Oni"
  2. Could use regex similar to the CheckGuestTags check to identify each mapper involved and group the diffs by mapper, then just implement the check per-diff and have it compare to their lowest diff
    • However this will make it so if a GD is unintentionally inconsistent with host diff, it won't be caught unless we add some special logic for this (which we could)
      • If we do this approach, I'd be fine with raising the severity to a Warning
Hiviexd commented 11 months ago

sounds good, should be a minor check in all cases yea. u can just keep it simple and have it show all kiai inconsistencies in all cases, because gds also usually follow the host's kiais in simpler cases, so it'd be helpful to just be aware of any inconsistencies

hongaaronc commented 11 months ago

yeah but i think the screwy part is which diff to use as the "reference"... like basically if the GD diff ends up being a reference diff and its intentionally different then it makes everything confusing

hongaaronc commented 11 months ago

I guess maybe its only an issue if it's showing the issue reported under each diff - cause then modders would get too used to having MV check this for them and not double check it on their own.

So if we do what you're saying and just show all inconsistencies - I think it would be better to just show it emitted under "General" with some vague message like "Kiai boundaries are not consistent across all diffs - check if this is correct."

...instead of saying which diffs are the inconsistent ones. This seems fine though, so I guess let's go with that for now?