forked from github/server
convert E2 familiars from XML to Lua
This commit is contained in:
parent
e46cfa5e77
commit
9dd38a6593
|
@ -12,7 +12,6 @@
|
|||
"config://res/buildings/castle.xml",
|
||||
"config://res/eressea/races.xml",
|
||||
"config://res/eressea/artrewards.xml",
|
||||
"config://res/eressea/familiars.xml",
|
||||
"config://res/eressea/spells.xml",
|
||||
"config://res/eressea/spellbooks/gray.xml",
|
||||
"config://res/eressea/spellbooks/gwyrrd.xml",
|
||||
|
|
|
@ -1,133 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<eressea>
|
||||
<equipment>
|
||||
|
||||
<!-- equipment given to familiars -->
|
||||
<set name="fam_lynx">
|
||||
<skill name="espionage" level="1"/>
|
||||
<skill name="magic" level="1"/>
|
||||
<skill name="stealth" level="1"/>
|
||||
<skill name="perception" level="1"/>
|
||||
</set>
|
||||
|
||||
<set name="fam_tunnelworm">
|
||||
<skill name="magic" level="1"/>
|
||||
<skill name="mining" level="1"/>
|
||||
<skill name="forestry" level="1"/>
|
||||
<skill name="stamina" level="1"/>
|
||||
</set>
|
||||
|
||||
<set name="fam_eagle">
|
||||
<skill name="magic" level="1"/>
|
||||
<skill name="perception" level="1"/>
|
||||
</set>
|
||||
|
||||
<set name="fam_rat">
|
||||
<skill name="magic" level="1"/>
|
||||
<skill name="espionage" level="1"/>
|
||||
<skill name="stealth" level="1"/>
|
||||
<skill name="perception" level="1"/>
|
||||
<skill name="stamina" level="6"/>
|
||||
</set>
|
||||
|
||||
<set name="fam_songdragon">
|
||||
<skill name="magic" level="1"/>
|
||||
<!-- spells -->
|
||||
<spell name="flee" level="2"/>
|
||||
<spell name="sleep" level="7"/>
|
||||
<spell name="frighten" level="8"/>
|
||||
</set>
|
||||
|
||||
<set name="fam_nymph">
|
||||
<skill name="magic" level="1"/>
|
||||
<skill name="bow" level="1"/>
|
||||
<skill name="herbalism" level="1"/>
|
||||
<skill name="training" level="1"/>
|
||||
<skill name="riding" level="1"/>
|
||||
<skill name="espionage" level="1"/>
|
||||
<skill name="stealth" level="1"/>
|
||||
<skill name="entertainment" level="1"/>
|
||||
<skill name="perception" level="1"/>
|
||||
<!-- spells -->
|
||||
<spell name="seduction" level="6"/>
|
||||
<spell name="calm_monster" level="6"/>
|
||||
<spell name="song_of_confusion" level="4"/>
|
||||
<spell name="appeasement" level="1"/>
|
||||
</set>
|
||||
|
||||
<set name="fam_unicorn">
|
||||
<skill name="magic" level="1"/>
|
||||
<skill name="stealth" level="1"/>
|
||||
<skill name="perception" level="1"/>
|
||||
<!-- spells -->
|
||||
<spell name="resist_magic" level="3"/>
|
||||
<spell name="song_of_peace" level="12"/>
|
||||
<spell name="calm_monster" level="6"/>
|
||||
<spell name="heroic_song" level="5"/>
|
||||
<spell name="song_of_healing" level="2"/>
|
||||
<spell name="appeasement" level="1"/>
|
||||
</set>
|
||||
|
||||
<set name="fam_direwolf">
|
||||
<skill name="magic" level="1"/>
|
||||
<skill name="perception" level="1"/>
|
||||
</set>
|
||||
|
||||
<set name="fam_ghost">
|
||||
<skill name="magic" level="1"/>
|
||||
<!-- spells -->
|
||||
<spell name="steal_aura" level="6"/>
|
||||
<spell name="frighten" level="8"/>
|
||||
<spell name="summonundead" level="6"/>
|
||||
</set>
|
||||
|
||||
<set name="fam_imp">
|
||||
<skill name="magic" level="1"/>
|
||||
<skill name="espionage" level="1"/>
|
||||
<skill name="stealth" level="1"/>
|
||||
<skill name="perception" level="1"/>
|
||||
<skill name="taxation" level="1"/>
|
||||
<!-- spells -->
|
||||
<spell name="steal_aura" level="6"/>
|
||||
<spell name="shapeshift" level="3"/>
|
||||
<spell name="seduction" level="6"/>
|
||||
</set>
|
||||
|
||||
<set name="fam_dreamcat">
|
||||
<skill name="magic" level="1"/>
|
||||
<skill name="espionage" level="1"/>
|
||||
<skill name="stealth" level="1"/>
|
||||
<skill name="perception" level="1"/>
|
||||
<skill name="taxation" level="1"/>
|
||||
<!-- spells -->
|
||||
<spell name="shapeshift" level="3"/>
|
||||
<spell name="transferauratraum" level="3"/>
|
||||
</set>
|
||||
|
||||
<set name="fam_fairy">
|
||||
<skill name="magic" level="1"/>
|
||||
<!-- spells -->
|
||||
<spell name="appeasement" level="1"/>
|
||||
<spell name="calm_monster" level="6"/>
|
||||
<spell name="seduction" level="6"/>
|
||||
</set>
|
||||
|
||||
<set name="fam_owl">
|
||||
<skill name="magic" level="1"/>
|
||||
<skill name="espionage" level="1"/>
|
||||
<skill name="stealth" level="1"/>
|
||||
<skill name="perception" level="1"/>
|
||||
</set>
|
||||
|
||||
<set name="fam_hellcat">
|
||||
<skill name="magic" level="1"/>
|
||||
<skill name="perception" level="1"/>
|
||||
</set>
|
||||
|
||||
<set name="fam_tiger">
|
||||
<skill name="magic" level="1"/>
|
||||
<skill name="perception" level="1"/>
|
||||
</set>
|
||||
|
||||
</equipment>
|
||||
</eressea>
|
|
@ -0,0 +1,153 @@
|
|||
local sets = {
|
||||
['fam_lynx'] = {
|
||||
['skills'] = {
|
||||
['espionage'] = 1,
|
||||
['magic'] = 1,
|
||||
['stealth'] = 1,
|
||||
['perception'] = 1,
|
||||
}
|
||||
},
|
||||
['fam_tunnelworm'] = {
|
||||
['skills'] = {
|
||||
['forestry'] = 1,
|
||||
['magic'] = 1,
|
||||
['mining'] = 1,
|
||||
['stamina'] = 1,
|
||||
}
|
||||
},
|
||||
['fam_eagle'] = {
|
||||
['skills'] = {
|
||||
['magic'] = 1,
|
||||
['perception'] = 1,
|
||||
}
|
||||
},
|
||||
['fam_rat'] = {
|
||||
['skills'] = {
|
||||
['magic'] = 1,
|
||||
['espionage'] = 1,
|
||||
['stealth'] = 1,
|
||||
['perception'] = 1,
|
||||
['stamina'] = 6,
|
||||
}
|
||||
},
|
||||
['fam_owl'] = {
|
||||
['skills'] = {
|
||||
['magic'] = 1,
|
||||
['espionage'] = 1,
|
||||
['stealth'] = 1,
|
||||
['perception'] = 1,
|
||||
}
|
||||
},
|
||||
['fam_direwolf'] = {
|
||||
['skills'] = {
|
||||
['magic'] = 1,
|
||||
['perception'] = 1,
|
||||
}
|
||||
},
|
||||
['fam_hellcat'] = {
|
||||
['skills'] = {
|
||||
['magic'] = 1,
|
||||
['perception'] = 1,
|
||||
}
|
||||
},
|
||||
['fam_tiger'] = {
|
||||
['skills'] = {
|
||||
['magic'] = 1,
|
||||
['perception'] = 1,
|
||||
}
|
||||
},
|
||||
['fam_songdragon'] = {
|
||||
['skills'] = {
|
||||
['magic'] = 1,
|
||||
},
|
||||
['spells'] = {
|
||||
['flee'] = 2,
|
||||
['sleep'] = 7,
|
||||
['frighten'] = 8,
|
||||
},
|
||||
},
|
||||
['fam_ghost'] = {
|
||||
['skills'] = {
|
||||
['magic'] = 1,
|
||||
},
|
||||
['spells'] = {
|
||||
['steal_aura'] = 6,
|
||||
['summonundead'] = 6,
|
||||
['frighten'] = 8,
|
||||
},
|
||||
},
|
||||
['fam_fairy'] = {
|
||||
['skills'] = {
|
||||
['magic'] = 1,
|
||||
},
|
||||
['spells'] = {
|
||||
['appeasement'] = 1,
|
||||
['calm_monster'] = 6,
|
||||
['seduction'] = 6,
|
||||
},
|
||||
},
|
||||
['fam_unicorn'] = {
|
||||
['skills'] = {
|
||||
['magic'] = 1,
|
||||
['stealth'] = 1,
|
||||
['perception'] = 1,
|
||||
},
|
||||
['spells'] = {
|
||||
['resist_magic'] = 3,
|
||||
['song_of_peace'] = 12,
|
||||
['calm_monster'] = 6,
|
||||
['heroic_song'] = 5,
|
||||
['song_of_healing'] = 3,
|
||||
['appeasement'] = 2,
|
||||
},
|
||||
},
|
||||
['fam_imp'] = {
|
||||
['skills'] = {
|
||||
['magic'] = 1,
|
||||
['stealth'] = 1,
|
||||
['perception'] = 1,
|
||||
['espionage'] = 1,
|
||||
['taxation'] = 1,
|
||||
},
|
||||
['spells'] = {
|
||||
['steal_aura'] = 6,
|
||||
['shapeshift'] = 3,
|
||||
['seduction'] = 6,
|
||||
},
|
||||
},
|
||||
['fam_dreamcat'] = {
|
||||
['skills'] = {
|
||||
['magic'] = 1,
|
||||
['stealth'] = 1,
|
||||
['perception'] = 1,
|
||||
['espionage'] = 1,
|
||||
['taxation'] = 1,
|
||||
},
|
||||
['spells'] = {
|
||||
['shapeshift'] = 3,
|
||||
['transferauratraum'] = 3,
|
||||
},
|
||||
},
|
||||
['fam_nymph'] = {
|
||||
['skills'] = {
|
||||
['magic'] = 1,
|
||||
['bow'] = 1,
|
||||
['herbalism'] = 1,
|
||||
['training'] = 1,
|
||||
['riding'] = 1,
|
||||
['espionage'] = 1,
|
||||
['stealth'] = 1,
|
||||
['entertainment'] = 1,
|
||||
['perception'] = 1,
|
||||
},
|
||||
['spells'] = {
|
||||
['seduction'] = 6,
|
||||
['calm_monster'] = 3,
|
||||
['song_of_confusion'] = 4,
|
||||
['appeasement'] = 1,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
local equipment = require('eressea.equipment')
|
||||
equipment.add_multiple(sets)
|
|
@ -115,4 +115,5 @@ return {
|
|||
require('eressea.jsreport'),
|
||||
require('eressea.ents'),
|
||||
require('eressea.cursed'),
|
||||
require('eressea.e2.familiars')
|
||||
}
|
||||
|
|
|
@ -114,20 +114,20 @@ function equip_unit(u, name, flags)
|
|||
if set then
|
||||
local items = set['items']
|
||||
if items then
|
||||
for k,v in pairs(items) do
|
||||
u:add_item(k, v * u.number)
|
||||
for name, count in pairs(items) do
|
||||
u:add_item(name, count * u.number)
|
||||
end
|
||||
end
|
||||
local skills = set['skills']
|
||||
if skills then
|
||||
for k,v in pairs(skills) do
|
||||
u:set_skill(k, v)
|
||||
for name, level in pairs(skills) do
|
||||
u:set_skill(name, level)
|
||||
end
|
||||
end
|
||||
local spells = set['spells']
|
||||
if spells then
|
||||
for k, v in ipairs(spells) do
|
||||
u:add_spell(v)
|
||||
for name, level in ipairs(spells) do
|
||||
u:add_spell(name, level)
|
||||
end
|
||||
end
|
||||
local callback = set['callback']
|
||||
|
@ -144,8 +144,8 @@ self.add = function(name, set)
|
|||
end
|
||||
|
||||
self.add_multiple = function(sets)
|
||||
for name, v in pairs(sets) do
|
||||
mysets[name] = v
|
||||
for name, set in pairs(sets) do
|
||||
mysets[name] = set
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -183,6 +183,8 @@ if file_exists('execute.lock') then
|
|||
assert(false)
|
||||
end
|
||||
|
||||
math.randomseed(rng.random())
|
||||
|
||||
local path = 'scripts'
|
||||
if config.install then
|
||||
path = config.install .. '/' .. path
|
||||
|
|
|
@ -124,3 +124,15 @@ function test_familiar()
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
function test_familiar_lynx()
|
||||
local r = region.create(0, 0, 'plain')
|
||||
local f = faction.create('human')
|
||||
local u = unit.create(f, r)
|
||||
u.race = 'lynx'
|
||||
u:equip('fam_lynx')
|
||||
assert_equal(1, u:get_skill('stealth'))
|
||||
assert_equal(1, u:get_skill('espionage'))
|
||||
assert_equal(1, u:get_skill('magic'))
|
||||
assert_equal(1, u:get_skill('perception'))
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue