Add 3 daily Omicron w/ gathering and interactions in Elysion

cacahuetes-minorupdate1
Liza 2024-08-16 19:48:00 +02:00
parent 1bdf86e660
commit 7493902752
Signed by: liza
GPG Key ID: 7199F8D727D55F67
47 changed files with 1543 additions and 9 deletions

View File

@ -2,6 +2,24 @@
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"DataId": 2013074,
"Position": {
"X": 304.3412,
"Y": 483.48206,
"Z": 143.11438
},
"TerritoryId": 960,
"InteractionType": "Interact",
"TargetTerritoryId": 1073,
"SkipConditions": {
"StepIf": {
"InTerritory": [
1073
]
}
}
},
{
"TerritoryId": 1073,
"InteractionType": "None"

View File

@ -2,6 +2,24 @@
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"DataId": 2013074,
"Position": {
"X": 304.3412,
"Y": 483.48206,
"Z": 143.11438
},
"TerritoryId": 960,
"InteractionType": "Interact",
"TargetTerritoryId": 1073,
"SkipConditions": {
"StepIf": {
"InTerritory": [
1073
]
}
}
},
{
"TerritoryId": 1073,
"InteractionType": "None"

View File

@ -2,6 +2,24 @@
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"DataId": 2013074,
"Position": {
"X": 304.3412,
"Y": 483.48206,
"Z": 143.11438
},
"TerritoryId": 960,
"InteractionType": "Interact",
"TargetTerritoryId": 1073,
"SkipConditions": {
"StepIf": {
"InTerritory": [
1073
]
}
}
},
{
"TerritoryId": 1073,
"InteractionType": "None"

View File

@ -2,6 +2,24 @@
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"DataId": 2013074,
"Position": {
"X": 304.3412,
"Y": 483.48206,
"Z": 143.11438
},
"TerritoryId": 960,
"InteractionType": "Interact",
"TargetTerritoryId": 1073,
"SkipConditions": {
"StepIf": {
"InTerritory": [
1073
]
}
}
},
{
"TerritoryId": 1073,
"InteractionType": "None"

View File

@ -2,6 +2,24 @@
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"DataId": 2013074,
"Position": {
"X": 304.3412,
"Y": 483.48206,
"Z": 143.11438
},
"TerritoryId": 960,
"InteractionType": "Interact",
"TargetTerritoryId": 1073,
"SkipConditions": {
"StepIf": {
"InTerritory": [
1073
]
}
}
},
{
"TerritoryId": 1073,
"InteractionType": "None"

View File

@ -2,6 +2,24 @@
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"DataId": 2013074,
"Position": {
"X": 304.3412,
"Y": 483.48206,
"Z": 143.11438
},
"TerritoryId": 960,
"InteractionType": "Interact",
"TargetTerritoryId": 1073,
"SkipConditions": {
"StepIf": {
"InTerritory": [
1073
]
}
}
},
{
"TerritoryId": 1073,
"InteractionType": "None"

View File

@ -2,6 +2,24 @@
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"DataId": 2013074,
"Position": {
"X": 304.3412,
"Y": 483.48206,
"Z": 143.11438
},
"TerritoryId": 960,
"InteractionType": "Interact",
"TargetTerritoryId": 1073,
"SkipConditions": {
"StepIf": {
"InTerritory": [
1073
]
}
}
},
{
"TerritoryId": 1073,
"InteractionType": "None"

View File

@ -2,6 +2,24 @@
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"DataId": 2013074,
"Position": {
"X": 304.3412,
"Y": 483.48206,
"Z": 143.11438
},
"TerritoryId": 960,
"InteractionType": "Interact",
"TargetTerritoryId": 1073,
"SkipConditions": {
"StepIf": {
"InTerritory": [
1073
]
}
}
},
{
"TerritoryId": 1073,
"InteractionType": "None"

View File

@ -0,0 +1,63 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 960,
"InteractionType": "None",
"AetheryteShortcut": "Ultima Thule - Abode of the Ea"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34369,
"Locations": [
{
"Position": {
"X": -381.6697,
"Y": 246.9727,
"Z": -221.478
},
"MinimumAngle": 0,
"MaximumAngle": 225
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34367,
"Locations": [
{
"Position": {
"X": -384.7752,
"Y": 246.2142,
"Z": -220.8562
}
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34368,
"Locations": [
{
"Position": {
"X": -396.0184,
"Y": 245.9229,
"Z": -236.488
}
}
]
}
]
}
]
}

View File

@ -0,0 +1,67 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"Author": "liza",
"Steps": [
{
"TerritoryId": 960,
"InteractionType": "None",
"AetheryteShortcut": "Ultima Thule - Abode of the Ea"
}
],
"Groups": [
{
"Nodes": [
{
"DataId": 34375,
"Locations": [
{
"Position": {
"X": -408.5904,
"Y": 259.0197,
"Z": -361.8408
},
"MinimumAngle": -120,
"MaximumAngle": 60
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34374,
"Locations": [
{
"Position": {
"X": -410.1218,
"Y": 261.0269,
"Z": -364.9317
},
"MinimumAngle": -120,
"MaximumAngle": 35
}
]
}
]
},
{
"Nodes": [
{
"DataId": 34373,
"Locations": [
{
"Position": {
"X": -421.3381,
"Y": 263.4496,
"Z": -366.897
},
"MinimumAngle": -105,
"MaximumAngle": 50
}
]
}
]
}
]
}

View File

@ -398,8 +398,8 @@ public static class RoslynShortcuts
Assignment(nameof(GatheredItem.Collectability), gatheredItem.Collectability,
emptyItem.Collectability)
.AsSyntaxNodeOrToken(),
Assignment(nameof(GatheredItem.ClassJob), gatheredItem.ClassJob,
emptyItem.ClassJob)
Assignment(nameof(GatheredItem.QuestAcceptedAsClass), gatheredItem.QuestAcceptedAsClass,
emptyItem.QuestAcceptedAsClass)
.AsSyntaxNodeOrToken()))));
}
else if (value is GatheringNodeGroup nodeGroup)

View File

@ -0,0 +1,79 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"TerritoryId": 960,
"InteractionType": "None",
"RequiredGatheredItems": [
{
"QuestAcceptedAsClass": "Miner",
"ItemId": 38281,
"ItemCount": 3
},
{
"QuestAcceptedAsClass": "Botanist",
"ItemId": 38305,
"ItemCount": 3
}
]
},
{
"DataId": 1044042,
"Position": {
"X": 507.0725,
"Y": 436.99997,
"Z": 340.07776
},
"TerritoryId": 960,
"InteractionType": "Interact",
"AetheryteShortcut": "Ultima Thule - Base Omicron"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 2013072,
"Position": {
"X": 456.65674,
"Y": 438.04077,
"Z": 310.2312
},
"TerritoryId": 960,
"InteractionType": "Interact",
"TargetTerritoryId": 960
},
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,105 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2013074,
"Position": {
"X": 304.3412,
"Y": 483.48206,
"Z": 143.11438
},
"TerritoryId": 960,
"InteractionType": "Interact",
"TargetTerritoryId": 1073
},
{
"DataId": 1044043,
"Position": {
"X": -7.1260376,
"Y": 498.9474,
"Z": -5.416992
},
"TerritoryId": 1073,
"InteractionType": "Say",
"ChatMessage": {
"Key": "TEXT_BANOMI102_04608_SAYTODO_000_050"
},
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
128
]
},
{
"DataId": 1044044,
"Position": {
"X": 11.215393,
"Y": 499.7763,
"Z": -23.239563
},
"TerritoryId": 1073,
"InteractionType": "Say",
"ChatMessage": {
"Key": "TEXT_BANOMI102_04608_SAYTODO_000_050"
},
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
64
]
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043421,
"Position": {
"X": 2.4261475,
"Y": 499.87805,
"Z": 46.036377
},
"TerritoryId": 1073,
"InteractionType": "Interact",
"TargetTerritoryId": 960
},
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,61 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 2013072,
"Position": {
"X": 456.65674,
"Y": 438.04077,
"Z": 310.2312
},
"TerritoryId": 960,
"InteractionType": "Interact",
"TargetTerritoryId": 960,
"RequiredGatheredItems": [
{
"QuestAcceptedAsClass": "Miner",
"ItemId": 38282,
"ItemCount": 3
},
{
"QuestAcceptedAsClass": "Botanist",
"ItemId": 38306,
"ItemCount": 3
}
],
"AetheryteShortcut": "Ultima Thule - Base Omicron"
},
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -0,0 +1,37 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"Disabled": true,
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1043417,
"Position": {
"X": 314.9004,
"Y": 481.99442,
"Z": 148.11926
},
"TerritoryId": 960,
"InteractionType": "CompleteQuest"
}
]
}
]
}

View File

@ -380,6 +380,13 @@
"type": "number",
"minimum": 0,
"maximum": 1000
},
"QuestAcceptedAsClass": {
"type": "string",
"enum": [
"Miner",
"Botanist"
]
}
},
"required": [

View File

@ -0,0 +1,26 @@
using System;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace Questionable.Model.Questing.Converter;
internal sealed class ClassJobConverter : JsonConverter<uint>
{
public override uint Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
if (reader.TokenType != JsonTokenType.String)
throw new JsonException();
return reader.GetString() switch
{
"Miner" => 16,
"Botanist" => 17,
_ => throw new JsonException("Unsupported value for classjob"),
};
}
public override void Write(Utf8JsonWriter writer, uint value, JsonSerializerOptions options)
{
throw new NotImplementedException();
}
}

View File

@ -1,4 +1,7 @@
namespace Questionable.Model.Questing;
using System.Text.Json.Serialization;
using Questionable.Model.Questing.Converter;
namespace Questionable.Model.Questing;
public sealed class GatheredItem
{
@ -10,5 +13,6 @@ public sealed class GatheredItem
/// <summary>
/// Either miner or botanist; null if it is irrelevant (prefers current class/job, then any unlocked ones).
/// </summary>
public uint? ClassJob { get; set; }
[JsonConverter(typeof(ClassJobConverter))]
public uint? QuestAcceptedAsClass { get; set; }
}

View File

@ -142,7 +142,7 @@ internal sealed class ContextMenuController : IDisposable
ItemId = itemId,
ItemCount = quantity,
Collectability = collectability,
ClassJob = (uint)classJob,
QuestAcceptedAsClass = (uint)classJob,
}
];
_questController.SetGatheringQuest(quest);

View File

@ -13,6 +13,7 @@ using FFXIVClientStructs.FFXIV.Client.UI;
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
using FFXIVClientStructs.FFXIV.Component.GUI;
using LLib;
using LLib.GameData;
using LLib.GameUI;
using Lumina.Excel.GeneratedSheets;
using Microsoft.Extensions.Logging;
@ -21,6 +22,7 @@ using Questionable.Data;
using Questionable.Functions;
using Questionable.Model;
using Questionable.Model.Common;
using Questionable.Model.Gathering;
using Questionable.Model.Questing;
using AethernetShortcut = Questionable.Controller.Steps.Shared.AethernetShortcut;
using Quest = Questionable.Model.Quest;
@ -36,11 +38,14 @@ internal sealed class GameUiController : IDisposable
private readonly AetheryteFunctions _aetheryteFunctions;
private readonly ExcelFunctions _excelFunctions;
private readonly QuestController _questController;
private readonly GatheringData _gatheringData;
private readonly GatheringPointRegistry _gatheringPointRegistry;
private readonly QuestRegistry _questRegistry;
private readonly QuestData _questData;
private readonly IGameGui _gameGui;
private readonly ITargetManager _targetManager;
private readonly IFramework _framework;
private readonly IClientState _clientState;
private readonly ILogger<GameUiController> _logger;
private readonly Regex _returnRegex;
@ -53,12 +58,15 @@ internal sealed class GameUiController : IDisposable
AetheryteFunctions aetheryteFunctions,
ExcelFunctions excelFunctions,
QuestController questController,
GatheringData gatheringData,
GatheringPointRegistry gatheringPointRegistry,
QuestRegistry questRegistry,
QuestData questData,
IGameGui gameGui,
ITargetManager targetManager,
IFramework framework,
IPluginLog pluginLog,
IClientState clientState,
ILogger<GameUiController> logger)
{
_addonLifecycle = addonLifecycle;
@ -67,11 +75,14 @@ internal sealed class GameUiController : IDisposable
_aetheryteFunctions = aetheryteFunctions;
_excelFunctions = excelFunctions;
_questController = questController;
_gatheringData = gatheringData;
_gatheringPointRegistry = gatheringPointRegistry;
_questRegistry = questRegistry;
_questData = questData;
_gameGui = gameGui;
_targetManager = targetManager;
_framework = framework;
_clientState = clientState;
_logger = logger;
_returnRegex = _dataManager.GetExcelSheet<Addon>()!.GetRow(196)!.GetRegex(addon => addon.Text, pluginLog)!;
@ -593,6 +604,7 @@ internal sealed class GameUiController : IDisposable
private unsafe bool HandleTravelYesNo(AddonSelectYesno* addonSelectYesno,
QuestController.QuestProgress currentQuest, string actualPrompt)
{
_logger.LogInformation("TravelYesNo");
if (_aetheryteFunctions.ReturnRequestedAt >= DateTime.Now.AddSeconds(-2) && _returnRegex.IsMatch(actualPrompt))
{
_logger.LogInformation("Automatically confirming return...");
@ -633,6 +645,29 @@ internal sealed class GameUiController : IDisposable
step.TerritoryId,
step.TargetTerritoryId);
if (step != null && (step.TerritoryId != _clientState.TerritoryType || step.TargetTerritoryId == null) &&
step.RequiredGatheredItems.Count > 0)
{
if (_gatheringData.TryGetGatheringPointId(step.RequiredGatheredItems[0].ItemId,
(EClassJob?)_clientState.LocalPlayer?.ClassJob.Id ?? EClassJob.Adventurer,
out GatheringPointId? gatheringPointId) &&
_gatheringPointRegistry.TryGetGatheringPoint(gatheringPointId, out GatheringRoot? root))
{
foreach (var gatheringStep in root.Steps)
{
if (gatheringStep.TerritoryId == _clientState.TerritoryType &&
gatheringStep.TargetTerritoryId != null)
{
_logger.LogTrace(
"FindTargetTerritoryFromQuestStep (gathering): {CurrentTerritory}, {TargetTerritory}",
gatheringStep.TerritoryId,
gatheringStep.TargetTerritoryId);
return gatheringStep.TargetTerritoryId;
}
}
}
}
if (step == null || step.TargetTerritoryId == null)
{
_logger.LogTrace("FindTargetTerritoryFromQuestStep: Checking previous step...");

View File

@ -269,7 +269,7 @@ internal sealed unsafe class GatheringController : MiniTaskController<GatheringC
}
}
private sealed class CurrentRequest
internal sealed class CurrentRequest
{
public required GatheringRequest Data { get; init; }
public required GatheringRoot Root { get; init; }

View File

@ -3,12 +3,14 @@ using System.Collections.Generic;
using System.Linq;
using Dalamud.Game.Text;
using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Application.Network.WorkDefinitions;
using FFXIVClientStructs.FFXIV.Client.Game;
using LLib.GameData;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Questionable.Controller.Steps.Common;
using Questionable.Data;
using Questionable.Functions;
using Questionable.Model;
using Questionable.Model.Gathering;
using Questionable.Model.Questing;
@ -32,8 +34,12 @@ internal static class GatheringRequiredItems
{
EClassJob currentClassJob = (EClassJob)clientState.LocalPlayer!.ClassJob.Id;
EClassJob classJob = currentClassJob;
if (requiredGatheredItems.ClassJob != null)
classJob = (EClassJob)requiredGatheredItems.ClassJob.Value;
if (requiredGatheredItems.QuestAcceptedAsClass != null)
{
classJob = (EClassJob)requiredGatheredItems.QuestAcceptedAsClass.Value;
if (!IsClassJobQuestWasAcceptedWith(quest.Id, classJob))
continue;
}
if (!gatheringData.TryGetGatheringPointId(requiredGatheredItems.ItemId, classJob,
out GatheringPointId? gatheringPointId))
@ -79,6 +85,18 @@ internal static class GatheringRequiredItems
}
}
private unsafe bool IsClassJobQuestWasAcceptedWith(ElementId questId, EClassJob expectedClassJob)
{
if (questId is not QuestId)
return true;
QuestWork* questWork = QuestManager.Instance()->GetQuestById(questId.Value);
if (questWork->AcceptClassJob != 0)
return (EClassJob)questWork->AcceptClassJob == expectedClassJob;
return true;
}
private unsafe bool HasRequiredItems(GatheredItem requiredGatheredItems)
{
InventoryManager* inventoryManager = InventoryManager.Instance();

View File

@ -33,7 +33,7 @@ internal sealed class QuestProgressInfo
// Last enemy → increase sequence, reset variable to 0
// The order in which enemies are killed doesn't seem to matter.
// If multiple waves spawn, this continues to count up (e.g. 1 enemy from wave 1, 2 enemies from wave 2, 1 from wave 3) would count to 3 then 0
_asString = $"QW: {vars.Trim()}";
_asString = $"QW: {vars.Trim()}, {(EClassJob)questWork.AcceptClassJob}";
}
public QuestProgressInfo(LeveWork leveWork)