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>
1.6 MiB
1.6 MiB