Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
Scryglass is a research-grade League of Legends build calculator in closed beta.
Translation pending
GamesPython · JavaScriptGitHub @koimariOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Unified League combat, item comparison, and build optimization calculator
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
A roster-aware League of Legends damage and build calculator. Choose one attacker, reconstruct up to five enemies and four allies, then compare builds or search for the highest modeled total damage dealt (TDD).Read the full README ↗A roster-aware League of Legends damage and build calculator. Choose one attacker, reconstruct up to five enemies and four allies, then compare builds or search for the highest modeled total damage dealt (TDD).
The public attacker picker enables only champion modules with reviewed formulas. All 173 cached champions remain available as allies or enemies because base stats and item stats are calculated separately. Unmodeled attacker kits fail closed; unmodeled ally or defensive effects are shown as assumptions instead of being presented as zero.
The optimizer withholds any candidate whose damage-relevant passive, active, or state is not yet modelled. The API names each withheld item and the missing mechanic; the interface labels the result a certified subset rather than silently treating that item as a plain stat block.
Requires Python 3.14. After starting the app, open http://127.0.0.1:5000.
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python -m flask --app src.app run
The home page compares item builds with the Scryglass interface. Open /advanced
for the full roster controls and event inspectors. Existing shared links open
that workspace.
The shared React source is in ui/src. engines.node in ui/package.json
states the Node version it needs.
cd ui
npm ci
npm run typecheck
npm test
npm run build
node build.mjs --check
Commit the generated static/calculator assets with their source changes. The
Scryglass site imports the same source with a commit and file-hash receipt. See
the service connection for server configuration.
python -m pytest -q
python -m pylint src/ --fail-under=9
python scripts/golden_snapshot.py compare scripts/golden_baseline.json
Champion and item data are read from the tracked League of Legends Wiki cache in data/. Patch refreshes run locally and enter production through reviewed commits. Revision-backed mechanics include their source metadata in the API where available.
The calculator combines the combat engine and tests from Skyway1111/lol-calculator with Scryglass's roster, comparison, optimizer, provenance, and interface work. The upstream repository has no licence file; redistribution remains closed until its author chooses a licence. See NOTICE.md.
Deployment instructions are in docs/deploy.md; calculation boundaries and module ownership are in architecture.md. PRODUCT.md states who the calculator is for and what a result has to show.