652011ea749677fb1172b9871c9fd1aeb89db615
PracticeController.Finish now uses MissionEventKeys.Practice.WinAll — the counter keys emitted match the catalog's named form (practice_win:elite:arisa etc.), closing the numeric-vs-named mismatch that had all practice-elite achievements silently at zero. Also removes the "bridging is a follow-up" TODO. StoryController.Finish uses MissionEventKeys.Story.ChapterFinishAll for the same shape. ItemPurchaseController.CounterKey routes through MissionEventKeys.ItemPurchase so the "item_purchase:" prefix has one owner. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Description
The SV Simulator server code, including the DCG Engine, SVSim content, and an entrypoint for the official game client.
Languages
C#
100%