Module:Profession info: Difference between revisions

1,426 bytes added ,  Yesterday at 23:37
no edit summary
No edit summary
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 1:
local p = {}
local editButtoneditbutton = require('Module:Edit button')
local edit = editbutton("'''?''' (edit)")
local hc = require('Module:Param Parse').has_content
local qty = require('Module:Quantity box')._main
 
local pcp = require('Module:Profession clickpic')._main
local p = {}
 
function p.main(frame)
local args = frame:getParent().args
local function exparg(xp)
if hc(xp) then
return qty(xp)
else
return qty(0)..edit..'[[Category:Needs experience info]]'
end
end
local function levelarg(profession, level)
if hc(profession) and hc(level) then
return pcp(profession, level)
else
return edit..'[[Category:Needs level info]]'
end
end
local function durationarg(duration)
if hc(duration) then
return duration..' seconds'
else
return edit
end
end
local smw_properties = {
['Skill node name'] = args.name,
['Uses profession'] = args.profession,
['Profession level'] = args.level,
['Profession experience'] = args.xp
}
mw.smw.set(smw_properties)
local out = mw.html.create('table')
Line 12 ⟶ 46:
:tag('th')
:attr{ colspan = '2' }
:wikitext(args.name)
:done()
:done()
Line 20 ⟶ 54:
:done()
:tag('td')
:wikitext(hclevelarg(args.level)profession, and (args.level) or editButton("'''?''' (edit)"))
:done()
:done()
Line 28 ⟶ 62:
:done()
:tag('td')
:wikitext(hcexparg(args.exp) and (args.exp) or editButton("'''?''' (edit)"xp))
:done()
:done()
:tag('tr')
:tag('th')
:wikitext('Duration')
:done()
:tag('td')
:wikitext(durationarg(args.duration))
:done()
:done()
if hc(args.respawn) then
out
:tag('tr')
:tag('th')
:wikitext('Respawn time')
:done()
:tag('td')
:wikitext(durationarg(args.respawn))
:done()
:done()
end
if hc(args.tool) then
out
:tag('tr')
:tag('th')
:wikitext('Required tool')
:done()
:tag('td')
:wikitext(args.tool)
:done()
:done()
end
if hc(args.input) then
out
:tag('tr')
:tag('th')
:wikitext('Required input')
:done()
:tag('td')
:wikitext(args.input)
:done()
:done()
end
return out