Module:沙盒/盐棋/Sandbox:修订间差异

添加86字节 、​ 2024年2月24日 (星期六)
ulk测试
(ulk测试)
(ulk测试)
第45行: 第45行:
function handlers.ratingPlus(v) return v and '+' or '' end
function handlers.ratingPlus(v) return v and '+' or '' end
local function stringify(cond)
local function stringify(cond)
return templates[cond.type]:gsub('%$([a-zA-Z12_]+)', function(k)
local res = templates[cond.type]:gsub('%$([a-zA-Z12_]+)', function(k)
local nk = tonumber(k)
local nk = tonumber(k)
if nk then return stringify(cond.conditions[nk]) end
if nk then return stringify(cond.conditions[nk]) end
第51行: 第51行:
return cond[k]
return cond[k]
end)
end)
return res
end
end


第56行: 第57行:
local view = {}
local view = {}
for _, chartUlk in ipairs(mad.listOf 'unlocks') do
for _, chartUlk in ipairs(mad.listOf 'unlocks') do
local id, rc = chartUlk.songId, chartUlk.ratingClass
local id, rc = chartUlk.songId, chartUlk.ratingClass + 1
local row = view[id]
for _, cond in ipairs(chartUlk.conditions) do
if not row then
row = {}
view[id] = row
end
local cell = {}
row[rc] = cell
for _, cond in ipairs(chartUlk.condition) do
local className
local className
if cond.type == 0 then
if cond.type == 0 then
第72行: 第66行:
end
end
if className then
if className then
local row = view[id]
if not row then
row = {}
view[id] = row
end
local cell = row[rc]
if not cell then
cell = {}
row[rc] = cell
end
table.insert(cell, mw.html.create 'span':addClass(className):wikitext(stringify(cond)))
table.insert(cell, mw.html.create 'span':addClass(className):wikitext(stringify(cond)))
end
end
2,525

个编辑