Rendered from projects/season-helper.md
Season Helper
Source repo: D:\D3\Projects\SeasonHelper
GitHub remote: https://github.com/EskimoDirka/Season-Helper.git
Snapshot date: 2026-06-29
Current status
Season Helper is a fresh WinForms solution for a separate Diablo 3 helper app. The current v1 scope is intentionally narrow: launch Diablo 3 through Battle.net, detect a stable Diablo process, close the visible Battle.net launcher window when present, and stop.
Implemented
- WinForms app targeting
net8.0-windows. - Thin UI with Start and Create Diagnostics Package actions.
AppControllerorchestration andAppServicescomposition.- Editor-only Combat Customizer for named profiles and persisted combat keys.
- Battle.net direct Diablo launch and executable discovery through local settings, running process path, registry entries, standard installs, and fixed-drive root installs.
- Diagnostics package zip creation with logs, runtime snapshots, settings, profiles, source/docs/tests/scripts, asset metadata, and git metadata.
Architecture
MainForm
-> AppController
-> AppServices
-> CombatProfileService
-> StartGameFlowService
-> BattleNetLauncher
-> DiagnosticsPackageService
Start flow boundary
- Load settings.
- Launch Diablo 3 through the Battle.net command-line exec handoff.
- Detect a stable Diablo process.
- Close any visible Battle.net launcher window.
- Stop.
The active Start button does not bring Diablo to the foreground, click Start Game, observe in-game state, teleport, route, execute combat, loot, stash, or farm.
Validation
.\Scripts\Run-Validation.ps1
CI uses check mode and fails on stale generated Markdown or documentation maintenance failures.
.\Scripts\Run-Validation.ps1 -Check
Roadmap
- Keep Start launch-only until readiness, clicks, or observation scope is explicitly restored.
- Keep the diagnostics package button for faster debugging.
- Keep the editor-only Combat Customizer for named profile persistence.
- Consider retention controls, scoped Start Game readiness, stronger template matching, settings UI, and combat runner work only after explicit scoping.
Explicit non-goals
- Character selection.
- Start Game readiness checks, foreground control, live clicks, or in-game observation unless restored.
- Teleporting, routing, combat execution, loot, stash, or farming actions.
- Non-Markdown report artifacts.
Next: Sources
Markdown source: season-helper.md