diff --git a/MosswartMassacre/CombatStatsTracker.cs b/MosswartMassacre/CombatStatsTracker.cs index a0b8e3d..a3aedc7 100644 --- a/MosswartMassacre/CombatStatsTracker.cs +++ b/MosswartMassacre/CombatStatsTracker.cs @@ -44,6 +44,7 @@ namespace MosswartMassacre _sendTimer.Interval = SendIntervalMs; _sendTimer.Tick += OnSendTick; _sendTimer.Start(); + _logger?.Log("[CombatStats] Tracker started (10s send interval)"); } public void Stop() @@ -67,6 +68,8 @@ namespace MosswartMassacre // Public entry point — called from ChatEventRouter.OnChatText // ═══════════════════════════════════════════════════════════════ + private int _parseCount; + public void ProcessChatLine(string text) { if (string.IsNullOrEmpty(text)) return; @@ -82,6 +85,13 @@ namespace MosswartMassacre // Skip non-combat chat (tells, channels, etc.) if (IsNonCombatChat(text)) return; + // Diagnostic: log first few parses to verify the pipeline is live + if (_parseCount < 3) + { + _logger?.Log($"[CombatStats] ProcessChatLine invoked (#{_parseCount}): \"{text.Substring(0, Math.Min(text.Length, 80))}\""); + _parseCount++; + } + // Detect prefix flags (Mag-Tools does this via text.Contains) bool isCrit = text.Contains("Critical hit!"); bool isOverpower = text.Contains("Overpower!"); @@ -486,10 +496,15 @@ namespace MosswartMassacre // Periodic send // ═══════════════════════════════════════════════════════════════ + private int _sendCount; + private void OnSendTick(object sender, EventArgs e) { if (!_dirty) return; _dirty = false; + _sendCount++; + if (_sendCount <= 3) + _logger?.Log($"[CombatStats] Sending snapshot #{_sendCount}: {_sessionState.TotalKills} kills, {_sessionState.TotalDamageGiven} dmg given, {_sessionState.Monsters.Count} monsters"); try { diff --git a/MosswartMassacre/bin/Release/MosswartMassacre.dll b/MosswartMassacre/bin/Release/MosswartMassacre.dll index f4b5aa8..51f6b0b 100644 Binary files a/MosswartMassacre/bin/Release/MosswartMassacre.dll and b/MosswartMassacre/bin/Release/MosswartMassacre.dll differ