◆少前百科是非盈利性、非官方的少女前线维基百科。 ◆如果您发现某些内容错误/空缺,请勇于修正/添加!参与进来其实很容易!点这里 加入少前百科。 ◆有任何意见、建议、纠错,欢迎在 GFwiki:反馈与建议 提出和讨论。编辑事务讨论QQ群:597764980,微博@GFwiki少前百科 ◆To foreigners,You can use twitter to contact us. |
模块:Equip info/index
此模块的文档可以在模块:Equip info/index/doc创建
local p = {} local data = mw.loadData('Module:Equip info/data') local tdata = mw.loadData('Module:Equip info/type data') local xdata = mw.loadData('Module:Gun info/ex data') local cats = {'配件', '弹匣', '人形'} local bonuses = { {'pow', 'atk'}, {'rate', 'rate'}, {'hit', 'acc'}, {'dodge', 'eva'}, {'armor', 'armor'}, {'armor_piercing', 'ampierce'}, {'speed', 'move'}, {'critical_percent', 'criper'}, {'critical_harm_rate', 'crirate'}, {'bullet_number_up', 'bullet'}, {'night_view_percent', 'night'} } local root local frame local function createDataRow(k) local edata = data[k] local base = { ['data-id'] = k, ['data-name-ingame'] = edata.name, ['data-url'] = tostring(mw.uri.localUrl(edata.name)), ['data-equip-class1'] = cats[tdata[edata.etype].category], ['data-equip-class2'] = tdata[edata.etype].name, ['data-base-skill'] = edata.sp_desc ~= nil and 1 or 0, ['data-avatar'] = frame:callParserFunction('filpath', edata.code .. '.png') } for _, v in ipairs(bonuses) do local k1, k2 = unpack(v) if edata[k1] ~= nil then local b, bb = edata[k1][2], edata.bonus_type if edata.max_level == 0 or edata.rank == 2 or bb == nil or bb[k1] == nil then base['data-base-' .. k2] = b else base['data-base-' .. k2] = math.floor(b*(1+bb[k1]/1000)) end else base['data-base-' .. k2] = 0 end end if edata.fits ~= nil then for i, v in ipairs(edata.fits) do base['data-equip-dollname' .. tostring(i)] = xdata[v][1] end end root:tag('div'):addClass('equipdata'):attr(base) end function p.equipIndex() root = mw.html.create() local ks = {} for k, _ in pairs(data) do ks[#ks+1] = k end table.sort(ks, function(v1, v2) return v1 > v2 end) frame = mw.getCurrentFrame() for _, k in ipairs(ks) do createDataRow(k) end return tostring(root) end return p