forked from github/server
Merge remote-tracking branch 'upstream/master'
Conflicts: scripts/tests/common.lua
This commit is contained in:
commit
025a04a5e9
259 changed files with 4509 additions and 4353 deletions
16
CHANGELOG.md
Normal file
16
CHANGELOG.md
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# Geplante Aenderungen in zukuenftigen Eressea-Versionen
|
||||||
|
|
||||||
|
Als Anhaltspunkt fuer die Empfaenger der woechentlichen Testauswertungnen
|
||||||
|
will ich versuchen, die Liste meiner Aenderungen seit dem letzten Release
|
||||||
|
zu dokumentieren.
|
||||||
|
|
||||||
|
## Version 3.12.0
|
||||||
|
|
||||||
|
- [other] optimierte Berechnung der Sichtbarkeit von Leuchttuermen
|
||||||
|
- [bug] Einheitenlimit bei GIB PERSON beachten
|
||||||
|
- [bug] Einheitenlimit bei ALLIANCE JOIN beachten
|
||||||
|
- [rule] Einheiten- und Personenzahl im Report beinhaltet *alle* Einheiten der Partei.
|
||||||
|
- [other] Statistik fuer Spielleiter zeigt das Parteisilber nicht mehr an.
|
||||||
|
- [other] Berechnung der Message-Ids optimiert.
|
||||||
|
|
||||||
|
|
22
conf/calendar.json
Normal file
22
conf/calendar.json
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"calendar" : {
|
||||||
|
"months" : [
|
||||||
|
{ "storm" : 60, "season" : 2 },
|
||||||
|
|
||||||
|
{ "storm" : 10, "season" : 3 },
|
||||||
|
{ "storm" : 60, "season" : 3 },
|
||||||
|
|
||||||
|
{ "storm" : 10, "season" : 0 },
|
||||||
|
{ "storm" : 60, "season" : 0 },
|
||||||
|
{ "storm" : 80, "season" : 0 },
|
||||||
|
|
||||||
|
{ "storm" : 50, "season" : 1 },
|
||||||
|
{ "storm" : 30, "season" : 1 },
|
||||||
|
|
||||||
|
{ "storm" : 60, "season" : 2 }
|
||||||
|
],
|
||||||
|
"weeks" : [
|
||||||
|
"firstweek", "secondweek", "thirdweek"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,9 +1,10 @@
|
||||||
{
|
{
|
||||||
"include": [
|
"include": [
|
||||||
"keywords.json",
|
"keywords.json",
|
||||||
"prefixes.json",
|
"calendar.json",
|
||||||
|
"prefixes.json",
|
||||||
"e2/terrains.json"
|
"e2/terrains.json"
|
||||||
],
|
],
|
||||||
"disabled": [
|
"disabled": [
|
||||||
"jsreport"
|
"jsreport"
|
||||||
],
|
],
|
||||||
|
@ -21,13 +22,12 @@
|
||||||
"GiveRestriction": 3,
|
"GiveRestriction": 3,
|
||||||
"hunger.long": true,
|
"hunger.long": true,
|
||||||
"init_spells": 0,
|
"init_spells": 0,
|
||||||
"world.era": 2,
|
"game.era": 2,
|
||||||
"seed.population.min": 8,
|
"game.start": 184,
|
||||||
"seed.population.max": 8,
|
|
||||||
"rules.reserve.twophase": true,
|
"rules.reserve.twophase": true,
|
||||||
"rules.give.max_men": -1,
|
"rules.give.max_men": -1,
|
||||||
"rules.check_overload": false,
|
"rules.check_overload": false,
|
||||||
"rules.limit.faction": 2500,
|
"rules.limit.faction": 3000,
|
||||||
"rules.maxskills.magic": 5,
|
"rules.maxskills.magic": 5,
|
||||||
"rules.guard.base_stop_prob": 0.30,
|
"rules.guard.base_stop_prob": 0.30,
|
||||||
"rules.guard.skill_stop_prob": 0.05,
|
"rules.guard.skill_stop_prob": 0.05,
|
||||||
|
|
|
@ -15,8 +15,6 @@
|
||||||
<xi:include href="config://game/familiars.xml"/>
|
<xi:include href="config://game/familiars.xml"/>
|
||||||
<xi:include href="config://game/artrewards.xml"/>
|
<xi:include href="config://game/artrewards.xml"/>
|
||||||
<xi:include href="config://game/buildings.xml"/>
|
<xi:include href="config://game/buildings.xml"/>
|
||||||
<xi:include href="config://core/calendar.xml"/>
|
|
||||||
<calendar name="secondage" newyear="month_1" start="184"/>
|
|
||||||
<xi:include href="config://game/equipment.xml"/>
|
<xi:include href="config://game/equipment.xml"/>
|
||||||
<xi:include href="config://game/items.xml"/>
|
<xi:include href="config://game/items.xml"/>
|
||||||
<xi:include href="config://game/spells.xml"/>
|
<xi:include href="config://game/spells.xml"/>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
"include": [
|
"include": [
|
||||||
"keywords.json",
|
"keywords.json",
|
||||||
|
"calendar.json",
|
||||||
"prefixes.json",
|
"prefixes.json",
|
||||||
"e3/terrains.json"
|
"e3/terrains.json"
|
||||||
],
|
],
|
||||||
|
@ -51,11 +52,11 @@
|
||||||
"recruit.allow_merge": true,
|
"recruit.allow_merge": true,
|
||||||
"study.expensivemigrants": true,
|
"study.expensivemigrants": true,
|
||||||
"study.speedup": 2,
|
"study.speedup": 2,
|
||||||
"world.era": 3,
|
"game.era": 3,
|
||||||
"seed.population.min": 8,
|
"game.start": 1,
|
||||||
"seed.population.max": 8,
|
|
||||||
"rules.reserve.twophase": true,
|
"rules.reserve.twophase": true,
|
||||||
"rules.owners.force_leave": false,
|
"rules.owners.force_leave": false,
|
||||||
|
"rules.wage.function": 2,
|
||||||
"rules.monsters.attack_chance": 0.1,
|
"rules.monsters.attack_chance": 0.1,
|
||||||
"rules.transfermen": false,
|
"rules.transfermen": false,
|
||||||
"stealth.faction.other": false,
|
"stealth.faction.other": false,
|
||||||
|
@ -87,7 +88,7 @@
|
||||||
"rules.economy.herbrot": 0,
|
"rules.economy.herbrot": 0,
|
||||||
"rules.region_owner_pay_building": "market harbour lighthouse",
|
"rules.region_owner_pay_building": "market harbour lighthouse",
|
||||||
"rules.dwarf_castles": true,
|
"rules.dwarf_castles": true,
|
||||||
"rules.limit.faction": 250,
|
"rules.limit.faction": 500,
|
||||||
"rules.grow.formula": 1,
|
"rules.grow.formula": 1,
|
||||||
"rules.tactics.formula": 1,
|
"rules.tactics.formula": 1,
|
||||||
"rules.help.mask": "fight guard money give",
|
"rules.help.mask": "fight guard money give",
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
|
|
||||||
<xi:include href="config://game/ships.xml"/>
|
<xi:include href="config://game/ships.xml"/>
|
||||||
<xi:include href="config://game/shipnames.xml"/>
|
<xi:include href="config://game/shipnames.xml"/>
|
||||||
<xi:include href="config://core/calendar.xml"/>
|
|
||||||
<xi:include href="config://game/items.xml" />
|
<xi:include href="config://game/items.xml" />
|
||||||
<xi:include href="config://game/races.xml"/>
|
<xi:include href="config://game/races.xml"/>
|
||||||
<xi:include href="config://game/buildings.xml"/>
|
<xi:include href="config://game/buildings.xml"/>
|
||||||
|
@ -21,14 +20,9 @@
|
||||||
<xi:include href="config://game/armor.xml" />
|
<xi:include href="config://game/armor.xml" />
|
||||||
<xi:include href="config://game/resources.xml" />
|
<xi:include href="config://game/resources.xml" />
|
||||||
|
|
||||||
<calendar name="thirdage" newyear="month_1" start="1"/>
|
|
||||||
|
|
||||||
<xi:include href="config://default/names-undead.xml"/>
|
<xi:include href="config://default/names-undead.xml"/>
|
||||||
<xi:include href="config://default/names-skeletons.xml"/>
|
<xi:include href="config://default/names-skeletons.xml"/>
|
||||||
<xi:include href="config://default/names-zombies.xml"/>
|
<xi:include href="config://default/names-zombies.xml"/>
|
||||||
<xi:include href="config://default/names-ghouls.xml"/>
|
<xi:include href="config://default/names-ghouls.xml"/>
|
||||||
<xi:include href="config://default/names-dragons.xml"/>
|
<xi:include href="config://default/names-dragons.xml"/>
|
||||||
<rules>
|
|
||||||
<function name="wage" value="minimum_wage"/>
|
|
||||||
</rules>
|
|
||||||
</eressea>
|
</eressea>
|
||||||
|
|
|
@ -2,11 +2,9 @@
|
||||||
email = eressea-server@kn-bremen.de
|
email = eressea-server@kn-bremen.de
|
||||||
sender = Eressea Server
|
sender = Eressea Server
|
||||||
name = Eressea
|
name = Eressea
|
||||||
base = .
|
|
||||||
report = reports
|
report = reports
|
||||||
verbose = 0
|
verbose = 0
|
||||||
lomem = 0
|
lomem = 0
|
||||||
debug = 0
|
|
||||||
memcheck = 0
|
memcheck = 0
|
||||||
locales = de,en
|
locales = de,en
|
||||||
|
|
||||||
|
|
10
etc/report-mail.de.txt
Normal file
10
etc/report-mail.de.txt
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
Freust Du Dich, dass es diese Woche wieder einen Eressea-Report gibt?
|
||||||
|
Möchtest Du dazu beitragen, dass das auch nächste Woche wieder passiert?
|
||||||
|
Eressea ist ein freiwilliges gratis-Angebot, und die Spielleitung bezahlt
|
||||||
|
seit Jahren die Entwicklung und das Hosting aus eigener Tasche. Wenn Dir
|
||||||
|
das etwas wert ist, kannst Du das auf
|
||||||
|
https://flattr.com/thing/681354/Eressea zum Ausdruck bringen.
|
||||||
|
|
||||||
|
Diese Mail enthält ein Attachment mit Deinem Eressea-Report in
|
||||||
|
komprimierter Form. Um ihn zu entpacken benötigst Du ein Programm,
|
||||||
|
das ZIP-Archive öffnen kann, wie z.B. 7-Zip (http://www.7-zip.org/)
|
6
etc/report-mail.en.txt
Normal file
6
etc/report-mail.en.txt
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
If you feel that getting a report every weekend is worth something to you,
|
||||||
|
why not flattr Eressea at https://flattr.com/thing/681354/Eressea ?
|
||||||
|
|
||||||
|
This email contains an Attachment with your Eressea report in compressed
|
||||||
|
form. To open the attachment, you will need a program that can extract
|
||||||
|
ZIP files, e.g. 7-Zip (http://www.7-zip.org/).
|
14
etc/report-mail.txt
Normal file
14
etc/report-mail.txt
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
Freust Du Dich, dass es diese Woche wieder einen Eressea-Report gibt?
|
||||||
|
Möchtest Du dazu beitragen, dass das auch nächste Woche wieder passiert?
|
||||||
|
Eressea ist ein freiwilliges gratis-Angebot, und die Spielleitung bezahlt
|
||||||
|
seit Jahren die Entwicklung und das Hosting aus eigener Tasche. Wenn Dir
|
||||||
|
das etwas wert ist, kannst Du das auf
|
||||||
|
https://flattr.com/thing/681354/Eressea zum Ausdruck bringen.
|
||||||
|
|
||||||
|
Diese Mail enthält ein Attachment mit Deinem Eressea-Report in
|
||||||
|
komprimierter Form. Um ihn zu entpacken benötigst Du ein Programm,
|
||||||
|
das ZIP-Archive öffnen kann, wie z.B. 7-Zip (http://www.7-zip.org/)
|
||||||
|
|
||||||
|
This email contains an attachment with your Eressea report in compressed
|
||||||
|
form. To open the attachment, you will need a program that can extract
|
||||||
|
ZIP files, e.g. 7-Zip (http://www.7-zip.org/).
|
|
@ -1,17 +0,0 @@
|
||||||
# Crontab for Eressea on gruenbaer.kn-bremen.de
|
|
||||||
|
|
||||||
PATH=/home/eressea/bin:/opt/bin:/usr/local/bin:/usr/bin:/bin
|
|
||||||
ERESSEA=/home/eressea/eressea
|
|
||||||
ENABLED=yes
|
|
||||||
PREVIEW=yes
|
|
||||||
CONFIRM=yes
|
|
||||||
|
|
||||||
# m h dom mon dow command
|
|
||||||
00 00 * * * $HOME/bin/fetchmail.cron
|
|
||||||
00 22 * * * $HOME/bin/backup-db.sh
|
|
||||||
|
|
||||||
15 21 * * Sat [ "$ENABLED" = "yes" ] && $ERESSEA/server/bin/run-eressea.cron 3
|
|
||||||
25 21 * * Sat [ "$ENABLED" = "yes" ] && $ERESSEA/server/bin/run-eressea.cron 4
|
|
||||||
35 21 * * Sat [ "$ENABLED" = "yes" ] && $ERESSEA/server/bin/run-eressea.cron 2
|
|
||||||
30 07 * * Sun [ "$PREVIEW" = "yes" ] && $ERESSEA/server/bin/preview.cron
|
|
||||||
*/5 * * * * [ "$CONFIRM" = "yes" ] && $ERESSEA/server/bin/orders.cron 2 3 4
|
|
|
@ -5,6 +5,10 @@
|
||||||
# this here script to make a non-blocking syntax check and reject or
|
# this here script to make a non-blocking syntax check and reject or
|
||||||
# accept the order file.
|
# accept the order file.
|
||||||
|
|
||||||
|
if [ "yes" != "$CONFIRM" ] ; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
for GAME in $*
|
for GAME in $*
|
||||||
do
|
do
|
||||||
if [ "$GAME" == "eressea" ]; then GAME=2 ; fi
|
if [ "$GAME" == "eressea" ]; then GAME=2 ; fi
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
[ -z ${ERESSEA} ] && ERESSEA=~/eressea
|
[ "$PREVIEW" != "yes" ] && exit
|
||||||
|
[ -z ${ERESSEA} ] && ERESSEA=$HOME/eressea
|
||||||
|
|
||||||
branch="develop"
|
branch="develop"
|
||||||
if [ -e ${ERESSEA}/build/.preview ]; then
|
if [ -e ${ERESSEA}/build/.preview ]; then
|
||||||
branch=`cat ${ERESSEA}/build/.preview`
|
branch=`cat ${ERESSEA}/build/.preview`
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
GAME=$1
|
GAME=$1
|
||||||
BIN=$HOME/bin
|
|
||||||
export ERESSEA=$HOME/eressea
|
[ "$ENABLED" != "yes" ] && exit
|
||||||
|
[ -z ${ERESSEA} ] && ERESSEA=$HOME/eressea
|
||||||
|
|
||||||
|
export ERESSEA
|
||||||
|
BIN=$ERESSEA/server/bin
|
||||||
TURN=$(cat $ERESSEA/game-$GAME/turn)
|
TURN=$(cat $ERESSEA/game-$GAME/turn)
|
||||||
if [ ! -e $ERESSEA/game-$GAME/data/$TURN.dat ]; then
|
if [ ! -e $ERESSEA/game-$GAME/data/$TURN.dat ]; then
|
||||||
echo "data file $TURN is missing, cannot run turn for game $GAME"
|
echo "data file $TURN is missing, cannot run turn for game $GAME"
|
||||||
|
@ -14,6 +18,18 @@ fi
|
||||||
mkdir $REPORTS
|
mkdir $REPORTS
|
||||||
|
|
||||||
cd $ERESSEA/game-$GAME
|
cd $ERESSEA/game-$GAME
|
||||||
|
|
||||||
|
# wait for the queue lock to go away
|
||||||
|
maxt=5
|
||||||
|
to=5
|
||||||
|
while [ -e orders.queue.lock ] ; do
|
||||||
|
echo "waiting for orders to finish processing."
|
||||||
|
sleep $to
|
||||||
|
let to=$to+$to
|
||||||
|
let mast=$maxt-1
|
||||||
|
[ $maxt -lt 0 ] && break
|
||||||
|
done
|
||||||
|
|
||||||
if [ -d test ]; then
|
if [ -d test ]; then
|
||||||
touch test/execute.lock
|
touch test/execute.lock
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
## this script processes incoming order files.
|
|
||||||
# files are delivered into an incoming queue by procmail, then cron runs
|
|
||||||
# this here script to make a non-blocking syntax check and reject or
|
|
||||||
# accept the order file.
|
|
||||||
|
|
||||||
for GAME in $*
|
|
||||||
do
|
|
||||||
if [ "$GAME" == "eressea" ]; then GAME=2 ; fi
|
|
||||||
if [ "$GAME" == "e3a" ]; then GAME=3 ; fi
|
|
||||||
if [ -e $HOME/eressea/game-$GAME/orders.queue ]
|
|
||||||
then
|
|
||||||
$HOME/bin/orders-process $GAME
|
|
||||||
fi
|
|
||||||
done
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
GAME=$1
|
GAME=$1
|
||||||
TURN=$2
|
TURN=$2
|
||||||
|
|
||||||
|
@ -12,3 +14,4 @@ echo "running turn $TURN, game $GAME"
|
||||||
$ERESSEA/server/bin/eressea -v3 -t $TURN run-turn.lua
|
$ERESSEA/server/bin/eressea -v3 -t $TURN run-turn.lua
|
||||||
mkdir -p log
|
mkdir -p log
|
||||||
ln -f eressea.log log/eressea.log.$TURN
|
ln -f eressea.log log/eressea.log.$TURN
|
||||||
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
GAME=$1
|
|
||||||
TURN=$2
|
|
||||||
|
|
||||||
if [ ! -d $ERESSEA/game-$GAME ] ; then
|
|
||||||
echo "No such game: $GAME"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd $ERESSEA/game-$GAME
|
|
||||||
if [ -z $TURN ]; then
|
|
||||||
TURN=$(cat turn)
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "running turn $TURN, game $GAME"
|
|
||||||
if [ -d orders.dir.$TURN ]; then
|
|
||||||
echo "orders.dir.$TURN already exists"
|
|
||||||
else
|
|
||||||
mv orders.dir orders.dir.$TURN
|
|
||||||
mkdir -p orders.dir
|
|
||||||
fi
|
|
||||||
ls -1rt orders.dir.$TURN/turn-* | xargs cat > orders.$TURN
|
|
||||||
$ERESSEA/bin/eressea -t $TURN run-turn.lua
|
|
|
@ -5,10 +5,8 @@
|
||||||
<item weight="200" score="200">
|
<item weight="200" score="200">
|
||||||
<construction skill="mining" minskill="8"/>
|
<construction skill="mining" minskill="8"/>
|
||||||
</item>
|
</item>
|
||||||
<resourcelimit>
|
|
||||||
<modifier building="mine" type="skill" value="1"/>
|
<modifier building="mine" type="skill" value="1"/>
|
||||||
<modifier type="require" building="mine"/>
|
<modifier type="require" building="mine"/>
|
||||||
</resourcelimit>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="adamantiumaxe">
|
<resource name="adamantiumaxe">
|
||||||
|
|
|
@ -1,23 +1,21 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<building name="castle" capacity="1" fort="yes">
|
<building name="castle" capacity="1" fort="yes" taxes="100">
|
||||||
<function name="name" value="castle_name_2"/>
|
<construction skill="building" minskill="1" maxsize="10" name="site">
|
||||||
<function name="taxes" value="lua_building_taxes"/>
|
|
||||||
<construction skill="building" minskill="1" maxsize="10">
|
|
||||||
<requirement type="stone" quantity="1"/>
|
<requirement type="stone" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
<construction skill="building" minskill="2" maxsize="40">
|
<construction skill="building" minskill="2" maxsize="40" name="fortification">
|
||||||
<requirement type="stone" quantity="1"/>
|
<requirement type="stone" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
<construction skill="building" minskill="3" maxsize="200">
|
<construction skill="building" minskill="3" maxsize="200" name="tower">
|
||||||
<requirement type="stone" quantity="1"/>
|
<requirement type="stone" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
<construction skill="building" minskill="4" maxsize="1000">
|
<construction skill="building" minskill="4" maxsize="1000" name="castle">
|
||||||
<requirement type="stone" quantity="1"/>
|
<requirement type="stone" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
<construction skill="building" minskill="5" maxsize="5000">
|
<construction skill="building" minskill="5" maxsize="5000" name="fortress">
|
||||||
<requirement type="stone" quantity="1"/>
|
<requirement type="stone" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
<construction skill="building" minskill="6">
|
<construction skill="building" minskill="6" name="citadel">
|
||||||
<requirement type="stone" quantity="1"/>
|
<requirement type="stone" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
</building>
|
</building>
|
||||||
|
|
|
@ -1,25 +1,24 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<building name="castle" capacity="1" fort="yes">
|
<building name="castle" capacity="1" fort="yes">
|
||||||
<function name="name" value="castle_name"/>
|
<construction skill="building" minskill="1" maxsize="2" name="site">
|
||||||
<construction skill="building" minskill="1" maxsize="2">
|
|
||||||
<requirement type="stone" quantity="1"/>
|
<requirement type="stone" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
<construction skill="building" minskill="1" maxsize="8">
|
<construction skill="building" minskill="1" maxsize="8" name="tradepost">
|
||||||
<requirement type="stone" quantity="1"/>
|
<requirement type="stone" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
<construction skill="building" minskill="2" maxsize="40">
|
<construction skill="building" minskill="2" maxsize="40" name="fortification">
|
||||||
<requirement type="stone" quantity="1"/>
|
<requirement type="stone" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
<construction skill="building" minskill="3" maxsize="200">
|
<construction skill="building" minskill="3" maxsize="200" name="tower">
|
||||||
<requirement type="stone" quantity="1"/>
|
<requirement type="stone" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
<construction skill="building" minskill="4" maxsize="1000">
|
<construction skill="building" minskill="4" maxsize="1000" name="castle">
|
||||||
<requirement type="stone" quantity="1"/>
|
<requirement type="stone" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
<construction skill="building" minskill="5" maxsize="5000">
|
<construction skill="building" minskill="5" maxsize="5000" name="fortress">
|
||||||
<requirement type="stone" quantity="1"/>
|
<requirement type="stone" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
<construction skill="building" minskill="6">
|
<construction skill="building" minskill="6" name="citadel">
|
||||||
<requirement type="stone" quantity="1"/>
|
<requirement type="stone" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
</building>
|
</building>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="plate">
|
<resource name="plate">
|
||||||
<item weight="400" score="150">
|
<item weight="400" score="150">
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
|
||||||
<construction skill="armorer" minskill="4">
|
<construction skill="armorer" minskill="4">
|
||||||
<requirement type="iron" quantity="5"/>
|
<requirement type="iron" quantity="5"/>
|
||||||
</construction>
|
</construction>
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<calendar name="secondage" newyear="month_1">
|
|
||||||
<season name="winter">
|
|
||||||
<month name="month_4" storm="50" />
|
|
||||||
<month name="month_5" storm="30" />
|
|
||||||
<month name="month_6" storm="60" />
|
|
||||||
</season>
|
|
||||||
<season name="spring">
|
|
||||||
<month name="month_7" storm="60" />
|
|
||||||
<month name="month_8" storm="10" />
|
|
||||||
</season>
|
|
||||||
<season name="summer">
|
|
||||||
<month name="month_9" storm="60" />
|
|
||||||
<month name="month_1" storm="10" />
|
|
||||||
</season>
|
|
||||||
<season name="fall">
|
|
||||||
<month name="month_2" storm="60" />
|
|
||||||
<month name="month_3" storm="80" />
|
|
||||||
</season>
|
|
||||||
<week name="firstweek" />
|
|
||||||
<week name="secondweek" />
|
|
||||||
<week name="thirdweek" />
|
|
||||||
</calendar>
|
|
|
@ -93,7 +93,6 @@
|
||||||
</building>
|
</building>
|
||||||
|
|
||||||
<building name="smithy" capacity="1">
|
<building name="smithy" capacity="1">
|
||||||
<function name="init" value="init_smithy"/>
|
|
||||||
<maintenance type="money" amount="300"/>
|
<maintenance type="money" amount="300"/>
|
||||||
<maintenance type="log" amount="1"/>
|
<maintenance type="log" amount="1"/>
|
||||||
<construction skill="building" minskill="3">
|
<construction skill="building" minskill="3">
|
||||||
|
@ -102,6 +101,8 @@
|
||||||
<requirement type="iron" quantity="2"/>
|
<requirement type="iron" quantity="2"/>
|
||||||
<requirement type="money" quantity="200"/>
|
<requirement type="money" quantity="200"/>
|
||||||
</construction>
|
</construction>
|
||||||
|
<modifier type="skill" skill="weaponsmithing" value="1"/>
|
||||||
|
<modifier type="skill" skill="armorer" value="1"/>
|
||||||
</building>
|
</building>
|
||||||
|
|
||||||
<building name="magictower" maxcapacity="2" maxsize="50" magic="yes" magres="40" fumblebonus="10" auraregen="1.75">
|
<building name="magictower" maxcapacity="2" maxsize="50" magic="yes" magres="40" fumblebonus="10" auraregen="1.75">
|
||||||
|
|
|
@ -61,16 +61,8 @@
|
||||||
<item weight="0" score="6000"/>
|
<item weight="0" score="6000"/>
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="aoc" appearance="amulet">
|
|
||||||
<item weight="100">
|
|
||||||
<function name="use" value="use_birthdayamulet"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
|
||||||
|
|
||||||
<resource name="dreameye">
|
<resource name="dreameye">
|
||||||
<item weight="100">
|
<item weight="100" use="yes" />
|
||||||
<function name="use" value="use_tacticcrystal"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="pegasus">
|
<resource name="pegasus">
|
||||||
|
@ -78,9 +70,7 @@
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="elvenhorse">
|
<resource name="elvenhorse">
|
||||||
<item weight="5000" notlost="yes" big="yes" score="6000" capacity="7000" animal="yes">
|
<item weight="5000" notlost="yes" big="yes" score="6000" capacity="7000" animal="yes"/>
|
||||||
<function name="give" value="givehorses"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="dolphin">
|
<resource name="dolphin">
|
||||||
|
@ -100,39 +90,34 @@
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<!-- XE items -->
|
<!-- XE items -->
|
||||||
|
<resource name="studypotion" appearance="vial">
|
||||||
|
<!-- gives user one free learning attempt -->
|
||||||
|
<item weight="0" use="yes" />
|
||||||
|
</resource>
|
||||||
|
|
||||||
<resource name="skillpotion" appearance="vial">
|
<resource name="skillpotion" appearance="vial">
|
||||||
<!-- gives user one free learning attempt -->
|
<!-- gives user one free learning attempt -->
|
||||||
<item weight="0">
|
<item weight="0" use="yes" />
|
||||||
<function name="use" value="use_skillpotion"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="manacrystal" appearance="amulet">
|
<resource name="manacrystal" appearance="amulet">
|
||||||
<!-- gives user free aura -->
|
<!-- gives user free aura -->
|
||||||
<item weight="0">
|
<item weight="0" use="yes" />
|
||||||
<function name="use" value="use_manacrystal"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<!-- xmas items -->
|
<!-- xmas items -->
|
||||||
<resource name="mistletoe">
|
<resource name="mistletoe">
|
||||||
<!-- Sets the chance of escape in a fight to 100 percent -->
|
<!-- Sets the chance of escape in a fight to 100 percent -->
|
||||||
<item notlost="yes" weight="0">
|
<item notlost="yes" weight="0" use="yes" />
|
||||||
<function name="use" value="usemistletoe"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="speedsail">
|
<resource name="speedsail">
|
||||||
<item weight="0">
|
<item weight="0" use="yes" />
|
||||||
<function name="use" value="use_speedsail"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<!-- items -->
|
<!-- items -->
|
||||||
<resource name="antimagic" appearance="amulet">
|
<resource name="antimagic" appearance="amulet">
|
||||||
<item weight="0" score="2000">
|
<item weight="0" score="2000" use="yes" />
|
||||||
<function name="use" value="use_antimagiccrystal"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="catapultammo">
|
<resource name="catapultammo">
|
||||||
|
|
|
@ -4,8 +4,7 @@
|
||||||
|
|
||||||
<!-- potions -->
|
<!-- potions -->
|
||||||
<resource name="p0" appearance="vial">
|
<resource name="p0" appearance="vial">
|
||||||
<item weight="0" score="30">
|
<item weight="0" score="30" use="yes">
|
||||||
<function name="use" value="usepotion"/>
|
|
||||||
<potion level="1"/>
|
<potion level="1"/>
|
||||||
<construction skill="alchemy" minskill="2">
|
<construction skill="alchemy" minskill="2">
|
||||||
<requirement type="h4"/>
|
<requirement type="h4"/>
|
||||||
|
@ -15,8 +14,7 @@
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="goliathwater" appearance="vial">
|
<resource name="goliathwater" appearance="vial">
|
||||||
<item weight="0" score="30">
|
<item weight="0" score="30" use="yes">
|
||||||
<function name="use" value="usepotion"/>
|
|
||||||
<potion level="1"/>
|
<potion level="1"/>
|
||||||
<construction skill="alchemy" minskill="2">
|
<construction skill="alchemy" minskill="2">
|
||||||
<requirement type="h6"/>
|
<requirement type="h6"/>
|
||||||
|
@ -26,8 +24,7 @@
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="truthpotion" appearance="vial">
|
<resource name="truthpotion" appearance="vial">
|
||||||
<item weight="0" score="30">
|
<item weight="0" score="30" use="yes">
|
||||||
<function name="use" value="usepotion"/>
|
|
||||||
<potion level="1"/>
|
<potion level="1"/>
|
||||||
<construction skill="alchemy" minskill="2">
|
<construction skill="alchemy" minskill="2">
|
||||||
<requirement type="h0"/>
|
<requirement type="h0"/>
|
||||||
|
@ -37,8 +34,7 @@
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="p2" appearance="vial">
|
<resource name="p2" appearance="vial">
|
||||||
<item weight="0" score="30">
|
<item weight="0" score="30" use="yes">
|
||||||
<function name="use" value="usepotion"/>
|
|
||||||
<potion level="1"/>
|
<potion level="1"/>
|
||||||
<construction skill="alchemy" minskill="2">
|
<construction skill="alchemy" minskill="2">
|
||||||
<requirement type="h5"/>
|
<requirement type="h5"/>
|
||||||
|
@ -48,8 +44,7 @@
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="p3" appearance="vial">
|
<resource name="p3" appearance="vial">
|
||||||
<item weight="0" score="60">
|
<item weight="0" score="60" use="yes">
|
||||||
<function name="use" value="usepotion"/>
|
|
||||||
<potion level="2"/>
|
<potion level="2"/>
|
||||||
<construction skill="alchemy" minskill="4">
|
<construction skill="alchemy" minskill="4">
|
||||||
<requirement type="h14"/>
|
<requirement type="h14"/>
|
||||||
|
@ -61,8 +56,7 @@
|
||||||
|
|
||||||
<resource name="ointment" appearance="vial">
|
<resource name="ointment" appearance="vial">
|
||||||
<!-- Wundsalbe -->
|
<!-- Wundsalbe -->
|
||||||
<item weight="0" score="60">
|
<item weight="0" score="60" use="yes">
|
||||||
<function name="use" value="usehealingpotion"/>
|
|
||||||
<potion level="2"/>
|
<potion level="2"/>
|
||||||
<construction skill="alchemy" minskill="4">
|
<construction skill="alchemy" minskill="4">
|
||||||
<requirement type="h19"/>
|
<requirement type="h19"/>
|
||||||
|
@ -74,8 +68,7 @@
|
||||||
|
|
||||||
<resource name="peasantblood" appearance="vial">
|
<resource name="peasantblood" appearance="vial">
|
||||||
<!-- Bauernblut -->
|
<!-- Bauernblut -->
|
||||||
<item weight="0" score="60">
|
<item weight="0" score="60" use="yes">
|
||||||
<function name="use" value="usebloodpotion"/>
|
|
||||||
<potion level="2"/>
|
<potion level="2"/>
|
||||||
<construction skill="alchemy" minskill="4">
|
<construction skill="alchemy" minskill="4">
|
||||||
<requirement type="h17"/>
|
<requirement type="h17"/>
|
||||||
|
@ -87,8 +80,7 @@
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="p6" appearance="vial">
|
<resource name="p6" appearance="vial">
|
||||||
<item weight="0" score="90">
|
<item weight="0" score="90" use="yes">
|
||||||
<function name="use" value="usepotion"/>
|
|
||||||
<potion level="3"/>
|
<potion level="3"/>
|
||||||
<construction skill="alchemy" minskill="6">
|
<construction skill="alchemy" minskill="6">
|
||||||
<requirement type="h9"/>
|
<requirement type="h9"/>
|
||||||
|
@ -100,8 +92,7 @@
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="p7" appearance="vial">
|
<resource name="p7" appearance="vial">
|
||||||
<item weight="0" score="90">
|
<item weight="0" score="90" use="yes">
|
||||||
<function name="useonother" value="usefoolpotion"/>
|
|
||||||
<potion level="3"/>
|
<potion level="3"/>
|
||||||
<construction skill="alchemy" minskill="6">
|
<construction skill="alchemy" minskill="6">
|
||||||
<requirement type="h2"/>
|
<requirement type="h2"/>
|
||||||
|
@ -113,8 +104,7 @@
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="nestwarmth" appearance="vial">
|
<resource name="nestwarmth" appearance="vial">
|
||||||
<item weight="0" score="90">
|
<item weight="0" score="90" use="yes">
|
||||||
<function name="use" value="usewarmthpotion"/>
|
|
||||||
<potion level="3"/>
|
<potion level="3"/>
|
||||||
<construction skill="alchemy" minskill="6">
|
<construction skill="alchemy" minskill="6">
|
||||||
<requirement type="h18"/>
|
<requirement type="h18"/>
|
||||||
|
@ -126,8 +116,7 @@
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="p9" appearance="vial">
|
<resource name="p9" appearance="vial">
|
||||||
<item weight="0" score="90">
|
<item weight="0" score="90" use="yes">
|
||||||
<function name="use" value="usepotion"/>
|
|
||||||
<potion level="3"/>
|
<potion level="3"/>
|
||||||
<construction skill="alchemy" minskill="6">
|
<construction skill="alchemy" minskill="6">
|
||||||
<requirement type="h4"/>
|
<requirement type="h4"/>
|
||||||
|
@ -139,8 +128,7 @@
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="p10" appearance="vial">
|
<resource name="p10" appearance="vial">
|
||||||
<item weight="0" score="90">
|
<item weight="0" score="90" use="yes">
|
||||||
<function name="use" value="usepotion"/>
|
|
||||||
<potion level="3"/>
|
<potion level="3"/>
|
||||||
<construction skill="alchemy" minskill="6">
|
<construction skill="alchemy" minskill="6">
|
||||||
<requirement type="h19"/>
|
<requirement type="h19"/>
|
||||||
|
@ -152,8 +140,7 @@
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="p11" appearance="vial">
|
<resource name="p11" appearance="vial">
|
||||||
<item weight="0" score="120">
|
<item weight="0" score="120" use="yes">
|
||||||
<function name="use" value="usepotion"/>
|
|
||||||
<potion level="4"/>
|
<potion level="4"/>
|
||||||
<construction skill="alchemy" minskill="8">
|
<construction skill="alchemy" minskill="8">
|
||||||
<requirement type="h14"/>
|
<requirement type="h14"/>
|
||||||
|
@ -166,8 +153,7 @@
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="p13" appearance="vial">
|
<resource name="p13" appearance="vial">
|
||||||
<item weight="0" score="120">
|
<item weight="0" score="120" use="yes">
|
||||||
<function name="use" value="usepotion"/>
|
|
||||||
<potion level="4"/>
|
<potion level="4"/>
|
||||||
<construction skill="alchemy" minskill="8">
|
<construction skill="alchemy" minskill="8">
|
||||||
<requirement type="h5"/>
|
<requirement type="h5"/>
|
||||||
|
@ -181,8 +167,7 @@
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="p14" appearance="vial">
|
<resource name="p14" appearance="vial">
|
||||||
<item weight="0" score="120">
|
<item weight="0" score="120" use="yes">
|
||||||
<function name="use" value="usepotion"/>
|
|
||||||
<potion level="4"/>
|
<potion level="4"/>
|
||||||
<construction skill="alchemy" minskill="8">
|
<construction skill="alchemy" minskill="8">
|
||||||
<requirement type="h6"/>
|
<requirement type="h6"/>
|
||||||
|
|
|
@ -1458,12 +1458,6 @@
|
||||||
<string name="aots_p">
|
<string name="aots_p">
|
||||||
<text locale="de">Amulette des wahren Sehens</text>
|
<text locale="de">Amulette des wahren Sehens</text>
|
||||||
</string>
|
</string>
|
||||||
<string name="aoc">
|
|
||||||
<text locale="de">Katzenamulett</text>
|
|
||||||
</string>
|
|
||||||
<string name="aoc_p">
|
|
||||||
<text locale="de">Katzenamulette</text>
|
|
||||||
</string>
|
|
||||||
<string name="roi">
|
<string name="roi">
|
||||||
<text locale="de">Ring der Unsichtbarkeit</text>
|
<text locale="de">Ring der Unsichtbarkeit</text>
|
||||||
</string>
|
</string>
|
||||||
|
@ -6529,13 +6523,17 @@
|
||||||
<text locale="de">Sonnenfeuer</text>
|
<text locale="de">Sonnenfeuer</text>
|
||||||
<text locale="en">sunfire</text>
|
<text locale="en">sunfire</text>
|
||||||
</string>
|
</string>
|
||||||
<string name="secondage">
|
<string name="age_1">
|
||||||
|
<text locale="de">neuer Zeitrechnung</text>
|
||||||
|
<text locale="en">of the new age</text>
|
||||||
|
</string>
|
||||||
|
<string name="age_2">
|
||||||
<text locale="de">des zweiten Zeitalters</text>
|
<text locale="de">des zweiten Zeitalters</text>
|
||||||
<text locale="en">the second age</text>
|
<text locale="en">the second age</text>
|
||||||
</string>
|
</string>
|
||||||
<string name="newage">
|
<string name="age_3">
|
||||||
<text locale="de">neuer Zeitrechnung</text>
|
<text locale="de">des dritten Zeitalters</text>
|
||||||
<text locale="en">of the new age</text>
|
<text locale="en">the third age</text>
|
||||||
</string>
|
</string>
|
||||||
</namespace>
|
</namespace>
|
||||||
|
|
||||||
|
|
|
@ -444,12 +444,6 @@
|
||||||
<string name="ao_chastity_p">
|
<string name="ao_chastity_p">
|
||||||
<text locale="en">amulets of chastity</text>
|
<text locale="en">amulets of chastity</text>
|
||||||
</string>
|
</string>
|
||||||
<string name="aoc">
|
|
||||||
<text locale="en">amulet of the kitten</text>
|
|
||||||
</string>
|
|
||||||
<string name="aoc_p">
|
|
||||||
<text locale="en">amulets of the kitten</text>
|
|
||||||
</string>
|
|
||||||
<string name="aod">
|
<string name="aod">
|
||||||
<text locale="en">amulet of darkness</text>
|
<text locale="en">amulet of darkness</text>
|
||||||
</string>
|
</string>
|
||||||
|
|
|
@ -458,12 +458,6 @@
|
||||||
<string name="ao_chastity_p">
|
<string name="ao_chastity_p">
|
||||||
<text locale="fr">amulettes de chasteté</text>
|
<text locale="fr">amulettes de chasteté</text>
|
||||||
</string>
|
</string>
|
||||||
<string name="aoc">
|
|
||||||
<text locale="fr">amulette du chaton</text>
|
|
||||||
</string>
|
|
||||||
<string name="aoc_p">
|
|
||||||
<text locale="fr">amulettes du chaton</text>
|
|
||||||
</string>
|
|
||||||
<string name="aod">
|
<string name="aod">
|
||||||
<text locale="fr">amulette de ténčbres</text>
|
<text locale="fr">amulette de ténčbres</text>
|
||||||
</string>
|
</string>
|
||||||
|
|
|
@ -5536,8 +5536,8 @@
|
||||||
<arg name="region" type="region"/>
|
<arg name="region" type="region"/>
|
||||||
<arg name="command" type="order"/>
|
<arg name="command" type="order"/>
|
||||||
</type>
|
</type>
|
||||||
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - Nur Elfen können diese Bögen herstellen."</text>
|
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - Diesen Gegenstand kann die Einheit nicht herstellen."</text>
|
||||||
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - Only elves can make these bows."</text>
|
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - This unit cannot produce that."</text>
|
||||||
</message>
|
</message>
|
||||||
<message name="error117" section="errors">
|
<message name="error117" section="errors">
|
||||||
<type>
|
<type>
|
||||||
|
@ -5545,8 +5545,8 @@
|
||||||
<arg name="region" type="region"/>
|
<arg name="region" type="region"/>
|
||||||
<arg name="command" type="order"/>
|
<arg name="command" type="order"/>
|
||||||
</type>
|
</type>
|
||||||
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - Nur die EMail-Adresse angeben!"</text>
|
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - Diese Rasse kann das nicht herstellen."</text>
|
||||||
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - Please provide only an email address!"</text>
|
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - This race cannot produce that."</text>
|
||||||
</message>
|
</message>
|
||||||
<message name="error116" section="errors">
|
<message name="error116" section="errors">
|
||||||
<type>
|
<type>
|
||||||
|
@ -7678,24 +7678,6 @@
|
||||||
<text locale="en">"$unit($unit) plays the bagpipe. Stricken with fear the peasants give $int($money) silver."</text>
|
<text locale="en">"$unit($unit) plays the bagpipe. Stricken with fear the peasants give $int($money) silver."</text>
|
||||||
</message>
|
</message>
|
||||||
|
|
||||||
<message name="artacademy_create" section="magic">
|
|
||||||
<type>
|
|
||||||
<arg name="unit" type="unit"/>
|
|
||||||
<arg name="region" type="region"/>
|
|
||||||
</type>
|
|
||||||
<text locale="de">"$unit($unit) in $region($region) erschafft eine Akademie der Künste."</text>
|
|
||||||
<text locale="en">"$unit($unit) in $region($region) creates an academy of arts."</text>
|
|
||||||
</message>
|
|
||||||
|
|
||||||
<message name="artsculpture_create" section="magic">
|
|
||||||
<type>
|
|
||||||
<arg name="unit" type="unit"/>
|
|
||||||
<arg name="region" type="region"/>
|
|
||||||
</type>
|
|
||||||
<text locale="de">"$unit($unit) in $region($region) erschafft eine Skulptur."</text>
|
|
||||||
<text locale="en">"$unit($unit) in $region($region) creates a sculpture."</text>
|
|
||||||
</message>
|
|
||||||
|
|
||||||
<message name="spellfail_distance" section="errors">
|
<message name="spellfail_distance" section="errors">
|
||||||
<type>
|
<type>
|
||||||
<arg name="command" type="order"/>
|
<arg name="command" type="order"/>
|
||||||
|
|
|
@ -1,11 +1,6 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="horse" limited="yes">
|
<resource name="horse" limited="yes">
|
||||||
<item big="yes" weight="5000" score="10" capacity="7000" animal="yes">
|
<item big="yes" weight="5000" score="10" capacity="7000" animal="yes">
|
||||||
<construction skill="training" minskill="1"/>
|
<construction skill="training" minskill="1" />
|
||||||
<function name="give" value="givehorses"/>
|
|
||||||
</item>
|
</item>
|
||||||
<resourcelimit>
|
|
||||||
<function name="produce" value="lua_produceresource"/>
|
|
||||||
<function name="limit" value="lua_limitresource"/>
|
|
||||||
</resourcelimit>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="hp" pooled="false">
|
<resource name="hp" pooled="false">
|
||||||
<function name="change" value="lua_changeresource"/>
|
<function name="change" value="lua_changeresource"/>
|
||||||
<function name="get" value="lua_getresource"/>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="iron" limited="yes" material="yes">
|
<resource name="iron" limited="yes" material="yes">
|
||||||
<item weight="500" score="10">
|
<item weight="500" score="10">
|
||||||
<construction skill="mining" minskill="1"/>
|
<construction skill="mining" minskill="1"/>
|
||||||
</item>
|
</item>
|
||||||
<resourcelimit>
|
<modifier building="smithy" type="save" value="2"/>
|
||||||
<modifier building="mine" type="skill" value="1"/>
|
<modifier building="mine" type="skill" value="1"/>
|
||||||
<modifier building="mine" type="material" value="0.5"/>
|
<modifier building="mine" type="material" value="0.5"/>
|
||||||
<modifier race="dwarf" type="material" value="0.60"/>
|
<modifier race="dwarf" type="material" value="0.6"/>
|
||||||
</resourcelimit>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="laen" limited="yes" material="yes">
|
<resource name="laen" limited="yes" material="yes">
|
||||||
<item weight="200" score="100">
|
<item weight="200" score="100">
|
||||||
<construction skill="mining" minskill="7"/>
|
<construction skill="mining" minskill="7"/>
|
||||||
</item>
|
</item>
|
||||||
<resourcelimit>
|
<modifier building="mine" type="skill" value="1"/>
|
||||||
<modifier building="mine" type="skill" value="1"/>
|
<modifier type="require" building="mine"/>
|
||||||
<modifier type="require" building="mine"/>
|
|
||||||
</resourcelimit>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
|
@ -1,12 +1,8 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="log">
|
<resource name="log" limited="yes">
|
||||||
<item weight="500" score="10">
|
<item weight="500" score="10">
|
||||||
<construction skill="forestry" minskill="1"/>
|
<construction skill="forestry" minskill="1"/>
|
||||||
</item>
|
</item>
|
||||||
<resourcelimit>
|
|
||||||
<modifier building="sawmill" type="skill" value="1"/>
|
<modifier building="sawmill" type="skill" value="1"/>
|
||||||
<modifier building="sawmill" type="material" value="0.5"/>
|
<modifier building="sawmill" type="material" value="0.5"/>
|
||||||
<function name="produce" value="lua_produceresource"/>
|
|
||||||
<function name="limit" value="lua_limitresource"/>
|
|
||||||
</resourcelimit>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
|
@ -1,12 +1,8 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="mallorn">
|
<resource name="mallorn" limited="yes">
|
||||||
<item weight="500" score="30">
|
<item weight="500" score="30">
|
||||||
<construction skill="forestry" minskill="2"/>
|
<construction skill="forestry" minskill="2"/>
|
||||||
</item>
|
</item>
|
||||||
<resourcelimit>
|
|
||||||
<modifier building="sawmill" type="skill" value="1"/>
|
<modifier building="sawmill" type="skill" value="1"/>
|
||||||
<modifier building="sawmill" type="material" value="0.5"/>
|
<modifier building="sawmill" type="material" value="0.5"/>
|
||||||
<function name="produce" value="lua_produceresource"/>
|
|
||||||
<function name="limit" value="lua_limitresource"/>
|
|
||||||
</resourcelimit>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
|
@ -3,8 +3,4 @@
|
||||||
<item weight="10" score="100">
|
<item weight="10" score="100">
|
||||||
<construction skill="herbalism" minskill="4"/>
|
<construction skill="herbalism" minskill="4"/>
|
||||||
</item>
|
</item>
|
||||||
<resourcelimit>
|
|
||||||
<function name="produce" value="lua_produceresource"/>
|
|
||||||
<function name="limit" value="lua_limitresource"/>
|
|
||||||
</resourcelimit>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="peasant" pooled="false">
|
<resource name="peasant" pooled="false">
|
||||||
<function name="change" value="lua_changeresource"/>
|
<function name="change" value="lua_changeresource"/>
|
||||||
<function name="get" value="lua_getresource"/>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
|
@ -3,8 +3,4 @@
|
||||||
<item weight="10" score="50">
|
<item weight="10" score="50">
|
||||||
<construction skill="herbalism" minskill="3"/>
|
<construction skill="herbalism" minskill="3"/>
|
||||||
</item>
|
</item>
|
||||||
<resourcelimit>
|
|
||||||
<function name="produce" value="lua_produceresource"/>
|
|
||||||
<function name="limit" value="lua_limitresource"/>
|
|
||||||
</resourcelimit>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="stone" limited="yes" material="yes">
|
<resource name="stone" limited="yes" material="yes">
|
||||||
<item weight="6000" score="10" big="yes">
|
<item weight="6000" score="10" big="yes">
|
||||||
<construction skill="quarrying" minskill="1"/>
|
<construction skill="quarrying" minskill="1"/>
|
||||||
</item>
|
</item>
|
||||||
<resourcelimit>
|
|
||||||
<modifier building="quarry" type="skill" value="1"/>
|
<modifier building="quarry" type="skill" value="1"/>
|
||||||
<modifier building="quarry" type="material" value="0.5"/>
|
<modifier building="quarry" type="material" value="0.5"/>
|
||||||
<modifier race="troll" type="material" value="0.75"/>
|
<modifier race="troll" type="material" value="0.75"/>
|
||||||
</resourcelimit>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
|
@ -10,14 +10,12 @@
|
||||||
|
|
||||||
<!-- shared spells -->
|
<!-- shared spells -->
|
||||||
<spell name="create_roi" ship="true" rank="5" index="130">
|
<spell name="create_roi" ship="true" rank="5" index="130">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="50" cost="fixed"/>
|
<resource name="aura" amount="50" cost="fixed"/>
|
||||||
<resource name="money" amount="3000" cost="fixed"/>
|
<resource name="money" amount="3000" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_aots" ship="true" rank="5" index="125">
|
<spell name="create_aots" ship="true" rank="5" index="125">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="50" cost="fixed"/>
|
<resource name="aura" amount="50" cost="fixed"/>
|
||||||
<resource name="money" amount="3000" cost="fixed"/>
|
<resource name="money" amount="3000" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
|
@ -25,12 +23,10 @@
|
||||||
|
|
||||||
<!-- draig spells -->
|
<!-- draig spells -->
|
||||||
<spell name="earn_silver#draig" ship="true" variable="true" rank="5" index="159">
|
<spell name="earn_silver#draig" ship="true" variable="true" rank="5" index="159">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="1" cost="level"/>
|
<resource name="aura" amount="1" cost="level"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_firesword" ship="true" rank="5" index="148">
|
<spell name="create_firesword" ship="true" rank="5" index="148">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="100" cost="fixed"/>
|
<resource name="aura" amount="100" cost="fixed"/>
|
||||||
<resource name="p10" amount="1" cost="fixed"/>
|
<resource name="p10" amount="1" cost="fixed"/>
|
||||||
<resource name="sword" amount="1" cost="fixed"/>
|
<resource name="sword" amount="1" cost="fixed"/>
|
||||||
|
@ -38,19 +34,16 @@
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_trollbelt" ship="true" rank="5" index="48">
|
<spell name="create_trollbelt" ship="true" rank="5" index="48">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="20" cost="fixed"/>
|
<resource name="aura" amount="20" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<!-- gwyrrd spells -->
|
<!-- gwyrrd spells -->
|
||||||
<spell name="earn_silver#gwyrrd" ship="true" variable="true" rank="5" index="159">
|
<spell name="earn_silver#gwyrrd" ship="true" variable="true" rank="5" index="159">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="1" cost="level"/>
|
<resource name="aura" amount="1" cost="level"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_magicherbbag" ship="true" rank="5" index="165">
|
<spell name="create_magicherbbag" ship="true" rank="5" index="165">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="30" cost="fixed"/>
|
<resource name="aura" amount="30" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
<resource name="p2" amount="1" cost="fixed"/>
|
<resource name="p2" amount="1" cost="fixed"/>
|
||||||
|
@ -58,18 +51,15 @@
|
||||||
|
|
||||||
<!-- illaun spells -->
|
<!-- illaun spells -->
|
||||||
<spell name="earn_silver#illaun" ship="true" variable="true" rank="5" index="159">
|
<spell name="earn_silver#illaun" ship="true" variable="true" rank="5" index="159">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="1" cost="level"/>
|
<resource name="aura" amount="1" cost="level"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_dreameye" ship="true" rank="5" index="149">
|
<spell name="create_dreameye" ship="true" rank="5" index="149">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="dragonhead" amount="1" cost="fixed"/>
|
<resource name="dragonhead" amount="1" cost="fixed"/>
|
||||||
<resource name="permaura" amount="5" cost="fixed"/>
|
<resource name="permaura" amount="5" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_invisibility_sphere" ship="true" rank="5" index="178">
|
<spell name="create_invisibility_sphere" ship="true" rank="5" index="178">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="150" cost="fixed"/>
|
<resource name="aura" amount="150" cost="fixed"/>
|
||||||
<resource name="money" amount="30000" cost="fixed"/>
|
<resource name="money" amount="30000" cost="fixed"/>
|
||||||
<resource name="permaura" amount="3" cost="fixed"/>
|
<resource name="permaura" amount="3" cost="fixed"/>
|
||||||
|
@ -77,12 +67,10 @@
|
||||||
|
|
||||||
<!-- cerddor spells -->
|
<!-- cerddor spells -->
|
||||||
<spell name="earn_silver#cerddor" ship="true" variable="true" rank="5" index="159">
|
<spell name="earn_silver#cerddor" ship="true" variable="true" rank="5" index="159">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="1" cost="level"/>
|
<resource name="aura" amount="1" cost="level"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_roqf" ship="true" rank="5" index="63">
|
<spell name="create_roqf" ship="true" rank="5" index="63">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="20" cost="fixed"/>
|
<resource name="aura" amount="20" cost="fixed"/>
|
||||||
<resource name="money" amount="1000" cost="fixed"/>
|
<resource name="money" amount="1000" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
|
@ -90,25 +78,21 @@
|
||||||
|
|
||||||
<!-- tybied spells -->
|
<!-- tybied spells -->
|
||||||
<spell name="earn_silver#tybied" ship="true" variable="true" rank="5" index="159">
|
<spell name="earn_silver#tybied" ship="true" variable="true" rank="5" index="159">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="1" cost="level"/>
|
<resource name="aura" amount="1" cost="level"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_antimagic" ship="true" rank="5" index="38">
|
<spell name="create_antimagic" ship="true" rank="5" index="38">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="50" cost="fixed"/>
|
<resource name="aura" amount="50" cost="fixed"/>
|
||||||
<resource name="money" amount="3000" cost="fixed"/>
|
<resource name="money" amount="3000" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_rop" ship="true" rank="5" index="1">
|
<spell name="create_rop" ship="true" rank="5" index="1">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="100" cost="fixed"/>
|
<resource name="aura" amount="100" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
<resource name="money" amount="4000" cost="fixed"/>
|
<resource name="money" amount="4000" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_bagofholding" ship="true" rank="5" index="155">
|
<spell name="create_bagofholding" ship="true" rank="5" index="155">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="30" cost="fixed"/>
|
<resource name="aura" amount="30" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
<resource name="money" amount="5000" cost="fixed"/>
|
<resource name="money" amount="5000" cost="fixed"/>
|
||||||
|
@ -116,7 +100,6 @@
|
||||||
|
|
||||||
<!-- gray magic -->
|
<!-- gray magic -->
|
||||||
<spell name="create_runesword" ship="true" rank="5" index="135">
|
<spell name="create_runesword" ship="true" rank="5" index="135">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="100" cost="fixed"/>
|
<resource name="aura" amount="100" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
<resource name="money" amount="1000" cost="fixed"/>
|
<resource name="money" amount="1000" cost="fixed"/>
|
||||||
|
@ -124,20 +107,17 @@
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_chastitybelt" ship="true" rank="5" index="134">
|
<spell name="create_chastitybelt" ship="true" rank="5" index="134">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="50" cost="fixed"/>
|
<resource name="aura" amount="50" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
<resource name="money" amount="3000" cost="fixed"/>
|
<resource name="money" amount="3000" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_focus" ship="true" rank="5" index="2">
|
<spell name="create_focus" ship="true" rank="5" index="2">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="100" cost="fixed"/>
|
<resource name="aura" amount="100" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_ror" ship="true" rank="5" index="3">
|
<spell name="create_ror" ship="true" rank="5" index="3">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="100" cost="fixed"/>
|
<resource name="aura" amount="100" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="axe">
|
<resource name="axe">
|
||||||
<item weight="200">
|
<item weight="200">
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
|
||||||
<construction skill="weaponsmithing" minskill="3">
|
<construction skill="weaponsmithing" minskill="3">
|
||||||
<requirement type="log" quantity="1"/>
|
<requirement type="log" quantity="1"/>
|
||||||
<requirement type="iron" quantity="1"/>
|
<requirement type="iron" quantity="1"/>
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="greatbow">
|
<resource name="greatbow">
|
||||||
|
<modifier type="require" race="elf"/>
|
||||||
<item weight="100">
|
<item weight="100">
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
|
||||||
<construction skill="weaponsmithing" minskill="5">
|
<construction skill="weaponsmithing" minskill="5">
|
||||||
<modifier function="mod_elves_only"/>
|
|
||||||
<requirement type="mallorn" quantity="2"/>
|
<requirement type="mallorn" quantity="2"/>
|
||||||
</construction>
|
</construction>
|
||||||
<weapon pierce="true" missile="true" skill="bow" offmod="0" defmod="0" reload="0" magres="0.0">
|
<weapon pierce="true" missile="true" skill="bow" offmod="0" defmod="0" reload="0" magres="0.0">
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="greatsword">
|
<resource name="greatsword">
|
||||||
<item weight="200" score="30">
|
<item weight="200" score="30">
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
|
||||||
<construction skill="weaponsmithing" minskill="4">
|
<construction skill="weaponsmithing" minskill="4">
|
||||||
<requirement type="iron" quantity="2"/>
|
<requirement type="iron" quantity="2"/>
|
||||||
</construction>
|
</construction>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="halberd">
|
<resource name="halberd">
|
||||||
<item weight="200">
|
<item weight="200">
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
|
||||||
<construction skill="weaponsmithing" minskill="3">
|
<construction skill="weaponsmithing" minskill="3">
|
||||||
<requirement type="log" quantity="2"/>
|
<requirement type="log" quantity="2"/>
|
||||||
<requirement type="iron" quantity="1"/>
|
<requirement type="iron" quantity="1"/>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="lance">
|
<resource name="lance">
|
||||||
<item weight="200">
|
<item weight="200">
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
|
||||||
<construction skill="weaponsmithing" minskill="2">
|
<construction skill="weaponsmithing" minskill="2">
|
||||||
<requirement type="log" quantity="2"/>
|
<requirement type="log" quantity="2"/>
|
||||||
</construction>
|
</construction>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="mallornlance">
|
<resource name="mallornlance">
|
||||||
<item weight="100">
|
<item weight="100">
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
|
||||||
<construction skill="weaponsmithing" minskill="5">
|
<construction skill="weaponsmithing" minskill="5">
|
||||||
<requirement type="mallorn" quantity="2"/>
|
<requirement type="mallorn" quantity="2"/>
|
||||||
</construction>
|
</construction>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="rustyaxe">
|
<resource name="rustyaxe">
|
||||||
<item weight="200">
|
<item weight="200">
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
|
||||||
<construction skill="weaponsmithing" minskill="3">
|
<construction skill="weaponsmithing" minskill="3">
|
||||||
<requirement type="log" quantity="1"/>
|
<requirement type="log" quantity="1"/>
|
||||||
<requirement type="iron" quantity="1"/>
|
<requirement type="iron" quantity="1"/>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="rustyhalberd">
|
<resource name="rustyhalberd">
|
||||||
<item weight="200" score="20">
|
<item weight="200" score="20">
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
|
||||||
<construction skill="weaponsmithing" minskill="3">
|
<construction skill="weaponsmithing" minskill="3">
|
||||||
<requirement type="iron" quantity="1"/>
|
<requirement type="iron" quantity="1"/>
|
||||||
<requirement type="log" quantity="1"/>
|
<requirement type="log" quantity="1"/>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="plate">
|
<resource name="plate">
|
||||||
<item weight="400" score="150">
|
<item weight="400" score="150" deny="goblin">
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
|
||||||
<construction skill="armorer" minskill="4">
|
<construction skill="armorer" minskill="4">
|
||||||
<requirement type="iron" quantity="4"/>
|
<requirement type="iron" quantity="4"/>
|
||||||
</construction>
|
</construction>
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="scale">
|
<resource name="scale">
|
||||||
<item weight="300" score="150">
|
<modifier type="require" race="dwarf"/>
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
<modifier type="require" race="irongolem"/>
|
||||||
|
<item weight="300" score="150" allow="dwarf halfling">
|
||||||
<construction skill="armorer" minskill="5">
|
<construction skill="armorer" minskill="5">
|
||||||
<modifier function="mod_dwarves_only"/>
|
|
||||||
<requirement type="iron" quantity="2"/>
|
<requirement type="iron" quantity="2"/>
|
||||||
</construction>
|
</construction>
|
||||||
<armor ac="3" penalty="0.10" projectile="0.05" magres="0.0"/>
|
<armor ac="3" penalty="0.10" projectile="0.05" magres="0.0"/>
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="towershield">
|
<resource name="towershield">
|
||||||
<item weight="200" score="60">
|
<modifier type="require" race="dwarf"/>
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
<modifier type="require" race="irongolem"/>
|
||||||
|
<item weight="200" score="60" allow="dwarf">
|
||||||
<construction skill="armorer" minskill="4">
|
<construction skill="armorer" minskill="4">
|
||||||
<modifier function="mod_dwarves_only"/>
|
|
||||||
<requirement type="iron" quantity="1"/>
|
<requirement type="iron" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
<armor ac="0" penalty="-0.15" projectile="0.25" magres="0.0" shield="yes">
|
<armor ac="0" penalty="-0.15" projectile="0.25" magres="0.0" shield="yes">
|
||||||
|
|
|
@ -3,16 +3,14 @@
|
||||||
|
|
||||||
<xi:include href="config://default/buildings/castle-2.xml" />
|
<xi:include href="config://default/buildings/castle-2.xml" />
|
||||||
|
|
||||||
<building name="watch" maxsize="10" capacity="1" fort="yes">
|
<building name="watch" maxsize="10" capacity="1" fort="yes" taxes="200">
|
||||||
<function name="name" value="fort_name"/>
|
<construction skill="building" minskill="1" maxsize="5" name="scaffolding">
|
||||||
<function name="taxes" value="lua_building_taxes"/>
|
|
||||||
<construction skill="building" minskill="1" maxsize="5">
|
|
||||||
<requirement type="log" quantity="1"/>
|
<requirement type="log" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
<construction skill="building" minskill="2" maxsize="5">
|
<construction skill="building" minskill="2" maxsize="5" name="guardhouse">
|
||||||
<requirement type="log" quantity="1"/>
|
<requirement type="log" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
<construction skill="building" minskill="2">
|
<construction skill="building" minskill="2" name="guardtower">
|
||||||
<requirement type="log" quantity="1"/>
|
<requirement type="log" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
</building>
|
</building>
|
||||||
|
|
|
@ -7,83 +7,72 @@
|
||||||
|
|
||||||
<resource name="ointment" appearance="vial">
|
<resource name="ointment" appearance="vial">
|
||||||
<!-- Wundsalbe -->
|
<!-- Wundsalbe -->
|
||||||
<item weight="0" score="60">
|
<item weight="0" score="60" use="yes">
|
||||||
<function name="use" value="usehealingpotion"/>
|
|
||||||
<potion level="2"/>
|
<potion level="2"/>
|
||||||
</item>
|
</item>
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="p13" appearance="vial">
|
<resource name="p13" appearance="vial">
|
||||||
<!-- Elixier der Macht -->
|
<!-- Elixier der Macht -->
|
||||||
<item weight="0" score="120">
|
<item weight="0" score="120" use="yes">
|
||||||
<function name="use" value="usepotion"/>
|
|
||||||
<potion level="4"/>
|
<potion level="4"/>
|
||||||
</item>
|
</item>
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="p3" appearance="vial">
|
<resource name="p3" appearance="vial">
|
||||||
<!-- Schaffenstrunk -->
|
<!-- Schaffenstrunk -->
|
||||||
<item weight="0" score="60">
|
<item weight="0" score="60" use ="yes">
|
||||||
<function name="use" value="usepotion"/>
|
|
||||||
<potion level="2"/>
|
<potion level="2"/>
|
||||||
</item>
|
</item>
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="p14" appearance="vial">
|
<resource name="p14" appearance="vial">
|
||||||
<!-- Heiltrank -->
|
<!-- Heiltrank -->
|
||||||
<item weight="0" score="120">
|
<item weight="0" score="120" use="yes">
|
||||||
<function name="use" value="usepotion"/>
|
|
||||||
<potion level="4"/>
|
<potion level="4"/>
|
||||||
</item>
|
</item>
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="p0" appearance="vial">
|
<resource name="p0" appearance="vial">
|
||||||
<!-- Siebenmeilentee -->
|
<!-- Siebenmeilentee -->
|
||||||
<item weight="0" score="30">
|
<item weight="0" score="30" use="yes">
|
||||||
<function name="use" value="usepotion"/>
|
|
||||||
<potion level="1"/>
|
<potion level="1"/>
|
||||||
</item>
|
</item>
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="p2" appearance="vial">
|
<resource name="p2" appearance="vial">
|
||||||
<!-- Wasser des Lebens -->
|
<!-- Wasser des Lebens -->
|
||||||
<item weight="0" score="30">
|
<item weight="0" score="30" use="yes">
|
||||||
<function name="use" value="usepotion_delayed"/>
|
|
||||||
<potion level="1"/>
|
<potion level="1"/>
|
||||||
</item>
|
</item>
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="peasantblood" appearance="vial">
|
<resource name="peasantblood" appearance="vial">
|
||||||
<!-- Bauernblut -->
|
<!-- Bauernblut -->
|
||||||
<item weight="0" score="60">
|
<item weight="0" score="60" use="yes">
|
||||||
<function name="use" value="usebloodpotion"/>
|
|
||||||
<potion level="2"/>
|
<potion level="2"/>
|
||||||
</item>
|
</item>
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="p9" appearance="vial">
|
<resource name="p9" appearance="vial">
|
||||||
<!-- Pferdeglück -->
|
<!-- Pferdeglück -->
|
||||||
<item weight="0" score="90">
|
<item weight="0" score="90" use="yes">
|
||||||
<function name="use" value="usepotion"/>
|
|
||||||
<potion level="3"/>
|
<potion level="3"/>
|
||||||
</item>
|
</item>
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="charger">
|
<resource name="charger">
|
||||||
<item big="yes" weight="5000" score="10" capacity="7000" animal="yes">
|
<item big="yes" weight="5000" score="20" capacity="7000" animal="yes">
|
||||||
<construction skill="training" minskill="4">
|
<construction skill="training" minskill="4">
|
||||||
<requirement type="money" quantity="200"/>
|
<requirement type="money" quantity="200"/>
|
||||||
<requirement type="iron" quantity="1"/>
|
<requirement type="iron" quantity="1"/>
|
||||||
<requirement type="horse" quantity="1"/>
|
<requirement type="horse" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
||||||
<function name="give" value="givehorses"/>
|
|
||||||
</item>
|
</item>
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="xmastree">
|
<resource name="xmastree">
|
||||||
<item weight="0">
|
<item weight="0" use="yes" />
|
||||||
<function name="use" value="lua_useitem"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -71,7 +71,11 @@
|
||||||
<familiar race="ghost"/>
|
<familiar race="ghost"/>
|
||||||
</race>
|
</race>
|
||||||
|
|
||||||
<race name="halfling" defensemodifier="1" magres="5" maxaura="1.0" regaura="1.0" recruitcost="100" maintenance="10" weight="1000" capacity="540" speed="1.0" hp="20" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
|
<race name="halfling" defensemodifier="1" magres="5" maxaura="1.0"
|
||||||
|
regaura="1.0" recruitcost="100" maintenance="10" weight="1000"
|
||||||
|
capacity="540" speed="1.0" hp="20" damage="1d5" unarmedattack="-2"
|
||||||
|
unarmeddefense="-2" playerrace="yes" walk="yes" giveperson="yes"
|
||||||
|
giveunit="yes" getitem="yes" equipment="yes">
|
||||||
<ai splitsize="10000" moverandom="yes" learn="yes"/>
|
<ai splitsize="10000" moverandom="yes" learn="yes"/>
|
||||||
<param name="other_race" value="dwarf"/>
|
<param name="other_race" value="dwarf"/>
|
||||||
<param name="luxury_trade" value="600"/>
|
<param name="luxury_trade" value="600"/>
|
||||||
|
@ -116,7 +120,11 @@
|
||||||
<familiar race="ghost"/>
|
<familiar race="ghost"/>
|
||||||
</race>
|
</race>
|
||||||
|
|
||||||
<race name="elf" magres="10" maxaura="1.0" regaura="1.1" recruitcost="200" maintenance="10" weight="1000" capacity="540" speed="1.0" hp="20" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
|
<race name="elf" magres="10" maxaura="1.0" regaura="1.1"
|
||||||
|
recruitcost="200" maintenance="10" weight="1000" capacity="540"
|
||||||
|
speed="1.0" hp="20" damage="1d5" unarmedattack="-2"
|
||||||
|
unarmeddefense="-2" playerrace="yes" walk="yes" giveperson="yes"
|
||||||
|
giveunit="yes" getitem="yes" equipment="yes" >
|
||||||
<ai splitsize="10000" moverandom="yes" learn="yes"/>
|
<ai splitsize="10000" moverandom="yes" learn="yes"/>
|
||||||
<skill name="armorer" modifier="-1"/>
|
<skill name="armorer" modifier="-1"/>
|
||||||
<skill name="bow" modifier="2"/>
|
<skill name="bow" modifier="2"/>
|
||||||
|
@ -156,7 +164,11 @@
|
||||||
<familiar race="rat"/>
|
<familiar race="rat"/>
|
||||||
</race>
|
</race>
|
||||||
|
|
||||||
<race name="dwarf" magres="5" maxaura="1.0" regaura="0.9" recruitcost="240" maintenance="10" weight="1000" capacity="540" speed="1.0" hp="20" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
|
<race name="dwarf" magres="5" maxaura="1.0" regaura="0.9"
|
||||||
|
recruitcost="240" maintenance="10" weight="1000" capacity="540"
|
||||||
|
speed="1.0" hp="20" damage="1d5" unarmedattack="-2"
|
||||||
|
unarmeddefense="-2" playerrace="yes" walk="yes" giveperson="yes"
|
||||||
|
giveunit="yes" getitem="yes" equipment="yes">
|
||||||
<ai splitsize="10000" moverandom="yes" learn="yes"/>
|
<ai splitsize="10000" moverandom="yes" learn="yes"/>
|
||||||
<skill name="armorer" modifier="2"/>
|
<skill name="armorer" modifier="2"/>
|
||||||
<skill name="bow" modifier="-1"/>
|
<skill name="bow" modifier="-1"/>
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="iron" limited="yes" material="yes">
|
<resource name="iron" limited="yes" material="yes">
|
||||||
<item weight="500" score="10">
|
<item weight="500" score="10">
|
||||||
<construction skill="mining" minskill="1"/>
|
<construction skill="mining" minskill="1"/>
|
||||||
</item>
|
</item>
|
||||||
<resourcelimit>
|
<modifier building="smithy" type="save" value="2"/>
|
||||||
<modifier building="mine" type="skill" value="1"/>
|
<modifier building="mine" type="skill" value="1"/>
|
||||||
<modifier building="mine" type="material" value="0.5"/>
|
<modifier building="mine" type="material" value="0.5"/>
|
||||||
</resourcelimit>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="stone" limited="yes" material="yes">
|
<resource name="stone" limited="yes" material="yes">
|
||||||
<item weight="6000" score="10" big="yes">
|
<item weight="6000" score="10" big="yes">
|
||||||
<construction skill="quarrying" minskill="1"/>
|
<construction skill="quarrying" minskill="1"/>
|
||||||
</item>
|
</item>
|
||||||
<resourcelimit>
|
|
||||||
<modifier building="quarry" type="skill" value="1"/>
|
<modifier building="quarry" type="skill" value="1"/>
|
||||||
<modifier building="quarry" type="material" value="0.5"/>
|
<modifier building="quarry" type="material" value="0.5"/>
|
||||||
</resourcelimit>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
|
@ -10,14 +10,12 @@
|
||||||
|
|
||||||
<!-- shared spells -->
|
<!-- shared spells -->
|
||||||
<spell name="create_roi" ship="true" rank="5" index="130">
|
<spell name="create_roi" ship="true" rank="5" index="130">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="50" cost="fixed"/>
|
<resource name="aura" amount="50" cost="fixed"/>
|
||||||
<resource name="money" amount="3000" cost="fixed"/>
|
<resource name="money" amount="3000" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_aots" ship="true" rank="5" index="125">
|
<spell name="create_aots" ship="true" rank="5" index="125">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="50" cost="fixed"/>
|
<resource name="aura" amount="50" cost="fixed"/>
|
||||||
<resource name="money" amount="3000" cost="fixed"/>
|
<resource name="money" amount="3000" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
|
@ -39,7 +37,6 @@
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="earn_silver#illaun" ship="true" variable="true" rank="5" index="159">
|
<spell name="earn_silver#illaun" ship="true" variable="true" rank="5" index="159">
|
||||||
<!-- Wahrsagen -->
|
<!-- Wahrsagen -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="1" cost="level"/>
|
<resource name="aura" amount="1" cost="level"/>
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="flee" rank="5" index="20" variable="true" combat="1">
|
<spell name="flee" rank="5" index="20" variable="true" combat="1">
|
||||||
|
@ -106,7 +103,6 @@
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="create_dreameye" ship="true" rank="5" index="149">
|
<spell name="create_dreameye" ship="true" rank="5" index="149">
|
||||||
<!-- Erschaffe ein Traumauge -->
|
<!-- Erschaffe ein Traumauge -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="dragonhead" amount="1" cost="fixed"/>
|
<resource name="dragonhead" amount="1" cost="fixed"/>
|
||||||
<resource name="permaura" amount="5" cost="fixed"/>
|
<resource name="permaura" amount="5" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
@ -119,7 +115,6 @@
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="earn_silver#draig" ship="true" variable="true" rank="5" index="159">
|
<spell name="earn_silver#draig" ship="true" variable="true" rank="5" index="159">
|
||||||
<!-- Kleine Flüche -->
|
<!-- Kleine Flüche -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="1" cost="level"/>
|
<resource name="aura" amount="1" cost="level"/>
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="fireball" rank="5" index="4" variable="true" combat="2">
|
<spell name="fireball" rank="5" index="4" variable="true" combat="2">
|
||||||
|
@ -189,7 +184,6 @@
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="create_firesword" ship="true" rank="5" index="148">
|
<spell name="create_firesword" ship="true" rank="5" index="148">
|
||||||
<!-- Erschaffe ein Flammenschwert -->
|
<!-- Erschaffe ein Flammenschwert -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="100" cost="fixed"/>
|
<resource name="aura" amount="100" cost="fixed"/>
|
||||||
<resource name="oil" amount="10" cost="fixed"/>
|
<resource name="oil" amount="10" cost="fixed"/>
|
||||||
<resource name="sword" amount="1" cost="fixed"/>
|
<resource name="sword" amount="1" cost="fixed"/>
|
||||||
|
@ -205,7 +199,6 @@
|
||||||
<!-- new cerddor -->
|
<!-- new cerddor -->
|
||||||
<spell name="earn_silver#cerddor" ship="true" variable="true" rank="5" index="159">
|
<spell name="earn_silver#cerddor" ship="true" variable="true" rank="5" index="159">
|
||||||
<!-- Gaukeleien -->
|
<!-- Gaukeleien -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="1" cost="level"/>
|
<resource name="aura" amount="1" cost="level"/>
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="song_of_healing" rank="5" index="10" variable="true" combat="3">
|
<spell name="song_of_healing" rank="5" index="10" variable="true" combat="3">
|
||||||
|
@ -269,7 +262,6 @@
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="create_roqf" ship="true" rank="5" index="63">
|
<spell name="create_roqf" ship="true" rank="5" index="63">
|
||||||
<!-- Miriams flinke Finger -->
|
<!-- Miriams flinke Finger -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="20" cost="fixed"/>
|
<resource name="aura" amount="20" cost="fixed"/>
|
||||||
<resource name="money" amount="1000" cost="fixed"/>
|
<resource name="money" amount="1000" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
|
@ -304,12 +296,11 @@
|
||||||
<!-- new gwyrrd -->
|
<!-- new gwyrrd -->
|
||||||
<spell name="blessedharvest" rank="5" index="25" ship="true" far="true" variable="true">
|
<spell name="blessedharvest" rank="5" index="25" ship="true" far="true" variable="true">
|
||||||
<!-- Segen der Erde -->
|
<!-- Segen der Erde -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
<function name="cast" value="cast_blessedharvest"/>
|
||||||
<resource name="aura" amount="1" cost="level"/>
|
<resource name="aura" amount="1" cost="level"/>
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="earn_silver#gwyrrd" ship="true" variable="true" rank="5" index="159">
|
<spell name="earn_silver#gwyrrd" ship="true" variable="true" rank="5" index="159">
|
||||||
<!-- Viehheilung -->
|
<!-- Viehheilung -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="1" cost="level"/>
|
<resource name="aura" amount="1" cost="level"/>
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="stonegolem" rank="4" index="32" variable="true">
|
<spell name="stonegolem" rank="4" index="32" variable="true">
|
||||||
|
@ -394,21 +385,18 @@
|
||||||
<!-- new tybied - spells known to all schools -->
|
<!-- new tybied - spells known to all schools -->
|
||||||
<spell name="create_potion_p2" ship="true" rank="5" variable="true">
|
<spell name="create_potion_p2" ship="true" rank="5" variable="true">
|
||||||
<!-- Wasser des Lebens -->
|
<!-- Wasser des Lebens -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="2" cost="linear"/>
|
<resource name="aura" amount="2" cost="linear"/>
|
||||||
<resource name="h4" amount="1" cost="linear"/><!-- Baumringel -->
|
<resource name="h4" amount="1" cost="linear"/><!-- Baumringel -->
|
||||||
<resource name="h6" amount="1" cost="linear"/><!-- Gurgelkraut -->
|
<resource name="h6" amount="1" cost="linear"/><!-- Gurgelkraut -->
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="create_potion_p0" ship="true" rank="5" variable="true">
|
<spell name="create_potion_p0" ship="true" rank="5" variable="true">
|
||||||
<!-- Siebenmeilentee -->
|
<!-- Siebenmeilentee -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="2" cost="linear"/>
|
<resource name="aura" amount="2" cost="linear"/>
|
||||||
<resource name="h12" amount="1" cost="linear"/><!-- Windbeutel -->
|
<resource name="h12" amount="1" cost="linear"/><!-- Windbeutel -->
|
||||||
<resource name="h17" amount="1" cost="linear"/><!-- Höhlenglimm -->
|
<resource name="h17" amount="1" cost="linear"/><!-- Höhlenglimm -->
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="create_potion_p9" ship="true" rank="5" variable="true">
|
<spell name="create_potion_p9" ship="true" rank="5" variable="true">
|
||||||
<!-- Pferdeglück -->
|
<!-- Pferdeglück -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="3" cost="linear"/>
|
<resource name="aura" amount="3" cost="linear"/>
|
||||||
<resource name="h0" amount="1" cost="linear"/><!-- Flachwurz -->
|
<resource name="h0" amount="1" cost="linear"/><!-- Flachwurz -->
|
||||||
<resource name="h8" amount="1" cost="linear"/><!-- Blasenmorchel -->
|
<resource name="h8" amount="1" cost="linear"/><!-- Blasenmorchel -->
|
||||||
|
@ -416,7 +404,6 @@
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="create_potion_peasantblood" ship="true" rank="5" variable="true">
|
<spell name="create_potion_peasantblood" ship="true" rank="5" variable="true">
|
||||||
<!-- Bauernblut -->
|
<!-- Bauernblut -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="3" cost="linear"/>
|
<resource name="aura" amount="3" cost="linear"/>
|
||||||
<resource name="h14" amount="1" cost="linear"/><!-- Alraune -->
|
<resource name="h14" amount="1" cost="linear"/><!-- Alraune -->
|
||||||
<resource name="h6" amount="1" cost="linear"/><!-- Gurgelkraut -->
|
<resource name="h6" amount="1" cost="linear"/><!-- Gurgelkraut -->
|
||||||
|
@ -426,7 +413,6 @@
|
||||||
|
|
||||||
<spell name="create_potion_ointment" ship="true" rank="5" variable="true">
|
<spell name="create_potion_ointment" ship="true" rank="5" variable="true">
|
||||||
<!-- Wundsalbe -->
|
<!-- Wundsalbe -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="4" cost="linear"/>
|
<resource name="aura" amount="4" cost="linear"/>
|
||||||
<resource name="h4" amount="1" cost="linear"/><!-- Baumringel -->
|
<resource name="h4" amount="1" cost="linear"/><!-- Baumringel -->
|
||||||
<resource name="h15" amount="1" cost="linear"/><!-- Steinbeißer -->
|
<resource name="h15" amount="1" cost="linear"/><!-- Steinbeißer -->
|
||||||
|
@ -435,7 +421,6 @@
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="create_potion_p3" ship="true" rank="5" variable="true">
|
<spell name="create_potion_p3" ship="true" rank="5" variable="true">
|
||||||
<!-- Schaffenstrunk -->
|
<!-- Schaffenstrunk -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="4" cost="linear"/>
|
<resource name="aura" amount="4" cost="linear"/>
|
||||||
<resource name="h12" amount="1" cost="linear"/><!-- Windbeutel -->
|
<resource name="h12" amount="1" cost="linear"/><!-- Windbeutel -->
|
||||||
<resource name="h6" amount="1" cost="linear"/><!-- Gurgelkraut -->
|
<resource name="h6" amount="1" cost="linear"/><!-- Gurgelkraut -->
|
||||||
|
@ -444,7 +429,6 @@
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="create_potion_p14" ship="true" rank="5" variable="true">
|
<spell name="create_potion_p14" ship="true" rank="5" variable="true">
|
||||||
<!-- Heiltrank -->
|
<!-- Heiltrank -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="5" cost="linear"/>
|
<resource name="aura" amount="5" cost="linear"/>
|
||||||
<resource name="h0" amount="1" cost="linear"/><!-- Flachwurz -->
|
<resource name="h0" amount="1" cost="linear"/><!-- Flachwurz -->
|
||||||
<resource name="h8" amount="1" cost="linear"/><!-- Blasenmorchel -->
|
<resource name="h8" amount="1" cost="linear"/><!-- Blasenmorchel -->
|
||||||
|
@ -454,7 +438,6 @@
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="create_potion_p13" ship="true" rank="5" variable="true">
|
<spell name="create_potion_p13" ship="true" rank="5" variable="true">
|
||||||
<!-- Elixier der Macht -->
|
<!-- Elixier der Macht -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="5" cost="linear"/>
|
<resource name="aura" amount="5" cost="linear"/>
|
||||||
<resource name="h14" amount="1" cost="linear"/><!-- Alraune -->
|
<resource name="h14" amount="1" cost="linear"/><!-- Alraune -->
|
||||||
<resource name="h8" amount="1" cost="linear"/><!-- Blasenmorchel -->
|
<resource name="h8" amount="1" cost="linear"/><!-- Blasenmorchel -->
|
||||||
|
@ -472,39 +455,33 @@
|
||||||
|
|
||||||
<!-- common spells: randomly given, one per level -->
|
<!-- common spells: randomly given, one per level -->
|
||||||
<spell name="create_trollbelt" ship="true" rank="5" index="48">
|
<spell name="create_trollbelt" ship="true" rank="5" index="48">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="20" cost="fixed"/>
|
<resource name="aura" amount="20" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_antimagic" ship="true" rank="5" index="38">
|
<spell name="create_antimagic" ship="true" rank="5" index="38">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="50" cost="fixed"/>
|
<resource name="aura" amount="50" cost="fixed"/>
|
||||||
<resource name="money" amount="3000" cost="fixed"/>
|
<resource name="money" amount="3000" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_rop" ship="true" rank="5" index="1">
|
<spell name="create_rop" ship="true" rank="5" index="1">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="100" cost="fixed"/>
|
<resource name="aura" amount="100" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
<resource name="money" amount="4000" cost="fixed"/>
|
<resource name="money" amount="4000" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_bagofholding" ship="true" rank="5" index="155">
|
<spell name="create_bagofholding" ship="true" rank="5" index="155">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="30" cost="fixed"/>
|
<resource name="aura" amount="30" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
<resource name="money" amount="5000" cost="fixed"/>
|
<resource name="money" amount="5000" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_focus" ship="true" rank="5" index="2">
|
<spell name="create_focus" ship="true" rank="5" index="2">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="100" cost="fixed"/>
|
<resource name="aura" amount="100" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_ror" ship="true" rank="5" index="3">
|
<spell name="create_ror" ship="true" rank="5" index="3">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="100" cost="fixed"/>
|
<resource name="aura" amount="100" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
@ -518,7 +495,7 @@
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="raindance" rank="5" index="26" ship="true" far="true" variable="true">
|
<spell name="raindance" rank="5" index="26" ship="true" far="true" variable="true">
|
||||||
<!-- Regentanz -->
|
<!-- Regentanz -->
|
||||||
<function name="cast" value="lua_castspell"/>
|
<function name="cast" value="cast_blessedharvest"/>
|
||||||
<resource name="aura" amount="1" cost="level"/>
|
<resource name="aura" amount="1" cost="level"/>
|
||||||
</spell>
|
</spell>
|
||||||
<spell name="irongolem" rank="4" index="33" variable="true">
|
<spell name="irongolem" rank="4" index="33" variable="true">
|
||||||
|
|
|
@ -38,12 +38,6 @@
|
||||||
<text locale="en">adamantium plates</text>
|
<text locale="en">adamantium plates</text>
|
||||||
</string>
|
</string>
|
||||||
|
|
||||||
<!--Fort-Ausbaustufen -->
|
|
||||||
<string name="calendar::thirdage">
|
|
||||||
<text locale="de">des dritten Zeitalters</text>
|
|
||||||
<text locale="en">the third age</text>
|
|
||||||
</string>
|
|
||||||
|
|
||||||
<string name="packice">
|
<string name="packice">
|
||||||
<text locale="de">Packeis</text>
|
<text locale="de">Packeis</text>
|
||||||
<text locale="en">fast ice</text>
|
<text locale="en">fast ice</text>
|
||||||
|
@ -87,6 +81,7 @@
|
||||||
<text locale="en">repeating crossbows</text>
|
<text locale="en">repeating crossbows</text>
|
||||||
</string>
|
</string>
|
||||||
|
|
||||||
|
<!--Fort-Ausbaustufen -->
|
||||||
<string name="scaffolding">
|
<string name="scaffolding">
|
||||||
<text locale="de">Gerüst</text>
|
<text locale="de">Gerüst</text>
|
||||||
<text locale="en">scaffolding</text>
|
<text locale="en">scaffolding</text>
|
||||||
|
@ -103,6 +98,7 @@
|
||||||
<text locale="de">Wache</text>
|
<text locale="de">Wache</text>
|
||||||
<text locale="en">watch</text>
|
<text locale="en">watch</text>
|
||||||
</string>
|
</string>
|
||||||
|
|
||||||
<string name="market">
|
<string name="market">
|
||||||
<text locale="de">Marktplatz</text>
|
<text locale="de">Marktplatz</text>
|
||||||
<text locale="en">marketplace</text>
|
<text locale="en">marketplace</text>
|
||||||
|
@ -210,7 +206,7 @@
|
||||||
<string name="concealing_aura">
|
<string name="concealing_aura">
|
||||||
<text locale="de">Dieser Zauber wird die gesamte Ausrüstung der Zieleinheit für einige Zeit vor den Blicken anderer verschleiern. Der Zauber schützt nicht vor Dieben und Spionen.</text>
|
<text locale="de">Dieser Zauber wird die gesamte Ausrüstung der Zieleinheit für einige Zeit vor den Blicken anderer verschleiern. Der Zauber schützt nicht vor Dieben und Spionen.</text>
|
||||||
<text locale="en">This spell will hide the whole equipment of a target unit from the looks of others. It will not protect against thieves or spies.</text>
|
<text locale="en">This spell will hide the whole equipment of a target unit from the looks of others. It will not protect against thieves or spies.</text>
|
||||||
</string>
|
</string>
|
||||||
<string name="raindance">
|
<string name="raindance">
|
||||||
<text locale="de">Durch dieses uralte Tanzritual ruft der Zauberkundige die Kräfte des Lebens und der Fruchtbarkeit an. Die darauf folgenden Regenfälle begünstigen das Wachstum und erhöhen die Ernteerträge einiger Bauern der Region bis der Regen wieder nachlässt.</text>
|
<text locale="de">Durch dieses uralte Tanzritual ruft der Zauberkundige die Kräfte des Lebens und der Fruchtbarkeit an. Die darauf folgenden Regenfälle begünstigen das Wachstum und erhöhen die Ernteerträge einiger Bauern der Region bis der Regen wieder nachlässt.</text>
|
||||||
<text locale="en">This ancient rite calls upon the forces of life and fertility. For the next few weeks, the peasants' harvest will be extraordinary good.</text>
|
<text locale="en">This ancient rite calls upon the forces of life and fertility. For the next few weeks, the peasants' harvest will be extraordinary good.</text>
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resources xmlns:xi="http://www.w3.org/2001/XInclude">
|
<resources xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||||
<xi:include href="config://core/weapons/axe.xml"/>
|
|
||||||
<xi:include href="config://core/weapons/bow.xml"/>
|
<xi:include href="config://core/weapons/bow.xml"/>
|
||||||
<xi:include href="config://core/weapons/catapult.xml"/>
|
<xi:include href="config://core/weapons/catapult.xml"/>
|
||||||
<xi:include href="config://core/weapons/lance.xml"/>
|
|
||||||
<xi:include href="config://core/weapons/mallornbow.xml"/>
|
<xi:include href="config://core/weapons/mallornbow.xml"/>
|
||||||
<xi:include href="config://core/weapons/mallornspear.xml"/>
|
<xi:include href="config://core/weapons/mallornspear.xml"/>
|
||||||
<xi:include href="config://core/weapons/rep_crossbow.xml"/>
|
|
||||||
<xi:include href="config://core/weapons/runesword.xml"/>
|
<xi:include href="config://core/weapons/runesword.xml"/>
|
||||||
<xi:include href="config://core/weapons/rustyaxe.xml"/>
|
<xi:include href="config://core/weapons/rustyaxe.xml"/>
|
||||||
<xi:include href="config://core/weapons/rustysword.xml"/>
|
<xi:include href="config://core/weapons/rustysword.xml"/>
|
||||||
<xi:include href="config://core/weapons/spear.xml"/>
|
<xi:include href="config://core/weapons/spear.xml"/>
|
||||||
<xi:include href="config://core/weapons/sword.xml"/>
|
<xi:include href="config://core/weapons/sword.xml"/>
|
||||||
<xi:include href="config://core/weapons/firesword.xml"/>
|
<xi:include href="config://core/weapons/firesword.xml"/>
|
||||||
|
<xi:include href="config://game/weapons/rep_crossbow.xml"/>
|
||||||
|
<xi:include href="config://game/weapons/lance.xml"/>
|
||||||
|
<xi:include href="config://game/weapons/axe.xml"/>
|
||||||
<xi:include href="config://game/weapons/crossbow.xml"/>
|
<xi:include href="config://game/weapons/crossbow.xml"/>
|
||||||
<xi:include href="config://game/weapons/greatbow.xml"/>
|
<xi:include href="config://game/weapons/greatbow.xml"/>
|
||||||
<xi:include href="config://game/weapons/greatsword.xml"/>
|
<xi:include href="config://game/weapons/greatsword.xml"/>
|
||||||
|
|
13
res/e3a/weapons/axe.xml
Normal file
13
res/e3a/weapons/axe.xml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<resource name="axe">
|
||||||
|
<item weight="200" deny="goblin">
|
||||||
|
<construction skill="weaponsmithing" minskill="3">
|
||||||
|
<requirement type="log" quantity="1"/>
|
||||||
|
<requirement type="iron" quantity="1"/>
|
||||||
|
</construction>
|
||||||
|
<weapon cut="true" skill="melee" offmod="1" defmod="-2">
|
||||||
|
<damage type="rider" value="2d6+4"/>
|
||||||
|
<damage type="footman" value="2d6+4"/>
|
||||||
|
</weapon>
|
||||||
|
</item>
|
||||||
|
</resource>
|
|
@ -4,10 +4,9 @@
|
||||||
* has lower damage
|
* has lower damage
|
||||||
-->
|
-->
|
||||||
<resource name="greatbow">
|
<resource name="greatbow">
|
||||||
<item weight="100">
|
<modifier type="require" race="elf"/>
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
<item weight="100" allow="elf">
|
||||||
<construction skill="weaponsmithing" minskill="5">
|
<construction skill="weaponsmithing" minskill="5">
|
||||||
<modifier function="mod_elves_only"/>
|
|
||||||
<requirement type="mallorn" quantity="2"/>
|
<requirement type="mallorn" quantity="2"/>
|
||||||
</construction>
|
</construction>
|
||||||
<weapon pierce="true" missile="true" skill="bow" offmod="0" defmod="0" reload="0" magres="0.0">
|
<weapon pierce="true" missile="true" skill="bow" offmod="0" defmod="0" reload="0" magres="0.0">
|
||||||
|
|
|
@ -3,8 +3,7 @@
|
||||||
1. you cannt use this with cavalry
|
1. you cannt use this with cavalry
|
||||||
-->
|
-->
|
||||||
<resource name="halberd">
|
<resource name="halberd">
|
||||||
<item weight="200">
|
<item weight="200" deny="goblin">
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
|
||||||
<construction skill="weaponsmithing" minskill="3">
|
<construction skill="weaponsmithing" minskill="3">
|
||||||
<requirement type="log" quantity="2"/>
|
<requirement type="log" quantity="2"/>
|
||||||
<requirement type="iron" quantity="1"/>
|
<requirement type="iron" quantity="1"/>
|
||||||
|
|
12
res/e3a/weapons/lance.xml
Normal file
12
res/e3a/weapons/lance.xml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<resource name="lance">
|
||||||
|
<item weight="200" deny="goblin">
|
||||||
|
<construction skill="weaponsmithing" minskill="2">
|
||||||
|
<requirement type="log" quantity="2"/>
|
||||||
|
</construction>
|
||||||
|
<weapon pierce="true" skill="polearm" offmod="0" defmod="-2">
|
||||||
|
<damage type="footman" value="1d5"/>
|
||||||
|
<damage type="rider" value="2d6+5"/>
|
||||||
|
</weapon>
|
||||||
|
</item>
|
||||||
|
</resource>
|
|
@ -1,7 +1,6 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="mallornlance">
|
<resource name="mallornlance">
|
||||||
<item weight="100">
|
<item weight="100" deny="goblin">
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
|
||||||
<construction skill="weaponsmithing" minskill="5">
|
<construction skill="weaponsmithing" minskill="5">
|
||||||
<requirement type="mallorn" quantity="2"/>
|
<requirement type="mallorn" quantity="2"/>
|
||||||
</construction>
|
</construction>
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<resource name="rep_crossbow">
|
<resource name="rep_crossbow">
|
||||||
<item weight="100">
|
<modifier type="require" race="dwarf"/>
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
<item weight="100" allow="dwarf halfling">
|
||||||
<construction skill="weaponsmithing" minskill="5">
|
<construction skill="weaponsmithing" minskill="5">
|
||||||
<modifier function="mod_dwarves_only"/>
|
|
||||||
<requirement type="log" quantity="1"/>
|
<requirement type="log" quantity="1"/>
|
||||||
<requirement type="iron" quantity="1"/>
|
<requirement type="iron" quantity="1"/>
|
||||||
</construction>
|
</construction>
|
|
@ -3,8 +3,7 @@
|
||||||
1. you cannot use this with cavalry
|
1. you cannot use this with cavalry
|
||||||
-->
|
-->
|
||||||
<resource name="rustyhalberd">
|
<resource name="rustyhalberd">
|
||||||
<item weight="200" score="20">
|
<item weight="200" score="20" deny="goblin">
|
||||||
<function name="canuse" value="lua_canuse_item"/>
|
|
||||||
<construction skill="weaponsmithing" minskill="3">
|
<construction skill="weaponsmithing" minskill="3">
|
||||||
<requirement type="iron" quantity="1"/>
|
<requirement type="iron" quantity="1"/>
|
||||||
<requirement type="log" quantity="1"/>
|
<requirement type="log" quantity="1"/>
|
||||||
|
|
|
@ -3,16 +3,12 @@
|
||||||
|
|
||||||
<resource name="aurapotion50">
|
<resource name="aurapotion50">
|
||||||
<function name="change" value="changeitem"/>
|
<function name="change" value="changeitem"/>
|
||||||
<item weight="0">
|
<item weight="0" use="yes" />
|
||||||
<function name="use" value="use_aurapotion50"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="bagpipeoffear">
|
<resource name="bagpipeoffear">
|
||||||
<function name="change" value="changeitem"/>
|
<function name="change" value="changeitem"/>
|
||||||
<item weight="0">
|
<item weight="0" use="yes"/>
|
||||||
<function name="use" value="use_bagpipeoffear"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -17,21 +17,15 @@
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="snowman">
|
<resource name="snowman">
|
||||||
<item notlost="yes" weight="1">
|
<item notlost="yes" weight="1" use="yes" />
|
||||||
<function name="use" value="lua_useitem"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="snowglobe">
|
<resource name="snowglobe">
|
||||||
<item notlost="yes" weight="1">
|
<item notlost="yes" weight="1" use="yes" />
|
||||||
<function name="use" value="lua_useitem"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="ring_of_levitation" appearance="ring">
|
<resource name="ring_of_levitation" appearance="ring">
|
||||||
<item notlost="yes" weight="0" cursed="true">
|
<item notlost="yes" weight="0" cursed="true" use="yes" />
|
||||||
<function name="use" value="lua_useitem"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="birthdaycake">
|
<resource name="birthdaycake">
|
||||||
|
@ -44,52 +38,38 @@
|
||||||
|
|
||||||
<!-- ambassador rewards -->
|
<!-- ambassador rewards -->
|
||||||
<resource name="seashell">
|
<resource name="seashell">
|
||||||
<item cursed="true" weight="0">
|
<item cursed="true" weight="0" use="yes" />
|
||||||
<function name="use" value="lua_useitem"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<!-- xmas 2005 -->
|
<!-- xmas 2005 -->
|
||||||
<resource name="stardust" appearance="vial">
|
<resource name="stardust" appearance="vial">
|
||||||
<item weight="0">
|
<item weight="0" use="yes" />
|
||||||
<function name="use" value="lua_useitem"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<!-- xmas 2006 -->
|
<!-- xmas 2006 -->
|
||||||
<resource name="xmastree">
|
<resource name="xmastree">
|
||||||
<item weight="0">
|
<item weight="0" use="yes" />
|
||||||
<function name="use" value="lua_useitem"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<!-- museum items -->
|
<!-- museum items -->
|
||||||
<resource name="questkey1" appearance="key">
|
<resource name="questkey1" appearance="key">
|
||||||
<!-- Key for an old quest. placeholder item -->
|
<!-- Key for an old quest. placeholder item -->
|
||||||
<item notlost="yes" weight="0" >
|
<item notlost="yes" weight="0" use="yes" />
|
||||||
<function name="use" value="use_museumkey"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="questkey2" appearance="key">
|
<resource name="questkey2" appearance="key">
|
||||||
<!-- Key for an old quest. placeholder item -->
|
<!-- Key for an old quest. placeholder item -->
|
||||||
<item notlost="yes" weight="0" >
|
<item notlost="yes" weight="0" use="yes" />
|
||||||
<function name="use" value="use_museumkey"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="museumexitticket">
|
<resource name="museumexitticket">
|
||||||
<!-- you get your stuff back when leaving the museum -->
|
<!-- you get your stuff back when leaving the museum -->
|
||||||
<item notlost="yes" weight="0">
|
<item notlost="yes" weight="0" use="yes" />
|
||||||
<function name="use" value="use_museumexitticket"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="museumticket">
|
<resource name="museumticket">
|
||||||
<!-- you get your stuff back when leaving the museum -->
|
<!-- you get your stuff back when leaving the museum -->
|
||||||
<item weight="0">
|
<item weight="0" use="yes" />
|
||||||
<function name="use" value="use_museumticket"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<!-- gimmicks, etc. -->
|
<!-- gimmicks, etc. -->
|
||||||
|
@ -98,27 +78,13 @@
|
||||||
<item notlost="yes" cursed="true" weight="0"/>
|
<item notlost="yes" cursed="true" weight="0"/>
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="ao_daemon">
|
<resource name="aoc" appearance="amulet">
|
||||||
<!-- summons igjarjuk -->
|
<item weight="100" use="yes" />
|
||||||
<item weight="0" score="6000" notlost="true" cursed="true">
|
|
||||||
<function name="use" value="useigjarjuk"/>
|
|
||||||
<function name="give" value="giveigjarjuk"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
|
||||||
|
|
||||||
<resource name="griphonwing">
|
|
||||||
<!-- this lets you leave the arena -->
|
|
||||||
<item weight="0" score="6000" notlost="true" cursed="true">
|
|
||||||
<function name="use" value="leave_arena"/>
|
|
||||||
<function name="give" value="giveigjarjuk"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="eyeofdragon">
|
<resource name="eyeofdragon">
|
||||||
<!-- the arena gate, for one-time entry -->
|
<!-- the arena gate, for one-time entry -->
|
||||||
<item weight="0" score="0">
|
<item weight="0" score="0"/>
|
||||||
<function name="use" value="enter_arena"/>
|
|
||||||
</item>
|
|
||||||
</resource>
|
</resource>
|
||||||
|
|
||||||
<resource name="jadee_ring" appearance="ring">
|
<resource name="jadee_ring" appearance="ring">
|
||||||
|
|
|
@ -701,7 +701,7 @@
|
||||||
<attack type="4" damage="2d12"/>
|
<attack type="4" damage="2d12"/>
|
||||||
<attack type="4" damage="2d12"/>
|
<attack type="4" damage="2d12"/>
|
||||||
</race>
|
</race>
|
||||||
<race name="wyrm" magres="90" maxaura="1.000000" regaura="3.000000" weight="18000" capacity="1000000" speed="1.000000" hp="2700" ac="8" damage="2d60" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="10" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" resistbash="yes" unarmedguard="yes">
|
<race name="wyrm" magres="90" maxaura="1.000000" regaura="3.000000" weight="18000" capacity="1000000" speed="1.000000" hp="2700" ac="8" damage="2d60" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="10" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" resistbash="yes" dragon="yes" unarmedguard="yes">
|
||||||
<ai splitsize="1" killpeasants="yes" learn="yes"/>
|
<ai splitsize="1" killpeasants="yes" learn="yes"/>
|
||||||
<skill name="magic" modifier="12"/>
|
<skill name="magic" modifier="12"/>
|
||||||
<skill name="tactics" modifier="12"/>
|
<skill name="tactics" modifier="12"/>
|
||||||
|
|
|
@ -10,14 +10,12 @@
|
||||||
|
|
||||||
<!-- shared spells -->
|
<!-- shared spells -->
|
||||||
<spell name="create_roi" ship="true" rank="5" index="130">
|
<spell name="create_roi" ship="true" rank="5" index="130">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="50" cost="fixed"/>
|
<resource name="aura" amount="50" cost="fixed"/>
|
||||||
<resource name="money" amount="3000" cost="fixed"/>
|
<resource name="money" amount="3000" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_aots" ship="true" rank="5" index="125">
|
<spell name="create_aots" ship="true" rank="5" index="125">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="50" cost="fixed"/>
|
<resource name="aura" amount="50" cost="fixed"/>
|
||||||
<resource name="money" amount="3000" cost="fixed"/>
|
<resource name="money" amount="3000" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
|
@ -494,12 +492,10 @@
|
||||||
|
|
||||||
<!-- draig spells -->
|
<!-- draig spells -->
|
||||||
<spell name="earn_silver#draig" ship="true" variable="true" rank="5" index="159">
|
<spell name="earn_silver#draig" ship="true" variable="true" rank="5" index="159">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="1" cost="level"/>
|
<resource name="aura" amount="1" cost="level"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_firesword" ship="true" rank="5" index="148">
|
<spell name="create_firesword" ship="true" rank="5" index="148">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="100" cost="fixed"/>
|
<resource name="aura" amount="100" cost="fixed"/>
|
||||||
<resource name="p10" amount="1" cost="fixed"/>
|
<resource name="p10" amount="1" cost="fixed"/>
|
||||||
<resource name="sword" amount="1" cost="fixed"/>
|
<resource name="sword" amount="1" cost="fixed"/>
|
||||||
|
@ -507,7 +503,6 @@
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_trollbelt" ship="true" rank="5" index="48">
|
<spell name="create_trollbelt" ship="true" rank="5" index="48">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="20" cost="fixed"/>
|
<resource name="aura" amount="20" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
@ -520,12 +515,10 @@
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="earn_silver#gwyrrd" ship="true" variable="true" rank="5" index="159">
|
<spell name="earn_silver#gwyrrd" ship="true" variable="true" rank="5" index="159">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="1" cost="level"/>
|
<resource name="aura" amount="1" cost="level"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_magicherbbag" ship="true" rank="5" index="165">
|
<spell name="create_magicherbbag" ship="true" rank="5" index="165">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="30" cost="fixed"/>
|
<resource name="aura" amount="30" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
<resource name="p2" amount="1" cost="fixed"/>
|
<resource name="p2" amount="1" cost="fixed"/>
|
||||||
|
@ -533,18 +526,15 @@
|
||||||
|
|
||||||
<!-- illaun spells -->
|
<!-- illaun spells -->
|
||||||
<spell name="earn_silver#illaun" ship="true" variable="true" rank="5" index="159">
|
<spell name="earn_silver#illaun" ship="true" variable="true" rank="5" index="159">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="1" cost="level"/>
|
<resource name="aura" amount="1" cost="level"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_dreameye" ship="true" rank="5" index="149">
|
<spell name="create_dreameye" ship="true" rank="5" index="149">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="dragonhead" amount="1" cost="fixed"/>
|
<resource name="dragonhead" amount="1" cost="fixed"/>
|
||||||
<resource name="permaura" amount="5" cost="fixed"/>
|
<resource name="permaura" amount="5" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_invisibility_sphere" ship="true" rank="5" index="178">
|
<spell name="create_invisibility_sphere" ship="true" rank="5" index="178">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="150" cost="fixed"/>
|
<resource name="aura" amount="150" cost="fixed"/>
|
||||||
<resource name="money" amount="30000" cost="fixed"/>
|
<resource name="money" amount="30000" cost="fixed"/>
|
||||||
<resource name="permaura" amount="3" cost="fixed"/>
|
<resource name="permaura" amount="3" cost="fixed"/>
|
||||||
|
@ -558,12 +548,10 @@
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="earn_silver#cerddor" ship="true" variable="true" rank="5" index="159">
|
<spell name="earn_silver#cerddor" ship="true" variable="true" rank="5" index="159">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="1" cost="level"/>
|
<resource name="aura" amount="1" cost="level"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_roqf" ship="true" rank="5" index="63">
|
<spell name="create_roqf" ship="true" rank="5" index="63">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="20" cost="fixed"/>
|
<resource name="aura" amount="20" cost="fixed"/>
|
||||||
<resource name="money" amount="1000" cost="fixed"/>
|
<resource name="money" amount="1000" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
|
@ -583,25 +571,21 @@
|
||||||
|
|
||||||
<!-- tybied spells -->
|
<!-- tybied spells -->
|
||||||
<spell name="earn_silver#tybied" ship="true" variable="true" rank="5" index="159">
|
<spell name="earn_silver#tybied" ship="true" variable="true" rank="5" index="159">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="1" cost="level"/>
|
<resource name="aura" amount="1" cost="level"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_antimagic" ship="true" rank="5" index="38">
|
<spell name="create_antimagic" ship="true" rank="5" index="38">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="50" cost="fixed"/>
|
<resource name="aura" amount="50" cost="fixed"/>
|
||||||
<resource name="money" amount="3000" cost="fixed"/>
|
<resource name="money" amount="3000" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_rop" ship="true" rank="5" index="1">
|
<spell name="create_rop" ship="true" rank="5" index="1">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="100" cost="fixed"/>
|
<resource name="aura" amount="100" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
<resource name="money" amount="4000" cost="fixed"/>
|
<resource name="money" amount="4000" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_bagofholding" ship="true" rank="5" index="155">
|
<spell name="create_bagofholding" ship="true" rank="5" index="155">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="30" cost="fixed"/>
|
<resource name="aura" amount="30" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
<resource name="money" amount="5000" cost="fixed"/>
|
<resource name="money" amount="5000" cost="fixed"/>
|
||||||
|
@ -609,7 +593,6 @@
|
||||||
|
|
||||||
<!-- gray magic -->
|
<!-- gray magic -->
|
||||||
<spell name="create_runesword" ship="true" rank="5" index="135">
|
<spell name="create_runesword" ship="true" rank="5" index="135">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="100" cost="fixed"/>
|
<resource name="aura" amount="100" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
<resource name="money" amount="1000" cost="fixed"/>
|
<resource name="money" amount="1000" cost="fixed"/>
|
||||||
|
@ -617,20 +600,17 @@
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_chastitybelt" ship="true" rank="5" index="134">
|
<spell name="create_chastitybelt" ship="true" rank="5" index="134">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="50" cost="fixed"/>
|
<resource name="aura" amount="50" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
<resource name="money" amount="3000" cost="fixed"/>
|
<resource name="money" amount="3000" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_focus" ship="true" rank="5" index="2">
|
<spell name="create_focus" ship="true" rank="5" index="2">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="100" cost="fixed"/>
|
<resource name="aura" amount="100" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
||||||
<spell name="create_ror" ship="true" rank="5" index="3">
|
<spell name="create_ror" ship="true" rank="5" index="3">
|
||||||
<function name="cast" value="lua_castspell"/>
|
|
||||||
<resource name="aura" amount="100" cost="fixed"/>
|
<resource name="aura" amount="100" cost="fixed"/>
|
||||||
<resource name="permaura" amount="1" cost="fixed"/>
|
<resource name="permaura" amount="1" cost="fixed"/>
|
||||||
</spell>
|
</spell>
|
||||||
|
|
|
@ -116,18 +116,6 @@
|
||||||
<text locale="de">Eine Geburtstagstorte mit 10 Kerzen. Herzlichen Glückwunsch, Eressea!</text>
|
<text locale="de">Eine Geburtstagstorte mit 10 Kerzen. Herzlichen Glückwunsch, Eressea!</text>
|
||||||
<text locale="en">A birthday cake with 10 candles. Happy Birthday, Eressea!</text>
|
<text locale="en">A birthday cake with 10 candles. Happy Birthday, Eressea!</text>
|
||||||
</string>
|
</string>
|
||||||
<string name="griphonwing">
|
|
||||||
<text locale="de">Dieses Fluggerät aus der Schmiede der Zwerge von Celeband galt wie die
|
|
||||||
'Ebene der Herausforderung' seit Urzeiten als verschollen, ja man
|
|
||||||
zweifelte seine Existenz an. Die Sage überliefert, das derjenige, der
|
|
||||||
sie auf der Spitze des Turmes seiner Gesinnung benutzt, als einziger
|
|
||||||
die 'Ebene der Herausforderungen' verlassen kann.</text>
|
|
||||||
</string>
|
|
||||||
<string name="ao_daemon">
|
|
||||||
<text locale="de">Glückwunsch, mein Kind. Du bist im Besitz des mächtigsten
|
|
||||||
Artefaktes Eresseas. Ein Fluch, sagt man, liege auf ihm, denn
|
|
||||||
niemand hat es bisher lange sein Eigen genannt...</text>
|
|
||||||
</string>
|
|
||||||
<string name="cookie">
|
<string name="cookie">
|
||||||
<text locale="de">Kleines trockenes Dauergebäck, m od. s; - u. -es, - u. -e</text>
|
<text locale="de">Kleines trockenes Dauergebäck, m od. s; - u. -es, - u. -e</text>
|
||||||
</string>
|
</string>
|
||||||
|
@ -374,29 +362,6 @@
|
||||||
</string>
|
</string>
|
||||||
<!-- art rewards end -->
|
<!-- art rewards end -->
|
||||||
|
|
||||||
<!-- igjarjuk queste begin -->
|
|
||||||
<string name="ao_daemon">
|
|
||||||
<text locale="de">Auge des Dämon</text>
|
|
||||||
<text locale="en">eye of the demon</text>
|
|
||||||
<text locale="fr">oeil du démon</text>
|
|
||||||
</string>
|
|
||||||
<string name="ao_daemon_p">
|
|
||||||
<text locale="de">Augen des Dämon</text>
|
|
||||||
<text locale="en">eyes of the demon</text>
|
|
||||||
<text locale="fr">oeil du démon</text>
|
|
||||||
</string>
|
|
||||||
<string name="griphonwing">
|
|
||||||
<text locale="de">Schwinge des Greifen</text>
|
|
||||||
<text locale="en">wing of the gryphon</text>
|
|
||||||
<text locale="fr">aile du griffon</text>
|
|
||||||
</string>
|
|
||||||
<string name="griphonwing_p">
|
|
||||||
<text locale="de">Schwingen des Greifen</text>
|
|
||||||
<text locale="en">wings of the gryphon</text>
|
|
||||||
<text locale="fr">ailes du griffon</text>
|
|
||||||
</string>
|
|
||||||
<!-- igjarjuk queste end -->
|
|
||||||
|
|
||||||
<string name="rm_adamantium">
|
<string name="rm_adamantium">
|
||||||
<text locale="de">Adamantium</text>
|
<text locale="de">Adamantium</text>
|
||||||
<text locale="en">adamantium</text>
|
<text locale="en">adamantium</text>
|
||||||
|
@ -427,5 +392,14 @@
|
||||||
<text locale="de">Adamantiumrüstungen</text>
|
<text locale="de">Adamantiumrüstungen</text>
|
||||||
<text locale="en">adamantium plates</text>
|
<text locale="en">adamantium plates</text>
|
||||||
</string>
|
</string>
|
||||||
|
<string name="aoc">
|
||||||
|
<text locale="de">Katzenamulett</text>
|
||||||
|
<text locale="en">amulet of the kitten</text>
|
||||||
|
<text locale="fr">amulette du chaton</text>
|
||||||
|
</string>
|
||||||
|
<string name="aoc_p">
|
||||||
|
<text locale="en">amulets of the kitten</text>
|
||||||
|
<text locale="de">Katzenamulette</text>
|
||||||
|
<text locale="fr">amulettes du chaton</text>
|
||||||
|
</string>
|
||||||
</strings>
|
</strings>
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
<?xml version="1.0" ?>
|
|
||||||
<races xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
||||||
<xi:include href="races/aquarian.xml"/>
|
|
||||||
<xi:include href="races/cat.xml"/>
|
|
||||||
<xi:include href="races/demon.xml"/>
|
|
||||||
<xi:include href="races/dwarf.xml"/>
|
|
||||||
<xi:include href="races/elf.xml"/>
|
|
||||||
<xi:include href="races/goblin.xml"/>
|
|
||||||
<xi:include href="races/halfling.xml"/>
|
|
||||||
<xi:include href="races/human.xml"/>
|
|
||||||
<xi:include href="races/insect.xml"/>
|
|
||||||
<xi:include href="races/orc.xml"/>
|
|
||||||
<xi:include href="races/troll.xml"/>
|
|
||||||
</races>
|
|
|
@ -1,24 +0,0 @@
|
||||||
<?xml version="1.0" ?>
|
|
||||||
<race name="goblin" magres="-5" maxaura="1.0" regaura="1.0"
|
|
||||||
recruitcost="60" maintenance="6" weight="600" capacity="440"
|
|
||||||
speed="1.0" hp="16" damage="1d5" unarmedattack="-2" unarmeddefense="0"
|
|
||||||
playerrace="yes" walk="yes" giveperson="yes" giveunit="yes"
|
|
||||||
getitem="yes" equipment="yes" healing="2.0">
|
|
||||||
<ai splitsize="10000" moverandom="yes" learn="yes"/>
|
|
||||||
<param name="hunger.damage" value="1d8+7"/>
|
|
||||||
<param name="other_race" value="demon"/>
|
|
||||||
<param name="recruit_multi" value="0.5"/>
|
|
||||||
<skill name="building" modifier="1"/>
|
|
||||||
<skill name="cartmaking" modifier="-1"/>
|
|
||||||
<skill name="catapult" modifier="1"/>
|
|
||||||
<skill name="magic" modifier="-99"/>
|
|
||||||
<skill name="mining" modifier="1"/>
|
|
||||||
<skill name="roadwork" modifier="-2"/>
|
|
||||||
<skill name="sailing" modifier="-2"/>
|
|
||||||
<skill name="shipcraft" modifier="-2"/>
|
|
||||||
<skill name="tactics" modifier="-2"/>
|
|
||||||
<skill name="unarmed" modifier="-99"/>
|
|
||||||
<attack type="1" damage="1d5"/>
|
|
||||||
<familiar race="rat" default="yes"/>
|
|
||||||
<familiar race="imp"/>
|
|
||||||
</race>
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" ?>
|
<?xml version="1.0" ?>
|
||||||
<race name="goblin" magres="-5" maxaura="1.0" regaura="1.0"
|
<race name="goblin" magres="-5" maxaura="1.0"
|
||||||
recruitcost="60" maintenance="6" weight="600" capacity="440"
|
recruitcost="60" maintenance="6" weight="600" capacity="440"
|
||||||
speed="1.0" hp="16" damage="1d5" unarmedattack="-2" unarmeddefense="0"
|
speed="1.0" hp="16" damage="1d5" unarmedattack="-2" unarmeddefense="0"
|
||||||
playerrace="yes" walk="yes" giveperson="yes" giveunit="yes"
|
playerrace="yes" walk="yes" giveperson="yes" giveunit="yes"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" ?>
|
<?xml version="1.0" ?>
|
||||||
<race name="goblin" magres="-5" maxaura="1.000000"
|
<race name="goblin" magres="-5" maxaura="1.000000"
|
||||||
regaura="1.000000" recruitcost="40" maintenance="10" weight="600"
|
recruitcost="40" maintenance="10" weight="600"
|
||||||
capacity="440" speed="1.000000" hp="16" damage="1d5"
|
capacity="440" speed="1.000000" hp="16" damage="1d5"
|
||||||
unarmedattack="-2" unarmeddefense="0" playerrace="yes" walk="yes"
|
unarmedattack="-2" unarmeddefense="0" playerrace="yes" walk="yes"
|
||||||
giveperson="yes" giveunit="yes" getitem="yes" equipment="yes"
|
giveperson="yes" giveunit="yes" getitem="yes" equipment="yes"
|
||||||
|
|
1
s/build
1
s/build
|
@ -35,6 +35,7 @@ cd $ROOT/$BUILD
|
||||||
BRANCH=$(git status -s -b | head -1 | cut -d\ -f 2 | sed 's/\..*//')
|
BRANCH=$(git status -s -b | head -1 | cut -d\ -f 2 | sed 's/\..*//')
|
||||||
if [ "$BRANCH" = "master" ] ; then
|
if [ "$BRANCH" = "master" ] ; then
|
||||||
VERSION=$(git describe --match 'v*.*.*' --tags | sed 's/^v//')
|
VERSION=$(git describe --match 'v*.*.*' --tags | sed 's/^v//')
|
||||||
|
echo "$BRANCH $VERSION"
|
||||||
cmake -DERESSEA_VERSION="$VERSION" ..
|
cmake -DERESSEA_VERSION="$VERSION" ..
|
||||||
else
|
else
|
||||||
REV=$(git rev-parse --short HEAD)
|
REV=$(git rev-parse --short HEAD)
|
||||||
|
|
|
@ -16,8 +16,3 @@ BIN_DIR="Debug"
|
||||||
|
|
||||||
cd $ROOT/$BIN_DIR
|
cd $ROOT/$BIN_DIR
|
||||||
make install
|
make install
|
||||||
|
|
||||||
# install crontab, but only on the eressea server:
|
|
||||||
# in fact, never do this, because it overwrites hand-edits
|
|
||||||
#WHOAMI=`whoami`@`hostname`
|
|
||||||
#[ "eressea@gruenbaer" = "$WHOAMI" ] && crontab $ROOT/process/cron/crontab
|
|
||||||
|
|
|
@ -15,6 +15,7 @@ cd $ROOT
|
||||||
$ROOT/$BUILD/eressea/eressea -v1 scripts/run-tests.lua
|
$ROOT/$BUILD/eressea/eressea -v1 scripts/run-tests.lua
|
||||||
$ROOT/$BUILD/eressea/eressea -v1 scripts/run-tests-e2.lua
|
$ROOT/$BUILD/eressea/eressea -v1 scripts/run-tests-e2.lua
|
||||||
$ROOT/$BUILD/eressea/eressea -v1 scripts/run-tests-e3.lua
|
$ROOT/$BUILD/eressea/eressea -v1 scripts/run-tests-e3.lua
|
||||||
|
$ROOT/$BUILD/eressea/eressea --version
|
||||||
rm -rf data reports orders.txt score score.alliances datum turn
|
rm -rf data reports orders.txt score score.alliances datum turn
|
||||||
|
|
||||||
cd $OLDWPD
|
cd $OLDWPD
|
||||||
|
|
2
s/setup
2
s/setup
|
@ -56,7 +56,7 @@ done
|
||||||
[ -z $INIFILE ] && INIFILE=$TOOLS/inifile
|
[ -z $INIFILE ] && INIFILE=$TOOLS/inifile
|
||||||
[ -e $INIFILE ] || INIFILE=$TOOLS/iniparser/inifile
|
[ -e $INIFILE ] || INIFILE=$TOOLS/iniparser/inifile
|
||||||
|
|
||||||
[ -e $SOURCE/conf/$rules/config.xml ] || abort "cannot find conf/$rules/config.xml"
|
[ -e $SOURCE/conf/$rules/config.json ] || abort "cannot find conf/$rules/config.json"
|
||||||
|
|
||||||
cd $ERESSEA
|
cd $ERESSEA
|
||||||
if [ -d $dir ] ; then
|
if [ -d $dir ] ; then
|
||||||
|
|
|
@ -61,7 +61,7 @@ end
|
||||||
|
|
||||||
local function seed(r, email, race, lang)
|
local function seed(r, email, race, lang)
|
||||||
assert(r)
|
assert(r)
|
||||||
local f = faction.create(email, race, lang)
|
local f = faction.create(race, email, lang)
|
||||||
assert(f)
|
assert(f)
|
||||||
local u = unit.create(f, r)
|
local u = unit.create(f, r)
|
||||||
assert(u)
|
assert(u)
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
require 'eressea.e3.rules'
|
|
||||||
require 'eressea.spells'
|
require 'eressea.spells'
|
||||||
|
|
||||||
eressea.log.debug("rules for game E3")
|
eressea.log.debug("rules for game E3")
|
||||||
|
|
|
@ -1,73 +0,0 @@
|
||||||
-- when appending to this, make sure the item has a canuse-function!
|
|
||||||
local goblin_denied = " plate lance mallornlance greatbow axe greatsword halberd rustyaxe rustyhalberd towershield scale "
|
|
||||||
function item_canuse(u, iname)
|
|
||||||
local race = u.race
|
|
||||||
if race=="goblin" then
|
|
||||||
if string.find(goblin_denied, " " .. iname .. " ") then
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if iname=="rep_crossbow" then
|
|
||||||
-- only dwarves and halflings allowed to use repeating crossbow
|
|
||||||
return race=="dwarf" or race=="halfling"
|
|
||||||
end
|
|
||||||
if iname=="scale" then
|
|
||||||
-- only dwarves and halflings can use scale
|
|
||||||
return race=="dwarf" or race=="halfling"
|
|
||||||
end
|
|
||||||
if iname=="towershield" then
|
|
||||||
-- only dwarves allowed to use towershield
|
|
||||||
return race=="dwarf"
|
|
||||||
end
|
|
||||||
if iname=="greatbow" then
|
|
||||||
-- only elves use greatbow
|
|
||||||
return race=="elf"
|
|
||||||
end
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
|
|
||||||
function building_taxes(b, blevel)
|
|
||||||
btype = b.type
|
|
||||||
if btype=="castle" then
|
|
||||||
return blevel * 0.01
|
|
||||||
elseif btype=="watch" then
|
|
||||||
return blevel * 0.005
|
|
||||||
end
|
|
||||||
return 0.0
|
|
||||||
end
|
|
||||||
|
|
||||||
-- the "raindance" spell
|
|
||||||
function raindance(r, mage, level, force)
|
|
||||||
if (create_curse(mage, r, "blessedharvest", force, 1+force*2, 100 * force)) then
|
|
||||||
-- slightly crooked way of reporting an action to everyone in the region
|
|
||||||
local msg = message.create("raindance_effect")
|
|
||||||
msg:set_unit("mage", mage)
|
|
||||||
if (msg:report_action(r, mage, 3)) then
|
|
||||||
local msg2 = message.create("raindance_effect")
|
|
||||||
msg2:set_unit("mage", nil)
|
|
||||||
msg2:report_action(r, mage, 4)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return level
|
|
||||||
end
|
|
||||||
|
|
||||||
-- the "blessed harvest" spell
|
|
||||||
function blessedharvest(r, mage, level, force)
|
|
||||||
if create_curse(mage, r, "blessedharvest", force, 1+force*2, 50 * force) then
|
|
||||||
-- slightly crooked way of reporting an action to everyone in the region
|
|
||||||
local msg = message.create("harvest_effect")
|
|
||||||
msg:set_unit("mage", mage)
|
|
||||||
if (msg:report_action(r, mage, 3)) then
|
|
||||||
local msg2 = message.create("harvest_effect")
|
|
||||||
msg2:set_unit("mage", nil)
|
|
||||||
msg2:report_action(r, mage, 4)
|
|
||||||
end
|
|
||||||
for idx, rn in ipairs(r.adj) do
|
|
||||||
-- nur landregionen haben moral>=0
|
|
||||||
if r.morale>=0 then
|
|
||||||
create_curse(mage, r, "blessedharvest", force, force*2, 50 * force)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return level
|
|
||||||
end
|
|
|
@ -1,11 +1,11 @@
|
||||||
local function is_winter(turn)
|
local function is_winter(turn)
|
||||||
local season = get_season(turn)
|
local season = get_season(turn)
|
||||||
return season == "calendar::winter"
|
return season == "winter"
|
||||||
end
|
end
|
||||||
|
|
||||||
local function is_spring(turn)
|
local function is_spring(turn)
|
||||||
local season = get_season(turn)
|
local season = get_season(turn)
|
||||||
return season == "calendar::spring"
|
return season == "spring"
|
||||||
end
|
end
|
||||||
|
|
||||||
local function freeze(r, chance)
|
local function freeze(r, chance)
|
||||||
|
|
|
@ -38,6 +38,7 @@ function ponnuki.init()
|
||||||
u.name = "Ponnuki"
|
u.name = "Ponnuki"
|
||||||
u.info = "Go, Ponnuki, Go!"
|
u.info = "Go, Ponnuki, Go!"
|
||||||
u.race_name = "Ritter von Go"
|
u.race_name = "Ritter von Go"
|
||||||
|
u.status = 5 -- FLIEHE
|
||||||
print(u:show())
|
print(u:show())
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,16 +1,5 @@
|
||||||
-- global functions used in items.xml
|
-- global functions used in items.xml
|
||||||
|
|
||||||
if not item_canuse then
|
|
||||||
-- define a default, everyone can use everything
|
|
||||||
function item_canuse(u, iname)
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function peasant_getresource(u)
|
|
||||||
return u.region:get_resource("peasant")
|
|
||||||
end
|
|
||||||
|
|
||||||
function peasant_changeresource(u, delta)
|
function peasant_changeresource(u, delta)
|
||||||
local p = u.region:get_resource("peasant")
|
local p = u.region:get_resource("peasant")
|
||||||
p = p + delta
|
p = p + delta
|
||||||
|
@ -21,10 +10,6 @@ function peasant_changeresource(u, delta)
|
||||||
return p
|
return p
|
||||||
end
|
end
|
||||||
|
|
||||||
function hp_getresource(u)
|
|
||||||
return u.hp
|
|
||||||
end
|
|
||||||
|
|
||||||
function hp_changeresource(u, delta)
|
function hp_changeresource(u, delta)
|
||||||
local hp = u.hp + delta
|
local hp = u.hp + delta
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,7 @@ end
|
||||||
|
|
||||||
function use_stardust(u, amount)
|
function use_stardust(u, amount)
|
||||||
local p = u.region:get_resource("peasant")
|
local p = u.region:get_resource("peasant")
|
||||||
|
assert(p>0)
|
||||||
p = math.ceil(1.5 * p)
|
p = math.ceil(1.5 * p)
|
||||||
u.region:set_resource("peasant", p)
|
u.region:set_resource("peasant", p)
|
||||||
local msg = usepotion_message(u, "stardust")
|
local msg = usepotion_message(u, "stardust")
|
||||||
|
@ -86,7 +87,7 @@ local self = {}
|
||||||
function self.update()
|
function self.update()
|
||||||
local turn = get_turn()
|
local turn = get_turn()
|
||||||
local season = get_season(turn)
|
local season = get_season(turn)
|
||||||
if season == "calendar::winter" then
|
if season == "winter" then
|
||||||
eressea.log.debug("it is " .. season .. ", the christmas trees do their magic")
|
eressea.log.debug("it is " .. season .. ", the christmas trees do their magic")
|
||||||
local msg = message.create("xmastree_effect")
|
local msg = message.create("xmastree_effect")
|
||||||
for r in regions() do
|
for r in regions() do
|
||||||
|
@ -102,7 +103,7 @@ function self.update()
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
local prevseason = get_season(turn-1)
|
local prevseason = get_season(turn-1)
|
||||||
if prevseason == "calendar::winter" then
|
if prevseason == "winter" then
|
||||||
-- we celebrate knut and kick out the trees.
|
-- we celebrate knut and kick out the trees.
|
||||||
for r in regions() do
|
for r in regions() do
|
||||||
if r:get_key("xm06") then
|
if r:get_key("xm06") then
|
||||||
|
|
|
@ -17,6 +17,7 @@ require 'eressea.path'
|
||||||
require 'tests.e2'
|
require 'tests.e2'
|
||||||
require 'lunit'
|
require 'lunit'
|
||||||
|
|
||||||
|
rng.inject(0)
|
||||||
rules = require('eressea.' .. config.rules)
|
rules = require('eressea.' .. config.rules)
|
||||||
result = lunit.main()
|
result = lunit.main()
|
||||||
return result.errors + result.failed
|
return result.errors + result.failed
|
||||||
|
|
|
@ -17,6 +17,7 @@ require 'eressea.xmlconf'
|
||||||
require 'tests.e3'
|
require 'tests.e3'
|
||||||
require 'lunit'
|
require 'lunit'
|
||||||
|
|
||||||
|
rng.inject(0)
|
||||||
eressea.settings.set("rules.alliances", "0")
|
eressea.settings.set("rules.alliances", "0")
|
||||||
rules = require('eressea.' .. config.rules)
|
rules = require('eressea.' .. config.rules)
|
||||||
result = lunit.main()
|
result = lunit.main()
|
||||||
|
|
|
@ -6,7 +6,7 @@ local function _test_create_ship(r)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function create_faction(race)
|
local function create_faction(race)
|
||||||
return faction.create(race .. '@eressea.de', race, "de")
|
return faction.create(race, race .. '@eressea.de', "de")
|
||||||
end
|
end
|
||||||
|
|
||||||
local function one_unit(r, f)
|
local function one_unit(r, f)
|
||||||
|
@ -218,6 +218,9 @@ function test_gmtool()
|
||||||
local r1 = region.create(1, 0, "plain")
|
local r1 = region.create(1, 0, "plain")
|
||||||
local r2 = region.create(1, 1, "plain")
|
local r2 = region.create(1, 1, "plain")
|
||||||
local r3 = region.create(1, 2, "plain")
|
local r3 = region.create(1, 2, "plain")
|
||||||
|
if not gmtool then
|
||||||
|
return
|
||||||
|
end
|
||||||
gmtool.open()
|
gmtool.open()
|
||||||
gmtool.select(r1, true)
|
gmtool.select(r1, true)
|
||||||
gmtool.select_at(0, 1, true)
|
gmtool.select_at(0, 1, true)
|
||||||
|
@ -1033,6 +1036,37 @@ function test_recruit()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function test_give_horses()
|
||||||
|
local r = region.create(0, 0, "plain")
|
||||||
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
|
local u = unit.create(f, r, 1)
|
||||||
|
|
||||||
|
r:set_resource("horse", 0)
|
||||||
|
u:add_item("horse", 21)
|
||||||
|
u:add_item("dolphin", 10)
|
||||||
|
u:add_order("GIB 0 7 PFERD")
|
||||||
|
u:add_order("GIB 0 5 DELPHIN")
|
||||||
|
process_orders()
|
||||||
|
assert_equal(7, r:get_resource("horse"))
|
||||||
|
assert_equal(5, u:get_item("dolphin"))
|
||||||
|
assert_equal(14, u:get_item("horse"))
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_give_silver()
|
||||||
|
local r = region.create(0, 0, "plain")
|
||||||
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
|
local u = unit.create(f, r, 1)
|
||||||
|
|
||||||
|
r:set_resource("peasant", 0)
|
||||||
|
r:set_resource("money", 11)
|
||||||
|
u:clear_orders()
|
||||||
|
u:add_item("money", 20)
|
||||||
|
u:add_order("GIB 0 10 SILBER")
|
||||||
|
process_orders()
|
||||||
|
assert_equal(21, r:get_resource("money"))
|
||||||
|
assert_equal(10, u:get_item("money"))
|
||||||
|
end
|
||||||
|
|
||||||
function test_give_horses()
|
function test_give_horses()
|
||||||
local r = region.create(0, 0, "plain")
|
local r = region.create(0, 0, "plain")
|
||||||
local f = create_faction('human')
|
local f = create_faction('human')
|
||||||
|
|
|
@ -11,7 +11,7 @@ function test_read_race()
|
||||||
eressea.free_game()
|
eressea.free_game()
|
||||||
assert_not_nil(eressea.config)
|
assert_not_nil(eressea.config)
|
||||||
eressea.config.parse('{ "races": { "orc" : {}}}')
|
eressea.config.parse('{ "races": { "orc" : {}}}')
|
||||||
f = faction.create("orc@example.com", "orc", "en")
|
f = faction.create("orc", "orc@example.com", "en")
|
||||||
assert_not_nil(f)
|
assert_not_nil(f)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ function setup()
|
||||||
end
|
end
|
||||||
|
|
||||||
local function create_faction(race)
|
local function create_faction(race)
|
||||||
return faction.create(race .. '@eressea.de', race, "de")
|
return faction.create(race, race .. '@eressea.de', "de")
|
||||||
end
|
end
|
||||||
|
|
||||||
local function _test_create_adamantium()
|
local function _test_create_adamantium()
|
||||||
|
|
53
scripts/tests/e2/buildings.lua
Normal file
53
scripts/tests/e2/buildings.lua
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
require "lunit"
|
||||||
|
|
||||||
|
module("tests.e2.buildings", package.seeall, lunit.testcase )
|
||||||
|
|
||||||
|
function setup()
|
||||||
|
eressea.game.reset()
|
||||||
|
eressea.settings.set("rules.food.flags", "4")
|
||||||
|
end
|
||||||
|
|
||||||
|
function teardown()
|
||||||
|
eressea.settings.set("rules.food.flags", "0")
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_castle_names()
|
||||||
|
local r = region.create(0, 0, "plain")
|
||||||
|
local b = building.create(r, "castle")
|
||||||
|
|
||||||
|
assert_equal("site", b:get_typename(1))
|
||||||
|
assert_equal("tradepost", b:get_typename(2))
|
||||||
|
assert_equal("tradepost", b:get_typename(9))
|
||||||
|
assert_equal("fortification", b:get_typename(10))
|
||||||
|
assert_equal("fortification", b:get_typename(49))
|
||||||
|
assert_equal("tower", b:get_typename(50))
|
||||||
|
assert_equal("tower", b:get_typename(249))
|
||||||
|
assert_equal("castle", b:get_typename(250))
|
||||||
|
assert_equal("castle", b:get_typename(1249))
|
||||||
|
assert_equal("fortress", b:get_typename(1250))
|
||||||
|
assert_equal("fortress", b:get_typename(6249))
|
||||||
|
assert_equal("citadel", b:get_typename(6250))
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_build_castle_stages()
|
||||||
|
local r = region.create(0,0, "plain")
|
||||||
|
local f = faction.create("human")
|
||||||
|
local u = unit.create(f, r, 1000)
|
||||||
|
local b = building.create(r, "castle")
|
||||||
|
|
||||||
|
u:add_item("stone", 1000)
|
||||||
|
|
||||||
|
u:set_skill("building", 1)
|
||||||
|
u:clear_orders()
|
||||||
|
|
||||||
|
u:add_order("MACHE BURG " .. itoa36(b.id))
|
||||||
|
process_orders()
|
||||||
|
assert_equal(10, b.size)
|
||||||
|
|
||||||
|
u:set_skill("building", 3)
|
||||||
|
u:clear_orders()
|
||||||
|
|
||||||
|
u:add_order("MACHE BURG " .. itoa36(b.id))
|
||||||
|
process_orders()
|
||||||
|
assert_equal(250, b.size)
|
||||||
|
end
|
|
@ -10,7 +10,7 @@ end
|
||||||
function disabled_test_dont_move_after_destroy()
|
function disabled_test_dont_move_after_destroy()
|
||||||
local r1 = region.create(0, 0, "plain")
|
local r1 = region.create(0, 0, "plain")
|
||||||
local r2 = region.create(1, 0, "plain")
|
local r2 = region.create(1, 0, "plain")
|
||||||
local f = faction.create("test@example.com", "human", "de")
|
local f = faction.create("human", "test@example.com", "de")
|
||||||
local u = unit.create(f, r1, 1)
|
local u = unit.create(f, r1, 1)
|
||||||
u.building = building.create(u.region, "castle")
|
u.building = building.create(u.region, "castle")
|
||||||
u:clear_orders()
|
u:clear_orders()
|
||||||
|
@ -26,8 +26,8 @@ end
|
||||||
|
|
||||||
function test_dont_destroy_after_attack()
|
function test_dont_destroy_after_attack()
|
||||||
local r1 = region.create(0, 0, "plain")
|
local r1 = region.create(0, 0, "plain")
|
||||||
local u = unit.create(faction.create("one@example.com", "human", "de"), r1, 10)
|
local u = unit.create(faction.create("human", "one@example.com", "de"), r1, 10)
|
||||||
local u2 = unit.create(faction.create("two@example.com", "human", "de"), r1, 1)
|
local u2 = unit.create(faction.create("human", "two@example.com", "de"), r1, 1)
|
||||||
u.building = building.create(u.region, "castle")
|
u.building = building.create(u.region, "castle")
|
||||||
u:clear_orders()
|
u:clear_orders()
|
||||||
u:add_order("ATTACKIERE " .. itoa36(u2.id))
|
u:add_order("ATTACKIERE " .. itoa36(u2.id))
|
||||||
|
@ -38,7 +38,7 @@ end
|
||||||
|
|
||||||
function test_destroy_is_long()
|
function test_destroy_is_long()
|
||||||
local r1 = region.create(0, 0, "plain")
|
local r1 = region.create(0, 0, "plain")
|
||||||
local u = unit.create(faction.create("one@example.com", "human", "de"), r1, 10)
|
local u = unit.create(faction.create("human", "one@example.com", "de"), r1, 10)
|
||||||
u.building = building.create(u.region, "castle")
|
u.building = building.create(u.region, "castle")
|
||||||
u:clear_orders()
|
u:clear_orders()
|
||||||
u:add_order("LERNE Unterhaltung")
|
u:add_order("LERNE Unterhaltung")
|
||||||
|
|
|
@ -11,14 +11,14 @@ function setup()
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_calendar()
|
function test_calendar()
|
||||||
assert_equal(get_season(1011), "calendar::winter")
|
assert_equal("winter", get_season(1011))
|
||||||
assert_equal(get_season(1012), "calendar::spring")
|
assert_equal("spring", get_season(1012))
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_herbalism()
|
function test_herbalism()
|
||||||
-- OBS: herbalism is currently an E2-only skill
|
-- OBS: herbalism is currently an E2-only skill
|
||||||
local r = region.create(0, 0, "plain")
|
local r = region.create(0, 0, "plain")
|
||||||
local f = faction.create("herbalism@eressea.de", "human", "de")
|
local f = faction.create("human", "herbalism@eressea.de", "de")
|
||||||
local u = unit.create(f, r, 1)
|
local u = unit.create(f, r, 1)
|
||||||
|
|
||||||
eressea.settings.set("rules.grow.formula", 0) -- plants do not grow
|
eressea.settings.set("rules.grow.formula", 0) -- plants do not grow
|
||||||
|
@ -44,7 +44,7 @@ function test_dwarf_bonus()
|
||||||
r:set_resource("iron", 100)
|
r:set_resource("iron", 100)
|
||||||
local level = r:get_resourcelevel("iron")
|
local level = r:get_resourcelevel("iron")
|
||||||
assert_equal(1, level)
|
assert_equal(1, level)
|
||||||
local u = unit.create(faction.create('test@example.com', "dwarf"), r)
|
local u = unit.create(faction.create("dwarf"), r)
|
||||||
assert_equal("dwarf", u.faction.race)
|
assert_equal("dwarf", u.faction.race)
|
||||||
assert_equal("dwarf", u.race)
|
assert_equal("dwarf", u.race)
|
||||||
u.faction.name = "Zwerge"
|
u.faction.name = "Zwerge"
|
||||||
|
@ -65,7 +65,7 @@ end
|
||||||
function test_build_harbour()
|
function test_build_harbour()
|
||||||
-- try to reproduce mantis bug 2221
|
-- try to reproduce mantis bug 2221
|
||||||
local r = region.create(0, 0, "plain")
|
local r = region.create(0, 0, "plain")
|
||||||
local f = faction.create("harbour@eressea.de", "human", "de")
|
local f = faction.create("human", "harbour@eressea.de", "de")
|
||||||
local u = unit.create(f, r)
|
local u = unit.create(f, r)
|
||||||
size = 30
|
size = 30
|
||||||
u.number = 20
|
u.number = 20
|
||||||
|
@ -93,8 +93,8 @@ local function one_unit(r, f)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function two_factions()
|
local function two_factions()
|
||||||
local f1 = faction.create("one@eressea.de", "human", "de")
|
local f1 = faction.create("human", "one@eressea.de", "de")
|
||||||
local f2 = faction.create("two@eressea.de", "human", "de")
|
local f2 = faction.create("human", "two@eressea.de", "de")
|
||||||
return f1, f2
|
return f1, f2
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ end
|
||||||
function test_learn()
|
function test_learn()
|
||||||
eressea.settings.set("study.random_progress", "0")
|
eressea.settings.set("study.random_progress", "0")
|
||||||
local r = region.create(0, 0, "plain")
|
local r = region.create(0, 0, "plain")
|
||||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
f.age = 20
|
f.age = 20
|
||||||
local u = unit.create(f, r)
|
local u = unit.create(f, r)
|
||||||
u:clear_orders()
|
u:clear_orders()
|
||||||
|
@ -124,7 +124,7 @@ end
|
||||||
function test_teach()
|
function test_teach()
|
||||||
eressea.settings.set("study.random_progress", "0")
|
eressea.settings.set("study.random_progress", "0")
|
||||||
local r = region.create(0, 0, "plain")
|
local r = region.create(0, 0, "plain")
|
||||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
f.age = 20
|
f.age = 20
|
||||||
local u = unit.create(f, r, 10)
|
local u = unit.create(f, r, 10)
|
||||||
local u2 = unit.create(f, r)
|
local u2 = unit.create(f, r)
|
||||||
|
@ -141,7 +141,7 @@ end
|
||||||
|
|
||||||
function test_rename()
|
function test_rename()
|
||||||
local r = region.create(0, 0, "plain")
|
local r = region.create(0, 0, "plain")
|
||||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
local u = unit.create(f, r)
|
local u = unit.create(f, r)
|
||||||
u:add_item("aoh", 1)
|
u:add_item("aoh", 1)
|
||||||
assert_equal(u:get_item("ao_healing"), 1)
|
assert_equal(u:get_item("ao_healing"), 1)
|
||||||
|
@ -149,7 +149,7 @@ end
|
||||||
|
|
||||||
function test_unit_limit_is_1500()
|
function test_unit_limit_is_1500()
|
||||||
local r = region.create(0,0, "plain")
|
local r = region.create(0,0, "plain")
|
||||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
for i = 1,1500 do
|
for i = 1,1500 do
|
||||||
unit.create(f, r, 1)
|
unit.create(f, r, 1)
|
||||||
end
|
end
|
||||||
|
@ -165,7 +165,7 @@ function test_ship_capacity()
|
||||||
local r = region.create(0,0, "ocean")
|
local r = region.create(0,0, "ocean")
|
||||||
region.create(1,0, "ocean")
|
region.create(1,0, "ocean")
|
||||||
local r2 = region.create(2,0, "ocean")
|
local r2 = region.create(2,0, "ocean")
|
||||||
local f = faction.create("capacity@eressea.de", "human", "de")
|
local f = faction.create("human", "capacity@eressea.de", "de")
|
||||||
|
|
||||||
-- u1 is at the limit and moves
|
-- u1 is at the limit and moves
|
||||||
local s1 = ship.create(r, "boat")
|
local s1 = ship.create(r, "boat")
|
||||||
|
@ -202,7 +202,7 @@ end
|
||||||
|
|
||||||
function test_levitate()
|
function test_levitate()
|
||||||
local r = region.create(0,0, "plain")
|
local r = region.create(0,0, "plain")
|
||||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
local u = unit.create(f, r, 2)
|
local u = unit.create(f, r, 2)
|
||||||
local s = ship.create(r, "boat")
|
local s = ship.create(r, "boat")
|
||||||
u.ship = s
|
u.ship = s
|
||||||
|
@ -228,15 +228,15 @@ end
|
||||||
function test_races()
|
function test_races()
|
||||||
local races = { "wolf", "orc", "human", "demon" }
|
local races = { "wolf", "orc", "human", "demon" }
|
||||||
for k,v in ipairs(races) do
|
for k,v in ipairs(races) do
|
||||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
assert_not_equal(nil, f)
|
assert_not_equal(nil, f)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_can_give_person()
|
function test_can_give_person()
|
||||||
local r = region.create(0, 0, "plain")
|
local r = region.create(0, 0, "plain")
|
||||||
local f1 = faction.create("noreply@eressea.de", "human", "de")
|
local f1 = faction.create("human", "noreply@eressea.de", "de")
|
||||||
local f2 = faction.create("noreply@eressea.de", "human", "de")
|
local f2 = faction.create("human", "noreply@eressea.de", "de")
|
||||||
local u1 = unit.create(f1, r, 10)
|
local u1 = unit.create(f1, r, 10)
|
||||||
local u2 = unit.create(f2, r, 10)
|
local u2 = unit.create(f2, r, 10)
|
||||||
u1.faction.age = 10
|
u1.faction.age = 10
|
||||||
|
@ -254,29 +254,10 @@ function test_can_give_person()
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_no_uruk()
|
function test_no_uruk()
|
||||||
local f1 = faction.create("noreply@eressea.de", "uruk", "de")
|
local f1 = faction.create("uruk")
|
||||||
assert_equal(f1.race, "orc")
|
assert_equal(f1.race, "orc")
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_snowman()
|
|
||||||
local r = region.create(0, 0, "glacier")
|
|
||||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
|
||||||
local u = unit.create(f, r, 1)
|
|
||||||
u:add_item("snowman", 1)
|
|
||||||
u:clear_orders()
|
|
||||||
u:add_order("BENUTZEN 1 Schneemann")
|
|
||||||
process_orders()
|
|
||||||
for u2 in r.units do
|
|
||||||
if u2.id~=u.id then
|
|
||||||
assert_equal("snowman", u2.race)
|
|
||||||
assert_equal(1000, u2.hp)
|
|
||||||
u = nil
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
assert_equal(nil, u)
|
|
||||||
end
|
|
||||||
|
|
||||||
function test_block_movement()
|
function test_block_movement()
|
||||||
eressea.settings.set("rules.guard.base_stop_prob", "0.3")
|
eressea.settings.set("rules.guard.base_stop_prob", "0.3")
|
||||||
eressea.settings.set("rules.guard.amulet_stop_prob", "0.0")
|
eressea.settings.set("rules.guard.amulet_stop_prob", "0.0")
|
||||||
|
@ -368,7 +349,7 @@ end
|
||||||
|
|
||||||
function test_stonegolems()
|
function test_stonegolems()
|
||||||
local r0 = region.create(0, 0, "plain")
|
local r0 = region.create(0, 0, "plain")
|
||||||
local f1 = faction.create("noreply@eressea.de", "stonegolem", "de")
|
local f1 = faction.create("stonegolem")
|
||||||
local u1 = unit.create(f1, r0, 1)
|
local u1 = unit.create(f1, r0, 1)
|
||||||
local u2 = unit.create(f1, r0, 2)
|
local u2 = unit.create(f1, r0, 2)
|
||||||
local c1 = building.create(r0, "castle")
|
local c1 = building.create(r0, "castle")
|
||||||
|
@ -397,7 +378,7 @@ end
|
||||||
|
|
||||||
function test_birthdaycake()
|
function test_birthdaycake()
|
||||||
r = region.create(0,0, "plain")
|
r = region.create(0,0, "plain")
|
||||||
f = faction.create("cake@eressea.de", "human", "de")
|
f = faction.create("human")
|
||||||
u = unit.create(f, r, 1)
|
u = unit.create(f, r, 1)
|
||||||
u:add_item("birthdaycake", 1)
|
u:add_item("birthdaycake", 1)
|
||||||
u:clear_orders()
|
u:clear_orders()
|
||||||
|
@ -408,7 +389,7 @@ end
|
||||||
function test_demonstealth()
|
function test_demonstealth()
|
||||||
local desc, r, f, u
|
local desc, r, f, u
|
||||||
r = region.create(0, 0, "plain")
|
r = region.create(0, 0, "plain")
|
||||||
f = faction.create("demon@eressea.de", "demon", "de")
|
f = faction.create("demon")
|
||||||
u = unit.create(f, r, 1)
|
u = unit.create(f, r, 1)
|
||||||
|
|
||||||
u:clear_orders()
|
u:clear_orders()
|
||||||
|
@ -423,3 +404,7 @@ function test_demonstealth()
|
||||||
desc = u:show()
|
desc = u:show()
|
||||||
assert_equal(nil, string.find(desc, "Drache"))
|
assert_equal(nil, string.find(desc, "Drache"))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function test_calendar_season_2328()
|
||||||
|
assert_equal("fall", get_season(1026))
|
||||||
|
end
|
||||||
|
|
|
@ -11,7 +11,7 @@ end
|
||||||
|
|
||||||
function test_guard_unarmed()
|
function test_guard_unarmed()
|
||||||
local r1 = region.create(0, 0, "plain")
|
local r1 = region.create(0, 0, "plain")
|
||||||
local f1 = faction.create("hodor@eressea.de", "human", "de")
|
local f1 = faction.create("human", "hodor@eressea.de", "de")
|
||||||
local u1 = unit.create(f1, r1, 1)
|
local u1 = unit.create(f1, r1, 1)
|
||||||
assert_equal(false, u1.guard)
|
assert_equal(false, u1.guard)
|
||||||
u1:clear_orders()
|
u1:clear_orders()
|
||||||
|
@ -22,7 +22,7 @@ end
|
||||||
|
|
||||||
function test_guard_armed()
|
function test_guard_armed()
|
||||||
local r1 = region.create(0, 0, "plain")
|
local r1 = region.create(0, 0, "plain")
|
||||||
local f1 = faction.create("hodor@eressea.de", "human", "de")
|
local f1 = faction.create("human", "hodor@eressea.de", "de")
|
||||||
local u1 = unit.create(f1, r1, 1)
|
local u1 = unit.create(f1, r1, 1)
|
||||||
assert_equal(false, u1.guard)
|
assert_equal(false, u1.guard)
|
||||||
u1:add_item("sword", 1)
|
u1:add_item("sword", 1)
|
||||||
|
@ -36,10 +36,10 @@ end
|
||||||
function test_guard_allows_move_after_combat() -- bug 1493
|
function test_guard_allows_move_after_combat() -- bug 1493
|
||||||
local r1 = region.create(0, 0, "plain")
|
local r1 = region.create(0, 0, "plain")
|
||||||
local r2 = region.create(1, 0, "plain")
|
local r2 = region.create(1, 0, "plain")
|
||||||
local f1 = faction.create("bernd@eressea.de", "human", "de")
|
local f1 = faction.create("human", "bernd@eressea.de", "de")
|
||||||
local u1 = unit.create(f1, r1, 10)
|
local u1 = unit.create(f1, r1, 10)
|
||||||
local uid1 = u1.id
|
local uid1 = u1.id
|
||||||
local f2 = faction.create("horst@eressea.de", "human", "de")
|
local f2 = faction.create("human", "horst@eressea.de", "de")
|
||||||
local u2 = unit.create(f2, r1, 1)
|
local u2 = unit.create(f2, r1, 1)
|
||||||
u1:add_order("BEWACHE")
|
u1:add_order("BEWACHE")
|
||||||
u1:add_item("sword", 10)
|
u1:add_item("sword", 10)
|
||||||
|
@ -59,10 +59,10 @@ end
|
||||||
function test_no_guard_no_move_after_combat() -- bug 1493
|
function test_no_guard_no_move_after_combat() -- bug 1493
|
||||||
local r1 = region.create(0, 0, "plain")
|
local r1 = region.create(0, 0, "plain")
|
||||||
local r2 = region.create(1, 0, "plain")
|
local r2 = region.create(1, 0, "plain")
|
||||||
local f1 = faction.create("bernd@eressea.de", "human", "de")
|
local f1 = faction.create("human", "bernd@eressea.de", "de")
|
||||||
local u1 = unit.create(f1, r1, 10)
|
local u1 = unit.create(f1, r1, 10)
|
||||||
local uid1 = u1.id
|
local uid1 = u1.id
|
||||||
local f2 = faction.create("horst@eressea.de", "human", "de")
|
local f2 = faction.create("human", "horst@eressea.de", "de")
|
||||||
local u2 = unit.create(f2, r1, 1)
|
local u2 = unit.create(f2, r1, 1)
|
||||||
u1:add_order("BEWACHE")
|
u1:add_order("BEWACHE")
|
||||||
u1:add_item("sword", 10)
|
u1:add_item("sword", 10)
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
require 'tests.e2.spells'
|
||||||
|
require 'tests.e2.buildings'
|
||||||
|
require 'tests.e2.production'
|
||||||
require 'tests.e2.adamantium'
|
require 'tests.e2.adamantium'
|
||||||
require 'tests.e2.undead'
|
require 'tests.e2.undead'
|
||||||
require 'tests.e2.shiplanding'
|
require 'tests.e2.shiplanding'
|
||||||
|
@ -5,8 +8,9 @@ require 'tests.e2.e2features'
|
||||||
require 'tests.e2.movement'
|
require 'tests.e2.movement'
|
||||||
require 'tests.e2.destroy'
|
require 'tests.e2.destroy'
|
||||||
require 'tests.e2.guard'
|
require 'tests.e2.guard'
|
||||||
require 'tests.e2.spells'
|
|
||||||
require 'tests.e2.stealth'
|
require 'tests.e2.stealth'
|
||||||
|
require 'tests.e2.items'
|
||||||
|
require 'tests.items'
|
||||||
require 'tests.economy'
|
require 'tests.economy'
|
||||||
require 'tests.orders'
|
require 'tests.orders'
|
||||||
require 'tests.common'
|
require 'tests.common'
|
||||||
|
@ -15,3 +19,5 @@ require 'tests.storage'
|
||||||
require 'tests.magicbag'
|
require 'tests.magicbag'
|
||||||
require 'tests.process'
|
require 'tests.process'
|
||||||
require 'tests.xmas'
|
require 'tests.xmas'
|
||||||
|
require 'tests.production'
|
||||||
|
require 'tests.spells'
|
||||||
|
|
|
@ -11,9 +11,41 @@ function setup()
|
||||||
eressea.settings.set("magic.regeneration.enable", "0")
|
eressea.settings.set("magic.regeneration.enable", "0")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function test_nestwarmth_insect()
|
||||||
|
local r = region.create(0, 0, "plain")
|
||||||
|
local f = faction.create("insect", "noreply@eressea.de", "de")
|
||||||
|
local u = unit.create(f, r, 1)
|
||||||
|
local flags = u.flags
|
||||||
|
u:add_item("nestwarmth", 2)
|
||||||
|
u:clear_orders()
|
||||||
|
u:add_order("BENUTZEN 1 Nestwaerme")
|
||||||
|
turn_begin()
|
||||||
|
turn_process()
|
||||||
|
assert_equal(flags+64, u.flags) -- UFL_WARMTH
|
||||||
|
assert_equal(1, u:get_item("nestwarmth"))
|
||||||
|
assert_equal(1, f:count_msg_type('usepotion'))
|
||||||
|
turn_end()
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_nestwarmth_other()
|
||||||
|
local r = region.create(0, 0, "plain")
|
||||||
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
|
local u = unit.create(f, r, 1)
|
||||||
|
local flags = u.flags
|
||||||
|
u:add_item("nestwarmth", 2)
|
||||||
|
u:clear_orders()
|
||||||
|
u:add_order("BENUTZEN 1 Nestwaerme")
|
||||||
|
turn_begin()
|
||||||
|
turn_process()
|
||||||
|
assert_equal(flags, u.flags) -- nothing happens
|
||||||
|
assert_equal(2, u:get_item("nestwarmth"))
|
||||||
|
assert_equal(1, f:count_msg_type('error163'))
|
||||||
|
turn_end()
|
||||||
|
end
|
||||||
|
|
||||||
function test_meow()
|
function test_meow()
|
||||||
local r = region.create(0, 0, "plain")
|
local r = region.create(0, 0, "plain")
|
||||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
local u = unit.create(f, r, 1)
|
local u = unit.create(f, r, 1)
|
||||||
u:add_item("aoc", 1)
|
u:add_item("aoc", 1)
|
||||||
u:clear_orders()
|
u:clear_orders()
|
||||||
|
@ -27,7 +59,7 @@ end
|
||||||
|
|
||||||
function test_aurapotion50()
|
function test_aurapotion50()
|
||||||
local r = region.create(0, 0, "plain")
|
local r = region.create(0, 0, "plain")
|
||||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
local u = unit.create(f, r, 1)
|
local u = unit.create(f, r, 1)
|
||||||
u:add_item("aurapotion50", 1)
|
u:add_item("aurapotion50", 1)
|
||||||
u:set_skill('magic', 10);
|
u:set_skill('magic', 10);
|
||||||
|
@ -45,33 +77,45 @@ end
|
||||||
|
|
||||||
function test_bagpipe()
|
function test_bagpipe()
|
||||||
local r = region.create(0, 0, "plain")
|
local r = region.create(0, 0, "plain")
|
||||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
local u = unit.create(f, r, 1)
|
local u = unit.create(f, r, 1)
|
||||||
|
turn_begin()
|
||||||
u:add_item("bagpipeoffear", 1)
|
u:add_item("bagpipeoffear", 1)
|
||||||
u:clear_orders()
|
u:clear_orders()
|
||||||
u:add_order("BENUTZEN 1 Dudelsack")
|
u:add_order("BENUTZEN 1 Dudelsack")
|
||||||
process_orders()
|
assert_equal(nil, r:get_curse('depression'))
|
||||||
|
turn_process()
|
||||||
|
assert_equal(0, r:get_curse('depression'))
|
||||||
assert_equal(1, u:get_item("bagpipeoffear"))
|
assert_equal(1, u:get_item("bagpipeoffear"))
|
||||||
assert_equal(1, f:count_msg_type('bagpipeoffear_faction'))
|
assert_equal(1, f:count_msg_type('bagpipeoffear_faction'))
|
||||||
assert_equal(1, r:count_msg_type('bagpipeoffear_region'))
|
assert_equal(1, r:count_msg_type('bagpipeoffear_region'))
|
||||||
|
turn_end()
|
||||||
|
-- duration is variable, but at least 4
|
||||||
|
assert_equal(0, r:get_curse('depression'))
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_speedsail()
|
function test_speedsail()
|
||||||
local r = region.create(0, 0, "plain")
|
local r = region.create(0, 0, "plain")
|
||||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
local u = unit.create(f, r, 1)
|
local u = unit.create(f, r, 1)
|
||||||
|
|
||||||
|
turn_begin()
|
||||||
u.ship = ship.create(r, "boat")
|
u.ship = ship.create(r, "boat")
|
||||||
u:add_item("speedsail", 2)
|
u:add_item("speedsail", 2)
|
||||||
u:clear_orders()
|
u:clear_orders()
|
||||||
u:add_order("BENUTZEN 1 Sonnensegel")
|
u:add_order("BENUTZEN 1 Sonnensegel")
|
||||||
process_orders()
|
assert_equal(nil, u.ship:get_curse('shipspeed'))
|
||||||
|
turn_process()
|
||||||
|
assert_equal(1, u.ship:get_curse('shipspeed'))
|
||||||
assert_equal(1, u:get_item("speedsail"))
|
assert_equal(1, u:get_item("speedsail"))
|
||||||
assert_equal(1, f:count_msg_type('use_speedsail'))
|
assert_equal(1, f:count_msg_type('use_speedsail'))
|
||||||
|
turn_end()
|
||||||
|
assert_equal(1, u.ship:get_curse('shipspeed')) -- effect stays forever
|
||||||
end
|
end
|
||||||
|
|
||||||
function test_foolpotion()
|
function test_foolpotion()
|
||||||
local r = region.create(0, 0, "plain")
|
local r = region.create(0, 0, "plain")
|
||||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
local u = unit.create(f, r, 1)
|
local u = unit.create(f, r, 1)
|
||||||
turn_begin()
|
turn_begin()
|
||||||
u:add_item("p7", 1)
|
u:add_item("p7", 1)
|
||||||
|
@ -97,7 +141,7 @@ end
|
||||||
|
|
||||||
function test_snowman()
|
function test_snowman()
|
||||||
local r = region.create(0, 0, "glacier")
|
local r = region.create(0, 0, "glacier")
|
||||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
local u = unit.create(f, r, 1)
|
local u = unit.create(f, r, 1)
|
||||||
u:add_item("snowman", 1)
|
u:add_item("snowman", 1)
|
||||||
u:clear_orders()
|
u:clear_orders()
|
||||||
|
|
|
@ -13,8 +13,8 @@ end
|
||||||
local r = region.create(0, 0, "plain")
|
local r = region.create(0, 0, "plain")
|
||||||
local r2 = region.create(1, 0, "plain")
|
local r2 = region.create(1, 0, "plain")
|
||||||
local r3 = region.create(-1, 0, "ocean")
|
local r3 = region.create(-1, 0, "ocean")
|
||||||
local f = faction.create("pirate@eressea.de", "human", "de")
|
local f = faction.create("human", "pirate@eressea.de", "de")
|
||||||
local f2 = faction.create("elf@eressea.de", "human", "de")
|
local f2 = faction.create("human", "elf@eressea.de", "de")
|
||||||
local u1 = unit.create(f, r2, 1)
|
local u1 = unit.create(f, r2, 1)
|
||||||
local u2 = unit.create(f2, r3, 1)
|
local u2 = unit.create(f2, r3, 1)
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ end
|
||||||
function test_dolphin_on_land()
|
function test_dolphin_on_land()
|
||||||
local r1 = region.create(0, 0, "plain")
|
local r1 = region.create(0, 0, "plain")
|
||||||
local r2 = region.create(1, 0, "plain")
|
local r2 = region.create(1, 0, "plain")
|
||||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
local u1 = unit.create(f, r1, 1)
|
local u1 = unit.create(f, r1, 1)
|
||||||
u1.race = "dolphin"
|
u1.race = "dolphin"
|
||||||
u1:clear_orders()
|
u1:clear_orders()
|
||||||
|
@ -51,7 +51,7 @@ end
|
||||||
function test_dolphin_to_land()
|
function test_dolphin_to_land()
|
||||||
local r1 = region.create(0, 0, "ocean")
|
local r1 = region.create(0, 0, "ocean")
|
||||||
local r2 = region.create(1, 0, "plain")
|
local r2 = region.create(1, 0, "plain")
|
||||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
local u1 = unit.create(f, r1, 1)
|
local u1 = unit.create(f, r1, 1)
|
||||||
u1.race = "dolphin"
|
u1.race = "dolphin"
|
||||||
u1:clear_orders()
|
u1:clear_orders()
|
||||||
|
@ -63,7 +63,7 @@ end
|
||||||
function test_dolphin_in_ocean()
|
function test_dolphin_in_ocean()
|
||||||
local r1 = region.create(0, 0, "ocean")
|
local r1 = region.create(0, 0, "ocean")
|
||||||
local r2 = region.create(1, 0, "ocean")
|
local r2 = region.create(1, 0, "ocean")
|
||||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
local f = faction.create("human", "noreply@eressea.de", "de")
|
||||||
local u1 = unit.create(f, r1, 1)
|
local u1 = unit.create(f, r1, 1)
|
||||||
u1.race = "dolphin"
|
u1.race = "dolphin"
|
||||||
u1:clear_orders()
|
u1:clear_orders()
|
||||||
|
@ -75,7 +75,7 @@ end
|
||||||
function test_follow()
|
function test_follow()
|
||||||
local r1 = region.create(0, 0, "plain")
|
local r1 = region.create(0, 0, "plain")
|
||||||
local r2 = region.create(1, 0, "plain")
|
local r2 = region.create(1, 0, "plain")
|
||||||
local f = faction.create("test@example.com", "human", "de")
|
local f = faction.create("human", "test@example.com", "de")
|
||||||
local u1 = unit.create(f, r1, 1)
|
local u1 = unit.create(f, r1, 1)
|
||||||
local u2 = unit.create(f, r1, 1)
|
local u2 = unit.create(f, r1, 1)
|
||||||
u1:clear_orders()
|
u1:clear_orders()
|
||||||
|
@ -93,7 +93,7 @@ function test_follow_ship()
|
||||||
local r1 = region.create(0, 0, "plain")
|
local r1 = region.create(0, 0, "plain")
|
||||||
region.create(1, 0, "ocean")
|
region.create(1, 0, "ocean")
|
||||||
region.create(2, 0, "ocean")
|
region.create(2, 0, "ocean")
|
||||||
local f = faction.create("test@example.com", "human", "de")
|
local f = faction.create("human", "test@example.com", "de")
|
||||||
local u1 = unit.create(f, r1, 1)
|
local u1 = unit.create(f, r1, 1)
|
||||||
local u2 = unit.create(f, r1, 1)
|
local u2 = unit.create(f, r1, 1)
|
||||||
u1:add_item("money", 100)
|
u1:add_item("money", 100)
|
||||||
|
|
78
scripts/tests/e2/production.lua
Normal file
78
scripts/tests/e2/production.lua
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
require "lunit"
|
||||||
|
|
||||||
|
module("tests.e2.production", package.seeall, lunit.testcase )
|
||||||
|
|
||||||
|
function setup()
|
||||||
|
eressea.game.reset()
|
||||||
|
eressea.settings.set("rules.food.flags", "4") -- food is free
|
||||||
|
eressea.settings.set("NewbieImmunity", "0")
|
||||||
|
end
|
||||||
|
|
||||||
|
local function create_faction(race)
|
||||||
|
return faction.create(race, race .. '@example.com', "de")
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_greatbow_needs_elf()
|
||||||
|
-- only elves can build a greatbow
|
||||||
|
local r = region.create(0, 0, 'mountain')
|
||||||
|
local f = create_faction('human')
|
||||||
|
local u = unit.create(f, r, 1)
|
||||||
|
|
||||||
|
turn_begin()
|
||||||
|
u:set_skill('weaponsmithing', 5)
|
||||||
|
u:add_item('mallorn', 2)
|
||||||
|
u:add_order("MACHE Elfenbogen")
|
||||||
|
turn_process() -- humans cannot do it
|
||||||
|
assert_equal(1, f:count_msg_type("error117"))
|
||||||
|
assert_equal(0, u:get_item('greatbow'))
|
||||||
|
assert_equal(2, u:get_item('mallorn'))
|
||||||
|
|
||||||
|
u.race = 'elf'
|
||||||
|
turn_process() -- but elves can
|
||||||
|
assert_equal(1, u:get_item('greatbow'))
|
||||||
|
assert_equal(0, u:get_item('mallorn'))
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_troll_quarrying_bonus()
|
||||||
|
-- Von Trollen abgebaute Steine werden nur zu 75% vom "Regionsvorrat" abgezogen.
|
||||||
|
-- Dieser Effekt ist kumulativ zu einem Steinbruch.
|
||||||
|
local r = region.create(0, 0, 'mountain')
|
||||||
|
local f = create_faction('human')
|
||||||
|
local u = unit.create(f, r, 1)
|
||||||
|
|
||||||
|
turn_begin()
|
||||||
|
r:set_resource("stone", 100)
|
||||||
|
u:set_skill('quarrying', 4)
|
||||||
|
u:add_order("MACHE Steine")
|
||||||
|
turn_process() -- humans get no bonus
|
||||||
|
assert_equal(4, u:get_item('stone'))
|
||||||
|
assert_equal(96, r:get_resource('stone'))
|
||||||
|
|
||||||
|
u.race = 'troll'
|
||||||
|
u:set_skill('quarrying', 2)
|
||||||
|
turn_process() -- trolls have +2 to quarrying, and save 25%
|
||||||
|
assert_equal(8, u:get_item('stone'))
|
||||||
|
assert_equal(93, r:get_resource('stone'))
|
||||||
|
end
|
||||||
|
|
||||||
|
function test_dwarf_mining_bonus()
|
||||||
|
-- Von Zwergen abgebautes Eisen wird nur zu 60% vom "Regionsvorrat" abgezogen.
|
||||||
|
-- Dieser Effekt ist kumulativ zu einem Bergwerk (siehe hier und hier).
|
||||||
|
local r = region.create(0, 0, 'mountain')
|
||||||
|
local f = create_faction('human')
|
||||||
|
local u = unit.create(f, r, 1)
|
||||||
|
|
||||||
|
turn_begin()
|
||||||
|
r:set_resource('iron', 100)
|
||||||
|
u:set_skill('mining', 10)
|
||||||
|
u:add_order('MACHE Eisen')
|
||||||
|
turn_process() -- humans get no bonus
|
||||||
|
assert_equal(10, u:get_item('iron'))
|
||||||
|
assert_equal(90, r:get_resource('iron'))
|
||||||
|
|
||||||
|
u.race = 'dwarf'
|
||||||
|
u:set_skill('mining', 8)
|
||||||
|
turn_process() -- dwarves have +2 to mining, and save 40%
|
||||||
|
assert_equal(20, u:get_item('iron'))
|
||||||
|
assert_equal(84, r:get_resource('iron'))
|
||||||
|
end
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue