本WIKI由osoras申请于2020年01月21日创建,编辑权限开放,如遇Chrome浏览器登陆后无法编辑点这里 BWIKI反馈留言板
全站通知:

模块:Skilllist

来自克鲁赛德战记WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

此模块的文档可以在模块:Skilllist/doc创建

local p = {}

local icon    = require("Module:Icon")

local skill_data            = mw.loadData('Module:Skill.data')
local spskill_data          = mw.loadData('Module:Spskill.data')

-- 生成技能列表
function p.list(frame)
    local output_text = {}
    local class = frame.args[1] or 'all'
    local skill_type = frame.args[2] or ''  -- 为sp时生成sp技能

    local skill_list_data, skill_list
    if skill_type == 'sp' then
        skill_list_data = spskill_data
    else
        skill_list_data = skill_data
    end
    skill_list = skill_list_data['list']

    local skill
    local ignore_list = {}
--    ignore_list = {['钢铁意志'] = 0, ['可爱的妖精'] = 0, ['缪斯之声'] = 0}

    output_text[#output_text+1] = '<div class="cq_frame">'
    output_text[#output_text+1] = '<table class="cqtable odd skill_list">'
    output_text[#output_text+1] = '<tr><th>技能</th><th>职业</th><th>技能<br class="nodisplay">类型</th>'
    if skill_type == 'sp' then
        output_text[#output_text+1] = '<th>Lv MAX 技能效果</th></tr>'
    else
        output_text[#output_text+1] = '<th>技能效果</th></tr>'
    end
    
    for k, name in ipairs(skill_list) do
        skill = skill_list_data[name]
        if (class=='all' or class==skill['c'] and (not ignore_list[name])) then
            local c = skill['c']
            local t = skill['t']
            local e
            if skill_type == 'sp' then
                if skill['lv4'] == '' then
                    e = skill['lv3']
                else
                    e = skill['lv5']
                end
            else
                e =  skill['e']
            end

            output_text[#output_text+1] = '<tr>'
            output_text[#output_text+1] = '<td>[[File:'..name..'.png|link='..name..']]<span class="hidden">&nbsp;</span><br class="nodisplay">[['..name..']]</td>'
            output_text[#output_text+1] = '<td style="text-align:center">'..icon.class{args={c,'m'}}..'</td>'
            output_text[#output_text+1] = '<td style="text-align:center">'..t..'</td>'
            output_text[#output_text+1] = '<td>'..e..'</td>'
            output_text[#output_text+1] = '</tr>'
        end    
    end
    
    output_text[#output_text+1] = '</table>'
    output_text[#output_text+1] = '</div>'
    
    return table.concat(output_text)
end

return p