forked from github/server
Merge remote-tracking branch 'upstream/master'
Conflicts: scripts/tests/common.lua
This commit is contained in:
commit
025a04a5e9
|
@ -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.
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"calendar" : {
|
||||
"months" : [
|
||||
{ "storm" : 60, "season" : 2 },
|
||||
|
||||
{ "storm" : 10, "season" : 3 },
|
||||
{ "storm" : 60, "season" : 3 },
|
||||
|
||||
{ "storm" : 10, "season" : 0 },
|
||||
{ "storm" : 60, "season" : 0 },
|
||||
{ "storm" : 80, "season" : 0 },
|
||||
|
||||
{ "storm" : 50, "season" : 1 },
|
||||
{ "storm" : 30, "season" : 1 },
|
||||
|
||||
{ "storm" : 60, "season" : 2 }
|
||||
],
|
||||
"weeks" : [
|
||||
"firstweek", "secondweek", "thirdweek"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,9 +1,10 @@
|
|||
{
|
||||
"include": [
|
||||
"keywords.json",
|
||||
"prefixes.json",
|
||||
"include": [
|
||||
"keywords.json",
|
||||
"calendar.json",
|
||||
"prefixes.json",
|
||||
"e2/terrains.json"
|
||||
],
|
||||
],
|
||||
"disabled": [
|
||||
"jsreport"
|
||||
],
|
||||
|
@ -21,13 +22,12 @@
|
|||
"GiveRestriction": 3,
|
||||
"hunger.long": true,
|
||||
"init_spells": 0,
|
||||
"world.era": 2,
|
||||
"seed.population.min": 8,
|
||||
"seed.population.max": 8,
|
||||
"game.era": 2,
|
||||
"game.start": 184,
|
||||
"rules.reserve.twophase": true,
|
||||
"rules.give.max_men": -1,
|
||||
"rules.check_overload": false,
|
||||
"rules.limit.faction": 2500,
|
||||
"rules.limit.faction": 3000,
|
||||
"rules.maxskills.magic": 5,
|
||||
"rules.guard.base_stop_prob": 0.30,
|
||||
"rules.guard.skill_stop_prob": 0.05,
|
||||
|
|
|
@ -15,8 +15,6 @@
|
|||
<xi:include href="config://game/familiars.xml"/>
|
||||
<xi:include href="config://game/artrewards.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/items.xml"/>
|
||||
<xi:include href="config://game/spells.xml"/>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"include": [
|
||||
"keywords.json",
|
||||
"calendar.json",
|
||||
"prefixes.json",
|
||||
"e3/terrains.json"
|
||||
],
|
||||
|
@ -51,11 +52,11 @@
|
|||
"recruit.allow_merge": true,
|
||||
"study.expensivemigrants": true,
|
||||
"study.speedup": 2,
|
||||
"world.era": 3,
|
||||
"seed.population.min": 8,
|
||||
"seed.population.max": 8,
|
||||
"game.era": 3,
|
||||
"game.start": 1,
|
||||
"rules.reserve.twophase": true,
|
||||
"rules.owners.force_leave": false,
|
||||
"rules.wage.function": 2,
|
||||
"rules.monsters.attack_chance": 0.1,
|
||||
"rules.transfermen": false,
|
||||
"stealth.faction.other": false,
|
||||
|
@ -87,7 +88,7 @@
|
|||
"rules.economy.herbrot": 0,
|
||||
"rules.region_owner_pay_building": "market harbour lighthouse",
|
||||
"rules.dwarf_castles": true,
|
||||
"rules.limit.faction": 250,
|
||||
"rules.limit.faction": 500,
|
||||
"rules.grow.formula": 1,
|
||||
"rules.tactics.formula": 1,
|
||||
"rules.help.mask": "fight guard money give",
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
|
||||
<xi:include href="config://game/ships.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/races.xml"/>
|
||||
<xi:include href="config://game/buildings.xml"/>
|
||||
|
@ -21,14 +20,9 @@
|
|||
<xi:include href="config://game/armor.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-skeletons.xml"/>
|
||||
<xi:include href="config://default/names-zombies.xml"/>
|
||||
<xi:include href="config://default/names-ghouls.xml"/>
|
||||
<xi:include href="config://default/names-dragons.xml"/>
|
||||
<rules>
|
||||
<function name="wage" value="minimum_wage"/>
|
||||
</rules>
|
||||
</eressea>
|
||||
|
|
|
@ -2,11 +2,9 @@
|
|||
email = eressea-server@kn-bremen.de
|
||||
sender = Eressea Server
|
||||
name = Eressea
|
||||
base = .
|
||||
report = reports
|
||||
verbose = 0
|
||||
lomem = 0
|
||||
debug = 0
|
||||
memcheck = 0
|
||||
locales = de,en
|
||||
|
||||
|
|
|
@ -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/)
|
|
@ -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/).
|
|
@ -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
|
||||
# accept the order file.
|
||||
|
||||
if [ "yes" != "$CONFIRM" ] ; then
|
||||
exit
|
||||
fi
|
||||
|
||||
for GAME in $*
|
||||
do
|
||||
if [ "$GAME" == "eressea" ]; then GAME=2 ; fi
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#!/bin/bash
|
||||
|
||||
[ -z ${ERESSEA} ] && ERESSEA=~/eressea
|
||||
[ "$PREVIEW" != "yes" ] && exit
|
||||
[ -z ${ERESSEA} ] && ERESSEA=$HOME/eressea
|
||||
|
||||
branch="develop"
|
||||
if [ -e ${ERESSEA}/build/.preview ]; then
|
||||
branch=`cat ${ERESSEA}/build/.preview`
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
#!/bin/bash
|
||||
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)
|
||||
if [ ! -e $ERESSEA/game-$GAME/data/$TURN.dat ]; then
|
||||
echo "data file $TURN is missing, cannot run turn for game $GAME"
|
||||
|
@ -14,6 +18,18 @@ fi
|
|||
mkdir $REPORTS
|
||||
|
||||
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
|
||||
touch test/execute.lock
|
||||
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
|
||||
TURN=$2
|
||||
|
||||
|
@ -12,3 +14,4 @@ echo "running turn $TURN, game $GAME"
|
|||
$ERESSEA/server/bin/eressea -v3 -t $TURN run-turn.lua
|
||||
mkdir -p log
|
||||
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">
|
||||
<construction skill="mining" minskill="8"/>
|
||||
</item>
|
||||
<resourcelimit>
|
||||
<modifier building="mine" type="skill" value="1"/>
|
||||
<modifier type="require" building="mine"/>
|
||||
</resourcelimit>
|
||||
</resource>
|
||||
|
||||
<resource name="adamantiumaxe">
|
||||
|
|
|
@ -1,23 +1,21 @@
|
|||
<?xml version="1.0"?>
|
||||
<building name="castle" capacity="1" fort="yes">
|
||||
<function name="name" value="castle_name_2"/>
|
||||
<function name="taxes" value="lua_building_taxes"/>
|
||||
<construction skill="building" minskill="1" maxsize="10">
|
||||
<building name="castle" capacity="1" fort="yes" taxes="100">
|
||||
<construction skill="building" minskill="1" maxsize="10" name="site">
|
||||
<requirement type="stone" quantity="1"/>
|
||||
</construction>
|
||||
<construction skill="building" minskill="2" maxsize="40">
|
||||
<construction skill="building" minskill="2" maxsize="40" name="fortification">
|
||||
<requirement type="stone" quantity="1"/>
|
||||
</construction>
|
||||
<construction skill="building" minskill="3" maxsize="200">
|
||||
<construction skill="building" minskill="3" maxsize="200" name="tower">
|
||||
<requirement type="stone" quantity="1"/>
|
||||
</construction>
|
||||
<construction skill="building" minskill="4" maxsize="1000">
|
||||
<construction skill="building" minskill="4" maxsize="1000" name="castle">
|
||||
<requirement type="stone" quantity="1"/>
|
||||
</construction>
|
||||
<construction skill="building" minskill="5" maxsize="5000">
|
||||
<construction skill="building" minskill="5" maxsize="5000" name="fortress">
|
||||
<requirement type="stone" quantity="1"/>
|
||||
</construction>
|
||||
<construction skill="building" minskill="6">
|
||||
<construction skill="building" minskill="6" name="citadel">
|
||||
<requirement type="stone" quantity="1"/>
|
||||
</construction>
|
||||
</building>
|
||||
|
|
|
@ -1,25 +1,24 @@
|
|||
<?xml version="1.0"?>
|
||||
<building name="castle" capacity="1" fort="yes">
|
||||
<function name="name" value="castle_name"/>
|
||||
<construction skill="building" minskill="1" maxsize="2">
|
||||
<construction skill="building" minskill="1" maxsize="2" name="site">
|
||||
<requirement type="stone" quantity="1"/>
|
||||
</construction>
|
||||
<construction skill="building" minskill="1" maxsize="8">
|
||||
<construction skill="building" minskill="1" maxsize="8" name="tradepost">
|
||||
<requirement type="stone" quantity="1"/>
|
||||
</construction>
|
||||
<construction skill="building" minskill="2" maxsize="40">
|
||||
<construction skill="building" minskill="2" maxsize="40" name="fortification">
|
||||
<requirement type="stone" quantity="1"/>
|
||||
</construction>
|
||||
<construction skill="building" minskill="3" maxsize="200">
|
||||
<construction skill="building" minskill="3" maxsize="200" name="tower">
|
||||
<requirement type="stone" quantity="1"/>
|
||||
</construction>
|
||||
<construction skill="building" minskill="4" maxsize="1000">
|
||||
<construction skill="building" minskill="4" maxsize="1000" name="castle">
|
||||
<requirement type="stone" quantity="1"/>
|
||||
</construction>
|
||||
<construction skill="building" minskill="5" maxsize="5000">
|
||||
<construction skill="building" minskill="5" maxsize="5000" name="fortress">
|
||||
<requirement type="stone" quantity="1"/>
|
||||
</construction>
|
||||
<construction skill="building" minskill="6">
|
||||
<construction skill="building" minskill="6" name="citadel">
|
||||
<requirement type="stone" quantity="1"/>
|
||||
</construction>
|
||||
</building>
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="plate">
|
||||
<item weight="400" score="150">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<construction skill="armorer" minskill="4">
|
||||
<requirement type="iron" quantity="5"/>
|
||||
</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 name="smithy" capacity="1">
|
||||
<function name="init" value="init_smithy"/>
|
||||
<maintenance type="money" amount="300"/>
|
||||
<maintenance type="log" amount="1"/>
|
||||
<construction skill="building" minskill="3">
|
||||
|
@ -102,6 +101,8 @@
|
|||
<requirement type="iron" quantity="2"/>
|
||||
<requirement type="money" quantity="200"/>
|
||||
</construction>
|
||||
<modifier type="skill" skill="weaponsmithing" value="1"/>
|
||||
<modifier type="skill" skill="armorer" value="1"/>
|
||||
</building>
|
||||
|
||||
<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"/>
|
||||
</resource>
|
||||
|
||||
<resource name="aoc" appearance="amulet">
|
||||
<item weight="100">
|
||||
<function name="use" value="use_birthdayamulet"/>
|
||||
</item>
|
||||
</resource>
|
||||
|
||||
<resource name="dreameye">
|
||||
<item weight="100">
|
||||
<function name="use" value="use_tacticcrystal"/>
|
||||
</item>
|
||||
<item weight="100" use="yes" />
|
||||
</resource>
|
||||
|
||||
<resource name="pegasus">
|
||||
|
@ -78,9 +70,7 @@
|
|||
</resource>
|
||||
|
||||
<resource name="elvenhorse">
|
||||
<item weight="5000" notlost="yes" big="yes" score="6000" capacity="7000" animal="yes">
|
||||
<function name="give" value="givehorses"/>
|
||||
</item>
|
||||
<item weight="5000" notlost="yes" big="yes" score="6000" capacity="7000" animal="yes"/>
|
||||
</resource>
|
||||
|
||||
<resource name="dolphin">
|
||||
|
@ -100,39 +90,34 @@
|
|||
</resource>
|
||||
|
||||
<!-- XE items -->
|
||||
<resource name="studypotion" appearance="vial">
|
||||
<!-- gives user one free learning attempt -->
|
||||
<item weight="0" use="yes" />
|
||||
</resource>
|
||||
|
||||
<resource name="skillpotion" appearance="vial">
|
||||
<!-- gives user one free learning attempt -->
|
||||
<item weight="0">
|
||||
<function name="use" value="use_skillpotion"/>
|
||||
</item>
|
||||
<item weight="0" use="yes" />
|
||||
</resource>
|
||||
|
||||
<resource name="manacrystal" appearance="amulet">
|
||||
<!-- gives user free aura -->
|
||||
<item weight="0">
|
||||
<function name="use" value="use_manacrystal"/>
|
||||
</item>
|
||||
<item weight="0" use="yes" />
|
||||
</resource>
|
||||
|
||||
<!-- xmas items -->
|
||||
<resource name="mistletoe">
|
||||
<!-- Sets the chance of escape in a fight to 100 percent -->
|
||||
<item notlost="yes" weight="0">
|
||||
<function name="use" value="usemistletoe"/>
|
||||
</item>
|
||||
<item notlost="yes" weight="0" use="yes" />
|
||||
</resource>
|
||||
|
||||
<resource name="speedsail">
|
||||
<item weight="0">
|
||||
<function name="use" value="use_speedsail"/>
|
||||
</item>
|
||||
<item weight="0" use="yes" />
|
||||
</resource>
|
||||
|
||||
<!-- items -->
|
||||
<resource name="antimagic" appearance="amulet">
|
||||
<item weight="0" score="2000">
|
||||
<function name="use" value="use_antimagiccrystal"/>
|
||||
</item>
|
||||
<item weight="0" score="2000" use="yes" />
|
||||
</resource>
|
||||
|
||||
<resource name="catapultammo">
|
||||
|
|
|
@ -4,8 +4,7 @@
|
|||
|
||||
<!-- potions -->
|
||||
<resource name="p0" appearance="vial">
|
||||
<item weight="0" score="30">
|
||||
<function name="use" value="usepotion"/>
|
||||
<item weight="0" score="30" use="yes">
|
||||
<potion level="1"/>
|
||||
<construction skill="alchemy" minskill="2">
|
||||
<requirement type="h4"/>
|
||||
|
@ -15,8 +14,7 @@
|
|||
</resource>
|
||||
|
||||
<resource name="goliathwater" appearance="vial">
|
||||
<item weight="0" score="30">
|
||||
<function name="use" value="usepotion"/>
|
||||
<item weight="0" score="30" use="yes">
|
||||
<potion level="1"/>
|
||||
<construction skill="alchemy" minskill="2">
|
||||
<requirement type="h6"/>
|
||||
|
@ -26,8 +24,7 @@
|
|||
</resource>
|
||||
|
||||
<resource name="truthpotion" appearance="vial">
|
||||
<item weight="0" score="30">
|
||||
<function name="use" value="usepotion"/>
|
||||
<item weight="0" score="30" use="yes">
|
||||
<potion level="1"/>
|
||||
<construction skill="alchemy" minskill="2">
|
||||
<requirement type="h0"/>
|
||||
|
@ -37,8 +34,7 @@
|
|||
</resource>
|
||||
|
||||
<resource name="p2" appearance="vial">
|
||||
<item weight="0" score="30">
|
||||
<function name="use" value="usepotion"/>
|
||||
<item weight="0" score="30" use="yes">
|
||||
<potion level="1"/>
|
||||
<construction skill="alchemy" minskill="2">
|
||||
<requirement type="h5"/>
|
||||
|
@ -48,8 +44,7 @@
|
|||
</resource>
|
||||
|
||||
<resource name="p3" appearance="vial">
|
||||
<item weight="0" score="60">
|
||||
<function name="use" value="usepotion"/>
|
||||
<item weight="0" score="60" use="yes">
|
||||
<potion level="2"/>
|
||||
<construction skill="alchemy" minskill="4">
|
||||
<requirement type="h14"/>
|
||||
|
@ -61,8 +56,7 @@
|
|||
|
||||
<resource name="ointment" appearance="vial">
|
||||
<!-- Wundsalbe -->
|
||||
<item weight="0" score="60">
|
||||
<function name="use" value="usehealingpotion"/>
|
||||
<item weight="0" score="60" use="yes">
|
||||
<potion level="2"/>
|
||||
<construction skill="alchemy" minskill="4">
|
||||
<requirement type="h19"/>
|
||||
|
@ -74,8 +68,7 @@
|
|||
|
||||
<resource name="peasantblood" appearance="vial">
|
||||
<!-- Bauernblut -->
|
||||
<item weight="0" score="60">
|
||||
<function name="use" value="usebloodpotion"/>
|
||||
<item weight="0" score="60" use="yes">
|
||||
<potion level="2"/>
|
||||
<construction skill="alchemy" minskill="4">
|
||||
<requirement type="h17"/>
|
||||
|
@ -87,8 +80,7 @@
|
|||
</resource>
|
||||
|
||||
<resource name="p6" appearance="vial">
|
||||
<item weight="0" score="90">
|
||||
<function name="use" value="usepotion"/>
|
||||
<item weight="0" score="90" use="yes">
|
||||
<potion level="3"/>
|
||||
<construction skill="alchemy" minskill="6">
|
||||
<requirement type="h9"/>
|
||||
|
@ -100,8 +92,7 @@
|
|||
</resource>
|
||||
|
||||
<resource name="p7" appearance="vial">
|
||||
<item weight="0" score="90">
|
||||
<function name="useonother" value="usefoolpotion"/>
|
||||
<item weight="0" score="90" use="yes">
|
||||
<potion level="3"/>
|
||||
<construction skill="alchemy" minskill="6">
|
||||
<requirement type="h2"/>
|
||||
|
@ -113,8 +104,7 @@
|
|||
</resource>
|
||||
|
||||
<resource name="nestwarmth" appearance="vial">
|
||||
<item weight="0" score="90">
|
||||
<function name="use" value="usewarmthpotion"/>
|
||||
<item weight="0" score="90" use="yes">
|
||||
<potion level="3"/>
|
||||
<construction skill="alchemy" minskill="6">
|
||||
<requirement type="h18"/>
|
||||
|
@ -126,8 +116,7 @@
|
|||
</resource>
|
||||
|
||||
<resource name="p9" appearance="vial">
|
||||
<item weight="0" score="90">
|
||||
<function name="use" value="usepotion"/>
|
||||
<item weight="0" score="90" use="yes">
|
||||
<potion level="3"/>
|
||||
<construction skill="alchemy" minskill="6">
|
||||
<requirement type="h4"/>
|
||||
|
@ -139,8 +128,7 @@
|
|||
</resource>
|
||||
|
||||
<resource name="p10" appearance="vial">
|
||||
<item weight="0" score="90">
|
||||
<function name="use" value="usepotion"/>
|
||||
<item weight="0" score="90" use="yes">
|
||||
<potion level="3"/>
|
||||
<construction skill="alchemy" minskill="6">
|
||||
<requirement type="h19"/>
|
||||
|
@ -152,8 +140,7 @@
|
|||
</resource>
|
||||
|
||||
<resource name="p11" appearance="vial">
|
||||
<item weight="0" score="120">
|
||||
<function name="use" value="usepotion"/>
|
||||
<item weight="0" score="120" use="yes">
|
||||
<potion level="4"/>
|
||||
<construction skill="alchemy" minskill="8">
|
||||
<requirement type="h14"/>
|
||||
|
@ -166,8 +153,7 @@
|
|||
</resource>
|
||||
|
||||
<resource name="p13" appearance="vial">
|
||||
<item weight="0" score="120">
|
||||
<function name="use" value="usepotion"/>
|
||||
<item weight="0" score="120" use="yes">
|
||||
<potion level="4"/>
|
||||
<construction skill="alchemy" minskill="8">
|
||||
<requirement type="h5"/>
|
||||
|
@ -181,8 +167,7 @@
|
|||
</resource>
|
||||
|
||||
<resource name="p14" appearance="vial">
|
||||
<item weight="0" score="120">
|
||||
<function name="use" value="usepotion"/>
|
||||
<item weight="0" score="120" use="yes">
|
||||
<potion level="4"/>
|
||||
<construction skill="alchemy" minskill="8">
|
||||
<requirement type="h6"/>
|
||||
|
|
|
@ -1458,12 +1458,6 @@
|
|||
<string name="aots_p">
|
||||
<text locale="de">Amulette des wahren Sehens</text>
|
||||
</string>
|
||||
<string name="aoc">
|
||||
<text locale="de">Katzenamulett</text>
|
||||
</string>
|
||||
<string name="aoc_p">
|
||||
<text locale="de">Katzenamulette</text>
|
||||
</string>
|
||||
<string name="roi">
|
||||
<text locale="de">Ring der Unsichtbarkeit</text>
|
||||
</string>
|
||||
|
@ -6529,13 +6523,17 @@
|
|||
<text locale="de">Sonnenfeuer</text>
|
||||
<text locale="en">sunfire</text>
|
||||
</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="en">the second age</text>
|
||||
</string>
|
||||
<string name="newage">
|
||||
<text locale="de">neuer Zeitrechnung</text>
|
||||
<text locale="en">of the new age</text>
|
||||
<string name="age_3">
|
||||
<text locale="de">des dritten Zeitalters</text>
|
||||
<text locale="en">the third age</text>
|
||||
</string>
|
||||
</namespace>
|
||||
|
||||
|
|
|
@ -444,12 +444,6 @@
|
|||
<string name="ao_chastity_p">
|
||||
<text locale="en">amulets of chastity</text>
|
||||
</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">
|
||||
<text locale="en">amulet of darkness</text>
|
||||
</string>
|
||||
|
|
|
@ -458,12 +458,6 @@
|
|||
<string name="ao_chastity_p">
|
||||
<text locale="fr">amulettes de chasteté</text>
|
||||
</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">
|
||||
<text locale="fr">amulette de ténčbres</text>
|
||||
</string>
|
||||
|
|
|
@ -5536,8 +5536,8 @@
|
|||
<arg name="region" type="region"/>
|
||||
<arg name="command" type="order"/>
|
||||
</type>
|
||||
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - Nur Elfen können diese Bögen herstellen."</text>
|
||||
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - Only elves can make these bows."</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)' - This unit cannot produce that."</text>
|
||||
</message>
|
||||
<message name="error117" section="errors">
|
||||
<type>
|
||||
|
@ -5545,8 +5545,8 @@
|
|||
<arg name="region" type="region"/>
|
||||
<arg name="command" type="order"/>
|
||||
</type>
|
||||
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - Nur die EMail-Adresse angeben!"</text>
|
||||
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - Please provide only an email address!"</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)' - This race cannot produce that."</text>
|
||||
</message>
|
||||
<message name="error116" section="errors">
|
||||
<type>
|
||||
|
@ -7678,24 +7678,6 @@
|
|||
<text locale="en">"$unit($unit) plays the bagpipe. Stricken with fear the peasants give $int($money) silver."</text>
|
||||
</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">
|
||||
<type>
|
||||
<arg name="command" type="order"/>
|
||||
|
|
|
@ -1,11 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="horse" limited="yes">
|
||||
<item big="yes" weight="5000" score="10" capacity="7000" animal="yes">
|
||||
<construction skill="training" minskill="1"/>
|
||||
<function name="give" value="givehorses"/>
|
||||
<construction skill="training" minskill="1" />
|
||||
</item>
|
||||
<resourcelimit>
|
||||
<function name="produce" value="lua_produceresource"/>
|
||||
<function name="limit" value="lua_limitresource"/>
|
||||
</resourcelimit>
|
||||
</resource>
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="hp" pooled="false">
|
||||
<function name="change" value="lua_changeresource"/>
|
||||
<function name="get" value="lua_getresource"/>
|
||||
</resource>
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="iron" limited="yes" material="yes">
|
||||
<item weight="500" score="10">
|
||||
<construction skill="mining" minskill="1"/>
|
||||
</item>
|
||||
<resourcelimit>
|
||||
<item weight="500" score="10">
|
||||
<construction skill="mining" minskill="1"/>
|
||||
</item>
|
||||
<modifier building="smithy" type="save" value="2"/>
|
||||
<modifier building="mine" type="skill" value="1"/>
|
||||
<modifier building="mine" type="material" value="0.5"/>
|
||||
<modifier race="dwarf" type="material" value="0.60"/>
|
||||
</resourcelimit>
|
||||
<modifier race="dwarf" type="material" value="0.6"/>
|
||||
</resource>
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="laen" limited="yes" material="yes">
|
||||
<item weight="200" score="100">
|
||||
<construction skill="mining" minskill="7"/>
|
||||
</item>
|
||||
<resourcelimit>
|
||||
<modifier building="mine" type="skill" value="1"/>
|
||||
<modifier type="require" building="mine"/>
|
||||
</resourcelimit>
|
||||
<item weight="200" score="100">
|
||||
<construction skill="mining" minskill="7"/>
|
||||
</item>
|
||||
<modifier building="mine" type="skill" value="1"/>
|
||||
<modifier type="require" building="mine"/>
|
||||
</resource>
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="log">
|
||||
<item weight="500" score="10">
|
||||
<construction skill="forestry" minskill="1"/>
|
||||
</item>
|
||||
<resourcelimit>
|
||||
<resource name="log" limited="yes">
|
||||
<item weight="500" score="10">
|
||||
<construction skill="forestry" minskill="1"/>
|
||||
</item>
|
||||
<modifier building="sawmill" type="skill" value="1"/>
|
||||
<modifier building="sawmill" type="material" value="0.5"/>
|
||||
<function name="produce" value="lua_produceresource"/>
|
||||
<function name="limit" value="lua_limitresource"/>
|
||||
</resourcelimit>
|
||||
</resource>
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="mallorn">
|
||||
<item weight="500" score="30">
|
||||
<construction skill="forestry" minskill="2"/>
|
||||
</item>
|
||||
<resourcelimit>
|
||||
<resource name="mallorn" limited="yes">
|
||||
<item weight="500" score="30">
|
||||
<construction skill="forestry" minskill="2"/>
|
||||
</item>
|
||||
<modifier building="sawmill" type="skill" value="1"/>
|
||||
<modifier building="sawmill" type="material" value="0.5"/>
|
||||
<function name="produce" value="lua_produceresource"/>
|
||||
<function name="limit" value="lua_limitresource"/>
|
||||
</resourcelimit>
|
||||
</resource>
|
||||
|
|
|
@ -3,8 +3,4 @@
|
|||
<item weight="10" score="100">
|
||||
<construction skill="herbalism" minskill="4"/>
|
||||
</item>
|
||||
<resourcelimit>
|
||||
<function name="produce" value="lua_produceresource"/>
|
||||
<function name="limit" value="lua_limitresource"/>
|
||||
</resourcelimit>
|
||||
</resource>
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="peasant" pooled="false">
|
||||
<function name="change" value="lua_changeresource"/>
|
||||
<function name="get" value="lua_getresource"/>
|
||||
</resource>
|
||||
|
|
|
@ -3,8 +3,4 @@
|
|||
<item weight="10" score="50">
|
||||
<construction skill="herbalism" minskill="3"/>
|
||||
</item>
|
||||
<resourcelimit>
|
||||
<function name="produce" value="lua_produceresource"/>
|
||||
<function name="limit" value="lua_limitresource"/>
|
||||
</resourcelimit>
|
||||
</resource>
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="stone" limited="yes" material="yes">
|
||||
<item weight="6000" score="10" big="yes">
|
||||
<construction skill="quarrying" minskill="1"/>
|
||||
</item>
|
||||
<resourcelimit>
|
||||
<item weight="6000" score="10" big="yes">
|
||||
<construction skill="quarrying" minskill="1"/>
|
||||
</item>
|
||||
<modifier building="quarry" type="skill" value="1"/>
|
||||
<modifier building="quarry" type="material" value="0.5"/>
|
||||
<modifier race="troll" type="material" value="0.75"/>
|
||||
</resourcelimit>
|
||||
</resource>
|
||||
|
|
|
@ -10,14 +10,12 @@
|
|||
|
||||
<!-- shared spells -->
|
||||
<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="money" amount="3000" cost="fixed"/>
|
||||
<resource name="permaura" amount="1" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="money" amount="3000" cost="fixed"/>
|
||||
<resource name="permaura" amount="1" cost="fixed"/>
|
||||
|
@ -25,12 +23,10 @@
|
|||
|
||||
<!-- draig spells -->
|
||||
<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"/>
|
||||
</spell>
|
||||
|
||||
<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="p10" amount="1" cost="fixed"/>
|
||||
<resource name="sword" amount="1" cost="fixed"/>
|
||||
|
@ -38,19 +34,16 @@
|
|||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<!-- gwyrrd spells -->
|
||||
<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"/>
|
||||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
<resource name="p2" amount="1" cost="fixed"/>
|
||||
|
@ -58,18 +51,15 @@
|
|||
|
||||
<!-- illaun spells -->
|
||||
<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"/>
|
||||
</spell>
|
||||
|
||||
<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="permaura" amount="5" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="money" amount="30000" cost="fixed"/>
|
||||
<resource name="permaura" amount="3" cost="fixed"/>
|
||||
|
@ -77,12 +67,10 @@
|
|||
|
||||
<!-- cerddor spells -->
|
||||
<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"/>
|
||||
</spell>
|
||||
|
||||
<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="money" amount="1000" cost="fixed"/>
|
||||
<resource name="permaura" amount="1" cost="fixed"/>
|
||||
|
@ -90,25 +78,21 @@
|
|||
|
||||
<!-- tybied spells -->
|
||||
<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"/>
|
||||
</spell>
|
||||
|
||||
<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="money" amount="3000" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
<resource name="money" amount="4000" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
<resource name="money" amount="5000" cost="fixed"/>
|
||||
|
@ -116,7 +100,6 @@
|
|||
|
||||
<!-- gray magic -->
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
<resource name="money" amount="1000" cost="fixed"/>
|
||||
|
@ -124,20 +107,17 @@
|
|||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
<resource name="money" amount="3000" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
</spell>
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="axe">
|
||||
<item weight="200">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<construction skill="weaponsmithing" minskill="3">
|
||||
<requirement type="log" quantity="1"/>
|
||||
<requirement type="iron" quantity="1"/>
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="greatbow">
|
||||
<modifier type="require" race="elf"/>
|
||||
<item weight="100">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<construction skill="weaponsmithing" minskill="5">
|
||||
<modifier function="mod_elves_only"/>
|
||||
<requirement type="mallorn" quantity="2"/>
|
||||
</construction>
|
||||
<weapon pierce="true" missile="true" skill="bow" offmod="0" defmod="0" reload="0" magres="0.0">
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="greatsword">
|
||||
<item weight="200" score="30">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<construction skill="weaponsmithing" minskill="4">
|
||||
<requirement type="iron" quantity="2"/>
|
||||
</construction>
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="halberd">
|
||||
<item weight="200">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<construction skill="weaponsmithing" minskill="3">
|
||||
<requirement type="log" quantity="2"/>
|
||||
<requirement type="iron" quantity="1"/>
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="lance">
|
||||
<item weight="200">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<construction skill="weaponsmithing" minskill="2">
|
||||
<requirement type="log" quantity="2"/>
|
||||
</construction>
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="mallornlance">
|
||||
<item weight="100">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<construction skill="weaponsmithing" minskill="5">
|
||||
<requirement type="mallorn" quantity="2"/>
|
||||
</construction>
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="rustyaxe">
|
||||
<item weight="200">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<construction skill="weaponsmithing" minskill="3">
|
||||
<requirement type="log" quantity="1"/>
|
||||
<requirement type="iron" quantity="1"/>
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="rustyhalberd">
|
||||
<item weight="200" score="20">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<construction skill="weaponsmithing" minskill="3">
|
||||
<requirement type="iron" quantity="1"/>
|
||||
<requirement type="log" quantity="1"/>
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="plate">
|
||||
<item weight="400" score="150">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<item weight="400" score="150" deny="goblin">
|
||||
<construction skill="armorer" minskill="4">
|
||||
<requirement type="iron" quantity="4"/>
|
||||
</construction>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="scale">
|
||||
<item weight="300" score="150">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<modifier type="require" race="dwarf"/>
|
||||
<modifier type="require" race="irongolem"/>
|
||||
<item weight="300" score="150" allow="dwarf halfling">
|
||||
<construction skill="armorer" minskill="5">
|
||||
<modifier function="mod_dwarves_only"/>
|
||||
<requirement type="iron" quantity="2"/>
|
||||
</construction>
|
||||
<armor ac="3" penalty="0.10" projectile="0.05" magres="0.0"/>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="towershield">
|
||||
<item weight="200" score="60">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<modifier type="require" race="dwarf"/>
|
||||
<modifier type="require" race="irongolem"/>
|
||||
<item weight="200" score="60" allow="dwarf">
|
||||
<construction skill="armorer" minskill="4">
|
||||
<modifier function="mod_dwarves_only"/>
|
||||
<requirement type="iron" quantity="1"/>
|
||||
</construction>
|
||||
<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" />
|
||||
|
||||
<building name="watch" maxsize="10" capacity="1" fort="yes">
|
||||
<function name="name" value="fort_name"/>
|
||||
<function name="taxes" value="lua_building_taxes"/>
|
||||
<construction skill="building" minskill="1" maxsize="5">
|
||||
<building name="watch" maxsize="10" capacity="1" fort="yes" taxes="200">
|
||||
<construction skill="building" minskill="1" maxsize="5" name="scaffolding">
|
||||
<requirement type="log" quantity="1"/>
|
||||
</construction>
|
||||
<construction skill="building" minskill="2" maxsize="5">
|
||||
<construction skill="building" minskill="2" maxsize="5" name="guardhouse">
|
||||
<requirement type="log" quantity="1"/>
|
||||
</construction>
|
||||
<construction skill="building" minskill="2">
|
||||
<construction skill="building" minskill="2" name="guardtower">
|
||||
<requirement type="log" quantity="1"/>
|
||||
</construction>
|
||||
</building>
|
||||
|
|
|
@ -7,83 +7,72 @@
|
|||
|
||||
<resource name="ointment" appearance="vial">
|
||||
<!-- Wundsalbe -->
|
||||
<item weight="0" score="60">
|
||||
<function name="use" value="usehealingpotion"/>
|
||||
<item weight="0" score="60" use="yes">
|
||||
<potion level="2"/>
|
||||
</item>
|
||||
</resource>
|
||||
|
||||
<resource name="p13" appearance="vial">
|
||||
<!-- Elixier der Macht -->
|
||||
<item weight="0" score="120">
|
||||
<function name="use" value="usepotion"/>
|
||||
<item weight="0" score="120" use="yes">
|
||||
<potion level="4"/>
|
||||
</item>
|
||||
</resource>
|
||||
|
||||
<resource name="p3" appearance="vial">
|
||||
<!-- Schaffenstrunk -->
|
||||
<item weight="0" score="60">
|
||||
<function name="use" value="usepotion"/>
|
||||
<item weight="0" score="60" use ="yes">
|
||||
<potion level="2"/>
|
||||
</item>
|
||||
</resource>
|
||||
|
||||
<resource name="p14" appearance="vial">
|
||||
<!-- Heiltrank -->
|
||||
<item weight="0" score="120">
|
||||
<function name="use" value="usepotion"/>
|
||||
<item weight="0" score="120" use="yes">
|
||||
<potion level="4"/>
|
||||
</item>
|
||||
</resource>
|
||||
|
||||
<resource name="p0" appearance="vial">
|
||||
<!-- Siebenmeilentee -->
|
||||
<item weight="0" score="30">
|
||||
<function name="use" value="usepotion"/>
|
||||
<item weight="0" score="30" use="yes">
|
||||
<potion level="1"/>
|
||||
</item>
|
||||
</resource>
|
||||
|
||||
<resource name="p2" appearance="vial">
|
||||
<!-- Wasser des Lebens -->
|
||||
<item weight="0" score="30">
|
||||
<function name="use" value="usepotion_delayed"/>
|
||||
<item weight="0" score="30" use="yes">
|
||||
<potion level="1"/>
|
||||
</item>
|
||||
</resource>
|
||||
|
||||
<resource name="peasantblood" appearance="vial">
|
||||
<!-- Bauernblut -->
|
||||
<item weight="0" score="60">
|
||||
<function name="use" value="usebloodpotion"/>
|
||||
<item weight="0" score="60" use="yes">
|
||||
<potion level="2"/>
|
||||
</item>
|
||||
</resource>
|
||||
|
||||
<resource name="p9" appearance="vial">
|
||||
<!-- Pferdeglück -->
|
||||
<item weight="0" score="90">
|
||||
<function name="use" value="usepotion"/>
|
||||
<item weight="0" score="90" use="yes">
|
||||
<potion level="3"/>
|
||||
</item>
|
||||
</resource>
|
||||
|
||||
<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">
|
||||
<requirement type="money" quantity="200"/>
|
||||
<requirement type="iron" quantity="1"/>
|
||||
<requirement type="horse" quantity="1"/>
|
||||
</construction>
|
||||
<function name="give" value="givehorses"/>
|
||||
</item>
|
||||
</resource>
|
||||
|
||||
<resource name="xmastree">
|
||||
<item weight="0">
|
||||
<function name="use" value="lua_useitem"/>
|
||||
</item>
|
||||
<item weight="0" use="yes" />
|
||||
</resource>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -71,7 +71,11 @@
|
|||
<familiar race="ghost"/>
|
||||
</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"/>
|
||||
<param name="other_race" value="dwarf"/>
|
||||
<param name="luxury_trade" value="600"/>
|
||||
|
@ -116,7 +120,11 @@
|
|||
<familiar race="ghost"/>
|
||||
</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"/>
|
||||
<skill name="armorer" modifier="-1"/>
|
||||
<skill name="bow" modifier="2"/>
|
||||
|
@ -156,7 +164,11 @@
|
|||
<familiar race="rat"/>
|
||||
</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"/>
|
||||
<skill name="armorer" modifier="2"/>
|
||||
<skill name="bow" modifier="-1"/>
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="iron" limited="yes" material="yes">
|
||||
<item weight="500" score="10">
|
||||
<construction skill="mining" minskill="1"/>
|
||||
</item>
|
||||
<resourcelimit>
|
||||
<item weight="500" score="10">
|
||||
<construction skill="mining" minskill="1"/>
|
||||
</item>
|
||||
<modifier building="smithy" type="save" value="2"/>
|
||||
<modifier building="mine" type="skill" value="1"/>
|
||||
<modifier building="mine" type="material" value="0.5"/>
|
||||
</resourcelimit>
|
||||
</resource>
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="stone" limited="yes" material="yes">
|
||||
<item weight="6000" score="10" big="yes">
|
||||
<construction skill="quarrying" minskill="1"/>
|
||||
</item>
|
||||
<resourcelimit>
|
||||
<item weight="6000" score="10" big="yes">
|
||||
<construction skill="quarrying" minskill="1"/>
|
||||
</item>
|
||||
<modifier building="quarry" type="skill" value="1"/>
|
||||
<modifier building="quarry" type="material" value="0.5"/>
|
||||
</resourcelimit>
|
||||
</resource>
|
||||
|
|
|
@ -10,14 +10,12 @@
|
|||
|
||||
<!-- shared spells -->
|
||||
<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="money" amount="3000" cost="fixed"/>
|
||||
<resource name="permaura" amount="1" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="money" amount="3000" cost="fixed"/>
|
||||
<resource name="permaura" amount="1" cost="fixed"/>
|
||||
|
@ -39,7 +37,6 @@
|
|||
</spell>
|
||||
<spell name="earn_silver#illaun" ship="true" variable="true" rank="5" index="159">
|
||||
<!-- Wahrsagen -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<resource name="aura" amount="1" cost="level"/>
|
||||
</spell>
|
||||
<spell name="flee" rank="5" index="20" variable="true" combat="1">
|
||||
|
@ -106,7 +103,6 @@
|
|||
</spell>
|
||||
<spell name="create_dreameye" ship="true" rank="5" index="149">
|
||||
<!-- Erschaffe ein Traumauge -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<resource name="dragonhead" amount="1" cost="fixed"/>
|
||||
<resource name="permaura" amount="5" cost="fixed"/>
|
||||
</spell>
|
||||
|
@ -119,7 +115,6 @@
|
|||
</spell>
|
||||
<spell name="earn_silver#draig" ship="true" variable="true" rank="5" index="159">
|
||||
<!-- Kleine Flüche -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<resource name="aura" amount="1" cost="level"/>
|
||||
</spell>
|
||||
<spell name="fireball" rank="5" index="4" variable="true" combat="2">
|
||||
|
@ -189,7 +184,6 @@
|
|||
</spell>
|
||||
<spell name="create_firesword" ship="true" rank="5" index="148">
|
||||
<!-- Erschaffe ein Flammenschwert -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<resource name="aura" amount="100" cost="fixed"/>
|
||||
<resource name="oil" amount="10" cost="fixed"/>
|
||||
<resource name="sword" amount="1" cost="fixed"/>
|
||||
|
@ -205,7 +199,6 @@
|
|||
<!-- new cerddor -->
|
||||
<spell name="earn_silver#cerddor" ship="true" variable="true" rank="5" index="159">
|
||||
<!-- Gaukeleien -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<resource name="aura" amount="1" cost="level"/>
|
||||
</spell>
|
||||
<spell name="song_of_healing" rank="5" index="10" variable="true" combat="3">
|
||||
|
@ -269,7 +262,6 @@
|
|||
</spell>
|
||||
<spell name="create_roqf" ship="true" rank="5" index="63">
|
||||
<!-- Miriams flinke Finger -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<resource name="aura" amount="20" cost="fixed"/>
|
||||
<resource name="money" amount="1000" cost="fixed"/>
|
||||
<resource name="permaura" amount="1" cost="fixed"/>
|
||||
|
@ -304,12 +296,11 @@
|
|||
<!-- new gwyrrd -->
|
||||
<spell name="blessedharvest" rank="5" index="25" ship="true" far="true" variable="true">
|
||||
<!-- Segen der Erde -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<function name="cast" value="cast_blessedharvest"/>
|
||||
<resource name="aura" amount="1" cost="level"/>
|
||||
</spell>
|
||||
<spell name="earn_silver#gwyrrd" ship="true" variable="true" rank="5" index="159">
|
||||
<!-- Viehheilung -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<resource name="aura" amount="1" cost="level"/>
|
||||
</spell>
|
||||
<spell name="stonegolem" rank="4" index="32" variable="true">
|
||||
|
@ -394,21 +385,18 @@
|
|||
<!-- new tybied - spells known to all schools -->
|
||||
<spell name="create_potion_p2" ship="true" rank="5" variable="true">
|
||||
<!-- Wasser des Lebens -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<resource name="aura" amount="2" cost="linear"/>
|
||||
<resource name="h4" amount="1" cost="linear"/><!-- Baumringel -->
|
||||
<resource name="h6" amount="1" cost="linear"/><!-- Gurgelkraut -->
|
||||
</spell>
|
||||
<spell name="create_potion_p0" ship="true" rank="5" variable="true">
|
||||
<!-- Siebenmeilentee -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<resource name="aura" amount="2" cost="linear"/>
|
||||
<resource name="h12" amount="1" cost="linear"/><!-- Windbeutel -->
|
||||
<resource name="h17" amount="1" cost="linear"/><!-- Höhlenglimm -->
|
||||
</spell>
|
||||
<spell name="create_potion_p9" ship="true" rank="5" variable="true">
|
||||
<!-- Pferdeglück -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<resource name="aura" amount="3" cost="linear"/>
|
||||
<resource name="h0" amount="1" cost="linear"/><!-- Flachwurz -->
|
||||
<resource name="h8" amount="1" cost="linear"/><!-- Blasenmorchel -->
|
||||
|
@ -416,7 +404,6 @@
|
|||
</spell>
|
||||
<spell name="create_potion_peasantblood" ship="true" rank="5" variable="true">
|
||||
<!-- Bauernblut -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<resource name="aura" amount="3" cost="linear"/>
|
||||
<resource name="h14" amount="1" cost="linear"/><!-- Alraune -->
|
||||
<resource name="h6" amount="1" cost="linear"/><!-- Gurgelkraut -->
|
||||
|
@ -426,7 +413,6 @@
|
|||
|
||||
<spell name="create_potion_ointment" ship="true" rank="5" variable="true">
|
||||
<!-- Wundsalbe -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<resource name="aura" amount="4" cost="linear"/>
|
||||
<resource name="h4" amount="1" cost="linear"/><!-- Baumringel -->
|
||||
<resource name="h15" amount="1" cost="linear"/><!-- Steinbeißer -->
|
||||
|
@ -435,7 +421,6 @@
|
|||
</spell>
|
||||
<spell name="create_potion_p3" ship="true" rank="5" variable="true">
|
||||
<!-- Schaffenstrunk -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<resource name="aura" amount="4" cost="linear"/>
|
||||
<resource name="h12" amount="1" cost="linear"/><!-- Windbeutel -->
|
||||
<resource name="h6" amount="1" cost="linear"/><!-- Gurgelkraut -->
|
||||
|
@ -444,7 +429,6 @@
|
|||
</spell>
|
||||
<spell name="create_potion_p14" ship="true" rank="5" variable="true">
|
||||
<!-- Heiltrank -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<resource name="aura" amount="5" cost="linear"/>
|
||||
<resource name="h0" amount="1" cost="linear"/><!-- Flachwurz -->
|
||||
<resource name="h8" amount="1" cost="linear"/><!-- Blasenmorchel -->
|
||||
|
@ -454,7 +438,6 @@
|
|||
</spell>
|
||||
<spell name="create_potion_p13" ship="true" rank="5" variable="true">
|
||||
<!-- Elixier der Macht -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<resource name="aura" amount="5" cost="linear"/>
|
||||
<resource name="h14" amount="1" cost="linear"/><!-- Alraune -->
|
||||
<resource name="h8" amount="1" cost="linear"/><!-- Blasenmorchel -->
|
||||
|
@ -472,39 +455,33 @@
|
|||
|
||||
<!-- common spells: randomly given, one per level -->
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="money" amount="3000" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
<resource name="money" amount="4000" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
<resource name="money" amount="5000" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
</spell>
|
||||
|
@ -518,7 +495,7 @@
|
|||
</spell>
|
||||
<spell name="raindance" rank="5" index="26" ship="true" far="true" variable="true">
|
||||
<!-- Regentanz -->
|
||||
<function name="cast" value="lua_castspell"/>
|
||||
<function name="cast" value="cast_blessedharvest"/>
|
||||
<resource name="aura" amount="1" cost="level"/>
|
||||
</spell>
|
||||
<spell name="irongolem" rank="4" index="33" variable="true">
|
||||
|
|
|
@ -38,12 +38,6 @@
|
|||
<text locale="en">adamantium plates</text>
|
||||
</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">
|
||||
<text locale="de">Packeis</text>
|
||||
<text locale="en">fast ice</text>
|
||||
|
@ -87,6 +81,7 @@
|
|||
<text locale="en">repeating crossbows</text>
|
||||
</string>
|
||||
|
||||
<!--Fort-Ausbaustufen -->
|
||||
<string name="scaffolding">
|
||||
<text locale="de">Gerüst</text>
|
||||
<text locale="en">scaffolding</text>
|
||||
|
@ -103,6 +98,7 @@
|
|||
<text locale="de">Wache</text>
|
||||
<text locale="en">watch</text>
|
||||
</string>
|
||||
|
||||
<string name="market">
|
||||
<text locale="de">Marktplatz</text>
|
||||
<text locale="en">marketplace</text>
|
||||
|
@ -210,7 +206,7 @@
|
|||
<string name="concealing_aura">
|
||||
<text locale="de">Dieser Zauber wird die gesamte Ausrüstung der Zieleinheit für einige Zeit vor den Blicken anderer verschleiern. Der Zauber schützt nicht vor Dieben und Spionen.</text>
|
||||
<text locale="en">This spell will hide the whole equipment of a target unit from the looks of others. It will not protect against thieves or spies.</text>
|
||||
</string>
|
||||
</string>
|
||||
<string name="raindance">
|
||||
<text locale="de">Durch dieses uralte Tanzritual ruft der Zauberkundige die Kräfte des Lebens und der Fruchtbarkeit an. Die darauf folgenden Regenfälle begünstigen das Wachstum und erhöhen die Ernteerträge einiger Bauern der Region bis der Regen wieder nachlässt.</text>
|
||||
<text locale="en">This ancient rite calls upon the forces of life and fertility. For the next few weeks, the peasants' harvest will be extraordinary good.</text>
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<?xml version="1.0"?>
|
||||
<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/catapult.xml"/>
|
||||
<xi:include href="config://core/weapons/lance.xml"/>
|
||||
<xi:include href="config://core/weapons/mallornbow.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/rustyaxe.xml"/>
|
||||
<xi:include href="config://core/weapons/rustysword.xml"/>
|
||||
<xi:include href="config://core/weapons/spear.xml"/>
|
||||
<xi:include href="config://core/weapons/sword.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/greatbow.xml"/>
|
||||
<xi:include href="config://game/weapons/greatsword.xml"/>
|
||||
|
|
|
@ -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
|
||||
-->
|
||||
<resource name="greatbow">
|
||||
<item weight="100">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<modifier type="require" race="elf"/>
|
||||
<item weight="100" allow="elf">
|
||||
<construction skill="weaponsmithing" minskill="5">
|
||||
<modifier function="mod_elves_only"/>
|
||||
<requirement type="mallorn" quantity="2"/>
|
||||
</construction>
|
||||
<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
|
||||
-->
|
||||
<resource name="halberd">
|
||||
<item weight="200">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<item weight="200" deny="goblin">
|
||||
<construction skill="weaponsmithing" minskill="3">
|
||||
<requirement type="log" quantity="2"/>
|
||||
<requirement type="iron" quantity="1"/>
|
||||
|
|
|
@ -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"?>
|
||||
<resource name="mallornlance">
|
||||
<item weight="100">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<item weight="100" deny="goblin">
|
||||
<construction skill="weaponsmithing" minskill="5">
|
||||
<requirement type="mallorn" quantity="2"/>
|
||||
</construction>
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
<?xml version="1.0"?>
|
||||
<resource name="rep_crossbow">
|
||||
<item weight="100">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<modifier type="require" race="dwarf"/>
|
||||
<item weight="100" allow="dwarf halfling">
|
||||
<construction skill="weaponsmithing" minskill="5">
|
||||
<modifier function="mod_dwarves_only"/>
|
||||
<requirement type="log" quantity="1"/>
|
||||
<requirement type="iron" quantity="1"/>
|
||||
</construction>
|
|
@ -3,8 +3,7 @@
|
|||
1. you cannot use this with cavalry
|
||||
-->
|
||||
<resource name="rustyhalberd">
|
||||
<item weight="200" score="20">
|
||||
<function name="canuse" value="lua_canuse_item"/>
|
||||
<item weight="200" score="20" deny="goblin">
|
||||
<construction skill="weaponsmithing" minskill="3">
|
||||
<requirement type="iron" quantity="1"/>
|
||||
<requirement type="log" quantity="1"/>
|
||||
|
|
|
@ -3,16 +3,12 @@
|
|||
|
||||
<resource name="aurapotion50">
|
||||
<function name="change" value="changeitem"/>
|
||||
<item weight="0">
|
||||
<function name="use" value="use_aurapotion50"/>
|
||||
</item>
|
||||
<item weight="0" use="yes" />
|
||||
</resource>
|
||||
|
||||
<resource name="bagpipeoffear">
|
||||
<function name="change" value="changeitem"/>
|
||||
<item weight="0">
|
||||
<function name="use" value="use_bagpipeoffear"/>
|
||||
</item>
|
||||
<item weight="0" use="yes"/>
|
||||
</resource>
|
||||
|
||||
</resources>
|
||||
|
|
|
@ -17,21 +17,15 @@
|
|||
</resource>
|
||||
|
||||
<resource name="snowman">
|
||||
<item notlost="yes" weight="1">
|
||||
<function name="use" value="lua_useitem"/>
|
||||
</item>
|
||||
<item notlost="yes" weight="1" use="yes" />
|
||||
</resource>
|
||||
|
||||
<resource name="snowglobe">
|
||||
<item notlost="yes" weight="1">
|
||||
<function name="use" value="lua_useitem"/>
|
||||
</item>
|
||||
<item notlost="yes" weight="1" use="yes" />
|
||||
</resource>
|
||||
|
||||
<resource name="ring_of_levitation" appearance="ring">
|
||||
<item notlost="yes" weight="0" cursed="true">
|
||||
<function name="use" value="lua_useitem"/>
|
||||
</item>
|
||||
<item notlost="yes" weight="0" cursed="true" use="yes" />
|
||||
</resource>
|
||||
|
||||
<resource name="birthdaycake">
|
||||
|
@ -44,52 +38,38 @@
|
|||
|
||||
<!-- ambassador rewards -->
|
||||
<resource name="seashell">
|
||||
<item cursed="true" weight="0">
|
||||
<function name="use" value="lua_useitem"/>
|
||||
</item>
|
||||
<item cursed="true" weight="0" use="yes" />
|
||||
</resource>
|
||||
|
||||
<!-- xmas 2005 -->
|
||||
<resource name="stardust" appearance="vial">
|
||||
<item weight="0">
|
||||
<function name="use" value="lua_useitem"/>
|
||||
</item>
|
||||
<item weight="0" use="yes" />
|
||||
</resource>
|
||||
|
||||
<!-- xmas 2006 -->
|
||||
<resource name="xmastree">
|
||||
<item weight="0">
|
||||
<function name="use" value="lua_useitem"/>
|
||||
</item>
|
||||
<item weight="0" use="yes" />
|
||||
</resource>
|
||||
|
||||
<!-- museum items -->
|
||||
<resource name="questkey1" appearance="key">
|
||||
<!-- Key for an old quest. placeholder item -->
|
||||
<item notlost="yes" weight="0" >
|
||||
<function name="use" value="use_museumkey"/>
|
||||
</item>
|
||||
<item notlost="yes" weight="0" use="yes" />
|
||||
</resource>
|
||||
|
||||
<resource name="questkey2" appearance="key">
|
||||
<!-- Key for an old quest. placeholder item -->
|
||||
<item notlost="yes" weight="0" >
|
||||
<function name="use" value="use_museumkey"/>
|
||||
</item>
|
||||
<item notlost="yes" weight="0" use="yes" />
|
||||
</resource>
|
||||
|
||||
<resource name="museumexitticket">
|
||||
<!-- you get your stuff back when leaving the museum -->
|
||||
<item notlost="yes" weight="0">
|
||||
<function name="use" value="use_museumexitticket"/>
|
||||
</item>
|
||||
<item notlost="yes" weight="0" use="yes" />
|
||||
</resource>
|
||||
|
||||
<resource name="museumticket">
|
||||
<!-- you get your stuff back when leaving the museum -->
|
||||
<item weight="0">
|
||||
<function name="use" value="use_museumticket"/>
|
||||
</item>
|
||||
<item weight="0" use="yes" />
|
||||
</resource>
|
||||
|
||||
<!-- gimmicks, etc. -->
|
||||
|
@ -98,27 +78,13 @@
|
|||
<item notlost="yes" cursed="true" weight="0"/>
|
||||
</resource>
|
||||
|
||||
<resource name="ao_daemon">
|
||||
<!-- summons igjarjuk -->
|
||||
<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 name="aoc" appearance="amulet">
|
||||
<item weight="100" use="yes" />
|
||||
</resource>
|
||||
|
||||
<resource name="eyeofdragon">
|
||||
<!-- the arena gate, for one-time entry -->
|
||||
<item weight="0" score="0">
|
||||
<function name="use" value="enter_arena"/>
|
||||
</item>
|
||||
<item weight="0" score="0"/>
|
||||
</resource>
|
||||
|
||||
<resource name="jadee_ring" appearance="ring">
|
||||
|
|
|
@ -701,7 +701,7 @@
|
|||
<attack type="4" damage="2d12"/>
|
||||
<attack type="4" damage="2d12"/>
|
||||
</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"/>
|
||||
<skill name="magic" modifier="12"/>
|
||||
<skill name="tactics" modifier="12"/>
|
||||
|
|
|
@ -10,14 +10,12 @@
|
|||
|
||||
<!-- shared spells -->
|
||||
<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="money" amount="3000" cost="fixed"/>
|
||||
<resource name="permaura" amount="1" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="money" amount="3000" cost="fixed"/>
|
||||
<resource name="permaura" amount="1" cost="fixed"/>
|
||||
|
@ -494,12 +492,10 @@
|
|||
|
||||
<!-- draig spells -->
|
||||
<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"/>
|
||||
</spell>
|
||||
|
||||
<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="p10" amount="1" cost="fixed"/>
|
||||
<resource name="sword" amount="1" cost="fixed"/>
|
||||
|
@ -507,7 +503,6 @@
|
|||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
</spell>
|
||||
|
@ -520,12 +515,10 @@
|
|||
</spell>
|
||||
|
||||
<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"/>
|
||||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
<resource name="p2" amount="1" cost="fixed"/>
|
||||
|
@ -533,18 +526,15 @@
|
|||
|
||||
<!-- illaun spells -->
|
||||
<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"/>
|
||||
</spell>
|
||||
|
||||
<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="permaura" amount="5" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="money" amount="30000" cost="fixed"/>
|
||||
<resource name="permaura" amount="3" cost="fixed"/>
|
||||
|
@ -558,12 +548,10 @@
|
|||
</spell>
|
||||
|
||||
<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"/>
|
||||
</spell>
|
||||
|
||||
<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="money" amount="1000" cost="fixed"/>
|
||||
<resource name="permaura" amount="1" cost="fixed"/>
|
||||
|
@ -583,25 +571,21 @@
|
|||
|
||||
<!-- tybied spells -->
|
||||
<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"/>
|
||||
</spell>
|
||||
|
||||
<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="money" amount="3000" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
<resource name="money" amount="4000" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
<resource name="money" amount="5000" cost="fixed"/>
|
||||
|
@ -609,7 +593,6 @@
|
|||
|
||||
<!-- gray magic -->
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
<resource name="money" amount="1000" cost="fixed"/>
|
||||
|
@ -617,20 +600,17 @@
|
|||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
<resource name="money" amount="3000" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
</spell>
|
||||
|
||||
<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="permaura" amount="1" cost="fixed"/>
|
||||
</spell>
|
||||
|
|
|
@ -116,18 +116,6 @@
|
|||
<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>
|
||||
</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">
|
||||
<text locale="de">Kleines trockenes Dauergebäck, m od. s; - u. -es, - u. -e</text>
|
||||
</string>
|
||||
|
@ -374,29 +362,6 @@
|
|||
</string>
|
||||
<!-- 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">
|
||||
<text locale="de">Adamantium</text>
|
||||
<text locale="en">adamantium</text>
|
||||
|
@ -427,5 +392,14 @@
|
|||
<text locale="de">Adamantiumrüstungen</text>
|
||||
<text locale="en">adamantium plates</text>
|
||||
</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>
|
||||
|
|
|
@ -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" ?>
|
||||
<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"
|
||||
speed="1.0" hp="16" damage="1d5" unarmedattack="-2" unarmeddefense="0"
|
||||
playerrace="yes" walk="yes" giveperson="yes" giveunit="yes"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" ?>
|
||||
<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"
|
||||
unarmedattack="-2" unarmeddefense="0" playerrace="yes" walk="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/\..*//')
|
||||
if [ "$BRANCH" = "master" ] ; then
|
||||
VERSION=$(git describe --match 'v*.*.*' --tags | sed 's/^v//')
|
||||
echo "$BRANCH $VERSION"
|
||||
cmake -DERESSEA_VERSION="$VERSION" ..
|
||||
else
|
||||
REV=$(git rev-parse --short HEAD)
|
||||
|
|
|
@ -16,8 +16,3 @@ BIN_DIR="Debug"
|
|||
|
||||
cd $ROOT/$BIN_DIR
|
||||
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-e2.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
|
||||
|
||||
cd $OLDWPD
|
||||
|
|
2
s/setup
2
s/setup
|
@ -56,7 +56,7 @@ done
|
|||
[ -z $INIFILE ] && INIFILE=$TOOLS/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
|
||||
if [ -d $dir ] ; then
|
||||
|
|
|
@ -61,7 +61,7 @@ end
|
|||
|
||||
local function seed(r, email, race, lang)
|
||||
assert(r)
|
||||
local f = faction.create(email, race, lang)
|
||||
local f = faction.create(race, email, lang)
|
||||
assert(f)
|
||||
local u = unit.create(f, r)
|
||||
assert(u)
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
require 'eressea.e3.rules'
|
||||
require 'eressea.spells'
|
||||
|
||||
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 season = get_season(turn)
|
||||
return season == "calendar::winter"
|
||||
return season == "winter"
|
||||
end
|
||||
|
||||
local function is_spring(turn)
|
||||
local season = get_season(turn)
|
||||
return season == "calendar::spring"
|
||||
return season == "spring"
|
||||
end
|
||||
|
||||
local function freeze(r, chance)
|
||||
|
|
|
@ -38,6 +38,7 @@ function ponnuki.init()
|
|||
u.name = "Ponnuki"
|
||||
u.info = "Go, Ponnuki, Go!"
|
||||
u.race_name = "Ritter von Go"
|
||||
u.status = 5 -- FLIEHE
|
||||
print(u:show())
|
||||
end
|
||||
else
|
||||
|
|
|
@ -1,16 +1,5 @@
|
|||
-- 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)
|
||||
local p = u.region:get_resource("peasant")
|
||||
p = p + delta
|
||||
|
@ -21,10 +10,6 @@ function peasant_changeresource(u, delta)
|
|||
return p
|
||||
end
|
||||
|
||||
function hp_getresource(u)
|
||||
return u.hp
|
||||
end
|
||||
|
||||
function hp_changeresource(u, delta)
|
||||
local hp = u.hp + delta
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ end
|
|||
|
||||
function use_stardust(u, amount)
|
||||
local p = u.region:get_resource("peasant")
|
||||
assert(p>0)
|
||||
p = math.ceil(1.5 * p)
|
||||
u.region:set_resource("peasant", p)
|
||||
local msg = usepotion_message(u, "stardust")
|
||||
|
@ -86,7 +87,7 @@ local self = {}
|
|||
function self.update()
|
||||
local turn = get_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")
|
||||
local msg = message.create("xmastree_effect")
|
||||
for r in regions() do
|
||||
|
@ -102,7 +103,7 @@ function self.update()
|
|||
end
|
||||
else
|
||||
local prevseason = get_season(turn-1)
|
||||
if prevseason == "calendar::winter" then
|
||||
if prevseason == "winter" then
|
||||
-- we celebrate knut and kick out the trees.
|
||||
for r in regions() do
|
||||
if r:get_key("xm06") then
|
||||
|
|
|
@ -17,6 +17,7 @@ require 'eressea.path'
|
|||
require 'tests.e2'
|
||||
require 'lunit'
|
||||
|
||||
rng.inject(0)
|
||||
rules = require('eressea.' .. config.rules)
|
||||
result = lunit.main()
|
||||
return result.errors + result.failed
|
||||
|
|
|
@ -17,6 +17,7 @@ require 'eressea.xmlconf'
|
|||
require 'tests.e3'
|
||||
require 'lunit'
|
||||
|
||||
rng.inject(0)
|
||||
eressea.settings.set("rules.alliances", "0")
|
||||
rules = require('eressea.' .. config.rules)
|
||||
result = lunit.main()
|
||||
|
|
|
@ -6,7 +6,7 @@ local function _test_create_ship(r)
|
|||
end
|
||||
|
||||
local function create_faction(race)
|
||||
return faction.create(race .. '@eressea.de', race, "de")
|
||||
return faction.create(race, race .. '@eressea.de', "de")
|
||||
end
|
||||
|
||||
local function one_unit(r, f)
|
||||
|
@ -218,6 +218,9 @@ function test_gmtool()
|
|||
local r1 = region.create(1, 0, "plain")
|
||||
local r2 = region.create(1, 1, "plain")
|
||||
local r3 = region.create(1, 2, "plain")
|
||||
if not gmtool then
|
||||
return
|
||||
end
|
||||
gmtool.open()
|
||||
gmtool.select(r1, true)
|
||||
gmtool.select_at(0, 1, true)
|
||||
|
@ -1033,6 +1036,37 @@ function test_recruit()
|
|||
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()
|
||||
local r = region.create(0, 0, "plain")
|
||||
local f = create_faction('human')
|
||||
|
|
|
@ -11,7 +11,7 @@ function test_read_race()
|
|||
eressea.free_game()
|
||||
assert_not_nil(eressea.config)
|
||||
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)
|
||||
end
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ function setup()
|
|||
end
|
||||
|
||||
local function create_faction(race)
|
||||
return faction.create(race .. '@eressea.de', race, "de")
|
||||
return faction.create(race, race .. '@eressea.de', "de")
|
||||
end
|
||||
|
||||
local function _test_create_adamantium()
|
||||
|
|
|
@ -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()
|
||||
local r1 = region.create(0, 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)
|
||||
u.building = building.create(u.region, "castle")
|
||||
u:clear_orders()
|
||||
|
@ -26,8 +26,8 @@ end
|
|||
|
||||
function test_dont_destroy_after_attack()
|
||||
local r1 = region.create(0, 0, "plain")
|
||||
local u = unit.create(faction.create("one@example.com", "human", "de"), r1, 10)
|
||||
local u2 = unit.create(faction.create("two@example.com", "human", "de"), r1, 1)
|
||||
local u = unit.create(faction.create("human", "one@example.com", "de"), r1, 10)
|
||||
local u2 = unit.create(faction.create("human", "two@example.com", "de"), r1, 1)
|
||||
u.building = building.create(u.region, "castle")
|
||||
u:clear_orders()
|
||||
u:add_order("ATTACKIERE " .. itoa36(u2.id))
|
||||
|
@ -38,7 +38,7 @@ end
|
|||
|
||||
function test_destroy_is_long()
|
||||
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:clear_orders()
|
||||
u:add_order("LERNE Unterhaltung")
|
||||
|
|
|
@ -11,14 +11,14 @@ function setup()
|
|||
end
|
||||
|
||||
function test_calendar()
|
||||
assert_equal(get_season(1011), "calendar::winter")
|
||||
assert_equal(get_season(1012), "calendar::spring")
|
||||
assert_equal("winter", get_season(1011))
|
||||
assert_equal("spring", get_season(1012))
|
||||
end
|
||||
|
||||
function test_herbalism()
|
||||
-- OBS: herbalism is currently an E2-only skill
|
||||
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)
|
||||
|
||||
eressea.settings.set("rules.grow.formula", 0) -- plants do not grow
|
||||
|
@ -44,7 +44,7 @@ function test_dwarf_bonus()
|
|||
r:set_resource("iron", 100)
|
||||
local level = r:get_resourcelevel("iron")
|
||||
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.race)
|
||||
u.faction.name = "Zwerge"
|
||||
|
@ -65,7 +65,7 @@ end
|
|||
function test_build_harbour()
|
||||
-- try to reproduce mantis bug 2221
|
||||
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)
|
||||
size = 30
|
||||
u.number = 20
|
||||
|
@ -93,8 +93,8 @@ local function one_unit(r, f)
|
|||
end
|
||||
|
||||
local function two_factions()
|
||||
local f1 = faction.create("one@eressea.de", "human", "de")
|
||||
local f2 = faction.create("two@eressea.de", "human", "de")
|
||||
local f1 = faction.create("human", "one@eressea.de", "de")
|
||||
local f2 = faction.create("human", "two@eressea.de", "de")
|
||||
return f1, f2
|
||||
end
|
||||
|
||||
|
@ -105,7 +105,7 @@ end
|
|||
function test_learn()
|
||||
eressea.settings.set("study.random_progress", "0")
|
||||
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
|
||||
local u = unit.create(f, r)
|
||||
u:clear_orders()
|
||||
|
@ -124,7 +124,7 @@ end
|
|||
function test_teach()
|
||||
eressea.settings.set("study.random_progress", "0")
|
||||
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
|
||||
local u = unit.create(f, r, 10)
|
||||
local u2 = unit.create(f, r)
|
||||
|
@ -141,7 +141,7 @@ end
|
|||
|
||||
function test_rename()
|
||||
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)
|
||||
u:add_item("aoh", 1)
|
||||
assert_equal(u:get_item("ao_healing"), 1)
|
||||
|
@ -149,7 +149,7 @@ end
|
|||
|
||||
function test_unit_limit_is_1500()
|
||||
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
|
||||
unit.create(f, r, 1)
|
||||
end
|
||||
|
@ -165,7 +165,7 @@ function test_ship_capacity()
|
|||
local r = region.create(0,0, "ocean")
|
||||
region.create(1,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
|
||||
local s1 = ship.create(r, "boat")
|
||||
|
@ -202,7 +202,7 @@ end
|
|||
|
||||
function test_levitate()
|
||||
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 s = ship.create(r, "boat")
|
||||
u.ship = s
|
||||
|
@ -228,15 +228,15 @@ end
|
|||
function test_races()
|
||||
local races = { "wolf", "orc", "human", "demon" }
|
||||
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)
|
||||
end
|
||||
end
|
||||
|
||||
function test_can_give_person()
|
||||
local r = region.create(0, 0, "plain")
|
||||
local f1 = faction.create("noreply@eressea.de", "human", "de")
|
||||
local f2 = faction.create("noreply@eressea.de", "human", "de")
|
||||
local f1 = faction.create("human", "noreply@eressea.de", "de")
|
||||
local f2 = faction.create("human", "noreply@eressea.de", "de")
|
||||
local u1 = unit.create(f1, r, 10)
|
||||
local u2 = unit.create(f2, r, 10)
|
||||
u1.faction.age = 10
|
||||
|
@ -254,29 +254,10 @@ function test_can_give_person()
|
|||
end
|
||||
|
||||
function test_no_uruk()
|
||||
local f1 = faction.create("noreply@eressea.de", "uruk", "de")
|
||||
local f1 = faction.create("uruk")
|
||||
assert_equal(f1.race, "orc")
|
||||
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()
|
||||
eressea.settings.set("rules.guard.base_stop_prob", "0.3")
|
||||
eressea.settings.set("rules.guard.amulet_stop_prob", "0.0")
|
||||
|
@ -368,7 +349,7 @@ end
|
|||
|
||||
function test_stonegolems()
|
||||
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 u2 = unit.create(f1, r0, 2)
|
||||
local c1 = building.create(r0, "castle")
|
||||
|
@ -397,7 +378,7 @@ end
|
|||
|
||||
function test_birthdaycake()
|
||||
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:add_item("birthdaycake", 1)
|
||||
u:clear_orders()
|
||||
|
@ -408,7 +389,7 @@ end
|
|||
function test_demonstealth()
|
||||
local desc, r, f, u
|
||||
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:clear_orders()
|
||||
|
@ -423,3 +404,7 @@ function test_demonstealth()
|
|||
desc = u:show()
|
||||
assert_equal(nil, string.find(desc, "Drache"))
|
||||
end
|
||||
|
||||
function test_calendar_season_2328()
|
||||
assert_equal("fall", get_season(1026))
|
||||
end
|
||||
|
|
|
@ -11,7 +11,7 @@ end
|
|||
|
||||
function test_guard_unarmed()
|
||||
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)
|
||||
assert_equal(false, u1.guard)
|
||||
u1:clear_orders()
|
||||
|
@ -22,7 +22,7 @@ end
|
|||
|
||||
function test_guard_armed()
|
||||
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)
|
||||
assert_equal(false, u1.guard)
|
||||
u1:add_item("sword", 1)
|
||||
|
@ -36,10 +36,10 @@ end
|
|||
function test_guard_allows_move_after_combat() -- bug 1493
|
||||
local r1 = region.create(0, 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 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)
|
||||
u1:add_order("BEWACHE")
|
||||
u1:add_item("sword", 10)
|
||||
|
@ -59,10 +59,10 @@ end
|
|||
function test_no_guard_no_move_after_combat() -- bug 1493
|
||||
local r1 = region.create(0, 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 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)
|
||||
u1:add_order("BEWACHE")
|
||||
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.undead'
|
||||
require 'tests.e2.shiplanding'
|
||||
|
@ -5,8 +8,9 @@ require 'tests.e2.e2features'
|
|||
require 'tests.e2.movement'
|
||||
require 'tests.e2.destroy'
|
||||
require 'tests.e2.guard'
|
||||
require 'tests.e2.spells'
|
||||
require 'tests.e2.stealth'
|
||||
require 'tests.e2.items'
|
||||
require 'tests.items'
|
||||
require 'tests.economy'
|
||||
require 'tests.orders'
|
||||
require 'tests.common'
|
||||
|
@ -15,3 +19,5 @@ require 'tests.storage'
|
|||
require 'tests.magicbag'
|
||||
require 'tests.process'
|
||||
require 'tests.xmas'
|
||||
require 'tests.production'
|
||||
require 'tests.spells'
|
||||
|
|
|
@ -11,9 +11,41 @@ function setup()
|
|||
eressea.settings.set("magic.regeneration.enable", "0")
|
||||
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()
|
||||
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)
|
||||
u:add_item("aoc", 1)
|
||||
u:clear_orders()
|
||||
|
@ -27,7 +59,7 @@ end
|
|||
|
||||
function test_aurapotion50()
|
||||
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)
|
||||
u:add_item("aurapotion50", 1)
|
||||
u:set_skill('magic', 10);
|
||||
|
@ -45,33 +77,45 @@ end
|
|||
|
||||
function test_bagpipe()
|
||||
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)
|
||||
turn_begin()
|
||||
u:add_item("bagpipeoffear", 1)
|
||||
u:clear_orders()
|
||||
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, f:count_msg_type('bagpipeoffear_faction'))
|
||||
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
|
||||
|
||||
function test_speedsail()
|
||||
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)
|
||||
|
||||
turn_begin()
|
||||
u.ship = ship.create(r, "boat")
|
||||
u:add_item("speedsail", 2)
|
||||
u:clear_orders()
|
||||
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, f:count_msg_type('use_speedsail'))
|
||||
turn_end()
|
||||
assert_equal(1, u.ship:get_curse('shipspeed')) -- effect stays forever
|
||||
end
|
||||
|
||||
function test_foolpotion()
|
||||
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)
|
||||
turn_begin()
|
||||
u:add_item("p7", 1)
|
||||
|
@ -97,7 +141,7 @@ end
|
|||
|
||||
function test_snowman()
|
||||
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)
|
||||
u:add_item("snowman", 1)
|
||||
u:clear_orders()
|
||||
|
|
|
@ -13,8 +13,8 @@ end
|
|||
local r = region.create(0, 0, "plain")
|
||||
local r2 = region.create(1, 0, "plain")
|
||||
local r3 = region.create(-1, 0, "ocean")
|
||||
local f = faction.create("pirate@eressea.de", "human", "de")
|
||||
local f2 = faction.create("elf@eressea.de", "human", "de")
|
||||
local f = faction.create("human", "pirate@eressea.de", "de")
|
||||
local f2 = faction.create("human", "elf@eressea.de", "de")
|
||||
local u1 = unit.create(f, r2, 1)
|
||||
local u2 = unit.create(f2, r3, 1)
|
||||
|
||||
|
@ -39,7 +39,7 @@ end
|
|||
function test_dolphin_on_land()
|
||||
local r1 = region.create(0, 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)
|
||||
u1.race = "dolphin"
|
||||
u1:clear_orders()
|
||||
|
@ -51,7 +51,7 @@ end
|
|||
function test_dolphin_to_land()
|
||||
local r1 = region.create(0, 0, "ocean")
|
||||
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)
|
||||
u1.race = "dolphin"
|
||||
u1:clear_orders()
|
||||
|
@ -63,7 +63,7 @@ end
|
|||
function test_dolphin_in_ocean()
|
||||
local r1 = region.create(0, 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)
|
||||
u1.race = "dolphin"
|
||||
u1:clear_orders()
|
||||
|
@ -75,7 +75,7 @@ end
|
|||
function test_follow()
|
||||
local r1 = region.create(0, 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 u2 = unit.create(f, r1, 1)
|
||||
u1:clear_orders()
|
||||
|
@ -93,7 +93,7 @@ function test_follow_ship()
|
|||
local r1 = region.create(0, 0, "plain")
|
||||
region.create(1, 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 u2 = unit.create(f, r1, 1)
|
||||
u1:add_item("money", 100)
|
||||
|
|
|
@ -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 New Issue