Neverwinter Wiki
Advertisement

Для документации этого модуля может быть создана страница Модуль:Mount table/doc

local itemIcon = require('Модуль:Item_icon')

local p = {}
local cargo = mw.ext.cargo

local insignia = {
    ['Универсальная ячейка']       = '[[Файл:Универсальная ячейка знаков.png|32px|Универсальная ячейка знаков|ссылка=]]',
    ['универсальная ячейка']       = '[[Файл:Универсальная ячейка знаков.png|32px|Универсальная ячейка знаков|ссылка=]]',
    ['Ячейка просвещенных знаков'] = '[[Файл:Просвещенный знак.png|32px|Ячейка просвещенных знаков|ссылка=]]',
    ['ячейка просвещенных знаков'] = '[[Файл:Просвещенный знак.png|32px|Ячейка просвещенных знаков|ссылка=]]',
    ['Ячейка серповидных знаков']  = '[[Файл:Серповидный знак.png|32px|Ячейка серповидных знаков|ссылка=]]',
    ['ячейка серповидных знаков']  = '[[Файл:Серповидный знак.png|32px|Ячейка серповидных знаков|ссылка=]]',
    ['Ячейка украшенных знаков']   = '[[Файл:Украшенный знак.png|32px|Ячейка украшенных знаков|ссылка=]]',
    ['ячейка украшенных знаков']   = '[[Файл:Украшенный знак.png|32px|Ячейка украшенных знаков|ссылка=]]',
    ['Ячейка царственных знаков']  = '[[Файл:Царственный знак.png|32px|Ячейка царственных знаков|ссылка=]]',
    ['ячейка царственных знаков']  = '[[Файл:Царственный знак.png|32px|Ячейка царственных знаков|ссылка=]]',
    ['Ячейка шипастых знаков']     = '[[Файл:Шипастый знак.png|32px|Ячейка шипастых знаков|ссылка=]]',
    ['ячейка шипастых знаков']     = '[[Файл:Шипастый знак.png|32px|Ячейка шипастых знаков|ссылка=]]',
}

function p.Main( frame )
    tables = 'Items'
    fields = '_pageName,name,quality,icon,slot1,slot2,slot3,insignia_bonuses,equip_power,combat_power'
    local args = {
        where='type HOLDS "Скакун" AND quality="'..frame.args['качество']..'"',
        groupBy = "_pageName" ,
        orderBy = '_pageName',
    }
    local result = cargo.query( tables, fields, args )
    local r = result[1]
	local tbl = mw.html.create('table')
	tbl:addClass('wikitable sortable filter-table-mount jquery-tablesorter')
			tbl:tag("th"):attr('style', 'width: 15%'):wikitext("Скакун"):done()
			tbl:tag("th"):attr('style', 'width: 12%'):wikitext("Ячейки знаков"):done()
			tbl:tag("th"):attr('style', 'width: 20%'):wikitext("Бонусы знаков"):done()
			if r['equip_power'] ~= "" then
				tbl:tag("th"):wikitext("Умение экипировки"):done()
			end
	    	if r['combat_power'] ~= "" then
				tbl:tag("th"):wikitext("Боевое умение"):done()
			end
		tbl:done()
		count = 0
		for k,v in pairs(tbl) do
			count = count + 1
		end

         --Construct the rows in the table
		for _,row in ipairs(result) do
			local dataFilter = {row.slot1, row.slot2, row.slot3}
			tr = tbl:tag("tr"):attr("data-filter", table.concat(dataFilter,', '))
				tr:tag("td"):wikitext(itemIcon.Main({args={row._pageName,""}})):done()
			if row.slot3 ~= "" then
				tr:tag("td"):wikitext(insignia[row.slot1], ' + ', insignia[row.slot2], ' + ', insignia[row.slot3]):done()
	        else
				tr:tag("td"):wikitext(insignia[row.slot1], ' + ', insignia[row.slot2]):done()
			end
			local insigniaBonuses = {}
			for i in string.gmatch(row.insignia_bonuses, "[^,]+") do
				table.insert(insigniaBonuses , '<li>[['..i..']]</li>')
			end
				tr:tag("td"):wikitext('<ul>'..table.concat(insigniaBonuses,'\n')..'</ul>'):done()
			if r['equip_power'] ~= "" then
				tr:tag("td"):wikitext(row.equip_power):done()
			end
			if r['combat_power'] ~= "" then
				tr:tag("td"):wikitext(row.combat_power):done()
			end
		end
		tr = tbl:tag("tr"):attr('style','rtext-align: center; display: none')
		tr:tag("td"):attr('colspan', count):wikitext('<b>Не найдено</b>'):done()
	return tbl
end
return p
Advertisement