Merge branch 'release-3-5'

This commit is contained in:
Enno Rehling 2015-06-08 08:46:07 +02:00
commit 91a945929e
158 changed files with 2783 additions and 1510 deletions

View File

@ -30,6 +30,9 @@ CHECK_SYMBOL_EXISTS (sleep "unistd.h" HAVE_SLEEP)
CHECK_SYMBOL_EXISTS (usleep "unistd.h" HAVE_USLEEP)
CHECK_SYMBOL_EXISTS (access "unistd.h" HAVE_ACCESS)
ENDIF(HAVE_UNISTD_H)
CHECK_SYMBOL_EXISTS (strlcpy "string.h" HAVE_STRLCPY)
CHECK_SYMBOL_EXISTS (strlcat "string.h" HAVE_STRLCAT)
CHECK_SYMBOL_EXISTS (slprintf "string.h" HAVE_SLPRINTF)
CHECK_SYMBOL_EXISTS (strcasecmp "string.h" HAVE_STRCASECMP)
CHECK_SYMBOL_EXISTS (strncasecmp "string.h" HAVE_STRNCASECMP)
CHECK_SYMBOL_EXISTS (_strlwr "string.h" HAVE__STRLWR)

View File

@ -26,6 +26,9 @@
#cmakedefine HAVE_MEMICMP 1
#cmakedefine HAVE__STRLWR 1
#cmakedefine HAVE_STRLWR 1
#cmakedefine HAVE_STRLCPY 1
#cmakedefine HAVE_STRLCAT 1
#cmakedefine HAVE_SLPRINTF 1
#cmakedefine HAVE_SYS_STAT_MKDIR 1
#cmakedefine HAVE_DIRECT_MKDIR 1
#cmakedefine HAVE_DIRECT__MKDIR 1

View File

@ -94,6 +94,7 @@
<param name="hunger.long" value="1"/>
<param name="init_spells" value="0"/>
<param name="rules.reserve.twophase" value="1"/>
<param name="rules.give.max_men" value="-1"/>
<param name="rules.check_overload" value="0"/>
<param name="rules.limit.faction" value="2500"/>
<param name="rules.maxskills.magic" value="5"/>

View File

@ -38,9 +38,11 @@ for line in infile.readlines():
if not options.has_key("reports"):
continue
reports = options["reports"].split(",")
# reports = reports + [ "iso.cr" ]
prefix = "%(turn)s-%(faction)s." % options
files=[]
times="../parteien"
if os.path.isfile(times):
files = files + [ times ]
if options["compression"]=="zip":
output = prefix+"zip"
files = [output]

@ -1 +1 @@
Subproject commit 25ac9a7bf0d23f34cbf487edb0cb983eb842b90e
Subproject commit 40ae383100a8f012393ab29bc3d98e182fe57c19

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<resource name="adamantium" limited="yes" material="rm_adamantium">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<buildings xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="buildings/castle.xml"/>
</buildings>

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<strings>
<!--
_d: dativ (wir erklären allen /Trollen/ den Krieg)
_p: plural (13 /Trolle/)
_x: preposition (15 /Troll/schwerter)
_a: including article (ein Troll, a troll)
_d: dativ (wir erklären allen /Schlümpfen/ den Krieg)
_p: plural (13 /Schlümpfe/)
_x: preposition (15 /Schlumpf/schwerter)
_a: including article (ein Schlumpf, a smurf)
-->
<string name="vortex">
<text locale="de">Wirbel</text>
@ -731,7 +731,7 @@
<text locale="en">an unknown building</text>
</string>
<string name="an_unknown_spell">
<text locale="de">ein unbekannter zauber</text>
<text locale="de">ein unbekannter Zauber</text>
<text locale="en">an unknown spell</text>
</string>
<string name="an_unknown_ship">
@ -746,6 +746,14 @@
<text locale="de">einer unbekannten Einheit</text>
<text locale="en">an unknown unit</text>
</string>
<string name="an_unknown_curse">
<text locale="de">ein unbekannter Zauber</text>
<text locale="en">an unknown curse</text>
</string>
<string name="missing_key">
<text locale="de">Fehler: Unbekannter Schlüssel</text>
<text locale="en">Fehler: Unbekannter Schlüssel</text>
</string>
<!--Meldungssektionen -->
<string name="section_events">
@ -3569,13 +3577,13 @@
</namespace>
<namespace name="damage">
<string name="critical">
<string name="plusstrong">
<text locale="de">sehr stark</text>
<text locale="en">critically wounded</text>
<text locale="en">super strong</text>
</string>
<string name="heavily">
<string name="strong">
<text locale="de">stark</text>
<text locale="en">heavily wounded</text>
<text locale="en">strong</text>
</string>
<string name="badly">
<text locale="de">schwer verwundet</text>
@ -3655,11 +3663,11 @@
<namespace name="spell">
<string name="create_rop">
<text locale="de">Erschaffe einen Ring der Macht</text>
<text locale="en">Create A Ring Of Power</text>
<text locale="en">Create A Ring of Power</text>
</string>
<string name="fish_shield">
<text locale="de">Schild des Fisches</text>
<text locale="en">Shield Of The Fish</text>
<text locale="en">Shield of the Fish</text>
</string>
<string name="protective_runes">
<text locale="de">Runen des Schutzes</text>
@ -3667,7 +3675,7 @@
</string>
<string name="fetch_astral">
<text locale="de">Ruf der Realität</text>
<text locale="en">Call Of Reality</text>
<text locale="en">Call of Reality</text>
</string>
<string name="pull_astral">
<text locale="de">Astraler Ruf</text>
@ -3707,7 +3715,7 @@
</string>
<string name="seduction">
<text locale="de">Lied der Verführung</text>
<text locale="en">Song Of Seduction</text>
<text locale="en">Song of Seduction</text>
</string>
<string name="sound_out">
<text locale="de">Aushorchen</text>
@ -3715,11 +3723,11 @@
</string>
<string name="bloodthirst">
<text locale="de">Kriegsgesang</text>
<text locale="en">Song Of War</text>
<text locale="en">Song of War</text>
</string>
<string name="frighten">
<text locale="de">Gesang der Angst</text>
<text locale="en">Song Of Fear</text>
<text locale="en">Song of Fear</text>
</string>
<string name="analyse_object">
<text locale="de">Lied des Ortes analysieren</text>
@ -3735,7 +3743,7 @@
</string>
<string name="create_chastitybelt">
<text locale="de">Erschaffe ein Amulett der Keuschheit</text>
<text locale="en">Create An Amulet Of Chastity</text>
<text locale="en">Create An Amulet of Chastity</text>
</string>
<string name="combat_speed">
<text locale="de">Beschleunigung</text>
@ -3759,23 +3767,23 @@
</string>
<string name="song_resist_magic">
<text locale="de">Gesang des wachen Geistes</text>
<text locale="en">Song Of The Youthful Spirit</text>
<text locale="en">Song of the Youthful Spirit</text>
</string>
<string name="song_suscept_magic">
<text locale="de">Gesang des schwachen Geistes</text>
<text locale="en">Song Of The Aging Spirit</text>
<text locale="en">Song of the Aging Spirit</text>
</string>
<string name="song_of_peace">
<text locale="de">Gesang der Friedfertigkeit</text>
<text locale="en">Song Of Peace</text>
<text locale="en">Song of Peace</text>
</string>
<string name="song_of_slavery">
<text locale="de">Gesang der Versklavung</text>
<text locale="en">Song Of Slavery</text>
<text locale="en">Song of Slavery</text>
</string>
<string name="big_recruit">
<text locale="de">Hohe Kunst der Überzeugung</text>
<text locale="en">Song Of Slavery</text>
<text locale="en">Song of Slavery</text>
</string>
<string name="double_time">
<text locale="de">Zeitdehnung</text>
@ -3823,7 +3831,7 @@
</string>
<string name="create_ror">
<text locale="de">Erschaffe einen Ring der Regeneration</text>
<text locale="en">Create A Ring Of Regeneration</text>
<text locale="en">Create A Ring of Regeneration</text>
</string>
<string name="raise_mob">
<text locale="de">Mob aufwiegeln</text>
@ -3859,7 +3867,7 @@
</string>
<string name="create_bagofholding">
<text locale="de">Erschaffe einen Beutel des Negativen Gewichts</text>
<text locale="en">Create A Bag Of Holding</text>
<text locale="en">Create A Bag of Holding</text>
</string>
<string name="create_focus">
<text locale="de">Erschaffe einen Aurafocus</text>
@ -3901,18 +3909,10 @@
<text locale="de">Magie analysieren</text>
<text locale="en">Analyze Magic</text>
</string>
<string name="generous">
<text locale="de">Hohes Lied der Gaukelei</text>
<text locale="en">Song of Generosity</text>
</string>
<string name="courting">
<text locale="de">Gesang des Werbens</text>
<text locale="en">Song of Courting</text>
</string>
<string name="itemcloak">
<text locale="de">Schleieraura</text>
<text locale="en">Veil</text>
</string>
<string name="song_of_healing">
<text locale="de">Lied der Heilung</text>
<text locale="en">Blessed Harvest</text>
@ -3975,11 +3975,11 @@
</string>
<string name="treegrow">
<text locale="de">Hainzauber</text>
<text locale="en">Grove Of Oak Trees</text>
<text locale="en">Grove of Oak Trees</text>
</string>
<string name="rustweapon">
<text locale="de">Rostregen</text>
<text locale="en">Rain Of Rust</text>
<text locale="en">Rain of Rust</text>
</string>
<string name="cold_protection">
<text locale="de">Firuns Fell</text>
@ -4011,7 +4011,7 @@
</string>
<string name="magic_roots">
<text locale="de">Wurzeln der Magie</text>
<text locale="en">Roots Of Magic</text>
<text locale="en">Roots of Magic</text>
</string>
<string name="maelstrom">
<text locale="de">Mahlstrom</text>
@ -4057,12 +4057,12 @@
<string name="create_aots">
<text locale="de">Erschaffe ein Amulett des wahren
Sehens</text>
<text locale="en">Create An Amulet Of True Sight</text>
<text locale="en">Create An Amulet of True Sight</text>
</string>
<string name="create_roi">
<text locale="de">Erschaffe einen Ring der
Unsichtbarkeit</text>
<text locale="en">Create A Ring Of Invisibility</text>
<text locale="en">Create A Ring of Invisibility</text>
</string>
<string name="create_roqf">
<text locale="de">Miriams flinke Finger</text>
@ -4078,7 +4078,7 @@
</string>
<string name="versteinern">
<text locale="de">Blick des Basilisken</text>
<text locale="en">Gaze Of The Basilisk</text>
<text locale="en">Gaze of the Basilisk</text>
</string>
<string name="strongwall">
<text locale="de">Starkes Tor und feste Mauer</text>
@ -4098,11 +4098,11 @@
</string>
<string name="treewalkenter">
<text locale="de">Weg der Bäume</text>
<text locale="en">Path Of Trees</text>
<text locale="en">Path of Trees</text>
</string>
<string name="treewalkexit">
<text locale="de">Sog des Lebens</text>
<text locale="en">Ties Of Life</text>
<text locale="en">Ties of Life</text>
</string>
<string name="holyground">
<text locale="de">Heiliger Boden</text>
@ -4115,7 +4115,7 @@
</string>
<string name="summonent">
<text locale="de">Erwecke Ents</text>
<text locale="en">Awakening Of The Ents</text>
<text locale="en">Awakening of the Ents</text>
</string>
<string name="blessstonecircle">
<text locale="de">Segne Steinkreis</text>
@ -4159,7 +4159,7 @@
</string>
<string name="combatrust">
<text locale="de">Rosthauch</text>
<text locale="en">Winds Of Rust</text>
<text locale="en">Winds of Rust</text>
</string>
<string name="transferaurachaos">
<text locale="de">Machtübertragung</text>
@ -4167,11 +4167,11 @@
</string>
<string name="firewall">
<text locale="de">Feuerwand</text>
<text locale="en">Wall Of Fire</text>
<text locale="en">Wall of Fire</text>
</string>
<string name="plague">
<text locale="de">Fluch der Pestilenz</text>
<text locale="en">Curse Of Pestilence</text>
<text locale="en">Curse of Pestilence</text>
</string>
<string name="chaosrow">
<text locale="de">Wahnsinn des Krieges</text>
@ -4192,7 +4192,7 @@
<string name="create_trollbelt">
<text locale="de">Erschaffe einen Gürtel der
Trollstärke</text>
<text locale="en">Create A Belt Of Troll
<text locale="en">Create A Belt of Troll
Strength</text>
</string>
<string name="auraleak">
@ -4261,11 +4261,11 @@
</string>
<string name="icastle">
<text locale="de">Traumschlößchen</text>
<text locale="en">Castle Of Illusion</text>
<text locale="en">Castle of Illusion</text>
</string>
<string name="transferauratraum">
<text locale="de">Traum der Magie</text>
<text locale="en">Dream Of Magic</text>
<text locale="en">Dream of Magic</text>
</string>
<string name="shapeshift">
<text locale="de">Gestaltwandlung</text>
@ -4343,6 +4343,150 @@
<text locale="de">Göttliche Macht</text>
<text locale="en">Power of the Gods</text>
</string>
<string name="magicrunes">
<text locale="de">Runen des Schutzes</text>
<text locale="en">Protective Runes</text>
</string>
<string name="astralblock">
<text locale="de">Störe Astrale Integrität</text>
<text locale="en">Astral Disruption</text>
</string>
<string name="auraboost">
<text locale="de">Gabe des Chaos</text>
<text locale="en">Chaos Gift</text>
</string>
<string name="badlearn">
<text locale="de">Schlechter Schlaf</text>
<text locale="en">Insomnia</text>
</string>
<string name="badmagicresistancezone">
<text locale="de">Gesang des schwachen Geistes</text>
<text locale="en">Song of the Aging Spirit</text>
</string>
<string name="calmmonster">
<text locale="de">Monster friedlich stimmen</text>
<text locale="en">Calm Monster</text>
</string>
<string name="depression">
<text locale="de">Gesang der Melancholie</text>
<text locale="en">Song of Melancholy</text>
</string>
<string name="drought">
<text locale="de">Beschwörung eines Hitzeelementar</text>
<text locale="en">Summon Fire Elemental</text>
</string>
<string name="farvision">
<text locale="de">ein unbekannter Zauber</text>
<text locale="en">an unknown spell</text>
</string>
<string name="flyingship">
<text locale="de">Luftschiff</text>
<text locale="en">Airship</text>
</string>
<string name="fogtrap">
<text locale="de">ein unbekannter Zauber</text>
<text locale="en">an unknown spell</text>
</string>
<string name="fumble">
<text locale="de">Chaosfluch</text>
<text locale="en">Chaos Curse</text>
</string>
<string name="gbdream">
<text locale="de">Schöne Träume oder Schlechte Träume</text>
<text locale="en">Good Dreams or Bad Dreams</text>
</string>
<string name="generous">
<text locale="de">Hohes Lied der Gaukelei</text>
<text locale="en">Song of Generosity</text>
</string>
<string name="godcursezone">
<text locale="de">Fluch der Götter</text>
<text locale="en">Curse of the Gods</text>
</string>
<string name="goodmagicresistancezone">
<text locale="de">Gesang des wachen Geistes</text>
<text locale="en">Song of the Youthful Spirit</text>
</string>
<string name="insectfur">
<text locale="de">Firuns Fell</text>
<text locale="en">Firun's Coat</text>
</string>
<string name="itemcloak">
<text locale="de">Schleieraura</text>
<text locale="en">Concealing Aura</text>
</string>
<string name="magicresistance">
<text locale="de">Magieresistenz</text>
<text locale="en">Magic Resistance</text>
</string>
<string name="magicwalls">
<text locale="de">Heimstein</text>
<text locale="en">Homestone</text>
</string>
<string name="nocostbuilding">
<text locale="de">Mauern der Ewigkeit</text>
<text locale="en">Eternal Walls</text>
</string>
<string name="nodrift">
<text locale="de">Wasserelementar</text>
<text locale="en">Water Elemental</text>
</string>
<string name="oldrace">
<text locale="de">Unbekannter Effekt</text>
<text locale="en">Unknown Effect</text>
</string>
<string name="orcish">
<text locale="de">Unbekannter Effekt</text>
<text locale="en">Unknown Effect</text>
</string>
<string name="peacezone">
<text locale="de">Gesang der Friedfertigkeit</text>
<text locale="en">Song of Peace</text>
</string>
<string name="riotzone">
<text locale="de">Aufruhr</text>
<text locale="en">Riot</text>
</string>
<string name="skillmod">
<text locale="de">Unbekannter Effekt</text>
<text locale="en">Unknown Effect</text>
</string>
<string name="slavery">
<text locale="de">Gesang der Versklavung</text>
<text locale="en">Song of Slavery</text>
</string>
<string name="sparkle">
<text locale="de">Unbekannter Effekt</text>
<text locale="en">Unknown Effect</text>
</string>
<string name="speed">
<text locale="de">Zeitdehnung</text>
<text locale="en">Double Time</text>
</string>
<string name="stormwind">
<text locale="de">Sturmelementar</text>
<text locale="en">Storm Elemental</text>
</string>
<string name="strength">
<text locale="de">Unbekannter Effekt</text>
<text locale="en">Unknown Effect</text>
</string>
<string name="worse">
<text locale="de">Alp</text>
<text locale="en">Nightmare</text>
</string>
<string name="Feuerwand">
<text locale="de">Feuerwand</text>
<text locale="en">Firewall</text>
</string>
<string name="healingzone">
<text locale="de">Zone der Heilung</text>
<text locale="en">Zone of Healing</text>
</string>
<string name="shipspeedup">
<text locale="de">Beschleunigung</text>
<text locale="en">Acceleration</text>
</string>
</namespace>
<namespace name="spellinfo">
<string name="create_ror">
@ -4422,7 +4566,7 @@
</string>
<string name="auratransfer">
<text locale="de">
Mit Hilfe dieses Zauber kann der Magier eigene Aura im Verhältnis
Mit Hilfe dieses Zaubers kann der Magier eigene Aura im Verhältnis
2:1 auf einen anderen Magier des gleichen Magiegebietes oder im
Verhältnis 3:1 auf einen Magier eines anderen Magiegebietes
übertragen.
@ -4486,7 +4630,7 @@
Dieses magische Lied wird, einmal mit Inbrunst gesungen, sich in der
Region fortpflanzen, von Mund zu Mund springen und eine Zeitlang
überall zu vernehmen sein. Nach wie vielen Wochen der Gesang aus dem
Gedächnis der Region entschwunden ist, ist von dem Geschick des Barden
Gedächtnis der Region entschwunden ist, ist von dem Geschick des Barden
abhängig. Bis das Lied ganz verklungen ist, wird seine Magie allen
Verbündeten des Barden (HELFE BEWACHE), und natürlich auch seinen
eigenem Volk, einen einmaligen Bonus von 15%
@ -4996,7 +5140,7 @@
<string name="cerrdorfumbleshield">
<text locale="de">Dieser schrille Gesang hallt über das
ganze Schlachtfeld. Die besonderen Dissonanzen in den
Melodien machen es Magier fast unmöglich, sich auf ihre
Melodien machen es Magiern fast unmöglich, sich auf ihre
Zauber zu konzentrieren.</text>
<text locale="en">The screeching sounds of this melody
can be heard across the whole battlefield. Wizards
@ -5009,7 +5153,7 @@
kann, was für Gegenstände sie mit sich führt und sollte
sie magisch begabt sein, sogar welche Zauber sie
beherrscht. Leider beeinflußt dieser Zauber nicht das
Gedächnis, und so wird sie sich im nachhinein wohl
Gedächtnis, und so wird sie sich im nachhinein wohl
bewußt werden, dass sie zuviel erzählt hat.</text>
<text locale="en">The persons of the bewitched unit
starts to babble without control about what it is said,
@ -5034,7 +5178,7 @@
STRASSE, so werden pro Golem 4 Steine verbaut und der
Golem löst sich auf. </text>
<text locale="en">'Take a flawless block of crystaline
stone and humidify it with a vial of Water Of Life until
stone and humidify it with a vial of Water of Life until
the potion has been soaked up completely. Then focus
your power on the forming aura of life and shape a
container for the unbound forces'. The more power a magician
@ -5085,7 +5229,7 @@
armor will get rusty. The exact number of
items affected by the rain depends on the
ammount of power invested by the magician. Up to ten
weapons can be destroyed per level - a Ring Of
weapons can be destroyed per level - a Ring of
Power increases the effect like an additional
level.</text>
</string>
@ -5102,7 +5246,7 @@
cold of a glacier. Under the effect of this
spell, insects are able to enter glaciers and
act normally there. Ten insects per level can be
protected in this way. A Ring Of Power increases
protected in this way. A Ring of Power increases
the number by additional ten.</text>
</string>
<string name="hail">
@ -5111,7 +5255,7 @@
sich. Sodann kann er ihnen befehlen, den Gegner
mit Hagelkörnern und Eisbrocken zuzusetzen.</text>
<text locale="en">During a battle the druid calls the
Elemental Spirits Of Cold and binds them to
Elemental Spirits of Cold and binds them to
himself. Then he commands them to attack his
foes with hail and ice missiles.</text>
</string>
@ -5156,7 +5300,7 @@
Windes beschwört plötzliche Windböen, kleine
Windhosen und Luftlöcher herauf, die die
gegnerischen Schützen behindern werden.</text>
<text locale="en">Calling the Elemental Spirits Of Wind
<text locale="en">Calling the Elemental Spirits of Wind
conjurs up sudden breezes, small whirlwinds and
minor turbulences that will hinder enemy
archers.</text>
@ -5179,7 +5323,7 @@
Winde oder Strömungen beeinträchtigt.</text>
<text locale="en">While being aboard a ship, the druid
uses this ritual to force the Elemental Spirits
Of Water to serve him and commands them to carry
of Water to serve him and commands them to carry
the ship across the water at a higher speed. In
addition, the ship will not be affected by
unfavourable winds or currents.</text>
@ -5195,7 +5339,7 @@
who can help those who got injured during a
battle. Druids are, with the help of a summons
of
the Elemental Spirits Of Life, able to heal
the Elemental Spirits of Life, able to heal
wounds, mend broken bones or even regenerate
separated limbs as well.</text>
</string>
@ -5206,7 +5350,7 @@
starke Winde oder gar Stürme und behindern alle
Schützen einer Schlacht.</text>
<text locale="en">This summons opens a gate to the plane
of Elemental Spirits Of Wind. Immediately,
of Elemental Spirits of Wind. Immediately,
strong winds or even storms will rise near the
gate and hinder all archers during a battle.</text>
</string>
@ -5217,7 +5361,7 @@
das Zaubern für die Dauer des Kampfes deutlich
schwerer fallen.</text>
<text locale="en">This ritual summons some Elemental
Spirits Of Magic and sends them into the ranks
Spirits of Magic and sends them into the ranks
of the enemy mages. Casting spells will be much
harder for them during the battle.</text>
</string>
@ -5237,7 +5381,7 @@
Erdbeben wird alle Gebäude in der Region
beschädigen.</text>
<text locale="en">With this ritual the druid summons an
Elemental Spirit Of Earth that brings the ground
Elemental Spirit of Earth that brings the ground
to shake. This earthquake damages all buildings
in the target region.</text>
</string>
@ -5251,7 +5395,7 @@
desto größer ist die Zahl der Elementargeister,
die sich bannen lassen. Für jedes Schiff wird
ein Elementargeist benötigt.</text>
<text locale="en">Calling the Elemental Spirits Of Storm
<text locale="en">Calling the Elemental Spirits of Storm
is an ancient ritual. The druid binds the
elementals to a ship's sails where they can help
to carry the vessel across the waves at an
@ -5305,7 +5449,7 @@
die sich mit ihrem Tarnungs-Talent verstecken,
bleiben weiterhin unentdeckt.</text>
<text locale="en">This spell enables the caster to
create an Amulet Of True Sight. Wearing such an
create an Amulet of True Sight. Wearing such an
amulet, a person can discover anyone wearing a
Ring of Invisibility. Anyway, units concealed by
the use of their stealth skill will remain
@ -5347,11 +5491,11 @@
Wahrnehmung auch sein mag. In einer unsichtbaren
Einheit muss jede Person einen Ring tragen.</text>
<text locale="en">With this spell the caster can create
a Ring Of Invisibility. The wearer of this ring
a Ring of Invisibility. The wearer of this ring
will be invisible to all units of other
factions, no matter how good their perception
skill may be. In an invisible unit, each person
must wear a Ring Of Invisibility.</text>
must wear a Ring of Invisibility.</text>
</string>
<string name="homestone">
<text locale="de">Mit dieser Formel bindet der Magier
@ -5391,7 +5535,7 @@
betroffenen Personen werden nicht mehr kämpfen,
können jedoch auch nicht verwundet werden.</text>
<text locale="en">This complicated but effective spell
uses the Elemental Spirits Of Stone to turn a
uses the Elemental Spirits of Stone to turn a
number of enemies to stone for the duration of
combat. The affected persons won't be able to
fight any more, but they can't be wounded
@ -5405,7 +5549,7 @@
besseren Schutz gegen Angriffe mit dem Schwert
wie mit Magie.</text>
<text locale="en">At the beginning of a battle, the
magician binds some Elemental Spirits Of Rock to
magician binds some Elemental Spirits of Rock to
the walls of the builing in which he currently
is. The structure will then provide a better
protection against attacks by sword or by magic.</text>
@ -5438,7 +5582,7 @@
<text locale="en">A great power lies within those places
that are pulsing with life. A druid can focus
this power and thereby create a gate into the
World Of Spirits. He can then send level*5
World of Spirits. He can then send level*5
weight units of living or dead matter through
the gate.</text>
</string>
@ -5448,7 +5592,7 @@
Zaubers Stufe*5 Gewichtseinheiten in einen Wald
auf der materiellen Welt zurückschicken.</text>
<text locale="en">A druid who has traveled to the World
Of Spirits can use this spell to send level*5
of Spirits can use this spell to send level*5
weight units of living or dead matter back to a
forest in the material world.</text>
</string>
@ -5551,7 +5695,7 @@
und so wird die Phase der Macht abgelöst von
einer Phase der Schwäche.</text>
<text locale="en">The sorcerer opens his mind to the
Spheres Of Chaos so that he can access a greater
Spheres of Chaos so that he can access a greater
ammount of magical power for a while. But the
help of the Chaos Lords has its price - and so
the period of power will be followed by a period
@ -5681,7 +5825,7 @@
Sie sind schwer zu treffen und entziehen ihrem
Gegner Kraft.</text>
<text locale="en">With the help of dark rituals the
sorcerer summons demons from the Sphere Of
sorcerer summons demons from the Sphere of
Shadows. These fearsome creatures can walk
almost unseen among the living, but their dark
aura can be sensed by everyone. Shadow demons
@ -5775,7 +5919,7 @@
Darkness are at their peak, the sorcerer can use
his powers to destroy enchantments. In order to
do so, he draws a pentagram on a surface of the
enchanted object and begins calling the Lords Of
enchanted object and begins calling the Lords of
Darkness. The Lords will aid him, but whether he
is able to undo the target spell or not depends
upon his own power.</text>
@ -5806,7 +5950,7 @@
Schaden zufügen.</text>
<text locale="en">By performing a gruesome ritual and
sacrificing his own blood the Sorcerer conjurs
up a spirit from the Elemental Plane Of Poison.
up a spirit from the Elemental Plane of Poison.
It will take the form of a green cloud of toxic
gases that envelops a whole region and that will
harm anyone within.</text>
@ -5825,7 +5969,7 @@
irresistable scent to dragons. It is not known
whether the dragons come from surrounding
regions or if they have their origin in the
Sphere Of Chaos. The bait will exist for about
Sphere of Chaos. The bait will exist for about
six weeks, but it must be placed in a tarrain
that is suitable for dragons.</text>
</string>
@ -5839,7 +5983,7 @@
Sie sind schwer zu treffen und entziehen ihrem
Gegner Kraft und Leben.</text>
<text locale="en">With the help of dark rituals the
sorcerer summons demons from the Sphere Of
sorcerer summons demons from the Sphere of
Shadows. These fearsome creatures can walk
almost unseen among the living, but their dark
aura can be sensed by everyone. Shadowmasters
@ -5856,7 +6000,7 @@
seiner Macht zu beseelen...'</text>
<text locale="en">'So take the blood of a fierce warrior
and apply it to the steel of the blade. Then
start calling the Spheres Of Chaos. If you did
start calling the Spheres of Chaos. If you did
everything to their pleasure, they will send a
minor one of their kind to fulfill the sword
with his power.'</text>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" encoding="utf-8" ?>
<strings>
<!--
Due to extreme lazyness on Enno's part, this file doesn't contain everything.
@ -87,7 +87,7 @@
<text locale="fr">drakkar</text>
</string>
<string name="trireme">
<text locale="fr">galère</text>
<text locale="fr">galčre</text>
</string>
<string name="balloon">
<text locale="fr">ballon</text>
@ -110,7 +110,7 @@
<text locale="fr">un drakkar</text>
</string>
<string name="trireme_a">
<text locale="fr">une galère</text>
<text locale="fr">une galčre</text>
</string>
<!-- Terraintypen -->
@ -121,7 +121,7 @@
<text locale="fr">couloir</text>
</string>
<string name="desert">
<text locale="fr">désert</text>
<text locale="fr">désert</text>
</string>
<string name="firewall">
<text locale="fr">mur de feu</text>
@ -130,7 +130,7 @@
<text locale="fr">brume</text>
</string>
<string name="forest">
<text locale="fr">forêt</text>
<text locale="fr">foręt</text>
</string>
<string name="glacier">
<text locale="fr">glacier</text>
@ -148,13 +148,13 @@
<text locale="fr">iceberg</text>
</string>
<string name="maelstrom">
<text locale="fr">maelström</text>
<text locale="fr">maelström</text>
</string>
<string name="mountain">
<text locale="fr">montagne</text>
</string>
<string name="ocean">
<text locale="fr">océan</text>
<text locale="fr">océan</text>
</string>
<string name="plain">
<text locale="fr">plaine</text>
@ -169,7 +169,7 @@
<text locale="fr">volcan</text>
</string>
<string name="magicstorm">
<text locale="fr">tempête magique</text>
<text locale="fr">tempęte magique</text>
</string>
<string name="activevolcano_trail">
@ -179,7 +179,7 @@
<text locale="fr">un %s</text>
</string>
<string name="desert_trail">
<text locale="fr">le désert de %s</text>
<text locale="fr">le désert de %s</text>
</string>
<string name="firewall_trail">
<text locale="fr">un %s</text>
@ -188,7 +188,7 @@
<text locale="fr">fog_trail %s</text>
</string>
<string name="forest_trail">
<text locale="fr">la forêt de %s</text>
<text locale="fr">la foręt de %s</text>
</string>
<string name="glacier_trail">
<text locale="fr">le glacier de %s</text>
@ -277,11 +277,11 @@
</string>
<string name="unknownunit">
<text locale="fr">une unité inconnue</text>
<text locale="fr">une unité inconnue</text>
</string>
<string name="section_events">
<text locale="fr">Messages et Evénements</text>
<text locale="fr">Messages et Evénements</text>
</string>
<string name="section_errors">
<text locale="fr">Avertissements et Erreurs</text>
@ -296,7 +296,7 @@
<text locale="fr">Magie et Reliques</text>
</string>
<string name="section_movement">
<text locale="fr">Déplacements et Voyages</text>
<text locale="fr">Déplacements et Voyages</text>
</string>
<string name="section_study">
<text locale="fr">Apprentissage et Enseignement</text>
@ -313,25 +313,25 @@
<!-- Building Types -->
<string name="academy">
<text locale="fr">université</text>
<text locale="fr">université</text>
</string>
<string name="blessedstonecircle">
<text locale="fr">cromlech sacré</text>
<text locale="fr">cromlech sacré</text>
</string>
<string name="caravan">
<text locale="fr">caravansérail</text>
<text locale="fr">caravansérail</text>
</string>
<string name="dam">
<text locale="fr">barrage</text>
</string>
<string name="genericbuilding">
<text locale="fr">bâtiment</text>
<text locale="fr">bâtiment</text>
</string>
<string name="harbour">
<text locale="fr">port</text>
</string>
<string name="illusioncastle">
<text locale="fr">château illusoire</text>
<text locale="fr">château illusoire</text>
</string>
<string name="inn">
<text locale="fr">auberge</text>
@ -349,7 +349,7 @@
<text locale="fr">monument</text>
</string>
<string name="quarry">
<text locale="fr">carrière</text>
<text locale="fr">carričre</text>
</string>
<string name="sawmill">
<text locale="fr">scierie</text>
@ -358,7 +358,7 @@
<text locale="fr">forge</text>
</string>
<string name="stables">
<text locale="fr">écurie</text>
<text locale="fr">écurie</text>
</string>
<string name="stonecircle">
<text locale="fr">cromlech</text>
@ -381,7 +381,7 @@
<text locale="fr">tour</text>
</string>
<string name="castle">
<text locale="fr">château</text>
<text locale="fr">château</text>
</string>
<string name="fortress">
<text locale="fr">place-forte</text>
@ -403,10 +403,10 @@
<!-- Resourcen -->
<string name="money">
<text locale="fr">écu</text>
<text locale="fr">écu</text>
</string>
<string name="money_p">
<text locale="fr">écus</text>
<text locale="fr">écus</text>
</string>
<string name="hp">
<text locale="fr">point de vie</text>
@ -453,10 +453,10 @@
<text locale="fr">cristaux antimagie</text>
</string>
<string name="ao_chastity">
<text locale="fr">amulette de chasteté</text>
<text locale="fr">amulette de chasteté</text>
</string>
<string name="ao_chastity_p">
<text locale="fr">amulettes de chasteté</text>
<text locale="fr">amulettes de chasteté</text>
</string>
<string name="aoc">
<text locale="fr">amulette du chaton</text>
@ -465,10 +465,10 @@
<text locale="fr">amulettes du chaton</text>
</string>
<string name="aod">
<text locale="fr">amulette de ténèbres</text>
<text locale="fr">amulette de ténčbres</text>
</string>
<string name="aod_p">
<text locale="fr">amulettes de ténèbres</text>
<text locale="fr">amulettes de ténčbres</text>
</string>
<string name="aog">
<text locale="fr">amulette de rassemblement</text>
@ -483,10 +483,10 @@
<text locale="fr">amulettes de soin</text>
</string>
<string name="aots">
<text locale="fr">amulette de vérité</text>
<text locale="fr">amulette de vérité</text>
</string>
<string name="aots_p">
<text locale="fr">amulettes de vérité</text>
<text locale="fr">amulettes de vérité</text>
</string>
<string name="apple">
<text locale="fr">pomme</text>
@ -531,16 +531,16 @@
<text locale="fr">cottes de mailles</text>
</string>
<string name="cookie">
<text locale="fr">gâteau</text>
<text locale="fr">gâteau</text>
</string>
<string name="cookie_p">
<text locale="fr">gâteaux</text>
<text locale="fr">gâteaux</text>
</string>
<string name="crossbow">
<text locale="fr">arbalète</text>
<text locale="fr">arbalčte</text>
</string>
<string name="crossbow_p">
<text locale="fr">arbalètes</text>
<text locale="fr">arbalčtes</text>
</string>
<string name="dolphin">
<text locale="fr">dauphin</text>
@ -555,13 +555,13 @@
<text locale="fr">sang de dragon</text>
</string>
<string name="dragonhead">
<text locale="fr">tête de dragon</text>
<text locale="fr">tęte de dragon</text>
</string>
<string name="dragonhead_p">
<text locale="fr">têtes de dragons</text>
<text locale="fr">tętes de dragons</text>
</string>
<string name="dragonhoard">
<text locale="fr">trésor de dragon</text>
<text locale="fr">trésor de dragon</text>
</string>
<string name="dreameye">
<text locale="fr">oniroeil</text>
@ -588,10 +588,10 @@
<text locale="fr">bottes elfiques</text>
</string>
<string name="firesword">
<text locale="fr">épée ardente</text>
<text locale="fr">épée ardente</text>
</string>
<string name="firesword_p">
<text locale="fr">épées ardentes</text>
<text locale="fr">épées ardentes</text>
</string>
<string name="greatbow">
<text locale="fr">grand arc</text>
@ -654,10 +654,10 @@
<text locale="fr">boucliers en laen</text>
</string>
<string name="laensword">
<text locale="fr">épée en laen</text>
<text locale="fr">épée en laen</text>
</string>
<string name="laensword_p">
<text locale="fr">épées en laen</text>
<text locale="fr">épées en laen</text>
</string>
<string name="lance">
<text locale="fr">lance</text>
@ -666,10 +666,10 @@
<text locale="fr">lances</text>
</string>
<string name="log">
<text locale="fr">stère</text>
<text locale="fr">stčre</text>
</string>
<string name="log_p">
<text locale="fr">stères</text>
<text locale="fr">stčres</text>
</string>
<string name="magicbag">
<text locale="fr">sac magique</text>
@ -696,10 +696,10 @@
<text locale="fr">arcs en mallorn</text>
</string>
<string name="mallorncrossbow">
<text locale="fr">arbalète en mallorn</text>
<text locale="fr">arbalčte en mallorn</text>
</string>
<string name="mallorncrossbow_p">
<text locale="fr">arbalètes en mallorn</text>
<text locale="fr">arbalčtes en mallorn</text>
</string>
<string name="mallornlance">
<text locale="fr">lance en mallorn</text>
@ -708,10 +708,10 @@
<text locale="fr">lances en mallorn</text>
</string>
<string name="mallornspear">
<text locale="fr">épieu en mallorn</text>
<text locale="fr">épieu en mallorn</text>
</string>
<string name="mallornspear_p">
<text locale="fr">épieux en mallorn</text>
<text locale="fr">épieux en mallorn</text>
</string>
<string name="moneybag">
<text locale="fr">bourse</text>
@ -738,10 +738,10 @@
<text locale="fr">noix</text>
</string>
<string name="pegasus">
<text locale="fr">pégase</text>
<text locale="fr">pégase</text>
</string>
<string name="pegasus_p">
<text locale="fr">pégases</text>
<text locale="fr">pégases</text>
</string>
<string name="person">
<text locale="fr">homme</text>
@ -762,10 +762,10 @@
<text locale="fr">cartes de presse</text>
</string>
<string name="roi">
<text locale="fr">anneau d'invisibilité</text>
<text locale="fr">anneau d'invisibilité</text>
</string>
<string name="roi_p">
<text locale="fr">anneaux d'invisibilité</text>
<text locale="fr">anneaux d'invisibilité</text>
</string>
<string name="rop">
<text locale="fr">anneau de pouvoir</text>
@ -774,46 +774,46 @@
<text locale="fr">anneaux de pouvoir</text>
</string>
<string name="roqf">
<text locale="fr">anneau de dextérité</text>
<text locale="fr">anneau de dextérité</text>
</string>
<string name="roqf_p">
<text locale="fr">anneaux de dextérité</text>
<text locale="fr">anneaux de dextérité</text>
</string>
<string name="ror">
<text locale="fr">anneau de régénération</text>
<text locale="fr">anneau de régénération</text>
</string>
<string name="ror_p">
<text locale="fr">anneaux de régénération</text>
<text locale="fr">anneaux de régénération</text>
</string>
<string name="runesword">
<text locale="fr">épée runique</text>
<text locale="fr">épée runique</text>
</string>
<string name="runesword_p">
<text locale="fr">épées runiques</text>
<text locale="fr">épées runiques</text>
</string>
<string name="rustychainmail">
<text locale="fr">cotte de mailles rouillée</text>
<text locale="fr">cotte de mailles rouillée</text>
</string>
<string name="rustychainmail_p">
<text locale="fr">cottes de mailles rouillées</text>
<text locale="fr">cottes de mailles rouillées</text>
</string>
<string name="rustyshield">
<text locale="fr">bouclier rouillé</text>
<text locale="fr">bouclier rouillé</text>
</string>
<string name="rustyshield_p">
<text locale="fr">boucliers rouillés</text>
<text locale="fr">boucliers rouillés</text>
</string>
<string name="rustysword">
<text locale="fr">épée rouillée</text>
<text locale="fr">épée rouillée</text>
</string>
<string name="rustysword_p">
<text locale="fr">épées rouillées</text>
<text locale="fr">épées rouillées</text>
</string>
<string name="seaserpenthead">
<text locale="fr">tête de serpent de mer</text>
<text locale="fr">tęte de serpent de mer</text>
</string>
<string name="seaserpenthead_p">
<text locale="fr">têtes de serpents de mer</text>
<text locale="fr">tętes de serpents de mer</text>
</string>
<string name="shield">
<text locale="fr">bouclier</text>
@ -828,10 +828,10 @@
<text locale="fr">sacs de contenance</text>
</string>
<string name="spear">
<text locale="fr">épieu</text>
<text locale="fr">épieu</text>
</string>
<string name="spear_p">
<text locale="fr">épieux</text>
<text locale="fr">épieux</text>
</string>
<string name="stone">
<text locale="fr">pierre</text>
@ -840,10 +840,10 @@
<text locale="fr">pierres</text>
</string>
<string name="sword">
<text locale="fr">épée</text>
<text locale="fr">épée</text>
</string>
<string name="sword_p">
<text locale="fr">épées</text>
<text locale="fr">épées</text>
</string>
<string name="toadslime">
<text locale="fr">pot de bave de crapaud</text>
@ -858,16 +858,16 @@
<text locale="fr">ceintures de trolls</text>
</string>
<string name="unit">
<text locale="fr">unité</text>
<text locale="fr">unité</text>
</string>
<string name="unit_p">
<text locale="fr">unités</text>
<text locale="fr">unités</text>
</string>
<string name="skillpotion">
<text locale="fr">potion de compétences</text>
<text locale="fr">potion de compétences</text>
</string>
<string name="skillpotion_p">
<text locale="fr">potions de compétences</text>
<text locale="fr">potions de compétences</text>
</string>
<string name="manacrystal">
<text locale="fr">cristal astral</text>
@ -894,10 +894,10 @@
<text locale="fr">feux d'artifice</text>
</string>
<string name="lebkuchenherz">
<text locale="fr">coeur de pain d'épices</text>
<text locale="fr">coeur de pain d'épices</text>
</string>
<string name="lebkuchenherz_p">
<text locale="fr">coeurs de pain d'épices</text>
<text locale="fr">coeurs de pain d'épices</text>
</string>
<!-- luxury goods -->
@ -905,7 +905,7 @@
<text locale="fr">baume</text>
</string>
<string name="spice">
<text locale="fr">épices</text>
<text locale="fr">épices</text>
</string>
<string name="jewel">
<text locale="fr">joyau</text>
@ -929,7 +929,7 @@
<text locale="fr">baume</text>
</string>
<string name="spice_p">
<text locale="fr">épices</text>
<text locale="fr">épices</text>
</string>
<string name="myrrh_p">
<text locale="fr">myrrhe</text>
@ -946,10 +946,10 @@
<!-- Spezialitems -->
<string name="lmsreward">
<text locale="fr">Ceinture des Légendes</text>
<text locale="fr">Ceinture des Légendes</text>
</string>
<string name="lmsreward_p">
<text locale="fr">Ceintures des Légendes</text>
<text locale="fr">Ceintures des Légendes</text>
</string>
<!-- intranslatables: -->
@ -960,10 +960,10 @@
<text locale="fr">astragales</text>
</string>
<string name="h1">
<text locale="fr">méritoine</text>
<text locale="fr">méritoine</text>
</string>
<string name="h1_p">
<text locale="fr">méritoines</text>
<text locale="fr">méritoines</text>
</string>
<string name="h2">
<text locale="fr">oeil de hibou</text>
@ -972,10 +972,10 @@
<text locale="fr">yeux de hibou</text>
</string>
<string name="h3">
<text locale="fr">soie d'araignée</text>
<text locale="fr">soie d'araignée</text>
</string>
<string name="h3_p">
<text locale="fr">soies d'araignée</text>
<text locale="fr">soies d'araignée</text>
</string>
<string name="h4">
<text locale="fr">obbadion</text>
@ -1026,16 +1026,16 @@
<text locale="fr">fleurs de souffre</text>
</string>
<string name="h12">
<text locale="fr">feuille de Tshaï</text>
<text locale="fr">feuille de Tshaď</text>
</string>
<string name="h12_p">
<text locale="fr">feuilles de Tshaï</text>
<text locale="fr">feuilles de Tshaď</text>
</string>
<string name="h13">
<text locale="fr">bélidane</text>
<text locale="fr">bélidane</text>
</string>
<string name="h13_p">
<text locale="fr">bélidanes</text>
<text locale="fr">bélidanes</text>
</string>
<string name="h14">
<text locale="fr">racine de mandragore</text>
@ -1062,16 +1062,16 @@
<text locale="fr">boralmes</text>
</string>
<string name="h18">
<text locale="fr">ficoïde à cristaux</text>
<text locale="fr">ficoďde ŕ cristaux</text>
</string>
<string name="h18_p">
<text locale="fr">ficoïdes à cristaux</text>
<text locale="fr">ficoďdes ŕ cristaux</text>
</string>
<string name="h19">
<text locale="fr">blémissure</text>
<text locale="fr">blémissure</text>
</string>
<string name="h19_p">
<text locale="fr">blémissures</text>
<text locale="fr">blémissures</text>
</string>
<string name="h20">
<text locale="fr">rose des neiges</text>
@ -1080,10 +1080,10 @@
<text locale="fr">roses des neiges</text>
</string>
<string name="p0">
<text locale="fr">thé de sept lieues</text>
<text locale="fr">thé de sept lieues</text>
</string>
<string name="p0_p">
<text locale="fr">thé de sept lieues</text>
<text locale="fr">thé de sept lieues</text>
</string>
<string name="p1">
<text locale="fr">breuvage de Goliath</text>
@ -1092,16 +1092,16 @@
<text locale="fr">breuvage de Goliath</text>
</string>
<string name="p2">
<text locale="fr">élixir de vie</text>
<text locale="fr">élixir de vie</text>
</string>
<string name="p2_p">
<text locale="fr">élixir de vie</text>
<text locale="fr">élixir de vie</text>
</string>
<string name="p3">
<text locale="fr">vin du travail acharné</text>
<text locale="fr">vin du travail acharné</text>
</string>
<string name="p3_p">
<text locale="fr">vin du travail acharné</text>
<text locale="fr">vin du travail acharné</text>
</string>
<string name="p4">
<text locale="fr">onguent de soin</text>
@ -1134,10 +1134,10 @@
<text locale="fr">extraits de canicule</text>
</string>
<string name="p9">
<text locale="fr">fourrage de l'étalon</text>
<text locale="fr">fourrage de l'étalon</text>
</string>
<string name="p9_p">
<text locale="fr">fourrage de l'étalon</text>
<text locale="fr">fourrage de l'étalon</text>
</string>
<string name="p10">
<text locale="fr">vin de folie</text>
@ -1183,7 +1183,7 @@
<string name="AURA">
<text locale="fr">AURA</text>
</string>
<string name="BÄUME">
<string name="BÄUME">
<text locale="fr">ARBRES</text>
</string>
<string name="BAUERN">
@ -1213,10 +1213,10 @@
<string name="FREMDES">
<text locale="fr">ETRANGER</text>
</string>
<string name="GEBÄUDE">
<string name="GEBÄUDE">
<text locale="fr">BATIMENT</text>
</string>
<string name="GEGENSTÄNDE">
<string name="GEGENSTÄNDE">
<text locale="fr">OBJETS</text>
</string>
<string name="GIB">
@ -1234,16 +1234,16 @@
<string name="KOMMANDO">
<text locale="fr">CONTROLE</text>
</string>
<string name="KRÄUTER">
<string name="KRÄUTER">
<text locale="fr">PLANTES</text>
</string>
<string name="KÄMPFE">
<string name="KÄMPFE">
<text locale="fr">COMBAT</text>
</string>
<string name="NICHT">
<text locale="fr">NON</text>
</string>
<string name="NÄCHSTER">
<string name="NÄCHSTER">
<text locale="fr">SUIVANT</text>
</string>
<string name="PARTEI">
@ -1270,16 +1270,16 @@
<string name="SILBER">
<text locale="fr">ECUS</text>
</string>
<string name="STRAßEN">
<string name="STRAßEN">
<text locale="fr">ROUTES</text>
</string>
<string name="STUFE">
<text locale="fr">NIVEAU</text>
</string>
<string name="TEMPORÄRE">
<string name="TEMPORÄRE">
<text locale="fr">TEMPORAIRE</text>
</string>
<string name="TRÄNKE">
<string name="TRÄNKE">
<text locale="fr">POTIONS</text>
</string>
<string name="VOR">
@ -1303,7 +1303,7 @@
<text locale="fr">arc</text>
</string>
<string name="building">
<text locale="fr">maçon</text>
<text locale="fr">maçon</text>
</string>
<string name="cartmaking">
<text locale="fr">charron</text>
@ -1312,7 +1312,7 @@
<text locale="fr">catapulte</text>
</string>
<string name="crossbow">
<text locale="fr">arbalète</text>
<text locale="fr">arbalčte</text>
</string>
<string name="entertainment">
<text locale="fr">divertissement</text>
@ -1330,7 +1330,7 @@
<text locale="fr">magie</text>
</string>
<string name="melee">
<text locale="fr">mêlée</text>
<text locale="fr">męlée</text>
</string>
<string name="mining">
<text locale="fr">mineur</text>
@ -1345,7 +1345,7 @@
<text locale="fr">perrayeur</text>
</string>
<string name="riding">
<text locale="fr">équitation</text>
<text locale="fr">équitation</text>
</string>
<string name="roadwork">
<text locale="fr">cantonnier</text>
@ -1360,7 +1360,7 @@
<text locale="fr">endurance</text>
</string>
<string name="stealth">
<text locale="fr">discrétion</text>
<text locale="fr">discrétion</text>
</string>
<string name="tactics">
<text locale="fr">tactique</text>
@ -1625,10 +1625,10 @@
<text locale="fr">troll</text>
</string>
<string name="demon_p">
<text locale="fr">démons</text>
<text locale="fr">démons</text>
</string>
<string name="demon">
<text locale="fr">démons</text>
<text locale="fr">démons</text>
</string>
<string name="insect_p">
<text locale="fr">insectes</text>
@ -1703,10 +1703,10 @@
<text locale="fr">draconien</text>
</string>
<string name="special_p">
<text locale="fr">spéciaux</text>
<text locale="fr">spéciaux</text>
</string>
<string name="special">
<text locale="fr">spécial</text>
<text locale="fr">spécial</text>
</string>
<string name="spell_p">
<text locale="fr">enchantements</text>
@ -1733,16 +1733,16 @@
<text locale="fr">ombre</text>
</string>
<string name="shadowmaster_p">
<text locale="fr">lémures</text>
<text locale="fr">lémures</text>
</string>
<string name="shadowmaster">
<text locale="fr">lémure</text>
<text locale="fr">lémure</text>
</string>
<string name="mountainguard_p">
<text locale="fr">yétis</text>
<text locale="fr">yétis</text>
</string>
<string name="mountainguard">
<text locale="fr">yéti</text>
<text locale="fr">yéti</text>
</string>
<string name="alp_p">
<text locale="fr">quauquemaires</text>
@ -1757,10 +1757,10 @@
<text locale="fr">crapaud</text>
</string>
<string name="braineater_p">
<text locale="fr">céphalophages</text>
<text locale="fr">céphalophages</text>
</string>
<string name="braineater">
<text locale="fr">céphalophage</text>
<text locale="fr">céphalophage</text>
</string>
<string name="peasant_p">
<text locale="fr">paysans</text>
@ -1805,16 +1805,16 @@
<text locale="fr">loup</text>
</string>
<string name="ghost_p">
<text locale="fr">fantômes</text>
<text locale="fr">fantômes</text>
</string>
<string name="ghost">
<text locale="fr">fantôme</text>
<text locale="fr">fantôme</text>
</string>
<string name="dreamcat_p">
<text locale="fr">chats des rêves</text>
<text locale="fr">chats des ręves</text>
</string>
<string name="dreamcat">
<text locale="fr">chat des rêves</text>
<text locale="fr">chat des ręves</text>
</string>
<string name="hellcat_p">
<text locale="fr">chats de l'Enfer</text>
@ -1835,10 +1835,10 @@
<text locale="fr">dauphin</text>
</string>
<string name="giantturtle_p">
<text locale="fr">tortues géantes</text>
<text locale="fr">tortues géantes</text>
</string>
<string name="giantturtle">
<text locale="fr">tortue géante</text>
<text locale="fr">tortue géante</text>
</string>
<string name="kraken_p">
<text locale="fr">krakens</text>
@ -1883,10 +1883,10 @@
<text locale="fr">hibou</text>
</string>
<string name="fairy_p">
<text locale="fr">fées</text>
<text locale="fr">fées</text>
</string>
<string name="fairy">
<text locale="fr">fée</text>
<text locale="fr">fée</text>
</string>
<string name="eagle_p">
<text locale="fr">aigles</text>
@ -1937,10 +1937,10 @@
<text locale="fr">spectre</text>
</string>
<string name="museumghost_p">
<text locale="fr">fantômes du musée</text>
<text locale="fr">fantômes du musée</text>
</string>
<string name="museumghost">
<text locale="fr">fantôme du musée</text>
<text locale="fr">fantôme du musée</text>
</string>
<string name="gnome_p">
<text locale="fr">gnomes</text>
@ -1949,16 +1949,16 @@
<text locale="fr">gnome</text>
</string>
<string name="template_p">
<text locale="fr">modèles</text>
<text locale="fr">modčles</text>
</string>
<string name="template">
<text locale="fr">modèle</text>
<text locale="fr">modčle</text>
</string>
<string name="clone_p">
<text locale="fr">métamorphes</text>
<text locale="fr">métamorphes</text>
</string>
<string name="clone">
<text locale="fr">métamorphe</text>
<text locale="fr">métamorphe</text>
</string>
</namespace>
@ -1973,20 +1973,20 @@
<text locale="fr">Statut Politique</text>
</string>
<string name="nr_herbsrequired">
<text locale="fr">Plantes nécessaires</text>
<text locale="fr">Plantes nécessaires</text>
</string>
<string name="nr_undercons">
<text locale="fr">en construction</text>
</string>
<string name="nr_damaged">
<text locale="fr">de dégâts</text>
<text locale="fr">de dégâts</text>
</string>
<string name="nr_youaredead">
<text locale="fr">Votre faction a été éliminée. Nous espérons que vous vous êtes bien amusé malgré tout, et vous encourageons à vous réincrire pour une nouvelle partie.</text>
<text locale="fr">Votre faction a été éliminée. Nous espérons que vous vous ętes bien amusé malgré tout, et vous encourageons ŕ vous réincrire pour une nouvelle partie.</text>
</string>
<!-- TODO: calendar ist noch komplexer -->
<string name="nr_skills">
<text locale="fr">compétences</text>
<text locale="fr">compétences</text>
</string>
<string name="nr_inventory">
<text locale="fr">possessions</text>
@ -2013,13 +2013,13 @@
<text locale="fr">attaque</text>
</string>
<string name="b_defense">
<text locale="fr">défense</text>
<text locale="fr">défense</text>
</string>
<string name="b_armor">
<text locale="fr">armure</text>
</string>
<string name="b_damage">
<text locale="fr">dégâts</text>
<text locale="fr">dégâts</text>
</string>
<!-- Testitem -->
@ -2030,28 +2030,28 @@
<text locale="fr">baguettes</text>
</string>
<!-- Küsten -->
<!-- Küsten -->
<namespace name="coast">
<string name="nw">
<text locale="fr">côte nord-ouest</text>
<text locale="fr">côte nord-ouest</text>
</string>
<string name="ne">
<text locale="fr">côte nord-est</text>
<text locale="fr">côte nord-est</text>
</string>
<string name="e">
<text locale="fr">côte est</text>
<text locale="fr">côte est</text>
</string>
<string name="se">
<text locale="fr">côte sud-est</text>
<text locale="fr">côte sud-est</text>
</string>
<string name="sw">
<text locale="fr">côte sud-ouest</text>
<text locale="fr">côte sud-ouest</text>
</string>
<string name="w">
<text locale="fr">côte ouest</text>
<text locale="fr">côte ouest</text>
</string>
</namespace>
<string name="nr_nmr">
<text locale="fr">Aucun ordre reçu pour votre faction !</text>
<text locale="fr">Aucun ordre reçu pour votre faction !</text>
</string>
</strings>

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="cerddor">
<entry spell="create_roi" level="6" />
<entry spell="earn_silver#cerddor" level="1" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="draig">
<entry spell="create_roi" level="6" />
<entry spell="earn_silver#draig" level="1" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="gray">
<entry spell="create_runesword" level="6" />
<entry spell="create_chastitybelt" level="7" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="gwyrrd">
<entry spell="create_roi" level="6" />
<entry spell="earn_silver#gwyrrd" level="1" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="illaun">
<entry spell="create_roi" level="6" />
<entry spell="earn_silver#illaun" level="1" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="tybied">
<entry spell="create_roi" level="6" />
<entry spell="earn_silver#tybied" level="1" />

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="utf-8"?>
<messages>
<message name="raindance_effect" section="magic">
<type>
<arg name="mage" type="unit"/>
</type>
<text locale="de">"$if($isnull($mage),"Ein unentdeckter Magier",$unit($mage)) führt einen sonderbaren Tanz auf. Kurz darauf beginnt es zu regnen."</text>
<text locale="de">"$if($isnull($mage),"Ein unentdeckter Magier",$unit($mage)) führt einen sonderbaren Tanz auf. Kurz darauf beginnt es zu regnen."</text>
<text locale="en">"$if($isnull($mage),"an unseen magician",$unit($mage)) dances a strange dance. Shortly after, rain begins to fall on the fields."</text>
</message>
</messages>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<races xmlns:xi="http://www.w3.org/2001/XInclude">
<!-- begin main races -->
@ -8,7 +8,7 @@
<xi:include href="config:///default/races/dragon.xml"/>
<xi:include href="config:///default/races/youngdragon.xml"/>
<race name="lynx" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="500" capacity="540" speed="1.0" hp="20" damage="2d3" unarmedattack="0" unarmeddefense="0" attackmodifier="4" defensemodifier="5" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="lynx" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="500" capacity="540" speed="1.0" hp="20" damage="2d3" unarmedattack="0" unarmeddefense="0" attackmodifier="4" defensemodifier="5" walk="yes" teach="no" getitem="yes">
<ai splitsize="99999"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="crossbow" modifier="-99"/>
@ -32,7 +32,7 @@
<attack type="4" damage="2d3"/>
</race>
<race name="human" magres="0.000000" 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" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="human" magres="0.000000" 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"/>
<function name="itemdrop" value="defaultdrops"/>
<param name="other_race" value="elf"/>
@ -47,7 +47,7 @@
<familiar race="giantturtle"/>
</race>
<race name="orc" studyspeed="-5" magres="-0.05" 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" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="orc" studyspeed="-5" magres="-0.05" 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"/>
<function name="itemdrop" value="defaultdrops"/>
<param name="other_race" value="troll"/>
@ -76,7 +76,7 @@
<familiar race="ghost"/>
</race>
<race name="halfling" defensemodifier="1" magres="0.05" 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" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="halfling" defensemodifier="1" magres="0.05" 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"/>
<function name="itemdrop" value="defaultdrops"/>
<param name="other_race" value="dwarf"/>
@ -104,7 +104,7 @@
<!-- begin secondary races -->
<race name="demon" magres="0.150000" maxaura="1.0" regaura="1.1" recruitcost="360" maintenance="10" weight="1000" capacity="540" speed="1.0" hp="30" ac="2" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" shapeshift="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" recruitethereal="yes" equipment="yes">
<race name="demon" magres="0.150000" maxaura="1.0" regaura="1.1" recruitcost="360" maintenance="10" weight="1000" capacity="540" speed="1.0" hp="30" ac="2" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" shapeshift="yes" giveperson="yes" giveunit="yes" getitem="yes" recruitethereal="yes" equipment="yes">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="cartmaking" modifier="-2"/>
@ -124,7 +124,7 @@
<familiar race="ghost"/>
</race>
<race name="elf" magres="0.100000" 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" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="elf" magres="0.100000" 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"/>
<function name="itemdrop" value="defaultdrops"/>
<param name="regen.forest" value="2.0"/>
@ -144,7 +144,7 @@
<familiar race="unicorn"/>
</race>
<race name="troll" magres="0.100000" maxaura="1.0" regaura="1.0" recruitcost="260" maintenance="10" weight="2000" capacity="1080" speed="1.0" hp="20" ac="1" damage="1d5+3" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="troll" magres="0.100000" maxaura="1.0" regaura="1.0" recruitcost="260" maintenance="10" weight="2000" capacity="1080" speed="1.0" hp="20" ac="1" damage="1d5+3" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="itemdrop" value="defaultdrops"/>
<param name="armor.stamina" value="4"/> <!-- +1 natural armor per X levels stamina -->
@ -167,7 +167,7 @@
<familiar race="rat"/>
</race>
<race name="dwarf" magres="0.05" 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" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="dwarf" magres="0.05" 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"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="armorer" modifier="2"/>
@ -192,7 +192,7 @@
<!-- end player races -->
<race name="kraken" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="500" capacity="540" speed="2.000000" hp="300" damage="2d10" unarmedattack="0" unarmeddefense="0" attackmodifier="7" defensemodifier="7" coastal="yes" swim="yes" teach="no" giveitem="yes" getitem="yes">
<race name="kraken" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="500" capacity="540" speed="2.000000" hp="300" damage="2d10" unarmedattack="0" unarmeddefense="0" attackmodifier="7" defensemodifier="7" coastal="yes" swim="yes" teach="no" getitem="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="crossbow" modifier="-99"/>
@ -219,7 +219,7 @@
<attack type="4" damage="1d10"/>
<attack type="4" damage="1d10"/>
</race>
<race name="giantturtle" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="1600" capacity="600" speed="1.0" hp="900" ac="7" damage="2d50" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="5" coastal="yes" swim="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="giantturtle" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="1600" capacity="600" speed="1.0" hp="900" ac="7" damage="2d50" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="5" coastal="yes" swim="yes" walk="yes" teach="no" getitem="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="crossbow" modifier="-99"/>
@ -241,7 +241,7 @@
<skill name="cartmaking" modifier="-99"/>
<attack type="4" damage="2d50"/>
</race>
<race name="dolphin" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="500" capacity="540" speed="2.000000" hp="24" damage="1d6" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="5" coastal="yes" swim="yes" teach="no" giveitem="yes" getitem="yes">
<race name="dolphin" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="500" capacity="540" speed="2.000000" hp="24" damage="1d6" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="5" coastal="yes" swim="yes" teach="no" getitem="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="crossbow" modifier="-99"/>
@ -263,7 +263,7 @@
<skill name="cartmaking" modifier="-99"/>
<attack type="4" damage="1d6"/>
</race>
<race name="tiger" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="500" capacity="540" speed="1.0" hp="30" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="3" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="tiger" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="500" capacity="540" speed="1.0" hp="30" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="3" walk="yes" teach="no" getitem="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="crossbow" modifier="-99"/>
@ -287,7 +287,7 @@
<attack type="4" damage="1d6"/>
<attack type="4" damage="1d6"/>
</race>
<race name="hellcat" magres="0.500000" maxaura="0.000000" regaura="0.000000" weight="500" capacity="540" speed="1.0" hp="40" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="4" walk="yes" teach="no" giveitem="yes" getitem="yes" resistpierce="yes">
<race name="hellcat" magres="0.500000" maxaura="0.000000" regaura="0.000000" weight="500" capacity="540" speed="1.0" hp="40" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="4" walk="yes" teach="no" getitem="yes" resistpierce="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="crossbow" modifier="-99"/>
@ -311,7 +311,7 @@
<attack type="4" damage="1d6"/>
<attack type="4" damage="1d6"/>
</race>
<race name="owl" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="500" capacity="540" speed="1.0" hp="9" damage="1d4" unarmedattack="0" unarmeddefense="0" attackmodifier="2" defensemodifier="4" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="owl" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="500" capacity="540" speed="1.0" hp="9" damage="1d4" unarmedattack="0" unarmeddefense="0" attackmodifier="2" defensemodifier="4" fly="yes" walk="yes" teach="no" getitem="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="crossbow" modifier="-99"/>
@ -334,7 +334,7 @@
<skill name="cartmaking" modifier="-99"/>
<attack type="4" damage="1d4"/>
</race>
<race name="fairy" magres="0.800000" maxaura="1.0" regaura="1.500000" weight="200" capacity="540" speed="1.0" hp="6" damage="1d3" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="14" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes" equipment="yes">
<race name="fairy" magres="0.800000" maxaura="1.0" regaura="1.500000" weight="200" capacity="540" speed="1.0" hp="6" damage="1d3" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="14" fly="yes" walk="yes" teach="no" getitem="yes" equipment="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="magic" modifier="1"/>
@ -361,7 +361,7 @@
<attack type="4" damage="1d3"/>
<attack type="4" damage="1d3"/>
</race>
<race name="dreamcat" magres="0.500000" maxaura="1.0" regaura="1.0" weight="500" capacity="540" speed="1.0" hp="10" damage="1d5" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="6" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes" invinciblenonmagic="yes">
<race name="dreamcat" magres="0.500000" maxaura="1.0" regaura="1.0" weight="500" capacity="540" speed="1.0" hp="10" damage="1d5" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="6" fly="yes" walk="yes" teach="no" getitem="yes" invinciblenonmagic="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="magic" modifier="1"/>
@ -384,7 +384,7 @@
<attack type="4" damage="1d5"/>
<attack type="4" damage="1d5"/>
</race>
<race name="imp" magres="0.500000" maxaura="1.0" regaura="1.0" weight="500" capacity="540" speed="1.0" hp="10" ac="1" damage="1d4" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="4" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes" equipment="yes">
<race name="imp" magres="0.500000" maxaura="1.0" regaura="1.0" weight="500" capacity="540" speed="1.0" hp="10" ac="1" damage="1d4" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="4" fly="yes" walk="yes" teach="no" getitem="yes" equipment="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="crossbow" modifier="-99"/>
@ -409,7 +409,7 @@
<attack type="1" damage="1d4"/>
<attack type="6" spell="fiery_dragonbreath" level="3" />
</race>
<race name="ghost" magres="0.800000" maxaura="0.500000" regaura="0.100000" weight="500" capacity="540" speed="1.0" hp="30" ac="5" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="8" scarepeasants="yes" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes" equipment="yes" invinciblenonmagic="yes">
<race name="ghost" magres="0.800000" maxaura="0.500000" regaura="0.100000" weight="500" capacity="540" speed="1.0" hp="30" ac="5" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="8" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" equipment="yes" invinciblenonmagic="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="crossbow" modifier="-99"/>
@ -435,7 +435,7 @@
<attack type="2" damage="2d30"/>
<attack type="3" damage="1d1"/>
</race>
<race name="wolf" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="500" capacity="540" speed="1.0" hp="25" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="3" scarepeasants="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="wolf" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="500" capacity="540" speed="1.0" hp="25" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="3" scarepeasants="yes" walk="yes" teach="no" getitem="yes">
<ai splitsize="5000"/>
<function name="name" value="namegeneric"/>
<function name="initfamiliar" value="oldfamiliars"/>
@ -460,7 +460,7 @@
<attack type="4" damage="1d4"/>
<attack type="4" damage="1d4"/>
</race>
<race name="unicorn" magres="0.900000" maxaura="1.500000" regaura="1.500000" weight="5000" capacity="2000" speed="2.000000" hp="40" damage="2d4" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="4" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="unicorn" magres="0.900000" maxaura="1.500000" regaura="1.500000" weight="5000" capacity="2000" speed="2.000000" hp="40" damage="2d4" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="4" walk="yes" teach="no" getitem="yes">
<ai splitsize="9999"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="crossbow" modifier="-99"/>
@ -484,7 +484,7 @@
<attack type="4" damage="3d12"/>
<attack type="4" damage="2d4"/>
</race>
<race name="nymph" magres="0.900000" maxaura="1.0" regaura="1.500000" weight="1000" capacity="540" speed="1.0" hp="15" damage="1d4" unarmedattack="0" unarmeddefense="0" attackmodifier="3" defensemodifier="1" walk="yes" teach="no" giveitem="yes" getitem="yes" equipment="yes">
<race name="nymph" magres="0.900000" maxaura="1.0" regaura="1.500000" weight="1000" capacity="540" speed="1.0" hp="15" damage="1d4" unarmedattack="0" unarmeddefense="0" attackmodifier="3" defensemodifier="1" walk="yes" teach="no" getitem="yes" equipment="yes">
<ai splitsize="9999"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="mining" modifier="-99"/>
@ -507,7 +507,7 @@
<attack type="1" damage="1d4"/>
<attack type="2" damage="2d20"/>
</race>
<race name="songdragon" magres="0.990000" maxaura="1.0" regaura="1.0" weight="1000" capacity="600" speed="1.500000" hp="40" ac="1" damage="2d4" unarmedattack="0" unarmeddefense="0" attackmodifier="3" defensemodifier="1" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="songdragon" magres="0.990000" maxaura="1.0" regaura="1.0" weight="1000" capacity="600" speed="1.500000" hp="40" ac="1" damage="2d4" unarmedattack="0" unarmeddefense="0" attackmodifier="3" defensemodifier="1" fly="yes" walk="yes" teach="no" getitem="yes">
<ai splitsize="9999"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="crossbow" modifier="-99"/>
@ -535,7 +535,7 @@
<attack type="6" spell="fiery_dragonbreath" level="3" />
</race>
<race name="rat" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="100" capacity="540" speed="1.0" hp="10" damage="1d4" unarmedattack="0" unarmeddefense="0" attackmodifier="1" defensemodifier="1" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="rat" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="100" capacity="540" speed="1.0" hp="10" damage="1d4" unarmedattack="0" unarmeddefense="0" attackmodifier="1" defensemodifier="1" walk="yes" teach="no" getitem="yes">
<ai splitsize="9999"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="crossbow" modifier="-99"/>
@ -559,7 +559,7 @@
<attack type="4" damage="1d4"/>
<attack type="4" damage="1d4"/>
</race>
<race name="eagle" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="500" capacity="540" speed="1.500000" hp="15" damage="2d3" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="2" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="eagle" magres="0.000000" maxaura="0.000000" regaura="0.000000" weight="500" capacity="540" speed="1.500000" hp="15" damage="2d3" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="2" fly="yes" walk="yes" teach="no" getitem="yes">
<ai splitsize="9999"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="crossbow" modifier="-99"/>
@ -582,7 +582,7 @@
<skill name="cartmaking" modifier="-99"/>
<attack type="4" damage="2d3"/>
</race>
<race name="tunnelworm" magres="0.800000" maxaura="0.000000" regaura="0.000000" weight="30000" capacity="10000" speed="1.0" hp="300" ac="6" damage="3d20" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="1" scarepeasants="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="tunnelworm" magres="0.800000" maxaura="0.000000" regaura="0.000000" weight="30000" capacity="10000" speed="1.0" hp="300" ac="6" damage="3d20" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="1" scarepeasants="yes" walk="yes" teach="no" getitem="yes">
<ai splitsize="99999"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="crossbow" modifier="-99"/>
@ -624,7 +624,7 @@
<attack type="3" damage="1d1"/>
<attack type="4" damage="1d1"/>
</race>
<race name="toad" magres="0.200000" maxaura="1.0" regaura="1.0" maintenance="10" weight="100" capacity="540" speed="1.0" hp="10" damage="1d2" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" walk="yes">
<race name="toad" magres="0.200000" maxaura="1.0" regaura="1.0" maintenance="10" weight="100" capacity="540" speed="1.0" hp="10" damage="1d2" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" giveperson="yes" giveunit="yes" getitem="yes" walk="yes">
<ai splitsize="1" learn="yes"/>
<skill name="crossbow" modifier="-10"/>
<skill name="mining" modifier="-10"/>
@ -677,7 +677,7 @@
<function name="name" value="namegeneric"/>
<attack type="1" damage="1d4"/>
</race>
<race name="mountainguard" unarmedguard="yes" magres="0.500000" maxaura="1.0" regaura="0.500000" weight="10000" capacity="2000" speed="0.000000" hp="1000" ac="12" damage="2d40" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="8" cannotmove="yes" canlearn="no" teach="no" noweapons="yes" giveitem="yes">
<race name="mountainguard" unarmedguard="yes" magres="0.500000" maxaura="1.0" regaura="0.500000" weight="10000" capacity="2000" speed="0.000000" hp="1000" ac="12" damage="2d40" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="8" cannotmove="yes" canlearn="no" teach="no" noweapons="yes">
<ai splitsize="1"/>
<function name="name" value="namegeneric"/>
<attack type="4" damage="2d40"/>
@ -695,13 +695,13 @@
<attack type="4" damage="2d3"/>
<attack type="3" damage="1d1"/>
</race>
<race name="stonegolem" stonegolem="true" magres="0.250000" maxaura="1.0" regaura="0.100000" weight="10000" capacity="2000" speed="1.0" hp="60" ac="4" damage="2d12+6" unarmedattack="0" unarmeddefense="0" attackmodifier="4" defensemodifier="2" walk="yes" canlearn="no" teach="no" giveitem="yes">
<race name="stonegolem" stonegolem="true" magres="0.250000" maxaura="1.0" regaura="0.100000" weight="10000" capacity="2000" speed="1.0" hp="60" ac="4" damage="2d12+6" unarmedattack="0" unarmeddefense="0" attackmodifier="4" defensemodifier="2" walk="yes" canlearn="no" teach="no">
<ai splitsize="50"/>
<skill name="building" modifier="14"/>
<skill name="roadwork" modifier="14"/>
<attack type="4" damage="2d10+4"/>
</race>
<race name="irongolem" irongolem="true" magres="0.250000" maxaura="1.0" regaura="0.100000" weight="10000" capacity="2000" speed="1.0" hp="50" ac="2" damage="2d10+4" unarmedattack="0" unarmeddefense="0" attackmodifier="4" defensemodifier="2" walk="yes" canlearn="no" teach="no" giveitem="yes">
<race name="irongolem" irongolem="true" magres="0.250000" maxaura="1.0" regaura="0.100000" weight="10000" capacity="2000" speed="1.0" hp="50" ac="2" damage="2d10+4" unarmedattack="0" unarmeddefense="0" attackmodifier="4" defensemodifier="2" walk="yes" canlearn="no" teach="no">
<ai splitsize="50"/>
<function name="name" value="namegeneric"/>
<skill name="armorer" modifier="14"/>
@ -717,7 +717,7 @@
<attack type="1" damage="1d4"/>
</race>
<race name="dracoid" magres="0.000000" maxaura="1.0" regaura="1.0" weight="1000" capacity="540" speed="1.0" hp="24" damage="1d5" unarmedattack="-2" unarmeddefense="-2" walk="yes" teach="no" giveitem="yes" giveperson="yes" getitem="yes" equipment="yes">
<race name="dracoid" magres="0.000000" maxaura="1.0" regaura="1.0" weight="1000" capacity="540" speed="1.0" hp="24" damage="1d5" unarmedattack="-2" unarmeddefense="-2" walk="yes" teach="no" giveperson="yes" getitem="yes" equipment="yes">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="name" value="namedracoid"/>
<attack type="4" damage="1d6"/>
@ -747,7 +747,7 @@
<attack type="5"/>
</race>
<race name="clone" magres="0.900000" maxaura="0.000000" regaura="0.000000" weight="1000" capacity="540" speed="1.0" hp="40" damage="0d0" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" canlearn="no" teach="no" noheal="yes" giveitem="yes">
<race name="clone" magres="0.900000" maxaura="0.000000" regaura="0.000000" weight="1000" capacity="540" speed="1.0" hp="40" damage="0d0" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" canlearn="no" teach="no" noheal="yes">
<ai splitsize="10000"/>
<skill name="crossbow" modifier="-99"/>
<skill name="mining" modifier="-99"/>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="cerddor">
<entry spell="create_potion_p2" level="2" />
<entry spell="create_potion_p0" level="3" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="common">
<entry spell="goodwinds" level="4" />
<entry spell="create_trollbelt" level="9" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="draig">
<entry spell="create_potion_p2" level="2" />
<entry spell="create_potion_p0" level="3" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="gray">
<entry spell="acidrain" level="8" />
<entry spell="airship" level="6" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="gwyrrd">
<entry spell="create_potion_p2" level="2" />
<entry spell="create_potion_p0" level="3" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="illaun">
<entry spell="create_potion_p2" level="2" />
<entry spell="create_potion_p0" level="3" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml version="1.0"?>
<spells xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="spellbooks/common.xml"/>
@ -56,7 +56,7 @@
<resource name="aura" amount="1" cost="level"/>
</spell>
<spell name="icastle" rank="5" index="137" syntax="buildingtype" parameters="c">
<!-- Traumschlößchen -->
<!-- Traumschlößchen -->
<resource name="aura" amount="3" cost="fixed"/>
</spell>
<spell name="dreamreading" rank="5" index="13" parameters="u" far="true">
@ -82,7 +82,7 @@
<!-- missing syntactical info: ONETARGET | UNITSPELL -->
</spell>
<spell name="gooddreams" rank="5" index="12" far="true">
<!-- Schöne Träume -->
<!-- Schöne Träume -->
<resource name="aura" amount="80" cost="fixed"/>
</spell>
<spell name="illaundestroymagic" rank="2" index="140" parameters="kc+" los="true" ship="true" far="true" variable="true">
@ -97,7 +97,7 @@
<resource name="silk" amount="20" cost="fixed"/>
</spell>
<spell name="bad_dreams" rank="5" index="11" far="true">
<!-- Schlechte Träume -->
<!-- Schlechte Träume -->
<resource name="aura" amount="90" cost="fixed"/>
</spell>
<spell name="mindblast" rank="5" index="78" variable="true" combat="1">
@ -114,11 +114,11 @@
<!-- new draig -->
<spell name="sparklechaos" rank="5" index="153" parameters="u" los="true" variable="true">
<!-- Verwünschung -->
<!-- Verwünschung -->
<resource name="aura" amount="1" cost="level"/>
</spell>
<spell name="earn_silver#draig" ship="true" variable="true" rank="5" index="159">
<!-- Kleine Flüche -->
<!-- Kleine Flüche -->
<function name="cast" value="lua_castspell"/>
<resource name="aura" amount="1" cost="level"/>
</spell>
@ -149,7 +149,7 @@
<resource name="aura" amount="2" cost="level"/>
</spell>
<spell name="summonundead" rank="5" index="41" ship="true" far="true" variable="true">
<!-- Mächte des Todes -->
<!-- Mächte des Todes -->
<resource name="aura" amount="5" cost="level"/>
</spell>
<spell name="firewall" rank="4" index="151" syntax="direction" parameters="c" variable="true">
@ -162,7 +162,7 @@
<resource name="peasant" amount="10" cost="fixed"/>
</spell>
<spell name="summonshadow" rank="5" index="34" variable="true">
<!-- Beschwöre Schattendämonen -->
<!-- Beschwöre Schattendämonen -->
<resource name="aura" amount="3" cost="level"/>
</spell>
<spell name="undeadhero" rank="5" index="164" variable="true" combat="3">
@ -184,7 +184,7 @@
<resource name="dragonhead" amount="1" cost="fixed"/>
</spell>
<spell name="summonshadowlords" rank="5" index="35" variable="true">
<!-- Beschwöre Schattenmeister -->
<!-- Beschwöre Schattenmeister -->
<resource name="aura" amount="7" cost="level"/>
</spell>
<spell name="create_firesword" ship="true" rank="5" index="148">
@ -235,7 +235,7 @@
<resource name="aura" amount="2" cost="level"/>
</spell>
<spell name="seduction" rank="5" index="73" parameters="u" los="true">
<!-- Lied der Verführung -->
<!-- Lied der Verführung -->
<resource name="aura" amount="12" cost="fixed"/>
</spell>
<spell name="calm_monster" rank="5" index="75" parameters="u" los="true" ship="true">
@ -288,7 +288,7 @@
</spell>
<!-- TODO: exploitable (transfers items) -->
<spell name="big_recruit" rank="5" index="179" variable="true">
<!-- Hohe Kunst der Überzeugung -->
<!-- Hohe Kunst der Überzeugung -->
<resource name="aura" amount="20" cost="level"/>
</spell>
<spell name="calm_riot" rank="5" index="91" far="true">
@ -330,7 +330,7 @@
<resource name="aura" amount="1" cost="level"/>
</spell>
<spell name="goodwinds" rank="5" index="56" parameters="s" ship="true" variable="true">
<!-- Beschwörung eines Wasserelementares -->
<!-- Beschwörung eines Wasserelementares -->
<resource name="aura" amount="1" cost="level"/>
</spell>
<spell name="windshield" rank="5" index="59" variable="true" combat="1">
@ -342,12 +342,12 @@
<resource name="aura" amount="1" cost="level"/>
</spell>
<spell name="earthquake" rank="5" index="53" far="true">
<!-- Beschwöre einen Erdelementar -->
<!-- Beschwöre einen Erdelementar -->
<resource name="aura" amount="25" cost="fixed"/>
<resource name="laen" amount="2" cost="fixed"/>
</spell>
<spell name="stormwinds" rank="5" index="55" parameters="s+" ship="true" ocean="true" variable="true">
<!-- Beschwöre einen Sturmelementar -->
<!-- Beschwöre einen Sturmelementar -->
<resource name="aura" amount="6" cost="level"/>
</spell>
<spell name="wolfhowl" rank="5" index="94" variable="true" combat="1">
@ -381,7 +381,7 @@
<resource name="aura" amount="4" cost="level"/>
</spell>
<spell name="summonfireelemental" rank="5" index="46" far="true">
<!-- Beschwörung eines Hitzeelementar -->
<!-- Beschwörung eines Hitzeelementar -->
<resource name="aura" amount="600" cost="fixed"/>
</spell>
<spell name="maelstrom" rank="5" index="24" ship="true" ocean="true">
@ -404,15 +404,15 @@
<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 -->
<resource name="h17" amount="1" cost="linear"/><!-- Höhlenglimm -->
</spell>
<spell name="create_potion_p9" ship="true" rank="5" variable="true">
<!-- Pferdeglück -->
<!-- Pferdeglück -->
<function name="cast" value="lua_castspell"/>
<resource name="aura" amount="3" cost="linear"/>
<resource name="h0" amount="1" cost="linear"/><!-- Flachwurz -->
<resource name="h8" amount="1" cost="linear"/><!-- Blasenmorchel -->
<resource name="h15" amount="1" cost="linear"/><!-- Steinbeißer -->
<resource name="h15" amount="1" cost="linear"/><!-- Steinbeißer -->
</spell>
<spell name="create_potion_peasantblood" ship="true" rank="5" variable="true">
<!-- Bauernblut -->
@ -420,7 +420,7 @@
<resource name="aura" amount="3" cost="linear"/>
<resource name="h14" amount="1" cost="linear"/><!-- Alraune -->
<resource name="h6" amount="1" cost="linear"/><!-- Gurgelkraut -->
<resource name="h17" amount="1" cost="linear"/><!-- Höhlenglimm -->
<resource name="h17" amount="1" cost="linear"/><!-- Höhlenglimm -->
<resource name="peasant" amount="1" cost="fixed"/><!-- Bauer -->
</spell>
@ -429,9 +429,9 @@
<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 -->
<resource name="h15" amount="1" cost="linear"/><!-- Steinbeißer -->
<resource name="h18" amount="1" cost="linear"/><!-- Eisblume -->
<resource name="h11" amount="1" cost="linear"/><!-- Sandfäule -->
<resource name="h11" amount="1" cost="linear"/><!-- Sandfäule -->
</spell>
<spell name="create_potion_p3" ship="true" rank="5" variable="true">
<!-- Schaffenstrunk -->
@ -448,7 +448,7 @@
<resource name="aura" amount="5" cost="linear"/>
<resource name="h0" amount="1" cost="linear"/><!-- Flachwurz -->
<resource name="h8" amount="1" cost="linear"/><!-- Blasenmorchel -->
<resource name="h15" amount="1" cost="linear"/><!-- Steinbeißer -->
<resource name="h15" amount="1" cost="linear"/><!-- Steinbeißer -->
<resource name="h18" amount="1" cost="linear"/><!-- Eisblume -->
<resource name="h9" amount="1" cost="linear"/><!-- Wasserfinder -->
</spell>
@ -458,9 +458,9 @@
<resource name="aura" amount="5" cost="linear"/>
<resource name="h14" amount="1" cost="linear"/><!-- Alraune -->
<resource name="h8" amount="1" cost="linear"/><!-- Blasenmorchel -->
<resource name="h17" amount="1" cost="linear"/><!-- Höhlenglimm -->
<resource name="h17" amount="1" cost="linear"/><!-- Höhlenglimm -->
<resource name="h20" amount="1" cost="linear"/><!-- Schneekristall -->
<resource name="h11" amount="1" cost="linear"/><!-- Sandfäule -->
<resource name="h11" amount="1" cost="linear"/><!-- Sandfäule -->
<resource name="dragonblood" amount="1" cost="fixed"/><!-- Drachenblut -->
</spell>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" encoding="UTF-8"?>
<strings>
<!--
_d: dativ (wir erklären allen /Trollen/ den Krieg)
_d: dativ (wir erklären allen /Trollen/ den Krieg)
_p: plural (13 /Trolle/)
_x: preposition (15 /Troll/schwerter)
_a: including article (ein Troll, a troll)
@ -25,16 +25,16 @@
<text locale="en">adamantium axe</text>
</string>
<string name="adamantiumaxe_p">
<text locale="de">Adamantiumäxte</text>
<text locale="de">Adamantiumäxte</text>
<text locale="en">adamantium axes</text>
</string>
<string name="adamantiumplate">
<text locale="de">Adamantiumrüstung</text>
<text locale="de">Adamantiumrüstung</text>
<text locale="en">adamantium plate</text>
</string>
<string name="adamantiumplate_p">
<text locale="de">Adamantiumrüstungen</text>
<text locale="de">Adamantiumrüstungen</text>
<text locale="en">adamantium plates</text>
</string>
@ -58,7 +58,7 @@
<text locale="en">Certificates</text>
</string>
<string name="rpg_item_2_p">
<text locale="de">Nußhälften</text>
<text locale="de">Nußhälften</text>
<text locale="en">nut halves</text>
</string>
<string name="rpg_item_3_p">
@ -66,11 +66,11 @@
<text locale="en">bottle demons</text>
</string>
<string name="rpg_item_1">
<text locale="de">Pandoras Urkunde für Halbling ehrenhalber, weiblich</text>
<text locale="de">Pandoras Urkunde für Halbling ehrenhalber, weiblich</text>
<text locale="en">Pandora's Certificate</text>
</string>
<string name="rpg_item_2">
<text locale="de">Heilige Nußhälfte</text>
<text locale="de">Heilige Nußhälfte</text>
<text locale="en">piece of a holy nut</text>
</string>
<string name="rpg_item_3">
@ -83,12 +83,12 @@
<text locale="en">repeating crossbow</text>
</string>
<string name="rep_crossbow_p">
<text locale="de">Repetierarmbrüste</text>
<text locale="de">Repetierarmbrüste</text>
<text locale="en">repeating crossbows</text>
</string>
<string name="scaffolding">
<text locale="de">Gerüst</text>
<text locale="de">Gerüst</text>
<text locale="en">scaffolding</text>
</string>
<string name="guardhouse">
@ -110,11 +110,11 @@
<namespace name="morale">
<string name="0">
<text locale="de">aufständische</text>
<text locale="de">aufständische</text>
<text locale="en">rebellious</text>
</string>
<string name="1">
<text locale="de">wütende</text>
<text locale="de">wütende</text>
<text locale="en">mad</text>
</string>
<string name="2">
@ -126,7 +126,7 @@
<text locale="en">agitated</text>
</string>
<string name="4">
<text locale="de">gleichgültige</text>
<text locale="de">gleichgültige</text>
<text locale="en">indifferent</text>
</string>
<string name="5">
@ -138,7 +138,7 @@
<text locale="en">content</text>
</string>
<string name="7">
<text locale="de">glückliche</text>
<text locale="de">glückliche</text>
<text locale="en">happy</text>
</string>
<string name="8">
@ -150,7 +150,7 @@
<text locale="en">devoted</text>
</string>
<string name="10">
<text locale="de">unterwürfige</text>
<text locale="de">unterwürfige</text>
<text locale="en">subservient</text>
</string>
</namespace>
@ -159,7 +159,7 @@
<text locale="en">charger</text>
</string>
<string name="charger_p">
<text locale="de">Streitrösser</text>
<text locale="de">Streitrösser</text>
<text locale="en">chargers</text>
</string>
<string name="towershield">
@ -193,7 +193,7 @@
<text locale="en">brew peasant blood</text>
</string>
<string name="create_potion_p9">
<text locale="de">Braue Pferdeglück</text>
<text locale="de">Braue Pferdeglück</text>
<text locale="en">brew horsepower potion</text>
</string>
<string name="create_potion_p13">
@ -209,21 +209,21 @@
<namespace name="spellinfo">
<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>
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 peasant's harvest will be extraordinary good.
(OBS: this spell has been changed and needs a new translation).</text>
</string>
<string name="blessedharvest">
<text locale="de">Für dieses Ernteritual sendet der Druide seine arkane Energie entlang
<text locale="de">Für dieses Ernteritual sendet der Druide seine arkane Energie entlang
der astralen Kraftlinien der gesamten Umgebung, um selbst weit entfernte
Naturgeister zu erreichen. Die Beschwörung dieser Naturgeister ist eine
hohe Kunst, die höchste Konzentration und vor allem viel Erfahrung
Naturgeister zu erreichen. Die Beschwörung dieser Naturgeister ist eine
hohe Kunst, die höchste Konzentration und vor allem viel Erfahrung
erfordert. Die Bauern werden nach und nach von den besseren Ernten
profitieren und ihre Ersparnisse steigern können.</text>
profitieren und ihre Ersparnisse steigern können.</text>
<text locale="en">This ritual increases the output of the local farms.
Peasants in the region produce an extra silverpiece. The stronger the
druid's spell is, the longer the effect will last.
@ -231,13 +231,13 @@
</string>
<string name="earn_silver#draig">
<text locale="de">In den dunkleren Gassen gibt es sie,
die Flüche und Verhexungen auf Bestellung. Aber
auch Gegenzauber hat der Jünger des Draigs
natürlich im Angebot. Ob nun der Sohn des
die Flüche und Verhexungen auf Bestellung. Aber
auch Gegenzauber hat der Jünger des Draigs
natürlich im Angebot. Ob nun der Sohn des
Nachbarn in einen Liebesbann gezogen werden soll
oder die Nebenbuhlerin Pickel und Warzen
bekommen soll, niemand gibt gerne zu, zu solchen
Mitteln gegriffen zu haben. Für diese
Mitteln gegriffen zu haben. Für diese
Dienstleistung streicht der Magier 25 Silber pro
Stufe ein.</text>
<text locale="en">In the dark alleys you can find those
@ -250,18 +250,10 @@
per level.</text>
</string>
<string name="earn_silver#illaun">
<text locale="fr">Personne n'interprète aussi bien les
rêves que les mages d'Illaun. Ils sont également
versés dans l'utilisation des objets utilisés
pour prédire le futur comme les boules de
cristal, les cartes de tarot ou les lignes de la
main. Un mentaliste peut gagner 25 écus par
niveau et par semaine en proposant ses services
aux paysans.</text>
<text locale="de">Niemand kann so gut die Träume deuten
<text locale="de">Niemand kann so gut die Träume deuten
wie ein Magier des Illaun. Auch die Kunst der
Wahrsagerei, des Kartenlegens und des Handlesens
sind ihm geläufig. Dafür zahlen ihm die Bauern
sind ihm geläufig. Dafür zahlen ihm die Bauern
25 Silber pro Stufe.</text>
<text locale="en">No one can read dreams as well as the
mages of Illaun. Furthermore, they are also
@ -273,11 +265,11 @@
</string>
<string name="earn_silver#tybied">
<text locale="de">Wenn einem der Alchemist nicht weiterhelfen kann, geht man zu dem
gelehrten Tybiedmagier. Seine Tränke und Tinkturen helfen gegen
gelehrten Tybiedmagier. Seine Tränke und Tinkturen helfen gegen
alles, was man sonst nicht bekommen kann. Ob nun die kryptische
Formel unter dem Holzschuh des untreuen Ehemannes wirklich geholfen
hat - nun, der des Lesens nicht mächtige Bauer wird es nie wissen.
Dem Magier hilft es auf jeden Fall... beim Füllen seines
hat - nun, der des Lesens nicht mächtige Bauer wird es nie wissen.
Dem Magier hilft es auf jeden Fall... beim Füllen seines
Geldbeutels. 25 Silber pro Stufe lassen sich so in einer Woche
verdienen.</text>
<text locale="en">If the local alchemist could not help you, you should visit a
@ -291,10 +283,10 @@
<string name="earn_silver#cerddor">
<text locale="de">Cerddormagier sind _die_ Gaukler unter
den Magiern, sie lieben es das Volk zu unterhalten und
im Mittelpunkt zu stehen. Schon Anfänger lernen die
kleinen Kunststücke und magischen Tricks, mit denen man
das Volk locken und verführen kann, den Geldbeutel ganz
weit zu öffnen, und am Ende der Woche wird der Gaukler
im Mittelpunkt zu stehen. Schon Anfänger lernen die
kleinen Kunststücke und magischen Tricks, mit denen man
das Volk locken und verführen kann, den Geldbeutel ganz
weit zu öffnen, und am Ende der Woche wird der Gaukler
25 Silber pro Stufe verdient haben.</text>
<text locale="en">The mages of Cerddor truly are the
bards of the wizards; they love to use their sorcery to
@ -306,11 +298,11 @@
per level. </text>
</string>
<string name="earn_silver#gwyrrd">
<text locale="de">Die Fähigkeiten der Gwyrrd-Magier in
<text locale="de">Die Fähigkeiten der Gwyrrd-Magier in
der Viehzucht und Heilung sind bei den Bauern sehr
begehrt. Gerade auf Märkten sind ihre Dienste häufig sehr
begehrt. Gerade auf Märkten sind ihre Dienste häufig sehr
gefragt. Manch einer mag auch sein Talent dazu nutzen,
ein Tier für einen besseren Preis zu verkaufen. Pro
ein Tier für einen besseren Preis zu verkaufen. Pro
Stufe kann der Magier so 25 Silber verdienen.</text>
<text locale="en">The abilities of the mages of Gwyrrd
concerning the breeding and healing of cattle are highly
@ -326,31 +318,31 @@
</string>
<string name="create_potion_p2">
<text locale="en">One of the most strange spells enables the magician to withdraw a little life energy from his surroundings to produce the so called water of life. The juice of some selected herbs is used to conserve the energies of life. As the magician is protected by his magical abilities, he is the only one who can touch the juice without taking damage. This is necessary because the juice must be carried around from place to place to avoid damaging one region by taking too much energy at once.</text>
<text locale="de">In einem der seltsamsten Zauber kann der Magier seiner Umgebung ein klein wenig der Lebensenergie entziehen um das sogenannte Wasser des Lebens herstellen. Als Basis dient ihm hierbei der Saft aus einigen ausgesuchten Kräutern, welcher die Lebensenergie speichern kann. Da der Magier aufgrund seiner magischen Fähigkeiten immun ist, ist er der einzige, der den Saft berühren kann, ohne Schaden zu nehmen. Sodenn muß er diesen eine Woche lang von Ort zu Ort tragen, damit er sich mit Lebensenergie vollsaugt, ohne einem einzelnen Ort soviel zu entfernen, daß er Schaden nimmt. </text>
<text locale="de">In einem der seltsamsten Zauber kann der Magier seiner Umgebung ein klein wenig der Lebensenergie entziehen um das sogenannte Wasser des Lebens herstellen. Als Basis dient ihm hierbei der Saft aus einigen ausgesuchten Kräutern, welcher die Lebensenergie speichern kann. Da der Magier aufgrund seiner magischen Fähigkeiten immun ist, ist er der einzige, der den Saft berühren kann, ohne Schaden zu nehmen. Sodenn muß er diesen eine Woche lang von Ort zu Ort tragen, damit er sich mit Lebensenergie vollsaugt, ohne einem einzelnen Ort soviel zu entfernen, daß er Schaden nimmt. </text>
</string>
<string name="create_potion_p3">
<text locale="en">Busybeer is another application for the knowledge about time a magician accumulates. Even though manual labour is only seldom done by mages, they still show interest in increasing the efficiency of their minions that do this work for them. Mornac the wise was the first to discover how to produce a potion that would enable 10 minions to do the work of 20, thus freeing the other 10 for different experiments.</text>
<text locale="de">Ein weiteres Anwendungsgebiet des Wissens über die Zeit welches ein Magier ansammelt stellt der Schaffenstrunk dar. Auch wenn körperliche Arbeiten eher selten von Magiern ausgeführt werden, so haben diese doch ein Interesse daran, die Effizienz ihrer Untergebenen bei solchen Arbeiten zu steigern. Mornac der Weise war der erste, der entdeckte, daß man einen Trunk herstellen kann, durch den 10 Untergebene die arbeit von 20 erledigen können, wodurch 10 für andere Experimente weiterverwendet werden konnten. </text>
<text locale="de">Ein weiteres Anwendungsgebiet des Wissens über die Zeit welches ein Magier ansammelt stellt der Schaffenstrunk dar. Auch wenn körperliche Arbeiten eher selten von Magiern ausgeführt werden, so haben diese doch ein Interesse daran, die Effizienz ihrer Untergebenen bei solchen Arbeiten zu steigern. Mornac der Weise war der erste, der entdeckte, daß man einen Trunk herstellen kann, durch den 10 Untergebene die arbeit von 20 erledigen können, wodurch 10 für andere Experimente weiterverwendet werden konnten. </text>
</string>
<string name="create_potion_ointment">
<text locale="en">In the aftermath of battle it is vital to heal your own troops. This can be done by a healer as well as by a magician. In contrast to a healer, the magician can fullfill his treatment already before the battle by binding his magical powers into a potent salve. This salve can be stored and only needs to be applied to the wounds after the battle. </text>
<text locale="de">Nach einem harten Kampf sollte man sich heilen lassen. Diese Möglichkeit bietet der Magier ebenso wie der Heiler. Im Gegensatz zum Heiler ist der Magier jedoch in der Lage, seine Behandlung bereits vor dem Kampf durchzuführen, indem er seine Heilkräfte in eine magische Salbe bindet, welche gelagert werden kann und nach dem Kampf nur aufgetragen werden muß.</text>
<text locale="de">Nach einem harten Kampf sollte man sich heilen lassen. Diese Möglichkeit bietet der Magier ebenso wie der Heiler. Im Gegensatz zum Heiler ist der Magier jedoch in der Lage, seine Behandlung bereits vor dem Kampf durchzuführen, indem er seine Heilkräfte in eine magische Salbe bindet, welche gelagert werden kann und nach dem Kampf nur aufgetragen werden muß.</text>
</string>
<string name="create_potion_peasantblood">
<text locale="en">One of the most dangerous and best guarded secrets of all mages is the knowledge about the power of death. Even though most of them would not openly admit it, and it is at least partially forbidden in most countries, each of them studies death sooner or later. When they do, they quickly find out that there is another plane of existance, the home of the demons. Only blood can quelch the thirst of those, when they switch from their home to our world. But experienced mages will find out that the demons bloodwine can be deluted when apropiate herbs are included, making it enough for 100 instead of 10 demons. As the demons may not know about that, the magician has to secretly sacrifice one of his freed minions.</text>
<text locale="de">Zu den gefährlichsten und geheimsten Wissen der Magier zählt das Wissen über die Macht des Todes. Auch wenn die meisten es nicht zugeben, so fasziniert dieses Thema jeden Magier. Früher oder später beschäftigen sich alle mit diesem, teiweise verbotenen, Gebiet. Sodann werden sie feststellen, das es noch eine weitere Ebene der Existenz gibt, in der die Dämonen beheimatet sind. Nur Blut allein vermag den Hunger dieser Wesen zu befriedigen, wenn sie ihre Ebene verlassen und unsere betreten. Erfahrene Magier werden jedoch feststellen, dass man den Blutwein, den die Dämonen zu sich nehmen strecken kann, so daß davon 100 anstatt nur 10 Dämonen satt werden. Da die Dämonen davon jedoch nichts wissen dürfen, muß der Magier selbst klammheimlich einen seiner urplötzlich verfügbar gewordenen Untergebenen opfern. </text>
<text locale="de">Zu den gefährlichsten und geheimsten Wissen der Magier zählt das Wissen über die Macht des Todes. Auch wenn die meisten es nicht zugeben, so fasziniert dieses Thema jeden Magier. Früher oder später beschäftigen sich alle mit diesem, teilweise verbotenen, Gebiet. Sodann werden sie feststellen, das es noch eine weitere Ebene der Existenz gibt, in der die Dämonen beheimatet sind. Nur Blut allein vermag den Hunger dieser Wesen zu befriedigen, wenn sie ihre Ebene verlassen und unsere betreten. Erfahrene Magier werden jedoch feststellen, dass man den Blutwein, den die Dämonen zu sich nehmen strecken kann, so daß davon 100 anstatt nur 10 Dämonen satt werden. Da die Dämonen davon jedoch nichts wissen dürfen, muß der Magier selbst klammheimlich einen seiner urplötzlich verfügbar gewordenen Untergebenen opfern. </text>
</string>
<string name="create_potion_p9">
<text locale="en">Even though mages live in strict cellibate they know a lot about creating certain longings. Peasants keep asking them for this love potion or that. But the penality for bewitching a peasant is death, so the mages offer their services only to farmers for their breeding stock. In an elaborate ritual, which only serves to hide the simplicity of the procedure, the magician draws the fluids from certains plants. while doing so, he calls upon the spirits of fertility which of course only listen when he talkes to them. Now the farmer knows that any attempt to draw the fluids himself will only result in a useless waste of resorces. Finally, the magician hands the vial with the fluids to the farmer, who pours it into his horses drinking water.</text>
<text locale="de">Obwohl für Magier das Gebiet der Liebe Tabu ist und sie im strengen Zölibat leben, haben sie ein großes Wissen darüber, wie man gewisse Bedürfnisse weckt, weshalb sie immer wieder von Dorfbewohnerinnen und Dorfbewohnern nach entsprechenden Zaubern gefragt werden. Da die Verzauberung eines Bewohners jedoch streng verboten ist, bieten sie ihre Dienste nur für die Züchter an. In einem Aufwendigen Ritual, welches jedoch nur dazu dient zu verschleiern, wie einfach dies eigentlich ist, vermischt der Magier vor den Augen des Züchters einige Pflanzensäfte. Dabei ruft er die Geister an die dem Pferdezüchter das Glück bescheren sollen, um klarzumachen, das diese nur mit ihm sprechen und jeglicher Versuch des Züchters, selbst die Kräuter zu mischen nur eine unbrauchbare Pampe produzieren würde. Anschließend überreicht der Magier dem Züchter eine Phiole, die dieser in die Tränke seiner Pferde entleeren muß.</text>
<text locale="de">Obwohl für Magier das Gebiet der Liebe Tabu ist und sie im strengen Zölibat leben, haben sie ein großes Wissen darüber, wie man gewisse Bedürfnisse weckt, weshalb sie immer wieder von Dorfbewohnerinnen und Dorfbewohnern nach entsprechenden Zaubern gefragt werden. Da die Verzauberung eines Bewohners jedoch streng verboten ist, bieten sie ihre Dienste nur für die Züchter an. In einem Aufwendigen Ritual, welches jedoch nur dazu dient zu verschleiern, wie einfach dies eigentlich ist, vermischt der Magier vor den Augen des Züchters einige Pflanzensäfte. Dabei ruft er die Geister an die dem Pferdezüchter das Glück bescheren sollen, um klarzumachen, das diese nur mit ihm sprechen und jeglicher Versuch des Züchters, selbst die Kräuter zu mischen nur eine unbrauchbare Pampe produzieren würde. Anschließend überreicht der Magier dem Züchter eine Phiole, die dieser in die Tränke seiner Pferde entleeren muß.</text>
</string>
<string name="create_potion_p13">
<text locale="en">Just like with the knowledge about death, the peasants feel uncomfortable with the knowledge about monsters. A few warriors though, who have already faced these creatures in combat, foud that the monsters blood had en invigourating effect on them. There is talk about some warriors, who bathed in the blood of the slain monsters to take up their strenght. But this effect ends soon, and only occurs with fresh blood. As no one has time to quickly slay a wyrm before attacking his neighbors, a way had to be found to make the effect last longer. After lots of experiments that cost the life of lots of good warriors who had to constantly bring in fresh dragon blood, Manasouf the black finally found a way. Originally a closely guarded secret, the recipe is now knows in all lands. First, the hardened dragon blood needs to be melted in hot tin. After that, the magician binds the spirit of the dragon to its blood once again. It can not fnd eternal rest until the last bit of blood has been used. </text>
<text locale="de">Ebenso wie das Wissen über den Tod ist das Wissen über gewisse Monster bei der abergläubigen Bevölkerung nicht gerne gesehen. Einige wenige Krieger jedoch, die diesen Kreaturen schon mal im Kampf gegenüberstanden haben entdeckt, daß deren Blut eine belebende Wirkung auf sie hatte. So solle es schon Kriger gegeben haben, die im Blut der erschlagenen Monster badeten, um deren Stärke in sich aufzunehmen. Diese Wirkung verfliegt jedoch rasch, und wirkt nur bei frischen Blut. Da niemand vor dem Kampf gegen seinen Nachbarn die Zeit hat, schnell noch einen Wyrm zu erschlagen musste ein Weg gefunden werden, die Wirkung haltbar zu machen. Manasouf dem schwarzen gelang dies nach zahlreichen Experimenten, die das Leben vieler guter Männer kosteten, welche ständig neues Drachenblut für seine Versuche beschaffen mussten. Ursprünglich ein streng gehütetes Geheimnis, ist das Rezept inzwischen im ganzen Land bekannt. Zunächst muß geronnene Drachenblut muß in einem Tiegel wieder verflüssigt werden. Anschließend wird der Geist des erschlagenen Drachen in der Geisterebene wieder an sein Blut gebunden, und kann solange nicht in frieden ruhen, bis das letzte bisschen seines Blutes verbraucht wurde.</text>
<text locale="de">Ebenso wie das Wissen über den Tod ist das Wissen über gewisse Monster bei der abergläubigen Bevölkerung nicht gerne gesehen. Einige wenige Krieger jedoch, die diesen Kreaturen schon mal im Kampf gegenüberstanden haben entdeckt, daß deren Blut eine belebende Wirkung auf sie hatte. So solle es schon Kriger gegeben haben, die im Blut der erschlagenen Monster badeten, um deren Stärke in sich aufzunehmen. Diese Wirkung verfliegt jedoch rasch, und wirkt nur bei frischen Blut. Da niemand vor dem Kampf gegen seinen Nachbarn die Zeit hat, schnell noch einen Wyrm zu erschlagen musste ein Weg gefunden werden, die Wirkung haltbar zu machen. Manasouf dem schwarzen gelang dies nach zahlreichen Experimenten, die das Leben vieler guter Männer kosteten, welche ständig neues Drachenblut für seine Versuche beschaffen mussten. Ursprünglich ein streng gehütetes Geheimnis, ist das Rezept inzwischen im ganzen Land bekannt. Zunächst muß geronnene Drachenblut muß in einem Tiegel wieder verflüssigt werden. Anschließend wird der Geist des erschlagenen Drachen in der Geisterebene wieder an sein Blut gebunden, und kann solange nicht in frieden ruhen, bis das letzte bisschen seines Blutes verbraucht wurde.</text>
</string>
<string name="create_potion_p14">
<text locale="en">Some mages research deth's secrets until they can bring the dead back to life. But those who are brought back are often only shadows of ther former self and turn against their erstwhile friends. But those mages that study life and its iteraction with death find a possibility, to bring the deceased back as their original selves. A drawback is that this is only possible in the very first minutes after the death. As even mages can not be everywhere at the same time, a way had to be found to give this ability to helpers. All healers who tried to learn this from the mages failed, though, until one of those healers was backstabbingly killed. In the moment of his death he used the knowledge gained and was able to have his murderer executed the following day. The potion he designed has to be blessed by a magician before usage at any given time. This potion gives 4 people (or 1 person 4 times) a 50% chance to survive an otherwise deadly wound. It is used automatically by the victom.</text>
<text locale="de">Manche Magier erforschen den Tod, bis sie verstorbene wieder ins Leben zurück bringen können. Diese sind jedoch meist bösartig und nur noch Schatten ihres früheren selbst. Diejenigen jedoch, die sich intensiv mit dem Leben und seiner Kombination mit dem Tod beschäftigen finden eine Möglichkeit, verstorbene in ihrer wahren Gestallt zurück zu rufen. Dies ist allerdings nur wenige Minuten nach dem Tod möglich. Da selbst Magier nicht überall gleichzeitig sein können, musste ein Weg gefunden werden, diese Fähigkeit auf andere zu übertragen. Alle Versuche, dies feldschern beizubringen scheiterten jedoch, bis einer dieser Felschner von einem Widersacher hinterrücks ermordet wurde. Im Moment seines Todes wandte er sein erworbenes Wissen an und konnte tags darauf den Übeltäter wegen Mordes hinrichten lassen. Der von ihm entwickelte magische Trank muß jedoch von einem der Magie des Lebens kundigen gesegnet werden, um seine volle Wirkung zu entfalten. Ein solcher Trank gibt vier Männern (oder einem Mann vier mal) im Kampf eine Chance von 50%, sonst tödliche Wunden zu überleben. Der Trank wird von ihnen automatisch bei Verletzung angewandt.</text>
<text locale="de">Manche Magier erforschen den Tod, bis sie verstorbene wieder ins Leben zurück bringen können. Diese sind jedoch meist bösartig und nur noch Schatten ihres früheren selbst. Diejenigen jedoch, die sich intensiv mit dem Leben und seiner Kombination mit dem Tod beschäftigen finden eine Möglichkeit, verstorbene in ihrer wahren Gestallt zurück zu rufen. Dies ist allerdings nur wenige Minuten nach dem Tod möglich. Da selbst Magier nicht überall gleichzeitig sein können, musste ein Weg gefunden werden, diese Fähigkeit auf andere zu übertragen. Alle Versuche, dies feldschern beizubringen scheiterten jedoch, bis einer dieser Felschner von einem Widersacher hinterrücks ermordet wurde. Im Moment seines Todes wandte er sein erworbenes Wissen an und konnte tags darauf den Übeltäter wegen Mordes hinrichten lassen. Der von ihm entwickelte magische Trank muß jedoch von einem der Magie des Lebens kundigen gesegnet werden, um seine volle Wirkung zu entfalten. Ein solcher Trank gibt vier Männern (oder einem Mann vier mal) im Kampf eine Chance von 50%, sonst tödliche Wunden zu überleben. Der Trank wird von ihnen automatisch bei Verletzung angewandt.</text>
</string>
</namespace>
@ -364,8 +356,8 @@
<string name="commonfamiliar">
<text locale="de">Einem erfahrenen Magier wird
irgendwann auf seinen Wanderungen ein
ungewöhnliches Exemplar einer Gattung begegnen,
welches sich dem Magier anschließen wird.</text>
ungewöhnliches Exemplar einer Gattung begegnen,
welches sich dem Magier anschließen wird.</text>
<text locale="en">During their travel, seasoned
magicians will occasionally befriend an extraordinary
creature of an unusual species that will join them.</text>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" ?>
<terrains>
<!-- defaults: build="yes" walk="yes" sail="yes" fly="yes" swim="no" forest="no" sea="no" land="yes" forbidden="no" arctic="no" cavalry="no" size="0" -->
<terrain name="ocean" size="100" walk="no" swim="yes" land="no" sea="yes" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<resources>
<!-- xmas gimmicks -->

View File

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<races xmlns:xi="http://www.w3.org/2001/XInclude">
<race name="snowman" magres="0.800000" maxaura="0.000000"
regaura="0.000000" weight="500" capacity="200" equipment="no"
speed="1.000000" hp="1000" ac="4" damage="2d4" unarmedattack="10"
unarmeddefense="10" attackmodifier="8" defensemodifier="8"
fly="no" walk="no" canteach="no" getitem="yes" giveitem="yes">
fly="no" walk="no" canteach="no" getitem="yes">
<attack type="4" damage="2d6+2"/>
<attack type="3" damage="2d6+2"/>
</race>
<race name="human" magres="0.000000" maxaura="1.000000" regaura="1.000000" recruitcost="75" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="20" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="human" magres="0.000000" maxaura="1.000000" regaura="1.000000" recruitcost="75" maintenance="10" weight="1000" capacity="540" speed="1.000000" 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"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="trade" modifier="1"/>
@ -26,7 +26,7 @@
<familiar race="eagle"/>
<familiar race="imp"/>
</race>
<race name="kraken" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="540" speed="2.000000" hp="300" damage="2d10" unarmedattack="0" unarmeddefense="0" attackmodifier="7" defensemodifier="7" coastal="yes" swim="yes" teach="no" giveitem="yes" getitem="yes">
<race name="kraken" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="540" speed="2.000000" hp="300" damage="2d10" unarmedattack="0" unarmeddefense="0" attackmodifier="7" defensemodifier="7" coastal="yes" swim="yes" teach="no" getitem="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="perception" modifier="1"/>
@ -60,7 +60,7 @@
<attack type="4" damage="1d10"/>
<attack type="4" damage="1d10"/>
</race>
<race name="giantturtle" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="1600" capacity="600" speed="1.000000" hp="900" ac="7" damage="2d50" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="5" coastal="yes" swim="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="giantturtle" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="1600" capacity="600" speed="1.000000" hp="900" ac="7" damage="2d50" unarmedattack="0" unarmeddefense="0" attackmodifier="10" defensemodifier="5" coastal="yes" swim="yes" walk="yes" teach="no" getitem="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="perception" modifier="1"/>
@ -89,7 +89,7 @@
<skill name="taxation" modifier="-99"/>
<attack type="4" damage="2d50"/>
</race>
<race name="dolphin" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="540" speed="2.000000" hp="24" damage="1d6" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="5" coastal="yes" swim="yes" teach="no" giveitem="yes" getitem="yes">
<race name="dolphin" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="540" speed="2.000000" hp="24" damage="1d6" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="5" coastal="yes" swim="yes" teach="no" getitem="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="alchemy" modifier="-99"/>
@ -117,7 +117,7 @@
<skill name="taxation" modifier="-99"/>
<attack type="4" damage="1d6"/>
</race>
<race name="tiger" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="540" speed="1.000000" hp="30" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="3" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="tiger" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="540" speed="1.000000" hp="30" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="3" walk="yes" teach="no" getitem="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="alchemy" modifier="-99"/>
@ -147,7 +147,7 @@
<attack type="4" damage="1d6"/>
<attack type="4" damage="1d6"/>
</race>
<race name="hellcat" magres="0.500000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="540" speed="1.000000" hp="40" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="4" walk="yes" teach="no" giveitem="yes" getitem="yes" resistpierce="yes">
<race name="hellcat" magres="0.500000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="540" speed="1.000000" hp="40" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="4" walk="yes" teach="no" getitem="yes" resistpierce="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="perception" modifier="1"/>
@ -177,7 +177,7 @@
<attack type="4" damage="1d6"/>
<attack type="4" damage="1d6"/>
</race>
<race name="owl" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="540" speed="1.000000" hp="9" damage="1d4" unarmedattack="0" unarmeddefense="0" attackmodifier="2" defensemodifier="4" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="owl" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="540" speed="1.000000" hp="9" damage="1d4" unarmedattack="0" unarmeddefense="0" attackmodifier="2" defensemodifier="4" fly="yes" walk="yes" teach="no" getitem="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="espionage" modifier="1"/>
@ -208,7 +208,7 @@
<skill name="taxation" modifier="-99"/>
<attack type="4" damage="1d4"/>
</race>
<race name="fairy" magres="0.800000" maxaura="1.000000" regaura="1.500000" recruitcost="50" weight="200" capacity="540" speed="1.000000" hp="6" damage="1d3" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="14" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes" equipment="yes">
<race name="fairy" magres="0.800000" maxaura="1.000000" regaura="1.500000" recruitcost="50" weight="200" capacity="540" speed="1.000000" hp="6" damage="1d3" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="14" fly="yes" walk="yes" teach="no" getitem="yes" equipment="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="stealth" modifier="5"/>
@ -243,7 +243,7 @@
<attack type="4" damage="1d3"/>
<attack type="4" damage="1d3"/>
</race>
<race name="dreamcat" magres="0.500000" maxaura="1.000000" regaura="1.000000" recruitcost="50" weight="500" capacity="540" speed="1.000000" hp="10" damage="1d5" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="6" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes" invinciblenonmagic="yes">
<race name="dreamcat" magres="0.500000" maxaura="1.000000" regaura="1.000000" recruitcost="50" weight="500" capacity="540" speed="1.000000" hp="10" damage="1d5" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="6" fly="yes" walk="yes" teach="no" getitem="yes" invinciblenonmagic="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="magic" modifier="1"/>
@ -274,7 +274,7 @@
<attack type="4" damage="1d5"/>
<attack type="4" damage="1d5"/>
</race>
<race name="imp" magres="0.500000" maxaura="1.000000" regaura="1.000000" recruitcost="50" weight="500" capacity="540" speed="1.000000" hp="10" ac="1" damage="1d4" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="4" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes" equipment="yes">
<race name="imp" magres="0.500000" maxaura="1.000000" regaura="1.000000" recruitcost="50" weight="500" capacity="540" speed="1.000000" hp="10" ac="1" damage="1d4" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="4" fly="yes" walk="yes" teach="no" getitem="yes" equipment="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="alchemy" modifier="-99"/>
@ -307,7 +307,7 @@
<attack type="1" damage="1d4"/>
<attack type="6" spell="fiery_dragonbreath" level="3" />
</race>
<race name="ghost" magres="0.800000" maxaura="0.500000" regaura="0.100000" recruitcost="50" weight="500" capacity="540" speed="1.000000" hp="30" ac="5" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="8" scarepeasants="yes" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes" equipment="yes" invinciblenonmagic="yes">
<race name="ghost" magres="0.800000" maxaura="0.500000" regaura="0.100000" recruitcost="50" weight="500" capacity="540" speed="1.000000" hp="30" ac="5" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="5" defensemodifier="8" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" equipment="yes" invinciblenonmagic="yes">
<ai splitsize="5000"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="alchemy" modifier="-99"/>
@ -338,7 +338,7 @@
<attack type="2" damage="2d30"/>
<attack type="3" damage="1d1"/>
</race>
<race name="wolf" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="540" speed="1.000000" hp="25" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="3" scarepeasants="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="wolf" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="540" speed="1.000000" hp="25" damage="2d6" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="3" scarepeasants="yes" walk="yes" teach="no" getitem="yes">
<ai splitsize="5000"/>
<function name="name" value="namegeneric"/>
<function name="initfamiliar" value="oldfamiliars"/>
@ -369,7 +369,7 @@
<attack type="4" damage="1d4"/>
<attack type="4" damage="1d4"/>
</race>
<race name="unicorn" magres="0.900000" maxaura="1.500000" regaura="1.500000" recruitcost="50" weight="5000" capacity="2000" speed="2.000000" hp="40" damage="2d4" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="4" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="unicorn" magres="0.900000" maxaura="1.500000" regaura="1.500000" recruitcost="50" weight="5000" capacity="2000" speed="2.000000" hp="40" damage="2d4" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="4" walk="yes" teach="no" getitem="yes">
<ai splitsize="9999"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="alchemy" modifier="-99"/>
@ -400,7 +400,7 @@
<attack type="4" damage="3d12"/>
<attack type="4" damage="2d4"/>
</race>
<race name="nymph" magres="0.900000" maxaura="1.000000" regaura="1.500000" recruitcost="50" weight="1000" capacity="540" speed="1.000000" hp="15" damage="1d4" unarmedattack="0" unarmeddefense="0" attackmodifier="3" defensemodifier="1" walk="yes" teach="no" giveitem="yes" getitem="yes" equipment="yes">
<race name="nymph" magres="0.900000" maxaura="1.000000" regaura="1.500000" recruitcost="50" weight="1000" capacity="540" speed="1.000000" hp="15" damage="1d4" unarmedattack="0" unarmeddefense="0" attackmodifier="3" defensemodifier="1" walk="yes" teach="no" getitem="yes" equipment="yes">
<ai splitsize="9999"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="mining" modifier="-99"/>
@ -430,7 +430,7 @@
<attack type="1" damage="1d4"/>
<attack type="2" damage="2d20"/>
</race>
<race name="songdragon" magres="0.990000" maxaura="1.000000" regaura="1.000000" recruitcost="50" weight="1000" capacity="600" speed="1.500000" hp="40" ac="1" damage="2d4" unarmedattack="0" unarmeddefense="0" attackmodifier="3" defensemodifier="1" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="songdragon" magres="0.990000" maxaura="1.000000" regaura="1.000000" recruitcost="50" weight="1000" capacity="600" speed="1.500000" hp="40" ac="1" damage="2d4" unarmedattack="0" unarmeddefense="0" attackmodifier="3" defensemodifier="1" fly="yes" walk="yes" teach="no" getitem="yes">
<ai splitsize="9999"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="alchemy" modifier="-99"/>
@ -462,7 +462,7 @@
<attack type="4" damage="2d4"/>
<attack type="6" spell="fiery_dragonbreath" level="3" />
</race>
<race name="rat" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="100" capacity="540" speed="1.000000" hp="10" damage="1d4" unarmedattack="0" unarmeddefense="0" attackmodifier="1" defensemodifier="1" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="rat" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="100" capacity="540" speed="1.000000" hp="10" damage="1d4" unarmedattack="0" unarmeddefense="0" attackmodifier="1" defensemodifier="1" walk="yes" teach="no" getitem="yes">
<ai splitsize="9999"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="espionage" modifier="5"/>
@ -494,7 +494,7 @@
<attack type="4" damage="1d4"/>
<attack type="4" damage="1d4"/>
</race>
<race name="eagle" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="540" speed="1.500000" hp="15" damage="2d3" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="2" fly="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="eagle" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="540" speed="1.500000" hp="15" damage="2d3" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="2" fly="yes" walk="yes" teach="no" getitem="yes">
<ai splitsize="9999"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="alchemy" modifier="-99"/>
@ -524,7 +524,7 @@
<skill name="taxation" modifier="-99"/>
<attack type="4" damage="2d3"/>
</race>
<race name="tunnelworm" magres="0.800000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="30000" capacity="10000" speed="1.000000" hp="300" ac="6" damage="3d20" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="1" scarepeasants="yes" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="tunnelworm" magres="0.800000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="30000" capacity="10000" speed="1.000000" hp="300" ac="6" damage="3d20" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="1" scarepeasants="yes" walk="yes" teach="no" getitem="yes">
<ai splitsize="99999"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="alchemy" modifier="-99"/>
@ -557,7 +557,7 @@
<attack type="4" damage="3d20"/>
<attack type="8" damage="1d10"/>
</race>
<race name="lynx" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="540" speed="1.000000" hp="20" damage="2d3" unarmedattack="0" unarmeddefense="0" attackmodifier="4" defensemodifier="5" walk="yes" teach="no" giveitem="yes" getitem="yes">
<race name="lynx" magres="0.000000" maxaura="0.000000" regaura="0.000000" recruitcost="50" weight="500" capacity="540" speed="1.000000" hp="20" damage="2d3" unarmedattack="0" unarmeddefense="0" attackmodifier="4" defensemodifier="5" walk="yes" teach="no" getitem="yes">
<ai splitsize="99999"/>
<function name="initfamiliar" value="oldfamiliars"/>
<skill name="alchemy" modifier="-99"/>
@ -605,7 +605,7 @@
<attack type="3" damage="1d1"/>
<attack type="4" damage="1d1"/>
</race>
<race name="toad" magres="0.200000" maxaura="1.000000" regaura="1.000000" recruitcost="50" maintenance="10" weight="100" capacity="540" speed="1.000000" hp="10" damage="1d2" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" walk="yes">
<race name="toad" magres="0.200000" maxaura="1.000000" regaura="1.000000" recruitcost="50" maintenance="10" weight="100" capacity="540" speed="1.000000" hp="10" damage="1d2" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" giveperson="yes" giveunit="yes" getitem="yes" walk="yes">
<ai splitsize="1" learn="yes"/>
<skill name="alchemy" modifier="-10"/>
<skill name="crossbow" modifier="-10"/>
@ -674,7 +674,7 @@
<function name="name" value="namegeneric"/>
<attack type="1" damage="1d4"/>
</race>
<race name="mountainguard" unarmedguard="yes" magres="0.500000" maxaura="1.000000" regaura="0.500000" recruitcost="50000" weight="10000" capacity="2000" speed="0.000000" hp="1000" ac="12" damage="2d40" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="8" cannotmove="yes" canlearn="no" teach="no" noweapons="yes" giveitem="yes">
<race name="mountainguard" unarmedguard="yes" magres="0.500000" maxaura="1.000000" regaura="0.500000" recruitcost="50000" weight="10000" capacity="2000" speed="0.000000" hp="1000" ac="12" damage="2d40" unarmedattack="0" unarmeddefense="0" attackmodifier="6" defensemodifier="8" cannotmove="yes" canlearn="no" teach="no" noweapons="yes">
<ai splitsize="1"/>
<function name="name" value="namegeneric"/>
<attack type="4" damage="2d40"/>
@ -692,13 +692,13 @@
<attack type="4" damage="2d3"/>
<attack type="3" damage="1d1"/>
</race>
<race name="stonegolem" stonegolem="true" magres="0.250000" maxaura="1.000000" regaura="0.100000" recruitcost="5000" weight="10000" capacity="2000" speed="1.000000" hp="60" ac="4" damage="2d12+6" unarmedattack="0" unarmeddefense="0" attackmodifier="4" defensemodifier="2" walk="yes" canlearn="no" teach="no" giveitem="yes">
<race name="stonegolem" stonegolem="true" magres="0.250000" maxaura="1.000000" regaura="0.100000" recruitcost="5000" weight="10000" capacity="2000" speed="1.000000" hp="60" ac="4" damage="2d12+6" unarmedattack="0" unarmeddefense="0" attackmodifier="4" defensemodifier="2" walk="yes" canlearn="no" teach="no">
<ai splitsize="50"/>
<skill name="building" modifier="14"/>
<skill name="roadwork" modifier="14"/>
<attack type="4" damage="2d10+4"/>
</race>
<race name="irongolem" irongolem="true" magres="0.250000" maxaura="1.000000" regaura="0.100000" recruitcost="5000" weight="10000" capacity="2000" speed="1.000000" hp="50" ac="2" damage="2d10+4" unarmedattack="0" unarmeddefense="0" attackmodifier="4" defensemodifier="2" walk="yes" canlearn="no" teach="no" giveitem="yes">
<race name="irongolem" irongolem="true" magres="0.250000" maxaura="1.000000" regaura="0.100000" recruitcost="5000" weight="10000" capacity="2000" speed="1.000000" hp="50" ac="2" damage="2d10+4" unarmedattack="0" unarmeddefense="0" attackmodifier="4" defensemodifier="2" walk="yes" canlearn="no" teach="no">
<ai splitsize="50"/>
<function name="name" value="namegeneric"/>
<skill name="armorer" modifier="14"/>
@ -713,14 +713,14 @@
<ai splitsize="1"/>
<attack type="1" damage="1d4"/>
</race>
<race name="dracoid" magres="0.000000" maxaura="1.000000" regaura="1.000000" recruitcost="50" weight="1000" capacity="540" speed="1.000000" hp="24" damage="1d5" unarmedattack="-2" unarmeddefense="-2" walk="yes" teach="no" giveitem="yes" giveperson="yes" getitem="yes" equipment="yes">
<race name="dracoid" magres="0.000000" maxaura="1.000000" regaura="1.000000" recruitcost="50" weight="1000" capacity="540" speed="1.000000" hp="24" damage="1d5" unarmedattack="-2" unarmeddefense="-2" walk="yes" teach="no" giveperson="yes" getitem="yes" equipment="yes">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="name" value="namedracoid"/>
<attack type="4" damage="1d6"/>
<attack type="4" damage="1d6"/>
<attack type="1" damage="1d5"/>
</race>
<race name="catdragon" magres="0.900000" maxaura="1.000000" regaura="1.000000" recruitcost="500000" weight="20000" capacity="10000" speed="1.000000" hp="20" damage="2d40" unarmedattack="0" unarmeddefense="0" defensemodifier="50" fly="yes" walk="yes" teach="no" shapeshift="yes" giveitem="yes" giveperson="yes" getitem="yes">
<race name="catdragon" magres="0.900000" maxaura="1.000000" regaura="1.000000" recruitcost="500000" weight="20000" capacity="10000" speed="1.000000" hp="20" damage="2d40" unarmedattack="0" unarmeddefense="0" defensemodifier="50" fly="yes" walk="yes" teach="no" shapeshift="yes" giveperson="yes" getitem="yes">
<ai splitsize="1"/>
<attack type="4" damage="2d40"/>
<attack type="4" damage="2d40"/>
@ -745,7 +745,7 @@
<attack type="4" damage="5d30"/>
<attack type="6" spell="powerful_dragonbreath" level="12" />
</race>
<race name="dragon" magres="0.700000" maxaura="1.000000" regaura="2.000000" recruitcost="50000" weight="10000" capacity="1000000" speed="1.500000" hp="900" ac="6" damage="2d30" unarmedattack="0" unarmeddefense="0" attackmodifier="7" defensemodifier="7" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" giveitem="yes" resistbash="yes">
<race name="dragon" magres="0.700000" maxaura="1.000000" regaura="2.000000" recruitcost="50000" weight="10000" capacity="1000000" speed="1.500000" hp="900" ac="6" damage="2d30" unarmedattack="0" unarmeddefense="0" attackmodifier="7" defensemodifier="7" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" resistbash="yes">
<ai splitsize="2" killpeasants="yes" learn="yes"/>
<function name="name" value="namedragon"/>
<function name="age" value="agedragon"/>
@ -785,7 +785,7 @@
<attack type="4" damage="1d7"/>
<attack type="5"/>
</race>
<race name="aquarian" magres="0.000000" maxaura="1.000000" regaura="1.000000" recruitcost="80" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="20" damage="1d5" unarmedattack="-2" unarmeddefense="-2" shipspeed="yes" playerrace="yes" coastal="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="aquarian" magres="0.000000" maxaura="1.000000" regaura="1.000000" recruitcost="80" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="20" damage="1d5" unarmedattack="-2" unarmeddefense="-2" shipspeed="yes" playerrace="yes" coastal="yes" walk="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="mining" modifier="-2"/>
@ -804,7 +804,7 @@
<familiar race="dolphin"/>
<familiar race="kraken"/>
</race>
<race name="cat" magres="0.000000" maxaura="1.000000" regaura="1.000000" recruitcost="90" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="20" damage="1d5" unarmedattack="-2" unarmeddefense="-2" defensemodifier="1" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="cat" magres="0.000000" maxaura="1.000000" regaura="1.000000" recruitcost="90" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="20" damage="1d5" unarmedattack="-2" unarmeddefense="-2" defensemodifier="1" playerrace="yes" walk="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="alchemy" modifier="-1"/>
@ -830,7 +830,7 @@
<familiar race="tiger"/>
<familiar race="hellcat"/>
</race>
<race name="halfling" magres="0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="80" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="18" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="halfling" magres="0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="80" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="18" 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"/>
<function name="itemdrop" value="defaultdrops"/>
<param name="hunger.damage" value="1d14+14"/>
@ -863,7 +863,7 @@
<familiar race="eagle"/>
<familiar race="rat"/>
</race>
<race name="insect" magres="0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="80" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="24" ac="2" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="insect" magres="0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="80" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="24" ac="2" 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"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="crossbow" modifier="1"/>
@ -892,7 +892,7 @@
<familiar race="tunnelworm"/>
<familiar race="imp"/>
</race>
<race name="demon" magres="0.150000" maxaura="1.000000" regaura="1.250000" recruitcost="150" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="50" ac="2" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" shapeshift="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" recruitethereal="yes" equipment="yes">
<race name="demon" magres="0.150000" maxaura="1.000000" regaura="1.250000" recruitcost="150" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="50" ac="2" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" shapeshift="yes" giveperson="yes" giveunit="yes" getitem="yes" recruitethereal="yes" equipment="yes">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="initfamiliar" value="oldfamiliars"/>
<function name="itemdrop" value="defaultdrops"/>
@ -924,7 +924,7 @@
<familiar race="wolf"/>
<familiar race="imp"/>
</race>
<race name="troll" magres="0.100000" maxaura="1.000000" regaura="1.000000" recruitcost="90" maintenance="10" weight="2000" capacity="1080" speed="1.000000" hp="30" ac="1" damage="1d5+3" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="troll" magres="0.100000" maxaura="1.000000" regaura="1.000000" recruitcost="90" maintenance="10" weight="2000" capacity="1080" speed="1.000000" hp="30" ac="1" damage="1d5+3" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="mining" modifier="2"/>
@ -955,7 +955,7 @@
<familiar race="tunnelworm"/>
<familiar race="wolf"/>
</race>
<race name="goblin" magres="-0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="40" maintenance="10" weight="600" capacity="440" speed="1.000000" hp="16" damage="1d5" unarmedattack="-2" unarmeddefense="0" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="goblin" magres="-0.050000" maxaura="1.000000" regaura="1.000000" 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">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="initfamiliar" value="oldfamiliars"/>
<function name="itemdrop" value="defaultdrops"/>
@ -981,7 +981,7 @@
<familiar race="rat"/>
<familiar race="imp"/>
</race>
<race name="clone" magres="0.900000" maxaura="0.000000" regaura="0.000000" recruitcost="0" weight="1000" capacity="540" speed="1.000000" hp="40" damage="0d0" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" canlearn="no" teach="no" noheal="yes" giveitem="yes">
<race name="clone" magres="0.900000" maxaura="0.000000" regaura="0.000000" recruitcost="0" weight="1000" capacity="540" speed="1.000000" hp="40" damage="0d0" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" canlearn="no" teach="no" noheal="yes">
<ai splitsize="10000"/>
<skill name="alchemy" modifier="-99"/>
<skill name="crossbow" modifier="-99"/>
@ -1014,7 +1014,7 @@
<skill name="unarmed" modifier="-99"/>
<attack type="1" damage="0d0"/>
</race>
<race name="template" magres="1.000000" maxaura="0.000000" regaura="0.000000" recruitcost="0" weight="0" capacity="1000" speed="10.000000" hp="10" damage="1d4" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" fly="yes" swim="yes" walk="yes" shapeshift="yes" shapeshiftany="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" recruitethereal="yes" recruitunlimited="yes" equipment="yes">
<race name="template" magres="1.000000" maxaura="0.000000" regaura="0.000000" recruitcost="0" weight="0" capacity="1000" speed="10.000000" hp="10" damage="1d4" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" fly="yes" swim="yes" walk="yes" shapeshift="yes" shapeshiftany="yes" giveperson="yes" giveunit="yes" getitem="yes" recruitethereal="yes" recruitunlimited="yes" equipment="yes">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<attack type="1" damage="1d4"/>
</race>
@ -1137,7 +1137,7 @@
<skill name="unarmed" modifier="1"/>
<attack type="1" damage="1d7"/>
</race>
<race name="centaur" magres="0.000000" maxaura="0.750000" regaura="0.750000" recruitcost="100" maintenance="10" weight="5000" capacity="2040" speed="1.000000" hp="30" damage="2d5" unarmedattack="0" unarmeddefense="0" playerrace="yes" walk="yes" horse="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" recruithorses="yes" equipment="yes">
<race name="centaur" magres="0.000000" maxaura="0.750000" regaura="0.750000" recruitcost="100" maintenance="10" weight="5000" capacity="2040" speed="1.000000" hp="30" damage="2d5" unarmedattack="0" unarmeddefense="0" playerrace="yes" walk="yes" horse="yes" giveperson="yes" giveunit="yes" getitem="yes" recruithorses="yes" equipment="yes">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<skill name="crossbow" modifier="1"/>
<skill name="mining" modifier="-3"/>
@ -1181,7 +1181,7 @@
<attack type="6" spell="fiery_dragonbreath" level="3" />
<attack type="8" damage="1d10"/>
</race>
<race name="snotling" magres="-0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="50" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="24" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="snotling" magres="-0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="50" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="24" 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"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="alchemy" modifier="1"/>
@ -1212,7 +1212,7 @@
<familiar race="demon"/>
</race>
<!-- race name="old_orc" magres="-0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="50" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="24" damage="1d5" unarmedattack="-2" unarmeddefense="-2" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<!-- race name="old_orc" magres="-0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="50" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="24" damage="1d5" unarmedattack="-2" unarmeddefense="-2" walk="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="alchemy" modifier="1"/>
@ -1242,7 +1242,7 @@
<familiar race="wolf"/>
<familiar race="demon"/>
</race -->
<race name="elf" magres="0.100000" maxaura="1.000000" regaura="1.250000" recruitcost="130" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="18" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="elf" magres="0.100000" maxaura="1.000000" regaura="1.250000" recruitcost="130" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="18" 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"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="alchemy" modifier="-1"/>
@ -1269,7 +1269,7 @@
<familiar race="unicorn"/>
<familiar race="imp"/>
</race>
<race name="dwarf" magres="0.050000" maxaura="1.000000" regaura="0.500000" recruitcost="110" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="24" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="dwarf" magres="0.050000" maxaura="1.000000" regaura="0.500000" recruitcost="110" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="24" 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"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="mining" modifier="2"/>
@ -1301,7 +1301,7 @@
<familiar race="wolf"/>
<familiar race="rat"/>
</race>
<race name="orc" magres="-0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="70" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="24" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="orc" magres="-0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="70" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="24" 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="recruit_multi" value="0.5"/>
<skill name="alchemy" modifier="1"/>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="cerddor">
<entry spell="song_of_healing" level="2" />
<entry spell="song_of_confusion" level="4" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="gray">
<entry spell="acidrain" level="8" />
<entry spell="airship" level="6" />
@ -142,7 +142,7 @@
<entry spell="stonegolem" level="1" />
<entry spell="stormwinds" level="6" />
<entry spell="strongwall" level="8" />
<entry spell="summon_alp" level="15" />
<!-- <entry spell="summon_alp" level="15" /> -->
<entry spell="summondragon" level="11" />
<entry spell="summonent" level="10" />
<entry spell="summon_familiar" level="9" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="gwyrrd">
<entry spell="hail" level="3" />
<entry spell="rustweapon" level="3" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="illaun">
<entry spell="bad_dreams" level="10" />
<entry spell="gooddreams" level="8" />
@ -8,7 +8,7 @@
<entry spell="transferauratraum" level="3" />
<entry spell="disturbingdreams" level="6" />
<entry spell="sleep" level="7" />
<entry spell="summon_alp" level="15" />
<!-- <entry spell="summon_alp" level="15" /> -->
<entry spell="mindblast" level="11" />
<entry spell="reanimate" level="5" />
<entry spell="shapeshift" level="3" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<spellbook name="tybied">
<entry spell="auratransfer" level="5" />
<entry spell="antimagiczone" level="5" />

View File

@ -1,30 +1,30 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" encoding="utf-8" ?>
<strings>
<namespace name="spellinfo">
<string name="raindance">
<text locale="de">Dieses uralte Tanzritual ruft die
Kräfte des Lebens und der Fruchtbarkeit. Die Erträge der
Bauern werden für einige Wochen deutlich besser
Kräfte des Lebens und der Fruchtbarkeit. Die Erträge der
Bauern werden für einige Wochen deutlich besser
ausfallen.</text>
<text locale="en">This ancient rite calls upon the
forces of life and fertility. For the next few weeks,
the peasant's harvest will be extraordinary good.</text>
</string>
<string name="blessedharvest">
<text locale="de">Dieses Ernteritual verbessert die Erträge der
arbeitenden Bauern in der Region um ein Silberstück. Je mehr Kraft der
Druide investiert, desto länger wirkt der Zauber.</text>
<text locale="de">Dieses Ernteritual verbessert die Erträge der
arbeitenden Bauern in der Region um ein Silberstück. Je mehr Kraft der
Druide investiert, desto länger wirkt der Zauber.</text>
<text locale="en">This ritual increases the output of the local farms.
Peasants in the region produce an extra silverpiece. The stronger the
druid's spell is, the longer the effect will last.</text>
</string>
<string name="earn_silver#tybied">
<text locale="de">Wenn einem der Alchemist nicht weiterhelfen kann, geht man zu dem
gelehrten Tybiedmagier. Seine Tränke und Tinkturen helfen gegen
gelehrten Tybiedmagier. Seine Tränke und Tinkturen helfen gegen
alles, was man sonst nicht bekommen kann. Ob nun die kryptische
Formel unter dem Holzschuh des untreuen Ehemannes wirklich geholfen
hat - nun, der des Lesens nicht mächtige Bauer wird es nie wissen.
Dem Magier hilft es auf jeden Fall... beim Füllen seines
hat - nun, der des Lesens nicht mächtige Bauer wird es nie wissen.
Dem Magier hilft es auf jeden Fall... beim Füllen seines
Geldbeutels. 50 Silber pro Stufe lassen sich so in einer Woche
verdienen.</text>
<text locale="en">If the local alchemist could not help you, you should visit a
@ -38,10 +38,10 @@
<string name="earn_silver#cerddor">
<text locale="de">Cerddormagier sind _die_ Gaukler unter
den Magiern, sie lieben es das Volk zu unterhalten und
im Mittelpunkt zu stehen. Schon Anfänger lernen die
kleinen Kunststücke und magischen Tricks, mit denen man
das Volk locken und verführen kann, den Geldbeutel ganz
weit zu öffnen, und am Ende der Woche wird der Gaukler
im Mittelpunkt zu stehen. Schon Anfänger lernen die
kleinen Kunststücke und magischen Tricks, mit denen man
das Volk locken und verführen kann, den Geldbeutel ganz
weit zu öffnen, und am Ende der Woche wird der Gaukler
50 Silber pro Stufe verdient haben.</text>
<text locale="en">The mages of Cerddor truly are the
bards of the wizards; they love to use their sorcery to
@ -53,11 +53,11 @@
per level. </text>
</string>
<string name="earn_silver#gwyrrd">
<text locale="de">Die Fähigkeiten der Gwyrrd-Magier in
<text locale="de">Die Fähigkeiten der Gwyrrd-Magier in
der Viehzucht und Heilung sind bei den Bauern sehr
begehrt. Gerade auf Märkten sind ihre Dienste häufig sehr
begehrt. Gerade auf Märkten sind ihre Dienste häufig sehr
gefragt. Manch einer mag auch sein Talent dazu nutzen,
ein Tier für einen besseren Preis zu verkaufen. Pro
ein Tier für einen besseren Preis zu verkaufen. Pro
Stufe kann der Magier so 50 Silber verdienen.</text>
<text locale="en">The abilities of the mages of Gwyrrd
concerning the breeding and healing of cattle are highly
@ -69,13 +69,13 @@
</string>
<string name="earn_silver#draig">
<text locale="de">In den dunkleren Gassen gibt es sie,
die Flüche und Verhexungen auf Bestellung. Aber
auch Gegenzauber hat der Jünger des Draigs
natürlich im Angebot. Ob nun der Sohn des
die Flüche und Verhexungen auf Bestellung. Aber
auch Gegenzauber hat der Jünger des Draigs
natürlich im Angebot. Ob nun der Sohn des
Nachbarn in einen Liebesbann gezogen werden soll
oder die Nebenbuhlerin Pickel und Warzen
bekommen soll, niemand gibt gerne zu, zu solchen
Mitteln gegriffen zu haben. Für diese
Mitteln gegriffen zu haben. Für diese
Dienstleistung streicht der Magier 50 Silber pro
Stufe ein.</text>
<text locale="en">In the dark alleys you can find those
@ -88,18 +88,18 @@
per level.</text>
</string>
<string name="earn_silver#illaun">
<text locale="fr">Personne n'interprète aussi bien les
rêves que les mages d'Illaun. Ils sont également
versés dans l'utilisation des objets utilisés
pour prédire le futur comme les boules de
<text locale="fr">Personne n'interprète aussi bien les
rêves que les mages d'Illaun. Ils sont également
versés dans l'utilisation des objets utilisés
pour prédire le futur comme les boules de
cristal, les cartes de tarot ou les lignes de la
main. Un mentaliste peut gagner 50 écus par
main. Un mentaliste peut gagner 50 écus par
niveau et par semaine en proposant ses services
aux paysans.</text>
<text locale="de">Niemand kann so gut die Träume deuten
<text locale="de">Niemand kann so gut die Träume deuten
wie ein Magier des Illaun. Auch die Kunst der
Wahrsagerei, des Kartenlegens und des Handlesens
sind ihm geläufig. Dafür zahlen ihm die Bauern
sind ihm geläufig. Dafür zahlen ihm die Bauern
50 Silber pro Stufe.</text>
<text locale="en">No one can read dreams as well as the
mages of Illaun. Furthermore, they are also

View File

@ -188,11 +188,13 @@
<resource name="h12" amount="1" cost="fixed"/>
<resource name="h20" amount="1" cost="fixed"/>
</spell>
<!--
<spell name="summon_alp" rank="5" index="58" parameters="u" target_global="true">
<resource name="aura" amount="350" cost="fixed"/>
<resource name="permaura" amount="5" cost="fixed"/>
<resource name="h8" amount="1" cost="fixed"/>
</spell>
-->
<spell name="windshield" rank="5" index="59" variable="true" combat="1">
<resource name="aura" amount="2" cost="level"/>
</spell>

View File

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" encoding="utf-8" ?>
<strings>
<namespace name="spellinfo">
<string name="concealing_aura">
<text locale="de">Dieser Zauber wird die gesamte Ausrüstung der
Zieleinheit für
<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>
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
@ -15,29 +15,29 @@
<string name="headache">
<text locale="de">
Aufzeichung des Vortrags von Selen Ard'Ragorn in Bar'Glingal:
'Es heiss, dieser Spruch wäre wohl in den Spelunken der Westgassen
'Es heiss, dieser Spruch wäre wohl in den Spelunken der Westgassen
entstanden, doch es kann genausogut in jedem andern verrufenen
Viertel gewesen sein. Seine wichtigste Zutat ist etwa ein Fass
schlechtesten Weines, je billiger und ungesunder, desto
wirkungsvoller wird die Essenz. Die Kunst, diesen Wein in pure
Essenz zu destillieren, die weitaus anspruchsvoller als das einfache
Rezeptmischen eines Alchemisten ist, und diese dergestalt zu binden
und konservieren, das sie sich nicht gleich wieder verflüchtigt, wie
es ihre Natur wäre, ja, dies ist etwas, das nur ein Meister des
und konservieren, das sie sich nicht gleich wieder verflüchtigt, wie
es ihre Natur wäre, ja, dies ist etwas, das nur ein Meister des
Cerddor vollbringen kann. Nun besitzt Ihr eine kleine Phiola mit
einer rubinrotschimmernden - nun, nicht flüssig, doch auch nicht
einer rubinrotschimmernden - nun, nicht flüssig, doch auch nicht
ganz Dunst - nennen wir es einfach nur Elixier. Doch nicht dies ist
die wahre Herausforderung, sodann muss, da sich ihre Wirkung leicht
verflüchtigt, diese innerhalb weniger Tage unbemerkt in das Getränk
des Opfers geträufelt werden. Ihr Meister der Betöhrung und
Verführung, hier nun könnt Ihr Eure ganze Kunst unter Beweis
verflüchtigt, diese innerhalb weniger Tage unbemerkt in das Getränk
des Opfers geträufelt werden. Ihr Meister der Betöhrung und
Verführung, hier nun könnt Ihr Eure ganze Kunst unter Beweis
stellen. Doch gebt Acht, nicht unbedacht selbst von dem Elixier zu
kosten, denn wer einmal gekostet hat, der kann vom Weine nicht mehr
lassen, und er säuft sicherlich eine volle Woche lang. Jedoch nicht
die Verführung zum Trunke ist die wahre Gefahr, die dem Elixier
lassen, und er säuft sicherlich eine volle Woche lang. Jedoch nicht
die Verführung zum Trunke ist die wahre Gefahr, die dem Elixier
innewohnt, sondern das der Trunkenheit so sicher ein gar
fürchterliches Leid des Kopfes folgen wird, wie der Tag auf die
Nacht folgt. Und er wird gar sicherlich von seiner besten Fähigkeit
fürchterliches Leid des Kopfes folgen wird, wie der Tag auf die
Nacht folgt. Und er wird gar sicherlich von seiner besten Fähigkeit
einige Tage bis hin zu den Studien zweier Wochen vergessen haben.
Noch ein Wort der Warnung: Dieses ist sehr aufwendig, und so Ihr
noch weitere Zauber in der selben Woche wirken wollt, so werden sie Euch
@ -47,11 +47,11 @@
<string name="analysedream">
<text locale="de">Mit diesem Spruch kann der Traumweber
versuchen, die Verzauberungen einer einzelnen
Einheit zu erkennen. Von allen Sprüchen, die
seine eigenen Fähigkeiten nicht überschreiten,
Einheit zu erkennen. Von allen Sprüchen, die
seine eigenen Fähigkeiten nicht überschreiten,
wird er einen Eindruck ihres Wirkens erhalten
können. Bei stärkeren Sprüchen benötigt er ein
wenig Glück für eine gelungene Analyse.</text>
können. Bei stärkeren Sprüchen benötigt er ein
wenig Glück für eine gelungene Analyse.</text>
<text locale="en">With this spell the mentalist can
attempt to detect enchantments on a target unit.
He will get an idea of the effect of all spells
@ -76,35 +76,35 @@
<text locale="en">snowman</text>
</string>
<string name="snowman_p">
<text locale="de">Schneemänner</text>
<text locale="de">Schneemänner</text>
<text locale="en">snowmen</text>
</string>
</namespace>
<namespace name="shipinfo">
<!-- ship info is not implemented! -->
<string name="no_info">
<text locale="de">Keine Informationen über diesen Schiffstyp verfügbar.</text>
<text locale="de">Keine Informationen über diesen Schiffstyp verfügbar.</text>
<text locale="en">No Information available for this type of ship.</text>
</string>
<string name="balloon">
<text locale="de">Der Sumpfgasballon besteht aus einem großen
<text locale="de">Der Sumpfgasballon besteht aus einem großen
Weidenkorb, welcher Platz
für maximal 5 Personen oder 500 Gewichtseinheiten bietet, und einer
großen, mit Sumpfgas gefüllten Wyrmblase. Bei guten Winden kann sich
der Ballon zwei Regionen pro Woche fortbewegen. Das Führen eines
Ballons ist nicht einfach, und der Kapitän muss mindestens ein
für maximal 5 Personen oder 500 Gewichtseinheiten bietet, und einer
großen, mit Sumpfgas gefüllten Wyrmblase. Bei guten Winden kann sich
der Ballon zwei Regionen pro Woche fortbewegen. Das Führen eines
Ballons ist nicht einfach, und der Kapitän muss mindestens ein
Segeltalent von 6 besitzen. Diese neue Entwicklung auf Eressea wird
ausschließlich für den Xontormia-Expreß hergestellt und die Baupläne
ausschließlich für den Xontormia-Expreß hergestellt und die Baupläne
sind streng geheim. So ist es auch bisher noch niemandem gelungen, ein
Exemplar nachzubauen.</text>
</string>
</namespace>
<namespace name="iteminfo">
<string name="ring_of_levitation">
<text locale="de">Benutzt der Kapitän des Schiffes diesen Talisman, so wird allen an Bord befindlichen Mallornsamen ihre magisch Energie entzogen, und das Schiff kann mit dieser Energie bis zu zwei Wochen lang fliegen.</text>
<text locale="de">Benutzt der Kapitän des Schiffes diesen Talisman, so wird allen an Bord befindlichen Mallornsamen ihre magisch Energie entzogen, und das Schiff kann mit dieser Energie bis zu zwei Wochen lang fliegen.</text>
</string>
<string name="birthdaycake">
<text locale="de">Eine Geburtstagstorte mit 10 Kerzen. Herzlichen Glückwunsch, Eressea!</text>
<text locale="de">Eine Geburtstagstorte mit 10 Kerzen. Herzlichen Glückwunsch, Eressea!</text>
<text locale="en">A birthday cake with 10 candles. Happy Birthday, Eressea!</text>
</string>
<string name="no_info">
@ -112,98 +112,98 @@
<text locale="en">No Information available.</text>
</string>
<string name="griphonwing">
<text locale="de">Dieses Fluggerät aus der Schmiede der Zwerge von Celeband galt wie die
<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
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
<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>
<text locale="de">Kleines trockenes Dauergebäck, m od. s; - u. -es, - u. -e</text>
</string>
<string name="eyeofdragon">
<text locale="de">So wisse denn, dass das Auge des Drachen den Weg zur Herausforderung
aufzeigt. Doch die Überlieferung sagt, das nur der Unschuldige und
Ungewappnete es benutzen kann. Sie sagt auch, daß er einen Beutel mit
einem Betrag von bis zu zweitausend Silber mit sich führen soll,
jedoch nicht mehr als einem Fünftel der Stärke seines Volkes
entsprechend - dem Torwächter zum Geschenke als Beweis seiner
aufzeigt. Doch die Überlieferung sagt, das nur der Unschuldige und
Ungewappnete es benutzen kann. Sie sagt auch, daß er einen Beutel mit
einem Betrag von bis zu zweitausend Silber mit sich führen soll,
jedoch nicht mehr als einem Fünftel der Stärke seines Volkes
entsprechend - dem Torwächter zum Geschenke als Beweis seiner
asketischen Gesinnung. Die 5 scheidet ganz aus.</text>
</string>
<string name="almond">
<text locale="de">(Prunus dulcis) [...] Die Nüsse existieren in zwei Varianten, süß und
bitter. Süße Mandeln sind der bekannte eßbare Typ, der in Form von
Nüssen gegessen, beim Kochen verwandt oder zu Mandelöl und Mandelmehl
<text locale="de">(Prunus dulcis) [...] Die Nüsse existieren in zwei Varianten, süß und
bitter. Süße Mandeln sind der bekannte eßbare Typ, der in Form von
Nüssen gegessen, beim Kochen verwandt oder zu Mandelöl und Mandelmehl
verarbeitet wird.</text>
</string>
<string name="apple">
<text locale="en">A tasty fruit.</text>
<text locale="de">Frucht aus der Gattung Malus (ca. 25 Arten), gehört
<text locale="de">Frucht aus der Gattung Malus (ca. 25 Arten), gehört
zur Familie der
Rosengewächse. Die am häufigsten kultivierte Baumfrucht. Der Apfel
gehört zu den fleischigen Früchten, in dem der gereifte Fruchtknoten
Rosengewächse. Die am häufigsten kultivierte Baumfrucht. Der Apfel
gehört zu den fleischigen Früchten, in dem der gereifte Fruchtknoten
und
das umgebende Gewebe fleischig und eßbar werden. Die Apfelblüte der
meisten Varianten erfordert Kreuzbestäubung zur Befruchtung. Form und
Größe des Apfels bei der Ernte variieren abhängig von kulturellen und
umweltbedingten Einflüssen in Größe, Form, Farbe und Geschmack, sind
jedoch nichtsdestotrotz üblicherweise rund, zwischen 50 und 100mm im
Durchmesser und weisen röt- oder gelbliche Farbtöne auf.</text>
das umgebende Gewebe fleischig und eßbar werden. Die Apfelblüte der
meisten Varianten erfordert Kreuzbestäubung zur Befruchtung. Form und
Größe des Apfels bei der Ernte variieren abhängig von kulturellen und
umweltbedingten Einflüssen in Größe, Form, Farbe und Geschmack, sind
jedoch nichtsdestotrotz üblicherweise rund, zwischen 50 und 100mm im
Durchmesser und weisen röt- oder gelbliche Farbtöne auf.</text>
</string>
<string name="nut">
<text locale="de">Nuß, im umgangssprachlichen Sinne alle trockenen,
<text locale="de">Nuß, im umgangssprachlichen Sinne alle trockenen,
hartschaligen
Früchte oder Samen, die eine Schale besitzen, die sich leicht
vom inneren, eßbaren Kern entfernen läßt. In der botanischen
Terminologie beschränkt sich die Bezeichnung Nuß auf eine
Früchte oder Samen, die eine Schale besitzen, die sich leicht
vom inneren, eßbaren Kern entfernen läßt. In der botanischen
Terminologie beschränkt sich die Bezeichnung Nuß auf eine
einsamige Frucht, die aus einem Fruchtknoten (Ovarium)
entstanden ist, dessen äußere Wände sich verholzt haben und der
sich nicht öffnet, um seinen Samen zu entlassen. Solche echten
Nüsse können eßbar, aber auch ungenießbar sein. Bekannte
Beispiele sind Eicheln, Bucheckern, Kastanien und Haselnüsse.
Beispiele für Früchte oder Samen, die vom Volksmund fälschlich
als Nüsse bezeichnet werden, sind Mandeln und Walnüsse: Im
botanischen Sinne sind dies Steinfrüchte, denen die fleischige
äußere Schale entfernt wurde. Andere Beispiele für unechte
Nüsse sind Erdnüsse - in Hülsen eingeschlossene Samen - sowie
Roßkastanien und Paranüsse, bei denen es sich um von Kapseln
umhüllte Samen handelt.</text>
entstanden ist, dessen äußere Wände sich verholzt haben und der
sich nicht öffnet, um seinen Samen zu entlassen. Solche echten
Nüsse können eßbar, aber auch ungenießbar sein. Bekannte
Beispiele sind Eicheln, Bucheckern, Kastanien und Haselnüsse.
Beispiele für Früchte oder Samen, die vom Volksmund fälschlich
als Nüsse bezeichnet werden, sind Mandeln und Walnüsse: Im
botanischen Sinne sind dies Steinfrüchte, denen die fleischige
äußere Schale entfernt wurde. Andere Beispiele für unechte
Nüsse sind Erdnüsse - in Hülsen eingeschlossene Samen - sowie
Roßkastanien und Paranüsse, bei denen es sich um von Kapseln
umhüllte Samen handelt.</text>
</string>
<string name="jadee_ring">
<text locale="de">Zwerge schufen diesen wunderschönen Ring aus Weissgold und Platin. Die
Oberfläche ist so glatt, dass man nur bei genauem Hinsehen entdeckt,
<text locale="de">Zwerge schufen diesen wunderschönen Ring aus Weissgold und Platin. Die
Oberfläche ist so glatt, dass man nur bei genauem Hinsehen entdeckt,
dass hier eigentlich zwei Metalle ineinander verarbeitet worden sind.
In der Innenseite des Rings ist eine Gravur zu lesen: "Wildente, 3.
Woche Eiswind Jahr 8".</text>
</string>
<string name="jadee_dress">
<text locale="de">Dieses Brautkleid ist mit Abstand das schönste, was je jemand
<text locale="de">Dieses Brautkleid ist mit Abstand das schönste, was je jemand
irgendwie irgendwo gesehen hat. Auch wenn nur Wildente und Jadee das
finden müssten, wird jeder Bewohner Eresseas dies neidlos bestätigen.
Das sehr stilvolle Kleid lässt die zarten Schultern seiner Trägerin
frei und liegt am Oberkörper eng an. Dies betont atemberaubend die
zarten Kurven der Braut. Der Rock fällt leicht ausgestellt den ganzen
finden müssten, wird jeder Bewohner Eresseas dies neidlos bestätigen.
Das sehr stilvolle Kleid lässt die zarten Schultern seiner Trägerin
frei und liegt am Oberkörper eng an. Dies betont atemberaubend die
zarten Kurven der Braut. Der Rock fällt leicht ausgestellt den ganzen
langen Weg an den Beinen herunter Richtung Boden, wo er sich in einer
sehr stilvollen Schleppe ergiesst.</text>
</string>
<string name="wente_ring">
<text locale="de">Dieser Ring ist ein wahres Meisterwerk. Obwohl er sehr gross ist
(weil auch sein Träger sehr gross ist), wirkt er filigran. Weissgold
(weil auch sein Träger sehr gross ist), wirkt er filigran. Weissgold
und Platin verschmelzen in diesem Ring zu einer Einheit, die die
Schönheit der einzelnen Elemente nur noch unterstreich. In der
Schönheit der einzelnen Elemente nur noch unterstreich. In der
Innenseite des Rings ist eine Gravur zu lesen: 'Jadee, 3. Woche
Eiswind Jahr 8'.</text>
</string>
<string name="wente_dress">
<text locale="de">Hach! Sieht der Mann beeindruckend aus in diesem Frack! Und so
ordentlich! Und so ernst! Und so beeindruckend! Es fällt ein
wenig schwer, sich auf den Bräutigam zu konzentrieren, weil das
Brautkleid noch daneben strahlt, aber der Anzug des Bräutigams ist
ordentlich! Und so ernst! Und so beeindruckend! Es fällt ein
wenig schwer, sich auf den Bräutigam zu konzentrieren, weil das
Brautkleid noch daneben strahlt, aber der Anzug des Bräutigams ist
auf jeden Fall so, wie er sein soll und sieht toll aus und sehr
geschmackvoll.</text>
</string>
@ -211,7 +211,7 @@
<text locale="en">Orange nose, black hat, frosty character. A snowman.
He'll make a fine guard if you use him in a cold place. (USE 1
snowman)</text>
<text locale="de">Rübennase, schwarzer Hut, kaltes Herz. Ein Schneemann. Er gibt
<text locale="de">Rübennase, schwarzer Hut, kaltes Herz. Ein Schneemann. Er gibt
einen prima Wachmann ab, wenn er in einem Gletscher belebt wird
(BENUTZE 1 Schneemann).</text>
</string>
@ -219,12 +219,12 @@
<text locale="en">These items stay frozen all year round. There seem to be bits of
ice in them - in the right hands, these might put an eye out!</text>
<text locale="de">Ein Schneeball. Es scheinen kleine Eissplitter darin zu sein. In
den richtigen Händen können sie sicher weh tun.</text>
den richtigen Händen können sie sicher weh tun.</text>
</string>
<string name="seashell">
<text locale="en">This badge pronounces its wearer an official visitor to the
embassies of Muschelplateau.</text>
<text locale="de">Dieses Abzeichen identifiziert die Partei seines Trägers offiziell
<text locale="de">Dieses Abzeichen identifiziert die Partei seines Trägers offiziell
als einen Besucher der Botschafterregion 'Muschelplateau'.</text>
</string>
<string name="xmastree">
@ -265,8 +265,8 @@
</string>
<string name="newbie_info_2">
<text locale="de">Die ersten beiden Züge mußt du abgeben, sonst wird deine
Partei sofort wieder gelöscht, um Karteileichen zu vermeiden.</text>
<text locale="de">Die ersten beiden Züge mußt du abgeben, sonst wird deine
Partei sofort wieder gelöscht, um Karteileichen zu vermeiden.</text>
<text locale="en">If you fail to send in orders for one of the first two turns, your faction will be erased from the game to reduce the number of inactive players in Eressea.</text>
</string>
<string name="newbie_info_3">
@ -291,7 +291,7 @@
<text locale="de">Seeschlangenkopf</text>
</string>
<string name="seaserpenthead_p">
<text locale="de">Seeschlangenköpfe</text>
<text locale="de">Seeschlangenköpfe</text>
</string>
<!-- starting here: Wildente and Jadee's wedding -->
@ -341,7 +341,7 @@
</string>
<string name="wente_dress_p">
<text locale="de">Fräcke</text>
<text locale="de">Fräcke</text>
<text locale="en">tuxedos</text>
</string>
@ -362,15 +362,15 @@
<text locale="en">horn of dancing</text>
</string>
<string name="hornofdancing_p">
<text locale="de">Hörner des Tanzes</text>
<text locale="de">Hörner des Tanzes</text>
<text locale="en">horns of dancing</text>
</string>
<string name="instantartacademy">
<text locale="de">Miniatur einer Akademie der Künste</text>
<text locale="de">Miniatur einer Akademie der Künste</text>
<text locale="en">academy of arts in a box</text>
</string>
<string name="instantartacademy_p">
<text locale="de">Miniaturen einer Akademie der Künste</text>
<text locale="de">Miniaturen einer Akademie der Künste</text>
<text locale="en">academies of arts in a box</text>
</string>
<string name="instantartsculpture">
@ -394,7 +394,7 @@
<text locale="en">aura potion</text>
</string>
<string name="aurapotion50_p">
<text locale="de">Auratränke</text>
<text locale="de">Auratränke</text>
<text locale="en">aura potions</text>
</string>
<string name="bagpipeoffear">
@ -402,21 +402,21 @@
<text locale="en">bagpipe of fear</text>
</string>
<string name="bagpipeoffear_p">
<text locale="de">Dudelsäcke der Furcht</text>
<text locale="de">Dudelsäcke der Furcht</text>
<text locale="en">bagpipes of fear</text>
</string>
<!-- art rewards end -->
<!-- igjarjuk queste begin -->
<string name="ao_daemon">
<text locale="de">Auge des Dämon</text>
<text locale="de">Auge des Dämon</text>
<text locale="en">eye of the demon</text>
<text locale="fr">oeil du démon</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="de">Augen des Dämon</text>
<text locale="en">eyes of the demon</text>
<text locale="fr">oeil du démon</text>
<text locale="fr">oeil du démon</text>
</string>
<string name="griphonwing">
<text locale="de">Schwinge des Greifen</text>
@ -448,16 +448,16 @@
<text locale="en">adamantium axe</text>
</string>
<string name="adamantiumaxe_p">
<text locale="de">Adamantiumäxte</text>
<text locale="de">Adamantiumäxte</text>
<text locale="en">adamantium axes</text>
</string>
<string name="adamantiumplate">
<text locale="de">Adamantiumrüstung</text>
<text locale="de">Adamantiumrüstung</text>
<text locale="en">adamantium plate</text>
</string>
<string name="adamantiumplate_p">
<text locale="de">Adamantiumrüstungen</text>
<text locale="de">Adamantiumrüstungen</text>
<text locale="en">adamantium plates</text>
</string>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<terrains>
<!-- used by the experimental dungeon -->
<terrain name="hell" fly="no" sail="no" size="0" land="no"/>

View File

@ -1,3 +1,3 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<items>
</items>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" encoding="utf-8" ?>
<strings>
<string name="dragon_postfix_0">
@ -8,16 +8,16 @@
<text locale="de">der Allwissende</text>
</string>
<string name="dragon_postfix_2">
<text locale="de">der Mächtige</text>
<text locale="de">der Mächtige</text>
</string>
<string name="dragon_postfix_3">
<text locale="de">die Ehrwürdige</text>
<text locale="de">die Ehrwürdige</text>
</string>
<string name="dragon_postfix_4">
<text locale="de">die Listige</text>
</string>
<string name="dragon_postfix_5">
<text locale="de">der Grüne</text>
<text locale="de">der Grüne</text>
</string>
<string name="dragon_postfix_6">
<text locale="de">die Strafende</text>
@ -44,7 +44,7 @@
<text locale="de">die Alte</text>
</string>
<string name="dragon_postfix_14">
<text locale="de">die Mächtige</text>
<text locale="de">die Mächtige</text>
</string>
<string name="dragon_postfix_15">
<text locale="de">die Goldene</text>
@ -62,7 +62,7 @@
<text locale="de">die Verzehrende</text>
</string>
<string name="dragon_postfix_20">
<text locale="de">die Grüne</text>
<text locale="de">die Grüne</text>
</string>
<string name="dragon_postfix_21">
<text locale="de">die Rote</text>
@ -71,16 +71,16 @@
<text locale="de">der Furchtlose</text>
</string>
<string name="dragon_postfix_23">
<text locale="de">der Allmächtige</text>
<text locale="de">der Allmächtige</text>
</string>
<string name="dragon_postfix_24">
<text locale="de">der Weitblickende</text>
</string>
<string name="dragon_postfix_25">
<text locale="de">der Weiße</text>
<text locale="de">der Weiße</text>
</string>
<string name="dragon_postfix_26">
<text locale="de">die Glänzende</text>
<text locale="de">die Glänzende</text>
</string>
<string name="dragon_postfix_27">
<text locale="de">der Wissende</text>
@ -89,7 +89,7 @@
<text locale="de">die Unbarmherzige</text>
</string>
<string name="dragon_postfix_29">
<text locale="de">die Schöne</text>
<text locale="de">die Schöne</text>
</string>
</strings>

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" encoding="utf-8" ?>
<strings>
<string name="ghoul_prefix_0">
<text locale="de">Faulende</text>
</string>
<string name="ghoul_prefix_1">
<text locale="de">Angsteinflößende</text>
<text locale="de">Angsteinflößende</text>
</string>
<string name="ghoul_prefix_2">
<text locale="de">Leise</text>
@ -29,7 +29,7 @@
<text locale="de">Dunkle</text>
</string>
<string name="ghoul_prefix_9">
<text locale="de">Fürchterliche</text>
<text locale="de">Fürchterliche</text>
</string>
<string name="ghoul_prefix_10">
<text locale="de">Grauenhafte</text>
@ -47,7 +47,7 @@
<text locale="de">Schreckliche</text>
</string>
<string name="ghoul_prefix_15">
<text locale="de">Düstere</text>
<text locale="de">Düstere</text>
</string>
<string name="ghoul_prefix_16">
<text locale="de">Schaurige</text>
@ -82,7 +82,7 @@
<text locale="de">der Finsternis</text>
</string>
<string name="ghoul_postfix_3">
<text locale="de">des Bösen</text>
<text locale="de">des Bösen</text>
</string>
<string name="ghoul_postfix_4">
<text locale="de">der Erschlagenen</text>

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" encoding="utf-8" ?>
<strings>
<string name="skeleton_prefix_0">
<text locale="de">Klapperige</text>
</string>
<string name="skeleton_prefix_1">
<text locale="de">Stöhnende</text>
<text locale="de">Stöhnende</text>
</string>
<string name="skeleton_prefix_2">
<text locale="de">Schwarzknochige</text>
@ -14,7 +14,7 @@
<text locale="de">Schwarzgewandete</text>
</string>
<string name="skeleton_prefix_4">
<text locale="de">Angsteinflößende</text>
<text locale="de">Angsteinflößende</text>
</string>
<string name="skeleton_prefix_5">
<text locale="de">Heulende</text>
@ -32,7 +32,7 @@
<text locale="de">Dunkle</text>
</string>
<string name="skeleton_prefix_10">
<text locale="de">Fürchterliche</text>
<text locale="de">Fürchterliche</text>
</string>
<string name="skeleton_prefix_11">
<text locale="de">Grauenhafte</text>
@ -50,7 +50,7 @@
<text locale="de">Schreckliche</text>
</string>
<string name="skeleton_prefix_16">
<text locale="de">Düstere</text>
<text locale="de">Düstere</text>
</string>
<string name="skeleton_prefix_17">
<text locale="de">Schaurige</text>
@ -69,10 +69,10 @@
<text locale="de">Krieger</text>
</string>
<string name="skeleton_name_3">
<text locale="de">Kämpfer</text>
<text locale="de">Kämpfer</text>
</string>
<string name="skeleton_name_4">
<text locale="de">Rächer</text>
<text locale="de">Rächer</text>
</string>
<string name="skeleton_postfix_0">
@ -85,7 +85,7 @@
<text locale="de">der Finsternis</text>
</string>
<string name="skeleton_postfix_3">
<text locale="de">des Bösen</text>
<text locale="de">des Bösen</text>
</string>
<string name="skeleton_postfix_4">
<text locale="de">der Erschlagenen</text>

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" encoding="utf-8" ?>
<strings>
<string name="undead_prefix_0">
<text locale="de">Grausige</text>
</string>
<string name="undead_prefix_1">
<text locale="de">Stöhnende</text>
<text locale="de">Stöhnende</text>
</string>
<string name="undead_prefix_2">
<text locale="de">Schlurfende</text>
@ -16,7 +16,7 @@
<text locale="de">Faulende</text>
</string>
<string name="undead_prefix_5">
<text locale="de">Angsteinflößende</text>
<text locale="de">Angsteinflößende</text>
</string>
<string name="undead_prefix_6">
<text locale="de">Heulende</text>
@ -34,7 +34,7 @@
<text locale="de">Dunkle</text>
</string>
<string name="undead_prefix_11">
<text locale="de">Fürchterliche</text>
<text locale="de">Fürchterliche</text>
</string>
<string name="undead_prefix_12">
<text locale="de">Grauenhafte</text>
@ -58,7 +58,7 @@
<text locale="de">Ekelhafte</text>
</string>
<string name="undead_prefix_19">
<text locale="de">Düstere</text>
<text locale="de">Düstere</text>
</string>
<string name="undead_prefix_20">
<text locale="de">Schaurige</text>
@ -120,7 +120,7 @@
<text locale="de">der Finsternis</text>
</string>
<string name="undead_postfix_3">
<text locale="de">des Bösen</text>
<text locale="de">des Bösen</text>
</string>
<string name="undead_postfix_4">
<text locale="de">der Erschlagenen</text>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" encoding="utf-8" ?>
<strings>
<string name="zombie_prefix_0">
<text locale="de">Faulende</text>
@ -10,7 +10,7 @@
<text locale="de">Gefolterte</text>
</string>
<string name="zombie_prefix_3">
<text locale="de">Angsteinflößende</text>
<text locale="de">Angsteinflößende</text>
</string>
<string name="zombie_prefix_4">
<text locale="de">Leise Schlurfende</text>
@ -25,7 +25,7 @@
<text locale="de">Dunkle</text>
</string>
<string name="zombie_prefix_8">
<text locale="de">Fürchterliche</text>
<text locale="de">Fürchterliche</text>
</string>
<string name="zombie_prefix_9">
<text locale="de">Grauenhafte</text>
@ -43,7 +43,7 @@
<text locale="de">Schreckliche</text>
</string>
<string name="zombie_prefix_14">
<text locale="de">Düstere</text>
<text locale="de">Düstere</text>
</string>
<string name="zombie_prefix_15">
<text locale="de">Schaurige</text>
@ -75,7 +75,7 @@
<text locale="de">der Finsternis</text>
</string>
<string name="zombie_postfix_3">
<text locale="de">des Bösen</text>
<text locale="de">des Bösen</text>
</string>
<string name="zombie_postfix_4">
<text locale="de">der Erschlagenen</text>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?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"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<race name="aquarian" magres="0.000000" maxaura="1.000000" regaura="1.000000" recruitcost="80" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="20" damage="1d5" unarmedattack="-2" unarmeddefense="-2" shipspeed="yes" playerrace="yes" coastal="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<?xml version="1.0" ?>
<race name="aquarian" magres="0.000000" maxaura="1.000000" regaura="1.000000" recruitcost="80" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="20" damage="1d5" unarmedattack="-2" unarmeddefense="-2" shipspeed="yes" playerrace="yes" coastal="yes" walk="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="mining" modifier="-2"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<race name="cat" magres="0.000000" maxaura="1.000000" regaura="1.000000" recruitcost="90" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="20" damage="1d5" unarmedattack="-2" unarmeddefense="-2" defensemodifier="1" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<race name="cat" magres="0.000000" maxaura="1.000000" regaura="1.000000" recruitcost="90" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="20" damage="1d5" unarmedattack="-2" unarmeddefense="-2" defensemodifier="1" playerrace="yes" walk="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="alchemy" modifier="-1"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<race name="demon" magres="0.150000" maxaura="1.000000" regaura="1.250000" recruitcost="150" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="50" ac="2" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" shapeshift="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" recruitethereal="yes" equipment="yes">
<?xml version="1.0" ?>
<race name="demon" magres="0.150000" maxaura="1.000000" regaura="1.250000" recruitcost="150" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="50" ac="2" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" shapeshift="yes" giveperson="yes" giveunit="yes" getitem="yes" recruitethereal="yes" equipment="yes">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="alchemy" modifier="2"/>

View File

@ -1,5 +1,5 @@
<race name="dragon" magres="0.700000" maxaura="1.0" regaura="2.000000" weight="10000" capacity="1000000" speed="1.500000" hp="900" ac=
"6" damage="2d30" unarmedattack="0" unarmeddefense="0" attackmodifier="7" defensemodifier="7" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" giveitem="yes" resistbash="yes">
"6" damage="2d30" unarmedattack="0" unarmeddefense="0" attackmodifier="7" defensemodifier="7" scarepeasants="yes" fly="yes" walk="yes" teach="no" getitem="yes" resistbash="yes">
<ai splitsize="2" killpeasants="yes" learn="yes"/>
<function name="name" value="namedragon"/>
<function name="age" value="agedragon"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<race name="dwarf" magres="0.050000" maxaura="1.000000" regaura="0.500000" recruitcost="110" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="24" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<?xml version="1.0" ?>
<race name="dwarf" magres="0.050000" maxaura="1.000000" regaura="0.500000" recruitcost="110" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="24" 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"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="mining" modifier="2"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<race name="elf" magres="0.100000" maxaura="1.000000" regaura="1.250000" recruitcost="130" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="18" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<?xml version="1.0" ?>
<race name="elf" magres="0.100000" maxaura="1.000000" regaura="1.250000" recruitcost="130" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="18" 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"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="alchemy" modifier="-1"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<race name="goblin" magres="-0.05" 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" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<?xml version="1.0" ?>
<race name="goblin" magres="-0.05" 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">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="itemdrop" value="defaultdrops"/>
<param name="hunger.damage" value="1d8+7"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<race name="goblin" magres="-0.05" 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" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<?xml version="1.0" ?>
<race name="goblin" magres="-0.05" 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">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="itemdrop" value="defaultdrops"/>
<param name="hunger.damage" value="1d8+7"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<race name="goblin" magres="-0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="40" maintenance="10" weight="600" capacity="440" speed="1.000000" hp="16" damage="1d5" unarmedattack="-2" unarmeddefense="0" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<?xml version="1.0" ?>
<race name="goblin" magres="-0.050000" maxaura="1.000000" regaura="1.000000" 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">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="alchemy" modifier="1"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<race name="halfling" magres="0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="80" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="18" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<?xml version="1.0" ?>
<race name="halfling" magres="0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="80" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="18" 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"/>
<function name="itemdrop" value="defaultdrops"/>
<param name="hunger.damage" value="1d14+14"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<race name="human" magres="0.000000" maxaura="1.000000" regaura="1.000000" recruitcost="75" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="20" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<?xml version="1.0" ?>
<race name="human" magres="0.000000" maxaura="1.000000" regaura="1.000000" recruitcost="75" maintenance="10" weight="1000" capacity="540" speed="1.000000" 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"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="trade" modifier="1"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<race name="insect" magres="0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="80" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="24" ac="2" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<?xml version="1.0" ?>
<race name="insect" magres="0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="80" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="24" ac="2" 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"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="crossbow" modifier="1"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<race name="orc" magres="-0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="70" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="24" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<?xml version="1.0" ?>
<race name="orc" magres="-0.050000" maxaura="1.000000" regaura="1.000000" recruitcost="70" maintenance="10" weight="1000" capacity="540" speed="1.000000" hp="24" 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="recruit_multi" value="0.5"/>
<skill name="alchemy" modifier="1"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<race name="troll" magres="0.100000" maxaura="1.000000" regaura="1.000000" recruitcost="90" maintenance="10" weight="2000" capacity="1080" speed="1.000000" hp="30" ac="1" damage="1d5+3" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveitem="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<?xml version="1.0" ?>
<race name="troll" magres="0.100000" maxaura="1.000000" regaura="1.000000" recruitcost="90" maintenance="10" weight="2000" capacity="1080" speed="1.000000" hp="30" ac="1" damage="1d5+3" unarmedattack="-2" unarmeddefense="-2" playerrace="yes" walk="yes" giveperson="yes" giveunit="yes" getitem="yes" equipment="yes">
<ai splitsize="10000" moverandom="yes" learn="yes"/>
<function name="itemdrop" value="defaultdrops"/>
<skill name="mining" modifier="2"/>

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<race name="zombie" magres="0.20000" maxaura="1.0" regaura="1.0"
recruitcost="-1" maintenance="0" weight="1000" capacity="440" speed="1.000000"
hp="20" damage="1d5" unarmedattack="-2" unarmeddefense="-2" playerrace="no"
walk="yes" shapeshift="no" giveitem="no" giveperson="no" giveunit="no"
walk="yes" shapeshift="no" giveperson="no" giveunit="no"
getitem="no" recruitethereal="no" equipment="yes" scarepeasants="yes"
cansteal="no" unarmedguard="yes" absorbpeasants="yes" noheal="yes"
undead="yes" resistpierce="yes">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<ships xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="ships/boat.xml"/>
</ships>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml version="1.0" ?>
<ship name="boat" range="2" storm="1.00" damage="1.00" cargo="5000" cptskill="1" minskill="1" sumskill="2" opensea="yes">
<coast terrain="ocean"/>
<coast terrain="plain"/>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" ?>
<terrains>
<!-- defaults: walk="yes" sail="yes" fly="yes" swim="no" forest="no" sea="no" land="yes" forbidden="no" arctic="no" cavalry="no" size="0" -->
<terrain name="ocean" size="100" walk="no" swim="yes" land="no" sea="yes" />

View File

@ -1,7 +1,7 @@
#!/bin/sh
ROOT=$(pwd)
ROOT=`pwd`
while [ ! -d $ROOT/.git ]; do
ROOT=$(dirname $ROOT)
ROOT=`dirname $ROOT`
done
[ -z $BUILD ] && BUILD=Debug
@ -11,7 +11,7 @@ MACHINE=`uname -m`
[ -z "$CC" ] && [ ! -z `which cc` ] && CC="cc"
BIN_DIR="build-$MACHINE-$CC-$BUILD"
[ -z "$JOBS" ] && JOBS=$(nproc)
[ -z "$JOBS" ] && [ "" != "which nproc" ] && JOBS=`nproc`
DISTCC=`which distcc`
if [ ! -z "$DISTCC" ] ; then
JOBS=`distcc -j`

View File

@ -1,4 +1,6 @@
#!/bin/bash
set -e
ROOT=$(pwd)
while [ ! -d $ROOT/.git ]; do
ROOT=$(dirname $ROOT)
@ -19,5 +21,6 @@ $ROOT/$BIN_DIR/eressea/test_eressea
cd $ROOT
[ -e eressea.ini ] || ln -sf conf/eressea.ini
$ROOT/$BIN_DIR/eressea/eressea -v0 scripts/run-tests.lua
$ROOT/$BIN_DIR/eressea/eressea -v0 scripts/run-tests-e2.lua
$ROOT/$BIN_DIR/eressea/eressea -v0 scripts/run-tests-e3.lua
cd $OLDWPD

10
s/setup
View File

@ -91,7 +91,9 @@ ini_add lua install $SOURCE
ini_add lua paths $SOURCE/scripts:$SOURCE/lunit
ini_add lua rules $rules
ln -f $SOURCE/bin/eressea
ln -f $SOURCE/scripts/run-turn.lua
ln -f $SOURCE/scripts/reports.lua
ln -f $SOURCE/scripts/config.lua
echo 0 > turn
touch newfactions
ln -sf $SOURCE/bin/eressea
ln -sf $SOURCE/scripts/run-turn.lua
ln -sf $SOURCE/scripts/reports.lua
ln -sf $SOURCE/scripts/config.lua

View File

@ -13,4 +13,6 @@ cd build && cmake .. \
-DCMAKE_BUILD_TYPE=Debug .. && \
make && cd .. && inifile &&
build/eressea/test_eressea &&
build/eressea/eressea -v0 scripts/run-tests.lua
build/eressea/eressea -v0 scripts/run-tests-basic.lua
build/eressea/eressea -v0 scripts/run-tests-e2.lua
build/eressea/eressea -v0 scripts/run-tests-e3.lua

View File

@ -4,5 +4,5 @@ if config.install then
end
package.path = package.path .. ';' .. path .. '/?.lua;' .. path .. '/?/init.lua'
require 'eressea'
require 'eressea.xmlconf'
return require('eressea.rules')
require 'eressea.xmlconf' -- read xml data

View File

@ -13,5 +13,6 @@ return {
require('eressea.ponnuki'),
require('eressea.astral'),
require('eressea.locales'),
require('eressea.jsreport'),
require('eressea.ents')
}

View File

@ -1,7 +1,7 @@
local function create_ents(r, number)
local f = get_faction(666)
if f~=nil and number>0 then
u = unit.create(f, r, number)
u = unit.create(f, r, number, "ent")
u.name = "Wütende Ents"
u:set_skill("perception", 2)
@ -13,11 +13,21 @@ local function create_ents(r, number)
return nil
end
local function repair_ents(r)
for u in r.units do
if u.faction.id==666 and u.race == "undead" and u.name == "Wütende Ents" then
print("ent repair", u)
u.race = "ent"
end
end
end
local ents = {}
function ents.update()
local r
for r in regions() do
repair_ents(r)
if r:get_flag(0) then -- RF_CHAOTIC
if r.terrain == "plain" and r:get_resource("tree")==0 then
if math.random(3)==1 then

View File

@ -0,0 +1,24 @@
local pkg = {}
print("loading jsreport module")
function pkg.init()
eressea.settings.set("feature.jsreport.enable", "1")
end
function pkg.update()
local factions = { '777', '1wpy', 'd08a', 'hani', 'scaL' }
for _, id in ipairs(factions) do
local f = faction.get(id)
if f then
local o = f.options
local bit = (math.floor(o / 8) % 2)
if bit==0 then
eressea.log.warning("enable JSON report for " .. tostring(f))
f.options = o + 8
end
end
end
end
return pkg

View File

@ -45,7 +45,7 @@ function wedding.update()
if peacegate and hellgate then
wedding_exchange(peacegate, hellgate)
else
eressea.log.error("hellgate or peacegate not found!", hellgate, peacegate)
eressea.log.error("hellgate or peacegate not found!")
end
end

View File

@ -1,18 +1,11 @@
function use_snowman(u, amount)
local have = u:get_item("snowman")
if have<amount then
amount = have
end
if amount>0 and u.region.terrain == "glacier" then
local man = unit.create(u.faction, u.region)
man.race = "snowman"
man.number = amount
if u:add_item("snowman", -amount)~= nil then
return -1
end
return 0
end
return -4
if amount>0 and u.region.terrain == "glacier" then
local man = unit.create(u.faction, u.region)
man.race = "snowman"
man.number = amount
return amount
end
return -4
end
local self = {}

View File

@ -11,8 +11,7 @@ function use_stardust(u, amount)
u.region:set_resource("peasant", p)
local msg = usepotion_message(u, "stardust")
msg:send_region(u.region)
u:use_pooled("stardust", amount)
return 0
return amount
end
local self = {}

View File

@ -1,11 +1,10 @@
function use_xmastree(u, amount)
u.region:set_key("xm06", true)
u:use_pooled("xmastree", amount)
local msg = message.create("usepotion")
msg:set_unit("unit", u)
msg:set_resource("potion", "xmastree")
msg:send_region(u.region)
return 0
return amount
end
local self = {}

View File

@ -1,14 +1,15 @@
function use_xmastree(u, amount)
if u.region.herb~=nil then
-- TODO: else?
local trees = u.region:get_resource("tree")
u.region:set_resource("tree", 10+trees)
u:use_pooled("xmastree", amount)
local msg = message.create("usepotion")
msg:set_unit("unit", u)
msg:set_resource("potion", "xmastree")
msg:send_region(u.region)
return 0
return amount
end
return 0
end
local xmas = {}

125
scripts/newplayer.lua Normal file
View File

@ -0,0 +1,125 @@
dofile("config.lua")
p = require("populate")
local function read_players()
-- return {{ email = "noreply@mailinator.com", race = "dwarf", lang = "de" }}
local players = {}
local input = io.open("newfactions", "r")
while input do
local str = input:read("*line")
if str==nil then break end
local email, race, lang = str:match("([^ ]*) ([^ ]*) ([^ ]*)")
table.insert(players, { race = race, lang = lang, email = email })
end
return players
end
local function seed(r, email, race, lang)
local f = faction.create(email, race, lang)
local u = unit.create(f, r)
u:set_skill("perception", 30)
u:add_item("money", 20000)
items = {
log = 50,
stone = 50,
iron = 50,
laen = 10,
mallorn = 10,
skillpotion = 5
}
for it, num in pairs(items) do
u:add_item(it, num)
end
u = nil
skills ={
"crossbow",
"bow",
"building",
"trade",
"forestry",
"catapult",
"herbalism",
"training",
"riding",
"armorer",
"shipcraft",
"melee",
"sailing",
"polearm",
"espionage",
"roadwork",
"tactics",
"stealth",
"weaponsmithing",
"cartmaking",
"taxation",
"stamina"
}
unit.create(f, r, 50):set_skill("entertainment", 15)
unit.create(f, r, 5):set_skill("mining", 30)
unit.create(f, r, 5):set_skill("quarrying", 30)
for _, sk in ipairs(skills) do
u = u or unit.create(f, r, 5)
if u:set_skill(sk, 15)>0 then u=nil end
end
return f
end
local function dump_selection(sel)
local best = { score = 0, r = nil }
local r, score
for _, r in ipairs(sel) do
score = p.score(r)
if score > best.score then
best.r = r
best.score = score
end
print(score, r, r.terrain)
end
return best
end
players = read_players()
local limit = 30000
local turn = get_turn()
local sel
if #players > 0 then
eressea.read_game(("%d.dat"):format(turn))
sel = p.select(regions(), limit)
if #sel > 0 then
local best = dump_selection(sel)
print("finest region, " .. best.score .. " points: " .. tostring(best.r))
end
end
math.randomseed(os.time())
local newbs = {}
for _, p in ipairs(players) do
local index = math.random(#sel)
local start = nil
while not start or start.units() do
start = sel[index]
end
local dupe = false
for f in factions() do
if f.email==p.email then
print("seed: duplicate email " .. p.email .. " already used by faction " .. tostring(f))
dupe = true
break
end
end
if not dupe then
f = seed(start, p.email, p.race or "human", p.lang or "de")
print("new faction ".. tostring(f) .. " starts in ".. tostring(start))
table.insert(newbs, f)
end
end
if #newbs > 0 then
init_reports()
for _, f in ipairs(newbs) do
write_report(f)
end
eressea.write_game(("%d.dat.new"):format(turn))
end

32
scripts/populate.lua Normal file
View File

@ -0,0 +1,32 @@
local this = {}
local function score(r, res)
assert(r)
res = res or "peasant"
local x, y, rn
local peas = r:get_resource(res)
for _, rn in pairs(r.adj) do
if rn then
peas = peas + rn:get_resource(res)
end
end
return peas
end
local function select(regions, limit)
local sel = {}
for r in regions do
if r.terrain~="ocean" and r.units()==nil then
s = score(r)
if s >= limit then
table.insert(sel, r)
end
end
end
return sel
end
return {
score = score,
select = select
}

22
scripts/run-tests-e2.lua Normal file
View File

@ -0,0 +1,22 @@
-- Tests that work in all games. With game config of E2.
-- Tests are under scripts/test/e2 and all files must be in scripts/test/e2/init.lua
path = 'scripts'
if config.install then
path = config.install .. '/' .. path
package.path = package.path .. ';' .. config.install .. '/lunit/?.lua'
--needed to find lunit if not run from eressea root. Needs right [lua] install setting in eressea.ini (point to eressea root from the start folder)
end
package.path = package.path .. ';' .. path .. '/?.lua;' .. path .. '/?/init.lua'
config.rules = 'e2'
require 'eressea'
require 'eressea.xmlconf'
require 'eressea.path'
require 'tests.e2'
require 'lunit'
rules = require('eressea.' .. config.rules)
result = lunit.main()
return result.errors

View File

@ -1,8 +1,11 @@
-- new tests 2014-06-11
-- Tests that work in E3. With game config of E3.
-- Tests are under scripts/test/e3 and all files must be in scripts/test/e3/init.lua
path = 'scripts'
if config.source_dir ~= nil then
path = config.source_dir .. '/' .. path
if config.install then
path = config.install .. '/' .. path
package.path = package.path .. ';' .. config.install .. '/lunit/?.lua'
--needed to find lunit if not run form eressea root. Needs right [lua] install setting in eressea.ini (point to eressea root from the start folder)
end
package.path = package.path .. ';' .. path .. '/?.lua;' .. path .. '/?/init.lua'
@ -16,4 +19,5 @@ require 'lunit'
eressea.settings.set("rules.alliances", "0")
rules = require('eressea.' .. config.rules)
lunit.main()
result = lunit.main()
return result.errors

View File

@ -1,8 +1,11 @@
-- new tests 2014-06-11
-- Basic test without loading XML Config. Test care about needed settings.
-- Tests are under scripts/test/ and all files must be in scripts/test/init.lua
path = 'scripts'
if config.source_dir ~= nil then
path = config.source_dir .. '/' .. path
if config.install then
path = config.install .. '/' .. path
package.path = package.path .. ';' .. config.install .. '/lunit/?.lua'
--needed to find lunit if not run form eressea root. Needs right [lua] install setting in eressea.ini (point to eressea root from the start folder)
end
package.path = package.path .. ';' .. path .. '/?.lua;' .. path .. '/?/init.lua'
@ -10,4 +13,5 @@ require 'eressea'
require 'eressea.path'
require 'tests'
require 'lunit'
lunit.main()
result = lunit.main()
return result.errors

View File

@ -26,18 +26,6 @@ function callbacks(rules, name, ...)
end
end
local function change_locales(localechange)
for loc, flist in pairs(localechange) do
for index, name in pairs(flist) do
f = get_faction(atoi36(name))
if f ~= nil and f.locale ~= loc then
print("LOCALECHANGE ", f, f.locale, loc)
f.locale = loc
end
end
end
end
local function dbupdate()
update_scores()
dbname = config.dbname or 'eressea.db'
@ -127,64 +115,65 @@ local function write_scores()
end
function process(rules, orders)
local confirmed_multis = { }
local suspected_multis = { }
local confirmed_multis = { }
local suspected_multis = { }
if open_game(get_turn())~=0 then
eressea.log.error("could not read game")
return -1
end
callbacks(rules, 'init')
init_summary()
if open_game(get_turn())~=0 then
eressea.log.error("could not read game")
return -1
end
-- run the turn:
if read_orders(orders) ~= 0 then
print("could not read " .. orders)
return -1
end
callbacks(rules, 'init')
init_summary()
plan_monsters()
-- run the turn:
if read_orders(orders) ~= 0 then
print("could not read " .. orders)
return -1
end
if nmr_check(config.maxnmrs or 80)~=0 then
return -1
end
plan_monsters()
process_orders()
callbacks(rules, 'update')
if nmr_check(config.maxnmrs or 80)~=0 then
return -1
end
local localechange = { de = { 'ii' } }
change_locales(localechange)
process_orders()
callbacks(rules, 'update')
write_files(config.locales)
write_files(config.locales)
file = '' .. get_turn() .. '.dat'
if eressea.write_game(file)~=0 then
eressea.log.error("could not write game")
return -1
end
return 0
file = '' .. get_turn() .. '.dat'
if eressea.write_game(file)~=0 then
eressea.log.error("could not write game")
return -1
end
return 0
end
function run_turn(rules)
local turn = get_turn()
if turn<0 then
turn = read_turn()
set_turn(turn)
end
local turn = get_turn()
if turn<0 then
turn = read_turn()
set_turn(turn)
end
orderfile = orderfile or config.basepath .. '/orders.' .. turn
eressea.log.debug("executing turn " .. get_turn() .. " with " .. orderfile .. " with rules=" .. config.rules)
local result = process(rules, orderfile)
if result==0 then
dbupdate()
end
return result
orderfile = orderfile or config.basepath .. '/orders.' .. turn
eressea.log.debug("executing turn " .. get_turn() .. " with " .. orderfile .. " with rules=" .. config.rules)
local result = process(rules, orderfile)
if result==0 then
dbupdate()
end
return result
end
function file_exists(name)
local f=io.open(name,"r")
if f~=nil then io.close(f) return true else return false end
if not f then
return false
end
io.close(f)
return true
end
if file_exists('execute.lock') then

View File

@ -1,6 +1,6 @@
require "lunit"
module("tests.e3.e2features", package.seeall, lunit.testcase )
module("tests.e2.e2features", package.seeall, lunit.testcase )
local function one_unit(r, f)
local u = unit.create(f, r, 1)
@ -269,7 +269,7 @@ end
function test_block_movement_aots()
eressea.settings.set("rules.guard.base_stop_prob", "0.0")
eressea.settings.set("rules.guard.skill_stop_prob", "1.0")
eressea.settings.set("rules.guard.amulet_stop_prob", "1.1")
eressea.settings.set("rules.guard.amulet_stop_prob", "1.0")
local r0 = region.create(0, 0, "plain")
local r1 = region.create(1, 0, "plain")
@ -298,7 +298,7 @@ function test_block_movement_aots()
u:add_order("NACH o o")
end
u12:add_item("aots", 10)
u12:add_item("aots", 1)
u22:set_skill("stealth", 1)
process_orders()
@ -334,27 +334,3 @@ function test_stonegolems()
assert_equal(1 ,u2.number, "There shoud be one Stone Golems")
-- end test Stone Golems four stones
end
function test_only_building_owner_can_set_not_paid()
local r = region.create(0, 0, "plain")
local f = faction.create("noreply@eressea.de", "human", "de")
local u1 = unit.create(f, r, 1)
local u2 = unit.create(f, r, 1)
local mine = building.create(r, "mine")
mine.size = 2
u1:add_item("money", 500)
u1.building = mine
u2.building = mine
u1:clear_orders()
u2:clear_orders()
-- Test that Bezahle nicht is working
u1:add_order("Bezahle nicht")
process_orders()
assert_equal(500, u1:get_item("money"))
u1:clear_orders()
-- Test that bug fix 0001976 is working
-- Bezahle nicht is not working
u2:add_order("Bezahle nicht")
process_orders()
assert_equal(0, u1:get_item("money"))
end

View File

@ -0,0 +1,78 @@
require "lunit"
module("tests.e2.guard", package.seeall, lunit.testcase)
function setup()
eressea.free_game()
eressea.settings.set("nmr.removenewbie", "0")
eressea.settings.set("nmr.timeout", "0")
eressea.settings.set("NewbieImmunity", "0")
eressea.settings.set("rules.economy.food", "4")
end
function test_guard_unarmed()
local r1 = region.create(0, 0, "plain")
local f1 = faction.create("hodor@eressea.de", "human", "de")
local u1 = unit.create(f1, r1, 1)
assert_equal(nil, u1.guard)
u1:clear_orders()
u1:add_order("BEWACHE")
process_orders()
assert_equal(nil, u1.guard)
end
function test_guard_armed()
local r1 = region.create(0, 0, "plain")
local f1 = faction.create("hodor@eressea.de", "human", "de")
local u1 = unit.create(f1, r1, 1)
assert_equal(nil, u1.guard)
u1:add_item("sword", 1)
u1:set_skill("melee", 2)
u1:clear_orders()
u1:add_order("BEWACHE")
process_orders()
assert_equal(249, u1.guard)
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 u1 = unit.create(f1, r1, 10)
local uid1 = u1.id
local f2 = faction.create("horst@eressea.de", "human", "de")
local u2 = unit.create(f2, r1, 1)
u1:add_order("BEWACHE")
u1:add_item("sword", 10)
u1:set_skill("melee", 2)
u1:clear_orders()
u1:add_order("BEWACHE")
process_orders()
assert_equal(249, u1.guard)
u1:clear_orders()
u1:add_order("NACH O")
u1:add_order("ATTACKIERE " .. itoa36(u2.id))
process_orders()
u1 = get_unit(uid1)
assert_equal(r2, u1.region)
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 u1 = unit.create(f1, r1, 10)
local uid1 = u1.id
local f2 = faction.create("horst@eressea.de", "human", "de")
local u2 = unit.create(f2, r1, 1)
u1:add_order("BEWACHE")
u1:add_item("sword", 10)
u1:set_skill("melee", 2)
assert_equal(nil, u1.guard)
u1:clear_orders()
u1:add_order("NACH O")
u1:add_order("ATTACKIERE " .. itoa36(u2.id))
process_orders()
u1 = get_unit(uid1)
assert_equal(r1, u1.region)
end

View File

@ -0,0 +1,4 @@
require 'tests.e2.shiplanding'
require 'tests.e2.e2features'
require 'tests.e2.movement'
require 'tests.e2.guard'

View File

@ -0,0 +1,86 @@
require "lunit"
module("tests.e2.movement", package.seeall, lunit.testcase)
function setup()
eressea.free_game()
eressea.settings.set("nmr.removenewbie", "0")
eressea.settings.set("nmr.timeout", "0")
eressea.settings.set("NewbieImmunity", "0")
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 u1 = unit.create(f, r1, 1)
u1.race = "dolphin"
u1:clear_orders()
u1:add_order("NACH O")
process_orders()
assert_equal(r1, u1.region)
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 u1 = unit.create(f, r1, 1)
u1.race = "dolphin"
u1:clear_orders()
u1:add_order("NACH O")
process_orders()
assert_equal(r2, u1.region)
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 u1 = unit.create(f, r1, 1)
u1.race = "dolphin"
u1:clear_orders()
u1:add_order("NACH O")
process_orders()
assert_equal(r2, u1.region)
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 u1 = unit.create(f, r1, 1)
local u2 = unit.create(f, r1, 1)
u1:clear_orders()
u2:clear_orders()
u1:add_item("money", 100)
u2:add_item("money", 100)
u1:add_order("NACH O")
u2:add_order("FOLGE EINHEIT " .. itoa36(u1.id))
process_orders()
assert_equal(u1.region, r2)
assert_equal(u2.region, r2)
end
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 u1 = unit.create(f, r1, 1)
local u2 = unit.create(f, r1, 1)
u1:add_item("money", 100)
u2:add_item("money", 100)
u1.ship = ship.create(r1, "boat")
assert(u1.ship)
u1:set_skill("sailing", 2)
u1:clear_orders()
u1:add_order("NACH O O")
u2.ship = ship.create(r1, "boat")
u2:set_skill("sailing", 2)
u2:clear_orders()
u2:add_order("FOLGE SCHIFF " .. itoa36(u1.ship.id))
process_orders()
assert_equal(2, u1.region.x)
assert_equal(2, u2.region.x)
end

View File

@ -1,19 +1,18 @@
require "lunit"
module("tests.rules", package.seeall, lunit.testcase)
module("tests.e2.shiplanding", package.seeall, lunit.testcase)
function setup()
eressea.free_game()
eressea.settings.set("nmr.removenewbie", "0")
eressea.settings.set("nmr.timeout", "0")
eressea.settings.set("NewbieImmunity", "0")
eressea.config.parse('{ "races": { "human" : {}}}')
end
function test_landing1()
local ocean = region.create(1, 0, "ocean")
local r = region.create(0, 0, "plain")
local f = faction.create("noreply@eressea.de", "insects", "de")
local f = faction.create("noreply@eressea.de", "human", "de")
local f2 = faction.create("noreply@eressea.de", "human", "de")
local s = ship.create(ocean, "longboat")
local u1 = unit.create(f, ocean, 1)
@ -31,7 +30,33 @@ function test_landing1()
assert_equal(r.id, u1.region.id) -- the plain case: okay
end
function test_landing_harbour()
function test_landing_harbour_with_help()
local ocean = region.create(1, 0, "ocean")
local r = region.create(0, 0, "glacier")
local harbour = building.create(r, "harbour")
harbour.size = 25
local f = faction.create("noreply@eressea.de", "human", "de")
local f2 = faction.create("noreply@eressea.de", "human", "de")
local s = ship.create(ocean, "longboat")
local u1 = unit.create(f, ocean, 1)
local u2 = unit.create(f2, r, 1)
assert_not_nil(u2)
u1:add_item("money", 1000)
u2:add_item("money", 1000)
u2.building = harbour
u2:clear_orders()
u2:add_order("KONTAKTIERE " .. itoa36(u1.id))
u1.ship = s
u1:set_skill("sailing", 10)
u1:clear_orders()
u1:add_order("NACH w")
process_orders()
assert_equal(r.id, u1.region.id) -- glacier with harbour and help-- okay
end
function test_landing_harbour_without_help()
local ocean = region.create(1, 0, "ocean")
local r = region.create(0, 0, "glacier")
local harbour = building.create(r, "harbour")
@ -52,7 +77,7 @@ function test_landing_harbour()
u1:add_order("NACH w")
process_orders()
assert_equal(r.id, u1.region.id) -- glacier with harbour -- okay
assert_equal(ocean.id, u1.region.id) -- glacier with harbour and no help-- cannot land
end
function test_landing_harbour_unpaid()
@ -61,13 +86,12 @@ function test_landing_harbour_unpaid()
local harbour = building.create(r, "harbour")
harbour.size = 25
local f = faction.create("noreply@eressea.de", "human", "de")
local f2 = faction.create("noreply@eressea.de", "human", "de")
local s = ship.create(ocean, "longboat")
local u1 = unit.create(f, ocean, 1)
local u2 = unit.create(f2, r, 1)
local u2 = unit.create(f, r, 1)
assert_not_nil(u2)
u1:add_item("money", 1000)
u2:add_item("money", 1000)
u2:add_item("money", 20)
u1.ship = s
u1:set_skill("sailing", 10)
@ -91,8 +115,7 @@ function test_landing_terrain()
u2:add_item("money", 1000)
u1.ship = s
u1:set_skill("sailing", 10)
u1:clear_orders()
u1:set_skill("sailing", 10) u1:clear_orders()
u1:add_order("NACH w")
process_orders()
@ -104,7 +127,7 @@ function test_landing_insects()
local r = region.create(0, 0, "glacier")
local harbour = building.create(r, "harbour")
harbour.size = 25
local f = faction.create("noreply@eressea.de", "insects", "de")
local f = faction.create("noreply@eressea.de", "insect", "de")
local f2 = faction.create("noreply@eressea.de", "human", "de")
local s = ship.create(ocean, "longboat")
local u1 = unit.create(f, ocean, 1)

View File

@ -794,3 +794,26 @@ function test_only_building_owner_can_set_not_paid()
process_orders()
assert_equal(0, u1:get_item("money"))
end
function test_spyreport_message()
local r1 = region.create(1, 2, "plain")
local f1 = faction.create("noreply@eressea.de", "human", "de")
local u1 = unit.create(f1, r1, 1)
local u2 = unit.create(f1, r1, 1)
msg = message.create("spyreport")
msg:set_unit("spy", u1)
msg:set_unit("target", u2)
msg:set_string("status", "hodor")
assert_not_equal("", msg:render("de"))
assert_not_equal("", msg:render("en"))
end
function test_volcanooutbreak_message()
local r1 = region.create(1, 0, "plain")
local r2 = region.create(1, 1, "plain")
msg = message.create("volcanooutbreak")
msg:set_region("regionn", r1)
msg:set_region("regionv", r2)
assert_not_equal("", msg:render("de"))
assert_not_equal("", msg:render("en"))
end

View File

@ -44,3 +44,25 @@ function test_blessedharvest_lasts_n_turn()
process_orders()
assert_equal(900, r:get_resource("money"))
end
function test_magic()
local r = region.create(0, 0, "plain")
local f = faction.create("noreply@eressea.de", "halfling", "de")
local u = unit.create(f, r)
local b = building.create(r, "castle")
u.race = "dwarf"
u.magic = "gwyrrd"
u:set_skill("magic", 30)
u.aura = 300
u:add_spell("protective_runes")
u:add_spell("analyze_magic")
u:clear_orders()
u:add_order("ZAUBERE \"Runen des Schutzes\" BURG " .. itoa36(b.id));
u.building = b
u:add_order("ZAUBERE \"Magie analysieren\" BURG " .. itoa36(b.id));
process_orders()
-- there used to be a SEGFAULT when writing reports here:
-- write_reports()
end

View File

@ -1,3 +1,5 @@
require "lunit"
module ('tests.eressea.faction', package.seeall, lunit.testcase)
local f
@ -5,7 +7,7 @@ local f
function setup()
conf = [[{
"races": {
"human" : {}
"human" : {}
}
}]]
eressea.config.reset()
@ -15,15 +17,15 @@ function setup()
end
function test_faction_flags()
assert_equal(0, f.flags)
f.flags = 42
assert_equal(42, f.flags)
assert_equal(0, f.flags)
f.flags = 42
assert_equal(42, f.flags)
end
function test_get_faction()
assert_equal(f, get_faction(f.id))
assert_equal(f, faction.get(f.id))
local nf = f.id
if nf>1 then nf = nf - 1 else nf = 1 end
assert_equal(nil, faction.get(nf))
assert_equal(f, get_faction(f.id))
assert_equal(f, faction.get(f.id))
local nf = f.id
if nf>1 then nf = nf - 1 else nf = 1 end
assert_equal(nil, faction.get(nf))
end

View File

@ -1,9 +1,9 @@
-- new tests 2014-06-11
require 'tests.pool'
require 'tests.settings'
require 'tests.config'
require 'tests.faction'
require 'tests.locale'
require 'tests.regions'
require 'tests.study'
require 'tests.movement'
require 'tests.pool'
require 'tests.regions'
require 'tests.settings'
require 'tests.study'

View File

@ -61,6 +61,7 @@ end
function test_give_divisor()
eressea.settings.set("rules.items.give_divisor", 2)
eressea.settings.set("GiveRestriction", 0)
local r = region.create(1, 1, "plain")
local f1 = faction.create("test@example.com", "human", "de")
local f2 = faction.create("test@example.com", "human", "de")

View File

@ -7,7 +7,8 @@ function setup()
"races" : { "human" : {} },
"terrains" : { "plain" : { "flags" : [ "land" ] } },
"keywords" : { "de" : { "study": "LERNEN" } },
"skills" : { "de": { "alchemy" : "Alchemie", "crossbow" : "Armbrust" } }
"skills" : { "de": { "alchemy" : "Alchemie", "crossbow" : "Armbrust" } },
"spells" : { "fireball" : { "syntax" : "u+" } }
}]]
eressea.game.reset()
eressea.config.reset();
@ -36,3 +37,17 @@ function test_study_expensive()
assert_equal(1, u:get_skill("alchemy"))
assert_equal(0, u:get_item("money"))
end
function test_unit_spells()
local r = region.create(0, 0, "plain")
local f = faction.create("test@example.com", "human", "de")
local u = unit.create(f, r, 1)
u.magic = "gray"
u:set_skill("magic", 1)
u:add_spell("toast")
assert_equal(nil, u.spells)
u:add_spell("fireball", 2)
local sp = u.spells()
assert_equal("fireball", sp.name)
assert_equal(2, sp.level)
end

View File

@ -79,6 +79,7 @@ set (ERESSEA_SRC
skill.c
json.c
creport.c
jsreport.c
economy.c
give.c
items.c
@ -176,10 +177,13 @@ set(TESTS_SRC
market.test.c
move.test.c
skill.test.c
spells.test.c
spy.test.c
upkeep.test.c
${ATTRIBUTES_TESTS}
${UTIL_TESTS}
${KERNEL_TESTS}
${ITEMS_TESTS}
)
add_executable(test_eressea ${TESTS_SRC})

View File

@ -1282,11 +1282,19 @@ terminate(troop dt, troop at, int type, const char *damage, bool missile)
}
assert(dt.index < du->number);
df->person[dt.index].hp -= rda;
if (u_race(au) == get_race(RC_DAEMON)) {
vampirism(at, rda);
}
if (rda>0) {
df->person[dt.index].hp -= rda;
if (u_race(au) == get_race(RC_DAEMON)) {
vampirism(at, rda);
}
if (b->turn>1) {
/* someone on the ship got damaged, damage the ship */
ship *sh = du->ship ? du->ship : leftship(du);
if (sh)
fset(sh, SF_DAMAGED);
}
}
if (df->person[dt.index].hp > 0) { /* Hat überlebt */
if (bdebug) {
fprintf(bdebug, "Damage %d, armor %d: %d -> %d HP\n",
@ -2286,16 +2294,18 @@ void do_attack(fighter * af)
/* Wir suchen eine beliebige Feind-Einheit aus. An der können
* wir feststellen, ob noch jemand da ist. */
int apr, attacks = attacks_per_round(ta);
assert(attacks <= RACE_ATTACKS);
if (!count_enemies(b, af, FIGHT_ROW, LAST_ROW, SELECT_FIND))
break;
for (apr = 0; apr != attacks; ++apr) {
int a;
for (a = 0; a != 10 && u_race(au)->attack[a].type != AT_NONE; ++a) {
for (a = 0; a < RACE_ATTACKS && u_race(au)->attack[a].type != AT_NONE; ++a) {
if (apr > 0) {
/* Wenn die Waffe nachladen muss, oder es sich nicht um einen
* Waffen-Angriff handelt, dann gilt der Speed nicht. */
if (u_race(au)->attack[a].type != AT_STANDARD)
/* FIXME allow multiple AT_NATURAL attacks? */
if (u_race(au)->attack[a].type != AT_STANDARD)
continue;
else {
weapon *wp = preferred_weapon(ta, true);
@ -2712,13 +2722,6 @@ static void aftermath(battle * b)
if (flags) {
fset(du, flags);
}
if (sum_hp + df->run.hp < du->hp) {
/* someone on the ship got damaged, damage the ship */
ship *sh = du->ship ? du->ship : leftship(du);
if (sh)
fset(sh, SF_DAMAGED);
}
if (df->alive && df->alive == du->number) {
du->hp = sum_hp;
continue; /* nichts passiert */

View File

@ -297,7 +297,7 @@ static int tolua_faction_set_origin(lua_State * L)
plane *pl = rplane(r);
int id = pl ? pl->id : 0;
set_ursprung(f, id, r->x - plane_center_x(pl), r->y - plane_center_y(pl));
set_origin(f, id, r->x - plane_center_x(pl), r->y - plane_center_y(pl));
return 0;
}
@ -344,14 +344,14 @@ static int tolua_faction_create(lua_State * L)
const char *email = tolua_tostring(L, 1, 0);
const char *racename = tolua_tostring(L, 2, 0);
const char *lang = tolua_tostring(L, 3, 0);
struct locale *loc = get_locale(lang);
struct locale *loc = lang ? get_locale(lang) : default_locale;
faction *f = NULL;
const struct race *frace = rc_find(racename);
const struct race *frace = rc_find(racename ? racename : "human");
if (frace != NULL) {
f = addfaction(email, NULL, frace, loc, 0);
}
if (!f) {
log_error("faction.create(%s, %s, %s)\n", email, racename, lang);
log_error("faction.create(%s, %s, %s)\n", email, racename, locale_name(loc));
}
tolua_pushusertype(L, f, TOLUA_CAST "faction");
return 1;
@ -507,14 +507,6 @@ static int tolua_faction_tostring(lua_State * L)
return 1;
}
#ifdef TODO /* these usertypes are undefined */
static int tolua_faction_get_spells(lua_State * L)
{
faction *self = (faction *) tolua_tousertype(L, 1, 0);
return tolua_quicklist_push(L, "spellbook", "spellbook_entry", self->spellbook->spells);
}
#endif
void tolua_faction_open(lua_State * L)
{
/* register user types */
@ -544,9 +536,6 @@ void tolua_faction_open(lua_State * L)
&tolua_faction_set_info);
tolua_variable(L, TOLUA_CAST "units", tolua_faction_get_units, NULL);
tolua_variable(L, TOLUA_CAST "heroes", tolua_faction_get_heroes, NULL);
#ifdef TODO
tolua_variable(L, TOLUA_CAST "spells", tolua_faction_get_spells, 0);
#endif
tolua_variable(L, TOLUA_CAST "maxheroes", tolua_faction_get_maxheroes,
NULL);
tolua_variable(L, TOLUA_CAST "password", tolua_faction_get_password,

View File

@ -11,7 +11,9 @@
#include <kernel/unit.h>
/* util includes */
#include <util/language.h>
#include <util/message.h>
#include <util/nrmessage.h>
/* lua includes */
#include <tolua.h>
@ -307,6 +309,21 @@ static int tolua_msg_send_faction(lua_State * L)
return 0;
}
static int tolua_msg_render(lua_State * L)
{
lua_message *lmsg = (lua_message *)tolua_tousertype(L, 1, 0);
const char * lname = tolua_tostring(L, 2, 0);
const struct locale * lang = lname ? get_locale(lname) : default_locale;
char name[64];
if (lmsg->msg == NULL) {
lmsg->msg = msg_create(lmsg->mtype, lmsg->args);
}
nr_render(lmsg->msg, lang, name, sizeof(name), NULL);
lua_pushstring(L, name);
return 1;
}
void tolua_message_open(lua_State * L)
{
/* register user types */
@ -321,6 +338,7 @@ void tolua_message_open(lua_State * L)
NULL);
tolua_beginmodule(L, TOLUA_CAST "message");
{
tolua_function(L, TOLUA_CAST "render", tolua_msg_render);
tolua_function(L, TOLUA_CAST "set", tolua_msg_set);
tolua_function(L, TOLUA_CAST "set_unit", tolua_msg_set_unit);
tolua_function(L, TOLUA_CAST "set_region", tolua_msg_set_region);

View File

@ -167,7 +167,7 @@ static int tolua_unit_set_group(lua_State * L)
static int tolua_unit_get_name(lua_State * L)
{
unit *self = (unit *)tolua_tousertype(L, 1, 0);
tolua_pushstring(L, self->name);
tolua_pushstring(L, unit_getname(self));
return 1;
}
@ -262,6 +262,24 @@ static int tolua_unit_set_flags(lua_State * L)
return 0;
}
static int tolua_unit_get_guard(lua_State * L)
{
unit *self = (unit *)tolua_tousertype(L, 1, 0);
if (is_guard(self, GUARD_ALL)) {
lua_pushinteger(L, getguard(self));
return 1;
}
return 0;
}
static int tolua_unit_set_guard(lua_State * L)
{
unit *self = (unit *)tolua_tousertype(L, 1, 0);
unsigned int flags = (unsigned int)tolua_tonumber(L, 2, 0);
setguard(self, flags);
return 0;
}
static const char *unit_getmagic(const unit * u)
{
sc_mage *mage = get_mage(u);
@ -542,7 +560,7 @@ static int tolua_unit_addspell(lua_State * L)
spell *sp = find_spell(str);
if (!sp) {
log_error("spell %s could not be found\n", str);
log_warning("spell %s could not be found\n", str);
return EINVAL;
}
else {
@ -740,23 +758,22 @@ static int tolua_unit_get_items(lua_State * L)
return 1;
}
#ifdef TODO /* spellbooks */
static int tolua_unit_get_spells(lua_State * L)
{
unit *self = (unit *) tolua_tousertype(L, 1, 0);
sc_mage *mage = get_mage(self);
sc_mage *mage = self ? get_mage(self) : 0;
spellbook *sb = mage ? mage->spellbook : 0;
quicklist *slist = 0;
if (mage) {
quicklist **slist_ptr = get_spelllist(mage, self->faction);
if (sb) {
quicklist **slist_ptr = &sb->spells;
if (slist_ptr) {
slist = *slist_ptr;
}
}
return tolua_quicklist_push(L, "spell_list", "spell", slist);
return tolua_quicklist_push(L, "spellbook", "spell_entry", slist);
}
#ifdef TODO /* spellbooks */
static void unit_removespell(unit * u, spell * sp)
{
quicklist **isptr;
@ -984,6 +1001,8 @@ void tolua_unit_open(lua_State * L)
/* key-attributes for named flags: */
tolua_function(L, TOLUA_CAST "set_flag", &tolua_unit_set_flag);
tolua_function(L, TOLUA_CAST "get_flag", &tolua_unit_get_flag);
tolua_variable(L, TOLUA_CAST "guard", &tolua_unit_get_guard,
&tolua_unit_set_guard);
tolua_variable(L, TOLUA_CAST "flags", &tolua_unit_get_flags,
&tolua_unit_set_flags);
tolua_variable(L, TOLUA_CAST "age", &tolua_unit_get_age,
@ -1014,8 +1033,8 @@ void tolua_unit_open(lua_State * L)
tolua_function(L, TOLUA_CAST "add_spell", &tolua_unit_addspell);
#ifdef TODO /* spellbooks */
tolua_function(L, TOLUA_CAST "remove_spell", &tolua_unit_removespell);
tolua_variable(L, TOLUA_CAST "spells", &tolua_unit_get_spells, 0);
#endif
tolua_variable(L, TOLUA_CAST "spells", &tolua_unit_get_spells, 0);
tolua_function(L, TOLUA_CAST "cast_spell", &tolua_unit_castspell);
tolua_variable(L, TOLUA_CAST "magic", &tolua_unit_get_magic,

Some files were not shown because too many files have changed in this diff Show More