Ignore far-away enemies in combat when they don't have a nameplate icon + are only...
authorLiza Carvelli <liza@carvel.li>
Sun, 13 Apr 2025 06:44:56 +0000 (08:44 +0200)
committerLiza Carvelli <liza@carvel.li>
Sun, 13 Apr 2025 06:44:56 +0000 (08:44 +0200)
Questionable/Controller/CombatController.cs

index 9306788..a00bafc 100644 (file)
@@ -308,9 +308,16 @@ internal sealed class CombatController : IDisposable
             if (gameObjectStruct->FateId != 0)
                 return (null, "FATE mob");
 
-            bool expectQuestMarker =
-                Vector3.Distance(_clientState.LocalPlayer?.Position ?? Vector3.Zero, battleNpc.Position) <
-                MaxNameplateRange;
+            var ownPosition = _clientState.LocalPlayer?.Position ?? Vector3.Zero;
+            bool expectQuestMarker;
+            if (_currentFight.Data.SpawnType == EEnemySpawnType.FinishCombatIfAny)
+                expectQuestMarker = false;
+            else if (_currentFight.Data.SpawnType == EEnemySpawnType.OverworldEnemies &&
+                     Vector3.Distance(ownPosition, battleNpc.Position) >= MaxNameplateRange)
+                expectQuestMarker = false;
+            else
+                expectQuestMarker = true;
+
             if (complexCombatData.Count > 0)
             {
                 for (int i = 0; i < complexCombatData.Count; ++i)