A python project for dash league to calculate player stats and predict match outcomes using current team composition
| analysis | ||
| data | ||
| predictions | ||
| tags | ||
| .gitignore | ||
| __init__.py | ||
| config.json | ||
| dashleague_cast_tool.py | ||
| match_engine.py | ||
| players.json | ||
| rankings.py | ||
| README.txt | ||
| rebuild_career_db.py | ||
| storylines.py | ||
| team_identity.py | ||
| validate_db.py | ||
DashLeague Casting Tool — README 🎮 Caster Cheat Sheet (Quick Start) 1. Sync Stats → Press Sync Stats to pull the latest player data. 2. Build Career Database → Press Build Career Database → Wait for Career DB: ✓ Loaded (green) 3. Select Teams → Choose Team A and Team B from dropdowns → Optionally select specific players (or leave empty to auto‑select all) 4. Generate Player Slots → Press Generate Player Slots → Wait for Player Slots: ✓ Ready (green) → OBS now reads from – 5. Export Predictions → Button unlocks only when both ✓ are green → Press Export Predictions → Use for graphs/overlays That’s it. This is the entire casting workflow. 📘 Full Guide for First‑Time Users 1. Overview The DashLeague Casting Tool is designed to: • Prepare player slot folders (p0–p9) for OBS overlays • Build and use a Career Database for advanced identity tags and predictions • Export match predictions to JSON for downstream visuals • Provide a caster‑friendly workflow with clear status indicators and safety prompts You’ll mainly interact with: • Toolbar buttons • Team selectors • Player lists • Generate Player Slots • Export Predictions 2. Prerequisites & Setup Folder structure: • — main script • — generated by the tool • – — OBS‑ready text files • — teams + player data Run the tool: 3. UI Layout Top Toolbar • Sync Stats — refresh raw stats • Build Career Database — generate • Player Spotlight — single‑player view • Team Identity — team style summary • Match Storyline — narrative hooks • Rankings — player rankings & percentiles Middle Section • Team A / Team B selectors • Player listboxes (multi‑select) Bottom Section • Generate Player Slots • Export Predictions (locked until ready) Status Indicators • Career DB: ❌ / ✓ • Player Slots: ❌ / ✓ • Status bar text (bottom) 4. Recommended Workflow (Casting a Match) Step 1 — Sync Stats Click Sync Stats to refresh player data. Step 2 — Build Career Database Click Build Career Database. You should see: • Popup: “Career database has been built.” • Status: Career DB: ✓ Loaded This powers: • Identity tags • Slayer calculations • League averages Step 3 — Select Teams & Players 1. Choose Team A and Team B 2. Select players (or leave empty to auto‑select all) Step 4 — Generate Player Slots Click Generate Player Slots. The tool writes: • • • , , • , • , , etc. • (from Career DB) • , , You should see: • Popup: “Player slots generated into p0–p9.” • Status: Player Slots: ✓ Ready OBS now reads from these folders. Step 5 — Export Predictions Button unlocks only when: • Career DB: ✓ Loaded • Player Slots: ✓ Ready Click Export Predictions. This generates: Example: Use this for: • ASCII graphs • Overlay widgets • Automated visuals 5. Feature Details Sync Stats Refreshes raw stats from your source. Build Career Database Creates with: • Identity tags • League averages • Historical stats Generate Player Slots Creates OBS‑ready text files for each player. Export Predictions Creates machine‑readable predictions for visuals. Spotlight / Identity / Storyline / Rankings Caster‑support tools for: • Player deep dives • Team style summaries • Match narratives • Percentiles & rankings 6. Status Indicators • Career DB: ❌ Not Loaded → Build the DB first • Player Slots: ❌ Not Ready → Generate slots • Export Predictions disabled → One or both steps incomplete 7. Quick Reference Workflow 1. Sync Stats 2. Build Career Database 3. Select Team A / Team B 4. Generate Player Slots 5. Export Predictions 6. Use + in OBS 8. Troubleshooting Export button greyed out • Career DB must be ✓ • Player Slots must be ✓ Wrong players in OBS • Check team selection • Check listbox selection • Regenerate slots Empty predictions • Build Career DB first • Ensure player IDs match DB