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