-
released this
2026-07-31 20:30:34 -05:00 | 22 commits to main since this releaseAdded
-
The champ-select board says which mode it is showing. A badge beside "In champ select" names the map — muted for an ordinary game, accented for Classic Rift. Two boards for two modes were pixel-identical while being backed by entirely different champions, so the only way to tell a Classic Rift board from a Summoner'''s Rift one was to recognize the Jade roster by its champion art.
The mode comes from the LCU gameflow session'''s
map.id, read once on entering champ select. That is the only signal available at that point: the Live Client Data API the in-game paths use does not exist until the game process launches, and by then there is no pick left to advise on.Keyed on
map.id === 453and never on a mode-name substring. Queues 2450 and 3280 report aKIWI_JADEmode ("ARAM: Mayhem Classic-ish") on map 12, so anincludes('''JADE''')test would call those Classic Rift; a test pins that case. A session that cannot be read, or reports no map, is simply not badged — it is never guessed at. -
game-mode, a retained IPC message carrying the roster, map id and map name, re-delivered onmarkReady()like the other retained state so a reload mid-champ-select repaints the badge.
Notes
- This does not yet restore tier badges or automatic enemy lane placement in Classic Rift. Both read the op.gg tier list, which is still fetched as
type=rankedand keyed by live champion ids, so every60xxxlookup misses. A per-role tier list is the one op.gg request that cannot derive its queue from a champion id, which is exactly why the session-level mode above had to exist first. Seedocs/classic-opgg-plan.md.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-