Add some Sylph quests

This commit is contained in:
Liza 2024-12-31 23:30:49 +01:00
parent b91a34fdb0
commit 070d7a2407
Signed by: liza
GPG Key ID: 2C41B84815CF6445
5 changed files with 276 additions and 4 deletions

View File

@ -0,0 +1,132 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1005562,
"Position": {
"X": 36.850464,
"Y": -4.8778634,
"Z": 249.19507
},
"TerritoryId": 152,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 321.08926,
"Y": -17.347095,
"Z": -201.61072
},
"TerritoryId": 152,
"InteractionType": "WalkTo",
"Fly": true,
"SkipConditions": {
"StepIf": {
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
16
]
}
}
},
{
"DataId": 2003494,
"Position": {
"X": 319.44763,
"Y": -17.227417,
"Z": -200.88507
},
"TerritoryId": 152,
"InteractionType": "Combat",
"EnemySpawnType": "AfterItemUse",
"ItemId": 2001154,
"GroundTarget": true,
"KillEnemyDataIds": [
764
],
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
16
]
},
{
"DataId": 2003041,
"Position": {
"X": 386.099,
"Y": -20.187744,
"Z": -200.763
},
"TerritoryId": 152,
"InteractionType": "Combat",
"EnemySpawnType": "AfterItemUse",
"ItemId": 2001154,
"GroundTarget": true,
"KillEnemyDataIds": [
764
],
"Fly": true,
"CompletionQuestVariablesFlags": [
null,
null,
null,
null,
null,
4
]
},
{
"DataId": 2003040,
"Position": {
"X": 326.77185,
"Y": -18.112549,
"Z": -235.95032
},
"TerritoryId": 152,
"InteractionType": "Combat",
"EnemySpawnType": "AfterItemUse",
"ItemId": 2001154,
"GroundTarget": true,
"KillEnemyDataIds": [
764
],
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1005562,
"Position": {
"X": 36.850464,
"Y": -4.8778634,
"Z": 249.19507
},
"TerritoryId": 152,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"Fly": true
}
]
}
]
}

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": 1005562,
"Position": {
"X": 36.850464,
"Y": -4.8778634,
"Z": 249.19507
},
"TerritoryId": 152,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"DataId": 2003307,
"Position": {
"X": 261.82947,
"Y": -9.323303,
"Z": -72.80078
},
"TerritoryId": 152,
"InteractionType": "Interact",
"Fly": true
}
]
},
{
"Sequence": 2,
"Steps": [
{
"DataId": 2003487,
"Position": {
"X": 429.89233,
"Y": -14.2977295,
"Z": -257.61804
},
"TerritoryId": 152,
"InteractionType": "Interact"
},
{
"DataId": 2003310,
"Position": {
"X": 551.812,
"Y": -22.537598,
"Z": -352.13245
},
"TerritoryId": 152,
"InteractionType": "Interact"
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1005562,
"Position": {
"X": 36.850464,
"Y": -4.8778634,
"Z": 249.19507
},
"TerritoryId": 152,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"Fly": true
}
]
}
]
}

View File

@ -0,0 +1,57 @@
{
"$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json",
"Author": "liza",
"QuestSequence": [
{
"Sequence": 0,
"Steps": [
{
"DataId": 1005562,
"Position": {
"X": 36.850464,
"Y": -4.8778634,
"Z": 249.19507
},
"TerritoryId": 152,
"InteractionType": "AcceptQuest"
}
]
},
{
"Sequence": 1,
"Steps": [
{
"Position": {
"X": 336.78577,
"Y": -17.169508,
"Z": -252.20335
},
"TerritoryId": 152,
"InteractionType": "Combat",
"EnemySpawnType": "OverworldEnemies",
"KillEnemyDataIds": [
2464
],
"Fly": true
}
]
},
{
"Sequence": 255,
"Steps": [
{
"DataId": 1005562,
"Position": {
"X": 36.850464,
"Y": -4.8778634,
"Z": 249.19507
},
"TerritoryId": 152,
"InteractionType": "CompleteQuest",
"AetheryteShortcut": "East Shroud - Hawthorne Hut",
"Fly": true
}
]
}
]
}

View File

@ -45,6 +45,10 @@ internal static class Combat
ArgumentNullException.ThrowIfNull(step.DataId);
ArgumentNullException.ThrowIfNull(step.ItemId);
if (step.GroundTarget == true)
yield return new UseItem.UseOnGround(quest.Id, step.DataId.Value, step.ItemId.Value,
step.CompletionQuestVariablesFlags, true);
else
yield return new UseItem.UseOnObject(quest.Id, step.DataId.Value, step.ItemId.Value,
step.CompletionQuestVariablesFlags, true);
yield return new WaitAtEnd.WaitDelay(TimeSpan.FromSeconds(1));

View File

@ -211,9 +211,9 @@ internal static class UseItem
ElementId? QuestId,
uint DataId,
uint ItemId,
IList<QuestWorkValue?> CompletionQuestVariablesFlags) : IUseItemBase
IList<QuestWorkValue?> CompletionQuestVariablesFlags,
bool StartingCombat = false) : IUseItemBase
{
public bool StartingCombat => false;
public override string ToString() => $"UseItem({ItemId} on ground at {DataId})";
}