diff --git a/QuestPathGenerator/QuestSourceGenerator.cs b/QuestPathGenerator/QuestSourceGenerator.cs index 3d3d1c05..12966888 100644 --- a/QuestPathGenerator/QuestSourceGenerator.cs +++ b/QuestPathGenerator/QuestSourceGenerator.cs @@ -280,6 +280,8 @@ public class QuestSourceGenerator : ISourceGenerator Assignment(nameof(QuestStep.GroundTarget), step.GroundTarget, emptyStep.GroundTarget) .AsSyntaxNodeOrToken(), + Assignment(nameof(QuestStep.Quantity), step.Quantity, emptyStep.Quantity) + .AsSyntaxNodeOrToken(), Assignment(nameof(QuestStep.Emote), step.Emote, emptyStep.Emote) .AsSyntaxNodeOrToken(), Assignment(nameof(QuestStep.ChatMessage), step.ChatMessage, diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4687_Don't Stop the Music.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4687_Don't Stop the Music.json new file mode 100644 index 00000000..6e55326f --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4687_Don't Stop the Music.json @@ -0,0 +1,79 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1044564, + "Position": { + "X": 456.13794, + "Y": -167.50003, + "Z": -759.02954 + }, + "TerritoryId": 959, + "InteractionType": "Interact", + "AetheryteShortcut": "Mare Lamentorum - Bestways Burrow", + "Fly": true + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "TerritoryId": 959, + "InteractionType": "Craft", + "ItemId": 38853, + "Quantity": 3 + }, + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo", + "AetheryteShortcut": "Mare Lamentorum - Bestways Burrow", + "Fly": true + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4688_A Pipe Dream.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4688_A Pipe Dream.json new file mode 100644 index 00000000..7e9644eb --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4688_A Pipe Dream.json @@ -0,0 +1,94 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1044565, + "Position": { + "X": 352.0714, + "Y": -161.16423, + "Z": -378.0423 + }, + "TerritoryId": 959, + "InteractionType": "Interact", + "AetheryteShortcut": "Mare Lamentorum - Bestways Burrow", + "Fly": true + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "TerritoryId": 959, + "InteractionType": "Craft", + "ItemId": 38855, + "Quantity": 2 + }, + { + "DataId": 1044565, + "Position": { + "X": 352.0714, + "Y": -161.16423, + "Z": -378.0423 + }, + "TerritoryId": 959, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo", + "AetheryteShortcut": "Mare Lamentorum - Bestways Burrow", + "Fly": true + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4689_Money Makes the Moon Go Round.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4689_Money Makes the Moon Go Round.json new file mode 100644 index 00000000..7959faed --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4689_Money Makes the Moon Go Round.json @@ -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": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1044572, + "Position": { + "X": -638.056, + "Y": -143.79326, + "Z": -513.0846 + }, + "TerritoryId": 959, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "TerritoryId": 959, + "InteractionType": "Craft", + "ItemId": 38857, + "Quantity": 4 + }, + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4690_Dancing King.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4690_Dancing King.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4690_Dancing King.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4691_Pieces of You.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4691_Pieces of You.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4691_Pieces of You.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4692_Underneath the Starry Lights.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4692_Underneath the Starry Lights.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4692_Underneath the Starry Lights.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4693_Carrotlight, Carrot Bright.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4693_Carrotlight, Carrot Bright.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4693_Carrotlight, Carrot Bright.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4694_Pitch Perfect.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4694_Pitch Perfect.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4694_Pitch Perfect.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4695_Clean Times.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4695_Clean Times.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4695_Clean Times.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4696_A Sound Endeavor.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4696_A Sound Endeavor.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4696_A Sound Endeavor.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4697_Prototypical Retrieval.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4697_Prototypical Retrieval.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4697_Prototypical Retrieval.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4698_Always Wear Protection.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4698_Always Wear Protection.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4698_Always Wear Protection.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4699_Hare-raising Thrills.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4699_Hare-raising Thrills.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4699_Hare-raising Thrills.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4700_Be Carrotful What You Wish For.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4700_Be Carrotful What You Wish For.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4700_Be Carrotful What You Wish For.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4701_Hungry for Knowledge.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4701_Hungry for Knowledge.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4701_Hungry for Knowledge.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4702_No Chill.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4702_No Chill.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4702_No Chill.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4703_Fungi Frustrations.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4703_Fungi Frustrations.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4703_Fungi Frustrations.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4704_For Every Mouth, a Carrot.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4704_For Every Mouth, a Carrot.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4704_For Every Mouth, a Carrot.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4705_Whisks for Whiskers.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4705_Whisks for Whiskers.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4705_Whisks for Whiskers.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4706_Sets, Reps, and Loporrits.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4706_Sets, Reps, and Loporrits.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4706_Sets, Reps, and Loporrits.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4707_Lunar Beats for Hopping.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4707_Lunar Beats for Hopping.json new file mode 100644 index 00000000..f0656089 --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4707_Lunar Beats for Hopping.json @@ -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": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4708_Most Like It Sparkly.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4708_Most Like It Sparkly.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4708_Most Like It Sparkly.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4709_Spatial Cleanse.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4709_Spatial Cleanse.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4709_Spatial Cleanse.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4710_Clean Paws Make Good Artists.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4710_Clean Paws Make Good Artists.json new file mode 100644 index 00000000..d731dcbc --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4710_Clean Paws Make Good Artists.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4711_By the Muse Forsaken.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4711_By the Muse Forsaken.json new file mode 100644 index 00000000..f0656089 --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4711_By the Muse Forsaken.json @@ -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": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4712_Art Is an Explosion!.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4712_Art Is an Explosion!.json new file mode 100644 index 00000000..f0656089 --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4712_Art Is an Explosion!.json @@ -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": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4713_Craft, Craft, Fashion, Baby.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4713_Craft, Craft, Fashion, Baby.json new file mode 100644 index 00000000..f0656089 --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4713_Craft, Craft, Fashion, Baby.json @@ -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": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4714_Sparking Artist.json b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4714_Sparking Artist.json new file mode 100644 index 00000000..f0656089 --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Allied Societies/Loporrits/Dailies/4714_Sparking Artist.json @@ -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": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "Position": { + "X": -201.42024, + "Y": -49.149708, + "Z": -273.68756 + }, + "TerritoryId": 959, + "InteractionType": "WalkTo" + }, + { + "DataId": 1044403, + "Position": { + "X": -203.5401, + "Y": -48.949707, + "Z": -273.60956 + }, + "TerritoryId": 959, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/quest-v1.json b/QuestPaths/quest-v1.json index 18beaa47..72d00e64 100644 --- a/QuestPaths/quest-v1.json +++ b/QuestPaths/quest-v1.json @@ -125,6 +125,7 @@ "SinglePlayerDuty", "Jump", "Dive", + "Craft", "Instruction", "AcceptQuest", "CompleteQuest", @@ -1100,6 +1101,26 @@ } } } + }, + { + "if": { + "properties": { + "InteractionType": { + "const": "Craft" + } + } + }, + "then": { + "properties": { + "Quantity": { + "type": "number" + } + }, + "required": [ + "ItemId", + "Quantity" + ] + } } ], "not": { diff --git a/Questionable.Model/Questing/Converter/InteractionTypeConverter.cs b/Questionable.Model/Questing/Converter/InteractionTypeConverter.cs index a7c81061..8683a57a 100644 --- a/Questionable.Model/Questing/Converter/InteractionTypeConverter.cs +++ b/Questionable.Model/Questing/Converter/InteractionTypeConverter.cs @@ -26,6 +26,7 @@ public sealed class InteractionTypeConverter() : EnumConverter { EInteractionType.SinglePlayerDuty, "SinglePlayerDuty" }, { EInteractionType.Jump, "Jump" }, { EInteractionType.Dive, "Dive" }, + { EInteractionType.Craft, "Craft" }, { EInteractionType.Instruction, "Instruction" }, { EInteractionType.AcceptQuest, "AcceptQuest" }, { EInteractionType.CompleteQuest, "CompleteQuest" }, diff --git a/Questionable.Model/Questing/EInteractionType.cs b/Questionable.Model/Questing/EInteractionType.cs index 4ad64815..c0b3eede 100644 --- a/Questionable.Model/Questing/EInteractionType.cs +++ b/Questionable.Model/Questing/EInteractionType.cs @@ -25,6 +25,7 @@ public enum EInteractionType SinglePlayerDuty, Jump, Dive, + Craft, /// /// Needs to be manually continued. diff --git a/Questionable.Model/Questing/QuestStep.cs b/Questionable.Model/Questing/QuestStep.cs index 152abc74..c66276f8 100644 --- a/Questionable.Model/Questing/QuestStep.cs +++ b/Questionable.Model/Questing/QuestStep.cs @@ -55,6 +55,7 @@ public sealed class QuestStep public uint? ItemId { get; set; } public bool? GroundTarget { get; set; } + public int? Quantity { get; set; } public EEmote? Emote { get; set; } public ChatMessage? ChatMessage { get; set; } diff --git a/Questionable/Controller/Steps/Shared/Craft.cs b/Questionable/Controller/Steps/Shared/Craft.cs new file mode 100644 index 00000000..c6888dd4 --- /dev/null +++ b/Questionable/Controller/Steps/Shared/Craft.cs @@ -0,0 +1,89 @@ +using System; +using System.Linq; +using Dalamud.Plugin.Services; +using LLib.GameData; +using Lumina.Excel.GeneratedSheets; +using Microsoft.Extensions.DependencyInjection; +using Questionable.External; +using Questionable.Model.Questing; +using Quest = Questionable.Model.Quest; + +namespace Questionable.Controller.Steps.Shared; + +internal static class Craft +{ + internal sealed class Factory(IServiceProvider serviceProvider) : ITaskFactory + { + public ITask? CreateTask(Quest quest, QuestSequence sequence, QuestStep step) + { + if (step.InteractionType != EInteractionType.Craft) + return null; + + ArgumentNullException.ThrowIfNull(step.ItemId); + ArgumentNullException.ThrowIfNull(step.Quantity); + return serviceProvider.GetRequiredService() + .With(step.ItemId.Value, step.Quantity.Value); + } + } + + internal sealed class DoCraft(IDataManager dataManager, IClientState clientState, ArtisanIpc artisanIpc) : ITask + { + private uint _itemId; + private int _quantity; + + public ITask With(uint itemId, int quantity) + { + _itemId = itemId; + _quantity = quantity; + return this; + } + + public bool Start() + { + RecipeLookup? recipeLookup = dataManager.GetExcelSheet()!.GetRow(_itemId); + if (recipeLookup == null) + throw new TaskException($"Item {_itemId} is not craftable"); + + uint recipeId = ((EClassJob)clientState.LocalPlayer!.ClassJob.Id) switch + { + EClassJob.Carpenter => recipeLookup.CRP.Row, + EClassJob.Blacksmith => recipeLookup.BSM.Row, + EClassJob.Armorer => recipeLookup.ARM.Row, + EClassJob.Goldsmith => recipeLookup.GSM.Row, + EClassJob.Leatherworker => recipeLookup.LTW.Row, + EClassJob.Weaver => recipeLookup.WVR.Row, + EClassJob.Alchemist => recipeLookup.ALC.Row, + EClassJob.Culinarian => recipeLookup.CUL.Row, + _ => 0 + }; + + if (recipeId == 0) + { + recipeId = new[]{ + recipeLookup.CRP.Row, + recipeLookup.BSM.Row, + recipeLookup.ARM.Row, + recipeLookup.GSM.Row, + recipeLookup.LTW.Row, + recipeLookup.WVR.Row, + recipeLookup.ALC.Row, + recipeLookup.WVR.Row + } + .FirstOrDefault(x => x != 0); + } + + if (recipeId == 0) + throw new TaskException($"Unable to determine recipe for item {_itemId}"); + + if (!artisanIpc.CraftItem((ushort)recipeId, _quantity)) + throw new TaskException($"Failed to start Artisan craft for recipe {recipeId}"); + + return true; + } + + public ETaskResult Update() + { + return ETaskResult.StillRunning; + } + } +} diff --git a/Questionable/External/ArtisanIpc.cs b/Questionable/External/ArtisanIpc.cs new file mode 100644 index 00000000..b64d5137 --- /dev/null +++ b/Questionable/External/ArtisanIpc.cs @@ -0,0 +1,34 @@ +using Dalamud.Plugin; +using Dalamud.Plugin.Ipc; +using Dalamud.Plugin.Ipc.Exceptions; +using Microsoft.Extensions.Logging; + +namespace Questionable.External; + +internal sealed class ArtisanIpc +{ + private readonly ILogger _logger; + private readonly ICallGateSubscriber _craftItem; + + public ArtisanIpc(IDalamudPluginInterface pluginInterface, ILogger logger) + { + _logger = logger; + _craftItem = pluginInterface.GetIpcSubscriber("Artisan.CraftItem"); + } + + public bool CraftItem(ushort recipeId, int quantity) + { + try + { + _logger.LogInformation("Attempting to craft {Quantity} items with recipe {RecipeId} with Artisan", quantity, + recipeId); + _craftItem.InvokeAction(recipeId, quantity); + return true; + } + catch (IpcError e) + { + _logger.LogError(e, "Unable to craft items"); + return false; + } + } +} diff --git a/Questionable/Model/QuestProgressInfo.cs b/Questionable/Model/QuestProgressInfo.cs index 94d79d34..1f0e046c 100644 --- a/Questionable/Model/QuestProgressInfo.cs +++ b/Questionable/Model/QuestProgressInfo.cs @@ -33,7 +33,9 @@ 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()}, {(EClassJob)questWork.AcceptClassJob}"; + _asString = $"QW: {vars.Trim()}"; + if (questWork.AcceptClassJob != 0) + _asString += $", {(EClassJob)questWork.AcceptClassJob}"; } public QuestProgressInfo(LeveWork leveWork) diff --git a/Questionable/QuestionablePlugin.cs b/Questionable/QuestionablePlugin.cs index e51c7b3f..8c3a1816 100644 --- a/Questionable/QuestionablePlugin.cs +++ b/Questionable/QuestionablePlugin.cs @@ -115,6 +115,7 @@ public sealed class QuestionablePlugin : IDalamudPlugin serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); serviceCollection.AddSingleton(); + serviceCollection.AddSingleton(); } private static void AddTaskFactories(ServiceCollection serviceCollection) @@ -155,6 +156,7 @@ public sealed class QuestionablePlugin : IDalamudPlugin UseItem.UseOnPosition>(); serviceCollection.AddTaskWithFactory(); serviceCollection.AddTaskWithFactory(); + serviceCollection.AddTaskWithFactory(); serviceCollection.AddTaskWithFactory(); serviceCollection .AddTaskWithFactory