Module:NPCMaster and Module:NPCMaster/sandbox: Difference between pages
(Difference between pages)
(Not used) |
>OmegaK2 (Created page with "local xtable = require('Module:Table') local util = require('Module:Util') local getArgs = require('Module:Arguments').getArgs local m_item = require('Module:Item') local p =...") |
||
Line 1: | Line 1: | ||
local | local xtable = require('Module:Table') | ||
local util = require('Module:Util') | |||
local getArgs = require('Module:Arguments').getArgs | local getArgs = require('Module:Arguments').getArgs | ||
local m_item = require('Module:Item') | |||
local p = {} | local p = {} | ||
local g_frame, g_args | |||
function p.infobox(frame) | function p.infobox(frame) | ||
Line 17: | Line 20: | ||
-- get args/ | -- get args/frame | ||
g_args = getArgs(frame, { | |||
parentFirst = true | parentFirst = true | ||
}) | }) | ||
frame = | if frame == nil or type(frame) == 'table' then | ||
frame = mw.getCurrentFrame() | |||
end | |||
g_frame = frame | |||
-- Argument validation | -- Argument validation | ||
Line 29: | Line 36: | ||
lv = 'lv' .. i | lv = 'lv' .. i | ||
for _, arg in ipairs({lv .. '_rep', lv .. '_rep_total'}) do | for _, arg in ipairs({lv .. '_rep', lv .. '_rep_total'}) do | ||
lv_n = tonumber( | lv_n = tonumber(g_args[arg]) | ||
if lv_n == nil then | if lv_n == nil then | ||
error(arg .. ' must be a valid number') | error(arg .. ' must be a valid number') | ||
else | else | ||
g_args[arg] = lv_n | |||
end | end | ||
end | end | ||
g_args[lv .. '_unlocks'] = g_args[lv .. '_unlocks'] or '?' | |||
end | end | ||
Line 48: | Line 55: | ||
:done() | :done() | ||
:tag('th') | :tag('th') | ||
:wikitext( | :wikitext(util.html.abbr('Rep.', 'Reputation needed to level up')) | ||
:done() | :done() | ||
:tag('th') | :tag('th') | ||
:wikitext( | :wikitext(util.html.abbr('Rep. total', 'Total reputation needed to level up')) | ||
:done() | :done() | ||
:tag('th') | :tag('th') | ||
:wikitext( | :wikitext(util.html.abbr('Unlocks', 'Features first unlocked on this level')) | ||
:done() | :done() | ||
:done() | :done() | ||
Line 61: | Line 68: | ||
for i=1, 8 do | for i=1, 8 do | ||
local property = {} | |||
local hr | local hr | ||
local row = exptable:tag('tr') | local row = exptable:tag('tr') | ||
Line 69: | Line 76: | ||
:wikitext(i) | :wikitext(i) | ||
:done() | :done() | ||
property['is level'] = i | |||
lv = 'lv' .. i | lv = 'lv' .. i | ||
hr = lang:formatNum( | hr = lang:formatNum(g_args[lv .. '_rep']) | ||
row | row | ||
:tag('td') | :tag('td') | ||
:attr('data-sort-value', | :attr('data-sort-value', g_args[lv .. '_rep']) | ||
:wikitext(hr) | :wikitext(hr) | ||
:done() | :done() | ||
property['has experience'] = hr | |||
hr = lang:formatNum( | hr = lang:formatNum(g_args[lv .. '_rep_total']) | ||
row | row | ||
:tag('td') | :tag('td') | ||
:attr('data-sort-value', | :attr('data-sort-value', g_args[lv .. '_rep_total']) | ||
:wikitext(hr) | :wikitext(hr) | ||
:done() | :done() | ||
property['has total experience'] = hr | |||
row | row | ||
:tag('td') | :tag('td') | ||
:wikitext( | :wikitext(g_args[lv .. '_unlocks']) | ||
:done() | :done() | ||
property['has unlocks'] = g_args[lv .. '_unlocks'] | |||
g_frame:callParserFunction('#subobject:master level', property) | |||
end | end | ||
return tostring(exptable) | return tostring(exptable) | ||
end | |||
function p.crafting(frame) | |||
end | end | ||
return p | return p |