| 🌟 | 現在、 鉄壁HSは通常HSと同じダメージになります。LMG及びDMR、チャージライフル、ハンマーポイント弾を除き、すべてのダメージ値が一致していることを確認しています。 |
モジュール:Utility/ImageWithName
ナビゲーションに移動
検索に移動
このモジュールについての説明文ページを モジュール: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