Dokumentacja dla tego modułu może zostać utworzona pod nazwą Moduł:Talia/Beta/opis
local getArgs = require('Dev:Arguments').getArgs
local u = require('Module:Utils')
local k = require('Module:Karta')
local data = mw.loadData('Module:Karty')
local Deck = {}
function Deck.create(frame)
local args = getArgs(frame)
local wrapper = mw.html.create('ul'):addClass('gwent-deck'):addClass('align-'..(args['align'] or 'none'))
local names = u.split(args[1] or '', ',')
local cards = {}
local COLOR_TO_CLASS = {
['Dowódca'] = 'deck-leader',
['Złota'] = 'deck-gold',
['Brązowa'] = 'deck-bronze'
}
for i = 1, #names do
local name = u.trim(names[i])
local count = 1
if name:match('^.- x%d$') then
count = tonumber(name:match('^.- x(%d)$'))
name = name:match('^(.-) x%d$')
end
local card = data[name]
if card then
table.insert(cards, {
name = name,
count = count,
class = COLOR_TO_CLASS[card.kolor],
provisions = card.werbunek,
strength = card.sila
})
end
end
for index, card in ipairs(cards) do
wrapper
:tag('li')
:addClass('card-tooltip')
:addClass(card.class)
:attr('data-card', card.name)
:attr('data-set-background', k._encode(card.name..' Art.jpg'))
:wikitext(card.count > 1 and '[['..card.name..'|'..card.name..' <span>x'..card.count..'</span>]]' or '[['..card.name..']]')
end
return wrapper
end
return Deck