Add SkipConditions to resume if duty-blocked at 'Good Intentions' and 'A Time to Every Purpose'

This commit is contained in:
Liza 2024-08-11 02:44:29 +02:00
parent 84c95535ae
commit 13e54aa8c3
Signed by: liza
GPG Key ID: 7199F8D727D55F67
12 changed files with 150 additions and 11 deletions

View File

@ -22,9 +22,9 @@
"Steps": [
{
"Position": {
"X": -209.9414,
"Y": -42.109043,
"Z": -248.07559
"X": -203.21945,
"Y": -42.30963,
"Z": -253.10411
},
"StopDistance": 0.25,
"TerritoryId": 138,

View File

@ -117,7 +117,12 @@
},
"TerritoryId": 135,
"InteractionType": "WalkTo",
"Mount": true
"Mount": true,
"SkipConditions": {
"StepIf": {
"AetheryteUnlocked": "Lower La Noscea - Moraby Drydocks"
}
}
},
{
"Position": {
@ -127,12 +132,22 @@
},
"TerritoryId": 135,
"InteractionType": "WalkTo",
"Fly": true
"Fly": true,
"SkipConditions": {
"StepIf": {
"AetheryteUnlocked": "Lower La Noscea - Moraby Drydocks"
}
}
},
{
"TerritoryId": 135,
"InteractionType": "AttuneAetheryte",
"Aetheryte": "Lower La Noscea - Moraby Drydocks"
"Aetheryte": "Lower La Noscea - Moraby Drydocks",
"SkipConditions": {
"StepIf": {
"AetheryteUnlocked": "Lower La Noscea - Moraby Drydocks"
}
}
},
{
"Position": {
@ -142,7 +157,13 @@
},
"TerritoryId": 135,
"InteractionType": "WalkTo",
"Fly": true
"Fly": true,
"AetheryteShortcut": "Lower La Noscea - Moraby Drydocks",
"SkipConditions": {
"AetheryteShortcutIf": {
"AetheryteLocked": "Lower La Noscea - Moraby Drydocks"
}
}
},
{
"DataId": 1008693,

View File

@ -91,6 +91,17 @@
{
"Sequence": 255,
"Steps": [
{
"Position": {
"X": -119.1183,
"Y": 3.7999938,
"Z": -104.33473
},
"TerritoryId": 130,
"InteractionType": "WalkTo",
"AetheryteShortcut": "Ul'dah",
"$": "Ul'dah Aetheryte to Immortal Flames"
},
{
"DataId": 1004576,
"Position": {
@ -99,8 +110,7 @@
"Z": -114.67157
},
"TerritoryId": 130,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "Ul'dah"
"InteractionType": "CompleteQuest"
}
]
}

View File

@ -87,6 +87,16 @@
{
"Sequence": 4,
"Steps": [
{
"Position": {
"X": -340.60776,
"Y": 259.52878,
"Z": 58.521606
},
"TerritoryId": 155,
"InteractionType": "WalkTo",
"Fly": true
},
{
"DataId": 2004655,
"Position": {

View File

@ -86,6 +86,7 @@
"Y": 71.617355,
"Z": -132.52466
},
"StopDistance": 5,
"TerritoryId": 147,
"InteractionType": "CompleteQuest"
}

View File

@ -12,6 +12,7 @@
"Y": 71.617355,
"Z": -132.52466
},
"StopDistance": 5,
"TerritoryId": 147,
"InteractionType": "AcceptQuest",
"AetheryteShortcut": "Northern Thanalan - Ceruleum Processing Plant",

View File

@ -5,6 +5,46 @@
{
"Sequence": 0,
"Steps": [
{
"TerritoryId": 156,
"DataId": 2002881,
"Position": {
"X": 21.133728,
"Y": 22.323914,
"Z": -631.281
},
"InteractionType": "Interact",
"TargetTerritoryId": 351,
"AetheryteShortcut": "Mor Dhona",
"SkipConditions": {
"StepIf": {
"InTerritory": [
351
]
},
"AetheryteShortcutIf": {
"InTerritory": [
351
]
}
}
},
{
"DataId": 2002878,
"Position": {
"X": -0.015319824,
"Y": -1.0223389,
"Z": -26.779602
},
"TerritoryId": 351,
"InteractionType": "Interact",
"TargetTerritoryId": 351,
"SkipConditions": {
"StepIf": {
"ExtraCondition": "RisingStonesSolar"
}
}
},
{
"DataId": 1008969,
"Position": {

View File

@ -5,6 +5,46 @@
{
"Sequence": 0,
"Steps": [
{
"TerritoryId": 156,
"DataId": 2002881,
"Position": {
"X": 21.133728,
"Y": 22.323914,
"Z": -631.281
},
"InteractionType": "Interact",
"TargetTerritoryId": 351,
"AetheryteShortcut": "Mor Dhona",
"SkipConditions": {
"StepIf": {
"InTerritory": [
351
]
},
"AetheryteShortcutIf": {
"InTerritory": [
351
]
}
}
},
{
"DataId": 2002878,
"Position": {
"X": -0.015319824,
"Y": -1.0223389,
"Z": -26.779602
},
"TerritoryId": 351,
"InteractionType": "Interact",
"TargetTerritoryId": 351,
"SkipConditions": {
"StepIf": {
"ExtraCondition": "RisingStonesSolar"
}
}
},
{
"DataId": 1010897,
"Position": {

View File

@ -246,7 +246,8 @@
"ExtraCondition": {
"type": "string",
"enum": [
"WakingSandsMainArea"
"WakingSandsMainArea",
"RisingStonesSolar"
]
}
},

View File

@ -8,5 +8,6 @@ public sealed class SkipConditionConverter() : EnumConverter<EExtraSkipCondition
private static readonly Dictionary<EExtraSkipCondition, string> Values = new()
{
{ EExtraSkipCondition.WakingSandsMainArea, "WakingSandsMainArea" },
{ EExtraSkipCondition.RisingStonesSolar, "RisingStonesSolar"},
};
}

View File

@ -8,4 +8,6 @@ public enum EExtraSkipCondition
{
None,
WakingSandsMainArea,
RisingStonesSolar,
}

View File

@ -204,7 +204,8 @@ internal static class SkipCondition
}
}
if (SkipConditions.ExtraCondition == EExtraSkipCondition.WakingSandsMainArea)
if (SkipConditions.ExtraCondition == EExtraSkipCondition.WakingSandsMainArea &&
clientState.TerritoryType == 212)
{
var position = clientState.LocalPlayer!.Position;
if (position.X < 24)
@ -214,6 +215,17 @@ internal static class SkipCondition
}
}
if (SkipConditions.ExtraCondition == EExtraSkipCondition.RisingStonesSolar &&
clientState.TerritoryType == 351)
{
var position = clientState.LocalPlayer!.Position;
if (position.Z <= -28)
{
logger.LogInformation("Skipping step, as we're in the Rising Stones Solar");
return true;
}
}
if (Step.PickUpQuestId != null && questFunctions.IsQuestAcceptedOrComplete(Step.PickUpQuestId))
{
logger.LogInformation("Skipping step, as we have already picked up the relevant quest");