🌟 | 現在、 鉄壁ヘッドショットには対応済みです。 鉄壁HSは通常HSと同じダメージになります。LMG及びDMR、チャージライフル、ハンマーポイント弾を除き、すべてのダメージ値が一致していることを確認しています。 |
「モジュール:Utility/Formatter」の版間の差分
ナビゲーションに移動
検索に移動
(クラス名の指定に対応) |
(関数levelのクラス名の指定に対応) |
||
84行目: | 84行目: | ||
withFrame.heirloom, | withFrame.heirloom, | ||
} | } | ||
function withFrame.level(self, level, text) | function withFrame.level(self, level, text, class) | ||
return levelTableWithFrame[level](self, text) | return levelTableWithFrame[level](self, text, class) | ||
end | end | ||
175行目: | 175行目: | ||
withoutFrame.heirloom, | withoutFrame.heirloom, | ||
} | } | ||
function withoutFrame.level(self, level, text) | function withoutFrame.level(self, level, text, class) | ||
return levelTableWithoutFrame[level](self, text) | return levelTableWithoutFrame[level](self, text, class) | ||
end | end | ||
2021年2月19日 (金) 14:35時点における版
このモジュールについての説明文ページを モジュール: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, class) return levelTableWithFrame[level](self, text, class) 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, class) return levelTableWithoutFrame[level](self, text, class) 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