--- /dev/null
+using System.Diagnostics.CodeAnalysis;
+using JetBrains.Annotations;
+
+namespace Questionable.Model;
+
+[SuppressMessage("Design", "CA1028", Justification = "Game type")]
+[UsedImplicitly(ImplicitUseTargetFlags.Members)]
+public enum EAlliedSociety : byte
+{
+ None = 0,
+ Amaljaa = 1,
+ Sylphs = 2,
+ Kobolds = 3,
+ Sahagin = 4,
+ Ixal = 5,
+ VanuVanu = 6,
+ Vath = 7,
+ Moogles = 8,
+ Kojin = 9,
+ Ananta = 10,
+ Namazu = 11,
+ Pixies = 12,
+ Qitari = 13,
+ Dwarves = 14,
+ Arkasodara = 15,
+ Omicrons = 16,
+ Loporrits = 17,
+}
+++ /dev/null
-using System.Diagnostics.CodeAnalysis;
-using JetBrains.Annotations;
-
-namespace Questionable.Model;
-
-[SuppressMessage("Design", "CA1028", Justification = "Game type")]
-[UsedImplicitly(ImplicitUseTargetFlags.Members)]
-public enum EBeastTribe : byte
-{
- None = 0,
- Amaljaa = 1,
- Sylphs = 2,
- Kobolds = 3,
- Sahagin = 4,
- Ixal = 5,
- VanuVanu = 6,
- Vath = 7,
- Moogles = 8,
- Kojin = 9,
- Ananta = 10,
- Namazu = 11,
- Pixies = 12,
- Qitari = 13,
- Dwarves = 14,
- Arkasodara = 15,
- Omicrons = 16,
- Loporrits = 17,
-}
public uint IssuerDataId { get; }
public bool IsRepeatable { get; }
public ushort Level { get; }
- public EBeastTribe BeastTribe { get; }
+ public EAlliedSociety AlliedSociety { get; }
public uint? JournalGenre { get; }
public ushort SortKey { get; }
public bool IsMainScenarioQuest { get; }
public uint IssuerDataId { get; }
public bool IsRepeatable => true;
public ushort Level { get; }
- public EBeastTribe BeastTribe => EBeastTribe.None;
+ public EAlliedSociety AlliedSociety => EAlliedSociety.None;
public uint? JournalGenre { get; }
public ushort SortKey { get; }
public bool IsMainScenarioQuest => false;
PreviousInstanceContent = quest.InstanceContent.Select(x => (ushort)x.Row).Where(x => x != 0).ToList();
PreviousInstanceContentJoin = (QuestJoin)quest.InstanceContentJoin;
GrandCompany = (GrandCompany)quest.GrandCompany.Row;
- BeastTribe = (EBeastTribe)quest.BeastTribe.Row;
+ AlliedSociety = (EAlliedSociety)quest.BeastTribe.Row;
ClassJobs = QuestInfoUtils.AsList(quest.ClassJobCategory0.Value!);
IsSeasonalEvent = quest.Festival.Row != 0;
NewGamePlusChapter = newGamePlusChapter;
public bool IsMainScenarioQuest { get; }
public bool CompletesInstantly { get; }
public GrandCompany GrandCompany { get; }
- public EBeastTribe BeastTribe { get; }
+ public EAlliedSociety AlliedSociety { get; }
public IReadOnlyList<EClassJob> ClassJobs { get; }
public bool IsSeasonalEvent { get; }
public ushort NewGamePlusChapter { get; }
public uint IssuerDataId { get; }
public bool IsRepeatable => true;
public ushort Level { get; }
- public EBeastTribe BeastTribe => EBeastTribe.None;
+ public EAlliedSociety AlliedSociety => EAlliedSociety.None;
public uint? JournalGenre => null;
public ushort SortKey { get; }
public bool IsMainScenarioQuest => false;
_validationIssues.Clear();
List<ValidationIssue> issues = [];
- Dictionary<EBeastTribe, int> disabledTribeQuests = new();
+ Dictionary<EAlliedSociety, int> disabledTribeQuests = new();
foreach (var quest in quests)
{
foreach (var validator in _validators)
_logger.Log(level,
"Validation failed: {QuestId} ({QuestName}) / {QuestSequence} / {QuestStep} - {Description}",
issue.ElementId, quest.Info.Name, issue.Sequence, issue.Step, issue.Description);
- if (issue.Type == EIssueType.QuestDisabled && quest.Info.BeastTribe != EBeastTribe.None)
+ if (issue.Type == EIssueType.QuestDisabled && quest.Info.AlliedSociety != EAlliedSociety.None)
{
- disabledTribeQuests.TryAdd(quest.Info.BeastTribe, 0);
- disabledTribeQuests[quest.Info.BeastTribe]++;
+ disabledTribeQuests.TryAdd(quest.Info.AlliedSociety, 0);
+ disabledTribeQuests[quest.Info.AlliedSociety]++;
}
else
issues.Add(issue);
}, CancellationToken.None, TaskCreationOptions.LongRunning, TaskScheduler.Default);
}
- private static IEnumerable<ValidationIssue> DisabledTribesAsIssues(Dictionary<EBeastTribe, int> disabledTribeQuests)
+ private static IEnumerable<ValidationIssue> DisabledTribesAsIssues(Dictionary<EAlliedSociety, int> disabledTribeQuests)
{
return disabledTribeQuests
.OrderBy(x => x.Key)
ElementId = null,
Sequence = null,
Step = null,
- BeastTribe = x.Key,
+ AlliedSociety = x.Key,
Type = EIssueType.QuestDisabled,
Severity = EIssueSeverity.None,
Description = $"{x.Value} disabled quest(s)",
public required ElementId? ElementId { get; init; }
public required byte? Sequence { get; init; }
public required int? Step { get; init; }
- public EBeastTribe BeastTribe { get; init; } = EBeastTribe.None;
+ public EAlliedSociety AlliedSociety { get; init; } = EAlliedSociety.None;
public required EIssueType Type { get; init; }
public required EIssueSeverity Severity { get; init; }
public required string Description { get; init; }
if (ImGui.TableNextColumn())
ImGui.TextUnformatted(validationIssue.ElementId != null
? _questData.GetQuestInfo(validationIssue.ElementId).Name
- : validationIssue.BeastTribe.ToString());
+ : validationIssue.AlliedSociety.ToString());
if (ImGui.TableNextColumn())
ImGui.TextUnformatted(validationIssue.Sequence?.ToString(CultureInfo.InvariantCulture) ?? string.Empty);