缺氧 wiki 编辑团队提示:注册账号并登录后体验更佳,且可通过参数设置定制优化您的浏览体验!
该站点为镜像站点,如果你想帮助这个由玩家志愿编辑的 wiki 站点,请前往原站点参与编辑,
同时欢迎加入编辑讨论群 851803695 与其他编辑者一起参与建设!
全站通知:
模块:表格/流星类型
刷
历
编
< 模块:表格
跳到导航
跳到搜索
此模块的文档可以在模块:表格/流星类型/doc创建
-- Module:表格/流星类型
local p = {}
local fstr = mw.ustring.format -- shortcut for formattig a string
local getArgs = require('Module:Dev/Arguments').getArgs
local tb = require([[Module:表格]])
local po = require([[Module:Po]]).po
local utils = require([[Module:Utils]])
local cData = mw.loadData([[Module:Data/Comets]])
local k0 = utils.K0
local exception_comet = {
UraniumComet = po("STRINGS.UI.SPACEDESTINATIONS.CLUSTERMAPMETEORSHOWERS.URANIUM.NAME"),
GassyMoo = po("STRINGS.UI.SPACEDESTINATIONS.COMETS.GASSYMOOCOMET.NAME")
}
local DLCS = {
[""] = 1,
["EXPANSION1_ID"] = 2,
["DLC2_ID"] = 3
}
local function getCometName(itemData)
if itemData.Name ~= nil then
local name = po(itemData.Name)
if not utils.isDefaultT(itemData.Name, name) then
return fstr("{{物品|%s}}", name)
end
end
return fstr("<code>%s</code>", itemData.Id)
end
-- test by: = p._main({})
function p._main(itemData)
local out = {}
table.insert(out, getCometName(itemData))
-- 成分
if itemData.primaryElement ~= nil then
local code = "STRINGS.ELEMENTS." .. itemData.primaryElement.Name:upper() .. ".NAME"
local name = po(code)
if not utils.isDefaultT(code, name) then
table.insert(out, fstr("{{物品|%s}}", name))
else
table.insert(out, "")
end
else
table.insert(out, "")
end
if itemData.comet ~= nil then
local comet = itemData.comet
-- 质量
if comet.massRange ~= nil then
table.insert(out, fstr("%s ~ %s", utils.float2str(comet.massRange.x), utils.float2str(comet.massRange.y)))
else
table.insert(out, "")
end
-- 温度
if comet.temperatureRange ~= nil then
table.insert(out, fstr("%s ~ %s", utils.float2str(comet.temperatureRange.x + k0),
utils.float2str(comet.temperatureRange.y + k0)))
else
table.insert(out, "")
end
-- 释放元素
if comet.exhaustElement ~= nil and comet.exhaustElement ~= "Void" then
local code = "STRINGS.ELEMENTS." .. comet.exhaustElement:upper() .. ".NAME"
local name = po(code)
if not utils.isDefaultT(code, name) then
table.insert(out, fstr("{{物品|%s}}", name))
else
table.insert(out, "")
end
else
table.insert(out, "")
end
-- 释放速率
if comet.EXHAUST_RATE ~= nil then
table.insert(out, utils.float2str(comet.EXHAUST_RATE))
else
table.insert(out, "")
end
-- 难度影响
if comet.affectedByDifficulty ~= nil then
table.insert(out, comet.affectedByDifficulty == true and "是" or "否")
else
table.insert(out, "")
end
else
table.insert(out, "")
end
return out
end
-- test by: = p.main({})
function p.main(frame)
local args = getArgs(frame)
local infos = {}
local dlc = args.dlc
for cometId, cometData in pairs(cData) do
local info = p._main(cometData)
table.insert(infos, info)
end
-- mw.logObject(infos)
return tb.table(infos, args)
end
return p