Add Kurenai unlock quests
This commit is contained in:
parent
e31ae92d88
commit
b07625c18f
@ -0,0 +1,75 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "liza",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": 322.1539,
|
||||||
|
"Y": -121.22571,
|
||||||
|
"Z": -314.2446
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "WalkTo",
|
||||||
|
"AetheryteShortcut": "Ruby Sea - Tamamizu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": 22.288645,
|
||||||
|
"Y": -196.2301,
|
||||||
|
"Z": -155.5739
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "WalkTo",
|
||||||
|
"$": "Sui-no-Sato, NE outside"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1023280,
|
||||||
|
"Position": {
|
||||||
|
"X": -62.790894,
|
||||||
|
"Y": -198.96509,
|
||||||
|
"Z": -64.34735
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"Fly": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1023281,
|
||||||
|
"Position": {
|
||||||
|
"X": -9.597961,
|
||||||
|
"Y": -196.98103,
|
||||||
|
"Z": -82.383545
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "Interact",
|
||||||
|
"Fly": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1023280,
|
||||||
|
"Position": {
|
||||||
|
"X": -62.790894,
|
||||||
|
"Y": -198.96509,
|
||||||
|
"Z": -64.34735
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "CompleteQuest",
|
||||||
|
"Fly": true,
|
||||||
|
"NextQuestId": 2705
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -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": 1023280,
|
||||||
|
"Position": {
|
||||||
|
"X": -62.790894,
|
||||||
|
"Y": -198.96509,
|
||||||
|
"Z": -64.34735
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1023282,
|
||||||
|
"Position": {
|
||||||
|
"X": -32.791687,
|
||||||
|
"Y": 0.5718597,
|
||||||
|
"Z": -554.7723
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "Interact",
|
||||||
|
"AetheryteShortcut": "Ruby Sea - Onokoro",
|
||||||
|
"Fly": true,
|
||||||
|
"DialogueChoices": [
|
||||||
|
{
|
||||||
|
"Type": "List",
|
||||||
|
"Prompt": "TEXT_STMBDZ309_02705_Q1_100_091",
|
||||||
|
"Answer": "TEXT_STMBDZ309_02705_A1_101_091"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 2,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1023285,
|
||||||
|
"Position": {
|
||||||
|
"X": 119.493286,
|
||||||
|
"Y": 5.006782,
|
||||||
|
"Z": -862.6078
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "Interact",
|
||||||
|
"Fly": true,
|
||||||
|
"DialogueChoices": [
|
||||||
|
{
|
||||||
|
"Type": "List",
|
||||||
|
"Prompt": "TEXT_STMBDZ309_02705_Q2_100_151",
|
||||||
|
"Answer": "TEXT_STMBDZ309_02705_A2_101_151"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": 322.1539,
|
||||||
|
"Y": -121.22571,
|
||||||
|
"Z": -314.2446
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "WalkTo",
|
||||||
|
"AetheryteShortcut": "Ruby Sea - Tamamizu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": 22.288645,
|
||||||
|
"Y": -196.2301,
|
||||||
|
"Z": -155.5739
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "WalkTo",
|
||||||
|
"$": "Sui-no-Sato, NE outside"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1023280,
|
||||||
|
"Position": {
|
||||||
|
"X": -62.790894,
|
||||||
|
"Y": -198.96509,
|
||||||
|
"Z": -64.34735
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "CompleteQuest",
|
||||||
|
"Fly": true,
|
||||||
|
"NextQuestId": 2706
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,183 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "liza",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1023280,
|
||||||
|
"Position": {
|
||||||
|
"X": -62.790894,
|
||||||
|
"Y": -198.96509,
|
||||||
|
"Z": -64.34735
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1023287,
|
||||||
|
"Position": {
|
||||||
|
"X": 422.11023,
|
||||||
|
"Y": -98.96063,
|
||||||
|
"Z": -223.22424
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "Interact",
|
||||||
|
"AetheryteShortcut": "Ruby Sea - Tamamizu",
|
||||||
|
"Fly": true,
|
||||||
|
"DialogueChoices": [
|
||||||
|
{
|
||||||
|
"Type": "List",
|
||||||
|
"Prompt": "TEXT_STMBDZ310_02706_Q1_000_100",
|
||||||
|
"Answer": "TEXT_STMBDZ310_02706_A1_000_102"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 2,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1023288,
|
||||||
|
"Position": {
|
||||||
|
"X": 350.515,
|
||||||
|
"Y": -120.581055,
|
||||||
|
"Z": -316.76202
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "Interact",
|
||||||
|
"Fly": true,
|
||||||
|
"DialogueChoices": [
|
||||||
|
{
|
||||||
|
"Type": "List",
|
||||||
|
"Prompt": "TEXT_STMBDZ310_02706_Q2_000_160",
|
||||||
|
"Answer": "TEXT_STMBDZ310_02706_A2_000_161"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "List",
|
||||||
|
"Prompt": "TEXT_STMBDZ310_02706_Q3_000_200",
|
||||||
|
"Answer": "TEXT_STMBDZ310_02706_A3_000_201"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 3,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": 322.1539,
|
||||||
|
"Y": -121.22571,
|
||||||
|
"Z": -314.2446
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "WalkTo",
|
||||||
|
"Mount": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": 198.4342,
|
||||||
|
"Y": -162.28119,
|
||||||
|
"Z": 115.91883
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "WalkTo",
|
||||||
|
"$": "Exile, outside",
|
||||||
|
"Fly": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1023290,
|
||||||
|
"Position": {
|
||||||
|
"X": 222.33911,
|
||||||
|
"Y": -165.19557,
|
||||||
|
"Z": 137.89575
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "Interact"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 4,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 2008809,
|
||||||
|
"Position": {
|
||||||
|
"X": 163.43933,
|
||||||
|
"Y": -172.01501,
|
||||||
|
"Z": 262.0736
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "Combat",
|
||||||
|
"EnemySpawnType": "AfterItemUse",
|
||||||
|
"ItemId": 2002332,
|
||||||
|
"KillEnemyDataIds": [
|
||||||
|
7824
|
||||||
|
],
|
||||||
|
"Fly": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 5,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1023290,
|
||||||
|
"Position": {
|
||||||
|
"X": 222.33911,
|
||||||
|
"Y": -165.19557,
|
||||||
|
"Z": 137.89575
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "Interact",
|
||||||
|
"Fly": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": 200.64441,
|
||||||
|
"Y": -165.55836,
|
||||||
|
"Z": 116.97804
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "WalkTo",
|
||||||
|
"Mount": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": -96.41638,
|
||||||
|
"Y": -199.01863,
|
||||||
|
"Z": -68.85027
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "WalkTo",
|
||||||
|
"$": "Sui-no-Sato, SW outside",
|
||||||
|
"Fly": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DataId": 1023280,
|
||||||
|
"Position": {
|
||||||
|
"X": -62.790894,
|
||||||
|
"Y": -198.96509,
|
||||||
|
"Z": -64.34735
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "CompleteQuest",
|
||||||
|
"NextQuestId": 2707
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "liza",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1023280,
|
||||||
|
"Position": {
|
||||||
|
"X": -62.790894,
|
||||||
|
"Y": -198.96509,
|
||||||
|
"Z": -64.34735
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "AcceptQuest"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 1,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1023281,
|
||||||
|
"Position": {
|
||||||
|
"X": -9.597961,
|
||||||
|
"Y": -196.98103,
|
||||||
|
"Z": -82.383545
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "Interact",
|
||||||
|
"Fly": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1023291,
|
||||||
|
"Position": {
|
||||||
|
"X": 8.46875,
|
||||||
|
"Y": -198.34206,
|
||||||
|
"Z": -157.15265
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "CompleteQuest",
|
||||||
|
"Fly": true,
|
||||||
|
"DialogueChoices": [
|
||||||
|
{
|
||||||
|
"Type": "List",
|
||||||
|
"Prompt": "TEXT_STMBDZ311_02707_Q1_000_160",
|
||||||
|
"Answer": "TEXT_STMBDZ311_02707_A1_000_162"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"NextQuestId": 3139
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
|
||||||
|
"Author": "liza",
|
||||||
|
"QuestSequence": [
|
||||||
|
{
|
||||||
|
"Sequence": 0,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1025965,
|
||||||
|
"Position": {
|
||||||
|
"X": -52.0791,
|
||||||
|
"Y": -2.9,
|
||||||
|
"Z": -64.4389
|
||||||
|
},
|
||||||
|
"TerritoryId": 628,
|
||||||
|
"InteractionType": "AcceptQuest",
|
||||||
|
"AetheryteShortcut": "Kugane",
|
||||||
|
"AethernetShortcut": [
|
||||||
|
"[Kugane] Aetheryte Plaza",
|
||||||
|
"[Kugane] Shiokaze Hostelry"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Sequence": 255,
|
||||||
|
"Steps": [
|
||||||
|
{
|
||||||
|
"DataId": 1025878,
|
||||||
|
"Position": {
|
||||||
|
"X": 343.984,
|
||||||
|
"Y": -120.32947,
|
||||||
|
"Z": -306.0197
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "CompleteQuest",
|
||||||
|
"AetheryteShortcut": "Ruby Sea - Tamamizu"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -5,6 +5,17 @@
|
|||||||
{
|
{
|
||||||
"Sequence": 0,
|
"Sequence": 0,
|
||||||
"Steps": [
|
"Steps": [
|
||||||
|
{
|
||||||
|
"Position": {
|
||||||
|
"X": 344.12048,
|
||||||
|
"Y": -120.3312,
|
||||||
|
"Z": -303.85397
|
||||||
|
},
|
||||||
|
"TerritoryId": 613,
|
||||||
|
"InteractionType": "WalkTo",
|
||||||
|
"AetheryteShortcut": "Ruby Sea - Tamamizu",
|
||||||
|
"RequiredGatheredItems": []
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"DataId": 1025878,
|
"DataId": 1025878,
|
||||||
"Position": {
|
"Position": {
|
||||||
@ -14,8 +25,6 @@
|
|||||||
},
|
},
|
||||||
"TerritoryId": 613,
|
"TerritoryId": 613,
|
||||||
"InteractionType": "Interact",
|
"InteractionType": "Interact",
|
||||||
"RequiredGatheredItems": [],
|
|
||||||
"AetheryteShortcut": "Ruby Sea - Tamamizu",
|
|
||||||
"DialogueChoices": [
|
"DialogueChoices": [
|
||||||
{
|
{
|
||||||
"Type": "List",
|
"Type": "List",
|
||||||
|
@ -19,16 +19,18 @@ internal static class AetheryteShortcut
|
|||||||
{
|
{
|
||||||
internal sealed class Factory(
|
internal sealed class Factory(
|
||||||
IServiceProvider serviceProvider,
|
IServiceProvider serviceProvider,
|
||||||
AetheryteData aetheryteData) : SimpleTaskFactory
|
AetheryteData aetheryteData) : ITaskFactory
|
||||||
{
|
{
|
||||||
public override ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step)
|
public IEnumerable<ITask> CreateAllTasks(Quest quest, QuestSequence sequence, QuestStep step)
|
||||||
{
|
{
|
||||||
if (step.AetheryteShortcut == null)
|
if (step.AetheryteShortcut == null)
|
||||||
return null;
|
yield break;
|
||||||
|
|
||||||
return serviceProvider.GetRequiredService<UseAetheryteShortcut>()
|
yield return serviceProvider.GetRequiredService<UseAetheryteShortcut>()
|
||||||
.With(step, quest.Id, step.AetheryteShortcut.Value,
|
.With(step, quest.Id, step.AetheryteShortcut.Value,
|
||||||
aetheryteData.TerritoryIds[step.AetheryteShortcut.Value]);
|
aetheryteData.TerritoryIds[step.AetheryteShortcut.Value]);
|
||||||
|
yield return serviceProvider.GetRequiredService<WaitAtEnd.WaitDelay>()
|
||||||
|
.With(TimeSpan.FromSeconds(0.5));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,6 +144,12 @@ internal static class WaitAtEnd
|
|||||||
|
|
||||||
internal sealed class WaitDelay() : AbstractDelayedTask(TimeSpan.FromSeconds(1))
|
internal sealed class WaitDelay() : AbstractDelayedTask(TimeSpan.FromSeconds(1))
|
||||||
{
|
{
|
||||||
|
public ITask With(TimeSpan delay)
|
||||||
|
{
|
||||||
|
Delay = delay;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
protected override bool StartInternal() => true;
|
protected override bool StartInternal() => true;
|
||||||
|
|
||||||
public override string ToString() => $"Wait(seconds: {Delay.TotalSeconds})";
|
public override string ToString() => $"Wait(seconds: {Delay.TotalSeconds})";
|
||||||
|
Loading…
Reference in New Issue
Block a user