diff --git a/MosswartMassacre/PluginCore.cs b/MosswartMassacre/PluginCore.cs index 9e77418..f73fb3b 100644 --- a/MosswartMassacre/PluginCore.cs +++ b/MosswartMassacre/PluginCore.cs @@ -517,6 +517,29 @@ namespace MosswartMassacre // 7. Reinitialize cached Prismatic Taper count InitializePrismaticTaperCount(); + // 8. Reinitialize quest manager for hot reload + try + { + if (questManager == null) + { + questManager = new QuestManager(); + WriteToChat("[OK] Quest manager reinitialized"); + + // Request quest data immediately + questManager.RefreshQuests(); + WriteToChat("[INFO] Requesting quest data for hot reload..."); + } + else + { + WriteToChat("[INFO] Quest manager already active, refreshing data..."); + questManager.RefreshQuests(); + } + } + catch (Exception ex) + { + WriteToChat($"[ERROR] Quest manager hot reload failed: {ex.Message}"); + } + WriteToChat("Hot reload initialization completed!"); } @@ -1289,6 +1312,7 @@ namespace MosswartMassacre WriteToChat("/mm update - Download and install update (if available)"); WriteToChat("/mm debugupdate - Debug update UI controls"); WriteToChat("/mm sendinventory - Force inventory upload with ID requests"); + WriteToChat("/mm refreshquests - Force quest data refresh for Flag Tracker"); break; case "report": TimeSpan elapsed = DateTime.Now - statsStartTime; @@ -1707,6 +1731,19 @@ namespace MosswartMassacre } break; + case "refreshquests": + // Force quest data refresh + if (questManager != null) + { + WriteToChat("[QUEST] Refreshing quest data..."); + questManager.RefreshQuests(); + } + else + { + WriteToChat("[QUEST] Quest manager not initialized"); + } + break; + default: WriteToChat($"Unknown /mm command: {subCommand}. Try /mm help"); break; diff --git a/MosswartMassacre/bin/Release/MosswartMassacre.dll b/MosswartMassacre/bin/Release/MosswartMassacre.dll index 85f8e13..1610162 100644 Binary files a/MosswartMassacre/bin/Release/MosswartMassacre.dll and b/MosswartMassacre/bin/Release/MosswartMassacre.dll differ