From: Liza Carvelli Date: Sun, 29 Jun 2025 21:32:49 +0000 (+0200) Subject: Add (disabled) Cosmic Exploration quests X-Git-Tag: v5.21~11 X-Git-Url: https://git.jacobcasper.com/?a=commitdiff_plain;h=8488bea872794c66739ae2d35c4c190411bf8fc4;p=Questionable.git Add (disabled) Cosmic Exploration quests They don't work cause vnav doesn't work :( --- diff --git a/QuestPaths/6.x - Endwalker/Side Stories/Cosmic Exploration/5253_A Cosmic Homecoming.json b/QuestPaths/6.x - Endwalker/Side Stories/Cosmic Exploration/5253_A Cosmic Homecoming.json index 309e1469..0546b2a1 100644 --- a/QuestPaths/6.x - Endwalker/Side Stories/Cosmic Exploration/5253_A Cosmic Homecoming.json +++ b/QuestPaths/6.x - Endwalker/Side Stories/Cosmic Exploration/5253_A Cosmic Homecoming.json @@ -1,78 +1,79 @@ { - "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", - "Author": "Censored", - "QuestSequence": [ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "Censored", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ { - "Sequence": 0, - "Steps": [ - { - "DataId": 1052591, - "Position": { - "X": 71.854614, - "Y": -16.247, - "Z": 118.242065 - }, - "TerritoryId": 962, - "InteractionType": "AcceptQuest", - "AetheryteShortcut": "Old Sharlayan", - "AethernetShortcut": [ - "[Old Sharlayan] Aetheryte Plaza", - "[Old Sharlayan] Scholar's Harbor" - ], - "SkipConditions": { - "AetheryteShortcutIf": { - "InSameTerritory": true - } - } - } - ] - }, + "DataId": 1052591, + "Position": { + "X": 71.854614, + "Y": -16.247, + "Z": 118.242065 + }, + "TerritoryId": 962, + "InteractionType": "AcceptQuest", + "AetheryteShortcut": "Old Sharlayan", + "AethernetShortcut": [ + "[Old Sharlayan] Aetheryte Plaza", + "[Old Sharlayan] Scholar's Harbor" + ], + "SkipConditions": { + "AetheryteShortcutIf": { + "InSameTerritory": true + } + } + } + ] + }, + { + "Sequence": 1, + "Steps": [ { - "Sequence": 1, - "Steps": [ - { - "DataId": 2014652, - "Position": { - "X": -648.73737, - "Y": 130.0221, - "Z": 717.3723 - }, - "TerritoryId": 959, - "InteractionType": "Interact", - "AetheryteShortcut": "Mare Lamentorum - Sinus Lacrimarum" - } - ] - }, + "DataId": 2014652, + "Position": { + "X": -648.73737, + "Y": 130.0221, + "Z": 717.3723 + }, + "TerritoryId": 959, + "InteractionType": "Interact", + "AetheryteShortcut": "Mare Lamentorum - Sinus Lacrimarum" + } + ] + }, + { + "Sequence": 2, + "Steps": [ { - "Sequence": 2, - "Steps": [ - { - "DataId": 1052592, - "Position": { - "X": 25.680908, - "Y": -137.41669, - "Z": -411.30695 - }, - "TerritoryId": 959, - "InteractionType": "Interact", - "Fly": true - } - ] - }, + "DataId": 1052592, + "Position": { + "X": 25.680908, + "Y": -137.41669, + "Z": -411.30695 + }, + "TerritoryId": 959, + "InteractionType": "Interact", + "Fly": true + } + ] + }, + { + "Sequence": 255, + "Steps": [ { - "Sequence": 255, - "Steps": [ - { - "DataId": 1052595, - "Position": { - "X": -53.177734, - "Y": -3.33786E-06, - "Z": -72.129456 - }, - "TerritoryId": 1237, - "InteractionType": "CompleteQuest" - } - ] + "DataId": 1052595, + "Position": { + "X": -53.177734, + "Y": -3.33786E-06, + "Z": -72.129456 + }, + "TerritoryId": 1237, + "InteractionType": "CompleteQuest", + "NextQuestId": 5254 } - ] + ] + } + ] } diff --git a/QuestPaths/6.x - Endwalker/Side Stories/Cosmic Exploration/5254_Passion, Thy Name Is Ardorum.json b/QuestPaths/6.x - Endwalker/Side Stories/Cosmic Exploration/5254_Passion, Thy Name Is Ardorum.json new file mode 100644 index 00000000..7ef25f74 --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Side Stories/Cosmic Exploration/5254_Passion, Thy Name Is Ardorum.json @@ -0,0 +1,146 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "Comment": "probably won't work until vnav supports the moon", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1052595, + "Position": { + "X": -53.177734, + "Y": -3.33786E-06, + "Z": -72.129456 + }, + "TerritoryId": 1237, + "InteractionType": "AcceptQuest" + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1052618, + "Position": { + "X": -51.255127, + "Y": -3.3378603E-06, + "Z": -72.64819 + }, + "StopDistance": 7, + "TerritoryId": 1237, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1052618, + "Position": { + "X": -40.065205, + "Y": 11.930657, + "Z": -95.35249 + }, + "StopDistance": 0.5, + "TerritoryId": 1237, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1052618, + "Position": { + "X": -425.39127, + "Y": 47.861256, + "Z": 212.72206 + }, + "StopDistance": 0.5, + "TerritoryId": 1237, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 4, + "Steps": [ + { + "DataId": 1052618, + "Position": { + "X": 533.5678, + "Y": 39.006783, + "Z": 167.32143 + }, + "StopDistance": 0.5, + "TerritoryId": 1237, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 5, + "Steps": [ + { + "TerritoryId": 1237, + "InteractionType": "Action", + "Action": "Duty Action I" + }, + { + "DataId": 2014657, + "Position": { + "X": 533.53174, + "Y": 38.986816, + "Z": 167.25415 + }, + "TerritoryId": 1237, + "InteractionType": "Interact", + "DialogueChoices": [ + { + "Type": "YesNo", + "Prompt": "TEXT_KINGWK102_05254_Q2_000_000", + "Yes": true + }, + { + "Type": "List", + "Prompt": "TEXT_KINGWK102_05254_Q3_000_000", + "Answer": "TEXT_KINGWK102_05254_A3_000_001" + } + ], + "PointMenuChoices": [ + 0, + 1, + 2, + 3, + 4 + ] + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "TerritoryId": 1237, + "InteractionType": "Action", + "Action": "Duty Action I" + }, + { + "DataId": 1052617, + "Position": { + "X": -53.177734, + "Y": -3.33786E-06, + "Z": -72.129456 + }, + "TerritoryId": 1237, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Side Stories/Cosmic Exploration/5323_A Manager's Patience.json b/QuestPaths/6.x - Endwalker/Side Stories/Cosmic Exploration/5323_A Manager's Patience.json new file mode 100644 index 00000000..20ac13f5 --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Side Stories/Cosmic Exploration/5323_A Manager's Patience.json @@ -0,0 +1,102 @@ +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "Comment": "probably won't work until vnav supports the moon", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1052631, + "Position": { + "X": 10.116699, + "Y": 1.6122663, + "Z": -17.135986 + }, + "TerritoryId": 1237, + "InteractionType": "AcceptQuest", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_KINGWZ001_05323_Q1_000_000", + "Answer": "TEXT_KINGWZ001_05323_A1_000_001" + } + ] + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1052633, + "Position": { + "X": -87.26642, + "Y": 0.3205882, + "Z": 82.26135 + }, + "TerritoryId": 1237, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 64 + ] + }, + { + "DataId": 1052632, + "Position": { + "X": 79.81995, + "Y": 0.30599445, + "Z": 98.89368 + }, + "TerritoryId": 1237, + "InteractionType": "Interact", + "CompletionQuestVariablesFlags": [ + null, + null, + null, + null, + null, + 128 + ] + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 2013711, + "Position": { + "X": -85.98462, + "Y": 4.2266846, + "Z": -63.767517 + }, + "TerritoryId": 1237, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1052631, + "Position": { + "X": 10.116699, + "Y": 1.6122663, + "Z": -17.135986 + }, + "TerritoryId": 1237, + "InteractionType": "CompleteQuest", + "NextQuestId": 5324 + } + ] + } + ] +} diff --git a/QuestPaths/6.x - Endwalker/Side Stories/Cosmic Exploration/5324_A Manager's Persistence.json b/QuestPaths/6.x - Endwalker/Side Stories/Cosmic Exploration/5324_A Manager's Persistence.json new file mode 100644 index 00000000..646bd2ab --- /dev/null +++ b/QuestPaths/6.x - Endwalker/Side Stories/Cosmic Exploration/5324_A Manager's Persistence.json @@ -0,0 +1,91 @@ + +{ + "$schema": "https://git.carvel.li/liza/Questionable/raw/branch/master/QuestPaths/quest-v1.json", + "Author": "liza", + "Disabled": true, + "Comment": "probably won't work until vnav supports the moon", + "QuestSequence": [ + { + "Sequence": 0, + "Steps": [ + { + "DataId": 1052631, + "Position": { + "X": 10.116699, + "Y": 1.6122663, + "Z": -17.135986 + }, + "TerritoryId": 1237, + "InteractionType": "AcceptQuest", + "DialogueChoices": [ + { + "Type": "List", + "Prompt": "TEXT_KINGWZ002_05324_Q1_000_000", + "Answer": "TEXT_KINGWZ002_05324_A1_000_002" + } + ] + } + ] + }, + { + "Sequence": 1, + "Steps": [ + { + "DataId": 1052634, + "Position": { + "X": -32.39496, + "Y": 1.5, + "Z": 31.631958 + }, + "TerritoryId": 1237, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 2, + "Steps": [ + { + "DataId": 1052635, + "Position": { + "X": 46.61621, + "Y": 0.8794936, + "Z": 51.377075 + }, + "TerritoryId": 1237, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 3, + "Steps": [ + { + "DataId": 1052636, + "Position": { + "X": 29.95337, + "Y": 1, + "Z": -70.45099 + }, + "TerritoryId": 1237, + "InteractionType": "Interact" + } + ] + }, + { + "Sequence": 255, + "Steps": [ + { + "DataId": 1052631, + "Position": { + "X": 10.116699, + "Y": 1.6122663, + "Z": -17.135986 + }, + "TerritoryId": 1237, + "InteractionType": "CompleteQuest" + } + ] + } + ] +} diff --git a/QuestPaths/quest-v1.json b/QuestPaths/quest-v1.json index 0d33cca5..77ae29b2 100644 --- a/QuestPaths/quest-v1.json +++ b/QuestPaths/quest-v1.json @@ -1062,7 +1062,9 @@ "Water Cannon", "Wasshoi", "Shrouded Luminescence", - "Big Sneeze" + "Big Sneeze", + "Duty Action I", + "Duty Action II" ] } }, diff --git a/Questionable.Model/Questing/Converter/ActionConverter.cs b/Questionable.Model/Questing/Converter/ActionConverter.cs index 24278b63..1a96f0a5 100644 --- a/Questionable.Model/Questing/Converter/ActionConverter.cs +++ b/Questionable.Model/Questing/Converter/ActionConverter.cs @@ -7,6 +7,8 @@ public sealed class ActionConverter() : EnumConverter(Values) { private static readonly Dictionary Values = new() { + { EAction.DutyAction1, "Duty Action I" }, + { EAction.DutyAction2, "Duty Action II" }, { EAction.HeavySwing, "Heavy Swing" }, { EAction.Bootshine, "Bootshine" }, { EAction.TwinSnakes, "Twin Snakes" }, diff --git a/Questionable.Model/Questing/EAction.cs b/Questionable.Model/Questing/EAction.cs index 06c5e316..06718036 100644 --- a/Questionable.Model/Questing/EAction.cs +++ b/Questionable.Model/Questing/EAction.cs @@ -6,6 +6,9 @@ namespace Questionable.Model.Questing; [JsonConverter(typeof(ActionConverter))] public enum EAction { + DutyAction1 = 26 | 0x10000, + DutyAction2 = 27 | 0x10000, + HeavySwing = 31, Bootshine = 53, TwinSnakes = 61, diff --git a/Questionable/Functions/GameFunctions.cs b/Questionable/Functions/GameFunctions.cs index c5023215..f2030993 100644 --- a/Questionable/Functions/GameFunctions.cs +++ b/Questionable/Functions/GameFunctions.cs @@ -214,10 +214,14 @@ internal sealed unsafe class GameFunctions public bool UseAction(EAction action) { - uint actionId = ActionManager.Instance()->GetAdjustedActionId((uint)action); - if (ActionManager.Instance()->GetActionStatus(ActionType.Action, actionId) == 0) + uint actionId = (uint)action & 0xFFFF; + ActionType actionType = ((uint)action & 0x10000) == 0x10000 ? ActionType.GeneralAction : ActionType.Action; + if (actionType == ActionType.Action) + actionId = ActionManager.Instance()->GetAdjustedActionId(actionId); + + if (ActionManager.Instance()->GetActionStatus(actionType, actionId) == 0) { - bool result = ActionManager.Instance()->UseAction(ActionType.Action, actionId); + bool result = ActionManager.Instance()->UseAction(actionType, actionId); _logger.LogInformation("UseAction {Action} (adjusted: {AdjustedActionId}) result: {Result}", action, actionId, result); @@ -229,8 +233,15 @@ internal sealed unsafe class GameFunctions public bool UseAction(IGameObject gameObject, EAction action, bool checkCanUse = true) { - uint actionId = ActionManager.Instance()->GetAdjustedActionId((uint)action); - var actionRow = _dataManager.GetExcelSheet().GetRow(actionId); + uint actionId = (uint)action & 0xFFFF; + ActionType actionType = ((uint)action & 0x10000) == 0x10000 ? ActionType.GeneralAction : ActionType.Action; + if (actionType == ActionType.GeneralAction) + { + _logger.LogWarning("Can not use general action {Action} on target {Target}", action, gameObject); + return false; + } + + actionId = ActionManager.Instance()->GetAdjustedActionId(actionId); if (checkCanUse && !ActionManager.CanUseActionOnTarget(actionId, (GameObject*)gameObject.Address)) { _logger.LogWarning("Can not use action {Action} (adjusted: {AdjustedActionId}) on target {Target}", action, @@ -238,14 +249,15 @@ internal sealed unsafe class GameFunctions return false; } + Action actionRow = _dataManager.GetExcelSheet().GetRow(actionId); _targetManager.Target = gameObject; - if (ActionManager.Instance()->GetActionStatus(ActionType.Action, actionId, gameObject.GameObjectId) == 0) + if (ActionManager.Instance()->GetActionStatus(actionType, actionId, gameObject.GameObjectId) == 0) { bool result; if (actionRow.TargetArea) { Vector3 position = gameObject.Position; - result = ActionManager.Instance()->UseActionLocation(ActionType.Action, actionId, + result = ActionManager.Instance()->UseActionLocation(actionType, actionId, location: &position); _logger.LogInformation( "UseAction {Action} (adjusted: {AdjustedActionId}) on target area {Target} result: {Result}", @@ -253,7 +265,7 @@ internal sealed unsafe class GameFunctions } else { - result = ActionManager.Instance()->UseAction(ActionType.Action, actionId, gameObject.GameObjectId); + result = ActionManager.Instance()->UseAction(actionType, actionId, gameObject.GameObjectId); _logger.LogInformation( "UseAction {Action} (adjusted: {AdjustedActionId}) on target {Target} result: {Result}", action, actionId, gameObject, result);