米斯特利亚Wiki正在建设中,本WIKI编辑权限开放!
全站通知:
模块:Quest
刷
历
编
跳到导航
跳到搜索
此模块的文档可以在模块:Quest/doc创建
local QuestData = require('模块:Quest/Data')
local Items = require('模块:Items')
local p = {}
local questTypeMap = {
story_quest = "主线任务",
fetch_quest = "委托任务",
tali_challenges = "厨艺挑战",
heart_quest = "好感任务",
crown_quest = "王室委托"
}
local itemQuestCache = {}
function p._findQuestByItem(itemId)
local id = Items._id(itemId)
if not QuestData[id] then
return nil
end
return QuestData[id]
end
function p.renderQuestsByItem(frame)
local itemId = frame.args[1]
local questTable = p._findQuestByItem(itemId)
if not questTable then
return nil
end
local args = {}
for _, quest in pairs(questTable) do
table.insert(args, p._renderQuest(quest))
end
mw.log("render is")
mw.logObject(args)
local moduleName = frame.args[2] or "任务/表"
return frame:expandTemplate{
title = moduleName,
args = args
}
end
function p._renderQuest(quest, tmpName)
local frame = mw.getCurrentFrame()
local itemTable = {}
for itemId, itemCount in pairs(quest.items) do
local itemName = Items._name(itemId)
local itemRend = frame:expandTemplate{
title = '物品',
args = {
itemName,
itemCount
}
}
table.insert(itemTable, itemRend)
end
local args = {
["任务类型"] = questTypeMap[quest.questType],
["任务名字"] = quest.quest,
["任务需求"] = table.concat(itemTable, "")
}
local moduleName = tmpName or "任务/行"
local questRend = frame:expandTemplate{
title = moduleName,
args = args
}
return questRend
end
--[[
local frame = mw.getCurrentFrame()
frame.args = {"ore_copper"}
local r = p.renderQuestsByItem(frame)
mw.logObject(r)
]]--
return p

沪公网安备 31011002002714 号