🌟現在、鉄壁 鉄壁ヘッドショットには対応済みです。
鉄壁HSは通常HSと同じダメージになります。LMG及びDMR、チャージライフル、ハンマーポイント弾を除き、すべてのダメージ値が一致していることを確認しています。

「モジュール:Utility/Image」の版間の差分

提供:Apex Data
ナビゲーションに移動 検索に移動
(戦術アビリティ画像に対応)
(戦術アビリティの参照方法を「名前」から「ID」に変更)
20行目: 20行目:
end
end


local function imagecore(cfg2, name, opts)
local function imagecore(cfg2, name, opts, altname)
if opts.link and opts.link ~= '' then
if opts.link and opts.link ~= '' then
opts.link = string.format(opts.link, name)
opts.link = string.format(opts.link, name)
29行目: 29行目:
return string.format(
return string.format(
'[[File:%s|%dpx|link=%s|alt=%s|class=%s]]',
'[[File:%s|%dpx|link=%s|alt=%s|class=%s]]',
filename, opts.size, opts.link, name, classtext)
filename, opts.size, opts.link, altname or name, classtext)
end
end


56行目: 56行目:
end
end


local function image(cfg2, name, opts)
local function image(cfg2, name, opts, altname)
opts = opts and aw.shallowCopy(opts) or {}
opts = opts and aw.shallowCopy(opts) or {}
opts.link  = opts.link  or cfg2.items and cfg2.items[name].default_link  or cfg2.default_link  or cfg.default_link
opts.link  = opts.link  or cfg2.items and cfg2.items[name].default_link  or cfg2.default_link  or cfg.default_link
opts.rarity = opts.rarity or cfg2.items and cfg2.items[name].default_rarity or cfg2.default_rarity or cfg.default_rarity
opts.rarity = opts.rarity or cfg2.items and cfg2.items[name].default_rarity or cfg2.default_rarity or cfg.default_rarity
opts.size  = opts.size  or cfg2.items and cfg2.items[name].default_size  or cfg2.default_size  or cfg.default_size
opts.size  = opts.size  or cfg2.items and cfg2.items[name].default_size  or cfg2.default_size  or cfg.default_size
return imagecore(cfg2, name, opts)
return imagecore(cfg2, name, opts, altname)
end
end


76行目: 76行目:
end
end


function p.tactical(name, opts)
function p.tactical(id, opts)
return image(cfg.tactical, name, opts)
local name = nu.tactical(id, 'ja')
local altname = nu.tactical(id)
return image(cfg.tactical, name, opts, altname)
end
end


return p
return p

2021年3月28日 (日) 10:30時点における版

このモジュールについての説明文ページを モジュール:Utility/Image/doc に作成できます

local p = {}
local cfg = mw.loadData('Module:Utility/Image/configuration')

local aw = require('Module:Utility/Library')
local nu = require('Module:Utility/Name')

local function buildClasses(base, params)
	local classes = {}
	for _, value in ipairs({ 'body', 'rarity', 'size' }) do
		local baseClassName = base[value]
		local param = params[value]
		if param ~= nil then
			local classname = string.format(baseClassName, param)
			table.insert(classes, classname)
		else
			table.insert(classes, baseClassName)
		end
	end
	return table.concat(classes, ' ')
end

local function imagecore(cfg2, name, opts, altname)
	if opts.link and opts.link ~= '' then
		opts.link = string.format(opts.link, name)
	end
	
	local filename  = string.format(cfg2.filename, name)
	local classtext = buildClasses(cfg2.classes or cfg.classes, opts)
	return string.format(
		'[[File:%s|%dpx|link=%s|alt=%s|class=%s]]',
		filename, opts.size, opts.link, altname or name, classtext)
end

function p.attachment(name, level, opts)
	local newopts = opts and aw.shallowCopy(opts) or {}
	newopts.link   = newopts.link   or cfg.attachment.default_link or cfg.default_link
	newopts.rarity = newopts.rarity or cfg.attachment.levels[math.min(5, 1 + level)]
	newopts.size   = newopts.size   or cfg.attachment.default_size or cfg.default_size
	return imagecore(cfg.attachment, name, newopts)
end

function p.ammo(id, opts)
	local name = nu.ammo(id)
	local newopts = opts and aw.shallowCopy(opts) or {}
	newopts.link = newopts.link or cfg.ammo.default_link or cfg.default_link
	newopts.size = newopts.size or cfg.ammo.default_size or cfg.default_size
	
	if newopts.link and newopts.link ~= '' then
		newopts.link = string.format(newopts.link, name)
	end
	
	local filename  = string.format(cfg.ammo.filename, name)
	return string.format(
		'[[File:%s|x%dpx|link=%s|alt=%s]]',
		filename, newopts.size, newopts.link, name)
end

local function image(cfg2, name, opts, altname)
	opts = opts and aw.shallowCopy(opts) or {}
	opts.link   = opts.link   or cfg2.items and cfg2.items[name].default_link   or cfg2.default_link   or cfg.default_link
	opts.rarity = opts.rarity or cfg2.items and cfg2.items[name].default_rarity or cfg2.default_rarity or cfg.default_rarity
	opts.size   = opts.size   or cfg2.items and cfg2.items[name].default_size   or cfg2.default_size   or cfg.default_size
	return imagecore(cfg2, name, opts, altname)
end

function p.hopup(name, opts)
	return image(cfg.hopup, name, opts)
end

function p.item(name, opts)
	return image(cfg.item, name, opts)
end

function p.scope(name, opts)
	return image(cfg.scope, name, opts)
end

function p.tactical(id, opts)
	local name = nu.tactical(id, 'ja')
	local altname = nu.tactical(id)
	return image(cfg.tactical, name, opts, altname)
end

return p