🌟 | 現在、 鉄壁ヘッドショットには対応済みです。 鉄壁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