🌟 | 現在、 鉄壁ヘッドショットには対応済みです。 鉄壁HSは通常HSと同じダメージになります。LMG及びDMR、チャージライフル、ハンマーポイント弾を除き、すべてのダメージ値が一致していることを確認しています。 |
「モジュール:Utility/ImageWithName」の版間の差分
ナビゲーションに移動
検索に移動
(物資投下武器用の弾薬idリソースでも正しくクラス名を付与できるように改善) |
(アイコンサイズを変更できるように改善) |
||
59行目: | 59行目: | ||
opts = opts or { lang = 'ja' } | opts = opts or { lang = 'ja' } | ||
opts.lang = opts.lang or 'ja' | opts.lang = opts.lang or 'ja' | ||
opts.size = opts.size or 16 | |||
local classes = buildClasses(opts) | local classes = buildClasses(opts) | ||
65行目: | 66行目: | ||
return string.format( | return string.format( | ||
format, | format, | ||
imagefunc(id, { lang = opts.lang, link = link }), | imagefunc(id, { -- 画像 | ||
idclassfunc(id), | lang = opts.lang, | ||
classes, | link = link, | ||
name) | size = opts.size, | ||
}), | |||
idclassfunc(id), -- クラス用ID | |||
classes, -- 追加クラス | |||
name) -- 表示名 | |||
end | end | ||
2021年8月27日 (金) 11:55時点における版
このモジュールについての説明文ページを モジュール:Utility/ImageWithName/doc に作成できます
local p = {} local cfg = mw.loadData('Module:Utility/ImageWithName/configuration') local aw = require('Module:Utility/Library') 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 function getLinkFormat(link, name, cfg) local linkString if link then if link ~= '' then linkString = name else return string.format('%%s %s', cfg.format), link end else linkString = string.format(cfg.defaultLink, name) end return string.format('%%s [[%s|%s]]', linkString, cfg.format), linkString end local iu = require('Module:Utility/Image') local nu = require('Module:Utility/Name') local function getSimpleResource(key, id, opts, imagefunc, namefunc) opts = opts or { lang = 'ja' } opts.lang = opts.lang or 'ja' local classes = buildClasses(opts) local name = namefunc(id, opts.lang) return string.format( cfg[opts.lang][key].format, imagefunc(id), -- 画像 classes, -- 追加クラス name) -- 表示名 end function p.tactical(id, opts) return getSimpleResource('tactical', id, opts, iu.tactical, nu.tactical) end local function getConditionalLinkResource(key, id, opts, imagefunc, namefunc, idclassfunc) opts = opts or { lang = 'ja' } opts.lang = opts.lang or 'ja' opts.size = opts.size or 16 local classes = buildClasses(opts) local name = namefunc(id, opts.lang) local format, link = getLinkFormat(opts.link, name, cfg[opts.lang][key]) return string.format( format, imagefunc(id, { -- 画像 lang = opts.lang, link = link, size = opts.size, }), idclassfunc(id), -- クラス用ID classes, -- 追加クラス name) -- 表示名 end function p.ammo(id, opts) local idclassFunction = function(id) if aw.stringstarts(id, 'special_') then return 'special' else return id end end return getConditionalLinkResource('ammo', id, opts, iu.ammo, nu.ammo, idclassFunction) end function p.hopup(id, opts) local rarity = opts and opts.rarity or mw.loadData('Module:Stat/Hopup')[id].rarity local imageFunction = function(id, opts) opts.rarity = rarity return iu.hopup(id, opts) end local idclassFunction = function() return rarity end return getConditionalLinkResource('hopup', id, opts, iu.hopup, nu.hopup, idclassFunction) 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