master #3

Open
cacahuetes wants to merge 640 commits from liza/Questionable:master into cacahuetes-ShB-Healer
14 changed files with 189 additions and 16 deletions
Showing only changes of commit a840a9f42e - Show all commits

View File

@ -42,14 +42,18 @@
"X": 419.309,
"Y": -10.25133,
"Z": -784.8259
}
},
"MinimumAngle": -25,
"MaximumAngle": 85
},
{
"Position": {
"X": 410.6989,
"Y": -10.9656,
"Z": -790.8315
}
},
"MinimumAngle": -20,
"MaximumAngle": 95
}
]
}
@ -156,4 +160,4 @@
]
}
]
}
}

View File

@ -52,8 +52,8 @@
"Y": -47.86026,
"Z": -394.9654
},
"MinimumAngle": -120,
"MaximumAngle": 120
"MinimumAngle": -145,
"MaximumAngle": -95
}
]
}
@ -160,4 +160,4 @@
]
}
]
}
}

View File

@ -20,6 +20,15 @@
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": -392.35907,
"Y": -14.000012,
"Z": 635.3141
},
"TerritoryId": 1191,
"InteractionType": "WalkTo"
},
{
"Position": {
"X": -415.87146,

View File

@ -55,6 +55,24 @@
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": 184.68884,
"Y": 99.24859,
"Z": -171.97504
},
"TerritoryId": 1191,
"InteractionType": "WalkTo"
},
{
"Position": {
"X": 148.14713,
"Y": 100.07344,
"Z": -135.20776
},
"TerritoryId": 1191,
"InteractionType": "WalkTo"
},
{
"DataId": 2013966,
"Position": {

View File

@ -69,6 +69,7 @@
"Y": 0.003171,
"Z": 1.296936
},
"StopDistance": 5,
"TerritoryId": 1171,
"InteractionType": "CompleteQuest"
}

View File

@ -21,6 +21,34 @@
{
"Sequence": 1,
"Steps": [
{
"DataId": 1049443,
"Position": {
"X": -177.56934,
"Y": 29.999998,
"Z": -601.15967
},
"TerritoryId": 1191,
"InteractionType": "AcceptQuest",
"PickUpQuestId": 5153,
"AetheryteShortcut": "Heritage Found - The Outskirts",
"SkipConditions": {
"AetheryteShortcutIf": {
"InSameTerritory": true
}
}
},
{
"DataId": 1050805,
"Position": {
"X": -153.09375,
"Y": 34.946026,
"Z": -581.0178
},
"TerritoryId": 1191,
"InteractionType": "AcceptQuest",
"PickUpQuestId": 5160
},
{
"DataId": 1048053,
"Position": {
@ -29,8 +57,7 @@
"Z": -828.58014
},
"TerritoryId": 1191,
"InteractionType": "Interact",
"AetheryteShortcut": "Heritage Found - The Outskirts"
"InteractionType": "Interact"
}
]
},

View File

@ -37,6 +37,17 @@
{
"Sequence": 2,
"Steps": [
{
"DataId": 1049505,
"Position": {
"X": -209.85736,
"Y": 7.49638,
"Z": 595.9104
},
"TerritoryId": 1191,
"InteractionType": "AcceptQuest",
"PickUpQuestId": 5159
},
{
"DataId": 1048099,
"Position": {
@ -53,6 +64,17 @@
{
"Sequence": 3,
"Steps": [
{
"DataId": 1049501,
"Position": {
"X": -592.7062,
"Y": -2.4803436,
"Z": -489.28055
},
"TerritoryId": 1191,
"InteractionType": "AcceptQuest",
"PickUpQuestId": 5156
},
{
"DataId": 1048116,
"Position": {

View File

@ -32,7 +32,8 @@
"Z": -565.48413
},
"TerritoryId": 1191,
"InteractionType": "Interact"
"InteractionType": "Interact",
"Fly": true
}
]
},

View File

@ -21,6 +21,17 @@
{
"Sequence": 1,
"Steps": [
{
"DataId": 1050617,
"Position": {
"X": -631.4031,
"Y": 2.9305653E-07,
"Z": 497.12354
},
"TerritoryId": 1192,
"InteractionType": "AcceptQuest",
"PickUpQuestId": 5174
},
{
"DataId": 1047884,
"Position": {

View File

@ -21,6 +21,41 @@
{
"Sequence": 1,
"Steps": [
{
"DataId": 1048243,
"Position": {
"X": 57.87744,
"Y": 53.200012,
"Z": 772.03015
},
"TerritoryId": 1192,
"InteractionType": "Interact",
"AetheryteShortcut": "Living Memory - Leynode Mnemo",
"TargetTerritoryId": 1192,
"SkipConditions": {
"StepIf": {
"QuestsCompleted": [
5176
]
},
"AetheryteShortcutIf": {
"QuestsCompleted": [
5176
]
}
}
},
{
"DataId": 1050621,
"Position": {
"X": 477.1344,
"Y": -0.034497976,
"Z": 711.6654
},
"TerritoryId": 1192,
"InteractionType": "AcceptQuest",
"PickUpQuestId": 5176
},
{
"DataId": 1047917,
"Position": {

View File

@ -21,6 +21,44 @@
{
"Sequence": 1,
"Steps": [
{
"DataId": 1050625,
"Position": {
"X": 628.6869,
"Y": 24.99949,
"Z": -283.3753
},
"TerritoryId": 1192,
"InteractionType": "AcceptQuest",
"PickUpQuestId": 5178,
"AetheryteShortcut": "Living Memory - Leynode Pyro",
"SkipConditions": {
"AetheryteShortcutIf": {
"QuestsCompleted": [
5178
]
}
}
},
{
"DataId": 1050632,
"Position": {
"X": 538.9944,
"Y": 25.001822,
"Z": -194.3847
},
"TerritoryId": 1192,
"InteractionType": "AcceptQuest",
"PickUpQuestId": 5179,
"AetheryteShortcut": "Living Memory - Leynode Pyro",
"SkipConditions": {
"AetheryteShortcutIf": {
"QuestsCompleted": [
5179
]
}
}
},
{
"DataId": 1047971,
"Position": {

View File

@ -33,8 +33,12 @@
},
"TerritoryId": 1192,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Living Memory - Leynode Mnemo",
"$": "Leynode Mnemo to Meso Terminal waypoint"
"$": "Leynode Mnemo to Meso Terminal waypoint",
"SkipConditions": {
"StepIf": {
"Flying": "Unlocked"
}
}
},
{
"DataId": 1048014,
@ -44,7 +48,8 @@
"Z": 363.05774
},
"TerritoryId": 1192,
"InteractionType": "Interact"
"InteractionType": "Interact",
"Fly": true
}
]
},

View File

@ -735,7 +735,9 @@ internal sealed class QuestController : MiniTaskController<QuestController>, IDi
return false;
QuestStep? currentStep = currentSequence?.FindStep(currentQuest.Step);
return currentStep?.AetheryteShortcut != null;
return currentStep?.AetheryteShortcut != null &&
(currentStep.SkipConditions?.AetheryteShortcutIf?.QuestsCompleted.Count ?? 0) == 0 &&
(currentStep.SkipConditions?.AetheryteShortcutIf?.QuestsAccepted.Count ?? 0) == 0;
}
public bool TryPickPriorityQuest()

View File

@ -41,7 +41,7 @@ internal static class Combat
ArgumentNullException.ThrowIfNull(step.DataId);
yield return interactFactory.Interact(step.DataId.Value, quest, EInteractionType.None, true);
yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2));
yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1));
yield return CreateTask(quest, sequence, step);
break;
}
@ -53,14 +53,14 @@ internal static class Combat
yield return useItemFactory.OnObject(quest.Id, step.DataId.Value, step.ItemId.Value,
step.CompletionQuestVariablesFlags, true);
yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2));
yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1));
yield return CreateTask(quest, sequence, step);
break;
}
case EEnemySpawnType.AutoOnEnterArea:
if (step.CombatDelaySecondsAtStart == null)
yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(2));
yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1));
// automatically triggered when entering area, i.e. only unmount
yield return CreateTask(quest, sequence, step);