diff options
author | emmaker <emmaker@myyahoo.com> | 2025-04-23 06:24:37 -0400 |
---|---|---|
committer | emmaker <emmaker@myyahoo.com> | 2025-04-23 06:24:37 -0400 |
commit | 7e515fd58c0ba9de814de62f2f732525f172d0d9 (patch) | |
tree | 204bc40b6a1e2223244e0bba9b0e00028564ccc4 /source/game | |
parent | 6ecf53828ed8c262a4fde826c704db1b43206e1b (diff) |
Add player.questObjectives; fix player.setTrackedQuest to stop tracking quest if ID matches current quest
Diffstat (limited to 'source/game')
-rwxr-xr-x[-rw-r--r--] | source/game/scripting/StarPlayerLuaBindings.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source/game/scripting/StarPlayerLuaBindings.cpp b/source/game/scripting/StarPlayerLuaBindings.cpp index 5af86d0..ea2bae5 100644..100755 --- a/source/game/scripting/StarPlayerLuaBindings.cpp +++ b/source/game/scripting/StarPlayerLuaBindings.cpp @@ -496,6 +496,10 @@ LuaCallbacks LuaBindings::makePlayerCallbacks(Player* player) { return QuestStateNames.getRight(player->questManager()->getQuest(questId)->state()); }); + callbacks.registerCallback("questObjectives", [player](String const& questId) -> Maybe<JsonArray> { + return player->questManager()->getQuest(questId)->objectiveList(); + }); + callbacks.registerCallback("callQuest", [player](String const& questId, String const& func, LuaVariadic<LuaValue> const& args) -> Maybe<LuaValue> { if (!player->questManager()->hasQuest(questId)) return {}; @@ -522,8 +526,11 @@ LuaCallbacks LuaBindings::makePlayerCallbacks(Player* player) { return player->questManager()->trackedQuestId(); }); - callbacks.registerCallback("setTrackedQuest", [player](Maybe<String> const& questId) { - return player->questManager()->setAsTracked(questId); + callbacks.registerCallback("setTrackedQuest", [player](String const& questId) { + if (!player->questManager()->isCurrent(questId)) + return player->questManager()->setAsTracked(questId); + else + return player->questManager()->setAsTracked({}); }); callbacks.registerCallback("canTurnInQuest", [player](String const& questId) { |