Starbound/assets/devel/versioning/PlayerEntity_20_21.lua
2025-03-21 22:23:30 +11:00

38 lines
1.1 KiB
Lua

require "/scripts/util.lua"
function addQuests(questManagerMap, quests)
for questId, quest in pairs(quests) do
questManagerMap[questId] = quest
end
end
function updateQuest(quest, state)
quest.state = state
return quest
end
function updateQuests(quests, state)
return util.map(quests, function (quest)
local quest = root.loadVersionedJson(quest, "Quest")
quest = updateQuest(quest, state)
return root.makeCurrentVersionedJson("Quest", quest)
end, jobject())
end
function update(data)
local quests = data.quests
quests.quests = jobject()
addQuests(quests.quests, updateQuests(quests.activeQuests or jarray(), "Active"))
addQuests(quests.quests, updateQuests(quests.completedQuests or jarray(), "Complete"))
addQuests(quests.quests, updateQuests(quests.failedQuests or jarray(), "Failed"))
addQuests(quests.quests, updateQuests(quests.newQuests or jarray(), "Offer"))
jremove(quests, "activeQuests")
jremove(quests, "completedQuests")
jremove(quests, "failedQuests")
jremove(quests, "newQuests")
return data
end