From a8f2c1df37782706be2621a77411de6f72314a17 Mon Sep 17 00:00:00 2001 From: alydev Date: Sat, 6 Jun 2026 23:47:07 +1000 Subject: [PATCH] muffin v7.5.4 --- LLib/LLib.csproj | 12 +- .../AssemblyQuestLoader.cs | 510 ++++-- .../ChocoboNameHandler.cs | 13 +- .../TaskCreator.cs | 4 +- .../Questionable.Controller/QuestRegistry.cs | 13 +- .../Questionable.Data/ChangelogData.cs | 1432 +++++++++-------- .../DebugConfigComponent.cs | 13 +- .../DutyConfigComponent.cs | 13 +- .../ActiveQuestComponent.cs | 2 +- .../SavedPresetsComponent.cs | 8 +- Questionable/Questionable.csproj | 16 +- .../Questionable/QuestionablePlugin.cs | 10 +- ...BED51BF056C4__MultipleWhitespaceRegex_0.cs | 2 +- ...907141F781E9D97ABED51BF056C4__Utilities.cs | 2 +- 14 files changed, 1093 insertions(+), 957 deletions(-) diff --git a/LLib/LLib.csproj b/LLib/LLib.csproj index d2d3af0..96585ea 100644 --- a/LLib/LLib.csproj +++ b/LLib/LLib.csproj @@ -14,22 +14,22 @@ - ..\..\..\..\..\ffxiv\alyssile-xivl\addon\Hooks\dev\Dalamud.dll + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\dev\Dalamud.dll - ..\..\..\..\..\ffxiv\alyssile-xivl\addon\Hooks\dev\Lumina.dll + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\dev\Lumina.dll - ..\..\..\..\..\ffxiv\alyssile-xivl\addon\Hooks\dev\FFXIVClientStructs.dll + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\dev\FFXIVClientStructs.dll - ..\..\..\..\..\ffxiv\alyssile-xivl\addon\Hooks\dev\Dalamud.Bindings.ImGui.dll + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\dev\Dalamud.Bindings.ImGui.dll - ..\..\..\..\..\ffxiv\alyssile-xivl\addon\Hooks\dev\Lumina.Excel.dll + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\dev\Lumina.Excel.dll - ..\..\..\..\..\ffxiv\alyssile-xivl\addon\Hooks\dev\InteropGenerator.Runtime.dll + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\dev\InteropGenerator.Runtime.dll \ No newline at end of file diff --git a/QuestPaths/Questionable.QuestPaths/AssemblyQuestLoader.cs b/QuestPaths/Questionable.QuestPaths/AssemblyQuestLoader.cs index f091ec9..86a54d4 100644 --- a/QuestPaths/Questionable.QuestPaths/AssemblyQuestLoader.cs +++ b/QuestPaths/Questionable.QuestPaths/AssemblyQuestLoader.cs @@ -394271,16 +394271,16 @@ public static class AssemblyQuestLoader reference217 = obj235; questRoot25.QuestSequence = list298; AddQuest(questId25, questRoot25); - QuestId questId26 = new QuestId(5444); + QuestId questId26 = new QuestId(5443); QuestRoot questRoot26 = new QuestRoot(); num = 1; List list305 = new List(num); CollectionsMarshal.SetCount(list305, num); - CollectionsMarshal.AsSpan(list305)[0] = "WigglyMuffin"; + CollectionsMarshal.AsSpan(list305)[0] = "Wigglez"; questRoot26.Author = list305; questRoot26.IsSeasonalQuest = true; - questRoot26.SeasonalQuestExpiry = new DateTime(2026, 3, 12, 14, 59, 0, DateTimeKind.Utc); - num = 9; + questRoot26.SeasonalQuestExpiry = new DateTime(2026, 6, 24, 14, 59, 0, DateTimeKind.Utc); + num = 8; List list306 = new List(num); CollectionsMarshal.SetCount(list306, num); Span span169 = CollectionsMarshal.AsSpan(list306); @@ -394292,7 +394292,7 @@ public static class AssemblyQuestLoader num2 = 1; List list307 = new List(num2); CollectionsMarshal.SetCount(list307, num2); - CollectionsMarshal.AsSpan(list307)[0] = new QuestStep(EInteractionType.AcceptQuest, 1056476u, new Vector3(-35.1416f, 5.000001f, -130.38837f), 130) + CollectionsMarshal.AsSpan(list307)[0] = new QuestStep(EInteractionType.AcceptQuest, 1056358u, new Vector3(-87.44946f, 4f, -103.44098f), 130) { AetheryteShortcut = EAetheryteLocation.Uldah, SkipConditions = new SkipConditions @@ -394313,12 +394313,21 @@ public static class AssemblyQuestLoader num2 = 1; List list308 = new List(num2); CollectionsMarshal.SetCount(list308, num2); - CollectionsMarshal.AsSpan(list308)[0] = new QuestStep(EInteractionType.Interact, 1057901u, new Vector3(-33.951355f, 5.0000005f, -130.87665f), 130) + CollectionsMarshal.AsSpan(list308)[0] = new QuestStep(EInteractionType.Interact, 1056359u, new Vector3(-13.809448f, 14.00001f, -10.940796f), 131) { AetheryteShortcut = EAetheryteLocation.Uldah, + AethernetShortcut = new AethernetShortcut + { + From = EAetheryteLocation.Uldah, + To = EAetheryteLocation.UldahGladiator + }, SkipConditions = new SkipConditions { AetheryteShortcutIf = new SkipAetheryteCondition + { + InSameTerritory = true + }, + AethernetShortcutIf = new SkipAetheryteCondition { InSameTerritory = true } @@ -394331,194 +394340,135 @@ public static class AssemblyQuestLoader { Sequence = 2 }; - num2 = 2; + num2 = 1; List list309 = new List(num2); CollectionsMarshal.SetCount(list309, num2); - Span span170 = CollectionsMarshal.AsSpan(list309); - ref QuestStep reference221 = ref span170[0]; - QuestStep questStep20 = new QuestStep(EInteractionType.Interact, 1057909u, new Vector3(29.984009f, 4.0999947f, -152.63605f), 130); - num3 = 6; - List list310 = new List(num3); - CollectionsMarshal.SetCount(list310, num3); - Span span171 = CollectionsMarshal.AsSpan(list310); - span171[0] = null; - span171[1] = null; - span171[2] = null; - span171[3] = null; - span171[4] = null; - span171[5] = new QuestWorkValue((byte)4, 0, EQuestWorkMode.Bitwise); - questStep20.CompletionQuestVariablesFlags = list310; - reference221 = questStep20; - span170[1] = new QuestStep(EInteractionType.Interact, 1057906u, new Vector3(33.6156f, 3.9999995f, -140.91711f), 130); + CollectionsMarshal.AsSpan(list309)[0] = new QuestStep(EInteractionType.Interact, 1056359u, new Vector3(-13.809448f, 14.00001f, -10.940796f), 131); obj238.Steps = list309; reference220 = obj238; - ref QuestSequence reference222 = ref span169[3]; + ref QuestSequence reference221 = ref span169[3]; QuestSequence obj239 = new QuestSequence { Sequence = 3 }; num2 = 2; - List list311 = new List(num2); - CollectionsMarshal.SetCount(list311, num2); - Span span172 = CollectionsMarshal.AsSpan(list311); - ref QuestStep reference223 = ref span172[0]; - QuestStep questStep21 = new QuestStep(EInteractionType.Interact, 1057911u, new Vector3(10.36084f, 7.9999804f, -109.26984f), 130); - num3 = 6; - List list312 = new List(num3); + List list310 = new List(num2); + CollectionsMarshal.SetCount(list310, num2); + Span span170 = CollectionsMarshal.AsSpan(list310); + ref QuestStep reference222 = ref span170[0]; + QuestStep questStep20 = new QuestStep(EInteractionType.Interact, 1056373u, new Vector3(125.10864f, 4.100009f, -32.303406f), 131); + num3 = 1; + List list311 = new List(num3); + CollectionsMarshal.SetCount(list311, num3); + CollectionsMarshal.AsSpan(list311)[0] = new DialogueChoice + { + Type = EDialogChoiceType.List, + ExcelSheet = "quest/054/FesGsx001_05443", + Prompt = new ExcelRef("TEXT_FESGSX001_05443_Q2_000_000"), + Answer = new ExcelRef("TEXT_FESGSX001_05443_A2_000_001") + }; + questStep20.DialogueChoices = list311; + reference222 = questStep20; + ref QuestStep reference223 = ref span170[1]; + QuestStep obj240 = new QuestStep(EInteractionType.None, null, null, 131) + { + DelaySecondsAtStart = 5f + }; + num3 = 1; + List list312 = new List(num3); CollectionsMarshal.SetCount(list312, num3); - Span span173 = CollectionsMarshal.AsSpan(list312); - span173[0] = null; - span173[1] = null; - span173[2] = null; - span173[3] = null; - span173[4] = null; - span173[5] = new QuestWorkValue((byte)8, 0, EQuestWorkMode.Bitwise); - questStep21.CompletionQuestVariablesFlags = list312; - reference223 = questStep21; - span172[1] = new QuestStep(EInteractionType.Interact, 1057912u, new Vector3(15.396301f, 6.999997f, -82.993835f), 130); - obj239.Steps = list311; - reference222 = obj239; + CollectionsMarshal.AsSpan(list312)[0] = new DialogueChoice + { + Type = EDialogChoiceType.List, + ExcelSheet = "quest/054/FesGsx001_05443", + Prompt = new ExcelRef("TEXT_FESGSX001_05443_Q2_000_000"), + Answer = new ExcelRef("TEXT_FESGSX001_05443_A2_000_001") + }; + obj240.DialogueChoices = list312; + reference223 = obj240; + obj239.Steps = list310; + reference221 = obj239; ref QuestSequence reference224 = ref span169[4]; - QuestSequence obj240 = new QuestSequence + QuestSequence obj241 = new QuestSequence { Sequence = 4 }; num2 = 1; List list313 = new List(num2); CollectionsMarshal.SetCount(list313, num2); - CollectionsMarshal.AsSpan(list313)[0] = new QuestStep(EInteractionType.Interact, 1058069u, new Vector3(-15.121765f, 7.999998f, -112.81f), 130); - obj240.Steps = list313; - reference224 = obj240; - ref QuestSequence reference225 = ref span169[5]; - QuestSequence obj241 = new QuestSequence + ref QuestStep reference225 = ref CollectionsMarshal.AsSpan(list313)[0]; + QuestStep questStep21 = new QuestStep(EInteractionType.Interact, 1056377u, new Vector3(128.58777f, 7.992012f, 75.791504f), 131); + num3 = 1; + List list314 = new List(num3); + CollectionsMarshal.SetCount(list314, num3); + CollectionsMarshal.AsSpan(list314)[0] = new DialogueChoice + { + Type = EDialogChoiceType.List, + ExcelSheet = "quest/054/FesGsx001_05443", + Prompt = new ExcelRef("TEXT_FESGSX001_05443_Q3_000_000"), + Answer = new ExcelRef("TEXT_FESGSX001_05443_A3_000_001") + }; + questStep21.DialogueChoices = list314; + reference225 = questStep21; + obj241.Steps = list313; + reference224 = obj241; + ref QuestSequence reference226 = ref span169[5]; + QuestSequence obj242 = new QuestSequence { Sequence = 5 }; num2 = 1; - List list314 = new List(num2); - CollectionsMarshal.SetCount(list314, num2); - CollectionsMarshal.AsSpan(list314)[0] = new QuestStep(EInteractionType.Interact, 1057902u, new Vector3(-12.100403f, 7.999999f, -110.76526f), 130); - obj241.Steps = list314; - reference225 = obj241; - ref QuestSequence reference226 = ref span169[6]; - QuestSequence obj242 = new QuestSequence + List list315 = new List(num2); + CollectionsMarshal.SetCount(list315, num2); + CollectionsMarshal.AsSpan(list315)[0] = new QuestStep(EInteractionType.Interact, 1056381u, new Vector3(-14.816589f, 14.04987f, 55.191895f), 131); + obj242.Steps = list315; + reference226 = obj242; + ref QuestSequence reference227 = ref span169[6]; + QuestSequence obj243 = new QuestSequence { Sequence = 6 }; num2 = 1; - List list315 = new List(num2); - CollectionsMarshal.SetCount(list315, num2); - CollectionsMarshal.AsSpan(list315)[0] = new QuestStep(EInteractionType.Interact, 1056476u, new Vector3(-35.1416f, 5.000001f, -130.38837f), 130); - obj242.Steps = list315; - reference226 = obj242; - ref QuestSequence reference227 = ref span169[7]; - QuestSequence obj243 = new QuestSequence - { - Sequence = 7 - }; - num2 = 2; List list316 = new List(num2); CollectionsMarshal.SetCount(list316, num2); - Span span174 = CollectionsMarshal.AsSpan(list316); - ref QuestStep reference228 = ref span174[0]; - QuestStep obj244 = new QuestStep(EInteractionType.Interact, 1055771u, new Vector3(-37.369385f, 5.0000005f, -130.14423f), 130) - { - IgnoreQuestMarker = true - }; - num3 = 3; - List list317 = new List(num3); - CollectionsMarshal.SetCount(list317, num3); - Span span175 = CollectionsMarshal.AsSpan(list317); - span175[0] = new DialogueChoice - { - Type = EDialogChoiceType.List, - ExcelSheet = "custom/009/FesPdy2026FateDisguise_00951", - Prompt = new ExcelRef("TEXT_FESPDY2026FATEDISGUISE_00951_Q1_000_000"), - Answer = new ExcelRef("TEXT_FESPDY2026FATEDISGUISE_00951_A1_000_001") - }; - span175[1] = new DialogueChoice - { - Type = EDialogChoiceType.List, - ExcelSheet = "custom/009/FesPdy2026FateDisguise_00951", - Prompt = new ExcelRef("TEXT_FESPDY2026FATEDISGUISE_00951_Q2_000_000"), - Answer = new ExcelRef("TEXT_FESPDY2026FATEDISGUISE_00951_A2_100_004") - }; - span175[2] = new DialogueChoice - { - Type = EDialogChoiceType.YesNo, - ExcelSheet = "custom/009/FesPdy2026FateDisguise_00951", - Prompt = new ExcelRef("TEXT_FESPDY2026FATEDISGUISE_00951_CONFIRM_100_004") - }; - obj244.DialogueChoices = list317; - reference228 = obj244; - ref QuestStep reference229 = ref span174[1]; - QuestStep questStep22 = new QuestStep(EInteractionType.FateAction, null, new Vector3(-38.322124f, 3.9999998f, -144.23155f), 130); - num3 = 4; - List list318 = new List(num3); - CollectionsMarshal.SetCount(list318, num3); - Span span176 = CollectionsMarshal.AsSpan(list318); - span176[0] = new FateActionTarget - { - DataId = 18862u, - Action = EAction.CheerRhythmYellow - }; - span176[1] = new FateActionTarget - { - DataId = 18860u, - Action = EAction.CheerRhythmBlue - }; - span176[2] = new FateActionTarget - { - DataId = 18861u, - Action = EAction.CheerRhythmGreen - }; - span176[3] = new FateActionTarget - { - DataId = 18859u, - Action = EAction.CheerRhythmRed - }; - questStep22.FateActionTargets = list318; - reference229 = questStep22; + CollectionsMarshal.AsSpan(list316)[0] = new QuestStep(EInteractionType.Interact, 1056385u, new Vector3(-13.626343f, 14.000009f, -12.40564f), 131); obj243.Steps = list316; reference227 = obj243; - ref QuestSequence reference230 = ref span169[8]; - QuestSequence obj245 = new QuestSequence + ref QuestSequence reference228 = ref span169[7]; + QuestSequence obj244 = new QuestSequence { Sequence = byte.MaxValue }; num2 = 1; - List list319 = new List(num2); - CollectionsMarshal.SetCount(list319, num2); - CollectionsMarshal.AsSpan(list319)[0] = new QuestStep(EInteractionType.CompleteQuest, 1056476u, new Vector3(-35.1416f, 5.000001f, -130.38837f), 130) - { - NextQuestId = new QuestId(5445) - }; - obj245.Steps = list319; - reference230 = obj245; + List list317 = new List(num2); + CollectionsMarshal.SetCount(list317, num2); + CollectionsMarshal.AsSpan(list317)[0] = new QuestStep(EInteractionType.CompleteQuest, 1056390u, new Vector3(-53.391357f, -1.706183E-06f, 102.67798f), 144); + obj244.Steps = list317; + reference228 = obj244; questRoot26.QuestSequence = list306; AddQuest(questId26, questRoot26); - QuestId questId27 = new QuestId(5445); + QuestId questId27 = new QuestId(5444); QuestRoot questRoot27 = new QuestRoot(); num = 1; - List list320 = new List(num); - CollectionsMarshal.SetCount(list320, num); - CollectionsMarshal.AsSpan(list320)[0] = "WigglyMuffin"; - questRoot27.Author = list320; + List list318 = new List(num); + CollectionsMarshal.SetCount(list318, num); + CollectionsMarshal.AsSpan(list318)[0] = "WigglyMuffin"; + questRoot27.Author = list318; questRoot27.IsSeasonalQuest = true; questRoot27.SeasonalQuestExpiry = new DateTime(2026, 3, 12, 14, 59, 0, DateTimeKind.Utc); - num = 3; - List list321 = new List(num); - CollectionsMarshal.SetCount(list321, num); - Span span177 = CollectionsMarshal.AsSpan(list321); - ref QuestSequence reference231 = ref span177[0]; - QuestSequence obj246 = new QuestSequence + num = 9; + List list319 = new List(num); + CollectionsMarshal.SetCount(list319, num); + Span span171 = CollectionsMarshal.AsSpan(list319); + ref QuestSequence reference229 = ref span171[0]; + QuestSequence obj245 = new QuestSequence { Sequence = 0 }; num2 = 1; - List list322 = new List(num2); - CollectionsMarshal.SetCount(list322, num2); - CollectionsMarshal.AsSpan(list322)[0] = new QuestStep(EInteractionType.AcceptQuest, 1056476u, new Vector3(-35.1416f, 5.000001f, -130.38837f), 130) + List list320 = new List(num2); + CollectionsMarshal.SetCount(list320, num2); + CollectionsMarshal.AsSpan(list320)[0] = new QuestStep(EInteractionType.AcceptQuest, 1056476u, new Vector3(-35.1416f, 5.000001f, -130.38837f), 130) { AetheryteShortcut = EAetheryteLocation.Uldah, SkipConditions = new SkipConditions @@ -394529,32 +394479,258 @@ public static class AssemblyQuestLoader } } }; - obj246.Steps = list322; - reference231 = obj246; - ref QuestSequence reference232 = ref span177[1]; - QuestSequence obj247 = new QuestSequence + obj245.Steps = list320; + reference229 = obj245; + ref QuestSequence reference230 = ref span171[1]; + QuestSequence obj246 = new QuestSequence { Sequence = 1 }; num2 = 1; - List list323 = new List(num2); - CollectionsMarshal.SetCount(list323, num2); - CollectionsMarshal.AsSpan(list323)[0] = new QuestStep(EInteractionType.Interact, 1056476u, new Vector3(-35.1416f, 5.000001f, -130.38837f), 130); - obj247.Steps = list323; - reference232 = obj247; - ref QuestSequence reference233 = ref span177[2]; + List list321 = new List(num2); + CollectionsMarshal.SetCount(list321, num2); + CollectionsMarshal.AsSpan(list321)[0] = new QuestStep(EInteractionType.Interact, 1057901u, new Vector3(-33.951355f, 5.0000005f, -130.87665f), 130) + { + AetheryteShortcut = EAetheryteLocation.Uldah, + SkipConditions = new SkipConditions + { + AetheryteShortcutIf = new SkipAetheryteCondition + { + InSameTerritory = true + } + } + }; + obj246.Steps = list321; + reference230 = obj246; + ref QuestSequence reference231 = ref span171[2]; + QuestSequence obj247 = new QuestSequence + { + Sequence = 2 + }; + num2 = 2; + List list322 = new List(num2); + CollectionsMarshal.SetCount(list322, num2); + Span span172 = CollectionsMarshal.AsSpan(list322); + ref QuestStep reference232 = ref span172[0]; + QuestStep questStep22 = new QuestStep(EInteractionType.Interact, 1057909u, new Vector3(29.984009f, 4.0999947f, -152.63605f), 130); + num3 = 6; + List list323 = new List(num3); + CollectionsMarshal.SetCount(list323, num3); + Span span173 = CollectionsMarshal.AsSpan(list323); + span173[0] = null; + span173[1] = null; + span173[2] = null; + span173[3] = null; + span173[4] = null; + span173[5] = new QuestWorkValue((byte)4, 0, EQuestWorkMode.Bitwise); + questStep22.CompletionQuestVariablesFlags = list323; + reference232 = questStep22; + span172[1] = new QuestStep(EInteractionType.Interact, 1057906u, new Vector3(33.6156f, 3.9999995f, -140.91711f), 130); + obj247.Steps = list322; + reference231 = obj247; + ref QuestSequence reference233 = ref span171[3]; QuestSequence obj248 = new QuestSequence + { + Sequence = 3 + }; + num2 = 2; + List list324 = new List(num2); + CollectionsMarshal.SetCount(list324, num2); + Span span174 = CollectionsMarshal.AsSpan(list324); + ref QuestStep reference234 = ref span174[0]; + QuestStep questStep23 = new QuestStep(EInteractionType.Interact, 1057911u, new Vector3(10.36084f, 7.9999804f, -109.26984f), 130); + num3 = 6; + List list325 = new List(num3); + CollectionsMarshal.SetCount(list325, num3); + Span span175 = CollectionsMarshal.AsSpan(list325); + span175[0] = null; + span175[1] = null; + span175[2] = null; + span175[3] = null; + span175[4] = null; + span175[5] = new QuestWorkValue((byte)8, 0, EQuestWorkMode.Bitwise); + questStep23.CompletionQuestVariablesFlags = list325; + reference234 = questStep23; + span174[1] = new QuestStep(EInteractionType.Interact, 1057912u, new Vector3(15.396301f, 6.999997f, -82.993835f), 130); + obj248.Steps = list324; + reference233 = obj248; + ref QuestSequence reference235 = ref span171[4]; + QuestSequence obj249 = new QuestSequence + { + Sequence = 4 + }; + num2 = 1; + List list326 = new List(num2); + CollectionsMarshal.SetCount(list326, num2); + CollectionsMarshal.AsSpan(list326)[0] = new QuestStep(EInteractionType.Interact, 1058069u, new Vector3(-15.121765f, 7.999998f, -112.81f), 130); + obj249.Steps = list326; + reference235 = obj249; + ref QuestSequence reference236 = ref span171[5]; + QuestSequence obj250 = new QuestSequence + { + Sequence = 5 + }; + num2 = 1; + List list327 = new List(num2); + CollectionsMarshal.SetCount(list327, num2); + CollectionsMarshal.AsSpan(list327)[0] = new QuestStep(EInteractionType.Interact, 1057902u, new Vector3(-12.100403f, 7.999999f, -110.76526f), 130); + obj250.Steps = list327; + reference236 = obj250; + ref QuestSequence reference237 = ref span171[6]; + QuestSequence obj251 = new QuestSequence + { + Sequence = 6 + }; + num2 = 1; + List list328 = new List(num2); + CollectionsMarshal.SetCount(list328, num2); + CollectionsMarshal.AsSpan(list328)[0] = new QuestStep(EInteractionType.Interact, 1056476u, new Vector3(-35.1416f, 5.000001f, -130.38837f), 130); + obj251.Steps = list328; + reference237 = obj251; + ref QuestSequence reference238 = ref span171[7]; + QuestSequence obj252 = new QuestSequence + { + Sequence = 7 + }; + num2 = 2; + List list329 = new List(num2); + CollectionsMarshal.SetCount(list329, num2); + Span span176 = CollectionsMarshal.AsSpan(list329); + ref QuestStep reference239 = ref span176[0]; + QuestStep obj253 = new QuestStep(EInteractionType.Interact, 1055771u, new Vector3(-37.369385f, 5.0000005f, -130.14423f), 130) + { + IgnoreQuestMarker = true + }; + num3 = 3; + List list330 = new List(num3); + CollectionsMarshal.SetCount(list330, num3); + Span span177 = CollectionsMarshal.AsSpan(list330); + span177[0] = new DialogueChoice + { + Type = EDialogChoiceType.List, + ExcelSheet = "custom/009/FesPdy2026FateDisguise_00951", + Prompt = new ExcelRef("TEXT_FESPDY2026FATEDISGUISE_00951_Q1_000_000"), + Answer = new ExcelRef("TEXT_FESPDY2026FATEDISGUISE_00951_A1_000_001") + }; + span177[1] = new DialogueChoice + { + Type = EDialogChoiceType.List, + ExcelSheet = "custom/009/FesPdy2026FateDisguise_00951", + Prompt = new ExcelRef("TEXT_FESPDY2026FATEDISGUISE_00951_Q2_000_000"), + Answer = new ExcelRef("TEXT_FESPDY2026FATEDISGUISE_00951_A2_100_004") + }; + span177[2] = new DialogueChoice + { + Type = EDialogChoiceType.YesNo, + ExcelSheet = "custom/009/FesPdy2026FateDisguise_00951", + Prompt = new ExcelRef("TEXT_FESPDY2026FATEDISGUISE_00951_CONFIRM_100_004") + }; + obj253.DialogueChoices = list330; + reference239 = obj253; + ref QuestStep reference240 = ref span176[1]; + QuestStep questStep24 = new QuestStep(EInteractionType.FateAction, null, new Vector3(-38.322124f, 3.9999998f, -144.23155f), 130); + num3 = 4; + List list331 = new List(num3); + CollectionsMarshal.SetCount(list331, num3); + Span span178 = CollectionsMarshal.AsSpan(list331); + span178[0] = new FateActionTarget + { + DataId = 18862u, + Action = EAction.CheerRhythmYellow + }; + span178[1] = new FateActionTarget + { + DataId = 18860u, + Action = EAction.CheerRhythmBlue + }; + span178[2] = new FateActionTarget + { + DataId = 18861u, + Action = EAction.CheerRhythmGreen + }; + span178[3] = new FateActionTarget + { + DataId = 18859u, + Action = EAction.CheerRhythmRed + }; + questStep24.FateActionTargets = list331; + reference240 = questStep24; + obj252.Steps = list329; + reference238 = obj252; + ref QuestSequence reference241 = ref span171[8]; + QuestSequence obj254 = new QuestSequence { Sequence = byte.MaxValue }; num2 = 1; - List list324 = new List(num2); - CollectionsMarshal.SetCount(list324, num2); - CollectionsMarshal.AsSpan(list324)[0] = new QuestStep(EInteractionType.CompleteQuest, 1056476u, new Vector3(-35.1416f, 5.000001f, -130.38837f), 130); - obj248.Steps = list324; - reference233 = obj248; - questRoot27.QuestSequence = list321; + List list332 = new List(num2); + CollectionsMarshal.SetCount(list332, num2); + CollectionsMarshal.AsSpan(list332)[0] = new QuestStep(EInteractionType.CompleteQuest, 1056476u, new Vector3(-35.1416f, 5.000001f, -130.38837f), 130) + { + NextQuestId = new QuestId(5445) + }; + obj254.Steps = list332; + reference241 = obj254; + questRoot27.QuestSequence = list319; AddQuest(questId27, questRoot27); + QuestId questId28 = new QuestId(5445); + QuestRoot questRoot28 = new QuestRoot(); + num = 1; + List list333 = new List(num); + CollectionsMarshal.SetCount(list333, num); + CollectionsMarshal.AsSpan(list333)[0] = "WigglyMuffin"; + questRoot28.Author = list333; + questRoot28.IsSeasonalQuest = true; + questRoot28.SeasonalQuestExpiry = new DateTime(2026, 3, 12, 14, 59, 0, DateTimeKind.Utc); + num = 3; + List list334 = new List(num); + CollectionsMarshal.SetCount(list334, num); + Span span179 = CollectionsMarshal.AsSpan(list334); + ref QuestSequence reference242 = ref span179[0]; + QuestSequence obj255 = new QuestSequence + { + Sequence = 0 + }; + num2 = 1; + List list335 = new List(num2); + CollectionsMarshal.SetCount(list335, num2); + CollectionsMarshal.AsSpan(list335)[0] = new QuestStep(EInteractionType.AcceptQuest, 1056476u, new Vector3(-35.1416f, 5.000001f, -130.38837f), 130) + { + AetheryteShortcut = EAetheryteLocation.Uldah, + SkipConditions = new SkipConditions + { + AetheryteShortcutIf = new SkipAetheryteCondition + { + InSameTerritory = true + } + } + }; + obj255.Steps = list335; + reference242 = obj255; + ref QuestSequence reference243 = ref span179[1]; + QuestSequence obj256 = new QuestSequence + { + Sequence = 1 + }; + num2 = 1; + List list336 = new List(num2); + CollectionsMarshal.SetCount(list336, num2); + CollectionsMarshal.AsSpan(list336)[0] = new QuestStep(EInteractionType.Interact, 1056476u, new Vector3(-35.1416f, 5.000001f, -130.38837f), 130); + obj256.Steps = list336; + reference243 = obj256; + ref QuestSequence reference244 = ref span179[2]; + QuestSequence obj257 = new QuestSequence + { + Sequence = byte.MaxValue + }; + num2 = 1; + List list337 = new List(num2); + CollectionsMarshal.SetCount(list337, num2); + CollectionsMarshal.AsSpan(list337)[0] = new QuestStep(EInteractionType.CompleteQuest, 1056476u, new Vector3(-35.1416f, 5.000001f, -130.38837f), 130); + obj257.Steps = list337; + reference244 = obj257; + questRoot28.QuestSequence = list334; + AddQuest(questId28, questRoot28); } private static void LoadQuests109() diff --git a/Questionable/Questionable.Controller.GameUi/ChocoboNameHandler.cs b/Questionable/Questionable.Controller.GameUi/ChocoboNameHandler.cs index 153c662..dc4fbba 100644 --- a/Questionable/Questionable.Controller.GameUi/ChocoboNameHandler.cs +++ b/Questionable/Questionable.Controller.GameUi/ChocoboNameHandler.cs @@ -97,18 +97,7 @@ internal sealed class ChocoboNameHandler : IDisposable { return "Kweh"; } - string text2 = text.Substring(0, 1).ToUpperInvariant(); - string text3; - if (text.Length <= 1) - { - text3 = string.Empty; - } - else - { - string text4 = text; - text3 = text4.Substring(1, text4.Length - 1).ToLowerInvariant(); - } - return text2 + text3; + return text.Substring(0, 1).ToUpperInvariant() + ((text.Length > 1) ? text.Substring(1).ToLowerInvariant() : string.Empty); } private unsafe void FireInputStringCallback(AtkUnitBase* addon, string text) diff --git a/Questionable/Questionable.Controller.Steps/TaskCreator.cs b/Questionable/Questionable.Controller.Steps/TaskCreator.cs index 3a77da0..ff753d4 100644 --- a/Questionable/Questionable.Controller.Steps/TaskCreator.cs +++ b/Questionable/Questionable.Controller.Steps/TaskCreator.cs @@ -65,9 +65,7 @@ internal sealed class TaskCreator string text = x.GetType().FullName ?? x.GetType().Name; if (text.Contains('.', StringComparison.Ordinal)) { - string text2 = text; - int num3 = text.LastIndexOf('.') + 1; - text = text2.Substring(num3, text2.Length - num3); + text = text.Substring(text.LastIndexOf('.') + 1); } _logger.LogTrace("Factory {FactoryName} created Task {TaskNames}", text, string.Join(", ", list4.Select((ITask y) => y.ToString()))); } diff --git a/Questionable/Questionable.Controller/QuestRegistry.cs b/Questionable/Questionable.Controller/QuestRegistry.cs index 861d63f..28c6963 100644 --- a/Questionable/Questionable.Controller/QuestRegistry.cs +++ b/Questionable/Questionable.Controller/QuestRegistry.cs @@ -325,18 +325,7 @@ internal sealed class QuestRegistry { string text = fileName.Substring(0, fileName.Length - ".json".Length); int num = text.IndexOf('_', StringComparison.Ordinal); - string text2; - if (num < 0 || num + 1 >= text.Length) - { - text2 = text; - } - else - { - string text3 = text; - int num2 = num + 1; - text2 = text3.Substring(num2, text3.Length - num2); - } - name = text2; + name = ((num >= 0 && num + 1 < text.Length) ? text.Substring(num + 1) : text); } catch { diff --git a/Questionable/Questionable.Data/ChangelogData.cs b/Questionable/Questionable.Data/ChangelogData.cs index f528831..11bbc8d 100644 --- a/Questionable/Questionable.Data/ChangelogData.cs +++ b/Questionable/Questionable.Data/ChangelogData.cs @@ -11,12 +11,12 @@ internal static class ChangelogData static ChangelogData() { - int num = 68; + int num = 69; List list = new List(num); CollectionsMarshal.SetCount(list, num); Span span = CollectionsMarshal.AsSpan(list); ref ChangelogEntry reference = ref span[0]; - DateOnly releaseDate = new DateOnly(2026, 5, 12); + DateOnly releaseDate = new DateOnly(2026, 6, 6); int num2 = 1; List list2 = new List(num2); CollectionsMarshal.SetCount(list2, num2); @@ -24,11 +24,11 @@ internal static class ChangelogData int num3 = 1; List list3 = new List(num3); CollectionsMarshal.SetCount(list3, num3); - CollectionsMarshal.AsSpan(list3)[0] = "Add The Maiden's Rhapsody (2026) event quest"; + CollectionsMarshal.AsSpan(list3)[0] = "Add Make It Rain (2026) seasonal quest"; reference2 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list3); - reference = new ChangelogEntry("7.5.3", releaseDate, list2); + reference = new ChangelogEntry("7.5.4", releaseDate, list2); ref ChangelogEntry reference3 = ref span[1]; - DateOnly releaseDate2 = new DateOnly(2026, 5, 1); + DateOnly releaseDate2 = new DateOnly(2026, 5, 12); num2 = 1; List list4 = new List(num2); CollectionsMarshal.SetCount(list4, num2); @@ -36,93 +36,93 @@ internal static class ChangelogData num3 = 1; List list5 = new List(num3); CollectionsMarshal.SetCount(list5, num3); - CollectionsMarshal.AsSpan(list5)[0] = "Revert vnavmesh SimpleMove IPC temporary fix"; - reference4 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list5); - reference3 = new ChangelogEntry("7.5.2", releaseDate2, list4); + CollectionsMarshal.AsSpan(list5)[0] = "Add The Maiden's Rhapsody (2026) event quest"; + reference4 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list5); + reference3 = new ChangelogEntry("7.5.3", releaseDate2, list4); ref ChangelogEntry reference5 = ref span[2]; - DateOnly releaseDate3 = new DateOnly(2026, 4, 30); - num2 = 2; + DateOnly releaseDate3 = new DateOnly(2026, 5, 1); + num2 = 1; List list6 = new List(num2); CollectionsMarshal.SetCount(list6, num2); - Span span2 = CollectionsMarshal.AsSpan(list6); - ref ChangeEntry reference6 = ref span2[0]; - num3 = 2; + ref ChangeEntry reference6 = ref CollectionsMarshal.AsSpan(list6)[0]; + num3 = 1; List list7 = new List(num3); CollectionsMarshal.SetCount(list7, num3); - Span span3 = CollectionsMarshal.AsSpan(list7); + CollectionsMarshal.AsSpan(list7)[0] = "Revert vnavmesh SimpleMove IPC temporary fix"; + reference6 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list7); + reference5 = new ChangelogEntry("7.5.2", releaseDate3, list6); + ref ChangelogEntry reference7 = ref span[3]; + DateOnly releaseDate4 = new DateOnly(2026, 4, 30); + num2 = 2; + List list8 = new List(num2); + CollectionsMarshal.SetCount(list8, num2); + Span span2 = CollectionsMarshal.AsSpan(list8); + ref ChangeEntry reference8 = ref span2[0]; + num3 = 2; + List list9 = new List(num3); + CollectionsMarshal.SetCount(list9, num3); + Span span3 = CollectionsMarshal.AsSpan(list9); span3[0] = "Add Windurst: The Third Walk quests"; span3[1] = "Add 7.5 MSQ"; - reference6 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list7); - ref ChangeEntry reference7 = ref span2[1]; - num3 = 1; - List list8 = new List(num3); - CollectionsMarshal.SetCount(list8, num3); - CollectionsMarshal.AsSpan(list8)[0] = "Use vnavmesh SimpleMove IPC to fix navmesh hanging the game (temporary fix)"; - reference7 = new ChangeEntry(EChangeCategory.Changed, "Fixes", list8); - reference5 = new ChangelogEntry("7.5.1", releaseDate3, list6); - ref ChangelogEntry reference8 = ref span[3]; - DateOnly releaseDate4 = new DateOnly(2026, 4, 29); - num2 = 1; - List list9 = new List(num2); - CollectionsMarshal.SetCount(list9, num2); - ref ChangeEntry reference9 = ref CollectionsMarshal.AsSpan(list9)[0]; + reference8 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list9); + ref ChangeEntry reference9 = ref span2[1]; num3 = 1; List list10 = new List(num3); CollectionsMarshal.SetCount(list10, num3); - CollectionsMarshal.AsSpan(list10)[0] = "Api15"; - reference9 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list10); - reference8 = new ChangelogEntry("7.5.0", releaseDate4, list9); + CollectionsMarshal.AsSpan(list10)[0] = "Use vnavmesh SimpleMove IPC to fix navmesh hanging the game (temporary fix)"; + reference9 = new ChangeEntry(EChangeCategory.Changed, "Fixes", list10); + reference7 = new ChangelogEntry("7.5.1", releaseDate4, list8); ref ChangelogEntry reference10 = ref span[4]; - DateOnly releaseDate5 = new DateOnly(2026, 3, 24); + DateOnly releaseDate5 = new DateOnly(2026, 4, 29); num2 = 1; List list11 = new List(num2); CollectionsMarshal.SetCount(list11, num2); ref ChangeEntry reference11 = ref CollectionsMarshal.AsSpan(list11)[0]; - num3 = 2; + num3 = 1; List list12 = new List(num3); CollectionsMarshal.SetCount(list12, num3); - Span span4 = CollectionsMarshal.AsSpan(list12); - span4[0] = "Add duty handling to external and qst"; - span4[1] = "Fix duty farming NPC interact getting stuck after zone transition into duty"; + CollectionsMarshal.AsSpan(list12)[0] = "Api15"; reference11 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list12); - reference10 = new ChangelogEntry("7.4.19", releaseDate5, list11); + reference10 = new ChangelogEntry("7.5.0", releaseDate5, list11); ref ChangelogEntry reference12 = ref span[5]; DateOnly releaseDate6 = new DateOnly(2026, 3, 24); - num2 = 3; + num2 = 1; List list13 = new List(num2); CollectionsMarshal.SetCount(list13, num2); - Span span5 = CollectionsMarshal.AsSpan(list13); - ref ChangeEntry reference13 = ref span5[0]; - num3 = 1; + ref ChangeEntry reference13 = ref CollectionsMarshal.AsSpan(list13)[0]; + num3 = 2; List list14 = new List(num3); CollectionsMarshal.SetCount(list14, num3); - CollectionsMarshal.AsSpan(list14)[0] = "Add seasonal duty farming system (/qst duty)"; - reference13 = new ChangeEntry(EChangeCategory.Added, "New Features", list14); - ref ChangeEntry reference14 = ref span5[1]; - num3 = 1; - List list15 = new List(num3); - CollectionsMarshal.SetCount(list15, num3); - CollectionsMarshal.AsSpan(list15)[0] = "Add Hatching-tide 2026 quest"; - reference14 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list15); - ref ChangeEntry reference15 = ref span5[2]; + Span span4 = CollectionsMarshal.AsSpan(list14); + span4[0] = "Add duty handling to external and qst"; + span4[1] = "Fix duty farming NPC interact getting stuck after zone transition into duty"; + reference13 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list14); + reference12 = new ChangelogEntry("7.4.19", releaseDate6, list13); + ref ChangelogEntry reference14 = ref span[6]; + DateOnly releaseDate7 = new DateOnly(2026, 3, 24); + num2 = 3; + List list15 = new List(num2); + CollectionsMarshal.SetCount(list15, num2); + Span span5 = CollectionsMarshal.AsSpan(list15); + ref ChangeEntry reference15 = ref span5[0]; num3 = 1; List list16 = new List(num3); CollectionsMarshal.SetCount(list16, num3); - CollectionsMarshal.AsSpan(list16)[0] = "Quest path fixes"; - reference15 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list16); - reference12 = new ChangelogEntry("7.4.18", releaseDate6, list13); - ref ChangelogEntry reference16 = ref span[6]; - DateOnly releaseDate7 = new DateOnly(2026, 3, 1); - num2 = 1; - List list17 = new List(num2); - CollectionsMarshal.SetCount(list17, num2); - ref ChangeEntry reference17 = ref CollectionsMarshal.AsSpan(list17)[0]; + CollectionsMarshal.AsSpan(list16)[0] = "Add seasonal duty farming system (/qst duty)"; + reference15 = new ChangeEntry(EChangeCategory.Added, "New Features", list16); + ref ChangeEntry reference16 = ref span5[1]; + num3 = 1; + List list17 = new List(num3); + CollectionsMarshal.SetCount(list17, num3); + CollectionsMarshal.AsSpan(list17)[0] = "Add Hatching-tide 2026 quest"; + reference16 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list17); + ref ChangeEntry reference17 = ref span5[2]; num3 = 1; List list18 = new List(num3); CollectionsMarshal.SetCount(list18, num3); CollectionsMarshal.AsSpan(list18)[0] = "Quest path fixes"; reference17 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list18); - reference16 = new ChangelogEntry("7.4.17", releaseDate7, list17); + reference14 = new ChangelogEntry("7.4.18", releaseDate7, list15); ref ChangelogEntry reference18 = ref span[7]; DateOnly releaseDate8 = new DateOnly(2026, 3, 1); num2 = 1; @@ -132,445 +132,457 @@ internal static class ChangelogData num3 = 1; List list20 = new List(num3); CollectionsMarshal.SetCount(list20, num3); - CollectionsMarshal.AsSpan(list20)[0] = "Enable TextAdvance, PandorasBox, and Automaton IPC integration during FATE farming"; + CollectionsMarshal.AsSpan(list20)[0] = "Quest path fixes"; reference19 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list20); - reference18 = new ChangelogEntry("7.4.16", releaseDate8, list19); + reference18 = new ChangelogEntry("7.4.17", releaseDate8, list19); ref ChangelogEntry reference20 = ref span[8]; - DateOnly releaseDate9 = new DateOnly(2026, 2, 28); + DateOnly releaseDate9 = new DateOnly(2026, 3, 1); num2 = 1; List list21 = new List(num2); CollectionsMarshal.SetCount(list21, num2); ref ChangeEntry reference21 = ref CollectionsMarshal.AsSpan(list21)[0]; - num3 = 2; + num3 = 1; List list22 = new List(num3); CollectionsMarshal.SetCount(list22, num3); - Span span6 = CollectionsMarshal.AsSpan(list22); - span6[0] = "Fix FATE transform interact task never completing after NPC dialogue"; - span6[1] = "Fix FATE farming loop not detecting completion when NPCs persist after FATE ends"; + CollectionsMarshal.AsSpan(list22)[0] = "Enable TextAdvance, PandorasBox, and Automaton IPC integration during FATE farming"; reference21 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list22); - reference20 = new ChangelogEntry("7.4.15", releaseDate9, list21); + reference20 = new ChangelogEntry("7.4.16", releaseDate9, list21); ref ChangelogEntry reference22 = ref span[9]; - DateOnly releaseDate10 = new DateOnly(2026, 2, 27); - num2 = 2; + DateOnly releaseDate10 = new DateOnly(2026, 2, 28); + num2 = 1; List list23 = new List(num2); CollectionsMarshal.SetCount(list23, num2); - Span span7 = CollectionsMarshal.AsSpan(list23); - ref ChangeEntry reference23 = ref span7[0]; + ref ChangeEntry reference23 = ref CollectionsMarshal.AsSpan(list23)[0]; num3 = 2; List list24 = new List(num3); CollectionsMarshal.SetCount(list24, num3); - Span span8 = CollectionsMarshal.AsSpan(list24); + Span span6 = CollectionsMarshal.AsSpan(list24); + span6[0] = "Fix FATE transform interact task never completing after NPC dialogue"; + span6[1] = "Fix FATE farming loop not detecting completion when NPCs persist after FATE ends"; + reference23 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list24); + reference22 = new ChangelogEntry("7.4.15", releaseDate10, list23); + ref ChangelogEntry reference24 = ref span[10]; + DateOnly releaseDate11 = new DateOnly(2026, 2, 27); + num2 = 2; + List list25 = new List(num2); + CollectionsMarshal.SetCount(list25, num2); + Span span7 = CollectionsMarshal.AsSpan(list25); + ref ChangeEntry reference25 = ref span7[0]; + num3 = 2; + List list26 = new List(num3); + CollectionsMarshal.SetCount(list26, num3); + Span span8 = CollectionsMarshal.AsSpan(list26); span8[0] = "Added prerequisite quest requirement to FATE farming definitions"; span8[1] = "Show active FATE in main quest UI and disable quest start during FATE farming"; - reference23 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list24); - ref ChangeEntry reference24 = ref span7[1]; - num3 = 1; - List list25 = new List(num3); - CollectionsMarshal.SetCount(list25, num3); - CollectionsMarshal.AsSpan(list25)[0] = "Fixed FATE farming buff expiry and added Curtain Call cleanup on stop"; - reference24 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list25); - reference22 = new ChangelogEntry("7.4.14", releaseDate10, list23); - ref ChangelogEntry reference25 = ref span[10]; - DateOnly releaseDate11 = new DateOnly(2026, 2, 27); - num2 = 1; - List list26 = new List(num2); - CollectionsMarshal.SetCount(list26, num2); - ref ChangeEntry reference26 = ref CollectionsMarshal.AsSpan(list26)[0]; + reference25 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list26); + ref ChangeEntry reference26 = ref span7[1]; num3 = 1; List list27 = new List(num3); CollectionsMarshal.SetCount(list27, num3); - CollectionsMarshal.AsSpan(list27)[0] = "Fixed an issue where FATE actions were not performed during the Little Ladies Day (2026) FATE event"; + CollectionsMarshal.AsSpan(list27)[0] = "Fixed FATE farming buff expiry and added Curtain Call cleanup on stop"; reference26 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list27); - reference25 = new ChangelogEntry("7.4.13", releaseDate11, list26); + reference24 = new ChangelogEntry("7.4.14", releaseDate11, list25); ref ChangelogEntry reference27 = ref span[11]; - DateOnly releaseDate12 = new DateOnly(2026, 2, 26); - num2 = 3; + DateOnly releaseDate12 = new DateOnly(2026, 2, 27); + num2 = 1; List list28 = new List(num2); CollectionsMarshal.SetCount(list28, num2); - Span span9 = CollectionsMarshal.AsSpan(list28); - ref ChangeEntry reference28 = ref span9[0]; - num3 = 3; + ref ChangeEntry reference28 = ref CollectionsMarshal.AsSpan(list28)[0]; + num3 = 1; List list29 = new List(num3); CollectionsMarshal.SetCount(list29, num3); - Span span10 = CollectionsMarshal.AsSpan(list29); + CollectionsMarshal.AsSpan(list29)[0] = "Fixed an issue where FATE actions were not performed during the Little Ladies Day (2026) FATE event"; + reference28 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list29); + reference27 = new ChangelogEntry("7.4.13", releaseDate12, list28); + ref ChangelogEntry reference29 = ref span[12]; + DateOnly releaseDate13 = new DateOnly(2026, 2, 26); + num2 = 3; + List list30 = new List(num2); + CollectionsMarshal.SetCount(list30, num2); + Span span9 = CollectionsMarshal.AsSpan(list30); + ref ChangeEntry reference30 = ref span9[0]; + num3 = 3; + List list31 = new List(num3); + CollectionsMarshal.SetCount(list31, num3); + Span span10 = CollectionsMarshal.AsSpan(list31); span10[0] = "Add Saved Presets tab to quest priority window"; span10[1] = "Add passive FATE handling and per npc ability handling"; span10[2] = "Add FATE farming support"; - reference28 = new ChangeEntry(EChangeCategory.Added, "New Features", list29); - ref ChangeEntry reference29 = ref span9[1]; + reference30 = new ChangeEntry(EChangeCategory.Added, "New Features", list31); + ref ChangeEntry reference31 = ref span9[1]; num3 = 1; - List list30 = new List(num3); - CollectionsMarshal.SetCount(list30, num3); - CollectionsMarshal.AsSpan(list30)[0] = "Add Little Ladies' Day 2026 quests"; - reference29 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list30); - ref ChangeEntry reference30 = ref span9[2]; - num3 = 1; - List list31 = new List(num3); - CollectionsMarshal.SetCount(list31, num3); - CollectionsMarshal.AsSpan(list31)[0] = "Quest path fixes"; - reference30 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list31); - reference27 = new ChangelogEntry("7.4.12", releaseDate12, list28); - ref ChangelogEntry reference31 = ref span[12]; - DateOnly releaseDate13 = new DateOnly(2026, 2, 2); - num2 = 2; - List list32 = new List(num2); - CollectionsMarshal.SetCount(list32, num2); - Span span11 = CollectionsMarshal.AsSpan(list32); - ref ChangeEntry reference32 = ref span11[0]; + List list32 = new List(num3); + CollectionsMarshal.SetCount(list32, num3); + CollectionsMarshal.AsSpan(list32)[0] = "Add Little Ladies' Day 2026 quests"; + reference31 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list32); + ref ChangeEntry reference32 = ref span9[2]; num3 = 1; List list33 = new List(num3); CollectionsMarshal.SetCount(list33, num3); - CollectionsMarshal.AsSpan(list33)[0] = "Add Valentione's Day 2026 quest (The Icing on the Cake)"; - reference32 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list33); - ref ChangeEntry reference33 = ref span11[1]; - num3 = 2; - List list34 = new List(num3); - CollectionsMarshal.SetCount(list34, num3); - Span span12 = CollectionsMarshal.AsSpan(list34); - span12[0] = "Updated Duty journal to include missing duty types"; - span12[1] = "Added various missing sequences to quests"; - reference33 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list34); - reference31 = new ChangelogEntry("7.4.11", releaseDate13, list32); - ref ChangelogEntry reference34 = ref span[13]; - DateOnly releaseDate14 = new DateOnly(2026, 1, 18); + CollectionsMarshal.AsSpan(list33)[0] = "Quest path fixes"; + reference32 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list33); + reference29 = new ChangelogEntry("7.4.12", releaseDate13, list30); + ref ChangelogEntry reference33 = ref span[13]; + DateOnly releaseDate14 = new DateOnly(2026, 2, 2); num2 = 2; - List list35 = new List(num2); - CollectionsMarshal.SetCount(list35, num2); - Span span13 = CollectionsMarshal.AsSpan(list35); - ref ChangeEntry reference35 = ref span13[0]; - num3 = 5; + List list34 = new List(num2); + CollectionsMarshal.SetCount(list34, num2); + Span span11 = CollectionsMarshal.AsSpan(list34); + ref ChangeEntry reference34 = ref span11[0]; + num3 = 1; + List list35 = new List(num3); + CollectionsMarshal.SetCount(list35, num3); + CollectionsMarshal.AsSpan(list35)[0] = "Add Valentione's Day 2026 quest (The Icing on the Cake)"; + reference34 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list35); + ref ChangeEntry reference35 = ref span11[1]; + num3 = 2; List list36 = new List(num3); CollectionsMarshal.SetCount(list36, num3); - Span span14 = CollectionsMarshal.AsSpan(list36); + Span span12 = CollectionsMarshal.AsSpan(list36); + span12[0] = "Updated Duty journal to include missing duty types"; + span12[1] = "Added various missing sequences to quests"; + reference35 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list36); + reference33 = new ChangelogEntry("7.4.11", releaseDate14, list34); + ref ChangelogEntry reference36 = ref span[14]; + DateOnly releaseDate15 = new DateOnly(2026, 1, 18); + num2 = 2; + List list37 = new List(num2); + CollectionsMarshal.SetCount(list37, num2); + Span span13 = CollectionsMarshal.AsSpan(list37); + ref ChangeEntry reference37 = ref span13[0]; + num3 = 5; + List list38 = new List(num3); + CollectionsMarshal.SetCount(list38, num3); + Span span14 = CollectionsMarshal.AsSpan(list38); span14[0] = "Added quest blacklisting"; span14[1] = "Added MSQ Priority config"; span14[2] = "Added Quest priority persistence config"; span14[3] = "Added Duties tab to Journal"; span14[4] = "Added GC shop handling and chocobo naming for chocobo quests"; - reference35 = new ChangeEntry(EChangeCategory.Added, "Major Features", list36); - ref ChangeEntry reference36 = ref span13[1]; + reference37 = new ChangeEntry(EChangeCategory.Added, "Major Features", list38); + ref ChangeEntry reference38 = ref span13[1]; num3 = 5; - List list37 = new List(num3); - CollectionsMarshal.SetCount(list37, num3); - Span span15 = CollectionsMarshal.AsSpan(list37); + List list39 = new List(num3); + CollectionsMarshal.SetCount(list39, num3); + Span span15 = CollectionsMarshal.AsSpan(list39); span15[0] = "Removed PandorasBox dependency and added QTE handling"; span15[1] = "Removed CBT dependency and added Snipe handling"; span15[2] = "Added drag reordering to Stop condition quests"; span15[3] = "Ignore item level requirements if using Unsync config"; span15[4] = "Setting a Stop quest to Off no longer removes it from the list"; - reference36 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list37); - reference34 = new ChangelogEntry("7.4.10", releaseDate14, list35); - ref ChangelogEntry reference37 = ref span[14]; - DateOnly releaseDate15 = new DateOnly(2025, 12, 31); + reference38 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list39); + reference36 = new ChangelogEntry("7.4.10", releaseDate15, list37); + ref ChangelogEntry reference39 = ref span[15]; + DateOnly releaseDate16 = new DateOnly(2025, 12, 31); num2 = 3; - List list38 = new List(num2); - CollectionsMarshal.SetCount(list38, num2); - Span span16 = CollectionsMarshal.AsSpan(list38); - ref ChangeEntry reference38 = ref span16[0]; - num3 = 1; - List list39 = new List(num3); - CollectionsMarshal.SetCount(list39, num3); - CollectionsMarshal.AsSpan(list39)[0] = "Add Heavensturn (2026) quests"; - reference38 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list39); - ref ChangeEntry reference39 = ref span16[1]; - num3 = 1; - List list40 = new List(num3); - CollectionsMarshal.SetCount(list40, num3); - CollectionsMarshal.AsSpan(list40)[0] = "Added missing quest sequences"; - reference39 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list40); - ref ChangeEntry reference40 = ref span16[2]; + List list40 = new List(num2); + CollectionsMarshal.SetCount(list40, num2); + Span span16 = CollectionsMarshal.AsSpan(list40); + ref ChangeEntry reference40 = ref span16[0]; num3 = 1; List list41 = new List(num3); CollectionsMarshal.SetCount(list41, num3); - CollectionsMarshal.AsSpan(list41)[0] = "Fixed leveling mode not restarting properly"; - reference40 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list41); - reference37 = new ChangelogEntry("7.4.9", releaseDate15, list38); - ref ChangelogEntry reference41 = ref span[15]; - DateOnly releaseDate16 = new DateOnly(2025, 12, 29); - num2 = 1; - List list42 = new List(num2); - CollectionsMarshal.SetCount(list42, num2); - ref ChangeEntry reference42 = ref CollectionsMarshal.AsSpan(list42)[0]; - num3 = 2; + CollectionsMarshal.AsSpan(list41)[0] = "Add Heavensturn (2026) quests"; + reference40 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list41); + ref ChangeEntry reference41 = ref span16[1]; + num3 = 1; + List list42 = new List(num3); + CollectionsMarshal.SetCount(list42, num3); + CollectionsMarshal.AsSpan(list42)[0] = "Added missing quest sequences"; + reference41 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list42); + ref ChangeEntry reference42 = ref span16[2]; + num3 = 1; List list43 = new List(num3); CollectionsMarshal.SetCount(list43, num3); - Span span17 = CollectionsMarshal.AsSpan(list43); - span17[0] = "Fixed infinite teleport loop when multiple quests compete for priority"; - span17[1] = "Fixed leveling mode enabling for quest duties"; + CollectionsMarshal.AsSpan(list43)[0] = "Fixed leveling mode not restarting properly"; reference42 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list43); - reference41 = new ChangelogEntry("7.4.8", releaseDate16, list42); + reference39 = new ChangelogEntry("7.4.9", releaseDate16, list40); ref ChangelogEntry reference43 = ref span[16]; - DateOnly releaseDate17 = new DateOnly(2025, 12, 28); - num2 = 4; + DateOnly releaseDate17 = new DateOnly(2025, 12, 29); + num2 = 1; List list44 = new List(num2); CollectionsMarshal.SetCount(list44, num2); - Span span18 = CollectionsMarshal.AsSpan(list44); - ref ChangeEntry reference44 = ref span18[0]; - num3 = 1; + ref ChangeEntry reference44 = ref CollectionsMarshal.AsSpan(list44)[0]; + num3 = 2; List list45 = new List(num3); CollectionsMarshal.SetCount(list45, num3); - CollectionsMarshal.AsSpan(list45)[0] = "Added leveling mode when underleveled for MSQ"; - reference44 = new ChangeEntry(EChangeCategory.Added, "Major Features", list45); - ref ChangeEntry reference45 = ref span18[1]; - num3 = 3; - List list46 = new List(num3); - CollectionsMarshal.SetCount(list46, num3); - Span span19 = CollectionsMarshal.AsSpan(list46); - span19[0] = "Added missing dungeons to Duties"; - span19[1] = "Added Normal Raids and Alliance Raids to duties tab"; - span19[2] = "Added Pause/Stop modes to stop conditions"; - reference45 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list46); - ref ChangeEntry reference46 = ref span18[2]; + Span span17 = CollectionsMarshal.AsSpan(list45); + span17[0] = "Fixed infinite teleport loop when multiple quests compete for priority"; + span17[1] = "Fixed leveling mode enabling for quest duties"; + reference44 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list45); + reference43 = new ChangelogEntry("7.4.8", releaseDate17, list44); + ref ChangelogEntry reference45 = ref span[17]; + DateOnly releaseDate18 = new DateOnly(2025, 12, 28); + num2 = 4; + List list46 = new List(num2); + CollectionsMarshal.SetCount(list46, num2); + Span span18 = CollectionsMarshal.AsSpan(list46); + ref ChangeEntry reference46 = ref span18[0]; num3 = 1; List list47 = new List(num3); CollectionsMarshal.SetCount(list47, num3); - CollectionsMarshal.AsSpan(list47)[0] = "Added leveling mode IPC: IsLevelingModeEnabled, SetLevelingModeEnabled, GetMsqLevelLockInfo, StartLevelingMode, StopLevelingMode"; - reference46 = new ChangeEntry(EChangeCategory.Added, "IPC Changes", list47); - ref ChangeEntry reference47 = ref span18[3]; - num3 = 1; + CollectionsMarshal.AsSpan(list47)[0] = "Added leveling mode when underleveled for MSQ"; + reference46 = new ChangeEntry(EChangeCategory.Added, "Major Features", list47); + ref ChangeEntry reference47 = ref span18[1]; + num3 = 3; List list48 = new List(num3); CollectionsMarshal.SetCount(list48, num3); - CollectionsMarshal.AsSpan(list48)[0] = "Fixed UI appearing in duties when debuff or interrupts occur"; - reference47 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list48); - reference43 = new ChangelogEntry("7.4.7", releaseDate17, list44); - ref ChangelogEntry reference48 = ref span[17]; - DateOnly releaseDate18 = new DateOnly(2025, 12, 23); - num2 = 2; - List list49 = new List(num2); - CollectionsMarshal.SetCount(list49, num2); - Span span20 = CollectionsMarshal.AsSpan(list49); - ref ChangeEntry reference49 = ref span20[0]; + Span span19 = CollectionsMarshal.AsSpan(list48); + span19[0] = "Added missing dungeons to Duties"; + span19[1] = "Added Normal Raids and Alliance Raids to duties tab"; + span19[2] = "Added Pause/Stop modes to stop conditions"; + reference47 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list48); + ref ChangeEntry reference48 = ref span18[2]; + num3 = 1; + List list49 = new List(num3); + CollectionsMarshal.SetCount(list49, num3); + CollectionsMarshal.AsSpan(list49)[0] = "Added leveling mode IPC: IsLevelingModeEnabled, SetLevelingModeEnabled, GetMsqLevelLockInfo, StartLevelingMode, StopLevelingMode"; + reference48 = new ChangeEntry(EChangeCategory.Added, "IPC Changes", list49); + ref ChangeEntry reference49 = ref span18[3]; num3 = 1; List list50 = new List(num3); CollectionsMarshal.SetCount(list50, num3); - CollectionsMarshal.AsSpan(list50)[0] = "Added Cinema Mode to not skip cutscenes"; - reference49 = new ChangeEntry(EChangeCategory.Added, "Major Features", list50); - ref ChangeEntry reference50 = ref span20[1]; - num3 = 2; - List list51 = new List(num3); - CollectionsMarshal.SetCount(list51, num3); - Span span21 = CollectionsMarshal.AsSpan(list51); - span21[0] = "Added handling for Unsync (Party) to Party Watchdog and configuration to disable if in party"; - span21[1] = "Stop conditions now act as a true stop"; - reference50 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list51); - reference48 = new ChangelogEntry("7.4.6", releaseDate18, list49); - ref ChangelogEntry reference51 = ref span[18]; - DateOnly releaseDate19 = new DateOnly(2025, 12, 22); - num2 = 1; - List list52 = new List(num2); - CollectionsMarshal.SetCount(list52, num2); - ref ChangeEntry reference52 = ref CollectionsMarshal.AsSpan(list52)[0]; + CollectionsMarshal.AsSpan(list50)[0] = "Fixed UI appearing in duties when debuff or interrupts occur"; + reference49 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list50); + reference45 = new ChangelogEntry("7.4.7", releaseDate18, list46); + ref ChangelogEntry reference50 = ref span[18]; + DateOnly releaseDate19 = new DateOnly(2025, 12, 23); + num2 = 2; + List list51 = new List(num2); + CollectionsMarshal.SetCount(list51, num2); + Span span20 = CollectionsMarshal.AsSpan(list51); + ref ChangeEntry reference51 = ref span20[0]; + num3 = 1; + List list52 = new List(num3); + CollectionsMarshal.SetCount(list52, num3); + CollectionsMarshal.AsSpan(list52)[0] = "Added Cinema Mode to not skip cutscenes"; + reference51 = new ChangeEntry(EChangeCategory.Added, "Major Features", list52); + ref ChangeEntry reference52 = ref span20[1]; num3 = 2; List list53 = new List(num3); CollectionsMarshal.SetCount(list53, num3); - Span span22 = CollectionsMarshal.AsSpan(list53); - span22[0] = "Dive adjustments"; - span22[1] = "Logging message adjustments"; + Span span21 = CollectionsMarshal.AsSpan(list53); + span21[0] = "Added handling for Unsync (Party) to Party Watchdog and configuration to disable if in party"; + span21[1] = "Stop conditions now act as a true stop"; reference52 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list53); - reference51 = new ChangelogEntry("7.4.5", releaseDate19, list52); + reference50 = new ChangelogEntry("7.4.6", releaseDate19, list51); ref ChangelogEntry reference53 = ref span[19]; - DateOnly releaseDate20 = new DateOnly(2025, 12, 21); - num2 = 2; + DateOnly releaseDate20 = new DateOnly(2025, 12, 22); + num2 = 1; List list54 = new List(num2); CollectionsMarshal.SetCount(list54, num2); - Span span23 = CollectionsMarshal.AsSpan(list54); - ref ChangeEntry reference54 = ref span23[0]; - num3 = 1; + ref ChangeEntry reference54 = ref CollectionsMarshal.AsSpan(list54)[0]; + num3 = 2; List list55 = new List(num3); CollectionsMarshal.SetCount(list55, num3); - CollectionsMarshal.AsSpan(list55)[0] = "Changelog only shows once per update now"; + Span span22 = CollectionsMarshal.AsSpan(list55); + span22[0] = "Dive adjustments"; + span22[1] = "Logging message adjustments"; reference54 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list55); - ref ChangeEntry reference55 = ref span23[1]; - num3 = 1; - List list56 = new List(num3); - CollectionsMarshal.SetCount(list56, num3); - CollectionsMarshal.AsSpan(list56)[0] = "Fixed gathering paths loading"; - reference55 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list56); - reference53 = new ChangelogEntry("7.4.4", releaseDate20, list54); - ref ChangelogEntry reference56 = ref span[20]; + reference53 = new ChangelogEntry("7.4.5", releaseDate20, list54); + ref ChangelogEntry reference55 = ref span[20]; DateOnly releaseDate21 = new DateOnly(2025, 12, 21); - num2 = 1; - List list57 = new List(num2); - CollectionsMarshal.SetCount(list57, num2); - ref ChangeEntry reference57 = ref CollectionsMarshal.AsSpan(list57)[0]; + num2 = 2; + List list56 = new List(num2); + CollectionsMarshal.SetCount(list56, num2); + Span span23 = CollectionsMarshal.AsSpan(list56); + ref ChangeEntry reference56 = ref span23[0]; + num3 = 1; + List list57 = new List(num3); + CollectionsMarshal.SetCount(list57, num3); + CollectionsMarshal.AsSpan(list57)[0] = "Changelog only shows once per update now"; + reference56 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list57); + ref ChangeEntry reference57 = ref span23[1]; num3 = 1; List list58 = new List(num3); CollectionsMarshal.SetCount(list58, num3); - CollectionsMarshal.AsSpan(list58)[0] = "Fixed changelog version checks"; + CollectionsMarshal.AsSpan(list58)[0] = "Fixed gathering paths loading"; reference57 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list58); - reference56 = new ChangelogEntry("7.4.3", releaseDate21, list57); + reference55 = new ChangelogEntry("7.4.4", releaseDate21, list56); ref ChangelogEntry reference58 = ref span[21]; - DateOnly releaseDate22 = new DateOnly(2025, 12, 20); - num2 = 2; + DateOnly releaseDate22 = new DateOnly(2025, 12, 21); + num2 = 1; List list59 = new List(num2); CollectionsMarshal.SetCount(list59, num2); - Span span24 = CollectionsMarshal.AsSpan(list59); - ref ChangeEntry reference59 = ref span24[0]; + ref ChangeEntry reference59 = ref CollectionsMarshal.AsSpan(list59)[0]; num3 = 1; List list60 = new List(num3); CollectionsMarshal.SetCount(list60, num3); - CollectionsMarshal.AsSpan(list60)[0] = "Add 7.4 Starlight Celebration (2025) quest"; - reference59 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list60); - ref ChangeEntry reference60 = ref span24[1]; + CollectionsMarshal.AsSpan(list60)[0] = "Fixed changelog version checks"; + reference59 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list60); + reference58 = new ChangelogEntry("7.4.3", releaseDate22, list59); + ref ChangelogEntry reference60 = ref span[22]; + DateOnly releaseDate23 = new DateOnly(2025, 12, 20); + num2 = 2; + List list61 = new List(num2); + CollectionsMarshal.SetCount(list61, num2); + Span span24 = CollectionsMarshal.AsSpan(list61); + ref ChangeEntry reference61 = ref span24[0]; + num3 = 1; + List list62 = new List(num3); + CollectionsMarshal.SetCount(list62, num3); + CollectionsMarshal.AsSpan(list62)[0] = "Add 7.4 Starlight Celebration (2025) quest"; + reference61 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list62); + ref ChangeEntry reference62 = ref span24[1]; num3 = 1; - List list61 = new List(num3); - CollectionsMarshal.SetCount(list61, num3); - CollectionsMarshal.AsSpan(list61)[0] = "Fixed 7.4 MSQ"; - reference60 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list61); - reference58 = new ChangelogEntry("7.4.2", releaseDate22, list59); - ref ChangelogEntry reference61 = ref span[22]; - DateOnly releaseDate23 = new DateOnly(2025, 12, 19); - num2 = 1; - List list62 = new List(num2); - CollectionsMarshal.SetCount(list62, num2); - ref ChangeEntry reference62 = ref CollectionsMarshal.AsSpan(list62)[0]; - num3 = 2; List list63 = new List(num3); CollectionsMarshal.SetCount(list63, num3); - Span span25 = CollectionsMarshal.AsSpan(list63); - span25[0] = "Add 7.4 MSQ"; - span25[1] = "Add 7.4 Arcadion Raid quests"; - reference62 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list63); - reference61 = new ChangelogEntry("7.4.1", releaseDate23, list62); + CollectionsMarshal.AsSpan(list63)[0] = "Fixed 7.4 MSQ"; + reference62 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list63); + reference60 = new ChangelogEntry("7.4.2", releaseDate23, list61); ref ChangelogEntry reference63 = ref span[23]; - DateOnly releaseDate24 = new DateOnly(2025, 12, 17); + DateOnly releaseDate24 = new DateOnly(2025, 12, 19); num2 = 1; List list64 = new List(num2); CollectionsMarshal.SetCount(list64, num2); - CollectionsMarshal.AsSpan(list64)[0] = new ChangeEntry(EChangeCategory.Changed, "Api 14 update"); - reference63 = new ChangelogEntry("7.4.0", releaseDate24, list64); - ref ChangelogEntry reference64 = ref span[24]; - DateOnly releaseDate25 = new DateOnly(2025, 12, 6); + ref ChangeEntry reference64 = ref CollectionsMarshal.AsSpan(list64)[0]; + num3 = 2; + List list65 = new List(num3); + CollectionsMarshal.SetCount(list65, num3); + Span span25 = CollectionsMarshal.AsSpan(list65); + span25[0] = "Add 7.4 MSQ"; + span25[1] = "Add 7.4 Arcadion Raid quests"; + reference64 = new ChangeEntry(EChangeCategory.QuestUpdates, "New Quest Paths", list65); + reference63 = new ChangelogEntry("7.4.1", releaseDate24, list64); + ref ChangelogEntry reference65 = ref span[24]; + DateOnly releaseDate25 = new DateOnly(2025, 12, 17); + num2 = 1; + List list66 = new List(num2); + CollectionsMarshal.SetCount(list66, num2); + CollectionsMarshal.AsSpan(list66)[0] = new ChangeEntry(EChangeCategory.Changed, "Api 14 update"); + reference65 = new ChangelogEntry("7.4.0", releaseDate25, list66); + ref ChangelogEntry reference66 = ref span[25]; + DateOnly releaseDate26 = new DateOnly(2025, 12, 6); num2 = 2; - List list65 = new List(num2); - CollectionsMarshal.SetCount(list65, num2); - Span span26 = CollectionsMarshal.AsSpan(list65); - ref ChangeEntry reference65 = ref span26[0]; + List list67 = new List(num2); + CollectionsMarshal.SetCount(list67, num2); + Span span26 = CollectionsMarshal.AsSpan(list67); + ref ChangeEntry reference67 = ref span26[0]; num3 = 4; - List list66 = new List(num3); - CollectionsMarshal.SetCount(list66, num3); - Span span27 = CollectionsMarshal.AsSpan(list66); + List list68 = new List(num3); + CollectionsMarshal.SetCount(list68, num3); + Span span27 = CollectionsMarshal.AsSpan(list68); span27[0] = "Added reloading and rebuilding to movement system"; span27[1] = "Improved interrupts and refresh states to allow continuation of questing"; span27[2] = "Added player input detection to stop automation when manually moving character"; span27[3] = "Added various missing quest sequences"; - reference65 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list66); - ref ChangeEntry reference66 = ref span26[1]; + reference67 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list68); + ref ChangeEntry reference68 = ref span26[1]; num3 = 1; - List list67 = new List(num3); - CollectionsMarshal.SetCount(list67, num3); - CollectionsMarshal.AsSpan(list67)[0] = "Fixed reset task state to prevent stuck interactions after interruption"; - reference66 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list67); - reference64 = new ChangelogEntry("7.38.9", releaseDate25, list65); - ref ChangelogEntry reference67 = ref span[25]; - DateOnly releaseDate26 = new DateOnly(2025, 11, 29); - num2 = 2; - List list68 = new List(num2); - CollectionsMarshal.SetCount(list68, num2); - Span span28 = CollectionsMarshal.AsSpan(list68); - ref ChangeEntry reference68 = ref span28[0]; - num3 = 3; List list69 = new List(num3); CollectionsMarshal.SetCount(list69, num3); - Span span29 = CollectionsMarshal.AsSpan(list69); + CollectionsMarshal.AsSpan(list69)[0] = "Fixed reset task state to prevent stuck interactions after interruption"; + reference68 = new ChangeEntry(EChangeCategory.Fixed, "Fixes", list69); + reference66 = new ChangelogEntry("7.38.9", releaseDate26, list67); + ref ChangelogEntry reference69 = ref span[26]; + DateOnly releaseDate27 = new DateOnly(2025, 11, 29); + num2 = 2; + List list70 = new List(num2); + CollectionsMarshal.SetCount(list70, num2); + Span span28 = CollectionsMarshal.AsSpan(list70); + ref ChangeEntry reference70 = ref span28[0]; + num3 = 3; + List list71 = new List(num3); + CollectionsMarshal.SetCount(list71, num3); + Span span29 = CollectionsMarshal.AsSpan(list71); span29[0] = "Movement update with automatic retrying if character can't reach target position"; span29[1] = "Added Hunt mob data"; span29[2] = "Refactored commands"; - reference68 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list69); - ref ChangeEntry reference69 = ref span28[1]; + reference70 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list71); + ref ChangeEntry reference71 = ref span28[1]; num3 = 3; - List list70 = new List(num3); - CollectionsMarshal.SetCount(list70, num3); - Span span30 = CollectionsMarshal.AsSpan(list70); + List list72 = new List(num3); + CollectionsMarshal.SetCount(list72, num3); + Span span30 = CollectionsMarshal.AsSpan(list72); span30[0] = "Fixed quest (Way of the Archer)"; span30[1] = "Fixed quest (Spirithold Broken)"; span30[2] = "Fixed quest (It's Probably Not Pirates)"; - reference69 = new ChangeEntry(EChangeCategory.Fixed, "Bug fixes", list70); - reference67 = new ChangelogEntry("7.38.8", releaseDate26, list68); - ref ChangelogEntry reference70 = ref span[26]; - DateOnly releaseDate27 = new DateOnly(2025, 11, 25); + reference71 = new ChangeEntry(EChangeCategory.Fixed, "Bug fixes", list72); + reference69 = new ChangelogEntry("7.38.8", releaseDate27, list70); + ref ChangelogEntry reference72 = ref span[27]; + DateOnly releaseDate28 = new DateOnly(2025, 11, 25); num2 = 2; - List list71 = new List(num2); - CollectionsMarshal.SetCount(list71, num2); - Span span31 = CollectionsMarshal.AsSpan(list71); - ref ChangeEntry reference71 = ref span31[0]; + List list73 = new List(num2); + CollectionsMarshal.SetCount(list73, num2); + Span span31 = CollectionsMarshal.AsSpan(list73); + ref ChangeEntry reference73 = ref span31[0]; num3 = 2; - List list72 = new List(num3); - CollectionsMarshal.SetCount(list72, num3); - Span span32 = CollectionsMarshal.AsSpan(list72); + List list74 = new List(num3); + CollectionsMarshal.SetCount(list74, num3); + Span span32 = CollectionsMarshal.AsSpan(list74); span32[0] = "Added individual sequence stop condition for each quest"; span32[1] = "Added Trials to Duties tab in config"; - reference71 = new ChangeEntry(EChangeCategory.Added, "Major features", list72); - ref ChangeEntry reference72 = ref span31[1]; + reference73 = new ChangeEntry(EChangeCategory.Added, "Major features", list74); + ref ChangeEntry reference74 = ref span31[1]; num3 = 1; - List list73 = new List(num3); - CollectionsMarshal.SetCount(list73, num3); - CollectionsMarshal.AsSpan(list73)[0] = "Added IPC for stop conditions: GetQuestSequenceStopCondition, SetQuestSequenceStopCondition, RemoveQuestSequenceStopCondition, GetAllQuestSequenceStopConditions"; - reference72 = new ChangeEntry(EChangeCategory.Added, "IPC changes", list73); - reference70 = new ChangelogEntry("7.38.7", releaseDate27, list71); - ref ChangelogEntry reference73 = ref span[27]; - DateOnly releaseDate28 = new DateOnly(2025, 11, 25); - num2 = 3; - List list74 = new List(num2); - CollectionsMarshal.SetCount(list74, num2); - Span span33 = CollectionsMarshal.AsSpan(list74); - ref ChangeEntry reference74 = ref span33[0]; - num3 = 2; List list75 = new List(num3); CollectionsMarshal.SetCount(list75, num3); - Span span34 = CollectionsMarshal.AsSpan(list75); - span34[0] = "Updated Allied Society journal text"; - span34[1] = "Improved Allied Society rank handling"; - reference74 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list75); - ref ChangeEntry reference75 = ref span33[1]; - num3 = 1; - List list76 = new List(num3); - CollectionsMarshal.SetCount(list76, num3); - CollectionsMarshal.AsSpan(list76)[0] = "Added IPC for Allied Society: AddAlliedSocietyOptimalQuests, GetAlliedSocietyOptimalQuests"; - reference75 = new ChangeEntry(EChangeCategory.Added, "IPC changes", list76); - ref ChangeEntry reference76 = ref span33[2]; - num3 = 1; + CollectionsMarshal.AsSpan(list75)[0] = "Added IPC for stop conditions: GetQuestSequenceStopCondition, SetQuestSequenceStopCondition, RemoveQuestSequenceStopCondition, GetAllQuestSequenceStopConditions"; + reference74 = new ChangeEntry(EChangeCategory.Added, "IPC changes", list75); + reference72 = new ChangelogEntry("7.38.7", releaseDate28, list73); + ref ChangelogEntry reference75 = ref span[28]; + DateOnly releaseDate29 = new DateOnly(2025, 11, 25); + num2 = 3; + List list76 = new List(num2); + CollectionsMarshal.SetCount(list76, num2); + Span span33 = CollectionsMarshal.AsSpan(list76); + ref ChangeEntry reference76 = ref span33[0]; + num3 = 2; List list77 = new List(num3); CollectionsMarshal.SetCount(list77, num3); - CollectionsMarshal.AsSpan(list77)[0] = "Fixed quest (We Come in Peace)"; - reference76 = new ChangeEntry(EChangeCategory.Fixed, "Bug fixes", list77); - reference73 = new ChangelogEntry("7.38.6", releaseDate28, list74); - ref ChangelogEntry reference77 = ref span[28]; - DateOnly releaseDate29 = new DateOnly(2025, 11, 24); - num2 = 2; - List list78 = new List(num2); - CollectionsMarshal.SetCount(list78, num2); - Span span35 = CollectionsMarshal.AsSpan(list78); - ref ChangeEntry reference78 = ref span35[0]; + Span span34 = CollectionsMarshal.AsSpan(list77); + span34[0] = "Updated Allied Society journal text"; + span34[1] = "Improved Allied Society rank handling"; + reference76 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list77); + ref ChangeEntry reference77 = ref span33[1]; + num3 = 1; + List list78 = new List(num3); + CollectionsMarshal.SetCount(list78, num3); + CollectionsMarshal.AsSpan(list78)[0] = "Added IPC for Allied Society: AddAlliedSocietyOptimalQuests, GetAlliedSocietyOptimalQuests"; + reference77 = new ChangeEntry(EChangeCategory.Added, "IPC changes", list78); + ref ChangeEntry reference78 = ref span33[2]; num3 = 1; List list79 = new List(num3); CollectionsMarshal.SetCount(list79, num3); - CollectionsMarshal.AsSpan(list79)[0] = "Added Allied Society daily allowance tracker with bulk quest adding buttons"; - reference78 = new ChangeEntry(EChangeCategory.Added, "Major features", list79); - ref ChangeEntry reference79 = ref span35[1]; - num3 = 1; - List list80 = new List(num3); - CollectionsMarshal.SetCount(list80, num3); - CollectionsMarshal.AsSpan(list80)[0] = "Added IPC for Allied Society: GetRemainingAllowances, GetTimeUntilReset, GetAvailableQuestIds, GetAllAvailableQuestCounts, IsMaxRank, GetCurrentRank, GetSocietiesWithAvailableQuests"; - reference79 = new ChangeEntry(EChangeCategory.Added, "IPC changes", list80); - reference77 = new ChangelogEntry("7.38.5", releaseDate29, list78); - ref ChangelogEntry reference80 = ref span[29]; - DateOnly releaseDate30 = new DateOnly(2025, 11, 23); + CollectionsMarshal.AsSpan(list79)[0] = "Fixed quest (We Come in Peace)"; + reference78 = new ChangeEntry(EChangeCategory.Fixed, "Bug fixes", list79); + reference75 = new ChangelogEntry("7.38.6", releaseDate29, list76); + ref ChangelogEntry reference79 = ref span[29]; + DateOnly releaseDate30 = new DateOnly(2025, 11, 24); num2 = 2; - List list81 = new List(num2); - CollectionsMarshal.SetCount(list81, num2); - Span span36 = CollectionsMarshal.AsSpan(list81); - ref ChangeEntry reference81 = ref span36[0]; + List list80 = new List(num2); + CollectionsMarshal.SetCount(list80, num2); + Span span35 = CollectionsMarshal.AsSpan(list80); + ref ChangeEntry reference80 = ref span35[0]; + num3 = 1; + List list81 = new List(num3); + CollectionsMarshal.SetCount(list81, num3); + CollectionsMarshal.AsSpan(list81)[0] = "Added Allied Society daily allowance tracker with bulk quest adding buttons"; + reference80 = new ChangeEntry(EChangeCategory.Added, "Major features", list81); + ref ChangeEntry reference81 = ref span35[1]; num3 = 1; List list82 = new List(num3); CollectionsMarshal.SetCount(list82, num3); - CollectionsMarshal.AsSpan(list82)[0] = "Explicitly declare support for BMR singleplayer duty (The Rematch)"; - reference81 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list82); - ref ChangeEntry reference82 = ref span36[1]; + CollectionsMarshal.AsSpan(list82)[0] = "Added IPC for Allied Society: GetRemainingAllowances, GetTimeUntilReset, GetAvailableQuestIds, GetAllAvailableQuestCounts, IsMaxRank, GetCurrentRank, GetSocietiesWithAvailableQuests"; + reference81 = new ChangeEntry(EChangeCategory.Added, "IPC changes", list82); + reference79 = new ChangelogEntry("7.38.5", releaseDate30, list80); + ref ChangelogEntry reference82 = ref span[30]; + DateOnly releaseDate31 = new DateOnly(2025, 11, 23); + num2 = 2; + List list83 = new List(num2); + CollectionsMarshal.SetCount(list83, num2); + Span span36 = CollectionsMarshal.AsSpan(list83); + ref ChangeEntry reference83 = ref span36[0]; + num3 = 1; + List list84 = new List(num3); + CollectionsMarshal.SetCount(list84, num3); + CollectionsMarshal.AsSpan(list84)[0] = "Explicitly declare support for BMR singleplayer duty (The Rematch)"; + reference83 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list84); + ref ChangeEntry reference84 = ref span36[1]; num3 = 8; - List list83 = new List(num3); - CollectionsMarshal.SetCount(list83, num3); - Span span37 = CollectionsMarshal.AsSpan(list83); + List list85 = new List(num3); + CollectionsMarshal.SetCount(list85, num3); + Span span37 = CollectionsMarshal.AsSpan(list85); span37[0] = "Fixed quest (Microbrewing) to not get stuck near ramp"; span37[1] = "Fixed quest (The Illuminated Land) where pathing would kill the player due to fall damage"; span37[2] = "Fixed quest (It's Probably Not Pirates) improper pathing and removed unneeded step"; @@ -579,501 +591,501 @@ internal static class ChangelogData span37[5] = "Fixed quest (We Come in Peace) shortcut navigation"; span37[6] = "Fixed quest (Poisoned Hearts) where incorrect pathing caused the player to die"; span37[7] = "Fixed quests (Savage Snares) and (An Apple a Day) not detecting kills"; - reference82 = new ChangeEntry(EChangeCategory.Fixed, "Bug fixes", list83); - reference80 = new ChangelogEntry("7.38.4", releaseDate30, list81); - ref ChangelogEntry reference83 = ref span[30]; - DateOnly releaseDate31 = new DateOnly(2025, 11, 23); + reference84 = new ChangeEntry(EChangeCategory.Fixed, "Bug fixes", list85); + reference82 = new ChangelogEntry("7.38.4", releaseDate31, list83); + ref ChangelogEntry reference85 = ref span[31]; + DateOnly releaseDate32 = new DateOnly(2025, 11, 23); num2 = 3; - List list84 = new List(num2); - CollectionsMarshal.SetCount(list84, num2); - Span span38 = CollectionsMarshal.AsSpan(list84); - ref ChangeEntry reference84 = ref span38[0]; + List list86 = new List(num2); + CollectionsMarshal.SetCount(list86, num2); + Span span38 = CollectionsMarshal.AsSpan(list86); + ref ChangeEntry reference86 = ref span38[0]; num3 = 2; - List list85 = new List(num3); - CollectionsMarshal.SetCount(list85, num3); - Span span39 = CollectionsMarshal.AsSpan(list85); - span39[0] = "Added RequireHq to crafting InteractionType"; - span39[1] = "Mark GC quests as Locked if rank not achieved"; - reference84 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list85); - ref ChangeEntry reference85 = ref span38[1]; - num3 = 2; - List list86 = new List(num3); - CollectionsMarshal.SetCount(list86, num3); - Span span40 = CollectionsMarshal.AsSpan(list86); - span40[0] = "Added IPC for stop conditions: GetStopConditionsEnabled, SetStopConditionsEnabled, GetStopQuestList, AddStopQuest, RemoveStopQuest, ClearStopQuests, GetLevelStopCondition, SetLevelStopCondition, GetSequenceStopCondition, SetSequenceStopCondition"; - span40[1] = "Added IPC for priority quests: GetPriorityQuests, RemovePriorityQuest, ReorderPriorityQuest, GetAvailablePresets, GetPresetQuests, AddPresetToPriority, IsPresetAvailable, IsQuestInPriority, GetQuestPriorityIndex, HasAvailablePriorityQuests"; - reference85 = new ChangeEntry(EChangeCategory.Added, "IPC changes", list86); - ref ChangeEntry reference86 = ref span38[2]; - num3 = 3; List list87 = new List(num3); CollectionsMarshal.SetCount(list87, num3); - Span span41 = CollectionsMarshal.AsSpan(list87); + Span span39 = CollectionsMarshal.AsSpan(list87); + span39[0] = "Added RequireHq to crafting InteractionType"; + span39[1] = "Mark GC quests as Locked if rank not achieved"; + reference86 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list87); + ref ChangeEntry reference87 = ref span38[1]; + num3 = 2; + List list88 = new List(num3); + CollectionsMarshal.SetCount(list88, num3); + Span span40 = CollectionsMarshal.AsSpan(list88); + span40[0] = "Added IPC for stop conditions: GetStopConditionsEnabled, SetStopConditionsEnabled, GetStopQuestList, AddStopQuest, RemoveStopQuest, ClearStopQuests, GetLevelStopCondition, SetLevelStopCondition, GetSequenceStopCondition, SetSequenceStopCondition"; + span40[1] = "Added IPC for priority quests: GetPriorityQuests, RemovePriorityQuest, ReorderPriorityQuest, GetAvailablePresets, GetPresetQuests, AddPresetToPriority, IsPresetAvailable, IsQuestInPriority, GetQuestPriorityIndex, HasAvailablePriorityQuests"; + reference87 = new ChangeEntry(EChangeCategory.Added, "IPC changes", list88); + ref ChangeEntry reference88 = ref span38[2]; + num3 = 3; + List list89 = new List(num3); + CollectionsMarshal.SetCount(list89, num3); + Span span41 = CollectionsMarshal.AsSpan(list89); span41[0] = "Fixed line breaks not working in dialog strings"; span41[1] = "Fixed quest (Labor of Love)"; span41[2] = "Fixed quest (Sea of Sorrow)"; - reference86 = new ChangeEntry(EChangeCategory.Fixed, "Bug fixes", list87); - reference83 = new ChangelogEntry("7.38.3", releaseDate31, list84); - ref ChangelogEntry reference87 = ref span[31]; - DateOnly releaseDate32 = new DateOnly(2025, 11, 18); + reference88 = new ChangeEntry(EChangeCategory.Fixed, "Bug fixes", list89); + reference85 = new ChangelogEntry("7.38.3", releaseDate32, list86); + ref ChangelogEntry reference89 = ref span[32]; + DateOnly releaseDate33 = new DateOnly(2025, 11, 18); num2 = 3; - List list88 = new List(num2); - CollectionsMarshal.SetCount(list88, num2); - Span span42 = CollectionsMarshal.AsSpan(list88); - ref ChangeEntry reference88 = ref span42[0]; + List list90 = new List(num2); + CollectionsMarshal.SetCount(list90, num2); + Span span42 = CollectionsMarshal.AsSpan(list90); + ref ChangeEntry reference90 = ref span42[0]; num3 = 2; - List list89 = new List(num3); - CollectionsMarshal.SetCount(list89, num3); - Span span43 = CollectionsMarshal.AsSpan(list89); + List list91 = new List(num3); + CollectionsMarshal.SetCount(list91, num3); + Span span43 = CollectionsMarshal.AsSpan(list91); span43[0] = "Auto Duty unsync options for each duty (Duty Support, Unsync Solo, Unsync Party)"; span43[1] = "Added Auto Duty unsync options to quest schema and updated quests using old unsync method"; - reference88 = new ChangeEntry(EChangeCategory.Added, "Major features", list89); - ref ChangeEntry reference89 = ref span42[1]; + reference90 = new ChangeEntry(EChangeCategory.Added, "Major features", list91); + ref ChangeEntry reference91 = ref span42[1]; num3 = 3; - List list90 = new List(num3); - CollectionsMarshal.SetCount(list90, num3); - Span span44 = CollectionsMarshal.AsSpan(list90); + List list92 = new List(num3); + CollectionsMarshal.SetCount(list92, num3); + Span span44 = CollectionsMarshal.AsSpan(list92); span44[0] = "Added IPC for duty sync handling: GetDefaultDutyMode, SetDefaultDutyMode"; span44[1] = "Added IPC for duty mode overrides: GetDutyModeOverride, SetDutyModeOverride"; span44[2] = "Added IPC for clearing overrides: ClearDutyModeOverride, ClearAllDutyModeOverrides"; - reference89 = new ChangeEntry(EChangeCategory.Added, "IPC changes", list90); + reference91 = new ChangeEntry(EChangeCategory.Added, "IPC changes", list92); span42[2] = new ChangeEntry(EChangeCategory.Fixed, "Fixed quest (Constant Cravings)"); - reference87 = new ChangelogEntry("7.38.2", releaseDate32, list88); - ref ChangelogEntry reference90 = ref span[32]; - DateOnly releaseDate33 = new DateOnly(2025, 11, 18); + reference89 = new ChangelogEntry("7.38.2", releaseDate33, list90); + ref ChangelogEntry reference92 = ref span[33]; + DateOnly releaseDate34 = new DateOnly(2025, 11, 18); num2 = 3; - List list91 = new List(num2); - CollectionsMarshal.SetCount(list91, num2); - Span span45 = CollectionsMarshal.AsSpan(list91); - ref ChangeEntry reference91 = ref span45[0]; + List list93 = new List(num2); + CollectionsMarshal.SetCount(list93, num2); + Span span45 = CollectionsMarshal.AsSpan(list93); + ref ChangeEntry reference93 = ref span45[0]; num3 = 1; - List list92 = new List(num3); - CollectionsMarshal.SetCount(list92, num3); - CollectionsMarshal.AsSpan(list92)[0] = "Added new fields to quest schema"; - reference91 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list92); - ref ChangeEntry reference92 = ref span45[1]; + List list94 = new List(num3); + CollectionsMarshal.SetCount(list94, num3); + CollectionsMarshal.AsSpan(list94)[0] = "Added new fields to quest schema"; + reference93 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list94); + ref ChangeEntry reference94 = ref span45[1]; num3 = 3; - List list93 = new List(num3); - CollectionsMarshal.SetCount(list93, num3); - Span span46 = CollectionsMarshal.AsSpan(list93); + List list95 = new List(num3); + CollectionsMarshal.SetCount(list95, num3); + Span span46 = CollectionsMarshal.AsSpan(list95); span46[0] = "A Faerie Tale Come True"; span46[1] = "Constant Cravings"; span46[2] = "A Bridge Too Full"; - reference92 = new ChangeEntry(EChangeCategory.QuestUpdates, "Added new quest paths", list93); - ref ChangeEntry reference93 = ref span45[2]; + reference94 = new ChangeEntry(EChangeCategory.QuestUpdates, "Added new quest paths", list95); + ref ChangeEntry reference95 = ref span45[2]; num3 = 3; - List list94 = new List(num3); - CollectionsMarshal.SetCount(list94, num3); - Span span47 = CollectionsMarshal.AsSpan(list94); + List list96 = new List(num3); + CollectionsMarshal.SetCount(list96, num3); + Span span47 = CollectionsMarshal.AsSpan(list96); span47[0] = "Fixed various quest schemas"; span47[1] = "Fixed changelog bullet point encoding"; span47[2] = "Fixed item use to wait until item is used before next action"; - reference93 = new ChangeEntry(EChangeCategory.Fixed, "Bug fixes", list94); - reference90 = new ChangelogEntry("7.38.1", releaseDate33, list91); - ref ChangelogEntry reference94 = ref span[33]; - DateOnly releaseDate34 = new DateOnly(2025, 11, 17); + reference95 = new ChangeEntry(EChangeCategory.Fixed, "Bug fixes", list96); + reference92 = new ChangelogEntry("7.38.1", releaseDate34, list93); + ref ChangelogEntry reference96 = ref span[34]; + DateOnly releaseDate35 = new DateOnly(2025, 11, 17); num2 = 5; - List list95 = new List(num2); - CollectionsMarshal.SetCount(list95, num2); - Span span48 = CollectionsMarshal.AsSpan(list95); - ref ChangeEntry reference95 = ref span48[0]; + List list97 = new List(num2); + CollectionsMarshal.SetCount(list97, num2); + Span span48 = CollectionsMarshal.AsSpan(list97); + ref ChangeEntry reference97 = ref span48[0]; num3 = 2; - List list96 = new List(num3); - CollectionsMarshal.SetCount(list96, num3); - Span span49 = CollectionsMarshal.AsSpan(list96); - span49[0] = "Quest sequence window to show expected sequences in each quest (with quest searching)"; - span49[1] = "Changelog"; - reference95 = new ChangeEntry(EChangeCategory.Added, "Major features", list96); - ref ChangeEntry reference96 = ref span48[1]; - num3 = 2; - List list97 = new List(num3); - CollectionsMarshal.SetCount(list97, num3); - Span span50 = CollectionsMarshal.AsSpan(list97); - span50[0] = "Updated quest schemas"; - span50[1] = "Added search bar to preferred mounts and capitalization to mirror game mount names"; - reference96 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list97); - ref ChangeEntry reference97 = ref span48[2]; - num3 = 3; List list98 = new List(num3); CollectionsMarshal.SetCount(list98, num3); - Span span51 = CollectionsMarshal.AsSpan(list98); + Span span49 = CollectionsMarshal.AsSpan(list98); + span49[0] = "Quest sequence window to show expected sequences in each quest (with quest searching)"; + span49[1] = "Changelog"; + reference97 = new ChangeEntry(EChangeCategory.Added, "Major features", list98); + ref ChangeEntry reference98 = ref span48[1]; + num3 = 2; + List list99 = new List(num3); + CollectionsMarshal.SetCount(list99, num3); + Span span50 = CollectionsMarshal.AsSpan(list99); + span50[0] = "Updated quest schemas"; + span50[1] = "Added search bar to preferred mounts and capitalization to mirror game mount names"; + reference98 = new ChangeEntry(EChangeCategory.Changed, "Improvements", list99); + ref ChangeEntry reference99 = ref span48[2]; + num3 = 3; + List list100 = new List(num3); + CollectionsMarshal.SetCount(list100, num3); + Span span51 = CollectionsMarshal.AsSpan(list100); span51[0] = "Renamed IsQuestCompleted → IsQuestComplete"; span51[1] = "Renamed IsQuestAvailable → IsReadyToAcceptQuest"; span51[2] = "Added GetCurrentTask IPC"; - reference97 = new ChangeEntry(EChangeCategory.Changed, "IPC changes", list98); + reference99 = new ChangeEntry(EChangeCategory.Changed, "IPC changes", list100); span48[3] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added all Hildibrand quests"); span48[4] = new ChangeEntry(EChangeCategory.Fixed, "Fixed credits/cutscenes playback"); - reference94 = new ChangelogEntry("7.38.0", releaseDate34, list95); - ref ChangelogEntry reference98 = ref span[34]; - DateOnly releaseDate35 = new DateOnly(2025, 11, 8); - num2 = 1; - List list99 = new List(num2); - CollectionsMarshal.SetCount(list99, num2); - CollectionsMarshal.AsSpan(list99)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added Fall Guys quest (Just Crowning Around)"); - reference98 = new ChangelogEntry("6.38", releaseDate35, list99); - ref ChangelogEntry reference99 = ref span[35]; + reference96 = new ChangelogEntry("7.38.0", releaseDate35, list97); + ref ChangelogEntry reference100 = ref span[35]; DateOnly releaseDate36 = new DateOnly(2025, 11, 8); num2 = 1; - List list100 = new List(num2); - CollectionsMarshal.SetCount(list100, num2); - CollectionsMarshal.AsSpan(list100)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added Cosmic Exploration and various unlock quests"); - reference99 = new ChangelogEntry("6.37", releaseDate36, list100); - ref ChangelogEntry reference100 = ref span[36]; - DateOnly releaseDate37 = new DateOnly(2025, 11, 2); - num2 = 1; List list101 = new List(num2); CollectionsMarshal.SetCount(list101, num2); - CollectionsMarshal.AsSpan(list101)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy Rank 6 quest (With High Spirits)"); - reference100 = new ChangelogEntry("6.36", releaseDate37, list101); - ref ChangelogEntry reference101 = ref span[37]; - DateOnly releaseDate38 = new DateOnly(2025, 10, 28); + CollectionsMarshal.AsSpan(list101)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added Fall Guys quest (Just Crowning Around)"); + reference100 = new ChangelogEntry("6.38", releaseDate36, list101); + ref ChangelogEntry reference101 = ref span[36]; + DateOnly releaseDate37 = new DateOnly(2025, 11, 8); num2 = 1; List list102 = new List(num2); CollectionsMarshal.SetCount(list102, num2); - CollectionsMarshal.AsSpan(list102)[0] = new ChangeEntry(EChangeCategory.Fixed, "Fixed level 3 MSQ handling if character started on non-XP buff world"); - reference101 = new ChangelogEntry("6.35", releaseDate38, list102); - ref ChangelogEntry reference102 = ref span[38]; - DateOnly releaseDate39 = new DateOnly(2025, 10, 23); - num2 = 2; + CollectionsMarshal.AsSpan(list102)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added Cosmic Exploration and various unlock quests"); + reference101 = new ChangelogEntry("6.37", releaseDate37, list102); + ref ChangelogEntry reference102 = ref span[37]; + DateOnly releaseDate38 = new DateOnly(2025, 11, 2); + num2 = 1; List list103 = new List(num2); CollectionsMarshal.SetCount(list103, num2); - Span span52 = CollectionsMarshal.AsSpan(list103); - span52[0] = new ChangeEntry(EChangeCategory.Added, "Added clear priority quests on logout and on completion config settings"); - span52[1] = new ChangeEntry(EChangeCategory.Fixed, "Fixed priority quest importing to respect import order"); - reference102 = new ChangelogEntry("6.34", releaseDate39, list103); - ref ChangelogEntry reference103 = ref span[39]; - DateOnly releaseDate40 = new DateOnly(2025, 10, 23); + CollectionsMarshal.AsSpan(list103)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy Rank 6 quest (With High Spirits)"); + reference102 = new ChangelogEntry("6.36", releaseDate38, list103); + ref ChangelogEntry reference103 = ref span[38]; + DateOnly releaseDate39 = new DateOnly(2025, 10, 28); num2 = 1; List list104 = new List(num2); CollectionsMarshal.SetCount(list104, num2); - CollectionsMarshal.AsSpan(list104)[0] = new ChangeEntry(EChangeCategory.Fixed, "Fixed RSR combat module"); - reference103 = new ChangelogEntry("6.33", releaseDate40, list104); - ref ChangelogEntry reference104 = ref span[40]; - DateOnly releaseDate41 = new DateOnly(2025, 10, 23); - num2 = 1; + CollectionsMarshal.AsSpan(list104)[0] = new ChangeEntry(EChangeCategory.Fixed, "Fixed level 3 MSQ handling if character started on non-XP buff world"); + reference103 = new ChangelogEntry("6.35", releaseDate39, list104); + ref ChangelogEntry reference104 = ref span[39]; + DateOnly releaseDate40 = new DateOnly(2025, 10, 23); + num2 = 2; List list105 = new List(num2); CollectionsMarshal.SetCount(list105, num2); - CollectionsMarshal.AsSpan(list105)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy Rank 5 quest (Forged in Corn)"); - reference104 = new ChangelogEntry("6.32", releaseDate41, list105); - ref ChangelogEntry reference105 = ref span[41]; - DateOnly releaseDate42 = new DateOnly(2025, 10, 21); + Span span52 = CollectionsMarshal.AsSpan(list105); + span52[0] = new ChangeEntry(EChangeCategory.Added, "Added clear priority quests on logout and on completion config settings"); + span52[1] = new ChangeEntry(EChangeCategory.Fixed, "Fixed priority quest importing to respect import order"); + reference104 = new ChangelogEntry("6.34", releaseDate40, list105); + ref ChangelogEntry reference105 = ref span[40]; + DateOnly releaseDate41 = new DateOnly(2025, 10, 23); num2 = 1; List list106 = new List(num2); CollectionsMarshal.SetCount(list106, num2); - CollectionsMarshal.AsSpan(list106)[0] = new ChangeEntry(EChangeCategory.Changed, "Added checks for moogle and allied society quests when using add all available quests"); - reference105 = new ChangelogEntry("6.31", releaseDate42, list106); - ref ChangelogEntry reference106 = ref span[42]; - DateOnly releaseDate43 = new DateOnly(2025, 10, 21); + CollectionsMarshal.AsSpan(list106)[0] = new ChangeEntry(EChangeCategory.Fixed, "Fixed RSR combat module"); + reference105 = new ChangelogEntry("6.33", releaseDate41, list106); + ref ChangelogEntry reference106 = ref span[41]; + DateOnly releaseDate42 = new DateOnly(2025, 10, 23); num2 = 1; List list107 = new List(num2); CollectionsMarshal.SetCount(list107, num2); - CollectionsMarshal.AsSpan(list107)[0] = new ChangeEntry(EChangeCategory.Added, "Added button to journal that allows adding all available quests to priority"); - reference106 = new ChangelogEntry("6.30", releaseDate43, list107); - ref ChangelogEntry reference107 = ref span[43]; - DateOnly releaseDate44 = new DateOnly(2025, 10, 20); - num2 = 2; + CollectionsMarshal.AsSpan(list107)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy Rank 5 quest (Forged in Corn)"); + reference106 = new ChangelogEntry("6.32", releaseDate42, list107); + ref ChangelogEntry reference107 = ref span[42]; + DateOnly releaseDate43 = new DateOnly(2025, 10, 21); + num2 = 1; List list108 = new List(num2); CollectionsMarshal.SetCount(list108, num2); - Span span53 = CollectionsMarshal.AsSpan(list108); - ref ChangeEntry reference108 = ref span53[0]; - num3 = 2; - List list109 = new List(num3); - CollectionsMarshal.SetCount(list109, num3); - Span span54 = CollectionsMarshal.AsSpan(list109); - span54[0] = "Added item count to combat handling rework"; - span54[1] = "Updated Pandora conflicting features"; - reference108 = new ChangeEntry(EChangeCategory.Changed, "Combat handling improvements", list109); - span53[1] = new ChangeEntry(EChangeCategory.Fixed, "Fixed quest to purchase Gysahl Greens if not in inventory"); - reference107 = new ChangelogEntry("6.29", releaseDate44, list108); - ref ChangelogEntry reference109 = ref span[44]; - DateOnly releaseDate45 = new DateOnly(2025, 10, 19); + CollectionsMarshal.AsSpan(list108)[0] = new ChangeEntry(EChangeCategory.Changed, "Added checks for moogle and allied society quests when using add all available quests"); + reference107 = new ChangelogEntry("6.31", releaseDate43, list108); + ref ChangelogEntry reference108 = ref span[43]; + DateOnly releaseDate44 = new DateOnly(2025, 10, 21); num2 = 1; + List list109 = new List(num2); + CollectionsMarshal.SetCount(list109, num2); + CollectionsMarshal.AsSpan(list109)[0] = new ChangeEntry(EChangeCategory.Added, "Added button to journal that allows adding all available quests to priority"); + reference108 = new ChangelogEntry("6.30", releaseDate44, list109); + ref ChangelogEntry reference109 = ref span[44]; + DateOnly releaseDate45 = new DateOnly(2025, 10, 20); + num2 = 2; List list110 = new List(num2); CollectionsMarshal.SetCount(list110, num2); - CollectionsMarshal.AsSpan(list110)[0] = new ChangeEntry(EChangeCategory.Changed, "Reworked kill count combat handling - combat and enemy kills are now processed instantly"); - reference109 = new ChangelogEntry("6.28", releaseDate45, list110); - ref ChangelogEntry reference110 = ref span[45]; - DateOnly releaseDate46 = new DateOnly(2025, 10, 18); - num2 = 2; - List list111 = new List(num2); - CollectionsMarshal.SetCount(list111, num2); - Span span55 = CollectionsMarshal.AsSpan(list111); - span55[0] = new ChangeEntry(EChangeCategory.Changed, "Improved Aether Current checking logic"); - span55[1] = new ChangeEntry(EChangeCategory.Fixed, "Fixed Chocobo Taxi Stand CheckSkip error and Patch 7.3 Fantasia unlock quest date/time"); - reference110 = new ChangelogEntry("6.27", releaseDate46, list111); - ref ChangelogEntry reference111 = ref span[46]; - DateOnly releaseDate47 = new DateOnly(2025, 10, 18); + Span span53 = CollectionsMarshal.AsSpan(list110); + ref ChangeEntry reference110 = ref span53[0]; + num3 = 2; + List list111 = new List(num3); + CollectionsMarshal.SetCount(list111, num3); + Span span54 = CollectionsMarshal.AsSpan(list111); + span54[0] = "Added item count to combat handling rework"; + span54[1] = "Updated Pandora conflicting features"; + reference110 = new ChangeEntry(EChangeCategory.Changed, "Combat handling improvements", list111); + span53[1] = new ChangeEntry(EChangeCategory.Fixed, "Fixed quest to purchase Gysahl Greens if not in inventory"); + reference109 = new ChangelogEntry("6.29", releaseDate45, list110); + ref ChangelogEntry reference111 = ref span[45]; + DateOnly releaseDate46 = new DateOnly(2025, 10, 19); num2 = 1; List list112 = new List(num2); CollectionsMarshal.SetCount(list112, num2); - CollectionsMarshal.AsSpan(list112)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 4 quests"); - reference111 = new ChangelogEntry("6.26", releaseDate47, list112); - ref ChangelogEntry reference112 = ref span[47]; - DateOnly releaseDate48 = new DateOnly(2025, 10, 17); - num2 = 1; + CollectionsMarshal.AsSpan(list112)[0] = new ChangeEntry(EChangeCategory.Changed, "Reworked kill count combat handling - combat and enemy kills are now processed instantly"); + reference111 = new ChangelogEntry("6.28", releaseDate46, list112); + ref ChangelogEntry reference112 = ref span[46]; + DateOnly releaseDate47 = new DateOnly(2025, 10, 18); + num2 = 2; List list113 = new List(num2); CollectionsMarshal.SetCount(list113, num2); - CollectionsMarshal.AsSpan(list113)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added All Saints' Wake 2025 quests and 7.35 Yok Huy rank 4 quests"); - reference112 = new ChangelogEntry("6.25", releaseDate48, list113); - ref ChangelogEntry reference113 = ref span[48]; - DateOnly releaseDate49 = new DateOnly(2025, 10, 16); + Span span55 = CollectionsMarshal.AsSpan(list113); + span55[0] = new ChangeEntry(EChangeCategory.Changed, "Improved Aether Current checking logic"); + span55[1] = new ChangeEntry(EChangeCategory.Fixed, "Fixed Chocobo Taxi Stand CheckSkip error and Patch 7.3 Fantasia unlock quest date/time"); + reference112 = new ChangelogEntry("6.27", releaseDate47, list113); + ref ChangelogEntry reference113 = ref span[47]; + DateOnly releaseDate48 = new DateOnly(2025, 10, 18); num2 = 1; List list114 = new List(num2); CollectionsMarshal.SetCount(list114, num2); - CollectionsMarshal.AsSpan(list114)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 4 quests and Deep Dungeon quest"); - reference113 = new ChangelogEntry("6.24", releaseDate49, list114); - ref ChangelogEntry reference114 = ref span[49]; - DateOnly releaseDate50 = new DateOnly(2025, 10, 13); + CollectionsMarshal.AsSpan(list114)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 4 quests"); + reference113 = new ChangelogEntry("6.26", releaseDate48, list114); + ref ChangelogEntry reference114 = ref span[48]; + DateOnly releaseDate49 = new DateOnly(2025, 10, 17); num2 = 1; List list115 = new List(num2); CollectionsMarshal.SetCount(list115, num2); - CollectionsMarshal.AsSpan(list115)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 3 quest (Larder Logistics)"); - reference114 = new ChangelogEntry("6.23", releaseDate50, list115); - ref ChangelogEntry reference115 = ref span[50]; - DateOnly releaseDate51 = new DateOnly(2025, 10, 12); - num2 = 3; + CollectionsMarshal.AsSpan(list115)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added All Saints' Wake 2025 quests and 7.35 Yok Huy rank 4 quests"); + reference114 = new ChangelogEntry("6.25", releaseDate49, list115); + ref ChangelogEntry reference115 = ref span[49]; + DateOnly releaseDate50 = new DateOnly(2025, 10, 16); + num2 = 1; List list116 = new List(num2); CollectionsMarshal.SetCount(list116, num2); - Span span56 = CollectionsMarshal.AsSpan(list116); + CollectionsMarshal.AsSpan(list116)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 4 quests and Deep Dungeon quest"); + reference115 = new ChangelogEntry("6.24", releaseDate50, list116); + ref ChangelogEntry reference116 = ref span[50]; + DateOnly releaseDate51 = new DateOnly(2025, 10, 13); + num2 = 1; + List list117 = new List(num2); + CollectionsMarshal.SetCount(list117, num2); + CollectionsMarshal.AsSpan(list117)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 3 quest (Larder Logistics)"); + reference116 = new ChangelogEntry("6.23", releaseDate51, list117); + ref ChangelogEntry reference117 = ref span[51]; + DateOnly releaseDate52 = new DateOnly(2025, 10, 12); + num2 = 3; + List list118 = new List(num2); + CollectionsMarshal.SetCount(list118, num2); + Span span56 = CollectionsMarshal.AsSpan(list118); span56[0] = new ChangeEntry(EChangeCategory.Changed, "Prevent disabled or Locked quests from being started as 'Start as next quest'"); span56[1] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 3 quests"); span56[2] = new ChangeEntry(EChangeCategory.Fixed, "Fixed Yok Huy quest and journal quest chain priority issues"); - reference115 = new ChangelogEntry("6.22", releaseDate51, list116); - ref ChangelogEntry reference116 = ref span[51]; - DateOnly releaseDate52 = new DateOnly(2025, 10, 12); + reference117 = new ChangelogEntry("6.22", releaseDate52, list118); + ref ChangelogEntry reference118 = ref span[52]; + DateOnly releaseDate53 = new DateOnly(2025, 10, 12); num2 = 2; - List list117 = new List(num2); - CollectionsMarshal.SetCount(list117, num2); - Span span57 = CollectionsMarshal.AsSpan(list117); - span57[0] = new ChangeEntry(EChangeCategory.Added, "Added expansion abbreviation to journal window"); - span57[1] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 3 quests"); - reference116 = new ChangelogEntry("6.21", releaseDate52, list117); - ref ChangelogEntry reference117 = ref span[52]; - DateOnly releaseDate53 = new DateOnly(2025, 10, 10); - num2 = 2; - List list118 = new List(num2); - CollectionsMarshal.SetCount(list118, num2); - Span span58 = CollectionsMarshal.AsSpan(list118); - span58[0] = new ChangeEntry(EChangeCategory.Changed, "Allow completed repeatable quests to be used with 'Add quest and requirements to priority' feature"); - span58[1] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 1 quest (A Work of Cart)"); - reference117 = new ChangelogEntry("6.20", releaseDate53, list118); - ref ChangelogEntry reference118 = ref span[53]; - DateOnly releaseDate54 = new DateOnly(2025, 10, 9); - num2 = 3; List list119 = new List(num2); CollectionsMarshal.SetCount(list119, num2); - Span span59 = CollectionsMarshal.AsSpan(list119); - span59[0] = new ChangeEntry(EChangeCategory.Added, "Added config to batch Allied Society quest turn-ins"); - span59[1] = new ChangeEntry(EChangeCategory.Changed, "Repeatable quests now show correct availability state in journal"); - span59[2] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 2 quests"); - reference118 = new ChangelogEntry("6.19", releaseDate54, list119); - ref ChangelogEntry reference119 = ref span[54]; - DateOnly releaseDate55 = new DateOnly(2025, 10, 9); + Span span57 = CollectionsMarshal.AsSpan(list119); + span57[0] = new ChangeEntry(EChangeCategory.Added, "Added expansion abbreviation to journal window"); + span57[1] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 3 quests"); + reference118 = new ChangelogEntry("6.21", releaseDate53, list119); + ref ChangelogEntry reference119 = ref span[53]; + DateOnly releaseDate54 = new DateOnly(2025, 10, 10); num2 = 2; List list120 = new List(num2); CollectionsMarshal.SetCount(list120, num2); - Span span60 = CollectionsMarshal.AsSpan(list120); - span60[0] = new ChangeEntry(EChangeCategory.Changed, "Show once completed quests with improved state display"); - span60[1] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy daily quest and improvements to various Yok Huy quests"); - reference119 = new ChangelogEntry("6.18", releaseDate55, list120); - ref ChangelogEntry reference120 = ref span[55]; - DateOnly releaseDate56 = new DateOnly(2025, 10, 8); - num2 = 1; + Span span58 = CollectionsMarshal.AsSpan(list120); + span58[0] = new ChangeEntry(EChangeCategory.Changed, "Allow completed repeatable quests to be used with 'Add quest and requirements to priority' feature"); + span58[1] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 1 quest (A Work of Cart)"); + reference119 = new ChangelogEntry("6.20", releaseDate54, list120); + ref ChangelogEntry reference120 = ref span[54]; + DateOnly releaseDate55 = new DateOnly(2025, 10, 9); + num2 = 3; List list121 = new List(num2); CollectionsMarshal.SetCount(list121, num2); - CollectionsMarshal.AsSpan(list121)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 1 and rank 2 quests"); - reference120 = new ChangelogEntry("6.17", releaseDate56, list121); - ref ChangelogEntry reference121 = ref span[56]; - DateOnly releaseDate57 = new DateOnly(2025, 10, 8); - num2 = 1; + Span span59 = CollectionsMarshal.AsSpan(list121); + span59[0] = new ChangeEntry(EChangeCategory.Added, "Added config to batch Allied Society quest turn-ins"); + span59[1] = new ChangeEntry(EChangeCategory.Changed, "Repeatable quests now show correct availability state in journal"); + span59[2] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 2 quests"); + reference120 = new ChangelogEntry("6.19", releaseDate55, list121); + ref ChangelogEntry reference121 = ref span[55]; + DateOnly releaseDate56 = new DateOnly(2025, 10, 9); + num2 = 2; List list122 = new List(num2); CollectionsMarshal.SetCount(list122, num2); - CollectionsMarshal.AsSpan(list122)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Deep Dungeon quest (Faerie Tale)"); - reference121 = new ChangelogEntry("6.16", releaseDate57, list122); - ref ChangelogEntry reference122 = ref span[57]; - DateOnly releaseDate58 = new DateOnly(2025, 10, 8); - num2 = 2; + Span span60 = CollectionsMarshal.AsSpan(list122); + span60[0] = new ChangeEntry(EChangeCategory.Changed, "Show once completed quests with improved state display"); + span60[1] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy daily quest and improvements to various Yok Huy quests"); + reference121 = new ChangelogEntry("6.18", releaseDate56, list122); + ref ChangelogEntry reference122 = ref span[56]; + DateOnly releaseDate57 = new DateOnly(2025, 10, 8); + num2 = 1; List list123 = new List(num2); CollectionsMarshal.SetCount(list123, num2); - Span span61 = CollectionsMarshal.AsSpan(list123); - span61[0] = new ChangeEntry(EChangeCategory.Changed, "Dalamud cleanup"); - span61[1] = new ChangeEntry(EChangeCategory.Fixed, "Fixed quest level requirement check log spam"); - reference122 = new ChangelogEntry("6.15", releaseDate58, list123); - ref ChangelogEntry reference123 = ref span[58]; - DateOnly releaseDate59 = new DateOnly(2025, 10, 8); + CollectionsMarshal.AsSpan(list123)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Yok Huy rank 1 and rank 2 quests"); + reference122 = new ChangelogEntry("6.17", releaseDate57, list123); + ref ChangelogEntry reference123 = ref span[57]; + DateOnly releaseDate58 = new DateOnly(2025, 10, 8); num2 = 1; List list124 = new List(num2); CollectionsMarshal.SetCount(list124, num2); - CollectionsMarshal.AsSpan(list124)[0] = new ChangeEntry(EChangeCategory.Fixed, "Fixed abandoned quest check logic if quest were MSQ"); - reference123 = new ChangelogEntry("6.14", releaseDate59, list124); - ref ChangelogEntry reference124 = ref span[59]; - DateOnly releaseDate60 = new DateOnly(2025, 10, 8); + CollectionsMarshal.AsSpan(list124)[0] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Deep Dungeon quest (Faerie Tale)"); + reference123 = new ChangelogEntry("6.16", releaseDate58, list124); + ref ChangelogEntry reference124 = ref span[58]; + DateOnly releaseDate59 = new DateOnly(2025, 10, 8); num2 = 2; List list125 = new List(num2); CollectionsMarshal.SetCount(list125, num2); - Span span62 = CollectionsMarshal.AsSpan(list125); - ref ChangeEntry reference125 = ref span62[0]; + Span span61 = CollectionsMarshal.AsSpan(list125); + span61[0] = new ChangeEntry(EChangeCategory.Changed, "Dalamud cleanup"); + span61[1] = new ChangeEntry(EChangeCategory.Fixed, "Fixed quest level requirement check log spam"); + reference124 = new ChangelogEntry("6.15", releaseDate59, list125); + ref ChangelogEntry reference125 = ref span[59]; + DateOnly releaseDate60 = new DateOnly(2025, 10, 8); + num2 = 1; + List list126 = new List(num2); + CollectionsMarshal.SetCount(list126, num2); + CollectionsMarshal.AsSpan(list126)[0] = new ChangeEntry(EChangeCategory.Fixed, "Fixed abandoned quest check logic if quest were MSQ"); + reference125 = new ChangelogEntry("6.14", releaseDate60, list126); + ref ChangelogEntry reference126 = ref span[60]; + DateOnly releaseDate61 = new DateOnly(2025, 10, 8); + num2 = 2; + List list127 = new List(num2); + CollectionsMarshal.SetCount(list127, num2); + Span span62 = CollectionsMarshal.AsSpan(list127); + ref ChangeEntry reference127 = ref span62[0]; num3 = 3; - List list126 = new List(num3); - CollectionsMarshal.SetCount(list126, num3); - Span span63 = CollectionsMarshal.AsSpan(list126); + List list128 = new List(num3); + CollectionsMarshal.SetCount(list128, num3); + Span span63 = CollectionsMarshal.AsSpan(list128); span63[0] = "Context menu option to add required quests and their chain to priority list"; span63[1] = "AetheryteShortcut to multiple quests"; span63[2] = "Artisan as a recommended plugin/dependency"; - reference125 = new ChangeEntry(EChangeCategory.Added, "Quest improvements", list126); + reference127 = new ChangeEntry(EChangeCategory.Added, "Quest improvements", list128); span62[1] = new ChangeEntry(EChangeCategory.Fixed, "Fixed abandoned quest check and priority list issues"); - reference124 = new ChangelogEntry("6.13", releaseDate60, list125); - ref ChangelogEntry reference126 = ref span[60]; - DateOnly releaseDate61 = new DateOnly(2025, 10, 7); + reference126 = new ChangelogEntry("6.13", releaseDate61, list127); + ref ChangelogEntry reference128 = ref span[61]; + DateOnly releaseDate62 = new DateOnly(2025, 10, 7); num2 = 4; - List list127 = new List(num2); - CollectionsMarshal.SetCount(list127, num2); - Span span64 = CollectionsMarshal.AsSpan(list127); - ref ChangeEntry reference127 = ref span64[0]; + List list129 = new List(num2); + CollectionsMarshal.SetCount(list129, num2); + Span span64 = CollectionsMarshal.AsSpan(list129); + ref ChangeEntry reference129 = ref span64[0]; num3 = 4; - List list128 = new List(num3); - CollectionsMarshal.SetCount(list128, num3); - Span span65 = CollectionsMarshal.AsSpan(list128); + List list130 = new List(num3); + CollectionsMarshal.SetCount(list130, num3); + Span span65 = CollectionsMarshal.AsSpan(list130); span65[0] = "FATE combat handling with auto level syncing"; span65[1] = "Start accepted quests from journal with 'Start as next quest'"; span65[2] = "Update quest tracking when quests are hidden or prioritised in game"; span65[3] = "QuestMap as a recommended plugin/dependency"; - reference127 = new ChangeEntry(EChangeCategory.Added, "FATE and quest tracking", list128); - ref ChangeEntry reference128 = ref span64[1]; + reference129 = new ChangeEntry(EChangeCategory.Added, "FATE and quest tracking", list130); + ref ChangeEntry reference130 = ref span64[1]; num3 = 3; - List list129 = new List(num3); - CollectionsMarshal.SetCount(list129, num3); - Span span66 = CollectionsMarshal.AsSpan(list129); + List list131 = new List(num3); + CollectionsMarshal.SetCount(list131, num3); + Span span66 = CollectionsMarshal.AsSpan(list131); span66[0] = "Always prioritise next quest during teleportation/zone transitions"; span66[1] = "Improved accepted quest logic with abandoned quest detection"; span66[2] = "Show quests without quest paths as Locked"; - reference128 = new ChangeEntry(EChangeCategory.Changed, "Quest prioritisation improvements", list129); + reference130 = new ChangeEntry(EChangeCategory.Changed, "Quest prioritisation improvements", list131); span64[2] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.35 Deep Dungeon, Hildibrand, Yok Huy, Monster Hunter Wilds Collab, and Doman Enclave quests"); span64[3] = new ChangeEntry(EChangeCategory.Fixed, "Fixed accepted/active quest display and Hildibrand quest issues"); - reference126 = new ChangelogEntry("6.12", releaseDate61, list127); - ref ChangelogEntry reference129 = ref span[61]; - DateOnly releaseDate62 = new DateOnly(2025, 10, 3); + reference128 = new ChangelogEntry("6.12", releaseDate62, list129); + ref ChangelogEntry reference131 = ref span[62]; + DateOnly releaseDate63 = new DateOnly(2025, 10, 3); num2 = 1; - List list130 = new List(num2); - CollectionsMarshal.SetCount(list130, num2); - CollectionsMarshal.AsSpan(list130)[0] = new ChangeEntry(EChangeCategory.Changed, "Added remaining checks for quest priority to prevent infinite teleport looping"); - reference129 = new ChangelogEntry("6.11", releaseDate62, list130); - ref ChangelogEntry reference130 = ref span[62]; - DateOnly releaseDate63 = new DateOnly(2025, 10, 2); - num2 = 1; - List list131 = new List(num2); - CollectionsMarshal.SetCount(list131, num2); - ref ChangeEntry reference131 = ref CollectionsMarshal.AsSpan(list131)[0]; - num3 = 2; - List list132 = new List(num3); - CollectionsMarshal.SetCount(list132, num3); - Span span67 = CollectionsMarshal.AsSpan(list132); - span67[0] = "Don't show quests as available if player doesn't meet level requirements"; - span67[1] = "Updated 'required for MSQ' text in Crystal Tower quest preset window"; - reference131 = new ChangeEntry(EChangeCategory.Changed, "Quest window improvements", list132); - reference130 = new ChangelogEntry("6.10", releaseDate63, list131); + List list132 = new List(num2); + CollectionsMarshal.SetCount(list132, num2); + CollectionsMarshal.AsSpan(list132)[0] = new ChangeEntry(EChangeCategory.Changed, "Added remaining checks for quest priority to prevent infinite teleport looping"); + reference131 = new ChangelogEntry("6.11", releaseDate63, list132); ref ChangelogEntry reference132 = ref span[63]; - DateOnly releaseDate64 = new DateOnly(2025, 9, 21); - num2 = 5; + DateOnly releaseDate64 = new DateOnly(2025, 10, 2); + num2 = 1; List list133 = new List(num2); CollectionsMarshal.SetCount(list133, num2); - Span span68 = CollectionsMarshal.AsSpan(list133); - ref ChangeEntry reference133 = ref span68[0]; - num3 = 4; + ref ChangeEntry reference133 = ref CollectionsMarshal.AsSpan(list133)[0]; + num3 = 2; List list134 = new List(num3); CollectionsMarshal.SetCount(list134, num3); - Span span69 = CollectionsMarshal.AsSpan(list134); + Span span67 = CollectionsMarshal.AsSpan(list134); + span67[0] = "Don't show quests as available if player doesn't meet level requirements"; + span67[1] = "Updated 'required for MSQ' text in Crystal Tower quest preset window"; + reference133 = new ChangeEntry(EChangeCategory.Changed, "Quest window improvements", list134); + reference132 = new ChangelogEntry("6.10", releaseDate64, list133); + ref ChangelogEntry reference134 = ref span[64]; + DateOnly releaseDate65 = new DateOnly(2025, 9, 21); + num2 = 5; + List list135 = new List(num2); + CollectionsMarshal.SetCount(list135, num2); + Span span68 = CollectionsMarshal.AsSpan(list135); + ref ChangeEntry reference135 = ref span68[0]; + num3 = 4; + List list136 = new List(num3); + CollectionsMarshal.SetCount(list136, num3); + Span span69 = CollectionsMarshal.AsSpan(list136); span69[0] = "Reworked event quest handling - automatically displays when events are active"; span69[1] = "Reworked journal system with improved filtering and display"; span69[2] = "Reworked Priority Quests tab (Manual Priority and Quest Presets)"; span69[3] = "Quest path viewer site (https://wigglymuffin.github.io/FFXIV-Tools/)"; - reference133 = new ChangeEntry(EChangeCategory.Added, "Major system reworks", list134); - ref ChangeEntry reference134 = ref span68[1]; + reference135 = new ChangeEntry(EChangeCategory.Added, "Major system reworks", list136); + ref ChangeEntry reference136 = ref span68[1]; num3 = 4; - List list135 = new List(num3); - CollectionsMarshal.SetCount(list135, num3); - Span span70 = CollectionsMarshal.AsSpan(list135); + List list137 = new List(num3); + CollectionsMarshal.SetCount(list137, num3); + Span span70 = CollectionsMarshal.AsSpan(list137); span70[0] = "Questionable.IsQuestCompleted"; span70[1] = "Questionable.IsQuestAvailable"; span70[2] = "Questionable.IsQuestAccepted"; span70[3] = "Questionable.IsQuestUnobtainable"; - reference134 = new ChangeEntry(EChangeCategory.Added, "New IPC commands", list135); - ref ChangeEntry reference135 = ref span68[2]; + reference136 = new ChangeEntry(EChangeCategory.Added, "New IPC commands", list137); + ref ChangeEntry reference137 = ref span68[2]; num3 = 5; - List list136 = new List(num3); - CollectionsMarshal.SetCount(list136, num3); - Span span71 = CollectionsMarshal.AsSpan(list136); + List list138 = new List(num3); + CollectionsMarshal.SetCount(list138, num3); + Span span71 = CollectionsMarshal.AsSpan(list138); span71[0] = "Improved JSON quest validation with specific error reasons"; span71[1] = "Added stop at sequence stop condition"; span71[2] = "Improved Pandora plugin conflict detection"; span71[3] = "Improved DialogueChoices regex matching"; span71[4] = "Improved refresh checker for all quest states"; - reference135 = new ChangeEntry(EChangeCategory.Changed, "Various improvements", list136); + reference137 = new ChangeEntry(EChangeCategory.Changed, "Various improvements", list138); span68[3] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added 7.31 Occult Crescent quests"); span68[4] = new ChangeEntry(EChangeCategory.Fixed, "Fixed cutscene crashes, Single Player Duty triggers, and various quest issues"); - reference132 = new ChangelogEntry("6.9", releaseDate64, list133); - ref ChangelogEntry reference136 = ref span[64]; - DateOnly releaseDate65 = new DateOnly(2025, 9, 2); + reference134 = new ChangelogEntry("6.9", releaseDate65, list135); + ref ChangelogEntry reference138 = ref span[65]; + DateOnly releaseDate66 = new DateOnly(2025, 9, 2); num2 = 4; - List list137 = new List(num2); - CollectionsMarshal.SetCount(list137, num2); - Span span72 = CollectionsMarshal.AsSpan(list137); - ref ChangeEntry reference137 = ref span72[0]; + List list139 = new List(num2); + CollectionsMarshal.SetCount(list139, num2); + Span span72 = CollectionsMarshal.AsSpan(list139); + ref ChangeEntry reference139 = ref span72[0]; num3 = 4; - List list138 = new List(num3); - CollectionsMarshal.SetCount(list138, num3); - Span span73 = CollectionsMarshal.AsSpan(list138); + List list140 = new List(num3); + CollectionsMarshal.SetCount(list140, num3); + Span span73 = CollectionsMarshal.AsSpan(list140); span73[0] = "Help commands and priority quest command"; span73[1] = "Prevent 'CompleteQuest' step setting"; span73[2] = "Duty counts and controls in 'Quest Battles' tab"; span73[3] = "'Refresh quest timer' setting (WIP)"; - reference137 = new ChangeEntry(EChangeCategory.Added, "Command and UI improvements", list138); + reference139 = new ChangeEntry(EChangeCategory.Added, "Command and UI improvements", list140); span72[1] = new ChangeEntry(EChangeCategory.Changed, "Improved 'Clear All' buttons to require CTRL being held"); span72[2] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added Zodiac quests and 7.31 Cosmic/Occult Crescent quests"); span72[3] = new ChangeEntry(EChangeCategory.Fixed, "Fixed Fishing for Friendship and Cosmic Exploration quests"); - reference136 = new ChangelogEntry("6.8", releaseDate65, list137); - ref ChangelogEntry reference138 = ref span[65]; - DateOnly releaseDate66 = new DateOnly(2025, 8, 27); - num2 = 4; - List list139 = new List(num2); - CollectionsMarshal.SetCount(list139, num2); - Span span74 = CollectionsMarshal.AsSpan(list139); - ref ChangeEntry reference139 = ref span74[0]; - num3 = 2; - List list140 = new List(num3); - CollectionsMarshal.SetCount(list140, num3); - Span span75 = CollectionsMarshal.AsSpan(list140); - span75[0] = "Icon to 'Clear All' button in stop conditions"; - span75[1] = "Duty counts and 'Enable All' button in 'Duties' tab"; - reference139 = new ChangeEntry(EChangeCategory.Added, "UI improvements", list140); - span74[1] = new ChangeEntry(EChangeCategory.Changed, "Renamed 'Clear' button to 'Clear All' in priority window"); - span74[2] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added Rising 2025 Event Quests"); - span74[3] = new ChangeEntry(EChangeCategory.Fixed, "Fixed clipboard assigning blacklist to whitelist in 'Duties' tab"); - reference138 = new ChangelogEntry("6.7", releaseDate66, list139); + reference138 = new ChangelogEntry("6.8", releaseDate66, list139); ref ChangelogEntry reference140 = ref span[66]; - DateOnly releaseDate67 = new DateOnly(2025, 8, 25); - num2 = 2; + DateOnly releaseDate67 = new DateOnly(2025, 8, 27); + num2 = 4; List list141 = new List(num2); CollectionsMarshal.SetCount(list141, num2); - Span span76 = CollectionsMarshal.AsSpan(list141); - ref ChangeEntry reference141 = ref span76[0]; + Span span74 = CollectionsMarshal.AsSpan(list141); + ref ChangeEntry reference141 = ref span74[0]; num3 = 2; List list142 = new List(num3); CollectionsMarshal.SetCount(list142, num3); - Span span77 = CollectionsMarshal.AsSpan(list142); - span77[0] = "Missing emotes to schema and emote handler"; - span77[1] = "Improved stop conditions with 'Clear All' button"; - reference141 = new ChangeEntry(EChangeCategory.Added, "Emote support and stop conditions", list142); - span76[1] = new ChangeEntry(EChangeCategory.Changed, "Stop at level functionality"); - reference140 = new ChangelogEntry("6.6", releaseDate67, list141); + Span span75 = CollectionsMarshal.AsSpan(list142); + span75[0] = "Icon to 'Clear All' button in stop conditions"; + span75[1] = "Duty counts and 'Enable All' button in 'Duties' tab"; + reference141 = new ChangeEntry(EChangeCategory.Added, "UI improvements", list142); + span74[1] = new ChangeEntry(EChangeCategory.Changed, "Renamed 'Clear' button to 'Clear All' in priority window"); + span74[2] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added Rising 2025 Event Quests"); + span74[3] = new ChangeEntry(EChangeCategory.Fixed, "Fixed clipboard assigning blacklist to whitelist in 'Duties' tab"); + reference140 = new ChangelogEntry("6.7", releaseDate67, list141); ref ChangelogEntry reference142 = ref span[67]; DateOnly releaseDate68 = new DateOnly(2025, 8, 25); num2 = 2; List list143 = new List(num2); CollectionsMarshal.SetCount(list143, num2); - Span span78 = CollectionsMarshal.AsSpan(list143); + Span span76 = CollectionsMarshal.AsSpan(list143); + ref ChangeEntry reference143 = ref span76[0]; + num3 = 2; + List list144 = new List(num3); + CollectionsMarshal.SetCount(list144, num3); + Span span77 = CollectionsMarshal.AsSpan(list144); + span77[0] = "Missing emotes to schema and emote handler"; + span77[1] = "Improved stop conditions with 'Clear All' button"; + reference143 = new ChangeEntry(EChangeCategory.Added, "Emote support and stop conditions", list144); + span76[1] = new ChangeEntry(EChangeCategory.Changed, "Stop at level functionality"); + reference142 = new ChangelogEntry("6.6", releaseDate68, list143); + ref ChangelogEntry reference144 = ref span[68]; + DateOnly releaseDate69 = new DateOnly(2025, 8, 25); + num2 = 2; + List list145 = new List(num2); + CollectionsMarshal.SetCount(list145, num2); + Span span78 = CollectionsMarshal.AsSpan(list145); span78[0] = new ChangeEntry(EChangeCategory.Fixed, "Potential fix to single/solo duties softlocking"); span78[1] = new ChangeEntry(EChangeCategory.QuestUpdates, "Added San d'Oria: The Second Walk and various side quests"); - reference142 = new ChangelogEntry("6.5", releaseDate68, list143); + reference144 = new ChangelogEntry("6.5", releaseDate69, list145); Changelogs = list; } } diff --git a/Questionable/Questionable.Windows.ConfigComponents/DebugConfigComponent.cs b/Questionable/Questionable.Windows.ConfigComponents/DebugConfigComponent.cs index 9e75e41..57b25dc 100644 --- a/Questionable/Questionable.Windows.ConfigComponents/DebugConfigComponent.cs +++ b/Questionable/Questionable.Windows.ConfigComponents/DebugConfigComponent.cs @@ -160,17 +160,6 @@ internal sealed class DebugConfigComponent : ConfigComponent { return string.Empty; } - string text = name.Substring(0, 1).ToUpperInvariant(); - string text2; - if (name.Length <= 1) - { - text2 = string.Empty; - } - else - { - string text3 = name; - text2 = text3.Substring(1, text3.Length - 1).ToLowerInvariant(); - } - return text + text2; + return name.Substring(0, 1).ToUpperInvariant() + ((name.Length > 1) ? name.Substring(1).ToLowerInvariant() : string.Empty); } } diff --git a/Questionable/Questionable.Windows.ConfigComponents/DutyConfigComponent.cs b/Questionable/Questionable.Windows.ConfigComponents/DutyConfigComponent.cs index 399d64f..c54bba9 100644 --- a/Questionable/Questionable.Windows.ConfigComponents/DutyConfigComponent.cs +++ b/Questionable/Questionable.Windows.ConfigComponents/DutyConfigComponent.cs @@ -475,16 +475,11 @@ internal sealed class DutyConfigComponent : ConfigComponent { base.Configuration.Duties.BlacklistedDutyCfcIds.Add(result2); } - if (!text3.StartsWith("M:", StringComparison.InvariantCulture)) + if (text3.StartsWith("M:", StringComparison.InvariantCulture)) { - continue; - } - ReadOnlySpan span = text3.AsSpan("M:".Length); - int num2 = span.IndexOf(':'); - if (num2 > 0 && uint.TryParse(span.Slice(0, num2), CultureInfo.InvariantCulture, out var result3)) - { - int num3 = num2 + 1; - if (int.TryParse(span.Slice(num3, span.Length - num3), CultureInfo.InvariantCulture, out var result4) && Enum.IsDefined(typeof(EDutyMode), result4)) + ReadOnlySpan span = text3.AsSpan("M:".Length); + int num2 = span.IndexOf(':'); + if (num2 > 0 && uint.TryParse(span.Slice(0, num2), CultureInfo.InvariantCulture, out var result3) && int.TryParse(span.Slice(num2 + 1), CultureInfo.InvariantCulture, out var result4) && Enum.IsDefined(typeof(EDutyMode), result4)) { base.Configuration.Duties.DutyModeOverrides[result3] = (EDutyMode)result4; } diff --git a/Questionable/Questionable.Windows.QuestComponents/ActiveQuestComponent.cs b/Questionable/Questionable.Windows.QuestComponents/ActiveQuestComponent.cs index e346762..355e544 100644 --- a/Questionable/Questionable.Windows.QuestComponents/ActiveQuestComponent.cs +++ b/Questionable/Questionable.Windows.QuestComponents/ActiveQuestComponent.cs @@ -61,7 +61,7 @@ internal sealed class ActiveQuestComponent public event EventHandler? Reload; [GeneratedRegex("\\s\\s+", RegexOptions.IgnoreCase, "en-US")] - [GeneratedCode("System.Text.RegularExpressions.Generator", "10.0.14.21808")] + [GeneratedCode("System.Text.RegularExpressions.Generator", "10.0.14.23019")] private static Regex MultipleWhitespaceRegex() { return _003CRegexGenerator_g_003EFBB8301322196CF81C64F1652C2FA6E1D6BF3907141F781E9D97ABED51BF056C4__MultipleWhitespaceRegex_0.Instance; diff --git a/Questionable/Questionable.Windows.QuestComponents/SavedPresetsComponent.cs b/Questionable/Questionable.Windows.QuestComponents/SavedPresetsComponent.cs index 4871f43..16828bb 100644 --- a/Questionable/Questionable.Windows.QuestComponents/SavedPresetsComponent.cs +++ b/Questionable/Questionable.Windows.QuestComponents/SavedPresetsComponent.cs @@ -519,9 +519,7 @@ internal sealed class SavedPresetsComponent string text = ImGui.GetClipboardText().Trim(); if (text.StartsWith("qst:preset:", StringComparison.InvariantCulture)) { - string text2 = text; - int length = "qst:preset:".Length; - string s = text2.Substring(length, text2.Length - length); + string s = text.Substring("qst:preset:".Length); return JsonConvert.DeserializeObject(Encoding.UTF8.GetString(Convert.FromBase64String(s))); } } @@ -538,9 +536,7 @@ internal sealed class SavedPresetsComponent string text = ImGui.GetClipboardText().Trim(); if (text.StartsWith("qst:presets:", StringComparison.InvariantCulture)) { - string text2 = text; - int length = "qst:presets:".Length; - string s = text2.Substring(length, text2.Length - length); + string s = text.Substring("qst:presets:".Length); return JsonConvert.DeserializeObject>(Encoding.UTF8.GetString(Convert.FromBase64String(s))); } } diff --git a/Questionable/Questionable.csproj b/Questionable/Questionable.csproj index 96e1f11..3b859d7 100644 --- a/Questionable/Questionable.csproj +++ b/Questionable/Questionable.csproj @@ -21,25 +21,25 @@ - ..\..\..\..\..\ffxiv\alyssile-xivl\addon\Hooks\dev\Dalamud.dll + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\dev\Dalamud.dll ..\..\LLib.dll - ..\..\..\..\..\ffxiv\alyssile-xivl\addon\Hooks\dev\FFXIVClientStructs.dll + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\dev\FFXIVClientStructs.dll ..\..\Questionable.Model.dll - ..\..\..\..\..\ffxiv\alyssile-xivl\addon\Hooks\dev\Newtonsoft.Json.dll + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\dev\Newtonsoft.Json.dll ..\..\Microsoft.Extensions.Logging.Abstractions.dll - ..\..\..\..\..\ffxiv\alyssile-xivl\addon\Hooks\dev\Serilog.dll + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\dev\Serilog.dll ..\..\Microsoft.Extensions.DependencyInjection.dll @@ -48,19 +48,19 @@ ..\..\Microsoft.Extensions.DependencyInjection.Abstractions.dll - ..\..\..\..\..\ffxiv\alyssile-xivl\addon\Hooks\dev\Dalamud.Bindings.ImGui.dll + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\dev\Dalamud.Bindings.ImGui.dll - ..\..\..\..\..\ffxiv\alyssile-xivl\addon\Hooks\dev\Lumina.Excel.dll + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\dev\Lumina.Excel.dll - ..\..\..\..\..\ffxiv\alyssile-xivl\addon\Hooks\dev\Lumina.dll + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\dev\Lumina.dll ..\..\JsonSchema.Net.dll - ..\..\..\..\..\ffxiv\alyssile-xivl\addon\Hooks\dev\InteropGenerator.Runtime.dll + C:\Users\Aly\AppData\Roaming\XIVLauncher\addon\Hooks\dev\InteropGenerator.Runtime.dll ..\..\Microsoft.Extensions.Logging.dll diff --git a/Questionable/Questionable/QuestionablePlugin.cs b/Questionable/Questionable/QuestionablePlugin.cs index fa286be..1ff5e5d 100644 --- a/Questionable/Questionable/QuestionablePlugin.cs +++ b/Questionable/Questionable/QuestionablePlugin.cs @@ -46,15 +46,7 @@ public sealed class QuestionablePlugin : IDalamudPlugin, IDisposable ServiceCollection serviceCollection = new ServiceCollection(); serviceCollection.AddLogging(delegate(ILoggingBuilder builder) { - builder.SetMinimumLevel(LogLevel.Trace).ClearProviders().AddProvider(new DalamudLoggerProvider(pluginLog, delegate(string t) - { - if (t == null) - { - return (string?)null; - } - int num = t.LastIndexOf('.') + 1; - return t.Substring(num, t.Length - num); - })); + builder.SetMinimumLevel(LogLevel.Trace).ClearProviders().AddProvider(new DalamudLoggerProvider(pluginLog, (string t) => t?.Substring(t.LastIndexOf('.') + 1))); }); ((IServiceCollection)serviceCollection).AddSingleton((IDalamudPlugin)this); serviceCollection.AddSingleton(pluginInterface); diff --git a/Questionable/System.Text.RegularExpressions.Generated/-RegexGenerator_g-FBB8301322196CF81C64F1652C2FA6E1D6BF3907141F781E9D97ABED51BF056C4__MultipleWhitespaceRegex_0.cs b/Questionable/System.Text.RegularExpressions.Generated/-RegexGenerator_g-FBB8301322196CF81C64F1652C2FA6E1D6BF3907141F781E9D97ABED51BF056C4__MultipleWhitespaceRegex_0.cs index 0e92731..79cac5c 100644 --- a/Questionable/System.Text.RegularExpressions.Generated/-RegexGenerator_g-FBB8301322196CF81C64F1652C2FA6E1D6BF3907141F781E9D97ABED51BF056C4__MultipleWhitespaceRegex_0.cs +++ b/Questionable/System.Text.RegularExpressions.Generated/-RegexGenerator_g-FBB8301322196CF81C64F1652C2FA6E1D6BF3907141F781E9D97ABED51BF056C4__MultipleWhitespaceRegex_0.cs @@ -3,7 +3,7 @@ using System.Runtime.CompilerServices; namespace System.Text.RegularExpressions.Generated; -[GeneratedCode("System.Text.RegularExpressions.Generator", "10.0.14.21808")] +[GeneratedCode("System.Text.RegularExpressions.Generator", "10.0.14.23019")] [SkipLocalsInit] internal sealed class _003CRegexGenerator_g_003EFBB8301322196CF81C64F1652C2FA6E1D6BF3907141F781E9D97ABED51BF056C4__MultipleWhitespaceRegex_0 : Regex { diff --git a/Questionable/System.Text.RegularExpressions.Generated/-RegexGenerator_g-FBB8301322196CF81C64F1652C2FA6E1D6BF3907141F781E9D97ABED51BF056C4__Utilities.cs b/Questionable/System.Text.RegularExpressions.Generated/-RegexGenerator_g-FBB8301322196CF81C64F1652C2FA6E1D6BF3907141F781E9D97ABED51BF056C4__Utilities.cs index 7a2aac4..85853d7 100644 --- a/Questionable/System.Text.RegularExpressions.Generated/-RegexGenerator_g-FBB8301322196CF81C64F1652C2FA6E1D6BF3907141F781E9D97ABED51BF056C4__Utilities.cs +++ b/Questionable/System.Text.RegularExpressions.Generated/-RegexGenerator_g-FBB8301322196CF81C64F1652C2FA6E1D6BF3907141F781E9D97ABED51BF056C4__Utilities.cs @@ -3,7 +3,7 @@ using System.CodeDom.Compiler; namespace System.Text.RegularExpressions.Generated; -[GeneratedCode("System.Text.RegularExpressions.Generator", "10.0.14.21808")] +[GeneratedCode("System.Text.RegularExpressions.Generator", "10.0.14.23019")] internal static class _003CRegexGenerator_g_003EFBB8301322196CF81C64F1652C2FA6E1D6BF3907141F781E9D97ABED51BF056C4__Utilities { internal static readonly TimeSpan s_defaultTimeout = ((AppContext.GetData("REGEX_DEFAULT_MATCH_TIMEOUT") is TimeSpan timeSpan) ? timeSpan : Regex.InfiniteMatchTimeout);