Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/scripting
diff options
context:
space:
mode:
Diffstat (limited to 'source/game/scripting')
-rw-r--r--source/game/scripting/StarPlayerLuaBindings.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/source/game/scripting/StarPlayerLuaBindings.cpp b/source/game/scripting/StarPlayerLuaBindings.cpp
index bf14c2c..7546567 100644
--- a/source/game/scripting/StarPlayerLuaBindings.cpp
+++ b/source/game/scripting/StarPlayerLuaBindings.cpp
@@ -478,10 +478,17 @@ LuaCallbacks LuaBindings::makePlayerCallbacks(Player* player) {
});
callbacks.registerCallback("quest", [player](String const& questId) -> Json {
- if (!player->questManager()->hasQuest(questId))
- return {};
+ if (auto quest = player->questManager()->getQuest(questId))
+ return quest->diskStore();
- return player->questManager()->getQuest(questId)->diskStore();
+ return {};
+ });
+
+ callbacks.registerCallback("callQuest", [player](String const& questId, String const& func, LuaVariadic<LuaValue> const& args) -> Maybe<LuaValue> {
+ if (auto quest = player->questManager()->getQuest(questId))
+ return quest->callScript(func, args);
+
+ return {};
});
callbacks.registerCallback("hasQuest", [player](String const& questId) {