Module:NameGenerator

From Caves of Qud Wiki
Revision as of 21:26, 30 May 2022 by Illuminatiswag (talk | contribs) (deleted irrelevant stuff, i think)
Jump to navigation Jump to search

Documentation for this module may be created at Module:NameGenerator/doc

local p = {}
local cargo = mw.ext.cargo

function p.main(frame)
local naming = require'Module:Sandbox/User:Illuminatiswag/namegen/NamingTable'
local prefixes = ""
local infixes = ""
local postfixes = ""
local maxprefix
local minprefix
local maxinfix
local mininfix
local maxpostfix
local minpostfix
local titletemplate
local result = {}
local seed = frame.args.seed
local style = frame.args.style or 'Qudish'

if seed ~= nil and seed ~= ''then
 math.randomseed(seed:gsub("%w",string.byte))
end

prefixtable = naming[style]['Prefixes']
infixtable = naming[style]['Infixes']
postfixtable = naming[style]['Postfixes']

--[get min/maxprefix stuff]--
minprefix=naming[style]['MinPrefixAmount']
maxprefix=naming[style]['MaxPrefixAmount']
for i=1,math.random(minprefix,maxprefix) do
  prefixes = prefixes.. prefixtable[math.random(table.getn(prefixtable))]
end

mininfix=naming[style]['MinInfixAmount']
maxinfix=naming[style]['MaxInfixAmount']
for i=1,math.random(mininfix,maxinfix) do
  infixes = infixes.. infixtable[math.random(table.getn(infixtable))]
end
minpostfix=naming[style]['MinPostfixAmount']
maxpostfix=naming[style]['MaxPostfixAmount']
for i=1,math.random(minpostfix,maxpostfix) do
  postfixes = postfixes.. postfixtable[math.random(table.getn(postfixtable))]
end

--[title template]--
-- titletemplate=result[1]['TitleTemplate']

--[name fitting]--
local heroname= ((prefixes..infixes..postfixes):gsub("^%l", string.upper))
-- local a = string.gsub(titletemplate,'NAME',tostring(heroname))
-- local b = string.gsub(a,('BASETYPE'), style)
local b = heroname

return b
end

return p