einbau der letzten bugfixes aus dem beta-1-0 branch

This commit is contained in:
Enno Rehling 2001-04-22 18:14:07 +00:00
parent e467ce279b
commit 87be055747
35 changed files with 375 additions and 1532 deletions

View File

@ -21,6 +21,15 @@
#include <attrib.h> #include <attrib.h>
#include <resolve.h> #include <resolve.h>
static int
verify_follow(attrib * a)
{
if (a->data.v==NULL) {
return 0;
}
return 1;
}
static void static void
write_follow(const attrib * a, FILE * F) write_follow(const attrib * a, FILE * F)
{ {
@ -41,7 +50,7 @@ read_follow(attrib * a, FILE * F)
} }
attrib_type at_follow = { attrib_type at_follow = {
"follow", NULL, NULL, NULL, write_follow, read_follow "follow", NULL, NULL, verify_follow, write_follow, read_follow
}; };
attrib * attrib *

View File

@ -21,6 +21,15 @@
#include <attrib.h> #include <attrib.h>
#include <resolve.h> #include <resolve.h>
static int
verify_hate(attrib * a)
{
if (a->data.v==NULL) {
return 0;
}
return 1;
}
static void static void
write_hate(const attrib * a, FILE * F) write_hate(const attrib * a, FILE * F)
{ {
@ -44,7 +53,7 @@ attrib_type at_hate = {
"hates", "hates",
NULL, NULL,
NULL, NULL,
NULL, verify_hate,
write_hate, write_hate,
read_hate, read_hate,
}; };

View File

@ -2729,7 +2729,7 @@ tax(region * r, unit * u, request ** taxorders)
request *o; request *o;
int max; int max;
if (!humanoid(u)) { if (!humanoid(u) && u->faction != findfaction(MONSTER_FACTION)) {
cmistake(u, findorder(u, u->thisorder), 228, MSG_INCOME); cmistake(u, findorder(u, u->thisorder), 228, MSG_INCOME);
return; return;
} }

View File

@ -2258,9 +2258,11 @@ renumber_factions(void)
for(u=r->units; u; u=u->next) { for(u=r->units; u; u=u->next) {
attrib *a = a_find(u->attribs, &at_otherfaction); attrib *a = a_find(u->attribs, &at_otherfaction);
if(!a) continue; if(!a) continue;
if (a->data.i == rp->faction->no){
a->data.i = rp->want; a->data.i = rp->want;
} }
} }
}
rp->faction->no = rp->want; rp->faction->no = rp->want;
register_faction_id(rp->want); register_faction_id(rp->want);
fset(rp->faction, FF_NEWID); fset(rp->faction, FF_NEWID);

View File

@ -1074,7 +1074,8 @@ plan_monsters(void)
/* money is gone */ /* money is gone */
set_new_dragon_target(u, r, DRAGON_RANGE); set_new_dragon_target(u, r, DRAGON_RANGE);
} }
else if (u->race != RC_FIREDRAGON && r->terrain!=T_OCEAN && r->terrain!=T_FIREWALL) { else if (u->race != RC_FIREDRAGON && r->terrain!=T_OCEAN
&& !(terrain[rterrain(r)].flags & FORBIDDEN_LAND)) {
ra = 20 + rand() % 100; ra = 20 + rand() % 100;
if (get_money(u) > ra * 50 + 100 && rand() % 100 < 50) if (get_money(u) > ra * 50 + 100 && rand() % 100 < 50)
{ {

View File

@ -574,7 +574,7 @@ chaos(region * r)
guard(u, GUARD_ALL); guard(u, GUARD_ALL);
} }
case 2: /* Terrainveränderung */ case 2: /* Terrainveränderung */
if (rterrain(r) != T_FIREWALL) { if (!(terrain[rterrain(r)].flags & FORBIDDEN_LAND)) {
if (rterrain(r) != T_OCEAN) { if (rterrain(r) != T_OCEAN) {
direction_t dir; direction_t dir;
for (dir=0;dir!=MAXDIRECTIONS;++dir) { for (dir=0;dir!=MAXDIRECTIONS;++dir) {

View File

@ -2708,7 +2708,9 @@ can_find(faction * f, faction * f2)
ss=fs->see; ss=fs->see;
while (ss && ss->seen!=f2) ss=ss->next; while (ss && ss->seen!=f2) ss=ss->next;
if (ss) { if (ss) {
assert(ss->proof->faction==f2); /* bei TARNE PARTEI yxz muss die Partei von unit proof nicht
* wirklich Partei f2 sein! */
/* assert(ss->proof->faction==f2); */
return ss->proof; return ss->proof;
} }
return NULL; return NULL;

View File

@ -147,8 +147,8 @@ setstealth(unit * u, strlist * S)
freset(u, FL_PARTEITARNUNG); freset(u, FL_PARTEITARNUNG);
} else if (findkeyword(s, u->faction->locale) == K_NUMBER) { } else if (findkeyword(s, u->faction->locale) == K_NUMBER) {
char *s2 = getstrtoken(); char *s2 = getstrtoken();
int nr; int nr = atoi36(s2);
if(!s2 || *s2 == 0 || (nr = atoi36(s2)) == u->faction->no) { if(!s2 || *s2 == 0 || nr == u->faction->no) {
a_removeall(&u->faction->attribs, &at_otherfaction); a_removeall(&u->faction->attribs, &at_otherfaction);
} else { } else {
/* TODO: Prüfung ob Partei sichtbar */ /* TODO: Prüfung ob Partei sichtbar */

View File

@ -149,7 +149,13 @@ teach_unit(unit * teacher, unit * student, int teaching, skill_t sk, boolean rep
if (a==NULL) a = a_add(&student->attribs, a_new(&at_learning)); if (a==NULL) a = a_add(&student->attribs, a_new(&at_learning));
a->data.i += n; a->data.i += n;
if (btype == &bt_academy && student->building==teacher->building && inside_building(student)!=NULL) { /* Solange Akademien größenbeschränkt sind, sollte Lehrer und
* Student auch in unterschiedlichen Gebäuden stehen dürfen */
if (btype == &bt_academy
/* && student->building==teacher->building
* && inside_building(student)!=NULL) */
&& student->building && student->building->type == &bt_academy)
{
int j = study_cost(teacher, sk); int j = study_cost(teacher, sk);
j = max(50, j * 2); j = max(50, j * 2);
if (get_pooled(teacher, teacher->region, R_SILVER) >= j) { /* kann Einheit das zahlen? */ if (get_pooled(teacher, teacher->region, R_SILVER) >= j) { /* kann Einheit das zahlen? */

View File

@ -837,26 +837,48 @@ meffect_blocked(battle *b, meffect *s, side *as)
} }
/* ------------------------------------------------------------- */ /* ------------------------------------------------------------- */
/* rmfighter wird schon im PRAECOMBAT gebraucht, da gibt es noch keine
* troops */
void
rmfighter(fighter *df, int i)
{
side *ds = df->side;
/* nicht mehr personen abziehen, als in der Einheit am Leben sind */
assert(df->alive >= i);
assert(df->alive <= df->unit->number);
/* erst ziehen wir die Anzahl der Personen von den Kämpfern in der
* Schlacht, dann von denen auf dieser Seite ab*/
df->side->alive -= i;
df->side->battle->alive -= i;
/* Dann die Kampfreihen aktualisieren */
ds->size[SUM_ROW] -= i;
ds->size[statusrow(df->status)] -= i;
/* Spezialwirkungen, z.B. Schattenritter */
if (race[df->unit->race].battle_flags & BF_NOBLOCK) {
ds->nonblockers[SUM_ROW] -= i;
ds->nonblockers[statusrow(df->status)] -= i;
}
/* und die Einheit selbst aktualisieren */
df->alive -= i;
}
void void
rmtroop(troop dt) rmtroop(troop dt)
{ {
fighter *df = dt.fighter; fighter *df = dt.fighter;
side *ds = df->side;
--df->alive; /* troop ist immer eine einzele Person */
--df->side->alive; rmfighter(df, 1);
--df->side->battle->alive;
assert(dt.index >= 0 && dt.index < df->unit->number); assert(dt.index >= 0 && dt.index < df->unit->number);
assert(df->alive < df->unit->number);
df->person[dt.index] = df->person[df->alive - df->removed]; df->person[dt.index] = df->person[df->alive - df->removed];
df->person[df->alive - df->removed].hp = 0; df->person[df->alive - df->removed].hp = 0;
--ds->size[SUM_ROW];
--ds->size[statusrow(df->status)];
/* z.B. Schattenritter */
if (race[df->unit->race].battle_flags & BF_NOBLOCK) {
--ds->nonblockers[SUM_ROW];
--ds->nonblockers[statusrow(df->status)];
}
} }
void void

View File

@ -229,6 +229,7 @@ extern int countallies(struct side * as);
extern int get_unitrow(struct fighter * af); extern int get_unitrow(struct fighter * af);
extern boolean helping(struct side * as, struct side * ds); extern boolean helping(struct side * as, struct side * ds);
extern void rmtroop(struct troop dt); extern void rmtroop(struct troop dt);
extern void rmfighter(fighter *df, int i);
extern struct region * fleeregion(const struct unit * u); extern struct region * fleeregion(const struct unit * u);
extern boolean enemy (const struct side * a, const struct side * b); extern boolean enemy (const struct side * a, const struct side * b);
extern struct troop select_corpse(struct battle * b, struct fighter * af); extern struct troop select_corpse(struct battle * b, struct fighter * af);

View File

@ -459,3 +459,4 @@ border_type bt_road = {
b_uinvisible, /* uvisible */ b_uinvisible, /* uvisible */
b_validroad /* valid */ b_validroad /* valid */
}; };

View File

@ -858,7 +858,7 @@ build_ship(unit * u, ship * sh, int want)
int n; int n;
if (want > 0) can = min(want, can); if (want > 0) can = min(want, can);
can = min(can, 2*construction->maxsize); /* 100% bauen + 100% reparieren */ can = min(can, construction->maxsize+sh->damage); /* 100% bauen + 100% reparieren */
can = build(u, construction, size, can); can = build(u, construction, size, can);
if((n=construction->maxsize - sh->size)>0 && can>0) { if((n=construction->maxsize - sh->size)>0 && can>0) {

View File

@ -1157,7 +1157,6 @@ sp_denyattack(fighter * fi, int level, int power, spell * sp)
/* Magier weicht dem Kampf aus. Wenn er sich bewegen kann, zieht er in /* Magier weicht dem Kampf aus. Wenn er sich bewegen kann, zieht er in
* eine Nachbarregion, wobei ein NACH berücksichtigt wird. Ansonsten * eine Nachbarregion, wobei ein NACH berücksichtigt wird. Ansonsten
* bleibt er stehen und nimmt nicht weiter am Kampf teil. */ * bleibt er stehen und nimmt nicht weiter am Kampf teil. */
side *sf = fi->side;
battle *b = fi->side->battle; battle *b = fi->side->battle;
unit *mage = fi->unit; unit *mage = fi->unit;
region *r = b->region; region *r = b->region;
@ -1185,15 +1184,16 @@ sp_denyattack(fighter * fi, int level, int power, spell * sp)
} else { } else {
fi->run.region = fleeregion(mage); fi->run.region = fleeregion(mage);
} }
travel(r, mage, fi->run.region, 1); /* bewegung erst am Ende des Kampfes, zusammen mit den normalen
* Flüchtlingen */
/* travel(r, mage, fi->run.region, 1); */
/* wir tun so, als wäre die Person geflohen */ /* wir tun so, als wäre die Person geflohen */
fset(fi, FIG_NOLOOT); fset(fi, FIG_NOLOOT);
fi->run.hp = mage->hp; fi->run.hp = mage->hp;
fi->run.number = mage->number; fi->run.number = mage->number;
fi->alive = 0; /* fighter leeren */
sf->size[SUM_ROW] -= mage->number; rmfighter(fi, mage->number);
sf->size[mage->status + FIGHT_ROW] -= mage->number;
scat("Das Kampfgetümmel erstirbt und er kann unbehelligt " scat("Das Kampfgetümmel erstirbt und er kann unbehelligt "
"seines Weges ziehen."); "seines Weges ziehen.");

View File

@ -864,7 +864,11 @@ spellcost(unit *u, spell * sp)
/* ------------------------------------------------------------- */ /* ------------------------------------------------------------- */
/* durch Komponenten und cast_level begrenzter maximal möglicher /* durch Komponenten und cast_level begrenzter maximal möglicher
* Level */ * Level
* Da die Funktion nicht alle Komponenten durchprobiert sondern beim
* ersten Fehler abbricht, muss die Fehlermeldung später mit cancast()
* generiert werden.
* */
int int
eff_spelllevel(unit *u, spell * sp, int cast_level, int range) eff_spelllevel(unit *u, spell * sp, int cast_level, int range)
{ {
@ -2765,8 +2769,9 @@ magic(void)
continue; continue;
} }
if (range > 1024) { /* (2^10) weiter als 10 Regionen entfernt */ if (range > 1024) { /* (2^10) weiter als 10 Regionen entfernt */
sprintf(buf, "Zu der Region %s kann keine Verbindung " sprintf(buf, "%s in %s: 'ZAUBER %s' Zu der Region %s kann keine "
"hergestellt werden", regionid(target_r)); "Verbindung hergestellt werden", unitname(u),
regionid(u->region), sp->name, regionid(target_r));
addmessage(0, u->faction, buf, MSG_MAGIC, ML_MISTAKE); addmessage(0, u->faction, buf, MSG_MAGIC, ML_MISTAKE);
continue; continue;
} }
@ -2776,8 +2781,10 @@ magic(void)
int ilevel = eff_skill(u, SK_MAGIC, u->region); int ilevel = eff_skill(u, SK_MAGIC, u->region);
if (ilevel!=level) { if (ilevel!=level) {
level = ilevel; level = ilevel;
addmessage(0, u->faction, "Dieser Zauber kann nicht mit " sprintf(buf, "%s in %s: 'ZAUBER %s' Dieser Zauber kann nicht "
"Stufenangabe gezaubert werden.", MSG_MAGIC, ML_WARN); "mit Stufenangabe gezaubert werden.", unitname(u),
regionid(u->region), sp->name);
addmessage(0, u->faction, buf, MSG_MAGIC, ML_WARN);
} }
} }
/* Vertrautenmagie */ /* Vertrautenmagie */
@ -2854,12 +2861,15 @@ magic(void)
/* reichen die Komponenten nicht, wird der Level reduziert. */ /* reichen die Komponenten nicht, wird der Level reduziert. */
level = eff_spelllevel(u, sp, level, co->distance); level = eff_spelllevel(u, sp, level, co->distance);
if (level < 1) { if (level < 1) {
sprintf(buf, "%s schafft es nicht genügend Kraft aufzubringen " /* Fehlermeldung mit Komponenten generieren */
"um %s zu zaubern und muss erschöpft aufgeben.", unitname(u), cancast(u, sp, co->level, co->distance);
sp->name);
addmessage(0, u->faction, buf, MSG_MAGIC, ML_MISTAKE);
continue; continue;
} }
if (level < co->level){
sprintf(buf, "%s hat nur genügend Komponenten um %s auf Stufe %d "
"zu zaubern.", unitname(u), sp->name, level);
addmessage(0, u->faction, buf, MSG_MAGIC, ML_INFO);
}
co->level = level; co->level = level;
/* Prüfen, ob die realen Kosten für die gewünschten Stufe bezahlt /* Prüfen, ob die realen Kosten für die gewünschten Stufe bezahlt

View File

@ -145,9 +145,11 @@ personcapacity(unit *u)
{ {
int cap = race[u->race].weight+540; int cap = race[u->race].weight+540;
if(fspecial(u->faction, FS_QUICK)) { if(u->race == RC_TROLL)
cap -= 2000; cap += 540;
}
if(fspecial(u->faction, FS_QUICK))
cap -= 200;
return cap; return cap;
} }
@ -730,6 +732,7 @@ cycle_route(unit *u, int gereist)
strcpy(neworder, locale_string(u->faction->locale, keywords[K_ROUTE])); strcpy(neworder, locale_string(u->faction->locale, keywords[K_ROUTE]));
for (cm=0;;++cm) { for (cm=0;;++cm) {
const locale * lang = u->faction->locale;
pause = false; pause = false;
token = getstrtoken(); token = getstrtoken();
d = finddirection(token); d = finddirection(token);
@ -740,19 +743,21 @@ cycle_route(unit *u, int gereist)
} }
if (cm<gereist) { if (cm<gereist) {
/* hier sollte keine PAUSE auftreten */ /* hier sollte keine PAUSE auftreten */
if (!pause) strcat(strcat(tail, " "), locale_string(u->faction->locale, shortdirections[d])); assert(!pause);
if (!pause) strcat(strcat(tail, " "), shortdirections[d]);
} }
else if (cm==gereist && !paused && pause){ else if (cm==gereist && !paused && pause) {
strcat(strcat(tail, " "), locale_string(u->faction->locale, parameters[P_PAUSE])); strcat(strcat(tail, " "), LOC(lang, parameters[P_PAUSE]));
paused=true; paused=true;
} }
else if (pause) {
/* da PAUSE nicht in ein shortdirections[d] umgesetzt wird (ist /* da PAUSE nicht in ein shortdirections[d] umgesetzt wird (ist
* hier keine normale direction), muss jede PAUSE einzeln * hier keine normale direction), muss jede PAUSE einzeln
* herausgefiltert und explizit gesetzt werden */ * herausgefiltert und explizit gesetzt werden */
else if (pause) { strcat(strcat(neworder, " "), LOC(lang, parameters[P_PAUSE]));
strcat(strcat(neworder, " "), locale_string(u->faction->locale, parameters[P_PAUSE])); } else {
} else strcat(strcat(neworder, " "), LOC(lang, shortdirections[d]));
strcat(strcat(neworder, " "), locale_string(u->faction->locale, shortdirections[d])); }
} }
strcat(neworder, tail); strcat(neworder, tail);
@ -897,7 +902,7 @@ travel(region * first, unit * u, region * next, int flucht)
if (rterrain(current)==T_OCEAN if (rterrain(current)==T_OCEAN
&& !(race[u->race].flags&(RCF_FLY) && rterrain(next)!=T_OCEAN)) && !(race[u->race].flags&(RCF_FLY) && rterrain(next)!=T_OCEAN))
{ /* Die Einheit kann nicht fliegen, ist im Ozean, und will an Land */ { /* Die Einheit kann nicht fliegen, ist im Ozean, und will an Land */
if (u->race != RC_AQUARIAN) if (race[u->race].flags & RCF_SWIM)
{ {
cmistake(u, findorder(u, u->thisorder), 44, MSG_MOVE); cmistake(u, findorder(u, u->thisorder), 44, MSG_MOVE);
return NULL; return NULL;
@ -913,7 +918,7 @@ travel(region * first, unit * u, region * next, int flucht)
cmistake(u, findorder(u, u->thisorder), 70, MSG_MOVE); cmistake(u, findorder(u, u->thisorder), 70, MSG_MOVE);
return NULL; return NULL;
} }
if (u->ship && !flucht && u->race != RC_AQUARIAN) { if (u->ship && !flucht && race[u->race].flags & RCF_SWIM) {
cmistake(u, findorder(u, u->thisorder), 143, MSG_MOVE); cmistake(u, findorder(u, u->thisorder), 143, MSG_MOVE);
return NULL; return NULL;
} }
@ -1332,11 +1337,11 @@ sail(region * starting_point, unit * u, region * next_point, boolean move_on_lan
unit *u2, *hafenmeister; unit *u2, *hafenmeister;
item * trans = NULL; item * trans = NULL;
int st, first = 1; int st, first = 1;
int k, m, l, i, t = 0; int k, m, l, i, step = 0;
int stormchance; int stormchance;
region *rv[MAXSPEED + 1]; region *rv[MAXSPEED + 1];
region *tt[MAXSPEED + 1]; region *tt[MAXSPEED + 1]; /* travelthru */
static direction_t route[MAXSPEED+1]; static direction_t route[MAXSPEED+1]; /* route[i] := direction from tt[i] to tt[i-1] */
if (!ship_ready(starting_point, u)) if (!ship_ready(starting_point, u))
return NULL; return NULL;
@ -1360,16 +1365,29 @@ sail(region * starting_point, unit * u, region * next_point, boolean move_on_lan
* Küstenstreifen, rv[] speichert die gesichteten Küstenstreifen, m * Küstenstreifen, rv[] speichert die gesichteten Küstenstreifen, m
* zählt befahrene Felder, current_point ist die letzte gültige, * zählt befahrene Felder, current_point ist die letzte gültige,
* befahrene Region. */ * befahrene Region. */
tt[t++] = starting_point; tt[step] = starting_point;
do {
while (current_point!=next_point &&
((rterrain(current_point) == T_OCEAN
|| is_cursed(u->ship->attribs, C_SHIP_FLYING, 0))
&& next_point != 0 && m < k))
{
direction_t dir = reldirection(current_point, next_point); direction_t dir = reldirection(current_point, next_point);
/* Fliegende Schiffe ignorieren Terrain, Nebelwaende, Mahlströme und
* Blockaden */ if(terrain[rterrain(next_point)].flags & FORBIDDEN_LAND) {
plane *pl = getplane(next_point);
if(pl && fval(pl, PFL_NOCOORDS)) {
add_message(&u->faction->msgs, new_message(u->faction,
"sailforbiddendir%h:ship%i:direction",
u->ship, reldirection(current_point,next_point)));
} else {
add_message(&u->faction->msgs, new_message(u->faction,
"sailforbidden%h:ship%r:region", u->ship, next_point));
}
break;
}
if( !is_cursed(u->ship->attribs, C_SHIP_FLYING, 0) ) { if( !is_cursed(u->ship->attribs, C_SHIP_FLYING, 0) ) {
if (rterrain(current_point) != T_OCEAN if (rterrain(current_point) != T_OCEAN
&& rterrain(next_point) != T_OCEAN) { && rterrain(next_point) != T_OCEAN) {
plane *pl = getplane(next_point); plane *pl = getplane(next_point);
@ -1447,7 +1465,6 @@ sail(region * starting_point, unit * u, region * next_point, boolean move_on_lan
u->ship, reldirection(current_point,next_point))); u->ship, reldirection(current_point,next_point)));
/* sprintf(buf, "Die Mannschaft der %s weigert sich, in die Feuerwand " /* sprintf(buf, "Die Mannschaft der %s weigert sich, in die Feuerwand "
"im %s zu fahren.", "im %s zu fahren.",
shipname(u->ship), directions[dir]); */ shipname(u->ship), directions[dir]); */
} else { } else {
add_message(&u->faction->msgs, new_message(u->faction, add_message(&u->faction->msgs, new_message(u->faction,
@ -1483,32 +1500,26 @@ sail(region * starting_point, unit * u, region * next_point, boolean move_on_lan
/* Falls kein Problem, eines weiter ziehen */ /* Falls kein Problem, eines weiter ziehen */
route[step] = dir;
tt[++step] = current_point; /* travelthrough */
u->ship->moved = 1;
m++;
last_point = current_point; last_point = current_point;
current_point = next_point; current_point = next_point;
next_point = movewhere(current_point, u);
m++;
u->ship->moved = 1;
/* Falls eine Küstenregion, dann in rv[] aufnehmen (die letzte /* Falls eine Küstenregion, dann in rv[] aufnehmen (die letzte
* Küste wird nachher nicht aufgelistet werden, wenn das * Küste wird nachher nicht aufgelistet werden, wenn das
* Schiff dort seine Runde beendent!). */ * Schiff dort seine Runde beendent!). */
route[t-1] = dir;
tt[t++] = current_point; /* travelthrough */
if (rterrain(current_point) != T_OCEAN) { if (rterrain(current_point) != T_OCEAN) {
rv[l] = current_point; rv[l] = current_point;
l++; l++;
} }
next_point = movewhere(current_point, u);
} }
while ((rterrain(current_point) == T_OCEAN route[step] = NODIRECTION;
|| is_cursed(u->ship->attribs, C_SHIP_FLYING, 0)) /* at this point, step is the number of steps made. tt[step] is the final region. */
&& next_point != 0 && m < k);
route[t-1] = NODIRECTION;
/* nachdem alle Richtungen abgearbeitet wurden, und alle Einheiten
* transferiert wurden, kann der aktuelle Befehl gelöscht werden. */
cycle_route(u, t-1);
set_string(&u->thisorder, "");
/* Nun enthält current_point die Region, in der das Schiff seine Runde /* Nun enthält current_point die Region, in der das Schiff seine Runde
* beendet hat. Wir generieren hier ein Ereignis für den Spieler, das * beendet hat. Wir generieren hier ein Ereignis für den Spieler, das
@ -1516,16 +1527,17 @@ sail(region * starting_point, unit * u, region * next_point, boolean move_on_lan
* gekommen ist. Das ist nicht der Fall, wenn er von der Küste ins * gekommen ist. Das ist nicht der Fall, wenn er von der Küste ins
* Inland zu segeln versuchte */ * Inland zu segeln versuchte */
if (u->ship->moved) {
if (current_point->terrain != T_OCEAN && !is_cursed(u->ship->attribs, C_SHIP_FLYING, 0)) {
u->ship->coast = reldirection(current_point, last_point);
} else {
u->ship->coast = NODIRECTION;
}
}
if (u->ship->moved) { if (u->ship->moved) {
ship * sh = u->ship; ship * sh = u->ship;
/* nachdem alle Richtungen abgearbeitet wurden, und alle Einheiten
* transferiert wurden, kann der aktuelle Befehl gelöscht werden. */
cycle_route(u, step);
set_string(&u->thisorder, "");
if (current_point->terrain != T_OCEAN && !is_cursed(sh->attribs, C_SHIP_FLYING, 0)) {
sh->coast = reldirection(current_point, last_point);
} else {
sh->coast = NODIRECTION;
}
sh->moved = 1; sh->moved = 1;
sprintf(buf, "Die %s ", shipname(sh)); sprintf(buf, "Die %s ", shipname(sh));
if( is_cursed(sh->attribs, C_SHIP_FLYING, 0) ) if( is_cursed(sh->attribs, C_SHIP_FLYING, 0) )
@ -1577,7 +1589,7 @@ sail(region * starting_point, unit * u, region * next_point, boolean move_on_lan
if (fval(u, FL_FOLLOWING)) caught_target(current_point, u); if (fval(u, FL_FOLLOWING)) caught_target(current_point, u);
if (starting_point != current_point) { if (starting_point != current_point) {
tt[t - 1] = 0; tt[step+1] = NULL;
sh = move_ship(sh, starting_point, current_point, tt); sh = move_ship(sh, starting_point, current_point, tt);
/* Hafengebühren ? */ /* Hafengebühren ? */

View File

@ -305,7 +305,7 @@ allowed_terrain(terrain_t ter, terrain_t ter_last, int t)
if(t & WALK && terrain[ter].flags & WALK_INTO) return true; if(t & WALK && terrain[ter].flags & WALK_INTO) return true;
/* Alte Variante: /* Alte Variante:
if(ter == T_FIREWALL) return false; if(terrain[ter].flags & FORBIDDEN_LAND) return false;
if(t & FLY) return true; if(t & FLY) return true;
if(t & SWIM && !(t & WALK) && ter == T_OCEAN) return true; if(t & SWIM && !(t & WALK) && ter == T_OCEAN) return true;
if(t & SWIM && t & WALK) return true; if(t & SWIM && t & WALK) return true;

View File

@ -113,12 +113,6 @@ ursprung_x(const faction *f, const plane *pl)
if(ur->id == id) if(ur->id == id)
return ur->x; return ur->x;
} }
if (pl) {
set_ursprung((faction*)f, id, plane_center_x(pl), plane_center_y(pl));
return plane_center_x(pl);
}
return 0; return 0;
} }
@ -138,12 +132,6 @@ ursprung_y(const faction *f, const plane *pl)
if(ur->id == id) if(ur->id == id)
return ur->y; return ur->y;
} }
if (pl) {
set_ursprung((faction*)f, id, plane_center_x(pl), plane_center_y(pl));
return plane_center_y(pl);
}
return 0; return 0;
} }
@ -232,9 +220,9 @@ rel_to_abs(const struct plane *pl, const struct faction * f, int rel, unsigned c
assert(index == 0 || index == 1); assert(index == 0 || index == 1);
if(index == 0) if(index == 0)
return (rel + ursprung_x(f,pl)); return (rel + ursprung_x(f,pl) + plane_center_x(pl));
return (rel + ursprung_y(f,pl)); return (rel + ursprung_y(f,pl) + plane_center_y(pl));
} }
@ -251,13 +239,13 @@ write_plane_reference(const plane * u, FILE * F)
} }
void void
read_plane_reference(plane ** up, FILE * F) read_plane_reference(plane ** pp, FILE * F)
{ {
int i; int i;
fscanf(F, "%d", &i); fscanf(F, "%d", &i);
if (i==0) *up = NULL; if (i==0) *pp = NULL;
{ {
*up = getplanebyid(i); *pp = getplanebyid(i);
if (*up==NULL) ur_add((void*)i, (void**)&up, resolve_plane); if (*pp==NULL) ur_add((void*)i, (void**)pp, resolve_plane);
} }
} }

View File

@ -1195,7 +1195,7 @@ sp_blessedharvest(castorder *co)
} }
} }
if (!fval(mage->faction, FL_DH)){ if (!fval(mage->faction, FL_DH)){
add_message(&r->msgs, new_message(mage->faction, add_message(&mage->faction->msgs, new_message(mage->faction,
"harvest_effect%u:mage", mage)); "harvest_effect%u:mage", mage));
} }
return cast_level; return cast_level;
@ -1238,7 +1238,9 @@ sp_hain(castorder *co)
} }
} }
if (!fval(mage->faction, FL_DH)){ if (!fval(mage->faction, FL_DH)){
add_message(&r->msgs, new_message(mage->faction, /* dann steht niemand von der Magierpartei in der Region, sieht also
* auch keine Regionsmeldung. ergo: global anzeigen */
add_message(&mage->faction->msgs, new_message(mage->faction,
"growtree_effect%u:mage%i:amount", mage, trees)); "growtree_effect%u:mage%i:amount", mage, trees));
} }
@ -3521,7 +3523,12 @@ sp_magicboost(castorder *co)
* Kategorie: Einheit, positiv * Kategorie: Einheit, positiv
* *
* Wirkung: * Wirkung:
* Hitpoints to Aura: 4:1/3:1 * Hitpoints to Aura:
* skill < 8 = 4:1
* skill < 12 = 3:1
* skill < 15 = 2:1
* skill < 18 = 1:2
* skill > = 2:1
* Patzer: * Patzer:
* permanenter HP verlust * permanenter HP verlust
* *
@ -3534,6 +3541,7 @@ sp_bloodsacrifice(castorder *co)
unit *mage = (unit *)co->magician; unit *mage = (unit *)co->magician;
int cast_level = co->level; int cast_level = co->level;
int aura, damage; int aura, damage;
int skill = eff_skill(mage, SK_MAGIC, mage->region);
int hp = mage->hp - 5; /* braucht noch 4 HP zum Bezahlen des int hp = mage->hp - 5; /* braucht noch 4 HP zum Bezahlen des
Spruchs, und 1 HP zum Überleben*/ Spruchs, und 1 HP zum Überleben*/
@ -3544,10 +3552,16 @@ sp_bloodsacrifice(castorder *co)
damage = min(hp, dice_rand("4d12")); damage = min(hp, dice_rand("4d12"));
if (eff_skill(mage, SK_MAGIC, mage->region) > 8){ if (skill < 8) {
aura = damage / 3;
} else {
aura = damage / 4; aura = damage / 4;
} else if (skill < 12){
aura = damage / 3;
} else if (skill < 15){
aura = damage / 2;
} else if (skill < 18){
aura = damage;
} else {
aura = damage * 2;
} }
if (aura <= 0){ if (aura <= 0){
@ -4121,7 +4135,7 @@ sp_raisepeasantmob(castorder *co)
} }
} }
if (!fval(mage->faction, FL_DH)){ if (!fval(mage->faction, FL_DH)){
add_message(&r->msgs, new_message(mage->faction, add_message(&mage->faction->msgs, new_message(mage->faction,
"sp_raisepeasantmob_effect%u:mage%r:region", mage, r)); "sp_raisepeasantmob_effect%u:mage%r:region", mage, r));
} }
@ -4799,7 +4813,7 @@ sp_puttorest(castorder *co)
} }
if (!fval(mage->faction, FL_DH)){ if (!fval(mage->faction, FL_DH)){
add_message(&r->msgs, new_message(mage->faction, add_message(&mage->faction->msgs, new_message(mage->faction,
"puttorest%u:mage", mage)); "puttorest%u:mage", mage));
} }
return co->level; return co->level;
@ -7763,7 +7777,11 @@ spell spelldaten[] =
"opfern, um dafür an magischer Kraft zu gewinnen. Erfahrene " "opfern, um dafür an magischer Kraft zu gewinnen. Erfahrene "
"Ritualmagier berichten, das sich das Ritual, einmal initiiert, nur " "Ritualmagier berichten, das sich das Ritual, einmal initiiert, nur "
"schlecht steuern ließe und die Menge der so gewonnenen Kraft stark " "schlecht steuern ließe und die Menge der so gewonnenen Kraft stark "
"schwankt.", "schwankt. So steht im 'Buch des Blutes' geschrieben: 'So richte Er aus "
"das Zeichen der vier Elemente im Kreis des Werdens und Vergehens und "
"Weihe einjedes mit einem Tropfen Blut. Sodann begebe Er in der Mitten "
"der Ewigen Vierer sich und lasse Leben verrinnen, auf das Kraft "
"geboren werde.'",
NULL, NULL,
NULL, NULL,
M_CHAOS, (ONSHIPCAST), 1, 4, M_CHAOS, (ONSHIPCAST), 1, 4,
@ -9581,7 +9599,7 @@ spell spelldaten[] =
"ZAUBER [STUFE n] \"Astraler Ruf\" <Ziel-X> <Ziel-Y> <Einheit-Nr> " "ZAUBER [STUFE n] \"Astraler Ruf\" <Ziel-X> <Ziel-Y> <Einheit-Nr> "
"[<Einheit-Nr> ...]", "[<Einheit-Nr> ...]",
"ru+", "ru+",
M_ASTRAL, (UNITSPELL|SPELLLEVEL), 7, 6, M_ASTRAL, (UNITSPELL | SEARCHGLOBAL | SPELLLEVEL), 7, 6,
{ {
{R_AURA, 2, SPC_LEVEL}, {R_AURA, 2, SPC_LEVEL},
{0, 0, 0}, {0, 0, 0},
@ -9600,7 +9618,7 @@ spell spelldaten[] =
"Welt zwingen.", "Welt zwingen.",
NULL, NULL,
"u+", "u+",
M_ASTRAL, (UNITSPELL |SPELLLEVEL), 7, 6, M_ASTRAL, (UNITSPELL | SEARCHGLOBAL | SPELLLEVEL), 7, 6,
{ {
{R_AURA, 2, SPC_LEVEL}, {R_AURA, 2, SPC_LEVEL},
{0, 0, 0}, {0, 0, 0},

View File

@ -162,7 +162,7 @@ create_teleport_plane(void)
rsetterrain(ra, T_ASTRAL); rsetterrain(ra, T_ASTRAL);
} }
ra->planep = getplanebyid(1); ra->planep = getplanebyid(1);
if (r->terrain==T_FIREWALL) rsetterrain(ra, T_ASTRALB); if (terrain[rterrain(r)].flags & FORBIDDEN_LAND) rsetterrain(ra, T_ASTRALB);
} }
for(i=0;i<4;i++) { for(i=0;i<4;i++) {

View File

@ -283,7 +283,17 @@ const terraindata_t terrain[] = {
WALK_INTO|LAND_REGION, /* Flags */ WALK_INTO|LAND_REGION, /* Flags */
NULL NULL
}, },
/* T_MAGICSTORM */
{
"magicstorm", '%',
NULL,
"in einen gewaltigen magischen Sturm",
0, /* Steine pro Runde */
-1, /* Steine fuer Strasse */
0, /* bewirtschaftbare Parzellen */
FORBIDDEN_LAND, /* Flags */
NULL
},
/*** sentinel - must be last ***/ /*** sentinel - must be last ***/
{ {
NULL, 'X', NULL, 'X',

View File

@ -22,7 +22,7 @@
#ifndef TERRAIN_H #ifndef TERRAIN_H
#define TERRAIN_H #define TERRAIN_H
#define landregion(t) (t!=T_OCEAN && t!=T_FIREWALL && t!=T_ASTRAL && t!=T_ASTRALB && t!=T_FIREWALL && t!=T_HELL) #define landregion(t) (t!=T_OCEAN && t!=T_FIREWALL && t!=T_ASTRAL && t!=T_ASTRALB && t!=T_FIREWALL && t!=T_HELL && t!=T_MAGICSTORM)
enum { enum {
T_OCEAN, T_OCEAN,
T_PLAIN, T_PLAIN,
@ -45,6 +45,7 @@ enum {
T_ICEBERG, T_ICEBERG,
T_HALL1, T_HALL1,
T_CORRIDOR1, T_CORRIDOR1,
T_MAGICSTORM,
MAXTERRAINS, MAXTERRAINS,
NOTERRAIN = (terrain_t) - 1 NOTERRAIN = (terrain_t) - 1
}; };

View File

@ -440,7 +440,7 @@ read_unit_reference(unit ** up, FILE * F)
if (i==0) *up = NULL; if (i==0) *up = NULL;
{ {
*up = findunit(i); *up = findunit(i);
if (*up==NULL) ur_add((void*)i, (void**)&up, resolve_unit); if (*up==NULL) ur_add((void*)i, (void**)up, resolve_unit);
} }
} }

View File

@ -145,6 +145,7 @@ gm_terraform(const char * str, struct unit * u)
terrain_t t; terrain_t t;
if (r==NULL || p!=rplane(r)) { if (r==NULL || p!=rplane(r)) {
mistake(u, str, "Diese Regon kann die Einheit nicht umwandeln.\n", 0); mistake(u, str, "Diese Regon kann die Einheit nicht umwandeln.\n", 0);
return;
} else { } else {
/* checking permissions */ /* checking permissions */
attrib * permissions = a_find(u->faction->attribs, &at_permissions); attrib * permissions = a_find(u->faction->attribs, &at_permissions);

View File

@ -143,8 +143,24 @@ attrib_type at_eventhandler = {
read_handler read_handler
}; };
struct trigger **
get_triggers(struct attrib * ap, const char * event)
{
handler_info * td = NULL;
attrib * a = a_find(ap, &at_eventhandler);
while (a!=NULL) {
td = (handler_info *)a->data.v;
if (!strcmp(td->event, event)) {
break;
}
a = a->nexttype;
}
if (!a) return NULL;
return &td->triggers;
}
void void
add_trigger(attrib ** ap, const char * event, trigger * t) add_trigger(struct attrib ** ap, const char * event, struct trigger * t)
{ {
trigger ** tp; trigger ** tp;
handler_info * td = NULL; handler_info * td = NULL;
@ -186,7 +202,7 @@ handle_event(attrib ** attribs, const char * event, void * param)
} }
void void
t_add(trigger ** tlist, trigger * t) t_add(struct trigger ** tlist, struct trigger * t)
{ {
while (*tlist) tlist = &(*tlist)->next; while (*tlist) tlist = &(*tlist)->next;
*tlist = t; *tlist = t;

View File

@ -56,7 +56,8 @@ extern void t_add(trigger ** tlist, trigger * t);
/** add and handle triggers **/ /** add and handle triggers **/
/* add a trigger to a list of attributes */ /* add a trigger to a list of attributes */
extern void add_trigger(struct attrib ** ap, const char * event, trigger * t); extern void add_trigger(struct attrib ** ap, const char * event, struct trigger * t);
struct trigger ** get_triggers(struct attrib * ap, const char * event);
/* calls handle() for each of these. e.g. used in timeout */ /* calls handle() for each of these. e.g. used in timeout */
extern void handle_event(struct attrib ** attribs, const char * event, void * data); extern void handle_event(struct attrib ** attribs, const char * event, void * data);

View File

@ -1167,19 +1167,10 @@ SOURCE=..\common\attributes\overrideroads.h
# Begin Source File # Begin Source File
SOURCE=..\common\attributes\racename.c SOURCE=..\common\attributes\racename.c
# End Source File
# Begin Source File
!IF "$(CFG)" == "eressea - Win32 Release" SOURCE=..\common\attributes\racename.h
!ELSEIF "$(CFG)" == "eressea - Win32 Debug"
# PROP Intermediate_Dir "../common/attributes/Debug"
!ELSEIF "$(CFG)" == "eressea - Win32 Conversion"
!ELSEIF "$(CFG)" == "eressea - Win32 Profile"
!ENDIF
# End Source File # End Source File
# Begin Source File # Begin Source File

View File

@ -974,6 +974,7 @@ show_newspells(void)
* terminieren */ * terminieren */
spellid_t newspellids[] = { spellid_t newspellids[] = {
SPL_BLOODSACRIFICE,
SPL_NOSPELL }; SPL_NOSPELL };
/* die id's der neuen oder veränderten Sprüche werden in newspellids[] /* die id's der neuen oder veränderten Sprüche werden in newspellids[]
@ -2156,6 +2157,83 @@ setup_locales(void)
} }
#endif #endif
#include <triggers/shock.h>
#include <triggers/killunit.h>
static void
fix_unitrefs(void)
{
region * r=regions;
while (r) {
unit * u = r->units;
while (u) {
attrib * a;
a = a_find(u->attribs, &at_familiar);
if (a) {
/* magier, hat einen familiar */
unit * ufamiliar = get_familiar(u);
if (ufamiliar) {
attrib * ae;
/* killunit attribut am magier */
ae = a_find(u->attribs, &at_eventhandler);
if (ae) {
trigger * tkillunit = NULL;
trigger ** tlist = get_triggers(u->attribs, "destroy");
if (tlist!=NULL) {
tkillunit = *tlist;
while (tkillunit) {
if (strcmp(tkillunit->type->name, "killunit")==0) break;
tkillunit = tkillunit->next;
}
if (tkillunit && !tkillunit->data.v) {
log_warning(("killunit-trigger für Magier %s und Vertrauten %s restauriert.\n",
itoa36(u->no), itoa36(ufamiliar->no)));
tkillunit->data.v = ufamiliar;
}
else ae = NULL;
}
}
if (ae==NULL) {
/* Wenn der Magier stirbt, dann auch der Vertraute */
add_trigger(&u->attribs, "destroy", trigger_killunit(ufamiliar));
}
/* killunit attribut am magier */
ae = a_find(ufamiliar->attribs, &at_eventhandler);
if (ae) {
trigger * tshockunit = NULL;
trigger ** tlist = get_triggers(ufamiliar->attribs, "destroy");
if (tlist!=NULL) {
tshockunit = *tlist;
while (tshockunit) {
if (strcmp(tshockunit->type->name, "shock")==0) break;
tshockunit = tshockunit->next;
}
if (tshockunit && !tshockunit->data.v) {
log_warning(("shockunit-trigger für Magier %s und Vertrauten %s restauriert.\n",
itoa36(u->no), itoa36(ufamiliar->no)));
tshockunit->data.v = u;
}
else ae = NULL;
}
}
if (ae==NULL) {
/* Wenn der Vertraute stirbt, schockt er den Magier */
add_trigger(&ufamiliar->attribs, "destroy", trigger_shock(u));
}
} else {
log_error(("Magier %s hat ein at_familiar, aber keinen Vertrauten.\n",
itoa36(u->no)));
}
}
u = u->next;
}
r=r->next;
}
}
void void
korrektur(void) korrektur(void)
{ {
@ -2180,6 +2258,7 @@ korrektur(void)
do_once(atoi36("fixsl"), fix_prices()); do_once(atoi36("fixsl"), fix_prices());
do_once(atoi36("gmtst"), test_gmquest()); /* test gm quests */ do_once(atoi36("gmtst"), test_gmquest()); /* test gm quests */
update_gmquests(); /* test gm quests */ update_gmquests(); /* test gm quests */
fix_unitrefs();
#ifndef SKILLFIX_SAVE #ifndef SKILLFIX_SAVE
fix_skills(); fix_skills();
#endif #endif

View File

@ -1295,7 +1295,7 @@ showunits(region * r)
if (pointer) { if (pointer) {
if ((s = strchr(pointer->s, '('))!=NULL) { if ((s = strchr(pointer->s, '('))!=NULL) {
s++; s++;
f = atoi(s); f = atoi36(s);
if (f) { if (f) {
b = findbuilding(f); b = findbuilding(f);
if (b) { if (b) {
@ -1432,7 +1432,7 @@ showunits(region * r)
if ((s = strchr(pointer->s, '('))!=NULL) { if ((s = strchr(pointer->s, '('))!=NULL) {
s++; s++;
f = atoi36(s); f = atoi36(s);
f2 = atoi(s); f2 = atoi36(s);
if (f || f2) if (f || f2)
switch (pointer->s[0]) { switch (pointer->s[0]) {
case '\025': case '\025':

View File

@ -38,6 +38,8 @@
#include <save.h> #include <save.h>
#include <unit.h> #include <unit.h>
#include <spells.h> #include <spells.h>
#include <plane.h>
#include <teleport.h>
#include <ctype.h> #include <ctype.h>
#include <limits.h> #include <limits.h>
@ -917,6 +919,25 @@ movearound(int rx, int ry) {
while (showunits(r)); while (showunits(r));
ch = -9; ch = -9;
break; break;
case 'U':
{
unit *u, *un;
region *target_r;
static int tx = 0, ty = 0;
tx=map_input(0,0,0,"Versetzen nach X-Koordinate", MINX, MAXX, tx);
ty=map_input(0,0,0,"Versetzen nach Y-Koordinate", MINY, MAXY, ty);
target_r = findregion(tx,ty);
if(target_r) {
for(u = r->units; u;) {
un = u->next;
leave(r, u);
move_unit(u, target_r, NULL);
u = un;
}
}
}
break;
case 'E': case 'E':
clipunit = 0; clipunit = 0;
clipregion = 0; clipregion = 0;
@ -956,6 +977,31 @@ movearound(int rx, int ry) {
ch=-8; ch=-8;
} }
break; break;
case 'A':
{
plane *astral = getplanebyid(1);
if(!astral) break;
if(r->planep != astral) {
region *nr = r_standard_to_astral(r);
if(nr) {
r = nr;
rx = nr->x;
ry = nr->y;
recalc_everything(&x, &y, &rx, &ry);
ch = -8;
}
} else {
region *nr = r_astral_to_standard(r);
if(nr) {
r = nr;
rx = nr->x;
ry = nr->y;
recalc_everything(&x, &y, &rx, &ry);
ch = -8;
}
}
}
break;
case '1': /* left down */ case '1': /* left down */
y++; ry--; y++; ry--;
if (y&1) x--; if (y&1) x--;

View File

@ -25,6 +25,7 @@ hell;de;Ebene aus Feuer und Dunkelheit
activevolcano;de;Aktiver Vulkan activevolcano;de;Aktiver Vulkan
hall1;de;Halle hall1;de;Halle
corridor1;de;Gang corridor1;de;Gang
magicstorm;de;Magischer Sturm
maelstrom_trail;de;ein %s maelstrom_trail;de;ein %s
ocean_trail;de;%s ocean_trail;de;%s
@ -45,6 +46,7 @@ hell_trail;de;eine %s
activevolcano_trail;de;ein %s activevolcano_trail;de;ein %s
hall1_trail;de;die %s hall1_trail;de;die %s
corridor1_trail;de;die %s corridor1_trail;de;die %s
magicstorm_trail;de;ein %s
caldera;de;Krater caldera;de;Krater
xmas_exit;de;Pforte xmas_exit;de;Pforte

View File

@ -1,526 +0,0 @@
# Kommentare sind erlaubt. Endlich.
# $Id: messages.de,v 1.8 2001/04/01 06:58:45 enno Exp $
# Fehlermeldungen:
msg_errors;errors:0;de;{string}
mistake;errors:0;de;{unit} in {region}: '{command}' - {error}.
error1;errors:0;de;{unit} in {region}: '{command}' - Auf dem Schiff befinden sich zuwenig erfahrene Seeleute.
error2;errors:2;de;{unit} in {region}: '{command}' - Auf hoher See kann man nicht bewachen.
error3;errors:3;de;{unit} in {region}: '{command}' - Beschreibung zu lang - gekürzt.
error4;errors:0;de;{unit} in {region}: '{command}' - Das Gebäude ist bereits fertig.
error5;errors:0;de;{unit} in {region}: '{command}' - Das Gebäude gehört uns nicht.
error6;errors:0;de;{unit} in {region}: '{command}' - Das Gebäude wurde nicht gefunden.
error7;errors:0;de;{unit} in {region}: '{command}' - Das geht nicht mehr.
error8;errors:1;de;{unit} in {region}: '{command}' - Das ist sinnlos.
error9;errors:0;de;{unit} in {region}: '{command}' - Das kann man nicht sabotieren.
error10;errors:1;de;{unit} in {region}: '{command}' - Das macht wenig Sinn.
error11;errors:0;de;{unit} in {region}: '{command}' - Das Schiff befindet sich auf hoher See.
error12;errors:0;de;{unit} in {region}: '{command}' - Das Schiff gehört uns nicht.
error13;errors:0;de;{unit} in {region}: '{command}' - Das Schiff hat sich bereits bewegt.
error14;errors:0;de;{unit} in {region}: '{command}' - Das Schiff ist auf hoher See.
error15;errors:0;de;{unit} in {region}: '{command}' - Das Schiff ist noch nicht fertig gebaut.
error16;errors:0;de;{unit} in {region}: '{command}' - Das Schiff ist schon fertig.
error17;errors:0;de;{unit} in {region}: '{command}' - Das Schiff ist zu schwer beladen, um fliegen zu können.
error18;errors:0;de;{unit} in {region}: '{command}' - Das Schiff ist zu schwer beladen, um in See zu stechen.
error19;errors:0;de;{unit} in {region}: '{command}' - Das Schiff muß erst verlassen werden.
error20;errors:0;de;{unit} in {region}: '{command}' - Das Schiff wurde nicht gefunden.
error21;errors:0;de;{unit} in {region}: '{command}' - Dazu gibt es keine Informationen.
error22;errors:0;de;{unit} in {region}: '{command}' - Der Befehl wurde nicht erkannt.
error23;errors:0;de;{unit} in {region}: '{command}' - Der Belagerungszustand macht die Kontaktaufnahme unmöglich.
error24;errors:0;de;{unit} in {region}: '{command}' - Der Belagerungszustand macht Spionage unmöglich.
error25;errors:0;de;{unit} in {region}: '{command}' - Der Fluch verhindert das.
error26;errors:0;de;{unit} in {region}: '{command}' - Die Anzahl zu kaufender Produkte fehlt.
error27;errors:0;de;{unit} in {region}: '{command}' - Die Anzahl zu verkaufender Produkte fehlt.
error28;errors:0;de;{unit} in {region}: '{command}' - Die Bauern sind schlecht gelaunt.
error29;errors:0;de;{unit} in {region}: '{command}' - Die Beschreibung von Monumenten kann man nicht verändern.
error30;errors:0;de;{unit} in {region}: '{command}' - Die Botschaft enthält keinen Text.
error31;errors:0;de;{unit} in {region}: '{command}' - Die Burg wurde nicht gefunden.
error32;errors:0;de;{unit} in {region}: '{command}' - Die Einheit befindet sich nicht an Bord unseres Schiffes.
error33;errors:0;de;{unit} in {region}: '{command}' - Die Einheit befindet sich nicht in unserer Burg.
error34;errors:0;de;{unit} in {region}: '{command}' - Die Einheit darf nicht an Bord kommen.
error35;errors:0;de;{unit} in {region}: '{command}' - Die Einheit hat diese Kräuter nicht.
error36;errors:0;de;{unit} in {region}: '{command}' - Die Einheit hat diesen Gegenstand nicht.
error37;errors:0;de;{unit} in {region}: '{command}' - Die Einheit hat diesen Trank nicht.
error38;errors:0;de;{unit} in {region}: '{command}' - Die Einheit hat keine Kräuter.
error39;errors:0;de;{unit} in {region}: '{command}' - Die Einheit hat keine Spionage gelernt.
error40;errors:0;de;{unit} in {region}: '{command}' - Die Einheit hat keinen Kontakt mit uns aufgenommen.
error41;errors:0;de;{unit} in {region}: '{command}' - Die Einheit hat nicht genug Silber.
error42;errors:0;de;{unit} in {region}: '{command}' - Die Einheit hat nicht genug Wagenlenker oder zuviel andere Fracht, um die Wagen aufzuladen.
error43;errors:0;de;{unit} in {region}: '{command}' - Die Einheit hat soetwas nicht.
error44;errors:0;de;{unit} in {region}: '{command}' - Die Einheit ist auf hoher See.
error45;errors:0;de;{unit} in {region}: '{command}' - Die Einheit ist eine der unsrigen.
error46;errors:0;de;{unit} in {region}: '{command}' - Die Einheit ist in keiner Taverne.
error47;errors:0;de;{unit} in {region}: '{command}' - Die Einheit ist mit uns alliiert.
error48;errors:0;de;{unit} in {region}: '{command}' - Die Einheit ist nicht bewaffnet und kampffähig.
error49;errors:0;de;{unit} in {region}: '{command}' - Die Einheit ist nicht der Eigentümer.
error50;errors:0;de;{unit} in {region}: '{command}' - Die Einheit ist nicht erfahren genug dafür.
error51;errors:0;de;{unit} in {region}: '{command}' - Die Einheit hat nicht genug Silber.
error52;errors:0;de;{unit} in {region}: '{command}' - Die Einheit ist vom Kampf erschöpft.
error53;errors:0;de;{unit} in {region}: '{command}' - Die Einheit kann keine Tränke herstellen.
error54;errors:0;de;{unit} in {region}: '{command}' - Die Einheit kann nicht handeln.
error55;errors:0;de;{unit} in {region}: '{command}' - Die Einheit kann sich nicht fortbewegen.
error56;errors:0;de;{unit} in {region}: '{command}' - Die Einheit kann soviele Pferde nicht bändigen.
error57;errors:0;de;{unit} in {region}: '{command}' - Die Einheit trägt zuviel Gewicht, um sich bewegen zu können.
error58;errors:0;de;{unit} in {region}: '{command}' - Die Einheit weiß nicht, wie man gaukelt.
error59;errors:0;de;{unit} in {region}: '{command}' - Die Einheit weiß nichts über Botanik.
# Liefere
error63;errors:4;de;{unit} in {region}: '{command}' - Die Einheit wurde nicht gefunden.
#
error64;errors:0;de;{unit} in {region}: '{command}' - Die Einheit wurde nicht gefunden.
error65;errors:0;de;{unit} in {region}: '{command}' - Die Lernkosten können nicht bezahlt werden.
error66;errors:0;de;{unit} in {region}: '{command}' - Die Partei wurde nicht gefunden.
error67;errors:0;de;{unit} in {region}: '{command}' - Die Pferde würden ertrinken.
error70;errors:0;de;{unit} in {region}: '{command}' - Die Region wird von Nichtalliierten bewacht.
error71;errors:0;de;{unit} in {region}: '{command}' - Die Richtung wurde nicht erkannt.
error72;errors:0;de;{unit} in {region}: '{command}' - Die Ziel-Einheit hat keinen Kontakt mit uns aufgenommen.
error73;errors:0;de;{unit} in {region}: '{command}' - Die Zieleinheit hat uns nicht kontaktiert.
error74;errors:0;de;{unit} in {region}: '{command}' - Eine hungernde Einheit kann niemanden weggeben.
error75;errors:0;de;{unit} in {region}: '{command}' - Die Einheit nimmt niemanden an.
error76;errors:0;de;{unit} in {region}: '{command}' - Diesen Gegenstand kann man nicht benutzen.
error77;errors:0;de;{unit} in {region}: '{command}' - Dieses Talent wurde nicht erkannt.
error78;errors:0;de;{unit} in {region}: '{command}' - Ein Fluch verhindert die Übergabe.
error79;errors:0;de;{unit} in {region}: '{command}' - Ein Schiff oder eine Burg muß angegeben werden.
error80;errors:0;de;{unit} in {region}: '{command}' - Einheit ist nicht bewaffnet und kampffähig.
error81;errors:0;de;{unit} in {region}: '{command}' - Einheit muß zuerst die Region bewachen.
error82;errors:0;de;{unit} in {region}: '{command}' - Es gibt keine Abstimmung mit dieser Nummer.
error83;errors:0;de;{unit} in {region}: '{command}' - Es konnte kein Bauer gefangen werden.
error84;errors:0;de;{unit} in {region}: '{command}' - Es wurde kein Name angegeben.
error85;errors:0;de;{unit} in {region}: '{command}' - Es wurde keine EMail-Adresse angegeben.
error86;errors:0;de;{unit} in {region}: '{command}' - Falsches Passwort.
error87;errors:0;de;{unit} in {region}: '{command}' - Für das Elixier benötigt man Drachenblut.
error88;errors:0;de;{unit} in {region}: '{command}' - Für den Schiffbau braucht man Holz.
error89;errors:0;de;{unit} in {region}: '{command}' - Geldgebot fehlt.
error90;errors:0;de;{unit} in {region}: '{command}' - Die Einheit hat keinen FAHRE-Befehl.
error91;errors:0;de;{unit} in {region}: '{command}' - Hier gibt es keine Mallornbäume.
error92;errors:0;de;{unit} in {region}: '{command}' - Hier gibt es keinen normalen Wald.
error93;errors:0;de;{unit} in {region}: '{command}' - Hier gibt es schon einen Hafen.
error94;errors:0;de;{unit} in {region}: '{command}' - Hier kann man keine Straße bauen.
error95;errors:0;de;{unit} in {region}: '{command}' - Illusionen können eine Region nicht bewachen.
error96;errors:0;de;{unit} in {region}: '{command}' - In dieser Einheit gibt es niemanden, den man transferieren könnte.
error97;errors:0;de;{unit} in {region}: '{command}' - In Gletschern können keine Insekten rekrutiert werden.
error98;errors:0;de;{unit} in {region}: '{command}' - Insekten können im Winter nur in Wüsten rekrutiert werden.
error99;errors:0;de;{unit} in {region}: '{command}' - Kann die zu transportierende Einheit nicht finden.
error100;errors:0;de;{unit} in {region}: '{command}' - Keiner hier ist gelernter Schiffbauer.
error101;errors:0;de;{unit} in {region}: '{command}' - Keiner hier kann ein Gebäude errichten.
error102;errors:0;de;{unit} in {region}: '{command}' - Keiner hier kann handeln.
error103;errors:0;de;{unit} in {region}: '{command}' - Keiner hier kann Straßen bauen.
error104;errors:0;de;{unit} in {region}: '{command}' - Laen kann nur einem Bergwerk abgebaut werden.
error105;errors:0;de;{unit} in {region}: '{command}' - Leere Einheiten können nicht übergeben werden.
error106;errors:0;de;{unit} in {region}: '{command}' - Magier müssen zum studieren allein sein.
error107;errors:0;de;{unit} in {region}: '{command}' - Man braucht mindestens zwei Pferde, um sie zu züchten.
error108;errors:0;de;{unit} in {region}: '{command}' - Es sind keine Kräuter zu finden.
error109;errors:0;de;{unit} in {region}: '{command}' - Man muß angeben, ob eine Burg, ein Schiff, eine Einheit, eine Region oder eine Partei benannt werden soll.
error110;errors:0;de;{unit} in {region}: '{command}' - Man muß angeben, ob eine Burg, ein Schiff, eine Region oder eine Einheit beschrieben werden soll.
error111;errors:0;de;{unit} in {region}: '{command}' - Nachricht zu lang - gekürzt.
error112;errors:0;de;{unit} in {region}: '{command}' - Namen dürfen keine Klammern enthalten.
error113;errors:0;de;{unit} in {region}: '{command}' - Nichts angegeben, was wir übergeben sollen.
error114;errors:0;de;{unit} in {region}: '{command}' - Nummer ist nicht im gültigen Bereich.
error115;errors:0;de;{unit} in {region}: '{command}' - Nummer ist schon belegt.
error116;errors:0;de;{unit} in {region}: '{command}' - Nummer kann nicht vergeben werden.
error117;errors:0;de;{unit} in {region}: '{command}' - Nur die EMail-Adresse angeben!
error118;errors:0;de;{unit} in {region}: '{command}' - Nur Elfen können diese Bögen herstellen.
error119;errors:0;de;{unit} in {region}: '{command}' - Ohne eine Burg gibt es keinen Markt.
error120;errors:0;de;{unit} in {region}: '{command}' - Personen können nur an Menschen übergeben werden.
error121;errors:0;de;{unit} in {region}: '{command}' - Personen können nur an Menschen übergeben werden.
error122;errors:0;de;{unit} in {region}: '{command}' - Pferde kann man nur in einer Pferdezucht züchten.
error123;errors:0;de;{unit} in {region}: '{command}' - So etwas hat die Einheit nicht.
error124;errors:0;de;{unit} in {region}: '{command}' - So etwas kann man nicht auf dem Markt kaufen.
error125;errors:0;de;{unit} in {region}: '{command}' - So etwas kann man nicht machen.
error126;errors:0;de;{unit} in {region}: '{command}' - So etwas kann man nicht verkaufen.
error127;errors:0;de;{unit} in {region}: '{command}' - So viele Fremde kann Deine Partei nicht aufnehmen.
error128;errors:0;de;{unit} in {region}: '{command}' - So viele Fremde kann die Partei nicht aufnehmen.
error129;errors:0;de;{unit} in {region}: '{command}' - So viele Leute kann die Partei nicht aufnehmen.
error130;errors:0;de;{unit} in {region}: '{command}' - Syntax: MAGIEGEBIET <1-5>.
error131;errors:0;de;{unit} in {region}: '{command}' - Um in Gletschern Straßen bauen zu können, muß zuerst ein Tunnel errichtet werden.
error132;errors:0;de;{unit} in {region}: '{command}' - Um in Sümpfen Straßen bauen zu können, muß zuerst ein Damm errichtet werden.
error133;errors:0;de;{unit} in {region}: '{command}' - Um in Wüsten Straßen bauen zu können, muß zuerst eine Karawanserei errichtet werden.
error134;errors:0;de;{unit} in {region}: '{command}' - Unbekannte Meldungs-Option.
error137;errors:0;de;{unit} in {region}: '{command}' - Unbekannter Hilfe-Modus.
error138;errors:0;de;{unit} in {region}: '{command}' - Uns gehört nichts, was man abreißen oder versenken könnte.
error139;errors:0;de;{unit} in {region}: '{command}' - Unterschiedliche Typen können nicht gemischt werden.
error140;errors:0;de;{unit} in {region}: '{command}' - Die Einheit befindet sich weder in einer Burg noch in einem Schiff.
error141;errors:0;de;{unit} in {region}: '{command}' - Die Einheit hat nicht mehr genug Kristalle für so viele Personen.
error142;errors:0;de;{unit} in {region}: '{command}' - Die Einheit hat zuwenig Silber, um zu rekrutieren.
error143;errors:0;de;{unit} in {region}: '{command}' - Die Einheit ist auf einem Schiff.
error144;errors:0;de;{unit} in {region}: '{command}' - Die Einheit ist auf keinem Schiff.
error145;errors:0;de;{unit} in {region}: '{command}' - Die Einheit ist in keiner Burg.
error146;errors:0;de;{unit} in {region}: '{command}' - Die Einheit ist nicht der Kapitän des Schiffes.
error147;errors:0;de;{unit} in {region}: '{command}' - Die Einheit ist nicht Burgherr der größten Burg in der Region.
error148;errors:0;de;{unit} in {region}: '{command}' - Die Einheit ist nicht der Burgherr.
error149;errors:0;de;{unit} in {region}: '{command}' - Wohin soll die Botschaft gehen?
error150;errors:0;de;{unit} in {region}: '{command}' - Zum Pflanzen braucht man mindestens Kräuterkunde 6.
error151;errors:0;de;{unit} in {region}: '{command}' - Zum Straßenbau braucht man Steine.
error60;errors:0;de;{unit} in {region}: '{command}' - Die Einheit wird belagert.
error135;errors:0;de;{unit} in {region}: '{command}' - Unbekannte Option.
error69;errors:0;de;{unit} in {region}: '{command}' - Die Region wird bewacht.
error152;errors:0;de;{unit} in {region}: '{command}' - Die Einheit springt über Bord und ertrinkt.
error153;errors:0;de;{unit} in {region}: '{command}' - Die Einheit schließt sich den Bauern an.
error154;errors:0;de;{unit} in {region}: '{command}' - Hochqualifizierte Personen weigern sich, für andere Parteien zu arbeiten.
error155;errors:0;de;{unit} in {region}: '{command}' - Zuviele Magier in der Partei.
error156;errors:0;de;{unit} in {region}: '{command}' - Zuviele Alchemisten in der Partei.
error157;errors:0;de;{unit} in {region}: '{command}' - Die Partei hat ein anderes Magiegebiet.
error158;errors:0;de;{unit} in {region}: '{command}' - Magier arbeiten grundsätzlich nur alleine!
error159;errors:0;de;{unit} in {region}: '{command}' - Es konnten keine Personen übergeben werden.
error160;errors:0;de;{unit} in {region}: '{command}' - Es konnten keine Luxusgüter gekauft werden.
error161;errors:0;de;{unit} in {region}: '{command}' - Die Einheit besitzt den Trank nicht.
error162;errors:0;de;{unit} in {region}: '{command}' - Der Heiltrank wird automatisch bei Bedarf benutzt.
error163;errors:0;de;{unit} in {region}: '{command}' - Die Nestwärme kann nur von Insektenvölkern benutzt werden.
error164;errors:2;de;{unit} in {region}: '{command}' - Die Einheit benutzte einen Nestwärmetrank.
error165;errors:0;de;{unit} in {region}: '{command}' - Der Trank bekommt der Einheit nicht.
error166;errors:0;de;{unit} in {region}: '{command}' - Diese Rasse kann eine Burg nicht belagern.
error167;errors:0;de;{unit} in {region}: '{command}' - Die Einheit geht nicht zu den Bauern.
error168;errors:0;de;{unit} in {region}: '{command}' - Es konnten keine Luxusgüter verkauft werden.
error169;errors:0;de;{unit} in {region}: '{command}' - Diesen Zauber kennt die Einheit nicht.
error170;errors:0;de;{unit} in {region}: '{command}' - Die Bauern nehmen dieses großzügige Geschenk nicht an.
error171;errors:0;de;{unit} in {region}: '{command}' - Diesen Kampfzauber gibt es nicht.
error172;errors:0;de;{unit} in {region}: '{command}' - Es wurde kein Zauber angegeben.
error173;errors:0;de;{unit} in {region}: '{command}' - Selbst in der Bibliothek von Xontormia konnte dieser Spruch nicht gefunden werden.
error174;errors:0;de;{unit} in {region}: '{command}' - Dieser Zauber ist nur im Kampf sinnvoll.
error175;errors:0;de;{unit} in {region}: '{command}' - Diesen Spruch kann man nicht auf einem sich bewegenden Schiff stehend zaubern.
error176;errors:0;de;{unit} in {region}: '{command}' - Diesen Spruch kann man nicht in die Ferne richten.
error177;errors:0;de;{unit} in {region}: '{command}' - Diesen Spruch kann der Vertraute nicht zaubern.
error178;errors:0;de;{unit} in {region}: '{command}' - Es wurde kein Magiegebiet angegeben.
error179;errors:0;de;{unit} in {region}: '{command}' - Dieses Magiegebiet kann die Einheit nicht lernen.
error180;errors:0;de;{unit} in {region}: '{command}' - Der Zauber schlägt fehl.
error181;errors:0;de;{unit} in {region}: '{command}' - Dazu muß sich der Magier in der Burg oder an Bord des Schiffes befinden.
error182;errors:0;de;{unit} in {region}: '{command}' - Das Schiff kann in diese Richtung nicht ablegen.
error183;errors:0;de;{unit} in {region}: '{command}' - Der Magier befindet sich nicht auf einem Schiff.
error184;errors:0;de;{unit} in {region}: '{command}' - Die Einheit bewegt sich nicht.
error185;errors:0;de;{unit} in {region}: '{command}' - Der Zauber scheint ungewöhnlich schwach zu sein. Irgendetwas hat die magischen Energien abgeleitet.
error186;errors:0;de;{unit} in {region}: '{command}' - Dieser Zauber kann nur auf Land gelegt werden.
error187;errors:0;de;{unit} in {region}: '{command}' - Hier gibt es bereits gute Straßen.
error188;errors:0;de;{unit} in {region}: '{command}' - Dieser Zauber kann nicht im Sumpf gezaubert werden.
error189;errors:0;de;{unit} in {region}: '{command}' - Selbst der mächtigste Magier der Welt könnte keinen Ozean austrocknen lassen.
error190;errors:0;de;{unit} in {region}: '{command}' - Der Zauber funktioniert nur in der materiellen Welt.
error191;errors:0;de;{unit} in {region}: '{command}' - Der Zauber funktioniert nur in Wäldern.
error192;errors:0;de;{unit} in {region}: '{command}' - Die Wege zur Geisterwelt scheinen blockiert zu sein.
error193;errors:0;de;{unit} in {region}: '{command}' - Der Zauber funktioniert nur in der Geisterwelt.
error194;errors:0;de;{unit} in {region}: '{command}' - Die Zielregion wurde nicht korrekt angegeben.
error195;errors:0;de;{unit} in {region}: '{command}' - Dorthin führt kein Weg.
error196;errors:0;de;{unit} in {region}: '{command}' - Das ist keine Waldregion.
error197;errors:0;de;{unit} in {region}: '{command}' - Um einen Heimstein zu erschaffen, muß der Zauberer in einer Burg sein.
error198;errors:0;de;{unit} in {region}: '{command}' - Die Flammen finden keine Nahrung. Das Feuer erlischt, ohne Schaden anzurichten.
error199;errors:0;de;{unit} in {region}: '{command}' - Der Magier hat bereits einen Vertrauten.
error200;errors:0;de;{unit} in {region}: '{command}' - Die maximale Aura reicht nicht für diesen Zauber.
error201;errors:0;de;{unit} in {region}: '{command}' - Rasse und Zieleinheit wurden vergessen.
error202;errors:0;de;{unit} in {region}: '{command}' - Das ist keine gültige Rasse.
error203;errors:0;de;{unit} in {region}: '{command}' - Das Ziel wurde vergessen.
error204;errors:0;de;{unit} in {region}: '{command}' - In einer Region ohne Bäume kann man diesen Zauber nicht wirken.
error205;errors:0;de;{unit} in {region}: '{command}' - Dieser Zauber gelingt nur in einer Ozeanregion.
error207;errors:0;de;{unit} in {region}: '{command}' - Zu dieser Einheit kann keine Aura übertragen werden.
error208;errors:0;de;{unit} in {region}: '{command}' - Auraangabe fehlerhaft.
error209;errors:0;de;{unit} in {region}: '{command}' - Syntax Error.
error210;errors:0;de;{unit} in {region}: '{command}' - Es ist zu gefährlich, ein sturmgepeitschtes Schiff fliegen zu lassen.
error211;errors:0;de;{unit} in {region}: '{command}' - Auf dem Schiff befindet liegt bereits so ein Zauber.
error212;errors:0;de;{unit} in {region}: '{command}' - Der Magier befindet sich nicht auf einem Schiff.
error213;errors:0;de;{unit} in {region}: '{command}' - Parameter nicht korrekt angegeben.
error214;errors:0;de;{unit} in {region}: '{command}' - Einheit ist kein Magier.
error215;errors:0;de;{unit} in {region}: '{command}' - Von hier aus kann man die astrale Ebene nicht erreichen.
error216;errors:0;de;{unit} in {region}: '{command}' - Hier gibt es keine Verbindung zur astralen Welt.
error217;errors:0;de;{unit} in {region}: '{command}' - Dieser Zauber kann nur im Astralraum gezaubert werden.
error218;errors:0;de;{unit} in {region}: '{command}' - Die materielle Welt ist hier nicht sichtbar.
error220;errors:0;de;{unit} in {region}: '{command}' - Im astralen Nebel konnte niemand entdeckt werden.
error221;errors:0;de;{unit} in {region}: '{command}' - So etwas kann man nicht bauen.
error222;errors:0;de;{unit} in {region}: '{command}' - Zeige alle was?
error223;errors:0;de;{unit} in {region}: '{command}' - Hungernde Einheiten können nicht bewachen.
error224;errors:0;de;{unit} in {region}: '{command}' - Hungernde Einheiten können nicht zaubern.
error225;errors:0;de;{unit} in {region}: '{command}' - Hungernde Soldaten kämpfen nicht.
error226;errors:0;de;{unit} in {region}: '{command}' - Einheiten in den hinteren Reihen können nicht angreifen.
error227;errors:0;de;{unit} in {region}: '{command}' - Dafür braucht ein Einheit mindestens Kräuterkunde 7.
error228;errors:0;de;{unit} in {region}: '{command}' - Nur normale Personen können Steuern eintreiben.
error229;errors:0;de;{unit} in {region}: '{command}' - Ein Vertrauter wird beschworen, verschwindet jedoch wieder, als er keine Verbindung zu seinem Element herstellen kann.
error230;errors:0;de;{unit} in {region}: '{command}' - Dorthin kann die Einheit uns nicht transportieren.
error231;errors:0;de;{unit} in {region}: '{command}' - Die Einheit oder ihre Tiere würden dort nicht überleben.
error232;errors:0;de;{unit} in {region}: '{command}' - Schwimmer können keine Gebäude betreten.
error233;errors:0;de;{unit} in {region}: '{command}' - Schwimmer können keine Schiffe betreten.
error234;errors:0;de;{unit} in {region}: '{command}' - Die Einheit ist mit Ausschiffen beschäftigt..
error235;errors:0;de;{unit} in {region}: '{command}' - Für das Gebäude wurde noch kein Unterhalt bezahlt.
error236;errors:0;de;{unit} in {region}: '{command}' - Das Gebäude ist noch nicht fertig gebaut.
error237;errors:0;de;{unit} in {region}: '{command}' - Die Region befindet sich in Aufruhr.
error238;errors:0;de;{unit} in {region}: '{command}' - Hier können nur Orks rekrutiert werden.
error239;errors:0;de;{unit} in {region}: '{command}' - Soll eine Einheit oder ein Schiff eine neue Nummer bekommen?
error240;errors:0;de;{unit} in {region}: '{command}' - Soll eine Einheit oder ein Schiff verfolgt werden?
error241;errors:0;de;{unit} in {region}: '{command}' - Die Partei muß mindestens 100 Wochen alt sein.
error242;errors:0;de;{unit} in {region}: '{command}' - Die Einheit muß sich an Land befinden.
error243;errors:0;de;{unit} in {region}: '{command}' - Keine gültige Rasse angegeben.
error244;errors:0;de;{unit} in {region}: '{command}' - Die Einheit hat schon einen Namen.
error245;errors:0;de;{unit} in {region}: '{command}' - Das Schiff hat schon einen Namen.
error246;errors:0;de;{unit} in {region}: '{command}' - Das Gebäude hat schon einen Namen.
error247;errors:0;de;{unit} in {region}: '{command}' - Die Partei hat schon einen Namen.
error248;errors:0;de;{unit} in {region}: '{command}' - Die Partei muß mindestens 10 Runden alt sein.
error249;errors:0;de;{unit} in {region}: '{command}' - Das Schiff kann nicht aufs offene Meer hinaus segeln.
error250;errors:0;de;{unit} in {region}: '{command}' - Nicht genug Karma.
error251;errors:0;de;{unit} in {region}: '{command}' - Diese Kraft haben uns die Götter schon gewährt.
error252;errors:0;de;{unit} in {region}: '{command}' - Was und wieviel soll geopfert werden?
error253;errors:0;de;{unit} in {region}: '{command}' - Der Magier ist nicht stark genug, sich den Göttern zu opfern.
error254;errors:0;de;{unit} in {region}: '{command}' - Auraangabe fehlerhaft oder zuwenig Aura.
error255;errors:0;de;{unit} in {region}: '{command}' - Soetwas kann man nicht opfern.
error256;errors:0;de;{unit} in {region}: '{command}' - Um soetwas kann man nicht beten.
error257;errors:0;de;{unit} in {region}: '{command}' - Ungültiges Locale.
error258;errors:0;de;{unit} in {region}: '{command}' - Die Zieleinheit ist ungültig.
error259;errors:0;de;{unit} in {region}: '{command}' - Der Befehl ist nur auf Einheiten innerhalb des selben Gebäudes oder Schiffes anwendbar.
error260;errors:0;de;{unit} in {region}: '{command}' - Der Besitzer eines Schiffes oder Gebäudes kann nicht neu sortiert werden.
error261;errors:0;de;{unit} in {region}: '{command}' - Vor der Besitzer eines Schiffes oder Gebäudes kann nicht sortiert werden.
error262;errors:0;de;{unit} in {region}: '{command}' - Die Partei kann keine weiteren Wyrme besitzen.
error263;errors:0;de;{unit} in {region}: '{command}' - Dieses Gut wird hier produziert.
error264;errors:0;de;{unit} in {region}: '{command}' - Dieses Gut hat die Einheit nicht.
error265;errors:0;de;{unit} in {region}: '{command}' - Dieser Gegenstand funktioniert nur in der normalen Welt.
error266;errors:0;de;{unit} in {region}: '{command}' - Dieser Gegenstand funktioniert nur in der Eingangshalle.
error267;errors:0;de;{unit} in {region}: '{command}' - Nur eine Einzelperson kann das Ticket benutzen.
error268;errors:0;de;{unit} in {region}: '{command}' - Hier kann man nichts übergeben.
error269;errors:0;de;{unit} in {region}: '{command}' - Hier kann man nicht zaubern.
error270;errors:0;de;{unit} in {region}: '{command}' - Hier kann man niemanden bestehlen.
error271;errors:0;de;{unit} in {region}: '{command}' - Hier kann man niemanden angreifen.
error272;errors:0;de;{unit} in {region}: '{command}' - Pferde müssen leider draußen bleiben.
error273;errors:0;de;{unit} in {region}: '{command}' - Hier kann man nicht unterrichten.
error274;errors:0;de;{unit} in {region}: '{command}' - Die Einheit kann nicht unterrichten.
error275;errors:0;de;{unit} in {region}: '{command}' - Hier kann man keine Gebäude errichten.
error276;errors:0;de;{unit} in {region}: '{command}' - Hier kann man keine Schiffe bauen.
error277;errors:0;de;{unit} in {region}: '{command}' - Das kann die Einheit nicht.
error278;errors:0;de;{unit} in {region}: '{command}' - Der Name des Gebäudes kann nicht geändert werden.
error279;errors:0;de;{unit} in {region}: '{command}' - Die Beschreibung des Gebäudes kann nicht geändert werden.
error280;errors:0;de;{unit} in {region}: '{command}' - Nur noch nicht gestärkte Untote können das Ziel dieses Zaubers sein.
# Meldungen und Ereignisse
msg_event;events:0;de;{string}
drown_on_ship;events:0;de;{unit} ertrinkt beim Untergang der {ship} in {region}.
siege;events:0;de;{unit} belagert {building}. Dabei richten die Katapulte Zerstörungen von {destruction} Größenpunkten an.
recruit;events:0;de;{unit} in {region} rekrutiert {amount} {$of want}Personen.
givedumb;events:0;de;{unit} gibt {recipient} {amount} Dumpfbackenbrot: {discover}.
givecommand;events:0;de;{unit} gibt das Kommando an {receipient}.
forget;events:0;de;{unit} vergißt {skill}.
entermaelstrom;events:0;de;Die {ship} fährt in den Mahlstrom von {region} und nimmt {damage} Schaden{$sink sink}.
storm;events:0;de;Die {ship} wird in {region} von Stürmen abgetrieben{$sink sink}.
shipconf;events:0;de;Die {ship} verliert im Sturm die Orientierung.
shipnoconf;events:0;de;Die {ship} ist wieder auf Kurs.
shipsink;events:0;de;Die {ship} ist zu stark beschädigt und sinkt.
errusingpotion;events:0;de;{unit}: '{command}' - Die Einheit benutzt bereits {using}.
starvation;events:0;de;{unit} verliert in {region} {dead} Personen durch Unterernährung.
malnourish;events:0;de;{unit} wird durch unzureichende Nahrung geschwächt.
dumbeffect;events:0;de;{unit} vergißt durch Dumpfbackenbrot {days} Tage des Talentes {skill}.
donation;events:0;de;{from} spendete {amount} Silber an {to}.
pest;events:0;de;Hier wütete die Pest, und {dead} Bauern starben.
usepotion;events:4;de;{unit} benutzt {potion}.
spydetect;events:0;de;{target} fühlt sich durch {$unit spy} beobachtet.
spyfail;events:0;de;{spy} gelang es nicht, etwas über {target} herauszufinden.
stealfail;events:0;de;{unit} gelang es nicht, sich nahe genug an {target} heranzuschleichen.
stealdetect;events:0;de;{unit} fühlt sich beobachtet.
stealfatal;events:0;de;{unit} wurde beim versuchten Diebstahl ertappt.
thiefdiscover;events:0;de;{target} ertappte {unit} beim versuchten Diebstahl.
stealeffect;events:0;de;{unit} wurde in {region} beklaut.
newbieimmunity;events:1;de;Deine Partei ist noch {turns} Wochen immun gegen Angriffe.
changebanner;events:3;de;Das Banner wurde auf '{value}' geändert.
changemail;events:1;de;Die Adresse wurde auf '{value}' geändert.
changepasswd;events:1;de;Das Passwort wurde auf '{value}' geändert.
deletepasswd;events:0;de;Das Passwort wurde gelöscht.
eatpeasants;events:0;de;{unit} verspeiste {amount} Bauern.
absorbpeasants;events:0;de;{unit} tötete {amount} Bauern.
fleescared;events:0;de;{amount} Bauern flohen aus Furcht vor {unit}.
warnillusiondissolve;events:1;de;{unit} wird sich bald verflüchtigen.
illusiondissolve;events:0;de;{unit} hat sich unbemerkt verflüchtigt.
illusionantimagic;events:0;de;{unit} marschiert in eine Antimagiezone und löst sich auf.
shipdestroy;events:0;de;{unit} in {region} versenkt die {ship}.
orcified;events:0;de;Vor den vielen Orks in {region} fliehen die anderen Einwohner.
deorcified;events:0;de;Langsam kehren andere Völker nach {region} zurück.
piratenovictim;events:0;de;Die {ship} in {region} kann keine Schiffe aufbringen.
piratesawvictim;events:0;de;Die {ship} in {region} entdeckt ein Opfer im {dir}.
itemcloak;events:0;de;{mage} legt einen Schleier um die Ausrüstung von {target}.
scunicorn;events:0;de;{unit} schließen sich {amount} {type} an.
buildroad;events:1;de;{unit} erweitert in {region} das Straßennetz um {size}.
destroy;events:1;de;{unit} zerstört {building}.
researchherb;events:0;de;{unit} in {region} stellt fest, daß es hier {amount} {herb} gibt.
researchherb_none;events:0;de;{unit} in {region} kann keine Kräuter finden.
destroy_road;events:0;de;{unit} reißt die Straße zwischen {from} und {to} ein.
desertion;events:0;de;{unit} in {region} desertiert.
volcanostartsmoke;events:0;de;Aus dem Vulkankrater von {region} steigt plötzlich Rauch.
volcanostopsmoke;events:0;de;Aus dem Vulkankrater von {region} steigt kein Rauch mehr.
volcano_dead;events:0;de;Beim Vulkanausbruch in {region} sterben {dead} Personen in {unit}.
volcanooutbreak;events:0;de;Der Vulkan in {regionv} bricht aus. Die Lavamassen verwüsten {regionn}.
volcanooutbreaknn;events:0;de;Der Vulkan in {region} bricht aus.
phunger;events:0;de;An Unterernährung sterben {dead} Bauern.
renamed_seen;events:0;de;{renamed} in {region} bekommt von {renamer} einen Spitznamen.
renamed_notseen;events:0;de;{renamed} in {region} bekommt einen Spitznamen.
renamed_ship_seen;events:0;de;Die {ship} in {region} bekommt von {renamer} einen Spitznamen.
renamed_ship_notseen;events:0;de;Die {ship} in {region} bekommt einen Spitznamen.
renamed_building_seen;events:0;de;{building} in {region} bekommt von {renamer} einen Spitznamen.
renamed_building_notseen;events:0;de;{building} in {region} bekommt einen Spitznamen.
renamed_faction_seen;events:0;de;Die Partei bekommt von {renamer} in {region} einen Spitznamen.
renamed_faction_notseen;events:0;de;Die Partei bekommt einen Spitznamen.
orcgrowth;events:3;de;{unit} vermehrt sich um {amount} {race}.
undeadrise;events:0;de;In {region} erhoben sich die Toten aus den Gräbern.
entrise;events:0;de;In {region} erschienen die Herren der Bäume.
# Bewegung
msg_movement;movement:0;de;{string}
fogblock;movement:0;de;{unit} konnte von {region} nicht nach {$dir direction} ausreisen, der Nebel war zu dicht.
moveblocked;movement:0;de;{unit} entdeckt, daß es keinen Weg nach {$dir direction} gibt.
followfail;movement:0;de;{follower} konnte {unit} nicht folgen.
followdetect;movement:0;de;{follower} ist {unit} gefolgt.
leavefail;movement:0;de;{unit} konnte aus {region} nicht ausreisen.
moveblockedbyguard;movement:0;de;{unit} wurde in {region} von {faction} aufgehalten.
sailfail;movement:0;de;Die {ship} konnte {region} nicht verlassen.
detectforbidden;movement:0;de;{unit} weigert sich, nach {region} zu reisen.
detectforbiddendir;movement:0;de;{unit} weigert sich, nach {$dir direction} zu reisen.
sailforbidden;movement:0;de;Die Mannschaft der {ship} weigert sich, nach {region} zu reisen.
sailforbiddendir;movement:0;de;Die Mannschaft der {ship} weigert sich, nach {$dir direction} zu reisen.
sailnolanding;movement:0;de;Die {ship} konnte in {region} nicht einreisen, die Küste ist zu gefährlich für das Schiff.
sailnolandingstorm;movement:0;de;Die Mannschaft der {ship} kann in letzter Sekunde verhindern, daß das Schiff auf Land aufläuft.
detectocean;movement:0;de;{unit} entdeckt, daß {region} Ozean ist.
detectoceandir;movement:0;de;{unit} entdeckt daß im {$dir direction} Ozean ist.
travel;movement:3;de;{unit} {$travel mode} von {start} nach {end}.{$travelthru regions}
transport;movement:1;de;{unit} transportiert {target} von {start} nach {end}.
firewall_damage;movement:0;de;{unit} erleidet beim Durchqueren der Feuerwand nach {region} schwere Verbrennungen.
firewall_death;movement:0;de;{unit} stirbt beim Versuch, die Feuerwand nach {region} zu durchqueren.
# Produktion/Rohstoffe:
msg_production;production:0;de;{string}
buildship;production:3;de;{unit} baut für {size} an {ship} weiter.
buildbuilding;production:3;de;{unit} baut für {size} an {building} weiter.
manufacture;production:3;de;{unit} in {region} produziert {amount} {$of wanted}{resource}.
# seit NEW_ITEMS nicht mehr:" aus {materials}."
produce;production:3;de;{unit} in {region} produziert {amount} {$of wanted}{resource}.
emptyeog;production:0;de;Die Laenader in {region} ist erschöpft.
unveileog;production:0;de;{unit} in {region} entdeckt eine Laenader.
plant;production:2;de;{unit} pflanzt in {region} {amount} {herb}.
raised;production:3;de;{unit} züchtet {amount} Pferde.
herbfound;production:2;de;{unit} in {region} findet {amount} {herb}.
# Wirtschaft und Handel
msg_economy;economy:0;de;{string}
give;economy:0;de;{unit} übergibt {amount} {resource} an {target}.
income;economy:0;de;{unit} verdient in {region} {amount} {$of wanted}mit {$earn mode}.
income_tax;economy:4;de;{unit} treibt in {region} {amount} Steuern ein.
income_tax_reduced;economy:2;de;{unit} treibt in {region} {amount} statt {wanted} Steuern ein.
income_steal;economy:3;de;{unit} klaut in {region} {amount} Silber.
income_steal_reduced;economy:1;de;{unit} klaut in {region} {amount} statt {wanted} Silber.
income_magic;economy:3;de;{unit} verdient in {region} {amount} Silber durch Zauberei.
income_magic_reduced;economy:1;de;{unit} verdient in {region} {amount} statt {wanted} Silber durch Zauberei.
income_entertainment;economy:4;de;{unit} verdient in {region} {amount} Silber durch Unterhaltung.
income_entertainment_reduced;economy:2;de;{unit} verdient in {region} {amount} statt {wanted} Silber durch Unterhaltung.
income_work;economy:4;de;{unit} arbeitet in {region} für einen Lohn von {amount} Silber.
income_work_reduced;economy:1;de;{unit} arbeitet in {region} für einen Lohn von {amount} statt {wanted} Silber.
income_trade;economy:4;de;{unit} verdient in {region} {amount} Silber durch den Verkauf von Luxusgütern.
income_tradetax;economy:4;de;{unit} verdient am Handel in {region} Steuern in Höhe von {amount} Silber.
maintenance;economy:4;de;{unit} bezahlt den Unterhalt von {building}.
maintenancefail;economy:0;de;{unit} kann den Unterhalt von {building} nicht bezahlen.
maintenancespecialfail;economy:0;de;{unit} fehlt {item} für den Betrieb von {building}.
buy;economy:4;de;{unit} bezahlt {money} Silber für den Kauf von Luxusgütern.
buyamount;economy:4;de;{unit} kauft {amount} {resource}.
sellamount;economy:4;de;{unit} verkauft {amount} {resource}.
# Lehren und Lernen
msg_study;study:0;de;{string}
teach;study:1;de;{teacher} lehrt {student} {skill}.
teachdumb;study:0;de;{teacher} kann durch Dumpfbackenbrot nur {amount} Schüler lehren.
studycost;study:4;de;{unit} in {region} verbraucht {cost} Silber für das Studium von {skill}.
# Magie und Effekte
msg_magic;magic:0;de;{string}
regenaura;magic:2;de;{unit} in {region} regeneriert {amount} Aura.
effectstrength;magic:0;de;{mage} erhöht die Körperkraft von {target} beträchtlich.
regionmagic_effect;magic:0;de;{unit} in {region}: '{command}' - {unit} gelingt es die Region zu verzaubern
objmagic_effect;magic:0;de;{unit} in {region}: '{command}' - {unit} verzaubert {target}
weakmagic;magic:0;de;{unit} in {region}: '{command}' - Der Zauber von {unit} war viel zu schwach und löst sich gleich wieder auf.
magic_fumble;magic:0;de;{unit} in {region}: '{command}' - Der Magier verfängt sich in seinem eigenen Zauber.
patzer2;magic:0;de;{unit} in {region} hat rasende Kopfschmerzen und kann sich nicht mehr richtig konzentrieren. Irgendwas bei diesem Zauber ist fürchterlich schiefgelaufen.
patzer3;magic:0;de;Als {unit} in {region} versucht, {command} zu zaubern, scheint plötzlich ein Beben durch die magische Essenz zu laufen und ein furchtbarer Sog versucht {unit} in eine andere Dimension zu ziehen. Mit letzter Kraft gelingt es {unit} sich zu retten.
shock;magic:0;de;{mage} erleidet einen Schock {reason}.
spellunitnotfound;magic:0;de;{unit} in {region}: '{command}' - Einheit {id} wurde nicht gefunden.
spellbuildingnotfound;magic:0;de;{unit} in {region}: '{command}' - Gebäude {id} wurde nicht gefunden.
spellshipnotfound;magic:0;de;{unit} in {region}: '{command}' - Schiff {id} wurde nicht gefunden.
spellunitresists;magic:0;de;{unit} in {region}: '{command}' - Einheit {id} widersteht dem Zauber.
spellbuildingresists;magic:0;de;{unit} in {region}: '{command}' - Gebäude {id} konnte nicht verzaubert werden.
spellshipresists;magic:0;de;{unit} in {region}: '{command}' - Schiff {id} konnte nicht verzaubert werden.
spellregionresists;magic:0;de;{unit} in {region}: '{command}' - Die Region konnte nicht verzaubert werden.
analyse_region_nospell;magic:0;de;{mage} meint, das auf {region} kein Zauber liegt.
analyse_unit_nospell;magic:0;de;{mage} meint, das auf {target} kein Zauber liegt.
analyse_building_nospell;magic:0;de;{mage} meint, das auf {building} kein Zauber liegt.
analyse_ship_nospell;magic:0;de;{mage} meint, das auf {ship} kein Zauber liegt.
analyse_region_fail;magic:0;de;{mage} meint, das auf {region} ein Zauber liegt, konnte aber über den Zauber nichts herausfinden.
analyse_unit_fail;magic:0;de;{mage} meint, das {unit} verzaubert ist, konnte aber über den Zauber nichts herausfinden.
analyse_building_fail;magic:0;de;{mage} meint, das auf {building} ein Zauber liegt, konnte aber über den Zauber nichts herausfinden.
analyse_ship_fail;magic:0;de;{mage} meint, das auf {ship} ein Zauber liegt, konnte aber über den Zauber nichts herausfinden.
analyse_region_noage;magic:0;de;{mage} fand heraus, das auf {region} der Zauber {spell} liegt, dessen Kraft ausreicht, um noch Jahrhunderte bestehen zu bleiben.
analyse_unit_noage;magic:0;de;{mage} fand heraus, das auf {unit} der Zauber {spell} liegt, dessen Kraft ausreicht, um noch Jahrhunderte bestehen zu bleiben.
analyse_building_noage;magic:0;de;{mage} fand heraus, das auf {building} der Zauber {spell} liegt, dessen Kraft ausreicht, um noch Jahrhunderte bestehen zu bleiben.
analyse_ship_noage;magic:0;de;{mage} fand heraus, das auf {ship} der Zauber {spell} liegt, dessen Kraft ausreicht, um noch Jahrhunderte bestehen zu bleiben.
analyse_region_age;magic:0;de;{mage} fand heraus, das auf {region} der Zauber {spell} liegt, der noch etwa {months} Wochen bestehen bleibt.
analyse_unit_age;magic:0;de;{mage} fand heraus, das auf {unit} der Zauber {spell} liegt, der noch etwa {months} Wochen bestehen bleibt.
analyse_building_age;magic:0;de;{mage} fand heraus, das auf {building} der Zauber {spell} liegt, der noch etwa {months} Wochen bestehen bleibt.
analyse_ship_age;magic:0;de;{mage} fand heraus, das auf {ship} der Zauber {spell} liegt, der noch etwa {months} Wochen bestehen bleibt.
teleport_success;magic:0;de;{unit} wurde von {source} nach {target} teleportiert.
stealaura_fail;magic:0;de;{unit} konnte {target} keine Aura entziehen.
stealaura_fail_detect;magic:0;de;{unit} fühlt sich einen Moment seltsam geschwächt.
stealaura_detect;magic:0;de;{unit} fühlt seine magischen Kräfte schwinden und verliert {aura} Aura.
stealaura_success;magic:0;de;{mage} entzieht {target} {aura} Aura.
auratransfer_success;magic:0;de;{unit} transferiert {aura} Aura auf {target}.
wind_effect;magic:0;de;{$mage mage} erfleht den Segen der Götter des Windes und des Wassers für {ship}.
path_effect;magic:0;de;{$mage mage} sorgt für trockene Straßen in {region}.
ent_effect;magic:0;de;{$mage mage} belebt {amount} Bäume.
maelstrom_effect;magic:0;de;{$mage mage} beschwört die Mächte des Wassers und ein gigantischer Strudel bildet sich.
harvest_effect;magic:0;de;{$mage mage} segnet in einem kurzen Ritual die Felder.
growtree_effect;magic:0;de;{$mage mage} erschuf einen heiligen Hain von {amount} Bäumen.
rust_effect;magic:0;de;{$mage mage} legt einen Rosthauch auf {target}. {amount} Waffen wurden vom Rost zerfressen.
rust_fail;magic:0;de;{$mage mage} legt einen Rosthauch auf {target}, doch der Rosthauch fand keine Nahrung.
heat_effect;magic:0;de;{$mage mage} belegt {target} mit einem Kälteschutz.
sparkle_effect;magic:0;de;{$mage mage} belegt {target} mit einem Zauber.
drought_effect;magic:0;de;{$mage mage} ruft das Feuer der Sonne auf {region} herab.
fumblecurse;magic:0;de;{unit} in {region} wird von einem Unbekannten verflucht.
deathcloud_effect;magic:0;de;{$mage mage} beschwört einen Giftelementar in {region}.
destroy_magic_effect;magic:0;de;{unit} in {region}: '{command}' - Der Magier zerstört {succ} Flüche auf {target}.
destroy_magic_noeffect;magic:0;de;{unit} in {region}: '{command}' - Der Magier konnte keinen Fluch zerstören.
magicboost_effect;magic:0;de;{unit} in {region}: '{command}' - Die Sphären des Chaos geben dem Magier einen Teil ihrer Kraft.
use_antimagiccrystal;magic:0;de;{unit} benutzt in {region} einen Antimagiekristall.
use_tacticcrystal;magic:0;de;{unit} benutzt in {region} ein Traumauge.
magiccreate_effect;magic:0;de;{unit} in {region}: '{command}' - {unit} erschafft {amount} {item}
summondragon;magic:0;de;{unit} in {region}: '{command}' - {unit} ruft Drachen nach {region}
sp_migranten;magic:0;de;{unit} in {region}: '{command}' - {target} wird von uns aufgenommen.
sp_migranten_fail1;magic:0;de;{unit} in {region}: '{command}' - {target} ist von unserer Art, das Ritual wäre verschwendete Aura
icastle_create;magic:0;de;{unit} in {region}: '{command}' - Der Magier erschafft ein Traumgebäude.
sp_raisepeasantmob_effect;magic:0;de;{$mage mage} wiegelt in {region} die Bauern zum Aufstand auf.
firewall_effect;magic:0;de;{mage} erschafft in {region} eine Wand aus Feuer.
wisps_effect;magic:0;de;{mage} ruft Irrlichter in {region}.
becomewyrm;magic;2;de;{mage} verwandelt sich in einen Wyrm.
puttorest;magic;0;de;{mage} befreit die gequälten Seelen der Toten.
unholypower_effect;0;de;{mage} verwandelt {target}.
unholypower_limitedeffect;0;de;{mage} verwandelt {amount} {race} aus {target}.
holyground;0;de;{mage} beschwört Naturgeister in den Boden der Region.
sp_bloodsacrifice_effect;magic:0;de;{unit} in {region}: '{command}' - {unit} gewinnt durch das Ritual {amount} Aura.
# Kämpfe
msg_battle;battle:0;de;{string}
killsandhits;battle:0;de;{unit} erzielte {hits} Treffer und tötete {kills} Gegner.
casualties;battle:0;de;{unit} verlor {fallen} Personen, {alive} überlebten und {run} flohen nach {runto}.
# Parteispecials und Prayer-Effects
new_fspecial;events:0;de;Die Götter gewähren uns die Kraft eines {special}.
new_fspecial_level;events:0;de;Die Götter gewähren uns die Kraft eines {special}({level}).
pray_success;events:0;de;Die Götter erhören {unit}.
# Eisberge
iceberg_drift;events:0;de;Der Eisberg {region} treibt nach {dir}.
overrun_by_iceberg;events:0;de;Die {ship} wird bei einer Kollision mit einem Eisberg beschädigt.
overrun_by_iceberg_des;events:0;de;Die {ship} wird bei einer Kollision mit einem Eisberg zerstört.
iceberg_land;events:0;de;Der Eisberg {region} treibt an eine Küste.
iceberg_create;events:0;de;Der Gletscher von {region} bricht und treibt davon.
# Tempel der Schreie
praytoigjarjuk;events:0;de;{unit} sendet ein Stoßgebet an den Herrn der Schreie.
cryinpain;events:0;de;"AAAAAAAGHHHHHH!" - Ein Schrei durchzieht die Region, {unit} windet sich vor Schmerz.
# Szepter der Tränen
wand_of_tears_effect;events:0;de;Ein bohrender Schmerz durchzuckt {unit}, Verwirrung macht sich breit.
wand_of_tears_usage;events:0;de;{unit} schwenkt sein Szepter und sorgt für Verwirrung und Chaos in der Region.
# Ertrinkende
drown_amphibian_nodead;events:1;de;{unit} nimmt Schaden auf dem Wasser.
drown_amphibian_dead;events:0;de;{amount} Personen in {unit} ertrinken.
drown;events:0;de;{unit} ertrinkt.
# Spezialplanes
error_pflnorecruit;errors:0;de;{unit} in {region}: '{command}' - In der Ebene der Herausforderung kann niemand rekrutiert werden.
buildingcrash;events;0;de;In {region} stürzte {building} ein.{opfer}
nomaintenance;events;0;de;Für das Gebäude {building} konnte die ganze Woche kein Unterhalt bezahlt werden.
unitmessage;events;0;de;Eine Botschaft von {unit} aus {region}: '{message}'"

View File

@ -1,360 +0,0 @@
error1;none:0;en;{unit} in {region}: '{command}' - There are not enough experienced sailors on board the ship.
error2;none:0;en;{unit} in {region}: '{command}' - You cannot guard off shore.
error3;none:0;en;{unit} in {region}: '{command}' - Description has been cut (too long).
error5;none:0;en;{unit} in {region}: '{command}' - The building is not ours.
error6;none:0;en;{unit} in {region}: '{command}' - Building could not be found.
error7;none:0;en;{unit} in {region}: '{command}' - This is not possible any longer.
error8;none:0;en;{unit} in {region}: '{command}' - That is useless.
error9;none:0;en;{unit} in {region}: '{command}' - That cannot be sabotaged.
error10;none:0;en;{unit} in {region}: '{command}' - That does not make much sense.
error11;none:0;en;{unit} in {region}: '{command}' - The ship is still off shore.
error12;none:0;en;{unit} in {region}: '{command}' - The ship is not ours.
error13;none:0;en;{unit} in {region}: '{command}' - The ship has moved already.
error14;none:0;en;{unit} in {region}: '{command}' - The ship is off shore.
error15;none:0;en;{unit} in {region}: '{command}' - The ship has not yet been completed.
error16;none:0;en;{unit} in {region}: '{command}' - The ship is already completed.
error18;none:0;en;{unit} in {region}: '{command}' - The ship is too heavily loaded to sail.
error19;none:0;en;{unit} in {region}: '{command}' - First you have to leave the ship.
error20;none:0;en;{unit} in {region}: '{command}' - The ship could not be found.
error21;none:0;en;{unit} in {region}: '{command}' - There is no information available for the request.
error22;none:0;en;{unit} in {region}: '{command}' - Order was unrecognizable.
error23;none:0;en;{unit} in {region}: '{command}' - Contact was not possible due to siege.
error24;none:0;en;{unit} in {region}: '{command}' - Espionage was not possible due to siege.
error25;none:0;en;{unit} in {region}: '{command}' - The escape prevented that from happening.
error26;none:0;en;{unit} in {region}: '{command}' - The amount of items to buy is missing.
error27;none:0;en;{unit} in {region}: '{command}' - The amount of items for sale is missing.
error29;none:0;en;{unit} in {region}: '{command}' - The description of a monument can not be changed anymore.
error30;none:0;en;{unit} in {region}: '{command}' - The message does not contain text.
error31;none:0;en;{unit} in {region}: '{command}' - The castle could not be found.
error32;none:0;en;{unit} in {region}: '{command}' - The unit is not on board our ship.
error33;none:0;en;{unit} in {region}: '{command}' - The unit is not in our castle.
error34;none:0;en;{unit} in {region}: '{command}' - This unit has no permission to come on board.
error35;none:0;en;{unit} in {region}: '{command}' - The unit does not have these herbs.
error36;none:0;en;{unit} in {region}: '{command}' - The unit does not have this item.
error37;none:0;en;{unit} in {region}: '{command}' - The unit does not have this potion.
error38;none:0;en;{unit} in {region}: '{command}' - The unit does not have any herbs.
error39;none:0;en;{unit} in {region}: '{command}' - The unit has not yet learned espionage.
error40;none:0;en;{unit} in {region}: '{command}' - The unit did not contact us.
error41;none:0;en;{unit} in {region}: '{command}' - The unit does not have enough silver.
error42;none:0;en;{unit} in {region}: '{command}' - The unit does not have enough coachmen or too much freights to lad the wagons.
error43;none:0;en;{unit} in {region}: '{command}' - The unit does not have this.
error44;none:0;en;{unit} in {region}: '{command}' - The unit is off shore.
error45;none:0;en;{unit} in {region}: '{command}' - This unit is one of our own.
error46;none:0;en;{unit} in {region}: '{command}' - The unit is not in a tavern.
error47;none:0;en;{unit} in {region}: '{command}' - This unit is one of our allies.
error48;none:0;en;{unit} in {region}: '{command}' - The unit is not armed and fighting fit.
error49;none:0;en;{unit} in {region}: '{command}' - The unit is not he owner.
error50;none:0;en;{unit} in {region}: '{command}' - The unit is not experienced enough to do this.
error51;none:0;en;{unit} in {region}: '{command}' - The unit does not have enough silver.
error52;none:0;en;{unit} in {region}: '{command}' - The unit is exhausted from battle.
error53;none:0;en;{unit} in {region}: '{command}' - The unit cannot make potions.
error54;none:0;en;{unit} in {region}: '{command}' - The unit cannot trade.
error55;none:0;en;{unit} in {region}: '{command}' - The unit cannot move.
error56;none:0;en;{unit} in {region}: '{command}' - The unit cannot tame that many horses.
error57;none:0;en;{unit} in {region}: '{command}' - The unit is too heavily loaded to move.
error58;none:0;en;{unit} in {region}: '{command}' - The unit does not know how to entertain.
error59;none:0;en;{unit} in {region}: '{command}' - The unit does not know anything about herbalism.
error60;none:0;en;{unit} in {region}: '{command}' - The unit is under siege.
error64;none:0;en;{unit} in {region}: '{command}' - The unit could not be found.
error65;none:0;en;{unit} in {region}: '{command}' - Tuition was too high to be paid.
error66;none:0;en;{unit} in {region}: '{command}' - The party could not be found.
error67;none:0;en;{unit} in {region}: '{command}' - The horses would drown.
error69;none:0;en;{unit} in {region}: '{command}' - The region is guarded.
error70;none:0;en;{unit} in {region}: '{command}' - This region is guarded by a non allied party.
error71;none:0;en;{unit} in {region}: '{command}' - Direction could not be recognized.
error72;none:0;en;{unit} in {region}: '{command}' - The target-unit did not contact us.
error73;none:0;en;{unit} in {region}: '{command}' - The target-unit did not contact us.
error74;none:0;en;{unit} in {region}: '{command}' - This unit cannot give away anybody.
error75;none:0;en;{unit} in {region}: '{command}' - This unit does not take anybody.
error76;none:0;en;{unit} in {region}: '{command}' - This item cannot be used.
error77;none:0;en;{unit} in {region}: '{command}' - Talent could not be recognized.
error78;none:0;en;{unit} in {region}: '{command}' - A curse prevented the transfer from happening.
error79;none:0;en;{unit} in {region}: '{command}' - A ship or a castle must be supplied.
error80;none:0;en;{unit} in {region}: '{command}' - The unit is not armed and fighting fit.
error81;none:0;en;{unit} in {region}: '{command}' - first, the unit must guard the region.
error82;none:0;en;{unit} in {region}: '{command}' - There is no agreement with this number.
error83;none:0;en;{unit} in {region}: '{command}' - No peasant could be caught.
error84;none:0;en;{unit} in {region}: '{command}' - No name was supplied.
error85;none:0;en;{unit} in {region}: '{command}' - No email-address was supplied.
error86;none:0;en;{unit} in {region}: '{command}' - Wrong password.
error88;none:0;en;{unit} in {region}: '{command}' - You need wood to build a ship.
error89;none:0;en;{unit} in {region}: '{command}' - Money offer is missing.
error90;none:0;en;{unit} in {region}: '{command}' - The unit does not have a RIDE-order.
error91;none:0;en;{unit} in {region}: '{command}' - There are no Mallorn trees here.
error92;none:0;en;{unit} in {region}: '{command}' - There is no normal forest in this region.
error93;none:0;en;{unit} in {region}: '{command}' - There is already a port in this region.
error94;none:0;en;{unit} in {region}: '{command}' - You cannot build a road here.
error95;none:0;en;{unit} in {region}: '{command}' - Illusions cannot guard a region.
error96;none:0;en;{unit} in {region}: '{command}' - Nobody in this unit can be transferred.
error97;none:0;en;{unit} in {region}: '{command}' - Insects cannot be recruited in glaciers.
error98;none:0;en;{unit} in {region}: '{command}' - In winter, insects can be recruited only in deserts.
error99;none:0;en;{unit} in {region}: '{command}' - Could not find the unit to be transported.
error100;none:0;en;{unit} in {region}: '{command}' - Nobody here is a skilled ship builder.
error101;none:0;en;{unit} in {region}: '{command}' - Nobody here can construct a building.
error102;none:0;en;{unit} in {region}: '{command}' - Nobody here can trade.
error103;none:0;en;{unit} in {region}: '{command}' - Nobody here can build roads.
error104;none:0;en;{unit} in {region}: '{command}' - Laen can be excavated only in a mine.
error105;none:0;en;{unit} in {region}: '{command}' - Empty units can not be handed over.
error106;none:0;en;{unit} in {region}: '{command}' - When studying, magicians need to be alone.
error107;none:0;en;{unit} in {region}: '{command}' - You need at least two horses to breed more.
error108;none:0;en;{unit} in {region}: '{command}' - No herbs could be found.
error109;none:0;en;{unit} in {region}: '{command}' - Specify if a castle, a ship, a region or a unit is supposed to be named.
error110;none:0;en;{unit} in {region}: '{command}' - Specify if description is for a castle, a ship, a region or a unit.
error111;none:0;en;{unit} in {region}: '{command}' - Message has been cut (too long)..
error112;none:0;en;{unit} in {region}: '{command}' - Names may not contain parenthesis.
error113;none:0;en;{unit} in {region}: '{command}' - Item to be handed over was not supplied.
error114;none:0;en;{unit} in {region}: '{command}' - Number is not valid.
error115;none:0;en;{unit} in {region}: '{command}' - Number is already in use.
error116;none:0;en;{unit} in {region}: '{command}' - Number can not be assigned.
error117;none:0;en;{unit} in {region}: '{command}' - Submit only email-address, please!
error118;none:0;en;{unit} in {region}: '{command}' - Only Elves can make these bows.
error119;none:0;en;{unit} in {region}: '{command}' - There is no market place without a castle.
error120;none:0;en;{unit} in {region}: '{command}' - Characters can be given only to Human parties.
error121;none:0;en;{unit} in {region}: '{command}' - Characters can be given only to Human parties.
error122;none:0;en;{unit} in {region}: '{command}' - You can breed horses only in a stable.
error123;none:0;en;{unit} in {region}: '{command}' - The unit does not have such a thing.
error124;none:0;en;{unit} in {region}: '{command}' - You cannot buy that on a market place.
error125;none:0;en;{unit} in {region}: '{command}' - You cannot produce this.
error126;none:0;en;{unit} in {region}: '{command}' - You cannot sell this.
error127;none:0;en;{unit} in {region}: '{command}' - Your party cannot hire so many strangers.
error128;none:0;en;{unit} in {region}: '{command}' - The party cannot hire so many strangers.
error129;none:0;en;{unit} in {region}: '{command}' - The party cannot hire so many strangers.
error130;none:0;en;{unit} in {region}: '{command}' - Syntax: MAGIC SPHERE <1-5>.
error131;none:0;en;{unit} in {region}: '{command}' - You've got to build a tunnel before building roads through glaciers.
error132;none:0;en;{unit} in {region}: '{command}' - You've got to build a dam before building roads through swamps.
error133;none:0;en;{unit} in {region}: '{command}' - You've got to build a caravansary before building roads through deserts.
error134;none:0;en;{unit} in {region}: '{command}' - Unknown Report-Option.
error135;none:0;en;{unit} in {region}: '{command}' - Unknown Option.
error137;none:0;en;{unit} in {region}: '{command}' - Unknown Help- Mode.
error138;none:0;en;{unit} in {region}: '{command}' - We do not have anything that could be demolished.
error139;none:0;en;{unit} in {region}: '{command}' - Different types do not mix.
error140;none:0;en;{unit} in {region}: '{command}' - The unit is neither in a castle nor on board a ship.
error142;none:0;en;{unit} in {region}: '{command}' - The unit does not have enough silver for recruiting.
error143;none:0;en;{unit} in {region}: '{command}' - The unit is on board a ship.
error144;none:0;en;{unit} in {region}: '{command}' - The unit is not on board a ship.
error145;none:0;en;{unit} in {region}: '{command}' - The unit is not in a castle.
error146;none:0;en;{unit} in {region}: '{command}' - The unit is not captain of a ship.
error147;none:0;en;{unit} in {region}: '{command}' - The unit is not in command of the largest castle in the region.
error148;none:0;en;{unit} in {region}: '{command}' - The unit is not in command of a castle.
error149;none:0;en;{unit} in {region}: '{command}' - Who is supposed to get this message?
error150;none:0;en;{unit} in {region}: '{command}' - At least Herbalism 6 is needed for planting.
error151;none:0;en;{unit} in {region}: '{command}' - You need stones to build a road.
error152;none:0;en;{unit} in {region}: '{command}' - The unit jumps over board and drowns.
error153;none:0;en;{unit} in {region}: '{command}' - The unit joins the local peasants.
error154;none:0;en;{unit} in {region}: '{command}' - Highly qualified people refuse to work for other parties.
error155;none:0;en;{unit} in {region}: '{command}' - Too many magicians in the party.
error156;none:0;en;{unit} in {region}: '{command}' - Too many alchemists in the party.
error157;none:0;en;{unit} in {region}: '{command}' - The party has a different magic sphere.
error158;none:0;en;{unit} in {region}: '{command}' - Magicians always work alone!
error159;none:0;en;{unit} in {region}: '{command}' - No person could be handed over.
error160;none:0;en;{unit} in {region}: '{command}' - No luxury items could be bought.
error161;none:0;en;{unit} in {region}: '{command}' - The unit does not have this potion.
error162;none:0;en;{unit} in {region}: '{command}' - This healing potion will be automatically used when needed.
error165;none:0;en;{unit} in {region}: '{command}' - The unit disagreed with the potion.
error166;none:0;en;{unit} in {region}: '{command}' - This race cannot siege a castle.
error167;none:0;en;{unit} in {region}: '{command}' - The unit does not go to the peasants.
error168;none:0;en;{unit} in {region}: '{command}' - No luxury items could be sold.
error169;none:0;en;{unit} in {region}: '{command}' - The unit does not know this spell.
error170;none:0;en;{unit} in {region}: '{command}' - The peasants did not accept this gracious gift.
error171;none:0;en;{unit} in {region}: '{command}' - This combat spell does not exist.
error172;none:0;en;{unit} in {region}: '{command}' - There was no spell supplied.
error173;none:0;en;{unit} in {region}: '{command}' - Even in the Xontormia Library, this spell could not be found.
error174;none:0;en;{unit} in {region}: '{command}' - this spell makes only sense in combat.
error175;none:0;en;{unit} in {region}: '{command}' - You cannot cast this spell while standing on a moving ship.
error176;none:0;en;{unit} in {region}: '{command}' - You cannot cast this spell on a distant target.
error178;none:0;en;{unit} in {region}: '{command}' - No magic sphere was supplied.
error179;none:0;en;{unit} in {region}: '{command}' - The unit cannot learn this magic sphere.
error180;none:0;en;{unit} in {region}: '{command}' - The spell fails.
error181;none:0;en;{unit} in {region}: '{command}' - To do this, the magician has to be in a castle or on board a ship.
error182;none:0;en;{unit} in {region}: '{command}' - The ship cannot leave in this direction.
error183;none:0;en;{unit} in {region}: '{command}' - The magician is not on board a ship.
error184;none:0;en;{unit} in {region}: '{command}' - The unit does not move.
error186;none:0;en;{unit} in {region}: '{command}' - This spell works only ashore.
error187;none:0;en;{unit} in {region}: '{command}' - There are already sufficient roads here.
error188;none:0;en;{unit} in {region}: '{command}' - You cannot cast this spell in a swamp.
error190;none:0;en;{unit} in {region}: '{command}' - This spell works only in the material world.
error191;none:0;en;{unit} in {region}: '{command}' - This spell works only in forests.
error194;none:0;en;{unit} in {region}: '{command}' - Target region was supplied incorrectly.
error195;none:0;en;{unit} in {region}: '{command}' - No way is leading in this direction.
error196;none:0;en;{unit} in {region}: '{command}' - This is not a forest region.
error200;none:0;en;{unit} in {region}: '{command}' - Magician's maximum Aura is not high enough for this spell.
error201;none:0;en;{unit} in {region}: '{command}' - Race and target unit have not been supplied.
error202;none:0;en;{unit} in {region}: '{command}' - This is not a valid race.
error203;none:0;en;{unit} in {region}: '{command}' - No target has been supplied.
error204;none:0;en;{unit} in {region}: '{command}' - You cannot cast this spell in a region without trees.
error205;none:0;en;{unit} in {region}: '{command}' - This spell works only in an ocean region.
error207;none:0;en;{unit} in {region}: '{command}' - You cannot pass aura on to this unit.
error208;none:0;en;{unit} in {region}: '{command}' - wrong Aura values.
error209;none:0;en;{unit} in {region}: '{command}' - Syntax Error.
error211;none:0;en;{unit} in {region}: '{command}' - The ship is already under this spell.
error212;none:0;en;{unit} in {region}: '{command}' - The magician is not on board a ship.
error213;none:0;en;{unit} in {region}: '{command}' - Incorrect parameter.
error214;none:0;en;{unit} in {region}: '{command}' - Unit is not a magician.
error221;none:0;en;{unit} in {region}: '{command}' - You cannot build such a thing.
error222;none:0;en;{unit} in {region}: '{command}' - Show all what?
error223;none:0;en;{unit} in {region}: '{command}' - Starving units cannot guard.
error224;none:0;en;{unit} in {region}: '{command}' - Starving units cannot cast spells.
error225;none:0;en;{unit} in {region}: '{command}' - Starving units do not fight.
error226;none:0;en;{unit} in {region}: '{command}' - Units cannot attack from the second row.
error227;none:0;en;{unit} in {region}: '{command}' - The unit needs at least herbalism 7 to do this.
error228;none:0;en;{unit} in {region}: '{command}' - Only normal characters can collect taxes.
error230;none:0;en;{unit} in {region}: '{command}' - The unit cannot transport us to this place.
error231;none:0;en;{unit} in {region}: '{command}' - The unit or its animals would not survive there.
error232;none:0;en;{unit} in {region}: '{command}' - Swimmers cannot enter a building.
error233;none:0;en;{unit} in {region}: '{command}' - Swimmers cannot enter ships.
error234;none:0;en;{unit} in {region}: '{command}' - The unit is busy disembarking.
error235;none:0;en;{unit} in {region}: '{command}' - Maintenance has not been paid yet.
error236;none:0;en;{unit} in {region}: '{command}' - The building is not finished yet.
error238;none:0;en;{unit} in {region}: '{command}' - You can recruit only Orcs here.
error239;none:0;en;{unit} in {region}: '{command}' - Is this unit or ship supposed to get a new number?
error240;none:0;en;{unit} in {region}: '{command}' - Is this unit or ship supposed to be followed?
error244;none:0;en;{unit} in {region}: '{command}' - The unit is already named.
error245;none:0;en;{unit} in {region}: '{command}' - The ship is already named.
error246;none:0;en;{unit} in {region}: '{command}' - The building is already named.
error247;none:0;en;{unit} in {region}: '{command}' - The faction is already named.
error248;none:0;en;{unit} in {region}: '{command}' - The faction has to be 10 turns old.
mistake;none:0;en;{unit} in {region}: '{command}' - {error}.
drown_on_ship;none:0;en;{unit} drowns when {ship} in {region} sinks.
buildship;none:0;en;{unit} builds {size} more on {ship}.
buildbuilding;none:0;en;{unit} builds {size} more on {building}.
siege;none:0;en;{building} is under siege by {unit}. During siege, catapults caused {destruction} points destruction.
give;none:0;en;{unit} hands {amount} {resource} to {target}.
recruit;none:0;en;{unit} in {region} recruits {amount} {$of want} people.
message;none:0;en;{string}
givecommand;none:0;en;{unit} hands command over to {receipient}.
forget;none:0;en;{unit} forgets {skill}.
income;none:0;en;{unit} earns {amount} {$of wanted}in {region} with {$earn mode}.
income_tax;none:0;en;{unit} collects {amount} taxes in {region}.
income_tax_reduced;none:0;en;{unit} collects only {amount} taxes instead of {wanted} in {region}.
income_steal;none:0;en;{unit} steals {amount} Silver in {region}.
income_steal_reduced;none:0;en;{unit} steals only {amount} silver instead of {wanted} in {region}.
income_entertainment;none:0;en;{unit} earns {amount} in {region} with entertainment.
income_entertainment_reduced;none:0;en;{unit} earns only {amount} instead of {wanted} in {region} with entertainment.
income_work;none:0;en;{unit} works in {region} for a wage of {amount} Silver.
income_work_reduced;none:0;en;{unit} works in {region} for a wage of only {amount} Silver instead of {wanted}.
income_trade;none:0;en;{unit} earned {amount} Silver in {region} by selling luxury items.
income_tradetax;none:0;en;{unit} collected {amount} Silver trade tax in {region}.
manufacture;none:0;en;{unit} in {region} produces {amount} {$of wanted}{resource}.
# seit NEW_ITEMS nicht mehr:" from {materials}."
produce;none:0;en;{unit} in {region} produces {amount} {$of wanted}{resource}.
storm;none:0;en;The {ship} in {region} drifts {$sink sink} in heavy storm.
shipsink;none:0;en;The {ship} suffers too heavy damage and sinks.
moveblocked;none:0;en;{unit} discovered that there is no path to {$dir direction}.
errusingpotion;none:0;en;{unit}: '{command}' - The unit already uses {using}.
maintenance;none:0;en;{unit} pays the maintenance for {building}.
maintenancefail;none:0;en;{unit} cannot pay the maintenance for {building}.
buy;none:0;en;{unit} pays {money} Silver for luxury items.
buyamount;none:0;en;{unit} buys {amount} {resource}.
plant;none:0;en;{unit} plants {amount} {herb} in {region}.
raised;none:0;en;{unit} breeds {amount} horses.
followfail;none:0;en;{follower} could not follow {unit}.
followdetect;none:0;en;{follower} followed {unit}.
leavefail;none:0;en;{unit} could not leave {region}.
moveblockedbyguard;none:0;en;{unit} was kept in {region} by {faction}.
sailfail;none:0;en;The {ship} could not leave {region}.
starvation;none:0;en;{unit} looses {dead} people due to starvation in {region}.
malnourish;none:0;en;{unit} is weakened due to malnourishment.
donation;none:0;en;{from} donates {amount} Silver to {to}.
pest;none:0;en;The region is visited by the plague and {dead} peasants died.
# west;none:0;en;West.
# northwest;none:0;en;Northwest.
# northeast;none:0;en;Northeast.
# east;none:0;en;East.
# southwest;none:0;en;Southwest.
# southeast;none:0;en;Southeast.
usepotion;none:0;en;{unit} uses {potion}.
regenaura;none:0;en;{unit} regenerates {amount} aura in {region}.
teach;none:0;en;{teacher} teaches {student} {skill}.
spydetect;none:0;en;{target} feels watched by {$unit spy}.
# unknownunit;none:0;en;an unknown disease.
spyfail;none:0;en;{spy} could not find out anything about {target}.
stealfail;none:0;en;{unit} could not sneak close enough to {target}.
stealdetect;none:0;en;{unit} feels watched.
stealfatal;none:0;en;{unit} was caught in attempted theft.
thiefdiscover;none:0;en;{target} caught {unit} in attempted theft.
stealeffect;none:0;en;{unit} was robbed in {region}.
newbieimmunity;none:0;en;Your party is immune against assaults for {turns} more weeks.
changebanner;none:0;en;Banner has been changed to '{value}'.
changemail;none:0;en; Address has been changed to '{value}'.
changepasswd;none:0;en;Password has been changed to '{value}'.
deletepasswd;none:0;en;Password has been deleted.
eatpeasants;none:0;en;{unit} ate {amount} peasants.
fleescared;none:0;en;{amount} peasants fled in fear of {unit}.
warnillusiondissolve;none:0;en;{unit} will dissolve soon.
illusiondissolve;none:0;en;{unit} has dissolved without a trace.
detectforbidden;none:0;en;{unit} refuses to travel to {region}.
detectforbiddendir;none:0;en;{unit} refuses to travel to the{$dir direction}.
sailforbidden;none:0;en;The crew of the {ship} refuses to travel to {region}.
sailforbiddendir;none:0;en; The crew of the {ship} refuses to travel to the{$dir direction}.
sailnolanding;none:0;en;The {ship} could not berth in {region}. The coast is too dangerous for the vessel.
sailnolandingstorm;none:0;en;In the very last moment, the crew of the {ship} saved the ship from grounding.
detectocean;none:0;en;{unit} discovered that {region} is Ocean.
detectoceandir;none:0;en;{unit} discovered that an Ocean lies in the {$dir direction}.
analyse_region_nospell;none:0;en;It appears to {mage} that {region} is not charmed.
analyse_unit_nospell;none:0;en;It appears to {mage} that {target} is not charmed.
analyse_building_nospell;none:0;en;It appears to {mage} that {building} is not charmed.
analyse_ship_nospell;none:0;en;It appears to {mage} that {ship} is not charmed.
analyse_region_fail;none:0;en;It appears to {mage} that {region} is charmed, but no details have been revealed.
analyse_unit_fail;none:0;en;It appears to {mage} that {unit} is charmed, but no details have been revealed.
analyse_building_fail;none:0;en;It appears to {mage} that {building} is charmed, but no details have been revealed.
analyse_ship_fail;none:0;en;It appears to {mage} that {ship} is charmed, but no details have been revealed.
analyse_region_noage;none:0;en;{mage} found out that {region} is charmed with {spell}, which will last for centuries.
analyse_unit_noage;none:0;en;{mage} found out that {unit} is charmed with {spell}, which will last for centuries.
analyse_building_noage;none:0;en;{mage} found out that {building} is charmed with {spell}, which will last for centuries.
analyse_ship_noage;none:0;en;{mage} found out that {ship} is charmed with {spell}, which will last for centuries.
analyse_region_age;none:0;en;{mage} found out that {region} is charmed with {spell}, which will last for, about {months} more weeks.
analyse_unit_age;none:0;en;{mage} found out that {unit} is charmed with {spell} that willlast for about {months} more weeks.
analyse_building_age;none:0;en;{mage} found out that {building} is charmed with {spell}, which will last for, about {months} more weeks.
analyse_ship_age;none:0;en;{mage} found out that {ship} is charmed with {spell}, which will last for, about {months} more weeks.
auratransfer_success;none:0;en;{unit} transfers {aura} Aura to {target}.
sellamount;none:0;en;{unit} sells {amount} {resource}.
herbfound;none:0;en;{unit} in {region} finds {amount} {herb}.
battle;none:0;en;{string}
travel;none:0;en;{unit} {$travel mode} from {start} to {end}.{$travelthru regions}
transport;none:0;en;{unit} transported {target} from {start} to {end}.
buildroad;none:0;en;{unit} extends the road network in {region} by {size}.
destroy;none:0;en;{unit} destroys {building}.
casualties;none:0;en;{unit} lost {fallen} people: {alive} survived and {run} fled to {runto}.
studycost;none:0;en;{unit} spends {cost} silver in {region} to study {skill}.
researchherb;none:0;en;{unit} found out that {amount} {herb} grow in {region}.
researchherb_none;none:0;en;{unit} could not find any herbs in {region}.
spellunitnotfound;none:0;en;{unit} in {region}: '{command}' - Unit {id} could not be located.
spellbuildingnotfound;none:0;en;{unit} in {region}: '{command}' - Building {id} could not be located.
spellshipnotfound;none:0;en;{unit} in {region}: '{command}' - Ship {id} could not be located.
spellunitresists;none:0;en;{unit} in {region}: '{command}' - unit {id} resists the spell.
spellbuildingresists;none:0;en;{unit} in {region}: '{command}' - Building {id} could not be charmed.
spellshipresists;none:0;en;{unit} in {region}: '{command}' - Ship {id} could not be charmed.
spellregionresists;none:0;en;{unit} in {region}: '{command}' - The region could not be charmed.
magiccreate_effect;none:0;en;{unit} in {region}: '{command}' - {unit} creates {amount} {item}.
shipdestroy;none:0;en;{unit} sunk {ship} in {region}.
orcified;none:0;en;People {region} flee from an Orc superiority.
deorcified;none:0;en;Little by little, people return to {region}.
piratenovictim;none:0;en;The {ship} could not capture other ships in {region}.
piratesawvictim;none:0;en;The {ship} in {region} made {dir} a target.
firewall_damage;none:0;en;{unit} steps through the wall of fire into {region} and receives severe burn damage.
firewall_death;none:0;en;{unit} dies trying to cross the wall of fire into {region}.
firewall_effect;none:0;en;{mage} creates a wall of fire in {region}.
wisps_effect;none:0;en;{mage} summons wisps in {region}.
destroy_road;none:0;en;{unit} demolishes the road between {from} and {to}.
desertion;none:0;en;{unit} in {region} abandons your cause.
volcanostartsmoke;none:0;en;Columns of smoke are released by the volcano of {region}.
volcanostopsmoke;none:0;en;The volcano of {region} stops releasing smoke.
volcano_dead;none:0;en;{dead} people in {unit} perisch when the volcano in {region} breaks out.
volcanooutbreak;none:0;en;The volcano in {regionv} breaks out. The lava devastates {regionn}.
volcanooutbreaknn;none:0;en;The volcano in {region} breaks out.
phunger;none:0;en;{dead} peasants starve.
new_fspecial;events:0;en;The Gods grant us the powers of {special}.
new_fspecial_level;events:0;en;The Gods grant us the powers of {special} ({level}).
pray_success;events:0;en;The Gods have listened to {unit}.
# Kämpfe
msg_battle;battle:0;en;{string}
#
# Eisberge
iceberg_drift;events:0;en;The iceberg {region} drifts {dir}.
overrun_by_iceberg;events:0;en;The {ship} has been damaged by a collision with an iceberg.
overrun_by_iceberg_des;events:0;en;The {ship} has been destroyed by a collision with an iceberg.
iceberg_land;events:0;en;The iceberg {region} drifts onto a coast.
iceberg_create;events:0;en;The glacier {region} breaks and drifts away.

View File

@ -1,345 +0,0 @@
# Terraintypen
maelstrom;de;Mahlstrom
ocean;de;Ozean
plain;de;Ebene
forest;de;Wald
swamp;de;Sumpf
desert;de;Wüste
highland;de;Hochland
mountain;de;Berge
glacier;de;Gletscher
firewall;de;Feuerwand
grassland;de;Steppe
volcano;de;Vulkan
fog;de;Nebel
iceberg;de;Eisberg
thickfog;de;Dichter Nebel
hell;de;Ebene aus Feuer und Dunkelheit
activevolcano;de;Aktiver Vulkan
hall1;de;Halle
corridor1;de;Gang
xmas_exit;de;Pforte
maelstrom_trail;de;ein %s
ocean_trail;de;%s
plain_trail;de;die Ebene von %s
forest_trail;de;der Wald von %s
swamp_trail;de;der Sumpf von %s
desert_trail;de;die Wüste von %s
highland_trail;de;das Hochland von %s
mountain_trail;de;die Berge von %s
glacier_trail;de;der Gletscher von %s
firewall_trail;de;eine %s
grassland_trail;de;die Steppe von %s
volcano_trail;de;der Vulkan von %s
fog_trail;de;ein %s
iceberg_trail;de;der Eisberg von %s
thickfog_trail;de;%s
hell_trail;de;eine %s
activevolcano_trail;de;der aktive Vulkan von %s
hall1_trail;de;die %s
corridor1_trail;de;die %s
# Himmelsrichtungen
west;de;Westen
northwest;de;Nordwesten
northeast;de;Nordosten
east;de;Osten
southwest;de;Südwesten
southeast;de;Südosten
# Verschiedenes
unknownunit;de;eine unbekannte Einheit
# Meldungssektionen
section_events;de;Meldungen und Ereignisse
section_errors;de;Warnungen und Fehler
section_economy;de;Wirtschaft und Handel
section_production;de;Rohstoffe und Produktion
section_magic;de;Magie und Artefakte
section_movement;de;Reisen und Bewegung
section_study;de;Lehren und Lernen
section_battle;de;Kämpfe
# Gebäudetypen
fortress_generic;de;Burg
lighthouse;de;Leuchtturm
mine;de;Bergwerk
quarry;de;Steinbruch
harbour;de;Hafen
academy;de;Akademie
magictower;de;Magierturm
smithy;de;Schmiede
sawmill;de;Sägewerk
stables;de;Pferdezucht
monument;de;Monument
dam;de;Damm
caravan;de;Karawanserei
tunnel;de;Tunnel
inn;de;Taverne
stonecircle;de;Steinkreis
blessedstonecircle;de;Gesegneter Steinkreis
illusion;de;Traumschlößchen
generic;de;Struktur
#Testgebäude
temple;de;Tempel
#Testitem
wand;de;Zauberstab
wands;de;Zauberstäbe
wand_of_tears;de;Szepter der Tränen
wands_of_tears;de;Szepter der Tränen
# Burgausbaustufen
site;de;Grundmauern
fortification;de;Befestigung
tower;de;Turm
castle;de;Burg
fortress;de;Festung
citadel;de;Zitadelle
# Items
herb;de;Kraut
herbbag;de;Kräuterbeutel
vial;de;Phiole
vials;de;Phiolen
# Resourcen
money;de;Silber
moneys;de;Silber
hp;de;Trefferpunkt
hps;de;Trefferpunkte
aura;de;Aura
auras;de;Aura
permaura;de;permanente Aura
permauras;de;permanente Aura
peasant;de;Bauer
peasants;de;Bauern
unit;de;Einheit
units;de;Einheiten
person;de;Person
persons;de;Personen
#items
iron;de;Eisen
irons;de;Eisen
log;de;Holz
logs;de;Holz
stone;de;Stein
stones;de;Steine
cart;de;Wagen
carts;de;Wagen
catapult;de;Katapult
catapults;de;Katapulte
sword;de;Schwert
swords;de;Schwerter
spear;de;Speer
spears;de;Speere
mallornspear;de;Mallornspeer
mallornspears;de;Mallornspeere
crossbow;de;Armbrust
crossbows;de;Armbrüste
mallorncrossbow;de;Mallornarmbrust
mallorncrossbows;de;Mallornarmbrüste
bow;de;Bogen
bows;de;Bögen
mallornbow;de;Mallornbogen
mallornbows;de;Mallornbögen
# more items
chainmail;de;Kettenhemd
chainmails;de;Kettenhemden
plate;de;Plattenpanzer
plates;de;Plattenpanzer
balm;de;Balsam
spice;de;Gewürz
spices;de;Gewürze
jewel;de;Juwel
jewels;de;Juwelen
myrrh;de;Myrrhe
oil;de;Öl
silk;de;Seide
incense;de;Weihrauch
firesword;de;Flammenschwert
fireswords;de;Flammenschwerter
shieldstone;de;Schildstein
shieldstones;de;Schildsteine
greatsword;de;Bihänder
axe;de;Kriegsaxt
axes;de;Kriegsäxte
greatbow;de;Elfenbogen
greatbows;de;Elfenbögen
laensword;de;Laenschwert
laenswords;de;Laenschwerter
laenshield;de;Laenschild
laenshields;de;Laenschilde
laenmail;de;Laenkettenhemd
laenmails;de;Laenkettenhemden
laen;de;Laen
shield;de;Schild
shields;de;Schilde
halberd;de;Hellebarde
halberds;de;Hellebarden
lance;de;Lanze
lances;de;Lanzen
mallornlance;de;Mallornlanze
mallornlances;de;Mallornlanzen
mallorn;de;Mallorn
cookie;de;Keks
cookies;de;Kekse
apple;de;Apfel
apples;de;Äpfel
nut;de;Nuß
nuts;de;Nüsse
almond;de;Mandelkern
almonds;de;Mandelkerne
dragonblood;de;Drachenblut
fairyboot;de;Feenstiefel
healingpotion;de;Heiltrank
healingpotions;de;Heiltränke
antimagic;de;Antimagiekristall
antimagics;de;Antimagiekristalle
toadslime;de;Tiegel mit Krötenschleim
amulet;de;Amulett
amulets;de;Amulette
ao_daemon;de;Auge des Dämon
ao_daemons;de;Augen des Dämon
griphonwing;de;Schwinge des Greifen
griphonwings;de;Schwingen des Greifen
ao_chastity;de;Amulett der Keuschheit
ao_chastitys;de;Amulette der Keuschheit
aoh;de;Amulett der Heilung
aohs;de;Amulette der Heilung
aog;de;Amulett des Treffens
aogs;de;Amulette des Treffens
aots;de;Amulett des wahren Sehens
aotss;de;Amulette des wahren Sehens
aoc;de;Katzenamulett
aocs;de;Katzenamulette
roi;de;Ring der Unsichtbarkeit
rois;de;Ringe der Unsichtbarkeit
rop;de;Ring der Macht
rops;de;Ringe der Macht
roqf;de;Ring der flinken Finger
roqfs;de;Ringe der flinken Finger
horse;de;Pferd
horses;de;Pferde
magicherbbag;de;Magischer Kräuterbeutel
magicherbbags;de;Magische Kräuterbeutel
moneybag;de;Silberbeutel
moneychest;de;Silberkassette
dragonhoard;de;Drachenhort
dragonhead;de;Drachenkopf
dragonheads;de;Drachenköpfe
eyeofdragon;de;Auge des Drachen
eyeofdragons;de;Augen des Drachen
rustysword;de;Schartiges Schwert
rustyswords;de;Schartige Schwerter
rustyshield;de;Rostiges Schild
rustyshields;de;Rostige Schilde
rustychainmail;de;Rostiges Kettenhemd
rustychainmails;de;Rostige Kettenhemden
soc;de;Magischer Kräuterbeutel
socs;de;Magische Kräuterbeutel
ror;de;Ring der Regeneration
rors;de;Ringe der Regeneration
aod;de;Amulett der Dunkelheit
aods;de;Amulette der Dunkelheit
magicbag;de;Zauberbeutel
dreameye;de;Traumauge
dreameyes;de;Traumaugen
seaserpenthead;de;Seeschlangenkopf
seaserpentheads;de;Seeschlangenköpfe
aurafocus;de;Aurafocus
aurafocuses;de;Aurafocuse
presspass;de;Akkredition des Xontormia-Expreß
presspasses;de;Akkreditionen des Xontormia-Expreß
trollbelt;de;Gürtel der Trollstärke
elvenhorse;de;Elfenpferd
elvenhorses;de;Elfenpferde
pegasus;de;Pegasus
pegasi;de;Pegasi
dolphin;de;Delphin
dolphins;de;Delphine
museumticket;de;Eintrittskarte des Großen Museum
museumtickets;de;Eintrittskarten des Großen Museum
museumexitticket;de;Rückkehrticket des Großen Museum
museumexittickets;de;Rückkehrtickets des Großen Museum
# herb singular
h0;de;Flachwurz
h1;de;Würziger Wagemut
h2;de;Eulenauge
h3;de;Grüner Spinnerich
h4;de;Blauer Baumringel
h5;de;Elfenlieb
h6;de;Gurgelkraut
h7;de;Knotiger Saugwurz
h8;de;Blasenmorchel
h9;de;Wasserfinder
h10;de;Kakteenschwitz
h11;de;Sandfäule
h12;de;Windbeutel
h13;de;Fjordwuchs
h14;de;Alraune
h15;de;Steinbeißer
h16;de;Spaltwachs
h17;de;Höhlenglimm
h18;de;Eisblume
h19;de;Weißer Wüterich
h20;de;Schneekristall
#herb plural
h0s;de;Flachwurz
h1s;de;Würzige Wagemut
h2s;de;Eulenaugen
h3s;de;Grüne Spinneriche
h4s;de;Blaue Baumringel
h5s;de;Elfenlieb
h6s;de;Gurgelkräuter
h7s;de;Knotige Saugwurze
h8s;de;Blasenmorcheln
h9s;de;Wasserfinder
h10s;de;Kakteenschwitze
h11s;de;Sandfäulen
h12s;de;Windbeutel
h13s;de;Fjordwuchse
h14s;de;Alraunen
h15s;de;Steinbeißer
h16s;de;Spaltwachse
h17s;de;Höhlenglimme
h18s;de;Eisblumen
h19s;de;Weiße Wüteriche
h20s;de;Schneekristalle
p0;de;Siebenmeilentee
p1;de;Goliathwasser
p2;de;Wasser des Lebens
p3;de;Schaffenstrunk
p4;de;Wundsalbe
p5;de;Bauernblut
p6;de;Gehirnschmalz
p7;de;Dumpfbackenbrot
p8;de;Nestwärme
p9;de;Pferdeglück
p10;de;Berserkerblut
p11;de;Bauernlieb
p12;de;Trank der Wahrheit
p13;de;Elixier der Macht
p14;de;Heiltrank
p0s;de;Siebenmeilentees
p1s;de;Goliathwasser
p2s;de;Wasser des Lebens
p3s;de;Schaffenstrünke
p4s;de;Wundsalben
p5s;de;Bauernblut
p6s;de;Gehirnschmalz
p7s;de;Dumpfbackenbrote
p8s;de;Nestwärme
p9s;de;Pferdeglück
p10s;de;Berserkerblut
p11s;de;Bauernlieb
p12s;de;Tränke der Wahrheit
p13s;de;Elixiere der Macht
p14s;de;Heiltränke

View File

@ -1,154 +0,0 @@
west;en;West
northwest;en;Northwest
northeast;en;Northeast
east;en;East
southwest;en;Southwest
southeast;en;Southeast
unknownunit;en;an unknown unit
section_events;en;Messages and Events
section_errors;en;Warnings and Errors
section_economy;en;Economy and Trade
section_production;en;Resources and Production
section_magic;en;Magic and Artefacts
section_movement;en;Movement and Travel
section_study;en;Learning and Teaching
section_battle;en;Battles
# Items
herb;en;herb
herbbag;en;herbbag
vial;en;vial
vials;en;vials
# Resourcen
money;en;money
moneys;en;moneys
hp;en;hp
hps;en;hps
aura;en;aura
auras;en;auras
permaura;en;permaura
permauras;en;permauras
peasant;en;peasant
peasants;en;peasants
#items
iron;en;iron
irons;en;irons
log;en;log
logs;en;logs
stone;en;stone
stones;en;stones
cart;en;cart
carts;en;carts
catapult;en;catapult
catapults;en;catapults
sword;en;sword
swords;en;swords
spear;en;spear
spears;en;spears
crossbow;en;crossbow
crossbows;en;crossbows
bow;en;bow
bows;en;bows
# more items
chainmail;en;chainmail
chainmails;en;chainmails
plate;en;plate
plates;en;plates
balm;en;balm
spice;en;spice
jewel;en;jewel
jewels;en;jewels
myrrh;en;myrrh
oil;en;oil
silk;en;silk
incense;en;incense
firesword;en;firesword
fireswords;en;fireswords
shieldstone;en;shieldstone
shieldstones;en;shieldstones
greatsword;en;great sword
greatswords;en;great swords
axe;en;axe
axes;en;axes
greatbow;en;great bow
greatbows;en;great bows
laensword;en;laen sword
laenswords;en;laen swords
laenshield;en;laen shield
laenshields;en;laen shields
laenmail;en;laen chainmail
laenmails;en;laen chainmails
laen;en;laen
shield;en;shield
shields;en;shields
halberd;en;halberd
halberds;en;halberds
lance;en;lance
lances;en;lances
mallorn;en;mallorn
cookie;en;cookie
cookies;en;cookies
apple;en;apple
apples;en;apples
nut;en;nut
nuts;en;nuts
almond;en;almond
almonds;en;almonds
dragonblood;en;dragonblood
fairyboot;en;fairyboot
healingpotion;en;healingpotion
healingpotions;en;healingpotions
antimagic;en;antimagic cristal
antimagics;en;antimagic cristals
toadslime;en;toadslime
amulet;en;amulet
amulets;en;amulets
aoh;en;amulet of healing
aohs;en;amulets of healing
aog;en;amulet of gathering
aogs;en;amulets of gathering
aots;en;amulet of true seeing
aotss;en;amulets of true seeing
aoc;en;amulet of the kitten
aocs;en;amulets of the kitten
roi;en;ring of invisibility
rois;en;rings of invisibility
rop;en;ring of power
rops;en;rings of power
roqf;en;ring of quick fingers
roqfs;en;rings of quick fingers
horse;en;horse
horses;en;horses
herbbag;en;herbbag
herbbags;en;herbbags
moneybag;en;moneybag
moneychest;en;moneychest
dragonhoard;en;dragonhoard
dragonhead;en;dragonhead
dragonheads;en;dragonheads
eyeofdragon;en;eye of dragon
eyeofdragons;en;eye of dragons
rustysword;en;rusty sword
rustyswords;en;rusty swords
rustyshield;en;rusty shield
rustyshields;en;rusty shields
rustychainmail;en;rustychainmail
rustychainmails;en;rustychainmails
soc;en;sack of holding
socs;en;sacks of holding
ror;en;ring of regeneration
rors;en;rings of regeneration
aod;en;amulet of darkness
aods;en;amulets of darkness
magicbag;en;magic bag
dreameye;en;dreameye
dreameyes;en;dreameyes
seaserpenthead;en;seaserpenthead
seaserpentheads;en;seaserpentheads
aurafocus;en;aurafocus
aurafocuses;en;aurafocuses
presspass;en;presspass
presspasses;en;presspasses
trollbelt;en;trollbelt