forked from liza/Questionable
Daily quest updates
This commit is contained in:
parent
36ed78bcea
commit
cc0c972bae
@ -21,7 +21,98 @@
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
|
||||
{
|
||||
"Position": {
|
||||
"X": -246.48618,
|
||||
"Y": 54.663364,
|
||||
"Z": 605.60834
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "WalkTo",
|
||||
"Fly": true,
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
-128
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2010856,
|
||||
"Position": {
|
||||
"X": -271.29016,
|
||||
"Y": 52.96399,
|
||||
"Z": 605.9204
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"DisableNavmesh": true,
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
128
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2010858,
|
||||
"Position": {
|
||||
"X": -250.62946,
|
||||
"Y": 50.94983,
|
||||
"Z": 597.7416
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
32
|
||||
]
|
||||
},
|
||||
{
|
||||
"Position": {
|
||||
"X": -261.1694,
|
||||
"Y": 50.977943,
|
||||
"Z": 589.3572
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "WalkTo",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
-64
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2010857,
|
||||
"Position": {
|
||||
"X": -261.1277,
|
||||
"Y": 50.94983,
|
||||
"Z": 585.2903
|
||||
},
|
||||
"StopDistance": 4.5,
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"DisableNavmesh": true,
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
64
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"Disabled": true,
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
@ -21,16 +20,6 @@
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": -466.72015,
|
||||
"Y": 44.63006,
|
||||
"Z": -310.0618
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "WalkTo",
|
||||
"Fly": true
|
||||
},
|
||||
{
|
||||
"DataId": 1032140,
|
||||
"Position": {
|
||||
@ -43,8 +32,17 @@
|
||||
"ChatMessage": {
|
||||
"Key": "TEXT_BANPIX103_03691_SAYTODO_000_030"
|
||||
},
|
||||
"SkipIf": [
|
||||
"NotTargetable"
|
||||
"$": "QW: 0 0 0 1 0 0",
|
||||
"Fly": true,
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
[
|
||||
1
|
||||
],
|
||||
null,
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -59,8 +57,17 @@
|
||||
"ChatMessage": {
|
||||
"Key": "TEXT_BANPIX103_03691_SAYTODO_000_030"
|
||||
},
|
||||
"SkipIf": [
|
||||
"NotTargetable"
|
||||
"$": "QW: 0 0 0 3 0 0",
|
||||
"Fly": true,
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
[
|
||||
3
|
||||
],
|
||||
null,
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -70,13 +77,22 @@
|
||||
"Y": 50.10258,
|
||||
"Z": -328.26733
|
||||
},
|
||||
"$": "QW: 0 0 0 2 0 0",
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Say",
|
||||
"ChatMessage": {
|
||||
"Key": "TEXT_BANPIX103_03691_SAYTODO_000_030"
|
||||
},
|
||||
"SkipIf": [
|
||||
"NotTargetable"
|
||||
"Fly": true,
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
[
|
||||
2
|
||||
],
|
||||
null,
|
||||
null
|
||||
]
|
||||
}
|
||||
]
|
||||
|
@ -3,9 +3,7 @@
|
||||
QuestWork:
|
||||
```
|
||||
0 0 0 x 0 0
|
||||
1 → 1032140
|
||||
2 → 1032142
|
||||
3 → 1032141
|
||||
|
||||
unknown
|
||||
? → 1032140
|
||||
```
|
||||
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"Disabled": true,
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
@ -20,17 +19,19 @@
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Comment": "TODO Has multiple possible targets, unsure if QW works",
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": -342.05676,
|
||||
"Y": 37.5036,
|
||||
"Z": 434.53723
|
||||
"X": -344.05838,
|
||||
"Y": 45.450672,
|
||||
"Z": 456.10266
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "WalkTo",
|
||||
"Fly": true
|
||||
"Fly": true,
|
||||
"SkipIf": [
|
||||
"FlyingLocked"
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2010860,
|
||||
@ -41,8 +42,23 @@
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"SkipIf": [
|
||||
"NotTargetable"
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
[
|
||||
{
|
||||
"Low": 1
|
||||
},
|
||||
{
|
||||
"Low": 2
|
||||
},
|
||||
{
|
||||
"Low": 3
|
||||
}
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -54,8 +70,23 @@
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"SkipIf": [
|
||||
"NotTargetable"
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
[
|
||||
{
|
||||
"Low": 3
|
||||
},
|
||||
{
|
||||
"Low": 4
|
||||
},
|
||||
{
|
||||
"Low": 5
|
||||
}
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -67,8 +98,23 @@
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"SkipIf": [
|
||||
"NotTargetable"
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
[
|
||||
{
|
||||
"Low": 1
|
||||
},
|
||||
{
|
||||
"Low": 4
|
||||
},
|
||||
{
|
||||
"Low": 6
|
||||
}
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"IgnoreDistanceToObject": true
|
||||
},
|
||||
@ -81,8 +127,23 @@
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"SkipIf": [
|
||||
"NotTargetable"
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
[
|
||||
{
|
||||
"Low": 2
|
||||
},
|
||||
{
|
||||
"Low": 5
|
||||
},
|
||||
{
|
||||
"Low": 6
|
||||
}
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"IgnoreDistanceToObject": true
|
||||
}
|
||||
|
@ -2,7 +2,11 @@
|
||||
|
||||
QuestWork:
|
||||
```
|
||||
0 x 0 0 0 0
|
||||
4 → 2010861, 2010863
|
||||
5 → 2010861, 2010862
|
||||
0 x 0 0 0 0 | QW after first
|
||||
1 → 2010860 2010863 | 1 18 0 0 0 128
|
||||
2 → 2010860 2010862 | 1 18 0 0 0 128
|
||||
3 → 2010860 2010861 | 1 19 0 0 0 128
|
||||
4 → 2010861 2010863 |
|
||||
5 → 2010861 2010862 |
|
||||
6 → 2010862 2010863 | 1 22 0 0 0 128
|
||||
```
|
||||
|
@ -41,6 +41,25 @@
|
||||
"Fly": true,
|
||||
"DisableNavmesh": true
|
||||
},
|
||||
{
|
||||
"DataId": 2010865,
|
||||
"Position": {
|
||||
"X": -335.59174,
|
||||
"Y": -53.75763,
|
||||
"Z": -277.9126
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true,
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
[1],
|
||||
null,
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2010866,
|
||||
"Position": {
|
||||
@ -50,7 +69,34 @@
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true
|
||||
"Fly": true,
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
[2],
|
||||
null,
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2010867,
|
||||
"Position": {
|
||||
"X": -351.64417,
|
||||
"Y": -53.635498,
|
||||
"Z": -295.73517
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true,
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
[3],
|
||||
null,
|
||||
null
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -0,0 +1,10 @@
|
||||
## I Dream of Shinies
|
||||
|
||||
QuestWork:
|
||||
|
||||
```
|
||||
0 0 0 x 0 0
|
||||
1 → 2010865
|
||||
2 → 2010866
|
||||
3 → 2010867
|
||||
```
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"Disabled": true,
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
@ -21,7 +20,102 @@
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
|
||||
{
|
||||
"DataId": 1031811,
|
||||
"Position": {
|
||||
"X": -442.46588,
|
||||
"Y": 70.686165,
|
||||
"Z": 573.69336
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2010891,
|
||||
"Position": {
|
||||
"X": -852.0485,
|
||||
"Y": 37.67456,
|
||||
"Z": 298.11548
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Action",
|
||||
"Action": "Siphon Snout",
|
||||
"Fly": true,
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
null,
|
||||
[
|
||||
{
|
||||
"High": 1
|
||||
},
|
||||
{
|
||||
"High": 2
|
||||
}
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2010892,
|
||||
"Position": {
|
||||
"X": -774.44116,
|
||||
"Y": 54.520386,
|
||||
"Z": 102.61682
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Action",
|
||||
"Action": "Siphon Snout",
|
||||
"Fly": true,
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
null,
|
||||
[
|
||||
{
|
||||
"High": 1
|
||||
},
|
||||
{
|
||||
"High": 3
|
||||
}
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2010893,
|
||||
"Position": {
|
||||
"X": -802.30414,
|
||||
"Y": 27.115234,
|
||||
"Z": -108.44586
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Action",
|
||||
"Action": "Siphon Snout",
|
||||
"Fly": true,
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
null,
|
||||
[
|
||||
{
|
||||
"High": 2
|
||||
},
|
||||
{
|
||||
"High": 3
|
||||
}
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -36,6 +130,7 @@
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "CompleteQuest",
|
||||
"AetheryteShortcut": "Il Mheg - Lydha Lran",
|
||||
"Fly": true
|
||||
}
|
||||
]
|
||||
|
@ -0,0 +1,9 @@
|
||||
## Sharing is Caring
|
||||
|
||||
QuestWork:
|
||||
```
|
||||
0 0 xx 0 0 0
|
||||
16 → 2010891 2010892
|
||||
32 → 2010891 2010893 | unverified
|
||||
48 → 2010892 2010893
|
||||
```
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"Disabled": true,
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
@ -31,10 +30,16 @@
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true,
|
||||
"SkipIf": [
|
||||
"NotTargetable"
|
||||
],
|
||||
"$": "Only if QW: 0 48 0 0 0 0"
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
[
|
||||
48
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1032168,
|
||||
@ -46,10 +51,16 @@
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true,
|
||||
"SkipIf": [
|
||||
"NotTargetable"
|
||||
],
|
||||
"$": "Only if QW: 0 32 0 0 0 0"
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
[
|
||||
32
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1032167,
|
||||
@ -61,8 +72,15 @@
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true,
|
||||
"SkipIf": [
|
||||
"NotTargetable"
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
[
|
||||
16
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
}
|
||||
]
|
||||
|
@ -3,7 +3,7 @@
|
||||
QuestWork:
|
||||
```
|
||||
0 x 0 0 0 0
|
||||
32 → 1032168
|
||||
16 → Tall Fuath (1032167)
|
||||
32 → Trembling Scavenger (1032168)
|
||||
48 → Elegant Eulmoran (1032169)
|
||||
?? → 1032167
|
||||
```
|
||||
|
@ -31,7 +31,7 @@
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true,
|
||||
"$": "Only if QW: 0 0 ??? 0 0 0",
|
||||
"$": "Only if QW: 0 0 3 0 0 0",
|
||||
"SkipIf": ["NotTargetable"]
|
||||
},
|
||||
{
|
||||
@ -43,7 +43,7 @@
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"$": "Only if QW: 0 0 1 0 0 0 → if complete, 0 16 0 0 0 0",
|
||||
"$": "Only if QW: 0 0 1 0 0 0",
|
||||
"SkipIf": ["NotTargetable"]
|
||||
}
|
||||
]
|
||||
|
@ -41,7 +41,39 @@
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"DisableNavmesh": true,
|
||||
"$": "QW: 0 2 0 0 0 0"
|
||||
"$": "QW: 0 2 0 0 0 0",
|
||||
"SkipIf": [
|
||||
"NotTargetable"
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2010904,
|
||||
"Position": {
|
||||
"X": -164.93481,
|
||||
"Y": -50.919373,
|
||||
"Z": 71.15283
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"$": "QW: 0 3 0 0 0 0",
|
||||
"SkipIf": [
|
||||
"NotTargetable"
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2010910,
|
||||
"Position": {
|
||||
"X": -189.86804,
|
||||
"Y": -66.941345,
|
||||
"Z": 13.046387
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"DisableNavmesh": true,
|
||||
"$": "QW: 0 1 0 0 0 0",
|
||||
"SkipIf": [
|
||||
"NotTargetable"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"Disabled": true,
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
@ -21,7 +20,37 @@
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
|
||||
{
|
||||
"DataId": 1032204,
|
||||
"Position": {
|
||||
"X": -81.864685,
|
||||
"Y": 88.12085,
|
||||
"Z": -175.06683
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "UseItem",
|
||||
"ItemId": 2002945,
|
||||
"$": "QW 0 32 0 0 0 0",
|
||||
"Fly": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1032205,
|
||||
"Position": {
|
||||
"X": -114.21387,
|
||||
"Y": 112.903015,
|
||||
"Z": -350.57605
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "UseItem",
|
||||
"ItemId": 2002945,
|
||||
"$": "QW 0 17 0 0 0 0",
|
||||
"Fly": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -36,7 +65,15 @@
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "CompleteQuest",
|
||||
"Fly": true
|
||||
"AetheryteShortcut": "Il Mheg - Lydha Lran",
|
||||
"Fly": true,
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "List",
|
||||
"Prompt": "TEXT_BANPIX122_03710_Q1_000_000",
|
||||
"Answer": "TEXT_BANPIX122_03710_A1_000_002"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -0,0 +1,236 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1031806,
|
||||
"Position": {
|
||||
"X": -464.59143,
|
||||
"Y": 71.76874,
|
||||
"Z": 573.8766
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "AcceptQuest"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1031891,
|
||||
"Position": {
|
||||
"X": -461.53967,
|
||||
"Y": 72.51729,
|
||||
"Z": 586.48047
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"TargetTerritoryId": 890
|
||||
},
|
||||
{
|
||||
"DataId": 1031853,
|
||||
"Position": {
|
||||
"X": 60.471436,
|
||||
"Y": -1.6051313,
|
||||
"Z": 53.543823
|
||||
},
|
||||
"TerritoryId": 890,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1031852,
|
||||
"Position": {
|
||||
"X": 59.03711,
|
||||
"Y": -1.7997739,
|
||||
"Z": 56.565186
|
||||
},
|
||||
"TerritoryId": 890,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1031855,
|
||||
"Position": {
|
||||
"X": 74.784424,
|
||||
"Y": 98.85967,
|
||||
"Z": -820.88965
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Il Mheg - Pia Enni",
|
||||
"Fly": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 4,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1031858,
|
||||
"Position": {
|
||||
"X": -211.35272,
|
||||
"Y": 16.63259,
|
||||
"Z": 427.32886
|
||||
},
|
||||
"TerritoryId": 814,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Kholusia - Wright",
|
||||
"Fly": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 5,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1031860,
|
||||
"Position": {
|
||||
"X": -217.45636,
|
||||
"Y": 21.481304,
|
||||
"Z": 356.9237
|
||||
},
|
||||
"TerritoryId": 814,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 6,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": -137.7369,
|
||||
"Y": 11.939666,
|
||||
"Z": 336.4078
|
||||
},
|
||||
"TerritoryId": 814,
|
||||
"InteractionType": "Combat",
|
||||
"EnemySpawnType": "AutoOnEnterArea",
|
||||
"KillEnemyDataIds": [
|
||||
11438
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 7,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1031861,
|
||||
"Position": {
|
||||
"X": -149.85895,
|
||||
"Y": 13.084818,
|
||||
"Z": 341.1764
|
||||
},
|
||||
"TerritoryId": 814,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 8,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1031860,
|
||||
"Position": {
|
||||
"X": -217.45636,
|
||||
"Y": 21.481304,
|
||||
"Z": 356.9237
|
||||
},
|
||||
"TerritoryId": 814,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 9,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1031891,
|
||||
"Position": {
|
||||
"X": -461.53967,
|
||||
"Y": 72.51729,
|
||||
"Z": 586.48047
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Il Mheg - Lydha Lran",
|
||||
"Fly": true,
|
||||
"TargetTerritoryId": 890
|
||||
},
|
||||
{
|
||||
"DataId": 1031863,
|
||||
"Position": {
|
||||
"X": 60.379883,
|
||||
"Y": 31.0353,
|
||||
"Z": -110.76526
|
||||
},
|
||||
"TerritoryId": 890,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 10,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": 0,
|
||||
"Y": 0,
|
||||
"Z": 0
|
||||
},
|
||||
"TerritoryId": 1,
|
||||
"InteractionType": "WalkTo",
|
||||
"Comment": "Filler"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 11,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1032350,
|
||||
"Position": {
|
||||
"X": 63.797974,
|
||||
"Y": 30.266184,
|
||||
"Z": -103.4715
|
||||
},
|
||||
"TerritoryId": 891,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1031806,
|
||||
"Position": {
|
||||
"X": -464.59143,
|
||||
"Y": 71.76874,
|
||||
"Z": 573.8766
|
||||
},
|
||||
"TerritoryId": 816,
|
||||
"InteractionType": "CompleteQuest",
|
||||
"AetheryteShortcut": "Il Mheg - Lydha Lran",
|
||||
"Fly": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"Disabled": true,
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
@ -21,7 +20,63 @@
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
|
||||
{
|
||||
"DataId": 1042363,
|
||||
"Position": {
|
||||
"X": 227.58826,
|
||||
"Y": 4.933288,
|
||||
"Z": 644.4037
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Thavnair - Yedlihmad",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
128
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1042364,
|
||||
"Position": {
|
||||
"X": 198.93188,
|
||||
"Y": 1.7699993,
|
||||
"Z": 707.1183
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true,
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
64
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1042365,
|
||||
"Position": {
|
||||
"X": 177.66077,
|
||||
"Y": 5.331657,
|
||||
"Z": 651.27026
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true,
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
32
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -19,8 +19,64 @@
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Comment": "There are more NPC/dialogue choices",
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1042368,
|
||||
"Position": {
|
||||
"X": -485.771,
|
||||
"Y": 39.62969,
|
||||
"Z": 114.213745
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Thavnair - Great Work",
|
||||
"Fly": true,
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "List",
|
||||
"Prompt": "TEXT_BANARK106_04556_Q1_000_000",
|
||||
"Answer": "TEXT_BANARK106_04556_A1_000_001"
|
||||
}
|
||||
],
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
null,
|
||||
[
|
||||
48
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1042369,
|
||||
"Position": {
|
||||
"X": -561.2726,
|
||||
"Y": 11.802609,
|
||||
"Z": 128.95398
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true,
|
||||
"DialogueChoices": [
|
||||
{
|
||||
"Type": "List",
|
||||
"Prompt": "TEXT_BANARK106_04556_Q2_000_000",
|
||||
"Answer": "TEXT_BANARK106_04556_A2_000_001"
|
||||
}
|
||||
],
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
null,
|
||||
[
|
||||
16
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1042370,
|
||||
"Position": {
|
||||
@ -37,8 +93,15 @@
|
||||
"Answer": "TEXT_BANARK106_04556_A3_000_001"
|
||||
}
|
||||
],
|
||||
"SkipIf": [
|
||||
"NotTargetable"
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
null,
|
||||
[
|
||||
32
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
}
|
||||
]
|
||||
|
@ -0,0 +1,8 @@
|
||||
## Bloomin' Ocean
|
||||
|
||||
```
|
||||
0 0 ?? 0 0 0
|
||||
16 → 1042369
|
||||
32 → 1042370
|
||||
48 → 1042368
|
||||
```
|
@ -29,7 +29,11 @@
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Thavnair - Palaka's Stand",
|
||||
"AetheryteShortcut": "Radz-at-Han",
|
||||
"AethernetShortcut": [
|
||||
"[Radz-at-Han] Aetheryte Plaza",
|
||||
"[Radz-at-Han] The Gate of First Sight (Thavnair)"
|
||||
],
|
||||
"Fly": true
|
||||
}
|
||||
]
|
||||
|
@ -32,7 +32,9 @@
|
||||
"EnemySpawnType": "AutoOnEnterArea",
|
||||
"KillEnemyDataIds": [
|
||||
14676
|
||||
]
|
||||
],
|
||||
"Fly": true,
|
||||
"AetheryteShortcut": "Thavnair - Great Work"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"Disabled": true,
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
@ -21,7 +20,122 @@
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
|
||||
{
|
||||
"Position": {
|
||||
"X": -611.4443,
|
||||
"Y": 4.030203,
|
||||
"Z": 520.76807
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "WalkTo",
|
||||
"Fly": true
|
||||
},
|
||||
{
|
||||
"DataId": 2012880,
|
||||
"Position": {
|
||||
"X": -669.4896,
|
||||
"Y": -36.42328,
|
||||
"Z": 522.6367
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true,
|
||||
"DisableNavmesh": true,
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
[
|
||||
{
|
||||
"Low": 1
|
||||
},
|
||||
{
|
||||
"Low": 4
|
||||
}
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2012881,
|
||||
"Position": {
|
||||
"X": -652.4605,
|
||||
"Y": -31.784546,
|
||||
"Z": 554.46704
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true,
|
||||
"DisableNavmesh": true,
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
[
|
||||
{
|
||||
"Low": 2
|
||||
},
|
||||
{
|
||||
"Low": 3
|
||||
}
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2012882,
|
||||
"Position": {
|
||||
"X": -729.9458,
|
||||
"Y": -38.864807,
|
||||
"Z": 600.5187
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true,
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
[
|
||||
{
|
||||
"Low": 1
|
||||
},
|
||||
{
|
||||
"Low": 3
|
||||
}
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 2012883,
|
||||
"Position": {
|
||||
"X": -746.0593,
|
||||
"Y": -38.92578,
|
||||
"Z": 597.0397
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true,
|
||||
"RequiredQuestVariables": [
|
||||
null,
|
||||
[
|
||||
{
|
||||
"Low": 2
|
||||
},
|
||||
{
|
||||
"Low": 4
|
||||
}
|
||||
],
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -36,6 +150,7 @@
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "CompleteQuest",
|
||||
"AetheryteShortcut": "Thavnair - Yedlihmad",
|
||||
"Fly": true
|
||||
}
|
||||
]
|
||||
|
@ -0,0 +1,9 @@
|
||||
## Bloomin' Ocean
|
||||
|
||||
```
|
||||
0 ? 0 0 0 0
|
||||
1 → 2012880 2012882
|
||||
2 → 2012881 2012883
|
||||
3 → 2012881 2012882
|
||||
4 → 2012880 2012883
|
||||
```
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"Disabled": true,
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
|
@ -1,12 +0,0 @@
|
||||
## Seedy Affair
|
||||
|
||||
First NPC:
|
||||
```
|
||||
0 ?? 0 0 0 0
|
||||
32 → 1042390
|
||||
```
|
||||
|
||||
Second NPC:
|
||||
```
|
||||
1 16 0 0 0 64 → 1042389
|
||||
```
|
@ -0,0 +1,214 @@
|
||||
{
|
||||
"$schema": "https://carvel.li/questionable/quest-1.0",
|
||||
"Author": "liza",
|
||||
"QuestSequence": [
|
||||
{
|
||||
"Sequence": 0,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1042300,
|
||||
"Position": {
|
||||
"X": -76.82922,
|
||||
"Y": 39.986862,
|
||||
"Z": 309.98706
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "AcceptQuest"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 1,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 2012919,
|
||||
"Position": {
|
||||
"X": -464.22522,
|
||||
"Y": 5.3864136,
|
||||
"Z": 22.445984
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Thavnair - Great Work"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 2,
|
||||
"Steps": [
|
||||
{
|
||||
"Position": {
|
||||
"X": -363.06543,
|
||||
"Y": 55.300343,
|
||||
"Z": -108.32965
|
||||
},
|
||||
"StopDistance": 0.25,
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Combat",
|
||||
"EnemySpawnType": "AutoOnEnterArea",
|
||||
"KillEnemyDataIds": [
|
||||
14681
|
||||
],
|
||||
"Fly": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 3,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1042318,
|
||||
"Position": {
|
||||
"X": -360.49445,
|
||||
"Y": 54.680054,
|
||||
"Z": -102.9527
|
||||
},
|
||||
"StopDistance": 7,
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 4,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1042321,
|
||||
"Position": {
|
||||
"X": -522.9725,
|
||||
"Y": 11.61713,
|
||||
"Z": 88.97534
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Thavnair - Great Work"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 5,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1042322,
|
||||
"Position": {
|
||||
"X": -523.36926,
|
||||
"Y": 10.9199,
|
||||
"Z": 85.34363
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 6,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1042324,
|
||||
"Position": {
|
||||
"X": -558.0072,
|
||||
"Y": 11.802552,
|
||||
"Z": 114.03064
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact",
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
64
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1042325,
|
||||
"Position": {
|
||||
"X": -552.75806,
|
||||
"Y": 1.120665,
|
||||
"Z": 23.392029
|
||||
},
|
||||
"StopDistance": 0.5,
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true,
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
32
|
||||
]
|
||||
},
|
||||
{
|
||||
"DataId": 1042323,
|
||||
"Position": {
|
||||
"X": -480.33875,
|
||||
"Y": 1.9096844,
|
||||
"Z": -13.53479
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact",
|
||||
"Fly": true,
|
||||
"CompletionQuestVariablesFlags": [
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
128
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 7,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1042321,
|
||||
"Position": {
|
||||
"X": -522.9725,
|
||||
"Y": 11.61713,
|
||||
"Z": 88.97534
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 8,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1041397,
|
||||
"Position": {
|
||||
"X": 402.30408,
|
||||
"Y": 3.0506973,
|
||||
"Z": -212.35986
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "Interact",
|
||||
"AetheryteShortcut": "Thavnair - Palaka's Stand"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Sequence": 255,
|
||||
"Steps": [
|
||||
{
|
||||
"DataId": 1042300,
|
||||
"Position": {
|
||||
"X": -76.82922,
|
||||
"Y": 39.986862,
|
||||
"Z": 309.98706
|
||||
},
|
||||
"TerritoryId": 957,
|
||||
"InteractionType": "CompleteQuest",
|
||||
"AetheryteShortcut": "Thavnair - Yedlihmad",
|
||||
"Fly": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -188,6 +188,41 @@
|
||||
"CompletionQuestVariablesFlags": {
|
||||
"$ref": "#/$defs/CompletionFlags"
|
||||
},
|
||||
"RequiredQuestVariables": {
|
||||
"type": "array",
|
||||
"description": "Certain quests (primarily beast tribes/allied societies) have a RNG element to spawning targets, and the step should be skipped in its entirety if none of the sets below match",
|
||||
"minItems": 6,
|
||||
"maxItems": 6,
|
||||
"items": {
|
||||
"type": ["array", "null"],
|
||||
"items": {
|
||||
"type": [
|
||||
"number",
|
||||
"object"
|
||||
],
|
||||
"properties": {
|
||||
"High": {
|
||||
"type": [
|
||||
"number",
|
||||
"null"
|
||||
],
|
||||
"minimum": 0,
|
||||
"maximum": 15
|
||||
},
|
||||
"Low": {
|
||||
"type": [
|
||||
"number",
|
||||
"null"
|
||||
],
|
||||
"minimum": 0,
|
||||
"maximum": 15
|
||||
}
|
||||
},
|
||||
"minimum": 0,
|
||||
"maximum": 255
|
||||
}
|
||||
}
|
||||
},
|
||||
"DelaySecondsAtStart": {
|
||||
"description": "Time to wait before starting",
|
||||
"type": [
|
||||
@ -567,6 +602,7 @@
|
||||
"description": "The action to use",
|
||||
"enum": [
|
||||
"Esuna",
|
||||
"Siphon Snout",
|
||||
"Red Gulal",
|
||||
"Yellow Gulal",
|
||||
"Blue Gulal"
|
||||
|
@ -7,6 +7,7 @@ public sealed class ActionConverter() : EnumConverter<EAction>(Values)
|
||||
private static readonly Dictionary<EAction, string> Values = new()
|
||||
{
|
||||
{ EAction.Esuna, "Esuna" },
|
||||
{ EAction.SiphonSnout, "Siphon Snout" },
|
||||
{ EAction.RedGulal, "Red Gulal" },
|
||||
{ EAction.YellowGulal, "Yellow Gulal" },
|
||||
{ EAction.BlueGulal, "Blue Gulal" },
|
||||
|
58
Questionable.Model/V1/Converter/QuestWorkConfigConverter.cs
Normal file
58
Questionable.Model/V1/Converter/QuestWorkConfigConverter.cs
Normal file
@ -0,0 +1,58 @@
|
||||
using System;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Questionable.Model.V1.Converter;
|
||||
|
||||
public sealed class QuestWorkConfigConverter : JsonConverter<QuestWorkValue>
|
||||
{
|
||||
public override QuestWorkValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
{
|
||||
if (reader.TokenType == JsonTokenType.Number)
|
||||
return new QuestWorkValue(reader.GetByte());
|
||||
|
||||
if (reader.TokenType != JsonTokenType.StartObject)
|
||||
throw new JsonException();
|
||||
|
||||
byte? high = null, low = null;
|
||||
while (reader.Read())
|
||||
{
|
||||
switch (reader.TokenType)
|
||||
{
|
||||
case JsonTokenType.PropertyName:
|
||||
string? propertyName = reader.GetString();
|
||||
if (propertyName == null || !reader.Read())
|
||||
throw new JsonException();
|
||||
|
||||
switch (propertyName)
|
||||
{
|
||||
case nameof(QuestWorkValue.High):
|
||||
high = reader.GetByte();
|
||||
break;
|
||||
|
||||
case nameof(QuestWorkValue.Low):
|
||||
low = reader.GetByte();
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new JsonException();
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case JsonTokenType.EndObject:
|
||||
return new QuestWorkValue(high, low);
|
||||
|
||||
default:
|
||||
throw new JsonException();
|
||||
}
|
||||
}
|
||||
|
||||
throw new JsonException();
|
||||
}
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, QuestWorkValue value, JsonSerializerOptions options)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
@ -7,6 +7,7 @@ namespace Questionable.Model.V1;
|
||||
public enum EAction
|
||||
{
|
||||
Esuna = 7568,
|
||||
SiphonSnout = 18187,
|
||||
RedGulal = 29382,
|
||||
YellowGulal = 29383,
|
||||
BlueGulal = 29384,
|
||||
@ -16,6 +17,6 @@ public static class EActionExtensions
|
||||
{
|
||||
public static bool RequiresMount(this EAction action)
|
||||
{
|
||||
return action is EAction.RedGulal or EAction.YellowGulal or EAction.BlueGulal;
|
||||
return action is EAction.SiphonSnout or EAction.RedGulal or EAction.YellowGulal or EAction.BlueGulal;
|
||||
}
|
||||
}
|
||||
|
@ -64,6 +64,7 @@ public sealed class QuestStep
|
||||
public uint? ContentFinderConditionId { get; set; }
|
||||
|
||||
public IList<ESkipCondition> SkipIf { get; set; } = new List<ESkipCondition>();
|
||||
public List<List<QuestWorkValue>?> RequiredQuestVariables { get; set; } = new();
|
||||
public IList<short?> CompletionQuestVariablesFlags { get; set; } = new List<short?>();
|
||||
public IList<DialogueChoice> DialogueChoices { get; set; } = new List<DialogueChoice>();
|
||||
public IList<uint> PointMenuChoices { get; set; } = new List<uint>();
|
||||
|
16
Questionable.Model/V1/QuestWorkValue.cs
Normal file
16
Questionable.Model/V1/QuestWorkValue.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Questionable.Model.V1.Converter;
|
||||
|
||||
namespace Questionable.Model.V1;
|
||||
|
||||
[JsonConverter(typeof(QuestWorkConfigConverter))]
|
||||
public sealed class QuestWorkValue(byte? high, byte? low)
|
||||
{
|
||||
public QuestWorkValue(byte value)
|
||||
: this((byte)(value >> 4), (byte)(value & 0xF))
|
||||
{
|
||||
}
|
||||
|
||||
public byte? High { get; set; } = high;
|
||||
public byte? Low { get; set; } = low;
|
||||
}
|
@ -26,7 +26,9 @@ internal static class SkipCondition
|
||||
|
||||
var relevantConditions =
|
||||
step.SkipIf.Where(x => x != ESkipCondition.AetheryteShortcutIfInSameTerritory).ToList();
|
||||
if (relevantConditions.Count == 0 && step.CompletionQuestVariablesFlags.Count == 0)
|
||||
if (relevantConditions.Count == 0 &&
|
||||
step.CompletionQuestVariablesFlags.Count == 0 &&
|
||||
step.RequiredQuestVariables.Count == 0)
|
||||
return null;
|
||||
|
||||
return serviceProvider.GetRequiredService<CheckTask>()
|
||||
@ -100,7 +102,8 @@ internal static class SkipCondition
|
||||
InventoryManager* inventoryManager = InventoryManager.Instance();
|
||||
if (inventoryManager->GetInventoryItemCount(Step.ItemId.Value) == 0)
|
||||
{
|
||||
logger.LogInformation("Skipping step, no item with itemId {ItemId} in inventory", Step.ItemId.Value);
|
||||
logger.LogInformation("Skipping step, no item with itemId {ItemId} in inventory",
|
||||
Step.ItemId.Value);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -124,11 +127,20 @@ internal static class SkipCondition
|
||||
}
|
||||
|
||||
QuestWork? questWork = gameFunctions.GetQuestEx(QuestId);
|
||||
if (questWork != null &&
|
||||
QuestWorkUtils.MatchesQuestWork(Step.CompletionQuestVariablesFlags, questWork.Value, true))
|
||||
if (questWork != null)
|
||||
{
|
||||
logger.LogInformation("Skipping step, as quest variables match");
|
||||
return true;
|
||||
if (QuestWorkUtils.MatchesQuestWork(Step.CompletionQuestVariablesFlags, questWork.Value, true))
|
||||
{
|
||||
logger.LogInformation("Skipping step, as quest variables match");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!QuestWorkUtils.MatchesRequiredQuestWorkConfig(Step.RequiredQuestVariables, questWork.Value,
|
||||
logger))
|
||||
{
|
||||
logger.LogInformation("Skipping step, as required variables do not match");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -2,6 +2,9 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using FFXIVClientStructs.FFXIV.Application.Network.WorkDefinitions;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Questionable.Controller.Steps.Shared;
|
||||
using Questionable.Model.V1;
|
||||
|
||||
namespace Questionable.Controller.Utils;
|
||||
|
||||
@ -45,4 +48,42 @@ internal static class QuestWorkUtils
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static bool MatchesRequiredQuestWorkConfig(List<List<QuestWorkValue>?> requiredQuestVariables,
|
||||
QuestWork questWork, ILogger<SkipCondition.CheckTask> logger)
|
||||
{
|
||||
if (requiredQuestVariables.Count != 6 || requiredQuestVariables.All(x => x == null || x.Count == 0))
|
||||
{
|
||||
logger.LogInformation("No RQW defined");
|
||||
return true;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 6; ++i)
|
||||
{
|
||||
if (requiredQuestVariables[i] == null)
|
||||
{
|
||||
logger.LogInformation("No RQW {Index} defined", i);
|
||||
continue;
|
||||
}
|
||||
|
||||
byte high = (byte)(questWork.Variables[i] >> 4);
|
||||
byte low = (byte)(questWork.Variables[i] & 0xF);
|
||||
|
||||
foreach (QuestWorkValue expectedValue in requiredQuestVariables[i]!)
|
||||
{
|
||||
logger.LogInformation("H: {ExpectedHigh} - {ActualHigh}, L: {ExpectedLow} - {ActualLow}",
|
||||
expectedValue.High, high, expectedValue.Low, low);
|
||||
if (expectedValue.High != null && expectedValue.High != high)
|
||||
continue;
|
||||
|
||||
if (expectedValue.Low != null && expectedValue.Low != low)
|
||||
continue;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
logger.LogInformation("Should execute step");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user