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.
  • AppController orchestration and AppServices composition.
  • 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

  1. Load settings.
  2. Launch Diablo 3 through the Battle.net command-line exec handoff.
  3. Detect a stable Diablo process.
  4. Close any visible Battle.net launcher window.
  5. 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