Fix luminance data lost by Init() timing: move ServerDispatch hook to LoginComplete

ServerDispatch was hooked in Startup() but Init() was called later in
LoginComplete(), clearing the luminance/title data already captured from
the 0x0013 network event. Now hook ServerDispatch after Init() so
captured data is not reset.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
erik 2026-02-26 16:25:28 +00:00
parent 88600db779
commit ad8fb3a4ba
2 changed files with 4 additions and 2 deletions

View file

@ -183,8 +183,6 @@ namespace MosswartMassacre
CoreManager.Current.WorldFilter.CreateObject += OnInventoryCreate; CoreManager.Current.WorldFilter.CreateObject += OnInventoryCreate;
CoreManager.Current.WorldFilter.ReleaseObject += OnInventoryRelease; CoreManager.Current.WorldFilter.ReleaseObject += OnInventoryRelease;
CoreManager.Current.WorldFilter.ChangeObject += OnInventoryChange; CoreManager.Current.WorldFilter.ChangeObject += OnInventoryChange;
// Subscribe to server messages for allegiance/luminance/title data
CoreManager.Current.EchoFilter.ServerDispatch += EchoFilter_ServerDispatch;
// Initialize VVS view after character login // Initialize VVS view after character login
ViewManager.ViewInit(); ViewManager.ViewInit();
@ -421,6 +419,10 @@ namespace MosswartMassacre
{ {
CharacterStats.Init(); CharacterStats.Init();
// Subscribe to server messages for allegiance/luminance/title data
// Must be AFTER Init() to avoid Init() clearing already-captured data
CoreManager.Current.EchoFilter.ServerDispatch += EchoFilter_ServerDispatch;
// Start 10-minute character stats timer // Start 10-minute character stats timer
characterStatsTimer = new Timer(600000); // 10 minutes characterStatsTimer = new Timer(600000); // 10 minutes
characterStatsTimer.Elapsed += OnCharacterStatsUpdate; characterStatsTimer.Elapsed += OnCharacterStatsUpdate;