🌟 | 現在、 鉄壁ヘッドショットには対応済みです。 鉄壁HSは通常HSと同じダメージになります。LMG及びDMR、チャージライフル、ハンマーポイント弾を除き、すべてのダメージ値が一致していることを確認しています。 |
モジュール:Utility/ImageWithName
ナビゲーションに移動
検索に移動
このモジュールについての説明文ページを モジュール: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(level), namefunc(opts.lang)) end return string.format( cfg[opts.lang].level.format[1 + level], imagefunc(level), classes, namefunc(opts.lang)) end function p.gear(id, level, opts) local imgfn = function(level) return iu.gear(id, level) end local namefn = function(lang) return nu.gear(id, lang) end return getLevelResource(level, opts, imgfn, namefn) end function p.extmag(id, level, opts) local imgfn = function(level) return iu.attachment(nu.extmag(id, 'ja'), level) end local namefn = function(lang) return nu.extmag(id, lang) end return getLevelResource(level, opts, imgfn, namefn) end function __bolt_imagefunc(level) return iu.attachment(nu.bolt('ja'), level) end function p.bolt(level, opts) return getLevelResource(level, opts, __bolt_imagefunc, nu.bolt) end return p