Files
miti99bot/src/modules/loldle-splash
tiennm99 3ac06bffaa feat(loldle): add ability and splash champion-guessing modules
Closes deferred phases 04 + 05 of loldle-new-modes plan.

- loldle-ability: 5 guesses, DDragon ability icon as photo. State pins
  slot (P/Q/W/E/R) so the same icon shows every turn. Abilities pulled
  from DDragon per-champion — same source loldle.net uses at runtime.
- loldle-splash: 4 guesses, random skin splash as photo. Skin pool
  scraped from loldle.net bundle (var Ad=[…] — 172 champs × 1939 skins,
  non-chroma, matches their splash mode exactly). URLs from Riot
  DDragon CDN (no version segment, stable across patches).
- fetch-ddragon-data.js: extended to write all four JSONs in one run.
  Shares a single DDragon per-champion fetch cycle (concurrency 10).
- Credits loldle.net + Riot Games in all loldle-family READMEs.

19 new tests (503 total). Lint clean. register:dry reports 12 loldle_*
commands with no conflicts.
2026-04-24 23:58:42 +07:00
..

loldle-splash

Guess the champion from splash art (random skin from loldle.net's full non-chroma pool). Binary right/wrong. 4 guesses per round.

Commands

Command Visibility Description
/loldle_splash public Show current splash / submit a guess with /loldle_splash <champion>
/loldle_splash_giveup public Reveal the answer, record loss
/loldle_splash_stats public Show per-subject play stats

Storage

KV prefix: loldle-splash:

  • game:<subject>{target, skinId, guesses, startedAt}. skinId persists so the same splash shows across every guess.
  • stats:<subject>{played, wins, streak, bestStreak}

Data source

splashes.json is generated by npm run fetch:ddragon-data:

  • Skin pool scraped from loldle.net's JS bundle (same approach as classic loldle). Guarantees pool parity with their splash mode — no chromas, same inclusion rules.
  • Splash URLs built against Riot Data Dragon's stable-across-patches pattern: cdn/img/champion/splash/<key>_<skinId>.jpg.

Credits:

  • Game concept and skin pool curation from loldle.net.
  • Splash art © Riot Games, served from their public Data Dragon CDN.

Design notes

  • No progressive crop — full splash from turn 1. Tightest guess budget in the family (4) since the full image is shown.
  • Random across ALL listed skins (Default + all named skins, chromas excluded by loldle.net's pool).