8,756
edits
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
local | local cargo = mw.ext.cargo | ||
function p. | function p.main(frame) | ||
local prefixes = "" | |||
local infixes = "" | |||
local postfixes = "" | |||
local maxprefix | |||
local minprefix | |||
local maxinfix | |||
local mininfix | |||
local maxpostfix | |||
local minpostfix | |||
local titletemplate | |||
local result = {} | |||
local | --[get cargo row]-- | ||
local | local tables= 'HeroNames' | ||
local | local fields= 'Prefixes, MinPrefixAmount, MaxPrefixAmount,Infixes, MinInfixAmount,MaxInfixAmount,Postfixes ,MinPostfixAmount,MaxPostfixAmount,TitleTemplate' | ||
local args= { | |||
where= 'BaseType="Crab"' | |||
} | |||
result = cargo.query(tables,fields,args) | |||
if not next(result) then | |||
error('no base type of that kind found.') | |||
end | |||
--[get prefixes array]-- | |||
local resultstring = '' | |||
resultstring = result[1]['Prefixes'] | |||
local prefixtable= {} | |||
local i = 1 | |||
for j in string.gmatch(resultstring,"%s*(%w+),?%s*") do | |||
prefixtable[i] = j | |||
i= i+1 | |||
end | |||
--[get infixes array]-- | |||
local resultstring = '' | |||
resultstring = result[1]['Infixes'] | |||
local infixtable= {} | |||
local i = 1 | |||
for j in string.gmatch(resultstring,"%s*(%w+),?%s*") do | |||
infixtable[i] = j | |||
i= i+1 | |||
end | |||
--[get postfixes array]-- | |||
local resultstring = '' | |||
resultstring = result[1]['Postfixes'] | |||
local postfixtable= {} | |||
local i = 1 | |||
for j in string.gmatch(resultstring,"%s*(%w+),?%s*") do | |||
postfixtable[i] = j | |||
i= i+1 | |||
end | |||
--[ | --[get min/maxprefix stuff]-- | ||
minprefix=result[1]['MinPrefixAmount'] | |||
maxprefix=result[1]['MaxPrefixAmount'] | |||
for i=1,math.random(minprefix,maxprefix) do | |||
prefixes = prefixes.. prefixtable[math.random(table.getn(prefixtable))] | |||
end | end | ||
mininfix=result[1]['MinInfixAmount'] | |||
maxinfix=result[1]['MaxInfixAmount'] | |||
for i=1,math.random(mininfix,maxinfix) do | |||
infixes = infixes.. infixtable[math.random(table.getn(infixtable))] | |||
end | |||
minpostfix=result[1]['MinPostfixAmount'] | |||
maxpostfix=result[1]['MaxPostfixAmount'] | |||
for i=1,math.random(minpostfix,maxpostfix) do | |||
postfixes = postfixes.. postfixtable[math.random(table.getn(postfixtable))] | |||
end | end | ||
--[ | --[title template]-- | ||
titletemplate=result[1]['TitleTemplate'] | |||
--[ | --[name fitting]-- | ||
local | local heroname= ((prefixes..infixes..postfixes):gsub("^%l", string.upper)) | ||
local a = string.gsub(titletemplate,'NAME',tostring(heroname)) | |||
local b = string.gsub(a,('BASETYPE'), 'crab') | |||
return | return b | ||
end | end | ||
return p | return p |