| 🌟 | 現在、 鉄壁HSは通常HSと同じダメージになります。LMG及びDMR、チャージライフル、ハンマーポイント弾を除き、すべてのダメージ値が一致していることを確認しています。  | 
「モジュール:WeaponNavbox」の版間の差分
		
		
		
		
		
		ナビゲーションに移動
		検索に移動
		
				
		
		
	
 (ページの作成:「local p = {}  local formatter -- lazily initialized  local function stringStarts(str, start) 	return string.sub(str, 1, string.len(start)) == start end  local AmmoDict =…」)  | 
				 (クラス名の付与形態を変更)  | 
				||
| 31行目: | 31行目: | ||
		:tag('td')  | 		:tag('td')  | ||
			:tag('ul')  | 			:tag('ul')  | ||
				:addClass('tpl-navbox-list')  | |||
	for _, value in ipairs(weaponsByAmmo) do  | 	for _, value in ipairs(weaponsByAmmo) do  | ||
		list:tag('li')  | 		list:tag('li')  | ||
| 56行目: | 57行目: | ||
	end  | 	end  | ||
	local tbl = mw.html.create('  | 	local tbl = mw.html.create('table')  | ||
			:addClass('tpl-navbox-table')  | |||
			:addClass('tpl-navbox-table-containstitle')  | |||
	tbl:tag('tr')  | 	tbl:tag('tr')  | ||
		:tag('th')  | 		:tag('th')  | ||
			:attr('colspan', 2)  | 			:attr('colspan', 2)  | ||
			:addClass('tpl-navbox-table-title')  | |||
			:wikitext('武器')  | 			:wikitext('武器')  | ||
	for _, name in ipairs({ 'light', 'heavy', 'energy', 'sniper', 'shotgun', 'special' }) do  | 	for _, name in ipairs({ 'light', 'heavy', 'energy', 'sniper', 'shotgun', 'special' }) do  | ||
2021年2月8日 (月) 10:32時点における版
このモジュールについての説明文ページを モジュール: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