Module:GetCreatureStats: Difference between revisions
Jump to navigation
Jump to search
(Created page with "local p = {} local cargo = mw.ext.cargo function p.main(frame) --[ If creature is specified, cargo query any unfilled stats] local creature = frame.args.creature or ''...") |
mNo edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
function p.main(frame) | function p.main(frame) | ||
local creaturetable = p.createtable(frame) | |||
return frame:expandTemplate{title = 'CharaSim', args = { | |||
title = creaturetable['dispname'], | |||
hp = creaturetable['hp'], | |||
av = creaturetable['av'], | |||
dv = creaturetable['dv']}} | |||
end | |||
function p.createtable(frame) | |||
--[ If creature is specified, cargo query any unfilled stats] | --[ If creature is specified, cargo query any unfilled stats] | ||
local creature = frame.args.creature or '' | local creature = frame.args.creature or '' | ||
Line 14: | Line 24: | ||
end | end | ||
dispname = resulttable['Title'] or '' | local creaturetable = { ['dispname'] = resulttable['Title'] or '', | ||
hp = (frame.args.hp ~= '' and frame.args.hp or resulttable['HP']) or '0' | ['lv'] = (frame.args.lv ~= '' and frame.args.lv or resulttable['Level']) or '0', | ||
['hp'] = (frame.args.hp ~= '' and frame.args.hp or resulttable['HP']) or '0', | |||
['av'] = (frame.args.av ~= '' and frame.args.av or resulttable['AV']) or '0', | |||
['dv'] = (frame.args.dv ~= '' and frame.args.dv or resulttable['DV']) or '0' | |||
} | |||
return creaturetable | |||
end | end | ||
return p | return p |
Latest revision as of 16:34, 24 September 2019
Documentation for this module may be created at Module:GetCreatureStats/doc
local p = {}
local cargo = mw.ext.cargo
function p.main(frame)
local creaturetable = p.createtable(frame)
return frame:expandTemplate{title = 'CharaSim', args = {
title = creaturetable['dispname'],
hp = creaturetable['hp'],
av = creaturetable['av'],
dv = creaturetable['dv']}}
end
function p.createtable(frame)
--[ If creature is specified, cargo query any unfilled stats]
local creature = frame.args.creature or ''
local resulttable = {}
if creature ~= '' then
local result = cargo.query('Characters', '_pageName=Page, Title, Level, HP, AV, DV, MA, Strength, Agility, Toughness, Agility, Willpower, Ego', {where = '_pageNamespace="0" AND _pageName="' .. creature .. '"'})
if not next(result) then
error ("There was no creature named " .. creature .. "!")
end
resulttable = result[1]
end
local creaturetable = { ['dispname'] = resulttable['Title'] or '',
['lv'] = (frame.args.lv ~= '' and frame.args.lv or resulttable['Level']) or '0',
['hp'] = (frame.args.hp ~= '' and frame.args.hp or resulttable['HP']) or '0',
['av'] = (frame.args.av ~= '' and frame.args.av or resulttable['AV']) or '0',
['dv'] = (frame.args.dv ~= '' and frame.args.dv or resulttable['DV']) or '0'
}
return creaturetable
end
return p