muffin v6.19
This commit is contained in:
parent
4f297245f2
commit
d8da668e38
10 changed files with 1212 additions and 122 deletions
|
@ -461833,7 +461833,15 @@ public static class AssemblyQuestLoader
|
||||||
span3[index2] = new QuestStep(EInteractionType.Interact, 1055817u, new Vector3(458.15198f, 114.935f, 657.3739f), 1187)
|
span3[index2] = new QuestStep(EInteractionType.Interact, 1055817u, new Vector3(458.15198f, 114.935f, 657.3739f), 1187)
|
||||||
{
|
{
|
||||||
Fly = true,
|
Fly = true,
|
||||||
Land = true
|
Land = true,
|
||||||
|
AetheryteShortcut = EAetheryteLocation.UrqopachaWorlarsEcho,
|
||||||
|
SkipConditions = new SkipConditions
|
||||||
|
{
|
||||||
|
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||||
|
{
|
||||||
|
InSameTerritory = true
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
obj145.Steps = list218;
|
obj145.Steps = list218;
|
||||||
reference164 = obj145;
|
reference164 = obj145;
|
||||||
|
@ -462417,6 +462425,916 @@ public static class AssemblyQuestLoader
|
||||||
reference190 = obj168;
|
reference190 = obj168;
|
||||||
questRoot30.QuestSequence = list247;
|
questRoot30.QuestSequence = list247;
|
||||||
AddQuest(questId30, questRoot30);
|
AddQuest(questId30, questRoot30);
|
||||||
|
QuestId questId31 = new QuestId(5343);
|
||||||
|
QuestRoot questRoot31 = new QuestRoot();
|
||||||
|
num = 1;
|
||||||
|
List<string> list253 = new List<string>(num);
|
||||||
|
CollectionsMarshal.SetCount(list253, num);
|
||||||
|
span = CollectionsMarshal.AsSpan(list253);
|
||||||
|
index = 0;
|
||||||
|
span[index] = "WigglyMuffin";
|
||||||
|
questRoot31.Author = list253;
|
||||||
|
index = 4;
|
||||||
|
List<QuestSequence> list254 = new List<QuestSequence>(index);
|
||||||
|
CollectionsMarshal.SetCount(list254, index);
|
||||||
|
span2 = CollectionsMarshal.AsSpan(list254);
|
||||||
|
num = 0;
|
||||||
|
ref QuestSequence reference191 = ref span2[num];
|
||||||
|
QuestSequence obj169 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 0
|
||||||
|
};
|
||||||
|
num2 = 1;
|
||||||
|
List<QuestStep> list255 = new List<QuestStep>(num2);
|
||||||
|
CollectionsMarshal.SetCount(list255, num2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list255);
|
||||||
|
index2 = 0;
|
||||||
|
span3[index2] = new QuestStep(EInteractionType.AcceptQuest, 1054635u, new Vector3(493.2173f, 142.24991f, 783.0471f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
AetheryteShortcut = EAetheryteLocation.UrqopachaWorlarsEcho,
|
||||||
|
SkipConditions = new SkipConditions
|
||||||
|
{
|
||||||
|
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||||
|
{
|
||||||
|
InSameTerritory = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
obj169.Steps = list255;
|
||||||
|
reference191 = obj169;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference192 = ref span2[num];
|
||||||
|
QuestSequence obj170 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 1
|
||||||
|
};
|
||||||
|
index2 = 3;
|
||||||
|
List<QuestStep> list256 = new List<QuestStep>(index2);
|
||||||
|
CollectionsMarshal.SetCount(list256, index2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list256);
|
||||||
|
num2 = 0;
|
||||||
|
ref QuestStep reference193 = ref span3[num2];
|
||||||
|
QuestStep obj171 = new QuestStep(EInteractionType.Interact, 1054640u, new Vector3(496.11658f, 142.24991f, 801.6022f), 1187)
|
||||||
|
{
|
||||||
|
TargetTerritoryId = (ushort)1297
|
||||||
|
};
|
||||||
|
SkipConditions skipConditions17 = new SkipConditions();
|
||||||
|
SkipStepConditions skipStepConditions16 = new SkipStepConditions();
|
||||||
|
index3 = 1;
|
||||||
|
List<ushort> list257 = new List<ushort>(index3);
|
||||||
|
CollectionsMarshal.SetCount(list257, index3);
|
||||||
|
span4 = CollectionsMarshal.AsSpan(list257);
|
||||||
|
num3 = 0;
|
||||||
|
span4[num3] = 1187;
|
||||||
|
skipStepConditions16.NotInTerritory = list257;
|
||||||
|
skipConditions17.StepIf = skipStepConditions16;
|
||||||
|
obj171.SkipConditions = skipConditions17;
|
||||||
|
reference193 = obj171;
|
||||||
|
num2++;
|
||||||
|
span3[num2] = new QuestStep(EInteractionType.WalkTo, null, new Vector3(52.610603f, 0f, 68.19062f), 1297)
|
||||||
|
{
|
||||||
|
Fly = false
|
||||||
|
};
|
||||||
|
num2++;
|
||||||
|
span3[num2] = new QuestStep(EInteractionType.Interact, 1055786u, new Vector3(97.24573f, 4.942853f, 198.19934f), 1297);
|
||||||
|
obj170.Steps = list256;
|
||||||
|
reference192 = obj170;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference194 = ref span2[num];
|
||||||
|
QuestSequence obj172 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 2
|
||||||
|
};
|
||||||
|
num2 = 3;
|
||||||
|
List<QuestStep> list258 = new List<QuestStep>(num2);
|
||||||
|
CollectionsMarshal.SetCount(list258, num2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list258);
|
||||||
|
index2 = 0;
|
||||||
|
ref QuestStep reference195 = ref span3[index2];
|
||||||
|
QuestStep obj173 = new QuestStep(EInteractionType.UseItem, 2014944u, new Vector3(162.2566f, 3.905f, 88.95158f), 1297)
|
||||||
|
{
|
||||||
|
ItemId = 2003777u
|
||||||
|
};
|
||||||
|
num3 = 6;
|
||||||
|
List<QuestWorkValue> list259 = new List<QuestWorkValue>(num3);
|
||||||
|
CollectionsMarshal.SetCount(list259, num3);
|
||||||
|
span7 = CollectionsMarshal.AsSpan(list259);
|
||||||
|
index3 = 0;
|
||||||
|
span7[index3] = null;
|
||||||
|
index3++;
|
||||||
|
span7[index3] = null;
|
||||||
|
index3++;
|
||||||
|
span7[index3] = null;
|
||||||
|
index3++;
|
||||||
|
span7[index3] = null;
|
||||||
|
index3++;
|
||||||
|
span7[index3] = null;
|
||||||
|
index3++;
|
||||||
|
span7[index3] = new QuestWorkValue((byte)8, null, EQuestWorkMode.Bitwise);
|
||||||
|
obj173.CompletionQuestVariablesFlags = list259;
|
||||||
|
reference195 = obj173;
|
||||||
|
index2++;
|
||||||
|
ref QuestStep reference196 = ref span3[index2];
|
||||||
|
QuestStep obj174 = new QuestStep(EInteractionType.UseItem, 2014946u, new Vector3(99.3091f, 5.821984f, 15.11211f), 1297)
|
||||||
|
{
|
||||||
|
ItemId = 2003777u
|
||||||
|
};
|
||||||
|
index3 = 6;
|
||||||
|
List<QuestWorkValue> list260 = new List<QuestWorkValue>(index3);
|
||||||
|
CollectionsMarshal.SetCount(list260, index3);
|
||||||
|
span7 = CollectionsMarshal.AsSpan(list260);
|
||||||
|
num3 = 0;
|
||||||
|
span7[num3] = null;
|
||||||
|
num3++;
|
||||||
|
span7[num3] = null;
|
||||||
|
num3++;
|
||||||
|
span7[num3] = null;
|
||||||
|
num3++;
|
||||||
|
span7[num3] = null;
|
||||||
|
num3++;
|
||||||
|
span7[num3] = null;
|
||||||
|
num3++;
|
||||||
|
span7[num3] = new QuestWorkValue((byte)10, null, EQuestWorkMode.Bitwise);
|
||||||
|
obj174.CompletionQuestVariablesFlags = list260;
|
||||||
|
reference196 = obj174;
|
||||||
|
index2++;
|
||||||
|
span3[index2] = new QuestStep(EInteractionType.UseItem, 2014945u, new Vector3(72.99576f, 3.579935f, 29.1846f), 1297)
|
||||||
|
{
|
||||||
|
ItemId = 2003777u
|
||||||
|
};
|
||||||
|
obj172.Steps = list258;
|
||||||
|
reference194 = obj172;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference197 = ref span2[num];
|
||||||
|
QuestSequence obj175 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = byte.MaxValue
|
||||||
|
};
|
||||||
|
index2 = 1;
|
||||||
|
List<QuestStep> list261 = new List<QuestStep>(index2);
|
||||||
|
CollectionsMarshal.SetCount(list261, index2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list261);
|
||||||
|
num2 = 0;
|
||||||
|
span3[num2] = new QuestStep(EInteractionType.CompleteQuest, 1054635u, new Vector3(493.2173f, 142.24991f, 783.0471f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
Land = true,
|
||||||
|
AetheryteShortcut = EAetheryteLocation.UrqopachaWorlarsEcho,
|
||||||
|
SkipConditions = new SkipConditions
|
||||||
|
{
|
||||||
|
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||||
|
{
|
||||||
|
InSameTerritory = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
obj175.Steps = list261;
|
||||||
|
reference197 = obj175;
|
||||||
|
questRoot31.QuestSequence = list254;
|
||||||
|
AddQuest(questId31, questRoot31);
|
||||||
|
QuestId questId32 = new QuestId(5344);
|
||||||
|
QuestRoot questRoot32 = new QuestRoot();
|
||||||
|
num = 1;
|
||||||
|
List<string> list262 = new List<string>(num);
|
||||||
|
CollectionsMarshal.SetCount(list262, num);
|
||||||
|
span = CollectionsMarshal.AsSpan(list262);
|
||||||
|
index = 0;
|
||||||
|
span[index] = "WigglyMuffin";
|
||||||
|
questRoot32.Author = list262;
|
||||||
|
index = 4;
|
||||||
|
List<QuestSequence> list263 = new List<QuestSequence>(index);
|
||||||
|
CollectionsMarshal.SetCount(list263, index);
|
||||||
|
span2 = CollectionsMarshal.AsSpan(list263);
|
||||||
|
num = 0;
|
||||||
|
ref QuestSequence reference198 = ref span2[num];
|
||||||
|
QuestSequence obj176 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 0
|
||||||
|
};
|
||||||
|
num2 = 1;
|
||||||
|
List<QuestStep> list264 = new List<QuestStep>(num2);
|
||||||
|
CollectionsMarshal.SetCount(list264, num2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list264);
|
||||||
|
index2 = 0;
|
||||||
|
span3[index2] = new QuestStep(EInteractionType.AcceptQuest, 1054635u, new Vector3(493.2173f, 142.24991f, 783.0471f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
AetheryteShortcut = EAetheryteLocation.UrqopachaWorlarsEcho,
|
||||||
|
SkipConditions = new SkipConditions
|
||||||
|
{
|
||||||
|
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||||
|
{
|
||||||
|
InSameTerritory = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
obj176.Steps = list264;
|
||||||
|
reference198 = obj176;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference199 = ref span2[num];
|
||||||
|
QuestSequence obj177 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 1
|
||||||
|
};
|
||||||
|
index2 = 1;
|
||||||
|
List<QuestStep> list265 = new List<QuestStep>(index2);
|
||||||
|
CollectionsMarshal.SetCount(list265, index2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list265);
|
||||||
|
num2 = 0;
|
||||||
|
span3[num2] = new QuestStep(EInteractionType.Interact, 1055787u, new Vector3(521.8126f, 111.135f, 713.4049f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
AetheryteShortcut = EAetheryteLocation.UrqopachaWorlarsEcho,
|
||||||
|
SkipConditions = new SkipConditions
|
||||||
|
{
|
||||||
|
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||||
|
{
|
||||||
|
InSameTerritory = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
obj177.Steps = list265;
|
||||||
|
reference199 = obj177;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference200 = ref span2[num];
|
||||||
|
QuestSequence obj178 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 2
|
||||||
|
};
|
||||||
|
num2 = 2;
|
||||||
|
List<QuestStep> list266 = new List<QuestStep>(num2);
|
||||||
|
CollectionsMarshal.SetCount(list266, num2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list266);
|
||||||
|
index2 = 0;
|
||||||
|
span3[index2] = new QuestStep(EInteractionType.Craft, null, null, 1187)
|
||||||
|
{
|
||||||
|
ItemId = 46220u,
|
||||||
|
ItemCount = 1
|
||||||
|
};
|
||||||
|
index2++;
|
||||||
|
span3[index2] = new QuestStep(EInteractionType.Interact, 1055787u, new Vector3(521.8126f, 111.135f, 713.4049f), 1187);
|
||||||
|
obj178.Steps = list266;
|
||||||
|
reference200 = obj178;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference201 = ref span2[num];
|
||||||
|
QuestSequence obj179 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = byte.MaxValue
|
||||||
|
};
|
||||||
|
index2 = 1;
|
||||||
|
List<QuestStep> list267 = new List<QuestStep>(index2);
|
||||||
|
CollectionsMarshal.SetCount(list267, index2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list267);
|
||||||
|
num2 = 0;
|
||||||
|
span3[num2] = new QuestStep(EInteractionType.CompleteQuest, 1054635u, new Vector3(493.2173f, 142.24991f, 783.0471f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true
|
||||||
|
};
|
||||||
|
obj179.Steps = list267;
|
||||||
|
reference201 = obj179;
|
||||||
|
questRoot32.QuestSequence = list263;
|
||||||
|
AddQuest(questId32, questRoot32);
|
||||||
|
QuestId questId33 = new QuestId(5345);
|
||||||
|
QuestRoot questRoot33 = new QuestRoot();
|
||||||
|
num = 1;
|
||||||
|
List<string> list268 = new List<string>(num);
|
||||||
|
CollectionsMarshal.SetCount(list268, num);
|
||||||
|
span = CollectionsMarshal.AsSpan(list268);
|
||||||
|
index = 0;
|
||||||
|
span[index] = "CryoTechnic";
|
||||||
|
questRoot33.Author = list268;
|
||||||
|
index = 4;
|
||||||
|
List<QuestSequence> list269 = new List<QuestSequence>(index);
|
||||||
|
CollectionsMarshal.SetCount(list269, index);
|
||||||
|
span2 = CollectionsMarshal.AsSpan(list269);
|
||||||
|
num = 0;
|
||||||
|
ref QuestSequence reference202 = ref span2[num];
|
||||||
|
QuestSequence obj180 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 0
|
||||||
|
};
|
||||||
|
num2 = 1;
|
||||||
|
List<QuestStep> list270 = new List<QuestStep>(num2);
|
||||||
|
CollectionsMarshal.SetCount(list270, num2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list270);
|
||||||
|
index2 = 0;
|
||||||
|
span3[index2] = new QuestStep(EInteractionType.AcceptQuest, 1054635u, new Vector3(493.2173f, 142.24991f, 783.0471f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
AetheryteShortcut = EAetheryteLocation.UrqopachaWorlarsEcho,
|
||||||
|
SkipConditions = new SkipConditions
|
||||||
|
{
|
||||||
|
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||||
|
{
|
||||||
|
InSameTerritory = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
obj180.Steps = list270;
|
||||||
|
reference202 = obj180;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference203 = ref span2[num];
|
||||||
|
QuestSequence obj181 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 1
|
||||||
|
};
|
||||||
|
index2 = 2;
|
||||||
|
List<QuestStep> list271 = new List<QuestStep>(index2);
|
||||||
|
CollectionsMarshal.SetCount(list271, index2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list271);
|
||||||
|
num2 = 0;
|
||||||
|
ref QuestStep reference204 = ref span3[num2];
|
||||||
|
QuestStep obj182 = new QuestStep(EInteractionType.Interact, 1054640u, new Vector3(496.11658f, 142.24991f, 801.6022f), 1187)
|
||||||
|
{
|
||||||
|
TargetTerritoryId = (ushort)1297
|
||||||
|
};
|
||||||
|
SkipConditions skipConditions18 = new SkipConditions();
|
||||||
|
SkipStepConditions skipStepConditions17 = new SkipStepConditions();
|
||||||
|
num3 = 1;
|
||||||
|
List<ushort> list272 = new List<ushort>(num3);
|
||||||
|
CollectionsMarshal.SetCount(list272, num3);
|
||||||
|
span4 = CollectionsMarshal.AsSpan(list272);
|
||||||
|
index3 = 0;
|
||||||
|
span4[index3] = 1187;
|
||||||
|
skipStepConditions17.NotInTerritory = list272;
|
||||||
|
skipConditions18.StepIf = skipStepConditions17;
|
||||||
|
obj182.SkipConditions = skipConditions18;
|
||||||
|
reference204 = obj182;
|
||||||
|
num2++;
|
||||||
|
span3[num2] = new QuestStep(EInteractionType.Interact, 1055788u, new Vector3(97.8866f, 4.942851f, 160.66211f), 1297);
|
||||||
|
obj181.Steps = list271;
|
||||||
|
reference203 = obj181;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference205 = ref span2[num];
|
||||||
|
QuestSequence obj183 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 2
|
||||||
|
};
|
||||||
|
num2 = 2;
|
||||||
|
List<QuestStep> list273 = new List<QuestStep>(num2);
|
||||||
|
CollectionsMarshal.SetCount(list273, num2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list273);
|
||||||
|
index2 = 0;
|
||||||
|
span3[index2] = new QuestStep(EInteractionType.Craft, null, null, 1297)
|
||||||
|
{
|
||||||
|
ItemId = 46222u,
|
||||||
|
ItemCount = 4
|
||||||
|
};
|
||||||
|
index2++;
|
||||||
|
span3[index2] = new QuestStep(EInteractionType.Interact, 1055788u, new Vector3(97.8866f, 4.942851f, 160.66211f), 1297);
|
||||||
|
obj183.Steps = list273;
|
||||||
|
reference205 = obj183;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference206 = ref span2[num];
|
||||||
|
QuestSequence obj184 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = byte.MaxValue
|
||||||
|
};
|
||||||
|
index2 = 1;
|
||||||
|
List<QuestStep> list274 = new List<QuestStep>(index2);
|
||||||
|
CollectionsMarshal.SetCount(list274, index2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list274);
|
||||||
|
num2 = 0;
|
||||||
|
span3[num2] = new QuestStep(EInteractionType.CompleteQuest, 1054635u, new Vector3(493.2173f, 142.24991f, 783.0471f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
Land = true,
|
||||||
|
AetheryteShortcut = EAetheryteLocation.UrqopachaWorlarsEcho,
|
||||||
|
SkipConditions = new SkipConditions
|
||||||
|
{
|
||||||
|
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||||
|
{
|
||||||
|
InSameTerritory = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
obj184.Steps = list274;
|
||||||
|
reference206 = obj184;
|
||||||
|
questRoot33.QuestSequence = list269;
|
||||||
|
AddQuest(questId33, questRoot33);
|
||||||
|
QuestId questId34 = new QuestId(5346);
|
||||||
|
QuestRoot questRoot34 = new QuestRoot();
|
||||||
|
num = 1;
|
||||||
|
List<string> list275 = new List<string>(num);
|
||||||
|
CollectionsMarshal.SetCount(list275, num);
|
||||||
|
span = CollectionsMarshal.AsSpan(list275);
|
||||||
|
index = 0;
|
||||||
|
span[index] = "WigglyMuffin";
|
||||||
|
questRoot34.Author = list275;
|
||||||
|
index = 3;
|
||||||
|
List<QuestSequence> list276 = new List<QuestSequence>(index);
|
||||||
|
CollectionsMarshal.SetCount(list276, index);
|
||||||
|
span2 = CollectionsMarshal.AsSpan(list276);
|
||||||
|
num = 0;
|
||||||
|
ref QuestSequence reference207 = ref span2[num];
|
||||||
|
QuestSequence obj185 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 0
|
||||||
|
};
|
||||||
|
num2 = 1;
|
||||||
|
List<QuestStep> list277 = new List<QuestStep>(num2);
|
||||||
|
CollectionsMarshal.SetCount(list277, num2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list277);
|
||||||
|
index2 = 0;
|
||||||
|
span3[index2] = new QuestStep(EInteractionType.AcceptQuest, 1054635u, new Vector3(493.2173f, 142.24991f, 783.0471f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
AetheryteShortcut = EAetheryteLocation.UrqopachaWorlarsEcho,
|
||||||
|
SkipConditions = new SkipConditions
|
||||||
|
{
|
||||||
|
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||||
|
{
|
||||||
|
InSameTerritory = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
obj185.Steps = list277;
|
||||||
|
reference207 = obj185;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference208 = ref span2[num];
|
||||||
|
QuestSequence obj186 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 1
|
||||||
|
};
|
||||||
|
index2 = 4;
|
||||||
|
List<QuestStep> list278 = new List<QuestStep>(index2);
|
||||||
|
CollectionsMarshal.SetCount(list278, index2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list278);
|
||||||
|
num2 = 0;
|
||||||
|
ref QuestStep reference209 = ref span3[num2];
|
||||||
|
QuestStep obj187 = new QuestStep(EInteractionType.Emote, 1055796u, new Vector3(-486.8086f, 60.107265f, 138.56714f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
Emote = EEmote.Poke
|
||||||
|
};
|
||||||
|
index3 = 6;
|
||||||
|
List<List<QuestWorkValue>> list279 = new List<List<QuestWorkValue>>(index3);
|
||||||
|
CollectionsMarshal.SetCount(list279, index3);
|
||||||
|
span8 = CollectionsMarshal.AsSpan(list279);
|
||||||
|
num3 = 0;
|
||||||
|
span8[num3] = null;
|
||||||
|
num3++;
|
||||||
|
ref List<QuestWorkValue> reference210 = ref span8[num3];
|
||||||
|
index4 = 1;
|
||||||
|
List<QuestWorkValue> list280 = new List<QuestWorkValue>(index4);
|
||||||
|
CollectionsMarshal.SetCount(list280, index4);
|
||||||
|
span7 = CollectionsMarshal.AsSpan(list280);
|
||||||
|
num4 = 0;
|
||||||
|
span7[num4] = new QuestWorkValue((byte)3, null, EQuestWorkMode.Bitwise);
|
||||||
|
reference210 = list280;
|
||||||
|
num3++;
|
||||||
|
span8[num3] = null;
|
||||||
|
num3++;
|
||||||
|
span8[num3] = null;
|
||||||
|
num3++;
|
||||||
|
span8[num3] = null;
|
||||||
|
num3++;
|
||||||
|
span8[num3] = null;
|
||||||
|
obj187.RequiredQuestVariables = list279;
|
||||||
|
reference209 = obj187;
|
||||||
|
num2++;
|
||||||
|
ref QuestStep reference211 = ref span3[num2];
|
||||||
|
QuestStep obj188 = new QuestStep(EInteractionType.Emote, 1055797u, new Vector3(-195.02557f, 40.181572f, 15.518433f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
AetheryteShortcut = EAetheryteLocation.UrqopachaWachunpelo,
|
||||||
|
Emote = EEmote.Poke,
|
||||||
|
SkipConditions = new SkipConditions
|
||||||
|
{
|
||||||
|
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||||
|
{
|
||||||
|
NearPosition = new NearPositionCondition
|
||||||
|
{
|
||||||
|
Position = new Vector3(-203.61337f, 40.316097f, 6.7655187f),
|
||||||
|
MaximumDistance = 500f,
|
||||||
|
TerritoryId = 1187
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
num3 = 6;
|
||||||
|
List<List<QuestWorkValue>> list281 = new List<List<QuestWorkValue>>(num3);
|
||||||
|
CollectionsMarshal.SetCount(list281, num3);
|
||||||
|
span8 = CollectionsMarshal.AsSpan(list281);
|
||||||
|
index3 = 0;
|
||||||
|
span8[index3] = null;
|
||||||
|
index3++;
|
||||||
|
ref List<QuestWorkValue> reference212 = ref span8[index3];
|
||||||
|
num4 = 1;
|
||||||
|
List<QuestWorkValue> list282 = new List<QuestWorkValue>(num4);
|
||||||
|
CollectionsMarshal.SetCount(list282, num4);
|
||||||
|
span7 = CollectionsMarshal.AsSpan(list282);
|
||||||
|
index4 = 0;
|
||||||
|
span7[index4] = new QuestWorkValue((byte)1, null, EQuestWorkMode.Bitwise);
|
||||||
|
reference212 = list282;
|
||||||
|
index3++;
|
||||||
|
span8[index3] = null;
|
||||||
|
index3++;
|
||||||
|
span8[index3] = null;
|
||||||
|
index3++;
|
||||||
|
span8[index3] = null;
|
||||||
|
index3++;
|
||||||
|
span8[index3] = null;
|
||||||
|
obj188.RequiredQuestVariables = list281;
|
||||||
|
reference211 = obj188;
|
||||||
|
num2++;
|
||||||
|
ref QuestStep reference213 = ref span3[num2];
|
||||||
|
QuestStep obj189 = new QuestStep(EInteractionType.Emote, 1055798u, new Vector3(-434.40912f, 118.59887f, 553.8567f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
Emote = EEmote.Poke
|
||||||
|
};
|
||||||
|
index3 = 6;
|
||||||
|
List<List<QuestWorkValue>> list283 = new List<List<QuestWorkValue>>(index3);
|
||||||
|
CollectionsMarshal.SetCount(list283, index3);
|
||||||
|
span8 = CollectionsMarshal.AsSpan(list283);
|
||||||
|
num3 = 0;
|
||||||
|
span8[num3] = null;
|
||||||
|
num3++;
|
||||||
|
ref List<QuestWorkValue> reference214 = ref span8[num3];
|
||||||
|
index4 = 1;
|
||||||
|
List<QuestWorkValue> list284 = new List<QuestWorkValue>(index4);
|
||||||
|
CollectionsMarshal.SetCount(list284, index4);
|
||||||
|
span7 = CollectionsMarshal.AsSpan(list284);
|
||||||
|
num4 = 0;
|
||||||
|
span7[num4] = new QuestWorkValue((byte)4, null, EQuestWorkMode.Bitwise);
|
||||||
|
reference214 = list284;
|
||||||
|
num3++;
|
||||||
|
span8[num3] = null;
|
||||||
|
num3++;
|
||||||
|
span8[num3] = null;
|
||||||
|
num3++;
|
||||||
|
span8[num3] = null;
|
||||||
|
num3++;
|
||||||
|
span8[num3] = null;
|
||||||
|
obj189.RequiredQuestVariables = list283;
|
||||||
|
reference213 = obj189;
|
||||||
|
num2++;
|
||||||
|
ref QuestStep reference215 = ref span3[num2];
|
||||||
|
QuestStep obj190 = new QuestStep(EInteractionType.Emote, 1055789u, new Vector3(509.69702f, 111.134995f, 693.78186f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
Emote = EEmote.Poke
|
||||||
|
};
|
||||||
|
num3 = 6;
|
||||||
|
List<List<QuestWorkValue>> list285 = new List<List<QuestWorkValue>>(num3);
|
||||||
|
CollectionsMarshal.SetCount(list285, num3);
|
||||||
|
span8 = CollectionsMarshal.AsSpan(list285);
|
||||||
|
index3 = 0;
|
||||||
|
span8[index3] = null;
|
||||||
|
index3++;
|
||||||
|
ref List<QuestWorkValue> reference216 = ref span8[index3];
|
||||||
|
num4 = 1;
|
||||||
|
List<QuestWorkValue> list286 = new List<QuestWorkValue>(num4);
|
||||||
|
CollectionsMarshal.SetCount(list286, num4);
|
||||||
|
span7 = CollectionsMarshal.AsSpan(list286);
|
||||||
|
index4 = 0;
|
||||||
|
span7[index4] = new QuestWorkValue((byte)2, null, EQuestWorkMode.Bitwise);
|
||||||
|
reference216 = list286;
|
||||||
|
index3++;
|
||||||
|
span8[index3] = null;
|
||||||
|
index3++;
|
||||||
|
span8[index3] = null;
|
||||||
|
index3++;
|
||||||
|
span8[index3] = null;
|
||||||
|
index3++;
|
||||||
|
span8[index3] = null;
|
||||||
|
obj190.RequiredQuestVariables = list285;
|
||||||
|
reference215 = obj190;
|
||||||
|
obj186.Steps = list278;
|
||||||
|
reference208 = obj186;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference217 = ref span2[num];
|
||||||
|
QuestSequence obj191 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = byte.MaxValue
|
||||||
|
};
|
||||||
|
num2 = 1;
|
||||||
|
List<QuestStep> list287 = new List<QuestStep>(num2);
|
||||||
|
CollectionsMarshal.SetCount(list287, num2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list287);
|
||||||
|
index2 = 0;
|
||||||
|
span3[index2] = new QuestStep(EInteractionType.CompleteQuest, 1054635u, new Vector3(493.2173f, 142.24991f, 783.0471f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
AetheryteShortcut = EAetheryteLocation.UrqopachaWorlarsEcho
|
||||||
|
};
|
||||||
|
obj191.Steps = list287;
|
||||||
|
reference217 = obj191;
|
||||||
|
questRoot34.QuestSequence = list276;
|
||||||
|
AddQuest(questId34, questRoot34);
|
||||||
|
QuestId questId35 = new QuestId(5347);
|
||||||
|
QuestRoot questRoot35 = new QuestRoot();
|
||||||
|
num = 1;
|
||||||
|
List<string> list288 = new List<string>(num);
|
||||||
|
CollectionsMarshal.SetCount(list288, num);
|
||||||
|
span = CollectionsMarshal.AsSpan(list288);
|
||||||
|
index = 0;
|
||||||
|
span[index] = "CryoTechnic";
|
||||||
|
questRoot35.Author = list288;
|
||||||
|
index = 4;
|
||||||
|
List<QuestSequence> list289 = new List<QuestSequence>(index);
|
||||||
|
CollectionsMarshal.SetCount(list289, index);
|
||||||
|
span2 = CollectionsMarshal.AsSpan(list289);
|
||||||
|
num = 0;
|
||||||
|
ref QuestSequence reference218 = ref span2[num];
|
||||||
|
QuestSequence obj192 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 0
|
||||||
|
};
|
||||||
|
index2 = 1;
|
||||||
|
List<QuestStep> list290 = new List<QuestStep>(index2);
|
||||||
|
CollectionsMarshal.SetCount(list290, index2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list290);
|
||||||
|
num2 = 0;
|
||||||
|
span3[num2] = new QuestStep(EInteractionType.AcceptQuest, 1054635u, new Vector3(493.2173f, 142.24991f, 783.0471f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
AetheryteShortcut = EAetheryteLocation.UrqopachaWorlarsEcho,
|
||||||
|
SkipConditions = new SkipConditions
|
||||||
|
{
|
||||||
|
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||||
|
{
|
||||||
|
InSameTerritory = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
obj192.Steps = list290;
|
||||||
|
reference218 = obj192;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference219 = ref span2[num];
|
||||||
|
QuestSequence obj193 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 1
|
||||||
|
};
|
||||||
|
num2 = 2;
|
||||||
|
List<QuestStep> list291 = new List<QuestStep>(num2);
|
||||||
|
CollectionsMarshal.SetCount(list291, num2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list291);
|
||||||
|
index2 = 0;
|
||||||
|
ref QuestStep reference220 = ref span3[index2];
|
||||||
|
QuestStep obj194 = new QuestStep(EInteractionType.Interact, 1054640u, new Vector3(496.11658f, 142.24991f, 801.6022f), 1187)
|
||||||
|
{
|
||||||
|
TargetTerritoryId = (ushort)1297
|
||||||
|
};
|
||||||
|
SkipConditions skipConditions19 = new SkipConditions();
|
||||||
|
SkipStepConditions skipStepConditions18 = new SkipStepConditions();
|
||||||
|
index3 = 1;
|
||||||
|
List<ushort> list292 = new List<ushort>(index3);
|
||||||
|
CollectionsMarshal.SetCount(list292, index3);
|
||||||
|
span4 = CollectionsMarshal.AsSpan(list292);
|
||||||
|
num3 = 0;
|
||||||
|
span4[num3] = 1187;
|
||||||
|
skipStepConditions18.NotInTerritory = list292;
|
||||||
|
skipConditions19.StepIf = skipStepConditions18;
|
||||||
|
obj194.SkipConditions = skipConditions19;
|
||||||
|
reference220 = obj194;
|
||||||
|
index2++;
|
||||||
|
span3[index2] = new QuestStep(EInteractionType.Interact, 1055790u, new Vector3(124.98657f, 3.9429288f, 184.6189f), 1297);
|
||||||
|
obj193.Steps = list291;
|
||||||
|
reference219 = obj193;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference221 = ref span2[num];
|
||||||
|
QuestSequence obj195 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 2
|
||||||
|
};
|
||||||
|
index2 = 2;
|
||||||
|
List<QuestStep> list293 = new List<QuestStep>(index2);
|
||||||
|
CollectionsMarshal.SetCount(list293, index2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list293);
|
||||||
|
num2 = 0;
|
||||||
|
span3[num2] = new QuestStep(EInteractionType.Craft, null, null, 1297)
|
||||||
|
{
|
||||||
|
ItemId = 46224u,
|
||||||
|
ItemCount = 2
|
||||||
|
};
|
||||||
|
num2++;
|
||||||
|
span3[num2] = new QuestStep(EInteractionType.Interact, 1055790u, new Vector3(124.98657f, 3.9429288f, 184.6189f), 1297);
|
||||||
|
obj195.Steps = list293;
|
||||||
|
reference221 = obj195;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference222 = ref span2[num];
|
||||||
|
QuestSequence obj196 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = byte.MaxValue
|
||||||
|
};
|
||||||
|
num2 = 1;
|
||||||
|
List<QuestStep> list294 = new List<QuestStep>(num2);
|
||||||
|
CollectionsMarshal.SetCount(list294, num2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list294);
|
||||||
|
index2 = 0;
|
||||||
|
span3[index2] = new QuestStep(EInteractionType.CompleteQuest, 1054635u, new Vector3(493.2173f, 142.24991f, 783.0471f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
Land = true,
|
||||||
|
AetheryteShortcut = EAetheryteLocation.UrqopachaWorlarsEcho,
|
||||||
|
SkipConditions = new SkipConditions
|
||||||
|
{
|
||||||
|
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||||
|
{
|
||||||
|
InSameTerritory = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
obj196.Steps = list294;
|
||||||
|
reference222 = obj196;
|
||||||
|
questRoot35.QuestSequence = list289;
|
||||||
|
AddQuest(questId35, questRoot35);
|
||||||
|
QuestId questId36 = new QuestId(5348);
|
||||||
|
QuestRoot questRoot36 = new QuestRoot();
|
||||||
|
num = 1;
|
||||||
|
List<string> list295 = new List<string>(num);
|
||||||
|
CollectionsMarshal.SetCount(list295, num);
|
||||||
|
span = CollectionsMarshal.AsSpan(list295);
|
||||||
|
index = 0;
|
||||||
|
span[index] = "CryoTechnic";
|
||||||
|
questRoot36.Author = list295;
|
||||||
|
index = 3;
|
||||||
|
List<QuestSequence> list296 = new List<QuestSequence>(index);
|
||||||
|
CollectionsMarshal.SetCount(list296, index);
|
||||||
|
span2 = CollectionsMarshal.AsSpan(list296);
|
||||||
|
num = 0;
|
||||||
|
ref QuestSequence reference223 = ref span2[num];
|
||||||
|
QuestSequence obj197 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 0
|
||||||
|
};
|
||||||
|
index2 = 1;
|
||||||
|
List<QuestStep> list297 = new List<QuestStep>(index2);
|
||||||
|
CollectionsMarshal.SetCount(list297, index2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list297);
|
||||||
|
num2 = 0;
|
||||||
|
span3[num2] = new QuestStep(EInteractionType.AcceptQuest, 1054635u, new Vector3(493.2173f, 142.24991f, 783.0471f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
AetheryteShortcut = EAetheryteLocation.UrqopachaWorlarsEcho,
|
||||||
|
SkipConditions = new SkipConditions
|
||||||
|
{
|
||||||
|
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||||
|
{
|
||||||
|
InSameTerritory = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
obj197.Steps = list297;
|
||||||
|
reference223 = obj197;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference224 = ref span2[num];
|
||||||
|
QuestSequence obj198 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 1
|
||||||
|
};
|
||||||
|
num2 = 1;
|
||||||
|
List<QuestStep> list298 = new List<QuestStep>(num2);
|
||||||
|
CollectionsMarshal.SetCount(list298, num2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list298);
|
||||||
|
index2 = 0;
|
||||||
|
span3[index2] = new QuestStep(EInteractionType.Interact, 1054676u, new Vector3(500.93835f, 142.24991f, 782.22314f), 1187);
|
||||||
|
obj198.Steps = list298;
|
||||||
|
reference224 = obj198;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference225 = ref span2[num];
|
||||||
|
QuestSequence obj199 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = byte.MaxValue
|
||||||
|
};
|
||||||
|
index2 = 2;
|
||||||
|
List<QuestStep> list299 = new List<QuestStep>(index2);
|
||||||
|
CollectionsMarshal.SetCount(list299, index2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list299);
|
||||||
|
num2 = 0;
|
||||||
|
span3[num2] = new QuestStep(EInteractionType.Craft, null, null, 1187)
|
||||||
|
{
|
||||||
|
ItemId = 46226u,
|
||||||
|
ItemCount = 1
|
||||||
|
};
|
||||||
|
num2++;
|
||||||
|
span3[num2] = new QuestStep(EInteractionType.CompleteQuest, 1054635u, new Vector3(493.2173f, 142.24991f, 783.0471f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
Land = true,
|
||||||
|
AetheryteShortcut = EAetheryteLocation.UrqopachaWorlarsEcho,
|
||||||
|
SkipConditions = new SkipConditions
|
||||||
|
{
|
||||||
|
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||||
|
{
|
||||||
|
InSameTerritory = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
obj199.Steps = list299;
|
||||||
|
reference225 = obj199;
|
||||||
|
questRoot36.QuestSequence = list296;
|
||||||
|
AddQuest(questId36, questRoot36);
|
||||||
|
QuestId questId37 = new QuestId(5349);
|
||||||
|
QuestRoot questRoot37 = new QuestRoot();
|
||||||
|
num = 1;
|
||||||
|
List<string> list300 = new List<string>(num);
|
||||||
|
CollectionsMarshal.SetCount(list300, num);
|
||||||
|
span = CollectionsMarshal.AsSpan(list300);
|
||||||
|
index = 0;
|
||||||
|
span[index] = "CryoTechnic";
|
||||||
|
questRoot37.Author = list300;
|
||||||
|
index = 3;
|
||||||
|
List<QuestSequence> list301 = new List<QuestSequence>(index);
|
||||||
|
CollectionsMarshal.SetCount(list301, index);
|
||||||
|
span2 = CollectionsMarshal.AsSpan(list301);
|
||||||
|
num = 0;
|
||||||
|
ref QuestSequence reference226 = ref span2[num];
|
||||||
|
QuestSequence obj200 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 0
|
||||||
|
};
|
||||||
|
num2 = 1;
|
||||||
|
List<QuestStep> list302 = new List<QuestStep>(num2);
|
||||||
|
CollectionsMarshal.SetCount(list302, num2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list302);
|
||||||
|
index2 = 0;
|
||||||
|
span3[index2] = new QuestStep(EInteractionType.AcceptQuest, 1054635u, new Vector3(493.2173f, 142.24991f, 783.0471f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
AetheryteShortcut = EAetheryteLocation.UrqopachaWorlarsEcho,
|
||||||
|
SkipConditions = new SkipConditions
|
||||||
|
{
|
||||||
|
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||||
|
{
|
||||||
|
InSameTerritory = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
obj200.Steps = list302;
|
||||||
|
reference226 = obj200;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference227 = ref span2[num];
|
||||||
|
QuestSequence obj201 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = 1
|
||||||
|
};
|
||||||
|
index2 = 3;
|
||||||
|
List<QuestStep> list303 = new List<QuestStep>(index2);
|
||||||
|
CollectionsMarshal.SetCount(list303, index2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list303);
|
||||||
|
num2 = 0;
|
||||||
|
span3[num2] = new QuestStep(EInteractionType.Say, 1055825u, new Vector3(254.56616f, 34.20388f, 156.60327f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
Land = true,
|
||||||
|
ChatMessage = new ChatMessage
|
||||||
|
{
|
||||||
|
Key = "TEXT_BANYOK114_05349_SAYTODO_000_010"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
num2++;
|
||||||
|
span3[num2] = new QuestStep(EInteractionType.WalkTo, null, new Vector3(145.29918f, 34.203415f, 104.64879f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
Land = true
|
||||||
|
};
|
||||||
|
num2++;
|
||||||
|
span3[num2] = new QuestStep(EInteractionType.Say, 1055826u, new Vector3(145.76941f, 34.203403f, 101.548706f), 1187)
|
||||||
|
{
|
||||||
|
ChatMessage = new ChatMessage
|
||||||
|
{
|
||||||
|
Key = "TEXT_BANYOK114_05349_SAYTODO_000_010"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
obj201.Steps = list303;
|
||||||
|
reference227 = obj201;
|
||||||
|
num++;
|
||||||
|
ref QuestSequence reference228 = ref span2[num];
|
||||||
|
QuestSequence obj202 = new QuestSequence
|
||||||
|
{
|
||||||
|
Sequence = byte.MaxValue
|
||||||
|
};
|
||||||
|
num2 = 1;
|
||||||
|
List<QuestStep> list304 = new List<QuestStep>(num2);
|
||||||
|
CollectionsMarshal.SetCount(list304, num2);
|
||||||
|
span3 = CollectionsMarshal.AsSpan(list304);
|
||||||
|
index2 = 0;
|
||||||
|
span3[index2] = new QuestStep(EInteractionType.CompleteQuest, 1054635u, new Vector3(493.2173f, 142.24991f, 783.0471f), 1187)
|
||||||
|
{
|
||||||
|
Fly = true,
|
||||||
|
Land = true,
|
||||||
|
AetheryteShortcut = EAetheryteLocation.UrqopachaWorlarsEcho,
|
||||||
|
SkipConditions = new SkipConditions
|
||||||
|
{
|
||||||
|
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||||
|
{
|
||||||
|
NearPosition = new NearPositionCondition
|
||||||
|
{
|
||||||
|
Position = new Vector3(503.1118f, 142.24991f, 787.5082f),
|
||||||
|
MaximumDistance = 500f,
|
||||||
|
TerritoryId = 1187
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
obj202.Steps = list304;
|
||||||
|
reference228 = obj202;
|
||||||
|
questRoot37.QuestSequence = list301;
|
||||||
|
AddQuest(questId37, questRoot37);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void LoadQuests107()
|
private static void LoadQuests107()
|
||||||
|
|
|
@ -142,6 +142,8 @@ internal sealed class QuestController : MiniTaskController<QuestController>
|
||||||
|
|
||||||
private DateTime _lastAutoRefresh = DateTime.MinValue;
|
private DateTime _lastAutoRefresh = DateTime.MinValue;
|
||||||
|
|
||||||
|
private readonly AlliedSocietyData _alliedSocietyData = new AlliedSocietyData();
|
||||||
|
|
||||||
private const char ClipboardSeparator = ';';
|
private const char ClipboardSeparator = ';';
|
||||||
|
|
||||||
public EAutomationType AutomationType
|
public EAutomationType AutomationType
|
||||||
|
@ -944,9 +946,16 @@ internal sealed class QuestController : MiniTaskController<QuestController>
|
||||||
_gatheringController.Stop("Execute next step");
|
_gatheringController.Stop("Execute next step");
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
foreach (ITask item in _taskCreator.CreateTasks(CurrentQuest.Quest, CurrentQuest.Sequence, questSequence, step))
|
if (CurrentQuest.Sequence == byte.MaxValue && CurrentQuest.Quest.Info.AlliedSociety != EAlliedSociety.None && _configuration.General.BatchAlliedSocietyTurnIns)
|
||||||
{
|
{
|
||||||
_taskQueue.Enqueue(item);
|
EnqueueBatchedAlliedSocietyTurnIns(questSequence, step);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
foreach (ITask item in _taskCreator.CreateTasks(CurrentQuest.Quest, CurrentQuest.Sequence, questSequence, step))
|
||||||
|
{
|
||||||
|
_taskQueue.Enqueue(item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ResetAutoRefreshState();
|
ResetAutoRefreshState();
|
||||||
return;
|
return;
|
||||||
|
@ -966,6 +975,86 @@ internal sealed class QuestController : MiniTaskController<QuestController>
|
||||||
goto IL_01e8;
|
goto IL_01e8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void EnqueueBatchedAlliedSocietyTurnIns(QuestSequence seq, QuestStep? step)
|
||||||
|
{
|
||||||
|
QuestProgress currentQuest = CurrentQuest;
|
||||||
|
if (currentQuest == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
EAlliedSociety alliedSociety = currentQuest.Quest.Info.AlliedSociety;
|
||||||
|
if (alliedSociety == EAlliedSociety.None)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
List<(QuestId, byte, int)> list = new List<(QuestId, byte, int)>();
|
||||||
|
foreach (Quest allQuest in _questRegistry.AllQuests)
|
||||||
|
{
|
||||||
|
if (allQuest == null || allQuest.Info.AlliedSociety != alliedSociety || !_questFunctions.IsQuestAccepted(allQuest.Id))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
QuestProgressInfo questProgressInfo = _questFunctions.GetQuestProgressInfo(allQuest.Id);
|
||||||
|
if (questProgressInfo != null)
|
||||||
|
{
|
||||||
|
int item = 0;
|
||||||
|
if (allQuest.Id is QuestId item2)
|
||||||
|
{
|
||||||
|
list.Add((item2, questProgressInfo.Sequence, item));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (list.Count == 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
foreach (var (questId, b, num) in list.Where<(QuestId, byte, int)>(((QuestId Id, byte Sequence, int StepIndex) x) => x.Sequence < byte.MaxValue))
|
||||||
|
{
|
||||||
|
if (!_questRegistry.TryGetQuest(questId, out Quest quest))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
QuestSequence questSequence = quest.FindSequence(b);
|
||||||
|
if (questSequence == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
QuestStep step2 = null;
|
||||||
|
if (num >= 0 && num < questSequence.Steps.Count)
|
||||||
|
{
|
||||||
|
step2 = questSequence.FindStep(num);
|
||||||
|
}
|
||||||
|
foreach (ITask item3 in _taskCreator.CreateTasks(quest, b, questSequence, step2))
|
||||||
|
{
|
||||||
|
_taskQueue.Enqueue(item3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach (KeyValuePair<uint, List<QuestId>> item4 in _alliedSocietyData.GroupQuestsByTurnInIssuer(list.Select<(QuestId, byte, int), QuestId>(((QuestId Id, byte Sequence, int StepIndex) x) => x.Id)))
|
||||||
|
{
|
||||||
|
_ = item4.Key;
|
||||||
|
List<QuestId> value = item4.Value;
|
||||||
|
if (value.Count == 0)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
QuestId questId2 = value[0];
|
||||||
|
if (!_questRegistry.TryGetQuest(questId2, out Quest quest2))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
QuestSequence questSequence2 = quest2.FindSequence(byte.MaxValue);
|
||||||
|
if (questSequence2 == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
QuestStep step3 = questSequence2.FindStep(0);
|
||||||
|
foreach (ITask item5 in _taskCreator.CreateTasks(quest2, byte.MaxValue, questSequence2, step3))
|
||||||
|
{
|
||||||
|
_taskQueue.Enqueue(item5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public string ToStatString()
|
public string ToStatString()
|
||||||
{
|
{
|
||||||
ITask task = _taskQueue.CurrentTaskExecutor?.CurrentTask;
|
ITask task = _taskQueue.CurrentTaskExecutor?.CurrentTask;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
using Questionable.Model;
|
using Questionable.Model;
|
||||||
using Questionable.Model.Common;
|
using Questionable.Model.Common;
|
||||||
using Questionable.Model.Questing;
|
using Questionable.Model.Questing;
|
||||||
|
@ -260,4 +261,53 @@ internal sealed class AlliedSocietyData
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool TryGetTurnInIssuers(ElementId elementId, out uint[] issuerDataIds)
|
||||||
|
{
|
||||||
|
EAlliedSociety commonAlliedSocietyTurnIn = GetCommonAlliedSocietyTurnIn(elementId);
|
||||||
|
if (commonAlliedSocietyTurnIn == EAlliedSociety.None)
|
||||||
|
{
|
||||||
|
issuerDataIds = Array.Empty<uint>();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
GetCommonAlliedSocietyNpcs(commonAlliedSocietyTurnIn, out uint[] normalNpcs, out uint[] mountNpcs);
|
||||||
|
if (normalNpcs.Length != 0)
|
||||||
|
{
|
||||||
|
issuerDataIds = normalNpcs;
|
||||||
|
}
|
||||||
|
else if (mountNpcs.Length != 0)
|
||||||
|
{
|
||||||
|
issuerDataIds = mountNpcs;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
issuerDataIds = Array.Empty<uint>();
|
||||||
|
}
|
||||||
|
return issuerDataIds.Length != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Dictionary<uint, List<QuestId>> GroupQuestsByTurnInIssuer(IEnumerable<QuestId> quests)
|
||||||
|
{
|
||||||
|
Dictionary<uint, List<QuestId>> dictionary = new Dictionary<uint, List<QuestId>>();
|
||||||
|
foreach (QuestId quest in quests)
|
||||||
|
{
|
||||||
|
if (TryGetTurnInIssuers(quest, out uint[] issuerDataIds) && issuerDataIds.Length != 0)
|
||||||
|
{
|
||||||
|
uint key = issuerDataIds[0];
|
||||||
|
if (dictionary.TryGetValue(key, out var value))
|
||||||
|
{
|
||||||
|
value.Add(quest);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
int num = 1;
|
||||||
|
List<QuestId> list = new List<QuestId>(num);
|
||||||
|
CollectionsMarshal.SetCount(list, num);
|
||||||
|
Span<QuestId> span = CollectionsMarshal.AsSpan(list);
|
||||||
|
int index = 0;
|
||||||
|
span[index] = quest;
|
||||||
|
dictionary[key] = list;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return dictionary;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,51 +41,63 @@ internal sealed class AlliedSocietyDailyInfo : IQuestInfo
|
||||||
{
|
{
|
||||||
QuestId = new AlliedSocietyDailyId((byte)beastTribe.RowId, rank);
|
QuestId = new AlliedSocietyDailyId((byte)beastTribe.RowId, rank);
|
||||||
Name = beastTribe.Name.ToString();
|
Name = beastTribe.Name.ToString();
|
||||||
List<EClassJob> list2;
|
IReadOnlyList<EClassJob> readOnlyList = null;
|
||||||
switch ((EAlliedSociety)(byte)beastTribe.RowId)
|
try
|
||||||
{
|
{
|
||||||
case EAlliedSociety.Amaljaa:
|
List<EClassJob> list2;
|
||||||
case EAlliedSociety.Sylphs:
|
switch ((EAlliedSociety)(byte)beastTribe.RowId)
|
||||||
case EAlliedSociety.Kobolds:
|
{
|
||||||
case EAlliedSociety.Sahagin:
|
case EAlliedSociety.Amaljaa:
|
||||||
case EAlliedSociety.VanuVanu:
|
case EAlliedSociety.Sylphs:
|
||||||
case EAlliedSociety.Vath:
|
case EAlliedSociety.Kobolds:
|
||||||
case EAlliedSociety.Kojin:
|
case EAlliedSociety.Sahagin:
|
||||||
case EAlliedSociety.Ananta:
|
case EAlliedSociety.VanuVanu:
|
||||||
case EAlliedSociety.Pixies:
|
case EAlliedSociety.Vath:
|
||||||
case EAlliedSociety.Arkasodara:
|
case EAlliedSociety.Kojin:
|
||||||
case EAlliedSociety.Pelupelu:
|
case EAlliedSociety.Ananta:
|
||||||
|
case EAlliedSociety.Pixies:
|
||||||
|
case EAlliedSociety.Arkasodara:
|
||||||
|
case EAlliedSociety.Pelupelu:
|
||||||
|
{
|
||||||
|
List<EClassJob> list3 = new List<EClassJob>();
|
||||||
|
list3.AddRange(classJobUtils.AsIndividualJobs(EExtendedClassJob.DoW, null));
|
||||||
|
list3.AddRange(classJobUtils.AsIndividualJobs(EExtendedClassJob.DoM, null));
|
||||||
|
list2 = list3;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case EAlliedSociety.Ixal:
|
||||||
|
case EAlliedSociety.Moogles:
|
||||||
|
case EAlliedSociety.Dwarves:
|
||||||
|
case EAlliedSociety.Loporrits:
|
||||||
|
case EAlliedSociety.YokHuy:
|
||||||
|
list2 = classJobUtils.AsIndividualJobs(EExtendedClassJob.DoH, null).ToList();
|
||||||
|
break;
|
||||||
|
case EAlliedSociety.Qitari:
|
||||||
|
case EAlliedSociety.Omicrons:
|
||||||
|
case EAlliedSociety.MamoolJa:
|
||||||
|
list2 = classJobUtils.AsIndividualJobs(EExtendedClassJob.DoL, null).ToList();
|
||||||
|
break;
|
||||||
|
case EAlliedSociety.Namazu:
|
||||||
|
{
|
||||||
|
List<EClassJob> list = new List<EClassJob>();
|
||||||
|
list.AddRange(classJobUtils.AsIndividualJobs(EExtendedClassJob.DoH, null));
|
||||||
|
list.AddRange(classJobUtils.AsIndividualJobs(EExtendedClassJob.DoL, null));
|
||||||
|
list2 = list;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
throw new ArgumentOutOfRangeException("beastTribe");
|
||||||
|
}
|
||||||
|
readOnlyList = list2;
|
||||||
|
}
|
||||||
|
catch (ArgumentOutOfRangeException)
|
||||||
{
|
{
|
||||||
List<EClassJob> list3 = new List<EClassJob>();
|
List<EClassJob> list4 = new List<EClassJob>();
|
||||||
list3.AddRange(classJobUtils.AsIndividualJobs(EExtendedClassJob.DoW, null));
|
list4.AddRange(classJobUtils.AsIndividualJobs(EExtendedClassJob.DoW, null));
|
||||||
list3.AddRange(classJobUtils.AsIndividualJobs(EExtendedClassJob.DoM, null));
|
list4.AddRange(classJobUtils.AsIndividualJobs(EExtendedClassJob.DoM, null));
|
||||||
list2 = list3;
|
readOnlyList = new _003C_003Ez__ReadOnlyList<EClassJob>(list4);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
case EAlliedSociety.Ixal:
|
ClassJobs = readOnlyList;
|
||||||
case EAlliedSociety.Moogles:
|
|
||||||
case EAlliedSociety.Dwarves:
|
|
||||||
case EAlliedSociety.Loporrits:
|
|
||||||
case EAlliedSociety.YokHuy:
|
|
||||||
list2 = classJobUtils.AsIndividualJobs(EExtendedClassJob.DoH, null).ToList();
|
|
||||||
break;
|
|
||||||
case EAlliedSociety.Qitari:
|
|
||||||
case EAlliedSociety.Omicrons:
|
|
||||||
case EAlliedSociety.MamoolJa:
|
|
||||||
list2 = classJobUtils.AsIndividualJobs(EExtendedClassJob.DoL, null).ToList();
|
|
||||||
break;
|
|
||||||
case EAlliedSociety.Namazu:
|
|
||||||
{
|
|
||||||
List<EClassJob> list = new List<EClassJob>();
|
|
||||||
list.AddRange(classJobUtils.AsIndividualJobs(EExtendedClassJob.DoH, null));
|
|
||||||
list.AddRange(classJobUtils.AsIndividualJobs(EExtendedClassJob.DoL, null));
|
|
||||||
list2 = list;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
throw new ArgumentOutOfRangeException("beastTribe");
|
|
||||||
}
|
|
||||||
ClassJobs = list2;
|
|
||||||
Expansion = (EExpansionVersion)beastTribe.Expansion.RowId;
|
Expansion = (EExpansionVersion)beastTribe.Expansion.RowId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
using Questionable.Model;
|
using Questionable.Model;
|
||||||
using Questionable.Model.Questing;
|
using Questionable.Model.Questing;
|
||||||
|
|
||||||
|
@ -11,18 +9,15 @@ internal sealed class UniqueStartStopValidator : IQuestValidator
|
||||||
{
|
{
|
||||||
public IEnumerable<ValidationIssue> Validate(Quest quest)
|
public IEnumerable<ValidationIssue> Validate(Quest quest)
|
||||||
{
|
{
|
||||||
ElementId id = quest.Id;
|
bool flag = !(quest.Id is QuestId);
|
||||||
if ((id is SatisfactionSupplyNpcId || id is AlliedSocietyDailyId) ? true : false)
|
if (!flag)
|
||||||
{
|
{
|
||||||
yield break;
|
ElementId id = quest.Id;
|
||||||
|
bool flag2 = ((id is SatisfactionSupplyNpcId || id is AlliedSocietyDailyId) ? true : false);
|
||||||
|
flag = flag2;
|
||||||
}
|
}
|
||||||
int num = 1;
|
bool skipMissingStartStop = flag;
|
||||||
List<EInteractionType> list = new List<EInteractionType>(num);
|
List<(QuestSequence Sequence, int StepId, QuestStep Step)> questAccepts = (from x in FindQuestStepsWithInteractionType(quest, new List<EInteractionType> { EInteractionType.AcceptQuest })
|
||||||
CollectionsMarshal.SetCount(list, num);
|
|
||||||
Span<EInteractionType> span = CollectionsMarshal.AsSpan(list);
|
|
||||||
int index = 0;
|
|
||||||
span[index] = EInteractionType.AcceptQuest;
|
|
||||||
List<(QuestSequence Sequence, int StepId, QuestStep Step)> questAccepts = (from x in FindQuestStepsWithInteractionType(quest, list)
|
|
||||||
where x.Step.PickUpQuestId == null
|
where x.Step.PickUpQuestId == null
|
||||||
select x).ToList();
|
select x).ToList();
|
||||||
foreach (var item in questAccepts)
|
foreach (var item in questAccepts)
|
||||||
|
@ -40,7 +35,7 @@ internal sealed class UniqueStartStopValidator : IQuestValidator
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (quest.FindSequence(0) != null && questAccepts.Count == 0)
|
if (!skipMissingStartStop && quest.FindSequence(0) != null && questAccepts.Count == 0)
|
||||||
{
|
{
|
||||||
yield return new ValidationIssue
|
yield return new ValidationIssue
|
||||||
{
|
{
|
||||||
|
@ -52,13 +47,7 @@ internal sealed class UniqueStartStopValidator : IQuestValidator
|
||||||
Description = "No AcceptQuest step"
|
Description = "No AcceptQuest step"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
index = 1;
|
List<(QuestSequence Sequence, int StepId, QuestStep Step)> questCompletes = (from x in FindQuestStepsWithInteractionType(quest, new List<EInteractionType> { EInteractionType.CompleteQuest })
|
||||||
List<EInteractionType> list2 = new List<EInteractionType>(index);
|
|
||||||
CollectionsMarshal.SetCount(list2, index);
|
|
||||||
span = CollectionsMarshal.AsSpan(list2);
|
|
||||||
num = 0;
|
|
||||||
span[num] = EInteractionType.CompleteQuest;
|
|
||||||
List<(QuestSequence Sequence, int StepId, QuestStep Step)> questCompletes = (from x in FindQuestStepsWithInteractionType(quest, list2)
|
|
||||||
where x.Step.TurnInQuestId == null
|
where x.Step.TurnInQuestId == null
|
||||||
select x).ToList();
|
select x).ToList();
|
||||||
foreach (var item2 in questCompletes)
|
foreach (var item2 in questCompletes)
|
||||||
|
@ -76,7 +65,7 @@ internal sealed class UniqueStartStopValidator : IQuestValidator
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (quest.FindSequence(byte.MaxValue) != null && questCompletes.Count == 0)
|
if (!skipMissingStartStop && quest.FindSequence(byte.MaxValue) != null && questCompletes.Count == 0)
|
||||||
{
|
{
|
||||||
yield return new ValidationIssue
|
yield return new ValidationIssue
|
||||||
{
|
{
|
||||||
|
|
|
@ -212,6 +212,26 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
||||||
ImGui.TextColored(in col, text);
|
ImGui.TextColored(in col, text);
|
||||||
ImGui.Unindent();
|
ImGui.Unindent();
|
||||||
}
|
}
|
||||||
|
bool v9 = base.Configuration.General.BatchAlliedSocietyTurnIns;
|
||||||
|
if (ImGui.Checkbox("Batch allied society turn-ins", ref v9))
|
||||||
|
{
|
||||||
|
base.Configuration.General.BatchAlliedSocietyTurnIns = v9;
|
||||||
|
Save();
|
||||||
|
}
|
||||||
|
ImGui.SameLine();
|
||||||
|
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||||
|
{
|
||||||
|
ImGui.TextDisabled(FontAwesomeIcon.InfoCircle.ToIconString());
|
||||||
|
}
|
||||||
|
if (ImGui.IsItemHovered())
|
||||||
|
{
|
||||||
|
using (ImRaii.Tooltip())
|
||||||
|
{
|
||||||
|
ImGui.TextUnformatted("When enabled, allied society quests that share the same NPC will be turned in in a single conversation (batched).");
|
||||||
|
ImGui.TextUnformatted("If disabled, each allied society quest will be turned in individually.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -84,12 +84,13 @@ internal sealed class AlliedSocietyJournalComponent
|
||||||
|
|
||||||
private void DrawQuest(QuestInfo questInfo)
|
private void DrawQuest(QuestInfo questInfo)
|
||||||
{
|
{
|
||||||
var (color, icon, text) = _uiUtils.GetQuestStyle(questInfo.QuestId);
|
var (color, icon, value) = _uiUtils.GetQuestStyle(questInfo.QuestId);
|
||||||
if (!_questRegistry.TryGetQuest(questInfo.QuestId, out Quest quest) || quest.Root.Disabled)
|
if (!_questRegistry.TryGetQuest(questInfo.QuestId, out Quest quest) || quest.Root.Disabled)
|
||||||
{
|
{
|
||||||
color = ImGuiColors.DalamudGrey;
|
color = ImGuiColors.DalamudGrey;
|
||||||
}
|
}
|
||||||
if (_uiUtils.ChecklistItem(questInfo.Name + " (" + text + ")", color, icon))
|
string text = $"{questInfo.Name} ({value}) [{questInfo.QuestId}]";
|
||||||
|
if (_uiUtils.ChecklistItem(text, color, icon))
|
||||||
{
|
{
|
||||||
_questTooltipComponent.Draw(questInfo);
|
_questTooltipComponent.Draw(questInfo);
|
||||||
}
|
}
|
||||||
|
|
|
@ -318,9 +318,18 @@ internal sealed class QuestJournalComponent
|
||||||
}
|
}
|
||||||
if (_questFunctions.IsQuestComplete(questInfo.QuestId))
|
if (_questFunctions.IsQuestComplete(questInfo.QuestId))
|
||||||
{
|
{
|
||||||
if (questInfo.IsRepeatable && _questFunctions.IsReadyToAcceptQuest(questInfo.QuestId))
|
if (questInfo.IsRepeatable)
|
||||||
{
|
{
|
||||||
_uiUtils.ChecklistItem("Complete", ImGuiColors.ParsedBlue, FontAwesomeIcon.Check);
|
bool num2 = _questFunctions.IsQuestLocked(questInfo.QuestId);
|
||||||
|
bool flag = _questFunctions.IsReadyToAcceptQuest(questInfo.QuestId);
|
||||||
|
if (!num2 && flag)
|
||||||
|
{
|
||||||
|
_uiUtils.ChecklistItem("Available", ImGuiColors.ParsedBlue, FontAwesomeIcon.Running);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_uiUtils.ChecklistItem("Complete", ImGuiColors.ParsedGreen, FontAwesomeIcon.Check);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -328,10 +337,10 @@ internal sealed class QuestJournalComponent
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
bool flag = false;
|
bool flag2 = false;
|
||||||
bool flag2 = _questFunctions.IsQuestUnobtainable(questInfo.QuestId);
|
bool flag3 = _questFunctions.IsQuestUnobtainable(questInfo.QuestId);
|
||||||
bool flag3 = _questFunctions.IsQuestLocked(questInfo.QuestId);
|
bool flag4 = _questFunctions.IsQuestLocked(questInfo.QuestId);
|
||||||
bool flag4 = _questFunctions.IsReadyToAcceptQuest(questInfo.QuestId);
|
bool flag5 = _questFunctions.IsReadyToAcceptQuest(questInfo.QuestId);
|
||||||
DateTime? seasonalQuestExpiry = questInfo.SeasonalQuestExpiry;
|
DateTime? seasonalQuestExpiry = questInfo.SeasonalQuestExpiry;
|
||||||
if (seasonalQuestExpiry.HasValue)
|
if (seasonalQuestExpiry.HasValue)
|
||||||
{
|
{
|
||||||
|
@ -339,14 +348,14 @@ internal sealed class QuestJournalComponent
|
||||||
DateTime dateTime = ((valueOrDefault.Kind == DateTimeKind.Utc) ? valueOrDefault : valueOrDefault.ToUniversalTime());
|
DateTime dateTime = ((valueOrDefault.Kind == DateTimeKind.Utc) ? valueOrDefault : valueOrDefault.ToUniversalTime());
|
||||||
if (DateTime.UtcNow > dateTime)
|
if (DateTime.UtcNow > dateTime)
|
||||||
{
|
{
|
||||||
flag = true;
|
flag2 = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (flag || flag2)
|
if (flag2 || flag3)
|
||||||
{
|
{
|
||||||
_uiUtils.ChecklistItem("Unobtainable", ImGuiColors.DalamudGrey, FontAwesomeIcon.Minus);
|
_uiUtils.ChecklistItem("Unobtainable", ImGuiColors.DalamudGrey, FontAwesomeIcon.Minus);
|
||||||
}
|
}
|
||||||
else if (flag3 || !flag4 || !_questRegistry.IsKnownQuest(questInfo.QuestId))
|
else if (flag4 || !flag5 || !_questRegistry.IsKnownQuest(questInfo.QuestId))
|
||||||
{
|
{
|
||||||
_uiUtils.ChecklistItem("Locked", ImGuiColors.DalamudRed, FontAwesomeIcon.Times);
|
_uiUtils.ChecklistItem("Locked", ImGuiColors.DalamudRed, FontAwesomeIcon.Times);
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,8 @@ internal sealed class Configuration : IPluginConfiguration
|
||||||
public int AutoStepRefreshDelaySeconds { get; set; } = 10;
|
public int AutoStepRefreshDelaySeconds { get; set; } = 10;
|
||||||
|
|
||||||
public bool HideSeasonalEventsFromJournalProgress { get; set; }
|
public bool HideSeasonalEventsFromJournalProgress { get; set; }
|
||||||
|
|
||||||
|
public bool BatchAlliedSocietyTurnIns { get; set; } = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal sealed class StopConfiguration
|
internal sealed class StopConfiguration
|
||||||
|
|
90
Solution.sln
90
Solution.sln
|
@ -2,15 +2,15 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio 14
|
# Visual Studio 14
|
||||||
VisualStudioVersion = 14.0.24720.0
|
VisualStudioVersion = 14.0.24720.0
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QuestPaths", "QuestPaths\QuestPaths.csproj", "{442AB657-455F-42DD-BFDC-F9C034BAF528}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QuestPaths", "QuestPaths\QuestPaths.csproj", "{9D7EBCB0-63A0-42D6-B893-6C057E5026F6}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GatheringPaths", "GatheringPaths\GatheringPaths.csproj", "{FE881E2D-713D-42BE-A023-2BC724BDFFEB}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GatheringPaths", "GatheringPaths\GatheringPaths.csproj", "{11208A06-31FC-4E60-890B-16B1C4BF7DF4}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Questionable", "Questionable\Questionable.csproj", "{A5C50C48-5B13-4C67-AFED-E994669040CE}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Questionable", "Questionable\Questionable.csproj", "{14AEAF19-6B62-4D0C-8957-A5312A03A0DD}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Questionable.Model", "Questionable.Model\Questionable.Model.csproj", "{78C31351-CEAB-4D69-9A41-F159EEB4C449}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Questionable.Model", "Questionable.Model\Questionable.Model.csproj", "{00E7293F-0AB8-421E-A3D3-42E4D1C78EBD}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LLib", "LLib\LLib.csproj", "{8E90FF18-67CE-46D4-A05A-DAA903E04469}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LLib", "LLib\LLib.csproj", "{5BFC9AF6-6A76-46CF-901F-ABF5B1481A1C}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
@ -20,46 +20,46 @@ Global
|
||||||
Release|x64 = Release|x64
|
Release|x64 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{442AB657-455F-42DD-BFDC-F9C034BAF528}.Debug|AnyCPU.ActiveCfg = Debug|AnyCPU
|
{9D7EBCB0-63A0-42D6-B893-6C057E5026F6}.Debug|AnyCPU.ActiveCfg = Debug|AnyCPU
|
||||||
{442AB657-455F-42DD-BFDC-F9C034BAF528}.Debug|AnyCPU.Build.0 = Debug|AnyCPU
|
{9D7EBCB0-63A0-42D6-B893-6C057E5026F6}.Debug|AnyCPU.Build.0 = Debug|AnyCPU
|
||||||
{442AB657-455F-42DD-BFDC-F9C034BAF528}.Debug|x64.ActiveCfg = Debug|AnyCPU
|
{9D7EBCB0-63A0-42D6-B893-6C057E5026F6}.Debug|x64.ActiveCfg = Debug|AnyCPU
|
||||||
{442AB657-455F-42DD-BFDC-F9C034BAF528}.Debug|x64.Build.0 = Debug|AnyCPU
|
{9D7EBCB0-63A0-42D6-B893-6C057E5026F6}.Debug|x64.Build.0 = Debug|AnyCPU
|
||||||
{442AB657-455F-42DD-BFDC-F9C034BAF528}.Release|AnyCPU.ActiveCfg = Release|AnyCPU
|
{9D7EBCB0-63A0-42D6-B893-6C057E5026F6}.Release|AnyCPU.ActiveCfg = Release|AnyCPU
|
||||||
{442AB657-455F-42DD-BFDC-F9C034BAF528}.Release|AnyCPU.Build.0 = Release|AnyCPU
|
{9D7EBCB0-63A0-42D6-B893-6C057E5026F6}.Release|AnyCPU.Build.0 = Release|AnyCPU
|
||||||
{442AB657-455F-42DD-BFDC-F9C034BAF528}.Release|x64.ActiveCfg = Release|AnyCPU
|
{9D7EBCB0-63A0-42D6-B893-6C057E5026F6}.Release|x64.ActiveCfg = Release|AnyCPU
|
||||||
{442AB657-455F-42DD-BFDC-F9C034BAF528}.Release|x64.Build.0 = Release|AnyCPU
|
{9D7EBCB0-63A0-42D6-B893-6C057E5026F6}.Release|x64.Build.0 = Release|AnyCPU
|
||||||
{FE881E2D-713D-42BE-A023-2BC724BDFFEB}.Debug|AnyCPU.ActiveCfg = Debug|AnyCPU
|
{11208A06-31FC-4E60-890B-16B1C4BF7DF4}.Debug|AnyCPU.ActiveCfg = Debug|AnyCPU
|
||||||
{FE881E2D-713D-42BE-A023-2BC724BDFFEB}.Debug|AnyCPU.Build.0 = Debug|AnyCPU
|
{11208A06-31FC-4E60-890B-16B1C4BF7DF4}.Debug|AnyCPU.Build.0 = Debug|AnyCPU
|
||||||
{FE881E2D-713D-42BE-A023-2BC724BDFFEB}.Debug|x64.ActiveCfg = Debug|AnyCPU
|
{11208A06-31FC-4E60-890B-16B1C4BF7DF4}.Debug|x64.ActiveCfg = Debug|AnyCPU
|
||||||
{FE881E2D-713D-42BE-A023-2BC724BDFFEB}.Debug|x64.Build.0 = Debug|AnyCPU
|
{11208A06-31FC-4E60-890B-16B1C4BF7DF4}.Debug|x64.Build.0 = Debug|AnyCPU
|
||||||
{FE881E2D-713D-42BE-A023-2BC724BDFFEB}.Release|AnyCPU.ActiveCfg = Release|AnyCPU
|
{11208A06-31FC-4E60-890B-16B1C4BF7DF4}.Release|AnyCPU.ActiveCfg = Release|AnyCPU
|
||||||
{FE881E2D-713D-42BE-A023-2BC724BDFFEB}.Release|AnyCPU.Build.0 = Release|AnyCPU
|
{11208A06-31FC-4E60-890B-16B1C4BF7DF4}.Release|AnyCPU.Build.0 = Release|AnyCPU
|
||||||
{FE881E2D-713D-42BE-A023-2BC724BDFFEB}.Release|x64.ActiveCfg = Release|AnyCPU
|
{11208A06-31FC-4E60-890B-16B1C4BF7DF4}.Release|x64.ActiveCfg = Release|AnyCPU
|
||||||
{FE881E2D-713D-42BE-A023-2BC724BDFFEB}.Release|x64.Build.0 = Release|AnyCPU
|
{11208A06-31FC-4E60-890B-16B1C4BF7DF4}.Release|x64.Build.0 = Release|AnyCPU
|
||||||
{A5C50C48-5B13-4C67-AFED-E994669040CE}.Debug|AnyCPU.ActiveCfg = Debug|x64
|
{14AEAF19-6B62-4D0C-8957-A5312A03A0DD}.Debug|AnyCPU.ActiveCfg = Debug|x64
|
||||||
{A5C50C48-5B13-4C67-AFED-E994669040CE}.Debug|AnyCPU.Build.0 = Debug|x64
|
{14AEAF19-6B62-4D0C-8957-A5312A03A0DD}.Debug|AnyCPU.Build.0 = Debug|x64
|
||||||
{A5C50C48-5B13-4C67-AFED-E994669040CE}.Debug|x64.ActiveCfg = Debug|x64
|
{14AEAF19-6B62-4D0C-8957-A5312A03A0DD}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{A5C50C48-5B13-4C67-AFED-E994669040CE}.Debug|x64.Build.0 = Debug|x64
|
{14AEAF19-6B62-4D0C-8957-A5312A03A0DD}.Debug|x64.Build.0 = Debug|x64
|
||||||
{A5C50C48-5B13-4C67-AFED-E994669040CE}.Release|AnyCPU.ActiveCfg = Release|x64
|
{14AEAF19-6B62-4D0C-8957-A5312A03A0DD}.Release|AnyCPU.ActiveCfg = Release|x64
|
||||||
{A5C50C48-5B13-4C67-AFED-E994669040CE}.Release|AnyCPU.Build.0 = Release|x64
|
{14AEAF19-6B62-4D0C-8957-A5312A03A0DD}.Release|AnyCPU.Build.0 = Release|x64
|
||||||
{A5C50C48-5B13-4C67-AFED-E994669040CE}.Release|x64.ActiveCfg = Release|x64
|
{14AEAF19-6B62-4D0C-8957-A5312A03A0DD}.Release|x64.ActiveCfg = Release|x64
|
||||||
{A5C50C48-5B13-4C67-AFED-E994669040CE}.Release|x64.Build.0 = Release|x64
|
{14AEAF19-6B62-4D0C-8957-A5312A03A0DD}.Release|x64.Build.0 = Release|x64
|
||||||
{78C31351-CEAB-4D69-9A41-F159EEB4C449}.Debug|AnyCPU.ActiveCfg = Debug|AnyCPU
|
{00E7293F-0AB8-421E-A3D3-42E4D1C78EBD}.Debug|AnyCPU.ActiveCfg = Debug|AnyCPU
|
||||||
{78C31351-CEAB-4D69-9A41-F159EEB4C449}.Debug|AnyCPU.Build.0 = Debug|AnyCPU
|
{00E7293F-0AB8-421E-A3D3-42E4D1C78EBD}.Debug|AnyCPU.Build.0 = Debug|AnyCPU
|
||||||
{78C31351-CEAB-4D69-9A41-F159EEB4C449}.Debug|x64.ActiveCfg = Debug|AnyCPU
|
{00E7293F-0AB8-421E-A3D3-42E4D1C78EBD}.Debug|x64.ActiveCfg = Debug|AnyCPU
|
||||||
{78C31351-CEAB-4D69-9A41-F159EEB4C449}.Debug|x64.Build.0 = Debug|AnyCPU
|
{00E7293F-0AB8-421E-A3D3-42E4D1C78EBD}.Debug|x64.Build.0 = Debug|AnyCPU
|
||||||
{78C31351-CEAB-4D69-9A41-F159EEB4C449}.Release|AnyCPU.ActiveCfg = Release|AnyCPU
|
{00E7293F-0AB8-421E-A3D3-42E4D1C78EBD}.Release|AnyCPU.ActiveCfg = Release|AnyCPU
|
||||||
{78C31351-CEAB-4D69-9A41-F159EEB4C449}.Release|AnyCPU.Build.0 = Release|AnyCPU
|
{00E7293F-0AB8-421E-A3D3-42E4D1C78EBD}.Release|AnyCPU.Build.0 = Release|AnyCPU
|
||||||
{78C31351-CEAB-4D69-9A41-F159EEB4C449}.Release|x64.ActiveCfg = Release|AnyCPU
|
{00E7293F-0AB8-421E-A3D3-42E4D1C78EBD}.Release|x64.ActiveCfg = Release|AnyCPU
|
||||||
{78C31351-CEAB-4D69-9A41-F159EEB4C449}.Release|x64.Build.0 = Release|AnyCPU
|
{00E7293F-0AB8-421E-A3D3-42E4D1C78EBD}.Release|x64.Build.0 = Release|AnyCPU
|
||||||
{8E90FF18-67CE-46D4-A05A-DAA903E04469}.Debug|AnyCPU.ActiveCfg = Debug|x64
|
{5BFC9AF6-6A76-46CF-901F-ABF5B1481A1C}.Debug|AnyCPU.ActiveCfg = Debug|x64
|
||||||
{8E90FF18-67CE-46D4-A05A-DAA903E04469}.Debug|AnyCPU.Build.0 = Debug|x64
|
{5BFC9AF6-6A76-46CF-901F-ABF5B1481A1C}.Debug|AnyCPU.Build.0 = Debug|x64
|
||||||
{8E90FF18-67CE-46D4-A05A-DAA903E04469}.Debug|x64.ActiveCfg = Debug|x64
|
{5BFC9AF6-6A76-46CF-901F-ABF5B1481A1C}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{8E90FF18-67CE-46D4-A05A-DAA903E04469}.Debug|x64.Build.0 = Debug|x64
|
{5BFC9AF6-6A76-46CF-901F-ABF5B1481A1C}.Debug|x64.Build.0 = Debug|x64
|
||||||
{8E90FF18-67CE-46D4-A05A-DAA903E04469}.Release|AnyCPU.ActiveCfg = Release|x64
|
{5BFC9AF6-6A76-46CF-901F-ABF5B1481A1C}.Release|AnyCPU.ActiveCfg = Release|x64
|
||||||
{8E90FF18-67CE-46D4-A05A-DAA903E04469}.Release|AnyCPU.Build.0 = Release|x64
|
{5BFC9AF6-6A76-46CF-901F-ABF5B1481A1C}.Release|AnyCPU.Build.0 = Release|x64
|
||||||
{8E90FF18-67CE-46D4-A05A-DAA903E04469}.Release|x64.ActiveCfg = Release|x64
|
{5BFC9AF6-6A76-46CF-901F-ABF5B1481A1C}.Release|x64.ActiveCfg = Release|x64
|
||||||
{8E90FF18-67CE-46D4-A05A-DAA903E04469}.Release|x64.Build.0 = Release|x64
|
{5BFC9AF6-6A76-46CF-901F-ABF5B1481A1C}.Release|x64.Build.0 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue