🌟 | 現在、 鉄壁ヘッドショットには対応済みです。 鉄壁HSは通常HSと同じダメージになります。LMG及びDMR、チャージライフル、ハンマーポイント弾を除き、すべてのダメージ値が一致していることを確認しています。 |
「モジュール:Utility/Formatter」の版間の差分
ナビゲーションに移動
検索に移動
(クラス名の指定に対応) |
(未使用の関数を削除) |
||
(同じ利用者による、間の3版が非表示) | |||
42行目: | 42行目: | ||
return _withFrame_format(self, default, common, rare, epic, separator) | return _withFrame_format(self, default, common, rare, epic, separator) | ||
end | end | ||
end | end | ||
84行目: | 64行目: | ||
withFrame.heirloom, | withFrame.heirloom, | ||
} | } | ||
function withFrame.level(self, level, text) | function withFrame.level(self, level, text, class) | ||
return levelTableWithFrame[level](self, text) | if level <= 0 then | ||
if class then | |||
local html = mw.html.create('span') | |||
:addClass(class) | |||
:wikitext(text) | |||
return tostring(html) | |||
else | |||
return text | |||
end | |||
else | |||
return levelTableWithFrame[level](self, text, class) | |||
end | |||
end | end | ||
138行目: | 129行目: | ||
.. self:rare(rare) .. separator | .. self:rare(rare) .. separator | ||
.. self:epic(epic) .. footer | .. self:epic(epic) .. footer | ||
end | end | ||
175行目: | 148行目: | ||
withoutFrame.heirloom, | withoutFrame.heirloom, | ||
} | } | ||
function withoutFrame.level(self, level, text) | function withoutFrame.level(self, level, text, class) | ||
return levelTableWithoutFrame[level](self, text) | if level <= 0 then | ||
if class then | |||
local html = mw.html.create('span') | |||
:addClass(class) | |||
:wikitext(text) | |||
return tostring(html) | |||
else | |||
return text | |||
end | |||
else | |||
return levelTableWithoutFrame[level](self, text, class) | |||
end | |||
end | end | ||
2021年5月14日 (金) 18:07時点における最新版
このモジュールについての説明文ページを モジュール: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.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) if level <= 0 then if class then local html = mw.html.create('span') :addClass(class) :wikitext(text) return tostring(html) else return text end else return levelTableWithFrame[level](self, text, class) end 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.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) if level <= 0 then if class then local html = mw.html.create('span') :addClass(class) :wikitext(text) return tostring(html) else return text end else return levelTableWithoutFrame[level](self, text, class) end 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