Fix rare detection broken on hot reload / DLL update
InitializeForHotReload() never created a RareTracker — it only ran if one already existed. When the new DLL is loaded on an already- logged-in character, LoginComplete doesn't fire, so _rareTracker stayed null and the null-check in ChatEventRouter.OnChatText silently skipped all rare detection. Now InitializeForHotReload creates and wires the RareTracker if it hasn't been set yet, matching what LoginComplete does. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
a446158f63
commit
1fff36e3f7
2 changed files with 10 additions and 2 deletions
|
|
@ -495,8 +495,16 @@ namespace MosswartMassacre
|
|||
WriteToChat($"[ChestLooter] Initialization failed: {ex.Message}");
|
||||
}
|
||||
|
||||
// 2. Apply the values from settings
|
||||
if (_rareTracker != null) _rareTracker.RareMetaEnabled = PluginSettings.Instance.RareMetaEnabled;
|
||||
// 2. Initialize rare tracker if not already set (missed when LoginComplete doesn't fire)
|
||||
if (_rareTracker == null)
|
||||
{
|
||||
_rareTracker = new RareTracker(this);
|
||||
_staticRareTracker = _rareTracker;
|
||||
_chatEventRouter.SetRareTracker(_rareTracker);
|
||||
}
|
||||
|
||||
// Apply the values from settings
|
||||
_rareTracker.RareMetaEnabled = PluginSettings.Instance.RareMetaEnabled;
|
||||
WebSocketEnabled = PluginSettings.Instance.WebSocketEnabled;
|
||||
CharTag = PluginSettings.Instance.CharTag;
|
||||
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue