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

モジュール:WeaponNavbox

提供:Apex Data
2021年2月8日 (月) 10:32時点におけるMntone (トーク | 投稿記録)による版 (クラス名の付与形態を変更)
ナビゲーションに移動 検索に移動

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

local p = {}

local formatter -- lazily initialized

local function stringStarts(str, start)
	return string.sub(str, 1, string.len(start)) == start
end

local AmmoDict = {
	light = "ライト",
	heavy = "ヘビー",
	energy = "エネルギー",
	sniper = "スナイパー",
	shotgun = "ショットガン",
}

local function createRow(tbl, name, weaponsByAmmo)
	local item
	if name == 'special' then
		item = formatter:ammo('専用スナイパー', 20) .. ' ケアパッケージ'
	else
		local ammo = AmmoDict[name]
		local page = '弾による武器一覧#' .. ammo .. 'アモ'
		item = formatter:ammo(ammo, 20, page) .. ' [[' .. page .. '|' .. ammo .. 'アモ]]'
	end
	
	local list = tbl:tag('tr')
		:tag('th')
			:wikitext(item)
			:done()
		:tag('td')
			:tag('ul')
				:addClass('tpl-navbox-list')
	for _, value in ipairs(weaponsByAmmo) do
		list:tag('li')
			:wikitext(string.format('[[%s]]', value))
	end
end

local function renderNavbox()
	local stat = mw.loadData('Module:Stat/Weapon')
	
	local weaponsByAmmos = {
		light = {},
		heavy = {},
		energy = {},
		sniper = {},
		shotgun = {},
		special = {},
	}
	for key, value in pairs(stat) do
		if stringStarts(value.ammo, "special_") then
			table.insert(weaponsByAmmos.special, key)
		else
			table.insert(weaponsByAmmos[value.ammo], key)
		end
	end
	
	local tbl = mw.html.create('table')
			:addClass('tpl-navbox-table')
			:addClass('tpl-navbox-table-containstitle')
	tbl:tag('tr')
		:tag('th')
			:attr('colspan', 2)
			:addClass('tpl-navbox-table-title')
			:wikitext('武器')
	for _, name in ipairs({ 'light', 'heavy', 'energy', 'sniper', 'shotgun', 'special' }) do
		createRow(tbl, name, weaponsByAmmos[name])
	end
	return tbl:done()
end

function p._main(frame)
	formatter = require('Module:Utility/Formatter').new(frame)
	return tostring(renderNavbox())
end

function p.main(frame)
	return p._main(frame)
end

return p