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

モジュール:Utility/Formatter

提供:Apex Data
2021年1月30日 (土) 10:40時点におけるMntone (トーク | 投稿記録)による版 (弾薬のリンクに対応)
ナビゲーションに移動 検索に移動

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

-- frame変数がある場合のFormatter
local withFrame = {}

function withFrame.common(self, text)
	return self.frame:expandTemplate { title = 'Common', args = { text }}
end

function withFrame.rare(self, text)
	return self.frame:expandTemplate { title = 'Rare', args = { text }}
end

function withFrame.epic(self, text)
	return self.frame:expandTemplate { title = 'Epic', args = { text }}
end

function withFrame.legendary(self, text)
	return self.frame:expandTemplate { title = 'Legendary', args = { text }}
end

function withFrame.heirloom(self, text)
	return self.frame:expandTemplate { title = 'Heirloom', args = { text }}
end

local function _withFrame_format(that, default, common, rare, epic)
	return default .. ' → '
		.. that:common(common) .. ' → '
		.. that:rare(rare) .. ' → '
		.. that:epic(epic)
end

function withFrame.format(self, default, common, rare, epic, footer)
	if footer ~= nil then
		return _withFrame_format(self, default, common, rare, epic) .. footer
	else
		return _withFrame_format(self, default, common, rare, epic)
	end
end

function withFrame.format_to4(self, default, common, rare, epic, legendary, footer)
	footer = footer or ''
	return _withFrame_format(self, default, common, rare, epic) .. ' → '
		.. self:legendary(legendary) .. footer
end

function withFrame.format_and5(self, default, common, rare, epic, heirloom, footer)
	footer = footer or ''
	return _withFrame_format(self, default, common, rare, epic) .. ' → '
		.. self:heirloom(heirloom) .. footer
end

function withFrame.ammo(self, text, size, link)
	size = size or 24
	link = link or ''
	return self.frame:expandTemplate { title = 'Ammo', args = { text, size = size, link = link }}
end

function withFrame.hopup(self, text, size)
	size = size or 24
	return self.frame:expandTemplate { title = 'Hopup', args = { text, size = size }}
end

local levelTableWithFrame = {
	withFrame.common,
	withFrame.rare,
	withFrame.epic,
	withFrame.legendary,
	withFrame.heirloom,
}
function withFrame.level(self, level, text)
	return levelTableWithFrame[level](self, text)
end

-- frame変数がない場合のFormatter
local withoutFrame = {}

function withoutFrame.common(self, text)
	local html = mw.html.create('span')
		:css('color', '#A8A8A8')
		:wikitext(text)
	return tostring(html)
end

function withoutFrame.rare(self, text)
	local html = mw.html.create('span')
		:css('color', '#51A8D6')
		:wikitext(text)
	return tostring(html)
end

function withoutFrame.epic(self, text)
	local html = mw.html.create('span')
		:css('color', '#B237C8')
		:wikitext(text)
	return tostring(html)
end

function withoutFrame.legendary(self, text)
	local html = mw.html.create('span')
		:css('color', '#CEAD21')
		:wikitext(text)
	return tostring(html)
end

function withoutFrame.heirloom(self, text)
	local html = mw.html.create('span')
		:css('color', '#FF4E1D')
		:wikitext(text)
	return tostring(html)
end

function withoutFrame.format(self, default, common, rare, epic, footer)
	footer = footer or ''
	return default .. ' → '
		.. self:common(common) .. ' → '
		.. self:rare(rare) .. ' → '
		.. self:epic(epic) .. footer
end

function withoutFrame.format_to4(self, default, common, rare, epic, legendary, footer)
	footer = footer or ''
	return self:format(default, common, rare, epic) .. ' → '
		.. self:legendary(legendary) .. footer
end

function withoutFrame.format_and5(self, default, common, rare, epic, heirloom, footer)
	footer = footer or ''
	return self:format(default, common, rare, epic) .. ' → '
		.. self:heirloom(heirloom) .. footer
end

function withoutFrame.ammo(self, text, size, link)
	return '[' .. text .. ']'
end

function withoutFrame.hopup(self, text, size)
	if text == 'スカルピアサーライフリング' then
		return '[スカピ]'
	else
		return '[' .. text .. ']'
	end
end

local levelTableWithoutFrame = {
	withoutFrame.common,
	withoutFrame.rare,
	withoutFrame.epic,
	withoutFrame.legendary,
	withoutFrame.heirloom,
}
function withoutFrame.level(self, level, text)
	return levelTableWithoutFrame[level](self, text)
end

-- コンストラクター
local p = {}

function p.new(frame)
	local obj
	if frame ~= nil then
		obj = setmetatable({
			frame = frame,
		}, { __index = withFrame })
	else
		obj = setmetatable({}, { __index = withoutFrame })
	end
	return obj
end

return p