打开主菜单
首页
随机
登录
设置
关于Arcaea中文维基
免责声明
搜索
查看“Module:Partnertable”的源代码
←
Module:Partnertable
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
local getArgs = require('Module:Arguments').getArgs local link = require('Module:Link')._link local getData = require("Module:data") local p = {} function labelText(text,class) local span = mw.html.create( 'span' ) span:addClass( 'label-text' ) span:wikitext(text) return tostring(span) end function update(version,device,awakenyes,version2) --更新时间 if device == 'ns' then if awakenyes and version~= version2 and version2 then return '<div class="date-box"><div>'..labelText('NS版')..'</div><div>搭档:'..version..'<br />觉醒形态:'..version2..'</div><div></div></div>' end return '<div class="date-box"><div>'..labelText('NS版')..'</div><div>'..version..'</div><div></div></div>' else if awakenyes and version~= version2 and version2 then return '<div class="date-box"><div>'..labelText('移动版')..'</div><div>搭档:'..version..'<br />觉醒形态:'..version2..'</div><div></div></div>' end return '<div class="date-box"><div>'..labelText('移动版')..'</div><div>'..version..'</div><div></div></div>' end end function skill(text,skilldiff,label) if skilldiff then return '<div><span class="label-text">'..label..'</span></div>'..text else return text end end function title(name,nameSecond) local result=name if nameSecond then result = result .. "<br />" .. nameSecond end return result end function version(time) local ans if string.byte(time,7) == 99 or string.byte(time,7) >= 48 and string.byte(time,7) <= 57 then if string.byte(time,8) == 99 or string.byte(time,8) >= 48 and string.byte(time,8) <= 57 then ans = 8 else ans = 7 end else ans = 6 end --判定第七、八位是否为c或数字 return string.sub(time,1,ans) end function getImage(normal,awaken,normalJacket,awakenJacket,awakenyes,type) local container,tab=mw.html.create('div'),mw.html.create('div') local tab1,tab2,part1,part2,jacket container:addClass( 'container' ) tab:attr( 'id','tab-'..type ) tab:addClass( 'img-tab' ) local JacketNormal=normalJacket if awaken then tab1,tab2,part1,part2=mw.html.create('div'),mw.html.create('div'),mw.html.create('div'),mw.html.create('div') local JacketAwaken=normalJacket if awakenJacket then JacketAwaken=awakenJacket end tab1:wikitext('Normal') tab2:wikitext('Awaken') tab1:addClass('img-tab-part normal active') tab2:addClass('img-tab-part awaken') tab:wikitext(tostring(tab1)) tab:wikitext(tostring(tab2)) container:wikitext(tostring(tab)) part1:wikitext('[[文件:'..normal..'|300px|none]]'..labelText('画师')..tostring(JacketNormal)) part2:wikitext('[[文件:'..awaken..'|300px|none]]'..labelText('画师')..tostring(JacketAwaken)) part1:addClass('active tab-text-'..type) part2:addClass('tab-text-'..type) container:wikitext(tostring(part1)) container:wikitext(tostring(part2)) return tostring(container) end return '<div><div class="floatnone">[[文件:'..normal..'|300px]]</div><div>'..labelText('画师')..JacketNormal..'</div></div>' end function p.main(frame) local args = getArgs(frame) return p._main(args) end function p._main(args) local awaken --觉醒判定 local size --图片大小 local belongs --所属单位 local skillawaken --觉醒技能 local skillsec --第二技能 if args['觉醒形态'] == '有' then awaken=true else awaken=false end if awaken and args['技能'] ~= args['觉醒技能'] and args['觉醒技能'] ~= nil then skillawaken=true else skillawaken=false end if args['第二技能'] then skillsec=true else skillsec=false end if args['所属曲包'] then belongs='所属曲包' else if args['所属单曲'] then belongs='所属单曲' else belongs='所属单曲/曲包' end end local imageA=getImage(args['图片'],args['觉醒图片'],args['画师'],args['觉醒画师'],awaken,'a') local imageB=getImage(args['图片'],args['觉醒图片'],args['画师'],args['觉醒画师'],awaken,'b') local infoList = { [1] = { title(args['名称'], args['第二名称']), {id = 'title'}}, [2] = { imageA, {id = 'top-image'}}, [3] = { imageB, {id = 'right-image'}}, [4] = { '搭档信息', {class = 'header'}}, [5] = { '类型', {class = 'label'}}, [6] = { args['类型'], {class = 'data'}}, [7] = { belongs, {class = 'label'}}, [8] = { args['所属曲包'] or args['所属单曲'] or args['所属单曲/曲包'] or '-', {class = 'data'}}, [9] = { '种类', {class = 'label'}}, [10] = { args['种类'] or '-', {class = 'data'}}, [11] = { '觉醒形态', {class = 'label'}}, [12] = { args['觉醒形态'] or '无', {class = 'data'}}, [13] = { '搭档数据', {class = 'header', id='all-play-header'}}, [14] = { '搭档数据 (移动版)', {class = 'header', id='mobile-play-header'}}, [15] = { '等级', {class = 'label'}}, [16] = { 'Lv1', {class = 'level-data'}}, [17] = { 'Lv20', {class = 'level-data'}}, [18] = { 'Lv30', {class = 'awaken-data'}}, [19] = { 'Frag', {class = 'label'}}, [20] = { args['Frag1'], {class = 'level-data'}}, [21] = { args['Frag20'], {class = 'level-data'}}, [22] = { args['Frag30'], {class = 'awaken-data'}}, [23] = { 'Step', {class = 'label'}}, [24] = { args['Step1'], {class = 'level-data'}}, [25] = { args['Step20'], {class = 'level-data'}}, [26] = { args['Step30'], {class = 'awaken-data'}}, [27] = { 'Over', {class = 'label over'}}, [28] = { args['Over1'], {class = 'level-data over'}}, [29] = { args['Over20'], {class = 'level-data over'}}, [30] = { args['Over30'], {class = 'awaken-data over'}}, [31] = { '搭档数据 (Nintendo Switch版)', {class = 'header ns', id='ns-play-header'}}, [32] = { '等级', {class = 'label ns'}}, [33] = { 'Lv1', {class = 'level-data ns'}}, [34] = { 'Lv20', {class = 'level-data ns'}}, [35] = { 'Lv30', {class = 'awaken-data ns'}}, [36] = { 'Frag', {class = 'label ns'}}, [37] = { args['Frag1NS'], {class = 'level-data ns'}}, [38] = { args['Frag20NS'], {class = 'level-data ns'}}, [39] = { args['Frag30NS'], {class = 'awaken-data ns'}}, [40] = { 'Step', {class = 'label ns'}}, [41] = { args['Step1NS'], {class = 'level-data ns'}}, [42] = { args['Step20NS'], {class = 'level-data ns'}}, [43] = { args['Step30NS'], {class = 'awaken-data ns'}}, [44] = { '技能', {class = 'label', id='skill-label'}}, [45] = { skill(args['技能'] or '-',skillawaken,'普通形态'), {class = 'data', id = 'skill-normal'}}, [46] = { skill(args['觉醒技能'] or args['技能'],skillawaken,'觉醒形态'), {class = 'data', id = 'skill-awaken'}}, [47] = { skill(args['技能'],skillsec,args['第一技能说明'] or '第一技能'), {class = 'data', id = 'skill-first'}}, [48] = { skill(args['第二技能'],skillsec,args['第二技能说明'] or '第二技能'), {class = 'data', id = 'skill-first'}}, [49] = { '更新时间', {id='update-data-label' ,class = 'label'}}, [50] = { update(args['更新时间'] or '无','mobile',awaken,args['觉醒更新时间'] or args['更新时间']), {id='mobile-date-normal', class = 'data'}}, [51] = { update(args['更新时间NS'] or '无','ns',awaken,args['觉醒更新时间NS'] or args['更新时间NS']), {id='ns-date-normal', class = 'data'}} } local box = mw.html.create( 'div' ) --样式控制 box:addClass( "partnerbox arcaeabox" ) if awaken then box:addClass( "awaken" ) end -- if args['名称'] == '' then box:addClass( "ns-only" ) end if skillawaken then box:addClass( "skill-awaken" ) end if skillsec then box:addClass( "skill-second" ) end if args['类型']=='支援型' then box:addClass( "support" ) else if args['类型']=='挑战型' then box:addClass( "challenge" ) else box:addClass( "balance" ) end end if args['更新时间NS'] then box:addClass( "ns-box" ) end --表格生成 local boxList={} for _, v in ipairs(infoList) do box:tag('div'):attr(v[2]):cssText(v[3]):wikitext(v[1]):done() end --分类添加 local category = '' --平台 if args['更新时间NS'] then if args['更新时间'] then category = category..'[[分类:双平台搭档]]' else category = category..'[[分类:NS版搭档]]' end else category = category..'[[分类:移动版搭档]]' end --觉醒 if awaken then category = category..'[[分类:有觉醒形态的搭档]]' else category = category..'[[分类:没有觉醒形态的搭档]]' end --类型 local type=args['类型'] if type == '???/创世型' or type == '???/探索者' or type == '???' then type='特殊类型' end category = category..'[[分类:'..(type or '平衡型')..'搭档]]' --种类 local c1,c2=string.sub(args['种类'],1,6),string.sub(args['种类'],-6,-1) if c1 == '限时' then c1='限时活动' end if c1 == '特殊' then c1='获取方式特殊的' end if c2 == '原创' then c2='限时活动' end if c2 == '专辑' then c2='Arcaea原声专辑特典' end category = category..'[[分类:'..c1.. '搭档]]' category = category..'[[分类:'..c2.. '搭档]]' --版本 if args['更新时间'] then category = category..'[[分类:'..string.gsub(version(args['更新时间']),'v','V').. '添加的搭档]]' end if awaken then category = category..'[[分类:'..string.gsub(version(args['觉醒更新时间'] or args['更新时间']),'v','V').. '添加觉醒形态的搭档]]' end if args['更新时间NS'] then category = category..'[[分类:NS '..string.gsub(version(args['更新时间NS']),'v','V')..'添加的搭档]]' end --手动关闭 if args['nocat'] then category='' end return tostring(box)..category end return p
本页使用的模板:
Module:Partnertable/doc
(
查看源代码
)
返回
Module:Partnertable
。