| 🌟 | 現在、 鉄壁HSは通常HSと同じダメージになります。LMG及びDMR、チャージライフル、ハンマーポイント弾を除き、すべてのダメージ値が一致していることを確認しています。 |
「モジュール:Utility/TableUtil/Apex」の版間の差分
ナビゲーションに移動
検索に移動
(内部型名が AmmoCell と WeaponNameCell で重複していた問題の修正) |
(ホップアップとしての改造ローダーに対応) |
||
| 61行目: | 61行目: | ||
end | end | ||
local hopup = inu.hopup(id, { desktopOnly = true }) | if id == 'modded_loader' then | ||
builder:append('[[File:Abilities_Passive_改造ローダー.png|16px|link=|alt=改造ローダー|class=image-rarity image-rarity-common image-rarity-size16]]<span class="text-rarity text-rarity-common text-desktoponly"> 改造ローダー</span>') | |||
else | |||
local hopup = inu.hopup(id, { desktopOnly = true }) | |||
builder:append(hopup) | |||
end | |||
first = false | first = false | ||
end | end | ||
2021年8月18日 (水) 23:43時点における版
このモジュールについての説明文ページを モジュール:Utility/TableUtil/Apex/doc に作成できます
local aw = require('Module:Utility/Library')
local iu = require('Module:Utility/Image')
local inu = require('Module:Utility/ImageWithName')
local StringBuilder = require('Module:Utility/StringBuilder')
local tableutil = require('Module:Utility/TableUtil')
-- =========================
-- type: AmmoCell: Cell (UI)
-- =========================
local __TableUtil__AmmoCell = tableutil.specifyUICell('ammo', function(that, row, dataset, i, datainfo)
local value = dataset[that.dataIndex]
local ammo = iu.ammo(value, { size = 20, link = '' })
local cell = that:__cell__render(row, dataset, i, datainfo):wikitext(ammo)
return cell
end)
tableutil.AmmoCell = __TableUtil__AmmoCell
-- ===============================
-- type: WeaponNameCell: Cell (UI)
-- ===============================
local getEmphasizableText = aw.getEmphasizableTextFunc('%s', '<span class="text-desktoponly">%s</span>', '<span class="text-desktoponly">%s</span>')
local __TableUtil__WeaponNameCell = tableutil.specifyUICell('weaponname', function(that, row, dataset, i, datainfo)
local ammoclass = that.ammoIndex and dataset[that.ammoIndex] or 'light'
if aw.stringstarts(ammoclass, 'special_') then
ammoclass = 'special'
end
local fullname = dataset[that.dataIndex]
local text
if that.shortnameIndex then
local shortname = dataset[that.shortnameIndex]
local suitableName = getEmphasizableText(fullname, shortname)
if that.optionIndex and dataset[that.optionIndex] then
text = string.format('[[%s|<span class="text-ammo-%s">%s</span>]] (%s)', fullname, ammoclass, suitableName, dataset[that.optionIndex])
else
text = string.format('[[%s|<span class="text-ammo-%s">%s</span>]]', fullname, ammoclass, suitableName)
end
elseif that.optionIndex and dataset[that.optionIndex] then
text = string.format('[[%s|<span class="text-ammo-%s">%s</span>]] (%s)', fullname, ammoclass, fullname, dataset[that.optionIndex])
else
text = string.format('[[%s|<span class="text-ammo-%s">%s</span>]]', fullname, ammoclass, fullname)
end
local cell = that:__cell__render(row, dataset, i, datainfo):wikitext(text)
return cell
end, { 'ammoIndex', 'shortnameIndex', 'optionIndex' })
tableutil.WeaponNameCell = __TableUtil__WeaponNameCell
-- ==========================
-- type: HopupCell: Cell (UI)
-- ==========================
local __TableUtil__HopupCell = tableutil.specifyUICell('hopup', function(that, row, dataset, i, datainfo)
local ids = dataset[that.dataIndex]
local cell = that:__cell__render(row, dataset, i, datainfo)
if type(ids) == 'table' then
local first = true
local builder = StringBuilder.new()
for _, id in ipairs(ids) do
if not first then
builder:append('<br>')
end
if id == 'modded_loader' then
builder:append('[[File:Abilities_Passive_改造ローダー.png|16px|link=|alt=改造ローダー|class=image-rarity image-rarity-common image-rarity-size16]]<span class="text-rarity text-rarity-common text-desktoponly"> 改造ローダー</span>')
else
local hopup = inu.hopup(id, { desktopOnly = true })
builder:append(hopup)
end
first = false
end
cell:wikitext(tostring(builder))
end
return cell
end)
tableutil.HopupCell = __TableUtil__HopupCell
return tableutil