forked from github/server
customize equipment for each game, in Lua.
no more equipment.xml for e3
This commit is contained in:
parent
a741eaca97
commit
2be0e9bd41
6 changed files with 77 additions and 72 deletions
|
@ -8,7 +8,6 @@
|
|||
"config://conf/e3/items.json",
|
||||
"config://conf/e3/races.json",
|
||||
"config://res/e3a/familiars.xml",
|
||||
"config://res/e3a/equipment.xml",
|
||||
"config://res/e3a/ships.xml",
|
||||
"config://res/e3a/buildings.xml",
|
||||
"config://res/e3a/spells.xml",
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<eressea>
|
||||
<equipment>
|
||||
|
||||
<set name="spo_seaserpent">
|
||||
<item name="dragonblood" amount="2"/>
|
||||
<item name="seaserpenthead" amount="1"/>
|
||||
</set>
|
||||
|
||||
</equipment>
|
||||
</eressea>
|
|
@ -36,11 +36,6 @@
|
|||
<skill name="perception" level="3"/>
|
||||
</set>
|
||||
|
||||
<set name="spo_seaserpent">
|
||||
<item name="dragonblood" amount="6"/>
|
||||
<item name="seaserpenthead" amount="1"/>
|
||||
</set>
|
||||
|
||||
</equipment>
|
||||
</eressea>
|
||||
|
||||
|
|
|
@ -1,5 +1,22 @@
|
|||
require 'eressea.spells'
|
||||
eressea.log.debug("rules for game E2")
|
||||
eressea.log.debug('rules for game E2')
|
||||
|
||||
local equipment = require('eressea.equipment')
|
||||
local sets = {
|
||||
['new_orc'] = {
|
||||
['skills'] = {
|
||||
['polearm'] = 1,
|
||||
['melee'] = 1
|
||||
}
|
||||
},
|
||||
['spo_seaserpent'] = {
|
||||
['items'] = {
|
||||
['dragonblood'] = 6,
|
||||
['seaserpenthead'] = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
equipment.add_multiple(sets)
|
||||
|
||||
return {
|
||||
require('eressea'),
|
||||
|
@ -13,6 +30,5 @@ return {
|
|||
require('eressea.astral'),
|
||||
require('eressea.jsreport'),
|
||||
require('eressea.ents'),
|
||||
require('eressea.equipment'),
|
||||
require('eressea.cursed')
|
||||
require('eressea.cursed'),
|
||||
}
|
||||
|
|
|
@ -2,10 +2,20 @@ require 'eressea.spells'
|
|||
|
||||
eressea.log.debug("rules for game E3")
|
||||
|
||||
local equipment = require('eressea.equipment')
|
||||
local sets = {
|
||||
['spo_seaserpent'] = {
|
||||
['items'] = {
|
||||
['dragonblood'] = 2,
|
||||
['seaserpenthead'] = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
equipment.add_multiple(sets)
|
||||
|
||||
return {
|
||||
require('eressea'),
|
||||
require('eressea.xmasitems'),
|
||||
require('eressea.frost'),
|
||||
require('eressea.equipment'),
|
||||
require('eressea.ents')
|
||||
}
|
||||
|
|
|
@ -1,46 +1,7 @@
|
|||
-- forward declaration required:
|
||||
local sets = {}
|
||||
|
||||
local function equip_new_orc(u, flags)
|
||||
local eqname = 'orc_' .. config.rules
|
||||
local set = sets[eqname]
|
||||
if set then
|
||||
return equip_unit(u, eqname, flags)
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function equip_unit(u, name, flags)
|
||||
local set = sets[name]
|
||||
if set then
|
||||
local items = set['items']
|
||||
if items then
|
||||
for k,v in pairs(items) do
|
||||
u:add_item(k, v)
|
||||
end
|
||||
end
|
||||
local skills = set['skills']
|
||||
if skills then
|
||||
for k,v in pairs(skills) do
|
||||
u:set_skill(k, v)
|
||||
end
|
||||
end
|
||||
local spells = set['spells']
|
||||
if spells then
|
||||
for k, v in ipairs(spells) do
|
||||
u:add_spell(v)
|
||||
end
|
||||
end
|
||||
local callback = set['callback']
|
||||
if callback and type(callback) == 'function' then
|
||||
callback(u, flags)
|
||||
end
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
sets = {
|
||||
local self = {}
|
||||
local mysets = {
|
||||
['first_unit'] = {
|
||||
['items'] = {
|
||||
['money'] = 2500,
|
||||
|
@ -65,15 +26,6 @@ sets = {
|
|||
['melee'] = 1
|
||||
}
|
||||
},
|
||||
['new_orc'] = {
|
||||
['callback'] = equip_new_orc
|
||||
},
|
||||
['orc_e2'] = {
|
||||
['skills'] = {
|
||||
['polearm'] = 1,
|
||||
['melee'] = 1
|
||||
}
|
||||
},
|
||||
['seed_dwarf'] = {
|
||||
['items'] = {
|
||||
['axe'] = 1,
|
||||
|
@ -157,4 +109,48 @@ sets = {
|
|||
},
|
||||
}
|
||||
|
||||
return nil
|
||||
function equip_unit(u, name, flags)
|
||||
local set = mysets[name]
|
||||
if set then
|
||||
local items = set['items']
|
||||
if items then
|
||||
for k,v in pairs(items) do
|
||||
u:add_item(k, v)
|
||||
end
|
||||
end
|
||||
local skills = set['skills']
|
||||
if skills then
|
||||
for k,v in pairs(skills) do
|
||||
u:set_skill(k, v)
|
||||
end
|
||||
end
|
||||
local spells = set['spells']
|
||||
if spells then
|
||||
for k, v in ipairs(spells) do
|
||||
u:add_spell(v)
|
||||
end
|
||||
end
|
||||
local callback = set['callback']
|
||||
if callback and type(callback) == 'function' then
|
||||
callback(u, flags)
|
||||
end
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
self.add = function(name, set)
|
||||
mysets[name] = set
|
||||
end
|
||||
|
||||
self.add_multiple = function(sets)
|
||||
for name, v in pairs(sets) do
|
||||
mysets[name] = v
|
||||
end
|
||||
end
|
||||
|
||||
self.get = function(name)
|
||||
return mysets[name]
|
||||
end
|
||||
|
||||
return self
|
||||
|
|
Loading…
Reference in a new issue