Module:NameGenerator: Difference between revisions

added some values for template variables that get filled in by c# in game rather than xml
templates are no longer "titletemplates"
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
local p = {}
local p = {}
local cargo = mw.ext.cargo


function p.main(frame)
function p.main(frame)
local naming = require'Module:Sandbox/User:Illuminatiswag/namegen/NamingTable'
local namingtable = require'Module:NameGenerator/NamingTable'
local naming = namingtable.naming
local defaultvars = namingtable.defaultvars
local prefixes = ""
local prefixes = ""
local infixes = ""
local infixes = ""
Line 13: Line 14:
local maxpostfix
local maxpostfix
local minpostfix
local minpostfix
local titletemplate
local template
local result = {}
local result = {}
local seed = frame.args.seed
local seed = frame.args.seed
Line 73: Line 74:


local b
local b
local templatetable = naming[style]['TitleTemplates']
local templatetable = naming[style]['Templates']
if templatetable ~= nil then
if templatetable ~= nil then
  local titletemplate = templatetable[math.random(table.getn(templatetable))]
  local template = templatetable[math.random(table.getn(templatetable))]
  local varstable = naming[style]['TemplateVars']
  local varstable = defaultvars
if naming[style]['TemplateVars'] ~= nil then
  for k,v in pairs(naming[style]['TemplateVars']) do
  varstable[k] = v
  end
end
  if varstable == nil then
  if varstable == nil then
   varstable = {}
   varstable = {}
  end
  end
  varstable['%*Name%*'] = { heroname }
  varstable['%*Name%*'] = { heroname }
varstable['%*Patron%*'] = { 'Agolgut', 'Bethsaida' }
  varstable['%*Rings%*'] = { 'Three-ringed', 'Four-ringed', 'Five-ringed', 'Seven-ringed', 'Eight-ringed', 'Nine-ringed', 'Twelve-ringed'}
  varstable['%*Rings%*'] = { 'Three-ringed', 'Four-ringed', 'Five-ringed', 'Seven-ringed', 'Eight-ringed', 'Nine-ringed', 'Twelve-ringed'}
  -- not gonna bother doing every number in the 1d10+2 range and don't know how to handle that automatically
  -- not gonna bother doing every number in the 1d10+2 range and don't know how to handle that automatically
   
   
  for var, values in pairs(varstable) do
  for var, values in pairs(varstable) do
   titletemplate = titletemplate:gsub(var, values[math.random(table.getn(values))])
   template = template:gsub(var, values[math.random(table.getn(values))])
  end
  end
  b = titletemplate
  b = template
else
else
  b = heroname
  b = heroname