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

summaryrefslogtreecommitdiff
path: root/source/game/scripting/StarPlayerLuaBindings.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2024-11-05 09:44:46 +1100
committerKae <80987908+Novaenia@users.noreply.github.com>2024-11-05 09:44:46 +1100
commite1dea58e809bb2440b81a1771c6df916e50dda1a (patch)
tree36c741bf3bdcc2cfced019d6e1c6e1fb7300485e /source/game/scripting/StarPlayerLuaBindings.cpp
parentcc5fbb0087518a2f4ab9e86f5b2cff2d3b0ed3fb (diff)
questPortrait callback
Diffstat (limited to 'source/game/scripting/StarPlayerLuaBindings.cpp')
-rw-r--r--source/game/scripting/StarPlayerLuaBindings.cpp26
1 files changed, 15 insertions, 11 deletions
diff --git a/source/game/scripting/StarPlayerLuaBindings.cpp b/source/game/scripting/StarPlayerLuaBindings.cpp
index 4d3b316..5af86d0 100644
--- a/source/game/scripting/StarPlayerLuaBindings.cpp
+++ b/source/game/scripting/StarPlayerLuaBindings.cpp
@@ -478,24 +478,28 @@ LuaCallbacks LuaBindings::makePlayerCallbacks(Player* player) {
});
callbacks.registerCallback("quest", [player](String const& questId) -> Json {
- if (auto quest = player->questManager()->getQuest(questId))
- return quest->diskStore();
+ if (!player->questManager()->hasQuest(questId))
+ return {};
+ return player->questManager()->getQuest(questId)->diskStore();
+ });
- return {};
+ callbacks.registerCallback("questPortrait", [player](String const& questId, String const& portraitName) -> Maybe<List<Drawable>> {
+ if (!player->questManager()->hasQuest(questId))
+ return {};
+ return player->questManager()->getQuest(questId)->portrait(portraitName);
});
- callbacks.registerCallback("questState", [player](String const& questId) -> Maybe<String> {
- if (auto quest = player->questManager()->getQuest(questId))
- return QuestStateNames.getRight(quest->state());
- return {};
+ callbacks.registerCallback("questState", [player](String const& questId) -> Maybe<String> {
+ if (!player->questManager()->hasQuest(questId))
+ return {};
+ return QuestStateNames.getRight(player->questManager()->getQuest(questId)->state());
});
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 {};
+ if (!player->questManager()->hasQuest(questId))
+ return {};
+ return player->questManager()->getQuest(questId)->callScript(func, args);
});
callbacks.registerCallback("hasQuest", [player](String const& questId) {