🌟 | 現在、 鉄壁ヘッドショットには対応済みです。 鉄壁HSは通常HSと同じダメージになります。LMG及びDMR、チャージライフル、ハンマーポイント弾を除き、すべてのダメージ値が一致していることを確認しています。 |
「モジュール:Utility/Formatter」の版間の差分
ナビゲーションに移動
検索に移動
(format関数をnilに対応) |
(クラス名の指定に対応) |
||
2行目: | 2行目: | ||
local withFrame = {} | local withFrame = {} | ||
function withFrame.common(self, text) | function withFrame.common(self, text, class) | ||
return self.frame:expandTemplate { title = 'Common', args = { text }} | return self.frame:expandTemplate { title = 'Common', args = { text, class = class }} | ||
end | end | ||
function withFrame.rare(self, text) | function withFrame.rare(self, text, class) | ||
return self.frame:expandTemplate { title = 'Rare', args = { text }} | return self.frame:expandTemplate { title = 'Rare', args = { text, class = class }} | ||
end | end | ||
function withFrame.epic(self, text) | function withFrame.epic(self, text, class) | ||
return self.frame:expandTemplate { title = 'Epic', args = { text }} | return self.frame:expandTemplate { title = 'Epic', args = { text, class = class }} | ||
end | end | ||
function withFrame.legendary(self, text) | function withFrame.legendary(self, text, class) | ||
return self.frame:expandTemplate { title = 'Legendary', args = { text }} | return self.frame:expandTemplate { title = 'Legendary', args = { text, class = class }} | ||
end | end | ||
function withFrame.heirloom(self, text) | function withFrame.heirloom(self, text, class) | ||
return self.frame:expandTemplate { title = 'Heirloom', args = { text }} | return self.frame:expandTemplate { title = 'Heirloom', args = { text, class = class }} | ||
end | end | ||
91行目: | 91行目: | ||
local withoutFrame = {} | local withoutFrame = {} | ||
function withoutFrame.common(self, text) | function withoutFrame.common(self, text, class) | ||
local html = mw.html.create('span') | local html = mw.html.create('span') | ||
:addClass(class) | |||
:css('color', '#A8A8A8') | :css('color', '#A8A8A8') | ||
:wikitext(text) | :wikitext(text) | ||
98行目: | 99行目: | ||
end | end | ||
function withoutFrame.rare(self, text) | function withoutFrame.rare(self, text, class) | ||
local html = mw.html.create('span') | local html = mw.html.create('span') | ||
:addClass(class) | |||
:css('color', '#51A8D6') | :css('color', '#51A8D6') | ||
:wikitext(text) | :wikitext(text) | ||
105行目: | 107行目: | ||
end | end | ||
function withoutFrame.epic(self, text) | function withoutFrame.epic(self, text, class) | ||
local html = mw.html.create('span') | local html = mw.html.create('span') | ||
:addClass(class) | |||
:css('color', '#B237C8') | :css('color', '#B237C8') | ||
:wikitext(text) | :wikitext(text) | ||
112行目: | 115行目: | ||
end | end | ||
function withoutFrame.legendary(self, text) | function withoutFrame.legendary(self, text, class) | ||
local html = mw.html.create('span') | local html = mw.html.create('span') | ||
:addClass(class) | |||
:css('color', '#CEAD21') | :css('color', '#CEAD21') | ||
:wikitext(text) | :wikitext(text) | ||
119行目: | 123行目: | ||
end | end | ||
function withoutFrame.heirloom(self, text) | function withoutFrame.heirloom(self, text, class) | ||
local html = mw.html.create('span') | local html = mw.html.create('span') | ||
:addClass(class) | |||
:css('color', '#FF4E1D') | :css('color', '#FF4E1D') | ||
:wikitext(text) | :wikitext(text) |
2021年2月19日 (金) 14:28時点における版
このモジュールについての説明文ページを モジュール:Utility/Formatter/doc に作成できます
-- frame変数がある場合のFormatter local withFrame = {} function withFrame.common(self, text, class) return self.frame:expandTemplate { title = 'Common', args = { text, class = class }} end function withFrame.rare(self, text, class) return self.frame:expandTemplate { title = 'Rare', args = { text, class = class }} end function withFrame.epic(self, text, class) return self.frame:expandTemplate { title = 'Epic', args = { text, class = class }} end function withFrame.legendary(self, text, class) return self.frame:expandTemplate { title = 'Legendary', args = { text, class = class }} end function withFrame.heirloom(self, text, class) return self.frame:expandTemplate { title = 'Heirloom', args = { text, class = class }} end local function _withFrame_format(that, default, common, rare, epic, separator) if common ~= nil then default = default .. separator .. that:common(common) end if rare ~= nil then default = default .. separator .. that:rare(rare) end if epic ~= nil then default = default .. separator .. that:epic(epic) end return default end function withFrame.format(self, default, common, rare, epic, footer, separator) separator = separator or ' → ' if footer ~= nil then return _withFrame_format(self, default, common, rare, epic, separator) .. footer else return _withFrame_format(self, default, common, rare, epic, separator) end end function withFrame.format_to4(self, default, common, rare, epic, legendary, footer, separator) footer = footer or '' separator = separator or ' → ' return _withFrame_format(self, default, common, rare, epic, separator) .. separator .. self:legendary(legendary) .. footer end function withFrame.format_and5(self, default, common, rare, epic, heirloom, footer, separator) footer = footer or '' separator = separator or ' → ' return _withFrame_format(self, default, common, rare, epic, separator) .. separator .. 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, opts) opts = opts or {} return self.frame:expandTemplate { title = 'Hopup', args = { text, size = opts.size or 16, link = opts.link, rariry = opts.rariry, }, } 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, class) local html = mw.html.create('span') :addClass(class) :css('color', '#A8A8A8') :wikitext(text) return tostring(html) end function withoutFrame.rare(self, text, class) local html = mw.html.create('span') :addClass(class) :css('color', '#51A8D6') :wikitext(text) return tostring(html) end function withoutFrame.epic(self, text, class) local html = mw.html.create('span') :addClass(class) :css('color', '#B237C8') :wikitext(text) return tostring(html) end function withoutFrame.legendary(self, text, class) local html = mw.html.create('span') :addClass(class) :css('color', '#CEAD21') :wikitext(text) return tostring(html) end function withoutFrame.heirloom(self, text, class) local html = mw.html.create('span') :addClass(class) :css('color', '#FF4E1D') :wikitext(text) return tostring(html) end function withoutFrame.format(self, default, common, rare, epic, footer, separator) footer = footer or '' separator = separator or ' → ' return default .. separator .. self:common(common) .. separator .. self:rare(rare) .. separator .. self:epic(epic) .. footer end function withoutFrame.format_to4(self, default, common, rare, epic, legendary, footer, separator) footer = footer or '' separator = separator or ' → ' return self:format(default, common, rare, epic) .. separator .. self:legendary(legendary) .. footer end function withoutFrame.format_and5(self, default, common, rare, epic, heirloom, footer, separator) footer = footer or '' separator = separator or ' → ' return self:format(default, common, rare, epic) .. separator .. self:heirloom(heirloom) .. footer end function withoutFrame.ammo(self, text, size, link) return '[' .. text .. ']' end function withoutFrame.hopup(self, text, opts) if text == 'スカルピアサーライフリング' then return '[スカピ]' elseif 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