“模块:Jobs”的版本间的差异
来自小鱼君和他的朋友们
([InPageEdit] 没有编辑摘要) |
([InPageEdit] 没有编辑摘要) |
||
第2行: | 第2行: | ||
local getArgs = require('Module:Arguments').getArgs | local getArgs = require('Module:Arguments').getArgs | ||
+ | -- 职业名称标准化 | ||
local alias = {} | local alias = {} | ||
− | |||
− | |||
function setAlias(array,code) | function setAlias(array,code) | ||
for i,name in ipairs(array) do | for i,name in ipairs(array) do | ||
第10行: | 第9行: | ||
end | end | ||
end | end | ||
+ | function jobCode(frame) | ||
+ | local args = getArgs(frame) | ||
+ | local job = args['job'] or args[1] or 'unknown' | ||
+ | job = mw.ustring.lower(job) | ||
+ | return alias[job] or 'unknown' | ||
+ | end | ||
+ | -- 职业别名 | ||
setAlias({'弓箭手', 'archer', 'arc'}, 'archer') | setAlias({'弓箭手', 'archer', 'arc'}, 'archer') | ||
setAlias({'吟游诗人', '诗人', 'bard', 'brd'}, 'bard') | setAlias({'吟游诗人', '诗人', 'bard', 'brd'}, 'bard') | ||
+ | -- 职业具体参数 | ||
local jobDetail = { | local jobDetail = { | ||
['unknown'] = { | ['unknown'] = { | ||
第40行: | 第47行: | ||
} | } | ||
− | + | -- 职业色谱 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
function p.jobColor(frame) | function p.jobColor(frame) | ||
local job = jobCode(frame) | local job = jobCode(frame) | ||
第52行: | 第53行: | ||
end | end | ||
+ | -- 返回最完整的格式 | ||
function p.main(frame) | function p.main(frame) | ||
local job = jobCode(frame) | local job = jobCode(frame) |
2020年4月2日 (四) 18:32的版本
弓箭手red 弓箭手red
游吟诗人red 游吟诗人red
未知职业unknown 未知职业unknown
未知职业unknown
Module:Jobs/alias (编辑) • Module:Jobs/colorInfo (编辑) • Module:Jobs/details (编辑) • Module:Jobs/levels (编辑)
local p = {} local getArgs = require('Module:Arguments').getArgs -- 职业名称标准化 local alias = {} function setAlias(array,code) for i,name in ipairs(array) do alias[array[i]] = code end end function jobCode(frame) local args = getArgs(frame) local job = args['job'] or args[1] or 'unknown' job = mw.ustring.lower(job) return alias[job] or 'unknown' end -- 职业别名 setAlias({'弓箭手', 'archer', 'arc'}, 'archer') setAlias({'吟游诗人', '诗人', 'bard', 'brd'}, 'bard') -- 职业具体参数 local jobDetail = { ['unknown'] = { ['name'] = '未知职业', --中文名 ['en'] = 'Unknown', --英文名 ['short'] = 'null', --简称 ['color'] = 'unknown', --red/green/blue/yellow/purple ['prop'] = '', --战斗职业的类型 ['level'] = 'nor' --nor/adv/spe }, ['archer'] = { ['name'] = '弓箭手', ['en'] = 'Archer', ['short'] = 'arc', ['color'] = 'red', ['prop'] = '远程物理', ['level'] = 'nor' }, ['bard'] = { ['name'] = '游吟诗人', ['en'] = 'Bard', ['short'] = 'brd', ['color'] = 'red', ['prop'] = '远程物理', ['level'] = 'adv' } } -- 职业色谱 function p.jobColor(frame) local job = jobCode(frame) return jobDetail[job]['color'] end -- 返回最完整的格式 function p.main(frame) local job = jobCode(frame) return jobDetail[job]['name'] .. p.jobColor(frame) end return p