A python project for dash league to calculate player stats and predict match outcomes using current team composition
Find a file
2026-04-24 16:30:50 +10:00
analysis Enhance Rookie logic, fix Domination tags, and implement 4K Player Spotlight graphics 2026-04-24 16:30:50 +10:00
data Enhance Rookie logic, fix Domination tags, and implement 4K Player Spotlight graphics 2026-04-24 16:30:50 +10:00
predictions Cleanup: remove tracked pycache files, update .gitignore, finalize refactor deletions 2026-04-10 18:18:15 +10:00
tags Enhance Rookie logic, fix Domination tags, and implement 4K Player Spotlight graphics 2026-04-24 16:30:50 +10:00
tests Refactor: integrated hybrid Consistency tag system, updated DB builder, GUI, rankings, predictions, storyline, identity, and added test suite 2026-04-14 17:32:50 +10:00
utils Enhance Rookie logic, fix Domination tags, and implement 4K Player Spotlight graphics 2026-04-24 16:30:50 +10:00
.gitignore Cleanup: remove tracked pycache files, update .gitignore, finalize refactor deletions 2026-04-10 18:18:15 +10:00
__init__.py Initial commit: pre match-history refactor 2026-04-08 18:13:02 +10:00
config.json Modernize tag system, match engine, OBS exports, and output folder architecture 2026-04-09 20:11:39 +10:00
dashleague_cast_tool.py Enhance Rookie logic, fix Domination tags, and implement 4K Player Spotlight graphics 2026-04-24 16:30:50 +10:00
match_engine.py Enhance Rookie logic, fix Domination tags, and implement 4K Player Spotlight graphics 2026-04-24 16:30:50 +10:00
players.json Initial commit: pre match-history refactor 2026-04-08 18:13:02 +10:00
rankings.py Rookie system WIP: added seasons_played sync, career stat storage, and leaderboard fixes 2026-04-23 19:24:48 +10:00
README.txt Initial commit: pre match-history refactor 2026-04-08 18:13:02 +10:00
rebuild_career_db.py Refactor: restore full career DB pipeline, add builder script, remove debug break, clean caches, update tag modules 2026-04-10 18:08:47 +10:00
validate_db.py Refactor: restore full career DB pipeline, add builder script, remove debug break, clean caches, update tag modules 2026-04-10 18:08:47 +10:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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