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/items.json",
|
||||||
"config://conf/e3/races.json",
|
"config://conf/e3/races.json",
|
||||||
"config://res/e3a/familiars.xml",
|
"config://res/e3a/familiars.xml",
|
||||||
"config://res/e3a/equipment.xml",
|
|
||||||
"config://res/e3a/ships.xml",
|
"config://res/e3a/ships.xml",
|
||||||
"config://res/e3a/buildings.xml",
|
"config://res/e3a/buildings.xml",
|
||||||
"config://res/e3a/spells.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"/>
|
<skill name="perception" level="3"/>
|
||||||
</set>
|
</set>
|
||||||
|
|
||||||
<set name="spo_seaserpent">
|
|
||||||
<item name="dragonblood" amount="6"/>
|
|
||||||
<item name="seaserpenthead" amount="1"/>
|
|
||||||
</set>
|
|
||||||
|
|
||||||
</equipment>
|
</equipment>
|
||||||
</eressea>
|
</eressea>
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,22 @@
|
||||||
require 'eressea.spells'
|
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 {
|
return {
|
||||||
require('eressea'),
|
require('eressea'),
|
||||||
|
@ -13,6 +30,5 @@ return {
|
||||||
require('eressea.astral'),
|
require('eressea.astral'),
|
||||||
require('eressea.jsreport'),
|
require('eressea.jsreport'),
|
||||||
require('eressea.ents'),
|
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")
|
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 {
|
return {
|
||||||
require('eressea'),
|
require('eressea'),
|
||||||
require('eressea.xmasitems'),
|
require('eressea.xmasitems'),
|
||||||
require('eressea.frost'),
|
require('eressea.frost'),
|
||||||
require('eressea.equipment'),
|
|
||||||
require('eressea.ents')
|
require('eressea.ents')
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,46 +1,7 @@
|
||||||
-- forward declaration required:
|
-- forward declaration required:
|
||||||
local sets = {}
|
|
||||||
|
|
||||||
local function equip_new_orc(u, flags)
|
local self = {}
|
||||||
local eqname = 'orc_' .. config.rules
|
local mysets = {
|
||||||
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 = {
|
|
||||||
['first_unit'] = {
|
['first_unit'] = {
|
||||||
['items'] = {
|
['items'] = {
|
||||||
['money'] = 2500,
|
['money'] = 2500,
|
||||||
|
@ -65,15 +26,6 @@ sets = {
|
||||||
['melee'] = 1
|
['melee'] = 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
['new_orc'] = {
|
|
||||||
['callback'] = equip_new_orc
|
|
||||||
},
|
|
||||||
['orc_e2'] = {
|
|
||||||
['skills'] = {
|
|
||||||
['polearm'] = 1,
|
|
||||||
['melee'] = 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
['seed_dwarf'] = {
|
['seed_dwarf'] = {
|
||||||
['items'] = {
|
['items'] = {
|
||||||
['axe'] = 1,
|
['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