qstbak/LLib/LLib.GameData/ClassJobHelper.cs
2026-08-17 20:29:32 +10:00

28 lines
798 B
C#

using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Game;
using Lumina.Excel.Sheets;
namespace LLib.GameData;
public static class ClassJobHelper
{
public static bool IsClassJobUnlocked(EClassJob classJob, IDataManager dataManager)
{
ClassJob row = dataManager.GetExcelSheet<ClassJob>().GetRow((uint)classJob);
ushort num = (ushort)row.UnlockQuest.RowId;
if (num != 0)
{
return QuestManager.IsQuestComplete(num);
}
if (row.ExpArrayIndex < 0)
{
return false;
}
return PlayerStateHelper.GetClassJobLevel(row.ExpArrayIndex) > 0;
}
public static bool IsJobUnlocked(EClassJob classJob, IDataManager dataManager)
{
return IsClassJobUnlocked((EClassJob)dataManager.GetExcelSheet<ClassJob>().GetRow((uint)classJob).ClassJobParent.RowId, dataManager);
}
}