diff --git a/QuestionableCompanion/QuestionableCompanion.Services/QuestRotationExecutionService.cs b/QuestionableCompanion/QuestionableCompanion.Services/QuestRotationExecutionService.cs index b890eb6..2183c9f 100644 --- a/QuestionableCompanion/QuestionableCompanion.Services/QuestRotationExecutionService.cs +++ b/QuestionableCompanion/QuestionableCompanion.Services/QuestRotationExecutionService.cs @@ -943,6 +943,13 @@ public class QuestRotationExecutionService : IDisposable } if (questId == 0) { + if (currentState.IsSyncOnlyMode) + { + log.Information("[QuestRotation] Sync-Only Mode: Quest scan complete for " + currentState.CurrentCharacter + " - moving to next character"); + MarkCharacterCompleted(currentState.CurrentCharacter, "quest data synchronized"); + SkipToNextCharacter(); + return; + } StopConditionData stopLevelData = questionableIPC.GetLevelStopCondition(); if (stopLevelData != null && stopLevelData.Enabled) { @@ -1127,10 +1134,10 @@ public class QuestRotationExecutionService : IDisposable { if (currentQuestId == questId) { - if (currentSequence.Value > activeStopPoint.Sequence.Value) + if (currentSequence.Value >= activeStopPoint.Sequence.Value) { - log.Information($"[QuestRotation] ✓ Quest {questId} Sequence {activeStopPoint.Sequence.Value} completed by {currentState.CurrentCharacter}!"); - log.Information($"[QuestRotation] Current Sequence: {currentSequence.Value} (moved past {activeStopPoint.Sequence.Value})"); + log.Information($"[QuestRotation] ✓ Quest {questId} Sequence {activeStopPoint.Sequence.Value} reached by {currentState.CurrentCharacter}!"); + log.Information($"[QuestRotation] Current Sequence: {currentSequence.Value} (reached {activeStopPoint.Sequence.Value})"); shouldRotate = true; } } @@ -1356,7 +1363,7 @@ public class QuestRotationExecutionService : IDisposable { StopPoint currentStopPoint = stopPoints.FirstOrDefault((StopPoint sp) => sp.IsActive); StopPoint nextStopPoint = stopPoints.FirstOrDefault((StopPoint sp) => !sp.IsActive); - if (currentStopPoint != null && nextStopPoint != null && configuration.EnableMultiModeAfterRotation) + if (currentStopPoint != null && nextStopPoint != null) { log.Information("[QuestRotation] ========================================"); log.Information("[QuestRotation] === CURRENT STOP POINT COMPLETED ==="); @@ -1386,7 +1393,7 @@ public class QuestRotationExecutionService : IDisposable } else { - log.Information("[QuestRotation] No more stop points to process (Multi-Mode: " + (configuration.EnableMultiModeAfterRotation ? "Enabled" : "Disabled") + ")"); + log.Information("[QuestRotation] No more stop points to process"); currentState.Phase = RotationPhase.Completed; } return; diff --git a/QuestionableCompanion/QuestionableCompanion.Windows/NewMainWindow.cs b/QuestionableCompanion/QuestionableCompanion.Windows/NewMainWindow.cs index 68a9468..eee1cf5 100644 --- a/QuestionableCompanion/QuestionableCompanion.Windows/NewMainWindow.cs +++ b/QuestionableCompanion/QuestionableCompanion.Windows/NewMainWindow.cs @@ -613,7 +613,7 @@ public class NewMainWindow : Window, IDisposable uint rightColor = ImGui.ColorConvertFloat4ToU32(new Vector4(colorSecondary.X * 0.3f, colorSecondary.Y * 0.3f, colorSecondary.Z * 0.3f, 1f)); drawList.AddRectFilledMultiColor(windowPos, windowPos + new Vector2(windowSize.X, height), leftColor, rightColor, rightColor, leftColor); Vector2 titlePos = windowPos + new Vector2(10f, 7f); - drawList.AddText(titlePos, ImGui.ColorConvertFloat4ToU32(new Vector4(1f, 1f, 1f, 0.9f)), "Questionable Companion V.1.0.3"); + drawList.AddText(titlePos, ImGui.ColorConvertFloat4ToU32(new Vector4(1f, 1f, 1f, 0.9f)), "Questionable Companion V.1.0.4"); Vector2 minimizeButtonPos = windowPos + new Vector2(windowSize.X - 60f, 3f); Vector2 minimizeButtonSize = new Vector2(24f, 24f); if (ImGui.IsMouseHoveringRect(minimizeButtonPos, minimizeButtonPos + minimizeButtonSize))