forked from github/server
equip new orcs in e2 with lua and a hacky callback.
This commit is contained in:
parent
1d7318d9b6
commit
a741eaca97
|
@ -36,11 +36,6 @@
|
|||
<skill name="perception" level="3"/>
|
||||
</set>
|
||||
|
||||
<set name="new_orc">
|
||||
<skill name="polearm" level="1"/>
|
||||
<skill name="melee" level="1"/>
|
||||
</set>
|
||||
|
||||
<set name="spo_seaserpent">
|
||||
<item name="dragonblood" amount="6"/>
|
||||
<item name="seaserpenthead" amount="1"/>
|
||||
|
|
|
@ -1,6 +1,46 @@
|
|||
-- Equipment
|
||||
-- forward declaration required:
|
||||
local sets = {}
|
||||
|
||||
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 = {
|
||||
['first_unit'] = {
|
||||
['items'] = {
|
||||
['money'] = 2500,
|
||||
|
@ -25,6 +65,15 @@ local sets = {
|
|||
['melee'] = 1
|
||||
}
|
||||
},
|
||||
['new_orc'] = {
|
||||
['callback'] = equip_new_orc
|
||||
},
|
||||
['orc_e2'] = {
|
||||
['skills'] = {
|
||||
['polearm'] = 1,
|
||||
['melee'] = 1
|
||||
}
|
||||
},
|
||||
['seed_dwarf'] = {
|
||||
['items'] = {
|
||||
['axe'] = 1,
|
||||
|
@ -108,34 +157,4 @@ local sets = {
|
|||
},
|
||||
}
|
||||
|
||||
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)
|
||||
end
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
return nil
|
||||
|
|
Loading…
Reference in New Issue