| 🌟 | 現在、 鉄壁HSは通常HSと同じダメージになります。LMG及びDMR、チャージライフル、ハンマーポイント弾を除き、すべてのダメージ値が一致していることを確認しています。 |
「モジュール:Utility/ImageWithName」の版間の差分
ナビゲーションに移動
検索に移動
(レアリティー設定が伝播するように改善) |
(装備品に対応) |
||
| 74行目: | 74行目: | ||
end | end | ||
local function getLevelResource(level, opts, namefunc) | local function getLevelResource(level, opts, imagefunc, namefunc) | ||
level = level or 0 | level = level or 0 | ||
opts = opts or { lang = 'ja' } | opts = opts or { lang = 'ja' } | ||
| 90行目: | 90行目: | ||
return string.format( | return string.format( | ||
cfg[opts.lang].level.none_format, | cfg[opts.lang].level.none_format, | ||
imagefunc(namefunc('ja'), level), | |||
namefunc(opts.lang)) | namefunc(opts.lang)) | ||
end | end | ||
| 96行目: | 96行目: | ||
return string.format( | return string.format( | ||
cfg[opts.lang].level.format[1 + level], | cfg[opts.lang].level.format[1 + level], | ||
imagefunc(namefunc('ja'), level), | |||
classes, | classes, | ||
namefunc(opts.lang)) | namefunc(opts.lang)) | ||
end | |||
function p.gear(id, level, opts) | |||
return getLevelResource(level, opts, iu.gear, function(lang) | |||
return nu.gear(id, lang) | |||
end) | |||
end | end | ||
function p.extmag(id, level, opts) | function p.extmag(id, level, opts) | ||
return getLevelResource(level, opts, function(lang) | return getLevelResource(level, opts, iu.attachment, function(lang) | ||
return nu.extmag(id, lang) | return nu.extmag(id, lang) | ||
end) | end) | ||
| 108行目: | 114行目: | ||
function p.bolt(level, opts) | function p.bolt(level, opts) | ||
return getLevelResource(level, opts, | return getLevelResource(level, opts, iu.attachment, nu.bolt) | ||
end | end | ||
return p | return p | ||
2021年8月21日 (土) 10:26時点における版
このモジュールについての説明文ページを モジュール:Utility/ImageWithName/doc に作成できます
local p = {}
local cfg = mw.loadData('Module:Utility/ImageWithName/configuration')
local function buildClasses(opts)
local classes
if type(opts.classes) == 'string' then
if opts.desktopOnly then
classes = ' ' .. opts.classes .. ' text-desktoponly'
else
classes = ' ' .. opts.classes
end
else
if opts.desktopOnly then
classes = ' text-desktoponly'
else
classes = ''
end
end
return classes
end
local iu = require('Module:Utility/Image')
local nu = require('Module:Utility/Name')
local function getSimpleResource(key, id, opts, imagefunc, namefunc, rarityfunc)
opts = opts or { lang = 'ja' }
opts.lang = opts.lang or 'ja'
local classes = buildClasses(opts)
local name = namefunc(id, opts.lang)
local cfg2 = cfg[opts.lang][key]
local rarity = opts.rarity or rarityfunc and rarityfunc(id)
local params = {
imagefunc(id, { rarity = rarity }) -- 画像
}
-- リンク
if cfg2.hasLink then
table.insert(params, name)
end
-- レアリティー
if cfg2.hasRarity then
table.insert(params, rarity)
end
-- クラス用ID
if cfg2.hasId then
table.insert(params, id)
end
-- 追加クラス
table.insert(params, classes)
-- 表示名
table.insert(params, name)
return string.format(cfg2.format, unpack(params))
end
function p.ammo(id, opts)
return getSimpleResource('ammo', id, opts, iu.ammo, nu.ammo)
end
function p.hopup(id, opts)
local rarityFunction = function(id)
return mw.loadData('Module:Stat/Hopup')[id].rarity
end
return getSimpleResource('hopup', id, opts, iu.hopup, nu.hopup, rarityFunction)
end
function p.tactical(id, opts)
return getSimpleResource('tactical', id, opts, iu.tactical, nu.tactical)
end
local function getLevelResource(level, opts, imagefunc, namefunc)
level = level or 0
opts = opts or { lang = 'ja' }
opts.lang = opts.lang or 'ja'
if level == 0 and opts.useShortLabel then
return cfg[lang].level.none
end
if level > 5 then
level = 5
end
local classes = buildClasses(opts)
if level == 0 and classes == '' then
return string.format(
cfg[opts.lang].level.none_format,
imagefunc(namefunc('ja'), level),
namefunc(opts.lang))
end
return string.format(
cfg[opts.lang].level.format[1 + level],
imagefunc(namefunc('ja'), level),
classes,
namefunc(opts.lang))
end
function p.gear(id, level, opts)
return getLevelResource(level, opts, iu.gear, function(lang)
return nu.gear(id, lang)
end)
end
function p.extmag(id, level, opts)
return getLevelResource(level, opts, iu.attachment, function(lang)
return nu.extmag(id, lang)
end)
end
function p.bolt(level, opts)
return getLevelResource(level, opts, iu.attachment, nu.bolt)
end
return p