moddable-gods.lua script
parent
83b0886296
commit
72a0a9acf2
@ -0,0 +1,95 @@
|
||||
--scripts/modtools/moddable-gods.lua
|
||||
--based on moddableGods by Putnam
|
||||
--edited by expwnent
|
||||
|
||||
local utils = require 'utils'
|
||||
|
||||
validArgs = validArgs or utils.invert({
|
||||
'help',
|
||||
'name',
|
||||
'spheres',
|
||||
'gender',
|
||||
'depictedAs',
|
||||
'domain',
|
||||
'description',
|
||||
-- 'entities',
|
||||
})
|
||||
local args = utils.processArgs({...})
|
||||
|
||||
if args.help then
|
||||
print([[scripts/modtools/moddable-gods.lua
|
||||
arguments:
|
||||
-help
|
||||
print this help message
|
||||
-name godName
|
||||
sets the name of the god to godName
|
||||
if there's already a god of that name, the script halts
|
||||
-spheres [ sphereList ]
|
||||
define a space-separated list of spheres of influence of the god
|
||||
-depictedAs str
|
||||
often depicted as a str
|
||||
-domain str
|
||||
set the domain of the god
|
||||
-description str
|
||||
set the description of the god
|
||||
]])
|
||||
return
|
||||
end
|
||||
|
||||
if not args.name or not args.depictedAs or not args.domain or not args.description or not args.spheres or not args.gender then
|
||||
error('All arguments must be specified.')
|
||||
end
|
||||
|
||||
local templateGod
|
||||
for _,fig in ipairs(df.global.world.history.figures) do
|
||||
if fig.flags.deity then
|
||||
templateGod = fig
|
||||
break
|
||||
end
|
||||
end
|
||||
if not templateGod then
|
||||
error 'Could not find template god.'
|
||||
end
|
||||
|
||||
if args.gender == 'male' then
|
||||
args.gender = 1
|
||||
elseif args.gender == 'female' then
|
||||
args.gender = 0
|
||||
else
|
||||
error 'invalid gender'
|
||||
end
|
||||
|
||||
for _,fig in ipairs(df.global.world.history.figures) do
|
||||
if fig.name.first_name == args.name then
|
||||
print('god ' .. args.name .. ' already exists. Skipping')
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
local godFig = df.historical_figure:new()
|
||||
godFig.appeared_year = -1
|
||||
godFig.born_year = -1
|
||||
godFig.born_seconds = -1
|
||||
godFig.curse_year = -1
|
||||
godFig.curse_seconds = -1
|
||||
godFig.old_year = -1
|
||||
godFig.old_seconds = -1
|
||||
godFig.died_year = -1
|
||||
godFig.died_seconds = -1
|
||||
godFig.name.has_name = true
|
||||
godFig.breed_id = -1
|
||||
godFig.flags:assign(templateGod.flags)
|
||||
godFig.id = df.global.hist_figure_next_id
|
||||
df.global.hist_figure_next_id = 1+df.global.hist_figure_next_id
|
||||
godFig.info = df.historical_figure_info:new()
|
||||
godFig.info.spheres = {new=true}
|
||||
godFig.info.secret = df.historical_figure_info.T_secret:new()
|
||||
|
||||
godFig.sex = args.gender
|
||||
godFig.name.first_name = args.name
|
||||
for _,sphere in ipairs(args.spheres) do
|
||||
godFig.info.spheres:insert('#',df.sphere_type[sphere])
|
||||
end
|
||||
df.global.world.history.figures:insert('#',godFig)
|
||||
|
||||
|
Loading…
Reference in New Issue