punish v6.8.18.0
This commit is contained in:
commit
cfb4dea47e
316 changed files with 554088 additions and 0 deletions
204
Questionable/Questionable.Model/QuestInfoUtils.cs
Normal file
204
Questionable/Questionable.Model/QuestInfoUtils.cs
Normal file
|
@ -0,0 +1,204 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using LLib.GameData;
|
||||
using Lumina.Excel.Sheets;
|
||||
|
||||
namespace Questionable.Model;
|
||||
|
||||
internal static class QuestInfoUtils
|
||||
{
|
||||
private static readonly Dictionary<uint, IReadOnlyList<EClassJob>> CachedClassJobs = new Dictionary<uint, IReadOnlyList<EClassJob>>();
|
||||
|
||||
internal static IReadOnlyList<EClassJob> AsList(ClassJobCategory? optionalClassJobCategory)
|
||||
{
|
||||
if (!optionalClassJobCategory.HasValue)
|
||||
{
|
||||
return Enum.GetValues<EClassJob>();
|
||||
}
|
||||
ClassJobCategory value = optionalClassJobCategory.Value;
|
||||
if (CachedClassJobs.TryGetValue(value.RowId, out IReadOnlyList<EClassJob> value2))
|
||||
{
|
||||
return value2;
|
||||
}
|
||||
value2 = (from y in new Dictionary<EClassJob, bool>
|
||||
{
|
||||
{
|
||||
EClassJob.Adventurer,
|
||||
value.ADV
|
||||
},
|
||||
{
|
||||
EClassJob.Gladiator,
|
||||
value.GLA
|
||||
},
|
||||
{
|
||||
EClassJob.Pugilist,
|
||||
value.PGL
|
||||
},
|
||||
{
|
||||
EClassJob.Marauder,
|
||||
value.MRD
|
||||
},
|
||||
{
|
||||
EClassJob.Lancer,
|
||||
value.LNC
|
||||
},
|
||||
{
|
||||
EClassJob.Archer,
|
||||
value.ARC
|
||||
},
|
||||
{
|
||||
EClassJob.Conjurer,
|
||||
value.CNJ
|
||||
},
|
||||
{
|
||||
EClassJob.Thaumaturge,
|
||||
value.THM
|
||||
},
|
||||
{
|
||||
EClassJob.Carpenter,
|
||||
value.CRP
|
||||
},
|
||||
{
|
||||
EClassJob.Blacksmith,
|
||||
value.BSM
|
||||
},
|
||||
{
|
||||
EClassJob.Armorer,
|
||||
value.ARM
|
||||
},
|
||||
{
|
||||
EClassJob.Goldsmith,
|
||||
value.GSM
|
||||
},
|
||||
{
|
||||
EClassJob.Leatherworker,
|
||||
value.LTW
|
||||
},
|
||||
{
|
||||
EClassJob.Weaver,
|
||||
value.WVR
|
||||
},
|
||||
{
|
||||
EClassJob.Alchemist,
|
||||
value.ALC
|
||||
},
|
||||
{
|
||||
EClassJob.Culinarian,
|
||||
value.CUL
|
||||
},
|
||||
{
|
||||
EClassJob.Miner,
|
||||
value.MIN
|
||||
},
|
||||
{
|
||||
EClassJob.Botanist,
|
||||
value.BTN
|
||||
},
|
||||
{
|
||||
EClassJob.Fisher,
|
||||
value.FSH
|
||||
},
|
||||
{
|
||||
EClassJob.Paladin,
|
||||
value.PLD
|
||||
},
|
||||
{
|
||||
EClassJob.Monk,
|
||||
value.MNK
|
||||
},
|
||||
{
|
||||
EClassJob.Warrior,
|
||||
value.WAR
|
||||
},
|
||||
{
|
||||
EClassJob.Dragoon,
|
||||
value.DRG
|
||||
},
|
||||
{
|
||||
EClassJob.Bard,
|
||||
value.BRD
|
||||
},
|
||||
{
|
||||
EClassJob.WhiteMage,
|
||||
value.WHM
|
||||
},
|
||||
{
|
||||
EClassJob.BlackMage,
|
||||
value.BLM
|
||||
},
|
||||
{
|
||||
EClassJob.Arcanist,
|
||||
value.ACN
|
||||
},
|
||||
{
|
||||
EClassJob.Summoner,
|
||||
value.SMN
|
||||
},
|
||||
{
|
||||
EClassJob.Scholar,
|
||||
value.SCH
|
||||
},
|
||||
{
|
||||
EClassJob.Rogue,
|
||||
value.ROG
|
||||
},
|
||||
{
|
||||
EClassJob.Ninja,
|
||||
value.NIN
|
||||
},
|
||||
{
|
||||
EClassJob.Machinist,
|
||||
value.MCH
|
||||
},
|
||||
{
|
||||
EClassJob.DarkKnight,
|
||||
value.DRK
|
||||
},
|
||||
{
|
||||
EClassJob.Astrologian,
|
||||
value.AST
|
||||
},
|
||||
{
|
||||
EClassJob.Samurai,
|
||||
value.SAM
|
||||
},
|
||||
{
|
||||
EClassJob.RedMage,
|
||||
value.RDM
|
||||
},
|
||||
{
|
||||
EClassJob.BlueMage,
|
||||
value.BLU
|
||||
},
|
||||
{
|
||||
EClassJob.Gunbreaker,
|
||||
value.GNB
|
||||
},
|
||||
{
|
||||
EClassJob.Dancer,
|
||||
value.DNC
|
||||
},
|
||||
{
|
||||
EClassJob.Reaper,
|
||||
value.RPR
|
||||
},
|
||||
{
|
||||
EClassJob.Sage,
|
||||
value.SGE
|
||||
},
|
||||
{
|
||||
EClassJob.Viper,
|
||||
value.VPR
|
||||
},
|
||||
{
|
||||
EClassJob.Pictomancer,
|
||||
value.PCT
|
||||
}
|
||||
}
|
||||
where y.Value
|
||||
select y.Key).ToList().AsReadOnly();
|
||||
CachedClassJobs[value.RowId] = value2;
|
||||
return value2;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue