FANDOM


local p = {}
 
local function arguments(origArgs)
    local args = {}
    for k, v in pairs(origArgs) do
        if type(v) == 'string' then v = mw.text.trim(v) end
        if v ~= '' then args[k] = v end
    end
    return args
end
local function inline(tpl, args)
    local arg = {}
    for i,v in ipairs(args) do
        arg[#arg+1] = v
    end
    return mw.ustring.format('{{%s|%s}}', tpl, table.concat(arg, '|'))
end
 
local args
local function arg(a, b, empty, prefix)
    if args[a] or empty then mw.log(mw.ustring.format('| %s = %s%s', b or a, args[a] and prefix or '', args[a] or '')) end
end
p['Umiejętność'] = function(frame)
    args = arguments(frame.args)
 
    if args[1] then
        mw.log('{{Umiejętność2|' .. args[1])
    else
        mw.log('{{Umiejętność2')
    end
 
    args['Zasięg'] = mw.ustring.match(args['Opis'] or '', '%s*%*%sZasięg:%s*([0-9]+)') or mw.ustring.match(args['Opis 1'] or '', '%s*%*%sZasięg:%s*([0-9]+)') or mw.ustring.match(args['Opis 2'] or '', '%s*%*%sZasięg:%s*([0-9]+)') or mw.ustring.match(args['Opis 3'] or '', '%s*%*%sZasięg:%s*([0-9]+)') or mw.ustring.match(args['Opis 4'] or '', '%s*%*%sZasięg:%s*([0-9]+)')
    if args['Opis'] then args['Opis']= mw.ustring.gsub(args['Opis'], '%s*%*%sZasięg:%s*([0-9]+)', '') end
    if args['Opis 1'] then args['Opis 1'] = mw.ustring.gsub(args['Opis 1'], '%s*%*%sZasięg:%s*([0-9]+)', '') end
    if args['Opis 2'] then args['Opis 2'] = mw.ustring.gsub(args['Opis 2'], '%s*%*%sZasięg:%s*([0-9]+)', '') end
    if args['Opis 3'] then args['Opis 3'] = mw.ustring.gsub(args['Opis 3'], '%s*%*%sZasięg:%s*([0-9]+)', '') end
    if args['Opis 4'] then args['Opis 4'] = mw.ustring.gsub(args['Opis 4'], '%s*%*%sZasięg:%s*([0-9]+)', '') end
 
    arg('Nazwa', nil, true)
    arg('Zasięg', nil, true)
    arg('Koszt', nil, true)
    arg('Czas', nil, true)
 
 
    if args['Opis'] then
        mw.log('')
        arg('Ikona')
        arg('Opis', nil, true)
        arg('Poziomy')
    end
    for i=1,20,1 do
        if args['Opis '..i] then
            mw.log('')
            arg('Ikona '..i)
            arg('Opis '..i)
            arg('Poziomy '..i)
        end
    end
end
p['Szczegóły umiejętności'] = function(frame)
    args = arguments(frame.args)
 
    mw.log('')
    arg('Celowanie', nil, true, '* ')
    arg('Obrażenia', nil, true)
    arg('Efekty czarów', nil, true)
    arg('Efekty przy trafieniu', nil, true)
    arg('Trafienie krytyczne', nil, true)
    arg('Struktury', nil, true)
    arg('Blokowanie', nil, true)
    arg('Pocisk', nil, true)
    arg('Bariery', nil, true)
    arg('Tarcze czarów', nil, true)
    arg('Dodatkowe informacje', nil, true)
    arg('Film', nil, true)
    mw.log('}}')
end
p['Umiejętność2'] = function(frame)
    args = arguments(frame.args)
    mw.log('')
    mw.log('')
 
    args['Zasięg'] = mw.ustring.match(args['Opis'] or '', '%s*%*%sZasięg:%s*([0-9]+)') or mw.ustring.match(args['Opis 1'] or '', '%s*%*%sZasięg:%s*([0-9]+)') or mw.ustring.match(args['Opis 2'] or '', '%s*%*%sZasięg:%s*([0-9]+)') or mw.ustring.match(args['Opis 3'] or '', '%s*%*%sZasięg:%s*([0-9]+)') or mw.ustring.match(args['Opis 4'] or '', '%s*%*%sZasięg:%s*([0-9]+)')
    if args['Opis'] then args['Opis']= mw.ustring.gsub(args['Opis'], '%s*%*%sZasięg:%s*([0-9]+)', '') end
    if args['Opis 1'] then args['Opis 1'] = mw.ustring.gsub(args['Opis 1'], '%s*%*%sZasięg:%s*([0-9]+)', '') end
    if args['Opis 2'] then args['Opis 2'] = mw.ustring.gsub(args['Opis 2'], '%s*%*%sZasięg:%s*([0-9]+)', '') end
    if args['Opis 3'] then args['Opis 3'] = mw.ustring.gsub(args['Opis 3'], '%s*%*%sZasięg:%s*([0-9]+)', '') end
    if args['Opis 4'] then args['Opis 4'] = mw.ustring.gsub(args['Opis 4'], '%s*%*%sZasięg:%s*([0-9]+)', '') end
 
    arg('Nazwa', 'Druga/Nazwa', true)
    arg('Zasięg', 'Druga/Zasięg', true)
    arg('Koszt', 'Druga/Koszt', true)
    arg('Czas', 'Druga/Czas', true)
 
 
    if args['Opis'] then
        mw.log('')
        arg('Ikona', 'Druga/Ikona')
        arg('Opis', 'Druga/Opis', true)
        arg('Poziomy', 'Druga/Poziomy')
    end
    for i=1,20,1 do
        if args['Opis '..i] then
            mw.log('')
            arg('Ikona '..i, 'Druga/Ikona ' .. i)
            arg('Opis '..i, 'Druga/Opis ' .. i)
            arg('Poziomy '..i, 'Druga/Poziomy ' .. i)
        end
    end
 
    mw.log('')
    arg('Druga/Celowanie', nil, true, '* ')
    arg('Druga/Obrażenia', nil, true)
    arg('Druga/Efekty czarów', nil, true)
    arg('Druga/Efekty przy trafieniu', nil, true)
    arg('Druga/Trafienie krytyczne', nil, true)
    arg('Druga/Struktury', nil, true)
    arg('Druga/Blokowanie', nil, true)
    arg('Druga/Pocisk', nil, true)
    arg('Druga/Bariery', nil, true)
    arg('Druga/Tarcze czarów', nil, true)
    arg('Druga/Dodatkowe informacje', nil, true)
    arg('Druga/Film', nil, true)
    mw.log('')
    mw.log('')
end
 
p['pp'] = function(frame)
    local list = {}
    for i=1,12,1 do
        list[#list+1] = mw.ustring.format('%d=%s', i, frame.args[i])
    end
    return '{{pp|' .. table.concat(list, '|') .. '}}'
end
p['ap'] = function(frame)
    local list = {}
    for i,v in ipairs(frame.args) do
        list[#list+1] = v
    end
    return table.concat(list, '/')
end
p['kolor'] = function(frame)
    if frame.args[2] and frame.args[2] ~= '' then 
        return inline('kolor', {frame.args[1], frame.args[2]})
    end
    return frame.args[1]
end
p['lc'] = function(frame)
    return mw.ustring.format('* %s: ', frame.args[1], frame.args[2])
end
p['sbc'] = function(frame)
    return inline('sbc', frame.args)
end
p['ai'] = function(frame)
    return inline('ai', frame.args)
end
p['cai'] = function(frame)
    return inline('cai', frame.args)
end
 
 
p['res'] = function(frame)
    local l = mw.getLogBuffer()
    mw.clearLogBuffer()
 
    return '<pre>' .. mw.text.nowiki(l) .. '</pre>'
end
 
return p

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.