implement artifact win condition (REQ-WIN-ARTIFACT-COUNT, REQ-WIN-SCREEN)

- Add [artifacts] config section to world.toml with artifact_chance_formula (x = station level) and artifact_win_count
- Roll artifact chance before each schematic drop; on success show 2 schematics + Artifact option instead of 3
- Selecting Artifact increments artifact count; reaching artifact_win_count triggers win screen
- Display "Artifacts: x/y" in header bar via ArtifactCountChangedEvent
- Win screen mirrors game-over screen with "Won!" caption and same Restart/Quit buttons

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DUsFgd2Ga6pmLz8giS8WUn
This commit is contained in:
2026-06-30 09:18:19 +02:00
parent e7d70a3640
commit 2b6dafcf50
17 changed files with 225 additions and 56 deletions

View File

@@ -29,6 +29,10 @@ target_score_formula = "1 / (1 + x)" # x = distance / max weapon r
overclaim_penalty_formula = "max(0.5, 1 - 0.1*x)" # x = competing claim count; multiplies score, clamped to [0,1]
target_hysteresis = 0.10 # keep current target unless a challenger beats it by >10%
[artifacts]
artifact_chance_formula = "0.05 * x" # 5% chance per station level
artifact_win_count = 3
[waves]
threat_rate_formula = "x"
ship_level_formula = "1 + x / 10"