Module:沙盒/Chronowar/partnertable:修订间差异
无编辑摘要 |
无编辑摘要 |
||
第3行: | 第3行: | ||
local getData = require("Module:data") | local getData = require("Module:data") | ||
local p = {} | local p = {} | ||
function labelText(text,class) | function labelText(text,class) | ||
第67行: | 第46行: | ||
function p._main(args) | function p._main(args) | ||
local awaken | local awaken | ||
第96行: | 第64行: | ||
[9] = { '觉醒形态', {class = 'label'}}, | [9] = { '觉醒形态', {class = 'label'}}, | ||
[10] = { args['觉醒形态'] or '无', {class = 'data'}}, | [10] = { args['觉醒形态'] or '无', {class = 'data'}}, | ||
[11] = { | [11] = { ' 搭档数据', {class = 'header'}}, | ||
[12] = { ' 等级', {class = 'label'}}, | |||
[13] = { 'Lv1', {class = 'level-data'}}, | |||
[12] = { | [14] = { 'Lv20', {class = 'level-data'}}, | ||
[15] = { 'Lv30', {class = 'awaken-data'}}, | |||
[16] = { 'Frag', {class = 'label'}}, | |||
[13] = { | [17] = { args['Frag1'], {class = 'level-data'}}, | ||
[18] = { args['Frag20'], {class = 'level-data'}}, | |||
[19] = { args['Frag30'], {class = 'awaken-data'}}, | |||
[14] = { | [20] = { 'Step', {class = 'label'}}, | ||
[21] = { args['Step1'], {class = 'level-data'}}, | |||
[22] = { args['Step20'], {class = 'level-data'}}, | |||
[15] = { | [23] = { args['Step30'], {class = 'awaken-data'}}, | ||
[24] = { 'Over', {class = 'label'}}, | |||
[25] = { args['Over1'], {class = 'level-data'}}, | |||
[16] = { | [26] = { args['Over20'], {class = 'level-data'}}, | ||
[27] = { args['Over30'], {class = 'awaken-data'}}, | |||
[28] = { ' 搭档数据 (Nintendo Switch版)', {class = 'header ns'}}, | |||
[17] = { | |||
[18] = {args[' | |||
[19] = { | |||
[20] = { | |||
[21] = { | |||
[22] = { | |||
[23] = { | |||
[24] = { | |||
[25] = { | |||
[26] = { | |||
[27] = { | |||
[28] = { | |||
[29] = { | [29] = { | ||
'谱面设计', | '谱面设计', | ||
第251行: | 第186行: | ||
end | end | ||
return tostring(box) | return tostring(box) | ||
end | end | ||
return p | return p |
2021年7月22日 (四) 18:58的版本
可在Module:沙盒/Chronowar/partnertable/doc创建此模块的帮助文档
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 getImage(normal,awaken,JacketArgs,awakenyes,type,size)
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 Jacket=JacketArgs
if awaken
then
tab1,tab2,part1,part2=mw.html.create('div'),mw.html.create('div'),mw.html.create('div'),mw.html.create('div')
tab1:wikitext('Normal') tab2:wikitext('Awaken')
tab1:addClass('img-tab-part normal') tab2:addClass('img-tab-part awaken')
tab:wikitext(tostring(tab1)) tab:wikitext(tostring(tab2))
container:wikitext(tostring(tab))
part1:wikitext('[[文件:'..normal..'|'..size..'px|none]]'..labelText('画师')..Jacket) part2:wikitext('[[文件:'..awaken..'|'..size..'px|none]]'..labelText('画师')..tostring(Jacket))
part1:addClass('active tab-text-'..type) part2:addClass('tab-text-'..type)
container:wikitext(tostring(part1)) container:wikitext(tostring(part2))
return tostring(container)
end
end
function re0()
return nil
end
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
function p._main(args)
local awaken
local size
if args['名称'] == '白姬' then size=200 else size=300 end
if args['觉醒形态'] == '有' then awaken=true else awaken=false end
local imageA=getImage(args['图片'],args['觉醒图片'],args['画师'],awaken,'a',size)
local imageB=getImage(args['图片'],args['觉醒图片'],args['画师'],awaken,'b',size)
local infoList = {
[1] = { args['名称'], {id = 'title'}},
[2] = { imageA, {id = 'top-image'}},
[3] = { imageB, {id = 'right-image'}},
[4] = { '搭档信息', {class = 'header'}},
[5] = { '类型', {class = 'label'}},
[6] = { args['类型'], {class = 'data'}},
[7] = { '所属曲包', {class = 'label'}},
[8] = { args['所属曲包'] or args['所属单曲'] or '-', {class = 'data'}},
[9] = { '觉醒形态', {class = 'label'}},
[10] = { args['觉醒形态'] or '无', {class = 'data'}},
[11] = { '搭档数据', {class = 'header'}},
[12] = { '等级', {class = 'label'}},
[13] = { 'Lv1', {class = 'level-data'}},
[14] = { 'Lv20', {class = 'level-data'}},
[15] = { 'Lv30', {class = 'awaken-data'}},
[16] = { 'Frag', {class = 'label'}},
[17] = { args['Frag1'], {class = 'level-data'}},
[18] = { args['Frag20'], {class = 'level-data'}},
[19] = { args['Frag30'], {class = 'awaken-data'}},
[20] = { 'Step', {class = 'label'}},
[21] = { args['Step1'], {class = 'level-data'}},
[22] = { args['Step20'], {class = 'level-data'}},
[23] = { args['Step30'], {class = 'awaken-data'}},
[24] = { 'Over', {class = 'label'}},
[25] = { args['Over1'], {class = 'level-data'}},
[26] = { args['Over20'], {class = 'level-data'}},
[27] = { args['Over30'], {class = 'awaken-data'}},
[28] = { '搭档数据 (Nintendo Switch版)', {class = 'header ns'}},
[29] = {
'谱面设计',
{class = 'label'}},
[30] = {
chartDesigner[1] or '空',
{class = 'pst-data'}, span[1]},
[31] = {
chartDesigner[2] or '空',
{class = 'prs-data'}, span[2]},
[32] = {
chartDesigner[3] or '空',
{class = 'ftr-data'}, span[3]},
[33] = {
chartDesigner[4] or '空',
{class = 'byd-data'}, span[4]},
[34] = {
'谱面信息(Joy-Con)',
{class = 'header ns', id = 'ns-play-header'}},
[35] = {
'难度',
{class = 'label ns'}},
[36] = {
'[Past]',
{class = 'pst-label ns'}},
[37] = {
'[Present]',
{class = 'prs-label ns'}},
[38] = {
'[Future]',
{class = 'ftr-label ns'}},
[39] = {
bydMark(byd, args['曲名']),
{class = 'byd-label ns'}},
[40] = {
'note数量',
{class = 'label ns'}},
[41] = {
args['PastNoteNS'] or args['PastNote'],
{class = 'pst-data ns'}},
[42] = {
args['PresentNoteNS'] or args['PresentNote'],
{class = 'prs-data ns'}},
[43] = {
args['FutureNoteNS'] or args['FutureNote'],
{class = 'ftr-data ns'}},
[44] = {
args['BeyondNoteNS'] or '空',
{class = 'byd-data ns'}},
[45] = {
'背景',
{class = 'label'}},
[46] = {
bgCov(args['背景']) or bgCov(data('bg')) or bgCov(dataNs('bg')),
{class = 'data'}},
[47] = {
'更新时间',
{id = 'update-data-label', class = 'label'}},
[48] = {
dateCov(args['更新版本'], args['更新时间'], labelText('移动版'), 'arg') or dateCov(data('version'), tonumber(data('date')), labelText('移动版'), 'data'),
{id = 'mobile-date-normal', class = 'data'}},
[49] = {
dateCov(args['Beyond更新版本'], args['Beyond更新时间'], labelText('移动版'), 'arg') or '空',
{id = 'mobile-date-byd', class = 'data'}},
[50] = {
dateCov(args['更新版本NS'], args['更新时间NS'], labelText('NS版'), 'arg') or dateCov(dataNs('version'), tonumber(dataNs('date')), labelText('NS版'), 'data'),
{id = 'ns-date-normal', class = 'data ns'}},
[51] = {
'空',
{id = 'ns-date-byd', class = 'data ns'}}}
local box = mw.html.create( 'div' )
--样式控制
box:addClass( "partnerbox" )
if awaken then box:addClass( "awaken" ) 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 i,o in ipairs(infoList) do
boxList[i] = mw.html.create( 'div' )
boxList[i]
:attr( infoList[i][3] )
:cssText( infoList[i][4] )
if infoList[i][1]
then
boxList[i]:wikitext( infoList[i][1] )
else
boxList[i]:wikitext( infoList[i][2] )
end
box:wikitext(tostring(boxList[i]))
end
return tostring(box)
end
return p