Add extra check to free fantasia pick-up logic
authorLiza Carvelli <liza@carvel.li>
Sat, 8 Mar 2025 01:56:36 +0000 (02:56 +0100)
committerLiza Carvelli <liza@carvel.li>
Sat, 8 Mar 2025 01:56:36 +0000 (02:56 +0100)
Questionable/Controller/Steps/Shared/ExtraConditionUtils.cs

index f15d313..0c72f2a 100644 (file)
@@ -2,6 +2,7 @@ using System;
 using System.Numerics;
 using Dalamud.Plugin.Services;
 using FFXIVClientStructs.FFXIV.Client.Game;
+using FFXIVClientStructs.FFXIV.Client.Game.UI;
 using Microsoft.Extensions.Logging;
 using Questionable.Model.Questing;
 
@@ -70,6 +71,13 @@ internal sealed class ExtraConditionUtils
             return true;
         }
 
+        UIState* uiState = UIState.Instance();
+        if (uiState != null && uiState->IsUnlockLinkUnlocked(505))
+        {
+            _logger.LogInformation("Already picked up free fantasia");
+            return true;
+        }
+
         return false;
     }
 }