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,6 +1,7 @@
|
||||||
{
|
{
|
||||||
"include": [
|
"include": [
|
||||||
"keywords.json",
|
"keywords.json",
|
||||||
|
"calendar.json",
|
||||||
"prefixes.json",
|
"prefixes.json",
|
||||||
"e2/terrains.json"
|
"e2/terrains.json"
|
||||||
],
|
],
|
||||||
|
@ -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"/>
|
||||||
|
|
|
@ -2,10 +2,5 @@
|
||||||
<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>
|
||||||
|
|
|
@ -3,9 +3,8 @@
|
||||||
<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>
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
<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>
|
||||||
|
|
|
@ -3,9 +3,7 @@
|
||||||
<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"/>
|
||||||
|
|
|
@ -3,8 +3,7 @@
|
||||||
<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>
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
<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>
|
||||||
|
|
|
@ -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