diff --git a/src/common/attributes/follow.c b/src/common/attributes/follow.c index 2bcd3a908..ebc956602 100644 --- a/src/common/attributes/follow.c +++ b/src/common/attributes/follow.c @@ -21,6 +21,15 @@ #include #include +static int +verify_follow(attrib * a) +{ + if (a->data.v==NULL) { + return 0; + } + return 1; +} + static void write_follow(const attrib * a, FILE * F) { @@ -41,7 +50,7 @@ read_follow(attrib * a, FILE * F) } attrib_type at_follow = { - "follow", NULL, NULL, NULL, write_follow, read_follow + "follow", NULL, NULL, verify_follow, write_follow, read_follow }; attrib * diff --git a/src/common/attributes/hate.c b/src/common/attributes/hate.c index fa4146a79..c20960b90 100644 --- a/src/common/attributes/hate.c +++ b/src/common/attributes/hate.c @@ -21,6 +21,15 @@ #include #include +static int +verify_hate(attrib * a) +{ + if (a->data.v==NULL) { + return 0; + } + return 1; +} + static void write_hate(const attrib * a, FILE * F) { @@ -44,7 +53,7 @@ attrib_type at_hate = { "hates", NULL, NULL, - NULL, + verify_hate, write_hate, read_hate, }; diff --git a/src/common/gamecode/economy.c b/src/common/gamecode/economy.c index 59ef54ad1..e99812a5f 100644 --- a/src/common/gamecode/economy.c +++ b/src/common/gamecode/economy.c @@ -2729,7 +2729,7 @@ tax(region * r, unit * u, request ** taxorders) request *o; int max; - if (!humanoid(u)) { + if (!humanoid(u) && u->faction != findfaction(MONSTER_FACTION)) { cmistake(u, findorder(u, u->thisorder), 228, MSG_INCOME); return; } diff --git a/src/common/gamecode/laws.c b/src/common/gamecode/laws.c index 323072c9c..7716bce30 100644 --- a/src/common/gamecode/laws.c +++ b/src/common/gamecode/laws.c @@ -2258,7 +2258,9 @@ renumber_factions(void) for(u=r->units; u; u=u->next) { attrib *a = a_find(u->attribs, &at_otherfaction); if(!a) continue; - a->data.i = rp->want; + if (a->data.i == rp->faction->no){ + a->data.i = rp->want; + } } } rp->faction->no = rp->want; diff --git a/src/common/gamecode/monster.c b/src/common/gamecode/monster.c index c861b1cea..0eb2eae19 100644 --- a/src/common/gamecode/monster.c +++ b/src/common/gamecode/monster.c @@ -1074,7 +1074,8 @@ plan_monsters(void) /* money is gone */ 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; if (get_money(u) > ra * 50 + 100 && rand() % 100 < 50) { diff --git a/src/common/gamecode/randenc.c b/src/common/gamecode/randenc.c index 1fe6c3841..068cf2d71 100644 --- a/src/common/gamecode/randenc.c +++ b/src/common/gamecode/randenc.c @@ -574,7 +574,7 @@ chaos(region * r) guard(u, GUARD_ALL); } case 2: /* Terrainveränderung */ - if (rterrain(r) != T_FIREWALL) { + if (!(terrain[rterrain(r)].flags & FORBIDDEN_LAND)) { if (rterrain(r) != T_OCEAN) { direction_t dir; for (dir=0;dir!=MAXDIRECTIONS;++dir) { diff --git a/src/common/gamecode/report.c b/src/common/gamecode/report.c index c7bc2a880..1a225b8fc 100644 --- a/src/common/gamecode/report.c +++ b/src/common/gamecode/report.c @@ -2708,7 +2708,9 @@ can_find(faction * f, faction * f2) ss=fs->see; while (ss && ss->seen!=f2) ss=ss->next; 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 NULL; diff --git a/src/common/gamecode/spy.c b/src/common/gamecode/spy.c index 16cf02e3f..a70b61283 100644 --- a/src/common/gamecode/spy.c +++ b/src/common/gamecode/spy.c @@ -147,8 +147,8 @@ setstealth(unit * u, strlist * S) freset(u, FL_PARTEITARNUNG); } else if (findkeyword(s, u->faction->locale) == K_NUMBER) { char *s2 = getstrtoken(); - int nr; - if(!s2 || *s2 == 0 || (nr = atoi36(s2)) == u->faction->no) { + int nr = atoi36(s2); + if(!s2 || *s2 == 0 || nr == u->faction->no) { a_removeall(&u->faction->attribs, &at_otherfaction); } else { /* TODO: Prüfung ob Partei sichtbar */ diff --git a/src/common/gamecode/study.c b/src/common/gamecode/study.c index 387212087..9f34f6591 100644 --- a/src/common/gamecode/study.c +++ b/src/common/gamecode/study.c @@ -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)); 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); j = max(50, j * 2); if (get_pooled(teacher, teacher->region, R_SILVER) >= j) { /* kann Einheit das zahlen? */ diff --git a/src/common/kernel/battle.c b/src/common/kernel/battle.c index b498e4d7c..bb402fdeb 100644 --- a/src/common/kernel/battle.c +++ b/src/common/kernel/battle.c @@ -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 rmtroop(troop dt) { fighter *df = dt.fighter; - side *ds = df->side; - --df->alive; - --df->side->alive; - --df->side->battle->alive; + /* troop ist immer eine einzele Person */ + rmfighter(df, 1); + 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[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 diff --git a/src/common/kernel/battle.h b/src/common/kernel/battle.h index fb9848207..0d447318f 100644 --- a/src/common/kernel/battle.h +++ b/src/common/kernel/battle.h @@ -229,6 +229,7 @@ extern int countallies(struct side * as); extern int get_unitrow(struct fighter * af); extern boolean helping(struct side * as, struct side * ds); extern void rmtroop(struct troop dt); +extern void rmfighter(fighter *df, int i); extern struct region * fleeregion(const struct unit * u); extern boolean enemy (const struct side * a, const struct side * b); extern struct troop select_corpse(struct battle * b, struct fighter * af); diff --git a/src/common/kernel/border.c b/src/common/kernel/border.c index e553c1552..9ea1ff593 100644 --- a/src/common/kernel/border.c +++ b/src/common/kernel/border.c @@ -459,3 +459,4 @@ border_type bt_road = { b_uinvisible, /* uvisible */ b_validroad /* valid */ }; + diff --git a/src/common/kernel/build.c b/src/common/kernel/build.c index a25fecc04..904e9afd1 100644 --- a/src/common/kernel/build.c +++ b/src/common/kernel/build.c @@ -858,7 +858,7 @@ build_ship(unit * u, ship * sh, int want) int n; 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); if((n=construction->maxsize - sh->size)>0 && can>0) { diff --git a/src/common/kernel/combatspells.c b/src/common/kernel/combatspells.c index 4bfc7c5dd..9abc6ae1a 100644 --- a/src/common/kernel/combatspells.c +++ b/src/common/kernel/combatspells.c @@ -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 * eine Nachbarregion, wobei ein NACH berücksichtigt wird. Ansonsten * bleibt er stehen und nimmt nicht weiter am Kampf teil. */ - side *sf = fi->side; battle *b = fi->side->battle; unit *mage = fi->unit; region *r = b->region; @@ -1185,15 +1184,16 @@ sp_denyattack(fighter * fi, int level, int power, spell * sp) } else { 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 */ fset(fi, FIG_NOLOOT); fi->run.hp = mage->hp; fi->run.number = mage->number; - fi->alive = 0; - sf->size[SUM_ROW] -= mage->number; - sf->size[mage->status + FIGHT_ROW] -= mage->number; + /* fighter leeren */ + rmfighter(fi, mage->number); scat("Das Kampfgetümmel erstirbt und er kann unbehelligt " "seines Weges ziehen."); diff --git a/src/common/kernel/magic.c b/src/common/kernel/magic.c index cb6ac701c..cd37f11a9 100644 --- a/src/common/kernel/magic.c +++ b/src/common/kernel/magic.c @@ -864,7 +864,11 @@ spellcost(unit *u, spell * sp) /* ------------------------------------------------------------- */ /* 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 eff_spelllevel(unit *u, spell * sp, int cast_level, int range) { @@ -2765,8 +2769,9 @@ magic(void) continue; } if (range > 1024) { /* (2^10) weiter als 10 Regionen entfernt */ - sprintf(buf, "Zu der Region %s kann keine Verbindung " - "hergestellt werden", regionid(target_r)); + sprintf(buf, "%s in %s: 'ZAUBER %s' Zu der Region %s kann keine " + "Verbindung hergestellt werden", unitname(u), + regionid(u->region), sp->name, regionid(target_r)); addmessage(0, u->faction, buf, MSG_MAGIC, ML_MISTAKE); continue; } @@ -2776,8 +2781,10 @@ magic(void) int ilevel = eff_skill(u, SK_MAGIC, u->region); if (ilevel!=level) { level = ilevel; - addmessage(0, u->faction, "Dieser Zauber kann nicht mit " - "Stufenangabe gezaubert werden.", MSG_MAGIC, ML_WARN); + sprintf(buf, "%s in %s: 'ZAUBER %s' Dieser Zauber kann nicht " + "mit Stufenangabe gezaubert werden.", unitname(u), + regionid(u->region), sp->name); + addmessage(0, u->faction, buf, MSG_MAGIC, ML_WARN); } } /* Vertrautenmagie */ @@ -2854,12 +2861,15 @@ magic(void) /* reichen die Komponenten nicht, wird der Level reduziert. */ level = eff_spelllevel(u, sp, level, co->distance); if (level < 1) { - sprintf(buf, "%s schafft es nicht genügend Kraft aufzubringen " - "um %s zu zaubern und muss erschöpft aufgeben.", unitname(u), - sp->name); - addmessage(0, u->faction, buf, MSG_MAGIC, ML_MISTAKE); + /* Fehlermeldung mit Komponenten generieren */ + cancast(u, sp, co->level, co->distance); 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; /* Prüfen, ob die realen Kosten für die gewünschten Stufe bezahlt diff --git a/src/common/kernel/movement.c b/src/common/kernel/movement.c index c23a02357..ce524b42d 100644 --- a/src/common/kernel/movement.c +++ b/src/common/kernel/movement.c @@ -145,9 +145,11 @@ personcapacity(unit *u) { int cap = race[u->race].weight+540; - if(fspecial(u->faction, FS_QUICK)) { - cap -= 2000; - } + if(u->race == RC_TROLL) + cap += 540; + + if(fspecial(u->faction, FS_QUICK)) + cap -= 200; return cap; } @@ -730,6 +732,7 @@ cycle_route(unit *u, int gereist) strcpy(neworder, locale_string(u->faction->locale, keywords[K_ROUTE])); for (cm=0;;++cm) { + const locale * lang = u->faction->locale; pause = false; token = getstrtoken(); d = finddirection(token); @@ -740,19 +743,21 @@ cycle_route(unit *u, int gereist) } if (cmfaction->locale, shortdirections[d])); + assert(!pause); + if (!pause) strcat(strcat(tail, " "), shortdirections[d]); } - else if (cm==gereist && !paused && pause){ - strcat(strcat(tail, " "), locale_string(u->faction->locale, parameters[P_PAUSE])); + else if (cm==gereist && !paused && pause) { + strcat(strcat(tail, " "), LOC(lang, parameters[P_PAUSE])); paused=true; } - /* da PAUSE nicht in ein shortdirections[d] umgesetzt wird (ist - * hier keine normale direction), muss jede PAUSE einzeln - * herausgefiltert und explizit gesetzt werden */ else if (pause) { - strcat(strcat(neworder, " "), locale_string(u->faction->locale, parameters[P_PAUSE])); - } else - strcat(strcat(neworder, " "), locale_string(u->faction->locale, shortdirections[d])); + /* da PAUSE nicht in ein shortdirections[d] umgesetzt wird (ist + * hier keine normale direction), muss jede PAUSE einzeln + * herausgefiltert und explizit gesetzt werden */ + strcat(strcat(neworder, " "), LOC(lang, parameters[P_PAUSE])); + } else { + strcat(strcat(neworder, " "), LOC(lang, shortdirections[d])); + } } strcat(neworder, tail); @@ -897,7 +902,7 @@ travel(region * first, unit * u, region * next, int flucht) if (rterrain(current)==T_OCEAN && !(race[u->race].flags&(RCF_FLY) && rterrain(next)!=T_OCEAN)) { /* 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); return NULL; @@ -913,7 +918,7 @@ travel(region * first, unit * u, region * next, int flucht) cmistake(u, findorder(u, u->thisorder), 70, MSG_MOVE); 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); return NULL; } @@ -1332,11 +1337,11 @@ sail(region * starting_point, unit * u, region * next_point, boolean move_on_lan unit *u2, *hafenmeister; item * trans = NULL; int st, first = 1; - int k, m, l, i, t = 0; + int k, m, l, i, step = 0; int stormchance; region *rv[MAXSPEED + 1]; - region *tt[MAXSPEED + 1]; - static direction_t route[MAXSPEED+1]; + region *tt[MAXSPEED + 1]; /* travelthru */ + static direction_t route[MAXSPEED+1]; /* route[i] := direction from tt[i] to tt[i-1] */ if (!ship_ready(starting_point, u)) 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 * zählt befahrene Felder, current_point ist die letzte gültige, * befahrene Region. */ - tt[t++] = starting_point; - - do { + tt[step] = starting_point; + 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); - /* 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 (rterrain(current_point) != T_OCEAN && rterrain(next_point) != T_OCEAN) { 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))); /* sprintf(buf, "Die Mannschaft der %s weigert sich, in die Feuerwand " "im %s zu fahren.", - shipname(u->ship), directions[dir]); */ } else { 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 */ + route[step] = dir; + tt[++step] = current_point; /* travelthrough */ + u->ship->moved = 1; + m++; + last_point = current_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 * Küste wird nachher nicht aufgelistet werden, wenn das * Schiff dort seine Runde beendent!). */ - route[t-1] = dir; - tt[t++] = current_point; /* travelthrough */ if (rterrain(current_point) != T_OCEAN) { rv[l] = current_point; l++; } + next_point = movewhere(current_point, u); } - while ((rterrain(current_point) == T_OCEAN - || is_cursed(u->ship->attribs, C_SHIP_FLYING, 0)) - && 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, ""); + route[step] = NODIRECTION; + /* at this point, step is the number of steps made. tt[step] is the final region. */ /* 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 @@ -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 * 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) { 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; sprintf(buf, "Die %s ", shipname(sh)); 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 (starting_point != current_point) { - tt[t - 1] = 0; + tt[step+1] = NULL; sh = move_ship(sh, starting_point, current_point, tt); /* Hafengebühren ? */ diff --git a/src/common/kernel/pathfinder.c b/src/common/kernel/pathfinder.c index 909409aa2..f06a1b17b 100644 --- a/src/common/kernel/pathfinder.c +++ b/src/common/kernel/pathfinder.c @@ -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; /* Alte Variante: - if(ter == T_FIREWALL) return false; + if(terrain[ter].flags & FORBIDDEN_LAND) return false; if(t & FLY) return true; if(t & SWIM && !(t & WALK) && ter == T_OCEAN) return true; if(t & SWIM && t & WALK) return true; diff --git a/src/common/kernel/plane.c b/src/common/kernel/plane.c index eb522b3d3..3b12d53b4 100644 --- a/src/common/kernel/plane.c +++ b/src/common/kernel/plane.c @@ -113,12 +113,6 @@ ursprung_x(const faction *f, const plane *pl) if(ur->id == id) 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; } @@ -138,12 +132,6 @@ ursprung_y(const faction *f, const plane *pl) if(ur->id == id) 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; } @@ -232,9 +220,9 @@ rel_to_abs(const struct plane *pl, const struct faction * f, int rel, unsigned c assert(index == 0 || index == 1); 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 -read_plane_reference(plane ** up, FILE * F) +read_plane_reference(plane ** pp, FILE * F) { int i; fscanf(F, "%d", &i); - if (i==0) *up = NULL; + if (i==0) *pp = NULL; { - *up = getplanebyid(i); - if (*up==NULL) ur_add((void*)i, (void**)&up, resolve_plane); + *pp = getplanebyid(i); + if (*pp==NULL) ur_add((void*)i, (void**)pp, resolve_plane); } } diff --git a/src/common/kernel/spell.c b/src/common/kernel/spell.c index b0986072b..4c99fda75 100644 --- a/src/common/kernel/spell.c +++ b/src/common/kernel/spell.c @@ -1195,7 +1195,7 @@ sp_blessedharvest(castorder *co) } } 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)); } return cast_level; @@ -1238,7 +1238,9 @@ sp_hain(castorder *co) } } 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)); } @@ -3521,7 +3523,12 @@ sp_magicboost(castorder *co) * Kategorie: Einheit, positiv * * 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: * permanenter HP verlust * @@ -3534,6 +3541,7 @@ sp_bloodsacrifice(castorder *co) unit *mage = (unit *)co->magician; int cast_level = co->level; int aura, damage; + int skill = eff_skill(mage, SK_MAGIC, mage->region); int hp = mage->hp - 5; /* braucht noch 4 HP zum Bezahlen des Spruchs, und 1 HP zum Überleben*/ @@ -3544,10 +3552,16 @@ sp_bloodsacrifice(castorder *co) damage = min(hp, dice_rand("4d12")); - if (eff_skill(mage, SK_MAGIC, mage->region) > 8){ - aura = damage / 3; - } else { + if (skill < 8) { 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){ @@ -4121,7 +4135,7 @@ sp_raisepeasantmob(castorder *co) } } 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)); } @@ -4799,7 +4813,7 @@ sp_puttorest(castorder *co) } 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)); } return co->level; @@ -7763,7 +7777,11 @@ spell spelldaten[] = "opfern, um dafür an magischer Kraft zu gewinnen. Erfahrene " "Ritualmagier berichten, das sich das Ritual, einmal initiiert, nur " "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, M_CHAOS, (ONSHIPCAST), 1, 4, @@ -9581,7 +9599,7 @@ spell spelldaten[] = "ZAUBER [STUFE n] \"Astraler Ruf\" " "[ ...]", "ru+", - M_ASTRAL, (UNITSPELL|SPELLLEVEL), 7, 6, + M_ASTRAL, (UNITSPELL | SEARCHGLOBAL | SPELLLEVEL), 7, 6, { {R_AURA, 2, SPC_LEVEL}, {0, 0, 0}, @@ -9600,7 +9618,7 @@ spell spelldaten[] = "Welt zwingen.", NULL, "u+", - M_ASTRAL, (UNITSPELL |SPELLLEVEL), 7, 6, + M_ASTRAL, (UNITSPELL | SEARCHGLOBAL | SPELLLEVEL), 7, 6, { {R_AURA, 2, SPC_LEVEL}, {0, 0, 0}, diff --git a/src/common/kernel/teleport.c b/src/common/kernel/teleport.c index ce3149edd..17adf38f3 100644 --- a/src/common/kernel/teleport.c +++ b/src/common/kernel/teleport.c @@ -162,7 +162,7 @@ create_teleport_plane(void) rsetterrain(ra, T_ASTRAL); } 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++) { diff --git a/src/common/kernel/terrain.c b/src/common/kernel/terrain.c index 48ade210c..aecf2a35d 100644 --- a/src/common/kernel/terrain.c +++ b/src/common/kernel/terrain.c @@ -283,7 +283,17 @@ const terraindata_t terrain[] = { WALK_INTO|LAND_REGION, /* Flags */ 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 ***/ { NULL, 'X', diff --git a/src/common/kernel/terrain.h b/src/common/kernel/terrain.h index b9b041fea..7fd9925cd 100644 --- a/src/common/kernel/terrain.h +++ b/src/common/kernel/terrain.h @@ -22,7 +22,7 @@ #ifndef 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 { T_OCEAN, T_PLAIN, @@ -45,6 +45,7 @@ enum { T_ICEBERG, T_HALL1, T_CORRIDOR1, + T_MAGICSTORM, MAXTERRAINS, NOTERRAIN = (terrain_t) - 1 }; diff --git a/src/common/kernel/unit.c b/src/common/kernel/unit.c index 954cc62c4..494658593 100644 --- a/src/common/kernel/unit.c +++ b/src/common/kernel/unit.c @@ -440,7 +440,7 @@ read_unit_reference(unit ** up, FILE * F) if (i==0) *up = NULL; { *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); } } diff --git a/src/common/modules/gmcmd.c b/src/common/modules/gmcmd.c index 77ca42d87..d294a09fb 100644 --- a/src/common/modules/gmcmd.c +++ b/src/common/modules/gmcmd.c @@ -145,6 +145,7 @@ gm_terraform(const char * str, struct unit * u) terrain_t t; if (r==NULL || p!=rplane(r)) { mistake(u, str, "Diese Regon kann die Einheit nicht umwandeln.\n", 0); + return; } else { /* checking permissions */ attrib * permissions = a_find(u->faction->attribs, &at_permissions); @@ -261,7 +262,7 @@ gm_skill(const char * str, struct unit * u) unit * to = findunit(atoi36(igetstrtoken(str))); skill_t skill = findskill(getstrtoken(), u->faction->locale); int num = atoi(getstrtoken()); - + if (to==NULL || rplane(to->region) != rplane(u->region)) { /* unknown or in another plane */ cmistake(u, str, 64, MSG_COMMERCE); @@ -331,7 +332,7 @@ gmcommands(void) for (order = u->orders; order; order = order->next) if (igetkeyword(order->s, u->faction->locale) == K_GM) { gm_command(order->s, u); - } + } if (u==*up) up = &u->next; } if (*rp==r) rp = &r->next; @@ -370,11 +371,11 @@ gm_addquest(const char * email, const char * name, int radius, unsigned int flag do { xist = findfaction(++i); } while (xist); - + f->no = i; addlist(&factions, f); } - + /* GM playfield */ do { minx = (rand() % (2*EXTENSION)) - EXTENSION; @@ -415,13 +416,13 @@ gm_addquest(const char * email, const char * name, int radius, unsigned int flag a_add((attrib**)&a->data.v, make_key(atoi36("gmgive"))); a_add((attrib**)&a->data.v, make_key(atoi36("gmskil"))); a_add((attrib**)&a->data.v, make_key(atoi36("gmtake"))); - + a_add((attrib**)&a->data.v, make_atgmcreate(resource2item(r_silver))); for (i=0;i<=I_INCENSE;++i) { a_add((attrib**)&a->data.v, make_atgmcreate(olditemtype[i])); } - + /* one initial unit */ u = createunit(center, f, 1, RC_TEMPLATE); u->irace = RC_GNOME; @@ -435,17 +436,17 @@ gm_addquest(const char * email, const char * name, int radius, unsigned int flag #ifdef TEST_GM_COMMANDS void setup_gm_faction(void) -{ +{ int i = atoi36("gms")-1; faction * f = factions; unit * newunit; region * r = regions; attrib * a; - + do { f = findfaction(++i); } while (f); - + f = (faction *) calloc(1, sizeof(faction)); f->no = i; set_string(&f->email, "gms@eressea-pbem.de"); @@ -455,15 +456,15 @@ setup_gm_faction(void) f->options |= (1 << O_REPORT); f->options |= (1 << O_COMPUTER); addlist(&factions, f); - + a = a_add(&f->attribs, a_new(&at_permissions)); a_add((attrib**)&a->data.v, make_atgmcreate(&it_demonseye)); a_add((attrib**)&a->data.v, make_key(atoi36("gmtf"))); - + while (r && !r->land) r=r->next; newunit = createunit(r, f, 1, RC_DAEMON); set_string(&newunit->name, "Flamdring, Gott des Feuers"); set_money(newunit, 100); fset(newunit, FL_ISNEW); } -#endif +#endif diff --git a/src/common/util/event.c b/src/common/util/event.c index 731e50060..53be55513 100644 --- a/src/common/util/event.c +++ b/src/common/util/event.c @@ -143,8 +143,24 @@ attrib_type at_eventhandler = { 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 -add_trigger(attrib ** ap, const char * event, trigger * t) +add_trigger(struct attrib ** ap, const char * event, struct trigger * t) { trigger ** tp; handler_info * td = NULL; @@ -186,7 +202,7 @@ handle_event(attrib ** attribs, const char * event, void * param) } void -t_add(trigger ** tlist, trigger * t) +t_add(struct trigger ** tlist, struct trigger * t) { while (*tlist) tlist = &(*tlist)->next; *tlist = t; diff --git a/src/common/util/event.h b/src/common/util/event.h index 15d7e0b7c..3f9b01e72 100644 --- a/src/common/util/event.h +++ b/src/common/util/event.h @@ -56,7 +56,8 @@ extern void t_add(trigger ** tlist, trigger * t); /** add and handle triggers **/ /* 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 */ extern void handle_event(struct attrib ** attribs, const char * event, void * data); diff --git a/src/eressea/eressea-6.dsp b/src/eressea/eressea-6.dsp index 66221d4db..49aafa3ac 100644 --- a/src/eressea/eressea-6.dsp +++ b/src/eressea/eressea-6.dsp @@ -1167,19 +1167,10 @@ SOURCE=..\common\attributes\overrideroads.h # Begin Source File SOURCE=..\common\attributes\racename.c +# End Source File +# Begin Source File -!IF "$(CFG)" == "eressea - Win32 Release" - -!ELSEIF "$(CFG)" == "eressea - Win32 Debug" - -# PROP Intermediate_Dir "../common/attributes/Debug" - -!ELSEIF "$(CFG)" == "eressea - Win32 Conversion" - -!ELSEIF "$(CFG)" == "eressea - Win32 Profile" - -!ENDIF - +SOURCE=..\common\attributes\racename.h # End Source File # Begin Source File diff --git a/src/eressea/korrektur.c b/src/eressea/korrektur.c index 0b20a9a89..31717ed58 100644 --- a/src/eressea/korrektur.c +++ b/src/eressea/korrektur.c @@ -974,6 +974,7 @@ show_newspells(void) * terminieren */ spellid_t newspellids[] = { + SPL_BLOODSACRIFICE, SPL_NOSPELL }; /* die id's der neuen oder veränderten Sprüche werden in newspellids[] @@ -2156,6 +2157,83 @@ setup_locales(void) } #endif +#include +#include + +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 korrektur(void) { @@ -2180,6 +2258,7 @@ korrektur(void) do_once(atoi36("fixsl"), fix_prices()); do_once(atoi36("gmtst"), test_gmquest()); /* test gm quests */ update_gmquests(); /* test gm quests */ + fix_unitrefs(); #ifndef SKILLFIX_SAVE fix_skills(); #endif diff --git a/src/mapper/map_units.c b/src/mapper/map_units.c index 9dcb66b6d..a94c32a70 100644 --- a/src/mapper/map_units.c +++ b/src/mapper/map_units.c @@ -1295,7 +1295,7 @@ showunits(region * r) if (pointer) { if ((s = strchr(pointer->s, '('))!=NULL) { s++; - f = atoi(s); + f = atoi36(s); if (f) { b = findbuilding(f); if (b) { @@ -1432,7 +1432,7 @@ showunits(region * r) if ((s = strchr(pointer->s, '('))!=NULL) { s++; f = atoi36(s); - f2 = atoi(s); + f2 = atoi36(s); if (f || f2) switch (pointer->s[0]) { case '\025': diff --git a/src/mapper/mapper.c b/src/mapper/mapper.c index 36bf1e8d8..6a5cbdb8b 100644 --- a/src/mapper/mapper.c +++ b/src/mapper/mapper.c @@ -38,6 +38,8 @@ #include #include #include +#include +#include #include #include @@ -917,6 +919,25 @@ movearound(int rx, int ry) { while (showunits(r)); ch = -9; 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': clipunit = 0; clipregion = 0; @@ -956,6 +977,31 @@ movearound(int rx, int ry) { ch=-8; } 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 */ y++; ry--; if (y&1) x--; diff --git a/src/res/de/strings.txt b/src/res/de/strings.txt index e83de7692..25249ae3b 100644 --- a/src/res/de/strings.txt +++ b/src/res/de/strings.txt @@ -25,6 +25,7 @@ hell;de;Ebene aus Feuer und Dunkelheit activevolcano;de;Aktiver Vulkan hall1;de;Halle corridor1;de;Gang +magicstorm;de;Magischer Sturm maelstrom_trail;de;ein %s ocean_trail;de;%s @@ -45,6 +46,7 @@ hell_trail;de;eine %s activevolcano_trail;de;ein %s hall1_trail;de;die %s corridor1_trail;de;die %s +magicstorm_trail;de;ein %s caldera;de;Krater xmas_exit;de;Pforte diff --git a/src/res/messages.de b/src/res/messages.de deleted file mode 100644 index c9950a35d..000000000 --- a/src/res/messages.de +++ /dev/null @@ -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}'" - diff --git a/src/res/messages.en b/src/res/messages.en deleted file mode 100644 index efc2f7aa3..000000000 --- a/src/res/messages.en +++ /dev/null @@ -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. diff --git a/src/res/strings.de b/src/res/strings.de deleted file mode 100644 index d2ccfb283..000000000 --- a/src/res/strings.de +++ /dev/null @@ -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 diff --git a/src/res/strings.en b/src/res/strings.en deleted file mode 100644 index 4f2430383..000000000 --- a/src/res/strings.en +++ /dev/null @@ -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